ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNTUwMWMzMC4uNDdmNzA0MyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTIwNiw3ICsyMDYsNyBAQAogCS1AKGZpbmQgLiAtbmFtZSBcKi5vcmlnIC1vIC1uYW1lIFwqLnJlaiAtbyAtbmFtZSBcKi5vbGQgLWV4ZWMgcm0gLWYge30gXDspCiAKIGRpc3QtaG9vazogY2xlYW51cAotCShjZCAkKHNyY2RpcikgOyB0YXIgLWNmIC0gLS1leGNsdWRlIC5naXQgd2luMzIgb3M0MDAgdGVzdCByZXN1bHQpIHwgKGNkICQoZGlzdGRpcik7IHRhciB4ZiAtKQorCShjZCAkKHNyY2RpcikgOyB0YXIgLWNmIC0gLS1leGNsdWRlIC5naXQgd2luMzIgdGVzdCByZXN1bHQpIHwgKGNkICQoZGlzdGRpcik7IHRhciB4ZiAtKQogCiBDTEVBTkZJTEVTID0gcnVuc3VpdGUubG9nIHJ1bnhtbGNvbmYubG9nIHRlc3Qub3V0ICouZ2NkYSAqLmdjbm8gKi5yZXMKIERJU1RDTEVBTkZJTEVTID0gQ09QWUlORyBtaXNzaW5nLmxzdApkaWZmIC0tZ2l0IGEvb3M0MDAvUkVBRE1FNDAwIGIvb3M0MDAvUkVBRE1FNDAwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmY5MjNjLi4wMDAwMDAwCi0tLSBhL29zNDAwL1JFQURNRTQwMAorKysgL2Rldi9udWxsCkBAIC0xLDIyNiArMCwwIEBACi0KLUltcGxlbWVudGF0aW9uIG5vdGVzOgotCi0gIFRoaXMgaXMgYSB0cnVlIE9TLzQwMCBpbXBsZW1lbnRhdGlvbiwgbm90IGEgUEFTRSBpbXBsZW1lbnRhdGlvbiAoZm9yIFBBU0UsCi11c2UgYW4gQUlYIGltcGxlbWVudGF0aW9uKS4KLQotICBUaGUgYmlnZ2VzdCBwcm9ibGVtIHdpdGggT1MvNDAwIGlzIEVCQ0RJQy4gVGhlIGN1cnJlbnQgbGlieG1sMiBpbXBsZW1lbnRhdGlvbgotdXNlcyBVVEYtOCBpbnRlcm5hbGx5LiBUbyBlYXNlIGVuY29kaW5nIGNvbnZlcnNpb24gYmV0d2VlbiB0aGUgY2FsbGluZwotYXBwbGljYXRpb25zIGFuZCBsaWJ4bWwyLCBzdXBwbGVtZW50YXJ5ICJjb252ZXJ0IGFuZCBsYXRjaCIgZnVuY3Rpb25zIGFyZQotcHJvdmlkZWQgKFNlZSBiZWxvdykuIFRvIGJpbmQgdGhlIEVCQ0RJQyBPUy80MDAgc3lzdGVtIGNhbGxzIGFuZCBsaWJ4bWwyLAotYW4gQVNDSUkgcnVuLXRpbWUgZW52aXJvbm1lbnQgKFFBRFJUKSBoYXMgYmVlbiB1c2VkIGFuZCB3cmFwcGVyIGZ1bmN0aW9ucyBoYXZlCi1iZWVuIGRlc2lnbmVkLgotCi1PdGhlciBwcm9ibGVtcyBhcmU6Ci0tIFNvdXJjZSBjb2RlIGxpbmUgbGVuZ3RoOiB0byBiZSBzdG9yZWQgaW4gREIyIG1lbWJlcnMsIHNvdXJjZSBmaWxlcyBtYXkgbm90Ci0gIGhhdmUgbGluZXMgbG9uZ2VyIHRoYW4gMTAwIGNoYXJhY3RlcnMuIFNvbWUgaGVhZGVyIGFuZCBkb2N1bWVudGF0aW9uIGZpbGVzCi0gIGhhdmUgYmVlbiBtb2RpZmllZCBhY2NvcmRpbmdseS4KLS0gdmFfbGlzdCBkZXJlZmVyZW5jaW5nOiB0aGUgT1MvNDAwIGltcGxlbWVudGF0aW9uIG9mIHZhX2xpc3QgdHlwZSBpcyBhbiBhcnJheQotICBidXQgdGhlIGNvbXBpbGVyIGZvcmJpZHMgZXhwbGljaXQgYXJyYXkgZGVyZWZlcmVuY2luZy4gU291cmNlIGZpbGVzIGhhdmUKLSAgYmVlbiB1cGRhdGVkIGFjY29yZGluZ2x5LgotLSBEZXBlbmRpbmcgb24gdGhlIGNvbXBpbGF0aW9uL2V4ZWN1dGlvbiBlbnZpcm9ubWVudCwgaXQgaXMgcG9zc2libGUgdGhhdAotICBzdGRpbi9zdGRvdXQvc3RkZXJyIGFyZSBub3QgYXNzb2NpYXRlZCB3aXRoIGEgZmlsZSBkZXNjcmlwdG9yOyBhcyBhIHNpZGUKLSAgZWZmZWN0LCBvcGVuKCkgbWF5IHJldHVybiBhIGZpbGUgZGVzY3JpcHRvciB2YWx1ZSAwLCAxIG9yIDIgdGhhdCBpcyBOT1QKLSAgYSBDIHN0YW5kYXJkIGZpbGUuIFRodXMgdXNpbmcgc3VjaCBhIG51bWJlciBtYXkgYmUgaW5hY2N1cmF0ZS4KLS0gaWNvbnZfb3BlbigpIGFyZ3VtZW50czogT1MvNDAwIHVzZXMgbm9uLXN0YW5kYXJkIGVuY29kaW5nIG5hbWVzIGFuZCBkb2VzIG5vdAotICBzdXBwb3J0IHN0YW5kYXJkIG5hbWVzLiBGb3IgdGhpcyByZWFzb24sIGEgbmFtZSB3cmFwcGVyIGhhcyBiZWVuIGRlc2lnbmVkLgotLSBkbG9wZW4oKSAoc3VwcG9ydCBmb3IgeG1vZHVsZSk6IHRoZSBmdW5jdGlvbiBhbmQgaXRzIGNvcm9sbGFyaWVzIGFyZSBub3QKLSAgcHJvdmlkZWQgYnkgdGhlIE9TLzQwMCBsaWJyYXJ5LiBIb3dldmVyIGEgbG9jYWwgaW1wbGVtZW50YXRpb24gaXMgcHJvdmlkZWQuCi0KLQotQ29tcGlsaW5nIG9uIE9TLzQwMDoKLQotXyBBcyBhIHByZXJlcXVpc2l0ZSwgUUFEUlQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgbXVzdCBiZSBpbnN0YWxsZWQuCi1fIEluc3RhbGwgdGhlIGxpYnhtbDIgc291cmNlIGRpcmVjdG9yeSBpbiBJRlMuCi1fIEVudGVyIHNoZWxsIChRU0gpCi1fIENoYW5nZSBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgbGlieG1sMiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Ci1fIENoYW5nZSBjdXJyZW50IGRpcmVjdG9yeSB0byAuL29zNDAwCi1fIEVkaXQgZmlsZSBpbmlzY3JpcHQuc2guIFlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdHVuYWJsZSBjb25maWd1cmF0aW9uCi0gIHBhcmFtZXRlcnMsIGxpa2UgZGVidWcgaW5mbyBnZW5lcmF0aW9uLCBvcHRpbWlzYXRpb24gbGV2ZWwsIGxpc3Rpbmcgb3B0aW9uLAotICB0YXJnZXQgbGlicmFyeSwgemxpYiBhdmFpbGFiaWxpdHksIGV0Yy4KLV8gQ29weSBhbnkgZmlsZSBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gbWFrZWxvZyAoaS5lLjoKLSAgY3AgaW5pdHNjcmlwdC5zaCBtYWtlbG9nKTogdGhpcyBpcyBpbnRlbmRlZCB0byBjcmVhdGUgdGhlIG1ha2Vsb2cgZmlsZSB3aXRoCi0gIGFuIEFTQ0lJIENDU0lEIQotXyBFbnRlciB0aGUgY29tbWFuZCAic2ggbWFrZS5zaCA+bWFrZWxvZyAyPiYxJwotXyBFeGFtaW5lIHRoZSBtYWtlbG9nIGZpbGUgdG8gY2hlY2sgZm9yIGNvbXBpbGF0aW9uIGVycm9ycy4KLQotICBMZWF2aW5nIGZpbGUgaW5pdHNjcmlwdC5zaCB1bmNoYW5nZWQsIHRoaXMgd2lsbCBwcm9kdWNlIHRoZSBmb2xsb3dpbmcKLU9TLzQwMCBvYmplY3RzOgotXyBMaWJyYXJ5IExJQlhNTDIuIEFsbCBvdGhlciBvYmplY3RzIHdpbGwgYmUgc3RvcmVkIGluIHRoaXMgbGlicmFyeS4KLV8gTW9kdWxlcyBmb3IgYWxsIGxpYnhtbDIgdW5pdHMsIHdpdGggZnVsbCBkZWJ1ZyBpbmZvIGFuZCBubyBjb2RlIG9wdGltaXphdGlvbi4KLV8gQmluZGluZyBkaXJlY3RvcnkgTElCWE1MMl9BLCB0byBiZSB1c2VkIGF0IGNhbGxpbmcgcHJvZ3JhbSBsaW5rIHRpbWUgZm9yCi0gIHN0YXRpY2FsbHkgYmluZGluZyB0aGUgbW9kdWxlcyAoc3BlY2lmeSBCTkRTUlZQR00oUUFEUlRUUyBRR0xEQ0xOVCBRR0xEQlJEUikKLSAgd2hlbiBjcmVhdGluZyBhIHByb2dyYW0gdXNpbmcgTElCWE1MMl9BKS4KLV8gU2VydmljZSBwcm9ncmFtIExJQlhNTDIuIFRvIGJlIHVzZWQgYXQgY2FsbGluZyBwcm9ncmFtIHJ1bi10aW1lCi0gIHdoZW4gdGhpcyBwcm9ncmFtIGhhcyBkeW5hbWljYWxseSBib3VuZCBsaWJ4bWwyIGF0IGxpbmsgdGltZS4KLV8gQmluZGluZyBkaXJlY3RvcnkgTElCWE1MMi4gVG8gYmUgdXNlZCB0byBkeW5hbWljYWxseSBiaW5kIGxpYnhtbDIgd2hlbgotICBsaW5raW5nIGEgY2FsbGluZyBwcm9ncmFtLgotXyBTb3VyY2UgZmlsZSBMSUJYTUwuIEl0IGNvbnRhaW5zIGFsbCB0aGUgaGVhZGVyIG1lbWJlcnMgbmVlZGVkIHRvIGNvbXBpbGUgYQotICBDL0MrKyBtb2R1bGUgdXNpbmcgbGlieG1sMi4KLV8gU3RhbmRhcmQgYW5kIGFkZGl0aW9uYWwgQy9DKysgbGlieG1sMiBoZWFkZXIgbWVtYmVycyAocG9zc2libHkgcmVuYW1lZCkgaW4KLSAgZmlsZSBMSUJYTUwuCi1fIElGUyBkaXJlY3RvcnkgL2xpYnhtbDIgd2l0aCBzdWJkaXJlY3RvcnkgaW5jbHVkZS9saWJ4bWwgY29udGFpbmluZyBhbGwKLSAgQy9DKysgaGVhZGVyIGZpbGVzIGZvciBJRlMtYmFzZWQgY29tcGlsYXRpb24uCi1fIFNvdXJjZSBmaWxlIExJQlhNTFJQRy4gSXQgY29udGFpbnMgYWxsIHRoZSBpbmNsdWRlIG1lbWJlcnMgbmVlZGVkIHRvIGNvbXBpbGUgYQotICBJTEUvUlBHIG1vZHVsZS9wcm9ncmFtIHVzaW5nIGxpYnhtbDIgKElMRS9SUEcgYmluZGluZykuCi1fIElMRS9SUEcgYmluZGluZyBpbmNsdWRlIG1lbWJlcnMgKHBvc3NpYmx5IHJlbmFtZWQpIGluIGZpbGUgTElCWE1MUlBHLgotXyBJRlMgc3ViZGlyZWN0b3J5IC9saWJ4bWwyL2luY2x1ZGUvbGlieG1scnBnIGNvbnRhaW5pbmcgYWxsIElMRS9SUEcgaW5jbHVkZQotICBmaWxlcyBmb3IgSUZTLWJhc2VkIGNvbXBpbGF0aW9uLgotCi0KLVJlbmFtZWQgaGVhZGVyIGZpbGVzIGluIERCMiBtZW1iZXJzOgotICBEQjIgbWVtYmVyIG5hbWVzIGFyZSBsaW1pdGVkIHRvIDEwIGNoYXJhY3RlcnMsIHRodXMgdGhlIGZvbGxvd2luZyBDL0MrKwotaGVhZGVyIG1lbWJlcnMgYXJlIHJlbmFtZWQgYXM6Ci0gIHBhcnNlckludGVybmFscy5oICAgICAtLT4gICAgIFBBUlNFUklOVEUKLSAgc2NoZW1hc0ludGVybmFscy5oICAgIC0tPiAgICAgU0NIRU1BU0lOVAotICB4bWxhdXRvbWF0YS5oICAgICAgICAgLS0+ICAgICBYTUxBVVRPTUFUCi0gIHhtbHNjaGVtYXN0eXBlLmggICAgICAtLT4gICAgIFNDSE1UWVBFUwotICB4cGF0aEludGVybmFscy5oICAgICAgLS0+ICAgICBYUEFUSElOVEVSCi1JRlMgaGVhZGVyIGZpbGVzIGFyZSBOT1QgcmVuYW1lZC4KLUlMRS9SUEcgaGVhZGVycyBhcmUgcHJvY2Vzc2VkIGxpa2V3aXNlLgotCi0KLVNwZWNpYWwgcHJvZ3JhbW1pbmcgY29uc2lkZXJhdGlvbjoKLQotUUFEUlQgYmVpbmcgdXNlZCwgdGhlIGZvbGxvd2luZyBwb2ludHMgbXVzdCBiZSBjb25zaWRlcmVkOgotXyBJZiBzdGF0aWMgYmluZGluZyBpcyB1c2VkLCBzZXJ2aWNlIHByb2dyYW0gUUFEUlRUUyBtdXN0IGJlIGxpbmtlZCB0b28uCi1fIFRoZSBFQkNESUMgQ0NTSUQgdXNlZCBieSBRQURSVCBpcyAzNyBieSBkZWZhdWx0LCBOT1QgVEhFIEpPQidTIENDU0lELiBJZgotICBhbm90aGVyIEVCQ0RJQyBDQ1NJRCBpcyByZXF1aXJlZCwgaXQgbXVzdCBiZSBzZXQgdmlhIGEgbG9jYWxlIHRocm91Z2ggYSBjYWxsCi0gIHRvIHNldGxvY2FsZV9hIChRQURSVCdzIHNldGxvY2FsZSgpIEFTQ0lJIHdyYXBwZXIpIHdpdGggY2F0ZWdvcnkgTENfQUxMIG9yCi0gIExDX0NUWVBFLCBvciBieSBzZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlIFFBRFJUX0VOVl9MT0NBTEUgdG8gdGhlIGxvY2FsZQotICBvYmplY3QgcGF0aCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBwcm9ncmFtLgotXyBBbHdheXMgdXNlICpJRlNJTyBvciAqSUZTNjRJTyB0byBjb21waWxlIGNhbGxpbmcgcHJvZ3JhbXMuCi0KLQotCi1TdXBwbGVtZW50YXJ5IChub24gbGlieG1sMiBzdGFuZGFyZCkgc3VwcG9ydCBwcm9jZWR1cmVzIGZvciBPUy80MDAuCi0KLSAgQXMgY2l0ZWQgYWJvdmUsIHRoZXJlIGFyZSBzb21lIHByb2NlZHVyZXMgdG8gZWFzZSBlbmNvZGluZyBjb252ZXJzaW9uIG9mCi1saWJ4bWwyIGZ1bmN0aW9uIGFyZ3VtZW50cyBhbmQgcmVzdWx0czogdGhlIG1lY2hhbmlzbSBpcyBiYXNlZCBvbgotZGljdGlvbmFyaWVzLiBUaGUgZnVuY3Rpb25zIGNvbnZlcnQgYSBzdHJpbmcsIGxhdGNoIHRoZSByZXN1bHQgaW4gYSBkaWN0aW9uYXJ5Ci10byBlbnN1cmUgaXRzIHBlcnNpc3RlbmNlIGFuZCByZXR1cm4gaXRzIGFkZHJlc3MuIEl0IGlzIHRoZSBjYWxsZXIncwotcmVzcG9uc2liaWxpdHkgdG8gY2xlYW4gdGhlIGRpY3Rpb25hcnkgd2hlbiBpdCBiZWNvbWVzIHRvbyBiaWcgb3IgZGlzYXBwZWFycy4KLQotVGhlIHByb2NlZHVyZXMgYXJlOgotCi0jaW5jbHVkZSA8bGlieG1sL3RyYW5zY29kZS5oPgotCi1jb25zdCBjaGFyICogIHhtbFRyYW5zY29kZVJlc3VsdChjb25zdCB4bWxDaGFyICogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIgKiBkaWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmZyZWVwcm9jKShjb25zdCB2b2lkICopKTsKLQotY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVN0cmluZyhjb25zdCBjaGFyICogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0UHRyICogZGljdCk7Ci0KLWNvbnN0IHhtbENoYXIgKiB4bWxUcmFuc2NvZGVXU3RyaW5nKGNvbnN0IGNoYXIgKiBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGljdFB0ciAqIGRpY3QpOwotCi1jb25zdCB4bWxDaGFyICogeG1sVHJhbnNjb2RlV1N0cmluZyhjb25zdCBjaGFyICogcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIgKiBkaWN0KTsKLQotd2hlcmU6Ci1zICAgICAgICAgICAgICAgaXMgdGhlIHN0cmluZyB0byB0cmFuc2xhdGUuCi1lbmNvZGluZyAgICAgICAgaXMgdGhlIGFsdGVybmF0ZSBjaGFyYWN0ZXIgZW5jb2RpbmcuIElmIG51bGwsIHRoZSBjdXJyZW50IGpvYidzCi0gICAgICAgICAgICAgICAgZW5jb2RpbmcgKENDU0lEKSBpcyB1c2VkLgotZGljdCAgICAgICAgICAgIGlzIHRoZSBhZGRyZXNzIG9mIHRoZSBsYXRjaGluZyBkaXJlY3RvcnkuIElmIE5VTEwsIHRoZSBwcm9jZWR1cmUKLSAgICAgICAgICAgICAgICBmdW5jdGlvbnMgYXMgYSBzaW1wbGUgbm9uLWxhdGNoaW5nIGVuY29kaW5nIGNvbnZlcnRlciBhbmQKLSAgICAgICAgICAgICAgICBpdHMgcmVzdWx0IHZhbHVlIHNob3VsZCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgotZnJlZXByb2MgICAgICAgIGlzIGEgcHJvY2VkdXJlIHRvIHJlbGVhc2UgdGhlIG9yaWdpbmFsIHN0cmluZywgb3IgTlVMTC4KLQoteG1sVHJhbnNjb2RlUmVzdWx0KCkgIGNvbnZlcnRzIGZyb20gVVRGLTggdG8gdGhlIGdpdmVuIGFsdGVybmF0ZSBlbmNvZGluZy4KLXhtbFRyYW5zY29kZVN0cmluZygpICBjb252ZXJ0cyBmcm9tIHRoZSBnaXZlbiA4LWJpdCBlbmNvZGluZyB0byBVVEYtOCAobm90ZSB0aGF0Ci0gICAgICAgICAgICAgICAgICAgICAgVVRGLTggaXRzZWxmIGlzIGNvbnNpZGVyZWQgYXMgYSA4LWJpdCBlbmNvZGluZykuCi14bWxUcmFuc2NvZGVXU3RyaW5nKCkgY29udmVydHMgZnJvbSB0aGUgZ2l2ZW4gMTYtYml0IGVuY29kaW5nIHRvIFVURi04LgoteG1sVHJhbnNjb2RlSFN0cmluZygpIGNvbnZlcnRzIGZyb20gdGhlIGdpdmVuIDMyLWJpdCBlbmNvZGluZyB0byBVVEYtOC4KLQotCi1UbyBzaG9ydGVuIHN0YXRlbWVudHMgdXNpbmcgdGhlc2UgZnVuY3Rpb25zLCBzaG9ydGhhbmRzIGFyZSBkZWZpbmVkOgotCi14bWxUUiBmb3IgeG1sVHJhbnNjb2RlUmVzdWx0Ci14bWxUUyBmb3IgeG1sVHJhbnNjb2RlU3RyaW5nCi14bWxUVyBmb3IgeG1sVHJhbnNjb2RlV1N0cmluZwoteG1sVEggZm9yIHhtbFRyYW5zY29kZUhzdHJpbmcKLQotVGhlc2Ugc2hvcnRoYW5kcyBtYXkgYmUgZGlzYWJsZWQgYnkgZGVmaW5pbmcgWE1MX05PX1NIT1JUX05BTUVTIGJlZm9yZQotbGlieG1sL3RyYW5zY29kZS5oIGluY2x1c2lvbi4KLQotQSBkaXJlY3RvcnkgcG9pbnRlciBtdXN0IGJlIHByZXNldCB0byBOVUxMIGJlZm9yZSB0aGUgZmlyc3QgY2FsbCB1c2luZyBpdCB0bwotb25lIG9mIHRoZSBhYm92ZSBwcm9jZWR1cmUuCi0KLVRvIHJlbGVhc2UgYSBsYXRjaGluZyBkaXJlY3RvcnksIHVzZSBmdW5jdGlvbgotCi12b2lkICAgICAgICAgIHhtbFphcERpY3QoeG1sRGljdFB0ciAqIGRpY3QpOwotCi0KLUV4YW1wbGU6Ci0KLSNpbmNsdWRlIDxsaWJ4bWwvdHJhbnNjb2RlLmg+Ci0jaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KLQoteG1sRG9jUHRyIG15U2ltcGxlWE1MRG9jKGNoYXIgKiBlbGVtZW50LCBjaGFyICogdGV4dCkKLXsKLSAgICAgICAgeG1sRG9jUHRyIGRvYzsKLSAgICAgICAgeG1sTm9kZVB0ciBub2RlOwotICAgICAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOwotCi0gICAgICAgIC8qIGVsZW1lbnQgYW5kIHRleHQgYXJlIGVuY29kZWQgaW4gdGhlIGN1cnJlbnQgam9iJ3MgZW5jb2RpbmcuICovCi0KLSAgICAgICAgZG9jID0geG1sTmV3RG9jKCk7Ci0gICAgICAgIHhtbE5ld1RleHRDaGlsZCgoeG1sTm9kZVB0cikgZG9jLCBOVUxMLCB4bWxUUyhlbGVtZW50LCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaWN0KSwgeG1sVFModGV4dCwgTlVMTCwgJmRpY3QpKTsKLSAgICAgICAgeG1sWmFwRGljdCgmZGljdCk7Ci0gICAgICAgIHJldHVybiBkb2M7Ci19Ci0KLQotQWRkaXRpb25hbGx5LCBhIGZvcm1hdHRlciBpbnRvIGxhdGNoZWQvZHluYW1pYyBzdG9yYWdlIGlzIHByb3ZpZGVkOgotCi1jb25zdCBjaGFyICogICAgeG1sVmFzcHJpbnRmKHhtbERpY3RQdHIgKiBkaWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncyk7Ci0KLQoteG1sbGludCBhbmQgeG1sY2F0YWxvZyBwcm9ncmFtczoKLQotICBUaGVzZSBwcm9ncmFtcyBhcmUgZnVsbHkgaW1wbGVtZW50ZWQgYXQgdGhlIHFzaGVsbCBsZXZlbCwgd2l0aCBzdGFuZGFyZAotY29tbWFuZCBsaW5lIG9wdGlvbnMuIExpbmtzIHRvIHRoZXNlIGFyZSBpbnN0YWxsZWQgaW4gc3ViLWRpcmVjdG9yeSBiaW4gb2YKLXRoZSBJRlMgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4KLSAgQ0wgY29tbWFuZCBpbnRlcmZhY2VzIHRvIHRoZXNlIHByb2dyYW1zIGFyZSBhbHNvIHByb3ZpZGVkIHdpdGggbGltaXRlZAotc3VwcG9ydC4gSW4gcGFydGljdWxhciwgaW50ZXJhY3RpdmUgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGFuZCBhcmd1bWVudCBjb3VudAotYW5kIGxlbmd0aHMgYXJlIGxpbWl0ZWQgYnkgdGhlIENMIGNvbW1hbmQgc3ludGF4LgotCi0KLUlMRS9SUEcgYmluZGluZzoKLQotICBBbGwgc3RhbmRhcmQgdHlwZXMgYW5kIHByb2NlZHVyZXMgYXJlIHByb3ZpZGVkLiBTaW5jZSBJTEUvUlBHIGRvZXMgbm90Ci1zdXBwb3J0IG1hY3JvcywgdGhleSBoYXZlIG5vdCBiZWVuIHBvcnRlZC4gSG93ZXZlciBzb21lIG9mIHRoZW0gYXJlIGVtdWxhdGVkCi1hcyBmdW5jdGlvbnM6IHRoZXNlIGFyZSB0aGUgbW9yZSB1c2VmdWwgb25lcyAoeG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoLAoteG1sWFBhdGhOb2RlU2V0SXRlbSwgeG1sWFBhdGhOb2RlU2V0SXNFbXB0eSwgaHRtbERlZmF1bHRTdWJlbGVtZW50LAotaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MsIGh0bWxSZXF1aXJlZEF0dHJzKSBhbmQgdGhlIGdsb2JhbC90aHJlYWRlZAotdmFyaWFibGVzIGFjY2VzcyBtYWNyb3MuIFRoZXNlIHZhcmlhYmxlcyBjYW4gYmUgcmVhZCB3aXRoIGZ1bmN0aW9uCi1nZXRfeHh4KHZvaWQpLCB3aGVyZSB4eHh4IGlzIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZTsgdGhleSBtYXkgYmUgc2V0IGJ5Ci1jYWxsaW5nIGZ1bmN0aW9uIHNldF94eHh4KHZhbHVlKSwgd2hlcmUgdmFsdWUgaXMgb2YgdGhlIHNhbWUgdHlwZSBhcyB0aGUKLXZhcmlhYmxlLgotCi0gIFRoZSBDIHZhX2xpc3QgaXMgbm90IGltcGxlbWVudGVkIGFzIHN1Y2ggaW4gSUxFL1JQRy4gRnVuY3Rpb25zIGltcGxlbWVudGluZwotdmFfbGlzdCBhbmQgYXNzb2NpYXRlZCBtZXRob2RzIGFyZSBwcm92aWRlZDoKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdGRhcmciCi0KLSAgICAgZCB4bWxWYVN0YXJ0ICAgICAgcHIKLSAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKLSAgICAgZCAgbGFzdGFyZ2FkZHIgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBsYXN0YXJnc2l6ZSAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCi0KLSAgICAgZCB4bWxWYUFyZyAgICAgICAgcHIKLSAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKLSAgICAgZCAgZGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBhcmdzaXplICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCi0KLSAgICAgZCB4bWxWYUVuZCAgICAgICAgcHIKLSAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKZGlmZiAtLWdpdCBhL29zNDAwL2RsZmNuL2RsZmNuLmMgYi9vczQwMC9kbGZjbi9kbGZjbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzE5MGIzLi4wMDAwMDAwCi0tLSBhL29zNDAwL2RsZmNuL2RsZmNuLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEzICswLDAgQEAKLS8qKgotKioqICAgICBkbG9wZW4oKSwgZGxjbG9zZSgpIGRsc3ltKCksIGRsZXJyb3IoKSBlbXVsYXRpb24gZm9yIE9TLzQwMC4KLSoqKgotKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0qKioKLSoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0qKi8KLQotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8Y3R5cGUuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPGRpcmVudC5oPgotI2luY2x1ZGUgPHB0aHJlYWQuaD4KLQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0KLSNpbmNsdWRlIDxleGNlcHQuaD4gICAgICAgICAgICAgLyogQVM0MDAgZXhjZXB0aW9ucy4gKi8KLSNpbmNsdWRlIDxtaXB0cm5hbS5oPiAgICAgICAgICAgLyogTUkgcG9pbnRlcnMgc3VwcG9ydC4gKi8KLSNpbmNsdWRlIDxxdXNlYy5oPiAgICAgICAgICAgICAgLyogRXJyb3Igc3RydWN0dXJlcy4gKi8KLSNpbmNsdWRlIDxxcDBsc3RkaS5oPiAgICAgICAgICAgLyogUGF0aCB0byBRU1lTIG9iamVjdCBuYW1lLiAqLwotI2luY2x1ZGUgPHFwMHoxMTcwLmg+ICAgICAgICAgICAvKiBGb3IgUXAwekluaXRFbnYoKS4gKi8KLSNpbmNsdWRlIDxxbGVhd2kuaD4gICAgICAgICAgICAgLyogRm9yIFFsZUFjdEJuZFBnbUxvbmcoKSBkZWZpbml0aW9ucy4gKi8KLSNpbmNsdWRlIDxxc3kuaD4gICAgICAgICAgICAgICAgLyogUXVhbGlmaWVkIG5hbWUgc3RydWN0dXJlLiAqLwotI2luY2x1ZGUgPHFtaHJ0dm0uaD4gICAgICAgICAgICAvKiBSZXRyaWV2ZSBtZXNzYWdlIGZyb20gbWVzc2FnZSBmaWxlLiAqLwotCi0jaW5jbHVkZSA8bWloL3JpbnpzdGF0Lmg+Ci0jaW5jbHVkZSA8bWloL21hdGFjdGV4Lmg+Ci0KLSNpbmNsdWRlICJsaWJ4bWwvaGFzaC5oIgotI2luY2x1ZGUgImRsZmNuLmgiCi0KLQotLyoqCi0qKiogICAgIE1heGltdW0gaW50ZXJuYWwgcGF0aCBsZW5ndGguCi0qKi8KLQotI2RlZmluZSBNQVhQQVRITEVOICAgICAgICAgICAgICA1MTIwCi0KLQotLyoqCi0qKiogICAgIE1heGltdW0gZXJyb3Igc3RyaW5nIGxlbmd0aC4KLSoqLwotCi0jZGVmaW5lIE1BWF9FUlJfU1RSICAgICAgICAgICAgIDUxMQotCi0KLS8qKgotKioqICAgICBGaWVsZCBhZGRyZXNzIG1hY3JvLgotKiovCi0KLSNkZWZpbmUgb2Zmc2V0X2J5KHQsIGIsIG8pICAgICAgKCh0ICopICgoY2hhciAqKSAoYikgKyAodW5zaWduZWQgaW50KSAobykpKQotCi0KLS8qKgotKioqICAgICBHbG9iYWwgZmxhZ3MuCi0qKi8KLQotI2RlZmluZSBJTklURUQgICAgICAgICAgMDAwMDAxICAgICAgICAgIC8qIFBhY2thZ2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuICovCi0jZGVmaW5lIFRIUkVBRFMgICAgICAgICAwMDAwMDIgICAgICAgICAgLyogTXVsdGl0aHJlYWRlZCBqb2IuICovCi0jZGVmaW5lIE1VTFRJQlVGICAgICAgICAwMDAwMDQgICAgICAgICAgLyogT25lIGVycm9yIGJ1ZmZlciBwZXIgdGhyZWFkLiAqLwotCi0KLS8qKgotKioqICAgICBETEwgaGFuZGxlIHByaXZhdGUgc3RydWN0dXJlLgotKiovCi0KLXR5cGVkZWYgc3RydWN0IHsKLSAgICAgICAgUWxlX0FCUF9JbmZvX0xvbmdfdCAgICAgYWN0aW5mbzsgICAgICAgIC8qIEFjdGl2YXRpb24gaW5mb3JtYXRpb24uICovCi0gICAgICAgIF9TWVNQVFIgICAgICAgICAgICAgICAgIHBvaW50ZXI7ICAgICAgICAvKiBQb2ludGVyIHRvIERMTCBvYmplY3QuICovCi0gICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgIGFjdGNvdW50OyAgICAgICAvKiBBY3RpdmF0aW9uIGNvdW50LiAqLwotfSAgICAgICAgICAgICAgIGRsaW5mbzsKLQotCi0vKioKLSoqKiAgICAgUGVyLXRocmVhZCBzdHJ1Y3R1cmUuCi0qKi8KLQotdHlwZWRlZiBzdHJ1Y3QgewotICAgICAgICB1bnNpZ25lZCBpbnQgICAgbG9ja2NvdW50OyAgICAgICAgICAgICAgLyogTXV0ZXggbG9jayBjb3VudC4gKi8KLSAgICAgICAgdW5zaWduZWQgaW50ICAgIGlzZXJyb3I7ICAgICAgICAgICAgICAgIC8qIEZsYWcgZXJyb3IgcHJlc2VudC4gKi8KLSAgICAgICAgY2hhciAgICAgICAgICAgIHN0cltNQVhfRVJSX1NUUiArIDFdOyAgIC8qIEVycm9yIHN0cmluZyBidWZmZXIuICovCi19ICAgICAgICAgICAgICAgZGx0c190OwotCi0KLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgIGRsbXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOwotc3RhdGljIHhtbEhhc2hUYWJsZVB0ciAgZGxkaXIgPSAoeG1sSGFzaFRhYmxlUHRyKSBOVUxMOyAvKiBETEwgZGlyZWN0b3J5LiAqLwotc3RhdGljIHVuc2lnbmVkIGludCAgICAgZGxmbGFncyA9IDA7ICAgICAgICAgICAgICAgICAgICAvKiBQYWNrYWdlIGZsYWdzLiAqLwotc3RhdGljIHB0aHJlYWRfa2V5X3QgICAgZGxrZXk7Ci1zdGF0aWMgZGx0c190ICAgICAgICAgICBzdGF0aWNfYnVmOyAgICAgICAgICAgICAvKiBTdGF0aWMgZXJyb3IgYnVmZmVyLiAqLwotCi0KLQotc3RhdGljIHZvaWQKLWRsdGhyZWFkdGVybSh2b2lkICogbWVtKQotCi17Ci0gICAgICAgIGZyZWUobWVtKTsKLSAgICAgICAgcHRocmVhZF9zZXRzcGVjaWZpYyhkbGtleSwgTlVMTCk7Ci19Ci0KLQotc3RhdGljIHZvaWQKLWRsdGVybSh2b2lkKQotCi17Ci0gICAgICAgIHZvaWQgKiBwOwotCi0gICAgICAgIGlmIChkbGZsYWdzICYgTVVMVElCVUYpIHsKLSAgICAgICAgICAgICAgICBwID0gcHRocmVhZF9nZXRzcGVjaWZpYyhkbGtleSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGRsdGhyZWFkdGVybShwKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGRsZmxhZ3MgJiBUSFJFQURTKQotICAgICAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmZGxtdXRleCk7Ci0KLSAgICAgICAgaWYgKGRsZGlyKSB7Ci0gICAgICAgICAgICAgICAgeG1sSGFzaEZyZWUoZGxkaXIsICh4bWxIYXNoRGVhbGxvY2F0b3IpIE5VTEwpOwotICAgICAgICAgICAgICAgIGRsZGlyID0gTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGRsZmxhZ3MgJiBNVUxUSUJVRikKLSAgICAgICAgICAgICAgICBwdGhyZWFkX2tleV9kZWxldGUoZGxrZXkpOwotCi0gICAgICAgIGRsZmxhZ3MgfD0gfihJTklURUQgfCBNVUxUSUJVRik7Ci0gICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkbG11dGV4KTsKLSAgICAgICAgcHRocmVhZF9tdXRleF9kZXN0cm95KCZkbG11dGV4KTsKLX0KLQotCi1zdGF0aWMgdm9pZAotZGxpbml0KHZvaWQpCi0KLXsKLSAgICAgICAgaW50IGxvY2tlZDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBJbml0aWFsaXplIHRoZSBwYWNrYWdlLgotICAgICAgICAqKiogICAgIFNob3VsZCBiZSBjYWxsIG9uY2UgcGVyIHByb2Nlc3MuCi0gICAgICAgICoqLwotCi0gICAgICAgIGxvY2tlZCA9ICFwdGhyZWFkX211dGV4X2xvY2soJmRsbXV0ZXgpOwotCi0gICAgICAgIGlmICghKGRsZmxhZ3MgJiBJTklURUQpKSB7Ci0gICAgICAgICAgICAgICAgZGxmbGFncyAmPSB+VEhSRUFEUzsKLQotICAgICAgICAgICAgICAgIGlmIChsb2NrZWQpCi0gICAgICAgICAgICAgICAgICAgICAgICBkbGZsYWdzIHw9IFRIUkVBRFM7Ci0KLSAgICAgICAgICAgICAgICBRcDB6SW5pdEVudigpOwotICAgICAgICAgICAgICAgIGRsZGlyID0geG1sSGFzaENyZWF0ZSgxNik7Ci0gICAgICAgICAgICAgICAgZGxmbGFncyAmPSB+TVVMVElCVUY7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZGxmbGFncyAmIFRIUkVBRFMpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXB0aHJlYWRfa2V5X2NyZWF0ZSgmZGxrZXksIGRsdGhyZWFkdGVybSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRsZmxhZ3MgfD0gTVVMVElCVUY7Ci0KLSAgICAgICAgICAgICAgICBhdGV4aXQoZGx0ZXJtKTsKLSAgICAgICAgICAgICAgICBkbGZsYWdzIHw9IElOSVRFRDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGxvY2tlZCkKLSAgICAgICAgICAgICAgICBwdGhyZWFkX211dGV4X3VubG9jaygmZGxtdXRleCk7Ci19Ci0KLQotc3RhdGljIHZvaWQKLWRsdGhyZWFkaW5pdCh2b2lkKQotCi17Ci0gICAgICAgIGRsdHNfdCAqIHA7Ci0KLSAgICAgICAgaWYgKCEoZGxmbGFncyAmIElOSVRFRCkpCi0gICAgICAgICAgICAgICAgZGxpbml0KCk7Ci0KLSAgICAgICAgaWYgKGRsZmxhZ3MgJiBNVUxUSUJVRikgewotICAgICAgICAgICAgICAgIHAgPSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KTsKLQotICAgICAgICAgICAgICAgIGlmICghcCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcCA9IChkbHRzX3QgKikgbWFsbG9jKHNpemVvZiAqcCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmxvY2tjb3VudCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmlzZXJyb3IgPSAwOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwdGhyZWFkX3NldHNwZWNpZmljKGRsa2V5LCBwKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotfQotCi0KLXN0YXRpYyB2b2lkCi1kbGxvY2sodm9pZCkKLQotewotICAgICAgICBkbHRzX3QgKiBwOwotCi0gICAgICAgIGlmICghKGRsZmxhZ3MgJiBUSFJFQURTKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKGRsZmxhZ3MgJiBNVUxUSUJVRikgewotICAgICAgICAgICAgICAgIHAgPSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KTsKLQotICAgICAgICAgICAgICAgIGlmIChwICYmIHAtPmxvY2tjb3VudCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcC0+bG9ja2NvdW50Kys7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcCA9IChkbHRzX3QgKikgTlVMTDsKLQotICAgICAgICBpZiAocHRocmVhZF9tdXRleF9sb2NrKCZkbG11dGV4KSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHApCi0gICAgICAgICAgICAgICAgcC0+bG9ja2NvdW50Kys7Ci19Ci0KLQotc3RhdGljIHZvaWQKLWRsdW5sb2NrKHZvaWQpCi0KLXsKLSAgICAgICAgZGx0c190ICogcDsKLQotICAgICAgICBpZiAoIShkbGZsYWdzICYgVEhSRUFEUykpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChkbGZsYWdzICYgTVVMVElCVUYpIHsKLSAgICAgICAgICAgICAgICBwID0gcHRocmVhZF9nZXRzcGVjaWZpYyhkbGtleSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocCAmJiBwLT5sb2NrY291bnQgPiAxKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwLT5sb2NrY291bnQtLTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBwID0gKGRsdHNfdCAqKSBOVUxMOwotCi0gICAgICAgIGlmIChwdGhyZWFkX211dGV4X3VubG9jaygmZGxtdXRleCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChwKQotICAgICAgICAgICAgICAgIHAtPmxvY2tjb3VudC0tOwotfQotCi0KLWNvbnN0IGNoYXIgKgotZGxlcnJvcih2b2lkKQotCi17Ci0gICAgICAgIGRsdHNfdCAqIHA7Ci0KLSAgICAgICAgZGx0aHJlYWRpbml0KCk7Ci0KLSAgICAgICAgaWYgKCEoZGxmbGFncyAmIE1VTFRJQlVGKSkKLSAgICAgICAgICAgICAgICBwID0gJnN0YXRpY19idWY7Ci0gICAgICAgIGVsc2UgaWYgKCEocCA9IChkbHRzX3QgKikgcHRocmVhZF9nZXRzcGVjaWZpYyhkbGtleSkpKQotICAgICAgICAgICAgICAgIHAgPSAmc3RhdGljX2J1ZjsKLQotICAgICAgICBpZiAoIXAtPmlzZXJyb3IpCi0gICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCBjaGFyICopIE5VTEw7Ci0KLSAgICAgICAgcC0+aXNlcnJvciA9IDA7Ci0gICAgICAgIHJldHVybiBwLT5zdHI7Ci19Ci0KLQotc3RhdGljIHZvaWQKLWRsc2V0ZXJyb3JfZnJvbV9lcnJubyh1bnNpZ25lZCBpbnQgZXJyX25vKQotCi17Ci0gICAgICAgIGRsdHNfdCAqIHA7Ci0KLSAgICAgICAgaWYgKCEoZGxmbGFncyAmIE1VTFRJQlVGKSkKLSAgICAgICAgICAgICAgICBwID0gJnN0YXRpY19idWY7Ci0gICAgICAgIGVsc2UgaWYgKCEocCA9IChkbHRzX3QgKikgcHRocmVhZF9nZXRzcGVjaWZpYyhkbGtleSkpKQotICAgICAgICAgICAgICAgIHAgPSAmc3RhdGljX2J1ZjsKLQotICAgICAgICBzdHJjcHkocC0+c3RyLCBzdHJlcnJvcihlcnJfbm8pKTsKLSAgICAgICAgcC0+aXNlcnJvciA9IDE7Ci19Ci0KLQotc3RhdGljIHZvaWQKLWRsc2V0ZXJyb3JfZnJvbV9leGNlcHRpb24odm9sYXRpbGUgX0lOVFJQVF9IbmRscl9QYXJtc19UICogZXhjcCkKLQotewotICAgICAgICBpbnQgaTsKLSAgICAgICAgUW1oX1J0dm1fUlRWTTAzMDBfdCAqIGltcDsKLSAgICAgICAgY2hhciAqIGNwOwotICAgICAgICBfSU5UUlBUX0huZGxyX1Bhcm1zX1QgKiBwOwotICAgICAgICBkbHRzX3QgKiBxOwotICAgICAgICBjaGFyIHJ0dm1idWZbMzAwMDBdOwotICAgICAgICBRdXNfRUNfdCBlcnJpbmZvOwotCi0gICAgICAgIHAgPSAoX0lOVFJQVF9IbmRscl9QYXJtc19UICopIGV4Y3A7Ci0gICAgICAgIGVycmluZm8uQnl0ZXNfUHJvdmlkZWQgPSAwOyAgICAgICAgICAgICAvKiBFeGNlcHRpb24gb24gZXJyb3IuICovCi0gICAgICAgIFFNSFJUVk0ocnR2bWJ1Ziwgc2l6ZW9mIHJ0dm1idWYsICJSVFZNMDMwMCIsIHAtPk1zZ19JZCwKLSAgICAgICAgICAgICJRQ1BGTVNHICAgUVNZUyAgICAgICIsIHAtPkV4X0RhdGEsIHAtPk1zZ19EYXRhX0xlbiwKLSAgICAgICAgICAgICIqWUVTICAgICAgIiwgIipOTyAgICAgICAiLCAmZXJyaW5mbyk7Ci0gICAgICAgIGltcCA9IG9mZnNldF9ieShRbWhfUnR2bV9SVFZNMDMwMF90LCBydHZtYnVmLCAwKTsKLQotICAgICAgICBpZiAoIShkbGZsYWdzICYgTVVMVElCVUYpKQotICAgICAgICAgICAgICAgIHEgPSAmc3RhdGljX2J1ZjsKLSAgICAgICAgZWxzZSBpZiAoIShxID0gKGRsdHNfdCAqKSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KSkpCi0gICAgICAgICAgICAgICAgcSA9ICZzdGF0aWNfYnVmOwotCi0gICAgICAgIGlmIChpID0gaW1wLT5MZW5ndGhfTWVzc2FnZV9SZXR1cm5lZCkKLSAgICAgICAgICAgICAgICBjcCA9IG9mZnNldF9ieShjaGFyLCBpbXAsIGltcC0+T2Zmc2V0X01lc3NhZ2VfUmV0dXJuZWQpOwotICAgICAgICBlbHNlIGlmIChpID0gaW1wLT5MZW5ndGhfSGVscF9SZXR1cm5lZCkKLSAgICAgICAgICAgICAgICBjcCA9IG9mZnNldF9ieShjaGFyLCBpbXAsIGltcC0+T2Zmc2V0X0hlbHBfUmV0dXJuZWQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBxLT5pc2Vycm9yID0gMDsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHEtPmlzZXJyb3IgPSAxOwotCi0gICAgICAgIGlmIChpID4gc2l6ZW9mIHEtPnN0ciAtIDEpCi0gICAgICAgICAgICAgICAgaSA9IHNpemVvZiBxLT5zdHIgLSAxOwotCi0gICAgICAgIG1lbWNweShxLT5zdHIsIGNwLCBpKTsKLSAgICAgICAgcS0+c3RyW2ldID0gJ1wwJzsKLX0KLQotCi1zdGF0aWMgaW50Ci1kbHBhcmVudHBhdGgoY29uc3QgY2hhciAqIHBhdGgsIHNpemVfdCBsZW4pCi0KLXsKLSAgICAgICAgaWYgKGxlbiA8PSAxKQotICAgICAgICAgICAgICAgIHJldHVybiBsZW47Ci0KLSAgICAgICAgd2hpbGUgKHBhdGhbLS1sZW5dICE9ICcvJykKLSAgICAgICAgICAgICAgICA7Ci0KLSAgICAgICAgcmV0dXJuIGxlbj8gbGVuOiAxOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsbWFrZXBhdGgoY2hhciAqIHBhdGgsIHNpemVfdCBwYXRobGVuLCBjb25zdCBjaGFyICogdGFpbCwgc2l6ZV90IHRhaWxsZW4pCi0KLXsKLSAgICAgICAgaW50IGk7Ci0KLSAgICAgICAgaWYgKHRhaWxsZW4gJiYgdGFpbFswXSA9PSAnLycpCi0gICAgICAgICAgICAgICAgcGF0aGxlbiA9IDA7Ci0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgIHdoaWxlICh0YWlsbGVuICYmICp0YWlsID09ICcvJykgewotICAgICAgICAgICAgICAgICAgICAgICAgdGFpbCsrOwotICAgICAgICAgICAgICAgICAgICAgICAgdGFpbGxlbi0tOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKCF0YWlsbGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGFpbGxlbjsgaSsrKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhaWxbaV0gPT0gJy8nKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIGlmICgqdGFpbCA9PSAnLicpCi0gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGkpIHsKLQotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGFpbFsxXSAhPSAnLicpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aGxlbiA9IGRscGFyZW50cGF0aChwYXRoLCBwYXRobGVuKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWlsICs9IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxsZW4gLT0gaTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmIChwYXRobGVuICsgaSArIDEgPj0gTUFYUEFUSExFTikgewotICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBwYXRoW3BhdGhsZW4rK10gPSAnLyc7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KHBhdGggKyBwYXRobGVuLCB0YWlsLCBpKTsKLSAgICAgICAgICAgICAgICBwYXRobGVuICs9IGk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICghcGF0aGxlbikKLSAgICAgICAgICAgICAgICBwYXRoW3BhdGhsZW4rK10gPSAnLyc7Ci0KLSAgICAgICAgcGF0aFtwYXRobGVuXSA9ICdcMCc7Ci0gICAgICAgIHJldHVybiBwYXRobGVuOwotfQotCi0KLXN0YXRpYyBpbnQKLWRscmVzb2x2ZUxpbmsoY29uc3QgY2hhciAqIHBhdGgsIGNoYXIgKiBidWYsIHNpemVfdCBidWZzaXopCi0KLXsKLSAgICAgICAgaW50IG47Ci0gICAgICAgIGludCBsMTsKLSAgICAgICAgaW50IGwyOwotICAgICAgICBzdHJ1Y3Qgc3RhdCBzYnVmOwotICAgICAgICBjaGFyIGJ1ZjFbTUFYUEFUSExFTiArIDFdOwotICAgICAgICBjaGFyIGJ1ZjJbTUFYUEFUSExFTiArIDFdOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIFJlc29sdmUgc3ltYm9saWMgbGluayB0byBJRlMgb2JqZWN0IG5hbWUuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICghYnVmKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFRkFVTFQ7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoIXBhdGggfHwgISpwYXRoIHx8ICFidWZzaXopIHsKLSAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICgqcGF0aCAhPSAnLycpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWdldGN3ZChidWYxLCBzaXplb2YgYnVmMSkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICAgICAgICAgICBsMSA9IHN0cmxlbihidWYxKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsMSA9IDA7Ci0KLSAgICAgICAgbDEgPSBkbG1ha2VwYXRoKGJ1ZjEsIGwxLCBwYXRoLCBzdHJsZW4ocGF0aCkpOwotICAgICAgICBuID0gMDsKLQotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGwxIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLQotICAgICAgICAgICAgICAgIGlmIChuKysgPj0gMjU2KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVMT09QOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKGxzdGF0KGJ1ZjEsICZzYnVmKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVOT0VOVCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmICghU19JU0xOSyhzYnVmLnN0X21vZGUpKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBpZiAoc2J1Zi5zdF9zaXplID4gTUFYUEFUSExFTikgewotICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBsMiA9IHJlYWRsaW5rKGJ1ZjEsIGJ1ZjIsIE1BWFBBVEhMRU4gKyAxKTsKLQotICAgICAgICAgICAgICAgIGlmIChsMiA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICAgICAgICAgICBpZiAoYnVmMlswXSAhPSAnLycpCi0gICAgICAgICAgICAgICAgICAgICAgICBsMSA9IGRscGFyZW50cGF0aChidWYxLCBsMSk7Ci0KLSAgICAgICAgICAgICAgICBsMSA9IGRsbWFrZXBhdGgoYnVmMSwgbDEsIGJ1ZjIsIGwyKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGwxID49IGJ1ZnNpeikgewotICAgICAgICAgICAgICAgIGVycm5vID0gRU5BTUVUT09MT05HOwotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgbWVtY3B5KGJ1ZiwgYnVmMSwgbDEgKyAxKTsKLSAgICAgICAgcmV0dXJuIGwxOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsR2V0T2JqZWN0TmFtZShRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlybGVuLCBjb25zdCBjaGFyICogbGluaykKLQotewotICAgICAgICBpbnQgbjsKLSAgICAgICAgY2hhciAqIG5hbWVidWY7Ci0gICAgICAgIFFsZ19QYXRoX05hbWVfVCAqIHFwdHA7Ci0gICAgICAgIGNoYXIgcGF0aGJ1ZltzaXplb2YoUWxnX1BhdGhfTmFtZV9UKSArIF9RUDBMX0RJUl9OQU1FX0xHICsgNF07Ci0gICAgICAgIFF1c19FQ190IGVycmluZm87Ci0gICAgICAgIHN0cnVjdCBzdGF0IHNidWY7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgR2V0IFFTWVMgb2JqZWN0IGxpYnJhcnkvbmFtZS9tZW1iZXIgYW5kIHR5cGUgY29ycmVzcG9uZGluZyB0bwotICAgICAgICAqKiogICAgICAgICAgICAgdGhlIHN5bWJvbGljIGBsaW5rJyBpbiBkaXJlY3RvcnkgYGRpcicuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICghcXN5c2luZm8pIHsKLSAgICAgICAgICAgICAgICBlcnJubyA9IEVGQVVMVDsKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICghZGlyICYmICFsaW5rKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBxcHRwID0gKFFsZ19QYXRoX05hbWVfVCAqKSBwYXRoYnVmOwotICAgICAgICBuYW1lYnVmID0gcGF0aGJ1ZiArIHNpemVvZihRbGdfUGF0aF9OYW1lX1QpOwotICAgICAgICBuID0gMDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBCdWlsZCBmdWxsIHBhdGguCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmIChkaXIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZGlybGVuIDwgMCB8fCBkaXJsZW4gPiBfUVAwTF9ESVJfTkFNRV9MRyArIDQpCi0gICAgICAgICAgICAgICAgICAgICAgICBkaXJsZW4gPSBfUVAwTF9ESVJfTkFNRV9MRyArIDQ7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAoKmRpciAmJiBuIDwgZGlybGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWJ1ZltuKytdID0gKmRpcisrOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAobiAmJiBuYW1lYnVmW24gLSAxXSA9PSAnLycpCi0gICAgICAgICAgICAgICAgbi0tOwotCi0gICAgICAgIGlmIChsaW5rKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCpsaW5rICYmICpsaW5rICE9ICcvJyAmJiBuIDwgX1FQMExfRElSX05BTUVfTEcgKyA0KQotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWJ1ZltuKytdID0gJy8nOwotCi0gICAgICAgICAgICAgICAgd2hpbGUgKCpsaW5rICYmIG4gPCBfUVAwTF9ESVJfTkFNRV9MRyArIDQpCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lYnVmW24rK10gPSAqbGluaysrOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoIW4gfHwgbiA+IF9RUDBMX0RJUl9OQU1FX0xHKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBuYW1lYnVmW25dID0gJ1wwJzsKLSAgICAgICAgbiA9IGRscmVzb2x2ZUxpbmsobmFtZWJ1ZiwgbmFtZWJ1ZiwgX1FQMExfRElSX05BTUVfTEcgKyAxKTsKLQotICAgICAgICBpZiAobiA9PSAtMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICAgaWYgKHN0YXQobmFtZWJ1ZiwgJnNidWYpKQotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLQotICAgICAgICBtZW1zZXQoKGNoYXIgKikgcXB0cCwgMCwgc2l6ZW9mICpxcHRwKTsKLSAgICAgICAgcXB0cC0+UGF0aF9MZW5ndGggPSBuOwotICAgICAgICBxcHRwLT5QYXRoX05hbWVfRGVsaW1pdGVyWzBdID0gJy8nOwotICAgICAgICBlcnJpbmZvLkJ5dGVzX1Byb3ZpZGVkID0gc2l6ZW9mIGVycmluZm87Ci0gICAgICAgIFFwMGxDdnRQYXRoVG9RU1lTT2JqTmFtZShxcHRwLCBxc3lzaW5mbywgIlFTWVMwMTAwIiwgc2l6ZW9mICpxc3lzaW5mbywKLSAgICAgICAgICAgIDAsICZlcnJpbmZvKTsKLSAgICAgICAgcmV0dXJuIGVycmluZm8uQnl0ZXNfQXZhaWxhYmxlPyAtMTogMDsKLX0KLQotCi1zdGF0aWMgY29uc3QgY2hhciAqCi1nZXRjb21wb25lbnQoY2hhciAqIGRzdCwgY29uc3QgY2hhciAqIHNyYykKLQotewotICAgICAgICBpbnQgaTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBHZXQgYSBwYXRoIGNvbXBvbmVudCBvZiBhdCBtb3N0IDEwIGNoYXJhY3RlcnMgYW5kCi0gICAgICAgICoqKiAgICAgICAgICAgICBtYXAgaXQgdG8gdXBwZXIgY2FzZS4KLSAgICAgICAgKioqICAgICBSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIG5leHQgZGVsaW1pdGVyIGluIHNvdXJjZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgZm9yIChpID0gMDs7IHNyYysrKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEqc3JjIHx8ICpzcmMgPT0gJyAnIHx8ICpzcmMgPT0gJy8nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAqZHN0ID0gJ1wwJzsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoaSA8IDEwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAqZHN0KysgPSB0b3VwcGVyKCpzcmMpOwotICAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLX0KLQotCi1zdGF0aWMgaW50Ci1kbHBhdGgyUVNZUyhRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBwYXRoLCBjb25zdCBjaGFyICogZGZ0bGliKQotCi17Ci0gICAgICAgIHVuc2lnbmVkIGludCBmbGFnczsKLSAgICAgICAgY2hhciAqIGNwOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIENvbnZlcnQgdGhlIGdpdmVuIHBhdGggdG8gYSBRU1lTIG9iamVjdCBuYW1lLgotICAgICAgICAqKiogICAgIFN5bnRheCBydWxlcyBmb3IgcGF0aHMgYXJlOgotICAgICAgICAqKioKLSAgICAgICAgKioqICAgICAnLycrIFsgPGxpYnJhcnk+IFsgICcvJysgPGZpbGU+IFsgJy8nKyA8bWVtYmVyPiBdIF0gJy8nKiBdCi0gICAgICAgICoqKiAgICAgPGxpYnJhcnk+ICcvJysgPGZpbGU+IFsgJy8nKyA8bWVtYmVyPiBdICcvJyoKLSAgICAgICAgKioqICAgICA8ZmlsZT4gJy8nKgotICAgICAgICAqKioKLSAgICAgICAgKioqICAgICBJZiBkZWZhdWx0IGxpYnJhcnkgaXMgbm90IGdpdmVuLCAqTElCTCBpcyBhc3N1bWVkLgotICAgICAgICAqKiogICAgIENvbXBvbmVudHMgbWF5IG5vIGNvbnRhaW4gc3BhY2VzLiBUaGV5IGFyZSB0cmFuc2xhdGVkIHRvCi0gICAgICAgICoqKiAgICAgICAgICAgICB1cHBlcmNhc2UuIE9ubHkgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMgYXJlIHNpZ25pZmljYW50LgotICAgICAgICAqKiogICAgIFRoZXJlIGlzIG5vIGNoZWNrIGZvciB0aGUgdmFsaWRpdHkgb2YgdGhlIGdpdmVuIGNvbXBvbmVudHMgYW5kCi0gICAgICAgICoqKiAgICAgICAgICAgICBmb3IgdGhlIG9iamVjdCBleGlzdGVuY2UuCi0gICAgICAgICoqKiAgICAgQ29tcG9uZW50IHR5cGVzIGFyZSBub3QgaW4gdGhlIHBhdGgsIGJ1dCBnZW5lcmF0ZWQgaW50ZXJuYWxseS4KLSAgICAgICAgKioqICAgICBDQ1NJRCBpcyBub3QgcHJvY2Vzc2VkLgotICAgICAgICAqKioKLSAgICAgICAgKioqICAgICBSZXR1cm4gMCB1cG9uIHN1Y2Nlc3MsIGVsc2UgLTEuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICghcXN5c2luZm8gfHwgIXBhdGgpIHsKLSAgICAgICAgICAgICAgICBlcnJubyA9IEVGQVVMVDsKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIFN0cmlwIGxlYWRpbmcgc3BhY2VzLgotICAgICAgICAqKi8KLQotICAgICAgICB3aGlsZSAoKnBhdGggPT0gJyAnKQotICAgICAgICAgICAgICAgIHBhdGgrKzsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBDaGVjayBmb3IgbnVsbCBwYXRoLgotICAgICAgICAqKi8KLQotICAgICAgICBpZiAoISpwYXRoKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBQcmVzZXQgdGhlIHJlc3VsdCBzdHJ1Y3R1cmUuCi0gICAgICAgICoqLwotCi0gICAgICAgIG1lbXNldCgoY2hhciAqKSBxc3lzaW5mbywgMCwgc2l6ZW9mICpxc3lzaW5mbyk7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgRGV0ZXJtaW5lIHRoZSBmb3JtYXQuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICgqcGF0aCA9PSAnLycpIHsKLSAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAqKiogICAgIExpYnJhcnkgY29tcG9uZW50IHByZXNlbnQuCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICB3aGlsZSAoKisrcGF0aCA9PSAnLycpCi0gICAgICAgICAgICAgICAgICAgICAgICA7Ci0KLSAgICAgICAgICAgICAgICBpZiAoISpwYXRoIHx8ICpwYXRoID09ICcgJykKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX05hbWUsICJRU1lTIik7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IGdldGNvbXBvbmVudChxc3lzaW5mby0+TGliX05hbWUsIHBhdGgpOwotCi0gICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgKioqICAgICBDaGVjayBmb3IgZmlsZSBjb21wb25lbnQgYW5kIGdldCBpdC4KLSAgICAgICAgICAgICAgICAqKi8KLQotICAgICAgICAgICAgICAgIGlmICgqcGF0aCA9PSAnLycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgqKytwYXRoID09ICcvJykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gZ2V0Y29tcG9uZW50KHFzeXNpbmZvLT5PYmpfTmFtZSwgcGF0aCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAqKiogICAgIFRoZSBtYW5kYXRvcnkgY29tcG9uZW50IGlzIHRoZSA8ZmlsZT4uCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBwYXRoID0gZ2V0Y29tcG9uZW50KHFzeXNpbmZvLT5PYmpfTmFtZSwgcGF0aCk7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCsrOwotCi0gICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgKioqICAgICBJZiB0aGVyZSBpcyBhIHNlY29uZCBjb21wb25lbnQsIG1vdmUgdGhlIGZpcnN0IHRvCi0gICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIHRoZSBsaWJyYXJ5IG5hbWUgYW5kIHBhcnNlIHRoZSBmaWxlIG5hbWUuCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9OYW1lLCBxc3lzaW5mby0+T2JqX05hbWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgbWVtc2V0KHFzeXNpbmZvLT5PYmpfTmFtZSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgcXN5c2luZm8tPk9ial9OYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBnZXRjb21wb25lbnQocXN5c2luZm8tPk9ial9OYW1lLCBwYXRoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9OYW1lLCBkZnRsaWI/IGRmdGxpYjogIipMSUJMIik7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIENoZWNrIGFuZCBzZXQtdXAgbWVtYmVyLgotICAgICAgICAqKi8KLQotICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQotICAgICAgICAgICAgICAgIHBhdGgrKzsKLQotICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKSB7Ci0gICAgICAgICAgICAgICAgcGF0aCA9IGdldGNvbXBvbmVudChxc3lzaW5mby0+TWJyX05hbWUsIHBhdGgpOwotICAgICAgICAgICAgICAgIHN0cmNweShxc3lzaW5mby0+TWJyX1R5cGUsICIqTUJSIik7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCsrOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9UeXBlLCAiKkxJQiIpOwotCi0gICAgICAgIGlmIChxc3lzaW5mby0+T2JqX05hbWVbMF0pCi0gICAgICAgICAgICAgICAgc3RyY3B5KHFzeXNpbmZvLT5PYmpfVHlwZSwgIipGSUxFIik7Ci0KLSAgICAgICAgcXN5c2luZm8tPkJ5dGVzX1JldHVybmVkID0gc2l6ZW9mICpxc3lzaW5mbzsKLSAgICAgICAgcXN5c2luZm8tPkJ5dGVzX0F2YWlsYWJsZSA9IHNpemVvZiAqcXN5c2luZm87Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgU3RyaXAgdHJhaWxpbmcgc3BhY2VzLgotICAgICAgICAqKi8KLQotICAgICAgICB3aGlsZSAoKnBhdGggPT0gJyAnKQotICAgICAgICAgICAgICAgIHBhdGgrKzsKLQotICAgICAgICBpZiAoKnBhdGgpIHsKLSAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsX2lmc19saW5rKFFwMGxfUVNZU19JbmZvX3QgKiBxc3lzaW5mbywgY29uc3QgY2hhciAqIHBhdGhuYW1lKQotCi17Ci0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIElmIGBwYXRobmFtZScgaXMgYSBsaW5rIGZvdW5kIGluIElGUywgc2V0IGBxc3lzaW5mbycgdG8gaXRzCi0gICAgICAgICoqKiAgICAgICAgICAgICBEQjIgbmFtZS4KLSAgICAgICAgKioqICAgICBSZXR1cm4gMCBpZiBPSywgZWxzZSAtMS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgcmV0dXJuIGRsR2V0T2JqZWN0TmFtZShxc3lzaW5mbywgKGNvbnN0IGNoYXIgKikgTlVMTCwgMCwgcGF0aG5hbWUpOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsX3BhdGhfbGluayhRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBwYXRodmFyLAotICAgICAgICBjb25zdCBjaGFyICogZmlsZW5hbWUsIGludCAoKiB0ZXN0cHJvYykoY29uc3QgUXAwbF9RU1lTX0luZm9fdCAqKSkKLQotewotICAgICAgICBjb25zdCBjaGFyICogcDsKLSAgICAgICAgY29uc3QgY2hhciAqIHE7Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOwotICAgICAgICBjb25zdCBjaGFyICogcGF0aDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBJZiBgZmlsZW5hbWUnIGlzIG5vdCBhIHBhdGggYW5kIGlzIGEgbGluayBmb3VuZCBpbiBvbmUgb2YgdGhlCi0gICAgICAgICoqKiAgICAgICAgICAgICBjb2xvbi1zZXBhcmF0ZWQgcGF0aHMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYHBhdGh2YXInLAotICAgICAgICAqKiogICAgICAgICAgICAgc2V0IGBxc3lzaW5mbycgdG8gaXRzIERCMiBuYW1lLgotICAgICAgICAqKiogICAgIFJldHVybiAwIGlmIE9LLCBlbHNlIC0xLgotICAgICAgICAqKi8KLQotICAgICAgICBpID0gX1FQMExfRElSX05BTUVfTEc7Ci0KLSAgICAgICAgZm9yIChwID0gZmlsZW5hbWU7ICpwOyBwKyspCi0gICAgICAgICAgICAgICAgaWYgKCpwID09ICcvJyB8fCAhLS1pKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAgLyogVG9vIGxvbmcgb3IgYSBwYXRoLiAqLwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoZSBMRF9MSUJSQVJZX1BBVEggZW52aXJvbm1lbnQKLSAgICAgICAgKioqICAgICAgICAgICAgIHZhcmlhYmxlIHZhbHVlLgotICAgICAgICAqKi8KLQotICAgICAgICBwYXRoID0gZ2V0ZW52KHBhdGh2YXIpOwotCi0gICAgICAgIGlmICghcGF0aCkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgICAgICAgICAgICAgICAgIC8qIE5vIHBhdGggbGlzdC4gKi8KLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBUcnkgaW4gZWFjaCBwYXRoIGxpc3RlZC4KLSAgICAgICAgKiovCi0KLSAgICAgICAgcSA9IHBhdGg7Ci0KLSAgICAgICAgaWYgKCEqcSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgICAgICAgICAgICAgICAgIC8qIE5vIHBhdGggbGlzdC4gKi8KLQotICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgZm9yIChwID0gcTsgKnAgJiYgKnAgIT0gJzonOyBwKyspCi0gICAgICAgICAgICAgICAgICAgICAgICA7Ci0KLSAgICAgICAgICAgICAgICBpZiAocCA+IHEpICAgICAgICAgICAgICAgICAgICAgIC8qIElnbm9yZSBudWxsIHBhdGguICovCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRsR2V0T2JqZWN0TmFtZShxc3lzaW5mbywgcSwgcCAtIHEsIGZpbGVuYW1lKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0cHJvYyB8fCAoKnRlc3Rwcm9jKShxc3lzaW5mbykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7ICAgICAgIC8qIEZvdW5kOiByZXR1cm4uICovCi0KLSAgICAgICAgICAgICAgICBpZiAoISpwKQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBxID0gcCArIDE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGVycm5vID0gRU5PRU5UOwotICAgICAgICByZXR1cm4gLTE7Ci19Ci0KLQotc3RhdGljIGludAotZGxfREIyX3BhdGgoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLCBjb25zdCBjaGFyICogcGF0aG5hbWUpCi0KLXsKLSAgICAgICAgaWYgKGRscGF0aDJRU1lTKHFzeXNpbmZvLCBwYXRobmFtZSwgKGNvbnN0IGNoYXIgKikgTlVMTCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgICAgIGlmIChxc3lzaW5mby0+TWJyX1R5cGVbMF0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAgICAgIC8qIFNlcnZpY2UgcHJvZ3JhbSBtYXkgbm90IGhhdmUgbWVtYmVycy4gKi8KLQotICAgICAgICBpZiAoIXFzeXNpbmZvLT5PYmpfVHlwZVswXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgLyogT2JqZWN0IG11c3QgYmUgc3BlY2lmaWVkLiAqLwotCi0gICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7ICAvKiBTZXQgb3VyIG9iamVjdCB0eXBlLiAqLwotICAgICAgICByZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50Ci1kbF9EQjJfbmFtZShjaGFyICogZHN0LCBjb25zdCBjaGFyICogbmFtZSkKLQotewotICAgICAgICBpbnQgaTsKLQotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykgewotICAgICAgICAgICAgICAgIHN3aXRjaCAoKm5hbWUpIHsKLQotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzbG93ZXIoKm5hbWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIGNhc2UgJ1wwJzoKLSAgICAgICAgICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgICAgICBjYXNlICcgJzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICpkc3QrKyA9ICpuYW1lKys7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICghaSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICAgKmRzdCA9ICdcMCc7Ci0gICAgICAgIHJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsX3F1YWxpZmllZF9vYmplY3QoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLCBjb25zdCBjaGFyICogcGF0aG5hbWUpCi0KLXsKLSAgICAgICAgbWVtc2V0KChjaGFyICopIHFzeXNpbmZvLCAwLCBzaXplb2YgKnFzeXNpbmZvKTsKLQotICAgICAgICBpZiAoZGxfREIyX25hbWUocXN5c2luZm8tPk9ial9OYW1lLCBwYXRobmFtZSkgfHwKLSAgICAgICAgICAgIGRsX0RCMl9uYW1lKHFzeXNpbmZvLT5MaWJfTmFtZSwgcGF0aG5hbWUgKyAxMCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIik7Ci0gICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7Ci0gICAgICAgIHJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQKLWRsX2xpYl9vYmplY3QoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogbGlibmFtZSwgY29uc3QgY2hhciAqIHBhdGhuYW1lKQotCi17Ci0gICAgICAgIGludCBpOwotICAgICAgICBjaGFyICogY3A7Ci0KLSAgICAgICAgc3RyY3B5KHFzeXNpbmZvLT5MaWJfTmFtZSwgbGlibmFtZSk7Ci0gICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIik7Ci0gICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7Ci0gICAgICAgIGNwID0gcXN5c2luZm8tPk9ial9OYW1lOwotCi0gICAgICAgIHdoaWxlICgqcGF0aG5hbWUgPT0gJyAnKQotICAgICAgICAgICAgICAgIHBhdGhuYW1lKys7Ci0KLSAgICAgICAgZm9yIChpID0gMDs7IHBhdGhuYW1lKyspIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKCpwYXRobmFtZSkgewotCi0gICAgICAgICAgICAgICAgY2FzZSAnXDAnOgotICAgICAgICAgICAgICAgIGNhc2UgJyAnOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBjYXNlICcvJzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLQotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IDEwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqY3ArKyA9IHRvdXBwZXIoKnBhdGhuYW1lKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgd2hpbGUgKCpwYXRobmFtZSA9PSAnICcpCi0gICAgICAgICAgICAgICAgcGF0aG5hbWUrKzsKLQotICAgICAgICBpZiAoIWkgfHwgKnBhdGhuYW1lKQotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLQotICAgICAgICAqY3AgPSAnXDAnOwotICAgICAgICByZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50Ci1kbF9pc19zcnZwZ20oY29uc3QgUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvKQotCi17Ci0gICAgICAgIHN0cnVjdCBzdGF0IHNidWY7Ci0gICAgICAgIGNoYXIgbmFtZWJ1ZlsxMDBdOwotCi0gICAgICAgIGlmICghcXN5c2luZm8tPkxpYl9OYW1lWzBdIHx8IHN0cmNtcChxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIikgfHwKLSAgICAgICAgICAgICFxc3lzaW5mby0+T2JqX05hbWVbMF0gfHwgc3RyY21wKHFzeXNpbmZvLT5PYmpfVHlwZSwgIipTUlZQR00iKSB8fAotICAgICAgICAgICAgcXN5c2luZm8tPk1icl9OYW1lWzBdIHx8IHFzeXNpbmZvLT5NYnJfVHlwZVswXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBCdWlsZCB0aGUgSUZTIHBhdGggbmFtZSBmb3IgdGhlIERCMiBvYmplY3QuCi0gICAgICAgICoqLwotCi0gICAgICAgIHNwcmludGYobmFtZWJ1ZiwgIiVzLyVzLkxJQi8lcy5TUlZQR00iLAotICAgICAgICAgICAgc3RyY21wKHFzeXNpbmZvLT5MaWJfTmFtZSwgIlFTWVMiKT8gIi9RU1lTLkxJQiI6ICIiLAotICAgICAgICAgICAgcXN5c2luZm8tPkxpYl9OYW1lLCBxc3lzaW5mby0+T2JqX05hbWUpOwotCi0gICAgICAgIHJldHVybiBzdGF0KG5hbWVidWYsICZzYnVmKSA9PSAwOwotfQotCi0KLXN0YXRpYyBpbnQKLWRscmVpbml0KGRsaW5mbyAqIGRsaXApCi0KLXsKLSAgICAgICAgUklOWl9URU1QTF9UIHQ7Ci0gICAgICAgIFJJTlpfVEVNUExfVCAqIHA7Ci0gICAgICAgIHZvbGF0aWxlIF9JTlRSUFRfSG5kbHJfUGFybXNfVCBleGNidWY7Ci0KLSAgICAgICAgaWYgKGRsaXAtPmFjdGluZm8uRmxhZ3MgJiBRTEVfQUJQX1dBU19BQ1RJVkUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgQXR0ZW1wdCB0byByZWluaXRpYWxpemUgdGhlIHNlcnZpY2UgcHJvZ3JhbSB0aGF0IHdhcyBsb2FkZWQuCi0gICAgICAgICoqKiAgICAgVGhlIHNlcnZpY2UgcHJvZ3JhbSBtdXN0IGJlIGNyZWF0ZWQgdG8gYWxsb3cgcmUtaW5pdGlhbGl6YXRpb246Ci0gICAgICAgICoqKiAgICAgICAgICAgICBBTFdSSU5aKCpZRVMpIGZvciB0aGlzIHRvIHdvcmsuIFRoZSBkZWZhdWx0IGlzCi0gICAgICAgICoqKiAgICAgICAgICAgICBBTFdSSU5aKCpOTykuCi0gICAgICAgICoqLwotCi0jcHJhZ21hIGV4Y2VwdGlvbl9oYW5kbGVyKGVyciwgZXhjYnVmLCAwLCBfQzJfTUhfRVNDQVBFLCBfQ1RMQV9IQU5ETEVfTk9fTVNHKQotICAgICAgICBwID0gJnQ7Ci0gICAgICAgIHQucmluel9wZ20gPSBkbGlwLT5wb2ludGVyOwotICAgICAgICB0LnJpbnpfYWdwbWsgPSBkbGlwLT5hY3RpbmZvLkFjdF9HcnBfTWFyazsKLSAgICAgICAgX1JJTlpTVEFUKHApOwotI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKLQotICAgICAgICByZXR1cm4gMDsKLQotZXJyOgotICAgICAgICBpZiAoIW1lbWNtcCgoY2hhciAqKSBleGNidWYuTXNnX0lkLCAiTUNINDQyMSIsIDcpKQotICAgICAgICAgICAgICAgIHJldHVybiAwOyAgICAgICAvKiBQcm9ncmFtIGNhbm5vdCBiZSByZWluaXRpYWxpemVkLiAqLwotCi0gICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9leGNlcHRpb24oJmV4Y2J1Zik7Ci0gICAgICAgIHJldHVybiAtMTsKLX0KLQotCi12b2lkICoKLWRsc3ltKHZvaWQgKiBoYW5kbGUsIGNvbnN0IGNoYXIgKiBzeW1ib2wpCi0KLXsKLSAgICAgICAgZGxpbmZvICogZGxpcDsKLSAgICAgICAgdm9pZCAqIHA7Ci0gICAgICAgIGludCBleHBvcnRfdHlwZTsKLSAgICAgICAgUXVzX0VDX3QgZXJyaW5mbzsKLSAgICAgICAgdm9sYXRpbGUgX0lOVFJQVF9IbmRscl9QYXJtc19UIGV4Y2J1ZjsKLSAgICAgICAgc3RhdGljIGludCB6ZXJvID0gMDsKLQotICAgICAgICBkbHRocmVhZGluaXQoKTsKLQotICAgICAgICBpZiAoIWhhbmRsZSB8fCAhc3ltYm9sKSB7Ci0gICAgICAgICAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2Vycm5vKEVGQVVMVCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGRsaXAgPSAoZGxpbmZvICopIGhhbmRsZTsKLQotI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvciwgZXhjYnVmLCAwLCBfQzJfTUhfRVNDQVBFLCBfQ1RMQV9IQU5ETEVfTk9fTVNHKQotICAgICAgICBlcnJpbmZvLkJ5dGVzX1Byb3ZpZGVkID0gMDsKLSAgICAgICAgUWxlR2V0RXhwTG9uZygmZGxpcC0+YWN0aW5mby5BY3RfTWFyaywgJnplcm8sICZ6ZXJvLAotICAgICAgICAgICAgKGNoYXIgKikgc3ltYm9sLCAmcCwgJmV4cG9ydF90eXBlLCAmZXJyaW5mbyk7Ci0gICAgICAgIHJldHVybiBwOwotI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKLQotZXJyb3I6Ci0gICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9leGNlcHRpb24oJmV4Y2J1Zik7Ci0gICAgICAgIHJldHVybiAodm9pZCAqKSBOVUxMOwotfQotCi0KLWludAotZGxjbG9zZSh2b2lkICogaGFuZGxlKQotCi17Ci0gICAgICAgIGRsaW5mbyAqIGRsaXA7Ci0gICAgICAgIHZvaWQgKCogX2ZpbmkpKHZvaWQpOwotCi0gICAgICAgIGRsdGhyZWFkaW5pdCgpOwotCi0gICAgICAgIGlmICghaGFuZGxlKSB7Ci0gICAgICAgICAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2Vycm5vKEVGQVVMVCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBkbGlwID0gKGRsaW5mbyAqKSBoYW5kbGU7Ci0KLSAgICAgICAgaWYgKGRsaXAtPmFjdGNvdW50KSB7Ci0gICAgICAgICAgICAgICAgaWYgKC0tKGRsaXAtPmFjdGNvdW50KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICAgICAgaWYgKF9maW5pID0gZGxzeW0oaGFuZGxlLCAiX2ZpbmkiKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICgqX2ZpbmkpKCk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBkbHJlaW5pdChkbGlwKTsKLX0KLQotCi1zdGF0aWMgdm9pZCAqCi1kbG9wZW5xc3lzKGNvbnN0IFFwMGxfUVNZU19JbmZvX3QgKiBkbGxpbmZvKQotCi17Ci0gICAgICAgIGRsaW5mbyAqIGRsaXA7Ci0gICAgICAgIGRsaW5mbyAqIGRsaXAyOwotICAgICAgICB2b2lkICgqIF9pbml0KSh2b2lkKTsKLSAgICAgICAgdW5zaWduZWQgaW50IGk7Ci0gICAgICAgIF9TWVNQVFIgcGdtcHRyOwotICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgYWN0bWFyazsKLSAgICAgICAgUXVzX0VDX3QgZXJyaW5mbzsKLSAgICAgICAgY2hhciBhY3RtYXJrc3RyWzIgKiBzaXplb2YgYWN0bWFyayArIDFdOwotICAgICAgICBzdGF0aWMgaW50IGFjdGluZm9fc2l6ZSA9IHNpemVvZiBkbGlwLT5hY3RpbmZvOwotICAgICAgICB2b2xhdGlsZSBfSU5UUlBUX0huZGxyX1Bhcm1zX1QgZXhjYnVmOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIENhcHR1cmUgYW55IHR5cGUgb2YgZXJyb3IgYW5kIGlmIGFueSBvY2N1cnMsCi0gICAgICAgICoqKiAgICAgICAgICAgICByZXR1cm4gbm90IGZvdW5kLgotICAgICAgICAqKi8KLQotI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvcjEsIGV4Y2J1ZiwgMCwgX0MyX01IX0VTQ0FQRSwgX0NUTEFfSEFORExFX05PX01TRykKLSAgICAgICAgcGdtcHRyID0gcnNsdnNwKFdMSV9TUlZQR00sIChjaGFyICopIGRsbGluZm8tPk9ial9OYW1lLAotICAgICAgICAgICAgKGNoYXIgKikgZGxsaW5mby0+TGliX05hbWUgLF9BVVRIX05PTkUpOwotCi0gICAgICAgIGlmICghcGdtcHRyKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFTk9FTlQ7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIENyZWF0ZSBhIG5ldyBETEwgaW5mbyBibG9jay4KLSAgICAgICAgKiovCi0KLSAgICAgICAgZGxpcCA9IChkbGluZm8gKikgbWFsbG9jKHNpemVvZiAqZGxpcCk7Ci0KLSAgICAgICAgaWYgKCFkbGlwKQotICAgICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKSBOVUxMOyAgICAgICAgICAgLyogQ2Fubm90IGNyZWF0ZSBibG9jay4gKi8KLSNwcmFnbWEgZGlzYWJsZV9oYW5kbGVyCi0KLSAgICAgICAgZGxsb2NrKCk7Ci0KLSNwcmFnbWEgZXhjZXB0aW9uX2hhbmRsZXIoZXJyb3IyLCBleGNidWYsIDAsIF9DMl9NSF9FU0NBUEUsIF9DVExBX0hBTkRMRV9OT19NU0cpCi0gICAgICAgIG1lbXNldCgoY2hhciAqKSBkbGlwLCAwLCBzaXplb2YgKmRsaXApOwotICAgICAgICBkbGlwLT5wb2ludGVyID0gcGdtcHRyOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEFjdGl2YXRlIHRoZSBETEwuCi0gICAgICAgICoqLwotCi0gICAgICAgIGVycmluZm8uQnl0ZXNfUHJvdmlkZWQgPSAwOwotICAgICAgICBRbGVBY3RCbmRQZ21Mb25nKCZwZ21wdHIsICZhY3RtYXJrLAotICAgICAgICAgICAgJmRsaXAtPmFjdGluZm8sICZhY3RpbmZvX3NpemUsICZlcnJpbmZvKTsKLSAgICAgICAgZGxpcC0+YWN0aW5mby5BY3RfTWFyayA9IGFjdG1hcms7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgRHVtbXkgc3RyaW5nIGVuY29kaW5nIGFjdGl2YXRpb24gbWFyayB0byB1c2UgYXMgaGFzaCB0YWJsZSBrZXkuCi0gICAgICAgICoqLwotCi0gICAgICAgIGZvciAoaSA9IDA7IGFjdG1hcms7IGFjdG1hcmsgPj49IDYpCi0gICAgICAgICAgICAgICAgYWN0bWFya3N0cltpKytdID0gMHg0MCArIChhY3RtYXJrICYgMHgzRik7Ci0KLSAgICAgICAgYWN0bWFya3N0cltpXSA9ICdcMCc7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgQ2hlY2sgaWYgYWxyZWFkeSBhY3RpdmF0ZWQuCi0gICAgICAgICoqLwotCi0gICAgICAgIGRsaXAyID0gKGRsaW5mbyAqKSB4bWxIYXNoTG9va3VwKGRsZGlyLCBhY3RtYXJrc3RyKTsKLQotICAgICAgICBpZiAoZGxpcDIpIHsKLSAgICAgICAgICAgICAgICBmcmVlKChjaGFyICopIGRsaXApOwotICAgICAgICAgICAgICAgIGRsaXAgPSBkbGlwMjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHhtbEhhc2hBZGRFbnRyeShkbGRpciwgKGNvbnN0IHhtbENoYXIgKikgYWN0bWFya3N0ciwgZGxpcCkpIHsKLSAgICAgICAgICAgICAgICBkbHJlaW5pdChkbGlwKTsKLSAgICAgICAgICAgICAgICBmcmVlKChjaGFyICopIGRsaXApOwotICAgICAgICAgICAgICAgIGRsdW5sb2NrKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKLQotI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvcjIsIGV4Y2J1ZiwgMCwgX0MyX01IX0VTQ0FQRSwgX0NUTEFfSEFORExFX05PX01TRykKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBCdW1wIGFjdGl2YXRpb24gY291bnRlci4KLSAgICAgICAgKiovCi0KLSAgICAgICAgaWYgKCEoZGxpcC0+YWN0Y291bnQrKykgJiYgKF9pbml0ID0gZGxzeW0oZGxpcCwgIl9pbml0IikpKQotICAgICAgICAgICAgICAgICgqX2luaXQpKCk7Ci0KLSAgICAgICAgZGx1bmxvY2soKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBSZXR1cm4gdGhlIGhhbmRsZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgcmV0dXJuICh2b2lkICopIGRsaXA7Ci0jcHJhZ21hIGRpc2FibGVfaGFuZGxlcgotCi1lcnJvcjI6Ci0gICAgICAgIGZyZWUoKGNoYXIgKikgZGxpcCk7Ci0gICAgICAgIGRsdW5sb2NrKCk7Ci0KLWVycm9yMToKLSAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2V4Y2VwdGlvbigmZXhjYnVmKTsKLSAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7Ci19Ci0KLQotdm9pZCAqCi1kbG9wZW4oY29uc3QgY2hhciAqIGZpbGVuYW1lLCBpbnQgZmxhZykKLQotewotICAgICAgICB2b2lkICogZGxoYW5kbGU7Ci0gICAgICAgIGludCBzdmVycm5vOwotICAgICAgICBRcDBsX1FTWVNfSW5mb190IGRsbGluZm87Ci0KLSAgICAgICAgc3ZlcnJubyA9IGVycm5vOwotICAgICAgICBlcnJubyA9IDA7Ci0KLSAgICAgICAgZGx0aHJlYWRpbml0KCk7Ci0KLSAgICAgICAgaWYgKCFmaWxlbmFtZSkgewotICAgICAgICAgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9lcnJubyhFRkFVTFQpOwotICAgICAgICAgICAgICAgIGVycm5vID0gc3ZlcnJubzsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgVHJ5IHRvIGxvY2F0ZSB0aGUgb2JqZWN0IGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6Ci0gICAgICAgICoqKiAgICAgXyAgICAgICBgZmlsZW5hbWUnIGlzIGFuIElGUyBwYXRoLgotICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBub3QgYSBwYXRoIGFuZCByZXNpZGVzIGluIG9uZSBvZgotICAgICAgICAqKiogICAgICAgICAgICAgICAgICAgICBMRF9MSUJSQVJZX1BBVEggY29sb24tc2VwYXJhdGVkIHBhdGhzLgotICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBub3QgYSBwYXRoIGFuZCByZXNpZGVzIGluIG9uZSBvZgotICAgICAgICAqKiogICAgICAgICAgICAgICAgICAgICBQQVRIIGNvbG9uLXNlcGFyYXRlZCBwYXRocy4KLSAgICAgICAgKioqICAgICBfICAgICAgIGBmaWxlbmFtZScgaXMgYSBEQjIgcGF0aCAoYXMgL2xpYnJhcnkvb2JqZWN0KS4KLSAgICAgICAgKioqICAgICBfICAgICAgIGBmaWxlbmFtZScgaXMgYSBxdWFsaWZpZWQgb2JqZWN0IG5hbWUuCi0gICAgICAgICoqKiAgICAgXyAgICAgICBgZmlsZW5hbWUnIGlzIGFuIG9iamVjdCBpbiAqQ1VSTElCLgotICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBhbiBvYmplY3QgaW4gKkxJQkwuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICghZGxfaWZzX2xpbmsoJmRsbGluZm8sIGZpbGVuYW1lKSAmJiBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQotICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7Ci0gICAgICAgIGVsc2UgaWYgKCFkbF9wYXRoX2xpbmsoJmRsbGluZm8sCi0gICAgICAgICAgICAiTERfTElCUkFSWV9QQVRIIiwgZmlsZW5hbWUsIGRsX2lzX3NydnBnbSkpCi0gICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKLSAgICAgICAgZWxzZSBpZiAoIWRsX3BhdGhfbGluaygmZGxsaW5mbywgIlBBVEgiLCBmaWxlbmFtZSwgZGxfaXNfc3J2cGdtKSkKLSAgICAgICAgICAgICAgICBkbGhhbmRsZSA9IGRsb3BlbnFzeXMoJmRsbGluZm8pOwotICAgICAgICBlbHNlIGlmICghZGxfREIyX3BhdGgoJmRsbGluZm8sIGZpbGVuYW1lKSAmJiBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQotICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7Ci0gICAgICAgIGVsc2UgaWYgKCFkbF9xdWFsaWZpZWRfb2JqZWN0KCZkbGxpbmZvLCBmaWxlbmFtZSkgJiYKLSAgICAgICAgICAgIGRsX2lzX3NydnBnbSgmZGxsaW5mbykpCi0gICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKLSAgICAgICAgZWxzZSBpZiAoIWRsX2xpYl9vYmplY3QoJmRsbGluZm8sICIqQ1VSTElCIiwgZmlsZW5hbWUpICYmCi0gICAgICAgICAgICBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQotICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7Ci0gICAgICAgIGVsc2UgaWYgKCFkbF9saWJfb2JqZWN0KCZkbGxpbmZvLCAiKkxJQkwiLCBmaWxlbmFtZSkgJiYKLSAgICAgICAgICAgIGRsX2lzX3NydnBnbSgmZGxsaW5mbykpCi0gICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gTlVMTDsKLQotICAgICAgICBpZiAoIWRsaGFuZGxlICYmIGVycm5vKQotICAgICAgICAgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9lcnJubyhlcnJubyk7Ci0KLSAgICAgICAgZXJybm8gPSBzdmVycm5vOwotICAgICAgICByZXR1cm4gZGxoYW5kbGU7Ci19CmRpZmYgLS1naXQgYS9vczQwMC9kbGZjbi9kbGZjbi5oIGIvb3M0MDAvZGxmY24vZGxmY24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNmNjkxZS4uMDAwMDAwMAotLS0gYS9vczQwMC9kbGZjbi9kbGZjbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotLyoqCi0qKiogICAgIGRsb3BlbigpLCBkbGNsb3NlKCkgZGxzeW0oKSwgZGxlcnJvcigpIGVtdWxhdGlvbiBmb3IgT1MvNDAwLgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaWZuZGVmIF9ETEZDTl9IXwotI2RlZmluZSBfRExGQ05fSF8KLQotCi0vKioKLSoqKiAgICAgRmxhZ3MgZm9yIGRsb3BlbigpLgotKioqICAgICBJZ25vcmVkIGZvciBPUzQwMC4KLSoqLwotCi0jZGVmaW5lIFJUTERfTEFaWSAgICAgICAgICAgICAgIDAwMAotI2RlZmluZSBSVExEX05PVyAgICAgICAgICAgICAgICAwMDEKLSNkZWZpbmUgUlRMRF9HTE9CQUwgICAgICAgICAgICAgMDEwCi0KLQotLyoqCi0qKiogICAgIFByb3RvdHlwZXMuCi0qKi8KLQotZXh0ZXJuIHZvaWQgKiAgICAgICAgICAgZGxvcGVuKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgaW50IGZsYWcpOwotZXh0ZXJuIHZvaWQgKiAgICAgICAgICAgZGxzeW0odm9pZCAqIGhhbmRsZSwgY29uc3QgY2hhciAqIHN5bWJvbCk7Ci1leHRlcm4gY29uc3QgY2hhciAqICAgICBkbGVycm9yKHZvaWQpOwotZXh0ZXJuIGludCAgICAgICAgICAgICAgZGxjbG9zZSh2b2lkICogaGFuZGxlKTsKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9SRUFETUUuaWNvbnYgYi9vczQwMC9pY29udi9SRUFETUUuaWNvbnYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5NTBkNTkuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvUkVBRE1FLmljb252CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotSUJNIE9TLzQwMCBpbXBsZW1lbnRzIGljb252IGluIGFuIG9kZCB3YXk6Ci0tIFR5cGUgaWNvbnZfdCBpcyBhIHN0cnVjdHVyZTogdGhlcmVmb3JlIG9iamVjdHMgb2YgdGhpcyB0eXBlIGNhbm5vdCBiZQotICBjb21wYXJlZCB0byAoaWNvbnZfdCkgLTEuCi0tIFN1cHBvcnRlZCBjaGFyYWN0ZXIgc2V0cyBuYW1lcyBhcmUgYWxsIG9mIHRoZSBmb3JtIElCTUNDU0lEY2NzaWQuLi4sIHdoZXJlCi0gIGNjc2lkIGlzIGEgZGVjaW1hbCA1LWRpZ2l0IGludGVnZXIgaWRlbnRpZnlpbmcgYW4gSUJNIGNvZGVkIGNoYXJhY3RlciBzZXQuCi0gIEluIGFkZGl0aW9uLCBjaGFyYWN0ZXIgc2V0IG5hbWVzIGhhdmUgdG8gYmUgZ2l2ZW4gaW4gRUJDRElDLgotICBTdGFuZGFyZCBjaGFyYWN0ZXIgc2V0IG5hbWVzIGxpa2UgIlVURi04IiBhcmUgTk9UIHJlY29nbml6ZWQuCi0tIFRoZSBwcm90b3R5cGUgb2YgaWNvbnZfb3BlbigpIGRvZXMgbm90IGRlY2xhcmUgcGFyYW1ldGVycyBhcyBjb25zdCwgYWx0aG91Z2gKLSAgdGhleSBhcmUgbm90IGFsdGVyZWQuCi0KLSBTaW5jZSBsaWJpY29udiBkb2VzIG5vdCBzdXBwb3J0IEVCQ0RJQywgdXNlIG9mIHRoaXMgcGFja2FnZSBoZXJlIGFzIGEKLXJlcGxhY2VtZW50IGlzIG5vdCBhIHNvbHV0aW9uLgotCi0gRm9yIHRoZXNlIHJlYXNvbnMsIHRoZSBjb2RlIGluIHRoaXMgZGlyZWN0b3J5IGltcGxlbWVudHMgYSB3cmFwcGVyIHRvIHRoZQotT1MvNDAwIGljb252IGltcGxlbWVudGF0aW9uLiBUaGUgd3JhcHBlciBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHRyYW5zZm9ybWF0aW9uczoKLS0gVHlwZSBpY29udl90IGlzIGFuIHBvaW50ZXIuIEFsdGhvdWdoIE9TLzQwMCBwb2ludGVycyBhcmUgb2RkLCBjb21wYXJpbmcKLSAgd2l0aCAoaWNvbnZfdCkgLTEgaXMgT0suCi0tIEFsbCBJQU5BIGNoYXJhY3RlciBzZXQgbmFtZXMgYXJlIHJlY29nbml6ZWQgaW4gYSBjb2RpbmctIGFuZCBjYXNlLWluc2Vuc2l0aXZlCi0gIHdheSwgcHJvdmlkaW5nIGFuIGVxdWl2YWxlbnQgQ0NTSUQgZXhpc3RzLiBzZWUKLSAgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyYWN0ZXItc2V0cy9jaGFyYWN0ZXItc2V0cy54aHRtbAotLSBBbGwgQ0NTSURzIGZyb20gdGhlIGFzc29jaWF0aW9uIGZpbGUgY2FuIGJlIGV4cHJlc3NlZCBhcyBJQk1DQ1NJRHh4eHh4IHdoZXJlCi0gIHh4eHh4IGlzIHRoZSA1IGRpZ2l0IENDU0lEOyBubyBudWxsIHRlcm1pbmF0b3IgaXMgcmVxdWlyZWQuIEFsdGVybmF0ZSBjb2RlcwotICBhcmUgb2YgdGhlIGZvcm0gaWJtLXh4eCAobnVsbC10ZXJtaW5hdGVkKSwgd2hlcmUgeHh4IGlzIHRoZSBpbnRlZ2VyIENDU0lEIHdpdGgKLSAgbGVhZGluZyB6ZXJvZXMgc3RyaXBwZWQuCi0tIElmIGEgSUFOQSBCSUJlbnVtIGlzIGRlZmluZWQgZm9yIGEgQ0NTSUQsIHRoZSBuYW1lIGlhbmEteHh4IGNhbiBiZSB1c2VkLAotICB3aGVyZSB4eHggaXMgdGhlIGludGVnZXIgTUlCZW51bSB3aXRob3V0IGxlYWRpbmcgemVyb2VzLgotLSBJbiBhZGRpdGlvbiwgc29tZSBhbGlhc2VzIGFyZSBhbHNvIHRha2VuIGZyb20gdGhlIGFzc29jaWF0aW9uIGZpbGUuIEV4YW1wbGVzCi0gIGFyZTogQVNDSUksIEVCQ0RJQywgVVRGOC4KLS0gUHJvdG90eXBlIG9mIGljb252X29wZW4oKSBoYXMgY29uc3QgcGFyYW1ldGVycy4KLS0gQ2hhcmFjdGVyIGNvZGUgbmFtZXMgY2FuIGJlIGdpdmVuIGluIGFueSBjb2RlLgotCi1DaGFyYWN0ZXIgc2V0IG5hbWVzIHRvIENDU0lEIGNvbnZlcnNpb24uCi0tIGh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHMvY2hhcmFjdGVyLXNldHMueGh0bWwgcHJvdmlkZXMKLSAgYWxsIElBTkEgcmVnaXN0ZXJlZCBjaGFyYWN0ZXIgc2V0IG5hbWVzIGFuZCBhbGlhc2VzIGFzc29jaWF0ZWQgd2l0aCBhCi0gIE1JQmVudW0sIHRoYXQgaXMgYSB1bmlxdWUgY2hhcmFjdGVyIHNldCBpZGVudGlmaWVyLgotLSBBIGhhbmQtbWFpbnRhaW5lZCBmaWxlIGNjc2lkX21pYmVudW0ueG1sIGFzc29jaWF0ZXMgSUJNIENDU0lEcyB0bwotICBJQU5BIE1CZW51bXMuCi0tIEFuIE9TLzQwMCBDIHByb2dyYW0gKGluIHN1YmRpcmVjdG9yeSBibGRjc25kZmEpIGdlbmVyYXRlcyBhIGRldGVybWluaXN0aWMKLSAgZmluaXRlIGF1dG9tYXRvbiBmcm9tIHRoZSBmaWxlcyBtZW50aW9uZWQgYWJvdmUgaW50byBhIEMgZmlsZSBmb3IgYWxsCi0gIHBvc3NpYmxlIGNoYXJhY3RlciBzZXQgbmFtZSBhbmQgYXNzb2NpYXRpbmcgZWFjaCBvZiB0aGVtIHdpdGggaXRzCi0gIGNvcnJlc3BvbmRpbmcgQ0NTSUQuIFRoaXMgcHJvZ3JhbSBjYW4gb25seSBiZSBydW4gb24gT1MvNDAwIHNpbmNlIGl0IHVzZXMKLSAgdGhlIG5hdGl2ZSBpY29udiBzdXBwb3J0IGZvciBFQkNESUMuCi0tIFNpbmNlIHRoZXNlIG9wZXJhdGlvbnMgYXJlIHRlZGlvdXMgYW5kIHRoZSB0YWJsZSBnZW5lcmF0aW9uIG5lZWRzIGJvb3RzdHJhcGluZwotICB3aXRoIGxpYnhtbDIsIHRoZSBnZW5lcmF0ZWQgYXV0b21hdG9uIGlzIHN0b3JlZCB3aXRoaW4gc291cmNlcyBhbmQgbmVlZCBub3QKLSAgYmUgcmVidWlsdCBhdCBlYWNoIGNvbXBpbGF0aW9uLiBIb3dldmVyLCBzb3VyY2UgaXMgcHJvdmlkZWQgaGVyZSB0byBhbGxvdwotICBuZXcgdGFibGUgZ2VuZXJhdGlvbiB3aXRoIGNvbnZlcnNpb24gdGFibGVzIHRoYXQgd2VyZSBub3QgYXZhaWxhYmxlIGF0IHRoZQotICB0aW1lIG9mIG9yaWdpbmFsIGdlbmVyYXRpb24uCmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9ibGRjc25kZmEvYmxkY3NuZGZhLmMgYi9vczQwMC9pY29udi9ibGRjc25kZmEvYmxkY3NuZGZhLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4YWZkNTQuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2JsZGNzbmRmYS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTk1MyArMCwwIEBACi0vKioKLSoqKiAgICAgQnVpbGQgYSBkZXRlcm1pbmlzdGljIGZpbml0ZSBhdXRvbWF0b24gdG8gYXNzb2NpYXRlIENDU0lEcyB3aXRoCi0qKiogICAgICAgICAgICAgY2hhcmFjdGVyIHNldCBuYW1lcy4KLSoqKgotKioqICAgICBDb21waWxlIG9uIE9TLzQwMCB3aXRoIG9wdGlvbnMgU1lTSUZDT1BUKCpJRlNJTykuCi0qKioKLSoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotKioqCi0qKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotKiovCi0KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxjdHlwZS5oPgotCi0jaW5jbHVkZSA8aWNvbnYuaD4KLQotCi0jaWZkZWYgT0xEWE1MCi0jaW5jbHVkZSAieG1sLmgiCi0jZWxzZQotI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+Ci0jaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgotI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgotI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgotI2VuZGlmCi0KLQotI2lmZGVmIF9fT1M0MDBfXwotI2RlZmluZSBpY29udl9vcGVuX2Vycm9yKGNkKSAgICAgICAgICAgICgoY2QpLnJldHVybl92YWx1ZSA9PSAtMSkKLSNkZWZpbmUgc2V0X2ljb252X29wZW5fZXJyb3IoY2QpICAgICAgICAoKGNkKS5yZXR1cm5fdmFsdWUgPSAtMSkKLSNlbHNlCi0jZGVmaW5lIGljb252X29wZW5fZXJyb3IoY2QpICAgICAgICAgICAgKChjZCkgPT0gKGljb252X3QpIC0xKQotI2RlZmluZSBzZXRfaWNvbnZfb3Blbl9lcnJvcihjZCkgICAgICAgICgoY2QpID0gKGljb252X3QpIC0xKQotI2VuZGlmCi0KLQotI2RlZmluZSBDX1NPVVJDRV9DQ1NJRCAgICAgICAgICA1MDAKLSNkZWZpbmUgQ19VVEY4X0NDU0lEICAgICAgICAgICAgMTIwOAotCi0KLSNkZWZpbmUgVVRGOF9TUEFDRSAgICAgIDB4MjAKLSNkZWZpbmUgVVRGOF9IVCAgICAgICAgIDB4MDkKLSNkZWZpbmUgVVRGOF8wICAgICAgICAgIDB4MzAKLSNkZWZpbmUgVVRGOF85ICAgICAgICAgIDB4MzkKLSNkZWZpbmUgVVRGOF9BICAgICAgICAgIDB4NDEKLSNkZWZpbmUgVVRGOF9aICAgICAgICAgIDB4NUEKLSNkZWZpbmUgVVRGOF9hICAgICAgICAgIDB4NjEKLSNkZWZpbmUgVVRGOF96ICAgICAgICAgIDB4N0EKLQotCi0jZGVmaW5lIEdSQU5VTEUgICAgICAgICAxMjggICAgICAgICAgICAgLyogTWVtb3J5IGFsbG9jYXRpb24gZ3JhbnVsZS4gKi8KLQotI2RlZmluZSBFUFNJTE9OICAgICAgICAgMHgxMDAgICAgICAgICAgIC8qIFRva2VuIGZvciBlbXB0eSB0cmFuc2l0aW9uLiAqLwotCi0KLSNpZm5kZWYgT0ZGU0VUT0YKLSNkZWZpbmUgT0ZGU0VUT0YodCwgZikgICgodW5zaWduZWQgaW50KSAoKGNoYXIgKikgJigodCAqKSAwKS0+ZiAtIChjaGFyICopIDApKQotI2VuZGlmCi0KLSNpZm5kZWYgT0ZGU0VUQlkKLSNkZWZpbmUgT0ZGU0VUQlkodCwgcCwgbykgICAgICAgKCh0ICopICgoY2hhciAqKSAocCkgKyAodW5zaWduZWQgaW50KSAobykpKQotI2VuZGlmCi0KLQotdHlwZWRlZiBzdHJ1Y3QgdF90cmFuc2l0aW9uICAgICB0X3RyYW5zaXRpb247ICAgLyogTkZBL0RGQSB0cmFuc2l0aW9uLiAqLwotdHlwZWRlZiBzdHJ1Y3QgdF9zdGF0ZSAgICAgICAgICB0X3N0YXRlOyAgICAgICAgLyogTkZBL0RGQSBzdGF0ZSBub2RlLiAqLwotdHlwZWRlZiBzdHJ1Y3QgdF9zeW1saXN0ICAgICAgICB0X3N5bWxpc3Q7ICAgICAgLyogU3ltYm9sIChpLmUuOiBuYW1lKSBsaXN0LiAqLwotdHlwZWRlZiBzdHJ1Y3QgdF9jaHNldCAgICAgICAgICB0X2Noc2V0OyAgICAgICAgLyogQ2hhcmFjdGVyIHNldC4gKi8KLXR5cGVkZWYgc3RydWN0IHRfc3RhdGVncm91cCAgICAgdF9zdGF0ZWdyb3VwOyAgIC8qIE9wdGltaXphdGlvbiBncm91cC4gKi8KLXR5cGVkZWYgdW5zaWduZWQgY2hhciAgICAgICAgICAgdXRmOGNoYXI7ICAgICAgIC8qIFVURi04IGNoYXJhY3RlciBieXRlLiAqLwotdHlwZWRlZiB1bnNpZ25lZCBjaGFyICAgICAgICAgICBieXRlOyAgICAgICAgICAgLyogVW50eXBlZCBkYXRhIGJ5dGUuICovCi0KLQotdHlwZWRlZiBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNldCBvZiBwb2ludGVycy4gKi8KLSAgICAgICAgdW5zaWduZWQgaW50ICAgIHBfc2l6ZTsgICAgICAgICAvKiBDdXJyZW50IGFsbG9jYXRlZCBzaXplLiAqLwotICAgICAgICB1bnNpZ25lZCBpbnQgICAgcF9jYXJkOyAgICAgICAgIC8qIEN1cnJlbnQgZWxlbWVudCBjb3VudC4gKi8KLSAgICAgICAgdm9pZCAqICAgICAgICAgIHBfc2V0WzFdOyAgICAgICAvKiBFbGVtZW50IGFycmF5LiAqLwotfSAgICAgICAgICAgICAgIHRfcG93ZXJzZXQ7Ci0KLQotc3RydWN0IHRfdHJhbnNpdGlvbiB7Ci0gICAgICAgIHRfdHJhbnNpdGlvbiAqICB0X2ZvcndwcmV2OyAgICAgLyogSGVhZCBvZiBmb3J3YXJkIHRyYW5zaXRpb24gbGlzdC4gKi8KLSAgICAgICAgdF90cmFuc2l0aW9uICogIHRfZm9yd25leHQ7ICAgICAvKiBUYWlsIG9mIGZvcndhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLwotICAgICAgICB0X3RyYW5zaXRpb24gKiAgdF9iYWNrcHJldjsgICAgIC8qIEhlYWQgb2YgYmFja3dhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLwotICAgICAgICB0X3RyYW5zaXRpb24gKiAgdF9iYWNrbmV4dDsgICAgIC8qIFRhaWwgb2YgYmFja3dhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLwotICAgICAgICB0X3N0YXRlICogICAgICAgdF9mcm9tOyAgICAgICAgIC8qIEluY29taW5nIHN0YXRlLiAqLwotICAgICAgICB0X3N0YXRlICogICAgICAgdF90bzsgICAgICAgICAgIC8qIERlc3RpbmF0aW9uIHN0YXRlLiAqLwotICAgICAgICB1bnNpZ25lZCBzaG9ydCAgdF90b2tlbjsgICAgICAgIC8qIFRyYW5zaXRpb24gdG9rZW4uICovCi0gICAgICAgIHVuc2lnbmVkIGludCAgICB0X2luZGV4OyAgICAgICAgLyogVHJhbnNpdGlvbiBhcnJheSBpbmRleC4gKi8KLX07Ci0KLQotc3RydWN0IHRfc3RhdGUgewotICAgICAgICB0X3N0YXRlICogICAgICAgc19uZXh0OyAgICAgICAgIC8qIE5leHQgc3RhdGUgKGZvciBERkEgY29uc3RydWN0aW9uKS4gKi8KLSAgICAgICAgdF9zdGF0ZSAqICAgICAgIHNfc3RhY2s7ICAgICAgICAvKiBVbnByb2Nlc3NlZCBERkEgc3RhdGVzIHN0YWNrLiAqLwotICAgICAgICB0X3RyYW5zaXRpb24gKiAgc19mb3J3YXJkOyAgICAgIC8qIEZvcndhcmQgdHJhbnNpdGlvbnMuICovCi0gICAgICAgIHRfdHJhbnNpdGlvbiAqICBzX2JhY2t3YXJkOyAgICAgLyogQmFja3dhcmQgdHJhbnNpdGlvbnMuICovCi0gICAgICAgIHRfY2hzZXQgKiAgICAgICBzX2ZpbmFsOyAgICAgICAgLyogUmVjb2duaXplZCBjaGFyYWN0ZXIgc2V0LiAqLwotICAgICAgICB0X3Bvd2Vyc2V0ICogICAgc19uZmFzdGF0ZXM7ICAgIC8qIENvcnJlc3BvbmRpbmcgTkZBIHN0YXRlcy4gKi8KLSAgICAgICAgdW5zaWduZWQgaW50ICAgIHNfaW5kZXg7ICAgICAgICAvKiBTdGF0ZSBpbmRleC4gKi8KLX07Ci0KLQotc3RydWN0IHRfc3ltbGlzdCB7Ci0gICAgICAgIHRfc3ltbGlzdCAqICAgICBsX25leHQ7ICAgICAgICAgLyogTmV4dCBuYW1lIGluIGxpc3QuICovCi0gICAgICAgIHV0ZjhjaGFyICAgICAgICBsX3N5bWJvbFsxXTsgICAgLyogTmFtZSBieXRlcy4gKi8KLX07Ci0KLQotc3RydWN0IHRfY2hzZXQgewotICAgICAgICB0X2Noc2V0ICogICAgICAgY19uZXh0OyAgICAgICAgIC8qIE5leHQgY2hhcmFjdGVyIHNldC4gKi8KLSAgICAgICAgdF9zeW1saXN0ICogICAgIGNfbmFtZXM7ICAgICAgICAvKiBDaGFyYWN0ZXIgc2V0IG5hbWUgbGlzdC4gKi8KLSAgICAgICAgaWNvbnZfdCAgICAgICAgIGNfZnJvbVVURjg7ICAgICAvKiBDb252ZXJzaW9uIGZyb20gVVRGLTguICovCi0gICAgICAgIHVuc2lnbmVkIGludCAgICBjX2Njc2lkOyAgICAgICAgLyogSUJNIGNoYXJhY3RlciBzZXQgY29kZS4gKi8KLSAgICAgICAgdW5zaWduZWQgaW50ICAgIGNfbWliZW51bTsgICAgICAvKiBJQU5BIGNoYXJhY3RlciBjb2RlLiAqLwotfTsKLQotCi1zdHJ1Y3QgdF9zdGF0ZWdyb3VwIHsKLSAgICAgICAgdF9zdGF0ZWdyb3VwICogIGdfbmV4dDsgICAgICAgICAvKiBOZXh0IGdyb3VwLiAqLwotICAgICAgICB0X3N0YXRlICogICAgICAgZ19tZW1iZXI7ICAgICAgIC8qIEdyb3VwIG1lbWJlciAoc19zdGFjaykgbGlzdC4gKi8KLSAgICAgICAgdW5zaWduZWQgaW50ICAgIGdfaWQ7ICAgICAgICAgICAvKiBHcm91cCBpZGVudC4gKi8KLX07Ci0KLQotCi10X2Noc2V0ICogICAgICAgY2hzZXRfbGlzdDsgICAgICAgICAgICAgLyogQ2hhcmFjdGVyIHNldCBsaXN0LiAqLwotdF9zdGF0ZSAqICAgICAgIGluaXRpYWxfc3RhdGU7ICAgICAgICAgIC8qIEluaXRpYWwgTkZBIHN0YXRlLiAqLwotaWNvbnZfdCAgICAgICAgIGpvYjJ1dGY4OyAgICAgICAgICAgICAgIC8qIEpvYiBDQ1NJRCB0byBVVEYtOCBjb252ZXJzaW9uLiAqLwotaWNvbnZfdCAgICAgICAgIHV0Zjgyam9iOyAgICAgICAgICAgICAgIC8qIFVURi04IHRvIGpvYiBDQ1NJRCBjb252ZXJzaW9uLiAqLwotdF9zdGF0ZSAqICAgICAgIGRmYV9zdGF0ZXM7ICAgICAgICAgICAgIC8qIExpc3Qgb2YgREZBIHN0YXRlcy4gKi8KLXVuc2lnbmVkIGludCAgICBncm91cGlkOyAgICAgICAgICAgICAgICAvKiBHcm91cCBpZGVudCBjb3VudGVyLiAqLwotCi0KLS8qKgotKioqICAgICBVVEYtOCBzdHJpbmdzLgotKiovCi0KLSNwcmFnbWEgY29udmVydCg4MTkpCi0KLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfTUlCZW51bVtdID0gIk1JQmVudW0iOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9taWJlbnVtW10gPSAibWliZW51bSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2libV9bXSA9ICJpYm0tIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfSUJNQ0NTSURbXSA9ICJJQk1DQ1NJRCI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2lhbmFfW10gPSAiaWFuYS0iOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9OYW1lW10gPSAiTmFtZSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X1ByZWZfTUlNRV9OYW1lW10gPSAiUHJlZmVycmVkIE1JTUUgTmFtZSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X0FsaWFzZXNbXSA9ICJBbGlhc2VzIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfaHRtbFtdID0gImh0bWwiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9odG1sdXJpW10gPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X0FbXSA9ICJBIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfQ1tdID0gIkMiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9NW10gPSAiTSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X05bXSA9ICJOIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfUFtdID0gIlAiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9UW10gPSAiVCI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2Njc2lkW10gPSAiY2NzaWQiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9FQkNESUNbXSA9ICJFQkNESUMiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9BU0NJSVtdID0gIkFTQ0lJIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfYXNzb2Nub2Rlc1tdID0gIi9jY3NpZF9taWJlbnVtL2Fzc29jW0BjY3NpZF0iOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9hbGlhc3RleHRbXSA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvY2NzaWRfbWliZW51bS9hc3NvY1tAY2NzaWQ9JENdL2FsaWFzL3RleHQoKSI7Ci0jaWZkZWYgT0xEWE1MCi1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X3RhYmxlcm93c1tdID0KLSAgICAgICAgICAgICAgICAgICAgICAgICIvL3RhYmxlW0BpZD0ndGFibGUtY2hhcmFjdGVyLXNldHMtMSddLyovdHIiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9oZWFkZXJwb3NbXSA9Ci0gICAgICAgICAgICAgICAgImNvdW50KHRoW3RleHQoKT0kVF0vcHJlY2VkaW5nLXNpYmxpbmc6OnRoKSsxIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0bWliZW51bVtdID0gIm51bWJlcih0ZFskTV0pIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0cHJlZm5hbWVbXSA9ICJzdHJpbmcodGRbJFBdKSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldG5hbWVbXSA9ICJzdHJpbmcodGRbJE5dKSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldGFsaWFzZXNbXSA9ICJ0ZFskQV0vdGV4dCgpIjsKLSNlbHNlCi1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X3RhYmxlcm93c1tdID0KLSAgICAgICAgICAgICAgICAgICAgICAgICIvL2h0bWw6dGFibGVbQGlkPSd0YWJsZS1jaGFyYWN0ZXItc2V0cy0xJ10vKi9odG1sOnRyIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfaGVhZGVycG9zW10gPQotICAgICAgICAgICAgICAgICJjb3VudChodG1sOnRoW3RleHQoKT0kVF0vcHJlY2VkaW5nLXNpYmxpbmc6Omh0bWw6dGgpKzEiOwotc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9nZXRtaWJlbnVtW10gPSAibnVtYmVyKGh0bWw6dGRbJE1dKSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldHByZWZuYW1lW10gPSAic3RyaW5nKGh0bWw6dGRbJFBdKSI7Ci1zdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldG5hbWVbXSA9ICJzdHJpbmcoaHRtbDp0ZFskTl0pIjsKLXN0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0YWxpYXNlc1tdID0gImh0bWw6dGRbJEFdL3RleHQoKSI7Ci0jZW5kaWYKLQotI3ByYWdtYSBjb252ZXJ0KDApCi0KLQotLyoqCi0qKiogICAgIFVURi04IGNoYXJhY3RlciBsZW5ndGggdGFibGUuCi0qKioKLSoqKiAgICAgSW5kZXggaXMgZmlyc3QgY2hhcmFjdGVyIGJ5dGUsIHZhbHVlIGlzIHRoZSBjaGFyYWN0ZXIgYnl0ZSBjb3VudC4KLSoqLwotCi1zdGF0aWMgc2lnbmVkIGNoYXIgICAgICB1dGY4X2NobGVuW10gPSB7Ci0vKiAwMC0wNyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogMDgtMEYgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKLS8qIDEwLTE3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCi0vKiAxOC0xRiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogMjAtMjcgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKLS8qIDI4LTJGICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCi0vKiAzMC0zNyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogMzgtM0YgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKLS8qIDQwLTQ3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCi0vKiA0OC00RiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogNTAtNTcgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKLS8qIDU4LTVGICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCi0vKiA2MC02NyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogNjgtNkYgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKLS8qIDcwLTc3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCi0vKiA3OC03RiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAotLyogODAtODcgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCi0vKiA4OC04RiAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKLS8qIDkwLTk3ICovICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLAotLyogOTgtOUYgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCi0vKiBBMC1BNyAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKLS8qIEE4LUFGICovICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLAotLyogQjAtQjcgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCi0vKiBCOC1CRiAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKLS8qIEMwLUM3ICovICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsCi0vKiBDOC1DRiAqLyAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLAotLyogRDAtRDcgKi8gICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwKLS8qIEQ4LURGICovICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsCi0vKiBFMC1FNyAqLyAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLAotLyogRTgtRUYgKi8gICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywKLS8qIEYwLUY3ICovICAgICA0LCAgICAgIDQsICAgICAgNCwgICAgICA0LCAgICAgIDQsICAgICAgNCwgICAgICA0LCAgICAgIDQsCi0vKiBGOC1GRiAqLyAgICAgNSwgICAgICA1LCAgICAgIDUsICAgICAgNSwgICAgICA2LCAgICAgIDYsICAgICAgLTEsICAgICAtMQotfTsKLQotCi0KLXZvaWQKLWNoa251bGwodm9pZCAqIHApCi0KLXsKLSAgICAgICAgaWYgKHApCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiTm90IGVub3VnaCBtZW1vcnlcbiIpOwotICAgICAgICBleGl0KDEpOwotfQotCi0KLXZvaWQKLW1ha2Vjb2RlKGNoYXIgKiBidWYsIHVuc2lnbmVkIGludCBjY3NpZCkKLQotewotICAgICAgICBjY3NpZCAmPSAweEZGRkY7Ci0gICAgICAgIG1lbXNldChidWYsIDAsIDMyKTsKLSAgICAgICAgc3ByaW50ZihidWYsICJJQk1DQ1NJRCUwNXUwMDAwMDAwIiwgY2NzaWQpOwotfQotCi0KLWljb252X3QKLWljb252X29wZW5fY2NzaWQodW5zaWduZWQgaW50IGNjc2lkb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2NzaWRpbiwgdW5zaWduZWQgaW50IG51bGxmbGFnKQotCi17Ci0gICAgICAgIGNoYXIgZnJvbWNvZGVbMzNdOwotICAgICAgICBjaGFyIHRvY29kZVszM107Ci0KLSAgICAgICAgbWFrZWNvZGUoZnJvbWNvZGUsIGNjc2lkaW4pOwotICAgICAgICBtYWtlY29kZSh0b2NvZGUsIGNjc2lkb3V0KTsKLSAgICAgICAgbWVtc2V0KHRvY29kZSArIDEzLCAwLCBzaXplb2YgdG9jb2RlIC0gMTMpOwotCi0gICAgICAgIGlmIChudWxsZmxhZykKLSAgICAgICAgICAgICAgICBmcm9tY29kZVsxOF0gPSAnMSc7Ci0KLSAgICAgICAgcmV0dXJuIGljb252X29wZW4odG9jb2RlLCBmcm9tY29kZSk7Ci19Ci0KLQotdW5zaWduZWQgaW50Ci1nZXRudW0oY2hhciAqICogY3BwKQotCi17Ci0gICAgICAgIHVuc2lnbmVkIGludCBuOwotICAgICAgICBjaGFyICogY3A7Ci0KLSAgICAgICAgY3AgPSAqY3BwOwotICAgICAgICBuID0gMDsKLQotICAgICAgICB3aGlsZSAoaXNkaWdpdCgqY3ApKQotICAgICAgICAgICAgICAgIG4gPSAxMCAqIG4gKyAqY3ArKyAtICcwJzsKLQotICAgICAgICAqY3BwID0gY3A7Ci0gICAgICAgIHJldHVybiBuOwotfQotCi0KLWNvbnN0IHV0ZjhjaGFyICoKLWhhc2hCaW5hcnlLZXkoY29uc3QgYnl0ZSAqIGJ5dGVzLCB1bnNpZ25lZCBpbnQgbGVuKQotCi17Ci0gICAgICAgIGNvbnN0IGJ5dGUgKiBicDsKLSAgICAgICAgdXRmOGNoYXIgKiBrZXk7Ci0gICAgICAgIHV0ZjhjaGFyICogY3A7Ci0gICAgICAgIHVuc2lnbmVkIGludCBuOwotICAgICAgICB1bnNpZ25lZCBpbnQgbjQ7Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEVuY29kZSBiaW5hcnkgZGF0YSBpbiBjaGFyYWN0ZXIgZm9ybSB0byBiZSB1c2VkIGFzIGhhc2gKLSAgICAgICAgKioqICAgICAgICAgICAgIHRhYmxlIGtleS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgbiA9ICg0ICogbGVuICsgMikgLyAzOwotICAgICAgICBrZXkgPSAodXRmOGNoYXIgKikgbWFsbG9jKG4gKyAxKTsKLSAgICAgICAgY2hrbnVsbChrZXkpOwotICAgICAgICBicCA9IGJ5dGVzOwotICAgICAgICBjcCA9IGtleTsKLQotICAgICAgICBmb3IgKG40ID0gbiA+PiAyOyBuNDsgbjQtLSkgewotICAgICAgICAgICAgICAgIGkgPSAoYnBbMF0gPDwgMTYpIHwgKGJwWzFdIDw8IDgpIHwgYnBbMl07Ci0gICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpID4+IDE4KSAmIDB4M0YpOwotICAgICAgICAgICAgICAgICpjcCsrID0gMHgyMSArICgoaSA+PiAxMikgJiAweDNGKTsKLSAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKGkgPj4gNikgJiAweDNGKTsKLSAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoaSAmIDB4M0YpOwotICAgICAgICAgICAgICAgIGJwICs9IDM7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHN3aXRjaCAobiAmIDB4MykgewotCi0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKCpicCA+PiAyKSAmIDB4M0YpOwotICAgICAgICAgICAgICAgICpjcCsrID0gMHgyMSArICgoKmJwIDw8IDQpICYgMHgzRik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgICAgIGkgPSAoYnBbMF0gPDwgOCkgfCBicFsxXTsKLSAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKGkgPj4gMTApICYgMHgzRik7Ci0gICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpID4+IDQpICYgMHgzRik7Ci0gICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpIDw8IDIpICYgMHgzRik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICpjcCA9ICdcMCc7Ci0gICAgICAgIHJldHVybiBrZXk7Ci19Ci0KLQotdm9pZCAqCi1oYXNoX2dldCh4bWxIYXNoVGFibGVQdHIgaCwgY29uc3Qgdm9pZCAqIGJpbmtleSwgdW5zaWduZWQgaW50IGxlbikKLQotewotICAgICAgICBjb25zdCB1dGY4Y2hhciAqIGtleTsKLSAgICAgICAgdm9pZCAqIHJlc3VsdDsKLQotICAgICAgICBrZXkgPSBoYXNoQmluYXJ5S2V5KChjb25zdCBieXRlICopIGJpbmtleSwgbGVuKTsKLSAgICAgICAgcmVzdWx0ID0geG1sSGFzaExvb2t1cChoLCBrZXkpOwotICAgICAgICBmcmVlKChjaGFyICopIGtleSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQotaW50Ci1oYXNoX2FkZCh4bWxIYXNoVGFibGVQdHIgaCwgY29uc3Qgdm9pZCAqIGJpbmtleSwgdW5zaWduZWQgaW50IGxlbiwgdm9pZCAqIGRhdGEpCi0KLXsKLSAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBrZXk7Ci0gICAgICAgIGludCByZXN1bHQ7Ci0KLSAgICAgICAga2V5ID0gaGFzaEJpbmFyeUtleSgoY29uc3QgYnl0ZSAqKSBiaW5rZXksIGxlbik7Ci0gICAgICAgIHJlc3VsdCA9IHhtbEhhc2hBZGRFbnRyeShoLCBrZXksIGRhdGEpOwotICAgICAgICBmcmVlKChjaGFyICopIGtleSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLQoteG1sRG9jUHRyCi1sb2FkWE1MRmlsZShjb25zdCBjaGFyICogZmlsZW5hbWUpCi0KLXsKLSAgICAgICAgc3RydWN0IHN0YXQgc2J1ZjsKLSAgICAgICAgYnl0ZSAqIGRhdGFidWY7Ci0gICAgICAgIGludCBmZDsKLSAgICAgICAgaW50IGk7Ci0gICAgICAgIHhtbERvY1B0ciBkb2M7Ci0KLSAgICAgICAgaWYgKHN0YXQoZmlsZW5hbWUsICZzYnVmKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKLQotICAgICAgICBkYXRhYnVmID0gbWFsbG9jKHNidWYuc3Rfc2l6ZSArIDQpOwotCi0gICAgICAgIGlmICghZGF0YWJ1ZikKLSAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKLQotICAgICAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZCi0jaWZkZWYgT19CSU5BUlkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBPX0JJTkFSWQotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0KLSAgICAgICAgaWYgKGZkIDwgMCkgewotICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgZGF0YWJ1Zik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh4bWxEb2NQdHIpIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGkgPSByZWFkKGZkLCAoY2hhciAqKSBkYXRhYnVmLCBzYnVmLnN0X3NpemUpOwotICAgICAgICBjbG9zZShmZCk7Ci0KLSAgICAgICAgaWYgKGkgIT0gc2J1Zi5zdF9zaXplKSB7Ci0gICAgICAgICAgICAgICAgZnJlZSgoY2hhciAqKSBkYXRhYnVmKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgZGF0YWJ1ZltpXSA9IGRhdGFidWZbaSArIDFdID0gZGF0YWJ1ZltpICsgMl0gPSBkYXRhYnVmW2kgKyAzXSA9IDA7Ci0gICAgICAgIGRvYyA9IHhtbFBhcnNlTWVtb3J5KCh4bWxDaGFyICopIGRhdGFidWYsIGkpOwotICAgICAgICBmcmVlKChjaGFyICopIGRhdGFidWYpOwotICAgICAgICByZXR1cm4gZG9jOwotfQotCi0KLWludAotbWF0Y2goY2hhciAqICogY3BwLCBjaGFyICogcykKLQotewotICAgICAgICBjaGFyICogY3A7Ci0gICAgICAgIGludCBjMTsKLSAgICAgICAgaW50IGMyOwotCi0gICAgICAgIGNwID0gKmNwcDsKLQotICAgICAgICBmb3IgKGNwID0gKmNwcDsgYzIgPSAqcysrOyBjcCsrKSB7Ci0gICAgICAgICAgICAgICAgYzEgPSAqY3A7Ci0KLSAgICAgICAgICAgICAgICBpZiAoYzEgIT0gYzIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc3VwcGVyKGMxKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEgPSB0b2xvd2VyKGMxKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzdXBwZXIoYzIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMiA9IHRvbG93ZXIoYzIpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKGMxICE9IGMyKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGMxID0gKmNwOwotCi0gICAgICAgIHdoaWxlIChjMSA9PSAnICcgfHwgYzEgPT0gJ1x0JykKLSAgICAgICAgICAgICAgICBjMSA9ICorK2NwOwotCi0gICAgICAgICpjcHAgPSBjcDsKLSAgICAgICAgcmV0dXJuIDE7Ci19Ci0KLQotdF9zdGF0ZSAqCi1uZXdzdGF0ZSh2b2lkKQotCi17Ci0gICAgICAgIHRfc3RhdGUgKiBzOwotCi0gICAgICAgIHMgPSAodF9zdGF0ZSAqKSBtYWxsb2Moc2l6ZW9mICpzKTsKLSAgICAgICAgY2hrbnVsbChzKTsKLSAgICAgICAgbWVtc2V0KChjaGFyICopIHMsIDAsIHNpemVvZiAqcyk7Ci0gICAgICAgIHJldHVybiBzOwotfQotCi0KLXZvaWQKLXVubGlua190cmFuc2l0aW9uKHRfdHJhbnNpdGlvbiAqIHQpCi0KLXsKLSAgICAgICAgaWYgKHQtPnRfYmFja25leHQpCi0gICAgICAgICAgICAgICAgdC0+dF9iYWNrbmV4dC0+dF9iYWNrcHJldiA9IHQtPnRfYmFja3ByZXY7Ci0KLSAgICAgICAgaWYgKHQtPnRfYmFja3ByZXYpCi0gICAgICAgICAgICAgICAgdC0+dF9iYWNrcHJldi0+dF9iYWNrbmV4dCA9IHQtPnRfYmFja25leHQ7Ci0gICAgICAgIGVsc2UgaWYgKHQtPnRfdG8pCi0gICAgICAgICAgICAgICAgdC0+dF90by0+c19iYWNrd2FyZCA9IHQtPnRfYmFja25leHQ7Ci0KLSAgICAgICAgaWYgKHQtPnRfZm9yd25leHQpCi0gICAgICAgICAgICAgICAgdC0+dF9mb3J3bmV4dC0+dF9mb3J3cHJldiA9IHQtPnRfZm9yd3ByZXY7Ci0KLSAgICAgICAgaWYgKHQtPnRfZm9yd3ByZXYpCi0gICAgICAgICAgICAgICAgdC0+dF9mb3J3cHJldi0+dF9mb3J3bmV4dCA9IHQtPnRfZm9yd25leHQ7Ci0gICAgICAgIGVsc2UgaWYgKHQtPnRfZnJvbSkKLSAgICAgICAgICAgICAgICB0LT50X2Zyb20tPnNfZm9yd2FyZCA9IHQtPnRfZm9yd25leHQ7Ci0KLSAgICAgICAgdC0+dF9iYWNrcHJldiA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKLSAgICAgICAgdC0+dF9iYWNrbmV4dCA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKLSAgICAgICAgdC0+dF9mb3J3cHJldiA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKLSAgICAgICAgdC0+dF9mb3J3bmV4dCA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKLSAgICAgICAgdC0+dF9mcm9tID0gKHRfc3RhdGUgKikgTlVMTDsKLSAgICAgICAgdC0+dF90byA9ICh0X3N0YXRlICopIE5VTEw7Ci19Ci0KLQotdm9pZAotbGlua190cmFuc2l0aW9uKHRfdHJhbnNpdGlvbiAqIHQsIHRfc3RhdGUgKiBmcm9tLCB0X3N0YXRlICogdG8pCi0KLXsKLSAgICAgICAgaWYgKCFmcm9tKQotICAgICAgICAgICAgICAgIGZyb20gPSB0LT50X2Zyb207Ci0KLSAgICAgICAgaWYgKCF0bykKLSAgICAgICAgICAgICAgICB0byA9IHQtPnRfdG87Ci0KLSAgICAgICAgdW5saW5rX3RyYW5zaXRpb24odCk7Ci0KLSAgICAgICAgaWYgKCh0LT50X2Zyb20gPSBmcm9tKSkgewotICAgICAgICAgICAgICAgIGlmICgodC0+dF9mb3J3bmV4dCA9IGZyb20tPnNfZm9yd2FyZCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0LT50X2ZvcnduZXh0LT50X2ZvcndwcmV2ID0gdDsKLQotICAgICAgICAgICAgICAgIGZyb20tPnNfZm9yd2FyZCA9IHQ7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICgodC0+dF90byA9IHRvKSkgewotICAgICAgICAgICAgICAgIGlmICgodC0+dF9iYWNrbmV4dCA9IHRvLT5zX2JhY2t3YXJkKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHQtPnRfYmFja25leHQtPnRfYmFja3ByZXYgPSB0OwotCi0gICAgICAgICAgICAgICAgdG8tPnNfYmFja3dhcmQgPSB0OwotICAgICAgICAgICAgICAgIH0KLX0KLQotCi10X3RyYW5zaXRpb24gKgotbmV3dHJhbnNpdGlvbih1bnNpZ25lZCBpbnQgdG9rZW4sIHRfc3RhdGUgKiBmcm9tLCB0X3N0YXRlICogdG8pCi0KLXsKLSAgICAgICAgdF90cmFuc2l0aW9uICogdDsKLQotICAgICAgICB0ID0gKHRfdHJhbnNpdGlvbiAqKSBtYWxsb2Moc2l6ZW9mICp0KTsKLSAgICAgICAgY2hrbnVsbCh0KTsKLSAgICAgICAgbWVtc2V0KChjaGFyICopIHQsIDAsIHNpemVvZiAqdCk7Ci0gICAgICAgIHQtPnRfdG9rZW4gPSB0b2tlbjsKLSAgICAgICAgbGlua190cmFuc2l0aW9uKHQsIGZyb20sIHRvKTsKLSAgICAgICAgcmV0dXJuIHQ7Ci19Ci0KLQotdF90cmFuc2l0aW9uICoKLXVuaXF1ZXRyYW5zaXRpb24odW5zaWduZWQgaW50IHRva2VuLCB0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIHRvKQotCi17Ci0gICAgICAgIHRfdHJhbnNpdGlvbiAqIHQ7Ci0KLSAgICAgICAgZm9yICh0ID0gZnJvbS0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkKLSAgICAgICAgICAgICAgICBpZiAodC0+dF90b2tlbiA9PSB0b2tlbiAmJiAodC0+dF90byA9PSB0byB8fCAhdG8pKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQ7Ci0KLSAgICAgICAgcmV0dXJuIHRvPyBuZXd0cmFuc2l0aW9uKHRva2VuLCBmcm9tLCB0byk6ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKLX0KLQotCi1pbnQKLXNldF9wb3NpdGlvbih0X3Bvd2Vyc2V0ICogcywgdm9pZCAqIGUpCi0KLXsKLSAgICAgICAgdW5zaWduZWQgaW50IGw7Ci0gICAgICAgIHVuc2lnbmVkIGludCBoOwotICAgICAgICB1bnNpZ25lZCBpbnQgbTsKLSAgICAgICAgaW50IGk7Ci0KLSAgICAgICAgbCA9IDA7Ci0gICAgICAgIGggPSBzLT5wX2NhcmQ7Ci0KLSAgICAgICAgd2hpbGUgKGwgPCBoKSB7Ci0gICAgICAgICAgICAgICAgbSA9IChsICsgaCkgPj4gMTsKLQotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgSWYgYm90aCBwb2ludGVycyBiZWxvbmcgdG8gZGlmZmVyZW50IGFsbG9jYXRpb24gYXJlbmFzLAotICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICBuYXRpdmUgY29tcGFyaXNvbiBtYXkgZmluZCB0aGVtIG5laXRoZXIKLSAgICAgICAgICAgICAgICAqKiogICAgICAgICAgICAgZXF1YWwsIG5vciBncmVhdGVyLCBub3Igc21hbGxlci4KLSAgICAgICAgICAgICAgICAqKiogICAgIFdlIHRodXMgY29tcGFyZSB1c2luZyBtZW1jbXAoKSB0byBnZXQgYW4gb3J0aG9nb25hbAotICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICByZXN1bHQuCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBpID0gbWVtY21wKCZlLCBzLT5wX3NldCArIG0sIHNpemVvZiBlKTsKLQotICAgICAgICAgICAgICAgIGlmIChpIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGggPSBtOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG07Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbCA9IG0gKyAxOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICByZXR1cm4gbDsKLX0KLQotCi10X3Bvd2Vyc2V0ICoKLXNldF9pbmNsdWRlKHRfcG93ZXJzZXQgKiBzLCB2b2lkICogZSkKLQotewotICAgICAgICB1bnNpZ25lZCBpbnQgcG9zOwotICAgICAgICB1bnNpZ25lZCBpbnQgbjsKLQotICAgICAgICBpZiAoIXMpIHsKLSAgICAgICAgICAgICAgICBzID0gKHRfcG93ZXJzZXQgKikgbWFsbG9jKHNpemVvZiAqcyArCi0gICAgICAgICAgICAgICAgICAgIEdSQU5VTEUgKiBzaXplb2Ygcy0+cF9zZXQpOwotICAgICAgICAgICAgICAgIGNoa251bGwocyk7Ci0gICAgICAgICAgICAgICAgcy0+cF9zaXplID0gR1JBTlVMRTsKLSAgICAgICAgICAgICAgICBzLT5wX3NldFtHUkFOVUxFXSA9ICh0X3N0YXRlICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgcy0+cF9zZXRbMF0gPSBlOwotICAgICAgICAgICAgICAgIHMtPnBfY2FyZCA9IDE7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHM7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHBvcyA9IHNldF9wb3NpdGlvbihzLCBlKTsKLQotICAgICAgICBpZiAocG9zIDwgcy0+cF9jYXJkICYmIHMtPnBfc2V0W3Bvc10gPT0gZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gczsKLQotICAgICAgICBpZiAocy0+cF9jYXJkID49IHMtPnBfc2l6ZSkgewotICAgICAgICAgICAgICAgIHMtPnBfc2l6ZSArPSBHUkFOVUxFOwotICAgICAgICAgICAgICAgIHMgPSAodF9wb3dlcnNldCAqKSByZWFsbG9jKHMsCi0gICAgICAgICAgICAgICAgICAgIHNpemVvZiAqcyArIHMtPnBfc2l6ZSAqIHNpemVvZiBzLT5wX3NldCk7Ci0gICAgICAgICAgICAgICAgY2hrbnVsbChzKTsKLSAgICAgICAgICAgICAgICBzLT5wX3NldFtzLT5wX3NpemVdID0gKHRfc3RhdGUgKikgTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgbiA9IHMtPnBfY2FyZCAtIHBvczsKLQotICAgICAgICBpZiAobikKLSAgICAgICAgICAgICAgICBtZW1tb3ZlKChjaGFyICopIChzLT5wX3NldCArIHBvcyArIDEpLAotICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAocy0+cF9zZXQgKyBwb3MpLCBuICogc2l6ZW9mIHMtPnBfc2V0WzBdKTsKLQotICAgICAgICBzLT5wX3NldFtwb3NdID0gZTsKLSAgICAgICAgcy0+cF9jYXJkKys7Ci0gICAgICAgIHJldHVybiBzOwotfQotCi0KLXRfc3RhdGUgKgotbmZhdHJhbnNpdGlvbih0X3N0YXRlICogdG8sIGJ5dGUgdG9rZW4pCi0KLXsKLSAgICAgICAgdF9zdGF0ZSAqIGZyb207Ci0KLSAgICAgICAgZnJvbSA9IG5ld3N0YXRlKCk7Ci0gICAgICAgIG5ld3RyYW5zaXRpb24odG9rZW4sIGZyb20sIHRvKTsKLSAgICAgICAgcmV0dXJuIGZyb207Ci19Ci0KLQotc3RhdGljIHRfc3RhdGUgKiAgICAgICAgbmZhZGV2ZWxvcCh0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIGZpbmFsLCBpY29udl90IGljYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBuYW1lLCB1bnNpZ25lZCBpbnQgbGVuKTsKLQotCi12b2lkCi1uZmFzbGljZSh0X3N0YXRlICogKiBmcm9tLCB0X3N0YXRlICogKiB0bywgaWNvbnZfdCBpY2MsCi0gICAgICAgICAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBjaHIsIHVuc2lnbmVkIGludCBjaGxlbiwKLSAgICAgICAgICAgICAgICBjb25zdCB1dGY4Y2hhciAqIG5hbWUsIHVuc2lnbmVkIGludCBsZW4sIHRfc3RhdGUgKiBmaW5hbCkKLQotewotICAgICAgICBjaGFyICogc3JjcDsKLSAgICAgICAgY2hhciAqIGRzdHA7Ci0gICAgICAgIHNpemVfdCBzcmNjOwotICAgICAgICBzaXplX3QgZHN0YzsKLSAgICAgICAgdW5zaWduZWQgaW50IGNudDsKLSAgICAgICAgdF9zdGF0ZSAqIGY7Ci0gICAgICAgIHRfc3RhdGUgKiB0OwotICAgICAgICB0X3RyYW5zaXRpb24gKiB0cDsKLSAgICAgICAgYnl0ZSBieXRlYnVmWzhdOwotCi0gICAgICAgIHNyY3AgPSAoY2hhciAqKSBjaHI7Ci0gICAgICAgIHNyY2MgPSBjaGxlbjsKLSAgICAgICAgZHN0cCA9IChjaGFyICopIGJ5dGVidWY7Ci0gICAgICAgIGRzdGMgPSBzaXplb2YgYnl0ZWJ1ZjsKLSAgICAgICAgaWNvbnYoaWNjLCAmc3JjcCwgJnNyY2MsICZkc3RwLCAmZHN0Yyk7Ci0gICAgICAgIGRzdHAgPSAoY2hhciAqKSBieXRlYnVmOwotICAgICAgICBjbnQgPSBzaXplb2YgYnl0ZWJ1ZiAtIGRzdGM7Ci0gICAgICAgIHQgPSAqdG87Ci0gICAgICAgIGYgPSAqZnJvbTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBDaGVjayBmb3IgZW5kIG9mIHN0cmluZy4KLSAgICAgICAgKiovCi0KLSAgICAgICAgaWYgKCFsZW4pCi0gICAgICAgICAgICAgICAgaWYgKHQgJiYgdCAhPSBmaW5hbCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZXRyYW5zaXRpb24oRVBTSUxPTiwgdCwgZmluYWwpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBmaW5hbDsKLQotICAgICAgICBpZiAoZikKLSAgICAgICAgICAgICAgICB3aGlsZSAoY250KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHVuaXF1ZXRyYW5zaXRpb24oKmRzdHAsIGYsICh0X3N0YXRlICopIE5VTEwpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgICAgICAgICAgZiA9IHRwLT50X3RvOwotICAgICAgICAgICAgICAgICAgICAgICAgZHN0cCsrOwotICAgICAgICAgICAgICAgICAgICAgICAgY250LS07Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFjbnQpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXQpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ID0gbmZhZGV2ZWxvcChmLCBmaW5hbCwgaWNjLCBuYW1lLCBsZW4pOwotCi0gICAgICAgICAgICAgICAgKnRvID0gdDsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICghdCkgewotICAgICAgICAgICAgICAgIHQgPSBuZmFkZXZlbG9wKCh0X3N0YXRlICopIE5VTEwsIGZpbmFsLCBpY2MsIG5hbWUsIGxlbik7Ci0gICAgICAgICAgICAgICAgKnRvID0gdDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFmKQotICAgICAgICAgICAgICAgICpmcm9tID0gZiA9IG5ld3N0YXRlKCk7Ci0KLSAgICAgICAgd2hpbGUgKGNudCA+IDEpCi0gICAgICAgICAgICAgICAgdCA9IG5mYXRyYW5zaXRpb24odCwgZHN0cFstLWNudF0pOwotCi0gICAgICAgIG5ld3RyYW5zaXRpb24oKmRzdHAsIGYsIHQpOwotfQotCi0KLXRfc3RhdGUgKgotbmZhZGV2ZWxvcCh0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIGZpbmFsLCBpY29udl90IGljYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1dGY4Y2hhciAqIG5hbWUsIHVuc2lnbmVkIGludCBsZW4pCi0KLXsKLSAgICAgICAgaW50IGNobGVuOwotICAgICAgICBpbnQgaTsKLSAgICAgICAgdF9zdGF0ZSAqIHRvOwotICAgICAgICBpbnQgdWNjbnQ7Ci0gICAgICAgIGludCBsY2NudDsKLSAgICAgICAgdXRmOGNoYXIgY2hyOwotCi0gICAgICAgIGNobGVuID0gdXRmOF9jaGxlblsqbmFtZV07Ci0KLSAgICAgICAgZm9yIChpID0gMTsgaSA8IGNobGVuOyBpKyspCi0gICAgICAgICAgICAgICAgaWYgKChuYW1lW2ldICYgMHhDMCkgIT0gMHg4MCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGlmIChpICE9IGNobGVuKSB7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIFVURjggY2hhcmFjdGVyIGluIGNoYXJhY3RlciBzZXQgbmFtZVxuIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICh0X3N0YXRlICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHRvID0gKHRfc3RhdGUgKikgTlVMTDsKLSAgICAgICAgbmZhc2xpY2UoJmZyb20sICZ0bywKLSAgICAgICAgICAgIGljYywgbmFtZSwgY2hsZW4sIG5hbWUgKyBjaGxlbiwgbGVuIC0gY2hsZW4sIGZpbmFsKTsKLQotICAgICAgICBpZiAoKm5hbWUgPj0gVVRGOF9hICYmICpuYW1lIDw9IFVURjhfeikKLSAgICAgICAgICAgICAgICBjaHIgPSAqbmFtZSAtIFVURjhfYSArIFVURjhfQTsKLSAgICAgICAgZWxzZSBpZiAoKm5hbWUgPj0gVVRGOF9BICYmICpuYW1lIDw9IFVURjhfWikKLSAgICAgICAgICAgICAgICBjaHIgPSAqbmFtZSAtIFVURjhfQSArIFVURjhfYTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBmcm9tOwotCi0gICAgICAgIG5mYXNsaWNlKCZmcm9tLCAmdG8sIGljYywgJmNociwgMSwgbmFtZSArIGNobGVuLCBsZW4gLSBjaGxlbiwgZmluYWwpOwotICAgICAgICByZXR1cm4gZnJvbTsKLX0KLQotCi0KLXZvaWQKLW5mYWVudGVyKGNvbnN0IHV0ZjhjaGFyICogbmFtZSwgaW50IGxlbiwgdF9jaHNldCAqIGNoYXJzZXQpCi0KLXsKLSAgICAgICAgdF9jaHNldCAqIHM7Ci0gICAgICAgIHRfc3RhdGUgKiBmaW5hbDsKLSAgICAgICAgdF9zdGF0ZSAqIHNwOwotICAgICAgICB0X3N5bWxpc3QgKiBscDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBFbnRlciBjYXNlLWluc2Vuc2l0aXZlIGBuYW1lJyBpbiBORkEgaW4gYWxsIGtub3duCi0gICAgICAgICoqKiAgICAgICAgICAgICBjaGFyYWN0ZXIgY29kZXMuCi0gICAgICAgICoqKiAgICAgUmVkdW5kYW50IHNoaWZ0IHN0YXRlIGNoYW5nZXMgYXMgd2VsbCBhcyBzaGlmdCBzdGF0ZQotICAgICAgICAqKiogICAgICAgICAgICAgZGlmZmVyZW5jZXMgYmV0d2VlbiB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBhcmUKLSAgICAgICAgKioqICAgICAgICAgICAgIG5vdCBoYW5kbGVkLgotICAgICAgICAqKi8KLQotICAgICAgICBpZiAobGVuIDwgMCkKLSAgICAgICAgICAgICAgICBsZW4gPSBzdHJsZW4obmFtZSkgKyAxOwotCi0gICAgICAgIGZvciAobHAgPSBjaGFyc2V0LT5jX25hbWVzOyBscDsgbHAgPSBscC0+bF9uZXh0KQotICAgICAgICAgICAgICAgIGlmICghbWVtY21wKG5hbWUsIGxwLT5sX3N5bWJvbCwgbGVuKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgICAvKiBBbHJlYWR5IGVudGVyZWQuICovCi0KLSAgICAgICAgbHAgPSAodF9zeW1saXN0ICopIG1hbGxvYyhzaXplb2YgKmxwICsgbGVuKTsKLSAgICAgICAgY2hrbnVsbChscCk7Ci0gICAgICAgIG1lbWNweShscC0+bF9zeW1ib2wsIG5hbWUsIGxlbik7Ci0gICAgICAgIGxwLT5sX3N5bWJvbFtsZW5dID0gJ1wwJzsKLSAgICAgICAgbHAtPmxfbmV4dCA9IGNoYXJzZXQtPmNfbmFtZXM7Ci0gICAgICAgIGNoYXJzZXQtPmNfbmFtZXMgPSBscDsKLSAgICAgICAgZmluYWwgPSBuZXdzdGF0ZSgpOwotICAgICAgICBmaW5hbC0+c19maW5hbCA9IGNoYXJzZXQ7Ci0KLSAgICAgICAgZm9yIChzID0gY2hzZXRfbGlzdDsgczsgcyA9IHMtPmNfbmV4dCkKLSAgICAgICAgICAgICAgICBpZiAoIWljb252X29wZW5fZXJyb3Iocy0+Y19mcm9tVVRGOCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBzcCA9IG5mYWRldmVsb3AoaW5pdGlhbF9zdGF0ZSwgZmluYWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+Y19mcm9tVVRGOCwgbmFtZSwgbGVuKTsKLX0KLQotCi11bnNpZ25lZCBpbnQKLXV0ZjhfdXRvc3RyKHV0ZjhjaGFyICogcywgdW5zaWduZWQgaW50IHYpCi0KLXsKLSAgICAgICAgdW5zaWduZWQgaW50IGQ7Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOwotCi0gICAgICAgIGQgPSB2IC8gMTA7Ci0gICAgICAgIHYgLT0gZCAqIDEwOwotICAgICAgICBpID0gZD8gdXRmOF91dG9zdHIocywgZCk6IDA7Ci0gICAgICAgIHNbaSsrXSA9IHYgKyBVVEY4XzA7Ci0gICAgICAgIHNbaV0gPSAnXDAnOwotICAgICAgICByZXR1cm4gaTsKLX0KLQotCi11bnNpZ25lZCBpbnQKLXV0ZjhfdXRvc3RycGFkKHV0ZjhjaGFyICogcywgdW5zaWduZWQgaW50IHYsIGludCBkaWdpdHMpCi0KLXsKLSAgICAgICAgdW5zaWduZWQgaW50IGkgPSB1dGY4X3V0b3N0cihzLCB2KTsKLSAgICAgICAgdXRmOGNoYXIgcGFkID0gVVRGOF9TUEFDRTsKLQotICAgICAgICBpZiAoZGlnaXRzIDwgMCkgewotICAgICAgICAgICAgICAgIHBhZCA9IFVURjhfMDsKLSAgICAgICAgICAgICAgICBkaWdpdHMgPSAtZGlnaXRzOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoaSA+PSBkaWdpdHMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGk7Ci0KLSAgICAgICAgbWVtbW92ZShzICsgZGlnaXRzIC0gaSwgcywgaSArIDEpOwotICAgICAgICBtZW1zZXQocywgcGFkLCBkaWdpdHMgLSBpKTsKLSAgICAgICAgcmV0dXJuIGRpZ2l0czsKLX0KLQotCi11bnNpZ25lZCBpbnQKLXV0Zjhfc3RydG91KGNvbnN0IHV0ZjhjaGFyICogcykKLQotewotICAgICAgICB1bnNpZ25lZCBpbnQgdjsKLQotICAgICAgICB3aGlsZSAoKnMgPT0gVVRGOF9TUEFDRSB8fCAqcyA9PSBVVEY4X0hUKQotICAgICAgICAgICAgICAgIHMrKzsKLQotICAgICAgICBmb3IgKHYgPSAwOyAqcyA+PSBVVEY4XzAgJiYgKnMgPD0gVVRGOF85OykKLSAgICAgICAgICAgICAgICB2ID0gMTAgKiB2ICsgKnMrKyAtIFVURjhfMDsKLQotICAgICAgICByZXR1cm4gdjsKLX0KLQotCi11bnNpZ25lZCBpbnQKLWdldE51bUF0dHIoeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyICogbmFtZSkKLQotewotICAgICAgICBjb25zdCB4bWxDaGFyICogczsKLSAgICAgICAgdW5zaWduZWQgaW50IHZhbDsKLQotICAgICAgICBzID0geG1sR2V0UHJvcChub2RlLCBuYW1lKTsKLQotICAgICAgICBpZiAoIXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgdmFsID0gdXRmOF9zdHJ0b3Uocyk7Ci0gICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgcyk7Ci0gICAgICAgIHJldHVybiB2YWw7Ci19Ci0KLQotdm9pZAotcmVhZF9hc3NvY3MoY29uc3QgY2hhciAqIGZpbGVuYW1lKQotCi17Ci0gICAgICAgIHhtbERvY1B0ciBkb2M7Ci0gICAgICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OwotICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7Ci0gICAgICAgIHhtbE5vZGVQdHIgbm9kZTsKLSAgICAgICAgdF9jaHNldCAqIHNwOwotICAgICAgICBpbnQgaTsKLSAgICAgICAgdW5zaWduZWQgaW50IGNjc2lkOwotICAgICAgICB1bnNpZ25lZCBpbnQgbWliZW51bTsKLSAgICAgICAgdXRmOGNoYXIgc3ltYnVmWzMyXTsKLQotICAgICAgICBkb2MgPSBsb2FkWE1MRmlsZShmaWxlbmFtZSk7Ci0KLSAgICAgICAgaWYgKCFkb2MpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBsb2FkIGZpbGUgJXNcbiIsIGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICBleGl0KDEpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBjdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvYyk7Ci0gICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2Fzc29jbm9kZXMsIGN0eHQpOwotCi0gICAgICAgIGlmICghb2JqIHx8IG9iai0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUIHx8ICFvYmotPm5vZGVzZXR2YWwgfHwKLSAgICAgICAgICAgICFvYmotPm5vZGVzZXR2YWwtPm5vZGVUYWIgfHwgIW9iai0+bm9kZXNldHZhbC0+bm9kZU5yKSB7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJObyBhc3NvY2lhdGlvbiBmb3VuZCBpbiAlc1xuIiwgZmlsZW5hbWUpOwotICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmotPm5vZGVzZXR2YWwtPm5vZGVOcjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKLSAgICAgICAgICAgICAgICBjY3NpZCA9IGdldE51bUF0dHIobm9kZSwgdXRmOF9jY3NpZCk7Ci0gICAgICAgICAgICAgICAgbWliZW51bSA9IGdldE51bUF0dHIobm9kZSwgdXRmOF9taWJlbnVtKTsKLQotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgQ2hlY2sgZm9yIGR1cGxpY2F0ZS4KLSAgICAgICAgICAgICAgICAqKi8KLQotICAgICAgICAgICAgICAgIGZvciAoc3AgPSBjaHNldF9saXN0OyBzcDsgc3AgPSBzcC0+Y19uZXh0KQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNjc2lkICYmIGNjc2lkID09IHNwLT5jX2Njc2lkIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWliZW51bSAmJiBtaWJlbnVtID09IHNwLT5jX21pYmVudW0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJEdXBsaWNhdGUgY2hhcmFjdGVyIHNldDogIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ0NTSUQgPSAldS8ldSwgIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjc2lkLCBzcC0+Y19jY3NpZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTUlCZW51bSA9ICV1LyV1XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWliZW51bSwgc3AtPmNfbWliZW51bSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoc3ApCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgQWxsb2NhdGUgdGhlIG5ldyBjaGFyYWN0ZXIgc2V0LgotICAgICAgICAgICAgICAgICoqLwotCi0gICAgICAgICAgICAgICAgc3AgPSAodF9jaHNldCAqKSBtYWxsb2Moc2l6ZW9mICpzcCk7Ci0gICAgICAgICAgICAgICAgY2hrbnVsbChzcCk7Ci0gICAgICAgICAgICAgICAgbWVtc2V0KHNwLCAwLCBzaXplb2YgKnNwKTsKLQotICAgICAgICAgICAgICAgIGlmICghY2NzaWQpICAgICAvKiBEbyBub3QgYXR0ZW1wdCB3aXRoIGN1cnJlbnQgam9iIENDU0lELiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0X2ljb252X29wZW5fZXJyb3Ioc3AtPmNfZnJvbVVURjgpOwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgc3AtPmNfZnJvbVVURjggPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb252X29wZW5fY2NzaWQoY2NzaWQsIENfVVRGOF9DQ1NJRCwgMCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpY29udl9vcGVuX2Vycm9yKHNwLT5jX2Zyb21VVEY4KSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IGNvbnZlcnQgaW50byBDQ1NJRCAldTogaWdub3JlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjc2lkKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHNwLT5jX2Njc2lkID0gY2NzaWQ7Ci0gICAgICAgICAgICAgICAgc3AtPmNfbWliZW51bSA9IG1pYmVudW07Ci0gICAgICAgICAgICAgICAgc3AtPmNfbmV4dCA9IGNoc2V0X2xpc3Q7Ci0gICAgICAgICAgICAgICAgY2hzZXRfbGlzdCA9IHNwOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBFbnRlciBhbGlhc2VzLgotICAgICAgICAqKi8KLQotICAgICAgICBmb3IgKHNwID0gY2hzZXRfbGlzdDsgc3A7IHNwID0gc3AtPmNfbmV4dCkgewotICAgICAgICAgICAgICAgIHN0cmNweShzeW1idWYsIHV0ZjhfaWJtXyk7Ci0gICAgICAgICAgICAgICAgdXRmOF91dG9zdHIoc3ltYnVmICsgNCwgc3AtPmNfY2NzaWQpOwotICAgICAgICAgICAgICAgIG5mYWVudGVyKHN5bWJ1ZiwgLTEsIHNwKTsKLSAgICAgICAgICAgICAgICBzdHJjcHkoc3ltYnVmLCB1dGY4X0lCTUNDU0lEKTsKLSAgICAgICAgICAgICAgICB1dGY4X3V0b3N0cnBhZChzeW1idWYgKyA4LCBzcC0+Y19jY3NpZCwgLTUpOwotICAgICAgICAgICAgICAgIG5mYWVudGVyKHN5bWJ1ZiwgMTMsIHNwKTsgICAgICAgLyogTm90IG51bGwtdGVybWluYXRlZC4gKi8KLQotICAgICAgICAgICAgICAgIGlmIChzcC0+Y19taWJlbnVtKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoc3ltYnVmLCB1dGY4X2lhbmFfKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHV0ZjhfdXRvc3RyKHN5bWJ1ZiArIDUsIHNwLT5jX21pYmVudW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIoc3ltYnVmLCAtMSwgc3ApOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfQywKLSAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhOZXdGbG9hdCgoZG91YmxlKSBzcC0+Y19jY3NpZCkpOwotICAgICAgICAgICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2FsaWFzdGV4dCwgY3R4dCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoIW9iaiB8fCBvYmotPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgewotICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJnZXRBbGlhcyBmYWlsZWQgaW4gJXNcbiIsIGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAob2JqLT5ub2Rlc2V0dmFsICYmCi0gICAgICAgICAgICAgICAgICAgIG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYiAmJiBvYmotPm5vZGVzZXR2YWwtPm5vZGVOcikgewotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9iai0+bm9kZXNldHZhbC0+bm9kZU5yOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIobm9kZS0+Y29udGVudCwgLTEsIHNwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4dCk7Ci0gICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKLX0KLQotCi11bnNpZ25lZCBpbnQKLWNvbHVtblBvc2l0aW9uKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogaGVhZGVyKQotCi17Ci0gICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajsKLSAgICAgICAgdW5zaWduZWQgaW50IHJlcyA9IDA7Ci0KLSAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfVCwgeG1sWFBhdGhOZXdTdHJpbmcoaGVhZGVyKSk7Ci0gICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2hlYWRlcnBvcywgY3R4dCk7Ci0KLSAgICAgICAgaWYgKG9iaikgewotICAgICAgICAgICAgICAgIGlmIChvYmotPnR5cGUgPT0gWFBBVEhfTlVNQkVSKQotICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gKHVuc2lnbmVkIGludCkgb2JqLT5mbG9hdHZhbDsKLQotICAgICAgICAgICAgICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcmVzOwotfQotCi0KLXZvaWQKLXJlYWRfaWFuYShjb25zdCBjaGFyICogZmlsZW5hbWUpCi0KLXsKLSAgICAgICAgeG1sRG9jUHRyIGRvYzsKLSAgICAgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7Ci0gICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajE7Ci0gICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajI7Ci0gICAgICAgIHhtbE5vZGVQdHIgbm9kZTsKLSAgICAgICAgaW50IHByZWZuYW1lY29sOwotICAgICAgICBpbnQgbmFtZWNvbDsKLSAgICAgICAgaW50IG1pYmVudW1jb2w7Ci0gICAgICAgIGludCBhbGlhc2NvbDsKLSAgICAgICAgaW50IG1pYmVudW07Ci0gICAgICAgIHRfY2hzZXQgKiBzcDsKLSAgICAgICAgaW50IG47Ci0gICAgICAgIGludCBpOwotCi0gICAgICAgIGRvYyA9IGxvYWRYTUxGaWxlKGZpbGVuYW1lKTsKLQotICAgICAgICBpZiAoIWRvYykgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2Fubm90IGxvYWQgZmlsZSAlc1xuIiwgZmlsZW5hbWUpOwotICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGN0eHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKLQotI2lmbmRlZiBPTERYTUwKLSAgICAgICAgeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHQsIHV0ZjhfaHRtbCwgdXRmOF9odG1sdXJpKTsKLSNlbmRpZgotCi0gICAgICAgIG9iajEgPSB4bWxYUGF0aEV2YWwodXRmOF90YWJsZXJvd3MsIGN0eHQpOwotCi0gICAgICAgIGlmICghb2JqMSB8fCBvYmoxLT50eXBlICE9IFhQQVRIX05PREVTRVQgfHwgIW9iajEtPm5vZGVzZXR2YWwgfHwKLSAgICAgICAgICAgICFvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlVGFiIHx8IG9iajEtPm5vZGVzZXR2YWwtPm5vZGVOciA8PSAxKSB7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJObyBkYXRhIGluICVzXG4iLCBmaWxlbmFtZSk7Ci0gICAgICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgSWRlbnRpZnkgY29sdW1ucy4KLSAgICAgICAgKiovCi0KLSAgICAgICAgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZShvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdLCBjdHh0KTsKLSAgICAgICAgcHJlZm5hbWVjb2wgPSBjb2x1bW5Qb3NpdGlvbihjdHh0LCB1dGY4X1ByZWZfTUlNRV9OYW1lKTsKLSAgICAgICAgbmFtZWNvbCA9IGNvbHVtblBvc2l0aW9uKGN0eHQsIHV0ZjhfTmFtZSk7Ci0gICAgICAgIG1pYmVudW1jb2wgPSBjb2x1bW5Qb3NpdGlvbihjdHh0LCB1dGY4X01JQmVudW0pOwotICAgICAgICBhbGlhc2NvbCA9IGNvbHVtblBvc2l0aW9uKGN0eHQsIHV0ZjhfQWxpYXNlcyk7Ci0KLSAgICAgICAgaWYgKCFwcmVmbmFtZWNvbCB8fCAhbmFtZWNvbCB8fCAhbWliZW51bWNvbCB8fCAhYWxpYXNjb2wpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIktleSBjb2x1bW4ocykgbWlzc2luZyBpbiAlc1xuIiwgZmlsZW5hbWUpOwotICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZShjdHh0LCB1dGY4X1AsCi0gICAgICAgICAgICB4bWxYUGF0aE5ld0Zsb2F0KChkb3VibGUpIHByZWZuYW1lY29sKSk7Ci0gICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZShjdHh0LCB1dGY4X04sCi0gICAgICAgICAgICB4bWxYUGF0aE5ld0Zsb2F0KChkb3VibGUpIG5hbWVjb2wpKTsKLSAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfTSwKLSAgICAgICAgICAgIHhtbFhQYXRoTmV3RmxvYXQoKGRvdWJsZSkgbWliZW51bWNvbCkpOwotICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUoY3R4dCwgdXRmOF9BLAotICAgICAgICAgICAgeG1sWFBhdGhOZXdGbG9hdCgoZG91YmxlKSBhbGlhc2NvbCkpOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIFByb2Nlc3MgZWFjaCByb3cuCi0gICAgICAgICoqLwotCi0gICAgICAgIGZvciAobiA9IDE7IG4gPCBvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlTnI7IG4rKykgewotICAgICAgICAgICAgICAgIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUob2JqMS0+bm9kZXNldHZhbC0+bm9kZVRhYltuXSwgY3R4dCk7Ci0KLSAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAqKiogICAgIEdldCB0aGUgTUlCZW51bSBmcm9tIGN1cnJlbnQgcm93LgotICAgICAgICAgICAgICAgICovCi0KLSAgICAgICAgICAgICAgICBvYmoyID0geG1sWFBhdGhFdmFsKHV0ZjhfZ2V0bWliZW51bSwgY3R4dCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoIW9iajIgfHwgb2JqMi0+dHlwZSAhPSBYUEFUSF9OVU1CRVIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IE1JQmVudW0gZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKHhtbFhQYXRoSXNOYU4ob2JqMi0+ZmxvYXR2YWwpIHx8Ci0gICAgICAgICAgICAgICAgICAgIG9iajItPmZsb2F0dmFsIDwgMS4wIHx8IG9iajItPmZsb2F0dmFsID4gNjU1MzUuMCB8fAotICAgICAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGludCkgb2JqMi0+ZmxvYXR2YWwpICE9IG9iajItPmZsb2F0dmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgTUlCZW51bSBhdCByb3cgJXVcbiIsIG4pOwotICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOwotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBtaWJlbnVtID0gb2JqMi0+ZmxvYXR2YWw7Ci0gICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOwotCi0gICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgKioqICAgICBTZWFyY2ggdGhlIGFzc29jaWF0aW9ucyBmb3IgYSBjb3JyZXNwb25kaW5nIENDU0lELgotICAgICAgICAgICAgICAgICoqLwotCi0gICAgICAgICAgICAgICAgZm9yIChzcCA9IGNoc2V0X2xpc3Q7IHNwOyBzcCA9IHNwLT5jX25leHQpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AtPmNfbWliZW51bSA9PSBtaWJlbnVtKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIGlmICghc3ApCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsgICAgICAgLyogTm8gQ0NTSUQgZm9yIHRoaXMgTUlCZW51bS4gKi8KLQotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgUHJvY2VzcyBwcmVmZXJyZWQgTUlNRSBuYW1lLgotICAgICAgICAgICAgICAgICoqLwotCi0gICAgICAgICAgICAgICAgb2JqMiA9IHhtbFhQYXRoRXZhbCh1dGY4X2dldHByZWZuYW1lLCBjdHh0KTsKLQotICAgICAgICAgICAgICAgIGlmICghb2JqMiB8fCBvYmoyLT50eXBlICE9IFhQQVRIX1NUUklORykgewotICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldCBQcmVmZXJyZWRfTUlNRV9OYW1lIGZhaWxlZCBhdCByb3cgJXVcbiIsIG4pOwotICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmIChvYmoyLT5zdHJpbmd2YWwgJiYgb2JqMi0+c3RyaW5ndmFsWzBdKQotICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIob2JqMi0+c3RyaW5ndmFsLCAtMSwgc3ApOwotCi0gICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOwotCi0gICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgKioqICAgICBQcm9jZXNzIG5hbWUuCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBvYmoyID0geG1sWFBhdGhFdmFsKHV0ZjhfZ2V0bmFtZSwgY3R4dCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoIW9iajIgfHwgb2JqMi0+dHlwZSAhPSBYUEFUSF9TVFJJTkcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IG5hbWUgZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKG9iajItPnN0cmluZ3ZhbCAmJiBvYmoyLT5zdHJpbmd2YWxbMF0pCi0gICAgICAgICAgICAgICAgICAgICAgICBuZmFlbnRlcihvYmoyLT5zdHJpbmd2YWwsIC0xLCBzcCk7Ci0KLSAgICAgICAgICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqMik7Ci0KLSAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAqKiogICAgIFByb2Nlc3MgYWxpYXNlcy4KLSAgICAgICAgICAgICAgICAqKi8KLQotICAgICAgICAgICAgICAgIG9iajIgPSB4bWxYUGF0aEV2YWwodXRmOF9nZXRhbGlhc2VzLCBjdHh0KTsKLQotICAgICAgICAgICAgICAgIGlmICghb2JqMiB8fCBvYmoyLT50eXBlICE9IFhQQVRIX05PREVTRVQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IGFsaWFzZXMgZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKG9iajItPm5vZGVzZXR2YWwgJiYgb2JqMi0+bm9kZXNldHZhbC0+bm9kZVRhYikKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmoyLT5ub2Rlc2V0dmFsLT5ub2RlTnI7IGkrKykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gb2JqMi0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5jb250ZW50ICYmIG5vZGUtPmNvbnRlbnRbMF0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIobm9kZS0+Y29udGVudCwgLTEsIHNwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqMSk7Ci0gICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4dCk7Ci0gICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKLX0KLQotCi10X3Bvd2Vyc2V0ICogICAgY2xvc3VyZXNldCh0X3Bvd2Vyc2V0ICogZHN0LCB0X3Bvd2Vyc2V0ICogc3JjKTsKLQotCi10X3Bvd2Vyc2V0ICoKLWNsb3N1cmUodF9wb3dlcnNldCAqIGRzdCwgdF9zdGF0ZSAqIHNyYykKLQotewotICAgICAgICB0X3RyYW5zaXRpb24gKiB0OwotICAgICAgICB1bnNpZ25lZCBpbnQgb2xkY2FyZDsKLQotICAgICAgICBpZiAoc3JjLT5zX25mYXN0YXRlcykgewotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgSXMgYSBERkEgc3RhdGU6IHJldHVybiBjbG9zdXJlIG9mIHNldCBvZiBlcXVpdmFsZW50Ci0gICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIE5GQSBzdGF0ZXMuCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICByZXR1cm4gY2xvc3VyZXNldChkc3QsIHNyYy0+c19uZmFzdGF0ZXMpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBDb21wdXRlIGNsb3N1cmUgb2YgTkZBIHN0YXRlLgotICAgICAgICAqKi8KLQotICAgICAgICBkc3QgPSBzZXRfaW5jbHVkZShkc3QsIHNyYyk7Ci0KLSAgICAgICAgZm9yICh0ID0gc3JjLT5zX2ZvcndhcmQ7IHQ7IHQgPSB0LT50X2ZvcnduZXh0KQotICAgICAgICAgICAgICAgIGlmICh0LT50X3Rva2VuID09IEVQU0lMT04pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG9sZGNhcmQgPSBkc3QtPnBfY2FyZDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRzdCA9IHNldF9pbmNsdWRlKGRzdCwgdC0+dF90byk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvbGRjYXJkICE9IGRzdC0+cF9jYXJkKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3QgPSBjbG9zdXJlKGRzdCwgdC0+dF90byk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGRzdDsKLX0KLQotCi10X3Bvd2Vyc2V0ICoKLWNsb3N1cmVzZXQodF9wb3dlcnNldCAqIGRzdCwgdF9wb3dlcnNldCAqIHNyYykKLQotewotICAgICAgICB1bnNpZ25lZCBpbnQgaTsKLQotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc3JjLT5wX2NhcmQ7IGkrKykKLSAgICAgICAgICAgICAgICBkc3QgPSBjbG9zdXJlKGRzdCwgKHRfc3RhdGUgKikgc3JjLT5wX3NldFtpXSk7Ci0KLSAgICAgICAgcmV0dXJuIGRzdDsKLX0KLQotCi10X3N0YXRlICoKLWdldF9kZmFfc3RhdGUodF9zdGF0ZSAqICogc3RhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICB0X3Bvd2Vyc2V0ICogbmZhc3RhdGVzLCB4bWxIYXNoVGFibGVQdHIgc2V0aGFzaCkKLQotewotICAgICAgICB0X3N0YXRlICogczsKLQotICAgICAgICBpZiAocyA9IGhhc2hfZ2V0KHNldGhhc2gsIG5mYXN0YXRlcy0+cF9zZXQsCi0gICAgICAgICAgICBuZmFzdGF0ZXMtPnBfY2FyZCAqIHNpemVvZiBuZmFzdGF0ZXMtPnBfc2V0WzBdKSkgewotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgREZBIHN0YXRlIGFscmVhZHkgcHJlc2VudC4KLSAgICAgICAgICAgICAgICAqKiogICAgIFJlbGVhc2UgdGhlIE5GQSBzdGF0ZSBzZXQgYW5kIHJldHVybgotICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICB0aGUgYWRkcmVzcyBvZiB0aGUgb2xkIERGQSBzdGF0ZS4KLSAgICAgICAgICAgICAgICAqKi8KLQotICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgbmZhc3RhdGVzKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gczsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgQnVpbGQgdGhlIG5ldyBzdGF0ZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgcyA9IG5ld3N0YXRlKCk7Ci0gICAgICAgIHMtPnNfbmZhc3RhdGVzID0gbmZhc3RhdGVzOwotICAgICAgICBzLT5zX25leHQgPSBkZmFfc3RhdGVzOwotICAgICAgICBkZmFfc3RhdGVzID0gczsKLSAgICAgICAgcy0+c19zdGFjayA9ICpzdGFjazsKLSAgICAgICAgKnN0YWNrID0gczsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBFbnRlciBpdCBpbiBoYXNoLgotICAgICAgICAqKi8KLQotICAgICAgICBpZiAoaGFzaF9hZGQoc2V0aGFzaCwgbmZhc3RhdGVzLT5wX3NldCwKLSAgICAgICAgICAgIG5mYXN0YXRlcy0+cF9jYXJkICogc2l6ZW9mIG5mYXN0YXRlcy0+cF9zZXRbMF0sIHMpKQotICAgICAgICAgICAgICAgIGNoa251bGwoTlVMTCk7ICAgICAgICAgIC8qIE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLiAqLwotCi0gICAgICAgIHJldHVybiBzOwotfQotCi0KLWludAotdHJhbnNjbXAoY29uc3Qgdm9pZCAqIHAxLCBjb25zdCB2b2lkICogcDIpCi0KLXsKLSAgICAgICAgdF90cmFuc2l0aW9uICogdDE7Ci0gICAgICAgIHRfdHJhbnNpdGlvbiAqIHQyOwotCi0gICAgICAgIHQxID0gKih0X3RyYW5zaXRpb24gKiAqKSBwMTsKLSAgICAgICAgdDIgPSAqKHRfdHJhbnNpdGlvbiAqICopIHAyOwotICAgICAgICByZXR1cm4gKChpbnQpIHQxLT50X3Rva2VuKSAtICgoaW50KSB0Mi0+dF90b2tlbik7Ci19Ci0KLQotdm9pZAotYnVpbGRkZmEodm9pZCkKLQotewotICAgICAgICB0X3Bvd2Vyc2V0ICogdHJhbnNzZXQ7Ci0gICAgICAgIHRfcG93ZXJzZXQgKiBzdGF0ZXNldDsKLSAgICAgICAgdF9zdGF0ZSAqIHM7Ci0gICAgICAgIHRfc3RhdGUgKiBzMjsKLSAgICAgICAgdW5zaWduZWQgaW50IG47Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOwotICAgICAgICB1bnNpZ25lZCBpbnQgdG9rZW47Ci0gICAgICAgIHRfdHJhbnNpdGlvbiAqIHQ7Ci0gICAgICAgIHRfc3RhdGUgKiBzdGFjazsKLSAgICAgICAgeG1sSGFzaFRhYmxlUHRyIHNldGhhc2g7Ci0gICAgICAgIHVuc2lnbmVkIGludCBuc3Q7Ci0KLSAgICAgICAgdHJhbnNzZXQgPSBzZXRfaW5jbHVkZShOVUxMLCBOVUxMKTsKLSAgICAgICAgY2hrbnVsbCh0cmFuc3NldCk7Ci0gICAgICAgIHN0YXRlc2V0ID0gc2V0X2luY2x1ZGUoTlVMTCwgTlVMTCk7Ci0gICAgICAgIGNoa251bGwoc3RhdGVzZXQpOwotICAgICAgICBzZXRoYXNoID0geG1sSGFzaENyZWF0ZSgxKTsKLSAgICAgICAgY2hrbnVsbChzZXRoYXNoKTsKLSAgICAgICAgZGZhX3N0YXRlcyA9ICh0X3N0YXRlICopIE5VTEw7Ci0gICAgICAgIHN0YWNrID0gKHRfc3RhdGUgKikgTlVMTDsKLSAgICAgICAgbnN0ID0gMDsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBCdWlsZCB0aGUgREZBIGluaXRpYWwgc3RhdGUuCi0gICAgICAgICoqLwotCi0gICAgICAgIGdldF9kZmFfc3RhdGUoJnN0YWNrLCBjbG9zdXJlKE5VTEwsIGluaXRpYWxfc3RhdGUpLCBzZXRoYXNoKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBCdWlsZCB0aGUgb3RoZXIgREZBIHN0YXRlcyBieSBsb29raW5nIGF0IGVhY2gKLSAgICAgICAgKioqICAgICAgICAgICAgIHBvc3NpYmxlIHRyYW5zaXRpb24gZnJvbSBzdGFja2VkIERGQSBzdGF0ZXMuCi0gICAgICAgICoqLwotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICBpZiAoISgrK25zdCAlIDEwMCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiV1IERGQSBzdGF0ZXNcbiIsIG5zdCk7Ci0KLSAgICAgICAgICAgICAgICBzID0gc3RhY2s7Ci0gICAgICAgICAgICAgICAgc3RhY2sgPSBzLT5zX3N0YWNrOwotICAgICAgICAgICAgICAgIHMtPnNfc3RhY2sgPSAodF9zdGF0ZSAqKSBOVUxMOwotCi0gICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgKioqICAgICBCdWlsZCBhIHNldCBvZiBhbGwgbm9uLWVwc2lsb24gdHJhbnNpdGlvbnMgZnJvbSB0aGlzCi0gICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIHN0YXRlLgotICAgICAgICAgICAgICAgICoqLwotCi0gICAgICAgICAgICAgICAgdHJhbnNzZXQtPnBfY2FyZCA9IDA7Ci0KLSAgICAgICAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgcy0+c19uZmFzdGF0ZXMtPnBfY2FyZDsgbisrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzMiA9IHMtPnNfbmZhc3RhdGVzLT5wX3NldFtuXTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0ID0gczItPnNfZm9yd2FyZDsgdDsgdCA9IHQtPnRfZm9yd25leHQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0LT50X3Rva2VuICE9IEVQU0lMT04pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3NldCA9IHNldF9pbmNsdWRlKHRyYW5zc2V0LCB0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGtudWxsKHRyYW5zc2V0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAqKiogICAgIFNvcnQgdHJhbnNpdGlvbnMgYnkgdG9rZW4uCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBxc29ydCh0cmFuc3NldC0+cF9zZXQsIHRyYW5zc2V0LT5wX2NhcmQsCi0gICAgICAgICAgICAgICAgICAgIHNpemVvZiB0cmFuc3NldC0+cF9zZXRbMF0sIHRyYW5zY21wKTsKLQotICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICoqKiAgICAgUHJvY2VzcyBhbGwgdHJhbnNpdGlvbnMsIGdyb3VwaW5nIHRoZW0gYnkgdG9rZW4uCi0gICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICBzdGF0ZXNldC0+cF9jYXJkID0gMDsKLSAgICAgICAgICAgICAgICB0b2tlbiA9IEVQU0lMT047Ci0KLSAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdHJhbnNzZXQtPnBfY2FyZDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ID0gdHJhbnNzZXQtPnBfc2V0W2ldOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gIT0gdC0+dF90b2tlbikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGVzZXQtPnBfY2FyZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgR2V0IHRoZSBlcXVpdmFsZW50IERGQSBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICBhbmQgY3JlYXRlIHRyYW5zaXRpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXd0cmFuc2l0aW9uKHRva2VuLCBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfZGZhX3N0YXRlKCZzdGFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc3VyZXNldChOVUxMLCBzdGF0ZXNldCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldGhhc2gpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXNldC0+cF9jYXJkID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSB0LT50X3Rva2VuOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlc2V0ID0gc2V0X2luY2x1ZGUoc3RhdGVzZXQsIHQtPnRfdG8pOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKHN0YXRlc2V0LT5wX2NhcmQpCi0gICAgICAgICAgICAgICAgICAgICAgICBuZXd0cmFuc2l0aW9uKHRva2VuLCBzLCBnZXRfZGZhX3N0YXRlKCZzdGFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zdXJlc2V0KE5VTEwsIHN0YXRlc2V0KSwgc2V0aGFzaCkpOwotICAgICAgICB9IHdoaWxlIChzdGFjayk7Ci0KLSAgICAgICAgZnJlZSgoY2hhciAqKSB0cmFuc3NldCk7Ci0gICAgICAgIGZyZWUoKGNoYXIgKikgc3RhdGVzZXQpOwotICAgICAgICB4bWxIYXNoRnJlZShzZXRoYXNoLCBOVUxMKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBSZXZlcnNlIHRoZSBzdGF0ZSBsaXN0IHRvIGdldCB0aGUgaW5pdGlhbCBzdGF0ZSBmaXJzdCwKLSAgICAgICAgKioqICAgICAgICAgICAgIGNoZWNrIGZvciBhbWJpZ3VvdXMgcHJlZml4ZXMsIGRldGVybWluZSBmaW5hbCBzdGF0ZXMsCi0gICAgICAgICoqKiAgICAgICAgICAgICBkZXN0cm95IE5GQSBzdGF0ZSBzZXRzLgotICAgICAgICAqKi8KLQotICAgICAgICB3aGlsZSAocyA9IGRmYV9zdGF0ZXMpIHsKLSAgICAgICAgICAgICAgICBkZmFfc3RhdGVzID0gcy0+c19uZXh0OwotICAgICAgICAgICAgICAgIHMtPnNfbmV4dCA9IHN0YWNrOwotICAgICAgICAgICAgICAgIHN0YWNrID0gczsKLSAgICAgICAgICAgICAgICBzdGF0ZXNldCA9IHMtPnNfbmZhc3RhdGVzOwotICAgICAgICAgICAgICAgIHMtPnNfbmZhc3RhdGVzID0gKHRfcG93ZXJzZXQgKikgTlVMTDsKLQotICAgICAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBzdGF0ZXNldC0+cF9jYXJkOyBuKyspIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHMyID0gKHRfc3RhdGUgKikgc3RhdGVzZXQtPnBfc2V0W25dOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoczItPnNfZmluYWwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMtPnNfZmluYWwgJiYgcy0+c19maW5hbCAhPSBzMi0+c19maW5hbCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFtYmlndW91cyBuYW1lIGZvciBDQ1NJRHMgJXUvJXVcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnNfZmluYWwtPmNfY2NzaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMyLT5zX2ZpbmFsLT5jX2Njc2lkKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zX2ZpbmFsID0gczItPnNfZmluYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgc3RhdGVzZXQpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBkZmFfc3RhdGVzID0gc3RhY2s7Ci19Ci0KLQotdm9pZAotZGVsZXRlbmZhKHZvaWQpCi0KLXsKLSAgICAgICAgdF90cmFuc2l0aW9uICogdDsKLSAgICAgICAgdF9zdGF0ZSAqIHM7Ci0gICAgICAgIHRfc3RhdGUgKiB1OwotICAgICAgICB0X3N0YXRlICogc3RhY2s7Ci0KLSAgICAgICAgc3RhY2sgPSBpbml0aWFsX3N0YXRlOwotICAgICAgICBzdGFjay0+c19zdGFjayA9ICh0X3N0YXRlICopIE5VTEw7Ci0KLSAgICAgICAgd2hpbGUgKChzID0gc3RhY2spKSB7Ci0gICAgICAgICAgICAgICAgc3RhY2sgPSBzLT5zX3N0YWNrOwotCi0gICAgICAgICAgICAgICAgd2hpbGUgKCh0ID0gcy0+c19mb3J3YXJkKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdSA9IHQtPnRfdG87Ci0gICAgICAgICAgICAgICAgICAgICAgICB1bmxpbmtfdHJhbnNpdGlvbih0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgdCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdS0+c19iYWNrd2FyZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1LT5zX3N0YWNrID0gc3RhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrID0gdTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgZnJlZSgoY2hhciAqKSBzKTsKLSAgICAgICAgICAgICAgICB9Ci19Ci0KLQotdF9zdGF0ZWdyb3VwICoKLW5ld2dyb3VwKHZvaWQpCi0KLXsKLSAgICAgICAgdF9zdGF0ZWdyb3VwICogZzsKLQotICAgICAgICBnID0gKHRfc3RhdGVncm91cCAqKSBtYWxsb2Moc2l6ZW9mICpnKTsKLSAgICAgICAgY2hrbnVsbChnKTsKLSAgICAgICAgbWVtc2V0KChjaGFyICopIGcsIDAsIHNpemVvZiAqZyk7Ci0gICAgICAgIGctPmdfaWQgPSBncm91cGlkKys7Ci0gICAgICAgIHJldHVybiBnOwotfQotCi0KLXZvaWQKLW9wdGltaXplZGZhKHZvaWQpCi0KLXsKLSAgICAgICAgdW5zaWduZWQgaW50IGk7Ci0gICAgICAgIHhtbEhhc2hUYWJsZVB0ciBoOwotICAgICAgICB0X3N0YXRlICogczE7Ci0gICAgICAgIHRfc3RhdGUgKiBzMjsKLSAgICAgICAgdF9zdGF0ZSAqIGZpbnN0YXRlczsKLSAgICAgICAgdF9zdGF0ZSAqICogc3A7Ci0gICAgICAgIHRfc3RhdGVncm91cCAqIGcxOwotICAgICAgICB0X3N0YXRlZ3JvdXAgKiBnMjsKLSAgICAgICAgdF9zdGF0ZWdyb3VwICogZ2hlYWQ7Ci0gICAgICAgIHRfdHJhbnNpdGlvbiAqIHQxOwotICAgICAgICB0X3RyYW5zaXRpb24gKiB0MjsKLSAgICAgICAgdW5zaWduZWQgaW50IGRvbmU7Ci0gICAgICAgIHVuc2lnbmVkIGludCBzdGFydGdyb3VwOwotICAgICAgICB1bnNpZ25lZCBpbnQgZ3RyYW5zWzEgPDwgKDggKiBzaXplb2YodW5zaWduZWQgY2hhcikpXTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBSZWR1Y2UgREZBIHN0YXRlIGNvdW50LgotICAgICAgICAqKi8KLQotICAgICAgICBncm91cGlkID0gMDsKLSAgICAgICAgZ2hlYWQgPSAodF9zdGF0ZWdyb3VwICopIE5VTEw7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgRmlyc3Qgc3BsaXQ6IG5vbi1maW5hbCBhbmQgZWFjaCBkaXN0aW5jdCBmaW5hbCBzdGF0ZXMuCi0gICAgICAgICoqLwotCi0gICAgICAgIGggPSB4bWxIYXNoQ3JlYXRlKDQpOwotICAgICAgICBjaGtudWxsKGgpOwotCi0gICAgICAgIGZvciAoczEgPSBkZmFfc3RhdGVzOyBzMTsgczEgPSBzMS0+c19uZXh0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCEoZzEgPSBoYXNoX2dldChoLCAmczEtPnNfZmluYWwsIHNpemVvZiBzMS0+c19maW5hbCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnMSA9IG5ld2dyb3VwKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnMS0+Z19uZXh0ID0gZ2hlYWQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnaGVhZCA9IGcxOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzaF9hZGQoaCwgJnMxLT5zX2ZpbmFsLCBzaXplb2YgczEtPnNfZmluYWwsIGcxKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hrbnVsbChOVUxMKTsgIC8qIE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgczEtPnNfaW5kZXggPSBnMS0+Z19pZDsKLSAgICAgICAgICAgICAgICBzMS0+c19zdGFjayA9IGcxLT5nX21lbWJlcjsKLSAgICAgICAgICAgICAgICBnMS0+Z19tZW1iZXIgPSBzMTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgeG1sSGFzaEZyZWUoaCwgTlVMTCk7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgU3Vic2VxdWVudCBzcGxpdHM6IHN0YXRlcyB0aGF0IGhhdmUgdGhlIHNhbWUgZm9yd2FyZAotICAgICAgICAqKiogICAgICAgICAgICAgdHJhbnNpdGlvbiB0b2tlbnMgdG8gc3RhdGVzIGluIHRoZSBzYW1lIGdyb3VwLgotICAgICAgICAqKi8KLQotICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgZG9uZSA9IDE7Ci0KLSAgICAgICAgICAgICAgICBmb3IgKGcyID0gZ2hlYWQ7IGcyOyBnMiA9IGcyLT5nX25leHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHMxID0gZzItPmdfbWVtYmVyOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXMxLT5zX3N0YWNrKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaCA9IHhtbEhhc2hDcmVhdGUoMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGtudWxsKGgpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAvKioKLSAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgQnVpbGQgdGhlIGdyb3VwIHRyYW5zaXRpb24gbWFwLgotICAgICAgICAgICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICAgICAgICAgIG1lbXNldCgoY2hhciAqKSBndHJhbnMsIH4wLCBzaXplb2YgZ3RyYW5zKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0MSA9IHMxLT5zX2ZvcndhcmQ7IHQxOyB0MSA9IHQxLT50X2ZvcnduZXh0KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndHJhbnNbdDEtPnRfdG9rZW5dID0gdDEtPnRfdG8tPnNfaW5kZXg7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNoX2FkZChoLCBndHJhbnMsIHNpemVvZiBndHJhbnMsIGcyKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hrbnVsbChOVUxMKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgICAgICAgICAqKiogICAgIFByb2Nlc3Mgb3RoZXIgc3RhdGVzIGluIGdyb3VwLgotICAgICAgICAgICAgICAgICAgICAgICAgKiovCi0KLSAgICAgICAgICAgICAgICAgICAgICAgIHNwID0gJnMxLT5zX3N0YWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgczEgPSAqc3A7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnNwID0gczEtPnNfc3RhY2s7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgQnVpbGQgdGhlIHRyYW5zaXRpb24gbWFwLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKi8KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1zZXQoKGNoYXIgKikgZ3RyYW5zLCB+MCwgc2l6ZW9mIGd0cmFucyk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0MSA9IHMxLT5zX2ZvcndhcmQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MTsgdDEgPSB0MS0+dF9mb3J3bmV4dCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndHJhbnNbdDEtPnRfdG9rZW5dID0gdDEtPnRfdG8tPnNfaW5kZXg7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEgPSBoYXNoX2dldChoLCBndHJhbnMsIHNpemVvZiBndHJhbnMpOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnMSA9PSBnMikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpzcCA9IHMxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwID0gJnMxLT5zX3N0YWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEgPSBuZXdncm91cCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEtPmdfbmV4dCA9IGdoZWFkOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2hlYWQgPSBnMTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc2hfYWRkKGgsIGd0cmFucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgZ3RyYW5zLCBnMSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoa251bGwoTlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMS0+c19pbmRleCA9IGcxLT5nX2lkOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxLT5zX3N0YWNrID0gZzEtPmdfbWVtYmVyOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcxLT5nX21lbWJlciA9IHMxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUgPSAwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHMxID0gKnNwKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgeG1sSGFzaEZyZWUoaCwgTlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgIH0gd2hpbGUgKCFkb25lKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBFc3RhYmxpc2ggZ3JvdXAgbGVhZGVycyBhbmQgcmVtYXAgdHJhbnNpdGlvbnMuCi0gICAgICAgICoqLwotCi0gICAgICAgIHN0YXJ0Z3JvdXAgPSBkZmFfc3RhdGVzLT5zX2luZGV4OwotCi0gICAgICAgIGZvciAoZzEgPSBnaGVhZDsgZzE7IGcxID0gZzEtPmdfbmV4dCkKLSAgICAgICAgICAgICAgICBmb3IgKHMxID0gZzEtPmdfbWVtYmVyLT5zX3N0YWNrOyBzMTsgczEgPSBzMS0+c19zdGFjaykKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodDEgPSBzMS0+c19iYWNrd2FyZDsgdDE7IHQxID0gdDIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDIgPSB0MS0+dF9iYWNrbmV4dDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua190cmFuc2l0aW9uKHQxLCBOVUxMLCBnMS0+Z19tZW1iZXIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgUmVtb3ZlIHJlZHVuZGFudCBzdGF0ZXMgYW5kIHRyYW5zaXRpb25zLgotICAgICAgICAqKi8KLQotICAgICAgICBmb3IgKGcxID0gZ2hlYWQ7IGcxOyBnMSA9IGcxLT5nX25leHQpIHsKLSAgICAgICAgICAgICAgICBnMS0+Z19tZW1iZXItPnNfbmV4dCA9ICh0X3N0YXRlICopIE5VTEw7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAoKHMxID0gZzEtPmdfbWVtYmVyLT5zX3N0YWNrKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZzEtPmdfbWVtYmVyLT5zX3N0YWNrID0gczEtPnNfc3RhY2s7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodDEgPSBzMS0+c19mb3J3YXJkOyB0MTsgdDEgPSB0MikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MiA9IHQxLT50X2ZvcnduZXh0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxpbmtfdHJhbnNpdGlvbih0MSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgdDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgczEpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBSZW1vdmUgZ3JvdXAgc3VwcG9ydCBhbmQgcmVsaW5rIERGQSBzdGF0ZXMuCi0gICAgICAgICoqLwotCi0gICAgICAgIGRmYV9zdGF0ZXMgPSAodF9zdGF0ZSAqKSBOVUxMOwotICAgICAgICBzMiA9ICh0X3N0YXRlICopIE5VTEw7Ci0gICAgICAgIGZpbnN0YXRlcyA9ICh0X3N0YXRlICopIE5VTEw7Ci0KLSAgICAgICAgd2hpbGUgKGcxID0gZ2hlYWQpIHsKLSAgICAgICAgICAgICAgICBnaGVhZCA9IGcxLT5nX25leHQ7Ci0gICAgICAgICAgICAgICAgczEgPSBnMS0+Z19tZW1iZXI7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZzEtPmdfaWQgPT0gc3RhcnRncm91cCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGRmYV9zdGF0ZXMgPSBzMTsgICAgICAgIC8qIEtlZXAgc3RhcnQgc3RhdGUgZmlyc3QuICovCi0gICAgICAgICAgICAgICAgZWxzZSBpZiAoczEtPnNfZmluYWwpIHsgICAgICAgICAvKiBUaGVuIGZpbmFsIHN0YXRlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIHMxLT5zX25leHQgPSBmaW5zdGF0ZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaW5zdGF0ZXMgPSBzMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIHsgICAgICAgICAgICAgICAgICAvKiBGaW5pc2ggd2l0aCBub24tZmluYWwgc3RhdGVzLiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgczEtPnNfbmV4dCA9IHMyOwotICAgICAgICAgICAgICAgICAgICAgICAgczIgPSBzMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgZzEpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBmb3IgKGRmYV9zdGF0ZXMtPnNfbmV4dCA9IGZpbnN0YXRlczsgZmluc3RhdGVzLT5zX25leHQ7KQotICAgICAgICAgICAgICAgIGZpbnN0YXRlcyA9IGZpbnN0YXRlcy0+c19uZXh0OwotCi0gICAgICAgIGZpbnN0YXRlcy0+c19uZXh0ID0gczI7Ci19Ci0KLQotY29uc3QgY2hhciAqCi1pbnR0eXBlKHVuc2lnbmVkIGxvbmcgbWF4KQotCi17Ci0gICAgICAgIGludCBpOwotCi0gICAgICAgIGZvciAoaSA9IDA7IG1heDsgaSsrKQotICAgICAgICAgICAgICAgIG1heCA+Pj0gMTsKLQotICAgICAgICBpZiAoaSA+IDggKiBzaXplb2YodW5zaWduZWQgaW50KSkKLSAgICAgICAgICAgICAgICByZXR1cm4gInVuc2lnbmVkIGxvbmciOwotCi0gICAgICAgIGlmIChpID4gOCAqIHNpemVvZih1bnNpZ25lZCBzaG9ydCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuICJ1bnNpZ25lZCBpbnQiOwotCi0gICAgICAgIGlmIChpID4gOCAqIHNpemVvZih1bnNpZ25lZCBjaGFyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gInVuc2lnbmVkIHNob3J0IjsKLQotICAgICAgICByZXR1cm4gInVuc2lnbmVkIGNoYXIiOwotfQotCi0KLWxpc3RpZHMoRklMRSAqIGZwKQotCi17Ci0gICAgICAgIHVuc2lnbmVkIGludCBwb3M7Ci0gICAgICAgIHRfY2hzZXQgKiBjcDsKLSAgICAgICAgdF9zeW1saXN0ICogbHA7Ci0gICAgICAgIGNoYXIgKiBzcmNwOwotICAgICAgICBjaGFyICogZHN0cDsKLSAgICAgICAgc2l6ZV90IHNyY2M7Ci0gICAgICAgIHNpemVfdCBkc3RjOwotICAgICAgICBjaGFyIGJ1Zls4MF07Ci0KLSAgICAgICAgZnByaW50ZihmcCwgIi8qKlxuKioqICAgICBDQ1NJRCAgIEZvciBhcmcgICBSZWNvZ25pemVkIG5hbWUuXG4iKTsKLSAgICAgICAgcG9zID0gMDsKLQotICAgICAgICBmb3IgKGNwID0gY2hzZXRfbGlzdDsgY3A7IGNwID0gY3AtPmNfbmV4dCkgewotICAgICAgICAgICAgICAgIGlmIChwb3MpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmICghY3AtPmNfbmFtZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgICAgIHBvcyA9IGZwcmludGYoZnAsICIqKiogICAgICU1dSAgICAgICVjICAgICAiLCBjcC0+Y19jY3NpZCwKLSAgICAgICAgICAgICAgICAgICAgaWNvbnZfb3Blbl9lcnJvcihjcC0+Y19mcm9tVVRGOCk/ICcgJzogJ1gnKTsKLQotICAgICAgICAgICAgICAgIGZvciAobHAgPSBjcC0+Y19uYW1lczsgbHA7IGxwID0gbHAtPmxfbmV4dCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc3JjcCA9IChjaGFyICopIGxwLT5sX3N5bWJvbDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNyY2MgPSBzdHJsZW4oc3JjcCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkc3RwID0gYnVmOwotICAgICAgICAgICAgICAgICAgICAgICAgZHN0YyA9IHNpemVvZiBidWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpY29udih1dGY4MmpvYiwgJnNyY3AsICZzcmNjLCAmZHN0cCwgJmRzdGMpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3JjYyA9IGRzdHAgLSBidWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb3MgKyBzcmNjID4gNzkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuKioqJTIyYyIsICcgJyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IDI1OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiICUuKnMiLCBzcmNjLCBidWYpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAocG9zKQotICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOwotCi0gICAgICAgIGZwcmludGYoZnAsICIqKi9cblxuIik7Ci19Ci0KLQotdm9pZAotZ2VuZXJhdGUoRklMRSAqIGZwKQotCi17Ci0gICAgICAgIHVuc2lnbmVkIGludCBuc3RhdGVzOwotICAgICAgICB1bnNpZ25lZCBpbnQgbnRyYW5zOwotICAgICAgICB1bnNpZ25lZCBpbnQgbWF4ZmluYWw7Ci0gICAgICAgIHRfc3RhdGUgKiBzOwotICAgICAgICB0X3RyYW5zaXRpb24gKiB0OwotICAgICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgICAgdW5zaWduZWQgaW50IHBvczsKLSAgICAgICAgY2hhciAqIG5zOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEFzc2lnbiBpbmRleGVzIHRvIHN0YXRlcyBhbmQgdHJhbnNpdGlvbnMuCi0gICAgICAgICoqLwotCi0gICAgICAgIG5zdGF0ZXMgPSAwOwotICAgICAgICBudHJhbnMgPSAwOwotICAgICAgICBtYXhmaW5hbCA9IDA7Ci0KLSAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgczsgcyA9IHMtPnNfbmV4dCkgewotICAgICAgICAgICAgICAgIHMtPnNfaW5kZXggPSBuc3RhdGVzKys7Ci0KLSAgICAgICAgICAgICAgICBpZiAocy0+c19maW5hbCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1heGZpbmFsID0gbnN0YXRlczsKLQotICAgICAgICAgICAgICAgIGZvciAodCA9IHMtPnNfZm9yd2FyZDsgdDsgdCA9IHQtPnRfZm9yd25leHQpCi0gICAgICAgICAgICAgICAgICAgICAgICB0LT50X2luZGV4ID0gbnRyYW5zKys7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGZwcmludGYoZnAsCi0gICAgICAgICAgICAiLyoqXG4qKiogICAgICV1IHN0YXRlcywgJXUgZmluYWxzLCAldSB0cmFuc2l0aW9ucy5cbioqL1xuXG4iLAotICAgICAgICAgICAgbnN0YXRlcywgbWF4ZmluYWwsIG50cmFucyk7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXUgc3RhdGVzLCAldSBmaW5hbHMsICV1IHRyYW5zaXRpb25zLlxuIiwKLSAgICAgICAgICAgIG5zdGF0ZXMsIG1heGZpbmFsLCBudHJhbnMpOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEdlbmVyYXRlIHR5cGVzLgotICAgICAgICAqKi8KLQotICAgICAgICBmcHJpbnRmKGZwLCAidHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgICAgICB0X2Njc2lkO1xuIik7Ci0gICAgICAgIGZwcmludGYoZnAsICJ0eXBlZGVmICUtMjNzIHRfc3RhdGVyYW5nZTtcbiIsIGludHR5cGUobnN0YXRlcykpOwotICAgICAgICBmcHJpbnRmKGZwLCAidHlwZWRlZiAlLTIzcyB0X3RyYW5zcmFuZ2U7XG5cbiIsIGludHR5cGUobnRyYW5zKSk7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgR2VuZXJhdGUgZmlyc3QgdHJhbnNpdGlvbiBpbmRleCBmb3IgZWFjaCBzdGF0ZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgZnByaW50ZihmcCwgInN0YXRpYyB0X3RyYW5zcmFuZ2UgICAgIHRyYW5zX2FycmF5W10gPSB7XG4iKTsKLSAgICAgICAgcG9zID0gMDsKLSAgICAgICAgbnRyYW5zID0gMDsKLQotICAgICAgICBmb3IgKHMgPSBkZmFfc3RhdGVzOyBzOyBzID0gcy0+c19uZXh0KSB7Ci0gICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIgJXUsIiwgbnRyYW5zKTsKLQotICAgICAgICAgICAgICAgIGlmIChwb3MgPiA3MikgewotICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSAwOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgZm9yICh0ID0gcy0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG50cmFucysrOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBmcHJpbnRmKGZwLCAiICV1XG59O1xuXG4iLCBudHJhbnMpOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEdlbmVyYXRlIGZpbmFsIHN0YXRlIGluZm8uCi0gICAgICAgICoqLwotCi0gICAgICAgIGZwcmludGYoZnAsICJzdGF0aWMgdF9jY3NpZCAgICAgICAgICBmaW5hbF9hcnJheVtdID0ge1xuIik7Ci0gICAgICAgIHBvcyA9IDA7Ci0gICAgICAgIG5zID0iIjsKLSAgICAgICAgaSA9IDA7Ci0KLSAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgcyAmJiBpKysgPCBtYXhmaW5hbDsgcyA9IHMtPnNfbmV4dCkgewotICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiJXMiLCBucyk7Ci0gICAgICAgICAgICAgICAgbnMgPSAiLCI7Ci0KLSAgICAgICAgICAgICAgICBpZiAocG9zID4gNzIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiICV1IiwKLSAgICAgICAgICAgICAgICAgICAgcy0+c19maW5hbD8gcy0+c19maW5hbC0+Y19jY3NpZCArIDE6IDApOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBmcHJpbnRmKGZwLCAiXG59O1xuXG4iKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBHZW5lcmF0ZSBnb3RvIHRhYmxlLgotICAgICAgICAqKi8KLQotICAgICAgICBmcHJpbnRmKGZwLCAic3RhdGljIHRfc3RhdGVyYW5nZSAgICAgZ290b19hcnJheVtdID0ge1xuIik7Ci0gICAgICAgIHBvcyA9IDA7Ci0KLSAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgczsgcyA9IHMtPnNfbmV4dCkKLSAgICAgICAgICAgICAgICBmb3IgKHQgPSBzLT5zX2ZvcndhcmQ7IHQ7IHQgPSB0LT50X2ZvcnduZXh0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwb3MgKz0gZnByaW50ZihmcCwgIiAldSwiLCB0LT50X3RvLT5zX2luZGV4KTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBvcyA+IDcyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSAwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgZnByaW50ZihmcCwgIiAldVxufTtcblxuIiwgbnN0YXRlcyk7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICoqKiAgICAgR2VuZXJhdGUgdHJhbnNpdGlvbiBsYWJlbCB0YWJsZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgZnByaW50ZihmcCwgInN0YXRpYyB1bnNpZ25lZCBjaGFyICAgIGxhYmVsX2FycmF5W10gPSB7XG4iKTsKLSAgICAgICAgcG9zID0gMDsKLSAgICAgICAgbnMgPSIiOwotCi0gICAgICAgIGZvciAocyA9IGRmYV9zdGF0ZXM7IHM7IHMgPSBzLT5zX25leHQpCi0gICAgICAgICAgICAgICAgZm9yICh0ID0gcy0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIlcyIsIG5zKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5zID0gIiwiOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9zID4gNzIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIgMHglMDJYIiwgdC0+dF90b2tlbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgZnByaW50ZihmcCwgIlxufTtcbiIsIG5zdGF0ZXMpOwotfQotCi0KLW1haW4oYXJnYywgYXJndikKLWludCBhcmdjOwotY2hhciAqICogYXJndjsKLQotewotICAgICAgICBGSUxFICogZnA7Ci0gICAgICAgIHRfY2hzZXQgKiBjc3A7Ci0gICAgICAgIGNoYXIgc3ltYnVmWzIwXTsKLQotICAgICAgICBjaHNldF9saXN0ID0gKHRfY2hzZXQgKikgTlVMTDsKLSAgICAgICAgaW5pdGlhbF9zdGF0ZSA9IG5ld3N0YXRlKCk7Ci0gICAgICAgIGpvYjJ1dGY4ID0gaWNvbnZfb3Blbl9jY3NpZChDX1VURjhfQ0NTSUQsIENfU09VUkNFX0NDU0lELCAwKTsKLSAgICAgICAgdXRmODJqb2IgPSBpY29udl9vcGVuX2Njc2lkKENfU09VUkNFX0NDU0lELCBDX1VURjhfQ0NTSUQsIDApOwotCi0gICAgICAgIGlmIChhcmdjICE9IDQpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyA8Y2NzaWQtbWliZW51bSBmaWxlPiAiLCAqYXJndik7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICI8aWFuYS1jaGFyYWN0ZXItc2V0IGZpbGU+IDxvdXRwdXQgZmlsZT5cbiIpOwotICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIFJlYWQgQ0NTSUQvTUlCZW51bSBhc3NvY2lhdGlvbnMuIERlZmluZSBzcGVjaWFsIG5hbWVzLgotICAgICAgICAqKi8KLQotICAgICAgICByZWFkX2Fzc29jcyhhcmd2WzFdKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBSZWFkIGNoYXJhY3RlciBzZXQgbmFtZXMgYW5kIGVzdGFibGlzaCB0aGUgY2FzZS1pbmRlcGVuZGVudAotICAgICAgICAqKiogICAgICAgICAgICAgbmFtZSBERkEgaW4gYWxsIHBvc3NpYmxlIENDU0lEcy4KLSAgICAgICAgKiovCi0KLSAgICAgICAgcmVhZF9pYW5hKGFyZ3ZbMl0pOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEJ1aWxkIERGQSBmcm9tIE5GQS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgYnVpbGRkZmEoKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBEZWxldGUgTkZBLgotICAgICAgICAqKi8KLQotICAgICAgICBkZWxldGVuZmEoKTsKLQotICAgICAgICAvKioKLSAgICAgICAgKioqICAgICBNaW5pbWl6ZSB0aGUgREZBIHN0YXRlIGNvdW50LgotICAgICAgICAqKi8KLQotICAgICAgICBvcHRpbWl6ZWRmYSgpOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEdlbmVyYXRlIHRoZSB0YWJsZS4KLSAgICAgICAgKiovCi0KLSAgICAgICAgZnAgPSBmb3Blbihhcmd2WzNdLCAidysiKTsKLQotICAgICAgICBpZiAoIWZwKSB7Ci0gICAgICAgICAgICAgICAgcGVycm9yKGFyZ3ZbM10pOwotICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGZwcmludGYoZnAsICIvKipcbiIpOwotICAgICAgICBmcHJpbnRmKGZwLCAiKioqICAgICBDaGFyYWN0ZXIgc2V0IG5hbWVzIHRhYmxlLlxuIik7Ci0gICAgICAgIGZwcmludGYoZnAsICIqKiogICAgIEdlbmVyYXRlZCBieSBwcm9ncmFtIEJMRENTTkRGQSBmcm9tIik7Ci0gICAgICAgIGZwcmludGYoZnAsICIgSUFOQSBjaGFyYWN0ZXIgc2V0IGFzc2lnbm1lbnQgZmlsZVxuIik7Ci0gICAgICAgIGZwcmludGYoZnAsICIqKiogICAgICAgICAgYW5kIENDU0lEL01JQmVudW0gZXF1aXZhbGVuY2UgZmlsZS5cbiIpOwotICAgICAgICBmcHJpbnRmKGZwLCAiKioqICAgICAqKiogRG8gbm90IGVkaXQgYnkgaGFuZCAqKipcbiIpOwotICAgICAgICBmcHJpbnRmKGZwLCAiKiovXG5cbiIpOwotICAgICAgICBsaXN0aWRzKGZwKTsKLSAgICAgICAgZ2VuZXJhdGUoZnApOwotCi0gICAgICAgIGlmIChmZXJyb3IoZnApKSB7Ci0gICAgICAgICAgICAgICAgcGVycm9yKGFyZ3ZbM10pOwotICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgICAgICAgICAgZXhpdCgxKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgZmNsb3NlKGZwKTsKLSAgICAgICAgaWNvbnZfY2xvc2Uoam9iMnV0ZjgpOwotICAgICAgICBpY29udl9jbG9zZSh1dGY4MmpvYik7Ci0gICAgICAgIGV4aXQoMCk7Ci19CmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9ibGRjc25kZmEvY2NzaWRfbWliZW51bS5kdGQgYi9vczQwMC9pY29udi9ibGRjc25kZmEvY2NzaWRfbWliZW51bS5kdGQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjODM0ZWMuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2Njc2lkX21pYmVudW0uZHRkCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhLS0KLS0tLSAgICAgRFREIGZvciBDQ1NJRC9NSUJFbnVtIGFzc29jaWF0aW9uIGRvY3VtZW50cy4KLS0tLQotLS0tICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0tLS0KLS0tLSAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0tLT4KLTwhRUxFTUVOVCBjY3NpZF9taWJlbnVtIChhc3NvYykqPgotPCFFTEVNRU5UIGFzc29jIChhbGlhcykqPgotPCFBVFRMSVNUIGFzc29jCi0gICAgICAgIGNjc2lkIENEQVRBICNJTVBMSUVECi0gICAgICAgIG1pYmVudW0gQ0RBVEEgI0lNUExJRUQKLT4KLTwhRUxFTUVOVCBhbGlhcyAoI1BDREFUQSk+CmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9ibGRjc25kZmEvY2NzaWRfbWliZW51bS54bWwgYi9vczQwMC9pY29udi9ibGRjc25kZmEvY2NzaWRfbWliZW51bS54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiOTI0NzMuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2Njc2lkX21pYmVudW0ueG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgY2NzaWRfbWliZW51bSBTWVNURU0gImNjc2lkX21pYmVudW0uZHRkIj4KLTwhLS0KLS0tLSAgICAgQ0NTSUQvTUlCRW51bSBhc3NvY2lhdGlvbnMuCi0tLS0KLS0tLSAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotLS0tCi0tLS0gICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotLS0+Ci08Y2NzaWRfbWliZW51bT4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIwIj48IS0tIEN1cnJlbnQgam9iJ3MgQ0NTSUQuIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMzciIG1pYmVudW09IjIwMjgiPjwhLS0gRUJDRElDLVVTIC0tPgotICAgICAgICAgICAgICAgIDxhbGlhcz5FQkNESUM8L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjI1NiI+PCEtLSBOZXRoZXJsYW5kcyA/IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjczIiBtaWJlbnVtPSIyMDMwIj48IS0tIEVCQ0RJQy1ERSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjI3NyIgbWliZW51bT0iMjAzMyI+PCEtLSBFQkNESUMtREsvTk8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIyNzgiIG1pYmVudW09IjIwMzQiPjwhLS0gRUJDRElDLUZJL1NFIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjgwIiBtaWJlbnVtPSIyMDM1Ij48IS0tIEVCQ0RJQy1JVCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjI4NCIgbWliZW51bT0iMjAzNyI+PCEtLSBFQkNESUMtRVMgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIyODUiIG1pYmVudW09IjIwMzgiPjwhLS0gRUJDRElDLUdCIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjkwIiBtaWJlbnVtPSIyMDM5Ij48IS0tIEVCQ0RJQy1KUC1LYW5hIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjk3IiBtaWJlbnVtPSIyMDQwIj48IS0tIEVCQ0RJQy1GUiAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjMwMCI+PCEtLSBKYXBhbiBFbmdsaXNoID8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIzMDEiPjwhLS0gUEMgREFUQSBKYXBhbmVzZSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjM2NyIgbWliZW51bT0iMyI+PCEtLSBBTlNJIFgzLjQgQVNDSUkgLS0+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPkFTQ0lJPC9hbGlhcz4KLSAgICAgICAgPC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0MjAiIG1pYmVudW09IjIwNDEiPjwhLS0gRUJDRElDLUFyYWIgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0MjMiIG1pYmVudW09IjIwNDIiPjwhLS0gRUJDRElDLUdSIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNDI0IiBtaWJlbnVtPSIyMDQzIj48IS0tIEVCQ0RJQy1IZWJyZXcgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0MzciIG1pYmVudW09IjIwMTEiPjwhLS0gOC1iaXQgUEMgQVNDSUkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MDAiIG1pYmVudW09IjIwNDQiPjwhLS0gRUJDRElDLUJFL0NIIGludGVybmF0aW9uYWwgbGF0aW4gMSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjcyMCI+PCEtLSBNU0RPUyBBcmFiaWMgPyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjczNyI+PCEtLSBNU0RPUyBHcmVlayBQQyBEQVRBID8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI3NzUiIG1pYmVudW09IjIwODciPjwhLS0gTVNET1MgQmFsdGljIFBDIERBVEEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4MTMiIG1pYmVudW09IjEwIj48IS0tIElTTy04ODU5LTcgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4MTkiIG1pYmVudW09IjQiPjwhLS0gSVNPLTg4NTktMSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjgzMyI+PCEtLSBLb3JlYSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODM1Ij48IS0tIEtvcmVhIGhvc3QgZG91YmxlIGJ5dGUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4MzYiPjwhLS0gU2ltcGxpZmllZCBjaGluZXNlIChleHRlbmRlZCByYW5nZSkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4MzciPjwhLS0gU2ltcGxpZmllZCBjaGluZXNlIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODM4IiBtaWJlbnVtPSIyMDE2Ij48IS0tIElCTS1UaGFpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODUwIiBtaWJlbnVtPSIyMDA5Ij48IS0tIFBDIERBVEEgaW50ZXJuYXRpb25hbCBsYXRpbiAxIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODUxIiBtaWJlbnVtPSIyMDQ1Ij48IS0tIFBDIERBVEEgZ3JlZWsgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NTIiIG1pYmVudW09IjIwMTAiPjwhLS0gUEMgREFUQSBsYXRpbi0yIG11bHRpbGluZ3VhbCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg1NSIgbWliZW51bT0iMjA0NiI+PCEtLSBQQyBEQVRBIFJPRUNFIGN5cmlsbGljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODU3IiBtaWJlbnVtPSIyMDQ3Ij48IS0tIFBDIERBVEEgVHVya2V5IGxhdGluLTUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NTgiIG1pYmVudW09IjIwODkiPjwhLS0gUEMtTXVsdGlsaW5ndWFsLTg1MCtFdXJvIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODYwIiBtaWJlbnVtPSIyMDQ4Ij48IS0tIFBDIERBVEEgUG9ydHVnYWwgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NjEiIG1pYmVudW09IjIwNDkiPjwhLS0gUEMgREFUQSBJY2VsYW5kIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODYyIiBtaWJlbnVtPSIyMDEzIj48IS0tIFBDIERBVEEgSGVicmV3IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODYzIiBtaWJlbnVtPSIyMDUwIj48IS0tIFBDIERBVEEgQ2FuYWRhIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODY0IiBtaWJlbnVtPSIyMDUxIj48IS0tIFBDIERBVEEgQXJhYmljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODY1IiBtaWJlbnVtPSIyMDUyIj48IS0tIFBDIERBVEEgREsvTk8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NjYiIG1pYmVudW09IjIwODYiPjwhLS0gUEMgREFUQSBjeXJpbGxpYyAyIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODY4IiBtaWJlbnVtPSIyMDUzIj48IS0tIFBDIERBVEEgVXJkdSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg2OSIgbWliZW51bT0iMjA1NCI+PCEtLSBQQyBEQVRBIGdyZWVrICgyPykgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NzAiIG1pYmVudW09IjIwNTUiPjwhLS0gRUJDRElDLUxhdGluMi1NdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NzEiIG1pYmVudW09IjIwNTYiPjwhLS0gRUJDRElDLUlTIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODc0IiBtaWJlbnVtPSIyMjU5Ij48IS0tIFRJUy02MjAgLS0+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPkVVQy1USD48L2FsaWFzPgotICAgICAgICAgICAgICAgIDxhbGlhcz5ldWNUSDwvYWxpYXM+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPmNzRVVDVEg8L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg3NSI+PCEtLSBHcmVlY2UgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI4NzgiIG1pYmVudW09IjIwODQiPjwhLS0gS09JOC1SIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODgwIiBtaWJlbnVtPSIyMDU3Ij48IS0tIEVCQ0RJQy1DeXJpbGxpYyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5MSIgbWliZW51bT0iMjA1OCI+PCEtLSBQQyBEQVRBIGNvcmVhbiAobm9uLWV4dGVuZGVkKSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5NiI+PCEtLSBKYXBhbiA3LWJpdCBLYXRha2FuYSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5NyIgbWliZW51bT0iMTUiPjwhLS0gSklTX1gwMjAxIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTAzIiBtaWJlbnVtPSIyMDU5Ij48IS0tIFBDIERBVEEgc2ltcGxpZmllZCBjaGluZXNlIChub24tZXh0ZW5kZWQpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTA0IiBtaWJlbnVtPSIyMDYwIj48IS0tIFBDIERBVEEgdHJhZGl0aW9uYWwgY2hpbmVzZSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkwNSIgbWliZW51bT0iMjA2MSI+PCEtLSBFQkNESUMtVFIgbGF0aW4gMyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkxMiIgbWliZW51bT0iNSI+PCEtLSBJU08tODg1OS0yIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTEzIiBtaWJlbnVtPSI2Ij48IS0tIElTTy04ODU5LTMgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MTQiIG1pYmVudW09IjciPjwhLS0gSVNPLTg4NTktNCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkxNSIgbWliZW51bT0iOCI+PCEtLSBJU08tODg1OS01IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTE2IiBtaWJlbnVtPSIxMSI+PCEtLSBJU08tODg1OS04IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTE4IiBtaWJlbnVtPSIyMDYyIj48IS0tIElCTTkxOCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyMCIgbWliZW51bT0iMTIiPjwhLS0gSVNPLTg4NTktOSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyMSIgbWliZW51bT0iMTA5Ij48IS0tIElTTy04ODU5LTEzIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTIyIj48IS0tIEVzdG9uaWEsIDgtYml0IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTIzIiBtaWJlbnVtPSIxMTEiPjwhLS0gSVNPLTg4NTktMTUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MjQiIG1pYmVudW09IjIwOTAiPjwhLS0gRUJDRElDLUxhdGluOStFdXJvIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTI2Ij48IS0tIEtvcmVhbiBQQyBEQVRBIERCQ1MsIFVEQyAxODgwIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTI3Ij48IS0tIFRyYWRpdGlvbmFsIGNoaW5lc2UgUEMgREFUQSBEQkNTLCBVREMgNjIwNCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyOCI+PCEtLSBTaW1wbGlmaWVkIGNoaW5lc2UgUEMgREFUQSBEQkNTLCBVREMgMTg4MCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzMCI+PCEtLSBKYXBhbiBLYXRha2FuYSAoZXh0ZW5kZWQgcmFuZ2UpIDQzNzAgVURDIChVc2VyIERlZmluZWQgQ2hhcmFjdGVycykgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MzIiPjwhLS0gSmFwYW4gUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzMyI+PCEtLSBLb3JlYSAoZXh0ZW5kZWQgcmFuZ2UpLCAxODgwIFVEQyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNCI+PCEtLSBLb3JlYW4gUEMgREFUQSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNSI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgKGV4dGVuZGVkIHJhbmdlKSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNiI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgKG5vbi1leHRlbmRlZCkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MzciPjwhLS0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTM4Ij48IS0tIFRyYWRpdGlvbmFsIENoaW5lc2UgKG5vbi1leHRlbmRlZCkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MzkiPjwhLS0gSmFwYW4gRW5nbGlzaCAoZXh0ZW5kZWQgcmFuZ2UpIDQzNzAgVURDIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTQyIj48IS0tIEphcGFuZXNlIFBDIERBVEEgTWl4ZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NDMiIG1pYmVudW09IjE3Ij48IS0tIFNoaWZ0X0pJUyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NCI+PCEtLSBLb3JlYW4gUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NiI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NyI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgTWl4ZWQgNjIwNCBVREMgKFVzZXIgRGVmaW5lZCBDaGFyYWN0ZXJzKSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0OSI+PCEtLSBSZXB1YmxpYyBvZiBLb3JlYSBOYXRpb25hbCBTdGFuZGFyZCBHcmFwaGljIENoYXJhY3RlciBTZXQgKEtTKS4gUEMgREFUQSBtaXhlZC1ieXRlIGluY2x1ZGluZyAxODAwIFVEQyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk1MCI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgTWl4ZWQgZm9yIEJpZzUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NTEiPjwhLS0gUmVwdWJsaWMgb2YgS29yZWEgTmF0aW9uYWwgU3RhbmRhcmQgR3JhcGhpYyBDaGFyYWN0ZXIgU2V0IChLUykuIFBDIERBVEEgZG91YmxlLWJ5dGUgaW5jbHVkaW5nIDE4MDAgVURDIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTU2Ij48IS0tIEpJUyBYMjAxIFJvbWFuIGZvciBDUCAwMDg5NTsgSklTIFgyMDgtMTk4MyBmb3IgQ1AgMDA5NTIgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NTciPjwhLS0gSklTIFgyMDEgUm9tYW4gZm9yIENQIDAwODk1OyBKSVMgWDIwOC0xOTc4IGZvciBDUCAwMDk1NSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk1OCI+PCEtLSBBU0NJSSBmb3IgQ1AgMDAzNjc7IEpJUyBYMjA4LTE5ODMgZm9yIENQIDAwOTUyIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTU5Ij48IS0tIEFTQ0lJIGZvciBDUCAwMDM2NzsgSklTIFgyMDgtMTk3OCBmb3IgQ1AgMDA5NTUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NjQiPjwhLS0gRzAgLSBBU0NJSSBmb3IgQ1AgMDAzNjc7IEcxLUNOUyAxMTY0MyBwbGFuZSAxIGZvciBDUCA5NjAgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NjUiPjwhLS0gQVNDSUkgZm9yIENQIDAwMzY3OyBDTlMgMTE2NDMgcGxhbmUgMSBmb3IgQ1AgOTYwIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTcwIiBtaWJlbnVtPSIzOCI+PCEtLSBFVUMtS1IgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDA4Ij48IS0tIEFyYWJpYyA4LWJpdCBJU08vQVNDSUkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDA5Ij48IS0tIElSViAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTAiPjwhLS0gRnJhbmNlIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxMSI+PCEtLSBHZXJtYW55IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxMiI+PCEtLSBJdGFseSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTMiPjwhLS0gVW5pdGVkIEtpbmdkb20gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDE0Ij48IS0tIFNwYWluIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxNSI+PCEtLSBQb3J0dWdhbCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTYiPjwhLS0gTm9yd2F5IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxNyI+PCEtLSBEZW5tYXJrIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxOCI+PCEtLSBGaW5sYW5kIGFuZCBTd2VkZW4gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDE5Ij48IS0tIEJlbGdpdW0gYW5kIE5ldGhlcmxhbmRzIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTAyNSI+PCEtLSBDeXJpbGxpYyBNdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDI2IiBtaWJlbnVtPSIyMDYzIj48IS0tIFR1cmtleSBsYXRpbiA1IENFQ1AgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDI3Ij48IS0tIEphcGFuIGVuZ2xpc2ggKGV4dGVuZGVkIHJhbmdlKSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwNDAiPjwhLS0gS29yZWFuIExhdGluIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQxIj48IS0tIEphcGFuZXNlIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQyIj48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBQQyBEQVRBIGV4dGVuZGVkIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTA0MyI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQ2Ij48IS0tIFBDIERBVEEgLSBBcmFiaWMgRXh0ZW5kZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQ3IiBtaWJlbnVtPSIyMTAyIj48IS0tIExhdGluIG9wZW4gc3lzIEVCQ0RJQyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwNTEiIG1pYmVudW09IjIwMDQiPjwhLS0gaHAtcm9tYW44IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTA4OCI+PCEtLSBLb3JlYW4gUEMgREFUQSBzaW5nbGUtYnl0ZSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwODkiIG1pYmVudW09IjkiPjwhLS0gSVNPIDg4NTktNjogQXJhYmljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTA5NyI+PCEtLSBGYXJzaSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwOTgiPjwhLS0gRmFyc2kgKElCTS1QQykgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTEyIj48IS0tIEJhbHRpYywgTXVsdGlsaW5ndWFsIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTExNCI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlLCBUYWl3YW4gSW5kdXN0cnkgR3JhcGhpYyBDaGFyYWN0ZXIgU2V0IChCaWc1KSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMTUiPjwhLS0gU2ltcGxpZmllZCBDaGluZXNlLCBQZW9wbGUmI3gyNztzIFJlcHVibGljIG9mIENoaW5hIE5hdGlvbmFsLiBTdGFuZGFyZCAoR0IpLCBwZXJzb25hbCBjb21wdXRlciBTQkNTIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTEyMiI+PCEtLSBFc3RvbmlhIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTEyMyIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMjkiPjwhLS0gSVNPLTggVmlldG5hbWVzZSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMzAiPjwhLS0gRUJDRElDIFZpZXRuYW1lc2UgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTMyIj48IS0tIEVCQ0RJQyBMYW8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTMzIj48IS0tIElTTy04IExhbyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMzciLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQwIiBtaWJlbnVtPSIyMDkxIj48IS0tIEVCQ0RJQy1VUy0zNytFdXJvIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0MSIgbWliZW51bT0iMjA5MiI+PCEtLSBFQkNESUMtREUtMjczK0V1cm8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQyIiBtaWJlbnVtPSIyMDkzIj48IS0tIEVCQ0RJQy1ESy9OTy0yNzcrRXVybyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNDMiIG1pYmVudW09IjIwOTQiPjwhLS0gRUJDRElDLUZJL1NFLTI3OCtFdXJvIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0NCIgbWliZW51bT0iMjA5NSI+PCEtLSBFQkNESUMtSVQtMjgwK0V1cm8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ1IiBtaWJlbnVtPSIyMDk2Ij48IS0tIEVCQ0RJQy1FUy0yODQrRXVybyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNDYiIG1pYmVudW09IjIwOTciPjwhLS0gRUJDRElDLUdCLTI4NStFdXJvIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0NyIgbWliZW51bT0iMjA5OCI+PCEtLSBFQkNESUMtRlItMjk3K0V1cm8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ4IiBtaWJlbnVtPSIyMDk5Ij48IS0tIEVCQ0RJQy1JTlQtNTAwK0V1cm8gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ5IiBtaWJlbnVtPSIyMTAwIj48IS0tIEVCQ0RJQy1JUy04NzErRXVybyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNTMiLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTU0Ii8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTE1NSIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNTYiLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTU3Ii8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTE1OCIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNjAiLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMTY0Ii8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTIwMSIgbWliZW51bT0iMTAxMyI+PCEtLSBVVEYtMTZCRSAtLT4KLSAgICAgICAgICAgICAgICA8YWxpYXM+VVRGMTYtQkU8L2FsaWFzPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYxNkJFPC9hbGlhcz4KLSAgICAgICAgICAgICAgICA8YWxpYXM+VVRGLTE2LUJFPC9hbGlhcz4KLSAgICAgICAgPC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjAzIiBtaWJlbnVtPSIxMDE0Ij48IS0tIFVURi0xNkxFIC0tPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYxNi1MRTwvYWxpYXM+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPlVURjE2TEU8L2FsaWFzPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYtMTYtTEU8L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyMDgiIG1pYmVudW09IjEwNiI+PCEtLSBVVEYtOCAtLT4KLSAgICAgICAgICAgICAgICA8YWxpYXM+VVRGODwvYWxpYXM+Ci0gICAgICAgIDwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTIzMyIgbWliZW51bT0iMTAxOCI+PCEtLSBVVEYtMzJCRSAtLT4KLSAgICAgICAgICAgICAgICA8YWxpYXM+VVRGMzItQkU8L2FsaWFzPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYzMkJFPC9hbGlhcz4KLSAgICAgICAgICAgICAgICA8YWxpYXM+VVRGLTMyLUJFPC9hbGlhcz4KLSAgICAgICAgPC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjM1IiBtaWJlbnVtPSIxMDE5Ij48IS0tIFVURi0zMkxFIC0tPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYzMi1MRTwvYWxpYXM+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPlVURjMyTEU8L2FsaWFzPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYtMzItTEU8L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNTAiIG1pYmVudW09IjIwMDIiPjwhLS0gV2luZG93cyBMYXRpbiAyIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1MSI+PCEtLSBXaW5kb3dzIEN5cmlsbGljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1MiIgbWliZW51bT0iMjAwMSI+PCEtLSBXaW5kb3dzIExhdGluIDEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjUzIj48IS0tIFdpbmRvd3MgR3JlZWsgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU0Ij48IS0tIFdpbmRvd3MgVHVya2lzaCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNTUiPjwhLS0gV2luZG93cyBIZWJyZXcgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU2Ij48IS0tIFdpbmRvd3MgQXJhYmljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1NyI+PCEtLSBXaW5kb3dzIEJhbHRpYyBSaW0gLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU4Ij48IS0tIFdpbmRvd3MgVmlldG5hbWVzZSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNzUiPjwhLS0gQXBwbGUsIExhdGluLTEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjc2IiBtaWJlbnVtPSIyMDA1Ij48IS0tIEFkb2JlLVN0YW5kYXJkLUVuY29kaW5nIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTI4MCI+PCEtLSBBcHBsZSwgR3JlZWsgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjgxIj48IS0tIEFwcGxlLCBUdXJrZXkgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMjgyIj48IS0tIEFwcGxlLCBDZW50cmFsIEV1cm9wZWFuIChMYXRpbi0yKSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyODMiPjwhLS0gQXBwbGUsIEN5cmlsbGljIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTM2MyIgbWliZW51bT0iMzYiPjwhLS0gS1NfQ181NjAxLTE5ODcgLS0+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPmtvcmVhbjwvYWxpYXM+Ci0gICAgICAgIDwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTM2NCIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzNzMiPjwhLS0gV2luZG93cy05NTAgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMzc1IiBtaWJlbnVtPSIyMTAxIj48IS0tIEJpZzUtSEtTQ1MgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMzgwIj48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBEQkNTIFBDIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTM4MSI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzODMiIG1pYmVudW09IjIwMjUiPjwhLS0gR0IyMzEyIC0tPgotICAgICAgICAgICAgICAgIDxhbGlhcz5FVUMtQ048L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzODYiIG1pYmVudW09IjExMyI+PCEtLSBHQksgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMzg4Ij48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBEQkNTLUhvc3QgREFUQSBHQksgbWl4ZWQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMzkyIj48IS0tIFMtY2ggUEMgRGFyYSBtaXhlZCBHQjE4MDMwIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTM5OSIgLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0Mzk2Ij48IS0tIEphcGFuZXNlIEhvc3QgREIgaW5jbHVkaW5nIDE4ODAgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0OTQ4Ij48IS0tIExhdGluIDIgUEMgREFUQSBNdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0OTUxIj48IS0tIEN5cmlsbGljIFBDIERBVEEgTXVsdGlsaW5ndWFsIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNDk1MiI+PCEtLSBIZWJyZXcgUEMgREFUQSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjQ5NTMiPjwhLS0gVHVya2V5IFBDIERBVEEgTGF0aW4gNSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjQ5NjAiPjwhLS0gQXJhYmljIFBDIERBVEEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0OTY1Ij48IS0tIEdyZWVrIFBDIERBVEEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI0OTcxIi8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTAyNiI+PCEtLSBKYXBhbiBLYXRha2FuYSAoZXh0ZW5kZWQgcmFuZ2UpIDE4ODAgVURDIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTAzNSI+PCEtLSBKYXBhbiBFbmdsaXNoIChleHRlbmRlZCByYW5nZSkgMTg4MCBVREMgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MDUwIj48IS0tIEcwIC0gSklTIFgyMDEgUm9tYW4gZm9yIENQIDg5NTsgRzEgSklTIFgyMDgtMTk5MCBmb3IgQ1AgOTUyIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTA1MiI+PCEtLSBKSVMgWDIwMSBSb21hbiBmb3IgQ1AgODk1OyBKSVMgWDIwOC0xOTgzIGZvciBDUCA5NTIgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MDUzIj48IS0tIEpJUyBYMjAxIFJvbWFuIGZvciBDUCA4OTU7IEpJUyBYMjA4LTE5NzggZm9yIENQIDk1NSAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjUwNTQiPjwhLS0gQVNDSUkgZm9yIENQIDM2NzsgSklTIFgyMDgtMTk4MyBmb3IgQ1AgOTUyIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTA1NSI+PCEtLSBBU0NJSSBmb3IgQ1AgMzY3OyBKSVMgWDIwOC0xOTc4IGZvciBDUCA5NTUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MzU0IiBtaWJlbnVtPSIyMjU4Ij48IS0tIHdpbmRvd3MtMTI1OCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjUzNDYiIG1pYmVudW09IjIyNTAiPjwhLS0gd2luZG93cy0xMjUwIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTM0NyIgbWliZW51bT0iMjI1MSI+PCEtLSB3aW5kb3dzLTEyNTEgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MzQ4IiBtaWJlbnVtPSIyMjUyIj48IS0tIHdpbmRvd3MtMTI1MiAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjUzNDkiIG1pYmVudW09IjIyNTMiPjwhLS0gd2luZG93cy0xMjUzIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTM1MCIgbWliZW51bT0iMjI1NCI+PCEtLSB3aW5kb3dzLTEyNTQgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI1MTIzIi8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNTQ3OCIgbWliZW51bT0iNTciPjwhLS0gR0JfMjMxMi04MCAtLT4KLSAgICAgICAgICAgICAgICA8YWxpYXM+Y2hpbmVzZTwvYWxpYXM+Ci0gICAgICAgIDwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iODYxMiI+PCEtLSBBcmFiaWMgKGJhc2Ugc2hhcGVzIG9ubHkpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTAzMCI+PCEtLSBUaGFpIEhvc3QgRXh0ZW5kZWQgU0JDUyAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjkwNTYiPjwhLS0gUEMgREFUQTogQXJhYmljIFBDIFN0b3JhZ2UvSW50ZXJjaGFuZ2UgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5MDY2Ij48IS0tIFRoYWkgUEMgREFUQSBFeHRlbmRlZCBTQkNTIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iOTQ0NyIgbWliZW51bT0iMjI1NSI+PCEtLSB3aW5kb3dzLTEyNTUgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI5NDQ4IiBtaWJlbnVtPSIyMjU2Ij48IS0tIHdpbmRvd3MtMTI1NiAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NDkiIG1pYmVudW09IjIyNTciPjwhLS0gd2luZG93cy0xMjU3IC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTI3MDgiLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSIxMzEyMSIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzMTI0Ii8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMTM0ODgiIG1pYmVudW09IjEwMDAiPjwhLS0gSVNPLTEwNjQ2LVVDUy0yIC0tPgotICAgICAgICAgICAgICAgIDxhbGlhcz5VQ1MtMjwvYWxpYXM+Ci0gICAgICAgICAgICAgICAgPGFsaWFzPlVDUzI8L2FsaWFzPgotICAgICAgICA8L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjE3MzU0Ij48IS0tIEcwIC0gQVNDSUkgZm9yIENQIDAwMzY3OyBHMSAtS1NDIFg1NjAxLTE5ODkgKGluY2x1ZGluZyAxODggVURDcykgZm9yIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjU1NDYiPjwhLS0gS29yZWFuIDIwMjItS1IgVENQIEFTQ0lJIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMjg3MDkiPjwhLS0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iMzM3MjIiIG1pYmVudW09IjE4Ij48IS0tIEVVQy1KUCAtLT48L2Fzc29jPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjU3MzQ1Ij48IS0tIEFsbCBKYXBhbmVzZSAyMDIyIGNoYXJhY3RlcnMgLS0+PC9hc3NvYz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI2MTk1MiI+PCEtLSBBUy80MDAgc3BlY2lmaWMgVUNTIGxldmVsIDIuIC0tPjwvYXNzb2M+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNjIyMTEiLz4KLSAgICAgICAgPGFzc29jIGNjc2lkPSI2MjIyNCIvPgotICAgICAgICA8YXNzb2MgY2NzaWQ9IjYyMjM1Ii8+Ci0gICAgICAgIDxhc3NvYyBjY3NpZD0iNjIyNDUiLz4KLSAgICAgICAgPGFzc29jIG1pYmVudW09IjI3Ij48IS0tIElTTy0xMDY0Ni1VVEYtMSAtLT48L2Fzc29jPgotPC9jY3NpZF9taWJlbnVtPgpkaWZmIC0tZ2l0IGEvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2NoYXJhY3Rlci1zZXRzLnhodG1sIGIvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2NoYXJhY3Rlci1zZXRzLnhodG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWQ1YTNiLi4wMDAwMDAwCi0tLSBhL29zNDAwL2ljb252L2JsZGNzbmRmYS9jaGFyYWN0ZXItc2V0cy54aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwNzcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgotPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbG5zOmlhbmE9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMiPgotICA8aGVhZD4KLSAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1BU0NJSSIgLz4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL19zdXBwb3J0L2lhbmEtcmVnaXN0cnkuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9fc3VwcG9ydC9qcXVlcnkuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL19zdXBwb3J0L3NvcnQuanMiPjwvc2NyaXB0PgotICAgIDx0aXRsZT5DaGFyYWN0ZXIgU2V0czwvdGl0bGU+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAgPGgxPkNoYXJhY3RlciBTZXRzPC9oMT4KLSAgICA8ZGw+Ci0gICAgICA8ZHQ+TGFzdCBVcGRhdGVkPC9kdD4KLSAgICAgIDxkZD4yMDEzLTAxLTIzPC9kZD4KLSAgICAgIDxkdD5SZWdpc3RyYXRpb24gUHJvY2VkdXJlKHMpPC9kdD4KLSAgICAgIDxkZD4KLSAgICAgICAgPHByZT5FeHBlcnQgUmV2aWV3PC9wcmU+Ci0gICAgICA8L2RkPgotICAgICAgPGR0PkV4cGVydChzKTwvZHQ+Ci0gICAgICA8ZGQ+Ci0gICAgICAgIDxwcmU+UHJpbWFyeSBFeHBlcnQgTmVkIEZyZWVkIGFuZCBTZWNvbmRhcnkgRXhwZXJ0IE1hcnRpbiBEJiMyNTI7cnN0PC9wcmU+Ci0gICAgICA8L2RkPgotICAgICAgPGR0PlJlZmVyZW5jZTwvZHQ+Ci0gICAgICA8ZGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjk3OCI+UkZDMjk3ODwvYT5dPC9kZD4KLSAgICAgIDxkdD5Ob3RlPC9kdD4KLSAgICAgIDxkZD4KLSAgICAgICAgPHByZT5UaGVzZSBhcmUgdGhlIG9mZmljaWFsIG5hbWVzIGZvciBjaGFyYWN0ZXIgc2V0cyB0aGF0IG1heSBiZSB1c2VkIGluCi10aGUgSW50ZXJuZXQgYW5kIG1heSBiZSByZWZlcnJlZCB0byBpbiBJbnRlcm5ldCBkb2N1bWVudGF0aW9uLiAgVGhlc2UKLW5hbWVzIGFyZSBleHByZXNzZWQgaW4gQU5TSV9YMy40LTE5Njggd2hpY2ggaXMgY29tbW9ubHkgY2FsbGVkCi1VUy1BU0NJSSBvciBzaW1wbHkgQVNDSUkuICBUaGUgY2hhcmFjdGVyIHNldCBtb3N0IGNvbW1vbmx5IHVzZSBpbiB0aGUKLUludGVybmV0IGFuZCB1c2VkIGVzcGVjaWFsbHkgaW4gcHJvdG9jb2wgc3RhbmRhcmRzIGlzIFVTLUFTQ0lJLCB0aGlzCi1pcyBzdHJvbmdseSBlbmNvdXJhZ2VkLiAgVGhlIHVzZSBvZiB0aGUgbmFtZSBVUy1BU0NJSSBpcyBhbHNvCi1lbmNvdXJhZ2VkLgotCi1UaGUgY2hhcmFjdGVyIHNldCBuYW1lcyBtYXkgYmUgdXAgdG8gNDAgY2hhcmFjdGVycyB0YWtlbiBmcm9tIHRoZQotcHJpbnRhYmxlIGNoYXJhY3RlcnMgb2YgVVMtQVNDSUkuICBIb3dldmVyLCBubyBkaXN0aW5jdGlvbiBpcyBtYWRlCi1iZXR3ZWVuIHVzZSBvZiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLgotCi1UaGUgTUlCZW51bSB2YWx1ZSBpcyBhIHVuaXF1ZSB2YWx1ZSBmb3IgdXNlIGluIE1JQnMgdG8gaWRlbnRpZnkgY29kZWQKLWNoYXJhY3RlciBzZXRzLgotCi1UaGUgdmFsdWUgc3BhY2UgZm9yIE1JQmVudW0gdmFsdWVzIGhhcyBiZWVuIGRpdmlkZWQgaW50byB0aHJlZQotcmVnaW9ucy4gVGhlIGZpcnN0IHJlZ2lvbiAoMy05OTkpIGNvbnNpc3RzIG9mIGNvZGVkIGNoYXJhY3RlciBzZXRzCi10aGF0IGhhdmUgYmVlbiBzdGFuZGFyZGl6ZWQgYnkgc29tZSBzdGFuZGFyZCBzZXR0aW5nIG9yZ2FuaXphdGlvbi4KLVRoaXMgcmVnaW9uIGlzIGludGVuZGVkIGZvciBzdGFuZGFyZHMgdGhhdCBkbyBub3QgaGF2ZSBzdWJzZXQKLWltcGxlbWVudGF0aW9ucy4gVGhlIHNlY29uZCByZWdpb24gKDEwMDAtMTk5OSkgaXMgZm9yIHRoZSBVbmljb2RlIGFuZAotSVNPL0lFQyAxMDY0NiBjb2RlZCBjaGFyYWN0ZXIgc2V0cyB0b2dldGhlciB3aXRoIGEgc3BlY2lmaWNhdGlvbiBvZiBhCi0oc2V0IG9mKSBzdWItcmVwZXJ0b2lyZXMgdGhhdCBtYXkgb2NjdXIuICBUaGUgdGhpcmQgcmVnaW9uICgmZ3Q7MTk5OSkgaXMKLWludGVuZGVkIGZvciB2ZW5kb3Igc3BlY2lmaWMgY29kZWQgY2hhcmFjdGVyIHNldHMuCi0KLSAgICAgICAgQXNzaWduZWQgTUlCIGVudW0gTnVtYmVycwotICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgIDAtMiAgICAgICAgICAgICBSZXNlcnZlZAotICAgICAgICAzLTk5OSAgICAgICAgICAgU2V0IEJ5IFN0YW5kYXJkcyBPcmdhbml6YXRpb25zCi0gICAgICAgIDEwMDAtMTk5OSAgICAgICBVbmljb2RlIC8gMTA2NDYKLSAgICAgICAgMjAwMC0yOTk5ICAgICAgIFZlbmRvcgotCi1UaGUgYWxpYXNlcyB0aGF0IHN0YXJ0IHdpdGggImNzIiBoYXZlIGJlZW4gYWRkZWQgZm9yIHVzZSB3aXRoIHRoZQotSUFOQS1DSEFSU0VULU1JQiBhcyBvcmlnaW5hbGx5IGRlZmluZWQgaW4gWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMzgwOCI+UkZDMzgwODwvYT5dLCBhbmQgYXMgY3VycmVudGx5Ci1tYWludGFpbmVkIGJ5IElBTkEgYXQgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaWFuYWNoYXJzZXQtbWliIj5JQU5BIHJlZ2lzdHJ5IDxpPmlhbmFjaGFyc2V0LW1pYjwvaT48L2E+XS4KLU5vdGUgdGhhdCB0aGUgaWFuYWNoYXJzZXQtbWliIG5lZWRzIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoaXMKLXJlZ2lzdHJ5LiAgVGhlc2UgYWxpYXNlcyB0aGF0IHN0YXJ0IHdpdGggImNzIiBjb250YWluIHRoZSBzdGFuZGFyZAotbnVtYmVycyBhbG9uZyB3aXRoIHN1Z2dlc3RpdmUgbmFtZXMgaW4gb3JkZXIgdG8gZmFjaWxpdGF0ZSBhcHBsaWNhdGlvbnMKLXRoYXQgd2FudCB0byBkaXNwbGF5IHRoZSBuYW1lcyBpbiB1c2VyIGludGVyZmFjZXMuICBUaGUgImNzIiBzdGFuZHMKLWZvciBjaGFyYWN0ZXIgc2V0IGFuZCBpcyBwcm92aWRlZCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCBhIGxvd2VyCi1jYXNlIGZpcnN0IGxldHRlciBidXQgd2FudCB0byB1c2UgbWl4ZWQgY2FzZSB0aGVyZWFmdGVyIHRoYXQgY2Fubm90Ci1jb250YWluIGFueSBzcGVjaWFsIGNoYXJhY3RlcnMsIHN1Y2ggYXMgdW5kZXJiYXIgKCJfIikgYW5kIGRhc2ggKCItIikuCi0KLUlmIHRoZSBjaGFyYWN0ZXIgc2V0IGlzIGZyb20gYW4gSVNPIHN0YW5kYXJkLCBpdHMgY3MgYWxpYXMgaXMgdGhlIElTTwotc3RhbmRhcmQgbnVtYmVyIG9yIG5hbWUuICBJZiB0aGUgY2hhcmFjdGVyIHNldCBpcyBub3QgZnJvbSBhbiBJU08KLXN0YW5kYXJkLCBidXQgaXMgcmVnaXN0ZXJlZCB3aXRoIElTTyAoSVBTSi9JVFNDSiBpcyB0aGUgY3VycmVudCBJU08KLVJlZ2lzdHJhdGlvbiBBdXRob3JpdHkpLCB0aGUgSVNPIFJlZ2lzdHJ5IG51bWJlciBpcyBzcGVjaWZpZWQgYXMKLUlTT25ubiBmb2xsb3dlZCBieSBsZXR0ZXJzIHN1Z2dlc3RpdmUgb2YgdGhlIG5hbWUgb3Igc3RhbmRhcmRzIG51bWJlcgotb2YgdGhlIGNvZGUgc2V0LiAgV2hlbiBhIG5hdGlvbmFsIG9yIGludGVybmF0aW9uYWwgc3RhbmRhcmQgaXMKLXJldmlzZWQsIHRoZSB5ZWFyIG9mIHJldmlzaW9uIGlzIGFkZGVkIHRvIHRoZSBjcyBhbGlhcyBvZiB0aGUgbmV3Ci1jaGFyYWN0ZXIgc2V0IGVudHJ5IGluIHRoZSBJQU5BIFJlZ2lzdHJ5IGluIG9yZGVyIHRvIGRpc3Rpbmd1aXNoIHRoZQotcmV2aXNlZCBjaGFyYWN0ZXIgc2V0IGZyb20gdGhlIG9yaWdpbmFsIGNoYXJhY3RlciBzZXQuPC9wcmU+Ci0gICAgICA8L2RkPgotICAgICAgPGR0PkFsdGVybmF0aXZlIEZvcm1hdHM8L2R0PgotICAgICAgPGRkPgotICAgICAgICA8YSBjbGFzcz0iYWx0Zm9ybWF0IiBocmVmPSJjaGFyYWN0ZXItc2V0cy50eHQiPjxpbWcgc3JjPSIvX2ltZy9pY29ucy90ZXh0LXBsYWluLnBuZyIgLz48YnIgLz5QbGFpbiB0ZXh0PC9hPgotICAgICAgPC9kZD4KLSAgICA8L2RsPgotICAgIDxkbD4KLSAgICAgIDxkdD5BbHRlcm5hdGl2ZSBGb3JtYXRzPC9kdD4KLSAgICAgIDxkZD4KLSAgICAgICAgPGEgY2xhc3M9ImFsdGZvcm1hdCIgaHJlZj0iY2hhcmFjdGVyLXNldHMtMS5jc3YiPjxpbWcgc3JjPSIvX2ltZy9pY29ucy90ZXh0LWNzdi5wbmciIC8+PGJyIC8+Q1NWPC9hPgotICAgICAgPC9kZD4KLSAgICA8L2RsPgotICAgIDx0YWJsZSBpZD0idGFibGUtY2hhcmFjdGVyLXNldHMtMSIgY2xhc3M9InNvcnRhYmxlIj4KLSAgICAgIDx0aGVhZD4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0aD5QcmVmZXJyZWQgTUlNRSBOYW1lPC90aD4KLSAgICAgICAgICA8dGg+TmFtZTwvdGg+Ci0gICAgICAgICAgPHRoPk1JQmVudW08L3RoPgotICAgICAgICAgIDx0aD5Tb3VyY2U8L3RoPgotICAgICAgICAgIDx0aD5SZWZlcmVuY2U8L3RoPgotICAgICAgICAgIDx0aD5BbGlhc2VzPC90aD4KLSAgICAgICAgICA8dGg+Tm90ZTwvdGg+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3RoZWFkPgotICAgICAgPHRib2R5PgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPlVTLUFTQ0lJPC90ZD4KLSAgICAgICAgICA8dGQ+VVMtQVNDSUk8L3RkPgotICAgICAgICAgIDx0ZD4zPC90ZD4KLSAgICAgICAgICA8dGQ+QU5TSSBYMy40LTE5ODY8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyMDQ2Ij5SRkMyMDQ2PC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItNjxiciAvPkFOU0lfWDMuNC0xOTY4PGJyIC8+QU5TSV9YMy40LTE5ODY8YnIgLz5JU09fNjQ2LmlydjoxOTkxPGJyIC8+SVNPNjQ2LVVTPGJyIC8+VVMtQVNDSUk8YnIgLz51czxiciAvPklCTTM2NzxiciAvPmNwMzY3PGJyIC8+Y3NBU0NJSTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMTwvdGQ+Ci0gICAgICAgICAgPHRkPklTT184ODU5LTE6MTk4NzwvdGQ+Ci0gICAgICAgICAgPHRkPjQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMDA8YnIgLz5JU09fODg1OS0xPGJyIC8+SVNPLTg4NTktMTxiciAvPmxhdGluMTxiciAvPmwxPGJyIC8+SUJNODE5PGJyIC8+Q1A4MTk8YnIgLz5jc0lTT0xhdGluMTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMjwvdGQ+Ci0gICAgICAgICAgPHRkPklTT184ODU5LTI6MTk4NzwvdGQ+Ci0gICAgICAgICAgPHRkPjU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMDE8YnIgLz5JU09fODg1OS0yPGJyIC8+SVNPLTg4NTktMjxiciAvPmxhdGluMjxiciAvPmwyPGJyIC8+Y3NJU09MYXRpbjI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTM8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS0zOjE5ODg8L3RkPgotICAgICAgICAgIDx0ZD42PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTA5PGJyIC8+SVNPXzg4NTktMzxiciAvPklTTy04ODU5LTM8YnIgLz5sYXRpbjM8YnIgLz5sMzxiciAvPmNzSVNPTGF0aW4zPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS00PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzg4NTktNDoxOTg4PC90ZD4KLSAgICAgICAgICA8dGQ+NzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTExMDxiciAvPklTT184ODU5LTQ8YnIgLz5JU08tODg1OS00PGJyIC8+bGF0aW40PGJyIC8+bDQ8YnIgLz5jc0lTT0xhdGluNDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktNTwvdGQ+Ci0gICAgICAgICAgPHRkPklTT184ODU5LTU6MTk4ODwvdGQ+Ci0gICAgICAgICAgPHRkPjg8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNDQ8YnIgLz5JU09fODg1OS01PGJyIC8+SVNPLTg4NTktNTxiciAvPmN5cmlsbGljPGJyIC8+Y3NJU09MYXRpbkN5cmlsbGljPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS02PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzg4NTktNjoxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+OTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTEyNzxiciAvPklTT184ODU5LTY8YnIgLz5JU08tODg1OS02PGJyIC8+RUNNQS0xMTQ8YnIgLz5BU01PLTcwODxiciAvPmFyYWJpYzxiciAvPmNzSVNPTGF0aW5BcmFiaWM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTc8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS03OjE5ODc8L3RkPgotICAgICAgICAgIDx0ZD4xMDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE5NDciPlJGQzE5NDc8L2E+XVs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTEyNjxiciAvPklTT184ODU5LTc8YnIgLz5JU08tODg1OS03PGJyIC8+RUxPVF85Mjg8YnIgLz5FQ01BLTExODxiciAvPmdyZWVrPGJyIC8+Z3JlZWs4PGJyIC8+Y3NJU09MYXRpbkdyZWVrPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS04PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzg4NTktODoxOTg4PC90ZD4KLSAgICAgICAgICA8dGQ+MTE8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMzg8YnIgLz5JU09fODg1OS04PGJyIC8+SVNPLTg4NTktODxiciAvPmhlYnJldzxiciAvPmNzSVNPTGF0aW5IZWJyZXc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTk8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS05OjE5ODk8L3RkPgotICAgICAgICAgIDx0ZD4xMjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTE0ODxiciAvPklTT184ODU5LTk8YnIgLz5JU08tODg1OS05PGJyIC8+bGF0aW41PGJyIC8+bDU8YnIgLz5jc0lTT0xhdGluNTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMTA8L3RkPgotICAgICAgICAgIDx0ZD5JU08tODg1OS0xMDwvdGQ+Ci0gICAgICAgICAgPHRkPjEzPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTU3PGJyIC8+bDY8YnIgLz5JU09fODg1OS0xMDoxOTkyPGJyIC8+Y3NJU09MYXRpbjY8YnIgLz5sYXRpbjY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTT182OTM3LTItYWRkPC90ZD4KLSAgICAgICAgICA8dGQ+MTQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dIGFuZCBJU08gNjkzNy0yOjE5ODM8YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTE0MjxiciAvPmNzSVNPVGV4dENvbW08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19YMDIwMTwvdGQ+Ci0gICAgICAgICAgPHRkPjE1PC90ZD4KLSAgICAgICAgICA8dGQ+SklTIFggMDIwMS0xOTc2LiAgIE9uZSBieXRlIG9ubHksIHRoaXMgaXMgZXF1aXZhbGVudCB0bwotSklTL1JvbWFuIChzaW1pbGFyIHRvIEFTQ0lJKSBwbHVzIGVpZ2h0LWJpdCBoYWxmLXdpZHRoCi1LYXRha2FuYTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+WDAyMDE8YnIgLz5jc0hhbGZXaWR0aEthdGFrYW5hPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5KSVNfRW5jb2Rpbmc8L3RkPgotICAgICAgICAgIDx0ZD4xNjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJUyBYIDAyMDItMTk5MS4gIFVzZXMgSVNPIDIwMjIgZXNjYXBlIHNlcXVlbmNlcyB0bwotc2hpZnQgY29kZSBzZXRzIGFzIGRvY3VtZW50ZWQgaW4gSklTIFggMDIwMi0xOTkxLjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSklTRW5jb2Rpbmc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPlNoaWZ0X0pJUzwvdGQ+Ci0gICAgICAgICAgPHRkPlNoaWZ0X0pJUzwvdGQ+Ci0gICAgICAgICAgPHRkPjE3PC90ZD4KLSAgICAgICAgICA8dGQ+VGhpcyBjaGFyc2V0IGlzIGFuIGV4dGVuc2lvbiBvZiBjc0hhbGZXaWR0aEthdGFrYW5hIGJ5Ci1hZGRpbmcgZ3JhcGhpYyBjaGFyYWN0ZXJzIGluIEpJUyBYIDAyMDguICBUaGUgQ0NTJ3MgYXJlCi1KSVMgWDAyMDE6MTk5NyBhbmQgSklTIFgwMjA4OjE5OTcuICBUaGUKLWNvbXBsZXRlIGRlZmluaXRpb24gaXMgc2hvd24gaW4gQXBwZW5kaXggMSBvZiBKSVMKLVgwMjA4OjE5OTcuCi1UaGlzIGNoYXJzZXQgY2FuIGJlIHVzZWQgZm9yIHRoZSB0b3AtbGV2ZWwgbWVkaWEgdHlwZSAidGV4dCIuPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+TVNfS2Fuamk8YnIgLz5jc1NoaWZ0SklTPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5FVUMtSlA8L3RkPgotICAgICAgICAgIDx0ZD5FeHRlbmRlZF9VTklYX0NvZGVfUGFja2VkX0Zvcm1hdF9mb3JfSmFwYW5lc2U8L3RkPgotICAgICAgICAgIDx0ZD4xODwvdGQ+Ci0gICAgICAgICAgPHRkPlN0YW5kYXJkaXplZCBieSBPU0YsIFVOSVggSW50ZXJuYXRpb25hbCwgYW5kIFVOSVggU3lzdGVtcwotTGFib3JhdG9yaWVzIFBhY2lmaWMuICBVc2VzIElTTyAyMDIyIHJ1bGVzIHRvIHNlbGVjdAotY29kZSBzZXQgMDogVVMtQVNDSUkgKGEgc2luZ2xlIDctYml0IGJ5dGUgc2V0KQotY29kZSBzZXQgMTogSklTIFgwMjA4LTE5OTAgKGEgZG91YmxlIDgtYml0IGJ5dGUgc2V0KQotcmVzdHJpY3RlZCB0byBBMC1GRiBpbiBib3RoIGJ5dGVzCi1jb2RlIHNldCAyOiBIYWxmIFdpZHRoIEthdGFrYW5hIChhIHNpbmdsZSA3LWJpdCBieXRlIHNldCkKLXJlcXVpcmluZyBTUzIgYXMgdGhlIGNoYXJhY3RlciBwcmVmaXgKLWNvZGUgc2V0IDM6IEpJUyBYMDIxMi0xOTkwIChhIGRvdWJsZSA3LWJpdCBieXRlIHNldCkKLXJlc3RyaWN0ZWQgdG8gQTAtRkYgaW4gYm90aCBieXRlcwotcmVxdWlyaW5nIFNTMyBhcyB0aGUgY2hhcmFjdGVyIHByZWZpeDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRVVDUGtkRm10SmFwYW5lc2U8YnIgLz5FVUMtSlA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkV4dGVuZGVkX1VOSVhfQ29kZV9GaXhlZF9XaWR0aF9mb3JfSmFwYW5lc2U8L3RkPgotICAgICAgICAgIDx0ZD4xOTwvdGQ+Ci0gICAgICAgICAgPHRkPlVzZWQgaW4gSmFwYW4uICBFYWNoIGNoYXJhY3RlciBpcyAyIG9jdGV0cy4KLWNvZGUgc2V0IDA6IFVTLUFTQ0lJIChhIHNpbmdsZSA3LWJpdCBieXRlIHNldCkKLTFzdCBieXRlID0gMDAKLTJuZCBieXRlID0gMjAtN0UKLWNvZGUgc2V0IDE6IEpJUyBYMDIwOC0xOTkwIChhIGRvdWJsZSA3LWJpdCBieXRlIHNldCkKLXJlc3RyaWN0ZWQgIHRvIEEwLUZGIGluIGJvdGggYnl0ZXMKLWNvZGUgc2V0IDI6IEhhbGYgV2lkdGggS2F0YWthbmEgKGEgc2luZ2xlIDctYml0IGJ5dGUgc2V0KQotMXN0IGJ5dGUgPSAwMAotMm5kIGJ5dGUgPSBBMC1GRgotY29kZSBzZXQgMzogSklTIFgwMjEyLTE5OTAgKGEgZG91YmxlIDctYml0IGJ5dGUgc2V0KQotcmVzdHJpY3RlZCB0byBBMC1GRiBpbgotdGhlIGZpcnN0IGJ5dGUKLWFuZCAyMS03RSBpbiB0aGUgc2Vjb25kIGJ5dGU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc0VVQ0ZpeFdpZEphcGFuZXNlPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5CU180NzMwPC90ZD4KLSAgICAgICAgICA8dGQ+MjA8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci00PGJyIC8+SVNPNjQ2LUdCPGJyIC8+Z2I8YnIgLz51azxiciAvPmNzSVNPNFVuaXRlZEtpbmdkb208L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlNFTl84NTAyMDBfQzwvdGQ+Ci0gICAgICAgICAgPHRkPjIxPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTE8YnIgLz5JU082NDYtU0UyPGJyIC8+c2UyPGJyIC8+Y3NJU08xMVN3ZWRpc2hGb3JOYW1lczwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVQ8L3RkPgotICAgICAgICAgIDx0ZD4yMjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTE1PGJyIC8+SVNPNjQ2LUlUPGJyIC8+Y3NJU08xNUl0YWxpYW48L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVTPC90ZD4KLSAgICAgICAgICA8dGQ+MjM8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNzxiciAvPklTTzY0Ni1FUzxiciAvPmNzSVNPMTdTcGFuaXNoPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ESU5fNjYwMDM8L3RkPgotICAgICAgICAgIDx0ZD4yNDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTIxPGJyIC8+ZGU8YnIgLz5JU082NDYtREU8YnIgLz5jc0lTTzIxR2VybWFuPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5OU180NTUxLTE8L3RkPgotICAgICAgICAgIDx0ZD4yNTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTYwPGJyIC8+SVNPNjQ2LU5PPGJyIC8+bm88YnIgLz5jc0lTTzYwRGFuaXNoTm9yd2VnaWFuPGJyIC8+Y3NJU082ME5vcndlZ2lhbjE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk5GX1pfNjItMDEwPC90ZD4KLSAgICAgICAgICA8dGQ+MjY8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci02OTxiciAvPklTTzY0Ni1GUjxiciAvPmZyPGJyIC8+Y3NJU082OUZyZW5jaDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTEwNjQ2LVVURi0xPC90ZD4KLSAgICAgICAgICA8dGQ+Mjc8L3RkPgotICAgICAgICAgIDx0ZD5Vbml2ZXJzYWwgVHJhbnNmZXIgRm9ybWF0ICgxKSwgdGhpcyBpcyB0aGUgbXVsdGlieXRlCi1lbmNvZGluZywgdGhhdCBzdWJzZXRzIEFTQ0lJLTcuIEl0IGRvZXMgbm90IGhhdmUgYnl0ZQotb3JkZXJpbmcgaXNzdWVzLjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSVNPMTA2NDZVVEYxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU09fNjQ2LmJhc2ljOjE5ODM8L3RkPgotICAgICAgICAgIDx0ZD4yODwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+cmVmPGJyIC8+Y3NJU082NDZiYXNpYzE5ODM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklOVkFSSUFOVDwvdGQ+Ci0gICAgICAgICAgPHRkPjI5PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0lOVkFSSUFOVDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzY0Ni5pcnY6MTk4MzwvdGQ+Ci0gICAgICAgICAgPHRkPjMwPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMjxiciAvPmlydjxiciAvPmNzSVNPMkludGxSZWZWZXJzaW9uPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5OQVRTLVNFRkk8L3RkPgotICAgICAgICAgIDx0ZD4zMTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTgtMTxiciAvPmNzTkFUU1NFRkk8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk5BVFMtU0VGSS1BREQ8L3RkPgotICAgICAgICAgIDx0ZD4zMjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTgtMjxiciAvPmNzTkFUU1NFRklBREQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk5BVFMtREFOTzwvdGQ+Ci0gICAgICAgICAgPHRkPjMzPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOS0xPGJyIC8+Y3NOQVRTREFOTzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+TkFUUy1EQU5PLUFERDwvdGQ+Ci0gICAgICAgICAgPHRkPjM0PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOS0yPGJyIC8+Y3NOQVRTREFOT0FERDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+U0VOXzg1MDIwMF9CPC90ZD4KLSAgICAgICAgICA8dGQ+MzU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMDxiciAvPkZJPGJyIC8+SVNPNjQ2LUZJPGJyIC8+SVNPNjQ2LVNFPGJyIC8+c2U8YnIgLz5jc0lTTzEwU3dlZGlzaDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+S1NfQ181NjAxLTE5ODc8L3RkPgotICAgICAgICAgIDx0ZD4zNjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTE0OTxiciAvPktTX0NfNTYwMS0xOTg5PGJyIC8+S1NDXzU2MDE8YnIgLz5rb3JlYW48YnIgLz5jc0tTQzU2MDExOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tMjAyMi1LUjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy0yMDIyLUtSPC90ZD4KLSAgICAgICAgICA8dGQ+Mzc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU3Ij5SRkMxNTU3PC9hPl0gKHNlZSBhbHNvIEtTX0NfNTYwMS0xOTg3KTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTciPlJGQzE1NTc8L2E+XVs8YSBocmVmPSIjV29vaHlvbmdfQ2hvaSI+V29vaHlvbmdfQ2hvaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NJU08yMDIyS1I8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPkVVQy1LUjwvdGQ+Ci0gICAgICAgICAgPHRkPkVVQy1LUjwvdGQ+Ci0gICAgICAgICAgPHRkPjM4PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NyI+UkZDMTU1NzwvYT5dIChzZWUgYWxzbyBLU19DXzU4NjEtMTk5Mik8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU3Ij5SRkMxNTU3PC9hPl1bPGEgaHJlZj0iI1dvb2h5b25nX0Nob2kiPldvb2h5b25nX0Nob2k8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRVVDS1I8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPklTTy0yMDIyLUpQPC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTIwMjItSlA8L3RkPgotICAgICAgICAgIDx0ZD4zOTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NjgiPlJGQzE0Njg8L2E+XSAoc2VlIGFsc28gWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjIzNyI+UkZDMjIzNzwvYT5dKTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NjgiPlJGQzE0Njg8L2E+XVs8YSBocmVmPSIjSnVuX011cmFpIj5KdW5fTXVyYWk8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSVNPMjAyMkpQPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tMjAyMi1KUC0yPC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTIwMjItSlAtMjwvdGQ+Ci0gICAgICAgICAgPHRkPjQwPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTQiPlJGQzE1NTQ8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NCI+UkZDMTU1NDwvYT5dWzxhIGhyZWY9IiNNYXNhdGFrYV9PaHRhIj5NYXNhdGFrYV9PaHRhPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0lTTzIwMjJKUDI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19DNjIyMC0xOTY5LWpwPC90ZD4KLSAgICAgICAgICA8dGQ+NDE8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19DNjIyMC0xOTY5PGJyIC8+aXNvLWlyLTEzPGJyIC8+a2F0YWthbmE8YnIgLz54MDIwMS03PGJyIC8+Y3NJU08xM0pJU0M2MjIwanA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19DNjIyMC0xOTY5LXJvPC90ZD4KLSAgICAgICAgICA8dGQ+NDI8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNDxiciAvPmpwPGJyIC8+SVNPNjQ2LUpQPGJyIC8+Y3NJU08xNEpJU0M2MjIwcm88L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlBUPC90ZD4KLSAgICAgICAgICA8dGQ+NDM8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNjxiciAvPklTTzY0Ni1QVDxiciAvPmNzSVNPMTZQb3J0dWd1ZXNlPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ncmVlazctb2xkPC90ZD4KLSAgICAgICAgICA8dGQ+NDQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xODxiciAvPmNzSVNPMThHcmVlazdPbGQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmxhdGluLWdyZWVrPC90ZD4KLSAgICAgICAgICA8dGQ+NDU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xOTxiciAvPmNzSVNPMTlMYXRpbkdyZWVrPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ORl9aXzYyLTAxMF8oMTk3Myk8L3RkPgotICAgICAgICAgIDx0ZD40NjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTI1PGJyIC8+SVNPNjQ2LUZSMTxiciAvPmNzSVNPMjVGcmVuY2g8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkxhdGluLWdyZWVrLTE8L3RkPgotICAgICAgICAgIDx0ZD40NzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTI3PGJyIC8+Y3NJU08yN0xhdGluR3JlZWsxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU09fNTQyNzwvdGQ+Ci0gICAgICAgICAgPHRkPjQ4PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMzc8YnIgLz5jc0lTTzU0MjdDeXJpbGxpYzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SklTX0M2MjI2LTE5Nzg8L3RkPgotICAgICAgICAgIDx0ZD40OTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTQyPGJyIC8+Y3NJU080MkpJU0M2MjI2MTk3ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+QlNfdmlld2RhdGE8L3RkPgotICAgICAgICAgIDx0ZD41MDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTQ3PGJyIC8+Y3NJU080N0JTVmlld2RhdGE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklOSVM8L3RkPgotICAgICAgICAgIDx0ZD41MTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTQ5PGJyIC8+Y3NJU080OUlOSVM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklOSVMtODwvdGQ+Ci0gICAgICAgICAgPHRkPjUyPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItNTA8YnIgLz5jc0lTTzUwSU5JUzg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklOSVMtY3lyaWxsaWM8L3RkPgotICAgICAgICAgIDx0ZD41MzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTUxPGJyIC8+Y3NJU081MUlOSVNDeXJpbGxpYzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzU0Mjc6MTk4MTwvdGQ+Ci0gICAgICAgICAgPHRkPjU0PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItNTQ8YnIgLz5JU081NDI3Q3lyaWxsaWMxOTgxPGJyIC8+Y3NJU081NDI3MTk4MTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzU0Mjg6MTk4MDwvdGQ+Ci0gICAgICAgICAgPHRkPjU1PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItNTU8YnIgLz5jc0lTTzU0MjhHcmVlazwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+R0JfMTk4OC04MDwvdGQ+Ci0gICAgICAgICAgPHRkPjU2PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItNTc8YnIgLz5jbjxiciAvPklTTzY0Ni1DTjxiciAvPmNzSVNPNTdHQjE5ODg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkdCXzIzMTItODA8L3RkPgotICAgICAgICAgIDx0ZD41NzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTU4PGJyIC8+Y2hpbmVzZTxiciAvPmNzSVNPNThHQjIzMTI4MDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+TlNfNDU1MS0yPC90ZD4KLSAgICAgICAgICA8dGQ+NTg8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPklTTzY0Ni1OTzI8YnIgLz5pc28taXItNjE8YnIgLz5ubzI8YnIgLz5jc0lTTzYxTm9yd2VnaWFuMjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+dmlkZW90ZXgtc3VwcGw8L3RkPgotICAgICAgICAgIDx0ZD41OTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTcwPGJyIC8+Y3NJU083MFZpZGVvdGV4U3VwcDE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlBUMjwvdGQ+Ci0gICAgICAgICAgPHRkPjYwPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItODQ8YnIgLz5JU082NDYtUFQyPGJyIC8+Y3NJU084NFBvcnR1Z3Vlc2UyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5FUzI8L3RkPgotICAgICAgICAgIDx0ZD42MTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTg1PGJyIC8+SVNPNjQ2LUVTMjxiciAvPmNzSVNPODVTcGFuaXNoMjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+TVNaXzc3OTUuMzwvdGQ+Ci0gICAgICAgICAgPHRkPjYyPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItODY8YnIgLz5JU082NDYtSFU8YnIgLz5odTxiciAvPmNzSVNPODZIdW5nYXJpYW48L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19DNjIyNi0xOTgzPC90ZD4KLSAgICAgICAgICA8dGQ+NjM8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci04NzxiciAvPngwMjA4PGJyIC8+SklTX1gwMjA4LTE5ODM8YnIgLz5jc0lTTzg3SklTWDAyMDg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmdyZWVrNzwvdGQ+Ci0gICAgICAgICAgPHRkPjY0PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItODg8YnIgLz5jc0lTTzg4R3JlZWs3PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5BU01PXzQ0OTwvdGQ+Ci0gICAgICAgICAgPHRkPjY1PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5JU09fOTAzNjxiciAvPmFyYWJpYzc8YnIgLz5pc28taXItODk8YnIgLz5jc0lTTzg5QVNNTzQ0OTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTkwPC90ZD4KLSAgICAgICAgICA8dGQ+NjY8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSVNPOTA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkpJU19DNjIyOS0xOTg0LWE8L3RkPgotICAgICAgICAgIDx0ZD42NzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTkxPGJyIC8+anAtb2NyLWE8YnIgLz5jc0lTTzkxSklTQzYyMjkxOTg0YTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SklTX0M2MjI5LTE5ODQtYjwvdGQ+Ci0gICAgICAgICAgPHRkPjY4PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOTI8YnIgLz5JU082NDYtSlAtT0NSLUI8YnIgLz5qcC1vY3ItYjxiciAvPmNzSVNPOTJKSVNDNjI5OTE5ODRiPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5KSVNfQzYyMjktMTk4NC1iLWFkZDwvdGQ+Ci0gICAgICAgICAgPHRkPjY5PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOTM8YnIgLz5qcC1vY3ItYi1hZGQ8YnIgLz5jc0lTTzkzSklTNjIyOTE5ODRiYWRkPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5KSVNfQzYyMjktMTk4NC1oYW5kPC90ZD4KLSAgICAgICAgICA8dGQ+NzA8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci05NDxiciAvPmpwLW9jci1oYW5kPGJyIC8+Y3NJU085NEpJUzYyMjkxOTg0aGFuZDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SklTX0M2MjI5LTE5ODQtaGFuZC1hZGQ8L3RkPgotICAgICAgICAgIDx0ZD43MTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTk1PGJyIC8+anAtb2NyLWhhbmQtYWRkPGJyIC8+Y3NJU085NUpJUzYyMjkxOTg0aGFuZGFkZDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SklTX0M2MjI5LTE5ODQta2FuYTwvdGQ+Ci0gICAgICAgICAgPHRkPjcyPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOTY8YnIgLz5jc0lTTzk2SklTQzYyMjkxOTg0a2FuYTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzIwMzMtMTk4MzwvdGQ+Ci0gICAgICAgICAgPHRkPjczPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItOTg8YnIgLz5lMTNiPGJyIC8+Y3NJU08yMDMzPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5BTlNJX1gzLjExMC0xOTgzPC90ZD4KLSAgICAgICAgICA8dGQ+NzQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci05OTxiciAvPkNTQV9UNTAwLTE5ODM8YnIgLz5OQVBMUFM8YnIgLz5jc0lTTzk5TkFQTFBTPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ULjYxLTdiaXQ8L3RkPgotICAgICAgICAgIDx0ZD43NTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTEwMjxiciAvPmNzSVNPMTAyVDYxN2JpdDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VC42MS04Yml0PC90ZD4KLSAgICAgICAgICA8dGQ+NzY8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPlQuNjE8YnIgLz5pc28taXItMTAzPGJyIC8+Y3NJU08xMDNUNjE4Yml0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5FQ01BLWN5cmlsbGljPC90ZD4KLSAgICAgICAgICA8dGQ+Nzc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8xMTEucGRmIj5JU08gcmVnaXN0cnk8L2E+XQotICAgICAgICAoZm9ybWVybHkgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5FQ01BCi0gICAgICAgICAgcmVnaXN0cnk8L2E+XSk8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTExPGJyIC8+S09JOC1FPGJyIC8+Y3NJU08xMTFFQ01BQ3lyaWxsaWM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkNTQV9aMjQzLjQtMTk4NS0xPC90ZD4KLSAgICAgICAgICA8dGQ+Nzg8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMjE8YnIgLz5JU082NDYtQ0E8YnIgLz5jc2E3LTE8YnIgLz5jc2E3MTxiciAvPmNhPGJyIC8+Y3NJU08xMjFDYW5hZGlhbjE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkNTQV9aMjQzLjQtMTk4NS0yPC90ZD4KLSAgICAgICAgICA8dGQ+Nzk8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMjI8YnIgLz5JU082NDYtQ0EyPGJyIC8+Y3NhNy0yPGJyIC8+Y3NhNzI8YnIgLz5jc0lTTzEyMkNhbmFkaWFuMjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q1NBX1oyNDMuNC0xOTg1LWdyPC90ZD4KLSAgICAgICAgICA8dGQ+ODA8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMjM8YnIgLz5jc0lTTzEyM0NTQVoyNDM0MTk4NWdyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS02LUU8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS02LUU8L3RkPgotICAgICAgICAgIDx0ZD44MTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU2Ij5SRkMxNTU2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XVs8YSBocmVmPSIjSUFOQSI+SUFOQTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NJU084ODU5NkU8YnIgLz5JU08tODg1OS02LUU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTYtSTwvdGQ+Ci0gICAgICAgICAgPHRkPklTT184ODU5LTYtSTwvdGQ+Ci0gICAgICAgICAgPHRkPjgyPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NiI+UkZDMTU1NjwvYT5dWzxhIGhyZWY9IiNJQU5BIj5JQU5BPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0lTTzg4NTk2STxiciAvPklTTy04ODU5LTYtSTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VC4xMDEtRzI8L3RkPgotICAgICAgICAgIDx0ZD44MzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTEyODxiciAvPmNzSVNPMTI4VDEwMUcyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS04LUU8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS04LUU8L3RkPgotICAgICAgICAgIDx0ZD44NDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU2Ij5SRkMxNTU2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XVs8YSBocmVmPSIjSGFua19OdXNzYmFjaGVyIj5IYW5rX051c3NiYWNoZXI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSVNPODg1OThFPGJyIC8+SVNPLTg4NTktOC1FPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5JU08tODg1OS04LUk8L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS04LUk8L3RkPgotICAgICAgICAgIDx0ZD44NTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU2Ij5SRkMxNTU2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XVs8YSBocmVmPSIjSGFua19OdXNzYmFjaGVyIj5IYW5rX051c3NiYWNoZXI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSVNPODg1OThJPGJyIC8+SVNPLTg4NTktOC1JPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DU05fMzY5MTAzPC90ZD4KLSAgICAgICAgICA8dGQ+ODY8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xMzk8YnIgLz5jc0lTTzEzOUNTTjM2OTEwMzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SlVTX0kuQjEuMDAyPC90ZD4KLSAgICAgICAgICA8dGQ+ODc8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNDE8YnIgLz5JU082NDYtWVU8YnIgLz5qczxiciAvPnl1PGJyIC8+Y3NJU08xNDFKVVNJQjEwMDI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklFQ19QMjctMTwvdGQ+Ci0gICAgICAgICAgPHRkPjg4PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTQzPGJyIC8+Y3NJU08xNDNJRUNQMjcxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5KVVNfSS5CMS4wMDMtc2VyYjwvdGQ+Ci0gICAgICAgICAgPHRkPjg5PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTQ2PGJyIC8+c2VyYmlhbjxiciAvPmNzSVNPMTQ2U2VyYmlhbjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SlVTX0kuQjEuMDAzLW1hYzwvdGQ+Ci0gICAgICAgICAgPHRkPjkwPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5tYWNlZG9uaWFuPGJyIC8+aXNvLWlyLTE0NzxiciAvPmNzSVNPMTQ3TWFjZWRvbmlhbjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Z3JlZWstY2NpdHQ8L3RkPgotICAgICAgICAgIDx0ZD45MTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+aXNvLWlyLTE1MDxiciAvPmNzSVNPMTUwPGJyIC8+Y3NJU08xNTBHcmVla0NDSVRUPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5OQ19OQzAwLTEwOjgxPC90ZD4KLSAgICAgICAgICA8dGQ+OTI8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmN1YmE8YnIgLz5pc28taXItMTUxPGJyIC8+SVNPNjQ2LUNVPGJyIC8+Y3NJU08xNTFDdWJhPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU09fNjkzNy0yLTI1PC90ZD4KLSAgICAgICAgICA8dGQ+OTM8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNTI8YnIgLz5jc0lTTzY5MzdBZGQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkdPU1RfMTk3NjgtNzQ8L3RkPgotICAgICAgICAgIDx0ZD45NDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+U1RfU0VWXzM1OC04ODxiciAvPmlzby1pci0xNTM8YnIgLz5jc0lTTzE1M0dPU1QxOTc2ODc0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS1zdXBwPC90ZD4KLSAgICAgICAgICA8dGQ+OTU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xNTQ8YnIgLz5sYXRpbjEtMi01PGJyIC8+Y3NJU084ODU5U3VwcDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzEwMzY3LWJveDwvdGQ+Ci0gICAgICAgICAgPHRkPjk2PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgotICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMTU1PGJyIC8+Y3NJU08xMDM2N0JveDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+bGF0aW4tbGFwPC90ZD4KLSAgICAgICAgICA8dGQ+OTc8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+Ci0gICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmxhcDxiciAvPmlzby1pci0xNTg8YnIgLz5jc0lTTzE1OExhcDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SklTX1gwMjEyLTE5OTA8L3RkPgotICAgICAgICAgIDx0ZD45ODwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KLSAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+eDAyMTI8YnIgLz5pc28taXItMTU5PGJyIC8+Y3NJU08xNTlKSVNYMDIxMjE5OTA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkRTXzIwODk8L3RkPgotICAgICAgICAgIDx0ZD45OTwvdGQ+Ci0gICAgICAgICAgPHRkPkRhbmlzaCBTdGFuZGFyZCwgRFMgMjA4OSwgRmVicnVhcnkgMTk3NDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+RFMyMDg5PGJyIC8+SVNPNjQ2LURLPGJyIC8+ZGs8YnIgLz5jc0lTTzY0NkRhbmlzaDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+dXMtZGs8L3RkPgotICAgICAgICAgIDx0ZD4xMDA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVVNESzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+ZGstdXM8L3RkPgotICAgICAgICAgIDx0ZD4xMDE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzREtVUzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+S1NDNTYzNjwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+SVNPNjQ2LUtSPGJyIC8+Y3NLU0M1NjM2PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5VTklDT0RFLTEtMS1VVEYtNzwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNjQyIj5SRkMxNjQyPC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE2NDIiPlJGQzE2NDI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5pY29kZTExVVRGNzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTIwMjItQ048L3RkPgotICAgICAgICAgIDx0ZD4xMDQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTkyMiI+UkZDMTkyMjwvYT5dCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxOTIyIj5SRkMxOTIyPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0lTTzIwMjJDTjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTIwMjItQ04tRVhUPC90ZD4KLSAgICAgICAgICA8dGQ+MTA1PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE5MjIiPlJGQzE5MjI8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTkyMiI+UkZDMTkyMjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NJU08yMDIyQ05FWFQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlVURi04PC90ZD4KLSAgICAgICAgICA8dGQ+MTA2PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzM2MjkiPlJGQzM2Mjk8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMzYyOSI+UkZDMzYyOTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVVEY4PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU08tODg1OS0xMzwvdGQ+Ci0gICAgICAgICAgPHRkPjEwOTwvdGQ+Ci0gICAgICAgICAgPHRkPklTTyBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSVNPLTg4NTktMTMiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSVNPLTg4NTktMTM8L2E+XVs8YSBocmVmPSIjVmxhZGFzX1R1bWFzb25pcyI+VmxhZGFzX1R1bWFzb25pczwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NJU084ODU5MTM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTE0PC90ZD4KLSAgICAgICAgICA8dGQ+MTEwPC90ZD4KLSAgICAgICAgICA8dGQ+SVNPIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tODg1OS0xNCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tODg1OS0xNDwvYT5dIFs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbl8yIj5LZWxkX1NpbW9uc2VuXzI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmlzby1pci0xOTk8YnIgLz5JU09fODg1OS0xNDoxOTk4PGJyIC8+SVNPXzg4NTktMTQ8YnIgLz5sYXRpbjg8YnIgLz5pc28tY2VsdGljPGJyIC8+bDg8YnIgLz5jc0lTTzg4NTkxNDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMTU8L3RkPgotICAgICAgICAgIDx0ZD4xMTE8L3RkPgotICAgICAgICAgIDx0ZD5JU08KLVBsZWFzZSBzZWU6IFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy04ODU5LTE1Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy04ODU5LTE1PC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU09fODg1OS0xNTxiciAvPkxhdGluLTk8YnIgLz5jc0lTTzg4NTkxNTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMTY8L3RkPgotICAgICAgICAgIDx0ZD4xMTI8L3RkPgotICAgICAgICAgIDx0ZD5JU088L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5pc28taXItMjI2PGJyIC8+SVNPXzg4NTktMTY6MjAwMTxiciAvPklTT184ODU5LTE2PGJyIC8+bGF0aW4xMDxiciAvPmwxMDxiciAvPmNzSVNPODg1OTE2PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5HQks8L3RkPgotICAgICAgICAgIDx0ZD4xMTM8L3RkPgotICAgICAgICAgIDx0ZD5DaGluZXNlIElUIFN0YW5kYXJkaXphdGlvbiBUZWNobmljYWwgQ29tbWl0dGVlCi1QbGVhc2Ugc2VlOiBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9HQksiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvR0JLPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DUDkzNjxiciAvPk1TOTM2PGJyIC8+d2luZG93cy05MzY8YnIgLz5jc0dCSzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+R0IxODAzMDwvdGQ+Ci0gICAgICAgICAgPHRkPjExNDwvdGQ+Ci0gICAgICAgICAgPHRkPkNoaW5lc2UgSVQgU3RhbmRhcmRpemF0aW9uIFRlY2huaWNhbCBDb21taXR0ZWUKLVBsZWFzZSBzZWU6IFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0dCMTgwMzAiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvR0IxODAzMDwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NHQjE4MDMwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5PU0RfRUJDRElDX0RGMDRfMTU8L3RkPgotICAgICAgICAgIDx0ZD4xMTU8L3RkPgotICAgICAgICAgIDx0ZD5GdWppdHN1LVNpZW1lbnMgc3RhbmRhcmQgbWFpbmZyYW1lIEVCQ0RJQyBlbmNvZGluZwotUGxlYXNlIHNlZTogWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvT1NELUVCQ0RJQy1ERjA0LTE1Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL09TRC1FQkNESUMtREYwNC0xNTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NPU0RFQkNESUNERjA0MTU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk9TRF9FQkNESUNfREYwM19JUlY8L3RkPgotICAgICAgICAgIDx0ZD4xMTY8L3RkPgotICAgICAgICAgIDx0ZD5GdWppdHN1LVNpZW1lbnMgc3RhbmRhcmQgbWFpbmZyYW1lIEVCQ0RJQyBlbmNvZGluZwotUGxlYXNlIHNlZTogWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvT1NELUVCQ0RJQy1ERjAzLUlSViI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9PU0QtRUJDRElDLURGMDMtSVJWPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc09TREVCQ0RJQ0RGMDNJUlY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk9TRF9FQkNESUNfREYwNF8xPC90ZD4KLSAgICAgICAgICA8dGQ+MTE3PC90ZD4KLSAgICAgICAgICA8dGQ+RnVqaXRzdS1TaWVtZW5zIHN0YW5kYXJkIG1haW5mcmFtZSBFQkNESUMgZW5jb2RpbmcKLVBsZWFzZSBzZWU6IFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL09TRC1FQkNESUMtREYwNC0xIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL09TRC1FQkNESUMtREYwNC0xPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc09TREVCQ0RJQ0RGMDQxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU08tMTE1NDgtMTwvdGQ+Ci0gICAgICAgICAgPHRkPjExODwvdGQ+Ci0gICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tMTE1NDgtMSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tMTE1NDgtMTwvYT5dICAgICAgICAgICAgWzxhIGhyZWY9IiNTYW11ZWxfVGhpYmF1bHQiPlNhbXVlbF9UaGliYXVsdDwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPXzExNTQ4LTE8YnIgLz5JU09fVFJfMTE1NDgtMTxiciAvPmNzSVNPMTE1NDgxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5LWi0xMDQ4PC90ZD4KLSAgICAgICAgICA8dGQ+MTE5PC90ZD4KLSAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0taLTEwNDgiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvS1otMTA0ODwvYT5dICAgICAgWzxhIGhyZWY9IiNTYWlyYW5fTV9LaWtrYXJpbiI+U2FpcmFuX01fS2lra2FyaW48L2E+XVs8YSBocmVmPSIjQWxleGVpX1ZlcmVtZWV2Ij5BbGV4ZWlfVmVyZW1lZXY8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlNUUksxMDQ4LTIwMDI8YnIgLz5SSzEwNDg8YnIgLz5jc0taMTA0ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTEwNjQ2LVVDUy0yPC90ZD4KLSAgICAgICAgICA8dGQ+MTAwMDwvdGQ+Ci0gICAgICAgICAgPHRkPnRoZSAyLW9jdGV0IEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSwgYWthIFVuaWNvZGUKLXRoaXMgbmVlZHMgdG8gc3BlY2lmeSBuZXR3b3JrIGJ5dGUgb3JkZXI6IHRoZSBzdGFuZGFyZAotZG9lcyBub3Qgc3BlY2lmeSAoaXQgaXMgYSAxNi1iaXQgaW50ZWdlciBzcGFjZSk8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc1VuaWNvZGU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy0xMDY0Ni1VQ1MtNDwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMDE8L3RkPgotICAgICAgICAgIDx0ZD50aGUgZnVsbCBjb2RlIHNwYWNlLiAoc2FtZSBjb21tZW50IGFib3V0IGJ5dGUgb3JkZXIsCi10aGVzZSBhcmUgMzEtYml0IG51bWJlcnMuPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVQ1M0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU08tMTA2NDYtVUNTLUJhc2ljPC90ZD4KLSAgICAgICAgICA8dGQ+MTAwMjwvdGQ+Ci0gICAgICAgICAgPHRkPkFTQ0lJIHN1YnNldCBvZiBVbmljb2RlLiAgQmFzaWMgTGF0aW4gPSBjb2xsZWN0aW9uIDEKLVNlZSBJU08gMTA2NDYsIEFwcGVuZGl4IEE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc1VuaWNvZGVBU0NJSTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTEwNjQ2LVVuaWNvZGUtTGF0aW4xPC90ZD4KLSAgICAgICAgICA8dGQ+MTAwMzwvdGQ+Ci0gICAgICAgICAgPHRkPklTTyBMYXRpbi0xIHN1YnNldCBvZiBVbmljb2RlLiBCYXNpYyBMYXRpbiBhbmQgTGF0aW4tMQotU3VwcGxlbWVudCAgPSBjb2xsZWN0aW9ucyAxIGFuZCAyLiAgU2VlIElTTyAxMDY0NiwKLUFwcGVuZGl4IEEuICBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTgxNSI+UkZDMTgxNTwvYT5dLjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5pY29kZUxhdGluMTxiciAvPklTTy0xMDY0NjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTEwNjQ2LUotMTwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMDQ8L3RkPgotICAgICAgICAgIDx0ZD5JU08gMTA2NDYgSmFwYW5lc2UsIHNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODE1Ij5SRkMxODE1PC9hPl0uPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVbmljb2RlSmFwYW5lc2U8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy1Vbmljb2RlLUlCTS0xMjYxPC90ZD4KLSAgICAgICAgICA8dGQ+MTAwNTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBMYXRpbi0yLCAtMywgLTUsIEV4dGVuZGVkIFByZXNlbnRhdGlvbiBTZXQsIEdDU0dJRDogMTI2MTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5pY29kZUlCTTEyNjE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy1Vbmljb2RlLUlCTS0xMjY4PC90ZD4KLSAgICAgICAgICA8dGQ+MTAwNjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBMYXRpbi00IEV4dGVuZGVkIFByZXNlbnRhdGlvbiBTZXQsIEdDU0dJRDogMTI2ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5pY29kZUlCTTEyNjg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy1Vbmljb2RlLUlCTS0xMjc2PC90ZD4KLSAgICAgICAgICA8dGQ+MTAwNzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBDeXJpbGxpYyBHcmVlayBFeHRlbmRlZCBQcmVzZW50YXRpb24gU2V0LCBHQ1NHSUQ6IDEyNzY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc1VuaWNvZGVJQk0xMjc2PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU08tVW5pY29kZS1JQk0tMTI2NDwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMDg8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gQXJhYmljIFByZXNlbnRhdGlvbiBTZXQsIEdDU0dJRDogMTI2NDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5pY29kZUlCTTEyNjQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy1Vbmljb2RlLUlCTS0xMjY1PC90ZD4KLSAgICAgICAgICA8dGQ+MTAwOTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBIZWJyZXcgUHJlc2VudGF0aW9uIFNldCwgR0NTR0lEOiAxMjY1PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVbmljb2RlSUJNMTI2NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VU5JQ09ERS0xLTE8L3RkPgotICAgICAgICAgIDx0ZD4xMDEwPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE2NDEiPlJGQzE2NDE8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTY0MSI+UkZDMTY0MTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVbmljb2RlMTE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlNDU1U8L3RkPgotICAgICAgICAgIDx0ZD4xMDExPC90ZD4KLSAgICAgICAgICA8dGQ+U0NTVSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvU0NTVSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9TQ1NVPC9hPl0gICAgIFs8YSBocmVmPSIjTWFya3VzX1NjaGVyZXIiPk1hcmt1c19TY2hlcmVyPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc1NDU1U8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlVURi03PC90ZD4KLSAgICAgICAgICA8dGQ+MTAxMjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyMTUyIj5SRkMyMTUyPC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzIxNTIiPlJGQzIxNTI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVVRGNzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VVRGLTE2QkU8L3RkPgotICAgICAgICAgIDx0ZD4xMDEzPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzI3ODEiPlJGQzI3ODE8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjc4MSI+UkZDMjc4MTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVVEYxNkJFPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5VVEYtMTZMRTwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMTQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjc4MSI+UkZDMjc4MTwvYT5dCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyNzgxIj5SRkMyNzgxPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc1VURjE2TEU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlVURi0xNjwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMTU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjc4MSI+UkZDMjc4MTwvYT5dCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyNzgxIj5SRkMyNzgxPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc1VURjE2PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DRVNVLTg8L3RkPgotICAgICAgICAgIDx0ZD4xMDE2PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LnVuaWNvZGUub3JnL3VuaWNvZGUvcmVwb3J0cy90cjI2Ij5odHRwOi8vd3d3LnVuaWNvZGUub3JnL3VuaWNvZGUvcmVwb3J0cy90cjI2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSIjVG9ieV9QaGlwcHMiPlRvYnlfUGhpcHBzPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0NFU1U4PGJyIC8+Y3NDRVNVLTg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlVURi0zMjwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMTc8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTkvIj5odHRwOi8vd3d3LnVuaWNvZGUub3JnL3VuaWNvZGUvcmVwb3J0cy90cjE5LzwvYT5dCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iI01hcmtfRGF2aXMiPk1hcmtfRGF2aXM8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVVRGMzI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlVURi0zMkJFPC90ZD4KLSAgICAgICAgICA8dGQ+MTAxODwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxOS8iPmh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTkvPC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSIjTWFya19EYXZpcyI+TWFya19EYXZpczwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NVVEYzMkJFPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5VVEYtMzJMRTwvdGQ+Ci0gICAgICAgICAgPHRkPjEwMTk8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTkvIj5odHRwOi8vd3d3LnVuaWNvZGUub3JnL3VuaWNvZGUvcmVwb3J0cy90cjE5LzwvYT5dCi0gICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iI01hcmtfRGF2aXMiPk1hcmtfRGF2aXM8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVVRGMzJMRTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Qk9DVS0xPC90ZD4KLSAgICAgICAgICA8dGQ+MTAyMDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy9ub3Rlcy90bjYvIj5odHRwOi8vd3d3LnVuaWNvZGUub3JnL25vdGVzL3RuNi88L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9IiNNYXJrdXNfU2NoZXJlciI+TWFya3VzX1NjaGVyZXI8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzQk9DVTE8YnIgLz5jc0JPQ1UtMTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMS1XaW5kb3dzLTMuMC1MYXRpbi0xPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMDwvdGQ+Ci0gICAgICAgICAgPHRkPkV4dGVuZGVkIElTTyA4ODU5LTEgTGF0aW4tMSBmb3IgV2luZG93cyAzLjAuCi1QQ0wgU3ltYm9sIFNldCBpZDogOVU8L3RkPgotICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKLShQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgotICAgICAgICAgIDx0ZD5jc1dpbmRvd3MzMExhdGluMTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SVNPLTg4NTktMS1XaW5kb3dzLTMuMS1MYXRpbi0xPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMTwvdGQ+Ci0gICAgICAgICAgPHRkPkV4dGVuZGVkIElTTyA4ODU5LTEgTGF0aW4tMSBmb3IgV2luZG93cyAzLjEuCi1QQ0wgU3ltYm9sIFNldCBpZDogMTlVPC90ZD4KLSAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCi0oUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NXaW5kb3dzMzFMYXRpbjE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklTTy04ODU5LTItV2luZG93cy1MYXRpbi0yPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMjwvdGQ+Ci0gICAgICAgICAgPHRkPkV4dGVuZGVkIElTTyA4ODU5LTIuICBMYXRpbi0yIGZvciBXaW5kb3dzIDMuMS4KLVBDTCBTeW1ib2wgU2V0IGlkOiA5RTwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzV2luZG93czMxTGF0aW4yPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JU08tODg1OS05LVdpbmRvd3MtTGF0aW4tNTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDM8L3RkPgotICAgICAgICAgIDx0ZD5FeHRlbmRlZCBJU08gODg1OS05LiAgTGF0aW4tNSBmb3IgV2luZG93cyAzLjEKLVBDTCBTeW1ib2wgU2V0IGlkOiA1VDwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzV2luZG93czMxTGF0aW41PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ocC1yb21hbjg8L3RkPgotICAgICAgICAgIDx0ZD4yMDA0PC90ZD4KLSAgICAgICAgICA8dGQ+TGFzZXJKZXQgSUlQIFByaW50ZXIgVXNlcidzIE1hbnVhbCwKLUhQIHBhcnQgbm8gMzM0NzEtOTA5MDEsIEhld2xldC1QYWNrYXJkLCBKdW5lIDE5ODkuPC90ZD4KLSAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCi0oUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5yb21hbjg8YnIgLz5yODxiciAvPmNzSFBSb21hbjg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkFkb2JlLVN0YW5kYXJkLUVuY29kaW5nPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwNTwvdGQ+Ci0gICAgICAgICAgPHRkPlBvc3RTY3JpcHQgTGFuZ3VhZ2UgUmVmZXJlbmNlIE1hbnVhbAotUENMIFN5bWJvbCBTZXQgaWQ6IDEwSjwvdGQ+Ci0gICAgICAgICAgPHRkPltBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZCwgUG9zdFNjcmlwdCBMYW5ndWFnZSBSZWZlcmVuY2UKLU1hbnVhbCwgc2Vjb25kIGVkaXRpb24sIEFkZGlzb24tV2VzbGV5IFB1Ymxpc2hpbmcgQ29tcGFueSwKLUluYy4sIDE5OTAuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzQWRvYmVTdGFuZGFyZEVuY29kaW5nPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5WZW50dXJhLVVTPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwNjwvdGQ+Ci0gICAgICAgICAgPHRkPlZlbnR1cmEgVVMuICBBU0NJSSBwbHVzIGNoYXJhY3RlcnMgdHlwaWNhbGx5IHVzZWQgaW4KLXB1Ymxpc2hpbmcsIGxpa2UgcGlsY3JvdywgY29weXJpZ2h0LCByZWdpc3RlcmVkLCB0cmFkZSBtYXJrLAotc2VjdGlvbiwgZGFnZ2VyLCBhbmQgZG91YmxlIGRhZ2dlciBpbiB0aGUgcmFuZ2UgQTAgKGhleCkKLXRvIEZGIChoZXgpLgotUENMIFN5bWJvbCBTZXQgaWQ6IDE0SjwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVmVudHVyYVVTPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5WZW50dXJhLUludGVybmF0aW9uYWw8L3RkPgotICAgICAgICAgIDx0ZD4yMDA3PC90ZD4KLSAgICAgICAgICA8dGQ+VmVudHVyYSBJbnRlcm5hdGlvbmFsLiAgQVNDSUkgcGx1cyBjb2RlZCBjaGFyYWN0ZXJzIHNpbWlsYXIKLXRvIFJvbWFuOC4KLVBDTCBTeW1ib2wgU2V0IGlkOiAxM0o8L3RkPgotICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKLShQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgotICAgICAgICAgIDx0ZD5jc1ZlbnR1cmFJbnRlcm5hdGlvbmFsPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5ERUMtTUNTPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwODwvdGQ+Ci0gICAgICAgICAgPHRkPlZBWC9WTVMgVXNlcidzIE1hbnVhbCwKLU9yZGVyIE51bWJlcjogQUktWTUxN0EtVEUsIEFwcmlsIDE5ODYuPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5kZWM8YnIgLz5jc0RFQ01DUzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODUwPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwOTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwODUwPGJyIC8+ODUwPGJyIC8+Y3NQQzg1ME11bHRpbGluZ3VhbDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+UEM4LURhbmlzaC1Ob3J3ZWdpYW48L3RkPgotICAgICAgICAgIDx0ZD4yMDEyPC90ZD4KLSAgICAgICAgICA8dGQ+UEMgRGFuaXNoIE5vcndlZ2lhbgotOC1iaXQgUEMgc2V0IGZvciBEYW5pc2ggTm9yd2VnaWFuCi1QQ0wgU3ltYm9sIFNldCBpZDogMTFVPC90ZD4KLSAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCi0oUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NQQzhEYW5pc2hOb3J3ZWdpYW48L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTg2MjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMTM8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg2MjxiciAvPjg2MjxiciAvPmNzUEM4NjJMYXRpbkhlYnJldzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+UEM4LVR1cmtpc2g8L3RkPgotICAgICAgICAgIDx0ZD4yMDE0PC90ZD4KLSAgICAgICAgICA8dGQ+UEMgTGF0aW4gVHVya2lzaC4gIFBDTCBTeW1ib2wgU2V0IGlkOiA5VDwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzUEM4VHVya2lzaDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNLVN5bWJvbHM8L3RkPgotICAgICAgICAgIDx0ZD4yMDE1PC90ZD4KLSAgICAgICAgICA8dGQ+UHJlc2VudGF0aW9uIFNldCwgQ1BHSUQ6IDI1OTwvdGQ+Ci0gICAgICAgICAgPHRkPltJQk0gQ29ycG9yYXRpb24sICJBQk9VVCBUWVBFOiBJQk0ncyBUZWNobmljYWwgUmVmZXJlbmNlCi1mb3IgQ29yZSBJbnRlcmNoYW5nZSBEaWdpdGl6ZWQgVHlwZSIsIFB1YmxpY2F0aW9uIG51bWJlcgotUzU0NC0zNzA4LTAxXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSUJNU3ltYm9sczwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNLVRoYWk8L3RkPgotICAgICAgICAgIDx0ZD4yMDE2PC90ZD4KLSAgICAgICAgICA8dGQ+UHJlc2VudGF0aW9uIFNldCwgQ1BHSUQ6IDgzODwvdGQ+Ci0gICAgICAgICAgPHRkPltJQk0gQ29ycG9yYXRpb24sICJBQk9VVCBUWVBFOiBJQk0ncyBUZWNobmljYWwgUmVmZXJlbmNlCi1mb3IgQ29yZSBJbnRlcmNoYW5nZSBEaWdpdGl6ZWQgVHlwZSIsIFB1YmxpY2F0aW9uIG51bWJlcgotUzU0NC0zNzA4LTAxXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSUJNVGhhaTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SFAtTGVnYWw8L3RkPgotICAgICAgICAgIDx0ZD4yMDE3PC90ZD4KLSAgICAgICAgICA8dGQ+UENMIDUgQ29tcGFyaXNvbiBHdWlkZSwgSGV3bGV0dC1QYWNrYXJkLAotSFAgcGFydCBudW1iZXIgNTk2MS0wNTEwLCBPY3RvYmVyIDE5OTIKLVBDTCBTeW1ib2wgU2V0IGlkOiAxVTwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSFBMZWdhbDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SFAtUGktZm9udDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMTg8L3RkPgotICAgICAgICAgIDx0ZD5QQ0wgNSBDb21wYXJpc29uIEd1aWRlLCBIZXdsZXR0LVBhY2thcmQsCi1IUCBwYXJ0IG51bWJlciA1OTYxLTA1MTAsIE9jdG9iZXIgMTk5MgotUENMIFN5bWJvbCBTZXQgaWQ6IDE1VTwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSFBQaUZvbnQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkhQLU1hdGg4PC90ZD4KLSAgICAgICAgICA8dGQ+MjAxOTwvdGQ+Ci0gICAgICAgICAgPHRkPlBDTCA1IENvbXBhcmlzb24gR3VpZGUsIEhld2xldHQtUGFja2FyZCwKLUhQIHBhcnQgbnVtYmVyIDU5NjEtMDUxMCwgT2N0b2JlciAxOTkyCi1QQ0wgU3ltYm9sIFNldCBpZDogOE08L3RkPgotICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKLShQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgotICAgICAgICAgIDx0ZD5jc0hQTWF0aDg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkFkb2JlLVN5bWJvbC1FbmNvZGluZzwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMjA8L3RkPgotICAgICAgICAgIDx0ZD5Qb3N0U2NyaXB0IExhbmd1YWdlIFJlZmVyZW5jZSBNYW51YWwKLVBDTCBTeW1ib2wgU2V0IGlkOiA1TTwvdGQ+Ci0gICAgICAgICAgPHRkPltBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZCwgUG9zdFNjcmlwdCBMYW5ndWFnZSBSZWZlcmVuY2UKLU1hbnVhbCwgc2Vjb25kIGVkaXRpb24sIEFkZGlzb24tV2VzbGV5IFB1Ymxpc2hpbmcgQ29tcGFueSwKLUluYy4sIDE5OTAuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSFBQU01hdGg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkhQLURlc2tUb3A8L3RkPgotICAgICAgICAgIDx0ZD4yMDIxPC90ZD4KLSAgICAgICAgICA8dGQ+UENMIDUgQ29tcGFyaXNvbiBHdWlkZSwgSGV3bGV0dC1QYWNrYXJkLAotSFAgcGFydCBudW1iZXIgNTk2MS0wNTEwLCBPY3RvYmVyIDE5OTIKLVBDTCBTeW1ib2wgU2V0IGlkOiA3SjwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzSFBEZXNrdG9wPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5WZW50dXJhLU1hdGg8L3RkPgotICAgICAgICAgIDx0ZD4yMDIyPC90ZD4KLSAgICAgICAgICA8dGQ+UENMIDUgQ29tcGFyaXNvbiBHdWlkZSwgSGV3bGV0dC1QYWNrYXJkLAotSFAgcGFydCBudW1iZXIgNTk2MS0wNTEwLCBPY3RvYmVyIDE5OTIKLVBDTCBTeW1ib2wgU2V0IGlkOiA2TTwvdGQ+Ci0gICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAotKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVmVudHVyYU1hdGg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk1pY3Jvc29mdC1QdWJsaXNoaW5nPC90ZD4KLSAgICAgICAgICA8dGQ+MjAyMzwvdGQ+Ci0gICAgICAgICAgPHRkPlBDTCA1IENvbXBhcmlzb24gR3VpZGUsIEhld2xldHQtUGFja2FyZCwKLUhQIHBhcnQgbnVtYmVyIDU5NjEtMDUxMCwgT2N0b2JlciAxOTkyCi1QQ0wgU3ltYm9sIFNldCBpZDogNko8L3RkPgotICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKLShQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgotICAgICAgICAgIDx0ZD5jc01pY3Jvc29mdFB1Ymxpc2hpbmc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPldpbmRvd3MtMzFKPC90ZD4KLSAgICAgICAgICA8dGQ+MjAyNDwvdGQ+Ci0gICAgICAgICAgPHRkPldpbmRvd3MgSmFwYW5lc2UuICBBIGZ1cnRoZXIgZXh0ZW5zaW9uIG9mIFNoaWZ0X0pJUwotdG8gaW5jbHVkZSBORUMgc3BlY2lhbCBjaGFyYWN0ZXJzIChSb3cgMTMpLCBORUMKLXNlbGVjdGlvbiBvZiBJQk0gZXh0ZW5zaW9ucyAoUm93cyA4OSB0byA5MiksIGFuZCBJQk0KLWV4dGVuc2lvbnMgKFJvd3MgMTE1IHRvIDExOSkuICBUaGUgQ0NTJ3MgYXJlCi1KSVMgWDAyMDE6MTk5NywgSklTIFgwMjA4OjE5OTcsIGFuZCB0aGVzZSBleHRlbnNpb25zLgotVGhpcyBjaGFyc2V0IGNhbiBiZSB1c2VkIGZvciB0aGUgdG9wLWxldmVsIG1lZGlhIHR5cGUgInRleHQiLAotYnV0IGl0IGlzIG9mIGxpbWl0ZWQgb3Igc3BlY2lhbGl6ZWQgdXNlIChzZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjI3OCI+UkZDMjI3ODwvYT5dKS4KLVBDTCBTeW1ib2wgU2V0IGlkOiAxOUs8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc1dpbmRvd3MzMUo8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPkdCMjMxMjwvdGQ+Ci0gICAgICAgICAgPHRkPkdCMjMxMjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMjU8L3RkPgotICAgICAgICAgIDx0ZD5DaGluZXNlIGZvciBQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSAoUFJDKSBtaXhlZCBvbmUgYnl0ZSwKLXR3byBieXRlIHNldDoKLTIwLTdFID0gb25lIGJ5dGUgQVNDSUkKLUExLUZFID0gdHdvIGJ5dGUgUFJDIEthbmppCi1TZWUgR0IgMjMxMi04MAotUENMIFN5bWJvbCBTZXQgSWQ6IDE4QzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzR0IyMzEyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD5CaWc1PC90ZD4KLSAgICAgICAgICA8dGQ+QmlnNTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMjY8L3RkPgotICAgICAgICAgIDx0ZD5DaGluZXNlIGZvciBUYWl3YW4gTXVsdGktYnl0ZSBzZXQuCi1QQ0wgU3ltYm9sIFNldCBJZDogMThUPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NCaWc1PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5tYWNpbnRvc2g8L3RkPgotICAgICAgICAgIDx0ZD4yMDI3PC90ZD4KLSAgICAgICAgICA8dGQ+VGhlIFVuaWNvZGUgU3RhbmRhcmQgdmVyMS4wLCBJU0JOIDAtMjAxLTU2Nzg4LTEsIE9jdCAxOTkxPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5tYWM8YnIgLz5jc01hY2ludG9zaDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDM3PC90ZD4KLSAgICAgICAgICA8dGQ+MjAyODwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwMDM3PGJyIC8+ZWJjZGljLWNwLXVzPGJyIC8+ZWJjZGljLWNwLWNhPGJyIC8+ZWJjZGljLWNwLXd0PGJyIC8+ZWJjZGljLWNwLW5sPGJyIC8+Y3NJQk0wMzc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAzODwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMjk8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzE3NCBDaGFyYWN0ZXIgU2V0IFJlZiwgR0EyNy0zODMxLTAyLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtSU5UPGJyIC8+Y3AwMzg8YnIgLz5jc0lCTTAzODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMjczPC90ZD4KLSAgICAgICAgICA8dGQ+MjAzMDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkNQMjczPGJyIC8+Y3NJQk0yNzM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTI3NDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMzE8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzE3NCBDaGFyYWN0ZXIgU2V0IFJlZiwgR0EyNy0zODMxLTAyLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtQkU8YnIgLz5DUDI3NDxiciAvPmNzSUJNMjc0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk0yNzU8L3RkPgotICAgICAgICAgIDx0ZD4yMDMyPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+RUJDRElDLUJSPGJyIC8+Y3AyNzU8YnIgLz5jc0lCTTI3NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMjc3PC90ZD4KLSAgICAgICAgICA8dGQ+MjAzMzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1DUC1ESzxiciAvPkVCQ0RJQy1DUC1OTzxiciAvPmNzSUJNMjc3PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk0yNzg8L3RkPgotICAgICAgICAgIDx0ZD4yMDM0PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Q1AyNzg8YnIgLz5lYmNkaWMtY3AtZmk8YnIgLz5lYmNkaWMtY3Atc2U8YnIgLz5jc0lCTTI3ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMjgwPC90ZD4KLSAgICAgICAgICA8dGQ+MjAzNTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkNQMjgwPGJyIC8+ZWJjZGljLWNwLWl0PGJyIC8+Y3NJQk0yODA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTI4MTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMzY8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzE3NCBDaGFyYWN0ZXIgU2V0IFJlZiwgR0EyNy0zODMxLTAyLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtSlAtRTxiciAvPmNwMjgxPGJyIC8+Y3NJQk0yODE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTI4NDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMzc8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5DUDI4NDxiciAvPmViY2RpYy1jcC1lczxiciAvPmNzSUJNMjg0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk0yODU8L3RkPgotICAgICAgICAgIDx0ZD4yMDM4PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Q1AyODU8YnIgLz5lYmNkaWMtY3AtZ2I8YnIgLz5jc0lCTTI4NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMjkwPC90ZD4KLSAgICAgICAgICA8dGQ+MjAzOTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMTc0IENoYXJhY3RlciBTZXQgUmVmLCBHQTI3LTM4MzEtMDIsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwMjkwPGJyIC8+RUJDRElDLUpQLWthbmE8YnIgLz5jc0lCTTI5MDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMjk3PC90ZD4KLSAgICAgICAgICA8dGQ+MjA0MDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwMjk3PGJyIC8+ZWJjZGljLWNwLWZyPGJyIC8+Y3NJQk0yOTc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTQyMDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNDE8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwLAotSUJNIE5MUyBSTSBwIDExLTExPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDQyMDxiciAvPmViY2RpYy1jcC1hcjE8YnIgLz5jc0lCTTQyMDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNNDIzPC90ZD4KLSAgICAgICAgICA8dGQ+MjA0MjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwNDIzPGJyIC8+ZWJjZGljLWNwLWdyPGJyIC8+Y3NJQk00MjM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTQyNDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNDM8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDQyNDxiciAvPmViY2RpYy1jcC1oZTxiciAvPmNzSUJNNDI0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk00Mzc8L3RkPgotICAgICAgICAgIDx0ZD4yMDExPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A0Mzc8YnIgLz40Mzc8YnIgLz5jc1BDOENvZGVQYWdlNDM3PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk01MDA8L3RkPgotICAgICAgICAgIDx0ZD4yMDQ0PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Q1A1MDA8YnIgLz5lYmNkaWMtY3AtYmU8YnIgLz5lYmNkaWMtY3AtY2g8YnIgLz5jc0lCTTUwMDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODUxPC90ZD4KLSAgICAgICAgICA8dGQ+MjA0NTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwODUxPGJyIC8+ODUxPGJyIC8+Y3NJQk04NTE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTg1MjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMTA8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg1MjxiciAvPjg1MjxiciAvPmNzUENwODUyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NTU8L3RkPgotICAgICAgICAgIDx0ZD4yMDQ2PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A4NTU8YnIgLz44NTU8YnIgLz5jc0lCTTg1NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODU3PC90ZD4KLSAgICAgICAgICA8dGQ+MjA0NzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwODU3PGJyIC8+ODU3PGJyIC8+Y3NJQk04NTc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTg2MDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNDg8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg2MDxiciAvPjg2MDxiciAvPmNzSUJNODYwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NjE8L3RkPgotICAgICAgICAgIDx0ZD4yMDQ5PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A4NjE8YnIgLz44NjE8YnIgLz5jcC1pczxiciAvPmNzSUJNODYxPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NjM8L3RkPgotICAgICAgICAgIDx0ZD4yMDUwPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIEtleWJvYXJkIGxheW91dHMgYW5kIGNvZGUgcGFnZXMsIFBOIDA3RzQ1ODYgSnVuZSAxOTkxPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg2MzxiciAvPjg2MzxiciAvPmNzSUJNODYzPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NjQ8L3RkPgotICAgICAgICAgIDx0ZD4yMDUxPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIEtleWJvYXJkIGxheW91dHMgYW5kIGNvZGUgcGFnZXMsIFBOIDA3RzQ1ODYgSnVuZSAxOTkxPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg2NDxiciAvPmNzSUJNODY0PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NjU8L3RkPgotICAgICAgICAgIDx0ZD4yMDUyPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIERPUyAzLjMgUmVmIChBYnJpZGdlZCksIDk0WDk1NzUgKEZlYiAxOTg3KTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A4NjU8YnIgLz44NjU8YnIgLz5jc0lCTTg2NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODY4PC90ZD4KLSAgICAgICAgICA8dGQ+MjA1MzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkNQODY4PGJyIC8+Y3AtYXI8YnIgLz5jc0lCTTg2ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODY5PC90ZD4KLSAgICAgICAgICA8dGQ+MjA1NDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBLZXlib2FyZCBsYXlvdXRzIGFuZCBjb2RlIHBhZ2VzLCBQTiAwN0c0NTg2IEp1bmUgMTk5MTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A4Njk8YnIgLz44Njk8YnIgLz5jcC1ncjxiciAvPmNzSUJNODY5PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04NzA8L3RkPgotICAgICAgICAgIDx0ZD4yMDU1PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Q1A4NzA8YnIgLz5lYmNkaWMtY3Atcm9lY2U8YnIgLz5lYmNkaWMtY3AteXU8YnIgLz5jc0lCTTg3MDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNODcxPC90ZD4KLSAgICAgICAgICA8dGQ+MjA1NjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkNQODcxPGJyIC8+ZWJjZGljLWNwLWlzPGJyIC8+Y3NJQk04NzE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTg4MDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNTc8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDg4MDxiciAvPkVCQ0RJQy1DeXJpbGxpYzxiciAvPmNzSUJNODgwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk04OTE8L3RkPgotICAgICAgICAgIDx0ZD4yMDU4PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A4OTE8YnIgLz5jc0lCTTg5MTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNOTAzPC90ZD4KLSAgICAgICAgICA8dGQ+MjA1OTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwOTAzPGJyIC8+Y3NJQk05MDM8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTkwNDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjA8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jcDkwNDxiciAvPjkwNDxiciAvPmNzSUJCTTkwNDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNOTA1PC90ZD4KLSAgICAgICAgICA8dGQ+MjA2MTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMTc0IENoYXJhY3RlciBTZXQgUmVmLCBHQTI3LTM4MzEtMDIsIE1hcmNoIDE5OTA8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPkNQOTA1PGJyIC8+ZWJjZGljLWNwLXRyPGJyIC8+Y3NJQk05MDU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTkxODwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjI8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5DUDkxODxiciAvPmViY2RpYy1jcC1hcjI8YnIgLz5jc0lCTTkxODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMTAyNjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjM8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5DUDEwMjY8YnIgLz5jc0lCTTEwMjY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1BVC1ERTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjQ8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0lCTUVCQ0RJQ0FUREU8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1BVC1ERS1BPC90ZD4KLSAgICAgICAgICA8dGQ+MjA2NTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRUJDRElDQVRERUE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1DQS1GUjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjY8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0NBRlI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1ESy1OTzwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjc8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0RLTk88L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1ESy1OTy1BPC90ZD4KLSAgICAgICAgICA8dGQ+MjA2ODwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRUJDRElDREtOT0E8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1GSS1TRTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNjk8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0ZJU0U8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1GSS1TRS1BPC90ZD4KLSAgICAgICAgICA8dGQ+MjA3MDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRUJDRElDRklTRUE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1GUjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNzE8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0ZSPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtSVQ8L3RkPgotICAgICAgICAgIDx0ZD4yMDcyPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NFQkNESUNJVDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+RUJDRElDLVBUPC90ZD4KLSAgICAgICAgICA8dGQ+MjA3MzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzRUJDRElDUFQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1FUzwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNzQ8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0VTPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtRVMtQTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNzU8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0VTQTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+RUJDRElDLUVTLVM8L3RkPgotICAgICAgICAgIDx0ZD4yMDc2PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NFQkNESUNFU1M8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkVCQ0RJQy1VSzwvdGQ+Ci0gICAgICAgICAgPHRkPjIwNzc8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc0VCQ0RJQ1VLPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5FQkNESUMtVVM8L3RkPgotICAgICAgICAgIDx0ZD4yMDc4PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NFQkNESUNVUzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VU5LTk9XTi04QklUPC90ZD4KLSAgICAgICAgICA8dGQ+MjA3OTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0MjgiPlJGQzE0Mjg8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVW5rbm93bjhCaVQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPk1ORU1PTklDPC90ZD4KLSAgICAgICAgICA8dGQ+MjA4MDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XSwgYWxzbyBrbm93biBhcyAibW5lbW9uaWMrYXNjaWkrMzgiPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc01uZW1vbmljPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5NTkVNPC90ZD4KLSAgICAgICAgICA8dGQ+MjA4MTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XSwgYWxzbyBrbm93biBhcyAibW5lbW9uaWMrYXNjaWkrODIwMCI8L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzTW5lbTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VklTQ0lJPC90ZD4KLSAgICAgICAgICA8dGQ+MjA4MjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNDU2Ij5SRkMxNDU2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NTYiPlJGQzE0NTY8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVklTQ0lJPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5WSVFSPC90ZD4KLSAgICAgICAgICA8dGQ+MjA4MzwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNDU2Ij5SRkMxNDU2PC9hPl0KLSAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NTYiPlJGQzE0NTY8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVklRUjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+S09JOC1SPC90ZD4KLSAgICAgICAgICA8dGQ+S09JOC1SPC90ZD4KLSAgICAgICAgICA8dGQ+MjA4NDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0ODkiPlJGQzE0ODk8L2E+XSwgYmFzZWQgb24gR09TVC0xOTc2OC03NCwgSVNPLTY5MzcvOCwKLUlOSVMtQ3lyaWxsaWMsIElTTy01NDI3LjwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0ODkiPlJGQzE0ODk8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNzS09JOFI8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkhaLUdCLTIzMTI8L3RkPgotICAgICAgICAgIDx0ZD4yMDg1PC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTg0MiI+UkZDMTg0MjwvYT5dLCBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODQzIj5SRkMxODQzPC9hPl1bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODQzIj5SRkMxODQzPC9hPl1bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODQyIj5SRkMxODQyPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTg2NjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwODY8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gTkxERyBWb2x1bWUgMiAoU0UwOS04MDAyLTAzKSBBdWd1c3QgMTk5NDwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSIjUmlja19Qb25kIj5SaWNrX1BvbmQ8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPmNwODY2PGJyIC8+ODY2PGJyIC8+Y3NJQk04NjY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTc3NTwvdGQ+Ci0gICAgICAgICAgPHRkPjIwODc8L3RkPgotICAgICAgICAgIDx0ZD5IUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIChQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2PC90ZD4KLSAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCi0oUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3A3NzU8YnIgLz5jc1BDNzc1QmFsdGljPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5LT0k4LVU8L3RkPgotICAgICAgICAgIDx0ZD4yMDg4PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzIzMTkiPlJGQzIzMTk8L2E+XQotICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjMxOSI+UkZDMjMxOTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NLT0k4VTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDA4NTg8L3RkPgotICAgICAgICAgIDx0ZD4yMDg5PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMDg1OCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMDg1ODwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DQ1NJRDAwODU4PGJyIC8+Q1AwMDg1ODxiciAvPlBDLU11bHRpbGluZ3VhbC04NTArZXVybzxiciAvPmNzSUJNMDA4NTg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAwOTI0PC90ZD4KLSAgICAgICAgICA8dGQ+MjA5MDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDA5MjQiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDA5MjQ8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q0NTSUQwMDkyNDxiciAvPkNQMDA5MjQ8YnIgLz5lYmNkaWMtTGF0aW45LS1ldXJvPGJyIC8+Y3NJQk0wMDkyNDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDExNDA8L3RkPgotICAgICAgICAgIDx0ZD4yMDkxPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MDwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQwPGJyIC8+Q1AwMTE0MDxiciAvPmViY2RpYy11cy0zNytldXJvPGJyIC8+Y3NJQk0wMTE0MDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDExNDE8L3RkPgotICAgICAgICAgIDx0ZD4yMDkyPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MTwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQxPGJyIC8+Q1AwMTE0MTxiciAvPmViY2RpYy1kZS0yNzMrZXVybzxiciAvPmNzSUJNMDExNDE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAxMTQyPC90ZD4KLSAgICAgICAgICA8dGQ+MjA5MzwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDIiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDI8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q0NTSUQwMTE0MjxiciAvPkNQMDExNDI8YnIgLz5lYmNkaWMtZGstMjc3K2V1cm88YnIgLz5lYmNkaWMtbm8tMjc3K2V1cm88YnIgLz5jc0lCTTAxMTQyPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk0wMTE0MzwvdGQ+Ci0gICAgICAgICAgPHRkPjIwOTQ8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQzIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQzPC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkNDU0lEMDExNDM8YnIgLz5DUDAxMTQzPGJyIC8+ZWJjZGljLWZpLTI3OCtldXJvPGJyIC8+ZWJjZGljLXNlLTI3OCtldXJvPGJyIC8+Y3NJQk0wMTE0MzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDExNDQ8L3RkPgotICAgICAgICAgIDx0ZD4yMDk1PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NDwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQ0PGJyIC8+Q1AwMTE0NDxiciAvPmViY2RpYy1pdC0yODArZXVybzxiciAvPmNzSUJNMDExNDQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAxMTQ1PC90ZD4KLSAgICAgICAgICA8dGQ+MjA5NjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDUiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDU8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q0NTSUQwMTE0NTxiciAvPkNQMDExNDU8YnIgLz5lYmNkaWMtZXMtMjg0K2V1cm88YnIgLz5jc0lCTTAxMTQ1PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5JQk0wMTE0NjwvdGQ+Ci0gICAgICAgICAgPHRkPjIwOTc8L3RkPgotICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ2Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ2PC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkNDU0lEMDExNDY8YnIgLz5DUDAxMTQ2PGJyIC8+ZWJjZGljLWdiLTI4NStldXJvPGJyIC8+Y3NJQk0wMTE0NjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMDExNDc8L3RkPgotICAgICAgICAgIDx0ZD4yMDk4PC90ZD4KLSAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NyI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NzwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQ3PGJyIC8+Q1AwMTE0NzxiciAvPmViY2RpYy1mci0yOTcrZXVybzxiciAvPmNzSUJNMDExNDc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAxMTQ4PC90ZD4KLSAgICAgICAgICA8dGQ+MjA5OTwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDgiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDg8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q0NTSUQwMTE0ODxiciAvPkNQMDExNDg8YnIgLz5lYmNkaWMtaW50ZXJuYXRpb25hbC01MDArZXVybzxiciAvPmNzSUJNMDExNDg8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTAxMTQ5PC90ZD4KLSAgICAgICAgICA8dGQ+MjEwMDwvdGQ+Ci0gICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDkiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDk8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q0NTSUQwMTE0OTxiciAvPkNQMDExNDk8YnIgLz5lYmNkaWMtaXMtODcxK2V1cm88YnIgLz5jc0lCTTAxMTQ5PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5CaWc1LUhLU0NTPC90ZD4KLSAgICAgICAgICA8dGQ+MjEwMTwvdGQ+Ci0gICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9CaWc1LUhLU0NTIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0JpZzUtSEtTQ1M8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPls8YSBocmVmPSIjTmlja3lfWWljayI+Tmlja3lfWWljazwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+Y3NCaWc1SEtTQ1M8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPklCTTEwNDc8L3RkPgotICAgICAgICAgIDx0ZD4yMTAyPC90ZD4KLSAgICAgICAgICA8dGQ+SUJNMTA0NyAoRUJDRElDIExhdGluIDEvT3BlbiBTeXN0ZW1zKQotWzxhIGhyZWY9Imh0dHA6Ly93d3ctMS5pYm0uY29tL3NlcnZlcnMvZXNlcnZlci9pc2VyaWVzL3NvZnR3YXJlL2dsb2JhbGl6YXRpb24vcGRmL2NwMDEwNDd6LnBkZiI+aHR0cDovL3d3dy0xLmlibS5jb20vc2VydmVycy9lc2VydmVyL2lzZXJpZXMvc29mdHdhcmUvZ2xvYmFsaXphdGlvbi9wZGYvY3AwMTA0N3oucGRmPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iI1JldWVsX1JvYnJpZ2FkbyI+UmV1ZWxfUm9icmlnYWRvPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5JQk0tMTA0NzxiciAvPmNzSUJNMTA0NzwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+UFRDUDE1NDwvdGQ+Ci0gICAgICAgICAgPHRkPjIxMDM8L3RkPgotICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvUFRDUDE1NCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9QVENQMTU0PC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iI0FsZXhhbmRlcl9Vc2tvdiI+QWxleGFuZGVyX1Vza292PC9hPl08L3RkPgotICAgICAgICAgIDx0ZD5jc1BUQ1AxNTQ8YnIgLz5QVDE1NDxiciAvPkNQMTU0PGJyIC8+Q3lyaWxsaWMtQXNpYW48YnIgLz5jc1BUQ1AxNTQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkFtaWdhLTEyNTE8L3RkPgotICAgICAgICAgIDx0ZD4yMTA0PC90ZD4KLSAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmFtaWdhLnVsdHJhbmV0LnJ1L0FtaWdhLTEyNTEuaHRtbCI+aHR0cDovL3d3dy5hbWlnYS51bHRyYW5ldC5ydS9BbWlnYS0xMjUxLmh0bWw8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPkFtaTEyNTE8YnIgLz5BbWlnYTEyNTE8YnIgLz5BbWktMTI1MTxiciAvPmNzQW1pZ2ExMjUxCi0oQWxpYXNlcyBhcmUgcHJvdmlkZWQgZm9yIGhpc3RvcmljYWwgcmVhc29ucyBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkKSBbTWFseXNoZXZdPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5LT0k3LXN3aXRjaGVkPC90ZD4KLSAgICAgICAgICA8dGQ+MjEwNTwvdGQ+Ci0gICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9LT0k3LXN3aXRjaGVkIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0tPSTctc3dpdGNoZWQ8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzS09JN3N3aXRjaGVkPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5CUkY8L3RkPgotICAgICAgICAgIDx0ZD4yMTA2PC90ZD4KLSAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0JSRiI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9CUkY8L2E+XSAgICAgICAgICAgICAgICAgICAgWzxhIGhyZWY9IiNTYW11ZWxfVGhpYmF1bHQiPlNhbXVlbF9UaGliYXVsdDwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NCUkY8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPlRTQ0lJPC90ZD4KLSAgICAgICAgICA8dGQ+MjEwNzwvdGQ+Ci0gICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9UU0NJSSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9UU0NJSTwvYT5dICAgICAgICAgICBbPGEgaHJlZj0iI0t1cHB1c3dhbXlfS2FseWFuYXN1Ij5LdXBwdXN3YW15X0thbHlhbmFzdTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NUU0NJSTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Q1A1MTkzMjwvdGQ+Ci0gICAgICAgICAgPHRkPjIxMDg8L3RkPgotICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvQ1A1MTkzMiI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9DUDUxOTMyPC9hPl0gICAgICAgICAgICAgICAgICBbPGEgaHJlZj0iI1l1aV9OYXJ1c2UiPll1aV9OYXJ1c2U8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzQ1A1MTkzMjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+d2luZG93cy04NzQ8L3RkPgotICAgICAgICAgIDx0ZD4yMTA5PC90ZD4KLSAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtODc0Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtODc0PC9hPl0gICAgICAgICAgICAgIFs8YSBocmVmPSIjU2hhd25fU3RlZWxlIj5TaGF3bl9TdGVlbGU8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzd2luZG93czg3NDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+d2luZG93cy0xMjUwPC90ZD4KLSAgICAgICAgICA8dGQ+MjI1MDwvdGQ+Ci0gICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUwIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1MDwvYT5dIFs8YSBocmVmPSIjS2F0eWFfTGF6aGludHNldmEiPkthdHlhX0xhemhpbnRzZXZhPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjUwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTE8L3RkPgotICAgICAgICAgIDx0ZD4yMjUxPC90ZD4KLSAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTEiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUxPC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzd2luZG93czEyNTE8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPndpbmRvd3MtMTI1MjwvdGQ+Ci0gICAgICAgICAgPHRkPjIyNTI8L3RkPgotICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1MiI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTI8L2E+XSAgICAgICBbPGEgaHJlZj0iI0NocmlzX1dlbmR0Ij5DaHJpc19XZW5kdDwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1MjwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+d2luZG93cy0xMjUzPC90ZD4KLSAgICAgICAgICA8dGQ+MjI1MzwvdGQ+Ci0gICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUzIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1MzwvYT5dIFs8YSBocmVmPSIjS2F0eWFfTGF6aGludHNldmEiPkthdHlhX0xhemhpbnRzZXZhPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjUzPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTQ8L3RkPgotICAgICAgICAgIDx0ZD4yMjU0PC90ZD4KLSAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTQiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU0PC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzd2luZG93czEyNTQ8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPndpbmRvd3MtMTI1NTwvdGQ+Ci0gICAgICAgICAgPHRkPjIyNTU8L3RkPgotICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1NSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTU8L2E+XSBbPGEgaHJlZj0iI0thdHlhX0xhemhpbnRzZXZhIj5LYXR5YV9MYXpoaW50c2V2YTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1NTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+d2luZG93cy0xMjU2PC90ZD4KLSAgICAgICAgICA8dGQ+MjI1NjwvdGQ+Ci0gICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU2Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1NjwvYT5dIFs8YSBocmVmPSIjS2F0eWFfTGF6aGludHNldmEiPkthdHlhX0xhemhpbnRzZXZhPC9hPl08L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjU2PC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTc8L3RkPgotICAgICAgICAgIDx0ZD4yMjU3PC90ZD4KLSAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTciPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU3PC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzd2luZG93czEyNTc8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPndpbmRvd3MtMTI1ODwvdGQ+Ci0gICAgICAgICAgPHRkPjIyNTg8L3RkPgotICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1OCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTg8L2E+XSBbPGEgaHJlZj0iI0thdHlhX0xhemhpbnRzZXZhIj5LYXR5YV9MYXpoaW50c2V2YTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1ODwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+VElTLTYyMDwvdGQ+Ci0gICAgICAgICAgPHRkPjIyNTk8L3RkPgotICAgICAgICAgIDx0ZD5UaGFpIEluZHVzdHJpYWwgU3RhbmRhcmRzIEluc3RpdHV0ZSAoVElTSSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs8YSBocmVmPSIjVHJpbl9UYW50c2V0dGhpIj5UcmluX1RhbnRzZXR0aGk8L2E+XTwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgICAgPHRkPmNzVElTNjIwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICAgIDx0ZD5DUDUwMjIwPC90ZD4KLSAgICAgICAgICA8dGQ+MjI2MDwvdGQ+Ci0gICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9DUDUwMjIwIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0NQNTAyMjA8L2E+XSAgICAgICAgICAgICAgICAgIFs8YSBocmVmPSIjWXVpX05hcnVzZSI+WXVpX05hcnVzZTwvYT5dPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgICA8dGQ+Y3NDUDUwMjIwPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgIDwvdGJvZHk+Ci0gICAgPC90YWJsZT4KLSAgICA8aDEgY2xhc3M9InBlb3BsZSI+UGVvcGxlPC9oMT4KLSAgICA8dGFibGUgY2xhc3M9InNvcnRhYmxlIj4KLSAgICAgIDx0aGVhZD4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0aD5JRDwvdGg+Ci0gICAgICAgICAgPHRoPk5hbWU8L3RoPgotICAgICAgICAgIDx0aD5Db250YWN0IFVSSTwvdGg+Ci0gICAgICAgICAgPHRoPkxhc3QgVXBkYXRlZDwvdGg+Ci0gICAgICAgIDwvdHI+Ci0gICAgICA8L3RoZWFkPgotICAgICAgPHRib2R5PgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iQWxleGFuZGVyX1Vza292IiBpZD0iQWxleGFuZGVyX1Vza292Ij5bQWxleGFuZGVyX1Vza292XTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5BbGV4YW5kZXIgVXNrb3Y8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzphdXNrb3YmYW1wO2lkYy5reiI+bWFpbHRvOmF1c2tvdiZhbXA7aWRjLmt6PC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDItMDk8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iQWxleGVpX1ZlcmVtZWV2IiBpZD0iQWxleGVpX1ZlcmVtZWV2Ij5bQWxleGVpX1ZlcmVtZWV2XTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5BbGV4ZWkgVmVyZW1lZXY8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpBbGV4ZXkuVmVyZW1lZXYmYW1wO29yYWNsZS5jb20iPm1haWx0bzpBbGV4ZXkuVmVyZW1lZXYmYW1wO29yYWNsZS5jb208L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwNi0xMi0wNzwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJDaHJpc19XZW5kdCIgaWQ9IkNocmlzX1dlbmR0Ij5bQ2hyaXNfV2VuZHRdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPkNocmlzIFdlbmR0PC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86Y2hyaXN0dyZhbXA7bWljcm9zb2Z0LmNvbSI+bWFpbHRvOmNocmlzdHcmYW1wO21pY3Jvc29mdC5jb208L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MTk5OS0xMjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJIYW5rX051c3NiYWNoZXIiIGlkPSJIYW5rX051c3NiYWNoZXIiPltIYW5rX051c3NiYWNoZXJdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPkhhbmsgTnVzc2JhY2hlcjwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmhhbmsmYW1wO3ZtLnRhdS5hYy5pbCI+bWFpbHRvOmhhbmsmYW1wO3ZtLnRhdS5hYy5pbDwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iSUFOQSIgaWQ9IklBTkEiPltJQU5BXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5JbnRlcm5ldCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmlhbmEmYW1wO2lhbmEub3JnIj5tYWlsdG86aWFuYSZhbXA7aWFuYS5vcmc8L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIG5hbWU9Ikp1bl9NdXJhaSIgaWQ9Ikp1bl9NdXJhaSI+W0p1bl9NdXJhaV08L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+SnVuIE11cmFpPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86anVuJmFtcDt3aWRlLmFkLmpwIj5tYWlsdG86anVuJmFtcDt3aWRlLmFkLmpwPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJLYXR5YV9MYXpoaW50c2V2YSIgaWQ9IkthdHlhX0xhemhpbnRzZXZhIj5bS2F0eWFfTGF6aGludHNldmFdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPkthdHlhIExhemhpbnRzZXZhPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86a2F0eWFsJmFtcDttaWNyb3NvZnQuY29tIj5tYWlsdG86a2F0eWFsJmFtcDttaWNyb3NvZnQuY29tPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjE5OTYtMDU8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iS2VsZF9TaW1vbnNlbiIgaWQ9IktlbGRfU2ltb25zZW4iPltLZWxkX1NpbW9uc2VuXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5LZWxkIFNpbW9uc2VuPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86S2VsZC5TaW1vbnNlbiZhbXA7ZGt1dWcuZGsiPm1haWx0bzpLZWxkLlNpbW9uc2VuJmFtcDtka3V1Zy5kazwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iS2VsZF9TaW1vbnNlbl8yIiBpZD0iS2VsZF9TaW1vbnNlbl8yIj5bS2VsZF9TaW1vbnNlbl8yXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5LZWxkIFNpbW9uc2VuPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86S2VsZC5TaW1vbnNlbiZhbXA7cmFwLmRrIj5tYWlsdG86S2VsZC5TaW1vbnNlbiZhbXA7cmFwLmRrPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDAtMDg8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iS3VwcHVzd2FteV9LYWx5YW5hc3UiIGlkPSJLdXBwdXN3YW15X0thbHlhbmFzdSI+W0t1cHB1c3dhbXlfS2FseWFuYXN1XTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5LdXBwdXN3YW15IEthbHlhbmFzdW5kYXJhbTwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmthbHlhbi5nZW8mYW1wO3lhaG9vLmNvbSI+bWFpbHRvOmthbHlhbi5nZW8mYW1wO3lhaG9vLmNvbTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD4yMDA3LTA1LTE0PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIG5hbWU9Ik1hcmtfRGF2aXMiIGlkPSJNYXJrX0RhdmlzIj5bTWFya19EYXZpc108L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+TWFyayBEYXZpczwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOm1hcmsmYW1wO3VuaWNvZGUub3JnIj5tYWlsdG86bWFyayZhbXA7dW5pY29kZS5vcmc8L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMi0wNDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJNYXJrdXNfU2NoZXJlciIgaWQ9Ik1hcmt1c19TY2hlcmVyIj5bTWFya3VzX1NjaGVyZXJdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPk1hcmt1cyBTY2hlcmVyPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86bWFya3VzLnNjaGVyZXImYW1wO2p0Y3N2LmNvbSI+bWFpbHRvOm1hcmt1cy5zY2hlcmVyJmFtcDtqdGNzdi5jb208L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMi0wOTwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJNYXNhdGFrYV9PaHRhIiBpZD0iTWFzYXRha2FfT2h0YSI+W01hc2F0YWthX09odGFdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPk1hc2F0YWthIE9odGE8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzptb2h0YSZhbXA7Y2MudGl0ZWNoLmFjLmpwIj5tYWlsdG86bW9odGEmYW1wO2NjLnRpdGVjaC5hYy5qcDwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD4xOTk1LTA3PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIG5hbWU9Ik5pY2t5X1lpY2siIGlkPSJOaWNreV9ZaWNrIj5bTmlja3lfWWlja108L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+Tmlja3kgWWljazwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmNsaWFjJmFtcDtpdHNkLmdjbi5nb3YuaGsiPm1haWx0bzpjbGlhYyZhbXA7aXRzZC5nY24uZ292LmhrPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDAtMTA8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iUmV1ZWxfUm9icmlnYWRvIiBpZD0iUmV1ZWxfUm9icmlnYWRvIj5bUmV1ZWxfUm9icmlnYWRvXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5SZXVlbCBSb2JyaWdhZG88L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpyZXVlbHImYW1wO2NhLmlibS5jb20iPm1haWx0bzpyZXVlbHImYW1wO2NhLmlibS5jb208L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MjAwMi0wOTwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJSaWNrX1BvbmQiIGlkPSJSaWNrX1BvbmQiPltSaWNrX1BvbmRdPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPlJpY2sgUG9uZDwvdGQ+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnJpY2twb25kJmFtcDt2bmV0LmlibS5jb20iPm1haWx0bzpyaWNrcG9uZCZhbXA7dm5ldC5pYm0uY29tPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjE5OTctMDM8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iU2FpcmFuX01fS2lra2FyaW4iIGlkPSJTYWlyYW5fTV9LaWtrYXJpbiI+W1NhaXJhbl9NX0tpa2thcmluXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5TYWlyYW4gTS4gS2lra2FyaW48L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpzYWlyYW4mYW1wO3NjaS5reiI+bWFpbHRvOnNhaXJhbiZhbXA7c2NpLmt6PC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDYtMTItMDc8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iU2FtdWVsX1RoaWJhdWx0IiBpZD0iU2FtdWVsX1RoaWJhdWx0Ij5bU2FtdWVsX1RoaWJhdWx0XTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5TYW11ZWwgVGhpYmF1bHQ8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpzYW11ZWwudGhpYmF1bHQmYW1wO2Vucy1seW9uLm9yZyI+bWFpbHRvOnNhbXVlbC50aGliYXVsdCZhbXA7ZW5zLWx5b24ub3JnPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDYtMTItMDc8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iU2hhd25fU3RlZWxlIiBpZD0iU2hhd25fU3RlZWxlIj5bU2hhd25fU3RlZWxlXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5TaGF3biBTdGVlbGU8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpTaGF3bi5TdGVlbGUmYW1wO21pY3Jvc29mdC5jb20iPm1haWx0bzpTaGF3bi5TdGVlbGUmYW1wO21pY3Jvc29mdC5jb208L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+MjAxMC0xMS0wNDwvdGQ+Ci0gICAgICAgIDwvdHI+Ci0gICAgICAgIDx0cj4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBuYW1lPSJUYW1lcl9NYWhkaSIgaWQ9IlRhbWVyX01haGRpIj5bVGFtZXJfTWFoZGldPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPlRhbWVyIE1haGRpPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86dGFtZXImYW1wO2NhLmlibS5jb20iPm1haWx0bzp0YW1lciZhbXA7Y2EuaWJtLmNvbTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD4yMDAwLTA4PC90ZD4KLSAgICAgICAgPC90cj4KLSAgICAgICAgPHRyPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIG5hbWU9IlRvYnlfUGhpcHBzIiBpZD0iVG9ieV9QaGlwcHMiPltUb2J5X1BoaXBwc108L2E+Ci0gICAgICAgICAgPC90ZD4KLSAgICAgICAgICA8dGQ+VG9ieSBQaGlwcHM8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzp0cGhpcHBzJmFtcDtwZW9wbGVzb2Z0LmNvbSI+bWFpbHRvOnRwaGlwcHMmYW1wO3Blb3BsZXNvZnQuY29tPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDItMDM8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iVHJpbl9UYW50c2V0dGhpIiBpZD0iVHJpbl9UYW50c2V0dGhpIj5bVHJpbl9UYW50c2V0dGhpXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5UcmluIFRhbnRzZXR0aGk8L3RkPgotICAgICAgICAgIDx0ZD4KLSAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzp0cmluJmFtcDttb3phcnQuaW5ldC5jby50aCI+bWFpbHRvOnRyaW4mYW1wO21vemFydC5pbmV0LmNvLnRoPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjE5OTgtMDk8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iVmxhZGFzX1R1bWFzb25pcyIgaWQ9IlZsYWRhc19UdW1hc29uaXMiPltWbGFkYXNfVHVtYXNvbmlzXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5WbGFkYXMgVHVtYXNvbmlzPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86dmxhZGFzLnR1bWFzb25pcyZhbXA7bWFmLnZ1Lmx0Ij5tYWlsdG86dmxhZGFzLnR1bWFzb25pcyZhbXA7bWFmLnZ1Lmx0PC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMDAtMDg8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iV29vaHlvbmdfQ2hvaSIgaWQ9Ildvb2h5b25nX0Nob2kiPltXb29oeW9uZ19DaG9pXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5Xb29oeW9uZyBDaG9pPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86d2hjaG9pJmFtcDtjb3Ntb3Mua2Fpc3QuYWMua3IiPm1haWx0bzp3aGNob2kmYW1wO2Nvc21vcy5rYWlzdC5hYy5rcjwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD48L3RkPgotICAgICAgICA8L3RyPgotICAgICAgICA8dHI+Ci0gICAgICAgICAgPHRkPgotICAgICAgICAgICAgPGEgbmFtZT0iWXVpX05hcnVzZSIgaWQ9Ill1aV9OYXJ1c2UiPltZdWlfTmFydXNlXTwvYT4KLSAgICAgICAgICA8L3RkPgotICAgICAgICAgIDx0ZD5ZdWkgTmFydXNlPC90ZD4KLSAgICAgICAgICA8dGQ+Ci0gICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86bmFydXNlJmFtcDthaXJlbWl4LmpwIj5tYWlsdG86bmFydXNlJmFtcDthaXJlbWl4LmpwPC9hPgotICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgPHRkPjIwMTEtMDktMjM8L3RkPgotICAgICAgICA8L3RyPgotICAgICAgPC90Ym9keT4KLSAgICA8L3RhYmxlPgotICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9pYW5hdGFibGVzLmMgYi9vczQwMC9pY29udi9pYW5hdGFibGVzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0YjI5YzYuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvaWFuYXRhYmxlcy5jCisrKyAvZGV2L251bGwKQEAgLTEsNDYwOSArMCwwIEBACi0vKioKLSoqKiAgICAgQ2hhcmFjdGVyIHNldCBuYW1lcyB0YWJsZS4KLSoqKiAgICAgR2VuZXJhdGVkIGJ5IHByb2dyYW0gQkxEQ1NOREZBIGZyb20gSUFOQSBjaGFyYWN0ZXIgc2V0IGFzc2lnbm1lbnQgZmlsZQotKioqICAgICAgICAgIGFuZCBDQ1NJRC9NSUJlbnVtIGVxdWl2YWxlbmNlIGZpbGUuCi0qKiogICAgICoqKiBEbyBub3QgZWRpdCBieSBoYW5kICoqKgotKiovCi0KLS8qKgotKioqICAgICBDQ1NJRCAgIEZvciBhcmcgICBSZWNvZ25pemVkIG5hbWUuCi0qKiogICAgIDYyMjQ1ICAgICAgWCAgICAgIElCTUNDU0lENjIyNDUgaWJtLTYyMjQ1Ci0qKiogICAgIDYyMjM1ICAgICAgWCAgICAgIElCTUNDU0lENjIyMzUgaWJtLTYyMjM1Ci0qKiogICAgIDYyMjI0ICAgICAgWCAgICAgIElCTUNDU0lENjIyMjQgaWJtLTYyMjI0Ci0qKiogICAgIDYyMjExICAgICAgWCAgICAgIElCTUNDU0lENjIyMTEgaWJtLTYyMjExCi0qKiogICAgIDYxOTUyICAgICAgWCAgICAgIElCTUNDU0lENjE5NTIgaWJtLTYxOTUyCi0qKiogICAgIDU3MzQ1ICAgICAgICAgICAgIElCTUNDU0lENTczNDUgaWJtLTU3MzQ1Ci0qKiogICAgIDMzNzIyICAgICAgWCAgICAgIGNzRVVDUGtkRm10SmFwYW5lc2UKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgRXh0ZW5kZWRfVU5JWF9Db2RlX1BhY2tlZF9Gb3JtYXRfZm9yX0phcGFuZXNlIEVVQy1KUAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTE4IElCTUNDU0lEMzM3MjIgaWJtLTMzNzIyCi0qKiogICAgIDI4NzA5ICAgICAgWCAgICAgIElCTUNDU0lEMjg3MDkgaWJtLTI4NzA5Ci0qKiogICAgIDI1NTQ2ICAgICAgICAgICAgIElCTUNDU0lEMjU1NDYgaWJtLTI1NTQ2Ci0qKiogICAgIDE3MzU0ICAgICAgWCAgICAgIElCTUNDU0lEMTczNTQgaWJtLTE3MzU0Ci0qKiogICAgIDEzNDg4ICAgICAgWCAgICAgIGNzVW5pY29kZSBJU08tMTA2NDYtVUNTLTIgVUNTMiBVQ1MtMiBpYW5hLTEwMDAKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQxMzQ4OCBpYm0tMTM0ODgKLSoqKiAgICAgMTMxMjQgICAgICBYICAgICAgSUJNQ0NTSUQxMzEyNCBpYm0tMTMxMjQKLSoqKiAgICAgMTMxMjEgICAgICBYICAgICAgSUJNQ0NTSUQxMzEyMSBpYm0tMTMxMjEKLSoqKiAgICAgMTI3MDggICAgICBYICAgICAgSUJNQ0NTSUQxMjcwOCBpYm0tMTI3MDgKLSoqKiAgICAgIDk0NDkgICAgICAgICAgICAgY3N3aW5kb3dzMTI1NyB3aW5kb3dzLTEyNTcgaWFuYS0yMjU3IElCTUNDU0lEMDk0NDkKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTk0NDkKLSoqKiAgICAgIDk0NDggICAgICAgICAgICAgY3N3aW5kb3dzMTI1NiB3aW5kb3dzLTEyNTYgaWFuYS0yMjU2IElCTUNDU0lEMDk0NDgKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTk0NDgKLSoqKiAgICAgIDk0NDcgICAgICAgICAgICAgY3N3aW5kb3dzMTI1NSB3aW5kb3dzLTEyNTUgaWFuYS0yMjU1IElCTUNDU0lEMDk0NDcKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTk0NDcKLSoqKiAgICAgIDkwNjYgICAgICBYICAgICAgSUJNQ0NTSUQwOTA2NiBpYm0tOTA2NgotKioqICAgICAgOTA1NiAgICAgIFggICAgICBJQk1DQ1NJRDA5MDU2IGlibS05MDU2Ci0qKiogICAgICA5MDMwICAgICAgWCAgICAgIElCTUNDU0lEMDkwMzAgaWJtLTkwMzAKLSoqKiAgICAgIDg2MTIgICAgICBYICAgICAgSUJNQ0NTSUQwODYxMiBpYm0tODYxMgotKioqICAgICAgNTQ3OCAgICAgICAgICAgICBjc0lTTzU4R0IyMzEyODAgaXNvLWlyLTU4IEdCXzIzMTItODAgY2hpbmVzZSBpYW5hLTU3Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDU0NzggaWJtLTU0NzgKLSoqKiAgICAgIDUxMjMgICAgICBYICAgICAgSUJNQ0NTSUQwNTEyMyBpYm0tNTEyMwotKioqICAgICAgNTM1MCAgICAgIFggICAgICBjc3dpbmRvd3MxMjU0IHdpbmRvd3MtMTI1NCBpYW5hLTIyNTQgSUJNQ0NTSUQwNTM1MAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM1MAotKioqICAgICAgNTM0OSAgICAgIFggICAgICBjc3dpbmRvd3MxMjUzIHdpbmRvd3MtMTI1MyBpYW5hLTIyNTMgSUJNQ0NTSUQwNTM0OQotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM0OQotKioqICAgICAgNTM0OCAgICAgIFggICAgICBjc3dpbmRvd3MxMjUyIHdpbmRvd3MtMTI1MiBpYW5hLTIyNTIgSUJNQ0NTSUQwNTM0OAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM0OAotKioqICAgICAgNTM0NyAgICAgIFggICAgICBjc3dpbmRvd3MxMjUxIHdpbmRvd3MtMTI1MSBpYW5hLTIyNTEgSUJNQ0NTSUQwNTM0NwotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM0NwotKioqICAgICAgNTM0NiAgICAgIFggICAgICBjc3dpbmRvd3MxMjUwIHdpbmRvd3MtMTI1MCBpYW5hLTIyNTAgSUJNQ0NTSUQwNTM0NgotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM0NgotKioqICAgICAgNTM1NCAgICAgICAgICAgICBjc3dpbmRvd3MxMjU4IHdpbmRvd3MtMTI1OCBpYW5hLTIyNTggSUJNQ0NTSUQwNTM1NAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNTM1NAotKioqICAgICAgNTA1NSAgICAgIFggICAgICBJQk1DQ1NJRDA1MDU1IGlibS01MDU1Ci0qKiogICAgICA1MDU0ICAgICAgWCAgICAgIElCTUNDU0lEMDUwNTQgaWJtLTUwNTQKLSoqKiAgICAgIDUwNTMgICAgICBYICAgICAgSUJNQ0NTSUQwNTA1MyBpYm0tNTA1MwotKioqICAgICAgNTA1MiAgICAgIFggICAgICBJQk1DQ1NJRDA1MDUyIGlibS01MDUyCi0qKiogICAgICA1MDUwICAgICAgWCAgICAgIElCTUNDU0lEMDUwNTAgaWJtLTUwNTAKLSoqKiAgICAgIDUwMzUgICAgICBYICAgICAgSUJNQ0NTSUQwNTAzNSBpYm0tNTAzNQotKioqICAgICAgNTAyNiAgICAgIFggICAgICBJQk1DQ1NJRDA1MDI2IGlibS01MDI2Ci0qKiogICAgICA0OTcxICAgICAgWCAgICAgIElCTUNDU0lEMDQ5NzEgaWJtLTQ5NzEKLSoqKiAgICAgIDQ5NjUgICAgICAgICAgICAgSUJNQ0NTSUQwNDk2NSBpYm0tNDk2NQotKioqICAgICAgNDk2MCAgICAgIFggICAgICBJQk1DQ1NJRDA0OTYwIGlibS00OTYwCi0qKiogICAgICA0OTUzICAgICAgICAgICAgIElCTUNDU0lEMDQ5NTMgaWJtLTQ5NTMKLSoqKiAgICAgIDQ5NTIgICAgICBYICAgICAgSUJNQ0NTSUQwNDk1MiBpYm0tNDk1MgotKioqICAgICAgNDk1MSAgICAgIFggICAgICBJQk1DQ1NJRDA0OTUxIGlibS00OTUxCi0qKiogICAgICA0OTQ4ICAgICAgWCAgICAgIElCTUNDU0lEMDQ5NDggaWJtLTQ5NDgKLSoqKiAgICAgIDQzOTYgICAgICBYICAgICAgSUJNQ0NTSUQwNDM5NiBpYm0tNDM5NgotKioqICAgICAgMTM5OSAgICAgIFggICAgICBJQk1DQ1NJRDAxMzk5IGlibS0xMzk5Ci0qKiogICAgICAxMzkyICAgICAgWCAgICAgIElCTUNDU0lEMDEzOTIgaWJtLTEzOTIKLSoqKiAgICAgIDEzODggICAgICBYICAgICAgSUJNQ0NTSUQwMTM4OCBpYm0tMTM4OAotKioqICAgICAgMTM4NiAgICAgIFggICAgICBjc0dCSyB3aW5kb3dzLTkzNiBNUzkzNiBDUDkzNiBHQksgaWFuYS0xMTMKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMTM4NiBpYm0tMTM4NgotKioqICAgICAgMTM4MyAgICAgIFggICAgICBjc0dCMjMxMiBHQjIzMTIgRVVDLUNOIGlhbmEtMjAyNSBJQk1DQ1NJRDAxMzgzCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMzgzCi0qKiogICAgICAxMzgxICAgICAgWCAgICAgIElCTUNDU0lEMDEzODEgaWJtLTEzODEKLSoqKiAgICAgIDEzODAgICAgICBYICAgICAgSUJNQ0NTSUQwMTM4MCBpYm0tMTM4MAotKioqICAgICAgMTM3NSAgICAgICAgICAgICBjc0JpZzVIS1NDUyBCaWc1LUhLU0NTIGlhbmEtMjEwMSBJQk1DQ1NJRDAxMzc1Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMzc1Ci0qKiogICAgICAxMzczICAgICAgICAgICAgIElCTUNDU0lEMDEzNzMgaWJtLTEzNzMKLSoqKiAgICAgIDEzNjQgICAgICBYICAgICAgSUJNQ0NTSUQwMTM2NCBpYm0tMTM2NAotKioqICAgICAgMTM2MyAgICAgIFggICAgICBjc0tTQzU2MDExOTg3IEtTQ181NjAxIEtTX0NfNTYwMS0xOTg5IGlzby1pci0xNDkKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgS1NfQ181NjAxLTE5ODcga29yZWFuIGlhbmEtMzYgSUJNQ0NTSUQwMTM2MyBpYm0tMTM2MwotKioqICAgICAgMTI4MyAgICAgIFggICAgICBJQk1DQ1NJRDAxMjgzIGlibS0xMjgzCi0qKiogICAgICAxMjgyICAgICAgWCAgICAgIElCTUNDU0lEMDEyODIgaWJtLTEyODIKLSoqKiAgICAgIDEyODEgICAgICBYICAgICAgSUJNQ0NTSUQwMTI4MSBpYm0tMTI4MQotKioqICAgICAgMTI4MCAgICAgIFggICAgICBJQk1DQ1NJRDAxMjgwIGlibS0xMjgwCi0qKiogICAgICAxMjc2ICAgICAgICAgICAgIGNzQWRvYmVTdGFuZGFyZEVuY29kaW5nIEFkb2JlLVN0YW5kYXJkLUVuY29kaW5nCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMjAwNSBJQk1DQ1NJRDAxMjc2IGlibS0xMjc2Ci0qKiogICAgICAxMjc1ICAgICAgWCAgICAgIElCTUNDU0lEMDEyNzUgaWJtLTEyNzUKLSoqKiAgICAgIDEyNTggICAgICBYICAgICAgSUJNQ0NTSUQwMTI1OCBpYm0tMTI1OAotKioqICAgICAgMTI1NyAgICAgIFggICAgICBJQk1DQ1NJRDAxMjU3IGlibS0xMjU3Ci0qKiogICAgICAxMjU2ICAgICAgWCAgICAgIElCTUNDU0lEMDEyNTYgaWJtLTEyNTYKLSoqKiAgICAgIDEyNTUgICAgICBYICAgICAgSUJNQ0NTSUQwMTI1NSBpYm0tMTI1NQotKioqICAgICAgMTI1NCAgICAgIFggICAgICBJQk1DQ1NJRDAxMjU0IGlibS0xMjU0Ci0qKiogICAgICAxMjUzICAgICAgWCAgICAgIElCTUNDU0lEMDEyNTMgaWJtLTEyNTMKLSoqKiAgICAgIDEyNTIgICAgICBYICAgICAgY3NXaW5kb3dzMzFMYXRpbjEgSVNPLTg4NTktMS1XaW5kb3dzLTMuMS1MYXRpbi0xCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMjAwMSBJQk1DQ1NJRDAxMjUyIGlibS0xMjUyCi0qKiogICAgICAxMjUxICAgICAgWCAgICAgIElCTUNDU0lEMDEyNTEgaWJtLTEyNTEKLSoqKiAgICAgIDEyNTAgICAgICBYICAgICAgY3NXaW5kb3dzMzFMYXRpbjIgSVNPLTg4NTktMi1XaW5kb3dzLUxhdGluLTIgaWFuYS0yMDAyCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDEyNTAgaWJtLTEyNTAKLSoqKiAgICAgIDEyMzUgICAgICAgICAgICAgY3NVVEYzMkxFIFVURi0zMkxFIFVURi0zMi1MRSBVVEYzMkxFIFVURjMyLUxFCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMTAxOSBJQk1DQ1NJRDAxMjM1IGlibS0xMjM1Ci0qKiogICAgICAxMjMzICAgICAgICAgICAgIGNzVVRGMzJCRSBVVEYtMzJCRSBVVEYtMzItQkUgVVRGMzJCRSBVVEYzMi1CRQotKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTEwMTggSUJNQ0NTSUQwMTIzMyBpYm0tMTIzMwotKioqICAgICAgMTIwOCAgICAgIFggICAgICBjc1VURjggVVRGLTggVVRGOCBpYW5hLTEwNiBJQk1DQ1NJRDAxMjA4IGlibS0xMjA4Ci0qKiogICAgICAxMjAzICAgICAgICAgICAgIGNzVVRGMTZMRSBVVEYtMTZMRSBVVEYtMTYtTEUgVVRGMTZMRSBVVEYxNi1MRQotKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTEwMTQgSUJNQ0NTSUQwMTIwMyBpYm0tMTIwMwotKioqICAgICAgMTIwMSAgICAgICAgICAgICBjc1VURjE2QkUgVVRGLTE2QkUgVVRGLTE2LUJFIFVURjE2QkUgVVRGMTYtQkUKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0xMDEzIElCTUNDU0lEMDEyMDEgaWJtLTEyMDEKLSoqKiAgICAgIDExNjQgICAgICBYICAgICAgSUJNQ0NTSUQwMTE2NCBpYm0tMTE2NAotKioqICAgICAgMTE2MCAgICAgIFggICAgICBJQk1DQ1NJRDAxMTYwIGlibS0xMTYwCi0qKiogICAgICAxMTU4ICAgICAgWCAgICAgIElCTUNDU0lEMDExNTggaWJtLTExNTgKLSoqKiAgICAgIDExNTcgICAgICBYICAgICAgSUJNQ0NTSUQwMTE1NyBpYm0tMTE1NwotKioqICAgICAgMTE1NiAgICAgIFggICAgICBJQk1DQ1NJRDAxMTU2IGlibS0xMTU2Ci0qKiogICAgICAxMTU1ICAgICAgWCAgICAgIElCTUNDU0lEMDExNTUgaWJtLTExNTUKLSoqKiAgICAgIDExNTQgICAgICBYICAgICAgSUJNQ0NTSUQwMTE1NCBpYm0tMTE1NAotKioqICAgICAgMTE1MyAgICAgIFggICAgICBJQk1DQ1NJRDAxMTUzIGlibS0xMTUzCi0qKiogICAgICAxMTQ5ICAgICAgWCAgICAgIGNzSUJNMDExNDkgZWJjZGljLWlzLTg3MStldXJvIENQMDExNDkgQ0NTSUQwMTE0OQotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMTE0OSBpYW5hLTIxMDAgSUJNQ0NTSUQwMTE0OSBpYm0tMTE0OQotKioqICAgICAgMTE0OCAgICAgIFggICAgICBjc0lCTTAxMTQ4IGViY2RpYy1pbnRlcm5hdGlvbmFsLTUwMCtldXJvIENQMDExNDgKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgQ0NTSUQwMTE0OCBJQk0wMTE0OCBpYW5hLTIwOTkgSUJNQ0NTSUQwMTE0OCBpYm0tMTE0OAotKioqICAgICAgMTE0NyAgICAgIFggICAgICBjc0lCTTAxMTQ3IGViY2RpYy1mci0yOTcrZXVybyBDUDAxMTQ3IENDU0lEMDExNDcKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDcgaWFuYS0yMDk4IElCTUNDU0lEMDExNDcgaWJtLTExNDcKLSoqKiAgICAgIDExNDYgICAgICBYICAgICAgY3NJQk0wMTE0NiBlYmNkaWMtZ2ItMjg1K2V1cm8gQ1AwMTE0NiBDQ1NJRDAxMTQ2Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTTAxMTQ2IGlhbmEtMjA5NyBJQk1DQ1NJRDAxMTQ2IGlibS0xMTQ2Ci0qKiogICAgICAxMTQ1ICAgICAgWCAgICAgIGNzSUJNMDExNDUgZWJjZGljLWVzLTI4NCtldXJvIENQMDExNDUgQ0NTSUQwMTE0NQotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMTE0NSBpYW5hLTIwOTYgSUJNQ0NTSUQwMTE0NSBpYm0tMTE0NQotKioqICAgICAgMTE0NCAgICAgIFggICAgICBjc0lCTTAxMTQ0IGViY2RpYy1pdC0yODArZXVybyBDUDAxMTQ0IENDU0lEMDExNDQKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDQgaWFuYS0yMDk1IElCTUNDU0lEMDExNDQgaWJtLTExNDQKLSoqKiAgICAgIDExNDMgICAgICBYICAgICAgY3NJQk0wMTE0MyBlYmNkaWMtc2UtMjc4K2V1cm8gZWJjZGljLWZpLTI3OCtldXJvCi0qKiogICAgICAgICAgICAgICAgICAgICAgIENQMDExNDMgQ0NTSUQwMTE0MyBJQk0wMTE0MyBpYW5hLTIwOTQgSUJNQ0NTSUQwMTE0MwotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tMTE0MwotKioqICAgICAgMTE0MiAgICAgIFggICAgICBjc0lCTTAxMTQyIGViY2RpYy1uby0yNzcrZXVybyBlYmNkaWMtZGstMjc3K2V1cm8KLSoqKiAgICAgICAgICAgICAgICAgICAgICAgQ1AwMTE0MiBDQ1NJRDAxMTQyIElCTTAxMTQyIGlhbmEtMjA5MyBJQk1DQ1NJRDAxMTQyCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMTQyCi0qKiogICAgICAxMTQxICAgICAgWCAgICAgIGNzSUJNMDExNDEgZWJjZGljLWRlLTI3MytldXJvIENQMDExNDEgQ0NTSUQwMTE0MQotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMTE0MSBpYW5hLTIwOTIgSUJNQ0NTSUQwMTE0MSBpYm0tMTE0MQotKioqICAgICAgMTE0MCAgICAgIFggICAgICBjc0lCTTAxMTQwIGViY2RpYy11cy0zNytldXJvIENQMDExNDAgQ0NTSUQwMTE0MAotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMTE0MCBpYW5hLTIwOTEgSUJNQ0NTSUQwMTE0MCBpYm0tMTE0MAotKioqICAgICAgMTEzNyAgICAgIFggICAgICBJQk1DQ1NJRDAxMTM3IGlibS0xMTM3Ci0qKiogICAgICAxMTMzICAgICAgICAgICAgIElCTUNDU0lEMDExMzMgaWJtLTExMzMKLSoqKiAgICAgIDExMzIgICAgICBYICAgICAgSUJNQ0NTSUQwMTEzMiBpYm0tMTEzMgotKioqICAgICAgMTEzMCAgICAgIFggICAgICBJQk1DQ1NJRDAxMTMwIGlibS0xMTMwCi0qKiogICAgICAxMTI5ICAgICAgWCAgICAgIElCTUNDU0lEMDExMjkgaWJtLTExMjkKLSoqKiAgICAgIDExMjMgICAgICBYICAgICAgSUJNQ0NTSUQwMTEyMyBpYm0tMTEyMwotKioqICAgICAgMTEyMiAgICAgIFggICAgICBJQk1DQ1NJRDAxMTIyIGlibS0xMTIyCi0qKiogICAgICAxMTE1ICAgICAgICAgICAgIElCTUNDU0lEMDExMTUgaWJtLTExMTUKLSoqKiAgICAgIDExMTQgICAgICAgICAgICAgSUJNQ0NTSUQwMTExNCBpYm0tMTExNAotKioqICAgICAgMTExMiAgICAgIFggICAgICBJQk1DQ1NJRDAxMTEyIGlibS0xMTEyCi0qKiogICAgICAxMDk4ICAgICAgWCAgICAgIElCTUNDU0lEMDEwOTggaWJtLTEwOTgKLSoqKiAgICAgIDEwOTcgICAgICBYICAgICAgSUJNQ0NTSUQwMTA5NyBpYm0tMTA5NwotKioqICAgICAgMTA4OSAgICAgIFggICAgICBjc0lTT0xhdGluQXJhYmljIGFyYWJpYyBBU01PLTcwOCBFQ01BLTExNCBJU09fODg1OS02Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlzby1pci0xMjcgSVNPXzg4NTktNjoxOTg3IElTTy04ODU5LTYgaWFuYS05Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDEwODkgaWJtLTEwODkKLSoqKiAgICAgIDEwODggICAgICAgICAgICAgSUJNQ0NTSUQwMTA4OCBpYm0tMTA4OAotKioqICAgICAgMTA1MSAgICAgIFggICAgICBjc0hQUm9tYW44IHI4IHJvbWFuOCBocC1yb21hbjggaWFuYS0yMDA0IElCTUNDU0lEMDEwNTEKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTEwNTEKLSoqKiAgICAgIDEwNDcgICAgICBYICAgICAgY3NJQk0xMDQ3IElCTS0xMDQ3IElCTTEwNDcgaWFuYS0yMTAyIElCTUNDU0lEMDEwNDcKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTEwNDcKLSoqKiAgICAgIDEwNDYgICAgICBYICAgICAgSUJNQ0NTSUQwMTA0NiBpYm0tMTA0NgotKioqICAgICAgMTA0MyAgICAgICAgICAgICBJQk1DQ1NJRDAxMDQzIGlibS0xMDQzCi0qKiogICAgICAxMDQyICAgICAgICAgICAgIElCTUNDU0lEMDEwNDIgaWJtLTEwNDIKLSoqKiAgICAgIDEwNDEgICAgICAgICAgICAgSUJNQ0NTSUQwMTA0MSBpYm0tMTA0MQotKioqICAgICAgMTA0MCAgICAgICAgICAgICBJQk1DQ1NJRDAxMDQwIGlibS0xMDQwCi0qKiogICAgICAxMDI3ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMjcgaWJtLTEwMjcKLSoqKiAgICAgIDEwMjYgICAgICBYICAgICAgY3NJQk0xMDI2IENQMTAyNiBJQk0xMDI2IGlhbmEtMjA2MyBJQk1DQ1NJRDAxMDI2Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMDI2Ci0qKiogICAgICAxMDI1ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMjUgaWJtLTEwMjUKLSoqKiAgICAgIDEwMTkgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxOSBpYm0tMTAxOQotKioqICAgICAgMTAxOCAgICAgIFggICAgICBJQk1DQ1NJRDAxMDE4IGlibS0xMDE4Ci0qKiogICAgICAxMDE3ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTcgaWJtLTEwMTcKLSoqKiAgICAgIDEwMTYgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxNiBpYm0tMTAxNgotKioqICAgICAgMTAxNSAgICAgIFggICAgICBJQk1DQ1NJRDAxMDE1IGlibS0xMDE1Ci0qKiogICAgICAxMDE0ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTQgaWJtLTEwMTQKLSoqKiAgICAgIDEwMTMgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxMyBpYm0tMTAxMwotKioqICAgICAgMTAxMiAgICAgIFggICAgICBJQk1DQ1NJRDAxMDEyIGlibS0xMDEyCi0qKiogICAgICAxMDExICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTEgaWJtLTEwMTEKLSoqKiAgICAgIDEwMTAgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxMCBpYm0tMTAxMAotKioqICAgICAgMTAwOSAgICAgIFggICAgICBJQk1DQ1NJRDAxMDA5IGlibS0xMDA5Ci0qKiogICAgICAxMDA4ICAgICAgICAgICAgIElCTUNDU0lEMDEwMDggaWJtLTEwMDgKLSoqKiAgICAgICA5NzAgICAgICBYICAgICAgY3NFVUNLUiBFVUMtS1IgaWFuYS0zOCBJQk1DQ1NJRDAwOTcwIGlibS05NzAKLSoqKiAgICAgICA5NjUgICAgICBYICAgICAgSUJNQ0NTSUQwMDk2NSBpYm0tOTY1Ci0qKiogICAgICAgOTY0ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NjQgaWJtLTk2NAotKioqICAgICAgIDk1OSAgICAgIFggICAgICBJQk1DQ1NJRDAwOTU5IGlibS05NTkKLSoqKiAgICAgICA5NTggICAgICBYICAgICAgSUJNQ0NTSUQwMDk1OCBpYm0tOTU4Ci0qKiogICAgICAgOTU3ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NTcgaWJtLTk1NwotKioqICAgICAgIDk1NiAgICAgIFggICAgICBJQk1DQ1NJRDAwOTU2IGlibS05NTYKLSoqKiAgICAgICA5NTEgICAgICBYICAgICAgSUJNQ0NTSUQwMDk1MSBpYm0tOTUxCi0qKiogICAgICAgOTUwICAgICAgWCAgICAgIElCTUNDU0lEMDA5NTAgaWJtLTk1MAotKioqICAgICAgIDk0OSAgICAgIFggICAgICBJQk1DQ1NJRDAwOTQ5IGlibS05NDkKLSoqKiAgICAgICA5NDcgICAgICBYICAgICAgSUJNQ0NTSUQwMDk0NyBpYm0tOTQ3Ci0qKiogICAgICAgOTQ2ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NDYgaWJtLTk0NgotKioqICAgICAgIDk0NCAgICAgIFggICAgICBJQk1DQ1NJRDAwOTQ0IGlibS05NDQKLSoqKiAgICAgICA5NDMgICAgICBYICAgICAgY3NTaGlmdEpJUyBNU19LYW5qaSBTaGlmdF9KSVMgaWFuYS0xNyBJQk1DQ1NJRDAwOTQzCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05NDMKLSoqKiAgICAgICA5NDIgICAgICBYICAgICAgSUJNQ0NTSUQwMDk0MiBpYm0tOTQyCi0qKiogICAgICAgOTM5ICAgICAgWCAgICAgIElCTUNDU0lEMDA5MzkgaWJtLTkzOQotKioqICAgICAgIDkzOCAgICAgIFggICAgICBJQk1DQ1NJRDAwOTM4IGlibS05MzgKLSoqKiAgICAgICA5MzcgICAgICBYICAgICAgSUJNQ0NTSUQwMDkzNyBpYm0tOTM3Ci0qKiogICAgICAgOTM2ICAgICAgICAgICAgIElCTUNDU0lEMDA5MzYgaWJtLTkzNgotKioqICAgICAgIDkzNSAgICAgIFggICAgICBJQk1DQ1NJRDAwOTM1IGlibS05MzUKLSoqKiAgICAgICA5MzQgICAgICBYICAgICAgSUJNQ0NTSUQwMDkzNCBpYm0tOTM0Ci0qKiogICAgICAgOTMzICAgICAgWCAgICAgIElCTUNDU0lEMDA5MzMgaWJtLTkzMwotKioqICAgICAgIDkzMiAgICAgIFggICAgICBJQk1DQ1NJRDAwOTMyIGlibS05MzIKLSoqKiAgICAgICA5MzAgICAgICBYICAgICAgSUJNQ0NTSUQwMDkzMCBpYm0tOTMwCi0qKiogICAgICAgOTI4ICAgICAgWCAgICAgIElCTUNDU0lEMDA5MjggaWJtLTkyOAotKioqICAgICAgIDkyNyAgICAgIFggICAgICBJQk1DQ1NJRDAwOTI3IGlibS05MjcKLSoqKiAgICAgICA5MjYgICAgICBYICAgICAgSUJNQ0NTSUQwMDkyNiBpYm0tOTI2Ci0qKiogICAgICAgOTI0ICAgICAgWCAgICAgIGNzSUJNMDA5MjQgZWJjZGljLUxhdGluOS0tZXVybyBDUDAwOTI0IENDU0lEMDA5MjQKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDA5MjQgaWFuYS0yMDkwIElCTUNDU0lEMDA5MjQgaWJtLTkyNAotKioqICAgICAgIDkyMyAgICAgIFggICAgICBjc0lTTzg4NTkxNSBMYXRpbi05IElTT184ODU5LTE1IElTTy04ODU5LTE1IGlhbmEtMTExCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA5MjMgaWJtLTkyMwotKioqICAgICAgIDkyMiAgICAgIFggICAgICBJQk1DQ1NJRDAwOTIyIGlibS05MjIKLSoqKiAgICAgICA5MjEgICAgICBYICAgICAgY3NJU084ODU5MTMgSVNPLTg4NTktMTMgaWFuYS0xMDkgSUJNQ0NTSUQwMDkyMSBpYm0tOTIxCi0qKiogICAgICAgOTIwICAgICAgWCAgICAgIGNzSVNPTGF0aW41IGw1IGxhdGluNSBJU09fODg1OS05IGlzby1pci0xNDgKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSVNPXzg4NTktOToxOTg5IElTTy04ODU5LTkgaWFuYS0xMiBJQk1DQ1NJRDAwOTIwCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05MjAKLSoqKiAgICAgICA5MTggICAgICBYICAgICAgY3NJQk05MTggZWJjZGljLWNwLWFyMiBDUDkxOCBJQk05MTggaWFuYS0yMDYyCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA5MTggaWJtLTkxOAotKioqICAgICAgIDkxNiAgICAgIFggICAgICBjc0lTT0xhdGluSGVicmV3IGhlYnJldyBJU09fODg1OS04IGlzby1pci0xMzgKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSVNPXzg4NTktODoxOTg4IElTTy04ODU5LTggaWFuYS0xMSBJQk1DQ1NJRDAwOTE2Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05MTYKLSoqKiAgICAgICA5MTUgICAgICBYICAgICAgY3NJU09MYXRpbkN5cmlsbGljIGN5cmlsbGljIElTT184ODU5LTUgaXNvLWlyLTE0NAotKioqICAgICAgICAgICAgICAgICAgICAgICBJU09fODg1OS01OjE5ODggSVNPLTg4NTktNSBpYW5hLTggSUJNQ0NTSUQwMDkxNQotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTE1Ci0qKiogICAgICAgOTE0ICAgICAgWCAgICAgIGNzSVNPTGF0aW40IGw0IGxhdGluNCBJU09fODg1OS00IGlzby1pci0xMTAKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSVNPXzg4NTktNDoxOTg4IElTTy04ODU5LTQgaWFuYS03IElCTUNDU0lEMDA5MTQKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTkxNAotKioqICAgICAgIDkxMyAgICAgICAgICAgICBjc0lTT0xhdGluMyBsMyBsYXRpbjMgSVNPXzg4NTktMyBpc28taXItMTA5Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElTT184ODU5LTM6MTk4OCBJU08tODg1OS0zIGlhbmEtNiBJQk1DQ1NJRDAwOTEzCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05MTMKLSoqKiAgICAgICA5MTIgICAgICBYICAgICAgY3NJU09MYXRpbjIgbDIgbGF0aW4yIElTT184ODU5LTIgaXNvLWlyLTEwMQotKioqICAgICAgICAgICAgICAgICAgICAgICBJU09fODg1OS0yOjE5ODcgSVNPLTg4NTktMiBpYW5hLTUgSUJNQ0NTSUQwMDkxMgotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTEyCi0qKiogICAgICAgOTA1ICAgICAgWCAgICAgIGNzSUJNOTA1IGViY2RpYy1jcC10ciBDUDkwNSBJQk05MDUgaWFuYS0yMDYxCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA5MDUgaWJtLTkwNQotKioqICAgICAgIDkwNCAgICAgICAgICAgICBjc0lCQk05MDQgOTA0IGNwOTA0IElCTTkwNCBpYW5hLTIwNjAgSUJNQ0NTSUQwMDkwNAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTA0Ci0qKiogICAgICAgOTAzICAgICAgICAgICAgIGNzSUJNOTAzIGNwOTAzIElCTTkwMyBpYW5hLTIwNTkgSUJNQ0NTSUQwMDkwMyBpYm0tOTAzCi0qKiogICAgICAgODk3ICAgICAgWCAgICAgIGNzSGFsZldpZHRoS2F0YWthbmEgWDAyMDEgSklTX1gwMjAxIGlhbmEtMTUKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDg5NyBpYm0tODk3Ci0qKiogICAgICAgODk2ICAgICAgICAgICAgIElCTUNDU0lEMDA4OTYgaWJtLTg5NgotKioqICAgICAgIDg5MSAgICAgIFggICAgICBjc0lCTTg5MSBjcDg5MSBJQk04OTEgaWFuYS0yMDU4IElCTUNDU0lEMDA4OTEgaWJtLTg5MQotKioqICAgICAgIDg4MCAgICAgIFggICAgICBjc0lCTTg4MCBFQkNESUMtQ3lyaWxsaWMgY3A4ODAgSUJNODgwIGlhbmEtMjA1NwotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODgwIGlibS04ODAKLSoqKiAgICAgICA4NzggICAgICBYICAgICAgY3NLT0k4UiBLT0k4LVIgaWFuYS0yMDg0IElCTUNDU0lEMDA4NzggaWJtLTg3OAotKioqICAgICAgIDg3NSAgICAgIFggICAgICBJQk1DQ1NJRDAwODc1IGlibS04NzUKLSoqKiAgICAgICA4NzQgICAgICBYICAgICAgY3NUSVM2MjAgVElTLTYyMCBjc0VVQ1RIIGV1Y1RIIEVVQy1USD4gaWFuYS0yMjU5Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA4NzQgaWJtLTg3NAotKioqICAgICAgIDg3MSAgICAgIFggICAgICBjc0lCTTg3MSBlYmNkaWMtY3AtaXMgQ1A4NzEgSUJNODcxIGlhbmEtMjA1NgotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODcxIGlibS04NzEKLSoqKiAgICAgICA4NzAgICAgICBYICAgICAgY3NJQk04NzAgZWJjZGljLWNwLXl1IGViY2RpYy1jcC1yb2VjZSBDUDg3MCBJQk04NzAKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0yMDU1IElCTUNDU0lEMDA4NzAgaWJtLTg3MAotKioqICAgICAgIDg2OSAgICAgIFggICAgICBjc0lCTTg2OSBjcC1nciA4NjkgY3A4NjkgSUJNODY5IGlhbmEtMjA1NAotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODY5IGlibS04NjkKLSoqKiAgICAgICA4NjggICAgICBYICAgICAgY3NJQk04NjggY3AtYXIgQ1A4NjggSUJNODY4IGlhbmEtMjA1MyBJQk1DQ1NJRDAwODY4Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NjgKLSoqKiAgICAgICA4NjYgICAgICBYICAgICAgY3NJQk04NjYgODY2IGNwODY2IElCTTg2NiBpYW5hLTIwODYgSUJNQ0NTSUQwMDg2NgotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODY2Ci0qKiogICAgICAgODY1ICAgICAgWCAgICAgIGNzSUJNODY1IDg2NSBjcDg2NSBJQk04NjUgaWFuYS0yMDUyIElCTUNDU0lEMDA4NjUKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg2NQotKioqICAgICAgIDg2NCAgICAgIFggICAgICBjc0lCTTg2NCBjcDg2NCBJQk04NjQgaWFuYS0yMDUxIElCTUNDU0lEMDA4NjQgaWJtLTg2NAotKioqICAgICAgIDg2MyAgICAgIFggICAgICBjc0lCTTg2MyA4NjMgY3A4NjMgSUJNODYzIGlhbmEtMjA1MCBJQk1DQ1NJRDAwODYzCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NjMKLSoqKiAgICAgICA4NjIgICAgICBYICAgICAgY3NQQzg2MkxhdGluSGVicmV3IDg2MiBjcDg2MiBJQk04NjIgaWFuYS0yMDEzCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA4NjIgaWJtLTg2MgotKioqICAgICAgIDg2MSAgICAgIFggICAgICBjc0lCTTg2MSBjcC1pcyA4NjEgY3A4NjEgSUJNODYxIGlhbmEtMjA0OQotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODYxIGlibS04NjEKLSoqKiAgICAgICA4NjAgICAgICBYICAgICAgY3NJQk04NjAgODYwIGNwODYwIElCTTg2MCBpYW5hLTIwNDggSUJNQ0NTSUQwMDg2MAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODYwCi0qKiogICAgICAgODU4ICAgICAgICAgICAgIGNzSUJNMDA4NTggUEMtTXVsdGlsaW5ndWFsLTg1MCtldXJvIENQMDA4NTggQ0NTSUQwMDg1OAotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMDg1OCBpYW5hLTIwODkgSUJNQ0NTSUQwMDg1OCBpYm0tODU4Ci0qKiogICAgICAgODU3ICAgICAgWCAgICAgIGNzSUJNODU3IDg1NyBjcDg1NyBJQk04NTcgaWFuYS0yMDQ3IElCTUNDU0lEMDA4NTcKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg1NwotKioqICAgICAgIDg1NSAgICAgIFggICAgICBjc0lCTTg1NSA4NTUgY3A4NTUgSUJNODU1IGlhbmEtMjA0NiBJQk1DQ1NJRDAwODU1Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NTUKLSoqKiAgICAgICA4NTIgICAgICBYICAgICAgY3NQQ3A4NTIgODUyIGNwODUyIElCTTg1MiBpYW5hLTIwMTAgSUJNQ0NTSUQwMDg1MgotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODUyCi0qKiogICAgICAgODUxICAgICAgWCAgICAgIGNzSUJNODUxIDg1MSBjcDg1MSBJQk04NTEgaWFuYS0yMDQ1IElCTUNDU0lEMDA4NTEKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg1MQotKioqICAgICAgIDg1MCAgICAgIFggICAgICBjc1BDODUwTXVsdGlsaW5ndWFsIDg1MCBjcDg1MCBJQk04NTAgaWFuYS0yMDA5Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA4NTAgaWJtLTg1MAotKioqICAgICAgIDgzOCAgICAgIFggICAgICBjc0lCTVRoYWkgSUJNLVRoYWkgaWFuYS0yMDE2IElCTUNDU0lEMDA4MzggaWJtLTgzOAotKioqICAgICAgIDgzNyAgICAgIFggICAgICBJQk1DQ1NJRDAwODM3IGlibS04MzcKLSoqKiAgICAgICA4MzYgICAgICBYICAgICAgSUJNQ0NTSUQwMDgzNiBpYm0tODM2Ci0qKiogICAgICAgODM1ICAgICAgWCAgICAgIElCTUNDU0lEMDA4MzUgaWJtLTgzNQotKioqICAgICAgIDgzMyAgICAgIFggICAgICBJQk1DQ1NJRDAwODMzIGlibS04MzMKLSoqKiAgICAgICA4MTkgICAgICBYICAgICAgY3NJU09MYXRpbjEgQ1A4MTkgSUJNODE5IGwxIGxhdGluMSBJU09fODg1OS0xCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGlzby1pci0xMDAgSVNPXzg4NTktMToxOTg3IElTTy04ODU5LTEgaWFuYS00Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA4MTkgaWJtLTgxOQotKioqICAgICAgIDgxMyAgICAgIFggICAgICBjc0lTT0xhdGluR3JlZWsgZ3JlZWs4IGdyZWVrIEVDTUEtMTE4IEVMT1RfOTI4Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElTT184ODU5LTcgaXNvLWlyLTEyNiBJU09fODg1OS03OjE5ODcgSVNPLTg4NTktNwotKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTEwIElCTUNDU0lEMDA4MTMgaWJtLTgxMwotKioqICAgICAgIDc3NSAgICAgIFggICAgICBjc1BDNzc1QmFsdGljIGNwNzc1IElCTTc3NSBpYW5hLTIwODcgSUJNQ0NTSUQwMDc3NQotKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tNzc1Ci0qKiogICAgICAgNzM3ICAgICAgWCAgICAgIElCTUNDU0lEMDA3MzcgaWJtLTczNwotKioqICAgICAgIDcyMCAgICAgIFggICAgICBJQk1DQ1NJRDAwNzIwIGlibS03MjAKLSoqKiAgICAgICA1MDAgICAgICBYICAgICAgY3NJQk01MDAgZWJjZGljLWNwLWNoIGViY2RpYy1jcC1iZSBDUDUwMCBJQk01MDAKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0yMDQ0IElCTUNDU0lEMDA1MDAgaWJtLTUwMAotKioqICAgICAgIDQzNyAgICAgIFggICAgICBjc1BDOENvZGVQYWdlNDM3IDQzNyBjcDQzNyBJQk00MzcgaWFuYS0yMDExCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA0MzcgaWJtLTQzNwotKioqICAgICAgIDQyNCAgICAgIFggICAgICBjc0lCTTQyNCBlYmNkaWMtY3AtaGUgY3A0MjQgSUJNNDI0IGlhbmEtMjA0MwotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwNDI0IGlibS00MjQKLSoqKiAgICAgICA0MjMgICAgICBYICAgICAgY3NJQk00MjMgZWJjZGljLWNwLWdyIGNwNDIzIElCTTQyMyBpYW5hLTIwNDIKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDQyMyBpYm0tNDIzCi0qKiogICAgICAgNDIwICAgICAgWCAgICAgIGNzSUJNNDIwIGViY2RpYy1jcC1hcjEgY3A0MjAgSUJNNDIwIGlhbmEtMjA0MQotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwNDIwIGlibS00MjAKLSoqKiAgICAgICAzNjcgICAgICBYICAgICAgY3NBU0NJSSBjcDM2NyBJQk0zNjcgdXMgSVNPNjQ2LVVTIElTT182NDYuaXJ2OjE5OTEKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgQU5TSV9YMy40LTE5ODYgQU5TSV9YMy40LTE5NjggaXNvLWlyLTYgVVMtQVNDSUkgQVNDSUkKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0zIElCTUNDU0lEMDAzNjcgaWJtLTM2NwotKioqICAgICAgIDMwMSAgICAgIFggICAgICBJQk1DQ1NJRDAwMzAxIGlibS0zMDEKLSoqKiAgICAgICAzMDAgICAgICBYICAgICAgSUJNQ0NTSUQwMDMwMCBpYm0tMzAwCi0qKiogICAgICAgMjk3ICAgICAgWCAgICAgIGNzSUJNMjk3IGViY2RpYy1jcC1mciBjcDI5NyBJQk0yOTcgaWFuYS0yMDQwCi0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDAyOTcgaWJtLTI5NwotKioqICAgICAgIDI5MCAgICAgIFggICAgICBjc0lCTTI5MCBFQkNESUMtSlAta2FuYSBjcDI5MCBJQk0yOTAgaWFuYS0yMDM5Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDAyOTAgaWJtLTI5MAotKioqICAgICAgIDI4NSAgICAgIFggICAgICBjc0lCTTI4NSBlYmNkaWMtY3AtZ2IgQ1AyODUgSUJNMjg1IGlhbmEtMjAzOAotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMjg1IGlibS0yODUKLSoqKiAgICAgICAyODQgICAgICBYICAgICAgY3NJQk0yODQgZWJjZGljLWNwLWVzIENQMjg0IElCTTI4NCBpYW5hLTIwMzcKLSoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDI4NCBpYm0tMjg0Ci0qKiogICAgICAgMjgwICAgICAgWCAgICAgIGNzSUJNMjgwIGViY2RpYy1jcC1pdCBDUDI4MCBJQk0yODAgaWFuYS0yMDM1Ci0qKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDAyODAgaWJtLTI4MAotKioqICAgICAgIDI3OCAgICAgIFggICAgICBjc0lCTTI3OCBlYmNkaWMtY3Atc2UgZWJjZGljLWNwLWZpIENQMjc4IElCTTI3OAotKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTIwMzQgSUJNQ0NTSUQwMDI3OCBpYm0tMjc4Ci0qKiogICAgICAgMjc3ICAgICAgWCAgICAgIGNzSUJNMjc3IEVCQ0RJQy1DUC1OTyBFQkNESUMtQ1AtREsgSUJNMjc3IGlhbmEtMjAzMwotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMjc3IGlibS0yNzcKLSoqKiAgICAgICAyNzMgICAgICBYICAgICAgY3NJQk0yNzMgQ1AyNzMgSUJNMjczIGlhbmEtMjAzMCBJQk1DQ1NJRDAwMjczIGlibS0yNzMKLSoqKiAgICAgICAyNTYgICAgICBYICAgICAgSUJNQ0NTSUQwMDI1NiBpYm0tMjU2Ci0qKiogICAgICAgIDM3ICAgICAgWCAgICAgIGNzSUJNMDM3IGViY2RpYy1jcC1ubCBlYmNkaWMtY3Atd3QgZWJjZGljLWNwLWNhCi0qKiogICAgICAgICAgICAgICAgICAgICAgIGViY2RpYy1jcC11cyBjcDAzNyBJQk0wMzcgRUJDRElDIGlhbmEtMjAyOAotKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMDM3IGlibS0zNwotKioqICAgICAgICAgMCAgICAgICAgICAgICBJQk1DQ1NJRDAwMDAwIGlibS0wCi0qKi8KLQotLyoqCi0qKiogICAgIDEzNDk5IHN0YXRlcywgMjI5IGZpbmFscywgMjAwMjAgdHJhbnNpdGlvbnMuCi0qKi8KLQotdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgICAgICB0X2Njc2lkOwotdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgICAgICB0X3N0YXRlcmFuZ2U7Ci10eXBlZGVmIHVuc2lnbmVkIHNob3J0ICAgICAgICAgIHRfdHJhbnNyYW5nZTsKLQotc3RhdGljIHRfdHJhbnNyYW5nZSAgICAgdHJhbnNfYXJyYXlbXSA9IHsKLSAwLCA5MCwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLAotIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MiwgOTMsIDk0LAotIDk1LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsCi0gMTExLCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDEyNiwgMTI3LCAxMjgsIDEyOSwKLSAxMzAsIDEzNywgMTM4LCAxMzksIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNTAsIDE1MSwgMTUzLAotIDE1NCwgMTU2LCAxNTcsIDE1OSwgMTYwLCAxNjIsIDE2MywgMTY1LCAxNjYsIDE2OCwgMTY5LCAxNzEsIDE3MiwgMTczLCAxNzQsCi0gMTc2LCAxNzcsIDE3OSwgMTgwLCAxODIsIDE4MywgMTg1LCAxODYsIDE4OCwgMTg5LCAxOTEsIDE5MiwgMTk0LCAxOTUsIDE5NywKLSAxOTgsIDE5OSwgMjAwLCAyMDIsIDIwMywgMjA1LCAyMDYsIDIwOCwgMjA5LCAyMTAsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LAotIDIxNiwgMjE4LCAyMTksIDIyMCwgMjIxLCAyMjIsIDIyMywgMjI0LCAyMjUsIDIyNiwgMjI3LCAyMjgsIDIyOSwgMjMwLCAyMzEsCi0gMjMzLCAyMzQsIDIzNSwgMjM2LCAyMzgsIDIzOSwgMjQxLCAyNDIsIDI0MywgMjQ1LCAyNDYsIDI0OCwgMjQ5LCAyNTEsIDI1MiwKLSAyNTQsIDI1NiwgMjU3LCAyNTksIDI2MCwgMjYxLCAyNjIsIDI2MywgMjY0LCAyNjUsIDI2NiwgMjY3LCAyNjksIDI3MCwgMjcxLAotIDI3NSwgMjc2LCAyNzcsIDI3OCwgMjc5LCAyODcsIDI4OCwgMjg5LCAyOTEsIDI5MiwgMjk0LCAyOTUsIDI5NywgMjk4LCAzMDAsCi0gMzAxLCAzMDMsIDMwNCwgMzA1LCAzMDYsIDMwNywgMzA4LCAzMTAsIDMxMSwgMzEzLCAzMTQsIDMxNSwgMzE2LCAzMTcsIDMxOCwKLSAzMTksIDMyMCwgMzIxLCAzMjIsIDMyMywgMzI0LCAzMjUsIDMyNywgMzI4LCAzMjksIDMzMCwgMzMxLCAzMzIsIDMzMywgMzM0LAotIDMzNSwgMzM2LCAzMzcsIDMzOCwgMzM5LCAzNDAsIDM0MSwgMzQyLCAzNDMsIDM0NCwgMzQ1LCAzNDYsIDM0NywgMzU3LCAzNTgsCi0gMzU5LCAzNjAsIDM2MSwgMzYyLCAzNjMsIDM2NSwgMzY2LCAzNjcsIDM2OCwgMzcwLCAzNzEsIDM3MywgMzc0LCAzNzYsIDM3NywKLSAzNzgsIDM4MCwgMzgxLCAzODMsIDM4NCwgMzg2LCAzODcsIDM4OSwgMzkwLCAzOTIsIDM5MywgMzk0LCAzOTYsIDM5OCwgNDAwLAotIDQwMSwgNDAyLCA0MDMsIDQwOSwgNDEwLCA0MTEsIDQxMiwgNDEzLCA0MTYsIDQxNywgNDE4LCA0MTksIDQyMCwgNDIxLCA0MjIsCi0gNDIzLCA0MjQsIDQyNSwgNDI2LCA0MjcsIDQyOSwgNDMwLCA0MzEsIDQzMiwgNDMzLCA0MzQsIDQzNSwgNDM4LCA0MzksIDQ0MCwKLSA0NDEsIDQ0MiwgNDQ0LCA0NDUsIDQ0NiwgNDQ3LCA0NTAsIDQ1MSwgNDUyLCA0NTMsIDQ1NCwgNDU1LCA0NTYsIDQ1NywgNDU4LAotIDQ1OSwgNDYyLCA0NjMsIDQ2NSwgNDY2LCA0NjcsIDQ2OCwgNDY5LCA0NzAsIDQ3MSwgNDcyLCA0NzMsIDQ3NCwgNDc1LCA0NzYsCi0gNDc3LCA0NzgsIDQ3OSwgNDgwLCA0ODksIDQ5MCwgNDkxLCA0OTIsIDQ5MywgNDk1LCA0OTYsIDQ5NywgNDk4LCA0OTksIDUwMCwKLSA1MDEsIDUwMiwgNTAzLCA1MDQsIDUwNSwgNTA2LCA1MTIsIDUxMywgNTE0LCA1MTUsIDUxNiwgNTE5LCA1MjAsIDUyMSwgNTIyLAotIDUyMywgNTI0LCA1MjUsIDUyNiwgNTI3LCA1MjgsIDUzMSwgNTMyLCA1MzMsIDUzNCwgNTM1LCA1MzYsIDUzNywgNTM4LCA1MzksCi0gNTQwLCA1NDEsIDU1MSwgNTUzLCA1NTQsIDU1NiwgNTU3LCA1NTksIDU2MCwgNTYyLCA1NjMsIDU2NSwgNTY2LCA1NjgsIDU2OSwKLSA1NzEsIDU3MiwgNTc0LCA1NzUsIDU3NywgNTc4LCA1ODAsIDU4MSwgNTgzLCA1ODUsIDU4NiwgNTg3LCA1OTEsIDU5MiwgNTkzLAotIDU5NSwgNTk2LCA1OTgsIDU5OSwgNjAwLCA2MDIsIDYwMywgNjA0LCA2MDYsIDYwNywgNjA5LCA2MTAsIDYxMiwgNjEzLCA2MTUsCi0gNjE2LCA2MTgsIDYxOSwgNjIxLCA2MjIsIDYyNCwgNjI1LCA2MjcsIDYyOCwgNjMwLCA2MzEsIDYzMywgNjM0LCA2MzYsIDYzNywKLSA2MzksIDY0MCwgNjQyLCA2NDMsIDY0NCwgNjQ2LCA2NDcsIDY0OCwgNjQ5LCA2NTUsIDY1NiwgNjU4LCA2NTksIDY2MSwgNjYyLAotIDY2MywgNjY0LCA2NjUsIDY2NiwgNjY3LCA2NjgsIDY2OSwgNjcyLCA2NzMsIDY3NSwgNjc2LCA2NzcsIDY3OSwgNjgwLCA2ODIsCi0gNjgzLCA2ODUsIDY4NiwgNjg4LCA2ODksIDY5MSwgNjkyLCA2OTQsIDY5NSwgNjk3LCA2OTgsIDcwMCwgNzAxLCA3MDMsIDcwNCwKLSA3MDYsIDcwNywgNzA5LCA3MTAsIDcxMiwgNzEzLCA3MTUsIDcxNiwgNzE4LCA3MTksIDcyMSwgNzIyLCA3MjMsIDcyNCwgNzI1LAotIDcyNywgNzI4LCA3MzAsIDczMSwgNzMzLCA3MzQsIDczNiwgNzM3LCA3MzksIDc0MCwgNzQxLCA3NDUsIDc0NiwgNzQ3LCA3NDgsCi0gNzUwLCA3NTEsIDc1MiwgNzUzLCA3NTQsIDc1NiwgNzU3LCA3NTgsIDc1OSwgNzYwLCA3NjMsIDc2NCwgNzY3LCA3NjgsIDc3MSwKLSA3NzksIDc4MCwgNzgxLCA3ODYsIDc4OCwgNzg5LCA3OTEsIDc5MiwgNzkzLCA3OTUsIDc5NiwgNzk4LCA3OTksIDgwMSwgODAyLAotIDgwMywgODA0LCA4MDUsIDgwNiwgODA3LCA4MTYsIDgxNywgODE4LCA4MjIsIDgyMywgODI0LCA4MjUsIDgyNiwgODI3LCA4MjgsCi0gODI5LCA4MzAsIDgzMSwgODMyLCA4MzMsIDgzNCwgODM2LCA4MzcsIDgzOSwgODQwLCA4NDEsIDg0MiwgODQzLCA4NDQsIDg0NSwKLSA4NDcsIDg0OCwgODQ5LCA4NTAsIDg1MSwgODUyLCA4NTMsIDg1NCwgODU1LCA4NTYsIDg1NywgODU4LCA4NTksIDg2MSwgODYyLAotIDg2MywgODY1LCA4NjYsIDg2OCwgODY5LCA4NzEsIDg3MiwgODc0LCA4NzUsIDg3NywgODc4LCA4ODAsIDg4MSwgODgzLCA4ODQsCi0gODg1LCA4ODcsIDg4OCwgODkwLCA4OTEsIDg5MywgODk0LCA4OTYsIDg5NywgODk4LCA5MDAsIDkwMSwgOTAzLCA5MDQsIDkwNiwKLSA5MDcsIDkwOSwgOTEwLCA5MTIsIDkxMywgOTE0LCA5MTUsIDkxNiwgOTE3LCA5MTgsIDkxOSwgOTIwLCA5MzMsIDkzNCwgOTM2LAotIDkzNywgOTM5LCA5NDAsIDk0MiwgOTQzLCA5NDUsIDk0NiwgOTQ3LCA5NDgsIDk1MiwgOTUzLCA5NTUsIDk1NiwgOTU3LCA5NjEsCi0gOTYyLCA5NjMsIDk2NSwgOTY2LCA5NjcsIDk2OCwgOTcwLCA5NzEsIDk3MiwgOTczLCA5NzQsIDk3NSwgOTc2LCA5NzcsIDk3OCwKLSA5NzksIDk4MCwgOTgxLCA5ODIsIDk4MywgOTg0LCA5ODUsIDk4NiwgOTg3LCA5ODgsIDk5MCwgOTkxLCA5OTIsIDk5NiwgOTk4LAotIDk5OSwgMTAwMSwgMTAwMiwgMTAwNCwgMTAwNSwgMTAwNywgMTAwOCwgMTAxMCwgMTAxMSwgMTAxMywgMTAxNCwgMTAxNSwgMTAxNiwKLSAxMDE3LCAxMDE5LCAxMDIwLCAxMDIyLCAxMDIzLCAxMDI1LCAxMDI2LCAxMDI4LCAxMDI5LCAxMDMxLCAxMDMyLCAxMDM0LCAxMDM1LAotIDEwMzcsIDEwMzgsIDEwNDAsIDEwNDEsIDEwNDMsIDEwNDQsIDEwNDYsIDEwNDcsIDEwNDksIDEwNTAsIDEwNTIsIDEwNTMsIDEwNTQsCi0gMTA1NiwgMTA1NywgMTA1OSwgMTA2MCwgMTA2MiwgMTA2MywgMTA2NSwgMTA2NiwgMTA2OCwgMTA2OSwgMTA3MSwgMTA3MiwgMTA3NCwKLSAxMDc1LCAxMDc3LCAxMDc4LCAxMDgwLCAxMDgxLCAxMDgzLCAxMDg0LCAxMDg2LCAxMDg3LCAxMDg4LCAxMDg5LCAxMDkwLCAxMDkxLAotIDEwOTMsIDEwOTQsIDEwOTYsIDEwOTcsIDEwOTksIDExMDAsIDExMDIsIDExMDMsIDExMDUsIDExMDYsIDExMDgsIDExMDksIDExMTEsCi0gMTExMiwgMTExMywgMTExNCwgMTExOCwgMTExOSwgMTEyMCwgMTEyMSwgMTEyMiwgMTEyMywgMTEyNCwgMTEyNSwgMTEyNiwgMTEzMCwKLSAxMTMxLCAxMTMzLCAxMTM0LCAxMTM1LCAxMTM3LCAxMTM4LCAxMTQwLCAxMTQxLCAxMTQzLCAxMTQ0LCAxMTQ2LCAxMTQ3LCAxMTQ5LAotIDExNTAsIDExNTIsIDExNTMsIDExNTUsIDExNTYsIDExNTcsIDExNTgsIDExNTksIDExNjAsIDExNjEsIDExNjMsIDExNjQsIDExNjYsCi0gMTE2NywgMTE2OCwgMTE3MCwgMTE3MSwgMTE3MywgMTE3NCwgMTE3NiwgMTE3NywgMTE3OSwgMTE4MCwgMTE4MiwgMTE4MywgMTE4NCwKLSAxMTg2LCAxMTg3LCAxMTg4LCAxMTkwLCAxMTkxLCAxMTkyLCAxMTk2LCAxMTk3LCAxMTk4LCAxMTk5LCAxMjAwLCAxMjAyLCAxMjAzLAotIDEyMDQsIDEyMDYsIDEyMDcsIDEyMDgsIDEyMTIsIDEyMTMsIDEyMTQsIDEyMTUsIDEyMTYsIDEyMTcsIDEyMTgsIDEyMjEsIDEyMjIsCi0gMTIyNCwgMTIyNSwgMTIyNiwgMTIzMCwgMTIzMSwgMTIzMiwgMTIzMywgMTIzNCwgMTIzNSwgMTIzNiwgMTIzNywgMTIzOCwgMTIzOSwKLSAxMjQwLCAxMjQxLCAxMjQyLCAxMjQzLCAxMjQ0LCAxMjQ1LCAxMjQ2LCAxMjQ3LCAxMjQ4LCAxMjU3LCAxMjU4LCAxMjU5LCAxMjYwLAotIDEyNjEsIDEyNjIsIDEyNjMsIDEyNjQsIDEyNjUsIDEyNjcsIDEyNjgsIDEyNzAsIDEyNzEsIDEyNzMsIDEyNzQsIDEyNzYsIDEyNzcsCi0gMTI3OSwgMTI4MCwgMTI4MiwgMTI4MywgMTI4NCwgMTI4NSwgMTI4NiwgMTI4OCwgMTI4OSwgMTI5MSwgMTI5MiwgMTI5NCwgMTI5NSwKLSAxMjk3LCAxMjk4LCAxMzAwLCAxMzAxLCAxMzAzLCAxMzA0LCAxMzA2LCAxMzA3LCAxMzA4LCAxMzA5LCAxMzEwLCAxMzExLCAxMzEyLAotIDEzMTMsIDEzMTQsIDEzMTUsIDEzMTYsIDEzMTcsIDEzMTgsIDEzNDIsIDEzNDMsIDEzNDQsIDEzNDYsIDEzNDcsIDEzNDksIDEzNTAsCi0gMTM1MiwgMTM1MywgMTM1NSwgMTM1NiwgMTM1OCwgMTM1OSwgMTM2MSwgMTM2MiwgMTM2MywgMTM2NCwgMTM2NSwgMTM2NiwgMTM3NiwKLSAxMzc4LCAxMzc5LCAxMzgxLCAxMzgzLCAxMzg3LCAxMzg5LCAxMzkxLCAxMzk1LCAxMzk5LCAxNDAxLCAxNDA1LCAxNDA5LCAxNDExLAotIDE0MTIsIDE0MTQsIDE0MTUsIDE0MTcsIDE0MTgsIDE0MjAsIDE0MjIsIDE0MjQsIDE0MjYsIDE0MjgsIDE0MzAsIDE0MzEsIDE0MzIsCi0gMTQzMywgMTQzNCwgMTQzNSwgMTQzNiwgMTQzNywgMTQzOCwgMTQzOSwgMTQ0MCwgMTQ0MSwgMTQ0MiwgMTQ0MywgMTQ0NCwgMTQ0NSwKLSAxNDQ2LCAxNDc4LCAxNDc5LCAxNDgwLCAxNDgyLCAxNDgzLCAxNDg1LCAxNDg2LCAxNDg4LCAxNDg5LCAxNDkxLCAxNDkyLCAxNDk0LAotIDE0OTUsIDE0OTcsIDE0OTgsIDE0OTksIDE1MDMsIDE1MDUsIDE1MDYsIDE1MDgsIDE1MDksIDE1MTEsIDE1MTIsIDE1MTQsIDE1MTUsCi0gMTUxNiwgMTUxNywgMTUxOCwgMTUxOSwgMTUyMCwgMTUyMSwgMTUyMiwgMTUyMywgMTUyNCwgMTUyNiwgMTUyNywgMTUyOSwgMTUzMCwKLSAxNTMyLCAxNTMzLCAxNTM1LCAxNTM2LCAxNTM3LCAxNTM4LCAxNTM5LCAxNTQwLCAxNTQxLCAxNTQyLCAxNTQzLCAxNTQ0LCAxNTQ1LAotIDE1NDYsIDE1NDcsIDE1NTEsIDE1NTMsIDE1NTQsIDE1NTYsIDE1NTcsIDE1NTksIDE1NjAsIDE1NjIsIDE1NjMsIDE1NjQsIDE1NjUsCi0gMTU2NiwgMTU2NywgMTU2OCwgMTU2OSwgMTU3MCwgMTU3MSwgMTU3MiwgMTU3MywgMTU3NSwgMTU3NywgMTU3OCwgMTU4MCwgMTU4MSwKLSAxNTgzLCAxNTg0LCAxNTg2LCAxNTg3LCAxNTg4LCAxNTg5LCAxNTkwLCAxNTkxLCAxNTkyLCAxNTkzLCAxNTk0LCAxNTk1LCAxNTk2LAotIDE1OTgsIDE1OTksIDE2MDEsIDE2MDIsIDE2MDQsIDE2MDUsIDE2MDcsIDE2MDgsIDE2MDksIDE2MTAsIDE2MTEsIDE2MTIsIDE2MTMsCi0gMTYxNCwgMTYxNSwgMTYxNiwgMTYxNywgMTYxOCwgMTYxOSwgMTYyMywgMTYyNSwgMTYyNiwgMTYyOCwgMTYyOSwgMTYzMSwgMTYzMiwKLSAxNjM0LCAxNjM1LCAxNjM2LCAxNjM3LCAxNjM4LCAxNjM5LCAxNjQwLCAxNjQxLCAxNjQyLCAxNjQzLCAxNjQ0LCAxNjQ1LCAxNjQ3LAotIDE2NDksIDE2NTAsIDE2NTIsIDE2NTMsIDE2NTUsIDE2NTYsIDE2NTgsIDE2NTksIDE2NjAsIDE2NjEsIDE2NjIsIDE2NjMsIDE2NjQsCi0gMTY2NSwgMTY2NiwgMTY2NywgMTY2OCwgMTY2OSwgMTY3MSwgMTY3MiwgMTY3NCwgMTY3NSwgMTY3NywgMTY3OCwgMTY4MCwgMTY4MSwKLSAxNjgzLCAxNjg0LCAxNjg2LCAxNjg3LCAxNjg5LCAxNjkwLCAxNjkyLCAxNjkzLCAxNjk1LCAxNjk2LCAxNjk4LCAxNjk5LCAxNzAxLAotIDE3MDMsIDE3MDQsIDE3MDYsIDE3MDcsIDE3MDksIDE3MTAsIDE3MTIsIDE3MTMsIDE3MTQsIDE3MTUsIDE3MTYsIDE3MTcsIDE3MTgsCi0gMTcxOSwgMTcyMCwgMTcyMSwgMTcyMiwgMTcyNCwgMTcyNSwgMTcyNywgMTcyOCwgMTczMCwgMTczMSwgMTczMywgMTczNCwgMTczNSwKLSAxNzM2LCAxNzM3LCAxNzM4LCAxNzM5LCAxNzQwLCAxNzQxLCAxNzQyLCAxNzQzLCAxNzQ0LCAxNzQ1LCAxNzQ2LCAxNzUyLCAxNzU0LAotIDE3NTUsIDE3NTcsIDE3NTgsIDE3NjAsIDE3NjEsIDE3NjMsIDE3NjQsIDE3NjUsIDE3NjYsIDE3NjgsIDE3NzAsIDE3NzEsIDE3NzMsCi0gMTc3NCwgMTc3NiwgMTc3NywgMTc3OSwgMTc4MCwgMTc4MSwgMTc4MiwgMTc4MywgMTc4NCwgMTc4NSwgMTc4NiwgMTc4OCwgMTc4OSwKLSAxNzkxLCAxNzkyLCAxNzk0LCAxNzk1LCAxNzk3LCAxNzk5LCAxODAxLCAxODAzLCAxODA0LCAxODA2LCAxODA3LCAxODA5LCAxODEwLAotIDE4MTIsIDE4MTMsIDE4MTQsIDE4MTUsIDE4MTYsIDE4MTcsIDE4MTgsIDE4MTksIDE4MjAsIDE4MjEsIDE4MjMsIDE4MjQsIDE4MjUsCi0gMTgyNiwgMTgyNywgMTgyOCwgMTgyOSwgMTgzMCwgMTgzMSwgMTgzMiwgMTgzMywgMTgzNCwgMTg1NiwgMTg1NywgMTg1OSwgMTg2MCwKLSAxODYyLCAxODYzLCAxODY1LCAxODY2LCAxODY4LCAxODY5LCAxODcxLCAxODczLCAxODc0LCAxODc1LCAxODc2LCAxODc3LCAxODc4LAotIDE4NzksIDE4ODAsIDE4ODIsIDE4ODMsIDE4ODUsIDE4ODYsIDE4ODcsIDE4ODgsIDE4ODksIDE4OTAsIDE4OTEsIDE4OTIsIDE4OTMsCi0gMTg5NSwgMTg5NiwgMTg5OCwgMTkwMCwgMTkwMiwgMTkwMywgMTkwNCwgMTkwNiwgMTkwNywgMTkwOCwgMTkwOSwgMTkxNywgMTkxOCwKLSAxOTIxLCAxOTIyLCAxOTI0LCAxOTI1LCAxOTI2LCAxOTI4LCAxOTI5LCAxOTMxLCAxOTMyLCAxOTM0LCAxOTM1LCAxOTM2LCAxOTM3LAotIDE5MzksIDE5NDAsIDE5NDIsIDE5NDMsIDE5NDUsIDE5NDYsIDE5NDgsIDE5NDksIDE5NTEsIDE5NTIsIDE5NTQsIDE5NTUsIDE5NTYsCi0gMTk1NywgMTk1OSwgMTk2MCwgMTk2MiwgMTk2MywgMTk2NSwgMTk2NiwgMTk2OCwgMTk2OSwgMTk3MSwgMTk3MiwgMTk3NCwgMTk3NSwKLSAxOTc2LCAxOTc3LCAxOTc5LCAxOTgwLCAxOTgyLCAxOTgzLCAxOTg1LCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkzLAotIDE5OTQsIDE5OTYsIDE5OTcsIDE5OTksIDIwMDAsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgsIDIwMTAsIDIwMTEsCi0gMjAxMywgMjAxNCwgMjAxNiwgMjAxNywgMjAxOSwgMjAyMCwgMjAyMiwgMjAyMywgMjAyNCwgMjAyNSwgMjAyNiwgMjAyNywgMjAzNywKLSAyMDM4LCAyMDM5LCAyMDQwLCAyMDQxLCAyMDQyLCAyMDQzLCAyMDQ0LCAyMDQ1LCAyMDQ2LCAyMDQ3LCAyMDUxLCAyMDUzLCAyMDU0LAotIDIwNTYsIDIwNTcsIDIwNTksIDIwNjAsIDIwNjIsIDIwNjMsIDIwNjQsIDIwNjgsIDIwNjksIDIwNzAsIDIwNzQsIDIwNzUsIDIwNzksCi0gMjA4MCwgMjA4MSwgMjA4NiwgMjA4OSwgMjA5MCwgMjA5MSwgMjA5MiwgMjA5MywgMjA5OSwgMjEwNCwgMjEwOCwgMjExMCwgMjExNywKLSAyMTI3LCAyMTM3LCAyMTQxLCAyMTQ1LCAyMTU1LCAyMTU2LCAyMTU3LCAyMTU4LCAyMTU5LCAyMTYwLCAyMTYxLCAyMTYyLCAyMTYzLAotIDIxNjQsIDIxNzMsIDIxNzYsIDIxNzcsIDIxNzgsIDIxODgsIDIxODksIDIxOTAsIDIxOTEsIDIxOTIsIDIxOTMsIDIxOTYsIDIxOTksCi0gMjIwMSwgMjIwMiwgMjIwMywgMjIwNCwgMjIwNSwgMjIxNCwgMjIxNSwgMjIxNiwgMjIxNywgMjIxOSwgMjIyMCwgMjIyMiwgMjIyMywKLSAyMjI0LCAyMjI1LCAyMjI2LCAyMjI3LCAyMjI5LCAyMjMwLCAyMjMxLCAyMjMyLCAyMjMzLCAyMjM0LCAyMjM1LCAyMjM2LCAyMjM3LAotIDIyMzgsIDIyMzksIDIyNDAsIDIyNDEsIDIyNDIsIDIyNDMsIDIyNDQsIDIyNDUsIDIyNDYsIDIyNDcsIDIyNDgsIDIyNDksIDIyNTksCi0gMjI2MCwgMjI2MSwgMjI2MiwgMjI2MywgMjI2NiwgMjI2NywgMjI2OCwgMjI2OSwgMjI3MCwgMjI3MSwgMjI3MiwgMjI3MywgMjI3NCwKLSAyMjc1LCAyMjc2LCAyMjgyLCAyMjgzLCAyMjg0LCAyMjg1LCAyMjg3LCAyMjg4LCAyMjg5LCAyMjkwLCAyMjkxLCAyMjkzLCAyMjk0LAotIDIyOTUsIDIyOTYsIDIyOTcsIDIyOTgsIDIyOTksIDIzMDAsIDIzMDcsIDIzMDgsIDIzMDksIDIzMTAsIDIzMTEsIDIzMTIsIDIzMTMsCi0gMjMxNiwgMjMxNywgMjMxOCwgMjMxOSwgMjMyMCwgMjMyMSwgMjMyMiwgMjMyNSwgMjMyNiwgMjMyNywgMjMyOCwgMjMyOSwgMjMzMCwKLSAyMzMxLCAyMzMyLCAyMzMzLCAyMzM3LCAyMzM4LCAyMzM5LCAyMzQwLCAyMzQxLCAyMzQyLCAyMzQzLCAyMzQ0LCAyMzQ1LCAyMzQ2LAotIDIzNDcsIDIzNDgsIDIzNDksIDIzNTUsIDIzNTYsIDIzNTcsIDIzNTgsIDIzNTksIDIzNjEsIDIzNjIsIDIzNjMsIDIzNjQsIDIzNjUsCi0gMjM2NiwgMjM3MiwgMjM3NSwgMjM3NywgMjM3OCwgMjM3OSwgMjM4MCwgMjM4MSwgMjM4MiwgMjM4MywgMjM4NCwgMjM4NSwgMjM4NiwKLSAyMzg3LCAyMzg4LCAyMzg5LCAyMzkwLCAyMzkxLCAyNDAwLCAyNDAxLCAyNDAyLCAyNDAzLCAyNDA0LCAyNDA1LCAyNDA2LCAyNDA5LAotIDI0MTAsIDI0MTEsIDI0MTIsIDI0MTMsIDI0MTQsIDI0MTUsIDI0MTYsIDI0MTcsIDI0MjEsIDI0MjIsIDI0MjMsIDI0MjQsIDI0MjUsCi0gMjQyNiwgMjQzMSwgMjQzMiwgMjQzMywgMjQzNCwgMjQzNSwgMjQzNywgMjQzOCwgMjQzOSwgMjQ0MCwgMjQ0MSwgMjQ0MiwgMjQ0MywKLSAyNDQ0LCAyNDQ2LCAyNDQ3LCAyNDQ4LCAyNDUwLCAyNDUxLCAyNDUyLCAyNDUzLCAyNDU0LCAyNDU1LCAyNDU2LCAyNDYxLCAyNDYyLAotIDI0NjMsIDI0NjQsIDI0NjUsIDI0NjcsIDI0NjgsIDI0NjksIDI0NzAsIDI0NzEsIDI0NzIsIDI0NzMsIDI0NzksIDI0ODAsIDI0ODEsCi0gMjQ4MiwgMjQ4MywgMjQ4NCwgMjQ4NSwgMjQ4NiwgMjQ4NywgMjQ4OCwgMjQ4OSwgMjQ5MCwgMjQ5MSwgMjQ5NiwgMjQ5NywgMjQ5OCwKLSAyNDk5LCAyNTAwLCAyNTAxLCAyNTAyLCAyNTAzLCAyNTA0LCAyNTA2LCAyNTA3LCAyNTA4LCAyNTA5LCAyNTEwLCAyNTExLCAyNTEyLAotIDI1MTYsIDI1MTcsIDI1MTgsIDI1MjIsIDI1MjMsIDI1MjQsIDI1MjUsIDI1MjYsIDI1MjgsIDI1MjksIDI1MzAsIDI1MzEsIDI1MzIsCi0gMjUzMywgMjUzNCwgMjUzNSwgMjUzOSwgMjU0MCwgMjU0MSwgMjU0MiwgMjU0MywgMjU0NSwgMjU0NiwgMjU0NywgMjU0OCwgMjU0OSwKLSAyNTUwLCAyNTUxLCAyNTUyLCAyNTUzLCAyNTU0LCAyNTU3LCAyNTU4LCAyNTU5LCAyNTYwLCAyNTYxLCAyNTYzLCAyNTY0LCAyNTY1LAotIDI1NjYsIDI1NjcsIDI1NjgsIDI1NjksIDI1NzAsIDI1NzQsIDI1NzUsIDI1NzYsIDI1NzksIDI1ODAsIDI1ODEsIDI1ODIsIDI1ODMsCi0gMjU4NCwgMjU4NSwgMjU4NiwgMjU4NywgMjU4OCwgMjU4OSwgMjU5MCwgMjU5MSwgMjU5MiwgMjU5MywgMjU5NCwgMjU5NSwgMjYwMCwKLSAyNjAxLCAyNjAyLCAyNjAzLCAyNjA3LCAyNjA4LCAyNjA5LCAyNjEwLCAyNjExLCAyNjEyLCAyNjE2LCAyNjE4LCAyNjE5LCAyNjIwLAotIDI2MjIsIDI2MjMsIDI2MjQsIDI2MjUsIDI2MjYsIDI2MjcsIDI2MjgsIDI2MjksIDI2MzAsIDI2MzEsIDI2MzIsIDI2MzMsIDI2MzQsCi0gMjYzNSwgMjYzNiwgMjYzNywgMjY0MiwgMjY0MywgMjY0NCwgMjY0NSwgMjY0NiwgMjY0NywgMjY0OCwgMjY0OSwgMjY1MCwgMjY1MSwKLSAyNjUyLCAyNjUzLCAyNjU0LCAyNjU1LCAyNjU2LCAyNjU3LCAyNjU4LCAyNjU5LCAyNjYwLCAyNjYxLCAyNjYyLCAyNjYzLCAyNjY0LAotIDI2NjUsIDI2NjksIDI2NzAsIDI2NzEsIDI2NzIsIDI2NzMsIDI2NzUsIDI2NzYsIDI2NzcsIDI2NzgsIDI2NzksIDI2ODAsIDI2ODEsCi0gMjY4MiwgMjY4MywgMjY4NiwgMjY4OCwgMjY4OSwgMjY5MCwgMjY5MSwgMjY5MiwgMjY5MywgMjY5NCwgMjY5NSwgMjY5NiwgMjcwMSwKLSAyNzA3LCAyNzA4LCAyNzA5LCAyNzExLCAyNzEyLCAyNzIxLCAyNzIyLCAyNzIzLCAyNzI4LCAyNzI5LCAyNzMwLCAyNzMzLCAyNzM0LAotIDI3MzUsIDI3MzYsIDI3MzcsIDI3MzgsIDI3MzksIDI3NDYsIDI3NDcsIDI3NDgsIDI3NTAsIDI3NTEsIDI3NTIsIDI3NTQsIDI3NTUsCi0gMjc1NiwgMjc1NywgMjc1OCwgMjc1OSwgMjc2MCwgMjc2NCwgMjc3MCwgMjc3MSwgMjc3MiwgMjc3MywgMjc3NCwgMjc3NSwgMjc3NiwKLSAyNzc3LCAyNzc4LCAyNzg2LCAyNzg3LCAyNzg4LCAyNzg5LCAyNzkwLCAyNzkxLCAyNzkyLCAyNzkzLCAyNzk0LCAyNzk1LCAyNzk2LAotIDI3OTcsIDI3OTgsIDI3OTksIDI4MDAsIDI4MDEsIDI4MDIsIDI4MDMsIDI4MDQsIDI4MTMsIDI4MTQsIDI4MTgsIDI4MTksIDI4MjAsCi0gMjgyMSwgMjgyMiwgMjgyMywgMjgyNCwgMjgyNSwgMjgyNiwgMjgzMiwgMjgzMywgMjgzNCwgMjgzNSwgMjgzNiwgMjgzNywgMjgzOCwKLSAyODM5LCAyODQwLCAyODQxLCAyODQyLCAyODQzLCAyODQ0LCAyODUwLCAyODUxLCAyODUyLCAyODUzLCAyODU0LCAyODU2LCAyODU3LAotIDI4NTgsIDI4NTksIDI4NjAsIDI4NjEsIDI4NjIsIDI4NjMsIDI4NjQsIDI4NjUsIDI4NzMsIDI4NzQsIDI4NzUsIDI4NzYsIDI4NzcsCi0gMjg3OCwgMjg3OSwgMjg4MCwgMjg4MSwgMjg4MiwgMjg4MywgMjg5NSwgMjg5NywgMjg5OCwgMjg5OSwgMjkwMCwgMjkwMSwgMjkwMywKLSAyOTA0LCAyOTA3LCAyOTEwLCAyOTEyLCAyOTEzLCAyOTE0LCAyOTE1LCAyOTE2LCAyOTIwLCAyOTIyLCAyOTIzLCAyOTI0LCAyOTI1LAotIDI5MjcsIDI5MzAsIDI5MzEsIDI5MzIsIDI5MzMsIDI5MzUsIDI5MzYsIDI5MzcsIDI5MzgsIDI5MzksIDI5NDAsIDI5NDEsIDI5NDIsCi0gMjk0MywgMjk0NCwgMjk0NywgMjk0OSwgMjk1NCwgMjk2MCwgMjk2OSwgMjk3NCwgMjk3NSwgMjk3OCwgMjk3OSwgMjk4MCwgMjk4MSwKLSAyOTgyLCAyOTgzLCAyOTg0LCAyOTg1LCAyOTkyLCAyOTk1LCAzMDAxLCAzMDA5LCAzMDE4LCAzMDI0LCAzMDMwLCAzMDMyLCAzMDMzLAotIDMwMzQsIDMwMzUsIDMwMzYsIDMwMzcsIDMwMzgsIDMwMzksIDMwNDAsIDMwNDEsIDMwNDksIDMwNTAsIDMwNTEsIDMwNTIsIDMwNTMsCi0gMzA1NCwgMzA1NSwgMzA1NiwgMzA1NywgMzA2NSwgMzA2NywgMzA3NywgMzA4MCwgMzA4NiwgMzA4NywgMzA4OSwgMzA5MSwgMzA5MiwKLSAzMDkzLCAzMDk0LCAzMDk1LCAzMDk2LCAzMDk3LCAzMDk4LCAzMTA1LCAzMTA4LCAzMTExLCAzMTE1LCAzMTI1LCAzMTMxLCAzMTMzLAotIDMxMzQsIDMxMzUsIDMxMzYsIDMxMzcsIDMxMzgsIDMxMzksIDMxNDUsIDMxNDgsIDMxNTAsIDMxNTksIDMxNjEsIDMxNjUsIDMxNjYsCi0gMzE2NywgMzE2OCwgMzE2OSwgMzE3MCwgMzE3NSwgMzE3NywgMzE3OSwgMzE4NCwgMzE4NiwgMzE4NywgMzE4OCwgMzE4OSwgMzE5MCwKLSAzMTk0LCAzMTk1LCAzMTk2LCAzMTk3LCAzMTk4LCAzMjAyLCAzMjAzLCAzMjA0LCAzMjA1LCAzMjA2LCAzMjA5LCAzMjExLCAzMjEyLAotIDMyMTMsIDMyMTQsIDMyMTUsIDMyMTYsIDMyMjAsIDMyMjEsIDMyMjIsIDMyMjQsIDMyMjUsIDMyMjYsIDMyMzEsIDMyMzIsIDMyMzMsCi0gMzIzNCwgMzIzNywgMzIzOCwgMzIzOSwgMzI0MCwgMzI0NCwgMzI0NiwgMzI0NywgMzI0OCwgMzI1MCwgMzI1MSwgMzI1MiwgMzI1MywKLSAzMjU0LCAzMjU1LCAzMjU2LCAzMjU3LCAzMjYxLCAzMjYyLCAzMjYzLCAzMjY0LCAzMjY1LCAzMjY2LCAzMjY3LCAzMjY4LCAzMjY5LAotIDMyNzAsIDMyNzEsIDMyNzIsIDMyNzUsIDMyNzgsIDMyNzksIDMyODAsIDMyODEsIDMyODIsIDMyODQsIDMyODUsIDMyODYsIDMyODcsCi0gMzI4OCwgMzI4OSwgMzI5MCwgMzI5NiwgMzI5NywgMzI5OCwgMzI5OSwgMzMwMCwgMzMwMSwgMzMwMywgMzMwNCwgMzMwNSwgMzMwNiwKLSAzMzA3LCAzMzA4LCAzMzA5LCAzMzEwLCAzMzEyLCAzMzEzLCAzMzE0LCAzMzE1LCAzMzE2LCAzMzE3LCAzMzE4LCAzMzE5LCAzMzIwLAotIDMzMjMsIDMzMjQsIDMzMjUsIDMzMjYsIDMzMjcsIDMzMjgsIDMzMjksIDMzMzAsIDMzMzEsIDMzMzIsIDMzMzMsIDMzMzQsIDMzMzUsCi0gMzMzNywgMzMzOCwgMzMzOSwgMzM0MCwgMzM0MSwgMzM0MiwgMzM0MywgMzM0NCwgMzM0NSwgMzM0NiwgMzM0NywgMzM0OCwgMzM0OSwKLSAzMzUwLCAzMzUxLCAzMzUyLCAzMzUzLCAzMzU0LCAzMzU1LCAzMzU2LCAzMzU3LCAzMzU4LCAzMzU5LCAzMzYwLCAzMzYxLCAzMzYyLAotIDMzNjMsIDMzNjQsIDMzNjgsIDMzNjksIDMzNzAsIDMzNzEsIDMzNzIsIDMzNzQsIDMzNzUsIDMzNzYsIDMzNzcsIDMzNzgsIDMzNzksCi0gMzM4MCwgMzM4NiwgMzM4NywgMzM4OSwgMzM5MCwgMzM5MiwgMzM5MywgMzM5NSwgMzM5NiwgMzM5OCwgMzM5OSwgMzQwMCwgMzQwMSwKLSAzNDEzLCAzNDE0LCAzNDE2LCAzNDE3LCAzNDE4LCAzNDE5LCAzNDIwLCAzNDIyLCAzNDIzLCAzNDI1LCAzNDI2LCAzNDI4LCAzNDI5LAotIDM0MzAsIDM0MzEsIDM0MzIsIDM0MzMsIDM0MzQsIDM0MzUsIDM0MzYsIDM0MzcsIDM0MzgsIDM0MzksIDM0NDAsIDM0NDEsIDM0NDIsCi0gMzQ0NCwgMzQ0NSwgMzQ0NywgMzQ0OCwgMzQ1MCwgMzQ1MSwgMzQ1MywgMzQ1NCwgMzQ1NiwgMzQ1NywgMzQ1OCwgMzQ1OSwgMzQ2MCwKLSAzNDYxLCAzNDYyLCAzNDYzLCAzNDY0LCAzNDY1LCAzNDY2LCAzNDY3LCAzNDY5LCAzNDcwLCAzNDcyLCAzNDczLCAzNDc1LCAzNDc2LAotIDM0NzgsIDM0NzksIDM0ODEsIDM0ODIsIDM0ODQsIDM0ODUsIDM0ODcsIDM0ODgsIDM0OTIsIDM0OTMsIDM0OTQsIDM0OTUsIDM0OTYsCi0gMzQ5OCwgMzQ5OSwgMzUwMSwgMzUwMiwgMzUwNCwgMzUwNSwgMzUwNywgMzUwOCwgMzUxMCwgMzUxMSwgMzUxMiwgMzUxMywgMzUxNSwKLSAzNTE2LCAzNTE4LCAzNTE5LCAzNTIxLCAzNTIyLCAzNTI0LCAzNTI1LCAzNTI3LCAzNTI4LCAzNTMwLCAzNTMxLCAzNTMzLCAzNTM0LAotIDM1MzYsIDM1MzcsIDM1MzgsIDM1NDcsIDM1NDgsIDM1NDksIDM1NTAsIDM1NTEsIDM1NTIsIDM1NTMsIDM1NTQsIDM1NTUsIDM1NTgsCi0gMzU1OSwgMzU2MSwgMzU2MiwgMzU2NSwgMzU2NiwgMzU2NywgMzU2OCwgMzU2OSwgMzU3MCwgMzU3NSwgMzU3NiwgMzU3OSwgMzU4MCwKLSAzNTgxLCAzNTgyLCAzNTg0LCAzNTg1LCAzNTg2LCAzNTg3LCAzNTkxLCAzNTkzLCAzNTk0LCAzNTk2LCAzNTk3LCAzNTk4LCAzNTk5LAotIDM2MDAsIDM2MDEsIDM2MDIsIDM2MDMsIDM2MDQsIDM2MDUsIDM2MDYsIDM2MDcsIDM2MDgsIDM2MDksIDM2MTAsIDM2MTEsIDM2MTIsCi0gMzYxNCwgMzYxNSwgMzYxNywgMzYxOCwgMzYyMCwgMzYyMSwgMzYyMiwgMzYyMywgMzYyNCwgMzYyNSwgMzYyNiwgMzYyNywgMzYyOCwKLSAzNjI5LCAzNjMwLCAzNjMxLCAzNjMyLCAzNjMzLCAzNjM0LCAzNjM3LCAzNjM4LCAzNjM5LCAzNjQwLCAzNjQxLCAzNjQyLCAzNjQzLAotIDM2NDQsIDM2NDUsIDM2NDcsIDM2NDgsIDM2NDksIDM2NTAsIDM2NTEsIDM2NTIsIDM2NTMsIDM2NTQsIDM2NTUsIDM2NTcsIDM2NTgsCi0gMzY1OSwgMzY2MCwgMzY2MSwgMzY2MiwgMzY2MywgMzY2NCwgMzY2NSwgMzY2NywgMzY2OCwgMzY2OSwgMzY3MCwgMzY3MSwgMzY3MiwKLSAzNjczLCAzNjc0LCAzNjc1LCAzNjc3LCAzNjc4LCAzNjc5LCAzNjgwLCAzNjgxLCAzNjgyLCAzNjgzLCAzNjg0LCAzNjg1LCAzNjg3LAotIDM2ODgsIDM2ODksIDM2OTAsIDM2OTEsIDM2OTIsIDM2OTMsIDM2OTQsIDM2OTUsIDM2OTcsIDM2OTgsIDM2OTksIDM3MDAsIDM3MDEsCi0gMzcwMiwgMzcwMywgMzcwNSwgMzcwNiwgMzcwNywgMzcwOCwgMzcwOSwgMzcxMCwgMzcxMSwgMzcxMiwgMzcxMywgMzcxNSwgMzcxNiwKLSAzNzE3LCAzNzE4LCAzNzE5LCAzNzIwLCAzNzIxLCAzNzIyLCAzNzIzLCAzNzI0LCAzNzMzLCAzNzM0LCAzNzM1LCAzNzM2LCAzNzM3LAotIDM3MzgsIDM3MzksIDM3NDAsIDM3NDEsIDM3NDIsIDM3NDMsIDM3NDUsIDM3NDYsIDM3NDcsIDM3NDgsIDM3NTEsIDM3NTIsIDM3NTQsCi0gMzc1NSwgMzc1NiwgMzc1NywgMzc2MywgMzc2NCwgMzc2NSwgMzc2NiwgMzc2NywgMzc2OCwgMzc2OSwgMzc3MCwgMzc3MSwgMzc3MywKLSAzNzc0LCAzNzc1LCAzNzc2LCAzNzc4LCAzNzc5LCAzNzgxLCAzNzgyLCAzNzgzLCAzNzg0LCAzNzg2LCAzNzg3LCAzNzg5LCAzNzkwLAotIDM3OTIsIDM3OTMsIDM3OTQsIDM3OTgsIDM3OTksIDM4MDAsIDM4MDEsIDM4MDIsIDM4MDMsIDM4MDQsIDM4MDUsIDM4MDYsIDM4MDcsCi0gMzgwOSwgMzgxMCwgMzgxMSwgMzgxMiwgMzgxMywgMzgxNCwgMzgxNSwgMzgxNiwgMzgxNywgMzgxOCwgMzgxOSwgMzgyMCwgMzgyMSwKLSAzODIyLCAzODIzLCAzODI0LCAzODI1LCAzODI2LCAzODI3LCAzODI4LCAzODMwLCAzODMxLCAzODMyLCAzODM1LCAzODM2LCAzODM3LAotIDM4NDEsIDM4NDIsIDM4NDMsIDM4NDksIDM4NTAsIDM4NTIsIDM4NTMsIDM4NTUsIDM4NTYsIDM4NTgsIDM4NTksIDM4NjYsIDM4NjcsCi0gMzg2OSwgMzg3MCwgMzg3MiwgMzg3MywgMzg3NSwgMzg3NiwgMzg3OCwgMzg3OSwgMzg4MSwgMzg4MiwgMzg4MywgMzg4NSwgMzg4NiwKLSAzODg4LCAzODkwLCAzODkxLCAzODkzLCAzODk0LCAzODk2LCAzODk3LCAzODk5LCAzOTAwLCAzOTAxLCAzOTAyLCAzOTAzLCAzOTA0LAotIDM5MDUsIDM5MDYsIDM5MDcsIDM5MDgsIDM5MDksIDM5MTAsIDM5MTIsIDM5MTMsIDM5MTUsIDM5MTYsIDM5MTgsIDM5MTksIDM5MjEsCi0gMzkyMiwgMzkyNCwgMzkyNSwgMzkyNywgMzkyOCwgMzkzMCwgMzkzMSwgMzkzMywgMzkzNCwgMzkzNiwgMzkzNywgMzkzOSwgMzk0MCwKLSAzOTQyLCAzOTQzLCAzOTQ1LCAzOTQ2LCAzOTQ3LCAzOTQ4LCAzOTUwLCAzOTUzLCAzOTU0LCAzOTU1LCAzOTU3LCAzOTU4LCAzOTYwLAotIDM5NjEsIDM5NjMsIDM5NjQsIDM5NjYsIDM5NjcsIDM5NjgsIDM5NzAsIDM5NzEsIDM5NzMsIDM5NzUsIDM5NzYsIDM5NzgsIDM5ODAsCi0gMzk4MSwgMzk4MywgMzk4NCwgMzk4NiwgMzk5MSwgMzk5MiwgMzk5MywgMzk5OCwgMzk5OSwgNDAwMCwgNDAwMSwgNDAwMiwgNDAwNSwKLSA0MDA2LCA0MDEwLCA0MDExLCA0MDEzLCA0MDE0LCA0MDE1LCA0MDE2LCA0MDIyLCA0MDI0LCA0MDI1LCA0MDI2LCA0MDI3LCA0MDI5LAotIDQwMzAsIDQwMzIsIDQwMzMsIDQwMzUsIDQwMzYsIDQwMzgsIDQwMzksIDQwNDEsIDQwNDIsIDQwNDQsIDQwNDUsIDQwNDYsIDQwNDcsCi0gNDA0OCwgNDA0OSwgNDA1MCwgNDA1MSwgNDA1MiwgNDA1MywgNDA1NCwgNDA1NSwgNDA1NiwgNDA1NywgNDA1OCwgNDA1OSwgNDA2MCwKLSA0MDYxLCA0MDYyLCA0MDYzLCA0MDY0LCA0MDY1LCA0MDY2LCA0MDY3LCA0MDY4LCA0MDY5LCA0MDc0LCA0MDc1LCA0MDc2LCA0MDgzLAotIDQwODQsIDQwODUsIDQwODYsIDQwODcsIDQwODksIDQwOTAsIDQwOTEsIDQwOTIsIDQwOTMsIDQwOTQsIDQwOTUsIDQwOTYsIDQwOTcsCi0gNDA5OCwgNDEwMCwgNDEwMSwgNDEwMiwgNDEwMywgNDEwNSwgNDEwNiwgNDEwNywgNDEwOCwgNDExMCwgNDExMSwgNDExMiwgNDExMywKLSA0MTE1LCA0MTE2LCA0MTE3LCA0MTE4LCA0MTIwLCA0MTIxLCA0MTIyLCA0MTIzLCA0MTI1LCA0MTI2LCA0MTI3LCA0MTI4LCA0MTMwLAotIDQxMzEsIDQxMzIsIDQxMzMsIDQxMzUsIDQxMzYsIDQxMzcsIDQxMzgsIDQxMzksIDQxNDAsIDQxNDEsIDQxNDIsIDQxNDQsIDQxNDUsCi0gNDE0NiwgNDE0NywgNDE0OSwgNDE1MCwgNDE1MSwgNDE1MiwgNDE1NCwgNDE1NSwgNDE1NiwgNDE1NywgNDE1OSwgNDE2MCwgNDE2MSwKLSA0MTYyLCA0MTY0LCA0MTY1LCA0MTY2LCA0MTY3LCA0MTY5LCA0MTcwLCA0MTcxLCA0MTcyLCA0MTc0LCA0MTc1LCA0MTc2LCA0MTc3LAotIDQxNzksIDQxODAsIDQxODEsIDQxODIsIDQxODMsIDQxODQsIDQxODUsIDQxODYsIDQxODgsIDQxODksIDQxOTAsIDQxOTEsIDQxOTMsCi0gNDE5NCwgNDE5NSwgNDE5NiwgNDE5OCwgNDE5OSwgNDIwMCwgNDIwMSwgNDIwMiwgNDIwMywgNDIwNCwgNDIwNSwgNDIwNiwgNDIwNywKLSA0MjA4LCA0MjEwLCA0MjExLCA0MjEyLCA0MjEzLCA0MjE0LCA0MjE1LCA0MjE2LCA0MjE3LCA0MjE4LCA0MjE5LCA0MjIwLCA0MjIxLAotIDQyMjIsIDQyMjMsIDQyMjQsIDQyMjUsIDQyMjYsIDQyMjcsIDQyMjgsIDQyMjksIDQyMzAsIDQyMzEsIDQyMzIsIDQyMzMsIDQyMzQsCi0gNDIzNSwgNDIzNiwgNDIzNywgNDIzOSwgNDI0MCwgNDI0MSwgNDI0MiwgNDI0MywgNDI0NCwgNDI0NSwgNDI0NiwgNDI0OCwgNDI0OSwKLSA0MjUwLCA0MjUxLCA0MjUzLCA0MjU0LCA0MjU1LCA0MjU3LCA0MjU4LCA0MjU5LCA0MjYwLCA0MjYyLCA0MjYzLCA0MjY0LCA0MjY1LAotIDQyNjcsIDQyNjgsIDQyNjksIDQyNzAsIDQyNzIsIDQyNzMsIDQyNzQsIDQyNzYsIDQyNzcsIDQyNzgsIDQyNzksIDQyODEsIDQyODIsCi0gNDI4MywgNDI4NCwgNDI4NSwgNDI4NiwgNDI4NywgNDI4OCwgNDI4OSwgNDI5MCwgNDI5MSwgNDI5MiwgNDI5MywgNDI5NCwgNDI5NSwKLSA0Mjk2LCA0Mjk3LCA0Mjk4LCA0Mjk5LCA0MzAxLCA0MzAyLCA0MzAzLCA0MzA0LCA0MzA1LCA0MzA5LCA0MzEwLCA0MzExLCA0MzEyLAotIDQzMTMsIDQzMTQsIDQzMTUsIDQzMjMsIDQzMjQsIDQzMjUsIDQzMjcsIDQzMjgsIDQzMjksIDQzMzAsIDQzMzIsIDQzMzMsIDQzMzQsCi0gNDMzNSwgNDMzNywgNDMzOCwgNDMzOSwgNDM0MCwgNDM0MiwgNDM0MywgNDM0NCwgNDM0NSwgNDM0NywgNDM0OCwgNDM0OSwgNDM1MCwKLSA0MzUxLCA0MzUyLCA0MzUzLCA0MzU0LCA0MzU1LCA0MzU2LCA0MzU3LCA0MzU4LCA0MzYwLCA0MzYxLCA0MzYyLCA0MzYzLCA0MzY1LAotIDQzNjYsIDQzNjcsIDQzNjgsIDQzNjksIDQzNzAsIDQzNzEsIDQzNzIsIDQzNzMsIDQzNzQsIDQzNzUsIDQzNzYsIDQzNzcsIDQzNzgsCi0gNDM3OSwgNDM4MCwgNDM4MSwgNDM4MiwgNDM4MywgNDM4NSwgNDM4NiwgNDM4NywgNDM5NywgNDM5OCwgNDM5OSwgNDQwMCwgNDQwMSwKLSA0NDAyLCA0NDAzLCA0NDA0LCA0NDA1LCA0NDA2LCA0NDA3LCA0NDA4LCA0NDA5LCA0NDExLCA0NDEyLCA0NDEzLCA0NDE0LCA0NDE1LAotIDQ0MTYsIDQ0MTcsIDQ0MTgsIDQ0MjAsIDQ0MjEsIDQ0MjIsIDQ0MjMsIDQ0MjUsIDQ0MjYsIDQ0MjcsIDQ0MjgsIDQ0MzAsIDQ0MzEsCi0gNDQzMiwgNDQzNCwgNDQzNSwgNDQzNiwgNDQzNywgNDQzOSwgNDQ0MCwgNDQ0MSwgNDQ0MiwgNDQ0NCwgNDQ0NSwgNDQ0NiwgNDQ0NywKLSA0NDQ5LCA0NDUwLCA0NDUxLCA0NDUyLCA0NDU0LCA0NDU1LCA0NDU2LCA0NDU4LCA0NDU5LCA0NDYwLCA0NDYyLCA0NDYzLCA0NDY0LAotIDQ0NjYsIDQ0NjcsIDQ0NjgsIDQ0NjksIDQ0NzAsIDQ0NzEsIDQ0NzcsIDQ0NzgsIDQ0NzksIDQ0ODAsIDQ0ODEsIDQ0ODIsIDQ0ODMsCi0gNDQ4NiwgNDQ4NywgNDQ4OCwgNDQ4OSwgNDQ5MCwgNDQ5MSwgNDQ5MiwgNDQ5MywgNDQ5NCwgNDQ5NSwgNDQ5NiwgNDQ5NywgNDQ5OCwKLSA0NDk5LCA0NTAxLCA0NTAyLCA0NTAzLCA0NTA2LCA0NTA3LCA0NTA4LCA0NTEwLCA0NTExLCA0NTEyLCA0NTEzLCA0NTE0LCA0NTE1LAotIDQ1MTgsIDQ1MTksIDQ1MjAsIDQ1MjEsIDQ1MjIsIDQ1MjMsIDQ1MjQsIDQ1MjUsIDQ1MjYsIDQ1MjcsIDQ1MzAsIDQ1MzEsIDQ1MzIsCi0gNDUzMywgNDUzNSwgNDUzNiwgNDUzNywgNDUzOCwgNDUzOSwgNDU0MCwgNDU0MSwgNDU0MiwgNDU0MywgNDU0NCwgNDU0NSwgNDU0NiwKLSA0NTQ3LCA0NTQ4LCA0NTQ5LCA0NTUwLCA0NTUxLCA0NTUyLCA0NTUzLCA0NTU0LCA0NTYzLCA0NTY0LCA0NTY1LCA0NTY3LCA0NTY4LAotIDQ1NjksIDQ1NzAsIDQ1NzEsIDQ1NzIsIDQ1NzMsIDQ1NzQsIDQ1NzUsIDQ1NzYsIDQ1NzcsIDQ1NzgsIDQ1NzksIDQ1ODAsIDQ1ODYsCi0gNDU4NywgNDU4OCwgNDU5MSwgNDU5MiwgNDU5MywgNDU5NCwgNDU5NSwgNDU5NiwgNDU5NywgNDU5OCwgNDU5OSwgNDYwMCwgNDYwMSwKLSA0NjAyLCA0NjA1LCA0NjA2LCA0NjA3LCA0NjA4LCA0NjA5LCA0NjEwLCA0NjExLCA0NjEyLCA0NjEzLCA0NjE0LCA0NjE1LCA0NjE2LAotIDQ2MTcsIDQ2MjcsIDQ2MjgsIDQ2MjksIDQ2MzEsIDQ2MzIsIDQ2MzMsIDQ2MzQsIDQ2MzYsIDQ2MzcsIDQ2MzgsIDQ2MzksIDQ2NDEsCi0gNDY0MiwgNDY0MywgNDY0NCwgNDY0NiwgNDY0NywgNDY0OCwgNDY0OSwgNDY1MSwgNDY1MiwgNDY1MywgNDY1NCwgNDY1NiwgNDY1NywKLSA0NjU4LCA0NjU5LCA0NjYxLCA0NjYyLCA0NjYzLCA0NjY0LCA0NjY2LCA0NjY3LCA0NjY4LCA0NjY5LCA0NjcxLCA0NjcyLCA0NjczLAotIDQ2NzQsIDQ2NzYsIDQ2NzcsIDQ2NzgsIDQ2NzksIDQ2ODEsIDQ2ODIsIDQ2ODMsIDQ2ODUsIDQ2ODYsIDQ2ODcsIDQ2ODgsIDQ2ODksCi0gNDY5MywgNDY5NCwgNDY5NSwgNDY5NiwgNDY5NywgNDY5OCwgNDY5OSwgNDcwMSwgNDcwMiwgNDcwMywgNDcwNCwgNDcwNiwgNDcwNywKLSA0NzA4LCA0NzEwLCA0NzExLCA0NzEyLCA0NzE0LCA0NzE1LCA0NzE2LCA0NzE3LCA0NzE5LCA0NzIwLCA0NzIxLCA0NzIyLCA0NzI0LAotIDQ3MjUsIDQ3MjYsIDQ3MjcsIDQ3MjksIDQ3MzAsIDQ3MzEsIDQ3MzIsIDQ3MzQsIDQ3MzUsIDQ3MzYsIDQ3MzcsIDQ3MzksIDQ3NDAsCi0gNDc0MSwgNDc0MiwgNDc0NCwgNDc0NSwgNDc0NiwgNDc0NywgNDc0OSwgNDc1MCwgNDc1MSwgNDc1MiwgNDc1NCwgNDc1NSwgNDc1NiwKLSA0NzU3LCA0NzU5LCA0NzYwLCA0NzYxLCA0NzYyLCA0NzY0LCA0NzY1LCA0NzY2LCA0NzY3LCA0NzY5LCA0NzcwLCA0NzcxLCA0NzcyLAotIDQ3NzQsIDQ3NzUsIDQ3NzYsIDQ3NzgsIDQ3NzksIDQ3ODAsIDQ3ODEsIDQ3ODIsIDQ3ODMsIDQ3ODksIDQ3OTAsIDQ3OTEsIDQ3OTIsCi0gNDc5NCwgNDc5NSwgNDc5NiwgNDc5NywgNDc5OSwgNDgwMCwgNDgwMSwgNDgwMiwgNDgwMywgNDgwNCwgNDgwNSwgNDgwNiwgNDgwNywKLSA0ODA4LCA0ODA5LCA0ODEwLCA0ODExLCA0ODEyLCA0ODEzLCA0ODE2LCA0ODE3LCA0ODE4LCA0ODE5LCA0ODIxLCA0ODIyLCA0ODIzLAotIDQ4MjUsIDQ4MjYsIDQ4MjcsIDQ4MjgsIDQ4MzAsIDQ4MzEsIDQ4MzIsIDQ4MzMsIDQ4MzUsIDQ4MzYsIDQ4MzcsIDQ4MzgsIDQ4NDAsCi0gNDg0MSwgNDg0MiwgNDg0MywgNDg0NSwgNDg0NiwgNDg0NywgNDg0OCwgNDg1MCwgNDg1MSwgNDg1MiwgNDg1MywgNDg1NSwgNDg1NiwKLSA0ODU3LCA0ODU4LCA0ODYwLCA0ODYxLCA0ODYyLCA0ODYzLCA0ODY1LCA0ODY2LCA0ODY3LCA0ODY4LCA0ODcwLCA0ODcxLCA0ODcyLAotIDQ4NzMsIDQ4NzUsIDQ4NzYsIDQ4NzcsIDQ4NzgsIDQ4ODAsIDQ4ODEsIDQ4ODIsIDQ4ODMsIDQ4ODUsIDQ4ODYsIDQ4ODcsIDQ4ODgsCi0gNDg5MCwgNDg5MSwgNDg5MiwgNDg5MywgNDg5NSwgNDg5NiwgNDg5NywgNDg5OCwgNDg5OSwgNDkwMCwgNDkwMSwgNDkwMywgNDkwNCwKLSA0OTA1LCA0OTA2LCA0OTA4LCA0OTA5LCA0OTEwLCA0OTExLCA0OTEzLCA0OTE0LCA0OTE1LCA0OTE2LCA0OTE4LCA0OTE5LCA0OTIwLAotIDQ5MjEsIDQ5MjMsIDQ5MjQsIDQ5MjUsIDQ5MjYsIDQ5MjcsIDQ5MzEsIDQ5MzIsIDQ5MzMsIDQ5MzQsIDQ5MzUsIDQ5MzYsIDQ5MzcsCi0gNDkzOCwgNDk0MCwgNDk0MSwgNDk0MiwgNDk0MywgNDk0NCwgNDk0NSwgNDk0NiwgNDk0OCwgNDk0OSwgNDk1MCwgNDk1MSwgNDk1MiwKLSA0OTUzLCA0OTU0LCA0OTU3LCA0OTU4LCA0OTU5LCA0OTYwLCA0OTYzLCA0OTY0LCA0OTY1LCA0OTY2LCA0OTY3LCA0OTY4LCA0OTcxLAotIDQ5NzIsIDQ5NzMsIDQ5ODEsIDQ5ODIsIDQ5ODMsIDQ5ODQsIDQ5ODUsIDQ5OTAsIDQ5OTEsIDQ5OTIsIDQ5OTQsIDQ5OTUsIDQ5OTYsCi0gNDk5NywgNDk5OSwgNTAwMCwgNTAwMSwgNTAwMywgNTAwNCwgNTAwNSwgNTAwNiwgNTAwOCwgNTAwOSwgNTAxMCwgNTAxMSwgNTAxMywKLSA1MDE0LCA1MDE1LCA1MDE2LCA1MDE3LCA1MDE4LCA1MDE5LCA1MDIwLCA1MDIxLCA1MDMwLCA1MDMxLCA1MDMyLCA1MDMzLCA1MDM0LAotIDUwMzgsIDUwMzksIDUwNDAsIDUwNDEsIDUwNDIsIDUwNDMsIDUwNDQsIDUwNDUsIDUwNDYsIDUwNDcsIDUwNDgsIDUwNDksIDUwNTAsCi0gNTA1MSwgNTA1MiwgNTA1MywgNTA1NCwgNTA1NSwgNTA1NiwgNTA1NywgNTA1OCwgNTA1OSwgNTA2MCwgNTA2MSwgNTA2MiwgNTA2MywKLSA1MDY0LCA1MDY2LCA1MDY3LCA1MDY4LCA1MDY5LCA1MDcxLCA1MDcyLCA1MDczLCA1MDc0LCA1MDc1LCA1MDc2LCA1MDc3LCA1MDc5LAotIDUwODAsIDUwODEsIDUwODIsIDUwODMsIDUwODQsIDUwODUsIDUwODYsIDUwODcsIDUwODgsIDUwODksIDUwOTAsIDUwOTEsIDUwOTIsCi0gNTA5MywgNTA5NCwgNTA5NSwgNTA5NiwgNTA5NywgNTA5OSwgNTEwMCwgNTEwMSwgNTEwMywgNTEwNCwgNTEwNSwgNTEwNiwgNTEwOCwKLSA1MTA5LCA1MTEwLCA1MTExLCA1MTEzLCA1MTE0LCA1MTE1LCA1MTE2LCA1MTE4LCA1MTE5LCA1MTIwLCA1MTIxLCA1MTIzLCA1MTI0LAotIDUxMjUsIDUxMjYsIDUxMjgsIDUxMjksIDUxMzAsIDUxMzEsIDUxMzMsIDUxMzQsIDUxMzUsIDUxMzcsIDUxMzgsIDUxMzksIDUxNDAsCi0gNTE0MiwgNTE0MywgNTE0NCwgNTE0NSwgNTE0NywgNTE0OCwgNTE0OSwgNTE1MCwgNTE1MiwgNTE1MywgNTE1NCwgNTE1NiwgNTE1NywKLSA1MTU4LCA1MTU5LCA1MTYxLCA1MTYyLCA1MTYzLCA1MTY0LCA1MTY2LCA1MTY3LCA1MTY4LCA1MTY5LCA1MTcxLCA1MTcyLCA1MTczLAotIDUxNzQsIDUxNzYsIDUxNzcsIDUxNzgsIDUxNzksIDUxODAsIDUxODEsIDUxODIsIDUxOTUsIDUxOTYsIDUxOTcsIDUxOTgsIDUyMDAsCi0gNTIwMSwgNTIwMiwgNTIwMywgNTIwNSwgNTIwNiwgNTIwNywgNTIwOCwgNTIxMCwgNTIxMSwgNTIxMiwgNTIxMywgNTIxNSwgNTIxNiwKLSA1MjE3LCA1MjE4LCA1MjE5LCA1MjIwLCA1MjI0LCA1MjI1LCA1MjI2LCA1MjI3LCA1MjI5LCA1MjMwLCA1MjMxLCA1MjMyLCA1MjMzLAotIDUyMzcsIDUyMzgsIDUyMzksIDUyNDEsIDUyNDIsIDUyNDMsIDUyNDQsIDUyNDUsIDUyNDYsIDUyNDcsIDUyNDgsIDUyNTAsIDUyNTEsCi0gNTI1MiwgNTI1MywgNTI1NCwgNTI1NSwgNTI1NiwgNTI1NywgNTI1OCwgNTI1OSwgNTI2MCwgNTI2MSwgNTI2MiwgNTI2MywgNTI2NCwKLSA1MjY1LCA1MjY2LCA1MjY3LCA1MjY4LCA1MjY5LCA1MjcwLCA1MjcxLCA1MjcyLCA1MjczLCA1Mjc0LCA1Mjc1LCA1Mjc2LCA1Mjc3LAotIDUyNzgsIDUyNzksIDUyODAsIDUyODEsIDUyODIsIDUyODMsIDUyODQsIDUyODYsIDUyODcsIDUyODgsIDUyODksIDUyOTAsIDUyOTQsCi0gNTI5NSwgNTI5NiwgNTI5OCwgNTI5OSwgNTMwMCwgNTMwMSwgNTMwMywgNTMwNCwgNTMwNSwgNTMwNiwgNTMwOCwgNTMwOSwgNTMxMCwKLSA1MzExLCA1MzEzLCA1MzE0LCA1MzE1LCA1MzE2LCA1MzE4LCA1MzE5LCA1MzIwLCA1MzIxLCA1MzIzLCA1MzI0LCA1MzI1LCA1MzI2LAotIDUzMjcsIDUzMjgsIDUzMjksIDUzMzAsIDUzMzEsIDUzMzIsIDUzMzMsIDUzMzUsIDUzMzYsIDUzMzcsIDUzMzgsIDUzNDAsIDUzNDEsCi0gNTM0MiwgNTM0MywgNTM0NSwgNTM0NiwgNTM0NywgNTM0OCwgNTM1MCwgNTM1MSwgNTM1MiwgNTM1MywgNTM1NSwgNTM1NiwgNTM1NywKLSA1MzU4LCA1MzYwLCA1MzYxLCA1MzYyLCA1MzYzLCA1MzY1LCA1MzY2LCA1MzY3LCA1MzY4LCA1MzcwLCA1MzcxLCA1MzcyLCA1MzczLAotIDUzNzUsIDUzNzYsIDUzNzcsIDUzNzgsIDUzODAsIDUzODEsIDUzODIsIDUzODMsIDUzODUsIDUzODYsIDUzODcsIDUzODgsIDUzOTAsCi0gNTM5MSwgNTM5MiwgNTM5MywgNTM5NCwgNTM5NSwgNTM5NiwgNTM5OCwgNTM5OSwgNTQwMCwgNTQwMSwgNTQwMywgNTQwNCwgNTQwNSwKLSA1NDA2LCA1NDA4LCA1NDA5LCA1NDEwLCA1NDExLCA1NDEzLCA1NDE0LCA1NDE1LCA1NDE2LCA1NDE4LCA1NDE5LCA1NDIwLCA1NDIxLAotIDU0MjMsIDU0MjQsIDU0MjUsIDU0MjYsIDU0MjgsIDU0MjksIDU0MzAsIDU0MzEsIDU0MzMsIDU0MzQsIDU0MzUsIDU0MzYsIDU0MzgsCi0gNTQzOSwgNTQ0MCwgNTQ0MSwgNTQ0MywgNTQ0NCwgNTQ0NSwgNTQ0NiwgNTQ0OCwgNTQ0OSwgNTQ1MCwgNTQ1MSwgNTQ1MiwgNTQ1MywKLSA1NDU0LCA1NDU1LCA1NDU2LCA1NDU3LCA1NDU4LCA1NDU5LCA1NDYxLCA1NDYyLCA1NDYzLCA1NDY0LCA1NDY2LCA1NDY3LCA1NDY4LAotIDU0NjksIDU0NzEsIDU0NzIsIDU0NzMsIDU0NzQsIDU0NzYsIDU0NzcsIDU0NzgsIDU0NzksIDU0ODEsIDU0ODIsIDU0ODMsIDU0ODQsCi0gNTQ4NiwgNTQ4NywgNTQ4OCwgNTQ4OSwgNTQ5MSwgNTQ5MiwgNTQ5MywgNTQ5NCwgNTQ5NSwgNTQ5NiwgNTUwMCwgNTUwMSwgNTUwMiwKLSA1NTAzLCA1NTA0LCA1NTA1LCA1NTA2LCA1NTA3LCA1NTA4LCA1NTA5LCA1NTEwLCA1NTExLCA1NTEyLCA1NTEzLCA1NTE0LCA1NTE1LAotIDU1MTYsIDU1MjAsIDU1MjEsIDU1MjIsIDU1MjMsIDU1MjUsIDU1MjYsIDU1MjcsIDU1MjksIDU1MzAsIDU1MzEsIDU1MzIsIDU1MzQsCi0gNTUzNSwgNTUzNiwgNTUzNywgNTUzOSwgNTU0MCwgNTU0MSwgNTU0MiwgNTU0NCwgNTU0NSwgNTU0NiwgNTU0NywgNTU0OSwgNTU1MCwKLSA1NTUxLCA1NTUyLCA1NTU0LCA1NTU1LCA1NTU2LCA1NTU3LCA1NTU5LCA1NTYwLCA1NTYxLCA1NTYyLCA1NTYzLCA1NTY0LCA1NTY1LAotIDU1NjYsIDU1NjcsIDU1NjgsIDU1NjksIDU1NzAsIDU1NzEsIDU1NzIsIDU1NzMsIDU1NzUsIDU1NzYsIDU1NzcsIDU1NzgsIDU1ODAsCi0gNTU4MSwgNTU4MiwgNTU4NCwgNTU4NSwgNTU4NiwgNTU4NywgNTU4OSwgNTU5MCwgNTU5MSwgNTU5MiwgNTU5NCwgNTU5NSwgNTU5NiwKLSA1NTk3LCA1NTk5LCA1NjAwLCA1NjAxLCA1NjAyLCA1NjA0LCA1NjA1LCA1NjA2LCA1NjA4LCA1NjA5LCA1NjEwLCA1NjEyLCA1NjEzLAotIDU2MTQsIDU2MTUsIDU2MTYsIDU2MjAsIDU2MjEsIDU2MjIsIDU2MjMsIDU2MjQsIDU2MjUsIDU2MjYsIDU2MjgsIDU2MjksIDU2MzAsCi0gNTYzMiwgNTYzMywgNTYzNCwgNTYzNSwgNTYzNiwgNTY0MCwgNTY0MSwgNTY0MiwgNTY0MywgNTY0NCwgNTY0NSwgNTY0NiwgNTY0NywKLSA1NjQ4LCA1NjUxLCA1NjUyLCA1NjUzLCA1NjU0LCA1NjU2LCA1NjU3LCA1NjU4LCA1NjU5LCA1NjYwLCA1NjY0LCA1NjY1LCA1NjY2LAotIDU2NzUsIDU2NzYsIDU2NzcsIDU2NzgsIDU2NzksIDU2ODAsIDU2ODEsIDU2ODIsIDU2ODMsIDU2ODQsIDU2ODUsIDU2ODcsIDU2ODgsCi0gNTY4OSwgNTY5MCwgNTY5MiwgNTY5MywgNTY5NCwgNTY5NSwgNTY5NywgNTY5OCwgNTY5OSwgNTcwMCwgNTcwMiwgNTcwMywgNTcwNCwKLSA1NzA1LCA1NzA3LCA1NzA4LCA1NzA5LCA1NzEwLCA1NzEyLCA1NzEzLCA1NzE0LCA1NzE1LCA1NzE2LCA1NzE3LCA1NzE4LCA1NzE5LAotIDU3MjAsIDU3MjIsIDU3MjMsIDU3MjQsIDU3MjUsIDU3MjcsIDU3MjgsIDU3MjksIDU3MzAsIDU3MzIsIDU3MzMsIDU3MzQsIDU3MzUsCi0gNTczNywgNTczOCwgNTczOSwgNTc0MCwgNTc0MiwgNTc0MywgNTc0NCwgNTc0NSwgNTc0NywgNTc0OCwgNTc0OSwgNTc1MCwgNTc1MiwKLSA1NzUzLCA1NzU0LCA1NzU1LCA1NzU2LCA1NzU3LCA1NzU4LCA1NzU5LCA1NzYwLCA1NzYxLCA1NzYyLCA1NzYzLCA1NzY0LCA1NzY1LAotIDU3NjYsIDU3OTAsIDU3OTEsIDU3OTIsIDU3OTQsIDU3OTUsIDU3OTYsIDU3OTcsIDU3OTksIDU4MDAsIDU4MDEsIDU4MDIsIDU4MDQsCi0gNTgwNSwgNTgwNiwgNTgwNywgNTgwOSwgNTgxMCwgNTgxMSwgNTgxMiwgNTgxNCwgNTgxNSwgNTgxNiwgNTgxNywgNTgxOSwgNTgyMCwKLSA1ODIxLCA1ODIyLCA1ODIzLCA1ODI0LCA1ODI1LCA1ODI2LCA1ODM2LCA1ODM3LCA1ODM4LCA1ODQwLCA1ODQxLCA1ODQyLCA1ODQzLAotIDU4NDUsIDU4NDYsIDU4NDcsIDU4NDksIDU4NTAsIDU4NTEsIDU4NTUsIDU4NTYsIDU4NTcsIDU4NTksIDU4NjAsIDU4NjEsIDU4NjMsCi0gNTg2NCwgNTg2NSwgNTg2OSwgNTg3MCwgNTg3MSwgNTg3NSwgNTg3NiwgNTg3NywgNTg3OSwgNTg4MCwgNTg4MSwgNTg4NSwgNTg4NiwKLSA1ODg3LCA1ODkxLCA1ODkyLCA1ODkzLCA1ODk1LCA1ODk2LCA1ODk3LCA1ODk4LCA1OTAwLCA1OTAxLCA1OTAyLCA1OTAzLCA1OTA1LAotIDU5MDYsIDU5MDcsIDU5MDgsIDU5MTAsIDU5MTEsIDU5MTIsIDU5MTQsIDU5MTUsIDU5MTYsIDU5MTgsIDU5MTksIDU5MjAsIDU5MjIsCi0gNTkyMywgNTkyNCwgNTkyNiwgNTkyNywgNTkyOCwgNTkzMCwgNTkzMSwgNTkzMiwgNTkzMywgNTkzNCwgNTkzNSwgNTkzNiwgNTkzNywKLSA1OTM4LCA1OTM5LCA1OTQwLCA1OTQxLCA1OTQyLCA1OTQzLCA1OTQ0LCA1OTQ1LCA1OTQ2LCA1OTQ3LCA1OTQ4LCA1OTgwLCA1OTgxLAotIDU5ODIsIDU5ODMsIDU5ODQsIDU5ODUsIDU5ODYsIDU5ODgsIDU5ODksIDU5OTAsIDU5OTEsIDU5OTMsIDU5OTQsIDU5OTUsIDU5OTYsCi0gNTk5OCwgNTk5OSwgNjAwMCwgNjAwMSwgNjAwMywgNjAwNCwgNjAwNSwgNjAwNiwgNjAwOCwgNjAwOSwgNjAxMCwgNjAxMSwgNjAxMywKLSA2MDE0LCA2MDE1LCA2MDE2LCA2MDE3LCA2MDIxLCA2MDIyLCA2MDIzLCA2MDI1LCA2MDI2LCA2MDI3LCA2MDI4LCA2MDMwLCA2MDMxLAotIDYwMzIsIDYwMzMsIDYwMzUsIDYwMzYsIDYwMzcsIDYwMzgsIDYwNDAsIDYwNDEsIDYwNDIsIDYwNDMsIDYwNDQsIDYwNDUsIDYwNDYsCi0gNjA0NywgNjA0OCwgNjA0OSwgNjA1MCwgNjA1MSwgNjA1MiwgNjA1MywgNjA1NCwgNjA1NSwgNjA1NiwgNjA1NywgNjA1OCwgNjA1OSwKLSA2MDYwLCA2MDYxLCA2MDYyLCA2MDY0LCA2MDY1LCA2MDY2LCA2MDY3LCA2MDY5LCA2MDcwLCA2MDcxLCA2MDcyLCA2MDc0LCA2MDc1LAotIDYwNzYsIDYwNzcsIDYwNzksIDYwODAsIDYwODEsIDYwODIsIDYwODMsIDYwODQsIDYwODUsIDYwODYsIDYwODcsIDYwODgsIDYwODksCi0gNjA5MCwgNjA5MSwgNjA5MiwgNjA5MywgNjA5NCwgNjA5NSwgNjA5NiwgNjA5NywgNjA5OCwgNjA5OSwgNjEwMCwgNjEwMSwgNjEwMiwKLSA2MTAzLCA2MTA3LCA2MTA4LCA2MTA5LCA2MTExLCA2MTEyLCA2MTEzLCA2MTE0LCA2MTE2LCA2MTE3LCA2MTE4LCA2MTE5LCA2MTIxLAotIDYxMjIsIDYxMjMsIDYxMjQsIDYxMjYsIDYxMjcsIDYxMjgsIDYxMjksIDYxMzAsIDYxMzEsIDYxMzIsIDYxMzMsIDYxMzQsIDYxMzUsCi0gNjEzNiwgNjEzNywgNjEzOCwgNjEzOSwgNjE0MCwgNjE0MSwgNjE0MiwgNjE0MywgNjE0NCwgNjE0NSwgNjE0NiwgNjE0NywgNjE0OCwKLSA2MTQ5LCA2MTUxLCA2MTUyLCA2MTUzLCA2MTU1LCA2MTU2LCA2MTU3LCA2MTU4LCA2MTYwLCA2MTYxLCA2MTYyLCA2MTYzLCA2MTY1LAotIDYxNjYsIDYxNjcsIDYxNjgsIDYxNzAsIDYxNzEsIDYxNzIsIDYxNzMsIDYxNzQsIDYxNzUsIDYxNzYsIDYxNzcsIDYxNzgsIDYxNzksCi0gNjE4MCwgNjE4MSwgNjE4MiwgNjE4MywgNjE4NCwgNjE4NSwgNjE4NiwgNjE4NywgNjE4OCwgNjE4OSwgNjE5MCwgNjE5MSwgNjE5MiwKLSA2MTk0LCA2MTk1LCA2MTk2LCA2MTk3LCA2MTk5LCA2MjAwLCA2MjAxLCA2MjAyLCA2MjA0LCA2MjA1LCA2MjA2LCA2MjA3LCA2MjA5LAotIDYyMTAsIDYyMTEsIDYyMTIsIDYyMTMsIDYyMTQsIDYyMTUsIDYyMTYsIDYyMTcsIDYyMTgsIDYyMTksIDYyMjAsIDYyMjEsIDYyMjIsCi0gNjIyMywgNjIyNCwgNjIyNSwgNjIyNiwgNjIyNywgNjIyOCwgNjIyOSwgNjIzMCwgNjIzMSwgNjIzMiwgNjIzMywgNjIzNywgNjIzOCwKLSA2MjM5LCA2MjQxLCA2MjQyLCA2MjQzLCA2MjQ0LCA2MjQ2LCA2MjQ3LCA2MjQ4LCA2MjQ5LCA2MjUxLCA2MjUyLCA2MjUzLCA2MjU0LAotIDYyNTYsIDYyNTcsIDYyNTgsIDYyNTksIDYyNjAsIDYyNjEsIDYyNjIsIDYyNjMsIDYyNjQsIDYyNjUsIDYyNjYsIDYyNjcsIDYyNjgsCi0gNjI2OSwgNjI3MCwgNjI3MSwgNjI3MiwgNjI3MywgNjI3NCwgNjI3NSwgNjI3NiwgNjI3NywgNjI3OCwgNjI3OSwgNjI4MSwgNjI4MiwKLSA2MjgzLCA2Mjg1LCA2Mjg2LCA2Mjg3LCA2Mjg4LCA2MjkwLCA2MjkxLCA2MjkyLCA2MjkzLCA2Mjk1LCA2Mjk2LCA2Mjk3LCA2Mjk4LAotIDYzMDAsIDYzMDEsIDYzMDIsIDYzMDMsIDYzMDQsIDYzMDUsIDYzMDYsIDYzMDcsIDYzMDgsIDYzMDksIDYzMTAsIDYzMTEsIDYzMTIsCi0gNjMxMywgNjMxNCwgNjMxNSwgNjMxNiwgNjMxNywgNjMxOCwgNjMxOSwgNjMyMCwgNjMyMSwgNjMyMiwgNjMyMywgNjMyNSwgNjMyNiwKLSA2MzI3LCA2MzI4LCA2MzMwLCA2MzMxLCA2MzMyLCA2MzMzLCA2MzM1LCA2MzM2LCA2MzM3LCA2MzM4LCA2MzQwLCA2MzQxLCA2MzQyLAotIDYzNDMsIDYzNDUsIDYzNDYsIDYzNDcsIDYzNDgsIDYzNTAsIDYzNTEsIDYzNTIsIDYzNTMsIDYzNTUsIDYzNTYsIDYzNTcsIDYzNTgsCi0gNjM2MCwgNjM2MSwgNjM2MiwgNjM2MywgNjM2NSwgNjM2NiwgNjM2NywgNjM2OCwgNjM3MCwgNjM3MSwgNjM3MiwgNjM3MywgNjM3NSwKLSA2Mzc2LCA2Mzc3LCA2Mzc5LCA2MzgwLCA2MzgxLCA2MzgyLCA2Mzg0LCA2Mzg1LCA2Mzg2LCA2Mzg3LCA2Mzg5LCA2MzkwLCA2MzkxLAotIDYzOTIsIDYzOTQsIDYzOTUsIDYzOTYsIDYzOTcsIDYzOTgsIDYzOTksIDY0MDAsIDY0MDEsIDY0MDIsIDY0MDMsIDY0MDQsIDY0MDUsCi0gNjQwNiwgNjQwNywgNjQwOCwgNjQwOSwgNjQxMCwgNjQxMSwgNjQxMiwgNjQxMywgNjQxNCwgNjQxNSwgNjQxNiwgNjQxOCwgNjQxOSwKLSA2NDIwLCA2NDIxLCA2NDIzLCA2NDI0LCA2NDI1LCA2NDI2LCA2NDI4LCA2NDI5LCA2NDMwLCA2NDMxLCA2NDMzLCA2NDM0LCA2NDM1LAotIDY0MzYsIDY0MzcsIDY0MzgsIDY0MzksIDY0NDAsIDY0NDEsIDY0NDIsIDY0NDMsIDY0NDQsIDY0NDUsIDY0NDYsIDY0NDcsIDY0NDgsCi0gNjQ0OSwgNjQ1MCwgNjQ1MSwgNjQ1MiwgNjQ1MywgNjQ1NCwgNjQ1NSwgNjQ1NiwgNjQ1NywgNjQ1OCwgNjQ2NCwgNjQ2NSwgNjQ2NiwKLSA2NDY4LCA2NDY5LCA2NDcwLCA2NDcxLCA2NDczLCA2NDc0LCA2NDc1LCA2NDc2LCA2NDc4LCA2NDc5LCA2NDgwLCA2NDgxLCA2NDgzLAotIDY0ODQsIDY0ODUsIDY0ODYsIDY0ODcsIDY0ODgsIDY0ODksIDY0OTAsIDY0OTIsIDY0OTMsIDY0OTQsIDY0OTYsIDY0OTcsIDY0OTgsCi0gNjQ5OSwgNjUwMSwgNjUwMiwgNjUwMywgNjUwNCwgNjUwNiwgNjUwNywgNjUwOCwgNjUwOSwgNjUxMSwgNjUxMiwgNjUxMywgNjUxNCwKLSA2NTE1LCA2NTE2LCA2NTE3LCA2NTE4LCA2NTE5LCA2NTIwLCA2NTIxLCA2NTIyLCA2NTIzLCA2NTI0LCA2NTI1LCA2NTI2LCA2NTI4LAotIDY1MjksIDY1MzAsIDY1MzEsIDY1MzMsIDY1MzQsIDY1MzUsIDY1MzYsIDY1MzgsIDY1MzksIDY1NDAsIDY1NDEsIDY1NDMsIDY1NDQsCi0gNjU0NSwgNjU0NywgNjU0OCwgNjU0OSwgNjU1MSwgNjU1MiwgNjU1MywgNjU1NSwgNjU1NiwgNjU1NywgNjU1OCwgNjU2MCwgNjU2MSwKLSA2NTYyLCA2NTYzLCA2NTY1LCA2NTY2LCA2NTY3LCA2NTY4LCA2NTcwLCA2NTcxLCA2NTcyLCA2NTczLCA2NTc0LCA2NTc1LCA2NTc2LAotIDY1NzcsIDY1NzgsIDY1NzksIDY1ODAsIDY1ODEsIDY1ODIsIDY1ODMsIDY1ODQsIDY1ODUsIDY1ODYsIDY1ODcsIDY1ODgsIDY1ODksCi0gNjU5MSwgNjU5MiwgNjU5MywgNjU5NCwgNjU5NSwgNjU5NiwgNjU5NywgNjU5OCwgNjU5OSwgNjYwMCwgNjYwMSwgNjYwMiwgNjYwMywKLSA2NjA0LCA2NjI2LCA2NjI3LCA2NjI4LCA2NjI5LCA2NjMwLCA2NjMxLCA2NjMyLCA2NjM0LCA2NjM2LCA2NjM3LCA2NjM4LCA2NjM5LAotIDY2NDEsIDY2NDIsIDY2NDMsIDY2NDQsIDY2NDYsIDY2NDcsIDY2NDgsIDY2NDksIDY2NTEsIDY2NTIsIDY2NTMsIDY2NTUsIDY2NTYsCi0gNjY1NywgNjY1OCwgNjY1OSwgNjY2MCwgNjY2MSwgNjY2MiwgNjY2MywgNjY2NCwgNjY2NSwgNjY2NiwgNjY2NywgNjY2OCwgNjY2OSwKLSA2NjcwLCA2NjcyLCA2NjczLCA2Njc0LCA2Njc1LCA2Njc3LCA2Njc4LCA2Njc5LCA2NjgwLCA2NjgxLCA2NjgyLCA2NjgzLCA2Njg0LAotIDY2ODUsIDY2ODYsIDY2ODcsIDY2ODgsIDY2ODksIDY2OTAsIDY2OTEsIDY2OTIsIDY2OTMsIDY2OTQsIDY2OTUsIDY2OTcsIDY2OTgsCi0gNjY5OSwgNjcwMCwgNjcwMiwgNjcwMywgNjcwNCwgNjcwNiwgNjcwNywgNjcwOCwgNjcxMCwgNjcxMSwgNjcxMiwgNjcxMywgNjcxNCwKLSA2NzE1LCA2NzE2LCA2NzE4LCA2NzE5LCA2NzIwLCA2NzIxLCA2NzIyLCA2NzIzLCA2NzMxLCA2NzMyLCA2NzMzLCA2NzM0LCA2NzM3LAotIDY3MzgsIDY3MzksIDY3NDAsIDY3NDIsIDY3NDMsIDY3NDQsIDY3NDUsIDY3NDYsIDY3NDcsIDY3NDgsIDY3NTAsIDY3NTEsIDY3NTIsCi0gNjc1MywgNjc1NSwgNjc1NiwgNjc1NywgNjc1OCwgNjc2MCwgNjc2MSwgNjc2MiwgNjc2MywgNjc2NCwgNjc2NSwgNjc2NiwgNjc2NywKLSA2NzY5LCA2NzcwLCA2NzcxLCA2NzcyLCA2Nzc0LCA2Nzc1LCA2Nzc2LCA2Nzc3LCA2Nzc5LCA2NzgwLCA2NzgxLCA2NzgyLCA2Nzg0LAotIDY3ODUsIDY3ODYsIDY3ODcsIDY3ODksIDY3OTAsIDY3OTEsIDY3OTIsIDY3OTQsIDY3OTUsIDY3OTYsIDY3OTcsIDY3OTgsIDY3OTksCi0gNjgwMCwgNjgwMSwgNjgwMywgNjgwNCwgNjgwNSwgNjgwNiwgNjgwOCwgNjgwOSwgNjgxMCwgNjgxMSwgNjgxMywgNjgxNCwgNjgxNSwKLSA2ODE2LCA2ODE4LCA2ODE5LCA2ODIwLCA2ODIxLCA2ODIzLCA2ODI0LCA2ODI1LCA2ODI2LCA2ODI4LCA2ODI5LCA2ODMwLCA2ODMxLAotIDY4MzIsIDY4MzMsIDY4MzQsIDY4MzUsIDY4MzcsIDY4MzgsIDY4MzksIDY4NDAsIDY4NDIsIDY4NDMsIDY4NDQsIDY4NDUsIDY4NDcsCi0gNjg0OCwgNjg0OSwgNjg1MCwgNjg1MiwgNjg1MywgNjg1NCwgNjg1NSwgNjg1NiwgNjg1NywgNjg1OCwgNjg1OSwgNjg2MSwgNjg2MiwKLSA2ODYzLCA2ODY0LCA2ODY2LCA2ODY3LCA2ODY4LCA2ODY5LCA2ODcxLCA2ODcyLCA2ODczLCA2ODc0LCA2ODc2LCA2ODc3LCA2ODc4LAotIDY4NzksIDY4ODAsIDY4ODEsIDY4ODIsIDY4ODMsIDY4ODUsIDY4ODYsIDY4ODcsIDY4ODgsIDY4OTAsIDY4OTEsIDY4OTIsIDY4OTMsCi0gNjg5NSwgNjg5NiwgNjg5NywgNjg5OCwgNjkwMCwgNjkwMSwgNjkwMiwgNjkwMywgNjkwNSwgNjkwNiwgNjkwNywgNjkwOCwgNjkxMCwKLSA2OTExLCA2OTEyLCA2OTEzLCA2OTE0LCA2OTE1LCA2OTE2LCA2OTE3LCA2OTI3LCA2OTI4LCA2OTI5LCA2OTMwLCA2OTMxLCA2OTMyLAotIDY5MzMsIDY5MzQsIDY5MzUsIDY5MzYsIDY5MzcsIDY5MzgsIDY5MzksIDY5NDAsIDY5NDEsIDY5NDIsIDY5NDMsIDY5NDQsIDY5NDUsCi0gNjk0NiwgNjk0NywgNjk0OCwgNjk0OSwgNjk1MywgNjk1NCwgNjk1NSwgNjk1NywgNjk1OSwgNjk2MCwgNjk2MSwgNjk2MiwgNjk2NCwKLSA2OTY1LCA2OTY2LCA2OTY3LCA2OTY5LCA2OTcwLCA2OTcxLCA2OTcyLCA2OTczLCA2OTc3LCA2OTc4LCA2OTc5LCA2OTgwLCA2OTgxLAotIDY5ODIsIDY5ODMsIDY5ODcsIDY5ODgsIDY5ODksIDY5OTAsIDY5OTEsIDY5OTIsIDY5OTYsIDY5OTcsIDY5OTgsIDY5OTksIDcwMDAsCi0gNzAwNCwgNzAwNSwgNzAwNiwgNzAwOCwgNzAwOSwgNzAxMCwgNzAxMiwgNzAxNCwgNzAyMCwgNzAyMSwgNzAyMiwgNzAyNywgNzAyOCwKLSA3MDI5LCA3MDMzLCA3MDM0LCA3MDM1LCA3MDM3LCA3MDM4LCA3MDM5LCA3MDQ2LCA3MDQ3LCA3MDQ4LCA3MDU4LCA3MDU5LCA3MDYwLAotIDcwNzAsIDcwNzEsIDcwNzIsIDcwNzYsIDcwNzcsIDcwNzgsIDcwODIsIDcwODMsIDcwODQsIDcwOTQsIDcwOTUsIDcwOTYsIDcwOTcsCi0gNzA5OCwgNzA5OSwgNzEwMCwgNzEwMSwgNzEwMiwgNzEwMywgNzEwNCwgNzEwNSwgNzExNCwgNzExNSwgNzExNiwgNzExOSwgNzEyMCwKLSA3MTIxLCA3MTIyLCA3MTIzLCA3MTI0LCA3MTI1LCA3MTM1LCA3MTM2LCA3MTM3LCA3MTM4LCA3MTM5LCA3MTQwLCA3MTQxLCA3MTQyLAotIDcxNDMsIDcxNDQsIDcxNDcsIDcxNDgsIDcxNDksIDcxNTEsIDcxNTIsIDcxNTMsIDcxNTQsIDcxNTUsIDcxNTYsIDcxNTgsIDcxNjAsCi0gNzE2MSwgNzE2MiwgNzE3MSwgNzE3MiwgNzE3MywgNzE3NCwgNzE3NSwgNzE3NiwgNzE3NywgNzE3OCwgNzE4MCwgNzE4MSwgNzE4MiwKLSA3MTgzLCA3MTg1LCA3MTg2LCA3MTg3LCA3MTg5LCA3MTkwLCA3MTkxLCA3MjAxLCA3MjAyLCA3MjAzLCA3MjA2LCA3MjA3LCA3MjA4LAotIDcyMTQsIDcyMTUsIDcyMTYsIDcyMTcsIDcyMTgsIDcyMTksIDcyMjEsIDcyMjIsIDcyMjMsIDcyMjUsIDcyMjYsIDcyMjcsIDcyMjgsCi0gNzIyOSwgNzIzMCwgNzIzMSwgNzIzMiwgNzIzMywgNzIzNCwgNzI0MSwgNzI0MiwgNzI0MywgNzI0NiwgNzI0NywgNzI0OCwgNzI1MSwKLSA3MjUyLCA3MjUzLCA3MjU3LCA3MjU4LCA3MjU5LCA3MjY1LCA3MjY2LCA3MjY3LCA3MjY5LCA3MjcwLCA3MjcxLCA3MjcyLCA3MjczLAotIDcyNzQsIDcyNzUsIDcyNzYsIDcyODIsIDcyODMsIDcyODQsIDcyODcsIDcyODgsIDcyODksIDcyOTEsIDcyOTIsIDcyOTMsIDczMDIsCi0gNzMwMywgNzMwNCwgNzMwNSwgNzMwNiwgNzMwNywgNzMwOCwgNzMxMSwgNzMxMiwgNzMxMywgNzMxNywgNzMxOCwgNzMxOSwgNzMyMCwKLSA3MzIxLCA3MzIyLCA3MzIzLCA3MzI0LCA3MzI5LCA3MzMwLCA3MzMxLCA3MzMzLCA3MzM0LCA3MzM1LCA3MzM2LCA3MzM3LCA3MzM4LAotIDczMzksIDczNDAsIDczNDEsIDczNDIsIDczNDMsIDczNDQsIDczNDUsIDczNDYsIDczNDgsIDczNDksIDczNTAsIDczNTIsIDczNTMsCi0gNzM1NCwgNzM1OSwgNzM2MCwgNzM2MSwgNzM2MywgNzM2NCwgNzM2NSwgNzM2NiwgNzM2NywgNzM2OCwgNzM2OSwgNzM3MCwgNzM3MSwKLSA3Mzc3LCA3Mzc4LCA3Mzc5LCA3MzgwLCA3MzgxLCA3MzgyLCA3MzgzLCA3Mzg0LCA3Mzg1LCA3Mzg2LCA3Mzg3LCA3Mzg4LCA3Mzg5LAotIDczOTAsIDczOTEsIDczOTIsIDczOTMsIDczOTQsIDczOTUsIDc0MDAsIDc0MDEsIDc0MDIsIDc0MDMsIDc0MDQsIDc0MDUsIDc0MDYsCi0gNzQwNywgNzQwOCwgNzQwOSwgNzQxMCwgNzQxMiwgNzQxMywgNzQxNCwgNzQxNSwgNzQxNiwgNzQxNywgNzQxOCwgNzQxOSwgNzQyMCwKLSA3NDIxLCA3NDIyLCA3NDI2LCA3NDI3LCA3NDI4LCA3NDI5LCA3NDMwLCA3NDM0LCA3NDM1LCA3NDM2LCA3NDM4LCA3NDM5LCA3NDQwLAotIDc0NDEsIDc0NDIsIDc0NDMsIDc0NDQsIDc0NDUsIDc0NDYsIDc0NDcsIDc0NDgsIDc0NDksIDc0NTAsIDc0NTEsIDc0NTIsIDc0NTMsCi0gNzQ1NywgNzQ1OCwgNzQ1OSwgNzQ2MCwgNzQ2MSwgNzQ2MiwgNzQ2MywgNzQ2NSwgNzQ2NiwgNzQ2NywgNzQ2OCwgNzQ2OSwgNzQ3MCwKLSA3NDczLCA3NDc0LCA3NDc1LCA3NDc3LCA3NDc4LCA3NDc5LCA3NDgwLCA3NDgxLCA3NDgyLCA3NDgzLCA3NDg0LCA3NDg1LCA3NDg2LAotIDc0OTAsIDc0OTEsIDc0OTIsIDc0OTMsIDc0OTQsIDc0OTcsIDc0OTgsIDc0OTksIDc1MDAsIDc1MDEsIDc1MDIsIDc1MDMsIDc1MDQsCi0gNzUwNSwgNzUxMCwgNzUxMSwgNzUxMiwgNzUxMywgNzUxNCwgNzUxNSwgNzUxOSwgNzUyMCwgNzUyMSwgNzUyMiwgNzUyMywgNzUyNCwKLSA3NTI1LCA3NTI2LCA3NTI3LCA3NTI4LCA3NTMyLCA3NTMzLCA3NTM0LCA3NTM2LCA3NTM3LCA3NTM4LCA3NTM5LCA3NTQwLCA3NTQyLAotIDc1NDMsIDc1NDQsIDc1NDUsIDc1NDYsIDc1NDcsIDc1NDgsIDc1NDksIDc1NTAsIDc1NTEsIDc1NTIsIDc1NTMsIDc1NTQsIDc1NTUsCi0gNzU1NiwgNzU1NywgNzU1OCwgNzU1OSwgNzU2MCwgNzU2MSwgNzU2MiwgNzU2MywgNzU2NCwgNzU2NSwgNzU2NiwgNzU2NywgNzU3MiwKLSA3NTczLCA3NTc0LCA3NTc1LCA3NTc2LCA3NTc3LCA3NTc4LCA3NTc5LCA3NTgwLCA3NTgxLCA3NTgyLCA3NTgzLCA3NTg0LCA3NTg1LAotIDc1ODYsIDc1ODcsIDc1ODgsIDc1ODksIDc1OTAsIDc1OTEsIDc1OTIsIDc1OTMsIDc1OTQsIDc1OTUsIDc1OTYsIDc1OTcsIDc1OTgsCi0gNzU5OSwgNzYwMCwgNzYwMSwgNzYwNSwgNzYwNiwgNzYwNywgNzYwOCwgNzYwOSwgNzYxMCwgNzYxMSwgNzYxMiwgNzYxMywgNzYxNSwKLSA3NjE2LCA3NjE3LCA3NjE4LCA3NjE5LCA3NjIwLCA3NjIxLCA3NjIyLCA3NjIzLCA3NjI0LCA3NjI1LCA3NjI4LCA3NjI5LCA3NjMwLAotIDc2MzIsIDc2MzMsIDc2MzQsIDc2MzksIDc2NDAsIDc2NDEsIDc2NDcsIDc2NDgsIDc2NDksIDc2NTAsIDc2NTEsIDc2NTIsIDc2NTQsCi0gNzY2MywgNzY2NCwgNzY2NSwgNzY3MCwgNzY3MSwgNzY3MiwgNzY3NSwgNzY3NiwgNzY3NywgNzY3OCwgNzY3OSwgNzY4MCwgNzY4MSwKLSA3NjgyLCA3NjgzLCA3NjkwLCA3NjkxLCA3NjkyLCA3NjkzLCA3Njk0LCA3Njk1LCA3Njk2LCA3Njk3LCA3Njk4LCA3Njk5LCA3NzAwLAotIDc3MDEsIDc3MDIsIDc3MDQsIDc3MDYsIDc3MTAsIDc3MTEsIDc3MTIsIDc3MTgsIDc3MTksIDc3MjAsIDc3MjgsIDc3MjksIDc3MzAsCi0gNzczOSwgNzc0MCwgNzc0MSwgNzc0NCwgNzc0NSwgNzc0NiwgNzc0OCwgNzc1NCwgNzc1NSwgNzc1NiwgNzc2MiwgNzc2MywgNzc2NCwKLSA3NzY2LCA3NzY3LCA3NzY4LCA3NzY5LCA3NzcwLCA3NzcxLCA3NzcyLCA3NzczLCA3Nzc0LCA3Nzc1LCA3Nzc2LCA3Nzc3LCA3Nzc4LAotIDc3NzksIDc3ODcsIDc3ODgsIDc3ODksIDc3OTAsIDc3OTEsIDc3OTIsIDc3OTMsIDc3OTQsIDc3OTUsIDc3OTYsIDc3OTcsIDc3OTgsCi0gNzgxMCwgNzgxMSwgNzgxMiwgNzgxNCwgNzgxNSwgNzgxNiwgNzgxNywgNzgxOCwgNzgxOSwgNzgyMCwgNzgyMSwgNzgyMiwgNzgyNCwKLSA3ODI1LCA3ODI2LCA3ODI3LCA3ODI4LCA3ODI5LCA3ODMwLCA3ODMxLCA3ODMyLCA3ODMzLCA3ODM0LCA3ODM1LCA3ODM2LCA3ODM3LAotIDc4MzgsIDc4NDIsIDc4NDMsIDc4NDQsIDc4NDUsIDc4NDYsIDc4NDcsIDc4NDgsIDc4NDksIDc4NTAsIDc4NTIsIDc4NTMsIDc4NTQsCi0gNzg1NSwgNzg1NiwgNzg1NywgNzg1OCwgNzg1OSwgNzg2MCwgNzg2MiwgNzg2MywgNzg2NCwgNzg2NSwgNzg2NiwgNzg2NywgNzg2OCwKLSA3ODY5LCA3ODcwLCA3ODcxLCA3ODcyLCA3ODczLCA3ODc0LCA3ODc1LCA3ODc2LCA3ODc3LCA3ODc4LCA3ODc5LCA3ODgyLCA3ODgzLAotIDc4ODQsIDc4ODUsIDc4ODYsIDc4ODcsIDc4ODgsIDc4ODksIDc4OTAsIDc4OTEsIDc4OTIsIDc4OTMsIDc4OTQsIDc4OTUsIDc4OTYsCi0gNzg5NywgNzg5OCwgNzg5OSwgNzkwMCwgNzkwMSwgNzkwMiwgNzkwMywgNzkwNCwgNzkwNSwgNzkxMiwgNzkxMywgNzkxNCwgNzkxNSwKLSA3OTE2LCA3OTE3LCA3OTE4LCA3OTE5LCA3OTIwLCA3OTIxLCA3OTIyLCA3OTIzLCA3OTI0LCA3OTI1LCA3OTI2LCA3OTI3LCA3OTI4LAotIDc5MjksIDc5MzAsIDc5MzEsIDc5MzIsIDc5MzMsIDc5MzQsIDc5MzUsIDc5MzYsIDc5MzcsIDc5MzgsIDc5NDYsIDc5NDcsIDc5NDgsCi0gNzk0OSwgNzk1MCwgNzk1MSwgNzk1MiwgNzk1MywgNzk1NCwgNzk1NSwgNzk1NiwgNzk2NCwgNzk2NSwgNzk2NiwgNzk2NywgNzk2OCwKLSA3OTY5LCA3OTcwLCA3OTcxLCA3OTcyLCA3OTczLCA3OTc0LCA3OTc1LCA3OTc2LCA3OTc3LCA3OTc4LCA3OTc5LCA3OTgwLCA3OTgxLAotIDc5ODIsIDc5ODMsIDc5ODQsIDc5ODUsIDc5ODYsIDc5ODcsIDc5OTQsIDc5OTUsIDc5OTYsIDc5OTcsIDc5OTgsIDc5OTksIDgwMDAsCi0gODAwMSwgODAwMiwgODAwMywgODAwNCwgODAwNSwgODAwNiwgODAwNywgODAwOCwgODAwOSwgODAxMCwgODAxMSwgODAxMiwgODAxMywKLSA4MDE0LCA4MDIwLCA4MDIxLCA4MDIyLCA4MDIzLCA4MDI0LCA4MDI1LCA4MDI2LCA4MDI3LCA4MDI4LCA4MDI5LCA4MDMwLCA4MDMxLAotIDgwMzIsIDgwMzMsIDgwMzQsIDgwMzUsIDgwMzYsIDgwMzcsIDgwNDIsIDgwNDMsIDgwNDQsIDgwNDUsIDgwNDYsIDgwNDcsIDgwNDgsCi0gODA0OSwgODA1MCwgODA1MSwgODA1MiwgODA1MywgODA1NCwgODA1NSwgODA1NiwgODA2MCwgODA2MSwgODA2MiwgODA2MywgODA2NCwKLSA4MDY1LCA4MDY2LCA4MDcwLCA4MDcxLCA4MDcyLCA4MDczLCA4MDc0LCA4MDc1LCA4MDc2LCA4MDc3LCA4MDc4LCA4MDc5LCA4MDgwLAotIDgwODEsIDgwODIsIDgwODMsIDgwODQsIDgwODUsIDgwODYsIDgwODcsIDgwODgsIDgwODksIDgwOTAsIDgwOTQsIDgwOTUsIDgwOTYsCi0gODA5NywgODA5OCwgODEwMCwgODEwMSwgODEwMiwgODEwMywgODEwNCwgODEwNSwgODEwNiwgODEwNywgODEwOCwgODEwOSwgODExMCwKLSA4MTExLCA4MTE0LCA4MTE1LCA4MTE2LCA4MTE3LCA4MTE4LCA4MTE5LCA4MTIwLCA4MTIxLCA4MTIyLCA4MTIzLCA4MTI0LCA4MTI1LAotIDgxMjYsIDgxMjcsIDgxMjgsIDgxMzAsIDgxMzEsIDgxMzIsIDgxMzMsIDgxMzQsIDgxMzUsIDgxMzYsIDgxMzcsIDgxMzgsIDgxMzksCi0gODE0MCwgODE0MSwgODE0MiwgODE0NiwgODE0NywgODE0OCwgODE0OSwgODE1MCwgODE1MSwgODE1MiwgODE1MywgODE1NCwgODE1NSwKLSA4MTU2LCA4MTU3LCA4MTU4LCA4MTU5LCA4MTYwLCA4MTYxLCA4MTYyLCA4MTYzLCA4MTY0LCA4MTY1LCA4MTY2LCA4MTY3LCA4MTcwLAotIDgxNzEsIDgxNzIsIDgxNzMsIDgxNzQsIDgxNzUsIDgxNzYsIDgxNzcsIDgxNzgsIDgxNzksIDgxODAsIDgxODIsIDgxODMsIDgxODQsCi0gODE4NSwgODE4NiwgODE4NywgODE4OCwgODE4OSwgODE5MCwgODE5NiwgODE5NywgODE5OCwgODE5OSwgODIwMCwgODIwMSwgODIwMiwKLSA4MjAzLCA4MjA0LCA4MjA1LCA4MjA2LCA4MjA3LCA4MjA4LCA4MjA5LCA4MjEwLCA4MjExLCA4MjEyLCA4MjEzLCA4MjE0LCA4MjE1LAotIDgyMTYsIDgyMTcsIDgyMTgsIDgyMTksIDgyMjAsIDgyMjEsIDgyMjIsIDgyMjQsIDgyMjUsIDgyMjYsIDgyMjcsIDgyMjgsIDgyMjksCi0gODIzMCwgODIzMSwgODIzMiwgODIzMywgODIzNCwgODIzNSwgODIzNiwgODIzNywgODIzOCwgODIzOSwgODI0MiwgODI0MywgODI0NCwKLSA4MjQ1LCA4MjQ2LCA4MjQ3LCA4MjQ4LCA4MjQ5LCA4MjUwLCA4MjUxLCA4MjUyLCA4MjUzLCA4MjU0LCA4MjU1LCA4MjU2LCA4MjU3LAotIDgyNTgsIDgyNTksIDgyNjAsIDgyNjEsIDgyNjIsIDgyNjMsIDgyNjQsIDgyNjUsIDgyNjYsIDgyNjgsIDgyNjksIDgyNzAsIDgyNzEsCi0gODI3MiwgODI3MywgODI3NCwgODI3NSwgODI3NiwgODI3NywgODI3OCwgODI3OSwgODI4MCwgODI4MSwgODI4MiwgODI4MywgODI4NCwKLSA4Mjg1LCA4Mjg2LCA4Mjg3LCA4Mjg4LCA4Mjg5LCA4MjkwLCA4MjkxLCA4MjkyLCA4MjkzLCA4Mjk0LCA4Mjk1LCA4Mjk2LCA4Mjk3LAotIDgyOTgsIDgyOTksIDgzMDAsIDgzMDEsIDgzMDIsIDgzMDMsIDgzMDQsIDgzMDUsIDgzMDYsIDgzMDcsIDgzMDgsIDgzMDksIDgzMTAsCi0gODMxMSwgODMxMiwgODMxMywgODMxNCwgODMxNSwgODMxNiwgODMxNywgODMxOCwgODMxOSwgODMyMCwgODMyNCwgODMyNSwgODMyNiwKLSA4MzI3LCA4MzI4LCA4MzI5LCA4MzMwLCA4MzMxLCA4MzMyLCA4MzM0LCA4MzM1LCA4MzM2LCA4MzM3LCA4MzM4LCA4MzM5LCA4MzQwLAotIDgzNDEsIDgzNDIsIDgzNDgsIDgzNDksIDgzNTAsIDgzNTEsIDgzNTMsIDgzNTQsIDgzNTUsIDgzNTYsIDgzNTgsIDgzNTksIDgzNjAsCi0gODM2MSwgODM2MywgODM2NCwgODM2NSwgODM2NiwgODM2OCwgODM2OSwgODM3MCwgODM3MSwgODM3MiwgODM3MywgODM4NSwgODM4NiwKLSA4Mzg3LCA4Mzg4LCA4MzkwLCA4MzkxLCA4MzkyLCA4MzkzLCA4Mzk0LCA4Mzk1LCA4Mzk2LCA4Mzk3LCA4Mzk4LCA4Mzk5LCA4NDAwLAotIDg0MDIsIDg0MDMsIDg0MDQsIDg0MDUsIDg0MDcsIDg0MDgsIDg0MDksIDg0MTAsIDg0MTIsIDg0MTMsIDg0MTQsIDg0MTUsIDg0MTYsCi0gODQxNywgODQxOCwgODQxOSwgODQyMCwgODQyMSwgODQyMiwgODQyMywgODQyNCwgODQyNSwgODQyNiwgODQyNywgODQyOCwgODQyOSwKLSA4NDMwLCA4NDMxLCA4NDMyLCA4NDMzLCA4NDM0LCA4NDM1LCA4NDM2LCA4NDM3LCA4NDM4LCA4NDM5LCA4NDQwLCA4NDQxLCA4NDQyLAotIDg0NDQsIDg0NDUsIDg0NDYsIDg0NDcsIDg0NDksIDg0NTAsIDg0NTEsIDg0NTIsIDg0NTQsIDg0NTUsIDg0NTYsIDg0NTcsIDg0NTksCi0gODQ2MCwgODQ2MSwgODQ2MiwgODQ2NCwgODQ2NSwgODQ2NiwgODQ2NywgODQ2OCwgODQ2OSwgODQ3MCwgODQ3MSwgODQ3MiwgODQ3MywKLSA4NDc0LCA4NDc1LCA4NDc2LCA4NDc3LCA4NDc4LCA4NDc5LCA4NDgwLCA4NDgxLCA4NDgyLCA4NDgzLCA4NDg0LCA4NDg1LCA4NDg2LAotIDg0ODcsIDg0ODksIDg0OTAsIDg0OTEsIDg0OTIsIDg0OTQsIDg0OTUsIDg0OTYsIDg0OTcsIDg0OTksIDg1MDAsIDg1MDEsIDg1MDIsCi0gODUwNCwgODUwNSwgODUwNiwgODUwNywgODUwOSwgODUxMCwgODUxMSwgODUxMiwgODUxNCwgODUxNSwgODUxNiwgODUxNywgODUxOSwKLSA4NTIwLCA4NTIxLCA4NTIyLCA4NTI1LCA4NTI2LCA4NTI3LCA4NTI4LCA4NTI5LCA4NTMwLCA4NTMxLCA4NTMyLCA4NTMzLCA4NTM0LAotIDg1MzUsIDg1MzcsIDg1MzgsIDg1MzksIDg1NDAsIDg1NDIsIDg1NDMsIDg1NDQsIDg1NDUsIDg1NDcsIDg1NDgsIDg1NDksIDg1NTAsCi0gODU1MiwgODU1MywgODU1NCwgODU1NSwgODU1NywgODU1OCwgODU1OSwgODU2MCwgODU2MSwgODU2MiwgODU2MywgODU2NCwgODU2NiwKLSA4NTY3LCA4NTY4LCA4NTY5LCA4NTcxLCA4NTcyLCA4NTczLCA4NTc0LCA4NTc2LCA4NTc3LCA4NTc4LCA4NTc5LCA4NTgxLCA4NTgyLAotIDg1ODMsIDg1ODQsIDg1ODYsIDg1ODcsIDg1ODgsIDg1ODksIDg1OTEsIDg1OTIsIDg1OTMsIDg1OTQsIDg1OTYsIDg1OTcsIDg1OTgsCi0gODU5OSwgODYwMCwgODYwMSwgODYwMiwgODYwNCwgODYwNiwgODYxNSwgODYxNiwgODYxNywgODYxOCwgODYxOSwgODYyMCwgODYyMSwKLSA4NjIyLCA4NjIzLCA4NjI0LCA4NjI1LCA4NjI2LCA4NjI3LCA4NjI4LCA4NjI5LCA4NjMwLCA4NjMxLCA4NjMyLCA4NjMzLCA4NjM2LAotIDg2MzcsIDg2MzgsIDg2MzksIDg2NDAsIDg2NDEsIDg2NDMsIDg2NDQsIDg2NDUsIDg2NDYsIDg2NDcsIDg2NDgsIDg2NTEsIDg2NTIsCi0gODY1MywgODY1NCwgODY1NSwgODY1NiwgODY1NywgODY1OCwgODY2MywgODY2NCwgODY2NSwgODY2NiwgODY2OSwgODY3MCwgODY3MSwKLSA4NjcyLCA4NjczLCA4Njc0LCA4Njc1LCA4Njc2LCA4Njc4LCA4Njc5LCA4NjgwLCA4NjgxLCA4NjgyLCA4NjgzLCA4Njg3LCA4Njg4LAotIDg2ODksIDg2OTEsIDg2OTIsIDg2OTMsIDg2OTQsIDg2OTYsIDg2OTcsIDg2OTgsIDg2OTksIDg3MDAsIDg3MDEsIDg3MDIsIDg3MDMsCi0gODcwNCwgODcwNSwgODcwNiwgODcwNywgODcwOCwgODcwOSwgODcxMCwgODcxMSwgODcxMiwgODcxMywgODcxNCwgODcxNSwgODcxNiwKLSA4NzE3LCA4NzE4LCA4NzE5LCA4NzIwLCA4NzIxLCA4NzIyLCA4NzIzLCA4NzI0LCA4NzI1LCA4NzI2LCA4NzI3LCA4NzI4LCA4NzI5LAotIDg3MzAsIDg3MzIsIDg3MzMsIDg3MzQsIDg3MzUsIDg3MzcsIDg3MzgsIDg3MzksIDg3NDAsIDg3NDIsIDg3NDMsIDg3NDQsIDg3NDUsCi0gODc0NiwgODc0NywgODc0OCwgODc0OSwgODc1MCwgODc1MSwgODc1MiwgODc1MywgODc1NCwgODc1NSwgODc1NiwgODc1NywgODc1OCwKLSA4NzU5LCA4NzYwLCA4NzYxLCA4NzYyLCA4NzYzLCA4NzY0LCA4NzY1LCA4NzY2LCA4NzY3LCA4NzY4LCA4NzY5LCA4NzcwLCA4NzcxLAotIDg3NzIsIDg3NzQsIDg3NzUsIDg3NzYsIDg3NzcsIDg3NzgsIDg3NzksIDg3ODAsIDg3ODEsIDg3ODIsIDg3ODMsIDg3ODQsIDg3ODUsCi0gODc4NiwgODc4NywgODc4OCwgODc4OSwgODc5MCwgODc5MSwgODc5MiwgODc5MywgODc5NCwgODc5NSwgODc5NiwgODc5NywgODc5OCwKLSA4Nzk5LCA4ODAwLCA4ODAxLCA4ODAyLCA4ODAzLCA4ODA0LCA4ODA1LCA4ODA2LCA4ODA3LCA4ODA4LCA4ODA5LCA4ODEwLCA4ODExLAotIDg4MTIsIDg4MTMsIDg4MTQsIDg4MTUsIDg4MTYsIDg4MTcsIDg4MTgsIDg4MTksIDg4MjAsIDg4MjEsIDg4MjIsIDg4MjMsIDg4MjQsCi0gODgyNSwgODgyNiwgODgyNywgODgyOCwgODgyOSwgODgzMCwgODgzMSwgODgzMiwgODgzMywgODgzNCwgODgzNSwgODgzNiwgODgzNywKLSA4ODM4LCA4ODM5LCA4ODQwLCA4ODQxLCA4ODQyLCA4ODQzLCA4ODQ0LCA4ODQ1LCA4ODQ2LCA4ODQ3LCA4ODQ4LCA4ODQ5LCA4ODUwLAotIDg4NTEsIDg4NTIsIDg4NTMsIDg4NTQsIDg4NTUsIDg4NTYsIDg4NTcsIDg4NTgsIDg4NTksIDg4NjAsIDg4NjEsIDg4NjIsIDg4NjMsCi0gODg2NCwgODg2NSwgODg2NiwgODg2NywgODg2OCwgODg2OSwgODg3MCwgODg3MSwgODg3MiwgODg3MywgODg3NCwgODg3NSwgODg3NiwKLSA4ODc3LCA4ODc4LCA4ODc5LCA4ODgwLCA4ODgxLCA4ODgyLCA4ODgzLCA4ODg0LCA4ODg1LCA4ODg2LCA4ODg3LCA4ODg4LCA4ODg5LAotIDg4OTAsIDg4OTEsIDg4OTIsIDg4OTMsIDg4OTQsIDg4OTUsIDg4OTYsIDg4OTcsIDg4OTgsIDg4OTksIDg5MDAsIDg5MDEsIDg5MDIsCi0gODkwMywgODkwNCwgODkwNSwgODkwNiwgODkwNywgODkwOCwgODkwOSwgODkxMCwgODkxMSwgODkxMiwgODkxMywgODkxNCwgODkxNSwKLSA4OTE2LCA4OTE3LCA4OTE4LCA4OTE5LCA4OTIwLCA4OTIxLCA4OTIyLCA4OTIzLCA4OTI0LCA4OTI2LCA4OTI4LCA4OTMwLCA4OTMyLAotIDg5MzQsIDg5MzYsIDg5MzgsIDg5NDAsIDg5NDIsIDg5NTEsIDg5NTIsIDg5NTMsIDg5NTQsIDg5NTUsIDg5NTYsIDg5NTcsIDg5NTgsCi0gODk1OSwgODk2MCwgODk2MSwgODk2MiwgODk2MywgODk2NCwgODk2NSwgODk2NiwgODk2NywgODk2OCwgODk2OSwgODk3MCwgODk3MSwKLSA4OTczLCA4OTc0LCA4OTc1LCA4OTc2LCA4OTc3LCA4OTc4LCA4OTgxLCA4OTgyLCA4OTgzLCA4OTg0LCA4OTg2LCA4OTg3LCA4OTg4LAotIDg5ODksIDg5OTAsIDg5OTEsIDg5OTcsIDg5OTgsIDg5OTksIDkwMDAsIDkwMDEsIDkwMDIsIDkwMDMsIDkwMDQsIDkwMDUsIDkwMDYsCi0gOTAwNywgOTAwOCwgOTAwOSwgOTAxMCwgOTAxMSwgOTAxMiwgOTAxMywgOTAxNCwgOTAxNSwgOTAxNywgOTAxOCwgOTAxOSwgOTAyMCwKLSA5MDIxLCA5MDIyLCA5MDIzLCA5MDI0LCA5MDI2LCA5MDI3LCA5MDI4LCA5MDI5LCA5MDMxLCA5MDMyLCA5MDMzLCA5MDM0LCA5MDM1LAotIDkwMzYsIDkwMzcsIDkwMzgsIDkwMzksIDkwNDAsIDkwNDIsIDkwNDMsIDkwNDQsIDkwNDUsIDkwNDcsIDkwNDgsIDkwNDksIDkwNTAsCi0gOTA1MiwgOTA1MywgOTA1NCwgOTA1NSwgOTA1NiwgOTA2MCwgOTA2MSwgOTA2MiwgOTA2MywgOTA2NCwgOTA2NSwgOTA2NiwgOTA2NywKLSA5MDY4LCA5MDY5LCA5MDcwLCA5MDcxLCA5MDcyLCA5MDczLCA5MDc0LCA5MDc1LCA5MDc2LCA5MDc3LCA5MDc4LCA5MDc5LCA5MDgwLAotIDkwODEsIDkwODMsIDkwODQsIDkwODUsIDkwODYsIDkwODcsIDkwODgsIDkwODksIDkwOTAsIDkwOTEsIDkwOTIsIDkwOTMsIDkwOTQsCi0gOTA5NSwgOTA5NiwgOTA5NywgOTA5OCwgOTA5OSwgOTEwMCwgOTEwMSwgOTEwMiwgOTEwMywgOTEwNCwgOTEwNSwgOTEwNiwgOTEwNywKLSA5MTA4LCA5MTA5LCA5MTEwLCA5MTExLCA5MTEyLCA5MTEzLCA5MTE0LCA5MTE1LCA5MTE2LCA5MTE3LCA5MTE4LCA5MTE5LCA5MTIwLAotIDkxMjEsIDkxMjIsIDkxMjQsIDkxMjUsIDkxMjYsIDkxMjcsIDkxMjgsIDkxMzEsIDkxMzIsIDkxMzMsIDkxMzQsIDkxMzUsIDkxMzksCi0gOTE0MCwgOTE0MSwgOTE0MiwgOTE0MywgOTE0NCwgOTE0NSwgOTE1MSwgOTE1MiwgOTE1MywgOTE1NCwgOTE1NiwgOTE1NywgOTE1OCwKLSA5MTU5LCA5MTYxLCA5MTYyLCA5MTYzLCA5MTY0LCA5MTY2LCA5MTY3LCA5MTY4LCA5MTY5LCA5MTc2LCA5MTc3LCA5MTc4LCA5MTc5LAotIDkxODAsIDkxODEsIDkxODMsIDkxODQsIDkxODUsIDkxODYsIDkxODgsIDkxODksIDkxOTAsIDkxOTEsIDkxOTMsIDkxOTQsIDkxOTUsCi0gOTE5NiwgOTE5OCwgOTE5OSwgOTIwMCwgOTIwMSwgOTIwMywgOTIwNCwgOTIwNSwgOTIwNiwgOTIwNywgOTIwOSwgOTIxMCwgOTIxMSwKLSA5MjEyLCA5MjE0LCA5MjE1LCA5MjE2LCA5MjE4LCA5MjE5LCA5MjIwLCA5MjIxLCA5MjIzLCA5MjI0LCA5MjI1LCA5MjI2LCA5MjI4LAotIDkyMjksIDkyMzAsIDkyMzEsIDkyMzMsIDkyMzQsIDkyMzUsIDkyMzYsIDkyMzcsIDkyMzgsIDkyMzksIDkyNDAsIDkyNDEsIDkyNDIsCi0gOTI0MywgOTI0NCwgOTI0NSwgOTI0NiwgOTI0NywgOTI0OCwgOTI0OSwgOTI1MCwgOTI1MSwgOTI1MiwgOTI1MywgOTI1NCwgOTI1NSwKLSA5MjU2LCA5MjU4LCA5MjU5LCA5MjYwLCA5MjYxLCA5MjYzLCA5MjY0LCA5MjY1LCA5MjY2LCA5MjY4LCA5MjY5LCA5MjcwLCA5MjcxLAotIDkyNzMsIDkyNzQsIDkyNzUsIDkyNzYsIDkyNzgsIDkyNzksIDkyODAsIDkyODEsIDkyODMsIDkyODQsIDkyODUsIDkyODYsIDkyODgsCi0gOTI4OSwgOTI5MCwgOTI5MSwgOTI5MywgOTI5NCwgOTI5NSwgOTI5NiwgOTI5OCwgOTI5OSwgOTMwMCwgOTMwMSwgOTMwMywgOTMwNCwKLSA5MzA1LCA5MzA2LCA5MzA4LCA5MzA5LCA5MzEwLCA5MzExLCA5MzEzLCA5MzE0LCA5MzE1LCA5MzE2LCA5MzE3LCA5MzE4LCA5MzE5LAotIDkzMjAsIDkzMjIsIDkzMjMsIDkzMjQsIDkzMjcsIDkzMjgsIDkzMjksIDkzMzAsIDkzMzEsIDkzMzIsIDkzMzMsIDkzMzUsIDkzMzYsCi0gOTMzNywgOTMzOCwgOTM0MCwgOTM0MSwgOTM0MiwgOTM0MywgOTM0NSwgOTM0NiwgOTM0NywgOTM0OCwgOTM1MCwgOTM1MSwgOTM1MiwKLSA5MzUzLCA5MzU0LCA5MzU1LCA5MzU2LCA5MzU4LCA5MzU5LCA5MzYwLCA5MzYxLCA5MzYzLCA5MzY0LCA5MzY1LCA5MzY3LCA5MzY4LAotIDkzNjksIDkzNzAsIDkzNzIsIDkzNzMsIDkzNzQsIDkzNzYsIDkzNzcsIDkzNzgsIDkzNzksIDkzODEsIDkzODIsIDkzODMsIDkzODQsCi0gOTM4NSwgOTM4NiwgOTM4NywgOTM5MiwgOTM5MywgOTM5NCwgOTM5NSwgOTM5NiwgOTM5NywgOTM5OCwgOTQwMywgOTQwNCwgOTQwNSwKLSA5NDA2LCA5NDA3LCA5NDA4LCA5NDA5LCA5NDEwLCA5NDExLCA5NDE0LCA5NDE1LCA5NDE2LCA5NDE3LCA5NDIxLCA5NDIyLCA5NDIzLAotIDk0MjQsIDk0MjYsIDk0MjcsIDk0MjgsIDk0MjksIDk0MzEsIDk0MzIsIDk0MzgsIDk0MzksIDk0NDAsIDk0NDIsIDk0NDMsIDk0NDQsCi0gOTQ0NSwgOTQ0NiwgOTQ0NywgOTQ0OCwgOTQ0OSwgOTQ1MSwgOTQ1MiwgOTQ1MywgOTQ1NCwgOTQ1NiwgOTQ1NywgOTQ1OCwgOTQ1OSwKLSA5NDYxLCA5NDYyLCA5NDYzLCA5NDY0LCA5NDY2LCA5NDY3LCA5NDY4LCA5NDY5LCA5NDcxLCA5NDcyLCA5NDczLCA5NDc0LCA5NDc2LAotIDk0NzcsIDk0NzgsIDk0NzksIDk0ODAsIDk0ODEsIDk0ODIsIDk0ODMsIDk0ODQsIDk0ODUsIDk0ODYsIDk0ODcsIDk0ODgsIDk0ODksCi0gOTQ5MCwgOTQ5MSwgOTQ5MiwgOTQ5MywgOTQ5NCwgOTQ5NSwgOTQ5NiwgOTQ5NywgOTQ5OCwgOTQ5OSwgOTUwMCwgOTUwMSwgOTUwMiwKLSA5NTAzLCA5NTA0LCA5NTA1LCA5NTA2LCA5NTA3LCA5NTA4LCA5NTEwLCA5NTExLCA5NTEyLCA5NTEzLCA5NTE0LCA5NTE1LCA5NTE2LAotIDk1MTcsIDk1MTgsIDk1MTksIDk1MjAsIDk1MjEsIDk1MjMsIDk1MjQsIDk1MjUsIDk1MjYsIDk1MjgsIDk1MjksIDk1MzAsIDk1MzEsCi0gOTUzMywgOTUzNCwgOTUzNSwgOTUzNiwgOTUzOCwgOTUzOSwgOTU0MCwgOTU0MSwgOTU0MywgOTU0NCwgOTU0NSwgOTU0NiwgOTU0OCwKLSA5NTQ5LCA5NTUwLCA5NTUxLCA5NTUzLCA5NTU0LCA5NTU1LCA5NTU2LCA5NTU3LCA5NTU4LCA5NTU5LCA5NTYwLCA5NTYyLCA5NTYzLAotIDk1NjQsIDk1NjUsIDk1NjcsIDk1NjgsIDk1NjksIDk1NzAsIDk1NzIsIDk1NzMsIDk1NzQsIDk1NzUsIDk1NzcsIDk1NzgsIDk1NzksCi0gOTU4MCwgOTU4MiwgOTU4MywgOTU4NCwgOTU4NSwgOTU4NywgOTU4OCwgOTU4OSwgOTU5MCwgOTU5MiwgOTU5MywgOTU5NCwgOTU5NSwKLSA5NTk3LCA5NTk4LCA5NTk5LCA5NjAwLCA5NjAxLCA5NjAyLCA5NjAzLCA5NjA0LCA5NjA2LCA5NjA3LCA5NjA4LCA5NjA5LCA5NjExLAotIDk2MTIsIDk2MTMsIDk2MTQsIDk2MTYsIDk2MTcsIDk2MTgsIDk2MTksIDk2MjAsIDk2MjEsIDk2MjIsIDk2MjMsIDk2MjQsIDk2MjYsCi0gOTYyNywgOTYyOCwgOTYyOSwgOTYzMCwgOTYzMSwgOTYzMiwgOTYzMywgOTYzNCwgOTYzNSwgOTYzNiwgOTYzNywgOTYzOCwgOTYzOSwKLSA5NjQwLCA5NjQxLCA5NjQyLCA5NjQzLCA5NjQ0LCA5NjQ1LCA5NjQ2LCA5NjQ3LCA5NjQ4LCA5NjQ5LCA5NjUwLCA5NjUxLCA5NjUyLAotIDk2NTMsIDk2NTUsIDk2NTYsIDk2NTcsIDk2NTgsIDk2NTksIDk2NjAsIDk2NjEsIDk2NjIsIDk2NjQsIDk2NjUsIDk2NjYsIDk2NjcsCi0gOTY2OSwgOTY3MCwgOTY3MSwgOTY3MiwgOTY3MywgOTY3NCwgOTY3NiwgOTY3NywgOTY3OCwgOTY3OSwgOTY4MSwgOTY4MiwgOTY4MywKLSA5Njg0LCA5Njg2LCA5Njg3LCA5Njg4LCA5Njg5LCA5NjkwLCA5NjkxLCA5NjkzLCA5Njk0LCA5Njk1LCA5Njk2LCA5Njk3LCA5Njk4LAotIDk2OTksIDk3MDAsIDk3MDEsIDk3MDIsIDk3MDMsIDk3MDQsIDk3MDUsIDk3MDYsIDk3MDcsIDk3MDgsIDk3MDksIDk3MTAsIDk3MTIsCi0gOTcxMywgOTcxNCwgOTcxNSwgOTcxNiwgOTcyMCwgOTcyMSwgOTcyMiwgOTcyMywgOTcyNCwgOTcyNSwgOTcyNiwgOTczNCwgOTczNSwKLSA5NzM2LCA5NzM3LCA5NzM4LCA5NzM5LCA5NzQxLCA5NzQyLCA5NzQzLCA5NzQ0LCA5NzQ2LCA5NzQ3LCA5NzQ4LCA5NzQ5LCA5NzUxLAotIDk3NTIsIDk3NTMsIDk3NTQsIDk3NTYsIDk3NTcsIDk3NTgsIDk3NTksIDk3NjAsIDk3NjEsIDk3NjIsIDk3NjMsIDk3NjQsIDk3NjUsCi0gOTc2NiwgOTc2NywgOTc2OSwgOTc3MCwgOTc3MSwgOTc3MiwgOTc3NCwgOTc3NSwgOTc3NiwgOTc3NywgOTc3OCwgOTc3OSwgOTc4MCwKLSA5NzgxLCA5NzgyLCA5NzgzLCA5Nzg0LCA5Nzg1LCA5Nzg2LCA5Nzg3LCA5Nzg4LCA5Nzg5LCA5NzkwLCA5NzkyLCA5NzkzLCA5Nzk0LAotIDk3OTUsIDk3OTYsIDk3OTcsIDk3OTgsIDk3OTksIDk4MDAsIDk4MDEsIDk4MDIsIDk4MDMsIDk4MDQsIDk4MDUsIDk4MDYsIDk4MDgsCi0gOTgwOSwgOTgxMCwgOTgxMSwgOTgxMiwgOTgxMywgOTgxNCwgOTgxNSwgOTgxNywgOTgxOCwgOTgxOSwgOTgyMCwgOTgyMiwgOTgyMywKLSA5ODI0LCA5ODI1LCA5ODI3LCA5ODI4LCA5ODI5LCA5ODMwLCA5ODMxLCA5ODMyLCA5ODM0LCA5ODM1LCA5ODM2LCA5ODM3LCA5ODM5LAotIDk4NDAsIDk4NDEsIDk4NDIsIDk4NDQsIDk4NDUsIDk4NDYsIDk4NDcsIDk4NDksIDk4NTAsIDk4NTEsIDk4NTIsIDk4NTMsIDk4NTQsCi0gOTg1NSwgOTg1NiwgOTg1NywgOTg1OCwgOTg1OSwgOTg2MCwgOTg2NiwgOTg2NywgOTg2OCwgOTg2OSwgOTg3MCwgOTg3MSwgOTg3NCwKLSA5ODc1LCA5ODc2LCA5ODc3LCA5ODc4LCA5ODc5LCA5ODgwLCA5ODgxLCA5ODgyLCA5ODgzLCA5ODg0LCA5ODg1LCA5ODg2LCA5ODg3LAotIDk4ODgsIDk4ODksIDk4OTAsIDk4OTEsIDk4OTIsIDk4OTMsIDk4OTQsIDk4OTUsIDk4OTgsIDk4OTksIDk5MDAsIDk5MDEsIDk5MDIsCi0gOTkwMywgOTkwNCwgOTkwNSwgOTkwNiwgOTkwNywgOTkwOCwgOTkwOSwgOTkxMSwgOTkxMiwgOTkxMywgOTkxNCwgOTkxNSwgOTkxNiwKLSA5OTE3LCA5OTE4LCA5OTE5LCA5OTIwLCA5OTIxLCA5OTIyLCA5OTIzLCA5OTI0LCA5OTI1LCA5OTI2LCA5OTI3LCA5OTI4LCA5OTI5LAotIDk5MzAsIDk5MzEsIDk5MzIsIDk5MzMsIDk5MzQsIDk5MzUsIDk5MzYsIDk5MzcsIDk5MzgsIDk5MzksIDk5NDAsIDk5NDYsIDk5NDcsCi0gOTk0OCwgOTk0OSwgOTk1MCwgOTk1MSwgOTk1MiwgOTk1MywgOTk1NCwgOTk1NSwgOTk1NiwgOTk1NywgOTk2MCwgOTk2MSwgOTk2MiwKLSA5OTYzLCA5OTY0LCA5OTY1LCA5OTY2LCA5OTY3LCA5OTY4LCA5OTY5LCA5OTcwLCA5OTcxLCA5OTcyLCA5OTgyLCA5OTgzLCA5OTg0LAotIDk5ODYsIDk5ODcsIDk5ODgsIDk5ODksIDk5OTEsIDk5OTIsIDk5OTMsIDk5OTQsIDk5OTYsIDk5OTcsIDk5OTgsIDk5OTksIDEwMDAxLAotIDEwMDAyLCAxMDAwMywgMTAwMDQsIDEwMDA2LCAxMDAwNywgMTAwMDgsIDEwMDA5LCAxMDAxMSwgMTAwMTIsIDEwMDEzLCAxMDAxNCwKLSAxMDAxNiwgMTAwMTcsIDEwMDE4LCAxMDAxOSwgMTAwMjEsIDEwMDIyLCAxMDAyMywgMTAwMjQsIDEwMDI2LCAxMDAyNywgMTAwMjgsCi0gMTAwMjksIDEwMDMxLCAxMDAzMiwgMTAwMzMsIDEwMDM0LCAxMDAzNiwgMTAwMzcsIDEwMDM4LCAxMDA0MCwgMTAwNDEsIDEwMDQyLAotIDEwMDQzLCAxMDA0NCwgMTAwNDgsIDEwMDQ5LCAxMDA1MCwgMTAwNTEsIDEwMDUyLCAxMDA1MywgMTAwNTQsIDEwMDU2LCAxMDA1NywKLSAxMDA1OCwgMTAwNTksIDEwMDYxLCAxMDA2MiwgMTAwNjMsIDEwMDY0LCAxMDA2NSwgMTAwNjYsIDEwMDY3LCAxMDA2OCwgMTAwNzAsCi0gMTAwNzEsIDEwMDcyLCAxMDA3MywgMTAwNzUsIDEwMDc2LCAxMDA3NywgMTAwNzgsIDEwMDgwLCAxMDA4MSwgMTAwODIsIDEwMDgzLAotIDEwMDg1LCAxMDA4NiwgMTAwODcsIDEwMDg4LCAxMDA5MCwgMTAwOTEsIDEwMDkyLCAxMDA5MywgMTAwOTUsIDEwMDk2LCAxMDA5NywKLSAxMDA5OCwgMTAxMDAsIDEwMTAxLCAxMDEwMiwgMTAxMDMsIDEwMTA1LCAxMDEwNiwgMTAxMDcsIDEwMTA4LCAxMDExMCwgMTAxMTEsCi0gMTAxMTIsIDEwMTEzLCAxMDExNSwgMTAxMTYsIDEwMTE3LCAxMDExOCwgMTAxMjAsIDEwMTIxLCAxMDEyMiwgMTAxMjMsIDEwMTI1LAotIDEwMTI2LCAxMDEyNywgMTAxMjgsIDEwMTI5LCAxMDEzMCwgMTAxMzEsIDEwMTMyLCAxMDEzOCwgMTAxMzksIDEwMTQwLCAxMDE0MSwKLSAxMDE0MywgMTAxNDQsIDEwMTQ1LCAxMDE0NiwgMTAxNDgsIDEwMTQ5LCAxMDE1MCwgMTAxNTEsIDEwMTUyLCAxMDE1MywgMTAxNTQsCi0gMTAxNTUsIDEwMTU2LCAxMDE1NywgMTAxNTgsIDEwMTU5LCAxMDE2MCwgMTAxNjEsIDEwMTY0LCAxMDE2NSwgMTAxNjYsIDEwMTY3LAotIDEwMTY5LCAxMDE3MCwgMTAxNzEsIDEwMTcyLCAxMDE3MywgMTAxNzQsIDEwMTc2LCAxMDE3NywgMTAxNzgsIDEwMTc5LCAxMDE4MSwKLSAxMDE4MiwgMTAxODMsIDEwMTg0LCAxMDE4NiwgMTAxODcsIDEwMTg4LCAxMDE4OSwgMTAxOTEsIDEwMTkyLCAxMDE5MywgMTAxOTQsCi0gMTAxOTYsIDEwMTk3LCAxMDE5OCwgMTAxOTksIDEwMjAxLCAxMDIwMiwgMTAyMDMsIDEwMjA0LCAxMDIwNiwgMTAyMDcsIDEwMjA4LAotIDEwMjA5LCAxMDIxMSwgMTAyMTIsIDEwMjEzLCAxMDIxNCwgMTAyMTYsIDEwMjE3LCAxMDIxOCwgMTAyMTksIDEwMjIxLCAxMDIyMiwKLSAxMDIyMywgMTAyMjQsIDEwMjI2LCAxMDIyNywgMTAyMjgsIDEwMjI5LCAxMDIzMSwgMTAyMzIsIDEwMjMzLCAxMDIzNCwgMTAyMzYsCi0gMTAyMzcsIDEwMjM4LCAxMDIzOSwgMTAyNDEsIDEwMjQyLCAxMDI0MywgMTAyNDQsIDEwMjQ1LCAxMDI0NiwgMTAyNDgsIDEwMjQ5LAotIDEwMjUwLCAxMDI1MSwgMTAyNTMsIDEwMjU0LCAxMDI1NSwgMTAyNTYsIDEwMjU4LCAxMDI1OSwgMTAyNjAsIDEwMjYxLCAxMDI2MywKLSAxMDI2NCwgMTAyNjUsIDEwMjY2LCAxMDI2OCwgMTAyNjksIDEwMjcwLCAxMDI3MSwgMTAyNzIsIDEwMjc2LCAxMDI3NywgMTAyNzgsCi0gMTAyNzksIDEwMjgwLCAxMDI4MSwgMTAyODIsIDEwMjgzLCAxMDI4NSwgMTAyODYsIDEwMjg3LCAxMDI4OCwgMTAyODksIDEwMjkwLAotIDEwMjkyLCAxMDI5MywgMTAyOTQsIDEwMjk1LCAxMDI5NiwgMTAyOTcsIDEwMjk4LCAxMDI5OSwgMTAzMDAsIDEwMzAxLCAxMDMwNCwKLSAxMDMwNSwgMTAzMDYsIDEwMzA3LCAxMDMwOCwgMTAzMDksIDEwMzEwLCAxMDMxMSwgMTAzMTIsIDEwMzEzLCAxMDMxNCwgMTAzMTUsCi0gMTAzMjAsIDEwMzIxLCAxMDMyMiwgMTAzMjMsIDEwMzI0LCAxMDMyNSwgMTAzMjcsIDEwMzI4LCAxMDMyOSwgMTAzMzAsIDEwMzMxLAotIDEwMzMyLCAxMDMzNCwgMTAzMzUsIDEwMzM2LCAxMDMzNywgMTAzMzksIDEwMzQwLCAxMDM0MSwgMTAzNDIsIDEwMzQzLCAxMDM0NCwKLSAxMDM0NSwgMTAzNDYsIDEwMzQ3LCAxMDM1NiwgMTAzNTcsIDEwMzU4LCAxMDM1OSwgMTAzNjAsIDEwMzY0LCAxMDM2NSwgMTAzNjYsCi0gMTAzNjcsIDEwMzY4LCAxMDM2OSwgMTAzNzAsIDEwMzcxLCAxMDM3MiwgMTAzNzMsIDEwMzc0LCAxMDM3NSwgMTAzNzYsIDEwMzc3LAotIDEwMzc4LCAxMDM3OSwgMTAzODAsIDEwMzgxLCAxMDM4MiwgMTAzODMsIDEwMzg0LCAxMDM4NSwgMTAzODYsIDEwMzg3LCAxMDM4OCwKLSAxMDM4OSwgMTAzOTEsIDEwMzkyLCAxMDM5MywgMTAzOTQsIDEwMzk2LCAxMDM5NywgMTAzOTgsIDEwMzk5LCAxMDQwMCwgMTA0MDEsCi0gMTA0MDIsIDEwNDAzLCAxMDQwNCwgMTA0MDUsIDEwNDA2LCAxMDQwNywgMTA0MDgsIDEwNDA5LCAxMDQxMCwgMTA0MTEsIDEwNDEyLAotIDEwNDEzLCAxMDQxNCwgMTA0MTUsIDEwNDE2LCAxMDQxNywgMTA0MTgsIDEwNDE5LCAxMDQyMCwgMTA0MjIsIDEwNDIzLCAxMDQyNCwKLSAxMDQyNSwgMTA0MjYsIDEwNDI3LCAxMDQyOSwgMTA0MzAsIDEwNDMxLCAxMDQzMiwgMTA0MzQsIDEwNDM1LCAxMDQzNiwgMTA0MzcsCi0gMTA0MzksIDEwNDQwLCAxMDQ0MSwgMTA0NDIsIDEwNDQ0LCAxMDQ0NSwgMTA0NDYsIDEwNDQ3LCAxMDQ0OSwgMTA0NTAsIDEwNDUxLAotIDEwNDUyLCAxMDQ1NCwgMTA0NTUsIDEwNDU2LCAxMDQ1NywgMTA0NTgsIDEwNDU5LCAxMDQ2MSwgMTA0NjIsIDEwNDYzLCAxMDQ2NCwKLSAxMDQ2NiwgMTA0NjcsIDEwNDY4LCAxMDQ2OSwgMTA0NzEsIDEwNDcyLCAxMDQ3MywgMTA0NzQsIDEwNDc1LCAxMDQ3NiwgMTA0NzgsCi0gMTA0NzksIDEwNDgwLCAxMDQ4MSwgMTA0ODMsIDEwNDg0LCAxMDQ4NSwgMTA0ODYsIDEwNDg4LCAxMDQ4OSwgMTA0OTAsIDEwNDkxLAotIDEwNDkzLCAxMDQ5NCwgMTA0OTUsIDEwNDk2LCAxMDQ5NywgMTA0OTgsIDEwNDk5LCAxMDUxMiwgMTA1MTMsIDEwNTE0LCAxMDUxNSwKLSAxMDUxNywgMTA1MTgsIDEwNTE5LCAxMDUyMCwgMTA1MjIsIDEwNTIzLCAxMDUyNCwgMTA1MjUsIDEwNTI3LCAxMDUyOCwgMTA1MjksCi0gMTA1MzAsIDEwNTMyLCAxMDUzMywgMTA1MzQsIDEwNTM1LCAxMDUzNiwgMTA1MzcsIDEwNTQxLCAxMDU0MiwgMTA1NDMsIDEwNTQ0LAotIDEwNTQ2LCAxMDU0NywgMTA1NDgsIDEwNTQ5LCAxMDU1MCwgMTA1NTQsIDEwNTU1LCAxMDU1NiwgMTA1NTcsIDEwNTU4LCAxMDU1OSwKLSAxMDU2MCwgMTA1NjEsIDEwNTYyLCAxMDU2MywgMTA1NjUsIDEwNTY2LCAxMDU2NywgMTA1NjgsIDEwNTY5LCAxMDU3MCwgMTA1NzEsCi0gMTA1NzIsIDEwNTczLCAxMDU3NCwgMTA1NzUsIDEwNTc2LCAxMDU3NywgMTA1NzgsIDEwNTc5LCAxMDU4MCwgMTA1ODEsIDEwNTgyLAotIDEwNTgzLCAxMDU4NCwgMTA1ODUsIDEwNTg2LCAxMDU4NywgMTA1ODgsIDEwNTg5LCAxMDU5MCwgMTA1OTEsIDEwNTkyLCAxMDU5MywKLSAxMDU5NCwgMTA1OTUsIDEwNTk2LCAxMDU5NywgMTA1OTgsIDEwNjAwLCAxMDYwMSwgMTA2MDIsIDEwNjAzLCAxMDYwNCwgMTA2MDgsCi0gMTA2MDksIDEwNjEwLCAxMDYxMSwgMTA2MTIsIDEwNjEzLCAxMDYxNSwgMTA2MTYsIDEwNjE3LCAxMDYxOCwgMTA2MjAsIDEwNjIxLAotIDEwNjIyLCAxMDYyMywgMTA2MjUsIDEwNjI2LCAxMDYyNywgMTA2MjgsIDEwNjMwLCAxMDYzMSwgMTA2MzIsIDEwNjMzLCAxMDYzNSwKLSAxMDYzNiwgMTA2MzcsIDEwNjM4LCAxMDYzOSwgMTA2NDAsIDEwNjQxLCAxMDY0MiwgMTA2NDMsIDEwNjQ0LCAxMDY0NSwgMTA2NDYsCi0gMTA2NDcsIDEwNjQ4LCAxMDY1MCwgMTA2NTEsIDEwNjUyLCAxMDY1MywgMTA2NTUsIDEwNjU2LCAxMDY1NywgMTA2NTgsIDEwNjYwLAotIDEwNjYxLCAxMDY2MiwgMTA2NjMsIDEwNjY1LCAxMDY2NiwgMTA2NjcsIDEwNjY4LCAxMDY3MCwgMTA2NzEsIDEwNjcyLCAxMDY3MywKLSAxMDY3NSwgMTA2NzYsIDEwNjc3LCAxMDY3OCwgMTA2ODAsIDEwNjgxLCAxMDY4MiwgMTA2ODMsIDEwNjg1LCAxMDY4NiwgMTA2ODcsCi0gMTA2ODgsIDEwNjkwLCAxMDY5MSwgMTA2OTIsIDEwNjkzLCAxMDY5NSwgMTA2OTYsIDEwNjk3LCAxMDY5OCwgMTA3MDAsIDEwNzAxLAotIDEwNzAyLCAxMDcwMywgMTA3MDQsIDEwNzA1LCAxMDcwNiwgMTA3MDcsIDEwNzA4LCAxMDcwOSwgMTA3MTEsIDEwNzEyLCAxMDcxMywKLSAxMDcxNCwgMTA3MTYsIDEwNzE3LCAxMDcxOCwgMTA3MTksIDEwNzIxLCAxMDcyMiwgMTA3MjMsIDEwNzI0LCAxMDcyNiwgMTA3MjcsCi0gMTA3MjgsIDEwNzI5LCAxMDczMSwgMTA3MzIsIDEwNzMzLCAxMDczNCwgMTA3MzYsIDEwNzM3LCAxMDczOCwgMTA3MzksIDEwNzQxLAotIDEwNzQyLCAxMDc0MywgMTA3NDQsIDEwNzQ2LCAxMDc0NywgMTA3NDgsIDEwNzQ5LCAxMDc1MSwgMTA3NTIsIDEwNzUzLCAxMDc1NCwKLSAxMDc1NiwgMTA3NTcsIDEwNzU4LCAxMDc1OSwgMTA3NjAsIDEwNzYxLCAxMDc2MiwgMTA3NjMsIDEwNzY0LCAxMDc2NSwgMTA3NjYsCi0gMTA3NjcsIDEwNzY5LCAxMDc3MCwgMTA3NzEsIDEwNzcyLCAxMDc3NCwgMTA3NzUsIDEwNzc2LCAxMDc3NywgMTA3NzksIDEwNzgwLAotIDEwNzgxLCAxMDc4MiwgMTA3ODQsIDEwNzg1LCAxMDc4NiwgMTA3ODcsIDEwNzg5LCAxMDc5MCwgMTA3OTEsIDEwNzkyLCAxMDc5NCwKLSAxMDc5NSwgMTA3OTYsIDEwNzk3LCAxMDc5OSwgMTA4MDAsIDEwODAxLCAxMDgwMiwgMTA4MDMsIDEwODA0LCAxMDgwOCwgMTA4MDksCi0gMTA4MTAsIDEwODExLCAxMDgxMiwgMTA4MTMsIDEwODE0LCAxMDgxNSwgMTA4MTYsIDEwODE3LCAxMDgxOCwgMTA4MTksIDEwODIwLAotIDEwODIxLCAxMDgyMiwgMTA4MjMsIDEwODI3LCAxMDgyOCwgMTA4MjksIDEwODMwLCAxMDgzMiwgMTA4MzMsIDEwODM0LCAxMDgzNSwKLSAxMDgzNiwgMTA4MzcsIDEwODM5LCAxMDg0MCwgMTA4NDEsIDEwODQyLCAxMDg0NCwgMTA4NDUsIDEwODQ2LCAxMDg0NywgMTA4NDksCi0gMTA4NTAsIDEwODUxLCAxMDg1MiwgMTA4NTQsIDEwODU1LCAxMDg1NiwgMTA4NTcsIDEwODU5LCAxMDg2MCwgMTA4NjEsIDEwODYyLAotIDEwODY0LCAxMDg2NSwgMTA4NjYsIDEwODY3LCAxMDg2OCwgMTA4NjksIDEwODcwLCAxMDg3MSwgMTA4NzIsIDEwODczLCAxMDg3NCwKLSAxMDg3NSwgMTA4NzYsIDEwODc3LCAxMDg3OSwgMTA4ODAsIDEwODgxLCAxMDg4MiwgMTA4ODQsIDEwODg1LCAxMDg4NiwgMTA4ODcsCi0gMTA4ODgsIDEwODg5LCAxMDg5MSwgMTA4OTIsIDEwODkzLCAxMDg5NCwgMTA4OTYsIDEwODk3LCAxMDg5OCwgMTA4OTksIDEwOTAxLAotIDEwOTAyLCAxMDkwMywgMTA5MDQsIDEwOTA2LCAxMDkwNywgMTA5MDgsIDEwOTA5LCAxMDkxMCwgMTA5MTEsIDEwOTEyLCAxMDkxMywKLSAxMDkxNCwgMTA5MTgsIDEwOTE5LCAxMDkyMCwgMTA5MjEsIDEwOTIyLCAxMDkyMywgMTA5MjQsIDEwOTI1LCAxMDkyNiwgMTA5MjcsCi0gMTA5MjgsIDEwOTI5LCAxMDkzMCwgMTA5MzQsIDEwOTM1LCAxMDkzNiwgMTA5MzcsIDEwOTM4LCAxMDkzOSwgMTA5NDAsIDEwOTQxLAotIDEwOTQyLCAxMDk0NSwgMTA5NDYsIDEwOTQ3LCAxMDk0OCwgMTA5NTAsIDEwOTUxLCAxMDk1MiwgMTA5NTMsIDEwOTU0LCAxMDk1OCwKLSAxMDk1OSwgMTA5NjAsIDEwOTYxLCAxMDk2MiwgMTA5NjMsIDEwOTY0LCAxMDk2NSwgMTA5NjYsIDEwOTY3LCAxMDk2OCwgMTA5NjksCi0gMTA5NzAsIDEwOTcxLCAxMDk3MiwgMTA5NzMsIDEwOTc1LCAxMDk3NiwgMTA5NzcsIDEwOTc4LCAxMDk4MCwgMTA5ODEsIDEwOTgyLAotIDEwOTgzLCAxMDk4NSwgMTA5ODYsIDEwOTg3LCAxMDk4OCwgMTA5OTAsIDEwOTkxLCAxMDk5MiwgMTA5OTMsIDEwOTk1LCAxMDk5NiwKLSAxMDk5NywgMTA5OTgsIDEwOTk5LCAxMTAwMCwgMTEwMDEsIDExMDAyLCAxMTAwMywgMTEwMDUsIDExMDA2LCAxMTAwNywgMTEwMDgsCi0gMTEwMTAsIDExMDExLCAxMTAxMiwgMTEwMTMsIDExMDE1LCAxMTAxNiwgMTEwMTcsIDExMDE4LCAxMTAyMCwgMTEwMjEsIDExMDIyLAotIDExMDIzLCAxMTAyNSwgMTEwMjYsIDExMDI3LCAxMTAyOCwgMTEwMzAsIDExMDMxLCAxMTAzMiwgMTEwMzMsIDExMDM1LCAxMTAzNiwKLSAxMTAzNywgMTEwMzgsIDExMDM5LCAxMTA0MCwgMTEwNDEsIDExMDQyLCAxMTA0MywgMTEwNDQsIDExMDQ1LCAxMTA0NiwgMTEwNDcsCi0gMTEwNDgsIDExMDQ5LCAxMTA3MywgMTEwNzQsIDExMDc1LCAxMTA3NiwgMTEwNzcsIDExMDc4LCAxMTA4MCwgMTEwODEsIDExMDgyLAotIDExMDgzLCAxMTA4NSwgMTEwODYsIDExMDg3LCAxMTA4OCwgMTEwOTAsIDExMDkxLCAxMTA5MiwgMTEwOTMsIDExMDk1LCAxMTA5NiwKLSAxMTA5NywgMTEwOTgsIDExMTAwLCAxMTEwMSwgMTExMDIsIDExMTAzLCAxMTEwNCwgMTExMDUsIDExMTA2LCAxMTEwNywgMTExMTcsCi0gMTExMTgsIDExMTE5LCAxMTEyMCwgMTExMjEsIDExMTIyLCAxMTEyNCwgMTExMjUsIDExMTI2LCAxMTEyNywgMTExMjgsIDExMTI5LAotIDExMTMwLCAxMTEzMSwgMTExMzIsIDExMTMzLCAxMTEzNCwgMTExMzUsIDExMTM2LCAxMTEzNywgMTExMzgsIDExMTM5LCAxMTE0MCwKLSAxMTE0MSwgMTExNDIsIDExMTQzLCAxMTE0NCwgMTExNDUsIDExMTQ2LCAxMTE0NywgMTExNDksIDExMTUwLCAxMTE1MSwgMTExNTIsCi0gMTExNTQsIDExMTU1LCAxMTE1NiwgMTExNTcsIDExMTU5LCAxMTE2MCwgMTExNjEsIDExMTYyLCAxMTE2MywgMTExNjQsIDExMTY1LAotIDExMTY2LCAxMTE2NywgMTExNjgsIDExMTY5LCAxMTE3MCwgMTExNzEsIDExMTcyLCAxMTE3MywgMTExNzQsIDExMTc1LCAxMTE3NiwKLSAxMTE3NywgMTExNzgsIDExMTc5LCAxMTE4MCwgMTExODEsIDExMTgyLCAxMTE4MywgMTExODQsIDExMTg1LCAxMTE4NiwgMTExODcsCi0gMTEyMTksIDExMjIwLCAxMTIyMSwgMTEyMjIsIDExMjIzLCAxMTIyNCwgMTEyMjUsIDExMjI2LCAxMTIyNywgMTEyMjgsIDExMjMwLAotIDExMjMxLCAxMTIzMiwgMTEyMzMsIDExMjM1LCAxMTIzNiwgMTEyMzcsIDExMjM4LCAxMTI0MCwgMTEyNDEsIDExMjQyLCAxMTI0MywKLSAxMTI0NSwgMTEyNDYsIDExMjQ3LCAxMTI0OCwgMTEyNTAsIDExMjUxLCAxMTI1MiwgMTEyNTMsIDExMjU0LCAxMTI1OCwgMTEyNTksCi0gMTEyNjAsIDExMjYxLCAxMTI2MiwgMTEyNjMsIDExMjY1LCAxMTI2NiwgMTEyNjcsIDExMjY4LCAxMTI3MCwgMTEyNzEsIDExMjcyLAotIDExMjczLCAxMTI3NSwgMTEyNzYsIDExMjc3LCAxMTI3OCwgMTEyNzksIDExMjgwLCAxMTI4MSwgMTEyODIsIDExMjgzLCAxMTI4NCwKLSAxMTI4NSwgMTEyODYsIDExMjg3LCAxMTI4OCwgMTEyODksIDExMjkwLCAxMTI5MSwgMTEyOTIsIDExMjkzLCAxMTI5NCwgMTEyOTUsCi0gMTEyOTYsIDExMjk3LCAxMTI5OCwgMTEyOTksIDExMzAwLCAxMTMwMiwgMTEzMDMsIDExMzA0LCAxMTMwNSwgMTEzMDcsIDExMzA4LAotIDExMzA5LCAxMTMxMCwgMTEzMTIsIDExMzEzLCAxMTMxNCwgMTEzMTUsIDExMzE2LCAxMTMxNywgMTEzMTgsIDExMzE5LCAxMTMyMCwKLSAxMTMyMSwgMTEzMjIsIDExMzIzLCAxMTMyNCwgMTEzMjUsIDExMzI2LCAxMTMyNywgMTEzMjgsIDExMzI5LCAxMTMzMCwgMTEzMzEsCi0gMTEzMzIsIDExMzMzLCAxMTMzNCwgMTEzMzUsIDExMzM2LCAxMTM0MCwgMTEzNDEsIDExMzQyLCAxMTM0MywgMTEzNDQsIDExMzQ1LAotIDExMzQ3LCAxMTM0OCwgMTEzNDksIDExMzUwLCAxMTM1MiwgMTEzNTMsIDExMzU0LCAxMTM1NSwgMTEzNTcsIDExMzU4LCAxMTM1OSwKLSAxMTM2MCwgMTEzNjEsIDExMzYyLCAxMTM2MywgMTEzNjQsIDExMzY1LCAxMTM2NiwgMTEzNjcsIDExMzY4LCAxMTM2OSwgMTEzNzAsCi0gMTEzNzEsIDExMzcyLCAxMTM3MywgMTEzNzQsIDExMzc1LCAxMTM3NiwgMTEzNzcsIDExMzc4LCAxMTM3OSwgMTEzODAsIDExMzgyLAotIDExMzgzLCAxMTM4NCwgMTEzODUsIDExMzg2LCAxMTM4NywgMTEzODksIDExMzkwLCAxMTM5MSwgMTEzOTIsIDExMzk0LCAxMTM5NSwKLSAxMTM5NiwgMTEzOTcsIDExMzk5LCAxMTQwMCwgMTE0MDEsIDExNDAyLCAxMTQwMywgMTE0MDQsIDExNDA1LCAxMTQwNiwgMTE0MDcsCi0gMTE0MDgsIDExNDA5LCAxMTQxMCwgMTE0MTEsIDExNDEyLCAxMTQxMywgMTE0MTQsIDExNDE1LCAxMTQxNiwgMTE0MTcsIDExNDE4LAotIDExNDE5LCAxMTQyMCwgMTE0MjEsIDExNDIyLCAxMTQyMywgMTE0MjQsIDExNDI2LCAxMTQyNywgMTE0MjgsIDExNDI5LCAxMTQzMSwKLSAxMTQzMiwgMTE0MzMsIDExNDM0LCAxMTQzNiwgMTE0MzcsIDExNDM4LCAxMTQzOSwgMTE0NDAsIDExNDQxLCAxMTQ0MiwgMTE0NDMsCi0gMTE0NDQsIDExNDQ1LCAxMTQ0NiwgMTE0NDcsIDExNDQ4LCAxMTQ0OSwgMTE0NTAsIDExNDUxLCAxMTQ1MiwgMTE0NTMsIDExNDU0LAotIDExNDU1LCAxMTQ1NiwgMTE0NTcsIDExNDU4LCAxMTQ1OSwgMTE0NjAsIDExNDY0LCAxMTQ2NSwgMTE0NjYsIDExNDY3LCAxMTQ2OCwKLSAxMTQ2OSwgMTE0NzEsIDExNDcyLCAxMTQ3MywgMTE0NzQsIDExNDc2LCAxMTQ3NywgMTE0NzgsIDExNDc5LCAxMTQ4MSwgMTE0ODIsCi0gMTE0ODMsIDExNDg0LCAxMTQ4NSwgMTE0ODYsIDExNDg3LCAxMTQ4OCwgMTE0ODksIDExNDkwLCAxMTQ5MSwgMTE0OTIsIDExNDkzLAotIDExNDk0LCAxMTQ5NSwgMTE0OTYsIDExNDk3LCAxMTQ5OCwgMTE0OTksIDExNTAwLCAxMTUwMSwgMTE1MDIsIDExNTAzLCAxMTUwNCwKLSAxMTUwNiwgMTE1MDcsIDExNTA4LCAxMTUwOSwgMTE1MTAsIDExNTExLCAxMTUxMywgMTE1MTQsIDExNTE1LCAxMTUxNiwgMTE1MTgsCi0gMTE1MTksIDExNTIwLCAxMTUyMSwgMTE1MjMsIDExNTI0LCAxMTUyNSwgMTE1MjYsIDExNTI3LCAxMTUyOCwgMTE1MjksIDExNTMwLAotIDExNTMxLCAxMTUzMiwgMTE1MzMsIDExNTM0LCAxMTUzNSwgMTE1MzYsIDExNTM3LCAxMTUzOCwgMTE1MzksIDExNTQwLCAxMTU0MSwKLSAxMTU0MiwgMTE1NDMsIDExNTQ0LCAxMTU0NSwgMTE1NDYsIDExNTQ4LCAxMTU0OSwgMTE1NTAsIDExNTUxLCAxMTU1MywgMTE1NTQsCi0gMTE1NTUsIDExNTU2LCAxMTU1OCwgMTE1NTksIDExNTYwLCAxMTU2MSwgMTE1NjMsIDExNTY0LCAxMTU2NSwgMTE1NjYsIDExNTY4LAotIDExNTY5LCAxMTU3MCwgMTE1NzEsIDExNTczLCAxMTU3NCwgMTE1NzUsIDExNTc2LCAxMTU3OCwgMTE1NzksIDExNTgwLCAxMTU4MSwKLSAxMTU4MywgMTE1ODQsIDExNTg1LCAxMTU4NiwgMTE1ODgsIDExNTg5LCAxMTU5MCwgMTE1OTEsIDExNTkzLCAxMTU5NCwgMTE1OTUsCi0gMTE1OTYsIDExNTk4LCAxMTU5OSwgMTE2MDAsIDExNjAxLCAxMTYwMiwgMTE2MDMsIDExNjA1LCAxMTYwNiwgMTE2MDcsIDExNjA4LAotIDExNjEwLCAxMTYxMSwgMTE2MTIsIDExNjEzLCAxMTYxNSwgMTE2MTYsIDExNjE3LCAxMTYxOCwgMTE2MTksIDExNjIwLCAxMTYyMSwKLSAxMTYyMiwgMTE2MjMsIDExNjI0LCAxMTYyNSwgMTE2MjYsIDExNjI3LCAxMTYyOCwgMTE2MjksIDExNjMwLCAxMTYzMSwgMTE2MzIsCi0gMTE2MzMsIDExNjM0LCAxMTYzNSwgMTE2MzYsIDExNjM3LCAxMTYzOCwgMTE2MzksIDExNjQwLCAxMTY0MiwgMTE2NDMsIDExNjQ0LAotIDExNjQ1LCAxMTY0NywgMTE2NDgsIDExNjQ5LCAxMTY1MCwgMTE2NTIsIDExNjUzLCAxMTY1NCwgMTE2NTUsIDExNjU2LCAxMTY1NywKLSAxMTY1OCwgMTE2NTksIDExNjYwLCAxMTY2MSwgMTE2NjIsIDExNjYzLCAxMTY2NCwgMTE2NjUsIDExNjY2LCAxMTY2NywgMTE2NjgsCi0gMTE2NjksIDExNjcwLCAxMTY3MSwgMTE2NzIsIDExNjczLCAxMTY3NCwgMTE2NzUsIDExNjc2LCAxMTY3NywgMTE2ODMsIDExNjg0LAotIDExNjg1LCAxMTY4NiwgMTE2ODcsIDExNjg4LCAxMTY5MCwgMTE2OTEsIDExNjkyLCAxMTY5MywgMTE2OTUsIDExNjk2LCAxMTY5NywKLSAxMTY5OCwgMTE3MDAsIDExNzAxLCAxMTcwMiwgMTE3MDMsIDExNzA0LCAxMTcwNSwgMTE3MDYsIDExNzA3LCAxMTcwOSwgMTE3MTAsCi0gMTE3MTEsIDExNzEyLCAxMTcxMywgMTE3MTQsIDExNzE2LCAxMTcxNywgMTE3MTgsIDExNzE5LCAxMTcyMSwgMTE3MjIsIDExNzIzLAotIDExNzI0LCAxMTcyNiwgMTE3MjcsIDExNzI4LCAxMTcyOSwgMTE3MzAsIDExNzMxLCAxMTczMiwgMTE3MzMsIDExNzM0LCAxMTczNSwKLSAxMTczNiwgMTE3MzcsIDExNzM4LCAxMTczOSwgMTE3NDAsIDExNzQxLCAxMTc0MywgMTE3NDQsIDExNzQ1LCAxMTc0NiwgMTE3NDgsCi0gMTE3NDksIDExNzUwLCAxMTc1MSwgMTE3NTMsIDExNzU0LCAxMTc1NSwgMTE3NTYsIDExNzU4LCAxMTc1OSwgMTE3NjAsIDExNzYyLAotIDExNzYzLCAxMTc2NCwgMTE3NjYsIDExNzY3LCAxMTc2OCwgMTE3NjksIDExNzcwLCAxMTc3MSwgMTE3NzMsIDExNzc0LCAxMTc3NSwKLSAxMTc3NiwgMTE3NzgsIDExNzc5LCAxMTc4MCwgMTE3ODEsIDExNzgzLCAxMTc4NCwgMTE3ODUsIDExNzg2LCAxMTc4NywgMTE3ODgsCi0gMTE3ODksIDExNzkwLCAxMTc5MSwgMTE3OTIsIDExNzkzLCAxMTc5NCwgMTE3OTUsIDExNzk2LCAxMTc5NywgMTE3OTgsIDExNzk5LAotIDExODAwLCAxMTgwMSwgMTE4MDIsIDExODA0LCAxMTgwNSwgMTE4MDYsIDExODA3LCAxMTgwOCwgMTE4MDksIDExODEwLCAxMTgxMSwKLSAxMTgxMiwgMTE4MTMsIDExODE0LCAxMTgxNSwgMTE4MTYsIDExODE3LCAxMTgzOSwgMTE4NDAsIDExODQxLCAxMTg0MiwgMTE4NDMsCi0gMTE4NDQsIDExODQ1LCAxMTg0NywgMTE4NDksIDExODUwLCAxMTg1MSwgMTE4NTIsIDExODU0LCAxMTg1NSwgMTE4NTYsIDExODU3LAotIDExODU5LCAxMTg2MCwgMTE4NjEsIDExODYyLCAxMTg2NCwgMTE4NjUsIDExODY2LCAxMTg2NywgMTE4NjgsIDExODY5LCAxMTg3MCwKLSAxMTg3MSwgMTE4NzIsIDExODczLCAxMTg3NCwgMTE4NzUsIDExODc2LCAxMTg3NywgMTE4NzgsIDExODc5LCAxMTg4MCwgMTE4ODEsCi0gMTE4ODMsIDExODg0LCAxMTg4NSwgMTE4ODYsIDExODg4LCAxMTg4OSwgMTE4OTAsIDExODkxLCAxMTg5MiwgMTE4OTMsIDExODk0LAotIDExODk1LCAxMTg5NiwgMTE4OTcsIDExODk4LCAxMTg5OSwgMTE5MDAsIDExOTAxLCAxMTkwMiwgMTE5MDMsIDExOTA0LCAxMTkwNSwKLSAxMTkwNywgMTE5MDgsIDExOTA5LCAxMTkxMCwgMTE5MTIsIDExOTEzLCAxMTkxNCwgMTE5MTUsIDExOTE2LCAxMTkxNywgMTE5MTgsCi0gMTE5MTksIDExOTIwLCAxMTkyMSwgMTE5MjMsIDExOTI0LCAxMTkyNSwgMTE5MjYsIDExOTI3LCAxMTkyOCwgMTE5MzYsIDExOTM3LAotIDExOTM4LCAxMTkzOSwgMTE5NDIsIDExOTQzLCAxMTk0NCwgMTE5NDUsIDExOTQ3LCAxMTk0OCwgMTE5NDksIDExOTUwLCAxMTk1MSwKLSAxMTk1MiwgMTE5NTMsIDExOTU1LCAxMTk1NiwgMTE5NTcsIDExOTU4LCAxMTk2MCwgMTE5NjEsIDExOTYyLCAxMTk2MywgMTE5NjUsCi0gMTE5NjYsIDExOTY3LCAxMTk2OCwgMTE5NjksIDExOTcwLCAxMTk3MSwgMTE5NzIsIDExOTc0LCAxMTk3NSwgMTE5NzYsIDExOTc3LAotIDExOTc5LCAxMTk4MCwgMTE5ODEsIDExOTgyLCAxMTk4NCwgMTE5ODUsIDExOTg2LCAxMTk4NywgMTE5ODksIDExOTkwLCAxMTk5MSwKLSAxMTk5MiwgMTE5OTQsIDExOTk1LCAxMTk5NiwgMTE5OTcsIDExOTk5LCAxMjAwMCwgMTIwMDEsIDEyMDAyLCAxMjAwMywgMTIwMDQsCi0gMTIwMDUsIDEyMDA2LCAxMjAwOCwgMTIwMDksIDEyMDEwLCAxMjAxMSwgMTIwMTMsIDEyMDE0LCAxMjAxNSwgMTIwMTYsIDEyMDE4LAotIDEyMDE5LCAxMjAyMCwgMTIwMjEsIDEyMDIzLCAxMjAyNCwgMTIwMjUsIDEyMDI2LCAxMjAyOCwgMTIwMjksIDEyMDMwLCAxMjAzMSwKLSAxMjAzMywgMTIwMzQsIDEyMDM1LCAxMjAzNiwgMTIwMzcsIDEyMDM4LCAxMjAzOSwgMTIwNDAsIDEyMDQyLCAxMjA0MywgMTIwNDQsCi0gMTIwNDUsIDEyMDQ3LCAxMjA0OCwgMTIwNDksIDEyMDUwLCAxMjA1MiwgMTIwNTMsIDEyMDU0LCAxMjA1NSwgMTIwNTcsIDEyMDU4LAotIDEyMDU5LCAxMjA2MCwgMTIwNjEsIDEyMDYyLCAxMjA2MywgMTIwNjQsIDEyMDY2LCAxMjA2NywgMTIwNjgsIDEyMDY5LCAxMjA3MSwKLSAxMjA3MiwgMTIwNzMsIDEyMDc0LCAxMjA3NiwgMTIwNzcsIDEyMDc4LCAxMjA3OSwgMTIwODEsIDEyMDgyLCAxMjA4MywgMTIwODQsCi0gMTIwODUsIDEyMDg2LCAxMjA4NywgMTIwODgsIDEyMDkwLCAxMjA5MSwgMTIwOTIsIDEyMDkzLCAxMjA5NSwgMTIwOTYsIDEyMDk3LAotIDEyMDk4LCAxMjEwMCwgMTIxMDEsIDEyMTAyLCAxMjEwMywgMTIxMDUsIDEyMTA2LCAxMjEwNywgMTIxMDgsIDEyMTEwLCAxMjExMSwKLSAxMjExMiwgMTIxMTMsIDEyMTE1LCAxMjExNiwgMTIxMTcsIDEyMTE4LCAxMjExOSwgMTIxMjAsIDEyMTIxLCAxMjEyMiwgMTIxMzIsCi0gMTIxMzMsIDEyMTM0LCAxMjEzNSwgMTIxMzYsIDEyMTM3LCAxMjEzOCwgMTIxMzksIDEyMTQwLCAxMjE0MSwgMTIxNDIsIDEyMTQzLAotIDEyMTQ0LCAxMjE0NSwgMTIxNDYsIDEyMTQ3LCAxMjE0OCwgMTIxNDksIDEyMTUwLCAxMjE1MSwgMTIxNTIsIDEyMTUzLCAxMjE1NCwKLSAxMjE1OCwgMTIxNTksIDEyMTYwLCAxMjE2MiwgMTIxNjQsIDEyMTY1LCAxMjE2NiwgMTIxNjcsIDEyMTY5LCAxMjE3MCwgMTIxNzEsCi0gMTIxNzIsIDEyMTc0LCAxMjE3NSwgMTIxNzYsIDEyMTc3LCAxMjE3OCwgMTIxODIsIDEyMTgzLCAxMjE4NCwgMTIxODUsIDEyMTg2LAotIDEyMTg3LCAxMjE4OCwgMTIxOTIsIDEyMTkzLCAxMjE5NCwgMTIxOTUsIDEyMTk2LCAxMjE5NywgMTIxOTgsIDEyMTk5LCAxMjIwMCwKLSAxMjIwNCwgMTIyMDUsIDEyMjA2LCAxMjIwNywgMTIyMDgsIDEyMjEwLCAxMjIxMiwgMTIyMTgsIDEyMjE5LCAxMjIyMCwgMTIyMjEsCi0gMTIyMjIsIDEyMjIzLCAxMjIyNCwgMTIyMjUsIDEyMjI2LCAxMjIyNywgMTIyMjgsIDEyMjI5LCAxMjIzMCwgMTIyMzEsIDEyMjMyLAotIDEyMjMzLCAxMjIzNCwgMTIyMzUsIDEyMjM2LCAxMjIzNywgMTIyMzgsIDEyMjM5LCAxMjI0MCwgMTIyNDEsIDEyMjQyLCAxMjI0MywKLSAxMjI0NCwgMTIyNDUsIDEyMjQ2LCAxMjI0NywgMTIyNTYsIDEyMjU3LCAxMjI1OCwgMTIyNTksIDEyMjYwLCAxMjI2MSwgMTIyNjIsCi0gMTIyNjMsIDEyMjY0LCAxMjI2NSwgMTIyNjYsIDEyMjY3LCAxMjI2OCwgMTIyNjksIDEyMjcwLCAxMjI3MSwgMTIyNzIsIDEyMjczLAotIDEyMjc2LCAxMjI3NywgMTIyNzgsIDEyMjc5LCAxMjI4MCwgMTIyODEsIDEyMjgyLCAxMjI4NCwgMTIyODYsIDEyMjg3LCAxMjI4OCwKLSAxMjI5NywgMTIyOTgsIDEyMjk5LCAxMjMwMCwgMTIzMDEsIDEyMzAyLCAxMjMwMywgMTIzMDQsIDEyMzA2LCAxMjMwNywgMTIzMDgsCi0gMTIzMDksIDEyMzExLCAxMjMxMiwgMTIzMTMsIDEyMzE0LCAxMjMxNSwgMTIzMTYsIDEyMzE3LCAxMjMxOCwgMTIzMTksIDEyMzIwLAotIDEyMzIxLCAxMjMyMiwgMTIzMjMsIDEyMzI0LCAxMjMyNSwgMTIzMjYsIDEyMzI3LCAxMjMyOCwgMTIzMjksIDEyMzMwLCAxMjMzMSwKLSAxMjMzMiwgMTIzMzMsIDEyMzM0LCAxMjM0MSwgMTIzNDIsIDEyMzQzLCAxMjM0NCwgMTIzNDUsIDEyMzQ2LCAxMjM0NywgMTIzNDgsCi0gMTIzNDksIDEyMzUwLCAxMjM1MSwgMTIzNTIsIDEyMzUzLCAxMjM1NCwgMTIzNTUsIDEyMzU2LCAxMjM1NywgMTIzNTgsIDEyMzY0LAotIDEyMzY1LCAxMjM2NiwgMTIzNjcsIDEyMzY4LCAxMjM2OSwgMTIzNzAsIDEyMzcxLCAxMjM3MiwgMTIzNzMsIDEyMzc0LCAxMjM3NSwKLSAxMjM3OCwgMTIzNzksIDEyMzgwLCAxMjM4MSwgMTIzODIsIDEyMzgzLCAxMjM4NCwgMTIzODUsIDEyMzg2LCAxMjM4NywgMTIzOTIsCi0gMTIzOTMsIDEyMzk0LCAxMjM5NSwgMTIzOTYsIDEyMzk3LCAxMjM5OCwgMTIzOTksIDEyNDAwLCAxMjQwMSwgMTI0MDIsIDEyNDAzLAotIDEyNDA0LCAxMjQwNSwgMTI0MDYsIDEyNDA3LCAxMjQwOCwgMTI0MDksIDEyNDEwLCAxMjQxMSwgMTI0MTIsIDEyNDEzLCAxMjQxNCwKLSAxMjQxNSwgMTI0MTYsIDEyNDE3LCAxMjQxOCwgMTI0MTksIDEyNDIwLCAxMjQyNiwgMTI0MjcsIDEyNDI4LCAxMjQyOSwgMTI0MzAsCi0gMTI0MzEsIDEyNDMyLCAxMjQzMywgMTI0MzQsIDEyNDM1LCAxMjQzNiwgMTI0MzcsIDEyNDM4LCAxMjQzOSwgMTI0NDAsIDEyNDQxLAotIDEyNDQyLCAxMjQ0MywgMTI0NDgsIDEyNDQ5LCAxMjQ1MCwgMTI0NTEsIDEyNDUyLCAxMjQ1MywgMTI0NTQsIDEyNDU1LCAxMjQ1NiwKLSAxMjQ1NywgMTI0NTksIDEyNDYwLCAxMjQ2MSwgMTI0NjIsIDEyNDYzLCAxMjQ2NCwgMTI0NjUsIDEyNDY2LCAxMjQ2NywgMTI0NjgsCi0gMTI0NzIsIDEyNDczLCAxMjQ3NCwgMTI0NzUsIDEyNDc2LCAxMjQ4MCwgMTI0ODEsIDEyNDgyLCAxMjQ4MywgMTI0ODQsIDEyNDg1LAotIDEyNDg2LCAxMjQ4NywgMTI0ODgsIDEyNDg5LCAxMjQ5MCwgMTI0OTEsIDEyNDkyLCAxMjQ5MywgMTI0OTQsIDEyNDk1LCAxMjQ5NiwKLSAxMjUwMCwgMTI1MDEsIDEyNTAyLCAxMjUwMywgMTI1MDQsIDEyNTA1LCAxMjUwNywgMTI1MDgsIDEyNTA5LCAxMjUxMCwgMTI1MTEsCi0gMTI1MTIsIDEyNTEzLCAxMjUxNCwgMTI1MTUsIDEyNTE2LCAxMjUxNywgMTI1MTgsIDEyNTE5LCAxMjUyMCwgMTI1MjEsIDEyNTI1LAotIDEyNTI2LCAxMjUyNywgMTI1MjgsIDEyNTI5LCAxMjUzMiwgMTI1MzMsIDEyNTM0LCAxMjUzNSwgMTI1MzYsIDEyNTM3LCAxMjUzOCwKLSAxMjUzOSwgMTI1NDAsIDEyNTQxLCAxMjU0MiwgMTI1NDMsIDEyNTQ3LCAxMjU0OCwgMTI1NDksIDEyNTUwLCAxMjU1MSwgMTI1NTIsCi0gMTI1NTMsIDEyNTU0LCAxMjU1NSwgMTI1NTYsIDEyNTU3LCAxMjU1OCwgMTI1NTksIDEyNTYwLCAxMjU2MSwgMTI1NjMsIDEyNTY0LAotIDEyNTY1LCAxMjU2NiwgMTI1NjcsIDEyNTY4LCAxMjU2OSwgMTI1NzAsIDEyNTcxLCAxMjU3MiwgMTI1NzMsIDEyNTc0LCAxMjU3NSwKLSAxMjU3NiwgMTI1NzcsIDEyNTc4LCAxMjU3OSwgMTI1ODAsIDEyNTgxLCAxMjU4MiwgMTI1ODMsIDEyNTg0LCAxMjU4NSwgMTI1ODYsCi0gMTI1OTEsIDEyNTkyLCAxMjU5MywgMTI1OTQsIDEyNTk1LCAxMjU5NiwgMTI1OTcsIDEyNTk4LCAxMjU5OSwgMTI2MDAsIDEyNjAxLAotIDEyNjAyLCAxMjYwMywgMTI2MDQsIDEyNjA1LCAxMjYwNiwgMTI2MDcsIDEyNjA4LCAxMjYwOSwgMTI2MTAsIDEyNjExLCAxMjYxMiwKLSAxMjYxMywgMTI2MTQsIDEyNjE1LCAxMjYxOSwgMTI2MjAsIDEyNjIxLCAxMjYyMiwgMTI2MjMsIDEyNjI0LCAxMjYyNSwgMTI2MjYsCi0gMTI2MjcsIDEyNjI5LCAxMjYzMCwgMTI2MzEsIDEyNjMyLCAxMjYzMywgMTI2MzQsIDEyNjM1LCAxMjYzNiwgMTI2MzcsIDEyNjQwLAotIDEyNjQxLCAxMjY0MiwgMTI2NDMsIDEyNjQ0LCAxMjY0NSwgMTI2NDYsIDEyNjQ3LCAxMjY0OCwgMTI2NDksIDEyNjUwLCAxMjY1MiwKLSAxMjY2MSwgMTI2NjIsIDEyNjYzLCAxMjY2NCwgMTI2NjUsIDEyNjY2LCAxMjY2NywgMTI2NjgsIDEyNjY5LCAxMjY3MCwgMTI2NzEsCi0gMTI2NzIsIDEyNjczLCAxMjY4MCwgMTI2ODEsIDEyNjgyLCAxMjY4MywgMTI2ODQsIDEyNjg1LCAxMjY4NiwgMTI2ODcsIDEyNjg4LAotIDEyNjg5LCAxMjY5MSwgMTI2OTMsIDEyNjk3LCAxMjY5OCwgMTI2OTksIDEyNzAwLCAxMjcwMSwgMTI3MDIsIDEyNzAzLCAxMjcwNCwKLSAxMjcwNSwgMTI3MDYsIDEyNzA3LCAxMjcwOSwgMTI3MTUsIDEyNzE2LCAxMjcxNywgMTI3MTgsIDEyNzE5LCAxMjcyMCwgMTI3MjEsCi0gMTI3MjIsIDEyNzIzLCAxMjcyNCwgMTI3MjUsIDEyNzI2LCAxMjcyNywgMTI3MjgsIDEyNzI5LCAxMjczMCwgMTI3MzEsIDEyNzM5LAotIDEyNzQwLCAxMjc0MSwgMTI3NDIsIDEyNzQzLCAxMjc0NCwgMTI3NDUsIDEyNzQ2LCAxMjc0NywgMTI3NDgsIDEyNzQ5LCAxMjc1MCwKLSAxMjc2MiwgMTI3NjMsIDEyNzY0LCAxMjc2NiwgMTI3NjcsIDEyNzY4LCAxMjc2OSwgMTI3NzAsIDEyNzcxLCAxMjc3MiwgMTI3NzMsCi0gMTI3NzQsIDEyNzc2LCAxMjc3NywgMTI3NzgsIDEyNzc5LCAxMjc4MCwgMTI3ODEsIDEyNzgyLCAxMjc4MywgMTI3ODQsIDEyNzg1LAotIDEyNzg2LCAxMjc4NywgMTI3ODgsIDEyNzg5LCAxMjc5MCwgMTI3OTQsIDEyNzk1LCAxMjc5NiwgMTI3OTcsIDEyNzk4LCAxMjc5OSwKLSAxMjgwMCwgMTI4MDEsIDEyODAyLCAxMjgwNCwgMTI4MDUsIDEyODA2LCAxMjgwNywgMTI4MDgsIDEyODA5LCAxMjgxMCwgMTI4MTEsCi0gMTI4MTIsIDEyODE0LCAxMjgxNSwgMTI4MTYsIDEyODE3LCAxMjgxOCwgMTI4MTksIDEyODIwLCAxMjgyMSwgMTI4MjIsIDEyODIzLAotIDEyODI0LCAxMjgyNSwgMTI4MjYsIDEyODI3LCAxMjgyOCwgMTI4MjksIDEyODMwLCAxMjgzMSwgMTI4MzQsIDEyODM1LCAxMjgzNiwKLSAxMjgzNywgMTI4MzgsIDEyODM5LCAxMjg0MCwgMTI4NDEsIDEyODQyLCAxMjg0MywgMTI4NDQsIDEyODQ1LCAxMjg0NiwgMTI4NDcsCi0gMTI4NDgsIDEyODQ5LCAxMjg1MCwgMTI4NTEsIDEyODUyLCAxMjg1MywgMTI4NTQsIDEyODU1LCAxMjg1NiwgMTI4NTcsIDEyODY0LAotIDEyODY1LCAxMjg2NiwgMTI4NjcsIDEyODY4LCAxMjg2OSwgMTI4NzAsIDEyODcxLCAxMjg3MiwgMTI4NzMsIDEyODc0LCAxMjg3NSwKLSAxMjg3NiwgMTI4NzcsIDEyODc4LCAxMjg3OSwgMTI4ODAsIDEyODgxLCAxMjg4MiwgMTI4ODMsIDEyODg0LCAxMjg4NSwgMTI4ODYsCi0gMTI4ODcsIDEyODg4LCAxMjg4OSwgMTI4OTAsIDEyODk4LCAxMjg5OSwgMTI5MDAsIDEyOTAxLCAxMjkwMiwgMTI5MDMsIDEyOTA0LAotIDEyOTA1LCAxMjkwNiwgMTI5MDcsIDEyOTA4LCAxMjkxNiwgMTI5MTcsIDEyOTE4LCAxMjkxOSwgMTI5MjAsIDEyOTIxLCAxMjkyMiwKLSAxMjkyMywgMTI5MjQsIDEyOTI1LCAxMjkyNiwgMTI5MjcsIDEyOTI4LCAxMjkyOSwgMTI5MzAsIDEyOTMxLCAxMjkzMiwgMTI5MzMsCi0gMTI5MzQsIDEyOTM1LCAxMjkzNiwgMTI5MzcsIDEyOTM4LCAxMjkzOSwgMTI5NDYsIDEyOTQ3LCAxMjk0OCwgMTI5NDksIDEyOTUwLAotIDEyOTUxLCAxMjk1MiwgMTI5NTMsIDEyOTU0LCAxMjk1NSwgMTI5NTYsIDEyOTU3LCAxMjk1OCwgMTI5NTksIDEyOTYwLCAxMjk2MSwKLSAxMjk2MiwgMTI5NjMsIDEyOTY0LCAxMjk2NSwgMTI5NjYsIDEyOTcyLCAxMjk3MywgMTI5NzQsIDEyOTc1LCAxMjk3NiwgMTI5NzcsCi0gMTI5NzgsIDEyOTc5LCAxMjk4MCwgMTI5ODEsIDEyOTgyLCAxMjk4MywgMTI5ODQsIDEyOTg1LCAxMjk4NiwgMTI5ODcsIDEyOTg4LAotIDEyOTg5LCAxMjk5NCwgMTI5OTUsIDEyOTk2LCAxMjk5NywgMTI5OTgsIDEyOTk5LCAxMzAwMCwgMTMwMDEsIDEzMDAyLCAxMzAwMywKLSAxMzAwNCwgMTMwMDUsIDEzMDA2LCAxMzAwNywgMTMwMDgsIDEzMDEyLCAxMzAxMywgMTMwMTQsIDEzMDE1LCAxMzAxNiwgMTMwMTcsCi0gMTMwMTgsIDEzMDIyLCAxMzAyMywgMTMwMjQsIDEzMDI1LCAxMzAyNiwgMTMwMjcsIDEzMDI4LCAxMzAyOSwgMTMwMzAsIDEzMDMxLAotIDEzMDMyLCAxMzAzMywgMTMwMzQsIDEzMDM1LCAxMzAzNiwgMTMwMzcsIDEzMDM4LCAxMzAzOSwgMTMwNDAsIDEzMDQxLCAxMzA0MiwKLSAxMzA0NiwgMTMwNDcsIDEzMDQ4LCAxMzA0OSwgMTMwNTAsIDEzMDUyLCAxMzA1MywgMTMwNTQsIDEzMDU1LCAxMzA1NiwgMTMwNTcsCi0gMTMwNTgsIDEzMDU5LCAxMzA2MCwgMTMwNjEsIDEzMDYyLCAxMzA2MywgMTMwNjYsIDEzMDY3LCAxMzA2OCwgMTMwNjksIDEzMDcwLAotIDEzMDcxLCAxMzA3MiwgMTMwNzMsIDEzMDc0LCAxMzA3NSwgMTMwNzYsIDEzMDc3LCAxMzA3OCwgMTMwNzksIDEzMDgwLCAxMzA4MiwKLSAxMzA4MywgMTMwODQsIDEzMDg1LCAxMzA4NiwgMTMwODcsIDEzMDg4LCAxMzA4OSwgMTMwOTAsIDEzMDkxLCAxMzA5MiwgMTMwOTMsCi0gMTMwOTQsIDEzMDk4LCAxMzA5OSwgMTMxMDAsIDEzMTAxLCAxMzEwMiwgMTMxMDMsIDEzMTA0LCAxMzEwNSwgMTMxMDYsIDEzMTA3LAotIDEzMTA4LCAxMzEwOSwgMTMxMTAsIDEzMTExLCAxMzExMiwgMTMxMTMsIDEzMTE0LCAxMzExNSwgMTMxMTYsIDEzMTE3LCAxMzExOCwKLSAxMzExOSwgMTMxMjIsIDEzMTIzLCAxMzEyNCwgMTMxMjUsIDEzMTI2LCAxMzEyNywgMTMxMjgsIDEzMTI5LCAxMzEzMCwgMTMxMzEsCi0gMTMxMzIsIDEzMTM0LCAxMzEzNSwgMTMxMzYsIDEzMTM3LCAxMzEzOCwgMTMxMzksIDEzMTQwLCAxMzE0MSwgMTMxNDIsIDEzMTQ4LAotIDEzMTQ5LCAxMzE1MCwgMTMxNTEsIDEzMTUyLCAxMzE1MywgMTMxNTQsIDEzMTU1LCAxMzE1NiwgMTMxNTcsIDEzMTU4LCAxMzE1OSwKLSAxMzE2MCwgMTMxNjEsIDEzMTYyLCAxMzE2MywgMTMxNjQsIDEzMTY1LCAxMzE2NiwgMTMxNjcsIDEzMTY4LCAxMzE2OSwgMTMxNzAsCi0gMTMxNzEsIDEzMTcyLCAxMzE3MywgMTMxNzQsIDEzMTc2LCAxMzE3NywgMTMxNzgsIDEzMTc5LCAxMzE4MCwgMTMxODEsIDEzMTgyLAotIDEzMTgzLCAxMzE4NCwgMTMxODUsIDEzMTg2LCAxMzE4NywgMTMxODgsIDEzMTg5LCAxMzE5MCwgMTMxOTEsIDEzMTk0LCAxMzE5NSwKLSAxMzE5NiwgMTMxOTcsIDEzMTk4LCAxMzE5OSwgMTMyMDAsIDEzMjAxLCAxMzIwMiwgMTMyMDMsIDEzMjA0LCAxMzIwNSwgMTMyMDYsCi0gMTMyMDcsIDEzMjA4LCAxMzIwOSwgMTMyMTAsIDEzMjExLCAxMzIxMiwgMTMyMTMsIDEzMjE0LCAxMzIxNSwgMTMyMTYsIDEzMjE3LAotIDEzMjE4LCAxMzIyMCwgMTMyMjEsIDEzMjIyLCAxMzIyMywgMTMyMjQsIDEzMjI1LCAxMzIyNiwgMTMyMjcsIDEzMjI4LCAxMzIyOSwKLSAxMzIzMCwgMTMyMzEsIDEzMjMyLCAxMzIzMywgMTMyMzQsIDEzMjM1LCAxMzIzNiwgMTMyMzcsIDEzMjM4LCAxMzIzOSwgMTMyNDAsCi0gMTMyNDEsIDEzMjQyLCAxMzI0MywgMTMyNDQsIDEzMjQ1LCAxMzI0NiwgMTMyNDcsIDEzMjQ4LCAxMzI0OSwgMTMyNTAsIDEzMjUxLAotIDEzMjUyLCAxMzI1MywgMTMyNTQsIDEzMjU1LCAxMzI1NiwgMTMyNTcsIDEzMjU4LCAxMzI1OSwgMTMyNjAsIDEzMjYxLCAxMzI2MiwKLSAxMzI2MywgMTMyNjQsIDEzMjY1LCAxMzI2NiwgMTMyNjcsIDEzMjY4LCAxMzI2OSwgMTMyNzAsIDEzMjcxLCAxMzI3MiwgMTMyNzYsCi0gMTMyNzcsIDEzMjc4LCAxMzI3OSwgMTMyODAsIDEzMjgxLCAxMzI4MiwgMTMyODMsIDEzMjg0LCAxMzI4NiwgMTMyODcsIDEzMjg4LAotIDEzMjg5LCAxMzI5MCwgMTMyOTEsIDEzMjkyLCAxMzI5MywgMTMyOTQsIDEzMzAwLCAxMzMwMSwgMTMzMDIsIDEzMzAzLCAxMzMwNSwKLSAxMzMwNiwgMTMzMDcsIDEzMzA4LCAxMzMxMCwgMTMzMTEsIDEzMzEyLCAxMzMxMywgMTMzMTUsIDEzMzE2LCAxMzMxNywgMTMzMTgsCi0gMTMzMjAsIDEzMzIxLCAxMzMyMiwgMTMzMjMsIDEzMzI0LCAxMzMyNSwgMTMzMzcsIDEzMzM4LCAxMzMzOSwgMTMzNDAsIDEzMzQyLAotIDEzMzQzLCAxMzM0NCwgMTMzNDUsIDEzMzQ2LCAxMzM0NywgMTMzNDgsIDEzMzQ5LCAxMzM1MCwgMTMzNTEsIDEzMzUzLCAxMzM1NCwKLSAxMzM1NSwgMTMzNTYsIDEzMzU4LCAxMzM1OSwgMTMzNjAsIDEzMzYxLCAxMzM2MywgMTMzNjQsIDEzMzY1LCAxMzM2NiwgMTMzNjcsCi0gMTMzNjgsIDEzMzY5LCAxMzM3MCwgMTMzNzEsIDEzMzcyLCAxMzM3MywgMTMzNzQsIDEzMzc1LCAxMzM3NiwgMTMzNzcsIDEzMzc4LAotIDEzMzc5LCAxMzM4MCwgMTMzODEsIDEzMzgyLCAxMzM4MywgMTMzODQsIDEzMzg1LCAxMzM4NiwgMTMzODcsIDEzMzg4LCAxMzM4OSwKLSAxMzM5MCwgMTMzOTEsIDEzMzkyLCAxMzM5NCwgMTMzOTUsIDEzMzk2LCAxMzM5NywgMTMzOTksIDEzNDAwLCAxMzQwMSwgMTM0MDIsCi0gMTM0MDQsIDEzNDA1LCAxMzQwNiwgMTM0MDcsIDEzNDA5LCAxMzQxMCwgMTM0MTEsIDEzNDEyLCAxMzQxNCwgMTM0MTUsIDEzNDE2LAotIDEzNDE3LCAxMzQxOCwgMTM0MTksIDEzNDIwLCAxMzQyMSwgMTM0MjIsIDEzNDIzLCAxMzQyNCwgMTM0MjUsIDEzNDI2LCAxMzQyNywKLSAxMzQyOCwgMTM0MjksIDEzNDMwLCAxMzQzMSwgMTM0MzIsIDEzNDMzLCAxMzQzNCwgMTM0MzUsIDEzNDM2LCAxMzQzNywgMTM0MzksCi0gMTM0NDAsIDEzNDQxLCAxMzQ0MiwgMTM0NDQsIDEzNDQ1LCAxMzQ0NiwgMTM0NDcsIDEzNDQ5LCAxMzQ1MCwgMTM0NTEsIDEzNDUyLAotIDEzNDU0LCAxMzQ1NSwgMTM0NTYsIDEzNDU3LCAxMzQ1OSwgMTM0NjAsIDEzNDYxLCAxMzQ2MiwgMTM0NjQsIDEzNDY1LCAxMzQ2NiwKLSAxMzQ2NywgMTM0NjksIDEzNDcwLCAxMzQ3MSwgMTM0NzIsIDEzNDc1LCAxMzQ3NiwgMTM0NzcsIDEzNDc4LCAxMzQ3OSwgMTM0ODAsCi0gMTM0ODEsIDEzNDgyLCAxMzQ4MywgMTM0ODQsIDEzNDg2LCAxMzQ4NywgMTM0ODgsIDEzNDg5LCAxMzQ5MSwgMTM0OTIsIDEzNDkzLAotIDEzNDk0LCAxMzQ5NiwgMTM0OTcsIDEzNDk4LCAxMzQ5OSwgMTM1MDEsIDEzNTAyLCAxMzUwMywgMTM1MDQsIDEzNTA2LCAxMzUwNywKLSAxMzUwOCwgMTM1MDksIDEzNTEwLCAxMzUxMSwgMTM1MTIsIDEzNTEzLCAxMzUxNSwgMTM1MTYsIDEzNTE3LCAxMzUxOCwgMTM1MjAsCi0gMTM1MjEsIDEzNTIyLCAxMzUyMywgMTM1MjUsIDEzNTI2LCAxMzUyNywgMTM1MjgsIDEzNTMwLCAxMzUzMSwgMTM1MzIsIDEzNTMzLAotIDEzNTM1LCAxMzUzNiwgMTM1MzcsIDEzNTM4LCAxMzU0MCwgMTM1NDEsIDEzNTQyLCAxMzU0MywgMTM1NDUsIDEzNTQ2LCAxMzU0NywKLSAxMzU0OCwgMTM1NDksIDEzNTUwLCAxMzU1MSwgMTM1NTMsIDEzNTU1LCAxMzU2NCwgMTM1NjUsIDEzNTY2LCAxMzU2NywgMTM1NjgsCi0gMTM1NjksIDEzNTcwLCAxMzU3MSwgMTM1NzIsIDEzNTczLCAxMzU3NCwgMTM1NzUsIDEzNTc2LCAxMzU3NywgMTM1NzgsIDEzNTc5LAotIDEzNTgwLCAxMzU4MSwgMTM1ODIsIDEzNTgzLCAxMzU4NCwgMTM1ODUsIDEzNTg2LCAxMzU4NywgMTM1ODgsIDEzNTg5LCAxMzU5MCwKLSAxMzU5MSwgMTM1OTIsIDEzNTkzLCAxMzU5NCwgMTM1OTUsIDEzNTk2LCAxMzU5NywgMTM2MDIsIDEzNjAzLCAxMzYwNCwgMTM2MDUsCi0gMTM2MDgsIDEzNjA5LCAxMzYxMCwgMTM2MTEsIDEzNjEyLCAxMzYxMywgMTM2MTQsIDEzNjE1LCAxMzYxNywgMTM2MTgsIDEzNjE5LAotIDEzNjIwLCAxMzYyMSwgMTM2MjIsIDEzNjI2LCAxMzYyNywgMTM2MjgsIDEzNjI5LCAxMzYzMCwgMTM2MzEsIDEzNjMzLCAxMzYzNCwKLSAxMzYzNSwgMTM2MzYsIDEzNjM3LCAxMzYzOCwgMTM2MzksIDEzNjQwLCAxMzY0MSwgMTM2NDIsIDEzNjQzLCAxMzY0NCwgMTM2NDUsCi0gMTM2NDYsIDEzNjQ3LCAxMzY0OCwgMTM2NDksIDEzNjUwLCAxMzY1MSwgMTM2NTIsIDEzNjUzLCAxMzY1NCwgMTM2NTUsIDEzNjU2LAotIDEzNjU3LCAxMzY1OCwgMTM2NTksIDEzNjYwLCAxMzY2MSwgMTM2NjIsIDEzNjYzLCAxMzY2NCwgMTM2NjUsIDEzNjY2LCAxMzY2OCwKLSAxMzY2OSwgMTM2NzAsIDEzNjcxLCAxMzY3MywgMTM2NzQsIDEzNjc1LCAxMzY3NiwgMTM2NzgsIDEzNjc5LCAxMzY4MCwgMTM2ODEsCi0gMTM2ODIsIDEzNjgzLCAxMzY4NCwgMTM2ODUsIDEzNjg2LCAxMzY4NywgMTM2ODgsIDEzNjg5LCAxMzY5MCwgMTM2OTEsIDEzNjkyLAotIDEzNjkzLCAxMzY5NCwgMTM2OTUsIDEzNjk2LCAxMzY5NywgMTM2OTgsIDEzNjk5LCAxMzcwMCwgMTM3MDEsIDEzNzAyLCAxMzcwMywKLSAxMzcwNCwgMTM3MDUsIDEzNzA2LCAxMzcwNywgMTM3MDksIDEzNzEwLCAxMzcxMSwgMTM3MTIsIDEzNzEzLCAxMzcxNCwgMTM3MTUsCi0gMTM3MTYsIDEzNzE3LCAxMzcxOCwgMTM3MTksIDEzNzIwLCAxMzcyMSwgMTM3MjIsIDEzNzIzLCAxMzcyNCwgMTM3MjUsIDEzNzI2LAotIDEzNzI3LCAxMzcyOCwgMTM3MjksIDEzNzMwLCAxMzczMSwgMTM3MzIsIDEzNzMzLCAxMzczNCwgMTM3MzUsIDEzNzM2LCAxMzczNywKLSAxMzczOCwgMTM3MzksIDEzNzQwLCAxMzc0MSwgMTM3NDIsIDEzNzQzLCAxMzc0NCwgMTM3NDUsIDEzNzQ2LCAxMzc0NywgMTM3NDgsCi0gMTM3NDksIDEzNzUwLCAxMzc1MSwgMTM3NTIsIDEzNzUzLCAxMzc1NCwgMTM3NTUsIDEzNzU2LCAxMzc1NywgMTM3NTgsIDEzNzU5LAotIDEzNzYwLCAxMzc2MSwgMTM3NjIsIDEzNzYzLCAxMzc2NCwgMTM3NjUsIDEzNzY2LCAxMzc2NywgMTM3NjgsIDEzNzY5LCAxMzc3MCwKLSAxMzc3MSwgMTM3NzIsIDEzNzczLCAxMzc3NCwgMTM3NzUsIDEzNzc2LCAxMzc3NywgMTM3NzgsIDEzNzc5LCAxMzc4MCwgMTM3ODEsCi0gMTM3ODIsIDEzNzgzLCAxMzc4NCwgMTM3ODUsIDEzNzg2LCAxMzc4NywgMTM3ODgsIDEzNzg5LCAxMzc5MCwgMTM3OTEsIDEzNzkyLAotIDEzNzkzLCAxMzc5NCwgMTM3OTUsIDEzNzk2LCAxMzc5NywgMTM3OTgsIDEzNzk5LCAxMzgwMCwgMTM4MDEsIDEzODAyLCAxMzgwMywKLSAxMzgwNCwgMTM4MDUsIDEzODA2LCAxMzgwNywgMTM4MDgsIDEzODA5LCAxMzgxMCwgMTM4MTEsIDEzODEyLCAxMzgxMywgMTM4MTQsCi0gMTM4MTUsIDEzODE2LCAxMzgxNywgMTM4MTgsIDEzODE5LCAxMzgyMCwgMTM4MjEsIDEzODIyLCAxMzgyMywgMTM4MjQsIDEzODI1LAotIDEzODI2LCAxMzgyNywgMTM4MjgsIDEzODI5LCAxMzgzMCwgMTM4MzEsIDEzODMyLCAxMzgzMywgMTM4MzQsIDEzODM1LCAxMzgzNiwKLSAxMzgzNywgMTM4MzgsIDEzODM5LCAxMzg0MCwgMTM4NDEsIDEzODQyLCAxMzg0MywgMTM4NDQsIDEzODQ1LCAxMzg0NiwgMTM4NDcsCi0gMTM4NDgsIDEzODQ5LCAxMzg1MCwgMTM4NTEsIDEzODUyLCAxMzg1NCwgMTM4NTYsIDEzODU4LCAxMzg2MCwgMTM4NjIsIDEzODY0LAotIDEzODY2LCAxMzg2OCwgMTM4NzAsIDEzODc5LCAxMzg4MCwgMTM4ODEsIDEzODgyLCAxMzg4MywgMTM4ODQsIDEzODg1LCAxMzg4NiwKLSAxMzg4NywgMTM4ODgsIDEzODg5LCAxMzg5MCwgMTM4OTEsIDEzODkyLCAxMzg5MywgMTM4OTQsIDEzODk1LCAxMzg5NiwgMTM4OTcsCi0gMTM4OTgsIDEzODk5LCAxMzkwMSwgMTM5MDIsIDEzOTAzLCAxMzkwNCwgMTM5MDUsIDEzOTA2LCAxMzkwOSwgMTM5MTAsIDEzOTExLAotIDEzOTEyLCAxMzkxNCwgMTM5MTUsIDEzOTE2LCAxMzkxNywgMTM5MTgsIDEzOTE5LCAxMzkyNSwgMTM5MjYsIDEzOTI3LCAxMzkyOCwKLSAxMzkyOSwgMTM5MzAsIDEzOTMxLCAxMzkzMiwgMTM5MzMsIDEzOTM0LCAxMzkzNSwgMTM5MzYsIDEzOTM3LCAxMzkzOCwgMTM5MzksCi0gMTM5NDAsIDEzOTQxLCAxMzk0MiwgMTM5NDQsIDEzOTQ1LCAxMzk0NiwgMTM5NDcsIDEzOTQ4LCAxMzk0OSwgMTM5NTAsIDEzOTUxLAotIDEzOTUzLCAxMzk1NCwgMTM5NTUsIDEzOTU2LCAxMzk1OCwgMTM5NTksIDEzOTYwLCAxMzk2MSwgMTM5NjIsIDEzOTYzLCAxMzk2NCwKLSAxMzk2NSwgMTM5NjYsIDEzOTY3LCAxMzk2OCwgMTM5NjksIDEzOTcwLCAxMzk3MiwgMTM5NzMsIDEzOTc0LCAxMzk3NSwgMTM5NzcsCi0gMTM5NzgsIDEzOTc5LCAxMzk4MCwgMTM5ODEsIDEzOTg1LCAxMzk4NiwgMTM5ODcsIDEzOTg4LCAxMzk4OSwgMTM5OTAsIDEzOTkxLAotIDEzOTkyLCAxMzk5MywgMTM5OTQsIDEzOTk1LCAxMzk5NiwgMTM5OTcsIDEzOTk4LCAxMzk5OSwgMTQwMDAsIDE0MDAxLCAxNDAwMiwKLSAxNDAwMywgMTQwMDQsIDE0MDA1LCAxNDAwNiwgMTQwMDcsIDE0MDA4LCAxNDAwOSwgMTQwMTAsIDE0MDExLCAxNDAxMiwgMTQwMTMsCi0gMTQwMTQsIDE0MDE1LCAxNDAxNiwgMTQwMTcsIDE0MDE4LCAxNDAxOSwgMTQwMjAsIDE0MDIxLCAxNDAyMiwgMTQwMjMsIDE0MDI0LAotIDE0MDI1LCAxNDAyNiwgMTQwMjcsIDE0MDI4LCAxNDAyOSwgMTQwMzAsIDE0MDMxLCAxNDAzMiwgMTQwMzMsIDE0MDM0LCAxNDAzNSwKLSAxNDAzNiwgMTQwMzcsIDE0MDM4LCAxNDAzOSwgMTQwNDAsIDE0MDQxLCAxNDA0MiwgMTQwNDMsIDE0MDQ0LCAxNDA0NiwgMTQwNDcsCi0gMTQwNDgsIDE0MDQ5LCAxNDA1MCwgMTQwNTMsIDE0MDU0LCAxNDA1NSwgMTQwNTYsIDE0MDU3LCAxNDA2MSwgMTQwNjIsIDE0MDYzLAotIDE0MDY0LCAxNDA2NSwgMTQwNjYsIDE0MDcyLCAxNDA3MywgMTQwNzQsIDE0MDc1LCAxNDA3NywgMTQwNzgsIDE0MDc5LCAxNDA4MCwKLSAxNDA4MiwgMTQwODMsIDE0MDg0LCAxNDA4NSwgMTQwODcsIDE0MDg4LCAxNDA4OSwgMTQwOTAsIDE0MDk3LCAxNDA5OCwgMTQwOTksCi0gMTQxMDAsIDE0MTAxLCAxNDEwMiwgMTQxMDMsIDE0MTA0LCAxNDEwNSwgMTQxMDcsIDE0MTA4LCAxNDEwOSwgMTQxMTAsIDE0MTEyLAotIDE0MTEzLCAxNDExNCwgMTQxMTUsIDE0MTE3LCAxNDExOCwgMTQxMTksIDE0MTIwLCAxNDEyMiwgMTQxMjMsIDE0MTI0LCAxNDEyNSwKLSAxNDEyNiwgMTQxMjgsIDE0MTI5LCAxNDEzMCwgMTQxMzEsIDE0MTMzLCAxNDEzNCwgMTQxMzUsIDE0MTM2LCAxNDEzNywgMTQxMzgsCi0gMTQxNDAsIDE0MTQxLCAxNDE0MiwgMTQxNDMsIDE0MTQ1LCAxNDE0NiwgMTQxNDcsIDE0MTQ4LCAxNDE1MCwgMTQxNTEsIDE0MTUyLAotIDE0MTUzLCAxNDE1NCwgMTQxNTUsIDE0MTU2LCAxNDE1NywgMTQxNTgsIDE0MTU5LCAxNDE2MCwgMTQxNjEsIDE0MTYyLCAxNDE2MywKLSAxNDE2NCwgMTQxNjUsIDE0MTY2LCAxNDE2NywgMTQxNjgsIDE0MTY5LCAxNDE3MCwgMTQxNzEsIDE0MTcyLCAxNDE3MywgMTQxNzUsCi0gMTQxNzYsIDE0MTc3LCAxNDE3OCwgMTQxODAsIDE0MTgxLCAxNDE4MiwgMTQxODMsIDE0MTg1LCAxNDE4NiwgMTQxODcsIDE0MTg4LAotIDE0MTkwLCAxNDE5MSwgMTQxOTIsIDE0MTkzLCAxNDE5NSwgMTQxOTYsIDE0MTk3LCAxNDE5OCwgMTQyMDAsIDE0MjAxLCAxNDIwMiwKLSAxNDIwMywgMTQyMDUsIDE0MjA2LCAxNDIwNywgMTQyMDgsIDE0MjEwLCAxNDIxMSwgMTQyMTIsIDE0MjEzLCAxNDIxNSwgMTQyMTYsCi0gMTQyMTcsIDE0MjE4LCAxNDIyMCwgMTQyMjEsIDE0MjIyLCAxNDIyMywgMTQyMjUsIDE0MjI2LCAxNDIyNywgMTQyMjgsIDE0MjMwLAotIDE0MjMxLCAxNDIzMiwgMTQyMzMsIDE0MjM0LCAxNDIzNSwgMTQyMzYsIDE0MjM3LCAxNDIzOSwgMTQyNDAsIDE0MjQxLCAxNDI0NCwKLSAxNDI0NSwgMTQyNDYsIDE0MjQ3LCAxNDI0OCwgMTQyNDksIDE0MjUwLCAxNDI1MiwgMTQyNTMsIDE0MjU0LCAxNDI1NSwgMTQyNTcsCi0gMTQyNTgsIDE0MjU5LCAxNDI2MCwgMTQyNjIsIDE0MjYzLCAxNDI2NCwgMTQyNjUsIDE0MjY3LCAxNDI2OCwgMTQyNjksIDE0MjcwLAotIDE0MjcxLCAxNDI3MiwgMTQyNzMsIDE0Mjc1LCAxNDI3NiwgMTQyNzcsIDE0Mjc4LCAxNDI4MCwgMTQyODEsIDE0MjgyLCAxNDI4NCwKLSAxNDI4NSwgMTQyODYsIDE0Mjg3LCAxNDI4OSwgMTQyOTAsIDE0MjkxLCAxNDI5MywgMTQyOTQsIDE0Mjk1LCAxNDI5NiwgMTQyOTgsCi0gMTQyOTksIDE0MzAwLCAxNDMwMSwgMTQzMDIsIDE0MzAzLCAxNDMwNCwgMTQzMDksIDE0MzEwLCAxNDMxMSwgMTQzMTIsIDE0MzEzLAotIDE0MzE0LCAxNDMxNSwgMTQzMjAsIDE0MzIxLCAxNDMyMiwgMTQzMjMsIDE0MzI0LCAxNDMyNSwgMTQzMjYsIDE0MzI3LCAxNDMyOCwKLSAxNDMzMSwgMTQzMzIsIDE0MzMzLCAxNDMzNCwgMTQzMzgsIDE0MzM5LCAxNDM0MCwgMTQzNDEsIDE0MzQzLCAxNDM0NCwgMTQzNDUsCi0gMTQzNDYsIDE0MzQ4LCAxNDM0OSwgMTQzNTUsIDE0MzU2LCAxNDM1NywgMTQzNTksIDE0MzYwLCAxNDM2MSwgMTQzNjIsIDE0MzYzLAotIDE0MzY0LCAxNDM2NSwgMTQzNjYsIDE0MzY4LCAxNDM2OSwgMTQzNzAsIDE0MzcxLCAxNDM3MywgMTQzNzQsIDE0Mzc1LCAxNDM3NiwKLSAxNDM3OCwgMTQzNzksIDE0MzgwLCAxNDM4MSwgMTQzODMsIDE0Mzg0LCAxNDM4NSwgMTQzODYsIDE0Mzg4LCAxNDM4OSwgMTQzOTAsCi0gMTQzOTEsIDE0MzkzLCAxNDM5NCwgMTQzOTUsIDE0Mzk2LCAxNDM5NywgMTQzOTgsIDE0Mzk5LCAxNDQwMCwgMTQ0MDEsIDE0NDAyLAotIDE0NDAzLCAxNDQwNCwgMTQ0MDUsIDE0NDA2LCAxNDQwNywgMTQ0MDgsIDE0NDA5LCAxNDQxMCwgMTQ0MTEsIDE0NDEyLCAxNDQxMywKLSAxNDQ1MiwgMTQ0OTEsIDE0NDkzLCAxNDQ5NSwgMTQ0OTcsIDE0NDk5LCAxNDUwMSwgMTQ1MDMsIDE0NTA1LCAxNDUwNywgMTQ1MDgsCi0gMTQ1MTAsIDE0NTEyLCAxNDUxNCwgMTQ1MTYsIDE0NTE4LCAxNDUyMCwgMTQ1MjIsIDE0NTI0LCAxNDUyNSwgMTQ1MjcsIDE0NTI5LAotIDE0NTMxLCAxNDUzMiwgMTQ1MzMsIDE0NTM0LCAxNDUzNSwgMTQ1MzYsIDE0NTM3LCAxNDUzOSwgMTQ1NDAsIDE0NTQyLCAxNDU0NCwKLSAxNDU0NiwgMTQ1NDcsIDE0NTQ4LCAxNDU0OSwgMTQ1NTEsIDE0NTUzLCAxNDU1NywgMTQ1NTksIDE0NTYxLCAxNDU2MywgMTQ1NjUsCi0gMTQ1NjcsIDE0NTY5LCAxNDU3MSwgMTQ1NzIsIDE0NTczLCAxNDU3NSwgMTQ1NzYsIDE0NTc3LCAxNDU3OCwgMTQ1NzksIDE0NTgxLAotIDE0NTgzLCAxNDU4NCwgMTQ1ODYsIDE0NTg4LCAxNDU5MCwgMTQ1OTIsIDE0NTk0LCAxNDU5NSwgMTQ1OTgsIDE0NjA0LCAxNDYwNSwKLSAxNDYwNiwgMTQ2MDgsIDE0NjA5LCAxNDYxMiwgMTQ2MTMsIDE0NjE2LCAxNDYyMiwgMTQ2MjQsIDE0NjI2LCAxNDYyOCwgMTQ2MzAsCi0gMTQ2MzIsIDE0NjM0LCAxNDYzNiwgMTQ2MzgsIDE0NjQwLCAxNDY0MiwgMTQ2NDQsIDE0NjQ2LCAxNDY0NywgMTQ2NDksIDE0NjUxLAotIDE0NjUzLCAxNDY1NSwgMTQ2NTcsIDE0NjU5LCAxNDY2MSwgMTQ2NjMsIDE0NjY1LCAxNDY2NywgMTQ2NjksIDE0NjcxLCAxNDY3MywKLSAxNDY3OSwgMTQ2ODEsIDE0NjgyLCAxNDY4MywgMTQ2ODYsIDE0Njg4LCAxNDY5MCwgMTQ2OTIsIDE0Njk0LCAxNDY5NiwgMTQ2OTgsCi0gMTQ3MDAsIDE0NzAyLCAxNDcwNCwgMTQ3MDYsIDE0NzA4LCAxNDcxMCwgMTQ3MTIsIDE0NzE0LCAxNDcxNiwgMTQ3MTgsIDE0NzIwLAotIDE0NzIyLCAxNDcyNCwgMTQ3MjUsIDE0NzI2LCAxNDcyOCwgMTQ3MzAsIDE0NzMyLCAxNDczNCwgMTQ3MzksIDE0NzQwLCAxNDc0MywKLSAxNDc0NCwgMTQ3NTMsIDE0NzU1LCAxNDc1NiwgMTQ3NTcsIDE0NzU4LCAxNDc1OSwgMTQ3NjAsIDE0NzYyLCAxNDc2NCwgMTQ3NjUsCi0gMTQ3NjYsIDE0NzY3LCAxNDc2OSwgMTQ3NzEsIDE0NzczLCAxNDc3NSwgMTQ3NzcsIDE0Nzc5LCAxNDc4MSwgMTQ3ODMsIDE0Nzg1LAotIDE0Nzg3LCAxNDc4OSwgMTQ3OTEsIDE0NzkzLCAxNDc5NSwgMTQ4MDgsIDE0ODEwLCAxNDgxMiwgMTQ4MTQsIDE0ODE2LCAxNDgxNywKLSAxNDgxOCwgMTQ4MjIsIDE0ODI0LCAxNDgyOCwgMTQ4MjksIDE0ODMwLCAxNDgzMSwgMTQ4MzIsIDE0ODMzLCAxNDgzNCwgMTQ4MzUsCi0gMTQ4MzYsIDE0ODM4LCAxNDg0MCwgMTQ4NDIsIDE0ODQ0LCAxNDg0NiwgMTQ4NDgsIDE0ODUwLCAxNDg1MSwgMTQ4NTMsIDE0ODU1LAotIDE0ODU3LCAxNDg1OSwgMTQ4NjEsIDE0ODYzLCAxNDg2NSwgMTQ4NjcsIDE0ODY5LCAxNDg3MSwgMTQ4NzMsIDE0ODc1LCAxNDg3NywKLSAxNDg3OSwgMTQ4ODEsIDE0ODgzLCAxNDg4NSwgMTQ4ODcsIDE0ODg5LCAxNDg5MSwgMTQ4OTMsIDE0ODk0LCAxNDg5NSwgMTQ4OTcsCi0gMTQ4OTksIDE0OTAxLCAxNDkwMywgMTQ5MDUsIDE0OTA3LCAxNDkwOSwgMTQ5MTAsIDE0OTExLCAxNDkxMiwgMTQ5MTMsIDE0OTE3LAotIDE0OTE4LCAxNDkyMiwgMTQ5MjQsIDE0OTI2LCAxNDkyOCwgMTQ5MzAsIDE0OTMyLCAxNDkzMywgMTQ5MzQsIDE0OTM2LCAxNDkzOCwKLSAxNDk0MCwgMTQ5NDIsIDE0OTQ2LCAxNDk1MCwgMTQ5NTEsIDE0OTUyLCAxNDk1NSwgMTQ5NTcsIDE0OTU5LCAxNDk2MCwgMTQ5NjIsCi0gMTQ5NjQsIDE0OTY2LCAxNDk2OCwgMTQ5NzAsIDE0OTcxLCAxNDk3MiwgMTQ5NzQsIDE0OTc2LCAxNDk3OCwgMTQ5ODAsIDE0OTgyLAotIDE0OTg0LCAxNDk4NiwgMTQ5OTAsIDE0OTkyLCAxNDk5NCwgMTQ5OTYsIDE1MDAwLCAxNTAwNCwgMTUwMDgsIDE1MDEwLCAxNTAxMiwKLSAxNTAxNCwgMTUwMTgsIDE1MDIwLCAxNTAyMiwgMTUwMjQsIDE1MDI2LCAxNTAyOCwgMTUwNTIsIDE1MDYyLCAxNTA2NCwgMTUwNjYsCi0gMTUwNjgsIDE1MDcwLCAxNTA3MiwgMTUwNzQsIDE1MTA2LCAxNTEwOCwgMTUxMTAsIDE1MTEyLCAxNTExNCwgMTUxMTYsIDE1MTE3LAotIDE1MTE5LCAxNTEyMSwgMTUxMjMsIDE1MTI0LCAxNTEyNSwgMTUxMjYsIDE1MTI3LCAxNTEyOSwgMTUxMzEsIDE1MTMzLCAxNTEzNCwKLSAxNTEzNSwgMTUxMzYsIDE1MTM3LCAxNTEzOCwgMTUxMzksIDE1MTQxLCAxNTE0MywgMTUxNDUsIDE1MTQ2LCAxNTE0NywgMTUxNDgsCi0gMTUxNDksIDE1MTUwLCAxNTE1MiwgMTUxNTQsIDE1MTU2LCAxNTE1NywgMTUxNTgsIDE1MTU5LCAxNTE2MCwgMTUxNjIsIDE1MTY0LAotIDE1MTY2LCAxNTE2NywgMTUxNjgsIDE1MTY5LCAxNTE3MCwgMTUxNzEsIDE1MTcyLCAxNTE3NCwgMTUxNzYsIDE1MTc4LCAxNTE3OSwKLSAxNTE4MCwgMTUxODEsIDE1MTgyLCAxNTE4MywgMTUxODUsIDE1MTg3LCAxNTE4OSwgMTUxOTAsIDE1MTkxLCAxNTE5MiwgMTUxOTMsCi0gMTUxOTQsIDE1MTk2LCAxNTE5OCwgMTUyMDAsIDE1MjAyLCAxNTIwNCwgMTUyMDYsIDE1MjA4LCAxNTIxMCwgMTUyMTIsIDE1MjE0LAotIDE1MjE2LCAxNTIxOCwgMTUyMjAsIDE1MjIxLCAxNTIyMiwgMTUyMjMsIDE1MjI0LCAxNTIyNiwgMTUyMjgsIDE1MjMwLCAxNTIzMSwKLSAxNTIzMiwgMTUyMzMsIDE1MjM0LCAxNTIzNSwgMTUyMzYsIDE1MjM4LCAxNTI0MCwgMTUyNDIsIDE1MjQ0LCAxNTI0NSwgMTUyNDcsCi0gMTUyNDksIDE1MjUxLCAxNTI1MiwgMTUyNTMsIDE1MjU0LCAxNTI1NiwgMTUyNTgsIDE1MjYwLCAxNTI2MiwgMTUyNjQsIDE1MjY2LAotIDE1MjY3LCAxNTI2OCwgMTUyNjksIDE1MjcwLCAxNTI3MiwgMTUyNzQsIDE1Mjc2LCAxNTI3OCwgMTUyODAsIDE1Mjg2LCAxNTI4OCwKLSAxNTI5MiwgMTUyOTQsIDE1Mjk4LCAxNTMwMiwgMTUzMjQsIDE1MzI2LCAxNTMyOCwgMTUzMzAsIDE1MzMyLCAxNTMzMywgMTUzMzQsCi0gMTUzMzUsIDE1MzM3LCAxNTMzOCwgMTUzMzksIDE1MzQwLCAxNTM0MiwgMTUzNDQsIDE1MzUyLCAxNTM1NSwgMTUzNTYsIDE1MzU4LAotIDE1MzYwLCAxNTM2MiwgMTUzNjMsIDE1MzY1LCAxNTM2NywgMTUzNjksIDE1MzcxLCAxNTM3MywgMTUzNzUsIDE1Mzc2LCAxNTM3OCwKLSAxNTM4MCwgMTUzODIsIDE1Mzg0LCAxNTM4NiwgMTUzODgsIDE1Mzg5LCAxNTM5MSwgMTUzOTMsIDE1Mzk1LCAxNTM5NywgMTUzOTgsCi0gMTU0MDAsIDE1NDAyLCAxNTQwNCwgMTU0MDYsIDE1NDA3LCAxNTQwOSwgMTU0MTEsIDE1NDEzLCAxNTQxNSwgMTU0MTcsIDE1NDE5LAotIDE1NDIxLCAxNTQyMywgMTU0MjUsIDE1NDI3LCAxNTQyOCwgMTU0MjksIDE1NDMwLCAxNTQzMSwgMTU0MzIsIDE1NDM0LCAxNTQzNiwKLSAxNTQzOCwgMTU0NDAsIDE1NDQ0LCAxNTQ0NiwgMTU0NDgsIDE1NDUwLCAxNTQ1MiwgMTU0NTMsIDE1NDU2LCAxNTQ2MSwgMTU0NjIsCi0gMTU0NjMsIDE1NDcyLCAxNTQ3NCwgMTU0NzcsIDE1NDgwLCAxNTQ4NiwgMTU0OTUsIDE1NDk2LCAxNTQ5OCwgMTU1MDEsIDE1NTAyLAotIDE1NTAzLCAxNTUwNCwgMTU1MDUsIDE1NTExLCAxNTUxNiwgMTU1MjIsIDE1NTI5LCAxNTUzMCwgMTU1MzEsIDE1NTM1LCAxNTUzNywKLSAxNTUzOCwgMTU1MzksIDE1NTQzLCAxNTU0NSwgMTU1NDYsIDE1NTQ3LCAxNTU0OCwgMTU1NTAsIDE1NTUxLCAxNTU1NSwgMTU1NTYsCi0gMTU1NjAsIDE1NTYxLCAxNTU2MiwgMTU1NjQsIDE1NTczLCAxNTU3NSwgMTU1NzcsIDE1NTgxLCAxNTU4NywgMTU1OTEsIDE1NTk5LAotIDE1NjA2LCAxNTYwOSwgMTU2MTEsIDE1NjE2LCAxNTYxOSwgMTU2MjMsIDE1NjI3LCAxNTYzMiwgMTU2NDAsIDE1NjQ3LCAxNTY1MCwKLSAxNTY1MSwgMTU2NTMsIDE1NjU1LCAxNTY1OSwgMTU2NjEsIDE1NjY1LCAxNTY3MCwgMTU2NzYsIDE1NjgzLCAxNTY4NywgMTU2ODgsCi0gMTU2ODksIDE1NjkxLCAxNTY5MiwgMTU2OTUsIDE1Njk2LCAxNTY5NywgMTU3MDAsIDE1NzAyLCAxNTcwMywgMTU3MDcsIDE1NzA5LAotIDE1NzEzLCAxNTcyMSwgMTU3MjIsIDE1NzIzLCAxNTcyNCwgMTU3MjUsIDE1NzI2LCAxNTcyOCwgMTU3MjksIDE1NzMwLCAxNTczMSwKLSAxNTczMiwgMTU3MzMsIDE1NzM0LCAxNTczNSwgMTU3MzYsIDE1NzM3LCAxNTczOCwgMTU3NDIsIDE1NzQzLCAxNTc0NCwgMTU3NDYsCi0gMTU3NDcsIDE1NzQ4LCAxNTc1MCwgMTU3NTMsIDE1NzU5LCAxNTc2NSwgMTU3NjcsIDE1NzY5LCAxNTc3MSwgMTU3NzMsIDE1Nzc1LAotIDE1Nzg3LCAxNTc5OSwgMTU4MDAsIDE1ODAyLCAxNTgwNCwgMTU4MDYsIDE1ODA3LCAxNTgwOCwgMTU4MDksIDE1ODEwLCAxNTgxMSwKLSAxNTgxMywgMTU4MTUsIDE1ODE3LCAxNTgxOSwgMTU4MjEsIDE1ODIyLCAxNTgyMywgMTU4MjQsIDE1ODI1LCAxNTgyNiwgMTU4MjgsCi0gMTU4MzAsIDE1ODMyLCAxNTgzNCwgMTU4MzYsIDE1ODM4LCAxNTg0MCwgMTU4NDEsIDE1ODQzLCAxNTg0NSwgMTU4NDcsIDE1ODQ5LAotIDE1ODUxLCAxNTg1MiwgMTU4NTQsIDE1ODU2LCAxNTg1OCwgMTU4NjAsIDE1ODYyLCAxNTg2NCwgMTU4NjYsIDE1ODY4LCAxNTg3MiwKLSAxNTg4MSwgMTU4ODIsIDE1ODgzLCAxNTg4NCwgMTU4ODksIDE1ODkyLCAxNTg5MywgMTU4OTUsIDE1ODk2LCAxNTg5NywgMTU4OTksCi0gMTU5MDAsIDE1OTAxLCAxNTkwMiwgMTU5MDMsIDE1OTA0LCAxNTkwNSwgMTU5MDcsIDE1OTA5LCAxNTkxMSwgMTU5MTIsIDE1OTEzLAotIDE1OTE0LCAxNTkxNSwgMTU5MTYsIDE1OTE3LCAxNTkxOCwgMTU5MTksIDE1OTIwLCAxNTkyMSwgMTU5MjIsIDE1OTIzLCAxNTkyNCwKLSAxNTkyNSwgMTU5MjYsIDE1OTI3LCAxNTkyOCwgMTU5MjksIDE1OTMwLCAxNTkzMSwgMTU5MzIsIDE1OTMzLCAxNTkzNCwgMTU5MzUsCi0gMTU5MzYsIDE1OTM3LCAxNTkzOCwgMTU5MzksIDE1OTQwLCAxNTk0MiwgMTU5NDQsIDE1OTQ2LCAxNTk0OCwgMTU5NTAsIDE1OTUyLAotIDE1OTU0LCAxNTk1NiwgMTU5NTksIDE1OTY4LCAxNTk2OSwgMTU5NzAsIDE1OTcxLCAxNTk3MiwgMTU5NzMsIDE1OTc1LCAxNTk3NiwKLSAxNTk4MCwgMTU5ODMsIDE1OTg1LCAxNTk4NywgMTU5ODksIDE1OTkwLCAxNTk5MiwgMTU5OTQsIDE1OTk2LCAxNTk5OCwgMTYwMDAsCi0gMTYwMDEsIDE2MDAzLCAxNjAwNSwgMTYwMDcsIDE2MDA5LCAxNjAxMCwgMTYwMTEsIDE2MDEyLCAxNjAxNCwgMTYwMTUsIDE2MDE3LAotIDE2MDE4LCAxNjAyMCwgMTYwMjIsIDE2MDIzLCAxNjAyNCwgMTYwMjUsIDE2MDI2LCAxNjAyNywgMTYwMjgsIDE2MDI5LCAxNjAzMCwKLSAxNjAzMSwgMTYwMzIsIDE2MDMzLCAxNjAzNCwgMTYwMzUsIDE2MDM3LCAxNjAzOCwgMTYwNDEsIDE2MDQ1LCAxNjA1MSwgMTYwNTMsCi0gMTYwNTUsIDE2MDU3LCAxNjA1OSwgMTYwNjEsIDE2MDYzLCAxNjA2NSwgMTYwNjYsIDE2MDY4LCAxNjA3MCwgMTYwNzIsIDE2MDc0LAotIDE2MDc1LCAxNjA3NiwgMTYwNzcsIDE2MDc4LCAxNjA3OSwgMTYwODEsIDE2MDgzLCAxNjA4NSwgMTYwODcsIDE2MDg5LCAxNjA5MSwKLSAxNjA5MywgMTYwOTUsIDE2MDk3LCAxNjA5OSwgMTYxMDEsIDE2MTAzLCAxNjEwNCwgMTYxMDUsIDE2MTA2LCAxNjEwNywgMTYxMDgsCi0gMTYxMTEsIDE2MTEyLCAxNjExNSwgMTYxMTYsIDE2MTE4LCAxNjEyMCwgMTYxMjIsIDE2MTIzLCAxNjEyNSwgMTYxMjcsIDE2MTI5LAotIDE2MTMxLCAxNjEzNiwgMTYxNDEsIDE2MTQyLCAxNjE0MywgMTYxNDYsIDE2MTUwLCAxNjE1MiwgMTYxNTQsIDE2MTU2LCAxNjE1OCwKLSAxNjE1OSwgMTYxNjEsIDE2MTYzLCAxNjE2NSwgMTYxNjcsIDE2MTY5LCAxNjE3MSwgMTYxNzMsIDE2MTc1LCAxNjE3NywgMTYxNzksCi0gMTYxODEsIDE2MTgzLCAxNjE4NSwgMTYxODYsIDE2MTg4LCAxNjE5MCwgMTYxOTIsIDE2MTk0LCAxNjE5NiwgMTYxOTgsIDE2MjAwLAotIDE2MjAyLCAxNjIwMywgMTYyMDUsIDE2MjA3LCAxNjIwOCwgMTYyMDksIDE2MjExLCAxNjIxMiwgMTYyMTMsIDE2MjE0LCAxNjIxNSwKLSAxNjIxNiwgMTYyMTcsIDE2MjIwLCAxNjIyMSwgMTYyMjQsIDE2MjI2LCAxNjIyOCwgMTYyMzAsIDE2MjMyLCAxNjIzNCwgMTYyMzYsCi0gMTYyMzgsIDE2MjQwLCAxNjI0MSwgMTYyNDMsIDE2MjQ1LCAxNjI0NywgMTYyNDksIDE2MjUxLCAxNjI1MywgMTYyNTUsIDE2MjU3LAotIDE2MjU4LCAxNjI2MCwgMTYyNjIsIDE2MjY0LCAxNjI2NiwgMTYyNjgsIDE2MjcwLCAxNjI3MiwgMTYyNzQsIDE2Mjc3LCAxNjI3OCwKLSAxNjI3OSwgMTYyODAsIDE2MjgxLCAxNjI4NCwgMTYyODcsIDE2MjkzLCAxNjI5NSwgMTYyOTcsIDE2Mjk5LCAxNjMwMiwgMTYzMDQsCi0gMTYzMDYsIDE2MzA4LCAxNjMxMCwgMTYzMTIsIDE2MzE0LCAxNjMxNiwgMTYzMTgsIDE2MzE5LCAxNjMyMSwgMTYzMjIsIDE2MzIzLAotIDE2MzI2LCAxNjMyNywgMTYzMjgsIDE2MzI5LCAxNjMzNywgMTYzNDIsIDE2MzQ0LCAxNjM0NSwgMTYzNDksIDE2MzUwLCAxNjM1MiwKLSAxNjM1MywgMTYzNTQsIDE2MzU1LCAxNjM2MSwgMTYzNjMsIDE2MzY1LCAxNjM2NywgMTYzNjksIDE2MzcxLCAxNjM3MywgMTYzNzUsCi0gMTYzNzcsIDE2Mzc5LCAxNjM4MSwgMTYzODMsIDE2Mzg1LCAxNjM4NywgMTYzODksIDE2MzkxLCAxNjM5MywgMTYzOTUsIDE2Mzk3LAotIDE2Mzk5LCAxNjQwMCwgMTY0MDIsIDE2NDA0LCAxNjQwNiwgMTY0MDgsIDE2NDEwLCAxNjQxMiwgMTY0MTQsIDE2NDE2LCAxNjQxOCwKLSAxNjQyMCwgMTY0MjIsIDE2NDI0LCAxNjQyNiwgMTY0MjgsIDE2NDMwLCAxNjQzMiwgMTY0MzgsIDE2NDQwLCAxNjQ0MSwgMTY0NDIsCi0gMTY0NDMsIDE2NDQ2LCAxNjQ0OCwgMTY0NTAsIDE2NDUyLCAxNjQ1NCwgMTY0NTYsIDE2NDU4LCAxNjQ2MCwgMTY0NjIsIDE2NDY0LAotIDE2NDY2LCAxNjQ2OCwgMTY0NzAsIDE2NDcyLCAxNjQ3NCwgMTY0NzYsIDE2NDc3LCAxNjQ3OCwgMTY0NzksIDE2NDgxLCAxNjQ4MywKLSAxNjQ4NCwgMTY0ODUsIDE2NDg2LCAxNjQ4NywgMTY0OTcsIDE2NDk4LCAxNjQ5OSwgMTY1MDEsIDE2NTAyLCAxNjUwMywgMTY1MDUsCi0gMTY1MDgsIDE2NTExLCAxNjUxMiwgMTY1MTQsIDE2NTIyLCAxNjUyNSwgMTY1MjYsIDE2NTI4LCAxNjUzMCwgMTY1MzUsIDE2NTM2LAotIDE2NTM3LCAxNjU0MCwgMTY1NDEsIDE2NTQ0LCAxNjU0NiwgMTY1NTUsIDE2NTU3LCAxNjU1OSwgMTY1NjEsIDE2NTYzLCAxNjU2NSwKLSAxNjU2NywgMTY1NjksIDE2NTcxLCAxNjU3MywgMTY1NzUsIDE2NTc3LCAxNjU3OSwgMTY1ODEsIDE2NTgzLCAxNjU5NiwgMTY1OTgsCi0gMTY2MDAsIDE2NjAyLCAxNjYwMywgMTY2MDQsIDE2NjA1LCAxNjYwNiwgMTY2MDcsIDE2NjA4LCAxNjYxMCwgMTY2MTIsIDE2NjE0LAotIDE2NjE1LCAxNjYxNiwgMTY2MTcsIDE2NjE4LCAxNjYxOSwgMTY2MjEsIDE2NjI1LCAxNjYyNywgMTY2MzEsIDE2NjMzLCAxNjYzNCwKLSAxNjYzNSwgMTY2MzYsIDE2NjM3LCAxNjYzOCwgMTY2MzksIDE2NjQwLCAxNjY0MSwgMTY2NDIsIDE2NjQ0LCAxNjY0NiwgMTY2NDcsCi0gMTY2NDgsIDE2NjUwLCAxNjY1MiwgMTY2NTQsIDE2NjU2LCAxNjY1OCwgMTY2NjAsIDE2NjYxLCAxNjY2MiwgMTY2NjMsIDE2NjY1LAotIDE2NjY3LCAxNjY2OSwgMTY2NzEsIDE2NjczLCAxNjY3NSwgMTY2NzcsIDE2Njc5LCAxNjY4MSwgMTY2ODMsIDE2Njg1LCAxNjY4NywKLSAxNjY4OSwgMTY2OTEsIDE2NjkzLCAxNjY5NSwgMTY2OTcsIDE2Njk5LCAxNjcwMSwgMTY3MDMsIDE2NzA1LCAxNjcwNywgMTY3MDksCi0gMTY3MTEsIDE2NzEzLCAxNjcxNSwgMTY3MTcsIDE2NzE5LCAxNjcyMSwgMTY3MjIsIDE2NzIzLCAxNjcyNSwgMTY3MjksIDE2NzMwLAotIDE2NzMxLCAxNjczNSwgMTY3MzcsIDE2NzM5LCAxNjc0MSwgMTY3NDMsIDE2NzQ1LCAxNjc0NywgMTY3NDgsIDE2NzQ5LCAxNjc1MCwKLSAxNjc1MiwgMTY3NTQsIDE2NzU2LCAxNjc1OCwgMTY3NjAsIDE2NzYyLCAxNjc2NCwgMTY3NjgsIDE2NzcwLCAxNjc3MiwgMTY3NzYsCi0gMTY3NzcsIDE2Nzc4LCAxNjc4MSwgMTY3ODMsIDE2Nzg1LCAxNjc5NCwgMTY3OTUsIDE2Nzk3LCAxNjc5OSwgMTY4MDEsIDE2ODAzLAotIDE2ODA1LCAxNjgwNywgMTY4MDgsIDE2ODA5LCAxNjgxMSwgMTY4MTMsIDE2ODE1LCAxNjgxNywgMTY4MTksIDE2ODIxLCAxNjgyMywKLSAxNjgyNywgMTY4MjksIDE2ODMxLCAxNjgzMywgMTY4MzcsIDE2ODQxLCAxNjg0NSwgMTY4NDcsIDE2ODQ5LCAxNjg1MSwgMTY4NTUsCi0gMTY4NTcsIDE2ODU5LCAxNjg2MSwgMTY4NjMsIDE2ODY1LCAxNjg2NywgMTY4OTEsIDE2ODk5LCAxNjkwMSwgMTY5MDMsIDE2OTA1LAotIDE2OTA3LCAxNjkwOSwgMTY5MTEsIDE2OTEzLCAxNjkxNSwgMTY5MTcsIDE2OTE5LCAxNjkyMSwgMTY5MjMsIDE2OTI3LCAxNjkyOSwKLSAxNjkzMywgMTY5MzcsIDE2OTM5LCAxNjk0MywgMTY5NDUsIDE2OTQ3LCAxNjk3NywgMTY5NzgsIDE2OTgwLCAxNjk4MiwgMTY5ODQsCi0gMTY5ODYsIDE2OTg3LCAxNjk4OCwgMTY5ODksIDE2OTkwLCAxNjk5MiwgMTY5OTQsIDE2OTk2LCAxNjk5OCwgMTY5OTksIDE3MDAwLAotIDE3MDAxLCAxNzAwMiwgMTcwMDMsIDE3MDA0LCAxNzAwNiwgMTcwMDgsIDE3MDEwLCAxNzAxMiwgMTcwMTMsIDE3MDE0LCAxNzAxNSwKLSAxNzAxNiwgMTcwMTcsIDE3MDE5LCAxNzAyMSwgMTcwMjMsIDE3MDI1LCAxNzAyNiwgMTcwMjcsIDE3MDI4LCAxNzAyOSwgMTcwMzEsCi0gMTcwMzMsIDE3MDM1LCAxNzAzNywgMTcwMzgsIDE3MDM5LCAxNzA0MCwgMTcwNDEsIDE3MDQyLCAxNzA0MywgMTcwNDUsIDE3MDQ3LAotIDE3MDQ5LCAxNzA1MSwgMTcwNTIsIDE3MDUzLCAxNzA1NCwgMTcwNTUsIDE3MDU2LCAxNzA1OCwgMTcwNjAsIDE3MDYyLCAxNzA2NCwKLSAxNzA2NSwgMTcwNjYsIDE3MDY3LCAxNzA2OCwgMTcwNjksIDE3MDcxLCAxNzA3MywgMTcwNzUsIDE3MDc3LCAxNzA3OSwgMTcwODEsCi0gMTcwODMsIDE3MDg1LCAxNzA4NywgMTcwODksIDE3MDkxLCAxNzA5MywgMTcwOTUsIDE3MDk3LCAxNzA5OCwgMTcwOTksIDE3MTAwLAotIDE3MTAxLCAxNzEwMywgMTcxMDUsIDE3MTA3LCAxNzEwOSwgMTcxMTAsIDE3MTExLCAxNzExMiwgMTcxMTMsIDE3MTE0LCAxNzExNSwKLSAxNzExNywgMTcxMTksIDE3MTIxLCAxNzEyMywgMTcxMjUsIDE3MTI3LCAxNzEyOSwgMTcxMzIsIDE3MTMzLCAxNzEzNSwgMTcxMzcsCi0gMTcxMzksIDE3MTQxLCAxNzE0MiwgMTcxNDMsIDE3MTQ0LCAxNzE0NiwgMTcxNDgsIDE3MTUwLCAxNzE1MiwgMTcxNTQsIDE3MTU2LAotIDE3MTU3LCAxNzE1OCwgMTcxNTksIDE3MTYxLCAxNzE2MywgMTcxNjUsIDE3MTY3LCAxNzE2OSwgMTcxNzEsIDE3MTczLCAxNzE3NSwKLSAxNzE3NywgMTcxNzksIDE3MTgxLCAxNzE4MywgMTcxODUsIDE3MTg5LCAxNzE5MSwgMTcxOTUsIDE3MTk5LCAxNzIwMSwgMTcyMDUsCi0gMTcyMDcsIDE3MjA5LCAxNzIxNCwgMTcyMTcsIDE3MjUxLCAxNzI1MywgMTcyNTUsIDE3MjU3LCAxNzI1OSwgMTcyNjEsIDE3MjYzLAotIDE3MjY1LCAxNzI2NywgMTcyNjksIDE3MjcxLCAxNzI3MywgMTcyNzUsIDE3Mjc2LCAxNzI3OCwgMTcyODAsIDE3MjgyLCAxNzI4NCwKLSAxNzI4NSwgMTcyODYsIDE3Mjg3LCAxNzI4OCwgMTcyOTAsIDE3MjkyLCAxNzI5NCwgMTcyOTYsIDE3Mjk3LCAxNzI5OCwgMTcyOTksCi0gMTczMDAsIDE3MzAxLCAxNzMwMiwgMTczMDQsIDE3MzA2LCAxNzMwOCwgMTczMTAsIDE3MzExLCAxNzMxMiwgMTczMTMsIDE3MzE0LAotIDE3MzE1LCAxNzMxNywgMTczMTksIDE3MzIxLCAxNzMyMywgMTczMjQsIDE3MzI1LCAxNzMyNiwgMTczMjcsIDE3MzI5LCAxNzMzMSwKLSAxNzMzMywgMTczMzUsIDE3MzM2LCAxNzMzNywgMTczMzgsIDE3MzM5LCAxNzM0MCwgMTczNDEsIDE3MzQzLCAxNzM0NSwgMTczNDcsCi0gMTczNDksIDE3MzUwLCAxNzM1MSwgMTczNTIsIDE3MzUzLCAxNzM1NCwgMTczNTYsIDE3MzU4LCAxNzM2MCwgMTczNjIsIDE3MzYzLAotIDE3MzY0LCAxNzM2NSwgMTczNjYsIDE3MzY3LCAxNzM2OSwgMTczNzEsIDE3MzczLCAxNzM3NSwgMTczNzcsIDE3Mzc5LCAxNzM4MSwKLSAxNzM4MywgMTczODUsIDE3Mzg3LCAxNzM4OSwgMTczOTEsIDE3MzkzLCAxNzM5NSwgMTczOTYsIDE3Mzk3LCAxNzM5OCwgMTczOTksCi0gMTc0MDEsIDE3NDAzLCAxNzQwNSwgMTc0MDcsIDE3NDA4LCAxNzQwOSwgMTc0MTAsIDE3NDExLCAxNzQxMiwgMTc0MTMsIDE3NDE1LAotIDE3NDE3LCAxNzQxOSwgMTc0MjEsIDE3NDIzLCAxNzQyNCwgMTc0MjUsIDE3NDI2LCAxNzQyNywgMTc0MjksIDE3NDMxLCAxNzQzMywKLSAxNzQzNSwgMTc0MzYsIDE3NDM3LCAxNzQzOCwgMTc0MzksIDE3NDQxLCAxNzQ0MywgMTc0NDUsIDE3NDQ3LCAxNzQ0OSwgMTc0NTUsCi0gMTc0NTcsIDE3NDYxLCAxNzQ2MywgMTc0NjcsIDE3NDczLCAxNzQ3NSwgMTc0NzgsIDE3NDgxLCAxNzQ4NywgMTc0ODksIDE3NDkzLAotIDE3NDk1LCAxNzQ5OSwgMTc1MDEsIDE3NTM0LCAxNzUzNiwgMTc1MzksIDE3NTQyLCAxNzU0NSwgMTc1NDcsIDE3NTQ4LCAxNzU0OSwKLSAxNzU1MCwgMTc1NTMsIDE3NTU0LCAxNzU1NSwgMTc1NTYsIDE3NTU3LCAxNzU2MCwgMTc1NjEsIDE3NTY0LCAxNzU2NywgMTc1NzAsCi0gMTc1NzMsIDE3NTc2LCAxNzU4OCwgMTc1OTIsIDE3NTk0LCAxNzU5NiwgMTc1OTgsIDE3NjAwLCAxNzYwMiwgMTc2MDQsIDE3NjA2LAotIDE3NjA4LCAxNzYwOSwgMTc2MTEsIDE3NjEzLCAxNzYxNSwgMTc2MTYsIDE3NjE4LCAxNzYyMCwgMTc2MjIsIDE3NjI0LCAxNzYyNiwKLSAxNzYyOCwgMTc2MjksIDE3NjMxLCAxNzYzMywgMTc2MzUsIDE3NjM3LCAxNzYzOSwgMTc2NDEsIDE3NjQyLCAxNzY0NCwgMTc2NDYsCi0gMTc2NDgsIDE3NjUwLCAxNzY1MSwgMTc2NTMsIDE3NjU1LCAxNzY1NywgMTc2NTksIDE3NjYwLCAxNzY2MiwgMTc2NjQsIDE3NjY2LAotIDE3NjY4LCAxNzY3MCwgMTc2NzEsIDE3NjczLCAxNzY3NSwgMTc2NzcsIDE3Njc4LCAxNzY4MCwgMTc2ODIsIDE3Njg0LCAxNzY4NiwKLSAxNzY4OCwgMTc2OTAsIDE3NjkxLCAxNzY5MywgMTc2OTUsIDE3Njk3LCAxNzY5OSwgMTc3MDEsIDE3NzAzLCAxNzcwNCwgMTc3MDYsCi0gMTc3MDgsIDE3NzEwLCAxNzcxMiwgMTc3MTMsIDE3NzE1LCAxNzcxNywgMTc3MTksIDE3NzIxLCAxNzcyMiwgMTc3MjQsIDE3NzI2LAotIDE3NzI4LCAxNzczMCwgMTc3MzIsIDE3NzM0LCAxNzczNiwgMTc3MzksIDE3NzQyLCAxNzc0NSwgMTc3NDgsIDE3NzUyLCAxNzc1MywKLSAxNzc1NiwgMTc3NjEsIDE3NzcxLCAxNzc3NSwgMTc3NzksIDE3Nzg5LCAxNzc5OSwgMTc4MDYsIDE3ODA4LCAxNzgxMiwgMTc4MTcsCi0gMTc4MjAsIDE3ODMwLCAxNzgzMSwgMTc4MzIsIDE3ODQxLCAxNzg0MywgMTc4NDYsIDE3ODQ5LCAxNzg1NSwgMTc4NjQsIDE3ODY1LAotIDE3ODY3LCAxNzg2OSwgMTc4NzEsIDE3ODcyLCAxNzg3OCwgMTc4ODEsIDE3ODkxLCAxNzg5MywgMTc4OTUsIDE3OTAxLCAxNzkwNSwKLSAxNzkwOCwgMTc5MTEsIDE3OTEyLCAxNzkxNiwgMTc5MTksIDE3OTI4LCAxNzkzMCwgMTc5MzMsIDE3OTM1LCAxNzkzNiwgMTc5MzgsCi0gMTc5NDMsIDE3OTQ1LCAxNzk0NywgMTc5NDgsIDE3OTQ5LCAxNzk1MCwgMTc5NTEsIDE3OTUyLCAxNzk1OCwgMTc5NjMsIDE3OTY5LAotIDE3OTc2LCAxNzk3NywgMTc5NzgsIDE3OTc5LCAxNzk4MCwgMTc5ODQsIDE3OTg2LCAxNzk4NywgMTc5ODgsIDE3OTg5LCAxNzk5MSwKLSAxNzk5MiwgMTc5OTMsIDE3OTk1LCAxNzk5OCwgMTc5OTksIDE4MDAzLCAxODAwNSwgMTgwMTAsIDE4MDExLCAxODAxMiwgMTgwMTMsCi0gMTgwMTUsIDE4MDE5LCAxODAyMCwgMTgwMjEsIDE4MDIyLCAxODAyMywgMTgwMjQsIDE4MDI2LCAxODAyNywgMTgwMzEsIDE4MDMyLAotIDE4MDMzLCAxODAzNCwgMTgwMzUsIDE4MDM2LCAxODAzNywgMTgwNDEsIDE4MDQyLCAxODA0MywgMTgwNDQsIDE4MDQ1LCAxODA0NywKLSAxODA1MCwgMTgwNTUsIDE4MDY0LCAxODA3MCwgMTgwNzUsIDE4MDc3LCAxODA3OCwgMTgwODAsIDE4MDgyLCAxODA4NiwgMTgwODcsCi0gMTgwODksIDE4MDk1LCAxODEwMSwgMTgxMTAsIDE4MTE4LCAxODEyNCwgMTgxMjgsIDE4MTM2LCAxODE0MywgMTgxNDYsIDE4MTQ4LAotIDE4MTUzLCAxODE1NiwgMTgxNjAsIDE4MTY0LCAxODE2OSwgMTgxNzksIDE4MTgwLCAxODE4MywgMTgxODQsIDE4MTg2LCAxODE4NywKLSAxODE5MCwgMTgxOTUsIDE4MTk4LCAxODE5OSwgMTgyMDEsIDE4MjAzLCAxODIwNCwgMTgyMDYsIDE4MjA4LCAxODIxMCwgMTgyMTIsCi0gMTgyMTQsIDE4MjE2LCAxODIxOCwgMTgyMjMsIDE4MjI1LCAxODIyNywgMTgyMjksIDE4MjMwLCAxODIzMSwgMTgyMzMsIDE4MjM1LAotIDE4MjM3LCAxODIzOSwgMTgyNDEsIDE4MjQyLCAxODI0MywgMTgyNDUsIDE4MjQ3LCAxODI0OSwgMTgyNTAsIDE4MjUzLCAxODI1NiwKLSAxODI1OCwgMTgyNjAsIDE4MjYyLCAxODI2MywgMTgyNjUsIDE4Mjc0LCAxODI3NSwgMTgyNzYsIDE4Mjc5LCAxODI4MiwgMTgyODgsCi0gMTgyOTEsIDE4MjkyLCAxODI5OCwgMTgzMDAsIDE4MzAyLCAxODMwNCwgMTgzMDYsIDE4MzA4LCAxODMxMCwgMTgzMTIsIDE4MzE0LAotIDE4MzE2LCAxODMxOCwgMTgzMjAsIDE4MzIyLCAxODMyNCwgMTgzMjYsIDE4MzI4LCAxODMzMCwgMTgzMzIsIDE4MzM0LCAxODMzNSwKLSAxODMzNywgMTgzMzksIDE4MzQxLCAxODM0MywgMTgzNDUsIDE4MzQ3LCAxODM0OSwgMTgzNTEsIDE4MzU3LCAxODM1OSwgMTgzNjIsCi0gMTgzNjQsIDE4MzY2LCAxODM2OCwgMTgzNzAsIDE4MzcyLCAxODM3NCwgMTgzNzYsIDE4Mzc4LCAxODM4MCwgMTgzODIsIDE4Mzg0LAotIDE4Mzg2LCAxODM4OCwgMTgzOTAsIDE4MzkyLCAxODM5NCwgMTgzOTYsIDE4Mzk4LCAxODQwMCwgMTg0MDIsIDE4NDA0LCAxODQwNiwKLSAxODQwOCwgMTg0MTcsIDE4NDE5LCAxODQyMSwgMTg0MjMsIDE4NDI1LCAxODQyNywgMTg0MjksIDE4NDMxLCAxODQzMywgMTg0MzUsCi0gMTg0MzcsIDE4NDM5LCAxODQ0MSwgMTg0NDMsIDE4NDQ1LCAxODQ0NywgMTg0NDksIDE4NDUxLCAxODQ1MywgMTg0NjYsIDE4NDY4LAotIDE4NDcwLCAxODQ3MiwgMTg0NzQsIDE4NDc2LCAxODQ3NywgMTg0NzksIDE4NDgzLCAxODQ4NSwgMTg0ODksIDE4NDkxLCAxODQ5MiwKLSAxODQ5NCwgMTg0OTYsIDE4NDk4LCAxODUwMCwgMTg1MDIsIDE4NTA0LCAxODUwNiwgMTg1MDgsIDE4NTA5LCAxODUxMSwgMTg1MTMsCi0gMTg1MTUsIDE4NTE3LCAxODUxOSwgMTg1MjEsIDE4NTIzLCAxODUyNSwgMTg1MjcsIDE4NTI5LCAxODUzMSwgMTg1MzMsIDE4NTM1LAotIDE4NTM3LCAxODUzOSwgMTg1NDEsIDE4NTQzLCAxODU0NSwgMTg1NDcsIDE4NTQ5LCAxODU1MSwgMTg1NTMsIDE4NTU1LCAxODU1NywKLSAxODU1OSwgMTg1NjEsIDE4NTYzLCAxODU2NSwgMTg1NjcsIDE4NTY4LCAxODU2OSwgMTg1NzEsIDE4NTc1LCAxODU3NiwgMTg1ODAsCi0gMTg1ODIsIDE4NTg0LCAxODU4NiwgMTg1ODgsIDE4NTkwLCAxODU5MiwgMTg1OTQsIDE4NTk2LCAxODU5OCwgMTg2MDAsIDE4NjAyLAotIDE4NjA0LCAxODYwNiwgMTg2MTAsIDE4NjEyLCAxODYxNCwgMTg2MTgsIDE4NjE5LCAxODYyMCwgMTg2MjMsIDE4NjI1LCAxODYyNywKLSAxODYyOSwgMTg2MzEsIDE4NjMzLCAxODYzNSwgMTg2MzcsIDE4NjM4LCAxODY0MCwgMTg2NDIsIDE4NjQ0LCAxODY0NiwgMTg2NDgsCi0gMTg2NTAsIDE4NjUyLCAxODY1NiwgMTg2NTgsIDE4NjYwLCAxODY2MiwgMTg2NjYsIDE4NjcwLCAxODY3NCwgMTg2NzYsIDE4Njc4LAotIDE4NjgwLCAxODY4NCwgMTg2ODYsIDE4Njg4LCAxODY5MCwgMTg2OTIsIDE4Njk0LCAxODY5NiwgMTg3MjAsIDE4NzIyLCAxODczMiwKLSAxODczNSwgMTg3MzYsIDE4NzM3LCAxODczOCwgMTg3MzksIDE4NzQwLCAxODc0MiwgMTg3NDQsIDE4NzQ2LCAxODc1MSwgMTg3NTIsCi0gMTg3NTUsIDE4NzU2LCAxODc1NywgMTg3NTksIDE4NzYyLCAxODc2NSwgMTg3NjYsIDE4NzY3LCAxODc2OSwgMTg3NzAsIDE4NzczLAotIDE4Nzc0LCAxODc3NSwgMTg3NzYsIDE4Nzc3LCAxODc4MCwgMTg3ODEsIDE4Nzg2LCAxODc5NSwgMTg4MDEsIDE4ODA2LCAxODgwOCwKLSAxODgwOSwgMTg4MTEsIDE4ODE3LCAxODgyMywgMTg4MzIsIDE4ODQwLCAxODg0NiwgMTg4NDksIDE4ODU3LCAxODg2NCwgMTg4NjcsCi0gMTg4NjgsIDE4ODcwLCAxODg3MiwgMTg4NzYsIDE4ODc4LCAxODg4MCwgMTg4ODIsIDE4ODgzLCAxODg4OSwgMTg4OTIsIDE4OTAyLAotIDE4OTA0LCAxODkwNiwgMTg5MTIsIDE4OTIyLCAxODkyNiwgMTg5MjksIDE4OTMyLCAxODkzNiwgMTg5MzgsIDE4OTQ3LCAxODk0OSwKLSAxODk1MiwgMTg5NTQsIDE4OTU5LCAxODk2MSwgMTg5NjMsIDE4OTY3LCAxODk3MiwgMTg5NzgsIDE4OTg1LCAxODk4NiwgMTg5ODcsCi0gMTg5ODksIDE4OTkyLCAxODk5MywgMTg5OTcsIDE4OTk4LCAxOTAwMywgMTkwMDQsIDE5MDA1LCAxOTAwNiwgMTkwMDgsIDE5MDEyLAotIDE5MDEzLCAxOTAxNCwgMTkwMTYsIDE5MDE3LCAxOTAyMCwgMTkwMjEsIDE5MDIyLCAxOTAyMywgMTkwMjQsIDE5MDI1LCAxOTAyOCwKLSAxOTAyOSwgMTkwMzIsIDE5MDM0LCAxOTAzNSwgMTkwMzksIDE5MDQxLCAxOTA0NSwgMTkwNTMsIDE5MDU0LCAxOTA1NSwgMTkwNTcsCi0gMTkwNTgsIDE5MDU5LCAxOTA2MCwgMTkwNjEsIDE5MDYyLCAxOTA2MywgMTkwNjUsIDE5MDY2LCAxOTA2NywgMTkwNjgsIDE5MDY5LAotIDE5MDcwLCAxOTA3MSwgMTkwNzIsIDE5MDczLCAxOTA3NCwgMTkwNzUsIDE5MDc2LCAxOTA3NywgMTkwNzgsIDE5MDc5LCAxOTA4MCwKLSAxOTA4MSwgMTkwODIsIDE5MDgzLCAxOTA4NCwgMTkwODgsIDE5MDg5LCAxOTA5MCwgMTkwOTIsIDE5MDkzLCAxOTA5NCwgMTkwOTYsCi0gMTkwOTksIDE5MTA1LCAxOTExMSwgMTkxMTQsIDE5MTE3LCAxOTEyMCwgMTkxMjIsIDE5MTI1LCAxOTEzOCwgMTkxNTEsIDE5MTUzLAotIDE5MTU0LCAxOTE1NSwgMTkxNTgsIDE5MTYxLCAxOTE2NCwgMTkxNjUsIDE5MTY2LCAxOTE2NywgMTkxNjgsIDE5MTY5LCAxOTE3MCwKLSAxOTE3MiwgMTkxNzQsIDE5MTc2LCAxOTE3OCwgMTkxODAsIDE5MTgxLCAxOTE4MiwgMTkxODMsIDE5MTg0LCAxOTE4NSwgMTkxODcsCi0gMTkxODksIDE5MTkxLCAxOTE5MywgMTkxOTUsIDE5MTk3LCAxOTE5OSwgMTkyMDEsIDE5MjAzLCAxOTIwNCwgMTkyMDUsIDE5MjA2LAotIDE5MjA3LCAxOTIwOCwgMTkyMTAsIDE5MjEyLCAxOTIxNCwgMTkyMTYsIDE5MjE4LCAxOTIyMCwgMTkyMjMsIDE5MjI2LCAxOTIyNywKLSAxOTIyOCwgMTkyMzAsIDE5MjMyLCAxOTIzNCwgMTkyMzYsIDE5MjM4LCAxOTIzOSwgMTkyNDEsIDE5MjQzLCAxOTI0NSwgMTkyNDcsCi0gMTkyNDksIDE5MjUxLCAxOTI1MywgMTkyNTUsIDE5MjU3LCAxOTI1OCwgMTkyNjAsIDE5MjYyLCAxOTI2NCwgMTkyNjYsIDE5MjY4LAotIDE5MjcwLCAxOTI3MywgMTkyNzYsIDE5Mjc4LCAxOTI4MiwgMTkyOTEsIDE5MjkyLCAxOTI5MywgMTkyOTQsIDE5Mjk1LCAxOTI5NiwKLSAxOTI5OCwgMTkyOTksIDE5MzAwLCAxOTMwMSwgMTkzMDIsIDE5MzAzLCAxOTMwNSwgMTkzMDcsIDE5MzA5LCAxOTMxMSwgMTkzMTQsCi0gMTkzMTUsIDE5MzE2LCAxOTMxNywgMTkzMTgsIDE5MzE5LCAxOTMyMCwgMTkzMjEsIDE5MzIyLCAxOTMyMywgMTkzMjQsIDE5MzI1LAotIDE5MzI2LCAxOTMyNywgMTkzMjgsIDE5MzI5LCAxOTMzMCwgMTkzMzEsIDE5MzMyLCAxOTMzMywgMTkzMzQsIDE5MzM1LCAxOTMzNiwKLSAxOTMzNywgMTkzMzgsIDE5MzM5LCAxOTM0MCwgMTkzNDEsIDE5MzQyLCAxOTM0MywgMTkzNDQsIDE5MzQ1LCAxOTM0NiwgMTkzNDcsCi0gMTkzNDgsIDE5MzQ5LCAxOTM1MCwgMTkzNTEsIDE5MzUzLCAxOTM1NSwgMTkzNTcsIDE5MzU5LCAxOTM2MSwgMTkzNjMsIDE5MzY1LAotIDE5MzY3LCAxOTM3MCwgMTkzNzksIDE5MzgwLCAxOTM4MSwgMTkzODIsIDE5MzgzLCAxOTM4NCwgMTkzODcsIDE5MzkwLCAxOTM5MSwKLSAxOTM5MiwgMTkzOTMsIDE5Mzk1LCAxOTM5OSwgMTk0MDIsIDE5NDA1LCAxOTQwNywgMTk0MTAsIDE5NDEzLCAxOTQxNCwgMTk0MTYsCi0gMTk0MTgsIDE5NDIwLCAxOTQyMSwgMTk0MjIsIDE5NDIzLCAxOTQyNCwgMTk0MjUsIDE5NDI3LCAxOTQyOCwgMTk0MjksIDE5NDMwLAotIDE5NDMxLCAxOTQzMiwgMTk0MzMsIDE5NDM0LCAxOTQzNSwgMTk0MzYsIDE5NDM5LCAxOTQ0MCwgMTk0NDQsIDE5NDQ5LCAxOTQ1MCwKLSAxOTQ1MSwgMTk0NTMsIDE5NDU1LCAxOTQ2MSwgMTk0NjMsIDE5NDY1LCAxOTQ2NywgMTk0NjksIDE5NDcxLCAxOTQ3MywgMTk0NzUsCi0gMTk0NzcsIDE5NDc5LCAxOTQ4MSwgMTk0ODQsIDE5NDg1LCAxOTQ4OCwgMTk0OTAsIDE5NDkyLCAxOTQ5NCwgMTk0OTYsIDE5NDk4LAotIDE5NDk5LCAxOTUwMCwgMTk1MDEsIDE5NTAyLCAxOTUwMywgMTk1MDUsIDE5NTA3LCAxOTUwOSwgMTk1MTEsIDE5NTEzLCAxOTUxNSwKLSAxOTUxNywgMTk1MTksIDE5NTIxLCAxOTUyMywgMTk1MjUsIDE5NTI3LCAxOTUyOSwgMTk1MzAsIDE5NTMxLCAxOTUzMiwgMTk1MzMsCi0gMTk1MzQsIDE5NTM2LCAxOTUzOCwgMTk1NDAsIDE5NTQyLCAxOTU0NCwgMTk1NDYsIDE5NTQ4LCAxOTU1MCwgMTk1NTIsIDE5NTU0LAotIDE5NTU2LCAxOTU1OSwgMTk1NjIsIDE5NTYzLCAxOTU2NCwgMTk1NjYsIDE5NTY4LCAxOTU2OSwgMTk1NzEsIDE5NTczLCAxOTU3NSwKLSAxOTU3NywgMTk1NzgsIDE5NTgxLCAxOTU4MywgMTk1ODYsIDE5NTg5LCAxOTU5MiwgMTk1OTUsIDE5NTk4LCAxOTYwNCwgMTk2MTEsCi0gMTk2MTQsIDE5NjE3LCAxOTYyMywgMTk2MzAsIDE5NjMxLCAxOTYzMiwgMTk2MzUsIDE5NjM5LCAxOTY0MiwgMTk2NDQsIDE5NjQ3LAotIDE5NjQ5LCAxOTY1MCwgMTk2NTIsIDE5NjU0LCAxOTY1NiwgMTk2NTgsIDE5NjYwLCAxOTY2MiwgMTk2NjQsIDE5NjY2LCAxOTY2OCwKLSAxOTY3MCwgMTk2NzcsIDE5Njc4LCAxOTY3OSwgMTk2ODAsIDE5NjgxLCAxOTY4MiwgMTk2ODMsIDE5Njg0LCAxOTY4NSwgMTk2ODYsCi0gMTk2ODcsIDE5Njg4LCAxOTY4OSwgMTk2OTAsIDE5NjkxLCAxOTY5MiwgMTk2OTMsIDE5Njk0LCAxOTY5NSwgMTk2OTYsIDE5Njk3LAotIDE5Njk4LCAxOTY5OSwgMTk3MDAsIDE5NzAxLCAxOTcwMiwgMTk3MDMsIDE5NzA0LCAxOTcwNSwgMTk3MDYsIDE5NzA3LCAxOTcwOCwKLSAxOTcwOSwgMTk3MTAsIDE5NzExLCAxOTcxMiwgMTk3MTMsIDE5NzE0LCAxOTcxNSwgMTk3MTYsIDE5NzE3LCAxOTcxOCwgMTk3MTksCi0gMTk3MjAsIDE5NzIxLCAxOTcyMiwgMTk3MjMsIDE5NzI0LCAxOTcyNSwgMTk3MjYsIDE5NzI3LCAxOTcyOCwgMTk3MjksIDE5NzMwLAotIDE5NzMxLCAxOTczMiwgMTk3MzMsIDE5NzM0LCAxOTczNSwgMTk3MzYsIDE5NzM3LCAxOTczOCwgMTk3MzksIDE5NzQwLCAxOTc0MSwKLSAxOTc0MiwgMTk3NDMsIDE5NzQ0LCAxOTc0NSwgMTk3NDYsIDE5NzQ3LCAxOTc0OCwgMTk3NDksIDE5NzUwLCAxOTc1MSwgMTk3NTIsCi0gMTk3NTMsIDE5NzU0LCAxOTc1NiwgMTk3NTgsIDE5NzYwLCAxOTc2OSwgMTk3NzIsIDE5Nzc1LCAxOTc3OCwgMTk3ODEsIDE5Nzg0LAotIDE5Nzg3LCAxOTc5NSwgMTk4MDEsIDE5ODA5LCAxOTgxMywgMTk4MTgsIDE5ODMwLCAxOTgzMywgMTk4NDAsIDE5ODQyLCAxOTg0OCwKLSAxOTg2MywgMTk4NzEsIDE5ODgzLCAxOTg4NSwgMTk4OTEsIDE5ODkzLCAxOTg5NSwgMTk5MDEsIDE5OTAzLCAxOTkwNSwgMTk5MTIsCi0gMTk5MTYsIDE5OTE4LCAxOTkyOCwgMTk5MzQsIDE5OTM4LCAxOTk0OCwgMTk5NTgsIDE5OTYwLCAxOTk2OCwgMTk5NzAsIDE5OTcxLAotIDIwMDEwLCAyMDAxMSwgMjAwMTIsIDIwMDEzLCAyMDAxNCwgMjAwMTUsIDIwMDE2LCAyMDAxNywgMjAwMTgsIDIwMDE5LCAyMDAyMAotfTsKLQotc3RhdGljIHRfY2NzaWQgICAgICAgICAgZmluYWxfYXJyYXlbXSA9IHsKLSAwLCA2MjI0NiwgMzY4LCA5MTYsIDg5OCwgMzM3MjMsIDkwNSwgODcwLCA4NjcsIDg2NiwgODY0LCA4NjMsIDg2MiwgODYxLCA4NTgsCi0gODU2LCA4NTMsIDg1MiwgODUxLCA0MzgsIDEzODcsIDUzNTUsIDk0NTAsIDk0NDksIDk0NDgsIDUzNTEsIDUzNTAsIDUzNDksCi0gNTM0OCwgNTM0NywgMTIwOSwgMTIzNiwgMTIzNCwgMTIwNCwgMTIwMiwgMTM0ODksIDg3NSwgOTQ0LCAxMDUyLCA4NTksIDkyMSwKLSA5MTUsIDkxNCwgOTEzLCA4MjAsIDkyNCwgMTM2NCwgODc5LCA5MTcsIDgxNCwgMTA5MCwgMTI1MSwgOTIyLCAxMjUzLCA1NDc5LAotIDk3MSwgMTA0OCwgMTM3NiwgMTE1MCwgMTE0OSwgMTE0OCwgMTE0NywgMTE0NiwgMTE0NSwgMTE0NCwgMTE0MywgMTE0MiwgMTE0MSwKLSA5MjUsIDc3NiwgMTAyNywgOTE5LCA5MDYsIDkwNCwgODkyLCA4ODEsIDg3MiwgODcxLCA4NjksIDg2NSwgNTAxLCA0MjUsIDQyNCwKLSA0MjEsIDI5OCwgMjkxLCAyODYsIDI4NSwgMjgxLCAyNzksIDI3OCwgMjc0LCAzOCwgMTM4NCwgODM5LCAxMjc3LCA2MjIzNiwKLSA2MjIyNSwgNjIyMTIsIDYxOTUzLCA1NzM0NiwgMjg3MTAsIDI1NTQ3LCAxNzM1NSwgMTMxMjIsIDEzMTI1LCAxMjcwOSwgOTA2NywKLSA5MDU3LCA5MDMxLCA4NjEzLCA1MTI0LCA1MDUxLCA1MDUzLCA1MDU0LCA1MDU1LCA1MDU2LCA1MDM2LCA1MDI3LCA0OTcyLCA0OTYxLAotIDQ5NjYsIDQ5NTIsIDQ5NTMsIDQ5NTQsIDQ5NDksIDQzOTcsIDEzOTMsIDE0MDAsIDEzODEsIDEzODIsIDEzODksIDEzNzQsIDEzNjUsCi0gMTI4MSwgMTI4MiwgMTI4MywgMTI4NCwgMTI3NiwgMTI1MiwgMTI1NCwgMTI1NSwgMTI1NiwgMTI1NywgMTI1OCwgMTI1OSwgMTE2MSwKLSAxMTY1LCAxMTU0LCAxMTU1LCAxMTU2LCAxMTU3LCAxMTU4LCAxMTU5LCAxMTMxLCAxMTMzLCAxMTM0LCAxMTM4LCAxMTIzLCAxMTI0LAotIDExMzAsIDExMTMsIDExMTUsIDExMTYsIDEwOTgsIDEwOTksIDEwODksIDEwNDEsIDEwNDIsIDEwNDMsIDEwNDQsIDEwNDcsIDEwMjYsCi0gMTAyOCwgMTAxMSwgMTAxMiwgMTAxMywgMTAxNCwgMTAxNSwgMTAxNiwgMTAxNywgMTAxOCwgMTAxOSwgMTAyMCwgMTAwOSwgMTAxMCwKLSA5NjUsIDk2NiwgOTUxLCA5NTIsIDk1NywgOTU4LCA5NTksIDk2MCwgOTQzLCA5NDUsIDk0NywgOTQ4LCA5NTAsIDkzMSwgOTMzLAotIDkzNCwgOTM1LCA5MzYsIDkzNywgOTM4LCA5MzksIDk0MCwgOTIzLCA5MjcsIDkyOCwgOTI5LCA4OTcsIDg3NiwgODM0LCA4MzYsCi0gODM3LCA4MzgsIDczOCwgNzIxLCAzMDEsIDMwMiwgMjU3LCAxLCA4OTgsIDkxNiwgMzY4LCAzNjgsIDYyMjQ2Ci19OwotCi1zdGF0aWMgdF9zdGF0ZXJhbmdlICAgICBnb3RvX2FycmF5W10gPSB7Ci0gMTM0NDUsIDExOTc3LCAxMzQ0NiwgMTIwNjYsIDExNzkzLCAxMzQ0OCwgMTM0NDksIDEzNDUwLCAxMzQ1MSwgMTM0NTMsIDEzNDU0LAotIDEzNDU1LCAxMzQ1NiwgMTM0NTcsIDEzNDczLCAxMzQ1OCwgMTM0NTksIDEzNDYwLCAxMzQ2NiwgMTM0NjEsIDEzNDYyLCAxMzQ2OCwKLSAxMTc5MywgMTM0NDcsIDEzNDQ5LCAxMzQ1MCwgMTM0NTEsIDExNzkzLCAxMzQ0OCwgMTM0NDksIDEzNDUwLCAxMzQ1MSwgMTM0NTIsCi0gMTM0NTMsIDEzNDU0LCAxMzQ1NSwgMTM0NTYsIDEzNDU3LCAxMzQ3MywgMTM0NTgsIDEzNDU5LCAxMzQ2MCwgMTM0NjYsIDEzNDYxLAotIDEzNDYyLCAxMzQ2OCwgMTE3MzUsIDEzNDY5LCAxMzQ3MCwgMTM0NjMsIDEzNDY0LCAxMzQ3MywgMTM0NjUsIDEzNDc0LCAxMzQ3NSwKLSAxMzQ3NiwgMTM0NzcsIDEzNDc4LCAxMzQ3OSwgMTM0ODAsIDEzNDgxLCAxMzQ2NiwgMTM0ODIsIDEzNDY3LCAxMzQ4MywgMTM0NjgsCi0gMTM0ODUsIDExNzM1LCAxMzQ2OSwgMTM0NzAsIDEzNDcxLCAxMzQ3MiwgMTM0NzMsIDEzNDc0LCAxMzQ3NSwgMTM0NzYsIDEzNDc3LAotIDEzNDc4LCAxMzQ3OSwgMTM0ODAsIDEzNDgxLCAxMzQ4MiwgMTM0ODMsIDEzNDg0LCAxMzQ4NSwgMTExNDcsIDEzNDg2LCAxMTIzMCwKLSAxMzQ4NywgMTM0ODgsIDEzNDI2LCAxMzQxOSwgMTM0MjAsIDEzNDk2LCAxMzQyMywgMTM0OTgsIDE5LCAyMjksIDIzMCwgMjMxLAotIDIzMiwgMTgsIDE3LCAxNiwgMTUsIDE0LCAyMzgsIDIzNywgMjM2LCAyMzUsIDIzNCwgMjM5LCAyNDAsIDI0MSwgMjQyLCAyNDMsCi0gMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDI1MSwgMjUwLCAyNDksIDI0OCwgMjQ3LCAyNDYsIDI0NSwgMjUyLCAyNTMsIDI1NCwKLSAyNTUsIDI1NiwgMjU3LCAyNTgsIDI1OSwgMjQ0LCAyNjEsIDI2MCwgNiwgMjYzLCAyNjQsIDI2NSwgMjY2LCA5NSwgMjY4LCAyNjksCi0gMjY5LCAyNzAsIDI3MSwgMjcxLCAyNzIsIDI3MywgMjczLCAyNzQsIDI3NSwgMjc1LCAyNzYsIDI3NywgMjc3LCAyNzgsIDI3OSwKLSAyNzksIDI4MCwgMjgxLCAyODEsIDI4MiwgMjgzLCAyODMsIDI4NCwgMjg1LCAyODYsIDI4NywgMjg3LCAyODgsIDI4OSwgMjg5LAotIDI5MCwgMjkxLCAyOTEsIDI5MiwgMjkzLCAyOTMsIDI5NCwgMjk1LCAyOTUsIDI5NiwgMjk3LCAyOTcsIDI5OCwgMjk5LCAyOTksCi0gMzAwLCAzMDEsIDMwMSwgMzAyLCAzMDMsIDMwNCwgMzA1LCAzMDUsIDMwNiwgMzA3LCAzMDcsIDMwOCwgMzA5LCAzMDksIDIyNywKLSAzMTEsIDEzNDk0LCAyLCAzMTQsIDMxNSwgMzE2LCAzMTMsIDMxNywgMzE4LCAzMTksIDMyMCwgMzIxLCAzMjIsIDMyMywgMzI0LAotIDMyNSwgMzI2LCAzMjcsIDMyOCwgMzI5LCAzMzAsIDMzMSwgMzMyLCAzMzIsIDMzMywgMzM0LCAzMzUsIDMzNiwgMzM2LCAzMzcsCi0gMzM4LCAzMzgsIDUwLCAzNDAsIDM0MSwgMzQxLCAzNDIsIDM0MywgMzQzLCAzNDQsIDM0NSwgMzQ1LCAzNDYsIDM0NywgMzQ3LAotIDMxNSwgMzE1LCAzNDksIDM1MCwgMzUwLCAzNDEsIDM1MiwgMzUzLCAzNTQsIDM1NSwgMzU2LCAzNTcsIDM1OCwgMzU5LCAzNTksCi0gMzYwLCAzNTEsIDM2MiwgMzYyLCAzNjEsIDM2MSwgMzYzLCAzNDgsIDMzOSwgMzEwLCAzNjUsIDM2NSwgMzY0LCAzNjYsIDM2NywKLSAzNjQsIDM2NiwgMzY3LCA1NywgMzY5LCAzNzAsIDM3MCwgMzcxLCAzNzIsIDM3MiwgMzczLCAzNzQsIDM3NCwgMzc1LCAzNzYsCi0gMzc2LCAzNzcsIDM3OCwgMzc4LCAzNzksIDM4MCwgMzgxLCAzODIsIDM4MywgMzg0LCAzODQsIDM4NSwgMzg2LCAzODYsIDM5LAotIDM4OCwgMzg5LCAzOTAsIDM5MSwgNjgsIDM5MywgMzk0LCAzOTUsIDM5NiwgMzk3LCAzOTIsIDM5OCwgMzk5LCA2NywgNjYsIDY1LAotIDY0LCA2MywgNjIsIDYxLCA2MCwgNTksIDU4LCA0MTAsIDQwOSwgNDA4LCA0MDcsIDQwNiwgNDA1LCA0MDQsIDQwMywgNDAyLAotIDQwMSwgNDExLCA0MTIsIDQxMywgNDE0LCA0MTUsIDQxNiwgNDE3LCA0MTgsIDQxOSwgNDIwLCA0MjEsIDQyMiwgNDIzLCA0MjQsCi0gNDI1LCA0MDAsIDQyNiwgNDI3LCA0MjgsIDQyOSwgNDMwLCA0MzEsIDQzMSwgNDMyLCA0MzMsIDQzMywgNDM0LCA0MzUsIDQzNSwKLSA1NCwgNDM3LCA0MzgsIDQzOCwgNDM5LCA0NDAsIDQ0MCwgNDQxLCA0NDIsIDQ0MiwgNDQzLCA0NDQsIDQ0NCwgNDQ1LCA0NDYsCi0gNDQ2LCA3OCwgNDQ4LCA0NDksIDQ0OSwgMjUyLCAyNTIsIDI1NywgMjU3LCA0NTIsIDQ1MSwgNDUwLCA0NTMsIDQ1NCwgNDU1LAotIDQ1MywgNDU0LCA0NTUsIDkyLCA0NTcsIDQ1OCwgNDU5LCA0NjAsIDQyNiwgNDI3LCA3MCwgNDYyLCA0NjMsIDQ2NCwgNDY1LAotIDQ2NiwgNDY3LCA5MSwgODksIDQ3MCwgNDY5LCA0NzEsIDQ3MiwgODgsIDg3LCA4NiwgNDc2LCA0NzUsIDQ3NCwgNDc3LCA0NzgsCi0gNDc5LCA4NSwgODQsIDQ4MiwgNDgxLCA0ODMsIDQ4NCwgNDg1LCA0ODAsIDQ3MywgNDg2LCA0ODcsIDQ4OCwgMzE1LCA0OTAsCi0gNDkxLCA4MywgODIsIDgxLCA0OTUsIDQ5NCwgNDkzLCA0OTYsIDQ5NywgNDk4LCA0OTksIDIzMiwgNTAwLCA4MCwgNTAyLCA1MDMsCi0gNTA0LCA1MDUsIDY5LCA1MDcsIDUwOCwgNTA5LCA1MTAsIDQ0LCA1MTIsIDUxMywgNzksIDUxNSwgMjUyLCA0NDksIDI1MywgMjU0LAotIDUxNiwgMjU1LCAyNTYsIDI1NywgMjU4LCA3NywgNzYsIDUxOSwgNTE4LCA1MjAsIDUyMSwgNzUsIDUyMywgNTI0LCA3NCwgNTI2LAotIDUyNywgNTI4LCA1MjUsIDUyMiwgNTE3LCA1MTQsIDUyOSwgNTMwLCA1MzEsIDUzMiwgMjYxLCA1MzMsIDczLCA3MiwgNTM2LAotIDUzNSwgNTM3LCAyNjQsIDUzOCwgNzEsIDU0MCwgNTQxLCAyMCwgNTQzLCA1NDQsIDU0NSwgNTQyLCA1MzksIDU0NiwgNTQ3LAotIDU0OCwgNTQ5LCA1MzQsIDUxMSwgNTA2LCA1MDEsIDQ5MiwgNDg5LCA0NjgsIDQ2MSwgNDU2LCA1NTEsIDU1MiwgNTUzLCA1NTQsCi0gNTU1LCA1NTgsIDU1MCwgNTU2LCA1NTcsIDU1OSwgMjg1LCAyODUsIDU2MSwgNTYyLCA1NjIsIDU2MywgNTY0LCA1NjQsIDU2NSwKLSA1NjYsIDU2NiwgNTY3LCA1NjgsIDU2OCwgNTY5LCA1NzAsIDU3MCwgNTcxLCA1NzIsIDU3MiwgNTczLCA1NzQsIDU3NCwgNTc1LAotIDU3NiwgNTc2LCA1NzcsIDU3OCwgNTc4LCA1NzksIDU4MCwgNTgwLCAzNjIsIDM2MiwgNTgyLCA1ODEsIDU4MywgNTgzLCA1ODQsCi0gNTg0LCAzODAsIDU4NiwgNTg3LCA1ODcsIDU4OCwgNTg5LCA1ODksIDU1LCA1OTEsIDU5MiwgNTkyLCA1LCA1OTQsIDU5NSwgNTk1LAotIDU5NiwgNTk3LCA1OTcsIDU5OCwgNTk5LCA1OTksIDYwMCwgNjAxLCA2MDEsIDYwMiwgNjAzLCA2MDMsIDYwNCwgNjA1LCA2MDUsCi0gNjA2LCA2MDcsIDYwNywgNjA4LCA2MDksIDYwOSwgNjEwLCA2MTEsIDYxMSwgNjEyLCA2MTMsIDYxMywgNjE0LCA2MTUsIDYxNSwKLSA2MTYsIDYxNywgNjE3LCA2MTgsIDYxOSwgNjE5LCAzNiwgNjIxLCA2MjIsIDYyMiwgNjIzLCA2MjAsIDU5MywgNjI0LCA2MjQsCi0gNjI2LCA2MjYsIDYyNSwgNjI1LCA2MjcsIDYyOCwgNjI4LCA2MjksIDYzMCwgNjMwLCA5MywgNjMyLCA2MzMsIDYzNCwgNjM1LAotIDYzNiwgNjM3LCA2MzgsIDU0NCwgNTQ0LCA2MzksIDY0MCwgNjQxLCA2NDEsIDIyNCwgNjQzLCA2NDQsIDY0NCwgNjQ1LCA2NDYsCi0gNjQ2LCA2NDcsIDY0OCwgNjQ4LCA2NDksIDY1MCwgNjUwLCA2NTEsIDY1MiwgNjUyLCA2NTMsIDY1NCwgNjU0LCA2NTUsIDY1NiwKLSA2NTYsIDY1NywgNjU4LCA2NTgsIDY1OSwgNjYwLCA2NjAsIDY2MSwgNjYyLCA2NjIsIDY2MywgNjY0LCA2NjQsIDY2NSwgNjY2LAotIDY2NiwgNjY3LCA2NjgsIDY2OCwgNjY5LCA2NzAsIDY3MCwgNjcxLCA2NzIsIDY3MiwgMzgsIDY3NCwgNjc1LCA2NzYsIDY3NywKLSA2NzcsIDY3OCwgNjc5LCA2NzksIDY4MCwgNjgxLCA2ODEsIDY4MiwgNjgzLCA2ODMsIDY4NCwgNjg1LCA2ODUsIDY4NiwgNjczLAotIDY4NywgNjg3LCA2ODgsIDY4OCwgMjY3LCA2OTAsIDY5MSwgNjkyLCA2OTIsIDU2LCA2OTQsIDY5NSwgNjk2LCA2OTcsIDQ2NSwKLSA2OTgsIDY5OSwgOTAsIDcwMSwgNDcxLCA3MDIsIDQ3MiwgNzAzLCA0ODYsIDQ4NywgNzA0LCA1MDAsIDIzOSwgMjQwLCAyNDIsCi0gMjUyLCAyNTMsIDI1NCwgMjU1LCAyNTcsIDI1OCwgNDQ5LCA1MTYsIDcwOCwgNzA3LCA1MjksIDUzMCwgNTMxLCA3MDksIDcxMCwKLSA1MzcsIDUzOCwgNzEyLCA1NDcsIDcxMywgOTQsIDcxNSwgNzE2LCA3MTYsIDcxNywgNzE4LCA3MTgsIDcxOSwgNzIwLCA3MjAsCi0gNzIxLCA3MTQsIDcxMSwgNzA2LCA3MDUsIDcwMCwgNTUzLCA1NTgsIDcyMiwgNzIyLCA3MjYsIDcyNywgNzIzLCA3MjQsIDcyNSwKLSA3MjgsIDY5MywgNzI5LCA3MzAsIDcyOSwgNzMwLCA0MzgsIDczMiwgNzMzLCA3MzQsIDczNSwgNzM2LCA3MzcsIDczOCwgNzM5LAotIDc0MCwgNzQxLCA3NDIsIDc0MywgNzQzLCA3NDQsIDc0NSwgNzQ1LCA3NDYsIDc0NywgNTIsIDQ1LCA3NTAsIDc0OSwgNzUxLAotIDc1MiwgNzUzLCA3NTQsIDc1NSwgNzU2LCA3NTcsIDc1OCwgNzU5LCA3NjAsIDQzLCA0MiwgNDEsIDQwLCAzNjUsIDM2NSwgMjI1LAotIDc2NywgNzY4LCA3NjgsIDc2OSwgNzcwLCA3NzAsIDc3MSwgNzcyLCA3NzIsIDc3MywgNzc0LCA3NzQsIDc3NSwgNzc2LCA3NzYsCi0gNzc3LCA3NzgsIDc3OCwgNzc5LCA3ODAsIDc4MCwgNDksIDc4MiwgNzgzLCA3ODMsIDc4NCwgNzg1LCA3ODUsIDc4NiwgNzg3LAotIDc4NywgNzg4LCA3ODksIDc4OSwgNDgsIDc5MSwgNzkyLCA3OTIsIDc5MywgNzk0LCA3OTQsIDc5NSwgNzk2LCA3OTYsIDc5NywKLSA3OTgsIDc5OCwgNzk5LCA4MDAsIDgwMCwgODAxLCA3OTAsIDc4MSwgNzY2LCA3NjUsIDc2NCwgNzYzLCA3NjIsIDUxMywgODA2LAotIDgwNywgODA4LCA4MDksIDgwMiwgODAzLCA4MDQsIDgwNSwgODAyLCA4MDMsIDgwNCwgODA1LCA4MTAsIDgxMSwgODExLCA4MTIsCi0gODEzLCA4MTMsIDgxNCwgODE1LCA4MTUsIDgxNiwgODE3LCA4MTcsIDgxOCwgNzYxLCA3NDgsIDgxOSwgODE5LCA4MjAsIDgyMSwKLSA4MjIsIDgyMywgODIzLCA4MjQsIDczMSwgODI1LCA4MjYsIDgyNSwgODI2LCA0NywgODI4LCA4MjksIDgyOSwgODMwLCA4MzEsCi0gODMyLCA4MzMsIDgzMywgNDYsIDgzNSwgODM2LCA4MzcsIDgzOCwgODM5LCA4NDAsIDg0MSwgODQyLCA4NDMsIDg0NCwgODQ1LAotIDg0NiwgODQ3LCA4NDgsIDg0OSwgODUwLCA4NTEsIDg1MiwgODUyLCA4NTMsIDgzNCwgODU0LCA4NTUsIDg1NCwgODU1LCA1MDgsCi0gNTA4LCA4NTcsIDg1OCwgODU4LCA4NTksIDg2MCwgODYwLCA4NjEsIDg2MiwgODYyLCA4NjMsIDg2NCwgODY0LCA4NjUsIDg2NiwKLSA4NjYsIDg2NywgODY4LCA4NjksIDg3MCwgMjQzLCAyNDMsIDg3MiwgODczLCA4NzMsIDg3NCwgODc1LCA4NzUsIDg3NiwgODc3LAotIDg3NywgODc4LCA4NzksIDg3OSwgODgwLCA4ODEsIDg4MSwgODgyLCA4ODMsIDg4MywgODg0LCA4ODUsIDg4NSwgODg2LCA4ODcsCi0gODg3LCA4ODgsIDg4OSwgODg5LCA4OTAsIDg5MSwgODkxLCA4OTIsIDg5MywgODkzLCA4OTQsIDg5NSwgMjU2LCAyNTYsIDg5NywKLSA4OTgsIDg5OCwgODk5LCA5MDAsIDkwMCwgOTAxLCA5MDIsIDkwMiwgOTAzLCA5MDQsIDkwNCwgOTA1LCA5MDYsIDkwNiwgOTA3LAotIDkwOCwgOTA4LCA5MDksIDkxMCwgOTEwLCA5MTEsIDkxMiwgOTEyLCA5MTMsIDkxNCwgOTE0LCA5MTUsIDkxNiwgOTE2LCA5MTcsCi0gOTE4LCAyMzMsIDkyMCwgOTIxLCA5MjIsIDkyMiwgOTIzLCA5MjQsIDkyNCwgOTI1LCA5MjYsIDkyNiwgOTI3LCA5MjgsIDkyOCwKLSA5MjksIDkzMCwgOTMwLCA5MzEsIDkzMiwgOTMyLCA5MzMsIDkzNCwgOTM0LCA5MzUsIDkxOSwgODk2LCA5MzYsIDkzNiwgOTM3LAotIDkzOCwgMjQxLCA5NDAsIDk0MSwgOTQyLCA5NDMsIDk0NCwgOTM5LCA4NzEsIDk0NSwgOTQ1LCA5NDYsIDk0NywgOTQ4LCA5NDksCi0gOTQ5LCAzNywgOTUxLCA5NTIsIDk1MiwgOTUzLCA5NTQsIDk1NCwgOTU1LCA5NTYsIDk1NiwgOTU3LCA5NTgsIDk1OCwgOTU5LAotIDk2MCwgOTYwLCA5NjEsIDk2MiwgOTYyLCA5NjMsIDk2NCwgOTY0LCA2MjIsIDk2NiwgOTY3LCA5NjgsIDk2OSwgOTcwLCA5NzEsCi0gOTcxLCA5NzIsIDk3MywgOTczLCAzNSwgOTc1LCA5NzYsIDk3NiwgOTc3LCA5NzgsIDk3OCwgOTc5LCA5ODAsIDk4MCwgOTgxLAotIDk4MiwgOTgyLCA5ODMsIDk4NCwgOTg0LCAzNCwgOTg2LCA5ODcsIDk4NywgMzMsIDk4OSwgOTkwLCA5OTAsIDk5MSwgOTg4LAotIDk5MiwgOTkyLCA5OTMsIDk5MywgOTk0LCA5OTUsIDMyLCA5OTcsIDk5OCwgOTk4LCAzMSwgMTAwMCwgMTAwMSwgMTAwMSwgMTAwMiwKLSA5OTksIDEwMDMsIDEwMDMsIDEwMDQsIDEwMDQsIDEwMDUsIDEwMDYsIDMwLCAxMDA4LCAxMDA3LCA5OTYsIDEwMDksIDEwMTAsCi0gMTAxMSwgMTAxMiwgMTAxMywgMTAxMywgMTAxNCwgOTg1LCAxMDE1LCAxMDE2LCAxMDE1LCAxMDE2LCAyOSwgMjgsIDI3LCAyNiwKLSAyNSwgMjQsIDIzLCAyMiwgMjEsIDEwMjYsIDEwMjUsIDEwMjQsIDEwMjMsIDEwMjIsIDEwMjEsIDEwMjAsIDEwMTksIDEwMTgsCi0gMTAyNywgMTAyOCwgMTAyOSwgMTAzMCwgMTAzMSwgMTAzMiwgMTAzMywgMTAzNCwgMTAzNSwgMTAzNiwgMTAzNywgMTAzOCwgMTAzOSwKLSA1MywgNTEsIDEwNDIsIDEwNDEsIDEwNDMsIDEwNDQsIDEwNDUsIDEwNDYsIDEwNDYsIDEwNDcsIDEwNDgsIDEwNDgsIDEwNDksCi0gMTA1MCwgMTA1MCwgMTA1MSwgMTA1MiwgMTA1MiwgMTA1MywgMTA1NCwgMTA1NCwgMTA1NSwgMTA1NiwgMTA1NywgMTA0MCwgMTA1OSwKLSAxMDU4LCAxMDYwLCAxMDYxLCAxMDYxLCAxMDYyLCAxMDYzLCAxMDYzLCAxMDY0LCAxMDY1LCAxMDY1LCAxMDY2LCAxMDY3LCAxMDY3LAotIDEwNjgsIDEwNjksIDEwNjksIDEwNzAsIDEwNzEsIDEwNzEsIDEwNzIsIDEwMTcsIDk3NCwgOTY1LCA5NTAsIDg1NiwgODI3LAotIDY4OSwgNjQyLCA2MzEsIDU5MCwgNTg1LCAxMDczLCAxMDc0LCAxMDc1LCAxMDc2LCAxMDc3LCAxMDc4LCAxMDc5LCAxMDgwLAotIDEwODEsIDEwODIsIDEwODMsIDEwODQsIDEwNzMsIDEwNzQsIDEwNzUsIDEwNzYsIDEwNzcsIDEwNzgsIDEwNzksIDEwODAsIDEwODEsCi0gMTA4MiwgMTA4MywgMTA4NCwgMywgMTA4NiwgMTA4NywgMTA4NywgMTA4OCwgMTA4OSwgMTA4OSwgMTA5MCwgMTA5MSwgMTA5MSwKLSAxMDkyLCAxMDkzLCAxMDkzLCAxMDk0LCAxMDk1LCAxMDk1LCAxMDk2LCAxMDk3LCAxMDk3LCAxMDk4LCAxMDg1LCA1NjAsIDQ0NywKLSA0MzYsIDEwOTksIDExMDAsIDExMDEsIDExMDIsIDExMDMsIDEwOTksIDExMDAsIDExMDEsIDExMDIsIDExMDMsIDQ5OCwgNTQxLAotIDExMDUsIDExMDYsIDExMDYsIDUwMywgNTAzLCA0NTgsIDQ1OCwgNTAzLCA1MDMsIDcwMiwgNzAyLCA0NzgsIDQ3OCwgNDcxLAotIDQ3MSwgNDgzLCA0ODMsIDQ3NywgNDc3LCA0OTcsIDQ5NywgNDk2LCA0OTYsIDQ3OSwgNDc5LCA1MjAsIDUyMCwgNDU4LCA0NTgsCi0gNzAyLCA3MDIsIDUyMSwgNTIxLCAxMTE3LCAxMTE4LCAxMTE4LCAxMTE5LCAxMTIwLCAxMTIwLCAxMTIxLCAxMTIyLCAxMTIyLAotIDQ3MSwgNDcxLCA1MzcsIDUzNywgNDU4LCA0NTgsIDQ1OCwgNDU4LCA1MjEsIDUyMSwgMTEyOCwgMTEyNywgMTEyNiwgMTEyNSwKLSAxMTI0LCAxMTIzLCAxMTE2LCAxMTE1LCAxMTE0LCAxMTEzLCAxMTEyLCAxMTExLCAxMTEwLCAxMTA5LCAxMTA4LCAxMTA3LCAxMTI5LAotIDExMzAsIDExMzEsIDExMzIsIDExMzMsIDExMzQsIDExMzUsIDExMzYsIDExMzcsIDExMzgsIDExMzksIDExNDAsIDExNDEsIDExNDIsCi0gMTE0MywgMTE0NCwgMTEyOSwgMTEzMCwgMTEzMSwgMTEzMiwgMTEzMywgMTEzNCwgMTEzNSwgMTEzNiwgMTEzNywgMTEzOCwgMTEzOSwKLSAxMTQwLCAxMTQxLCAxMTQyLCAxMTQzLCAxMTQ0LCAxMTQ1LCAxMTQ2LCA1MjQsIDUyNCwgMTE0OCwgMTE0OSwgMTE0OSwgMTE1MCwKLSAxMTUxLCAxMTUxLCAxMTUyLCAxMTUzLCAxMTUzLCAxMTU0LCAxMTU1LCAxMTU1LCAxMTU2LCAxMTU3LCAxMTU3LCAxMTU4LCAxMTQ3LAotIDExNTksIDExNjAsIDExNTksIDExNjAsIDQxOSwgNDE5LCAxMTYyLCAxMTYzLCAxMTYzLCAxMTY0LCAxMTY1LCAxMTY1LCAxMTY2LAotIDExNjcsIDExNjcsIDExNjgsIDExNjksIDExNzAsIDExNzEsIDExNzIsIDExNzMsIDExNzQsIDExNzUsIDExNzYsIDExNzcsIDQxOCwKLSA0MTgsIDExNzksIDExODAsIDExODAsIDExODEsIDExODIsIDExODIsIDExODMsIDExODQsIDExODQsIDExODUsIDExODYsIDExODcsCi0gMTE4OCwgMTE4OSwgMTE5MCwgMTE5MSwgMTE5MiwgMTE5MywgMTE5NCwgMTE5NSwgMTE3OCwgMTE5NiwgMTE5NiwgMTE5NywgMTE5NywKLSA0MTUsIDQxNSwgMTE5OSwgMTIwMCwgMTIwMCwgMTIwMSwgMTIwMiwgMTIwMiwgMTIwMywgMTIwNCwgMTIwNCwgMTIwNSwgMTIwNiwKLSAxMjA3LCAxMjA4LCAxMjA5LCAxMjEwLCAxMjExLCAxMjEyLCAxMjEzLCAxMjE0LCAxMjE1LCAxMjE2LCAxMjE2LCA0MTcsIDQxNywKLSAxMjE4LCAxMjE5LCAxMjE5LCAxMjIwLCAxMjIxLCAxMjIxLCAxMjIyLCAxMjIzLCAxMjIzLCAxMjI0LCAxMjI1LCAxMjI2LCAxMjI3LAotIDEyMjgsIDEyMjksIDEyMzAsIDEyMzEsIDEyMzIsIDEyMzMsIDQxMywgNDEzLCAxMjM1LCAxMjM2LCAxMjM2LCAxMjM3LCAxMjM4LAotIDEyMzgsIDEyMzksIDEyNDAsIDEyNDAsIDEyNDEsIDEyNDIsIDEyNDMsIDEyNDQsIDEyNDUsIDEyNDYsIDEyNDcsIDEyNDgsIDEyNDksCi0gMTI1MCwgMTI1MSwgMTIzNCwgMTI1MywgMTI1MywgMTI1MiwgMTI1MiwgNDE0LCA0MTQsIDEyNTUsIDEyNTYsIDEyNTYsIDEyNTcsCi0gMTI1OCwgMTI1OCwgMTI1OSwgMTI2MCwgMTI2MCwgMTI2MSwgMTI2MiwgMTI2MywgMTI2NCwgMTI2NSwgMTI2NiwgMTI2NywgMTI2OCwKLSAxMjY5LCAxMjcwLCAxMjcxLCAxMjcyLCAxMjcyLCA0MTIsIDQxMiwgMTI3NCwgMTI3NSwgMTI3NSwgMTI3NiwgMTI3NywgMTI3NywKLSAxMjc4LCAxMjc5LCAxMjc5LCAxMjgwLCAxMjgxLCAxMjgyLCAxMjgzLCAxMjg0LCAxMjg1LCAxMjg2LCAxMjg3LCAxMjg4LCAxMjg5LAotIDEyOTAsIDEyOTEsIDEyOTEsIDEyOTIsIDEyOTMsIDEyOTMsIDEyOTQsIDEyOTUsIDEyOTUsIDEyOTYsIDEyOTcsIDEyOTcsIDEyOTgsCi0gMTI5OSwgMTI5OSwgMTMwMCwgMTMwMSwgMTMwMSwgMTMwMiwgMTMwMywgMTMwMywgMTMwNCwgMTMwNSwgMTMwNSwgMTMwNiwgMTMwNywKLSAxMzA3LCAxMzA4LCAxMzA5LCAxMzA5LCAxMzEwLCAxMzExLCAxMzExLCA0MTEsIDQxMSwgMTMxMywgMTMxNCwgMTMxNCwgMTMxNSwKLSAxMzE2LCAxMzE2LCAxMzE3LCAxMzE4LCAxMzE4LCAxMzE5LCAxMzIwLCAxMzIxLCAxMzIyLCAxMzIzLCAxMzI0LCAxMzI1LCAxMzI2LAotIDEzMjcsIDEzMjgsIDQxNiwgNDE2LCAxMzMwLCAxMzMxLCAxMzMxLCAxMzMyLCAxMzMzLCAxMzMzLCAxMzM0LCAxMzM1LCAxMzM1LAotIDEzMzYsIDEzMzcsIDEzMzgsIDEzMzksIDEzNDAsIDEzNDEsIDEzNDIsIDEzNDMsIDEzNDQsIDEzNDUsIDEzNDYsIDEzMjksIDEzMTIsCi0gMTM0NywgMTM0OCwgMTM0OSwgMTM0NywgMTM0OCwgMTM0OSwgNDg0LCA0ODQsIDEzNTEsIDEzNTIsIDEzNTIsIDEzNTMsIDEzNTQsCi0gMTM1NCwgMTM1NSwgMTM1NiwgMTM1NiwgMTM1NywgMTM1OCwgMTM1OSwgMTM2MCwgMTM2MCwgMzk0LCAzOTQsIDEzNjIsIDEzNjMsCi0gMTM2MywgMTM2NCwgMTM2NSwgMTM2NSwgMTM2NiwgMTM2NywgMTM2NywgMTM2OCwgMTM2OSwgMTM3MCwgMTM3MSwgMTM3MiwgMTM3MywKLSAxMzc0LCAxMzc1LCAxMzc1LCAxMzc2LCAxMzc3LCAxMzc3LCAxMzc4LCAxMzc5LCAxMzc5LCAxMzgwLCAxMzgxLCAxMzgxLCAxMTk2LAotIDExOTYsIDEyNTMsIDEyNTMsIDQyMCwgNDIwLCAxMzg1LCAxMzg2LCAxMzg2LCAxMzg3LCAxMzg4LCAxMzg4LCAxMzg5LCAxMzkwLAotIDEzOTAsIDEzOTEsIDEzOTIsIDEzOTMsIDEzOTQsIDEzOTUsIDEzOTYsIDEzOTcsIDEzOTgsIDEzOTksIDE0MDAsIDE0MDAsIDE0MDEsCi0gMTM4NCwgMTM4MywgMTM4MiwgMTM2MSwgMTM1MCwgMTI3MywgMTI1NCwgMTIxNywgMTE5OCwgMTE2MSwgMTQwMiwgMTQwMywgMTQwNCwKLSAxNDA1LCAxNDA2LCAxNDA3LCAxNDA4LCAxNDA5LCAxNDEwLCAxNDExLCAxNDEyLCAxNDAyLCAxNDAzLCAxNDA0LCAxNDA1LCAxNDA2LAotIDE0MDcsIDE0MDgsIDE0MDksIDE0MTAsIDE0MTEsIDE0MTIsIDE0MTMsIDkyLCAxNDE0LCAxNDE1LCAxNDE2LCAxNDE2LCAxNDE3LAotIDE0MTgsIDE0MTgsIDE0MTksIDE0MjAsIDE0MjAsIDE0MjEsIDE0MjIsIDE0MjIsIDM0MSwgNzgzLCAxNDI0LCAxNDI1LCAxNDI2LAotIDE0MjcsIDE0MjgsIDE0MjksIDE0MzAsIDE0MzEsIDE0MzEsIDE0MzIsIDE0MzMsIDE0MzMsIDc4MywgMTQzNSwgMTQzNiwgMTQzNywKLSAxNDM4LCAxNDM5LCAxNDQwLCAxNDQxLCAxNDQyLCAxNDQyLCAxNDQzLCAxNDQ0LCAxNDQ0LCA2MzMsIDYzMywgNTk1LCA1OTUsCi0gNjIyLCAxNDQ4LCAxNDQ5LCAxNDQ5LCAxNDUwLCAxNDQ3LCAxNDQ2LCAxNDUxLCA2MjYsIDE0NTIsIDE0NTMsIDE0NTEsIDYyNiwKLSAxNDUyLCAxNDUzLCAxNDU0LCA2MjQsIDYyNCwgMTQ1NSwgMTQ1NiwgMTQ1NywgMTQ1NywgNjExLCAxNDU5LCAxNDYwLCAxNDYwLAotIDE0NjEsIDE0NjIsIDE0NjIsIDE0NjMsIDE0NjQsIDE0NjQsIDE0NjUsIDE0NjYsIDE0NjcsIDE0NjgsIDE0NjgsIDE0NjksIDE0NzAsCi0gMTQ3MCwgMTQ3MSwgMTQ3MiwgMTQ3MiwgMTQ3MywgMTQ3NCwgMTQ3NCwgMTQ3NSwgMTQ3NiwgMTQ3NiwgMTQ3NywgMTQ3OCwgMTQ3OCwKLSAxNDc5LCAxNDgwLCAxNDgxLCAxNDgyLCAxNDgyLCAxNDgzLCAxNDg0LCAxNDg0LCAxNDg1LCAxNDg2LCAxNDg2LCAxNDg3LCAxNDg4LAotIDE0ODgsIDE0ODksIDE0OTAsIDE0OTAsIDE0OTEsIDE0OTIsIDE0OTIsIDE0OTMsIDE0OTQsIDE0OTUsIDE0OTYsIDE0OTYsIDE0OTcsCi0gMTQ5OCwgMTQ5OCwgMTQ5OSwgMTUwMCwgMTUwMCwgMTUwMSwgMTUwMiwgMTUwMiwgMTUwMywgMTUwNCwgMTUwNSwgMTUwNiwgMTUwNiwKLSAxNTA3LCAxNTA4LCAxNTA4LCAxNTA5LCAxNTEwLCAxNTEwLCAxNTExLCAxNTEyLCAxNTEyLCAxNTEzLCAxNTE0LCAxNTE1LCAxNTE2LAotIDE1MTYsIDE1MTcsIDE1MTgsIDE1MTgsIDE1MTksIDE1MjAsIDE1MjAsIDE1MjEsIDE1MjIsIDE1MjIsIDE1MjMsIDE1MjQsIDE1MjQsCi0gMTUyNSwgMTUyNiwgMTUyNiwgMTUyNywgMTQ1OCwgMTQ0NSwgMTQzNCwgMTQyMywgMTUyOCwgMTUyOSwgMTUzMCwgMTUzMSwgMTUzMiwKLSAxNTI4LCAxNTI5LCAxNTMwLCAxNTMxLCAxNTMyLCA3MzUsIDE1MzQsIDE1MzUsIDE1MzYsIDE1MzcsIDE1MzgsIDE1MzksIDE1NDAsCi0gMTU0MSwgMTU0MiwgNTQ0LCA1NDQsIDE1NDMsIDYzOSwgNDksIDc4MywgMTU0NSwgMTU0NiwgMTU0NiwgMTU0NywgMTU0OCwgMTU0OCwKLSAxNTQ5LCAxNTUwLCAxNTUwLCAxNTUxLCAxNTQ0LCAxNTUyLCAxNTUzLCAxNTUyLCAxNTUzLCA2ODcsIDE1NTUsIDE1NTYsIDgwMCwKLSAxNTU2LCA4MDAsIDk3NiwgOTg3LCA5OTAsIDk5OCwgMTAwMSwgMTU1OSwgMTU1OCwgNDksIDc1MiwgMTAwOSwgMTU2MCwgMTU2MSwKLSA0OCwgNTQ0LCA3NTEsIDQsIDE1NjQsIDE1NjMsIDE1NjIsIDU5NSwgODA2LCA5NTIsIDE1NjUsIDE1NjYsIDE1NjcsIDI0MywKLSAyNjksIDY3NSwgMTA0MywgMTA0NCwgMjMwLCAyNDEsIDI1NiwgNzE2LCA0NTgsIDYzMywgNDcxLCA0NzIsIDQ3NywgNDc4LCA0NzksCi0gNDg0LCA3MDIsIDIzOSwgMjQwLCAyNDIsIDI1NywgMjU4LCA0ODMsIDQ5NiwgNDk3LCA0OTgsIDUwMywgMjUyLCAyNTQsIDI1NSwKLSA0NDksIDUxNiwgNTIwLCA1MjEsIDUyNCwgNTI3LCA1MzgsIDI2NCwgNDYzLCA1MzcsIDU0MSwgMjUzLCAzODksIDUwOCwgODI5LAotIDM5NCwgNDEyLCA0MTMsIDQxNCwgNDE1LCA0MTYsIDQxNywgNDE4LCA0MTksIDQyMCwgMTU3NywgMTU3NiwgMTU3NSwgMTU3NCwKLSAxNTczLCAxNTcyLCAxNTcxLCAxNTcwLCAxNTY5LCAxNTc4LCAxNTc5LCAxNTgwLCAxNTgxLCAxNTgyLCAxNTgzLCAxNTg0LCAxNTg1LAotIDE1ODYsIDM3MCwgNDExLCA2OTUsIDE1ODgsIDE1ODksIDYyMiwgMTAyNywgMTAyOCwgMTAyOSwgMTAzMCwgMTAzMSwgMTAzMiwKLSAxMDMzLCAxMDM0LCAxMDM1LCAxNTkxLCAxNTkyLCAxNTkzLCAxNTkwLCAxNTg3LCAxNTk0LCAxNTk1LCAxNTk2LCAyLCA1OTIsCi0gODM2LCA0MywgNDM4LCAxNTk5LCAxNTk4LCAxNTk3LCAxNTY4LCAzNDEsIDUxMywgODA3LCA4MDgsIDEwODcsIDE2MDAsIDE2MDEsCi0gMTYwMiwgMTYwMywgMTYwNCwgMTYwNSwgMTYwNiwgMTYwNywgMTYwNywgMTYwOCwgMTYwOSwgMTYwOSwgMjIzLCAxODQsIDE4NSwKLSAxNjEzLCAxNjEyLCAxNjE0LCAxNjE1LCAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgMTc5LCAxODAsIDE4MSwgMTgyLCAxODMsCi0gMTYyNiwgMTYyNSwgMTYyNCwgMTYyMywgMTYyMiwgMTYyMSwgMTYyMCwgMTYxOSwgMTYxOCwgMTYxNywgMTYyNywgMTYyOCwgMTYyOSwKLSAxNjMwLCAxNjMxLCAxNjMyLCAxNjMzLCAxNjM0LCAxNjM1LCAxNjM2LCAxNzIsIDE3MywgMTYzOSwgMTYzOCwgNDYzLCAxNjQwLAotIDE2NDEsIDE2NywgMTY4LCAxNjksIDE3MCwgMTcxLCAxNjQ3LCAxNjQ2LCAxNjQ1LCAxNjQ0LCAxNjQzLCA2OTUsIDE2NDgsIDE2NDksCi0gMTY1MCwgMTY1MSwgMTY1MiwgNjc1LCAxNjYsIDE2NTUsIDM0MSwgMTY1NiwgMTY0LCAxNjUsIDE2NTksIDE2NTgsIDE2NjAsCi0gMTY2MSwgMTY2MiwgMTY1NywgMTY1NCwgMTY1MywgMTY0MiwgMTYzNywgMTYxNiwgMTY2MywgMTY2NCwgMTY2NSwgMTY2NiwgMTY2NywKLSAxNjY4LCAxNjY5LCAxNjEsIDE2MiwgMTYzLCAxNjczLCAxNjcyLCAxNjcxLCAxNjc0LCAxNjc1LCAxNjc2LCAxNTgsIDE1OSwKLSAxNjAsIDE2ODAsIDE2NzksIDE2NzgsIDE2ODEsIDE2ODIsIDE2ODMsIDE1NCwgMTU1LCAxNTYsIDE1NywgMTY4OCwgMTY4NywKLSAxNjg2LCAxNjg1LCAxNjg5LCAxNjkwLCAxNjkxLCAxNjkyLCAxNDgsIDE0OSwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNjk5LCAxNjk4LAotIDE2OTcsIDE2OTYsIDE2OTUsIDE2OTQsIDE3MDAsIDE3MDEsIDE3MDIsIDE3MDMsIDE3MDQsIDE3MDUsIDE0NiwgMTQ3LCAxNzA4LAotIDE3MDcsIDE3MDksIDE3MTAsIDE3MTEsIDE3MDYsIDE2OTMsIDE2ODQsIDE2NzcsIDQyMiwgMTcxMiwgMTcxMywgMTcxNCwgMTcxNSwKLSAxNzE2LCA5ODcsIDk5MCwgMTAwOSwgOTk4LCAxMDAxLCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAxNDUsIDE3MjYsCi0gMTcyNSwgMTcyNCwgMTcyMywgMTcyMiwgMTcyMSwgMTcyMCwgMTA0MywgMTA0NCwgMTcyNywgMTcyOCwgMTcyOSwgMTczMCwgMTczMSwKLSAxNzMyLCAxNzMzLCAxMDYsIDE3MzUsIDE3MzYsIDEzOCwgMTczOCwgMTczNywgMjY5LCAxNzM5LCAxNzQwLCAxMzQsIDEzNSwKLSAxMzYsIDEzNywgMTc0NSwgMTc0NCwgMTc0MywgMTc0MiwgMTc0NiwgMTc0NywgMTc0OCwgMTc0OSwgMTc1MCwgMTc0MSwgMTczNCwKLSAxNzE5LCAxNzE4LCAxNzUxLCAxNzUyLCAxNzUzLCAxNzU0LCAxNzU1LCAxMDQsIDEwNSwgMTc1OCwgMTc1NywgMTc1OSwgMTc2MCwKLSAxNzYxLCAxNzYyLCA5NzYsIDE3NjQsIDE3NjUsIDEzMywgMTc2NywgODM2LCAxNzY4LCAxMzIsIDE3NzAsIDM3MCwgMTc3MSwKLSAxMjksIDEzMCwgMTMxLCAxNzc1LCAxNzc0LCAxNzczLCA1NDQsIDE3NzYsIDYzMywgMTc3NywgMTc3OCwgMTI3LCAxMjgsIDE3ODEsCi0gMTc4MCwgMTc4MiwgMTc4MywgMTc4NCwgMTc3OSwgMTc3MiwgMTc2OSwgMTc2NiwgMTc2MywgMTc4NSwgMTc4NiwgMTc4NywgMTc4OCwKLSAxNzg5LCAxNzkwLCAxMDMsIDE3OTIsIDE3OTMsIDE3OTQsIDE3OTUsIDE3OTYsIDE3OTcsIDE3OTgsIDE3OTEsIDE3NTYsIDE3MTcsCi0gMTY3MCwgMTc5OSwgMTgwMCwgMTgwMSwgMTgwMiwgMTgwMywgMTAyLCAxODA1LCAxODA2LCAxODA3LCAxODA4LCAyMjIsIDE4MTAsCi0gMTgwOSwgMTgxMSwgMTgxMiwgMTAxLCAxODE0LCAxODE1LCAxODE2LCAxODE3LCAxODE4LCA0NzcsIDQ3OCwgNDc5LCAxODE5LAotIDE4MjAsIDE4MTMsIDQ4NiwgNzA0LCAxODIxLCAxODIyLCAyMjAsIDIyMSwgMTgyNSwgMTgyNCwgMTgyNiwgMTgyNywgNTk1LAotIDE4MjksIDE4MzAsIDE4MzEsIDE4MzIsIDE4MzMsIDE4MjgsIDQ1OCwgNDkxLCAxODM0LCAxODM1LCAxMjYsIDE4MzcsIDE4MzgsCi0gMTgzOSwgMjMwLCAxODQwLCAxMjUsIDE4NDIsIDE4NDMsIDEyMiwgMTIzLCAxMjQsIDE4NDcsIDE4NDYsIDE4NDUsIDE4NDgsCi0gMTg0OSwgMTg1MCwgMTIwLCAxMjEsIDE4NTMsIDE4NTIsIDE4NTQsIDE4NTUsIDExOSwgMTg1NywgMTg1OCwgMTg1OSwgMTg1NiwKLSAxODUxLCAxODQ0LCAxODYwLCAxODYxLCAxODYyLCAxODYzLCAxODY0LCAxODQxLCA1MDAsIDE4NjUsIDE4NjYsIDExOCwgMTg2OCwKLSAxODY5LCAxMTcsIDE4NzEsIDE4NzIsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxODc4LCAxODc3LCAxODc2LCAxODc1LCAxODc0LAotIDE4NzksIDE4ODAsIDE4ODEsIDE4ODIsIDE4ODMsIDE4ODQsIDE4NzMsIDE4NzAsIDUwMywgMTg4NSwgMTg4NiwgMTg4NywgMTExLAotIDE4ODksIDE4OTAsIDE4OTEsIDE4OTIsIDEwMzIsIDEwMzMsIDEwMzQsIDEwMzUsIDEwMjcsIDEwMzEsIDE4OTUsIDE4OTQsIDE4OTYsCi0gMTg5NywgNDM4LCAxODk5LCAxOTAwLCAxMDAsIDE5MDIsIDE5MDMsIDE5MDQsIDE5MDUsIDE5MDYsIDE5MDcsIDE5MDgsIDE5MDEsCi0gMTg5OCwgMTg5MywgMTg4OCwgMTkwOSwgMTkxMCwgMTkxMSwgMTkxMiwgMTkxMywgOTksIDE5MTUsIDE5MTYsIDE5MTcsIDE5MTgsCi0gMTkxOSwgMTkyMCwgOTgsIDE5MjIsIDE5MjMsIDk3LCAxOTI1LCAxOTI2LCA5NiwgMTkyOCwgMTkyOSwgMjI4LCAxOTMxLCAxOTMyLAotIDE5MzMsIDE5MzAsIDE5MjcsIDE5MjQsIDE5MzQsIDE5MzUsIDE5MzYsIDE5MzcsIDE5MzgsIDE5MzksIDE5NDAsIDE5MjEsIDE5NDEsCi0gMTk0MiwgMjE5LCAxOTQ0LCAxOTQ1LCAyMTgsIDE5NDcsIDE5NDgsIDE5NDksIDE5NDYsIDUxMCwgMTk1MCwgMTk1MSwgNTEzLAotIDc4MywgMjE0LCAyMTUsIDIxNiwgMjE3LCAxOTU3LCAxOTU2LCAxOTU1LCAxOTU0LCA3MTYsIDE5NTgsIDE5NTksIDE5NjAsIDE5NjEsCi0gMjM5LCAyNDAsIDI0MSwgMjQyLCAyNDMsIDM4OSwgMTEwLCAxOTY0LCAxMiwgMTk2NSwgMTk2NiwgMjUyLCAyNTMsIDI1NCwgMjU1LAotIDI1NiwgMjU4LCA0NDksIDUxNiwgMTk2NywgMjEzLCAxOTY5LCA1MjAsIDUyMSwgNjIyLCA4MjksIDE5NzAsIDIxMiwgMTk3MiwKLSA1MjcsIDE1NjUsIDE5NzMsIDE5NzQsIDE5NzEsIDE5NjgsIDE5NjMsIDE5NjIsIDE5NTMsIDUzMCwgMTk3NSwgMTk3NiwgMTk3NywKLSAxOTc4LCAxOTc5LCAxOTgwLCAxMDksIDE5ODIsIDczLCAxOTgzLCAxMDgsIDE5ODUsIDcyLCAxOTg2LCAxMDcsIDE5ODgsIDE5ODksCi0gMTk5MCwgMTk4NywgMTk4NCwgMjY0LCAxOTkxLCAxOTkyLCAxOTkzLCA1NDEsIDc5MiwgODA3LCA4MDgsIDgwOSwgMTA4NywgMjA4LAotIDIwOSwgMjEwLCAyMTEsIDE5OTksIDE5OTgsIDE5OTcsIDE5OTYsIDM5NCwgNzUxLCA3NTIsIDgwNiwgMjAwMCwgMjAwMSwgMjAwMiwKLSAyMDAzLCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDEzLCAyMDEyLCAyMDExLCAyMDEwLAotIDIwMDksIDIwMDgsIDIwMDcsIDIwMDYsIDIwMDUsIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTgsIDIwMTksIDIwMjAsIDIwMjEsCi0gMjAyMiwgMTk0LCAxMDI4LCAxMDI5LCAxMDMwLCAxOTUsIDE5NiwgMTk3LCAxOTgsIDIwMjgsIDIwMjcsIDIwMjYsIDIwMjUsCi0gMjAyNCwgOTUyLCAyMDI5LCAyMDMwLCAyMDMxLCAyMDMyLCAyMDMzLCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAyMDQwLAotIDIwMzksIDIwMzgsIDIwMzcsIDIwMzYsIDIwMzUsIDIwNDEsIDIwNDIsIDIwNDMsIDIwNDQsIDIwNDUsIDIwNDYsIDE4NiwgMTg3LAotIDIwNDksIDIwNDgsIDIwNTAsIDIwNTEsIDU5MiwgMjA1MywgMjA1MiwgMjA0NywgMjAzNCwgMjAyMywgMjAwNCwgMTk5NSwgMTk5NCwKLSAyMDU0LCAyMDU1LCAyMDU2LCAyMDU3LCAyMDU4LCAyMDU5LCAyMDYwLCAyMDYxLCAyMDYyLCAxOTgxLCAxOTUyLCAxOTQzLCAxOTE0LAotIDE4NjcsIDE4MzYsIDE4MjMsIDE4MDQsIDE2MTEsIDcyMiwgNzIyLCAyMDYzLCAyMDY0LCAyMDY1LCAyMDY2LCAyMDY3LCAyMDY4LAotIDIwNjksIDIwNzAsIDIwNzEsIDIwNzIsIDU0NywgNTQ4LCAyMjMsIDkyLCAyMDc2LCAyMDc1LCAyMDc3LCAyMDc4LCAyMjIsIDg5LAotIDkwLCA5MSwgODYsIDg3LCA4OCwgODQsIDg1LCAyMDgzLCAyMDgyLCAyMDgxLCAyMDgwLCAyMDg0LCAyMDg1LCAyMDg2LCAyMDg3LAotIDIyMCwgMjIxLCAyLCAyMDkwLCAyMDg5LCAyMDkxLCAyMDkyLCA4MSwgODIsIDgzLCAxOSwgMjA5NSwgMjA5NCwgMjA5NiwgMjA5NywKLSA4MCwgMjA5OSwgMjEwMCwgMjE5LCAyMTgsIDY5LCAyMTA0LCAyMTAzLCAyMTAyLCAyMTA1LCAyMTA2LCAyMTA3LCA0NCwgNDksCi0gOTQsIDIxNCwgMjE1LCAyMTYsIDIxNywgMTQsIDE1LCAxNiwgMTcsIDE4LCAzOSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsCi0gNzgsIDc5LCAzNiwgNDcsIDc2LCA3NywgMjEzLCA3NSwgNCwgNzQsIDIxMiwgMjExNSwgMjExNCwgMjExMywgMjExMiwgMjExMSwKLSAyMTEwLCAyMTA5LCAyMTE2LCAyMTE3LCAyMTE4LCAyMTE5LCAyMTIwLCAyMTIxLCAyMTIyLCA2LCA3MiwgNzMsIDMsIDQxLCA0MiwKLSA0MywgNDgsIDcxLCA0MCwgNDUsIDUyLCA2OCwgMjA4LCAyMDksIDIxMCwgMjExLCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywKLSAyMDQsIDIwNSwgMjA2LCAyMDcsIDM3LCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTg4LCAxODksIDE5MCwgMTkxLCAxOTIsCi0gMTkzLCAxODYsIDE4NywgNTUsIDIxMzEsIDIxMzAsIDIxMjksIDIxMjgsIDIxMjcsIDIxMjYsIDIxMjUsIDIxMjQsIDIxMzIsCi0gMjEzMywgMjEzNCwgMjEzNSwgMjEzNiwgMjEzNywgMjEzOCwgMjEzOSwgMjE0MCwgMjEyMywgMjEwOCwgMjEwMSwgMjA5OCwgMjA5MywKLSAyMDg4LCAyMDc5LCAyMTQxLCAyMTQyLCAyMTQzLCAyMTQ0LCAyMTQ1LCAyMTQ2LCAyMTQ3LCAyMTQ4LCAxODQsIDE4NSwgMTc0LAotIDE3NSwgMTc2LCAxNzcsIDE3OCwgMTc5LCAxODAsIDE4MSwgMTgyLCAxODMsIDcwLCAxNzIsIDE3MywgNTYsIDE2NywgMTY4LAotIDE2OSwgMTcwLCAxNzEsIDM4LCA1MCwgMTY2LCAxNjQsIDE2NSwgMjE1NiwgMjE1NSwgMjE1NCwgMjE1MywgMjE1MiwgMjE1MSwKLSAyMTUwLCAyMTU3LCAyMTU4LCAyMTU5LCAyMTYwLCAyMTYxLCAyMTYyLCAyMTYzLCAxNjEsIDE2MiwgMTYzLCAxNTgsIDE1OSwKLSAxNjAsIDE1NCwgMTU1LCAxNTYsIDE1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDE0OCwgMTQ5LAotIDE1MCwgMTUxLCAxNTIsIDE1MywgMTQ2LCAxNDcsIDIxNzAsIDIxNjksIDIxNjgsIDIxNjcsIDIxNjYsIDIxNjUsIDIxNzEsIDIxNzIsCi0gMjE3MywgMjE3NCwgMjE3NSwgMjE3NiwgMzAsIDMzLCAzNCwgMzEsIDMyLCA1MSwgNTMsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLAotIDE0NCwgMTQ1LCA5NSwgMTM4LCAxMzQsIDEzNSwgMTM2LCAxMzcsIDIxODIsIDIxODEsIDIxODAsIDIxNzksIDIxNzgsIDIxODMsCi0gMjE4NCwgMjE4NSwgMjE4NiwgMjE4NywgNDYsIDEzMywgNTcsIDEzMiwgMjAsIDkzLCAxMjksIDEzMCwgMTMxLCAxMjcsIDEyOCwKLSAyMTkyLCAyMTkxLCAyMTkwLCAyMTg5LCAyMTkzLCAyMTk0LCAyMTk1LCAyMTk2LCAyMTk3LCAyMTg4LCAyMTc3LCAyMTY0LCAyMTk4LAotIDIxOTksIDIyMDAsIDIyMDEsIDEyNiwgMjIwMywgMjIwNCwgMTI1LCAxMjIsIDEyMywgMTI0LCAxMjAsIDEyMSwgMTE5LCAyMjA5LAotIDIyMDgsIDIyMDcsIDIyMDYsIDIyMTAsIDIyMTEsIDIyMTIsIDIyMTMsIDIyMTQsIDIyMDUsIDIyMTUsIDIyMTYsIDExOCwgMTE3LAotIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAyMjIwLCAyMjE5LCAyMjE4LCAyMjIxLCAyMjIyLCAyMjIzLCAxMTEsIDIyMjUsIDIyMjYsCi0gMjYsIDI3LCAyOCwgMjksIDIxLCAyNSwgMjIyOSwgMjIyOCwgMjIzMCwgMjIzMSwgNTQsIDIyMzMsIDIyMzQsIDIyMzUsIDIyMzIsCi0gMjIyNywgMjIyNCwgMjIzNiwgMjIzNywgMjIzOCwgMjIzOSwgMTEwLCAyMjQxLCAyMjQyLCAyMjQzLCAyMjQ0LCAxMDksIDEwOCwKLSAxMDcsIDIyNDgsIDIyNDcsIDIyNDYsIDIyNDksIDIyNTAsIDIyNTEsIDIyLCAyMywgMjQsIDIyNTMsIDIyNTQsIDIyNTUsIDIyNTIsCi0gMjI1NiwgMjI1NywgMjI1OCwgMjI0NSwgMjI0MCwgMjIxNywgMjIwMiwgMjE0OSwgMjI1OSwgMjI2MCwgMjI2MSwgMjI2MiwgMjI2MywKLSAyMjY0LCAxMDYsIDIyNjYsIDIyNjcsIDIyNjgsIDIyNjksIDEwNCwgMTA1LCAyMjcxLCAyMjcyLCAzNSwgMjI3NCwgMjI3NSwKLSAyMjc2LCAyMjczLCAyMjc3LCAyMjc4LCAxMDMsIDIyODAsIDIyODEsIDIyODIsIDIyODMsIDIyODQsIDIyNzksIDIyNzAsIDIyODUsCi0gMjI4NiwgMjI4NywgMTAyLCAyMjg5LCAyMjkwLCAyMjkxLCAyMjkyLCAxMDEsIDIyOTQsIDIyOTUsIDIyOTYsIDIyOTcsIDIyOTgsCi0gMjI5MywgMjI5OSwgMjMwMCwgNSwgMjMwMiwgMjMwMywgMjMwNCwgMjMwNSwgMjMwNiwgMjMwNywgMTAwLCAyMzA5LCAyMzEwLAotIDIzMTEsIDIzMTIsIDIzMTMsIDIzMTQsIDk5LCAyMzE2LCAyMzE3LCAyMzE4LCAyMzE5LCA5OCwgOTcsIDk2LCAxLCAyMzI0LAotIDIzMjMsIDIzMjIsIDIzMjEsIDIzMjUsIDIzMjYsIDIzMjcsIDIzMjgsIDIzMjksIDIzMzAsIDIzMzEsIDIzMjAsIDIzMzIsIDIzMzMsCi0gMjMzNCwgMjMxNSwgMjMwOCwgMjMwMSwgMjI4OCwgMjI2NSwgMjMzNSwgMjMzNiwgMjMzNywgMjMzOCwgMjMzOSwgMjM0MCwgMjM0MSwKLSAyMzQyLCAyMzQyLCAyMzQzLCAyMzQ0LCAyMzQ0LCAyMzQ1LCAyMzQ2LCAyMzQ2LCAyMzQ3LCAyMzQ4LCAyMzQ4LCAyMzQ5LCAyMDc0LAotIDIwNzMsIDIzNTAsIDIzNTAsIDIzNTEsIDU1MSwgNTUyLCA1NTMsIDU1NCwgNTU1LCA3MjYsIDcyNywgNTU4LCAyMzUyLCAyMzUzLAotIDIzNTQsIDIzNTQsIDk3NiwgMjM1NiwgMjM1NywgMjM1OCwgMjM1OSwgMjM1OSwgMjM2MCwgMjM2MSwgMjM2MSwgMjM2MiwgMjM2MywKLSAyMzYzLCAyMzY0LCAyMzY1LCAyMzY2LCAyMzY3LCAyMzY4LCAyMzY5LCAyMzcwLCAyMzcxLCAyMzcyLCAyMzczLCAxMDQ0LCAyMzc1LAotIDIzNzYsIDIzNzcsIDIzNzgsIDIzNzgsIDIzNzksIDIzODAsIDIzODAsIDIzODEsIDIzODIsIDIzODIsIDIzODMsIDIzODQsIDIzODQsCi0gMjM4NSwgMjM4NiwgMjM4NiwgMjM4NywgMjM4OCwgMjM4OSwgMjM5MCwgMjM5MSwgMjM5MiwgMjM5MywgMjM5NCwgMjM5NSwgMjM5NiwKLSAyMzk3LCAyMzk4LCAyMzk4LCAyMzk5LCAyNDAwLCAyNDAwLCAyNDAxLCAyNDAyLCAyNDAyLCAyNDAzLCAyNDA0LCAyNDA0LCAyNDA1LAotIDI0MDYsIDI0MDYsIDI0MDcsIDI0MDgsIDI0MDgsIDI0MDksIDI0MTAsIDI0MTAsIDI0MTEsIDQ0LCA3NTEsIDc1MiwgMjQxMiwKLSAxMDQzLCAyNDE0LCAyNDE1LCAyNDE2LCAyNDE3LCAyNDE3LCAyNDE4LCAyNDE5LCAyNDE5LCAyNDIwLCAyNDIxLCAyNDIxLCAyNDIyLAotIDI0MjMsIDI0MjMsIDI0MjQsIDI0MjUsIDI0MjUsIDI0MjYsIDI0MjcsIDI0MjgsIDI0MjksIDI0MjksIDI0MzAsIDI0MzEsIDI0MzEsCi0gMjQzMiwgMjQzMywgMjQzMywgMjQzNCwgMjQzNSwgMjQzNSwgMjQzNiwgMjQzNywgMjQzNywgMjQzOCwgMjQzOSwgMjQzOSwgMjQ0MCwKLSAyNDQxLCAyNDQxLCAyNDQyLCA0MywgMjQ0MywgMjQ0NCwgMjQxMywgMzQxLCA3ODMsIDc5MiwgODA2LCA4MDcsIDgwOCwgMTA4NywKLSAyNDQ1LCAyNDQ2LCAyNDQ3LCAyNDQ4LCAyNDQ5LCAyNDUwLCAyNDUxLCAyNDUyLCAyNDUzLCAyNDU0LCA1MTMsIDgwOCwgODA5LAotIDgwNywgMzQxLCA3ODMsIDc5MiwgODA2LCA4MzYsIDEwODcsIDI0NjAsIDI0NTksIDI0NTgsIDI0NTcsIDI0NTYsIDI0NjIsIDI0NjEsCi0gMjQ2MywgMjQ2NCwgMjQ2NSwgMjQ2NiwgMzE1LCAxOTAwLCAyNDY3LCAyNDY4LCAyNDY5LCAyNDcwLCAyNDcxLCAyNDcxLCAyNDcyLAotIDI0NTUsIDIzNzQsIDI0NzMsIDI0NzMsIDI0NzQsIDI0NzUsIDMxNSwgMzE1LCAyNDc3LCAyNDc4LCAyNDc4LCAyNDc5LCAyNDgwLAotIDI0ODEsIDI0ODIsIDI0ODMsIDI0ODQsIDMxMiwgMjQ4NiwgMjQ4NywgMjQ4OCwgMjQ4OSwgMjQ5MCwgMjQ5MSwgMjQ5MiwgMjQ5MywKLSAyNDk0LCAyNDk1LCAyNDk1LCAyNDk2LCAyNDk3LCAyNDk3LCAyNDk4LCAyNDk5LCAyNDk5LCAyNTAwLCAyNTAxLCAyNTAyLCAyNTAzLAotIDI1MDQsIDI1MDUsIDUxMywgMjUwNywgMjUwOCwgMjUwOSwgMjUxMCwgMjUxMSwgMjUxMiwgMjUxMywgNDQsIDc1MSwgMjUxNCwKLSA4MDksIDI1MTYsIDI1MTcsIDI1MTgsIDI1MTksIDI1MjAsIDI1MjEsIDI1MjIsIDQzLCAyNTIzLCA4MDgsIDI1MjUsIDI1MjYsCi0gMjUyNywgMjUyOCwgMjUyOSwgMjUzMCwgMjUzMSwgNDIsIDI1MzIsIDgwNywgMjUzNCwgMjUzNSwgMjUzNiwgMjUzNywgMjUzOCwKLSAyNTM5LCAyNTQwLCA0MSwgMjU0MSwgMTA4NywgMjU0MywgMjU0NCwgMjU0NSwgMjU0NiwgMjU0NywgMjU0OCwgMjU0OSwgMywKLSAyNTUwLCAzNDEsIDI1NTIsIDI1NTMsIDI1NTQsIDI1NTUsIDI1NTYsIDI1NTcsIDI1NTgsIDUwLCAyNTU5LCA3ODMsIDI1NjEsCi0gMjU2MiwgMjU2MywgMjU2NCwgMjU2NSwgMjU2NiwgMjU2NywgNDksIDI1NjgsIDI0NjIsIDI1NzAsIDI1NzEsIDI1NzIsIDI1NzMsCi0gMjU3NCwgNDgsIDI1NzUsIDgwNiwgMjU3NywgMjU3OCwgMjU3OSwgMjU4MCwgMjU4MSwgMjU4MiwgMjU4MywgNDAsIDI1ODQsCi0gMjU4NSwgMjU3NiwgMjU2OSwgMjU2MCwgMjU1MSwgMjU0MiwgMjUzMywgMjUyNCwgMjUxNSwgMjU4NiwgMjU4NywgMjU4OCwgMjU4OSwKLSAyNTkwLCAyNTkxLCAyNTkyLCAyNTkzLCAyNTk0LCAyNTk1LCAyNTk2LCAyNTk3LCAyNTk4LCAyNTk5LCAyNjAwLCAyNjAxLCAyNjAyLAotIDI2MDMsIDI1MDYsIDI2MDQsIDI2MDUsIDI2MDYsIDI0ODUsIDI0NzYsIDI2MDcsIDI2MDgsIDI2MDksIDI2MTAsIDI2MTEsIDI2MTEsCi0gMjYxMiwgMjM1NSwgMTYxMCwgMjYxMywgMjYxNCwgMjYxNSwgMjYxMywgMjYxNCwgMjYxNSwgMTU2NSwgMjYxNywgMjYxOCwgMjYxOSwKLSAyNjIwLCAyNjIxLCAyNjIyLCAyNjIzLCAyNjI0LCAyNjI0LCAyNjI1LCAyNjI2LCAyNjI3LCAyNjI4LCAyNjI4LCAyNjI5LCAyNjMwLAotIDI2MzAsIDgzMSwgMjYzMiwgMjYzMywgODM2LCA4MzYsIDI2MzUsIDI2MzYsIDI2MzYsIDI2MzcsIDI2MzgsIDI2MzgsIDI2MzksCi0gMjYzNCwgMjY0MCwgMjY0MSwgMjY0MCwgMjY0MSwgODM2LCAyNjQzLCAyNjQ0LCAyNjQ1LCAyNjQ2LCAyNjQ3LCAyNjQ4LCAyNjQ5LAotIDI2NTAsIDgzNiwgODM2LCAyNjUyLCAyNjUzLCAyNjU0LCAyNjU1LCAyNjU2LCAyNjU3LCAyNjU4LCAyNjU5LCAyNjYwLCAyNjYxLAotIDI2NjIsIDI2NjMsIDI2NjQsIDI2NjUsIDI2NjYsIDI2NjcsIDI2NjgsIDI2NjksIDI2NzAsIDI2NzEsIDI2NzEsIDI2NzIsIDI2NTEsCi0gMjY3NCwgMjY3MywgMjY3NCwgMjY3NSwgMjY0MiwgMjY3NiwgMjY3NywgMjY3NiwgMjY3NywgNzUxLCAyNjc5LCA1MTMsIDgwNiwKLSA4MDcsIDgwOCwgODA5LCAyNjgwLCAyNjgxLCAyNjgyLCAyNjgyLCAyNjgzLCAyNjg0LCAyNjg0LCAyNjg1LCAyNjg2LCAyNjg2LAotIDI2ODcsIDI2ODgsIDI2ODgsIDgwNiwgODA3LCA4MDgsIDgwOSwgNTEzLCA1NDYsIDk1MiwgOTUyLCAyNjkxLCAyNjkyLCAyNjkyLAotIDI2OTMsIDI2OTQsIDI2OTQsIDI2OTUsIDI2OTYsIDI2OTYsIDI2OTcsIDI2OTgsIDI2OTgsIDI2OTksIDI2OTAsIDI3MDEsIDI3MDAsCi0gMjcwMiwgMjcwMywgMjcwMywgMzg5LCAzODksIDI3MDUsIDI3MDYsIDI3MDYsIDI3MDcsIDI3MDgsIDI3MDgsIDI3MDksIDI3MTAsCi0gMjcxMCwgMjcxMSwgMjcxMiwgMjcxMywgMjcxNCwgMjcxNSwgMjcxNiwgMjcxNywgMjcxOCwgMjcxOSwgMjcyMCwgMjcyMSwgMjcyMiwKLSAyNzIyLCAyNzIzLCAyNzI0LCAyNzI0LCAyNzI1LCAyNzI2LCAyNzI2LCAyNzI3LCAyNzI4LCAyNzI4LCAyNzI5LCAyNzMwLCAyNzMwLAotIDI3MzEsIDI3MzIsIDI3MzIsIDI3MzMsIDI3MzQsIDI3MzQsIDI3MzUsIDI3MzYsIDI3MzYsIDI3MzcsIDI3MzgsIDI3MzgsIDI3MzksCi0gMjc0MCwgMjc0MCwgMjc0MSwgMjc0MiwgMjc0MiwgMjc0MywgMjc0NCwgMjc0NCwgMjc0NSwgMjc0NiwgMjc0NywgMjc0OCwgMjc0OCwKLSA2ODMsIDY4MywgNjc1LCA5NTgsIDI3NTEsIDI3NTIsIDI3NTIsIDI3NTMsIDI3NTQsIDI3NTQsIDI3NTUsIDI3NTYsIDI3NTYsCi0gMjc1NywgMjc1OCwgMjc1OCwgOTcxLCAyNzYwLCAyNzYxLCAyNzYxLCAyNzYyLCAyNzYzLCAyNzYzLCA5NzYsIDIzNTcsIDI3NjUsCi0gMjc2NiwgMjc2NiwgNTgzLCA1ODMsIDI3NjgsIDI3NjksIDI3NjksIDI3NzAsIDIsIDI3NzEsIDk5MiwgOTkzLCA5OTIsIDk5MywKLSA5OTUsIDI3NzMsIDI3NzQsIDEwMDMsIDEwMDQsIDEwMDMsIDEwMDQsIDEwMDYsIDI3NzYsIDI3NzcsIDI3NzgsIDI3NzUsIDEwMDksCi0gMjc3OSwgMjc4MCwgMjc4MSwgMTAwOSwgMjc3OSwgMjc4MCwgMjc4MiwgMjc4MywgMjc4NCwgMjc4NCwgMjc4NSwgMjc3MiwgMjc2NywKLSAyNzg2LCAyNzg3LCAyNzg4LCAyNzg2LCAyNzg3LCAyNzg4LCAyNzAxLCAxMDU5LCAyNzkwLCAyNzkxLCAyNzkyLCAyNzkzLCAyNzkzLAotIDI3OTQsIDI3OTUsIDI3OTUsIDI3OTYsIDI3OTcsIDI3OTcsIDI3OTgsIDI3OTksIDI3OTksIDI4MDAsIDI4MDEsIDI4MDEsIDI4MDIsCi0gMjgwMywgMjgwMywgMjgwNCwgMjc4OSwgMjc2NCwgMjc1OSwgMjc1MCwgMjc0OSwgMjcwNCwgMjY4OSwgMjY3OCwgMjYzMSwgMjYxNiwKLSAxNTU3LCAxNTU0LCAxNTMzLCAxMTA0LCAzODcsIDM2OCwgMjYyLCAyMjksIDI4MjMsIDI4MjQsIDI4MjUsIDI4MjYsIDI4MjcsCi0gMjgyOCwgMjM0LCAyMzUsIDIzNiwgMjM3LCAyMzgsIDI4MzAsIDI4MzEsIDI0NSwgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsCi0gMjUxLCAyODMzLCAyODM0LCAyODM1LCAyODMyLCAyODM3LCAyODM2LCAyODM4LCAyODM5LCAyNjMsIDI4NDEsIDI4NDIsIDI4NDMsCi0gMjg0NCwgMjg0NSwgMjg0NiwgMjY4LCAyNjgsIDI4NDgsIDI4NDksIDI4NTAsIDI4NTEsIDI4NTEsIDI4NTIsIDI4NTMsIDI4NTQsCi0gMjg1NSwgMjg1NSwgMjg1NiwgMjg1NywgMjg1OCwgMjg1OSwgMjg1OSwgMjg2MCwgMjg2MSwgMjg2MiwgMjg2MywgMjg2MywgMjg2NCwKLSAyODY1LCAyODY2LCAyODY3LCAyODY3LCAyODY4LCAyODY5LCAyODcwLCAyODcxLCAyODcxLCAyODcyLCAyODczLCAyODc0LCAyODc1LAotIDI4NzUsIDI4NzYsIDI4NzcsIDI4NzgsIDI4NzksIDI4ODAsIDI4ODEsIDI4ODIsIDI4ODMsIDI4ODMsIDI4ODQsIDI4ODUsIDI4ODYsCi0gMjg4NywgMjg4NywgMjg4OCwgMjg4OSwgMjg5MCwgMjg5MSwgMjg5MSwgMjg5MiwgMjg5MywgMjg5NCwgMjg5NSwgMjg5NSwgMjg5NiwKLSAyODk3LCAyODk4LCAyODk5LCAyODk5LCAyOTAwLCAyOTAxLCAyOTAyLCAyOTAzLCAyOTAzLCAyOTA0LCAyOTA1LCAyOTA2LCAyOTA3LAotIDI5MDcsIDI5MDgsIDI5MDksIDI5MTAsIDI5MTEsIDI5MTEsIDI5MTIsIDI5MTMsIDI5MTQsIDI5MTUsIDI5MTYsIDI5MTcsIDI5MTgsCi0gMjkxOSwgMjkxOSwgMjkyMCwgMjkyMSwgMjkyMiwgMjkyMywgMjkyMywgMjkyNCwgMjkyNSwgMjkyNiwgMjkyNywgMjkyNywgMjkyOCwKLSAyOTI5LCAxMzQ5MSwgMjkzMSwgMjkzMiwgMzE0LCAyOTM0LCAyOTM1LCAyOTM2LCAyOTMzLCAyOTM3LCAyOTM4LCAyOTM5LCAyOTQwLAotIDI5NDEsIDI5NDIsIDI5NDMsIDI5NDQsIDI5NDUsIDI5NDYsIDI5NDcsIDI5NDgsIDI5NDksIDI5NTAsIDI5NTEsIDI5NTIsIDI5NTMsCi0gMjk1NCwgMjk1NSwgMjk1NiwgMjk1NywgMjk1OCwgMjk1OSwgMjk2MCwgMjk2MSwgMjk2MiwgMjk2MywgMjk2NCwgMjk2NSwgMjk2NiwKLSAyOTY2LCAyOTY3LCAyOTY4LCAyOTY5LCAyOTcwLCAyOTcxLCAyOTcyLCAyOTczLCAyOTc0LCAyOTc0LCAyOTc1LCAyOTc2LCAyOTc3LAotIDI5NzgsIDI5NzgsIDI5NzksIDI5ODAsIDM0MCwgMzQwLCAyOTgyLCAyOTgzLCAyOTg0LCAyOTg1LCAyOTg1LCAyOTg2LCAyOTg3LAotIDI5ODgsIDI5ODksIDI5ODksIDI5OTAsIDI5OTEsIDI5OTIsIDI5OTMsIDI5OTMsIDI5OTQsIDI5OTUsIDMxNCwgMzE0LCAyOTk3LAotIDI5OTgsIDI5OTksIDMwMDAsIDMwMDAsIDMwMDEsIDMwMDIsIDM0MCwgMzAwNCwgMzAwNSwgMzAwNiwgMzAwNywgMzAwOCwgMzAwOSwKLSAzMDEwLCAzMDExLCAzMDEyLCAzMDEzLCAzMDE0LCAzMDE1LCAzMDE2LCAzMDE3LCAzMDE4LCAzMDE5LCAzMDE5LCAzMDIwLCAzMDIxLAotIDMwMjIsIDMwMDMsIDMwMjQsIDMwMjQsIDMwMjMsIDMwMjMsIDMwMjUsIDMwMjYsIDMwMjcsIDI5OTYsIDI5ODEsIDI5MzAsIDMwMjksCi0gMzAyOSwgMzAyOCwgMzAzMCwgMzAzMSwgMzAyOCwgMzAzMCwgMzAzMSwgMzAzMiwgMzAzMywgMzY5LCAzNjksIDMwMzUsIDMwMzYsCi0gMzAzNywgMzAzOCwgMzAzOCwgMzAzOSwgMzA0MCwgMzA0MSwgMzA0MiwgMzA0MiwgMzA0MywgMzA0NCwgMzA0NSwgMzA0NiwgMzA0NiwKLSAzMDQ3LCAzMDQ4LCAzMDQ5LCAzMDUwLCAzMDUwLCAzMDUxLCAzMDUyLCAzMDUzLCAzMDU0LCAzMDU1LCAzMDU2LCAzMDU3LCAzMDU4LAotIDMwNTksIDMwNjAsIDMwNjEsIDMwNjIsIDMwNjIsIDMwNjMsIDMwNjQsIDMwNjUsIDMwNjYsIDMwNjYsIDMwNjcsIDMwNjgsIDM4OCwKLSAzMDcwLCAzMDcxLCAzMDcyLCAzMDczLCAzMDc0LCAzMDc1LCAzOTMsIDMwNzcsIDMwNzgsIDMwNzksIDMwODAsIDMwODEsIDMwODIsCi0gMzA4MywgMzA3NiwgMzA4NCwgMzA4NSwgMzA4NiwgMzA4NywgNDAxLCA0MDIsIDQwMywgNDA0LCA0MDUsIDQwNiwgNDA3LCA0MDgsCi0gNDA5LCA0MTAsIDMwODksIDMwOTAsIDMwOTEsIDMwOTIsIDMwOTMsIDMwOTQsIDMwOTUsIDMwOTYsIDMwOTcsIDMwOTgsIDMwOTksCi0gMzA4OCwgMzEwMCwgMzEwMSwgMzEwMiwgMzEwMywgMzEwNCwgMzEwNSwgMzEwNiwgMzEwNywgMzEwOCwgMzEwOSwgMzEwOSwgMzExMCwKLSAzMTExLCAzMTEyLCAzMTEzLCAzMTEzLCAzMTE0LCAzMTE1LCAzMTE2LCAzMTE3LCAzMTE3LCAzMTE4LCAzMTE5LCA0MzcsIDQzNywKLSAzMTIxLCAzMTIyLCAzMTIzLCAzMTI0LCAzMTI0LCAzMTI1LCAzMTI2LCAzMTI3LCAzMTI4LCAzMTI4LCAzMTI5LCAzMTMwLCAzMTMxLAotIDMxMzIsIDMxMzIsIDMxMzMsIDMxMzQsIDMxMzUsIDMxMzYsIDMxMzYsIDMxMzcsIDMxMzgsIDQ0OCwgNDQ4LCAzMTQwLCAzMTQxLAotIDI1MSwgMjUxLCAzMTQzLCAzMTQ0LCAyNDYsIDI0NiwgMzE0NiwgMzE0NywgMzE0OCwgMzE0NSwgMzE0MiwgMzE0OSwgMzE1MCwKLSAzMTUxLCAzMTQ5LCAzMTUwLCAzMTUxLCAzMTUyLCAzMTUzLCA0NTcsIDMxNTUsIDMxNTYsIDMxNTcsIDMxNTgsIDMxMDAsIDMxMDEsCi0gMzE1OSwgMzE2MCwgNDYyLCAzMTYyLCAzMTYzLCAzMTY0LCAzMTY1LCAzMTY2LCAzMTY3LCAzMTY4LCAzMTY5LCAzMTcwLCAzMTcxLAotIDQ2OSwgNDcwLCAzMTczLCAzMTc0LCA0NzQsIDQ3NSwgNDc2LCAzMTc2LCAzMTc3LCA0ODEsIDQ4MiwgMzE3OSwgMzE4MCwgMzE4MSwKLSAzMTc4LCAzMTc1LCAzMTgyLCAzMTgzLCAzMTg0LCAzMTg1LCAzMTg2LCAzMTQsIDMxODgsIDMxODksIDMxOTAsIDMxOTEsIDMxOTIsCi0gMzE5MywgNDkzLCA0OTQsIDQ5NSwgMzE5NSwgMzE5NiwgMzE5NywgMjgyNiwgMzE5OCwgMzE5OSwgMzIwMCwgNTAyLCAzMjAyLAotIDMyMDMsIDMyMDQsIDMyMDUsIDMyMDYsIDMyMDcsIDUwNywgMzIwOSwgMzIxMCwgMzIxMSwgMzIxMiwgMzIxMywgMzIxNCwgNTEyLAotIDMyMTYsIDMyMTcsIDI0NSwgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNDQ4LCA1MTUsIDMyMTksIDMyMjAsIDUxOCwKLSA1MTksIDMyMjIsIDMyMjMsIDUyMywgMzIyNSwgMzIyNiwgNTI2LCAzMjI4LCAzMjI5LCAzMjMwLCAzMjI3LCAzMjI0LCAzMjIxLAotIDMyMTgsIDMyMzEsIDMyMzIsIDMyMzMsIDMyMzQsIDI4MzcsIDMyMzUsIDMyMzYsIDMyMzcsIDI2MywgNTM1LCA1MzYsIDMyMzksCi0gMzI0MCwgNTQwLCAzMjQyLCAzMjQzLCA1NDMsIDMyNDUsIDMyNDYsIDMyNDcsIDMyNDQsIDMyNDEsIDMyNDgsIDMyNDksIDMyNTAsCi0gMzI1MSwgMzI1MiwgMzI1MywgMzIzOCwgMzIxNSwgMzIwOCwgMzIwMSwgMzE5NCwgMzE4NywgMzE3MiwgMzE2MSwgMzE1NCwgMzI1NSwKLSAzMjU2LCAzMjU3LCAzMjU4LCAzMjU5LCAzMjYyLCAzMjU0LCAzMjYwLCAzMjYxLCAzMjYzLCAzMjY0LCAzMjY1LCAyODc5LCAyODc5LAotIDMyNjcsIDMyNjgsIDMyNjksIDMyNzAsIDMyNzAsIDMyNzEsIDMyNzIsIDMyNzMsIDMyNzQsIDMyNzQsIDMyNzUsIDMyNzYsIDMyNzcsCi0gMzI3OCwgMzI3OCwgMzI3OSwgMzI4MCwgMzI4MSwgMzI4MiwgMzI4MiwgMzI4MywgMzI4NCwgMzI4NSwgMzI4NiwgMzI4NiwgMzI4NywKLSAzMjg4LCAzMjg5LCAzMjkwLCAzMjkwLCAzMjkxLCAzMjkyLCAzMjkzLCAzMjk0LCAzMjk0LCAzMjk1LCAzMjk2LCAzMjk3LCAzMjk4LAotIDMyOTgsIDMyOTksIDMzMDAsIDMzMDEsIDMzMDIsIDMzMDIsIDMzMDMsIDMzMDQsIDMzMDUsIDMzMDYsIDMzMDYsIDMzMDcsIDMzMDgsCi0gMzAyNCwgMzAyNCwgMzMxMCwgMzMxMSwgMzMxMiwgMzMwOSwgMzMxMywgMzMxMywgMzMxNCwgMzMxNCwgMzMxNSwgMzMxNiwgMzA1NCwKLSAzMzE4LCAzMzE5LCAzMzIwLCAzMzIxLCAzMzIxLCAzMzIyLCAzMzIzLCAzMzI0LCAzMzI1LCAzMzI1LCAzMzI2LCAzMzI3LCA1OTEsCi0gNTkxLCAzMzI5LCAzMzMwLCA1OTQsIDU5NCwgMzMzMiwgMzMzMywgMzMzNCwgMzMzNSwgMzMzNSwgMzMzNiwgMzMzNywgMzMzOCwKLSAzMzM5LCAzMzM5LCAzMzQwLCAzMzQxLCAzMzQyLCAzMzQzLCAzMzQzLCAzMzQ0LCAzMzQ1LCAzMzQ2LCAzMzQ3LCAzMzQ3LCAzMzQ4LAotIDMzNDksIDMzNTAsIDMzNTEsIDMzNTEsIDMzNTIsIDMzNTMsIDMzNTQsIDMzNTUsIDMzNTUsIDMzNTYsIDMzNTcsIDMzNTgsIDMzNTksCi0gMzM1OSwgMzM2MCwgMzM2MSwgMzM2MiwgMzM2MywgMzM2MywgMzM2NCwgMzM2NSwgMzM2NiwgMzM2NywgMzM2NywgMzM2OCwgMzM2OSwKLSAzMzcwLCAzMzcxLCAzMzcxLCAzMzcyLCAzMzczLCAzMzc0LCAzMzc1LCAzMzc1LCAzMzc2LCAzMzc3LCAzMzc4LCAzMzc5LCAzMzc5LAotIDMzODAsIDMzODEsIDYyMSwgNjIxLCAzMzgzLCAzMzg0LCAzMzg1LCAzMzgyLCAzMzMxLCAzMzg2LCAzMzg2LCAzMzg4LCAzMzg4LAotIDMzODcsIDMzODcsIDMzODksIDMzOTAsIDMzOTEsIDMzOTIsIDMzOTIsIDMzOTMsIDMzOTQsIDMzOTUsIDMzOTYsIDMzOTYsIDMzOTcsCi0gMzM5OCwgNjMyLCAzNDAwLCAzNDAxLCAzNDAyLCAzNDAzLCAzNDA0LCAzNDA1LCAzNDA2LCAzNDA3LCAzNDA4LCAzNDA5LCAzNDEwLAotIDU0MywgNTQzLCAzNDExLCAzNDEyLCAzNDEzLCAzNDE0LCAzNDE1LCAzNDE1LCAzNDE2LCAzNDE3LCA2NDMsIDY0MywgMzQxOSwKLSAzNDIwLCAzNDIxLCAzNDIyLCAzNDIyLCAzNDIzLCAzNDI0LCAzNDI1LCAzNDI2LCAzNDI2LCAzNDI3LCAzNDI4LCAzNDI5LCAzNDMwLAotIDM0MzAsIDM0MzEsIDM0MzIsIDM0MzMsIDM0MzQsIDM0MzQsIDM0MzUsIDM0MzYsIDM0MzcsIDM0MzgsIDM0MzgsIDM0MzksIDM0NDAsCi0gMzQ0MSwgMzQ0MiwgMzQ0MiwgMzQ0MywgMzQ0NCwgMzQ0NSwgMzQ0NiwgMzQ0NiwgMzQ0NywgMzQ0OCwgMzQ0OSwgMzQ1MCwgMzQ1MCwKLSAzNDUxLCAzNDUyLCAzNDUzLCAzNDU0LCAzNDU0LCAzNDU1LCAzNDU2LCAzNDU3LCAzNDU4LCAzNDU4LCAzNDU5LCAzNDYwLCAzNDYxLAotIDM0NjIsIDM0NjIsIDM0NjMsIDM0NjQsIDM0NjUsIDM0NjYsIDM0NjYsIDM0NjcsIDM0NjgsIDM0NjksIDM0NzAsIDM0NzAsIDM0NzEsCi0gMzQ3MiwgMzQ3MywgMzQ3NCwgMzQ3NCwgMzQ3NSwgMzQ3NiwgNjc0LCAzNDc4LCAzNDc5LCAzNDgwLCAzNDgxLCAzNDgxLCAzNDgyLAotIDM0ODMsIDM0ODQsIDM0ODUsIDM0ODUsIDM0ODYsIDM0ODcsIDM0ODgsIDM0ODksIDM0ODksIDM0OTAsIDM0OTEsIDM0OTIsIDM0OTMsCi0gMzQ5MywgMzQ5NCwgMzQ5NSwgMzQ5NiwgMzQ5NywgMzQ5NywgMzQ5OCwgMzQ5OSwgMzUwMCwgMzQ3NywgMzUwMSwgMzUwMSwgMzUwMiwKLSAzNTAyLCAzNTAzLCAzNTA0LCAyODQ3LCAzNTA2LCAzNTA3LCAzNTA4LCAzNTA5LCAzNTEwLCAzNTEwLCAzNTExLCAzNTEyLCA2OTQsCi0gMzUxNCwgMzUxNSwgMzUxNiwgMzUxNywgMzE2NSwgMzUxOCwgMzUxOSwgMzUyMCwgMzUyMSwgMzUyMiwgMzUyMywgNDY5LCA0NzAsCi0gNzAxLCAzNTI1LCAzNTI2LCAzNTI3LCAzMTgyLCAzMTgzLCAzNTI4LCAzNTI5LCAzNTMwLCAzMTk4LCAzNTMyLCAzNTMzLCAyMzUsCi0gMjM3LCAyMzgsIDM1MzUsIDM1MzYsIDI0NSwgMjQ2LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCAzNTM4LCAzNTM5LAotIDM1NDAsIDM1MzcsIDMyMzEsIDMyMzIsIDMyMzMsIDM1NDEsIDM1NDIsIDM1NDMsIDM1NDQsIDUzNSwgNTM2LCAzNTQ2LCAzNTQ3LAotIDM1NDgsIDMyNDksIDM1NDksIDM1NTAsIDM1NTEsIDcxNSwgNzE1LCAzNTUzLCAzNTU0LCAzNTU1LCAzNTU2LCAzNTU2LCAzNTU3LAotIDM1NTgsIDM1NTksIDM1NjAsIDM1NjAsIDM1NjEsIDM1NjIsIDM1NjMsIDM1NTIsIDM1NDUsIDM1MzQsIDM1MzEsIDM1MjQsIDMyNTcsCi0gMzI2MiwgMzU2NCwgMzU2NCwgMzU2OCwgMzU2OSwgMzU2NSwgMzU2NiwgMzU2NywgMzU3MCwgMzU3MSwgMzU3MiwgMzUxMywgMzU3MywKLSAzNTc0LCAzNTczLCAzNTc0LCAzNTc1LCAzNTc2LCA0MzcsIDM1NzgsIDM1NzksIDM1ODAsIDM1ODEsIDM1ODIsIDM1ODMsIDM1ODQsCi0gMzU4NSwgMzU4NiwgMzU4NywgMzU4OCwgMzU4OSwgMzU5MCwgMzU5MSwgMzU5MiwgMzU5MywgMzU5NCwgMzU5NSwgMzU5NiwgMzU5NywKLSAzNTk4LCAzNTk5LCAzNjAwLCAzNjAxLCAzNjAxLCAzNjAyLCAzNjAzLCAzNjA0LCAzNjA1LCAzNjA1LCAzNjA2LCAzNjA3LCAzNjA4LAotIDM2MDksIDM2MTAsIDM2MTEsIDc0OSwgNzUwLCAzNjEzLCAzNjE0LCAzNjE1LCAzNjE2LCAzNjE3LCAzNjE4LCAzNjE5LCAzNjIwLAotIDM2MjEsIDM2MjIsIDM2MjMsIDM2MjQsIDM2MjUsIDM2MjYsIDM2MjcsIDM2MjgsIDM2MjksIDM2MzAsIDMwMjksIDMwMjksIDM2MzIsCi0gMzYzMywgNzY3LCA3NjcsIDM2MzUsIDM2MzYsIDM2MzcsIDM2MzgsIDM2MzgsIDM2MzksIDM2NDAsIDM2NDEsIDM2NDIsIDM2NDIsCi0gMzY0MywgMzY0NCwgMzY0NSwgMzY0NiwgMzY0NiwgMzY0NywgMzY0OCwgMzY0OSwgMzY1MCwgMzY1MCwgMzY1MSwgMzY1MiwgMzY1MywKLSAzNjU0LCAzNjU0LCAzNjU1LCAzNjU2LCAzNjU3LCAzNjU4LCAzNjU4LCAzNjU5LCAzNjYwLCA3ODIsIDc4MiwgMzY2MiwgMzY2MywKLSAzNjY0LCAzNjY1LCAzNjY1LCAzNjY2LCAzNjY3LCAzNjY4LCAzNjY5LCAzNjY5LCAzNjcwLCAzNjcxLCAzNjcyLCAzNjczLCAzNjczLAotIDM2NzQsIDM2NzUsIDc5MSwgNzkxLCAzNjc3LCAzNjc4LCAzNjc5LCAzNjgwLCAzNjgwLCAzNjgxLCAzNjgyLCAzNjgzLCAzNjg0LAotIDM2ODQsIDM2ODUsIDM2ODYsIDM2ODcsIDM2ODgsIDM2ODgsIDM2ODksIDM2OTAsIDM2OTEsIDM2OTIsIDM2OTIsIDM2OTMsIDM2OTQsCi0gMzY5NSwgMzY3NiwgMzY2MSwgMzYzNCwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDM2OTYsIDM2OTcsIDM2OTgsIDM2OTksCi0gMzY5NiwgMzY5NywgMzY5OCwgMzY5OSwgMzcwMCwgMzcwMSwgMzcwMiwgMzcwMywgMzcwMywgMzcwNCwgMzcwNSwgMzcwNiwgMzcwNywKLSAzNzA3LCAzNzA4LCAzNzA5LCAzNzEwLCAzNzExLCAzNzExLCAzNzEyLCAzNzEzLCAzNzE0LCAzNzE1LCAzNzE1LCAzNzE2LCAzNzE3LAotIDM3MTgsIDM2MzEsIDM2MTIsIDM3MTksIDM3MTksIDM3MjAsIDM3MjEsIDM3MjIsIDM3MjMsIDM3MjQsIDM3MjUsIDM3MjUsIDM3MjYsCi0gMzcyNywgMzcyOCwgMzU3NywgMzcyOSwgMzczMCwgMzcyOSwgMzczMCwgMzczMSwgMzczMiwgODI4LCA4MjgsIDM3MzQsIDM3MzUsCi0gMzczNiwgMzczNywgMzczOCwgMzczOSwgMzc0MCwgMzc0MSwgMzc0MSwgMzc0MiwgMzc0MywgODM1LCAzNzQ1LCAzNzQ2LCAzNzQ3LAotIDM3NDgsIDM3NDksIDM3NTAsIDM3NTEsIDM3NTIsIDM3NTMsIDM3NTQsIDM3NTUsIDM3NTYsIDM3NTcsIDM3NTgsIDM3NTksIDM3NjAsCi0gMzc2MSwgMzc2MiwgMzc2MywgMzc2NCwgMzc2NSwgMzc2NiwgMzc2NywgMzc2OCwgMzc2OSwgMzc3MCwgMzc3MSwgMzc3MiwgMzc3MywKLSAzNzc0LCAzNzc1LCAzNzc2LCAzNzc2LCAzNzc3LCAzNzc4LCAzNzc5LCAzNzQ0LCAzNzgwLCAzNzgxLCAzNzgwLCAzNzgxLCAzNzgyLAotIDM3ODMsIDUwNywgNTA3LCAzNzg1LCAzNzg2LCAzNzg3LCAzNzg4LCAzNzg4LCAzNzg5LCAzNzkwLCAzNzkxLCAzNzkyLCAzNzkyLAotIDM3OTMsIDM3OTQsIDM3OTUsIDM3OTYsIDM3OTYsIDM3OTcsIDM3OTgsIDM3OTksIDM4MDAsIDM4MDAsIDM4MDEsIDM4MDIsIDM4MDMsCi0gMzgwNCwgMzgwNCwgMzgwNSwgMzgwNiwgMzgwNywgMzgwOCwgMzgwOSwgMzgxMCwgMzgxMSwgMzgxMiwgMzgxMywgMzgxNCwgMjM0LAotIDIzNCwgMzgxNiwgMzgxNywgMzgxOCwgMzgxOSwgMzgxOSwgMzgyMCwgMzgyMSwgMzgyMiwgMzgyMywgMzgyMywgMzgyNCwgMzgyNSwKLSAzODI2LCAzODI3LCAzODI3LCAzODI4LCAzODI5LCAzODMwLCAzODMxLCAzODMxLCAzODMyLCAzODMzLCAzODM0LCAzODM1LCAzODM1LAotIDM4MzYsIDM4MzcsIDM4MzgsIDM4MzksIDM4MzksIDM4NDAsIDM4NDEsIDM4NDIsIDM4NDMsIDM4NDMsIDM4NDQsIDM4NDUsIDM4NDYsCi0gMzg0NywgMzg0NywgMzg0OCwgMzg0OSwgMzg1MCwgMzg1MSwgMzg1MSwgMzg1MiwgMzg1MywgMzg1NCwgMzg1NSwgMzg1NSwgMzg1NiwKLSAzODU3LCAzODU4LCAzODU5LCAzODU5LCAzODYwLCAzODYxLCAzODYyLCAzODYzLCAzODY0LCAzODY1LCAyNDcsIDI0NywgMzg2NywKLSAzODY4LCAzODY5LCAzODcwLCAzODcwLCAzODcxLCAzODcyLCAzODczLCAzODc0LCAzODc0LCAzODc1LCAzODc2LCAzODc3LCAzODc4LAotIDM4NzgsIDM4NzksIDM4ODAsIDM4ODEsIDM4ODIsIDM4ODIsIDM4ODMsIDM4ODQsIDM4ODUsIDM4ODYsIDM4ODYsIDM4ODcsIDM4ODgsCi0gMzg4OSwgMzg5MCwgMzg5MCwgMzg5MSwgMzg5MiwgMzg5MywgMzg5NCwgMzg5NCwgMzg5NSwgMzg5NiwgMzg5NywgMzg5OCwgMzg5OCwKLSAzODk5LCAzOTAwLCAzOTAxLCAzOTAyLCAzOTAyLCAzOTAzLCAzOTA0LCAzOTA1LCAzOTA2LCAzOTA2LCAzOTA3LCAzOTA4LCAzOTA5LAotIDM5MTAsIDM5MTEsIDM5MTIsIDI4MjksIDM5MTQsIDM5MTUsIDM5MTYsIDM5MTcsIDM5MTgsIDM5MTgsIDM5MTksIDM5MjAsIDM5MjEsCi0gMzkyMiwgMzkyMiwgMzkyMywgMzkyNCwgMzkyNSwgMzkyNiwgMzkyNiwgMzkyNywgMzkyOCwgMzkyOSwgMzkzMCwgMzkzMCwgMzkzMSwKLSAzOTMyLCAzOTMzLCAzOTM0LCAzOTM0LCAzOTM1LCAzOTM2LCAzOTM3LCAzOTM4LCAzOTM4LCAzOTM5LCAzOTQwLCAzOTQxLCAzOTQyLAotIDM5NDIsIDM5NDMsIDM5NDQsIDM5NDUsIDM5MTMsIDM4NjYsIDM5NDYsIDM5NDYsIDM5NDcsIDM5NDgsIDM5NDksIDM5NTAsIDIzNiwKLSAzOTUyLCAzOTUzLCAzOTU0LCAzOTU1LCAzOTU2LCAzOTU3LCAzOTU4LCAzOTU5LCAzOTYwLCAzOTYxLCAzOTYyLCAzOTUxLCAzODE1LAotIDM5NjMsIDM5NjMsIDM5NjQsIDM5NjUsIDM5NjYsIDM5NjcsIDM5NjgsIDM5NjksIDM5NjksIDM5NzAsIDM5NzEsIDk1MSwgOTUxLAotIDM5NzMsIDM5NzQsIDM5NzUsIDM5NzYsIDM5NzYsIDM5NzcsIDM5NzgsIDM5NzksIDM5ODAsIDM5ODAsIDM5ODEsIDM5ODIsIDM5ODMsCi0gMzk4NCwgMzk4NCwgMzk4NSwgMzk4NiwgMzk4NywgMzk4OCwgMzk4OCwgMzk4OSwgMzk5MCwgMzk5MSwgMzk5MiwgMzk5MiwgMzk5MywKLSAzOTk0LCAzOTk1LCAzOTk2LCAzOTk2LCAzOTk3LCAzOTk4LCA2MjEsIDQwMDAsIDQwMDEsIDQwMDIsIDQwMDMsIDQwMDQsIDQwMDUsCi0gNDAwNiwgNDAwNywgNDAwOCwgNDAwOSwgNDAxMCwgNDAxMSwgNDAxMSwgNDAxMiwgNDAxMywgNDAxNCwgNDAxNSwgNDAxNSwgNDAxNiwKLSA0MDE3LCA5NzUsIDk3NSwgNDAxOSwgNDAyMCwgNDAyMSwgNDAyMiwgNDAyMiwgNDAyMywgNDAyNCwgNDAyNSwgNDAyNiwgNDAyNiwKLSA0MDI3LCA0MDI4LCA0MDI5LCA0MDMwLCA0MDMwLCA0MDMxLCA0MDMyLCA0MDMzLCA0MDM0LCA0MDM0LCA0MDM1LCA0MDM2LCA5ODYsCi0gOTg2LCA0MDM4LCA0MDM5LCA5ODksIDk4OSwgNDA0MSwgNDA0MiwgNDA0MywgNDA0MCwgNDA0NCwgNDA0NCwgNDA0NSwgNDA0NSwKLSA0MDQ2LCA0MDQ3LCA0MDQ4LCA0MDQ5LCA0MDUwLCA0MDUxLCA5OTcsIDk5NywgNDA1MywgNDA1NCwgMTAwMCwgMTAwMCwgNDA1NiwKLSA0MDU3LCA0MDU4LCA0MDU1LCA0MDU5LCA0MDU5LCA0MDYwLCA0MDYwLCA0MDYxLCA0MDYyLCA0MDYzLCA0MDY0LCA0MDY1LCA0MDY2LAotIDQwNjcsIDQwNTIsIDEwMDgsIDQwNjgsIDQwNjksIDQwNzAsIDQwNzEsIDQwNzIsIDQwNzMsIDQwNzMsIDQwNzQsIDQwNzUsIDQwNzYsCi0gNDAzNywgNDA3NywgNDA3OCwgNDA3NywgNDA3OCwgNDA3OSwgNDA4MCwgMTAxOCwgMTAxOSwgMTAyMCwgMTAyMSwgMTAyMiwgMTAyMywKLSAxMDI0LCAxMDI1LCAxMDI2LCA0MDgyLCA0MDgzLCA0MDg0LCA0MDg1LCA0MDg2LCA0MDg3LCA0MDg4LCA0MDg5LCA0MDkwLCA0MDkxLAotIDEwNDEsIDEwNDIsIDQwOTMsIDQwOTQsIDQwOTUsIDQwOTYsIDQwOTYsIDQwOTcsIDQwOTgsIDQwOTksIDQxMDAsIDQxMDAsIDQxMDEsCi0gNDEwMiwgNDEwMywgNDEwNCwgNDEwNCwgNDEwNSwgNDEwNiwgNDEwNywgNDEwOCwgNDEwOCwgNDEwOSwgNDExMCwgNDExMSwgNDExMiwKLSA0MTEyLCA0MTEzLCA0MTE0LCA0MTE1LCA0MTE2LCA0MTE3LCA0MTE4LCA0MTE5LCA0MDkyLCA0MTIxLCA0MTIwLCA0MTIyLCA0MTIzLAotIDQxMjQsIDQxMjUsIDQxMjUsIDQxMjYsIDQxMjcsIDQxMjgsIDQxMjksIDQxMjksIDQxMzAsIDQxMzEsIDQxMzIsIDQxMzMsIDQxMzMsCi0gNDEzNCwgNDEzNSwgNDEzNiwgNDEzNywgNDEzNywgNDEzOCwgNDEzOSwgNDE0MCwgNDE0MSwgNDE0MSwgNDE0MiwgNDE0MywgNDE0NCwKLSA0MTQ1LCA0MTQ1LCA0MTQ2LCA0MTQ3LCA0MTQ4LCA0MDgxLCA0MDE4LCAzOTk5LCAzOTcyLCAzNzg0LCAzNzMzLCAzNTA1LCAzNDE4LAotIDMzOTksIDMzMjgsIDMzMTcsIDQxNDksIDQxNTAsIDQxNTEsIDQxNTIsIDQxNTMsIDQxNTQsIDQxNTUsIDQxNTYsIDQxNTcsIDQxNTgsCi0gNDE1OSwgNDE2MCwgNDE0OSwgNDE1MCwgNDE1MSwgNDE1MiwgNDE1MywgNDE1NCwgNDE1NSwgNDE1NiwgNDE1NywgNDE1OCwgNDE1OSwKLSA0MTYwLCA0MTYxLCA0MTYyLCAxMDg2LCAxMDg2LCA0MTY0LCA0MTY1LCA0MTY2LCA0MTY3LCA0MTY3LCA0MTY4LCA0MTY5LCA0MTcwLAotIDQxNzEsIDQxNzEsIDQxNzIsIDQxNzMsIDQxNzQsIDQxNzUsIDQxNzUsIDQxNzYsIDQxNzcsIDQxNzgsIDQxNzksIDQxNzksIDQxODAsCi0gNDE4MSwgNDE4MiwgNDE4MywgNDE4MywgNDE4NCwgNDE4NSwgNDE4NiwgNDE2MywgMzI2NiwgMzEzOSwgMzEyMCwgNDE4NywgNDE4OCwKLSA0MTg5LCA0MTkwLCA0MTkxLCA0MTg3LCA0MTg4LCA0MTg5LCA0MTkwLCA0MTkxLCA0MTkyLCA0MTkzLCA0OTMsIDU0MCwgNDE5NSwKLSA0MTk2LCA0MTk3LCA0MTk4LCA0MTk4LCA0MTk5LCA0MjAwLCA1MDIsIDUwMiwgNDIwMiwgNDIwMywgNDU3LCA0NTcsIDUwMiwKLSA1MDIsIDQyMDUsIDQyMDYsIDcwMSwgNzAxLCA0MjA4LCA0MjA5LCA0NzUsIDQ3NSwgNDIxMSwgNDIxMiwgNDcwLCA0NzAsIDQ4MiwKLSA0ODIsIDQyMTQsIDQyMTUsIDQ3NiwgNDc2LCA0OTQsIDQ5NCwgNDIxNywgNDIxOCwgNDk1LCA0OTUsIDQyMjAsIDQyMjEsIDQ3NCwKLSA0NzQsIDUxOSwgNTE5LCA0MjIzLCA0MjI0LCA0NTcsIDQ1NywgNzAxLCA3MDEsIDQyMjYsIDQyMjcsIDUxOCwgNTE4LCA0MjI5LAotIDQyMzAsIDQyMzEsIDQyMzIsIDQyMzIsIDQyMzMsIDQyMzQsIDQyMzUsIDQyMzYsIDQyMzYsIDQyMzcsIDQyMzgsIDQyMzksIDQyNDAsCi0gNDI0MCwgNDI0MSwgNDI0MiwgNDcwLCA0NzAsIDQyNDQsIDQyNDUsIDUzNiwgNTM2LCA0MjQ3LCA0MjQ4LCA0NTcsIDQ1NywgNDI1MCwKLSA0MjUxLCA0NTcsIDQ1NywgNDI1MywgNDI1NCwgNTE4LCA1MTgsIDQyNTYsIDQyNTcsIDQyNTgsIDQyNTUsIDQyNTIsIDQyNDksCi0gNDI0NiwgNDI0MywgNDIyOCwgNDIyNSwgNDIyMiwgNDIxOSwgNDIxNiwgNDIxMywgNDIxMCwgNDIwNywgNDIwNCwgNDIwMSwgNDI1OSwKLSA0MjYwLCA0MjYxLCA0MjYyLCA0MjYzLCA0MjY0LCA0MjY1LCA0MjY2LCA0MjY3LCA0MjY4LCA0MjY5LCA0MjcwLCA0MjcxLCA0MjcyLAotIDQyNzMsIDQyNzQsIDQyNTksIDQyNjAsIDQyNjEsIDQyNjIsIDQyNjMsIDQyNjQsIDQyNjUsIDQyNjYsIDQyNjcsIDQyNjgsIDQyNjksCi0gNDI3MCwgNDI3MSwgNDI3MiwgNDI3MywgNDI3NCwgNDI3NSwgNDI3NiwgNDI3NywgNDI3OCwgNDI3OSwgNDI4MCwgNTIzLCA1MjMsCi0gNDI4MiwgNDI4MywgNDI4NCwgNDI4NSwgNDI4NSwgNDI4NiwgNDI4NywgNDI4OCwgNDI4OSwgNDI4OSwgNDI5MCwgNDI5MSwgNDI5MiwKLSA0MjkzLCA0MjkzLCA0Mjk0LCA0Mjk1LCA0Mjk2LCA0Mjk3LCA0Mjk3LCA0Mjk4LCA0Mjk5LCA0MzAwLCA0MzAxLCA0MzAxLCA0MzAyLAotIDQzMDMsIDQzMDQsIDQyODEsIDQzMDUsIDQzMDYsIDQzMDUsIDQzMDYsIDQzMDcsIDQzMDgsIDQwMiwgNDAyLCA0MzEwLCA0MzExLAotIDQzMTIsIDQzMTMsIDQzMTMsIDQzMTQsIDQzMTUsIDQzMTYsIDQzMTcsIDQzMTcsIDQzMTgsIDQzMTksIDQzMjAsIDQzMjEsIDQzMjEsCi0gNDMyMiwgNDMyMywgNDMyNCwgNDMyNSwgNDMyNiwgNDMyNywgNDMyOCwgNDMyOSwgNDMzMCwgNDMzMSwgNDMzMiwgNDMzMywgNDMzNCwKLSA0MzM1LCA0MzM2LCA0MzM3LCA0MzM4LCA0MzM5LCA0MzQwLCA0MzQxLCA0MzQyLCA0MzQzLCA0MDMsIDQwMywgNDM0NSwgNDM0NiwKLSA0MzQ3LCA0MzQ4LCA0MzQ4LCA0MzQ5LCA0MzUwLCA0MzUxLCA0MzUyLCA0MzUyLCA0MzUzLCA0MzU0LCA0MzU1LCA0MzU2LCA0MzU2LAotIDQzNTcsIDQzNTgsIDQzNTksIDQzNjAsIDQzNjEsIDQzNjIsIDQzNjMsIDQzNjQsIDQzNjUsIDQzNjYsIDQzNjcsIDQzNjgsIDQzNjksCi0gNDM3MCwgNDM3MSwgNDM3MiwgNDM3MywgNDM3NCwgNDM3NSwgNDM3NiwgNDM3NywgNDM3OCwgNDM3OSwgNDM0NCwgNDM4MCwgNDM4MCwKLSA0MzgxLCA0MzgxLCA0MzgyLCA0MzgzLCA0MDYsIDQwNiwgNDM4NSwgNDM4NiwgNDM4NywgNDM4OCwgNDM4OCwgNDM4OSwgNDM5MCwKLSA0MzkxLCA0MzkyLCA0MzkyLCA0MzkzLCA0Mzk0LCA0Mzk1LCA0Mzk2LCA0Mzk2LCA0Mzk3LCA0Mzk4LCA0Mzk5LCA0NDAwLCA0NDAxLAotIDQ0MDIsIDQ0MDMsIDQ0MDQsIDQ0MDUsIDQ0MDYsIDQ0MDcsIDQ0MDgsIDQ0MDksIDQ0MTAsIDQ0MTEsIDQ0MTIsIDQ0MTMsIDQ0MTQsCi0gNDQxNSwgNDQxNiwgNDQxNywgNDQxOCwgNDQxOSwgNDQyMCwgNDQyMCwgNDQyMSwgNDQyMiwgNDA0LCA0MDQsIDQ0MjQsIDQ0MjUsCi0gNDQyNiwgNDQyNywgNDQyNywgNDQyOCwgNDQyOSwgNDQzMCwgNDQzMSwgNDQzMSwgNDQzMiwgNDQzMywgNDQzNCwgNDQzNSwgNDQzNSwKLSA0NDM2LCA0NDM3LCA0NDM4LCA0NDM5LCA0NDQwLCA0NDQxLCA0NDQyLCA0NDQzLCA0NDQ0LCA0NDQ1LCA0NDQ2LCA0NDQ3LCA0NDQ4LAotIDQ0NDksIDQ0NTAsIDQ0NTEsIDQ0NTIsIDQ0NTMsIDQ0NTQsIDQ0NTUsIDQ0NTYsIDQ0NTcsIDQwOCwgNDA4LCA0NDU5LCA0NDYwLAotIDQ0NjEsIDQ0NjIsIDQ0NjIsIDQ0NjMsIDQ0NjQsIDQ0NjUsIDQ0NjYsIDQ0NjYsIDQ0NjcsIDQ0NjgsIDQ0NjksIDQ0NzAsIDQ0NzAsCi0gNDQ3MSwgNDQ3MiwgNDQ3MywgNDQ3NCwgNDQ3NSwgNDQ3NiwgNDQ3NywgNDQ3OCwgNDQ3OSwgNDQ4MCwgNDQ4MSwgNDQ4MiwgNDQ4MywKLSA0NDg0LCA0NDg1LCA0NDg2LCA0NDg3LCA0NDg4LCA0NDg5LCA0NDkwLCA0NDkxLCA0NDkyLCA0NDkzLCA0NDU4LCA0NDk1LCA0NDk1LAotIDQ0OTQsIDQ0OTQsIDQ0OTYsIDQ0OTcsIDQwNywgNDA3LCA0NDk5LCA0NTAwLCA0NTAxLCA0NTAyLCA0NTAyLCA0NTAzLCA0NTA0LAotIDQ1MDUsIDQ1MDYsIDQ1MDYsIDQ1MDcsIDQ1MDgsIDQ1MDksIDQ1MTAsIDQ1MTAsIDQ1MTEsIDQ1MTIsIDQ1MTMsIDQ1MTQsIDQ1MTUsCi0gNDUxNiwgNDUxNywgNDUxOCwgNDUxOSwgNDUyMCwgNDUyMSwgNDUyMiwgNDUyMywgNDUyNCwgNDUyNSwgNDUyNiwgNDUyNywgNDUyOCwKLSA0NTI5LCA0NTMwLCA0NTMxLCA0NTMyLCA0NTMzLCA0NTM0LCA0NTM0LCA0NTM1LCA0NTM2LCA0MDksIDQwOSwgNDUzOCwgNDUzOSwKLSA0NTQwLCA0NTQxLCA0NTQxLCA0NTQyLCA0NTQzLCA0NTQ0LCA0NTQ1LCA0NTQ1LCA0NTQ2LCA0NTQ3LCA0NTQ4LCA0NTQ5LCA0NTQ5LAotIDQ1NTAsIDQ1NTEsIDQ1NTIsIDQ1NTMsIDQ1NTQsIDQ1NTUsIDQ1NTYsIDQ1NTcsIDQ1NTgsIDQ1NTksIDQ1NjAsIDQ1NjEsIDQ1NjIsCi0gNDU2MywgNDU2NCwgNDU2NSwgNDU2NiwgNDU2NywgNDU2OCwgNDU2OSwgNDU3MCwgNDU3MSwgNDU3MiwgNDU3MywgNDU3MywgNDU3NCwKLSA0NTc1LCA0NTc2LCA0NTc3LCA0NTc3LCA0NTc4LCA0NTc5LCA0NTgwLCA0NTgxLCA0NTgxLCA0NTgyLCA0NTgzLCA0NTg0LCA0NTg1LAotIDQ1ODUsIDQ1ODYsIDQ1ODcsIDQ1ODgsIDQ1ODksIDQ1ODksIDQ1OTAsIDQ1OTEsIDQ1OTIsIDQ1OTMsIDQ1OTMsIDQ1OTQsIDQ1OTUsCi0gNDU5NiwgNDU5NywgNDU5NywgNDU5OCwgNDU5OSwgNDYwMCwgNDYwMSwgNDYwMSwgNDYwMiwgNDYwMywgNDYwNCwgNDYwNSwgNDYwNSwKLSA0NjA2LCA0NjA3LCA0NjA4LCA0NjA5LCA0NjA5LCA0NjEwLCA0NjExLCA0NjEyLCA0NjEzLCA0NjEzLCA0NjE0LCA0NjE1LCA0MTAsCi0gNDEwLCA0NjE3LCA0NjE4LCA0NjE5LCA0NjIwLCA0NjIwLCA0NjIxLCA0NjIyLCA0NjIzLCA0NjI0LCA0NjI0LCA0NjI1LCA0NjI2LAotIDQ2MjcsIDQ2MjgsIDQ2MjgsIDQ2MjksIDQ2MzAsIDQ2MzEsIDQ2MzIsIDQ2MzMsIDQ2MzQsIDQ2MzUsIDQ2MzYsIDQ2MzcsIDQ2MzgsCi0gNDYzOSwgNDY0MCwgNDY0MSwgNDY0MiwgNDY0MywgNDY0NCwgNDY0NSwgNDY0NiwgNDY0NywgNDY0OCwgNDY0OSwgNDY1MCwgNDA1LAotIDQwNSwgNDY1MiwgNDY1MywgNDY1NCwgNDY1NSwgNDY1NSwgNDY1NiwgNDY1NywgNDY1OCwgNDY1OSwgNDY1OSwgNDY2MCwgNDY2MSwKLSA0NjYyLCA0NjYzLCA0NjYzLCA0NjY0LCA0NjY1LCA0NjY2LCA0NjY3LCA0NjY4LCA0NjY5LCA0NjcwLCA0NjcxLCA0NjcyLCA0NjczLAotIDQ2NzQsIDQ2NzUsIDQ2NzYsIDQ2NzcsIDQ2NzgsIDQ2NzksIDQ2ODAsIDQ2ODEsIDQ2ODIsIDQ2ODMsIDQ2ODQsIDQ2ODUsIDQ2ODYsCi0gNDY1MSwgNDYxNiwgNDY4NywgNDY4OCwgNDY4OSwgNDY4NywgNDY4OCwgNDY4OSwgNDY5MCwgNDY5MSwgNDgxLCA0ODEsIDQ2OTMsCi0gNDY5NCwgNDY5NSwgNDY5NiwgNDY5NiwgNDY5NywgNDY5OCwgNDY5OSwgNDcwMCwgNDcwMCwgNDcwMSwgNDcwMiwgNDcwMywgNDcwNCwKLSA0NzA0LCA0NzA1LCA0NzA2LCA0NzA3LCA0NzA4LCA0NzA5LCA0NzEwLCA0NzExLCA0NzEyLCA0NzEyLCA0NzEzLCA0NzE0LCAzOTMsCi0gMzkzLCA0NzE2LCA0NzE3LCA0NzE4LCA0NzE5LCA0NzE5LCA0NzIwLCA0NzIxLCA0NzIyLCA0NzIzLCA0NzIzLCA0NzI0LCA0NzI1LAotIDQ3MjYsIDQ3MjcsIDQ3MjcsIDQ3MjgsIDQ3MjksIDQ3MzAsIDQ3MzEsIDQ3MzIsIDQ3MzMsIDQ3MzQsIDQ3MzUsIDQ3MzYsIDQ3MzcsCi0gNDczOCwgNDczOSwgNDc0MCwgNDc0MSwgNDc0MiwgNDc0MywgNDc0MywgNDc0NCwgNDc0NSwgNDc0NiwgNDc0NywgNDc0NywgNDc0OCwKLSA0NzQ5LCA0NzUwLCA0NzUxLCA0NzUxLCA0NzUyLCA0NzUzLCA0NzU0LCA0NzU1LCA0NzU1LCA0NzU2LCA0NzU3LCA0MzgwLCA0MzgwLAotIDQ3NTksIDQ3NjAsIDQ0OTUsIDQ0OTUsIDQ3NjIsIDQ3NjMsIDQwMSwgNDAxLCA0NzY1LCA0NzY2LCA0NzY3LCA0NzY4LCA0NzY4LAotIDQ3NjksIDQ3NzAsIDQ3NzEsIDQ3NzIsIDQ3NzIsIDQ3NzMsIDQ3NzQsIDQ3NzUsIDQ3NzYsIDQ3NzYsIDQ3NzcsIDQ3NzgsIDQ3NzksCi0gNDc4MCwgNDc4MSwgNDc4MiwgNDc4MywgNDc4NCwgNDc4NSwgNDc4NiwgNDc4NywgNDc4OCwgNDc4OSwgNDc5MCwgNDc5MSwgNDc5MiwKLSA0NzkzLCA0Nzk0LCA0Nzk1LCA0Nzk2LCA0Nzk2LCA0Nzk3LCA0Nzk4LCA0Nzk5LCA0NzY0LCA0NzYxLCA0NzU4LCA0NzE1LCA0NjkyLAotIDQ1MzcsIDQ0OTgsIDQ0MjMsIDQzODQsIDQzMDksIDQ4MDAsIDQ4MDEsIDQ4MDIsIDQ4MDMsIDQ4MDQsIDQ4MDUsIDQ4MDYsIDQ4MDcsCi0gNDgwOCwgNDgwOSwgNDgxMCwgNDgwMCwgNDgwMSwgNDgwMiwgNDgwMywgNDgwNCwgNDgwNSwgNDgwNiwgNDgwNywgNDgwOCwgNDgwOSwKLSA0ODEwLCA0ODExLCA0ODEyLCA0ODEzLCA0ODE0LCA0ODE1LCA0ODE2LCA5MiwgNDgxNywgNDgxOCwgNDgxOCwgNDgxOSwgNDgyMCwKLSA0ODIxLCA0ODIyLCA0ODIyLCA0ODIzLCA0ODI0LCA0ODI1LCA0ODI2LCA0ODI2LCA0ODI3LCA0ODI4LCA0ODI5LCA0ODMwLCA0ODMwLAotIDQ4MzEsIDQ4MzIsIDM0MCwgNzgyLCA0ODM0LCA0ODM1LCA0ODM2LCA0ODM3LCA0ODM4LCA0ODM5LCA0ODQwLCA0ODQxLCA0ODQyLAotIDQ4NDMsIDQ4NDQsIDQ4NDUsIDQ4NDYsIDQ4NDcsIDQ4NDgsIDQ4NDksIDQ4NDksIDQ4NTAsIDQ4NTEsIDQ4NTIsIDQ4NTMsIDQ4NTMsCi0gNDg1NCwgNDg1NSwgNzgyLCA0ODU3LCA0ODU4LCA0ODU5LCA0ODYwLCA0ODYxLCA0ODYyLCA0ODYzLCA0ODY0LCA0ODY1LCA0ODY2LAotIDQ4NjcsIDQ4NjgsIDQ4NjksIDQ4NzAsIDQ4NzEsIDQ4NzIsIDQ4NzIsIDQ4NzMsIDQ4NzQsIDQ4NzUsIDQ4NzYsIDQ4NzYsIDQ4NzcsCi0gNDg3OCwgNjMyLCA2MzIsIDQ4ODAsIDQ4ODEsIDU5NCwgNTk0LCA0ODgzLCA0ODg0LCA2MjEsIDQ4ODYsIDQ4ODcsIDQ4ODgsCi0gNDg4OSwgNDg4OSwgNDg5MCwgNDg5MSwgNDg5MiwgNDg4NSwgNDg4MiwgNDg5MywgMzM4OCwgNDg5NCwgNDg5NSwgNDg5MywgMzM4OCwKLSA0ODk0LCA0ODk1LCA0ODk2LCA0ODk3LCA0ODk4LCAzMzg2LCAzMzg2LCA0ODk5LCA0OTAwLCA0OTAxLCA0OTAyLCA0OTAzLCA0OTAzLAotIDQ5MDQsIDQ5MDUsIDMzNjMsIDQ5MDcsIDQ5MDgsIDQ5MDksIDQ5MTAsIDQ5MTAsIDQ5MTEsIDQ5MTIsIDQ5MTMsIDQ5MTQsIDQ5MTQsCi0gNDkxNSwgNDkxNiwgNDkxNywgNDkxOCwgNDkxOCwgNDkxOSwgNDkyMCwgNDkyMSwgNDkyMiwgNDkyMywgNDkyNCwgNDkyNSwgNDkyNiwKLSA0OTI2LCA0OTI3LCA0OTI4LCA0OTI5LCA0OTMwLCA0OTMwLCA0OTMxLCA0OTMyLCA0OTMzLCA0OTM0LCA0OTM0LCA0OTM1LCA0OTM2LAotIDQ5MzcsIDQ5MzgsIDQ5MzgsIDQ5MzksIDQ5NDAsIDQ5NDEsIDQ5NDIsIDQ5NDIsIDQ5NDMsIDQ5NDQsIDQ5NDUsIDQ5NDYsIDQ5NDYsCi0gNDk0NywgNDk0OCwgNDk0OSwgNDk1MCwgNDk1MSwgNDk1MiwgNDk1MywgNDk1NCwgNDk1NCwgNDk1NSwgNDk1NiwgNDk1NywgNDk1OCwKLSA0OTU4LCA0OTU5LCA0OTYwLCA0OTYxLCA0OTYyLCA0OTYyLCA0OTYzLCA0OTY0LCA0OTY1LCA0OTY2LCA0OTY2LCA0OTY3LCA0OTY4LAotIDQ5NjksIDQ5NzAsIDQ5NzAsIDQ5NzEsIDQ5NzIsIDQ5NzMsIDQ5NzQsIDQ5NzQsIDQ5NzUsIDQ5NzYsIDQ5NzcsIDQ5NzgsIDQ5NzksCi0gNDk4MCwgNDk4MSwgNDk4MiwgNDk4MiwgNDk4MywgNDk4NCwgNDk4NSwgNDk4NiwgNDk4NiwgNDk4NywgNDk4OCwgNDk4OSwgNDk5MCwKLSA0OTkwLCA0OTkxLCA0OTkyLCA0OTkzLCA0OTk0LCA0OTk0LCA0OTk1LCA0OTk2LCA0OTk3LCA0OTk4LCA0OTk5LCA1MDAwLCA1MDAxLAotIDUwMDIsIDUwMDIsIDUwMDMsIDUwMDQsIDUwMDUsIDUwMDYsIDUwMDYsIDUwMDcsIDUwMDgsIDUwMDksIDUwMTAsIDUwMTAsIDUwMTEsCi0gNTAxMiwgNTAxMywgNTAxNCwgNTAxNCwgNTAxNSwgNTAxNiwgNTAxNywgNTAxOCwgNTAxOSwgNTAyMCwgNTAyMSwgNTAyMiwgNTAyMiwKLSA1MDIzLCA1MDI0LCA1MDI1LCA1MDI2LCA1MDI2LCA1MDI3LCA1MDI4LCA1MDI5LCA1MDMwLCA1MDMwLCA1MDMxLCA1MDMyLCA1MDMzLAotIDUwMzQsIDUwMzQsIDUwMzUsIDUwMzYsIDUwMzcsIDUwMzgsIDUwMzgsIDUwMzksIDUwNDAsIDUwNDEsIDUwNDIsIDUwNDIsIDUwNDMsCi0gNTA0NCwgNTA0NSwgNDkwNiwgNDg3OSwgNDg1NiwgNDgzMywgNTA0NiwgNTA0NywgNTA0OCwgNTA0OSwgNTA1MCwgNTA0NiwgNTA0NywKLSA1MDQ4LCA1MDQ5LCA1MDUwLCA1MDUxLCA1MDUyLCAzNTg1LCA1MDU0LCA1MDU1LCA1MDU2LCA1MDU3LCA1MDU4LCA1MDU5LCA1MDYwLAotIDUwNjEsIDUwNjIsIDUwNjMsIDUwNjQsIDUwNjUsIDUwNjYsIDUwNjcsIDUwNjgsIDUwNjksIDUwNzAsIDUwNzEsIDUwNzIsIDU0MywKLSA1NDMsIDUwNzMsIDM0MTEsIDUwNzQsIDUwNzUsIDQ5LCA0ODU5LCA1MDc3LCA1MDc3LCA1MDc4LCA1MDc5LCA1MDgwLCA1MDgxLAotIDUwODEsIDUwODIsIDUwODMsIDUwODQsIDUwODUsIDUwODUsIDUwODYsIDUwODcsIDUwODgsIDUwNzYsIDUwODksIDUwOTAsIDUwODksCi0gNTA5MCwgNTA5MSwgNTA5MiwgMzUwMSwgNTA5NCwgNTA5NSwgNTA5NiwgNTA5NywgMzY5MiwgNTA5NywgMzY5MiwgNTA5OCwgNTA5OSwKLSA5NzUsIDUxMDEsIDUxMDIsIDk4NiwgOTg5LCA5OTcsIDEwMDAsIDUxMDQsIDUxMDUsIDUxMDYsIDUxMDMsIDc0OSwgMTAwOCwKLSA1MTA3LCA1MTA4LCA1MTA5LCA1MTEwLCA1NDMsIDc1MCwgNTExMiwgNTExMywgNDgsIDUxMTQsIDQ5LCA1MTExLCA1OTQsIDc2NSwKLSA5NTEsIDE1NjQsIDUxMTUsIDUxMTYsIDUxMTcsIDUxMTgsIDIzNCwgMjY4LCA2NzQsIDEwNDEsIDEwNDIsIDUxMjAsIDUxMjEsCi0gMjI5LCAyMzYsIDI0NywgNzE1LCA1MTIzLCA1MTI0LCA0NTcsIDYzMiwgNTEyNiwgNTEyNywgNDY5LCA0NzAsIDQ3NCwgNDc1LAotIDQ3NiwgNDgxLCA3MDEsIDUxMjksIDUxMzAsIDIzNSwgMjM3LCAyMzgsIDI0NSwgMjQ2LCA0ODIsIDQ5MywgNDk0LCA0OTUsIDUwMiwKLSA1MTMyLCA1MTMzLCAyNDgsIDI0OSwgMjUxLCA0NDgsIDUxNSwgNTE4LCA1MTksIDUyMywgNTI2LCA1MzUsIDUxMzUsIDUxMzYsCi0gMjYzLCA0NjIsIDUzNiwgNTQwLCA1MTM4LCA1MTM5LCAyNTAsIDM4OCwgNTA3LCA4MjgsIDUxNDEsIDUxNDIsIDM5MywgNDAxLAotIDQwMiwgNDAzLCA0MDQsIDQwNSwgNDA2LCA0MDcsIDQwOCwgNDA5LCA1MTQ0LCA1MTQ1LCA1MTQ2LCA1MTQzLCA1MTQwLCA1MTM3LAotIDUxMzQsIDUxMzEsIDUxMjgsIDUxMjUsIDUxMjIsIDUxNDcsIDUxNDgsIDUxNDksIDUxNTAsIDUxNTEsIDUxNTIsIDUxNTMsIDUxNTQsCi0gNTE1NSwgNTE1NiwgNTE1NywgMzY5LCA0MTAsIDY5NCwgNTE1OSwgNTE2MCwgNTE2MSwgNTE2MiwgNTE2MywgNTE2NCwgNjIxLAotIDEwMTgsIDEwMTksIDEwMjAsIDEwMjEsIDEwMjIsIDEwMjMsIDEwMjQsIDEwMjUsIDEwMjYsIDUxNjYsIDUxNjcsIDUxNjgsIDUxNjksCi0gNTE3MCwgNTE3MSwgNTE3MiwgNTE2NSwgNTE1OCwgNTE3MywgNTE3NCwgNTE3NSwgNTE3NiwgNTE3NywgNTkxLCA4MzUsIDUxNzksCi0gNTE4MCwgNDM3LCA1MTgyLCA1MTgzLCA0MywgNTE4NCwgMiwgNTE4MSwgNTE3OCwgNTExOSwgMzQwLCA1MTIsIDc2MywgNzY0LAotIDEwODYsIDUxODUsIDUxODYsIDUxODcsIDUxODgsIDUxODksIDUxOTAsIDUxOTEsIDUxOTIsIDUxOTMsIDUxOTQsIDUxOTUsIDUxOTYsCi0gNTE5NiwgNTE5NywgNTE5OCwgNTE5OSwgNTIwMCwgNTIwMCwgNTIwMSwgNTIwMiwgMTYxMiwgMTYxMywgNTIwNCwgNTIwNSwgMTYxNywKLSAxNjE4LCAxNjE5LCAxNjIwLCAxNjIxLCAxNjIyLCAxNjIzLCAxNjI0LCAxNjI1LCAxNjI2LCA1MjA3LCA1MjA4LCA0NjIsIDE2MzgsCi0gMTYzOSwgNTIxMCwgNTIxMSwgNjk0LCAxNjQzLCAxNjQ0LCAxNjQ1LCAxNjQ2LCAxNjQ3LCA1MjEzLCA1MjE0LCA2NzQsIDUyMTYsCi0gNTIxNywgMzQwLCAxNjU1LCA1MjE5LCA1MjIwLCAxNjU4LCAxNjU5LCA1MjIyLCA1MjIzLCA1MjI0LCA1MjIxLCA1MjE4LCA1MjE1LAotIDUyMTIsIDUyMDksIDUyMDYsIDUyMjUsIDUyMjYsIDUyMjcsIDUyMjgsIDUyMjksIDUyMzAsIDUyMzEsIDUyMzIsIDUyMzMsIDE2NzEsCi0gMTY3MiwgMTY3MywgNTIzNSwgNTIzNiwgMTY3OCwgMTY3OSwgMTY4MCwgNTIzOCwgNTIzOSwgMTY4NSwgMTY4NiwgMTY4NywgMTY4OCwKLSA1MjQxLCA1MjQyLCAxNjk0LCAxNjk1LCAxNjk2LCAxNjk3LCAxNjk4LCAxNjk5LCA1MjQ0LCA1MjQ1LCAxNzA3LCAxNzA4LCA1MjQ3LAotIDUyNDgsIDUyNDksIDUyNDYsIDUyNDMsIDUyNDAsIDUyMzcsIDMwOTIsIDUyNTAsIDUyNTEsIDUyNTIsIDUyNTMsIDUyNTQsIDUyNTUsCi0gNTI1NiwgOTg2LCA5ODksIDEwMDgsIDUyNTgsIDUyNTksIDk5NywgMTAwMCwgNTI2MSwgNTI2MiwgMTA0MSwgMTA0MiwgMTcyMCwKLSAxNzIxLCAxNzIyLCAxNzIzLCAxNzI0LCAxNzI1LCAxNzI2LCA1MjY0LCA1MjY1LCAxNzM1LCA1MjY3LCA1MjY4LCA1MjY5LCAyNjgsCi0gMTczOCwgNTI3MCwgNTI3MSwgNTI3MiwgMTc0MiwgMTc0MywgMTc0NCwgMTc0NSwgNTI3NCwgNTI3NSwgNTI3NiwgNTI3MywgNTI2NiwKLSA1MjYzLCA1MjYwLCA1Mjc3LCA1Mjc4LCA1Mjc5LCA1MjgwLCA1MjgxLCA1MjgyLCA1MjgzLCAxNzU3LCAxNzU4LCA1Mjg1LCA1Mjg2LAotIDUyODcsIDUyODgsIDUyODksIDUyOTAsIDk3NSwgNTI5MiwgNTI5MywgNTI5NCwgNTI5NSwgNTI5NiwgNTI5NywgODM1LCAxNzY3LAotIDUyOTksIDUzMDAsIDM2OSwgMTc3MCwgNTMwMiwgNTMwMywgNTQzLCA2MzIsIDE3NzMsIDE3NzQsIDE3NzUsIDUzMDUsIDUzMDYsCi0gMTc4MCwgMTc4MSwgNTMwOCwgNTMwOSwgNTMxMCwgNTMwNywgNTMwNCwgNTMwMSwgNTI5OCwgNTI5MSwgNTMxMSwgNTMxMiwgNTMxMywKLSA1MzE0LCA1MzE1LCA1MzE2LCA1MzE3LCA1MzE4LCAxNzkyLCA1MzIwLCA1MzIxLCA1MzIyLCA1MzIzLCA1MzI0LCA1MzI1LCA1MzI2LAotIDUzMjcsIDUzMjgsIDUzMjksIDUzMzAsIDUzMTksIDUyODQsIDUyNTcsIDUyMzQsIDUzMzEsIDUzMzIsIDUzMzMsIDUzMzQsIDUzMzUsCi0gNTMzNiwgNTMzNywgMTgwNSwgNTMzOSwgNTM0MCwgNTM0MSwgNTM0MiwgNTM0MywgNTM0NCwgNTM0NSwgMTgxMCwgNTM0NiwgNTM0NywKLSA1MzQ4LCAxODE0LCA1MzUwLCA1MzUxLCA1MzUyLCA1MzUzLCA1MzU0LCA1MzU1LCA1MzU2LCA0NzQsIDQ3NSwgNDc2LCA1MzU3LAotIDUzNTgsIDUzNTksIDUzNjAsIDUzNDksIDMxODIsIDM1MjgsIDUzNjEsIDUzNjIsIDUzNjMsIDUzNjQsIDE4MjQsIDE4MjUsIDUzNjYsCi0gNTM2NywgNTk0LCA1MzY5LCA1MzcwLCA1MzcxLCA1MzcyLCA1MzczLCA1Mzc0LCA1Mzc1LCA1Mzc2LCA1Mzc3LCA1Mzc4LCA1Mzc5LAotIDUzNjgsIDQ1NywgMzE5MSwgNTM4MCwgNTM4MSwgNTM4MiwgNTM4MywgMTgzNywgNTM4NSwgNTM4NiwgNTM4NywgMjI5LCA1Mzg4LAotIDUzODksIDUzOTAsIDE4NDIsIDUzOTIsIDUzOTMsIDE4NDUsIDE4NDYsIDE4NDcsIDUzOTUsIDUzOTYsIDE4NTIsIDE4NTMsIDUzOTgsCi0gNTM5OSwgMTg1NywgNTQwMSwgNTQwMiwgNTQwMywgNTQwMCwgNTM5NywgNTM5NCwgNTQwNCwgNTQwNSwgNTQwNiwgNTQwNywgNTQwOCwKLSA1NDA5LCA1NDEwLCA1MzkxLCAzMTk4LCA1NDExLCA1NDEyLCA1NDEzLCA1NDE0LCAxODY4LCA1NDE2LCA1NDE3LCAxODcxLCA1NDE5LAotIDU0MjAsIDE4NzQsIDE4NzUsIDE4NzYsIDE4NzcsIDE4NzgsIDU0MjIsIDU0MjMsIDU0MjQsIDU0MjEsIDU0MTgsIDUwMiwgNTQyNSwKLSA1NDI2LCA1NDI3LCA1NDI4LCA1NDI5LCAxODg5LCA1NDMxLCA1NDMyLCA1NDMzLCA1NDM0LCA1NDM1LCA1NDM2LCAxMDE4LCAxMDE5LAotIDEwMjAsIDEwMjEsIDU0MzgsIDU0MzksIDEwMjIsIDEwMjYsIDU0NDEsIDU0NDIsIDU0NDMsIDU0NDAsIDU0NDQsIDU0NDUsIDU0NDYsCi0gNTQ0NywgNDM3LCA1NDQ5LCA1NDUwLCA1NDUxLCA1NDUyLCA1NDUzLCA1NDU0LCAxOTAyLCA1NDU2LCA1NDU3LCA1NDU4LCA1NDU5LAotIDU0NjAsIDU0NjEsIDU0NjIsIDU0NjMsIDU0NjQsIDU0NjUsIDU0NjYsIDU0NTUsIDU0NDgsIDU0MzcsIDU0MzAsIDU0NjcsIDU0NjgsCi0gNTQ2OSwgNTQ3MCwgNTQ3MSwgNTQ3MiwgNTQ3MywgMTkxNSwgNTQ3NSwgNTQ3NiwgNTQ3NywgNTQ3OCwgNTQ3OSwgNTQ4MCwgNTQ4MSwKLSA1NDgyLCA1NDgzLCA1NDg0LCAxOTIyLCA1NDg2LCA1NDg3LCAxOTI1LCA1NDg5LCA1NDkwLCAxOTI4LCA1NDkyLCA1NDkzLCAxOTMxLAotIDU0OTUsIDU0OTYsIDU0OTcsIDU0OTQsIDU0OTEsIDU0ODgsIDU0OTgsIDU0OTksIDU1MDAsIDU1MDEsIDU1MDIsIDU1MDMsIDU1MDQsCi0gNTUwNSwgNTUwNiwgNTUwNywgNTUwOCwgNTQ4NSwgNTUwOSwgNTUxMCwgNTUxMSwgNTUxMiwgMTk0NCwgNTUxNCwgNTUxNSwgMTk0NywKLSA1NTE3LCA1NTE4LCA1NTE5LCA1NTE2LCAzMjEyLCA1NTIwLCA1NTIxLCA1NTIyLCA1NTIzLCA1MTIsIDc4MiwgNTUyNSwgNTUyNiwKLSA3MTUsIDE5NTQsIDE5NTUsIDE5NTYsIDE5NTcsIDU1MjgsIDU1MjksIDIzNCwgMjM1LCAyMzYsIDIzNywgMjM4LCAzODgsIDU1MzEsCi0gNTUzMiwgMTk2NCwgNTUzNCwgNTUzNSwgMTIsIDU1MzYsIDI0NSwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LAotIDU1MzcsIDU1MzgsIDU1MzksIDUxOCwgNTE5LCA2MjEsIDgyOCwgMTk2OSwgNTU0MSwgNTU0MiwgNTI2LCAxNTY0LCAxOTcyLAotIDU1NDQsIDU1NDUsIDU1NDYsIDU1NDMsIDU1NDAsIDU1MzMsIDU1MzAsIDU1MjcsIDMyMzIsIDU1NDcsIDU1NDgsIDU1NDksIDU1NTAsCi0gNTU1MSwgNTU1MiwgNTU1MywgNTU1NCwgMTk4MiwgNTU1NiwgNTU1NywgMTk4NSwgNTU1OSwgNTU2MCwgMTk4OCwgNTU2MiwgNTU2MywKLSA1NTY0LCA3MiwgNTU2MSwgNzMsIDU1NTgsIDI2MywgNTU2NSwgNTU2NiwgNTU2NywgNTU2OCwgNTU2OSwgNTQwLCA3NjIsIDc2MywKLSA3NjQsIDc5MSwgMTA4NiwgNTU3MSwgNTU3MiwgMzkzLCA3NDksIDc1MCwgNzY1LCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCA1NTc0LAotIDU1NzUsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMsIDU1NzcsIDU1NzgsIDEwMjMsCi0gMTAyNCwgMTAyNSwgNTU4MCwgNTU4MSwgNTU4MiwgMTk1LCA5NTEsIDIwMjQsIDIwMjYsIDIwMjcsIDIwMjgsIDU1ODMsIDU1ODQsCi0gNTU4NSwgMjAzNSwgMjAzNiwgMjAzNywgMjAzOCwgMjAzOSwgMjA0MCwgNTU4NywgNTU4OCwgMjA0OCwgMjA0OSwgNTU5MCwgNTU5MSwKLSA1OTEsIDU1OTMsIDU1OTQsIDU1OTUsIDU1OTIsIDU1ODksIDU1ODYsIDU1NzksIDU1NzYsIDU1NzMsIDU1NzAsIDU1OTYsIDU1OTcsCi0gNTU5OCwgNTU5OSwgNTYwMCwgNTYwMSwgNTYwMiwgNTYwMywgNTYwNCwgNTYwNSwgNTYwNiwgNTU1NSwgNTUyNCwgNTUxMywgNTQ3NCwKLSA1NDE1LCA1Mzg0LCA1MzY1LCA1MzM4LCAxNjExLCAzNTY0LCAzNTY0LCA1NjA3LCA1NjA4LCA1NjA5LCA1NjEwLCA1NjExLCA1NjEyLAotIDU2MTMsIDU2MTQsIDU2MTUsIDU2MTYsIDU2MTcsIDMyNDksIDMyNTAsIDU2MTksIDU2MjAsIDIwNzUsIDU2MjIsIDIwNzYsIDU2MjQsCi0gNTYyNSwgNTYyMywgNTYyNiwgNTYyNywgNTYyOCwgNTYyOSwgMjA4MCwgNTYzMSwgMjA4MSwgNTYzMywgMjA4MiwgNTYzNSwgMjA4MywKLSA1NjM3LCA1NjM4LCA1NjM2LCA1NjM0LCA1NjMyLCA1NjM5LCA1NjQwLCA1NjQxLCA1NjQyLCA1NjQzLCA1NjQ0LCAyMDg5LCA1NjQ2LAotIDIwOTAsIDU2NDgsIDU2NDksIDU2NDcsIDU2NTAsIDU2NTEsIDU2NTIsIDU2NTMsIDIwOTQsIDU2NTUsIDIwOTUsIDU2NTcsIDU2NTgsCi0gNTY1NiwgNTY1OSwgNTY2MCwgNTY2MSwgNTY2MiwgMjA5OSwgNTY2NCwgNTY2NSwgNTY2NiwgNTY2NywgNTY2OCwgMjEwMiwgNTY3MCwKLSAyMTAzLCA1NjcyLCAyMTA0LCA1Njc0LCA1Njc1LCA1NjczLCA1NjcxLCA1Njc2LCA1Njc3LCA1Njc4LCA1Njc5LCA1NjgwLCAyMTA5LAotIDU2ODIsIDIxMTAsIDU2ODQsIDIxMTEsIDU2ODYsIDIxMTIsIDU2ODgsIDIxMTMsIDU2OTAsIDIxMTQsIDU2OTIsIDIxMTUsIDU2OTQsCi0gNTY5NSwgNTY5MywgNTY5MSwgNTY4OSwgNTY4NywgNTY4NSwgNTY4MywgNTY5NiwgNTY5NywgNTY5OCwgNTY5OSwgNTcwMCwgNTcwMSwKLSA1NzAyLCA1NzAzLCA1NzA0LCAyMTI0LCA1NzA2LCAyMTI1LCA1NzA4LCAyMTI2LCA1NzEwLCAyMTI3LCA1NzEyLCAyMTI4LCA1NzE0LAotIDIxMjksIDU3MTYsIDIxMzAsIDU3MTgsIDIxMzEsIDU3MjAsIDU3MjEsIDU3MTksIDU3MTcsIDU3MTUsIDU3MTMsIDU3MTEsIDU3MDksCi0gNTcwNywgNTcyMiwgNTcyMywgNTcyNCwgNTcyNSwgNTcyNiwgNTcyNywgNTcyOCwgNTcyOSwgNTczMCwgNTczMSwgNTczMiwgNTcwNSwKLSA1NjgxLCA1NjY5LCA1NjYzLCA1NjU0LCA1NjQ1LCA1NjMwLCA1NzMzLCA1NzM0LCA1NzM1LCA1NzM2LCA1NzM3LCA1NzM4LCA1NzM5LAotIDU3NDAsIDU3NDEsIDU3NDIsIDIxNTAsIDU3NDQsIDIxNTEsIDU3NDYsIDIxNTIsIDU3NDgsIDIxNTMsIDU3NTAsIDIxNTQsIDU3NTIsCi0gMjE1NSwgNTc1NCwgMjE1NiwgNTc1NiwgNTc1NywgNTc1NSwgNTc1MywgNTc1MSwgNTc0OSwgNTc0NywgNTc0NSwgNTc1OCwgNTc1OSwKLSA1NzYwLCA1NzYxLCA1NzYyLCA1NzYzLCA1NzY0LCA1NzY1LCA1NzY2LCAyMTY1LCA1NzY4LCAyMTY2LCA1NzcwLCAyMTY3LCA1NzcyLAotIDIxNjgsIDU3NzQsIDIxNjksIDU3NzYsIDIxNzAsIDU3NzgsIDU3NzksIDU3NzcsIDU3NzUsIDU3NzMsIDU3NzEsIDU3NjksIDU3ODAsCi0gNTc4MSwgNTc4MiwgNTc4MywgNTc4NCwgNTc4NSwgNTc4NiwgNTc4NywgMjE3OCwgNTc4OSwgMjE3OSwgNTc5MSwgMjE4MCwgNTc5MywKLSAyMTgxLCA1Nzk1LCAyMTgyLCA1Nzk3LCA1Nzk4LCA1Nzk2LCA1Nzk0LCA1NzkyLCA1NzkwLCA1Nzk5LCA1ODAwLCA1ODAxLCA1ODAyLAotIDU4MDMsIDU4MDQsIDU4MDUsIDIxODksIDU4MDcsIDIxOTAsIDU4MDksIDIxOTEsIDU4MTEsIDIxOTIsIDU4MTMsIDU4MTQsIDU4MTIsCi0gNTgxMCwgNTgwOCwgNTgxNSwgNTgxNiwgNTgxNywgNTgxOCwgNTgxOSwgNTgyMCwgNTgyMSwgNTgwNiwgNTc4OCwgNTc2NywgNTgyMiwKLSA1ODIzLCA1ODI0LCA1ODI1LCA1ODI2LCA1ODI3LCAyMjAzLCA1ODI5LCA1ODMwLCA1ODMxLCA1ODMyLCA1ODMzLCAyMjA2LCA1ODM1LAotIDIyMDcsIDU4MzcsIDIyMDgsIDU4MzksIDIyMDksIDU4NDEsIDU4NDIsIDU4NDAsIDU4MzgsIDU4MzYsIDU4NDMsIDU4NDQsIDU4NDUsCi0gNTg0NiwgNTg0NywgNTg0OCwgNTg0OSwgNTgzNCwgNTg1MCwgNTg1MSwgNTg1MiwgNTg1MywgMjIxOCwgNTg1NSwgMjIxOSwgNTg1NywKLSAyMjIwLCA1ODU5LCA1ODYwLCA1ODU4LCA1ODU2LCA1ODYxLCA1ODYyLCA1ODYzLCA1ODY0LCA1ODY1LCAyMjI1LCA1ODY3LCA1ODY4LAotIDU4NjksIDU4NzAsIDU4NzEsIDIyMjgsIDU4NzMsIDIyMjksIDU4NzUsIDU4NzYsIDU4NzQsIDU4NzcsIDU4NzgsIDU4NzksIDU4ODAsCi0gMjIzMywgNTg4MiwgNTg4MywgNTg4NCwgNTg4NSwgNTg4NiwgNTg4NywgNTg4MSwgNTg3MiwgNTg2NiwgNTg4OCwgNTg4OSwgNTg5MCwKLSA1ODkxLCA1ODkyLCA1ODkzLCAyMjQxLCA1ODk1LCA1ODk2LCA1ODk3LCA1ODk4LCA1ODk5LCA1OTAwLCA1OTAxLCA1OTAyLCA1OTAzLAotIDIyNDYsIDU5MDUsIDIyNDcsIDU5MDcsIDIyNDgsIDU5MDksIDU5MTAsIDU5MDgsIDU5MDYsIDU5MTEsIDU5MTIsIDU5MTMsIDU5MTQsCi0gNTkxNSwgMjI1MywgNTkxNywgNTkxOCwgNTkxOSwgNTkyMCwgNTkyMSwgNTkyMiwgNTkxNiwgNTkyMywgNTkyNCwgNTkyNSwgNTkyNiwKLSA1OTI3LCA1OTA0LCA1ODk0LCA1ODU0LCA1ODI4LCA1NzQzLCA1OTI4LCA1OTI5LCA1OTMwLCA1OTMxLCA1OTMyLCA1OTMzLCA1OTM0LAotIDU5MzUsIDIyNjYsIDU5MzcsIDU5MzgsIDU5MzksIDU5NDAsIDU5NDEsIDU5NDIsIDU5NDMsIDU5NDQsIDU5NDUsIDIyNzEsIDU5NDcsCi0gNTk0OCwgNTk0OSwgNTk1MCwgNTk1MSwgMjI3NCwgNTk1MywgNTk1NCwgNTk1NSwgNTk1NiwgNTk1NywgNTk1OCwgNTk1MiwgNTk1OSwKLSA1OTYwLCA1OTYxLCA1OTYyLCAyMjgwLCA1OTY0LCA1OTY1LCA1OTY2LCA1OTY3LCA1OTY4LCA1OTY5LCA1OTcwLCA1OTcxLCA1OTcyLAotIDU5NzMsIDU5NjMsIDU5NDYsIDU5NzQsIDU5NzUsIDU5NzYsIDU5NzcsIDU5NzgsIDIyODksIDU5ODAsIDU5ODEsIDU5ODIsIDU5ODMsCi0gNTk4NCwgNTk4NSwgNTk4NiwgNTk4NywgNTk4OCwgMjI5NCwgNTk5MCwgNTk5MSwgNTk5MiwgNTk5MywgNTk5NCwgNTk5NSwgNTk5NiwKLSA1OTk3LCA1OTk4LCA1OTk5LCA1OTg5LCA2MDAwLCA2MDAxLCA2MDAyLCA2MDAzLCAyMzAyLCA2MDA1LCA2MDA2LCA2MDA3LCA2MDA4LAotIDYwMDksIDYwMTAsIDYwMTEsIDYwMTIsIDYwMTMsIDYwMTQsIDYwMTUsIDYwMTYsIDYwMTcsIDIzMDksIDYwMTksIDYwMjAsIDYwMjEsCi0gNjAyMiwgNjAyMywgNjAyNCwgNjAyNSwgNjAyNiwgNjAyNywgNjAyOCwgNjAyOSwgNjAzMCwgNjAzMSwgMjMxNiwgNjAzMywgNjAzNCwKLSA2MDM1LCA2MDM2LCA2MDM3LCA2MDM4LCA2MDM5LCA2MDQwLCA2MDQxLCAyMzIxLCA2MDQzLCAyMzIyLCA2MDQ1LCAyMzIzLCA2MDQ3LAotIDIzMjQsIDYwNDksIDYwNTAsIDYwNDgsIDYwNDYsIDYwNDQsIDYwNTEsIDYwNTIsIDYwNTMsIDYwNTQsIDYwNTUsIDYwNTYsIDYwNTcsCi0gNjA1OCwgNjA1OSwgNjA2MCwgNjA2MSwgNjA0MiwgNjA2MiwgNjA2MywgNjA2NCwgNjA2NSwgNjA2NiwgNjAzMiwgNjAxOCwgNjAwNCwKLSA1OTc5LCA1OTM2LCA2MDY3LCA2MDY4LCA2MDY5LCA2MDcwLCA2MDcxLCA2MDcyLCA2MDczLCA2MDc0LCA2MDc1LCA2MDc2LCA2MDc2LAotIDYwNzcsIDYwNzgsIDYwNzksIDYwODAsIDYwODAsIDYwODEsIDYwODIsIDYwODMsIDYwODQsIDYwODQsIDYwODUsIDYwODYsIDYwODcsCi0gNjA4OCwgNjA4OCwgNjA4OSwgNjA5MCwgNjA5MSwgNTYyMSwgNTYxOCwgNjA5MiwgNjA5MiwgNjA5MywgMzI1NSwgMzI1NiwgMzI1NywKLSAzMjU4LCAzMjU5LCAzNTY4LCAzNTY5LCAzMjYyLCA2MDk0LCA2MDk1LCA2MDk2LCA2MDk3LCA2MDk4LCA2MDk4LCA2MDk5LCA2MTAwLAotIDk3NSwgNjEwMiwgNjEwMywgNjEwNCwgNjEwNSwgNjEwNiwgNjEwNywgNjEwOCwgNjEwOSwgNjEwOSwgNjExMCwgNjExMSwgNjExMiwKLSA2MTEzLCA2MTEzLCA2MTE0LCA2MTE1LCA2MTE2LCA2MTE3LCA2MTE3LCA2MTE4LCA2MTE5LCA2MTIwLCA2MTIxLCA2MTIyLCA2MTIzLAotIDYxMjQsIDYxMjUsIDYxMjYsIDYxMjcsIDYxMjgsIDYxMjksIDYxMzAsIDYxMzEsIDYxMzIsIDYxMzMsIDYxMzQsIDYxMzUsIDYxMzYsCi0gNjEzNywgNjEzOCwgNjEzOSwgMTA0MSwgNjE0MSwgNjE0MiwgNjE0MywgNjE0NCwgNjE0NSwgNjE0NiwgNjE0NywgNjE0OCwgNjE0OCwKLSA2MTQ5LCA2MTUwLCA2MTUxLCA2MTUyLCA2MTUyLCA2MTUzLCA2MTU0LCA2MTU1LCA2MTU2LCA2MTU2LCA2MTU3LCA2MTU4LCA2MTU5LAotIDYxNjAsIDYxNjAsIDYxNjEsIDYxNjIsIDYxNjMsIDYxNjQsIDYxNjQsIDYxNjUsIDYxNjYsIDYxNjcsIDYxNjgsIDYxNjksIDYxNzAsCi0gNjE3MSwgNjE3MiwgNjE3MywgNjE3NCwgNjE3NSwgNjE3NiwgNjE3NywgNjE3OCwgNjE3OSwgNjE4MCwgNjE4MSwgNjE4MiwgNjE4MywKLSA2MTg0LCA2MTg1LCA2MTg2LCA2MTg3LCA2MTg4LCA2MTg4LCA2MTg5LCA2MTkwLCA2MTkxLCA2MTkyLCA2MTkyLCA2MTkzLCA2MTk0LAotIDYxOTUsIDYxOTYsIDYxOTYsIDYxOTcsIDYxOTgsIDYxOTksIDYyMDAsIDYyMDAsIDYyMDEsIDYyMDIsIDYyMDMsIDYyMDQsIDYyMDQsCi0gNjIwNSwgNjIwNiwgNjIwNywgNjIwOCwgNjIwOCwgNjIwOSwgNjIxMCwgNjIxMSwgNjIxMiwgNjIxMiwgNjIxMywgNjIxNCwgNjIxNSwKLSA3NDksIDc1MCwgNjIxNiwgNjIxNywgNjIxOCwgMTA0MiwgNjIyMCwgNjIyMSwgNjIyMiwgNjIyMywgNjIyNCwgNjIyNSwgNjIyNiwKLSA2MjI3LCA2MjI3LCA2MjI4LCA2MjI5LCA2MjMwLCA2MjMxLCA2MjMxLCA2MjMyLCA2MjMzLCA2MjM0LCA2MjM1LCA2MjM1LCA2MjM2LAotIDYyMzcsIDYyMzgsIDYyMzksIDYyMzksIDYyNDAsIDYyNDEsIDYyNDIsIDYyNDMsIDYyNDMsIDYyNDQsIDYyNDUsIDYyNDYsIDYyNDcsCi0gNjI0OCwgNjI0OSwgNjI1MCwgNjI1MSwgNjI1MSwgNjI1MiwgNjI1MywgNjI1NCwgNjI1NSwgNjI1NSwgNjI1NiwgNjI1NywgNjI1OCwKLSA2MjU5LCA2MjU5LCA2MjYwLCA2MjYxLCA2MjYyLCA2MjYzLCA2MjYzLCA2MjY0LCA2MjY1LCA2MjY2LCA2MjY3LCA2MjY3LCA2MjY4LAotIDYyNjksIDYyNzAsIDYyNzEsIDYyNzEsIDYyNzIsIDYyNzMsIDYyNzQsIDYyNzUsIDYyNzUsIDYyNzYsIDYyNzcsIDYyNzgsIDYyNzksCi0gNjI4MCwgNjI4MSwgNDMsIDYyODIsIDQ0LCA2MjE5LCAzNDAsIDc2MywgNzY0LCA3NjUsIDc4MiwgNzkxLCAxMDg2LCA2MjgzLAotIDYyODQsIDYyODUsIDYyODYsIDYyODcsIDYyODgsIDYyODksIDYyOTAsIDYyOTEsIDYyOTIsIDYyOTMsIDYyOTQsIDYyOTUsIDYyOTYsCi0gNjI5NywgNjI5OCwgNjI5OSwgNjMwMCwgNjMwMSwgNjMwMiwgNTEyLCA3NjIsIDc2MywgNjMwNCwgNjMwNSwgNzY0LCA2MzA3LAotIDYzMDgsIDM0MCwgNzgyLCA2MzEwLCA2MzExLCA3OTEsIDYzMTMsIDYzMTQsIDc2NSwgODM1LCAxMDg2LCA2MzE2LCA2MzE3LAotIDYzMTgsIDYzMTUsIDYzMTIsIDYzMDksIDYzMDYsIDYzMjAsIDYzMTksIDYzMjEsIDYzMjIsIDYzMjMsIDYzMjQsIDYzMjUsIDYzMjYsCi0gMzE0LCA1NDUyLCA2MzI3LCA2MzI4LCA2MzI5LCA2MzMwLCA2MzMxLCA2MzMyLCA2MzMzLCA2MzM0LCA2MzM1LCA2MzM1LCA2MzM2LAotIDYzMzcsIDYzMzgsIDYzMDMsIDYxNDAsIDYzMzksIDYzMzksIDYzNDAsIDYzNDEsIDYzNDIsIDYzNDMsIDMxNCwgMzE0LCA2MzQ1LAotIDYzNDYsIDYzNDcsIDYzNDgsIDYzNDgsIDYzNDksIDYzNTAsIDYzNTEsIDYzNTIsIDYzNTMsIDYzNTQsIDYzNTUsIDYzNTYsIDYzNTcsCi0gNjM1OCwgNjM1OSwgNjM2MCwgNjM2MSwgNjM2MiwgMzExLCA2MzY0LCA2MzY1LCA2MzY2LCA2MzY3LCA2MzY4LCA2MzY5LCA2MzcwLAotIDYzNzEsIDYzNzIsIDYzNzMsIDYzNzQsIDYzNzUsIDYzNzYsIDYzNzcsIDYzNzgsIDYzNzksIDYzODAsIDYzODEsIDYzODIsIDYzODMsCi0gNjM4MywgNjM4NCwgNjM4NSwgNjM4NiwgNjM4NywgNjM4NywgNjM4OCwgNjM4OSwgNjM5MCwgNjM5MSwgNjM5MSwgNjM5MiwgNjM5MywKLSA2Mzk0LCA2Mzk1LCA2Mzk2LCA2Mzk3LCA2Mzk4LCA2Mzk5LCA2NDAwLCA2NDAxLCA2NDAyLCA2NDAzLCA2NDA0LCA2NDA1LCA1MTIsCi0gNjQwNywgNjQwOCwgNjQwOSwgNjQxMCwgNjQxMSwgNjQxMiwgNjQxMywgNjQxNCwgNjQxNSwgNjQxNiwgNjQxNywgNjQxOCwgNjQxOSwKLSA2NDIwLCA2NDIxLCA3NTAsIDY0MjIsIDY0MjMsIDY0MjQsIDc2MiwgNjQyNiwgNjQyNywgNjQyOCwgNjQyOSwgNjQzMCwgNjQzMSwKLSA2NDMyLCA2NDMzLCA2NDM0LCA2NDM1LCA2NDM2LCA2NDM3LCA2NDM4LCA2NDM5LCA2NDQwLCA2NDQxLCA2NDQyLCA2NDQzLCA3NjMsCi0gNjQ0NSwgNjQ0NiwgNjQ0NywgNjQ0OCwgNjQ0OSwgNjQ1MCwgNjQ1MSwgNjQ1MiwgNjQ1MywgNjQ1NCwgNjQ1NSwgNjQ1NiwgNjQ1NywKLSA2NDU4LCA2NDU5LCA2NDYwLCA2NDYxLCA2NDYyLCA3NjQsIDY0NjQsIDY0NjUsIDY0NjYsIDY0NjcsIDY0NjgsIDY0NjksIDY0NzAsCi0gNjQ3MSwgNjQ3MiwgNjQ3MywgNjQ3NCwgNjQ3NSwgNjQ3NiwgNjQ3NywgNjQ3OCwgNjQ3OSwgNjQ4MCwgNjQ4MSwgMTA4NiwgNjQ4MywKLSA2NDg0LCA2NDg1LCA2NDg2LCA2NDg3LCA2NDg4LCA2NDg5LCA2NDkwLCA2NDkxLCA2NDkyLCA2NDkzLCA2NDk0LCA2NDk1LCA2NDk2LAotIDY0OTcsIDY0OTgsIDY0OTksIDY1MDAsIDM0MCwgNjUwMiwgNjUwMywgNjUwNCwgNjUwNSwgNjUwNiwgNjUwNywgNjUwOCwgNjUwOSwKLSA2NTEwLCA2NTExLCA2NTEyLCA2NTEzLCA2NTE0LCA2NTE1LCA2NTE2LCA2NTE3LCA2NTE4LCA2NTE5LCA3ODIsIDY1MjEsIDY1MjIsCi0gNjUyMywgNjUyNCwgNjUyNSwgNjUyNiwgNjUyNywgNjUyOCwgNjUyOSwgNjUzMCwgNjUzMSwgNjUzMiwgNjUzMywgNjUzNCwgNjUzNSwKLSA2NTM2LCA2NTM3LCA2NTM4LCA2MzIwLCA2NTQwLCA2NTQxLCA2NTQyLCA2NTQzLCA2NTQ0LCA2NTQ1LCA2NTQ2LCA2NTQ3LCA2NTQ4LAotIDY1NDksIDY1NTAsIDY1NTEsIDY1NTIsIDY1NTMsIDc2NSwgNjU1NSwgNjU1NiwgNjU1NywgNjU1OCwgNjU1OSwgNjU2MCwgNjU2MSwKLSA2NTYyLCA2NTYzLCA2NTY0LCA2NTY1LCA2NTY2LCA2NTY3LCA2NTY4LCA2NTY5LCA2NTcwLCA2NTcxLCA2NTcyLCA0MCwgNjU3MywKLSA0OCwgNjU1NCwgNDksIDY1MzksIDUwLCA2NTIwLCAzLCA2NTAxLCA0MSwgNjQ4MiwgNDIsIDY0NjMsIDQzLCA2NDQ0LCA0NCwKLSA2NDI1LCA2NTc0LCA2NTc1LCA2NTc2LCA2NTc3LCA2NTc4LCA2NTc5LCA2NTgwLCA2NTgxLCA2NTgyLCA2NTgzLCA2NTg0LCA2NTg1LAotIDY1ODYsIDY1ODcsIDY1ODgsIDY1ODksIDY1OTAsIDY1OTEsIDY1OTIsIDY1OTMsIDY1OTQsIDY1OTUsIDY1OTYsIDY1OTcsIDY1OTgsCi0gNjU5OSwgNjYwMCwgNjYwMSwgNjQwNiwgNjYwMiwgNjYwMywgNjYwNCwgNjYwNSwgNjYwNiwgNjM2MywgNjM0NCwgNjYwNywgNjYwOCwKLSA2NjA5LCA2NjEwLCA2NjExLCA2NjEyLCA2NjEzLCA2NjEzLCA2NjE0LCA2NjE1LCA2NjE2LCA2MTAxLCA1MjAzLCA2NjE3LCA2NjE4LAotIDY2MTksIDY2MTcsIDY2MTgsIDY2MTksIDY2MjAsIDY2MjEsIDE1NjQsIDY2MjMsIDY2MjQsIDY2MjUsIDY2MjYsIDY2MjcsIDY2MjgsCi0gNjYyOSwgNjYzMCwgNjYzMSwgNjYzMiwgNjYzMywgNjYzNCwgNjYzNSwgNjYzNiwgNjYzNywgNjYzOCwgNjYzOCwgNjYzOSwgNjY0MCwKLSA2NjQxLCA2NjQyLCA2NjQzLCA2NjQ0LCA2NjQ1LCA2NjQ2LCA2NjQ2LCA2NjQ3LCA2NjQ4LCA2NjQ5LCA2NjUwLCA2NjUwLCA2NjUxLAotIDY2NTIsIDM3MzcsIDY2NTQsIDY2NTUsIDY2NTYsIDY2NTcsIDY2NTgsIDY2NTksIDgzNSwgODM1LCA2NjYxLCA2NjYyLCA2NjYzLAotIDY2NjQsIDY2NjQsIDY2NjUsIDY2NjYsIDY2NjcsIDY2NjgsIDY2NjgsIDY2NjksIDY2NzAsIDY2NzEsIDY2NjAsIDY2NzIsIDY2NzMsCi0gNjY3MiwgNjY3MywgNjY3NCwgNjY3NSwgODM1LCA2Njc3LCA2Njc4LCA2Njc5LCA2NjgwLCA2NjgxLCA2NjgyLCA2NjgzLCA2Njg0LAotIDY2ODUsIDY2ODYsIDY2ODcsIDY2ODgsIDY2ODksIDY2OTAsIDY2OTEsIDY2OTIsIDY2OTMsIDY2OTQsIDgzNSwgODM1LCA2Njk2LAotIDY2OTcsIDY2OTgsIDY2OTksIDY3MDAsIDY3MDEsIDY3MDIsIDY3MDMsIDY3MDQsIDY3MDUsIDY3MDYsIDY3MDcsIDY3MDgsIDY3MDksCi0gNjcxMCwgNjcxMSwgNjcxMiwgNjcxMywgNjcxNCwgNjcxNSwgNjcxNiwgNjcxNywgNjcxOCwgNjcxOSwgNjcyMCwgNjcyMSwgNjcyMiwKLSA2NzIzLCA2NzI0LCA2NzI1LCA2NzI2LCA2NzI3LCA2NzI4LCA2NzI5LCA2NzMwLCA2NzMxLCA2NzMyLCA2NzMzLCA2NzM0LCA2NzM1LAotIDY3MzUsIDY3MzYsIDY3MzcsIDY3MzgsIDY2OTUsIDY3NDAsIDY3MzksIDY3NDAsIDY3NDEsIDY3NDIsIDY3NDMsIDY2NzYsIDY3NDQsCi0gNjc0NSwgNjc0NCwgNjc0NSwgNjc0NiwgNjc0NywgNzUwLCA2NzQ5LCA2NzUwLCA2NzUxLCA1MTIsIDc2MiwgNzYzLCA3NjQsCi0gNzY1LCA2NzUyLCA2NzUzLCA2NzU0LCA2NzU1LCA2NzU2LCA2NzU2LCA2NzU3LCA2NzU4LCA2NzU5LCA2NzYwLCA2NzYwLCA2NzYxLAotIDY3NjIsIDY3NjMsIDY3NjQsIDY3NjQsIDY3NjUsIDY3NjYsIDY3NjcsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCA2NzY4LAotIDY3NjgsIDY3NjksIDY3NzAsIDMyNDgsIDY3NzIsIDY3NzMsIDk1MSwgOTUxLCA2Nzc1LCA2Nzc2LCA2Nzc3LCA2Nzc4LCA2Nzc4LAotIDY3NzksIDY3ODAsIDY3ODEsIDY3ODIsIDY3ODIsIDY3ODMsIDY3ODQsIDY3ODUsIDY3ODYsIDY3ODYsIDY3ODcsIDY3ODgsIDY3ODksCi0gNjc5MCwgNjc5MCwgNjc5MSwgNjc5MiwgNjc5MywgNjc3NCwgNjc5NSwgNjc5NCwgNjc5NiwgNjc5NywgNjc5OCwgNjc5OSwgNjc5OSwKLSA2ODAwLCA2ODAxLCAzODgsIDM4OCwgNjgwMywgNjgwNCwgNjgwNSwgNjgwNiwgNjgwNiwgNjgwNywgNjgwOCwgNjgwOSwgNjgxMCwKLSA2ODEwLCA2ODExLCA2ODEyLCA2ODEzLCA2ODE0LCA2ODE0LCA2ODE1LCA2ODE2LCA2ODE3LCA2ODE4LCA2ODE5LCA2ODIwLCA2ODIxLAotIDY4MjIsIDY4MjMsIDY4MjQsIDY4MjUsIDY4MjYsIDY4MjcsIDY4MjgsIDY4MjksIDY4MzAsIDY4MzEsIDY4MzIsIDY4MzMsIDY4MzQsCi0gNjgzNSwgNjgzNiwgNjgzNywgNjgzOCwgNjgzOCwgNjgzOSwgNjg0MCwgNjg0MSwgNjg0MiwgNjg0MiwgNjg0MywgNjg0NCwgNjg0NSwKLSA2ODQ2LCA2ODQ2LCA2ODQ3LCA2ODQ4LCA2ODQ5LCA2ODUwLCA2ODUwLCA2ODUxLCA2ODUyLCA2ODUzLCA2ODU0LCA2ODU0LCA2ODU1LAotIDY4NTYsIDY4NTcsIDY4NTgsIDY4NTgsIDY4NTksIDY4NjAsIDY4NjEsIDY4NjIsIDY4NjIsIDY4NjMsIDY4NjQsIDY4NjUsIDY4NjYsCi0gNjg2NiwgNjg2NywgNjg2OCwgNjg2OSwgNjg3MCwgNjg3MCwgNjg3MSwgNjg3MiwgNjg3MywgNjg3NCwgNjg3NCwgNjg3NSwgNjg3NiwKLSA2ODc3LCA2ODc4LCA2ODc4LCA2ODc5LCA2ODgwLCA2ODgxLCA2ODgyLCA2ODgyLCA2ODgzLCA2ODg0LCA2ODg1LCA2ODg2LCA2ODg3LAotIDY4ODgsIDY4ODksIDY4OTAsIDY4OTAsIDY4OTEsIDY4OTIsIDY3NCwgMzQ5MywgMzQ5MywgNjg5NCwgNjg5NSwgMzk4NCwgNjg5NywKLSA2ODk4LCA2ODk5LCA2OTAwLCA2OTAwLCA2OTAxLCA2OTAyLCA2OTAzLCA2OTA0LCA2OTA0LCA2OTA1LCA2OTA2LCA2OTA3LCA2OTA4LAotIDY5MDgsIDY5MDksIDY5MTAsIDY5MTEsIDY5MTIsIDY5MTIsIDY5MTMsIDY5MTQsIDQwMTEsIDY5MTYsIDY5MTcsIDY5MTgsIDY5MTksCi0gNjkxOSwgNjkyMCwgNjkyMSwgNjkyMiwgNjkyMywgNjkyMywgNjkyNCwgNjkyNSwgOTc1LCA2MTA1LCA2OTI3LCA2OTI4LCA2OTI5LAotIDY5MzAsIDY5MzAsIDY5MzEsIDY5MzIsIDMzMTMsIDMzMTMsIDY5MzQsIDY5MzUsIDY5MzYsIDY5MzcsIDY5MzcsIDY5MzgsIDY5MzksCi0gNjk0MCwgNjk0MSwgNjk0MiwgNjk0MywgNDA0NCwgNDA0NSwgNDA0NCwgNDA0NSwgNDA0OSwgNjk0NSwgNjk0NiwgNjk0NywgNjk0OCwKLSA2OTQ5LCA2OTUwLCA0MDU5LCA0MDYwLCA0MDU5LCA0MDYwLCA0MDY0LCA2OTUyLCA2OTUzLCA2OTU0LCA2OTU1LCA2OTU2LCA2OTU3LAotIDY5NTgsIDY5NTEsIDEwMDgsIDY5NTksIDY5NjAsIDY5NjEsIDY5NjIsIDY5NjMsIDEwMDgsIDY5NTksIDY5NjAsIDY5NjQsIDY5NjUsCi0gNjk2NiwgNjk2NywgNjk2OCwgNjk2OCwgNjk2OSwgNjk3MCwgNjk3MSwgMiwgNjk0NCwgNjkzMywgNjk3MiwgNjk3MywgNjk3NCwKLSA2OTcyLCA2OTczLCA2OTc0LCA2OTc1LCA2OTc2LCA2Nzk1LCA0MTIxLCA2OTc4LCA2OTc5LCA2OTgwLCA2OTgxLCA2OTgyLCA2OTgzLAotIDY5ODQsIDY5ODUsIDY5ODUsIDY5ODYsIDY5ODcsIDY5ODgsIDY5ODksIDY5ODksIDY5OTAsIDY5OTEsIDY5OTIsIDY5OTMsIDY5OTMsCi0gNjk5NCwgNjk5NSwgNjk5NiwgNjk5NywgNjk5NywgNjk5OCwgNjk5OSwgNzAwMCwgNzAwMSwgNzAwMSwgNzAwMiwgNzAwMywgNzAwNCwKLSA3MDA1LCA3MDA1LCA3MDA2LCA3MDA3LCA3MDA4LCA2OTc3LCA2OTI2LCA2OTE1LCA2ODk2LCA2ODkzLCA2ODAyLCA2NzcxLCA2NzQ4LAotIDY2NTMsIDY2MjIsIDUxMDAsIDUwOTMsIDUwNTMsIDQxOTQsIDMwNjksIDMwMzQsIDI4NDAsIDI4MjMsIDcwMjcsIDcwMjgsIDcwMjksCi0gNzAzMCwgNzAzMSwgMjgzMCwgNzAzMywgMjgzMywgNzAzNSwgNzAzNiwgNzAzNCwgNzAzOCwgNzAzNywgNzAzOSwgNzA0MCwgMjg0MSwKLSA3MDQyLCA3MDQzLCA3MDQ0LCA3MDQ1LCA3MDQ2LCAyODQ4LCA3MDQ4LCA3MDQ5LCA3MDUwLCA3MDUwLCA3MDUxLCA3MDUyLCA3MDUzLAotIDcwNTQsIDcwNTQsIDcwNTUsIDcwNTYsIDcwNTcsIDcwNTgsIDcwNTgsIDcwNTksIDcwNjAsIDcwNjEsIDcwNjIsIDcwNjIsIDcwNjMsCi0gNzA2NCwgNzA2NSwgNzA2NiwgNzA2NiwgNzA2NywgNzA2OCwgNzA2OSwgNzA3MCwgNzA3MCwgNzA3MSwgNzA3MiwgNzA3MywgNzA3NCwKLSA3MDc0LCA3MDc1LCA3MDc2LCA3MDc3LCA3MDc4LCA3MDc5LCA3MDgwLCA3MDgxLCA3MDgyLCA3MDgyLCA3MDgzLCA3MDg0LCA3MDg1LAotIDcwODYsIDcwODYsIDcwODcsIDcwODgsIDcwODksIDcwOTAsIDcwOTAsIDcwOTEsIDcwOTIsIDcwOTMsIDcwOTQsIDcwOTQsIDcwOTUsCi0gNzA5NiwgNzA5NywgNzA5OCwgNzA5OCwgNzA5OSwgNzEwMCwgNzEwMSwgNzEwMiwgNzEwMiwgNzEwMywgNzEwNCwgNzEwNSwgNzEwNiwKLSA3MTA2LCA3MTA3LCA3MTA4LCA3MTA5LCA3MTEwLCA3MTEwLCA3MTExLCA3MTEyLCA3MTEzLCA3MTE0LCA3MTE1LCA3MTE2LCA3MTE3LAotIDcxMTgsIDcxMTgsIDcxMTksIDcxMjAsIDcxMjEsIDcxMjIsIDcxMjIsIDcxMjMsIDcxMjQsIDcxMjUsIDcxMjYsIDcxMjYsIDcxMjcsCi0gNzEyOCwgMjkzMSwgNzEzMCwgMjkzNCwgNzEzMiwgNzEzMywgNzEzMSwgNzEzNCwgNzEzNSwgNzEzNiwgNzEzNywgNzEzOCwgNzEzOSwKLSA3MTQwLCA3MTQxLCA3MTQyLCA3MTQzLCA3MTQ0LCA3MTQ1LCA3MTQ2LCA3MTQ3LCA3MTQ4LCA3MTQ5LCA3MTUwLCA3MTUxLCA3MTUyLAotIDcxNTMsIDcxNTQsIDcxNTUsIDcxNTYsIDcxNTcsIDcxNTgsIDcxNTksIDcxNjAsIDcxNjEsIDcxNjIsIDcxNjMsIDcxNjMsIDcxNjQsCi0gNzE2NSwgNzE2NiwgNzE2NywgNzE2OCwgNzE2OSwgNzE3MCwgNzE3MSwgNzE3MSwgNzE3MiwgNzE3MywgNzE3NCwgNzE3NSwgNzE3NSwKLSA3MTc2LCA3MTc3LCAyOTgyLCA3MTc5LCA3MTgwLCA3MTgxLCA3MTgxLCA3MTgyLCA3MTgzLCA3MTg0LCA3MTg1LCA3MTg1LCA3MTg2LAotIDcxODcsIDcxODgsIDcxODksIDcxODksIDcxOTAsIDcxOTEsIDI5OTcsIDcxOTMsIDcxOTQsIDcxOTUsIDcxOTUsIDcxOTYsIDcxOTcsCi0gMzAwNCwgNzE5OSwgNzIwMCwgNzIwMSwgNzIwMiwgNzIwMywgNzIwNCwgNzIwNSwgNzIwNiwgNzIwNywgNzIwOCwgNzIwOSwgNzIxMCwKLSA3MjExLCA3MjEyLCA3MjEzLCA3MjEzLCA3MjE0LCA3MjE1LCA3MjE2LCA3MTk4LCA3MjE4LCA3MjE4LCA3MjE3LCA3MjE3LCA3MjE5LAotIDcyMjAsIDcyMjEsIDcxOTIsIDcxNzgsIDcxMjksIDcyMjMsIDcyMjMsIDcyMjIsIDcyMjQsIDcyMjUsIDcyMjIsIDcyMjQsIDcyMjUsCi0gNzIyNiwgNzIyNywgMzAzNSwgNzIyOSwgNzIzMCwgNzIzMSwgNzIzMSwgNzIzMiwgNzIzMywgNzIzNCwgNzIzNSwgNzIzNSwgNzIzNiwKLSA3MjM3LCA3MjM4LCA3MjM5LCA3MjM5LCA3MjQwLCA3MjQxLCA3MjQyLCA3MjQzLCA3MjQzLCA3MjQ0LCA3MjQ1LCA3MjQ2LCA3MjQ3LAotIDcyNDgsIDcyNDksIDcyNTAsIDcyNTEsIDcyNTIsIDcyNTMsIDcyNTQsIDcyNTUsIDcyNTUsIDcyNTYsIDcyNTcsIDcyNTgsIDcyNTksCi0gNzI1OSwgNzI2MCwgNzI2MSwgMzA3MCwgNzI2MywgNzI2NCwgNzI2NSwgNzI2NiwgNzI2NywgMzA3NywgNzI2OSwgNzI3MCwgNzI3MSwKLSA3MjcyLCA3MjczLCA3Mjc0LCA3MjY4LCA3Mjc1LCA3Mjc2LCA3Mjc3LCA3Mjc4LCAzMDg5LCA3MjgwLCA3MjgxLCA3MjgyLCA3MjgzLAotIDcyODQsIDcyODUsIDcyODYsIDcyODcsIDcyODgsIDcyODksIDcyNzksIDcyOTAsIDcyOTEsIDcyOTIsIDcyOTMsIDcyOTQsIDcyOTUsCi0gNzI5NiwgNzI5NywgNzI5OCwgNzI5OSwgNzI5OSwgNzMwMCwgNzMwMSwgNzMwMiwgNzMwMywgNzMwMywgNzMwNCwgNzMwNSwgNzMwNiwKLSA3MzA3LCA3MzA3LCA3MzA4LCA3MzA5LCAzMTIxLCA3MzExLCA3MzEyLCA3MzEzLCA3MzEzLCA3MzE0LCA3MzE1LCA3MzE2LCA3MzE3LAotIDczMTcsIDczMTgsIDczMTksIDczMjAsIDczMjEsIDczMjEsIDczMjIsIDczMjMsIDczMjQsIDczMjUsIDczMjUsIDczMjYsIDczMjcsCi0gMzE0MCwgNzMyOSwgMzE0MywgNzMzMSwgMzE0NiwgNzMzMywgNzMzNCwgNzMzMiwgNzMzMCwgNzMzNSwgNzMzNiwgNzMzNywgNzMzNSwKLSA3MzM2LCA3MzM3LCA3MzM4LCA3MzM5LCAzMTU1LCA3MzQxLCA3MzQyLCA3MzQzLCA3MjkwLCA3MjkxLCA3MzQ0LCA3MzQ1LCAzMTYyLAotIDczNDcsIDczNDgsIDczNDksIDczNTAsIDczNTEsIDczNTIsIDczNTMsIDczNTQsIDczNTUsIDMxNzMsIDczNTcsIDMxNzYsIDczNTksCi0gMzE3OSwgNzM2MSwgNzM2MiwgNzM2MCwgNzM1OCwgNzM2MywgNzM2NCwgNzM2NSwgNzM2NiwgNzM2NywgMzE4OCwgNzM2OSwgNzM3MCwKLSA3MzcxLCA3MzcyLCA3MzczLCAzMTk1LCA3Mzc1LCA3Mzc2LCA3MDI5LCA3Mzc3LCA3Mzc4LCA3Mzc5LCAzMjAyLCA3MzgxLCA3MzgyLAotIDczODMsIDczODQsIDczODUsIDMyMDksIDczODcsIDczODgsIDczODksIDczOTAsIDczOTEsIDMyMTYsIDczOTMsIDMyMTksIDczOTUsCi0gMzIyMiwgNzM5NywgMzIyNSwgNzM5OSwgMzIyOCwgNzQwMSwgNzQwMiwgNzQwMCwgNzM5OCwgNzM5NiwgNzM5NCwgNzQwMywgNzQwNCwKLSA3NDA1LCA3NDA2LCA3MDM4LCA3NDA3LCA3NDA4LCA3NDA5LCAzMjM5LCA3NDExLCAzMjQyLCA3NDEzLCAzMjQ1LCA3NDE1LCA3NDE2LAotIDc0MTQsIDc0MTIsIDc0MTcsIDc0MTgsIDc0MTksIDc0MjAsIDc0MjEsIDc0MjIsIDc0MTAsIDczOTIsIDczODYsIDczODAsIDczNzQsCi0gNzM2OCwgNzM1NiwgNzM0NiwgNzM0MCwgNzQyNCwgNzQyNSwgNzQyNiwgNzQyNywgNzQyOCwgNzQzMSwgNzQyMywgNzQyOSwgNzQzMCwKLSA3NDMyLCA3NDMzLCA3NDM0LCA3MDc4LCA3MDc4LCA3NDM2LCA3NDM3LCA3NDM4LCA3NDM5LCA3NDM5LCA3NDQwLCA3NDQxLCA3NDQyLAotIDc0NDMsIDc0NDMsIDc0NDQsIDc0NDUsIDc0NDYsIDc0NDcsIDc0NDcsIDc0NDgsIDc0NDksIDc0NTAsIDc0NTEsIDc0NTEsIDc0NTIsCi0gNzQ1MywgNzQ1NCwgNzQ1NSwgNzQ1NSwgNzQ1NiwgNzQ1NywgNzQ1OCwgNzQ1OSwgNzQ1OSwgNzQ2MCwgNzQ2MSwgNzQ2MiwgNzQ2MywKLSA3NDYzLCA3NDY0LCA3NDY1LCA3NDY2LCA3NDY3LCA3NDY3LCA3NDY4LCA3NDY5LCA3NDcwLCA3NDcxLCA3NDcxLCA3NDcyLCA3NDczLAotIDc0NzQsIDc0NzUsIDc0NzUsIDc0NzYsIDc0NzcsIDcyMTgsIDcyMTgsIDc0NzksIDc0ODAsIDc0ODEsIDc0NzgsIDc0ODIsIDc0ODIsCi0gNzQ4MywgNzQ4MywgNzQ4NCwgNzQ4NSwgNzI0NywgNzQ4NywgNzQ4OCwgNzQ4OSwgNzQ5MCwgNzQ5MCwgNzQ5MSwgNzQ5MiwgNzQ5MywKLSA3NDk0LCA3NDk0LCA3NDk1LCA3NDk2LCAzMzI5LCA3NDk4LCAzMzMyLCA3NTAwLCA3NTAxLCA3NTAyLCA3NTAyLCA3NTAzLCA3NTA0LAotIDc1MDUsIDc1MDYsIDc1MDYsIDc1MDcsIDc1MDgsIDc1MDksIDc1MTAsIDc1MTAsIDc1MTEsIDc1MTIsIDc1MTMsIDc1MTQsIDc1MTQsCi0gNzUxNSwgNzUxNiwgNzUxNywgNzUxOCwgNzUxOCwgNzUxOSwgNzUyMCwgNzUyMSwgNzUyMiwgNzUyMiwgNzUyMywgNzUyNCwgNzUyNSwKLSA3NTI2LCA3NTI2LCA3NTI3LCA3NTI4LCA3NTI5LCA3NTMwLCA3NTMwLCA3NTMxLCA3NTMyLCA3NTMzLCA3NTM0LCA3NTM0LCA3NTM1LAotIDc1MzYsIDc1MzcsIDc1MzgsIDc1MzgsIDc1MzksIDc1NDAsIDc1NDEsIDc1NDIsIDc1NDIsIDc1NDMsIDc1NDQsIDc1NDUsIDc1NDYsCi0gNzU0NiwgNzU0NywgNzU0OCwgMzM4MywgNzU1MCwgNzU1MSwgNzU0OSwgNzQ5OSwgNzU1MiwgNzU1MiwgNzU1NCwgNzU1NCwgNzU1MywKLSA3NTUzLCA3NTU1LCA3NTU2LCA3NTU3LCA3NTU4LCA3NTU4LCA3NTU5LCA3NTYwLCA3NTYxLCA3NTYyLCA3NTYyLCA3NTYzLCA3NTY0LAotIDM0MDAsIDc1NjYsIDc1NjcsIDc1NjgsIDc1NjksIDc1NzAsIDc1NzEsIDc1NzIsIDc1NzMsIDc1NzQsIDc1NzUsIDU0MywgNTQzLAotIDc1NzYsIDc1NzcsIDc1NzgsIDc1NzksIDc1ODAsIDc1ODAsIDc1ODEsIDc1ODIsIDM0MTksIDc1ODQsIDc1ODUsIDc1ODYsIDc1ODYsCi0gNzU4NywgNzU4OCwgNzU4OSwgNzU5MCwgNzU5MCwgNzU5MSwgNzU5MiwgNzU5MywgNzU5NCwgNzU5NCwgNzU5NSwgNzU5NiwgNzU5NywKLSA3NTk4LCA3NTk4LCA3NTk5LCA3NjAwLCA3NjAxLCA3NjAyLCA3NjAyLCA3NjAzLCA3NjA0LCA3NjA1LCA3NjA2LCA3NjA2LCA3NjA3LAotIDc2MDgsIDc2MDksIDc2MTAsIDc2MTAsIDc2MTEsIDc2MTIsIDc2MTMsIDc2MTQsIDc2MTQsIDc2MTUsIDc2MTYsIDc2MTcsIDc2MTgsCi0gNzYxOCwgNzYxOSwgNzYyMCwgNzYyMSwgNzYyMiwgNzYyMiwgNzYyMywgNzYyNCwgNzYyNSwgNzYyNiwgNzYyNiwgNzYyNywgNzYyOCwKLSA3NjI5LCA3NjMwLCA3NjMwLCA3NjMxLCA3NjMyLCA3NjMzLCA3NjM0LCA3NjM0LCA3NjM1LCA3NjM2LCA3NjM3LCA3NjM4LCA3NjM4LAotIDc2MzksIDc2NDAsIDM0NzgsIDc2NDIsIDc2NDMsIDc2NDQsIDc2NDQsIDc2NDUsIDc2NDYsIDc2NDcsIDc2NDgsIDc2NDgsIDc2NDksCi0gNzY1MCwgNzY1MSwgNzY1MiwgNzY1MiwgNzY1MywgNzY1NCwgNzY1NSwgNzY1NiwgNzY1NiwgNzY1NywgNzY1OCwgNzY1OSwgNzY2MCwKLSA3NjYwLCA3NjYxLCA3NjYyLCA3NjYzLCA3NjQxLCA3NjY0LCA3NjY0LCA3NjY1LCA3NjY1LCA3NjY2LCA3NjY3LCA3MDQ3LCA3NjY5LAotIDc2NzAsIDc2NzEsIDc2NzIsIDc2NzMsIDc2NzMsIDc2NzQsIDc2NzUsIDM1MTQsIDc2NzcsIDc2NzgsIDc2NzksIDczNDksIDc2ODAsCi0gNzY4MSwgNzY4MiwgNzY4MywgNzY4NCwgNzY4NSwgMzUyNSwgNzY4NywgNzY4OCwgNzM2MywgNzM2NCwgNzY4OSwgNzY5MCwgNzY5MSwKLSA3Mzc3LCA3NjkzLCA3Njk0LCAzNTM1LCA3Njk2LCAzNTM4LCA3Njk4LCA3Njk5LCA3Njk3LCA3NDAzLCA3NDA0LCA3NDA1LCA3NzAwLAotIDc3MDEsIDc3MDIsIDc3MDMsIDM1NDYsIDc3MDUsIDc3MDYsIDc0MTgsIDc3MDcsIDc3MDgsIDc3MDksIDM1NTMsIDc3MTEsIDc3MTIsCi0gNzcxMywgNzcxMywgNzcxNCwgNzcxNSwgNzcxNiwgNzcxNywgNzcxNywgNzcxOCwgNzcxOSwgNzcyMCwgNzcxMCwgNzcwNCwgNzY5NSwKLSA3NjkyLCA3Njg2LCA3NDI2LCA3NDMxLCA3NzIxLCA3NzIxLCA3NzI1LCA3NzI2LCA3NzIyLCA3NzIzLCA3NzI0LCA3NzI3LCA3NzI4LAotIDc3MjksIDc2NzYsIDc3MzAsIDc3MzEsIDc3MzAsIDc3MzEsIDc3MzIsIDc3MzMsIDM1NzgsIDc3MzUsIDc3MzYsIDc3MzcsIDc3MzgsCi0gNzczOSwgNzc0MCwgNzc0MSwgNzc0MiwgNzc0MywgNzc0NCwgNzc0NSwgNzc0NiwgNzc0NywgNzc0OCwgNzc0OSwgNzc1MCwgNzc1MSwKLSA3NzUyLCA3NzUzLCA3NzU0LCA3NzU1LCA3NzU2LCA3NzU3LCA3NzU3LCA3NzU4LCA3NzU5LCA3NzYwLCA3NzYxLCA3NzYxLCA3NzYyLAotIDc3NjMsIDc3NjQsIDc3NjUsIDc3NjYsIDc3NjcsIDM2MTMsIDc3NjksIDc3NzAsIDc3NzEsIDc3NzIsIDc3NzMsIDc3NzQsIDc3NzUsCi0gNzc3NiwgNzc3NywgNzc3OCwgNzc3OSwgNzc4MCwgNzc4MSwgNzc4MiwgNzc4MywgNzc4NCwgNzc4NSwgNzIyMywgNzIyMywgNzc4NywKLSA3Nzg4LCAzNjM1LCA3NzkwLCA3NzkxLCA3NzkyLCA3NzkyLCA3NzkzLCA3Nzk0LCA3Nzk1LCA3Nzk2LCA3Nzk2LCA3Nzk3LCA3Nzk4LAotIDc3OTksIDc4MDAsIDc4MDAsIDc4MDEsIDc4MDIsIDc4MDMsIDc4MDQsIDc4MDQsIDc4MDUsIDc4MDYsIDc4MDcsIDc4MDgsIDc4MDgsCi0gNzgwOSwgNzgxMCwgNzgxMSwgNzgxMiwgNzgxMiwgNzgxMywgNzgxNCwgMzY2MiwgNzgxNiwgNzgxNywgNzgxOCwgNzgxOCwgNzgxOSwKLSA3ODIwLCA3ODIxLCA3ODIyLCA3ODIyLCA3ODIzLCA3ODI0LCA3ODI1LCA3ODI2LCA3ODI2LCA3ODI3LCA3ODI4LCAzNjc3LCA3ODMwLAotIDc4MzEsIDc4MzIsIDc4MzIsIDc4MzMsIDc4MzQsIDc4MzUsIDc4MzYsIDc4MzYsIDc4MzcsIDc4MzgsIDc4MzksIDc4NDAsIDc4NDAsCi0gNzg0MSwgNzg0MiwgNzg0MywgNzg0NCwgNzg0NCwgNzg0NSwgNzg0NiwgNzg0NywgNzgyOSwgNzgxNSwgNzc4OSwgNTEyLCA3NjIsCi0gNzYzLCA3NjQsIDc2NSwgNzg0OCwgNzg0OSwgNzg1MCwgNzg1MSwgNzg0OCwgNzg0OSwgNzg1MCwgNzg1MSwgNzg1MiwgNzg1MywKLSA3ODU0LCA3ODU1LCA3ODU1LCA3ODU2LCA3ODU3LCA3ODU4LCA3ODU5LCA3ODU5LCA3ODYwLCA3ODYxLCA3ODYyLCA3ODYzLCA3ODYzLAotIDc4NjQsIDc4NjUsIDc4NjYsIDc4NjcsIDc4NjcsIDc4NjgsIDc4NjksIDc4NzAsIDc3ODYsIDc3NjgsIDc4NzEsIDc4NzEsIDc4NzIsCi0gNzg3MywgNzg3NCwgNzg3NSwgNzg3NiwgNzg3NywgNzg3NywgNzg3OCwgNzg3OSwgNzg4MCwgNzczNCwgNzg4MSwgNzg4MiwgNzg4MSwKLSA3ODgyLCA3ODgzLCA3ODg0LCAzNzM0LCA3ODg2LCA3ODg3LCA3ODg4LCA3ODg5LCA3ODkwLCA3ODkxLCA3ODkyLCA3ODkyLCA3ODkzLAotIDc4OTQsIDM3NDUsIDc4OTYsIDc4OTcsIDc4OTgsIDc4OTksIDc5MDAsIDc5MDEsIDc5MDIsIDc5MDMsIDc5MDQsIDc5MDUsIDc5MDYsCi0gNzkwNywgNzkwOCwgNzkwOSwgNzkxMCwgNzkxMSwgNzkxMiwgNzkxMywgNzkxNCwgNzkxNSwgNzkxNiwgNzkxNywgNzkxOCwgNzkxOSwKLSA3OTIwLCA3OTIxLCA3OTIyLCA3OTIzLCA3OTI0LCA3OTI1LCA3OTI2LCA3OTI2LCA3OTI3LCA3OTI4LCA3OTI5LCA3ODk1LCA3OTMwLAotIDc5MzEsIDc5MzAsIDc5MzEsIDc5MzIsIDc5MzMsIDM3ODUsIDc5MzUsIDc5MzYsIDc5MzcsIDc5MzcsIDc5MzgsIDc5MzksIDc5NDAsCi0gNzk0MSwgNzk0MSwgNzk0MiwgNzk0MywgNzk0NCwgNzk0NSwgNzk0NSwgNzk0NiwgNzk0NywgNzk0OCwgNzk0OSwgNzk0OSwgNzk1MCwKLSA3OTUxLCA3OTUyLCA3OTUzLCA3OTUzLCA3OTU0LCA3OTU1LCA3OTU2LCA3OTU3LCA3OTU4LCA3OTU5LCA3OTYwLCA3OTYxLCA3OTYyLAotIDc5NjMsIDM4MTYsIDc5NjUsIDc5NjYsIDc5NjcsIDc5NjcsIDc5NjgsIDc5NjksIDc5NzAsIDc5NzEsIDc5NzEsIDc5NzIsIDc5NzMsCi0gNzk3NCwgNzk3NSwgNzk3NSwgNzk3NiwgNzk3NywgNzk3OCwgNzk3OSwgNzk3OSwgNzk4MCwgNzk4MSwgNzk4MiwgNzk4MywgNzk4MywKLSA3OTg0LCA3OTg1LCA3OTg2LCA3OTg3LCA3OTg3LCA3OTg4LCA3OTg5LCA3OTkwLCA3OTkxLCA3OTkxLCA3OTkyLCA3OTkzLCA3OTk0LAotIDc5OTUsIDc5OTUsIDc5OTYsIDc5OTcsIDc5OTgsIDc5OTksIDc5OTksIDgwMDAsIDgwMDEsIDgwMDIsIDgwMDMsIDgwMDMsIDgwMDQsCi0gODAwNSwgODAwNiwgODAwNywgODAwNywgODAwOCwgODAwOSwgODAxMCwgODAxMSwgODAxMiwgODAxMywgMzg2NywgODAxNSwgODAxNiwKLSA4MDE3LCA4MDE3LCA4MDE4LCA4MDE5LCA4MDIwLCA4MDIxLCA4MDIxLCA4MDIyLCA4MDIzLCA4MDI0LCA4MDI1LCA4MDI1LCA4MDI2LAotIDgwMjcsIDgwMjgsIDgwMjksIDgwMjksIDgwMzAsIDgwMzEsIDgwMzIsIDgwMzMsIDgwMzMsIDgwMzQsIDgwMzUsIDgwMzYsIDgwMzcsCi0gODAzNywgODAzOCwgODAzOSwgODA0MCwgODA0MSwgODA0MSwgODA0MiwgODA0MywgODA0NCwgODA0NSwgODA0NSwgODA0NiwgODA0NywKLSA4MDQ4LCA4MDQ5LCA4MDQ5LCA4MDUwLCA4MDUxLCA4MDUyLCA4MDUzLCA4MDUzLCA4MDU0LCA4MDU1LCA4MDU2LCA4MDU3LCA4MDU4LAotIDgwNTksIDcwMzIsIDgwNjEsIDgwNjIsIDgwNjMsIDgwNjQsIDgwNjUsIDgwNjUsIDgwNjYsIDgwNjcsIDgwNjgsIDgwNjksIDgwNjksCi0gODA3MCwgODA3MSwgODA3MiwgODA3MywgODA3MywgODA3NCwgODA3NSwgODA3NiwgODA3NywgODA3NywgODA3OCwgODA3OSwgODA4MCwKLSA4MDgxLCA4MDgxLCA4MDgyLCA4MDgzLCA4MDg0LCA4MDg1LCA4MDg1LCA4MDg2LCA4MDg3LCA4MDg4LCA4MDg5LCA4MDg5LCA4MDkwLAotIDgwOTEsIDgwOTIsIDgwNjAsIDgwMTQsIDgwOTMsIDgwOTMsIDgwOTQsIDgwOTUsIDgwOTYsIDgwOTcsIDM5NTIsIDgwOTksIDgxMDAsCi0gODEwMSwgODEwMiwgODEwMywgODEwNCwgODEwNSwgODEwNiwgODEwNywgODEwOCwgODA5OCwgNzk2NCwgODEwOSwgODEwOSwgODExMCwKLSA4MTExLCA4MTEyLCA4MTEzLCA4MTE0LCA4MTE1LCA4MTE1LCA4MTE2LCA4MTE3LCAzOTczLCA4MTE5LCA4MTIwLCA4MTIxLCA4MTIxLAotIDgxMjIsIDgxMjMsIDgxMjQsIDgxMjUsIDgxMjUsIDgxMjYsIDgxMjcsIDgxMjgsIDgxMjksIDgxMjksIDgxMzAsIDgxMzEsIDgxMzIsCi0gODEzMywgODEzMywgODEzNCwgODEzNSwgODEzNiwgODEzNywgODEzNywgODEzOCwgODEzOSwgODE0MCwgODE0MSwgODE0MSwgODE0MiwKLSA4MTQzLCA0MDAwLCA4MTQ1LCA4MTQ2LCA4MTQ3LCA4MTQ4LCA4MTQ5LCA4MTUwLCA4MTUxLCA4MTUyLCA4MTUzLCA4MTU0LCA4MTU1LAotIDgxNTUsIDgxNTYsIDgxNTcsIDgxNTgsIDgxNTksIDgxNTksIDgxNjAsIDgxNjEsIDQwMTksIDgxNjMsIDgxNjQsIDgxNjUsIDgxNjUsCi0gODE2NiwgODE2NywgODE2OCwgODE2OSwgODE2OSwgODE3MCwgODE3MSwgODE3MiwgODE3MywgODE3MywgODE3NCwgODE3NSwgODE3NiwKLSA4MTc3LCA4MTc3LCA4MTc4LCA4MTc5LCA0MDM4LCA4MTgxLCA0MDQxLCA4MTgzLCA4MTg0LCA4MTgyLCA4MTg1LCA4MTg1LCA4MTg2LAotIDgxODYsIDgxODcsIDgxODgsIDgxODksIDgxOTAsIDgxOTEsIDgxOTIsIDQwNTMsIDgxOTQsIDQwNTYsIDgxOTYsIDgxOTcsIDgxOTUsCi0gODE5OCwgODE5OCwgODE5OSwgODE5OSwgODIwMCwgODIwMSwgODIwMiwgODIwMywgODIwNCwgODIwNSwgODIwNiwgODE5MywgMTAwOCwKLSA4MjA3LCA4MjA4LCA4MjA5LCA4MjEwLCA4MjExLCA4MjEyLCA4MjEyLCA4MjEzLCA4MjE0LCA4MjE1LCA4MTgwLCA4MjE2LCA4MjE3LAotIDgyMTYsIDgyMTcsIDgyMTgsIDgyMTksIDQwODIsIDgyMjEsIDgyMjIsIDgyMjMsIDgyMjQsIDgyMjUsIDgyMjYsIDgyMjcsIDgyMjgsCi0gODIyOSwgNDA5MywgODIzMSwgODIzMiwgODIzMywgODIzMywgODIzNCwgODIzNSwgODIzNiwgODIzNywgODIzNywgODIzOCwgODIzOSwKLSA4MjQwLCA4MjQxLCA4MjQxLCA4MjQyLCA4MjQzLCA4MjQ0LCA4MjQ1LCA4MjQ1LCA4MjQ2LCA4MjQ3LCA4MjQ4LCA4MjQ5LCA4MjQ5LAotIDgyNTAsIDgyNTEsIDgyNTIsIDgyNTMsIDgyNTQsIDgyNTUsIDgyNTYsIDgyMzAsIDgyNTgsIDgyNTcsIDgyNTksIDgyNjAsIDgyNjEsCi0gODI2MiwgODI2MiwgODI2MywgODI2NCwgODI2NSwgODI2NiwgODI2NiwgODI2NywgODI2OCwgODI2OSwgODI3MCwgODI3MCwgODI3MSwKLSA4MjcyLCA4MjczLCA4Mjc0LCA4Mjc0LCA4Mjc1LCA4Mjc2LCA4Mjc3LCA4Mjc4LCA4Mjc4LCA4Mjc5LCA4MjgwLCA4MjgxLCA4MjgyLAotIDgyODIsIDgyODMsIDgyODQsIDgyODUsIDgyMjAsIDgxNjIsIDgxNDQsIDgxMTgsIDc5MzQsIDc4ODUsIDc2NjgsIDc1ODMsIDc1NjUsCi0gNzQ5NywgNzQ4NiwgODI4NiwgODI4NywgODI4OCwgODI4OSwgODI5MCwgODI5MSwgODI5MiwgODI5MywgODI5NCwgODI5NSwgODI5NiwKLSA4Mjk3LCA4Mjg2LCA4Mjg3LCA4Mjg4LCA4Mjg5LCA4MjkwLCA4MjkxLCA4MjkyLCA4MjkzLCA4Mjk0LCA4Mjk1LCA4Mjk2LCA4Mjk3LAotIDgyOTgsIDgyOTksIDQxNjQsIDgzMDEsIDgzMDIsIDgzMDMsIDgzMDMsIDgzMDQsIDgzMDUsIDgzMDYsIDgzMDcsIDgzMDcsIDgzMDgsCi0gODMwOSwgODMxMCwgODMxMSwgODMxMSwgODMxMiwgODMxMywgODMxNCwgODMxNSwgODMxNSwgODMxNiwgODMxNywgODMxOCwgODMxOSwKLSA4MzE5LCA4MzIwLCA4MzIxLCA4MzIyLCA4MzAwLCA3NDM1LCA3MzI4LCA3MzEwLCA4MzIzLCA4MzI0LCA4MzI1LCA4MzI2LCA4MzI3LAotIDgzMjMsIDgzMjQsIDgzMjUsIDgzMjYsIDgzMjcsIDgzMjgsIDgzMjksIDQxOTUsIDgzMzEsIDgzMzIsIDgzMzMsIDgzMzMsIDgzMzQsCi0gODMzNSwgNDIwMiwgODMzNywgNDIwNSwgODMzOSwgNDIwOCwgODM0MSwgNDIxMSwgODM0MywgNDIxNCwgODM0NSwgNDIxNywgODM0NywKLSA0MjIwLCA4MzQ5LCA0MjIzLCA4MzUxLCA0MjI2LCA4MzUzLCA0MjI5LCA4MzU1LCA4MzU2LCA4MzU3LCA4MzU3LCA4MzU4LCA4MzU5LAotIDgzNjAsIDgzNjEsIDgzNjEsIDgzNjIsIDgzNjMsIDgzNjQsIDgzNjUsIDgzNjUsIDgzNjYsIDgzNjcsIDQyNDQsIDgzNjksIDQyNDcsCi0gODM3MSwgNDI1MCwgODM3MywgNDI1MywgODM3NSwgNDI1NiwgODM3NywgODM3OCwgODM3NiwgODM3NCwgODM3MiwgODM3MCwgODM2OCwKLSA4MzU0LCA4MzUyLCA4MzUwLCA4MzQ4LCA4MzQ2LCA4MzQ0LCA4MzQyLCA4MzQwLCA4MzM4LCA4MzM2LCA4Mzc5LCA4MzgwLCA4MzgxLAotIDgzODIsIDgzODMsIDgzODQsIDgzODUsIDgzODYsIDgzODcsIDgzODgsIDgzODksIDgzOTAsIDgzOTEsIDgzOTIsIDgzOTMsIDgzOTQsCi0gODM3OSwgODM4MCwgODM4MSwgODM4MiwgODM4MywgODM4NCwgODM4NSwgODM4NiwgODM4NywgODM4OCwgODM4OSwgODM5MCwgODM5MSwKLSA4MzkyLCA4MzkzLCA4Mzk0LCA4Mzk1LCA4Mzk2LCA4Mzk3LCA4Mzk4LCA4Mzk5LCA4NDAwLCA0MjgyLCA4NDAyLCA4NDAzLCA4NDA0LAotIDg0MDQsIDg0MDUsIDg0MDYsIDg0MDcsIDg0MDgsIDg0MDgsIDg0MDksIDg0MTAsIDg0MTEsIDg0MTIsIDg0MTIsIDg0MTMsIDg0MTQsCi0gODQxNSwgODQxNiwgODQxNiwgODQxNywgODQxOCwgODQxOSwgODQyMCwgODQyMCwgODQyMSwgODQyMiwgODQyMywgODQwMSwgODQyNCwKLSA4NDI1LCA4NDI0LCA4NDI1LCA4NDI2LCA4NDI3LCA0MzEwLCA4NDI5LCA4NDMwLCA4NDMxLCA4NDMxLCA4NDMyLCA4NDMzLCA4NDM0LAotIDg0MzUsIDg0MzUsIDg0MzYsIDg0MzcsIDg0MzgsIDg0MzksIDg0MzksIDg0NDAsIDg0NDEsIDg0NDIsIDg0NDMsIDg0NDQsIDg0NDUsCi0gODQ0NiwgODQ0NywgODQ0OCwgODQ0OSwgODQ1MCwgODQ1MSwgODQ1MiwgODQ1MywgODQ1NCwgODQ1NSwgODQ1NiwgODQ1NywgODQ1OCwKLSA4NDU5LCA4NDYwLCA4NDYxLCA0MzQ1LCA4NDYzLCA4NDY0LCA4NDY1LCA4NDY1LCA4NDY2LCA4NDY3LCA4NDY4LCA4NDY5LCA4NDY5LAotIDg0NzAsIDg0NzEsIDg0NzIsIDg0NzMsIDg0NzMsIDg0NzQsIDg0NzUsIDg0NzYsIDg0NzcsIDg0NzgsIDg0NzksIDg0ODAsIDg0ODEsCi0gODQ4MiwgODQ4MywgODQ4NCwgODQ4NSwgODQ4NiwgODQ4NywgODQ4OCwgODQ4OSwgODQ5MCwgODQ5MSwgODQ5MiwgODQ5MywgODQ5NCwKLSA4NDk1LCA4NDk2LCA4NDYyLCA4NDk3LCA4NDk3LCA4NDk4LCA4NDk4LCA4NDk5LCA4NTAwLCA0Mzg1LCA4NTAyLCA4NTAzLCA4NTA0LAotIDg1MDQsIDg1MDUsIDg1MDYsIDg1MDcsIDg1MDgsIDg1MDgsIDg1MDksIDg1MTAsIDg1MTEsIDg1MTIsIDg1MTIsIDg1MTMsIDg1MTQsCi0gODUxNSwgODUxNiwgODUxNywgODUxOCwgODUxOSwgODUyMCwgODUyMSwgODUyMiwgODUyMywgODUyNCwgODUyNSwgODUyNiwgODUyNywKLSA4NTI4LCA4NTI5LCA4NTMwLCA4NTMxLCA4NTMyLCA4NTMzLCA4NTM0LCA4NTM1LCA4NTM2LCA4NTM2LCA4NTM3LCA4NTM4LCA0NDI0LAotIDg1NDAsIDg1NDEsIDg1NDIsIDg1NDIsIDg1NDMsIDg1NDQsIDg1NDUsIDg1NDYsIDg1NDYsIDg1NDcsIDg1NDgsIDg1NDksIDg1NTAsCi0gODU1MCwgODU1MSwgODU1MiwgODU1MywgODU1NCwgODU1NSwgODU1NiwgODU1NywgODU1OCwgODU1OSwgODU2MCwgODU2MSwgODU2MiwKLSA4NTYzLCA4NTY0LCA4NTY1LCA4NTY2LCA4NTY3LCA4NTY4LCA4NTY5LCA4NTcwLCA4NTcxLCA4NTcyLCA0NDU5LCA4NTc0LCA4NTc1LAotIDg1NzYsIDg1NzYsIDg1NzcsIDg1NzgsIDg1NzksIDg1ODAsIDg1ODAsIDg1ODEsIDg1ODIsIDg1ODMsIDg1ODQsIDg1ODQsIDg1ODUsCi0gODU4NiwgODU4NywgODU4OCwgODU4OSwgODU5MCwgODU5MSwgODU5MiwgODU5MywgODU5NCwgODU5NSwgODU5NiwgODU5NywgODU5OCwKLSA4NTk5LCA4NjAwLCA4NjAxLCA4NjAyLCA4NjAzLCA4NjA0LCA4NjA1LCA4NjA2LCA4NjA3LCA4NTczLCA4NjA5LCA4NjA5LCA4NjA4LAotIDg2MDgsIDg2MTAsIDg2MTEsIDQ0OTksIDg2MTMsIDg2MTQsIDg2MTUsIDg2MTUsIDg2MTYsIDg2MTcsIDg2MTgsIDg2MTksIDg2MTksCi0gODYyMCwgODYyMSwgODYyMiwgODYyMywgODYyMywgODYyNCwgODYyNSwgODYyNiwgODYyNywgODYyOCwgODYyOSwgODYzMCwgODYzMSwKLSA4NjMyLCA4NjMzLCA4NjM0LCA4NjM1LCA4NjM2LCA4NjM3LCA4NjM4LCA4NjM5LCA4NjQwLCA4NjQxLCA4NjQyLCA4NjQzLCA4NjQ0LAotIDg2NDUsIDg2NDYsIDg2NDcsIDg2NDcsIDg2NDgsIDg2NDksIDQ1MzgsIDg2NTEsIDg2NTIsIDg2NTMsIDg2NTMsIDg2NTQsIDg2NTUsCi0gODY1NiwgODY1NywgODY1NywgODY1OCwgODY1OSwgODY2MCwgODY2MSwgODY2MSwgODY2MiwgODY2MywgODY2NCwgODY2NSwgODY2NiwKLSA4NjY3LCA4NjY4LCA4NjY5LCA4NjcwLCA4NjcxLCA4NjcyLCA4NjczLCA4Njc0LCA4Njc1LCA4Njc2LCA4Njc3LCA4Njc4LCA4Njc5LAotIDg2ODAsIDg2ODEsIDg2ODIsIDg2ODMsIDg2ODQsIDg2ODUsIDg2ODUsIDg2ODYsIDg2ODcsIDg2ODgsIDg2ODksIDg2ODksIDg2OTAsCi0gODY5MSwgODY5MiwgODY5MywgODY5MywgODY5NCwgODY5NSwgODY5NiwgODY5NywgODY5NywgODY5OCwgODY5OSwgODcwMCwgODcwMSwKLSA4NzAxLCA4NzAyLCA4NzAzLCA4NzA0LCA4NzA1LCA4NzA1LCA4NzA2LCA4NzA3LCA4NzA4LCA4NzA5LCA4NzA5LCA4NzEwLCA4NzExLAotIDg3MTIsIDg3MTMsIDg3MTMsIDg3MTQsIDg3MTUsIDg3MTYsIDg3MTcsIDg3MTcsIDg3MTgsIDg3MTksIDg3MjAsIDg3MjEsIDg3MjEsCi0gODcyMiwgODcyMywgODcyNCwgODcyNSwgODcyNSwgODcyNiwgODcyNywgNDYxNywgODcyOSwgODczMCwgODczMSwgODczMSwgODczMiwKLSA4NzMzLCA4NzM0LCA4NzM1LCA4NzM1LCA4NzM2LCA4NzM3LCA4NzM4LCA4NzM5LCA4NzM5LCA4NzQwLCA4NzQxLCA4NzQyLCA4NzQzLAotIDg3NDQsIDg3NDUsIDg3NDYsIDg3NDcsIDg3NDgsIDg3NDksIDg3NTAsIDg3NTEsIDg3NTIsIDg3NTMsIDg3NTQsIDg3NTUsIDg3NTYsCi0gODc1NywgODc1OCwgODc1OSwgODc2MCwgODc2MSwgNDY1MiwgODc2MywgODc2NCwgODc2NSwgODc2NSwgODc2NiwgODc2NywgODc2OCwKLSA4NzY5LCA4NzY5LCA4NzcwLCA4NzcxLCA4NzcyLCA4NzczLCA4NzczLCA4Nzc0LCA4Nzc1LCA4Nzc2LCA4Nzc3LCA4Nzc4LCA4Nzc5LAotIDg3ODAsIDg3ODEsIDg3ODIsIDg3ODMsIDg3ODQsIDg3ODUsIDg3ODYsIDg3ODcsIDg3ODgsIDg3ODksIDg3OTAsIDg3OTEsIDg3OTIsCi0gODc5MywgODc5NCwgODc5NSwgODc5NiwgODc2MiwgODcyOCwgODc5NywgODc5OCwgODc5OSwgODc5NywgODc5OCwgODc5OSwgODgwMCwKLSA4ODAxLCA0NjkzLCA4ODAzLCA4ODA0LCA4ODA1LCA4ODA1LCA4ODA2LCA4ODA3LCA4ODA4LCA4ODA5LCA4ODA5LCA4ODEwLCA4ODExLAotIDg4MTIsIDg4MTMsIDg4MTMsIDg4MTQsIDg4MTUsIDg4MTYsIDg4MTcsIDg4MTgsIDg4MTksIDg4MjAsIDg4MjEsIDg4MjEsIDg4MjIsCi0gODgyMywgNDcxNiwgODgyNSwgODgyNiwgODgyNywgODgyNywgODgyOCwgODgyOSwgODgzMCwgODgzMSwgODgzMSwgODgzMiwgODgzMywKLSA4ODM0LCA4ODM1LCA4ODM1LCA4ODM2LCA4ODM3LCA4ODM4LCA4ODM5LCA4ODQwLCA4ODQxLCA4ODQyLCA4ODQzLCA4ODQ0LCA4ODQ1LAotIDg4NDYsIDg4NDcsIDg4NDgsIDg4NDksIDg4NTAsIDg4NTEsIDg4NTEsIDg4NTIsIDg4NTMsIDg4NTQsIDg4NTUsIDg4NTUsIDg4NTYsCi0gODg1NywgODg1OCwgODg1OSwgODg1OSwgODg2MCwgODg2MSwgODg2MiwgODg2MywgODg2MywgODg2NCwgODg2NSwgODQ5NywgODQ5NywKLSA4ODY3LCA4ODY4LCA4NjA5LCA4NjA5LCA4ODcwLCA4ODcxLCA0NzY1LCA4ODczLCA4ODc0LCA4ODc1LCA4ODc1LCA4ODc2LCA4ODc3LAotIDg4NzgsIDg4NzksIDg4NzksIDg4ODAsIDg4ODEsIDg4ODIsIDg4ODMsIDg4ODMsIDg4ODQsIDg4ODUsIDg4ODYsIDg4ODcsIDg4ODgsCi0gODg4OSwgODg5MCwgODg5MSwgODg5MiwgODg5MywgODg5NCwgODg5NSwgODg5NiwgODg5NywgODg5OCwgODg5OSwgODkwMCwgODkwMSwKLSA4OTAyLCA4OTAzLCA4OTAzLCA4OTA0LCA4OTA1LCA4OTA2LCA4ODcyLCA4ODY5LCA4ODY2LCA4ODI0LCA4ODAyLCA4NjUwLCA4NjEyLAotIDg1MzksIDg1MDEsIDg0MjgsIDg5MDcsIDg5MDgsIDg5MDksIDg5MTAsIDg5MTEsIDg5MTIsIDg5MTMsIDg5MTQsIDg5MTUsIDg5MTYsCi0gODkxNywgODkwNywgODkwOCwgODkwOSwgODkxMCwgODkxMSwgODkxMiwgODkxMywgODkxNCwgODkxNSwgODkxNiwgODkxNywgODkxOCwKLSA4OTE5LCA4OTIwLCA4OTIxLCA4OTIyLCA4OTIzLCA5MiwgODkyNCwgODkyNSwgODkyNSwgODkyNiwgODkyNywgODkyOCwgODkyOSwKLSA4OTI5LCA4OTMwLCA4OTMxLCA4OTMyLCA4OTMzLCA4OTMzLCA4OTM0LCA4OTM1LCA4OTM2LCA4OTM3LCA4OTM3LCA4OTM4LCA4OTM5LAotIDQ4MzQsIDg5NDEsIDg5NDIsIDg5NDMsIDg5NDQsIDg5NDUsIDg5NDYsIDg5NDcsIDg5NDgsIDg5NDksIDg5NTAsIDg5NTEsIDg5NTIsCi0gODk1MywgODk1NCwgODk1NSwgODk1NSwgODk1NiwgODk1NywgODk1OCwgODk1OSwgODk1OSwgODk2MCwgODk2MSwgNDg1NywgODk2MywKLSA4OTY0LCA4OTY1LCA4OTY2LCA4OTY3LCA4OTY4LCA4OTY5LCA4OTcwLCA4OTcxLCA4OTcyLCA4OTczLCA4OTc0LCA4OTc1LCA4OTc2LAotIDg5NzcsIDg5NzcsIDg5NzgsIDg5NzksIDg5ODAsIDg5ODEsIDg5ODEsIDg5ODIsIDg5ODMsIDQ4ODAsIDg5ODUsIDQ4ODMsIDg5ODcsCi0gNDg4NiwgODk4OSwgODk5MCwgODk5MSwgODk5MSwgODk5MiwgODk5MywgODk5NCwgODk4OCwgODk4NiwgODk5NSwgNzU1NCwgODk5NiwKLSA4OTk3LCA4OTk1LCA3NTU0LCA4OTk2LCA4OTk3LCA4OTk4LCA4OTk5LCA5MDAwLCA3NTUyLCA3NTUyLCA5MDAxLCA5MDAyLCA5MDAzLAotIDkwMDQsIDkwMDUsIDkwMDUsIDkwMDYsIDkwMDcsIDc1MzAsIDkwMDksIDkwMTAsIDkwMTEsIDkwMTIsIDkwMTIsIDkwMTMsIDkwMTQsCi0gOTAxNSwgOTAxNiwgOTAxNiwgOTAxNywgOTAxOCwgOTAxOSwgOTAyMCwgOTAyMCwgOTAyMSwgOTAyMiwgOTAyMywgOTAyNCwgOTAyNSwKLSA5MDI2LCA5MDI3LCA5MDI4LCA5MDI4LCA5MDI5LCA5MDMwLCA5MDMxLCA5MDMyLCA5MDMyLCA5MDMzLCA5MDM0LCA5MDM1LCA5MDM2LAotIDkwMzYsIDkwMzcsIDkwMzgsIDkwMzksIDkwNDAsIDkwNDAsIDkwNDEsIDkwNDIsIDkwNDMsIDkwNDQsIDkwNDQsIDkwNDUsIDkwNDYsCi0gOTA0NywgOTA0OCwgOTA0OCwgOTA0OSwgOTA1MCwgOTA1MSwgOTA1MiwgOTA1MywgOTA1NCwgOTA1NSwgOTA1NiwgOTA1NiwgOTA1NywKLSA5MDU4LCA5MDU5LCA5MDYwLCA5MDYwLCA5MDYxLCA5MDYyLCA5MDYzLCA5MDY0LCA5MDY0LCA5MDY1LCA5MDY2LCA5MDY3LCA5MDY4LAotIDkwNjgsIDkwNjksIDkwNzAsIDkwNzEsIDkwNzIsIDkwNzIsIDkwNzMsIDkwNzQsIDkwNzUsIDkwNzYsIDkwNzYsIDkwNzcsIDkwNzgsCi0gOTA3OSwgOTA4MCwgOTA4MSwgOTA4MiwgOTA4MywgOTA4NCwgOTA4NCwgOTA4NSwgOTA4NiwgOTA4NywgOTA4OCwgOTA4OCwgOTA4OSwKLSA5MDkwLCA5MDkxLCA5MDkyLCA5MDkyLCA5MDkzLCA5MDk0LCA5MDk1LCA5MDk2LCA5MDk2LCA5MDk3LCA5MDk4LCA5MDk5LCA5MTAwLAotIDkxMDEsIDkxMDIsIDkxMDMsIDkxMDQsIDkxMDQsIDkxMDUsIDkxMDYsIDkxMDcsIDkxMDgsIDkxMDgsIDkxMDksIDkxMTAsIDkxMTEsCi0gOTExMiwgOTExMiwgOTExMywgOTExNCwgOTExNSwgOTExNiwgOTExNiwgOTExNywgOTExOCwgOTExOSwgOTEyMCwgOTEyMSwgOTEyMiwKLSA5MTIzLCA5MTI0LCA5MTI0LCA5MTI1LCA5MTI2LCA5MTI3LCA5MTI4LCA5MTI4LCA5MTI5LCA5MTMwLCA5MTMxLCA5MTMyLCA5MTMyLAotIDkxMzMsIDkxMzQsIDkxMzUsIDkxMzYsIDkxMzYsIDkxMzcsIDkxMzgsIDkxMzksIDkxNDAsIDkxNDAsIDkxNDEsIDkxNDIsIDkxNDMsCi0gOTE0NCwgOTE0NCwgOTE0NSwgOTE0NiwgOTE0NywgOTAwOCwgODk4NCwgODk2MiwgODk0MCwgOTE0OCwgOTE0OSwgOTE1MCwgOTE1MSwKLSA5MTUyLCA5MTQ4LCA5MTQ5LCA5MTUwLCA5MTUxLCA5MTUyLCA5MTUzLCA5MTU0LCA3NzQxLCA5MTU2LCA5MTU3LCA5MTU4LCA5MTU5LAotIDkxNjAsIDkxNjEsIDkxNjIsIDkxNjMsIDkxNjQsIDkxNjUsIDkxNjYsIDkxNjcsIDkxNjgsIDkxNjksIDkxNzAsIDkxNzEsIDkxNzIsCi0gOTE3MywgOTE3NCwgNTQzLCA1NDMsIDkxNzUsIDc1NzYsIDkxNzYsIDkxNzcsIDQ5LCA4OTY0LCA5MTc5LCA5MTc5LCA5MTgwLAotIDkxODEsIDkxODIsIDkxODMsIDkxODMsIDkxODQsIDkxODUsIDkxODYsIDkxODcsIDkxODcsIDkxODgsIDkxODksIDkxOTAsIDkxNzgsCi0gOTE5MSwgOTE5MiwgOTE5MSwgOTE5MiwgOTE5MywgOTE5NCwgNzY2NCwgOTE5NiwgOTE5NywgOTE5OCwgOTE5OSwgNzg0NCwgOTE5OSwKLSA3ODQ0LCA5MjAwLCA5MjAxLCA1MTAxLCA5MjAzLCA1MTA0LCA5MjA1LCA5MjA2LCA5MjA0LCA3NDksIDEwMDgsIDkyMDcsIDkyMDgsCi0gOTIwOSwgOTIxMCwgNTExMiwgOTIxMiwgNDgsIDkyMTMsIDQ5LCA5MjExLCA1OTQsIDc2NSwgOTUxLCAxNTY0LCA5MjE0LCA5MjE1LAotIDkyMTYsIDkyMTcsIDUxMjAsIDkyMTksIDUxMjMsIDkyMjEsIDUxMjYsIDkyMjMsIDUxMjksIDkyMjUsIDUxMzIsIDkyMjcsIDUxMzUsCi0gOTIyOSwgNTEzOCwgOTIzMSwgNTE0MSwgOTIzMywgNTE0NCwgOTIzNSwgOTIzNiwgOTIzNCwgOTIzMiwgOTIzMCwgOTIyOCwgOTIyNiwKLSA5MjI0LCA5MjIyLCA5MjIwLCA5MjM3LCA5MjM4LCA5MjM5LCA5MjQwLCA5MjQxLCA5MjQyLCA5MjQzLCA5MjQ0LCA5MjQ1LCA5MjQ2LAotIDkyNDcsIDUxNTksIDkyNDksIDkyNTAsIDkyNTEsIDkyNTIsIDkyNTMsIDUxNjYsIDkyNTUsIDkyNTYsIDkyNTcsIDkyNTgsIDkyNTksCi0gOTI2MCwgOTI1NCwgOTI0OCwgOTI2MSwgOTI2MiwgOTI2MywgOTI2NCwgOTI2NSwgNTE3OSwgOTI2NywgNTE4MiwgOTI2OSwgNDMsCi0gOTI3MCwgMiwgOTI2OCwgOTI2NiwgOTIxOCwgMzQwLCA1MTIsIDc2MywgNzY0LCAxMDg2LCA5MjcxLCA5MjcyLCA5MjczLCA5Mjc0LAotIDkyNzUsIDkyNzYsIDkyNzcsIDkyNzgsIDkyNzksIDkyODAsIDkyODEsIDkyODIsIDkyODIsIDkyODMsIDkyODQsIDkyODUsIDkyODYsCi0gOTI4NiwgOTI4NywgOTI4OCwgNTIwNCwgOTI5MCwgNTIwNywgOTI5MiwgNTIxMCwgOTI5NCwgNTIxMywgOTI5NiwgNTIxNiwgOTI5OCwKLSA1MjE5LCA5MzAwLCA1MjIyLCA5MzAyLCA5MzAzLCA5MzAxLCA5Mjk5LCA5Mjk3LCA5Mjk1LCA5MjkzLCA5MjkxLCA5MzA0LCA5MzA1LAotIDkzMDYsIDkzMDcsIDkzMDgsIDkzMDksIDkzMTAsIDkzMTEsIDkzMTIsIDUyMzUsIDkzMTQsIDUyMzgsIDkzMTYsIDUyNDEsIDkzMTgsCi0gNTI0NCwgOTMyMCwgNTI0NywgOTMyMiwgOTMyMywgOTMyMSwgOTMxOSwgOTMxNywgOTMxNSwgNzI4MiwgOTMyNCwgOTMyNSwgOTMyNiwKLSA5MzI3LCA5MzI4LCA5MzI5LCA5MzMwLCA1MjU4LCA5MzMyLCA1MjYxLCA5MzM0LCA1MjY0LCA5MzM2LCA1MjY3LCA5MzM4LCA5MzM5LAotIDI2OCwgMTczOCwgOTM0MCwgOTM0MSwgOTM0MiwgNTI3NCwgOTM0NCwgOTM0NSwgOTM0MywgOTMzNywgOTMzNSwgOTMzMywgOTM0NiwKLSA5MzQ3LCA5MzQ4LCA5MzQ5LCA5MzUwLCA5MzUxLCA5MzUyLCA1Mjg1LCA5MzU0LCA5MzU1LCA5MzU2LCA5MzU3LCA5MzU4LCA1MjkyLAotIDkzNjAsIDkzNjEsIDkzNjIsIDkzNjMsIDkzNjQsIDUyOTksIDkzNjYsIDUzMDIsIDkzNjgsIDUzMDUsIDkzNzAsIDUzMDgsIDkzNzIsCi0gOTM3MywgOTM3MSwgOTM2OSwgOTM2NywgOTM2NSwgOTM1OSwgOTM3NCwgOTM3NSwgOTM3NiwgOTM3NywgOTM3OCwgOTM3OSwgOTM4MCwKLSA5MzgxLCA1MzIwLCA5MzgzLCA5Mzg0LCA5Mzg1LCA5Mzg2LCA5Mzg3LCA5Mzg4LCA5Mzg5LCA5MzkwLCA5MzkxLCA5MzkyLCA5MzgyLAotIDkzNTMsIDkzMzEsIDkzMTMsIDkzOTMsIDkzOTQsIDkzOTUsIDkzOTYsIDkzOTcsIDkzOTgsIDkzOTksIDUzMzksIDk0MDEsIDk0MDIsCi0gOTQwMywgOTQwNCwgOTQwNSwgOTQwNiwgMTgxMCwgOTQwNywgOTQwOCwgOTQwOSwgNTM1MCwgOTQxMSwgOTQxMiwgOTQxMywgOTQxNCwKLSA5NDE1LCA5NDE2LCA0NzQsIDQ3NSwgNDc2LCA5NDE3LCA5NDE4LCA5NDE5LCA5NDIwLCA5NDEwLCA3MzYzLCA3Njg5LCA5NDIxLAotIDk0MjIsIDk0MjMsIDk0MjQsIDUzNjYsIDk0MjYsIDUzNjksIDk0MjgsIDk0MjksIDk0MzAsIDk0MzEsIDk0MzIsIDk0MzMsIDk0MzQsCi0gOTQzNSwgOTQzNiwgOTQzNywgOTQyNywgNDU3LCA3MzcxLCA5NDM4LCA5NDM5LCA5NDQwLCA5NDQxLCA1Mzg1LCA5NDQzLCA5NDQ0LAotIDIyOSwgOTQ0NSwgOTQ0NiwgOTQ0NywgNTM5MiwgOTQ0OSwgNTM5NSwgOTQ1MSwgNTM5OCwgOTQ1MywgNTQwMSwgOTQ1NSwgOTQ1NiwKLSA5NDU0LCA5NDUyLCA5NDUwLCA5NDU3LCA5NDU4LCA5NDU5LCA5NDYwLCA5NDYxLCA5NDYyLCA5NDYzLCA5NDQ4LCA3Mzc3LCA5NDY0LAotIDk0NjUsIDk0NjYsIDk0NjcsIDU0MTYsIDk0NjksIDU0MTksIDk0NzEsIDU0MjIsIDk0NzMsIDk0NzQsIDk0NzIsIDk0NzAsIDUwMiwKLSA5NDc1LCA5NDc2LCA5NDc3LCA5NDc4LCA5NDc5LCA1NDMxLCA5NDgxLCA5NDgyLCA5NDgzLCA5NDg0LCA5NDg1LCA1NDM4LCA5NDg3LAotIDU0NDEsIDk0ODksIDk0OTAsIDk0ODgsIDk0OTEsIDk0OTIsIDk0OTMsIDk0OTQsIDU0NDksIDk0OTYsIDk0OTcsIDk0OTgsIDk0OTksCi0gOTUwMCwgNTQ1NiwgOTUwMiwgOTUwMywgOTUwNCwgOTUwNSwgOTUwNiwgOTUwNywgOTUwOCwgOTUwOSwgOTUxMCwgOTUxMSwgOTUwMSwKLSA5NDk1LCA5NDg2LCA5NDgwLCA5NTEyLCA5NTEzLCA5NTE0LCA5NTE1LCA5NTE2LCA5NTE3LCA5NTE4LCA1NDc1LCA5NTIwLCA5NTIxLAotIDk1MjIsIDk1MjMsIDk1MjQsIDk1MjUsIDk1MjYsIDk1MjcsIDk1MjgsIDU0ODYsIDk1MzAsIDU0ODksIDk1MzIsIDU0OTIsIDk1MzQsCi0gNTQ5NSwgOTUzNiwgOTUzNywgOTUzNSwgOTUzMywgOTUzMSwgOTUzOCwgOTUzOSwgOTU0MCwgOTU0MSwgOTU0MiwgOTU0MywgOTU0NCwKLSA5NTQ1LCA5NTQ2LCA5NTQ3LCA5NTQ4LCA5NTI5LCA5NTQ5LCA5NTUwLCA5NTUxLCA5NTUyLCA1NTE0LCA5NTU0LCA1NTE3LCA5NTU2LAotIDk1NTcsIDk1NTUsIDczODksIDk1NTgsIDk1NTksIDk1NjAsIDk1NjEsIDU1MjUsIDk1NjMsIDU1MjgsIDk1NjUsIDU1MzEsIDk1NjcsCi0gNTUzNCwgOTU2OSwgMTIsIDk1NzAsIDI0NSwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCA5NTcxLCA5NTcyLAotIDk1NzMsIDU1NDEsIDk1NzUsIDU1NDQsIDk1NzcsIDk1NzgsIDk1NzYsIDk1NzQsIDk1NjgsIDk1NjYsIDk1NjQsIDc0MDQsIDk1NzksCi0gOTU4MCwgOTU4MSwgOTU4MiwgOTU4MywgOTU4NCwgOTU4NSwgOTU4NiwgNTU1NiwgOTU4OCwgNTU1OSwgOTU5MCwgNTU2MiwgOTU5MiwKLSA5NTkzLCA3MiwgOTU5MSwgNzMsIDk1ODksIDI2MywgOTU5NCwgOTU5NSwgOTU5NiwgOTU5NywgOTU5OCwgNTU3MSwgOTYwMCwKLSA1NTc0LCA5NjAyLCA1NTc3LCA5NjA0LCA1NTgwLCA5NjA2LCA5NjA3LCAxOTUsIDk1MSwgMjAyNCwgMjAyNiwgMjAyNywgMjAyOCwKLSA5NjA4LCA5NjA5LCA5NjEwLCA1NTg3LCA5NjEyLCA1NTkwLCA5NjE0LCA1NTkzLCA5NjE2LCA5NjE3LCA5NjE1LCA5NjEzLCA5NjExLAotIDk2MDUsIDk2MDMsIDk2MDEsIDk1OTksIDk2MTgsIDk2MTksIDk2MjAsIDk2MjEsIDk2MjIsIDk2MjMsIDk2MjQsIDk2MjUsIDk2MjYsCi0gOTYyNywgOTYyOCwgOTU4NywgOTU2MiwgOTU1MywgOTUxOSwgOTQ2OCwgOTQ0MiwgOTQyNSwgOTQwMCwgMTYxMSwgNzcyMSwgNzcyMSwKLSA5NjI5LCA5NjMwLCA5NjMxLCA5NjMyLCA5NjMzLCA5NjM0LCA5NjM1LCA5NjM2LCA5NjM3LCA5NjM4LCA5NjM5LCA3NDE4LCA3NDE5LAotIDk2NDEsIDk2NDIsIDIwNzUsIDk2NDQsIDIwNzYsIDk2NDYsIDk2NDcsIDk2NDUsIDk2NDgsIDk2NDksIDk2NTAsIDk2NTEsIDIwODAsCi0gOTY1MywgMjA4MSwgOTY1NSwgMjA4MiwgOTY1NywgMjA4MywgOTY1OSwgOTY2MCwgOTY1OCwgOTY1NiwgOTY1NCwgOTY2MSwgOTY2MiwKLSA5NjYzLCA5NjY0LCA5NjY1LCA5NjY2LCAyMDg5LCA5NjY4LCAyMDkwLCA5NjcwLCA5NjcxLCA5NjY5LCA5NjcyLCA5NjczLCA5Njc0LAotIDk2NzUsIDIwOTQsIDk2NzcsIDIwOTUsIDk2NzksIDk2ODAsIDk2NzgsIDk2ODEsIDk2ODIsIDk2ODMsIDk2ODQsIDIwOTksIDk2ODYsCi0gOTY4NywgOTY4OCwgOTY4OSwgOTY5MCwgMjEwMiwgOTY5MiwgMjEwMywgOTY5NCwgMjEwNCwgOTY5NiwgOTY5NywgOTY5NSwgOTY5MywKLSA5Njk4LCA5Njk5LCA5NzAwLCA5NzAxLCA5NzAyLCAyMTA5LCA5NzA0LCAyMTEwLCA5NzA2LCAyMTExLCA5NzA4LCAyMTEyLCA5NzEwLAotIDIxMTMsIDk3MTIsIDIxMTQsIDk3MTQsIDIxMTUsIDk3MTYsIDk3MTcsIDk3MTUsIDk3MTMsIDk3MTEsIDk3MDksIDk3MDcsIDk3MDUsCi0gOTcxOCwgOTcxOSwgOTcyMCwgOTcyMSwgOTcyMiwgOTcyMywgOTcyNCwgOTcyNSwgOTcyNiwgMjEyNCwgOTcyOCwgMjEyNSwgOTczMCwKLSAyMTI2LCA5NzMyLCAyMTI3LCA5NzM0LCAyMTI4LCA5NzM2LCAyMTI5LCA5NzM4LCAyMTMwLCA5NzQwLCAyMTMxLCA5NzQyLCA5NzQzLAotIDk3NDEsIDk3MzksIDk3MzcsIDk3MzUsIDk3MzMsIDk3MzEsIDk3MjksIDk3NDQsIDk3NDUsIDk3NDYsIDk3NDcsIDk3NDgsIDk3NDksCi0gOTc1MCwgOTc1MSwgOTc1MiwgOTc1MywgOTc1NCwgOTcyNywgOTcwMywgOTY5MSwgOTY4NSwgOTY3NiwgOTY2NywgOTY1MiwgOTc1NSwKLSA5NzU2LCA5NzU3LCA5NzU4LCA5NzU5LCA5NzYwLCA5NzYxLCA5NzYyLCA5NzYzLCA5NzY0LCAyMTUwLCA5NzY2LCAyMTUxLCA5NzY4LAotIDIxNTIsIDk3NzAsIDIxNTMsIDk3NzIsIDIxNTQsIDk3NzQsIDIxNTUsIDk3NzYsIDIxNTYsIDk3NzgsIDk3NzksIDk3NzcsIDk3NzUsCi0gOTc3MywgOTc3MSwgOTc2OSwgOTc2NywgOTc4MCwgOTc4MSwgOTc4MiwgOTc4MywgOTc4NCwgOTc4NSwgOTc4NiwgOTc4NywgOTc4OCwKLSAyMTY1LCA5NzkwLCAyMTY2LCA5NzkyLCAyMTY3LCA5Nzk0LCAyMTY4LCA5Nzk2LCAyMTY5LCA5Nzk4LCAyMTcwLCA5ODAwLCA5ODAxLAotIDk3OTksIDk3OTcsIDk3OTUsIDk3OTMsIDk3OTEsIDk4MDIsIDk4MDMsIDk4MDQsIDk4MDUsIDk4MDYsIDk4MDcsIDk4MDgsIDk4MDksCi0gMjE3OCwgOTgxMSwgMjE3OSwgOTgxMywgMjE4MCwgOTgxNSwgMjE4MSwgOTgxNywgMjE4MiwgOTgxOSwgOTgyMCwgOTgxOCwgOTgxNiwKLSA5ODE0LCA5ODEyLCA5ODIxLCA5ODIyLCA5ODIzLCA5ODI0LCA5ODI1LCA5ODI2LCA5ODI3LCAyMTg5LCA5ODI5LCAyMTkwLCA5ODMxLAotIDIxOTEsIDk4MzMsIDIxOTIsIDk4MzUsIDk4MzYsIDk4MzQsIDk4MzIsIDk4MzAsIDk4MzcsIDk4MzgsIDk4MzksIDk4NDAsIDk4NDEsCi0gOTg0MiwgOTg0MywgOTgyOCwgOTgxMCwgOTc4OSwgOTg0NCwgOTg0NSwgOTg0NiwgOTg0NywgOTg0OCwgOTg0OSwgMjIwMywgOTg1MSwKLSA5ODUyLCA5ODUzLCA5ODU0LCA5ODU1LCAyMjA2LCA5ODU3LCAyMjA3LCA5ODU5LCAyMjA4LCA5ODYxLCAyMjA5LCA5ODYzLCA5ODY0LAotIDk4NjIsIDk4NjAsIDk4NTgsIDk4NjUsIDk4NjYsIDk4NjcsIDk4NjgsIDk4NjksIDk4NzAsIDk4NzEsIDk4NTYsIDk4NzIsIDk4NzMsCi0gOTg3NCwgOTg3NSwgMjIxOCwgOTg3NywgMjIxOSwgOTg3OSwgMjIyMCwgOTg4MSwgOTg4MiwgOTg4MCwgOTg3OCwgOTg4MywgOTg4NCwKLSA5ODg1LCA5ODg2LCA5ODg3LCAyMjI1LCA5ODg5LCA5ODkwLCA5ODkxLCA5ODkyLCA5ODkzLCAyMjI4LCA5ODk1LCAyMjI5LCA5ODk3LAotIDk4OTgsIDk4OTYsIDk4OTksIDk5MDAsIDk5MDEsIDk5MDIsIDIyMzMsIDk5MDQsIDk5MDUsIDk5MDYsIDk5MDcsIDk5MDgsIDk5MDksCi0gOTkwMywgOTg5NCwgOTg4OCwgOTkxMCwgOTkxMSwgOTkxMiwgOTkxMywgOTkxNCwgOTkxNSwgMjI0MSwgOTkxNywgOTkxOCwgOTkxOSwKLSA5OTIwLCA5OTIxLCA5OTIyLCA5OTIzLCA5OTI0LCA5OTI1LCAyMjQ2LCA5OTI3LCAyMjQ3LCA5OTI5LCAyMjQ4LCA5OTMxLCA5OTMyLAotIDk5MzAsIDk5MjgsIDk5MzMsIDk5MzQsIDk5MzUsIDk5MzYsIDk5MzcsIDIyNTMsIDk5MzksIDk5NDAsIDk5NDEsIDk5NDIsIDk5NDMsCi0gOTk0NCwgOTkzOCwgOTk0NSwgOTk0NiwgOTk0NywgOTk0OCwgOTk0OSwgOTkyNiwgOTkxNiwgOTg3NiwgOTg1MCwgOTc2NSwgOTk1MCwKLSA5OTUxLCA5OTUyLCA5OTUzLCA5OTU0LCA5OTU1LCA5OTU2LCA5OTU3LCAyMjY2LCA5OTU5LCA5OTYwLCA5OTYxLCA5OTYyLCA5OTYzLAotIDk5NjQsIDk5NjUsIDk5NjYsIDk5NjcsIDIyNzEsIDk5NjksIDk5NzAsIDk5NzEsIDk5NzIsIDk5NzMsIDIyNzQsIDk5NzUsIDk5NzYsCi0gOTk3NywgOTk3OCwgOTk3OSwgOTk4MCwgOTk3NCwgOTk4MSwgOTk4MiwgOTk4MywgOTk4NCwgMjI4MCwgOTk4NiwgOTk4NywgOTk4OCwKLSA5OTg5LCA5OTkwLCA5OTkxLCA5OTkyLCA5OTkzLCA5OTk0LCA5OTk1LCA5OTg1LCA5OTY4LCA5OTk2LCA5OTk3LCA5OTk4LCA5OTk5LAotIDEwMDAwLCAyMjg5LCAxMDAwMiwgMTAwMDMsIDEwMDA0LCAxMDAwNSwgMTAwMDYsIDEwMDA3LCAxMDAwOCwgMTAwMDksIDEwMDEwLAotIDIyOTQsIDEwMDEyLCAxMDAxMywgMTAwMTQsIDEwMDE1LCAxMDAxNiwgMTAwMTcsIDEwMDE4LCAxMDAxOSwgMTAwMjAsIDEwMDIxLAotIDEwMDExLCAxMDAyMiwgMTAwMjMsIDEwMDI0LCAxMDAyNSwgMjMwMiwgMTAwMjcsIDEwMDI4LCAxMDAyOSwgMTAwMzAsIDEwMDMxLAotIDEwMDMyLCAxMDAzMywgMTAwMzQsIDEwMDM1LCAxMDAzNiwgMTAwMzcsIDEwMDM4LCAxMDAzOSwgMjMwOSwgMTAwNDEsIDEwMDQyLAotIDEwMDQzLCAxMDA0NCwgMTAwNDUsIDEwMDQ2LCAxMDA0NywgMTAwNDgsIDEwMDQ5LCAxMDA1MCwgMTAwNTEsIDEwMDUyLCAxMDA1MywKLSAyMzE2LCAxMDA1NSwgMTAwNTYsIDEwMDU3LCAxMDA1OCwgMTAwNTksIDEwMDYwLCAxMDA2MSwgMTAwNjIsIDEwMDYzLCAyMzIxLAotIDEwMDY1LCAyMzIyLCAxMDA2NywgMjMyMywgMTAwNjksIDIzMjQsIDEwMDcxLCAxMDA3MiwgMTAwNzAsIDEwMDY4LCAxMDA2NiwKLSAxMDA3MywgMTAwNzQsIDEwMDc1LCAxMDA3NiwgMTAwNzcsIDEwMDc4LCAxMDA3OSwgMTAwODAsIDEwMDgxLCAxMDA4MiwgMTAwODMsCi0gMTAwNjQsIDEwMDg0LCAxMDA4NSwgMTAwODYsIDEwMDg3LCAxMDA4OCwgMTAwNTQsIDEwMDQwLCAxMDAyNiwgMTAwMDEsIDk5NTgsCi0gMTAwODksIDEwMDkwLCAxMDA5MSwgMTAwOTIsIDEwMDkzLCAxMDA5NCwgMTAwOTUsIDEwMDk2LCAxMDA5NywgMTAwOTgsIDEwMDk4LAotIDEwMDk5LCAxMDEwMCwgMTAxMDEsIDEwMTAyLCAxMDEwMiwgMTAxMDMsIDEwMTA0LCAxMDEwNSwgMTAxMDYsIDEwMTA2LCAxMDEwNywKLSAxMDEwOCwgMTAxMDksIDEwMTEwLCAxMDExMCwgMTAxMTEsIDEwMTEyLCAxMDExMywgOTY0MywgOTY0MCwgMTAxMTQsIDEwMTE0LAotIDEwMTE1LCA3NDI0LCA3NDI1LCA3NDI2LCA3NDI3LCA3NDI4LCA3NzI1LCA3NzI2LCA3NDMxLCAxMDExNiwgMTAxMTcsIDEwMTE4LAotIDEwMTE5LCAxMDEyMCwgMTAxMjAsIDEwMTIxLCAxMDEyMiwgNjEwMiwgMTAxMjQsIDEwMTI1LCAxMDEyNiwgMTAxMjcsIDEwMTI4LAotIDEwMTI5LCAxMDEzMCwgMTAxMzAsIDEwMTMxLCAxMDEzMiwgMTAxMzMsIDEwMTM0LCAxMDEzNCwgMTAxMzUsIDEwMTM2LCAxMDEzNywKLSAxMDEzOCwgMTAxMzgsIDEwMTM5LCAxMDE0MCwgMTAxNDEsIDEwMTQyLCAxMDE0MywgMTAxNDQsIDEwMTQ1LCAxMDE0NiwgMTAxNDcsCi0gMTAxNDgsIDEwMTQ5LCAxMDE1MCwgMTAxNTEsIDEwMTUyLCAxMDE1MywgMTAxNTQsIDEwMTU1LCAxMDE1NiwgMTAxNTcsIDEwMTU4LAotIDEwMTU5LCAxMDE2MCwgNjE0MSwgMTAxNjIsIDEwMTYzLCAxMDE2NCwgMTAxNjUsIDEwMTY2LCAxMDE2NywgMTAxNjgsIDEwMTY4LAotIDEwMTY5LCAxMDE3MCwgMTAxNzEsIDEwMTcyLCAxMDE3MiwgMTAxNzMsIDEwMTc0LCAxMDE3NSwgMTAxNzYsIDEwMTc2LCAxMDE3NywKLSAxMDE3OCwgMTAxNzksIDEwMTgwLCAxMDE4MCwgMTAxODEsIDEwMTgyLCAxMDE4MywgMTAxODQsIDEwMTg0LCAxMDE4NSwgMTAxODYsCi0gMTAxODcsIDEwMTg4LCAxMDE4OSwgMTAxOTAsIDEwMTkxLCAxMDE5MiwgMTAxOTMsIDEwMTk0LCAxMDE5NSwgMTAxOTYsIDEwMTk3LAotIDEwMTk4LCAxMDE5OSwgMTAyMDAsIDEwMjAxLCAxMDIwMiwgMTAyMDMsIDEwMjA0LCAxMDIwNSwgMTAyMDYsIDEwMjA3LCAxMDIwOCwKLSAxMDIwOCwgMTAyMDksIDEwMjEwLCAxMDIxMSwgMTAyMTIsIDEwMjEyLCAxMDIxMywgMTAyMTQsIDEwMjE1LCAxMDIxNiwgMTAyMTYsCi0gMTAyMTcsIDEwMjE4LCAxMDIxOSwgMTAyMjAsIDEwMjIwLCAxMDIyMSwgMTAyMjIsIDEwMjIzLCAxMDIyNCwgMTAyMjQsIDEwMjI1LAotIDEwMjI2LCAxMDIyNywgMTAyMjgsIDEwMjI4LCAxMDIyOSwgMTAyMzAsIDEwMjMxLCAxMDIzMiwgMTAyMzIsIDEwMjMzLCAxMDIzNCwKLSAxMDIzNSwgNzQ5LCA3NTAsIDEwMjM2LCAxMDIzNywgMTAyMzgsIDYyMjAsIDEwMjQwLCAxMDI0MSwgMTAyNDIsIDEwMjQzLCAxMDI0NCwKLSAxMDI0NSwgMTAyNDYsIDEwMjQ2LCAxMDI0NywgMTAyNDgsIDEwMjQ5LCAxMDI1MCwgMTAyNTAsIDEwMjUxLCAxMDI1MiwgMTAyNTMsCi0gMTAyNTQsIDEwMjU0LCAxMDI1NSwgMTAyNTYsIDEwMjU3LCAxMDI1OCwgMTAyNTgsIDEwMjU5LCAxMDI2MCwgMTAyNjEsIDEwMjYyLAotIDEwMjYyLCAxMDI2MywgMTAyNjQsIDEwMjY1LCAxMDI2NiwgMTAyNjcsIDEwMjY4LCAxMDI2OSwgMTAyNzAsIDEwMjcwLCAxMDI3MSwKLSAxMDI3MiwgMTAyNzMsIDEwMjc0LCAxMDI3NCwgMTAyNzUsIDEwMjc2LCAxMDI3NywgMTAyNzgsIDEwMjc4LCAxMDI3OSwgMTAyODAsCi0gMTAyODEsIDEwMjgyLCAxMDI4MiwgMTAyODMsIDEwMjg0LCAxMDI4NSwgMTAyODYsIDEwMjg2LCAxMDI4NywgMTAyODgsIDEwMjg5LAotIDEwMjkwLCAxMDI5MCwgMTAyOTEsIDEwMjkyLCAxMDI5MywgMTAyOTQsIDEwMjk0LCAxMDI5NSwgMTAyOTYsIDEwMjk3LCAxMDI5OCwKLSAxMDI5OSwgMTAzMDAsIDQzLCAxMDMwMSwgNDQsIDEwMjM5LCAzNDAsIDc2MywgNzY0LCA3NjUsIDc4MiwgNzkxLCAxMDg2LCAxMDMwMiwKLSAxMDMwMywgMTAzMDQsIDEwMzA1LCAxMDMwNiwgMTAzMDcsIDEwMzA4LCAxMDMwOSwgMTAzMTAsIDEwMzExLCAxMDMxMiwgMTAzMTMsCi0gMTAzMTQsIDEwMzE1LCAxMDMxNiwgMTAzMTcsIDEwMzE4LCAxMDMxOSwgMTAzMjAsIDEwMzIxLCA2MzA0LCAxMDMyMywgNjMwNywKLSAxMDMyNSwgNjMxMCwgMTAzMjcsIDYzMTMsIDEwMzI5LCA2MzE2LCAxMDMzMSwgMTAzMzIsIDEwMzMwLCAxMDMyOCwgMTAzMjYsCi0gMTAzMjQsIDEwMzM0LCAxMDMzMywgMTAzMzUsIDEwMzM2LCAxMDMzNywgMTAzMzgsIDEwMzM5LCAxMDM0MCwgMzE0LCA5NDk4LAotIDEwMzQxLCAxMDM0MiwgMTAzNDMsIDEwMzQ0LCAxMDM0NSwgMTAzNDYsIDEwMzQ3LCAxMDM0OCwgMTAzNDksIDEwMzQ5LCAxMDM1MCwKLSAxMDM1MSwgMTAzNTIsIDEwMzIyLCAxMDE2MSwgMTAzNTMsIDEwMzUzLCAxMDM1NCwgMTAzNTUsIDEwMzU2LCAxMDM1NywgNjM0NSwKLSAxMDM1OSwgMTAzNjAsIDEwMzYxLCAxMDM2MSwgMTAzNjIsIDEwMzYzLCAxMDM2NCwgMTAzNjUsIDEwMzY2LCAxMDM2NywgMTAzNjgsCi0gMTAzNjksIDEwMzcwLCAxMDM3MSwgMTAzNzIsIDEwMzczLCAxMDM3NCwgMTAzNzUsIDYzNjQsIDEwMzc3LCAxMDM3OCwgMTAzNzksCi0gMTAzODAsIDEwMzgxLCAxMDM4MiwgMTAzODMsIDEwMzg0LCAxMDM4NSwgMTAzODYsIDEwMzg3LCAxMDM4OCwgMTAzODksIDEwMzkwLAotIDEwMzkxLCAxMDM5MiwgMTAzOTMsIDEwMzk0LCAxMDM5NSwgMTAzOTUsIDEwMzk2LCAxMDM5NywgMTAzOTgsIDEwMzk5LCAxMDM5OSwKLSAxMDQwMCwgMTA0MDEsIDEwNDAyLCAxMDQwMywgMTA0MDMsIDEwNDA0LCAxMDQwNSwgMTA0MDYsIDEwNDA3LCAxMDQwOCwgMTA0MDksCi0gMTA0MTAsIDEwNDExLCAxMDQxMiwgMTA0MTMsIDEwNDE0LCAxMDQxNSwgMTA0MTYsIDEwNDE3LCA2NDA3LCAxMDQxOSwgMTA0MjAsCi0gMTA0MjEsIDEwNDIyLCAxMDQyMywgMTA0MjQsIDEwNDI1LCAxMDQyNiwgMTA0MjcsIDEwNDI4LCAxMDQyOSwgMTA0MzAsIDEwNDMxLAotIDEwNDMyLCA3NTAsIDEwNDMzLCAxMDQzNCwgMTA0MzUsIDY0MjYsIDEwNDM3LCAxMDQzOCwgMTA0MzksIDEwNDQwLCAxMDQ0MSwKLSAxMDQ0MiwgMTA0NDMsIDEwNDQ0LCAxMDQ0NSwgMTA0NDYsIDEwNDQ3LCAxMDQ0OCwgMTA0NDksIDEwNDUwLCAxMDQ1MSwgMTA0NTIsCi0gMTA0NTMsIDY0NDUsIDEwNDU1LCAxMDQ1NiwgMTA0NTcsIDEwNDU4LCAxMDQ1OSwgMTA0NjAsIDEwNDYxLCAxMDQ2MiwgMTA0NjMsCi0gMTA0NjQsIDEwNDY1LCAxMDQ2NiwgMTA0NjcsIDEwNDY4LCAxMDQ2OSwgMTA0NzAsIDEwNDcxLCA2NDY0LCAxMDQ3MywgMTA0NzQsCi0gMTA0NzUsIDEwNDc2LCAxMDQ3NywgMTA0NzgsIDEwNDc5LCAxMDQ4MCwgMTA0ODEsIDEwNDgyLCAxMDQ4MywgMTA0ODQsIDEwNDg1LAotIDEwNDg2LCAxMDQ4NywgMTA0ODgsIDEwNDg5LCA2NDgzLCAxMDQ5MSwgMTA0OTIsIDEwNDkzLCAxMDQ5NCwgMTA0OTUsIDEwNDk2LAotIDEwNDk3LCAxMDQ5OCwgMTA0OTksIDEwNTAwLCAxMDUwMSwgMTA1MDIsIDEwNTAzLCAxMDUwNCwgMTA1MDUsIDEwNTA2LCAxMDUwNywKLSA2NTAyLCAxMDUwOSwgMTA1MTAsIDEwNTExLCAxMDUxMiwgMTA1MTMsIDEwNTE0LCAxMDUxNSwgMTA1MTYsIDEwNTE3LCAxMDUxOCwKLSAxMDUxOSwgMTA1MjAsIDEwNTIxLCAxMDUyMiwgMTA1MjMsIDEwNTI0LCAxMDUyNSwgNjUyMSwgMTA1MjcsIDEwNTI4LCAxMDUyOSwKLSAxMDUzMCwgMTA1MzEsIDEwNTMyLCAxMDUzMywgMTA1MzQsIDEwNTM1LCAxMDUzNiwgMTA1MzcsIDEwNTM4LCAxMDUzOSwgMTA1NDAsCi0gMTA1NDEsIDEwNTQyLCAxMDU0MywgMTAzMzQsIDEwNTQ1LCAxMDU0NiwgMTA1NDcsIDEwNTQ4LCAxMDU0OSwgMTA1NTAsIDEwNTUxLAotIDEwNTUyLCAxMDU1MywgMTA1NTQsIDEwNTU1LCAxMDU1NiwgMTA1NTcsIDEwNTU4LCA2NTU1LCAxMDU2MCwgMTA1NjEsIDEwNTYyLAotIDEwNTYzLCAxMDU2NCwgMTA1NjUsIDEwNTY2LCAxMDU2NywgMTA1NjgsIDEwNTY5LCAxMDU3MCwgMTA1NzEsIDEwNTcyLCAxMDU3MywKLSAxMDU3NCwgMTA1NzUsIDEwNTc2LCA0MCwgMTA1NzcsIDQ4LCAxMDU1OSwgNDksIDEwNTQ0LCA1MCwgMTA1MjYsIDMsIDEwNTA4LAotIDQxLCAxMDQ5MCwgNDIsIDEwNDcyLCA0MywgMTA0NTQsIDQ0LCAxMDQzNiwgMTA1NzgsIDEwNTc5LCAxMDU4MCwgMTA1ODEsIDEwNTgyLAotIDEwNTgzLCAxMDU4NCwgMTA1ODUsIDEwNTg2LCAxMDU4NywgMTA1ODgsIDEwNTg5LCAxMDU5MCwgMTA1OTEsIDEwNTkyLCAxMDU5MywKLSAxMDU5NCwgMTA1OTUsIDEwNTk2LCAxMDU5NywgMTA1OTgsIDEwNTk5LCAxMDYwMCwgMTA2MDEsIDEwNjAyLCAxMDYwMywgMTA2MDQsCi0gMTA2MDUsIDEwNDE4LCAxMDYwNiwgMTA2MDcsIDEwNjA4LCAxMDYwOSwgMTA2MTAsIDEwMzc2LCAxMDM1OCwgMTA2MTEsIDEwNjEyLAotIDEwNjEzLCAxMDYxNCwgMTA2MTUsIDEwNjE2LCAxMDYxNywgMTA2MTcsIDEwNjE4LCAxMDYxOSwgMTA2MjAsIDEwMTIzLCA5Mjg5LAotIDEwNjIxLCAxMDYyMiwgMTA2MjMsIDEwNjIxLCAxMDYyMiwgMTA2MjMsIDEwNjI0LCAxMDYyNSwgNjYyMywgMTA2MjcsIDEwNjI4LAotIDEwNjI5LCAxMDYzMCwgMTA2MzEsIDEwNjMyLCAxMDYzMywgMTA2MzQsIDEwNjM1LCAxMDYzNiwgMTA2MzcsIDEwNjM4LCAxMDYzOSwKLSAxMDY0MCwgMTA2NDEsIDEwNjQxLCAxMDY0MiwgMTA2NDMsIDEwNjQ0LCAxMDY0NSwgMTA2NDYsIDEwNjQ3LCAxMDY0OCwgMTA2NDksCi0gMTA2NDksIDEwNjUwLCAxMDY1MSwgMTA2NTIsIDEwNjUzLCAxMDY1MywgMTA2NTQsIDEwNjU1LCA3ODg4LCAxMDY1NywgMTA2NTgsCi0gMTA2NTksIDEwNjYwLCAxMDY2MSwgMTA2NjIsIDY2NjEsIDEwNjY0LCAxMDY2NSwgMTA2NjYsIDEwNjY2LCAxMDY2NywgMTA2NjgsCi0gMTA2NjksIDEwNjcwLCAxMDY3MCwgMTA2NzEsIDEwNjcyLCAxMDY3MywgMTA2NjMsIDEwNjc0LCAxMDY3NSwgMTA2NzQsIDEwNjc1LAotIDEwNjc2LCAxMDY3NywgNjY3NywgMTA2NzksIDEwNjgwLCAxMDY4MSwgMTA2ODIsIDEwNjgzLCAxMDY4NCwgMTA2ODUsIDEwNjg2LAotIDEwNjg3LCAxMDY4OCwgMTA2ODksIDEwNjkwLCAxMDY5MSwgMTA2OTIsIDEwNjkzLCAxMDY5NCwgMTA2OTUsIDY2OTYsIDEwNjk3LAotIDEwNjk4LCAxMDY5OSwgMTA3MDAsIDEwNzAxLCAxMDcwMiwgMTA3MDMsIDEwNzA0LCAxMDcwNSwgMTA3MDYsIDEwNzA3LCAxMDcwOCwKLSAxMDcwOSwgMTA3MTAsIDEwNzExLCAxMDcxMiwgMTA3MTMsIDEwNzE0LCAxMDcxNSwgMTA3MTYsIDEwNzE3LCAxMDcxOCwgMTA3MTksCi0gMTA3MjAsIDEwNzIxLCAxMDcyMiwgMTA3MjMsIDEwNzI0LCAxMDcyNSwgMTA3MjYsIDEwNzI3LCAxMDcyOCwgMTA3MjksIDEwNzMwLAotIDEwNzMxLCAxMDczMiwgMTA3MzMsIDEwNzM0LCAxMDczNSwgMTA3MzUsIDEwNzM2LCAxMDczNywgMTA3MzgsIDEwNjk2LCAxMDc0MCwKLSAxMDczOSwgMTA3NDAsIDEwNzQxLCAxMDc0MiwgMTA3NDMsIDEwNjc4LCAxMDc0NCwgMTA3NDUsIDEwNzQ0LCAxMDc0NSwgMTA3NDYsCi0gMTA3NDcsIDY3NDksIDEwNzQ5LCAxMDc1MCwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDEwNzUxLCAxMDc1MiwgMTA3NTMsCi0gMTA3NTQsIDEwNzU1LCAxMDc1NSwgMTA3NTYsIDEwNzU3LCAxMDc1OCwgMTA3NTksIDEwNzU5LCAxMDc2MCwgMTA3NjEsIDEwNzYyLAotIDEwNzYzLCAxMDc2MywgMTA3NjQsIDEwNzY1LCAxMDc2NiwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDEwNzY3LCAxMDc2NywKLSAxMDc2OCwgMTA3NjksIDc0MTcsIDEwNzcxLCAxMDc3MiwgNjc3NSwgMTA3NzQsIDEwNzc1LCAxMDc3NiwgMTA3NzYsIDEwNzc3LAotIDEwNzc4LCAxMDc3OSwgMTA3ODAsIDEwNzgwLCAxMDc4MSwgMTA3ODIsIDEwNzgzLCAxMDc4NCwgMTA3ODQsIDEwNzg1LCAxMDc4NiwKLSAxMDc4NywgMTA3ODgsIDEwNzg4LCAxMDc4OSwgMTA3OTAsIDEwNzkxLCAxMDc3MywgMTA3OTMsIDEwNzkyLCAxMDc5NCwgMTA3OTUsCi0gMTA3OTYsIDEwNzk3LCAxMDc5NywgMTA3OTgsIDEwNzk5LCA2ODAzLCAxMDgwMSwgMTA4MDIsIDEwODAzLCAxMDgwMywgMTA4MDQsCi0gMTA4MDUsIDEwODA2LCAxMDgwNywgMTA4MDcsIDEwODA4LCAxMDgwOSwgMTA4MTAsIDEwODExLCAxMDgxMSwgMTA4MTIsIDEwODEzLAotIDEwODE0LCAxMDgxNSwgMTA4MTYsIDEwODE3LCAxMDgxOCwgMTA4MTksIDEwODIwLCAxMDgyMSwgMTA4MjIsIDEwODIzLCAxMDgyNCwKLSAxMDgyNSwgMTA4MjYsIDEwODI3LCAxMDgyOCwgMTA4MjksIDEwODMwLCAxMDgzMSwgMTA4MzIsIDEwODMzLCAxMDgzNCwgMTA4MzUsCi0gMTA4MzUsIDEwODM2LCAxMDgzNywgMTA4MzgsIDEwODM5LCAxMDgzOSwgMTA4NDAsIDEwODQxLCAxMDg0MiwgMTA4NDMsIDEwODQzLAotIDEwODQ0LCAxMDg0NSwgMTA4NDYsIDEwODQ3LCAxMDg0NywgMTA4NDgsIDEwODQ5LCAxMDg1MCwgMTA4NTEsIDEwODUxLCAxMDg1MiwKLSAxMDg1MywgMTA4NTQsIDEwODU1LCAxMDg1NSwgMTA4NTYsIDEwODU3LCAxMDg1OCwgMTA4NTksIDEwODU5LCAxMDg2MCwgMTA4NjEsCi0gMTA4NjIsIDEwODYzLCAxMDg2MywgMTA4NjQsIDEwODY1LCAxMDg2NiwgMTA4NjcsIDEwODY3LCAxMDg2OCwgMTA4NjksIDEwODcwLAotIDEwODcxLCAxMDg3MSwgMTA4NzIsIDEwODczLCAxMDg3NCwgMTA4NzUsIDEwODc1LCAxMDg3NiwgMTA4NzcsIDEwODc4LCAxMDg3OSwKLSAxMDg3OSwgMTA4ODAsIDEwODgxLCAxMDg4MiwgMTA4ODMsIDEwODg0LCAxMDg4NSwgMTA4ODYsIDEwODg3LCAxMDg4NywgMTA4ODgsCi0gMTA4ODksIDY3NCwgNzY1NiwgNzY1NiwgMTA4OTEsIDEwODkyLCA4MTI5LCAxMDg5NCwgMTA4OTUsIDEwODk2LCAxMDg5NywgMTA4OTcsCi0gMTA4OTgsIDEwODk5LCAxMDkwMCwgMTA5MDEsIDEwOTAxLCAxMDkwMiwgMTA5MDMsIDEwOTA0LCAxMDkwNSwgMTA5MDUsIDEwOTA2LAotIDEwOTA3LCAxMDkwOCwgMTA5MDksIDEwOTA5LCAxMDkxMCwgMTA5MTEsIDgxNTUsIDEwOTEzLCAxMDkxNCwgMTA5MTUsIDEwOTE2LAotIDEwOTE2LCAxMDkxNywgMTA5MTgsIDEwOTE5LCAxMDkyMCwgMTA5MjAsIDEwOTIxLCAxMDkyMiwgOTc1LCAxMDEyNiwgMTA5MjQsCi0gMTA5MjUsIDEwOTI2LCAxMDkyNywgMTA5MjcsIDEwOTI4LCAxMDkyOSwgNzQ4MiwgNzQ4MiwgMTA5MzEsIDEwOTMyLCAxMDkzMywKLSAxMDkzNCwgMTA5MzQsIDEwOTM1LCAxMDkzNiwgMTA5MzcsIDEwOTM4LCAxMDkzOSwgMTA5NDAsIDgxODUsIDgxODYsIDgxODUsCi0gODE4NiwgODE5MCwgMTA5NDIsIDEwOTQzLCAxMDk0NCwgMTA5NDUsIDEwOTQ2LCAxMDk0NywgODE5OCwgODE5OSwgODE5OCwgODE5OSwKLSA4MjAzLCAxMDk0OSwgMTA5NTAsIDEwOTUxLCAxMDk1MiwgMTA5NTMsIDEwOTU0LCAxMDk1NSwgMTA5NDgsIDEwMDgsIDEwOTU2LAotIDEwOTU3LCAxMDk1OCwgMTA5NTksIDEwOTYwLCAxMDA4LCAxMDk1NiwgMTA5NTcsIDEwOTYxLCAxMDk2MiwgMTA5NjMsIDEwOTY0LAotIDEwOTY1LCAxMDk2NSwgMTA5NjYsIDEwOTY3LCAxMDk2OCwgMiwgMTA5NDEsIDEwOTMwLCAxMDk2OSwgMTA5NzAsIDEwOTcxLAotIDEwOTY5LCAxMDk3MCwgMTA5NzEsIDEwOTcyLCAxMDk3MywgMTA3OTMsIDgyNTgsIDEwOTc1LCAxMDk3NiwgMTA5NzcsIDEwOTc4LAotIDEwOTc5LCAxMDk4MCwgMTA5ODEsIDEwOTgyLCAxMDk4MiwgMTA5ODMsIDEwOTg0LCAxMDk4NSwgMTA5ODYsIDEwOTg2LCAxMDk4NywKLSAxMDk4OCwgMTA5ODksIDEwOTkwLCAxMDk5MCwgMTA5OTEsIDEwOTkyLCAxMDk5MywgMTA5OTQsIDEwOTk0LCAxMDk5NSwgMTA5OTYsCi0gMTA5OTcsIDEwOTk4LCAxMDk5OCwgMTA5OTksIDExMDAwLCAxMTAwMSwgMTEwMDIsIDExMDAyLCAxMTAwMywgMTEwMDQsIDExMDA1LAotIDEwOTc0LCAxMDkyMywgMTA5MTIsIDEwODkzLCAxMDg5MCwgMTA4MDAsIDEwNzcwLCAxMDc0OCwgMTA2NTYsIDEwNjI2LCA5MjAyLAotIDkxOTUsIDkxNTUsIDgzMzAsIDcyNjIsIDcyMjgsIDcwNDEsIDEwNjQxLCAxMTAwNiwgMTEwMDcsIDExMDA4LCAxMTAwOSwgMTEwMTAsCi0gMTEwMTEsIDExMDEyLCAxMTAxMywgMTEwMTQsIDExMDE1LCAxMTAxNiwgMTEwMTcsIDExMDE4LCAxMTAxOSwgMTEwMjAsIDExMDIxLAotIDExMDIyLCAxMDY0MSwgMTEwMDYsIDExMDA3LCAxMTAwOCwgMTEwMDksIDExMDEwLCAxMTAxMSwgMTEwMTIsIDExMDEzLCAxMTAxNCwKLSAxMTAxNSwgMTEwMTYsIDExMDE3LCAxMTAxOCwgMTEwMTksIDExMDIwLCAxMTAyMSwgMTEwMjIsIDc2NjksIDExMDIzLCA4MDYxLAotIDY2MzgsIDcwMDksIDcwMTAsIDcwMTEsIDcwMTIsIDcwMTMsIDcwMTQsIDcwMTUsIDcwMTYsIDcwMTcsIDcwMTgsIDcwMTksIDcwMjAsCi0gNzAyMSwgNzAyMiwgNzAyMywgNzAyNCwgNzAyNSwgNjYzOCwgNzAwOSwgNzAxMCwgNzAxMSwgNzAxMiwgNzAxMywgNzAxNCwgNzAxNSwKLSA3MDE2LCA3MDE3LCA3MDE4LCA3MDE5LCA3MDIwLCA3MDIxLCA3MDIyLCA3MDIzLCA3MDI0LCA3MDI1LCAzNTA2LCA3MDI2LCAzOTE0LAotIDExMDI0LCAxMTAyNSwgMjg0OCwgMjg0OCwgMTEwMjcsIDExMDI3LCAxMTAyOCwgMTEwMjgsIDExMDI5LCAxMTAyOSwgMTEwMzAsCi0gMTEwMzAsIDExMDMxLCAxMTAzMSwgMTEwMzIsIDExMDMyLCAxMTAzMywgMTEwMzQsIDExMDM0LCAxMTAzNSwgMTEwMzUsIDExMDM2LAotIDExMDM2LCAxMTAzNywgMTEwMzcsIDExMDM4LCAxMTAzOCwgMTEwMzksIDExMDM5LCAxMTA0MCwgMTEwNDAsIDExMDQxLCAxMTA0MSwKLSAxMTA0MiwgMTEwNDMsIDExMDQzLCAxMTA0NCwgMTEwNDQsIDI5MzQsIDI5MzEsIDExMDQ2LCAxMTA0NywgMTEwNDgsIDExMDQ5LAotIDExMDUwLCAxMTA1MSwgMTEwNTIsIDExMDUyLCAxMTA1MywgMTEwNTQsIDExMDU0LCAyOTgyLCAyOTgyLCAxMTA1NiwgMTEwNTYsCi0gMzAwNCwgMTEwNTgsIDExMDU5LCAxMTA2MCwgMTEwNjAsIDI5OTcsIDI5OTcsIDExMDYyLCAxMTA2MiwgMTEwNjEsIDExMDYxLAotIDExMDU3LCAxMTA1NywgMTEwNTUsIDExMDU1LCAxMTA0NSwgMTEwNDUsIDMwMzUsIDMwMzUsIDExMDY3LCAxMTA2NywgMTEwNjgsCi0gMTEwNjgsIDExMDY5LCAxMTA2OSwgMTEwNzAsIDExMDcxLCAxMTA3MiwgMTEwNzIsIDMwNzcsIDMwNzAsIDMwODksIDExMDc2LAotIDExMDc0LCAxMTA3NSwgMTEwNzcsIDExMDc4LCAxMTA3OSwgMTEwODAsIDExMDgwLCAxMTA4MSwgMTEwODEsIDMxMjEsIDMxMjEsCi0gMTEwODMsIDExMDgzLCAxMTA4NCwgMTEwODQsIDMxNjIsIDMyMzksIDMyNDIsIDMyNDUsIDMyMjgsIDMyMjUsIDMyMjIsIDMyMTksCi0gMjgzMCwgMzIxNiwgMzIwOSwgMzIwMiwgMjgyMywgMzE5NSwgMzE4OCwgMzE3NiwgMzE3OSwgMzE3MywgMTEwODYsIDMxNTUsCi0gMTEwNzcsIDExMDc4LCAzMTQ2LCAzMTQzLCAzMTQwLCAzMTQ2LCAzMTQzLCAzMTQwLCAxMTAzMywgMTEwMzMsIDExMDk3LCAxMTA5NywKLSAxMTA5OCwgMTEwOTgsIDExMDk5LCAxMTA5OSwgMTExMDAsIDExMTAwLCAxMTEwMSwgMTExMDEsIDExMTAyLCAxMTEwMiwgMTExMDMsCi0gMTExMDMsIDExMTA0LCAxMTEwNCwgMTExMDUsIDExMTA1LCAxMTA2MiwgMTEwNjIsIDExMTA2LCAxMTEwNiwgMTEwNzAsIDExMTA5LAotIDExMTA5LCAzMzMyLCAzMzMyLCAxMTExMSwgMTExMTEsIDExMTEyLCAxMTExMiwgMTExMTMsIDExMTEzLCAxMTExNCwgMTExMTQsCi0gMTExMTUsIDExMTE1LCAxMTExNiwgMTExMTYsIDExMTE3LCAxMTExNywgMTExMTgsIDExMTE4LCAxMTExOSwgMTExMTksIDExMTIwLAotIDExMTIwLCAxMTEyMSwgMTExMjEsIDMzMjksIDMzMjksIDMzODMsIDMzODMsIDExMTIyLCAxMTEyMiwgMTExMjMsIDExMTIzLAotIDM0MDAsIDExMTI1LCA1NDMsIDU0MywgMTExMjYsIDM0MTksIDM0MTksIDExMTI4LCAxMTEyOCwgMTExMjksIDExMTI5LCAxMTEzMCwKLSAxMTEzMCwgMTExMzEsIDExMTMxLCAxMTEzMiwgMTExMzIsIDExMTMzLCAxMTEzMywgMTExMzQsIDExMTM0LCAxMTEzNSwgMTExMzUsCi0gMTExMzYsIDExMTM2LCAxMTEzNywgMTExMzcsIDExMTM4LCAxMTEzOCwgMTExMzksIDExMTM5LCAzNDc4LCAzNDc4LCAxMTE0MSwKLSAxMTE0MSwgMTExNDIsIDExMTQyLCAxMTE0MywgMTExNDMsIDExMTQ0LCAxMTE0NCwgMTExNDAsIDExMTQwLCAyODQxLCAxMTE0NywKLSAzNTE0LCAzMTYyLCAzNTUzLCAzNTUzLCAxMTE1MCwgMTExNTAsIDMyNDIsIDM1NDYsIDMyMjIsIDMyMjUsIDMyMjgsIDM1MzgsCi0gMzUzNSwgMzE5NSwgMzE3OSwgMzE3NiwgMzUyNSwgMTExNDksIDExMDkwLCAxMTA5NSwgMTExNTEsIDExMTUxLCAxMTE1NSwgMTExNTYsCi0gMTExNTIsIDExMTUzLCAxMTE1NCwgMTExNDgsIDExMTQ4LCAzNTc4LCAxMTE1OSwgMTExNjAsIDExMTYxLCAxMTE2MiwgMTExNjMsCi0gMTExNjMsIDExMTY0LCAxMTE2NCwgMzYxMywgMTExNjYsIDExMTY3LCAzNjM1LCAzNjM1LCAxMTE2OSwgMTExNjksIDExMTcwLAotIDExMTcwLCAxMTE3MSwgMTExNzEsIDExMTcyLCAxMTE3MiwgMzY2MiwgMzY2MiwgMTExNzQsIDExMTc0LCAzNjc3LCAzNjc3LAotIDExMTc2LCAxMTE3NiwgMTExNzcsIDExMTc3LCAxMTE3OCwgMTExNzgsIDExMTc1LCAxMTE3NSwgMTExNzMsIDExMTczLCAxMTA2NCwKLSAxMTA2NCwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDExMTc5LCAxMTE4MCwgMTExODEsIDExMTgyLCAxMTE3OSwgMTExODAsCi0gMTExODEsIDExMTgyLCAxMTE4MywgMTExODMsIDExMTg0LCAxMTE4NCwgMTExODUsIDExMTg1LCAxMTE4NiwgMTExODYsIDExMTY4LAotIDExMTY1LCAxMTE4NywgMTExODcsIDExMTg4LCAxMTE4OSwgMTExOTAsIDExMTkwLCAxMTE1NywgMTExNTgsIDExMTU3LCAxMTE1OCwKLSAzNzM0LCAzNzQ1LCAxMTE5NCwgMTExOTUsIDExMTk2LCAxMTE5NywgMTExOTgsIDExMTk5LCAxMTIwMCwgMTEyMDAsIDExMTkzLAotIDExMTkzLCAzNzg1LCAzNzg1LCAxMTIwMywgMTEyMDMsIDExMjA0LCAxMTIwNCwgMTEyMDUsIDExMjA1LCAxMTIwNiwgMTEyMDYsCi0gMTEyMDcsIDM4MTYsIDM4MTYsIDExMjA5LCAxMTIwOSwgMTEyMTAsIDExMjEwLCAxMTIxMSwgMTEyMTEsIDExMjEyLCAxMTIxMiwKLSAxMTIxMywgMTEyMTMsIDExMjE0LCAxMTIxNCwgMTEyMTUsIDExMjE1LCAxMTIxNiwgMTEyMTYsIDExMjE3LCAxMTIxNywgMTEyMTgsCi0gMTEyMTgsIDM4NjcsIDM4NjcsIDExMjIwLCAxMTIyMCwgMTEyMjEsIDExMjIxLCAxMTIyMiwgMTEyMjIsIDExMjIzLCAxMTIyMywKLSAxMTIyNCwgMTEyMjQsIDExMjI1LCAxMTIyNSwgMTEyMjYsIDExMjI2LCAxMTIyNywgMTEyMjcsIDExMjI4LCAxMTIyOCwgMjgyMywKLSAxMTIzMCwgMTEyMzEsIDExMjMxLCAxMTIzMiwgMTEyMzIsIDExMjMzLCAxMTIzMywgMTEyMzQsIDExMjM0LCAxMTIzNSwgMTEyMzUsCi0gMTEyMzYsIDExMjM2LCAxMTIzNywgMTEyMzcsIDExMjI5LCAxMTIxOSwgMzk1MiwgMTEyNDEsIDExMjM4LCAxMTIzOCwgMTEyMzksCi0gMTEyNDAsIDExMjA4LCAxMTI0MiwgMTEyNDIsIDExMjQzLCAxMTI0NCwgMzk3MywgMzk3MywgMTEyNDYsIDExMjQ2LCAxMTI0NywKLSAxMTI0NywgMTEyNDgsIDExMjQ4LCAxMTI0OSwgMTEyNDksIDQwMDAsIDExMjUxLCAxMTI1MiwgMTEyNTIsIDQwMTksIDQwMTksCi0gMTEyNTQsIDExMjU0LCAxMTI1NSwgMTEyNTUsIDQwMzgsIDQwMzgsIDQwNDEsIDQwNDEsIDQwNTMsIDQwNTMsIDQwNTYsIDQwNTYsCi0gMTEyNTgsIDExMjU3LCAxMDA4LCAxMTI1OSwgMTEyNjAsIDExMjYxLCAxMTI2MSwgMTEyNTYsIDExMjU2LCA0MDgyLCA0MDkzLAotIDQwOTMsIDExMjY1LCAxMTI2NSwgMTEyNjYsIDExMjY2LCAxMTI2NywgMTEyNjcsIDExMjY4LCAxMTI2OCwgMTEyNjksIDExMjY0LAotIDExMjcxLCAxMTI3MCwgMTEyNzIsIDExMjcyLCAxMTI3MywgMTEyNzMsIDExMjc0LCAxMTI3NCwgMTEyNzUsIDExMjc1LCAxMTI3NiwKLSAxMTI3NiwgMTEyNzcsIDExMjc3LCAxMTI2MiwgMTEyNjMsIDExMjYyLCAxMTI2MywgMTEyNTMsIDExMjUzLCAxMTI1MCwgMTEyNTAsCi0gMTEyNDUsIDExMjQ1LCAxMTIwMSwgMTEyMDIsIDExMjAxLCAxMTIwMiwgMTExOTEsIDExMTkyLCAxMTE5MSwgMTExOTIsIDExMTQ1LAotIDExMTQ1LCAxMTE0NiwgMTExNDYsIDExMTI3LCAxMTEyNywgMTExMjQsIDExMTI0LCAxMTExMCwgMTExMTAsIDExMTA3LCAxMTEwNywKLSAxMTEwOCwgMTExMDgsIDQxNjQsIDQxNjQsIDExMjkwLCAxMTI5MCwgMTEyOTEsIDExMjkxLCAxMTI5MiwgMTEyOTIsIDExMjkzLAotIDExMjkzLCAxMTI3OCwgMTEyNzksIDExMjgwLCAxMTI4MSwgMTEyODIsIDExMjgzLCAxMTI4NCwgMTEyODUsIDExMjg2LCAxMTI4NywKLSAxMTI4OCwgMTEyODksIDExMjc4LCAxMTI3OSwgMTEyODAsIDExMjgxLCAxMTI4MiwgMTEyODMsIDExMjg0LCAxMTI4NSwgMTEyODYsCi0gMTEyODcsIDExMjg4LCAxMTI4OSwgMTEwODgsIDExMDg5LCAxMTA5MCwgMTEwOTEsIDExMDkyLCAxMTA5NSwgMTEwODcsIDExMDkzLAotIDExMDk0LCAxMTA5NiwgMTEwODUsIDExMDg1LCAxMTA4MiwgMTEwODIsIDQyMjksIDQyMjksIDExMjk5LCAxMTI5OSwgMTEzMDAsCi0gMTEzMDAsIDQxOTUsIDQxOTUsIDQyNTYsIDQyNTMsIDQyNTAsIDQyNDcsIDQyNDQsIDExMzAxLCA0MjI2LCA0MjIzLCA0MjIwLAotIDQyMTcsIDQyMTQsIDQyMTEsIDQyMDgsIDQyMDUsIDQyMDIsIDExMzAyLCA0MjU2LCA0MjUzLCA0MjUwLCA0MjQ3LCA0MjQ0LAotIDExMzAxLCA0MjI2LCA0MjIzLCA0MjIwLCA0MjE3LCA0MjE0LCA0MjExLCA0MjA4LCA0MjA1LCA0MjAyLCAxMTMwMiwgNDI4MiwKLSA0MjgyLCAxMTMwNCwgMTEzMDQsIDExMzA1LCAxMTMwNSwgMTEzMDYsIDExMzA2LCAxMTMwNywgMTEzMDcsIDExMzAzLCA0MzEwLAotIDQzMTAsIDExMzEwLCAxMTMxMCwgMTEzMTEsIDExMzExLCAxMTMxMiwgMTEzMTMsIDExMzE0LCAxMTMxNSwgNDM0NSwgNDM0NSwKLSAxMTMxNywgMTEzMTcsIDExMzE4LCAxMTMxOCwgMTEzMTksIDExMzIwLCAxMTMyMSwgMTEzMjIsIDExMzIzLCAxMTMxNiwgNDM4NSwKLSA0Mzg1LCAxMTMyNiwgMTEzMjYsIDExMzI3LCAxMTMyNywgMTEzMjgsIDExMzI5LCAxMTMzMCwgMTEzMzEsIDExMzMyLCA0NDI0LAotIDQ0MjQsIDExMzM0LCAxMTMzNCwgMTEzMzUsIDExMzM1LCAxMTMzNiwgMTEzMzcsIDExMzM4LCAxMTMzOSwgNDQ1OSwgNDQ1OSwKLSAxMTM0MSwgMTEzNDEsIDExMzQyLCAxMTM0MiwgMTEzNDMsIDExMzQ0LCAxMTM0NSwgMTEzNDYsIDExMzQ3LCAxMTM0MCwgNDQ5OSwKLSA0NDk5LCAxMTM1MCwgMTEzNTAsIDExMzUxLCAxMTM1MSwgMTEzNTIsIDExMzUzLCAxMTM1NCwgMTEzNTUsIDExMzU2LCA0NTM4LAotIDQ1MzgsIDExMzU4LCAxMTM1OCwgMTEzNTksIDExMzU5LCAxMTM2MCwgMTEzNjEsIDExMzYyLCAxMTM2MywgMTEzNjQsIDExMzY1LAotIDExMzY1LCAxMTM2NiwgMTEzNjYsIDExMzY3LCAxMTM2NywgMTEzNjgsIDExMzY4LCAxMTM2OSwgMTEzNjksIDExMzcwLCAxMTM3MCwKLSAxMTM3MSwgMTEzNzEsIDExMzcyLCAxMTM3MiwgMTEzNzMsIDExMzczLCAxMTM3NCwgMTEzNzQsIDQ2MTcsIDQ2MTcsIDExMzc2LAotIDExMzc2LCAxMTM3NywgMTEzNzcsIDExMzc4LCAxMTM3OSwgMTEzODAsIDExMzgxLCA0NjUyLCA0NjUyLCAxMTM4MywgMTEzODMsCi0gMTEzODQsIDExMzg0LCAxMTM4NSwgMTEzODYsIDExMzg3LCAxMTM4OCwgMTEzODksIDExMzgyLCAxMTM3NSwgMTEzNzUsIDQ2OTMsCi0gNDY5MywgMTEzOTMsIDExMzkzLCAxMTM5NCwgMTEzOTQsIDExMzk1LCA0NzE2LCA0NzE2LCAxMTM5NywgMTEzOTcsIDExMzk4LAotIDExMzk4LCAxMTM5OSwgMTE0MDAsIDExNDAxLCAxMTQwMiwgMTE0MDIsIDExNDAzLCAxMTQwMywgMTE0MDQsIDExNDA0LCA0NzY1LAotIDQ3NjUsIDExNDA2LCAxMTQwNiwgMTE0MDcsIDExNDA3LCAxMTQwOCwgMTE0MDksIDExNDEwLCAxMTQxMSwgMTE0MTIsIDExNDEyLAotIDExMzQ5LCAxMTM0OSwgMTEzMjQsIDExMzI0LCAxMTQwNSwgMTE0MDUsIDExMzk2LCAxMTM5NiwgMTEzOTAsIDExMzkxLCAxMTM5MiwKLSAxMTM5MCwgMTEzOTEsIDExMzkyLCAxMTM1NywgMTEzNTcsIDExMzQ5LCAxMTM0OSwgMTEzNDgsIDExMzQ4LCAxMTMzMywgMTEzMzMsCi0gMTEzMjQsIDExMzI0LCAxMTMyNSwgMTEzMjUsIDExMzA4LCAxMTMwOSwgMTEzMDgsIDExMzA5LCAxMTQxMywgMTE0MTQsIDExNDE1LAotIDExNDE2LCAxMTQxNywgMTE0MTgsIDExNDE5LCAxMTQyMCwgMTE0MjEsIDExNDIyLCAxMTQyMywgMTE0MTMsIDExNDE0LCAxMTQxNSwKLSAxMTQxNiwgMTE0MTcsIDExNDE4LCAxMTQxOSwgMTE0MjAsIDExNDIxLCAxMTQyMiwgMTE0MjMsIDkyLCAxMTQyNCwgMTE0MjUsCi0gMTE0MjUsIDExNDI2LCAxMTQyNiwgMTE0MjcsIDExNDI3LCA0ODM0LCAxMTQyOSwgMTE0MzAsIDExNDMxLCAxMTQzMSwgNDg1NywKLSAxMTQzMywgMTE0MzQsIDExNDM1LCAxMTQzNSwgNDg4NiwgNDg4NiwgMTE0MzcsIDMzMjksIDQ4ODMsIDQ4ODAsIDExNDM3LCAzMzI5LAotIDQ4ODMsIDQ4ODAsIDMzODMsIDMzODMsIDExNDM4LCAxMTExNywgMTE0NDAsIDExNDQwLCAxMTQ0MSwgMTE0NDEsIDExNDQyLAotIDExNDQyLCAxMTQ0MywgMTE0NDQsIDExNDQ0LCAxMTQ0NSwgMTE0NDUsIDExNDQ2LCAxMTQ0NiwgMTE0NDcsIDExNDQ3LCAxMTQ0OCwKLSAxMTQ0OCwgMTE0NDksIDExNDQ5LCAxMTQ1MCwgMTE0NTEsIDExNDUxLCAxMTQ1MiwgMTE0NTIsIDExNDUzLCAxMTQ1MywgMTE0NTQsCi0gMTE0NTQsIDExNDU1LCAxMTQ1NSwgMTE0NTYsIDExNDU2LCAxMTQ1NywgMTE0NTgsIDExNDU4LCAxMTQ1OSwgMTE0NTksIDExNDYwLAotIDExNDYwLCAxMTQ2MSwgMTE0NjEsIDExNDYyLCAxMTQ2MywgMTE0NjMsIDExNDY0LCAxMTQ2NCwgMTE0NjUsIDExNDY1LCAxMTQ2NiwKLSAxMTQ2NiwgMTE0NjcsIDExNDY4LCAxMTQ2OCwgMTE0NjksIDExNDY5LCAxMTQ3MCwgMTE0NzAsIDExNDcxLCAxMTQ3MSwgMTE0NzIsCi0gMTE0NzIsIDExNDczLCAxMTQ3MywgMTE0MzksIDExNDM5LCAxMTQzNiwgMTE0MzYsIDExNDMyLCAxMTQzMiwgMTE0MjgsIDExNDI4LAotIDExMTU5LCAxMTQ3OSwgMTE0ODAsIDExNDgxLCAxMTQ4MiwgNDksIDc4MiwgMTE0ODQsIDExNDg0LCAxMTQ4NSwgMTE0ODUsIDExNDg2LAotIDExNDg2LCA1NDMsIDU0MywgMTE0ODMsIDExMTI2LCA0OSwgNzgyLCAxMTQ4OSwgMTE0ODksIDExNDkwLCAxMTQ5MCwgMTE0OTEsCi0gMTE0OTEsIDExMTQ1LCA0OCwgNTQzLCA3NTAsIDQ5LCA3NDksIDEwMDgsIDUxMDQsIDUxMDEsIDUxNjYsIDUxNTksIDUxNDQsCi0gNTE0MSwgNTEzOCwgNTEzNSwgNTEzMiwgNTEyOSwgNTEyNiwgNTEyMywgNTEyMCwgNDMsIDQzNywgMiwgNTkxLCA4MzUsIDExNDk2LAotIDExNDk3LCAxMTQ5OCwgNTk0LCA3NjUsIDk1MSwgMTU2NCwgMTE0OTQsIDExNDk1LCAzNDAsIDUxMiwgNzYzLCA3NjQsIDEwODYsCi0gMTE0OTksIDExNTAwLCAxMTUwMSwgMTE1MDIsIDExNTAzLCAxMTUwNCwgMTE1MDQsIDI2OCwgMTczOCwgNTI2NywgNTI5MiwgNTI4NSwKLSA1MzIwLCAxMTUwOSwgNTMwOCwgNTMwNSwgNTMwMiwgNTI5OSwgMTE1MDcsIDExNTA4LCA1Mjc0LCAxMTUwNiwgNTI2NCwgNTI2MSwKLSA1MjU4LCAzMDg5LCA1MjQ3LCA1MjQ0LCA1MjQxLCA1MjM4LCA1MjM1LCA1MjIyLCA1MjE5LCA1MjE2LCA1MjEzLCA1MjEwLCA1MjA3LAotIDUyMDQsIDUzMzksIDUzNTAsIDQ3NCwgNDc1LCA0NzYsIDExNTE2LCAxODEwLCAxMTUxNSwgNTM2OSwgMTE1MTksIDU0MDEsIDUzOTgsCi0gNTM5NSwgNTM5MiwgMjI5LCA1Mzg1LCA1NDU2LCAxMTUyMywgNTQ0OSwgNTQ0MSwgNTQzOCwgNTQzMSwgNTAyLCA1NDIyLCA1NDE5LAotIDU0MTYsIDU0NzUsIDU0OTUsIDU0OTIsIDU0ODksIDU0ODYsIDExNTMwLCAxMTUyOSwgMTIsIDE5NjQsIDI0NSwgMjQ3LCAyNDgsCi0gMjQ5LCAyNTAsIDI1MSwgNDQ4LCA1MTUsIDExNTMzLCA3MiwgMTk4NSwgNzMsIDE5ODIsIDEwMjMsIDEwMjQsIDEwMjUsIDE5NSwKLSA5NTEsIDIwMjQsIDIwMjYsIDIwMjcsIDIwMjgsIDExNTM3LCAyNjMsIDU1NjIsIDExNTM1LCAxMTUzNiwgNTU5MywgNTU5MCwKLSA1NTg3LCAxMTUzOCwgNTU3NywgNTU3NCwgNTU3MSwgMTE1MzksIDMyMjUsIDU1NDQsIDU1NDEsIDExNTM0LCA1NTMxLCA1NTI4LAotIDU1MjUsIDMyMDksIDU1MTcsIDU1MTQsIDExNTMxLCAxMTUzMiwgMTE1MjQsIDExNTI1LCAxMTUyNiwgMTE1MjcsIDExNTI4LAotIDMxOTUsIDExNTIxLCAxMTUyMiwgNDU3LCAzMTg4LCAxMTUyMCwgNTM2NiwgMzE3OSwgMzUyNSwgMTE1MTcsIDExNTE4LCAxMTUxMCwKLSAxMTUxMSwgMTE1MTIsIDExNTEzLCAxMTUxNCwgMjEzMSwgMjEzMCwgMjEyOSwgMjEyOCwgMjEyNywgMjEyNiwgMjEyNSwgMjEyNCwKLSAyMTE1LCAyMTE0LCAyMTEzLCAyMTEyLCAyMTExLCAyMTEwLCAyMTA5LCAyMTA0LCAyMTAzLCAyMTAyLCAyMDk5LCAyMDk1LCAyMDk0LAotIDIwOTAsIDIwODksIDIwODMsIDIwODIsIDIwODEsIDIwODAsIDIwNzYsIDIwNzUsIDIxOTIsIDIxOTEsIDIxOTAsIDIxODksIDIxODIsCi0gMjE4MSwgMjE4MCwgMjE3OSwgMjE3OCwgMjE3MCwgMjE2OSwgMjE2OCwgMjE2NywgMjE2NiwgMjE2NSwgMjE1NiwgMjE1NSwgMjE1NCwKLSAyMTUzLCAyMTUyLCAyMTUxLCAyMTUwLCAyMjA5LCAyMjA4LCAyMjA3LCAyMjA2LCAyMjAzLCAyMjMzLCAyMjI5LCAyMjI4LCAyMjI1LAotIDIyMjAsIDIyMTksIDIyMTgsIDIyNDEsIDIyNTMsIDIyNDgsIDIyNDcsIDIyNDYsIDExNTY4LCAxMTU2OSwgMTE1NjcsIDExNTYzLAotIDExNTY0LCAxMTU2NSwgMTE1NjYsIDExNTYxLCAxMTU2MiwgMTE1NTcsIDExNTU4LCAxMTU1OSwgMTE1NjAsIDExNTQ5LCAxMTU1MCwKLSAxMTU1MSwgMTE1NTIsIDExNTUzLCAxMTU1NCwgMTE1NTUsIDExNTU2LCAyMjY2LCAyMjc0LCAyMjcxLCAyMjgwLCAxMTU3OSwKLSAxMTU3NywgMTE1NzgsIDExNTc2LCAyMjg5LCAyMjk0LCAxMTU4NCwgMTE1ODMsIDIzMDIsIDExNTg3LCAyMzA5LCAxMTU4OSwKLSAyMzE2LCAyMzI0LCAyMzIzLCAyMzIyLCAyMzIxLCAxMTU5MiwgMTE1OTEsIDExNTkzLCAxMTU5NCwgMTE1OTAsIDExNTg4LCAxMTU4NSwKLSAxMTU4NiwgMTE1ODAsIDExNTgxLCAxMTU4MiwgMTE1NzAsIDExNTcxLCAxMTU3MiwgMTE1NzMsIDExNTc0LCAxMTU3NSwgMTE1OTUsCi0gMTE1OTYsIDExNTk3LCAxMTU5OCwgMTE1OTksIDExNjAwLCAxMTYwMSwgMTE2MDEsIDExNjAyLCAxMTYwMiwgMTE2MDMsIDExNjAzLAotIDExNjA0LCAxMTYwNCwgMzI0MiwgMzIzOSwgMTYxMSwgMTExNTEsIDExMTUxLCAxMTU0MCwgMTE1NDEsIDExNTQyLCAxMTU0MywKLSAxMTU0NCwgMTE1NDUsIDExNTQ2LCAxMTU0NywgMTE1NDgsIDExNjA1LCAxMTYwNSwgMTE2MDYsIDExMDg4LCAxMTA4OSwgMTEwOTAsCi0gMTEwOTEsIDExMDkyLCAxMTE1NSwgMTExNTYsIDExMDk1LCAxMTYwNywgNjEwMiwgMTE2MDksIDExNjA5LCAxMTYxMCwgMTE2MTAsCi0gMTE2MTEsIDExNjExLCAxMTYxMiwgMTE2MTMsIDExNjE0LCAxMTYxNSwgNjE0MSwgMTE2MTcsIDExNjE3LCAxMTYxOCwgMTE2MTgsCi0gMTE2MTksIDExNjE5LCAxMTYyMCwgMTE2MjAsIDExNjIxLCAxMTYyMSwgMTE2MjIsIDExNjIzLCAxMTYyNCwgMTE2MjUsIDExNjI2LAotIDExNjI3LCAxMTYyNywgMTE2MjgsIDExNjI4LCAxMTYyOSwgMTE2MjksIDExNjMwLCAxMTYzMCwgMTE2MzEsIDExNjMxLCAxMTYzMiwKLSAxMTYzMiwgMTE2MzMsIDExNjMzLCA2MjIwLCAxMTYzNSwgMTE2MzUsIDExNjM2LCAxMTYzNiwgMTE2MzcsIDExNjM3LCAxMTYzOCwKLSAxMTYzOCwgMTE2MzksIDExNjM5LCAxMTY0MCwgMTE2NDEsIDExNjQxLCAxMTY0MiwgMTE2NDIsIDExNjQzLCAxMTY0MywgMTE2NDQsCi0gMTE2NDQsIDExNjQ1LCAxMTY0NSwgMTE2NDYsIDExNjQ2LCAxMTY0NywgMTE2NDcsIDQzLCAxMTY0OCwgNDQsIDc0OSwgNzUwLAotIDExNjM0LCAzNDAsIDc2MywgNzY0LCA3NjUsIDc4MiwgNzkxLCAxMDg2LCAxMTY0OSwgMTE2NTAsIDExNjUxLCAxMTY1MiwgMTE2NTMsCi0gNjMxMywgNjMxNiwgNjMxMCwgNjMwNywgNjMwNCwgMzE0LCA1NDQ5LCAxMTY1NSwgMTE2NTYsIDExNjU3LCAxMTY1NywgMTE2NTQsCi0gMTE2MTYsIDYzNDUsIDYzNDUsIDExNjYxLCAxMTY2MiwgNjM2NCwgMTE2NjQsIDExNjY1LCAxMTY2NiwgMTE2NjcsIDExNjY3LAotIDExNjY4LCAxMTY2OCwgMTE2NjksIDExNjY5LCAxMTY3MCwgMTE2NzEsIDY0MDcsIDExNjczLCAxMTY3NCwgNjQyNiwgMTE2NzYsCi0gMTE2NzcsIDY0NDUsIDExNjc5LCAxMTY4MCwgNjQ2NCwgMTE2ODIsIDExNjgzLCA2NDgzLCAxMTY4NSwgMTE2ODYsIDY1MDIsCi0gMTE2ODgsIDExNjg5LCA2NTIxLCAxMTY5MSwgMTE2OTIsIDYzMTMsIDExNjk0LCAxMTY5NSwgNjU1NSwgMTE2OTcsIDExNjk4LAotIDQwLCAxMTY5OSwgNDgsIDExNjk2LCA0OSwgMTE2OTMsIDUwLCAxMTY5MCwgMywgMTE2ODcsIDQxLCAxMTY4NCwgNDIsIDExNjgxLAotIDQzLCAxMTY3OCwgNDQsIDc1MCwgMTE2NzUsIDExNzAwLCAxMTcwMSwgMTE3MDIsIDExNzAzLCAxMTcwNCwgMTE3MDUsIDExNzA2LAotIDExNzA3LCAxMTcwOCwgMTE3MDksIDExNzEwLCAxMTcxMSwgMTE3MTIsIDExNjcyLCAxMTcxMywgMTE3MTQsIDExNjYzLCAxMTY1OCwKLSAxMTY1OCwgMTE2NTksIDExNjYwLCAxMTcxNSwgMTE3MTYsIDExNzE3LCA3OTEsIDc5MSwgMTE3MTksIDExNzE5LCAxMTcyMCwKLSAxMTcyMCwgNjc0LCAxMTcyMiwgMTE3MjIsIDExNzIzLCAxMTcyMywgMTE3MjQsIDExNzI0LCAxMTcyNSwgMTE3MjUsIDExNzI2LAotIDExNzI2LCAxMTcyNywgMTE3MjEsIDExNzIxLCAxMTcxOCwgMTE3MTgsIDExNjA4LCAxMTYwOCwgMTE1MDUsIDExNTA1LCA2NjIzLAotIDExNzMzLCAxMTczNCwgMTE3MzUsIDExNzM1LCAxMTczNiwgMTE3MzcsIDExNzM3LCAzNzM0LCA2NjYxLCA2NjYxLCAxMTc0MCwKLSAxMTc0MCwgMTE3MzksIDY2NzcsIDExNzQzLCAxMTc0NCwgNjY5NiwgMTE3NDYsIDExNzQ3LCAxMTc0OCwgMTE3NDksIDExNzUwLAotIDExNzUxLCAxMTc1MiwgMTE3NTMsIDExNzU0LCAxMTc1NCwgMTE3NDUsIDExNzU2LCAxMTc1NSwgMTE3NTYsIDExNzQxLCAxMTc0MiwKLSAxMTc0MSwgMTE3NDIsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCA2NzQ5LCAxMTc1OSwgMTE3NTksIDExNzYwLCAxMTc2MCwKLSAxMTc2MSwgMTE3NjEsIDY3NzUsIDY3NzUsIDExNzYzLCAxMTc2MywgMTE3NjQsIDExNzY0LCAxMTc2NSwgMTE3NjUsIDMyNDUsCi0gMTE3NjcsIDExNzY2LCA2ODAzLCA2ODAzLCAxMTc2OSwgMTE3NjksIDExNzcwLCAxMTc3MCwgMTE3NzEsIDExNzcyLCAxMTc3MywKLSAxMTc3NCwgMTE3NzUsIDExNzc2LCAxMTc3NiwgMTE3NzcsIDExNzc3LCAxMTc3OCwgMTE3NzgsIDExNzc5LCAxMTc3OSwgMTE3ODAsCi0gMTE3ODAsIDExNzgxLCAxMTc4MSwgMTE3ODIsIDExNzgyLCAxMTc4MywgMTE3ODMsIDExNzg0LCAxMTc4NCwgMTE3ODUsIDExNzg1LAotIDExNzg2LCAxMTc4NiwgMTE3ODcsIDExNzg3LCAxMTc4OCwgMTU2NCwgMTE3OTAsIDExNzkxLCAxMTc5MiwgMTE3OTMsIDExNzkzLAotIDExNzkzLCAxMTc5NCwgMTE3OTUsIDExNzk1LCAxMTc5NSwgMTEyNDcsIDExNzk3LCAxMTc5NywgMTE3OTgsIDExNzk4LCAxMTc5OSwKLSAxMTc5OSwgMTEyNTIsIDExODAxLCAxMTgwMSwgOTc1LCA2MTAyLCAxMTEwNywgMTExMDcsIDExODA0LCAxMTgwNCwgNDA0MSwKLSA0MDM4LCA0MDQxLCA0MDM4LCAxMTI1NywgNDA1NiwgNDA1MywgNDA1NiwgNDA1MywgMTEyNTgsIDExODA3LCAxMTgwNiwgMTAwOCwKLSAxMTgwOCwgMTE4MDksIDEwMDgsIDExODA4LCAxMTgwOSwgMTE4MTAsIDExODExLCAxMTgxMSwgMiwgMTE4MDUsIDExODAzLCAxMTgwMywKLSAxMTc2NywgMTEyNzEsIDExODE1LCAxMTgxNiwgMTE4MTYsIDExODE3LCAxMTgxNywgMTE4MTgsIDExODE4LCAxMTgxOSwgMTE4MTksCi0gMTE4MjAsIDExODIwLCAyNjgsIDI2OCwgMTE4MjIsIDExODIyLCAxMTgyMywgMTE4MjMsIDExODI0LCAxMTgyNCwgMTE4MjUsCi0gMTE4MjUsIDExODI2LCAxMTgyNiwgMTE4MjcsIDExODI3LCAxMTgyOCwgMTE4MjgsIDExODI5LCAxMTgzMCwgMTE4MzAsIDExODMxLAotIDExODMxLCAxMTgzMiwgMTE4MzIsIDExODMzLCAxMTgzMywgMTE4MzQsIDExODM0LCAxMTgzNSwgMTE4MzUsIDExODM2LCAxMTgzNiwKLSAxMTgzNywgMTE4MzcsIDExODM4LCAxMTgzOSwgMTE4MzksIDExODQwLCAxMTg0MCwgMzE0LCAxMzQ5MSwgMTE4NDIsIDExODQzLAotIDExODQ0LCAxMTg0NSwgMTE4NDYsIDExODQ3LCAxMTg0OCwgMTE4NDksIDExODUwLCAxMTg1MCwgMTE4NTAsIDExODUxLCAxMTg1MiwKLSAxMTg1MiwgMTE4NTIsIDI2OCwgMjY4LCAxMTg1NCwgMTE4NTQsIDExODU1LCAxMTg1NSwgMTE4NTYsIDExODU2LCAxMTg1NywKLSAxMTg1NywgMTE4NTgsIDExODU4LCAxMTg1OSwgMTE4NTksIDExODYwLCAxMTg2MCwgMTE4NjEsIDExODYyLCAxMTg2MiwgMTE4NjMsCi0gMTE4NjMsIDExODY0LCAxMTg2NCwgMTE4NjUsIDExODY1LCAxMTg2NiwgMTE4NjYsIDExODY3LCAxMTg2NywgMTE4NjgsIDExODY4LAotIDExODY5LCAxMTg2OSwgMTE4NzAsIDExODcxLCAxMTg3MSwgMTE4NzIsIDExODcyLCAzNDAsIDM0MCwgMTE4NzQsIDExODc0LAotIDExODc1LCAxMTg3NSwgMzQwLCAzNDAsIDExODc3LCAxMTg3NywgMTE4NzgsIDExODc4LCAzMTQsIDMxNCwgMzE0LCAzNDAsIDExODgxLAotIDExODgyLCAxMTg4MywgMTE4ODQsIDExODg0LCAxMTg4NCwgMTE4ODAsIDExODgwLCAxMTg4MCwgMTE4ODYsIDExODg2LCAxMTg4NiwKLSAxMTg4NSwgMTE4ODUsIDExODg1LCAxMTg3OSwgMTE4NzksIDExODc2LCAxMTg3NiwgMTE4NzMsIDExODczLCAxMTg1MywgMTE4NTMsCi0gMTE4NTMsIDExODQxLCAxMTg0MSwgNDM3LCA0MzcsIDExODkzLCAxMTg5MywgMTE4OTQsIDExODk0LCAxMTg5NSwgMTE4OTUsCi0gMjQ2LCAyNDYsIDI1MSwgMjUxLCA0NDgsIDQ0OCwgNDU3LCA0ODEsIDQ4MiwgMzE0LCAyMjksIDQ5MywgNDk0LCA0OTUsIDUwNywKLSA1MjYsIDUyMywgMjQ1LCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA1MTUsIDIzOCwgMjM3LCAyMzYsIDIzNSwgMjM0LAotIDI2MywgNTM1LCAxMTkxMCwgMTE5MDYsIDExOTA3LCAxMTkwOSwgMTE5MDgsIDExOTA1LCAxMTkwMywgMTE5MDQsIDExOTAyLAotIDExOTAxLCAxMTkwMCwgMTE4OTcsIDExODk4LCAxMTg5OSwgMTE4OTcsIDExODk4LCAxMTg5OSwgMTE4MjksIDExODI5LCAxMTkxOSwKLSAxMTkxOSwgMTE5MjAsIDExOTIwLCAxMTkyMSwgMTE5MjEsIDExOTIyLCAxMTkyMiwgMTE5MjMsIDExOTIzLCAxMTkyNCwgMTE5MjQsCi0gMTE5MjUsIDExOTI1LCAxMTkyNiwgMTE5MjYsIDExOTI3LCAxMTkyNywgMzE0LCAzMTQsIDExOTI5LCAxMTkyOSwgMTE5MzAsCi0gMTE5MzAsIDExOTI4LCAxMTkyOCwgMzY5LCAzNjksIDExOTMzLCAxMTkzMywgMTE5MzQsIDExOTM0LCAxMTkzNSwgMTE5MzUsCi0gMTE5MzYsIDExOTM2LCAxMTkzNywgMTE5MzgsIDExOTM4LCA1OTQsIDU5NCwgMTE5NDAsIDExOTQwLCAxMTk0MSwgMTE5NDEsCi0gMTE5NDIsIDExOTQyLCAxMTk0MywgMTE5NDMsIDExOTQ0LCAxMTk0NCwgMTE5NDUsIDExOTQ1LCAxMTk0NiwgMTE5NDYsIDExOTQ3LAotIDExOTQ3LCAxMTk0OCwgMTE5NDgsIDExOTQ5LCAxMTk0OSwgMTE5NTAsIDExOTUwLCA2MjEsIDYyMSwgMTE5NTEsIDExOTUxLAotIDU5MSwgNTkxLCAxMTk1MiwgMTE5NTMsIDExOTU0LCAxMTk1MiwgMTE5NTMsIDExOTU0LCAxMTk1NSwgMTE5NTUsIDYzMiwgMTE5NTcsCi0gMTE5NTgsIDU0MywgNTQzLCAxMTk1OSwgNjQzLCA2NDMsIDExOTYxLCAxMTk2MSwgMTE5NjIsIDExOTYyLCAxMTk2MywgMTE5NjMsCi0gMTE5NjQsIDExOTY0LCAxMTk2NSwgMTE5NjUsIDExOTY2LCAxMTk2NiwgMTE5NjcsIDExOTY3LCAxMTk2OCwgMTE5NjgsIDExOTY5LAotIDExOTY5LCAxMTk3MCwgMTE5NzAsIDExOTcxLCAxMTk3MSwgMTE5NzIsIDExOTcyLCAxMTk3MywgMTE5NzMsIDExOTc0LCAxMTk3NCwKLSAyNjMsIDExOTc2LCAxMTk3NywgNzE1LCA3MTUsIDExOTc5LCAxMTk3OSwgMzg4LCAzOTMsIDExOTgyLCAxMTk4MSwgNDAxLCA0MDIsCi0gNDAzLCA0MDQsIDQwNSwgNDA2LCA0MDcsIDQwOCwgNDA5LCA0MTAsIDExOTg1LCAxMTk4NiwgMTE5ODMsIDExOTg0LCA2OTQsCi0gNDYyLCAxMTk4OSwgMTE5OTAsIDQ3NCwgNDc1LCA0NzYsIDQ2OSwgNDcwLCA3MDEsIDUwMiwgNTE4LCA1MTksIDI0NSwgMjQ2LAotIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNDQ4LCA1MTUsIDIzNSwgMjM3LCAyMzgsIDU0MCwgNTM1LCA1MzYsIDExOTk4LCAxMTk5OSwKLSAxMTkwNiwgMTE5MDcsIDExOTk1LCAxMTk5NiwgMTE5OTcsIDExOTk0LCAxMTkwNCwgMTE5MDEsIDExOTkyLCAxMTk5MywgMTE5OTEsCi0gMTE5MDAsIDExOTg3LCAxMTk4OCwgMTE5ODAsIDExOTgwLCAxMjAwMCwgMTIwMDEsIDEyMDAyLCAxMjAwMywgMTIwMDQsIDEyMDA1LAotIDEyMDA2LCAxMjAwNywgMTIwMDcsIDExOTc4LCAxMTk3OCwgNzY3LCA3NjcsIDEyMDEwLCAxMjAxMCwgMTIwMTEsIDEyMDExLAotIDEyMDEyLCAxMjAxMiwgMTIwMTMsIDEyMDEzLCAxMjAxNCwgMTIwMTQsIDc4MiwgNzgyLCAxMjAxNiwgMTIwMTYsIDEyMDE3LAotIDEyMDE3LCAxMTcyOSwgMTE3MjksIDEyMDE4LCAxMjAxOCwgMTIwMTUsIDEyMDE1LCAxMTg4OCwgMTE4ODgsIDUxMiwgNzYyLAotIDc2MywgNzY0LCA3NjUsIDEyMDE5LCAxMjAyMCwgMTIwMjEsIDEyMDIyLCAxMjAxOSwgMTIwMjAsIDEyMDIxLCAxMjAyMiwgMTIwMjMsCi0gMTIwMjMsIDEyMDI0LCAxMjAyNCwgMTIwMjUsIDEyMDI1LCA0MzcsIDEyMDI3LCAxMjAyOCwgMTIwMjksIDEyMDMwLCAxMjAzMSwKLSAxMjAzMiwgMTIwMzIsIDEyMDMzLCAxMjAzMywgNzQ5LCA3NTAsIDEyMDM1LCAxMjAzNiwgMTIwMzcsIDEyMDM4LCAxMjAzNCwKLSAxMjAyNiwgMTIwMjYsIDEyMDM5LCAxMjA0MCwgMTIwNDEsIDEyMDQxLCAxMjA0MiwgMTIwNDIsIDEyMDA4LCAxMjAwOSwgMTIwMDgsCi0gMTIwMDksIDgyOCwgODI4LCAxMjA0NSwgODM1LCAxMjA0NywgMTIwNDgsIDEyMDQ5LCAxMjA1MCwgMTIwNTEsIDEyMDUyLCAxMjA1MywKLSAxMjA1NCwgMTIwNTQsIDEyMDQ2LCAxMjA0NiwgMjM2LCAxMjA1NywgNTA3LCA1MDcsIDEyMDU5LCAxMjA1OSwgMTIwNjAsIDEyMDYwLAotIDEyMDYxLCAxMjA2MSwgMTIwNjIsIDEyMDYyLCAxMjA2MywgMTIwNjMsIDEyMDY0LCAxMTkwMywgMTIwNjYsIDEyMDY3LCAxMjA2NywKLSAxMjA2OCwgMTIwNjgsIDEyMDY5LCAxMjA2OSwgMTIwNzAsIDEyMDcwLCAxMjA3MSwgMTIwNzEsIDEyMDcyLCAxMjA3MiwgMjM0LAotIDIzNCwgMTIwNzQsIDEyMDc0LCAxMjA3NSwgMTIwNzUsIDEyMDc2LCAxMjA3NiwgMTIwNzcsIDEyMDc3LCAxMjA3OCwgMTIwNzgsCi0gMTIwNzksIDEyMDc5LCAxMjA4MCwgMTIwODAsIDEyMDgxLCAxMjA4MSwgMTIwODIsIDEyMDgyLCAxMjA4MywgMTIwODMsIDEyMDg0LAotIDEyMDg0LCAyNDcsIDI0NywgMTIwODYsIDEyMDg2LCAxMjA4NywgMTIwODcsIDEyMDg4LCAxMjA4OCwgMTIwODksIDEyMDg5LAotIDEyMDkwLCAxMjA5MCwgMTIwOTEsIDEyMDkxLCAxMjA5MiwgMTIwOTIsIDEyMDkzLCAxMjA5MywgMTIwOTQsIDEyMDk0LCAxMjA5NSwKLSAxMjA5NSwgMTIwOTYsIDEyMDg1LCAxMjA3MywgMTIwNzMsIDEyMDk3LCAxMjA5OCwgMTIwOTksIDEyMDk5LCAxMjA2NSwgMTIwNTgsCi0gMTIxMDIsIDEyMTAyLCAxMjEwMCwgMTIxMDEsIDk1MSwgOTUxLCAxMjEwNCwgMTIxMDQsIDEyMTA1LCAxMjEwNSwgMTIxMDYsCi0gMTIxMDYsIDEyMTA3LCAxMjEwNywgMTIxMDgsIDEyMTA4LCA2MjEsIDEyMTEwLCAxMjExMSwgMTIxMTIsIDEyMTEyLCA5NzUsCi0gOTc1LCAxMjExNCwgMTIxMTQsIDEyMTE1LCAxMjExNSwgMTIxMTYsIDEyMTE2LCA5ODksIDk4OSwgOTg2LCA5ODYsIDEyMTE4LAotIDEyMTE5LCAxMjExOCwgMTIxMTksIDEwMDAsIDEwMDAsIDk5NywgOTk3LCAxMjEyMSwgMTIxMjIsIDEyMTIxLCAxMjEyMiwgMTIxMjMsCi0gMTIxMjAsIDEwMDgsIDEyMTI0LCAxMjEyNSwgMTIxMjYsIDEyMTI2LCAxMjExNywgMTIxMTcsIDEwMjYsIDEwMjUsIDEwMjQsCi0gMTAyMywgMTAyMiwgMTAyMSwgMTAyMCwgMTAxOSwgMTAxOCwgMTIxMjksIDEwNDEsIDEwNDIsIDEyMTMxLCAxMjEzMSwgMTIxMzIsCi0gMTIxMzIsIDEyMTMzLCAxMjEzMywgMTIxMzQsIDEyMTM0LCAxMjEzNSwgMTIxMzUsIDEyMTM2LCAxMjEzMCwgMTIxMzgsIDEyMTM3LAotIDEyMTM5LCAxMjEzOSwgMTIxNDAsIDEyMTQwLCAxMjE0MSwgMTIxNDEsIDEyMTQyLCAxMjE0MiwgMTIxNDMsIDEyMTQzLCAxMjE0NCwKLSAxMjE0NCwgMTIxMjcsIDEyMTI4LCAxMjEyNywgMTIxMjgsIDEyMTEzLCAxMjExMywgMTIxMDksIDEyMTA5LCAxMjEwMywgMTIxMDMsCi0gMTIwNTUsIDEyMDU2LCAxMjA1NSwgMTIwNTYsIDEyMDQzLCAxMjA0NCwgMTIwNDMsIDEyMDQ0LCAxMTcyNywgMTE5NzUsIDExNzI3LAotIDExOTc1LCAxMTk2MCwgMTE5NjAsIDExOTU2LCAxMTk1NiwgMTE5MzksIDExOTM5LCAxMTkzMSwgMTE5MzIsIDExOTMxLCAxMTkzMiwKLSAxMDg2LCAxMDg2LCAxMjE1NywgMTIxNTcsIDEyMTU4LCAxMjE1OCwgMTIxNTksIDEyMTU5LCAxMjE2MCwgMTIxNjAsIDEyMTYxLAotIDEyMTYxLCAxMjE0NSwgMTIxNDYsIDEyMTQ3LCAxMjE0OCwgMTIxNDksIDEyMTUwLCAxMjE1MSwgMTIxNTIsIDEyMTUzLCAxMjE1NCwKLSAxMjE1NSwgMTIxNTYsIDEyMTQ1LCAxMjE0NiwgMTIxNDcsIDEyMTQ4LCAxMjE0OSwgMTIxNTAsIDEyMTUxLCAxMjE1MiwgMTIxNTMsCi0gMTIxNTQsIDEyMTU1LCAxMjE1NiwgMTE5MTMsIDExOTE0LCAxMTkxNSwgMTE5MTEsIDExOTEyLCAxMTkxNiwgMTE5MTcsIDExOTE4LAotIDExODk2LCAxMTg5NiwgNDkzLCA1NDAsIDUxOCwgNTE4LCAxMjE2NywgMTIxNjcsIDEyMTY4LCAxMjE2OCwgNTE4LCA1MTgsIDQ1NywKLSA0NTcsIDQ1NywgNDU3LCA1MzYsIDUzNiwgNDcwLCA0NzAsIDEyMTY5LCAxMjE2OSwgNDU3LCA0NTcsIDQ3NCwgNDc0LCA1MTksCi0gNTE5LCA0OTUsIDQ5NSwgNDc2LCA0NzYsIDQ5NCwgNDk0LCA0NzAsIDQ3MCwgNDgyLCA0ODIsIDQ3NSwgNDc1LCA0NTcsIDQ1NywKLSA1MDIsIDUwMiwgNTAyLCA1MDIsIDEyMTY2LCAxMjE2NiwgMTIxNzAsIDEyMTcxLCAxMjE3MiwgMTIxNzMsIDEyMTc0LCAxMjE3NSwKLSAxMjE3NiwgMTIxNzcsIDEyMTc4LCAxMjE3OSwgMTIxODAsIDEyMTgxLCAxMjE4MiwgMTIxODMsIDEyMTg0LCAxMjE3MCwgMTIxNzEsCi0gMTIxNzIsIDEyMTczLCAxMjE3NCwgMTIxNzUsIDEyMTc2LCAxMjE3NywgMTIxNzgsIDEyMTc5LCAxMjE4MCwgMTIxODEsIDEyMTgyLAotIDEyMTgzLCAxMjE4NCwgMTIxODUsIDQwMiwgNDAyLCAxMjE4NywgMTIxODcsIDEyMTg4LCAxMjE4OCwgMTIxODksIDEyMTg5LAotIDEyMTkwLCAxMjE5MSwgMTIxOTIsIDEyMTkzLCA0MDMsIDQwMywgMTIxOTUsIDEyMTk1LCAxMjE5NiwgMTIxOTYsIDEyMTk3LAotIDEyMTk3LCAxMjE5OCwgMTIxOTksIDEyMjAwLCAxMjIwMSwgMTIyMDIsIDEyMTk0LCA0MDYsIDQwNiwgMTIyMDUsIDEyMjA1LAotIDEyMjA2LCAxMjIwNiwgMTIyMDcsIDEyMjA3LCAxMjIwOCwgMTIyMDksIDEyMjEwLCAxMjIxMSwgMTIyMTIsIDQwNCwgNDA0LAotIDEyMjE0LCAxMjIxNCwgMTIyMTUsIDEyMjE1LCAxMjIxNiwgMTIyMTYsIDEyMjE3LCAxMjIxOCwgMTIyMTksIDEyMjIwLCA0MDgsCi0gNDA4LCAxMjIyMiwgMTIyMjIsIDEyMjIzLCAxMjIyMywgMTIyMjQsIDEyMjI0LCAxMjIyNSwgMTIyMjYsIDEyMjI3LCAxMjIyOCwKLSAxMjIyOSwgMTIyMjEsIDQwNywgNDA3LCAxMjIzMiwgMTIyMzIsIDEyMjMzLCAxMjIzMywgMTIyMzQsIDEyMjM0LCAxMjIzNSwKLSAxMjIzNiwgMTIyMzcsIDEyMjM4LCAxMjIzOSwgNDA5LCA0MDksIDEyMjQxLCAxMjI0MSwgMTIyNDIsIDEyMjQyLCAxMjI0MywKLSAxMjI0MywgMTIyNDQsIDEyMjQ1LCAxMjI0NiwgMTIyNDcsIDEyMjQ4LCAxMjI0OSwgMTIyNDksIDEyMjUwLCAxMjI1MCwgMTIyNTEsCi0gMTIyNTEsIDEyMjUyLCAxMjI1MiwgMTIyNTMsIDEyMjUzLCAxMjI1NCwgMTIyNTQsIDEyMjU1LCAxMjI1NSwgMTIyNTYsIDEyMjU2LAotIDEyMjU3LCAxMjI1NywgMTIyNTgsIDEyMjU4LCA0MTAsIDQxMCwgMTIyNjAsIDEyMjYwLCAxMjI2MSwgMTIyNjEsIDEyMjYyLAotIDEyMjYyLCAxMjI2MywgMTIyNjQsIDEyMjY1LCAxMjI2NiwgNDA1LCA0MDUsIDEyMjY4LCAxMjI2OCwgMTIyNjksIDEyMjY5LAotIDEyMjcwLCAxMjI3MCwgMTIyNzEsIDEyMjcyLCAxMjI3MywgMTIyNzQsIDEyMjc1LCAxMjI2NywgMTIyNTksIDEyMjU5LCA0ODEsCi0gNDgxLCAxMjI3OSwgMTIyNzksIDQ4MSwgNDgxLCAxMjI4MSwgMTIyODEsIDEyMjgyLCAxMjI4MiwgMTIyODAsIDEyMjgwLCAxMjI4MywKLSAxMjI4MywgMTIyODQsIDEyMjg1LCAzOTMsIDM5MywgMTIyODcsIDEyMjg3LCAxMjI4OCwgMTIyODgsIDEyMjg5LCAxMjI4OSwKLSAxMjI5MCwgMTIyOTEsIDEyMjkyLCAxMjI5MywgMTIyOTMsIDEyMjk0LCAxMjI5NCwgMzkzLCAzOTMsIDEyMjk2LCAxMjI5NiwKLSAxMjI5NywgMTIyOTcsIDEyMjk4LCAxMjI5OCwgMTIyOTksIDEyMzAwLCAxMjMwMSwgMTIzMDIsIDEyMzAyLCAxMjMwMywgMTIzMDMsCi0gMTIzMDQsIDEyMzA0LCAxMjI5NSwgMTIyOTUsIDUxOCwgNTE4LCAxMjMwNywgMTIzMDcsIDEyMzA4LCAxMjMwOCwgNTE4LCA1MTgsCi0gNDU3LCA0NTcsIDQ1NywgNDU3LCA1MzYsIDUzNiwgNDcwLCA0NzAsIDEyMzA5LCAxMjMwOSwgNDc0LCA0NzQsIDUxOSwgNTE5LAotIDQ5NSwgNDk1LCA0NzYsIDQ3NiwgNDk0LCA0OTQsIDQ3MCwgNDcwLCA0ODIsIDQ4MiwgNDc1LCA0NzUsIDQ1NywgNDU3LCA1MDIsCi0gNTAyLCA1MDIsIDUwMiwgMTIxNjYsIDEyMTY2LCA0NTcsIDQ1NywgNzAxLCA3MDEsIDcwMSwgNzAxLCA3MDEsIDcwMSwgMTIzMTAsCi0gMTIzMTEsIDEyMzEyLCAxMjMxMywgMTIzMTQsIDEyMzE1LCAxMjMyNCwgMTIzMTYsIDEyMzE3LCAxMjMxOCwgMTIzMTksIDEyMzIwLAotIDEyMzI1LCAxMjMyMSwgMTIzMjIsIDEyMzIzLCAxMjMxMCwgMTIzMTEsIDEyMzEyLCAxMjMxMywgMTIzMTQsIDEyMzE1LCAxMjMyNCwKLSAxMjMxNiwgMTIzMTcsIDEyMzE4LCAxMjMxOSwgMTIzMjAsIDEyMzI1LCAxMjMyMSwgMTIzMjIsIDEyMzIzLCAxMjMyNCwgMTIzMjUsCi0gNTIzLCA1MjMsIDEyMzI3LCAxMjMyNywgMTIzMjgsIDEyMzI4LCAxMjMyOSwgMTIzMjksIDEyMzMwLCAxMjMzMCwgNTIzLCA1MjMsCi0gMTIzMzIsIDEyMzMyLCAxMjMzMywgMTIzMzMsIDEyMzM0LCAxMjMzNCwgMTIzMzUsIDEyMzM1LCAxMjMzNiwgMTIzMzYsIDEyMzMxLAotIDEyMzMxLCAxMjMyNiwgNDAyLCA0MDIsIDEyMzQwLCAxMjM0MCwgMTIzNDEsIDEyMzQxLCAxMjM0MiwgMTIzNDIsIDEyMzQzLAotIDEyMzQ0LCAxMjM0NSwgMTIzNDYsIDQwMywgNDAzLCAxMjM0OCwgMTIzNDgsIDEyMzQ5LCAxMjM0OSwgMTIzNTAsIDEyMzUwLAotIDEyMzUxLCAxMjM1MiwgMTIzNTMsIDEyMzU0LCAxMjM1NSwgMTIzNDcsIDQwNiwgNDA2LCAxMjM1OCwgMTIzNTgsIDEyMzU5LAotIDEyMzU5LCAxMjM2MCwgMTIzNjAsIDEyMzYxLCAxMjM2MiwgMTIzNjMsIDEyMzY0LCAxMjM2NSwgNDA0LCA0MDQsIDEyMzY3LAotIDEyMzY3LCAxMjM2OCwgMTIzNjgsIDEyMzY5LCAxMjM2OSwgMTIzNzAsIDEyMzcxLCAxMjM3MiwgMTIzNzMsIDQwOCwgNDA4LAotIDEyMzc1LCAxMjM3NSwgMTIzNzYsIDEyMzc2LCAxMjM3NywgMTIzNzcsIDEyMzc4LCAxMjM3OSwgMTIzODAsIDEyMzgxLCAxMjM4MiwKLSAxMjM3NCwgNDA3LCA0MDcsIDEyMzg1LCAxMjM4NSwgMTIzODYsIDEyMzg2LCAxMjM4NywgMTIzODcsIDEyMzg4LCAxMjM4OSwKLSAxMjM5MCwgMTIzOTEsIDEyMzkyLCA0MDksIDQwOSwgMTIzOTQsIDEyMzk0LCAxMjM5NSwgMTIzOTUsIDEyMzk2LCAxMjM5NiwKLSAxMjM5NywgMTIzOTgsIDEyMzk5LCAxMjQwMCwgMTI0MDEsIDEyNDAyLCAxMjQwMiwgMTI0MDMsIDEyNDAzLCAxMjQwNCwgMTI0MDQsCi0gMTI0MDUsIDEyNDA1LCAxMjQwNiwgMTI0MDYsIDEyNDA3LCAxMjQwNywgMTI0MDgsIDEyNDA4LCAxMjQwOSwgMTI0MDksIDEyNDEwLAotIDEyNDEwLCAxMjQxMSwgMTI0MTEsIDQxMCwgNDEwLCAxMjQxMywgMTI0MTMsIDEyNDE0LCAxMjQxNCwgMTI0MTUsIDEyNDE1LAotIDEyNDE2LCAxMjQxNywgMTI0MTgsIDEyNDE5LCA0MDUsIDQwNSwgMTI0MjEsIDEyNDIxLCAxMjQyMiwgMTI0MjIsIDEyNDIzLAotIDEyNDIzLCAxMjQyNCwgMTI0MjUsIDEyNDI2LCAxMjQyNywgMTI0MjgsIDEyNDIwLCAxMjQxMiwgMTI0MTIsIDQwMSwgNDAxLAotIDEyNDMyLCAxMjQzMiwgMTI0MzMsIDEyNDMzLCAxMjQzNCwgMTI0MzQsIDEyNDM1LCAxMjQzNiwgMTI0MzcsIDEyNDM4LCA0MDEsCi0gNDAxLCAxMjQ0MCwgMTI0NDAsIDEyNDQxLCAxMjQ0MSwgMTI0NDIsIDEyNDQyLCAxMjQ0MywgMTI0NDQsIDEyNDQ1LCAxMjQ0NiwKLSAxMjQ0NywgMTI0NDcsIDEyMjMxLCAxMjIzMSwgMTI0MzksIDEyNDM5LCAxMjM4NCwgMTIzODQsIDEyMzU2LCAxMjM1NiwgMTI0MjksCi0gMTI0MzAsIDEyNDMxLCAxMjQyOSwgMTI0MzAsIDEyNDMxLCAxMjM5MywgMTIzOTMsIDEyMzg0LCAxMjM4NCwgMTIzODMsIDEyMzgzLAotIDEyMzY2LCAxMjM2NiwgMTIzNTYsIDEyMzU2LCAxMjM1NywgMTIzNTcsIDEyMzM4LCAxMjMzOSwgMTIzMzcsIDEyMzM4LCAxMjMzOSwKLSAxMjMzOSwgMTIyMDMsIDEyMjAzLCAxMjMwNSwgMTIzMDUsIDEyMzA2LCAxMjI4NiwgMTIyODYsIDEyMjg2LCAxMjI3NiwgMTIyNzcsCi0gMTIyNzgsIDEyMjc2LCAxMjI3NywgMTIyNzgsIDEyMjQwLCAxMjI0MCwgMTIyMzEsIDEyMjMxLCAxMjIzMCwgMTIyMzAsIDEyMjEzLAotIDEyMjEzLCAxMjIwMywgMTIyMDMsIDEyMjA0LCAxMjIwNCwgMTIxODYsIDEyMTg2LCAxMjQ1MCwgMTI0NTEsIDEyNDUyLCAxMjQ2MCwKLSAxMjQ2MSwgMTI0NTMsIDEyNDU0LCAxMjQ1NSwgMTI0NTYsIDEyNDU3LCAxMjQ1OCwgMTI0NDgsIDEyNDQ5LCAxMjQ1MCwgMTI0NTEsCi0gMTI0NTIsIDEyNDYwLCAxMjQ2MSwgMTI0NTMsIDEyNDU0LCAxMjQ1NSwgMTI0NTYsIDEyNDU3LCAxMjQ1OCwgMTI0NTksIDEyNDYwLAotIDEyNDYxLCAxMjQ2MiwgMTI0NjMsIDEyNDY0LCAxMjQ2NSwgMTI0NjYsIDEyNDY3LCA5MiwgMTI0NjgsIDEyNDY5LCAxMjQ2OSwKLSAxMjQ2OSwgMTI0NzAsIDEyNDcwLCAxMjQ3MCwgMTI0NzEsIDEyNDcxLCAxMjQ3MSwgMzQwLCA3ODIsIDEyNDczLCAxMjQ3NCwKLSAxMjQ3NSwgMTI0NzYsIDEyNDc2LCAxMjQ3NiwgNzgyLCAxMjQ3OCwgMTI0NzksIDEyNDgwLCAxMjQ4MSwgMTI0ODEsIDEyNDgxLAotIDYyMSwgMTI0ODMsIDEyNDgzLCAxMjQ4MywgNTkxLCA1OTEsIDU5MSwgNTk0LCA1OTQsIDU5NCwgNjMyLCA2MzIsIDYzMiwgNjIxLAotIDYyMSwgNjIxLCAxMjQ4NCwgMTI0ODUsIDEyNDg2LCAxMjQ4NywgMTI0ODQsIDEyNDg0LCAxMjQ4NSwgMTI0ODYsIDEyNDg3LAotIDEyNDg1LCAxMjQ4NiwgMTI0ODcsIDEyNDg4LCAxMjQ4OCwgMTI0ODgsIDEyNDg5LCA1OTQsIDU5NCwgMTI0OTEsIDEyNDkxLAotIDEyNDkyLCAxMjQ5MiwgMTI0OTMsIDEyNDkzLCAxMjQ5NCwgMTI0OTQsIDEyNDk1LCAxMjQ5NSwgMTI0OTYsIDEyNDk2LCAxMjQ5NywKLSAxMjQ5NywgMTI0OTgsIDEyNDk5LCAxMjQ5OSwgMTI1MDAsIDEyNTAwLCAxMjUwMSwgMTI1MDEsIDEyNTAyLCAxMjUwMywgMTI1MDMsCi0gMTI1MDQsIDEyNTA0LCAxMjUwNSwgMTI1MDUsIDEyNTA2LCAxMjUwNiwgMTI1MDcsIDEyNTA3LCAxMjUwOCwgMTI1MDgsIDEyNTA5LAotIDEyNTEwLCAxMjUxMCwgMTI1MTEsIDEyNTExLCAxMjUxMiwgMTI1MTIsIDEyNTEzLCAxMjUxMywgMTI1MTQsIDEyNTE0LCAxMjUxNSwKLSAxMjUxNSwgMTI1MTYsIDEyNTE3LCAxMjUxNywgMTI1MTgsIDEyNTE4LCAxMjUxOSwgMTI1MTksIDEyNTIwLCAxMjUyMCwgMTI1MjEsCi0gMTI1MjIsIDEyNTIyLCAxMjUyMywgMTI1MjMsIDEyNTI0LCAxMjUyNCwgMTI1MjUsIDEyNTI1LCAxMjUyNiwgMTI1MjcsIDEyNTI3LAotIDEyNTI4LCAxMjUyOCwgMTI1MjksIDEyNTI5LCAxMjUzMCwgMTI1MzAsIDEyNTMxLCAxMjUzMSwgMTE5NDcsIDEyNTMzLCAxMjUzMywKLSAxMjUzNCwgMTI1MzQsIDEyNTM1LCAxMjUzNSwgMTI1MzYsIDEyNTM3LCAxMjUzNywgMTI1MzgsIDEyNTM4LCAxMjUzOSwgMTI1MzksCi0gMTI1NDAsIDEyNTQwLCAxMjU0MSwgMTI1NDEsIDEyNTQyLCAxMjU0MiwgMTI1NDMsIDEyNTQ0LCAxMjU0NCwgMTI1NDUsIDEyNTQ1LAotIDEyNTQ2LCAxMjU0NiwgMTI1NDcsIDEyNTQ3LCAxMjU0OCwgMTI1NDgsIDEyNTQ5LCAxMjU0OSwgMTI1NTAsIDEyNTUxLCAxMjU1MSwKLSAxMjU1MiwgMTI1NTIsIDEyNTUzLCAxMjU1MywgMTI1NTQsIDEyNTU0LCAxMjU1NSwgMTI1NTYsIDEyNTU2LCAxMjU1NywgMTI1NTcsCi0gMTI1NTgsIDEyNTU4LCAxMjU1OSwgMTI1NTksIDEyNTYwLCAxMjU2MSwgMTI1NjEsIDEyNTYyLCAxMjU2MiwgMTI1NjMsIDEyNTYzLAotIDEyNTY0LCAxMjU2NCwgMTI1NjUsIDEyNTY1LCAxMjU2NiwgMTI1NjYsIDEyNTMyLCAxMjUzMiwgMTI0OTAsIDEyNDkwLCAxMjQ5MCwKLSAxMjQ4MiwgMTI0ODIsIDEyNDgyLCAxMjQ3NywgMTI0NzcsIDEyNDc3LCAxMjQ3MiwgMTI0NzIsIDEyNDcyLCA5ODYsIDk4OSwKLSA5OTcsIDEwMDAsIDk3NSwgNDgsIDU0MywgNzUwLCA0OSwgNzQ5LCAxMDA4LCAxMjU3MywgMTI1NzQsIDQwOSwgNDA4LCA0MDcsCi0gNDA2LCA0MDUsIDQwNCwgNDAzLCA0MDIsIDQwMSwgMzkzLCAyNTAsIDM4OCwgODI4LCA1MDcsIDI2MywgNDYyLCA1NDAsIDUzNiwKLSAyNDgsIDI0OSwgMjUxLCA1MzUsIDUyNiwgNTIzLCA1MTksIDUxOCwgNDQ4LCA1MTUsIDIzNSwgMjM3LCAyMzgsIDI0NSwgMjQ2LAotIDUwMiwgNDk1LCA0OTQsIDQ5MywgNDgyLCA0ODEsIDQ3NiwgNDc1LCA0NzQsIDQ3MCwgNzAxLCA0NjksIDQ1NywgNjMyLCAyMjksCi0gMjM2LCAyNDcsIDcxNSwgMjM0LCA2NzQsIDEwNDEsIDEwNDIsIDI2OCwgNjk0LCAzNjksIDQxMCwgNjIxLCAxMDE4LCAxMDE5LAotIDEwMjAsIDEwMjEsIDEwMjIsIDEwMjMsIDEwMjQsIDEwMjUsIDEwMjYsIDEyNTg3LCAxMjU4NiwgMTI1NzcsIDEyNTc4LCAxMjU3OSwKLSAxMjU4MCwgMTI1ODEsIDEyNTgyLCAxMjU4MywgMTI1ODQsIDEyNTg1LCA0MywgNDM3LCAyLCA4MzUsIDU5MSwgMTI1ODgsIDEyNTg5LAotIDEyNTkwLCA3NjUsIDk1MSwgMTU2NCwgNTk0LCAxMjU3NSwgMTI1NzYsIDM0MCwgNTEyLCA3NjMsIDc2NCwgMTA4NiwgMTI1OTEsCi0gMTI1OTIsIDEyNTkzLCAxMjU5NCwgMTI1OTUsIDEyNTk2LCAxMjU5NiwgMTY1OSwgMTY1OCwgMzQwLCAxNjU1LCA2NzQsIDY5NCwKLSAxNjQ3LCAxNjQ2LCAxNjQ1LCAxNjQ0LCAxNjQzLCA0NjIsIDE2MzksIDE2MzgsIDE2MjYsIDE2MjUsIDE2MjQsIDE2MjMsIDE2MjIsCi0gMTYyMSwgMTYyMCwgMTYxOSwgMTYxOCwgMTYxNywgMTYxMywgMTYxMiwgMTcwOCwgMTcwNywgMTY5OSwgMTY5OCwgMTY5NywgMTY5NiwKLSAxNjk1LCAxNjk0LCAxNjg4LCAxNjg3LCAxNjg2LCAxNjg1LCAxNjgwLCAxNjc5LCAxNjc4LCAxNjczLCAxNjcyLCAxNjcxLCAxNzM1LAotIDE3NDUsIDE3NDQsIDE3NDMsIDE3NDIsIDI2OCwgMTczOCwgMTI2MTAsIDEwNDEsIDEwNDIsIDE3MjYsIDE3MjUsIDE3MjQsIDE3MjMsCi0gMTcyMiwgMTcyMSwgMTcyMCwgOTk3LCAxMDAwLCA5ODYsIDk4OSwgMTAwOCwgMTc1OCwgMTc1NywgOTc1LCAxNzgxLCAxNzgwLAotIDU0MywgNjMyLCAxNzc1LCAxNzc0LCAxNzczLCAzNjksIDE3NzAsIDgzNSwgMTc2NywgMTI2MTcsIDEyNjE2LCAxNzkyLCAxMjYyNCwKLSAxMjYyNSwgMTI2MTgsIDEyNjE5LCAxMjYyMCwgMTI2MjEsIDEyNjIyLCAxMjYyMywgMTI2MTEsIDEyNjEyLCAxMjYxMywgMTI2MTQsCi0gMTI2MTUsIDExOTg1LCAxMjYwNSwgMTI2MDYsIDEyNjA3LCAxMjYwOCwgMTI2MDksIDEyNTk4LCAxMjU5OSwgMTI2MDAsIDEyNjAxLAotIDEyNjAyLCAxMjYwMywgMTI2MDQsIDE4MDUsIDEyNjMxLCAxODE0LCAxMjYzMywgNDc0LCA0NzUsIDQ3NiwgMTI2MzQsIDE4MTAsCi0gMTI2MzIsIDU5NCwgMTI2MzcsIDEyNjM4LCAxODI1LCAxODI0LCAxODM3LCAxODU3LCAxODUzLCAxODUyLCAxODQ3LCAxODQ2LAotIDE4NDUsIDE4NDIsIDEyNjQyLCAxMjY0MywgMTI2NDQsIDEyNjQ1LCAyMjksIDEyNjQxLCAxODc4LCAxODc3LCAxODc2LCAxODc1LAotIDE4NzQsIDE4NzEsIDE4NjgsIDE4ODksIDEwMjIsIDEwMjYsIDEwMTgsIDEwMTksIDEwMjAsIDEwMjEsIDQzNywgMTkwMiwgMTI2NTUsCi0gMTI2NTYsIDEyNjU0LCAxMjY1MiwgMTI2NTMsIDEyNjUxLCA1MDIsIDEyNjQ4LCAxMjY0OSwgMTI2NTAsIDE5MTUsIDEyNjYyLAotIDE5MzEsIDE5MjgsIDE5MjUsIDE5MjIsIDEyNjY0LCAxMjY2NSwgMTI2NjYsIDEyNjY3LCAxMjY2OCwgMTI2NjMsIDE5NDcsIDE5NDQsCi0gMTIsIDE5NjQsIDUyNiwgMTU2NCwgMTk3MiwgNTE4LCA1MTksIDYyMSwgODI4LCAxOTY5LCAyNDUsIDI0NywgMjQ4LCAyNDksCi0gMjUwLCAyNTEsIDQ0OCwgNTE1LCAxMjY3MywgMjM0LCAyMzUsIDIzNiwgMjM3LCAyMzgsIDM4OCwgNzE1LCAxOTU3LCAxOTU2LAotIDE5NTUsIDE5NTQsIDUxMiwgNzgyLCAxOTg4LCA3MiwgMTk4NSwgNzMsIDE5ODIsIDEwMjMsIDEwMjQsIDEwMjUsIDE5NSwgNTkxLAotIDIwNDksIDIwNDgsIDIwNDAsIDIwMzksIDIwMzgsIDIwMzcsIDIwMzYsIDIwMzUsIDk1MSwgMjAyOCwgMjAyNywgMjAyNiwgMTI2ODMsCi0gMjAyNCwgMjAxMywgMjAxMiwgMjAxMSwgMjAxMCwgMjAwOSwgMjAwOCwgMjAwNywgMjAwNiwgMjAwNSwgMzkzLCA3NDksIDc1MCwKLSA3NjUsIDE5OTksIDE5OTgsIDE5OTcsIDE5OTYsIDU0MCwgNzYyLCA3NjMsIDc2NCwgNzkxLCAxMDg2LCAyNjMsIDEyNjgwLCAxMjY4MSwKLSAxMjY4MiwgMTI2ODQsIDEyNjg1LCAxMjY4NiwgMTI2ODcsIDEyNjg4LCAxMjY4OSwgMTI2OTAsIDEyNjkxLCAxMTkwNywgMTI2NzQsCi0gMTI2NzUsIDEyNjc2LCAxMjY3NywgMTI2NzgsIDEyNjc5LCAxMTkwNSwgMTI2NzEsIDEyNjcyLCAxMjY2OSwgMTI2NzAsIDEyNjU3LAotIDEyNjU4LCAxMjY1OSwgMTI2NjAsIDEyNjYxLCAxMTkwNCwgMTI2NDYsIDEyNjQ3LCA0NTcsIDExOTAyLCAxMjYzOSwgMTI2NDAsCi0gMTE5MDEsIDExOTkzLCAxMjYzNSwgMTI2MzYsIDEyNjI2LCAxMjYyNywgMTI2MjgsIDEyNjI5LCAxMjYzMCwgMTYxMSwgMTI2OTIsCi0gMTI2OTMsIDEyNjk0LCAxMjY5NSwgMTI2OTYsIDEyNjk3LCAxMjY5OCwgMTI2OTksIDEyNzAwLCAxMjcwMSwgNzY1LCA4MzUsCi0gMTA4NiwgNzkxLCAzNDAsIDc4MiwgNzY0LCA1MTIsIDc2MiwgNzYzLCAxMjcwNCwgMTI3MDMsIDEyNzA1LCAxMjcwNiwgMTI3MDcsCi0gMzE0LCAxMjY1NCwgMTI3MDgsIDEyNzA5LCAxMjcxMCwgMTI3MTAsIDEyNzExLCAxMjcxMSwgMTI3MTIsIDEyNzEzLCAxMjcxMywKLSAxMjcwMiwgMTI3MDIsIDEyNTk3LCAxMjU5NywgODM1LCA4MzUsIDEyNzE3LCAxMjcxNywgMTI3MTgsIDEyNzE4LCAxMjcxOSwKLSAxMjcxOSwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDEyNzIxLCAxMjcyMSwgMTI3MjIsIDEyNzIyLCAxMjcyMywgMTI3MjMsCi0gMTE5MzcsIDEyNzI1LCAzNjksIDM2OSwgMTI3MjcsIDEyNzI3LCAxMjcyOCwgMTI3MjgsIDEyNzI5LCAxMjcyOSwgMTI3MzAsCi0gMTI3MzAsIDEyNzMxLCAxMjczMiwgMTI3MzMsIDEyNzMzLCAxMjcyNiwgMTI3MjYsIDExOTg3LCAxMTk4OCwgMTI3MzYsIDEyNzM3LAotIDEyNzM3LCAxMjczNywgMTI3MzgsIDEyNzM4LCAxMjczOCwgMjQ2LCAyNDYsIDI1MSwgMjUxLCA0NDgsIDQ0OCwgMTE5OTAsIDQ2OSwKLSA0NzAsIDI0NSwgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNDQ4LCA1MTUsIDUxMiwgNTQzLCAyNjMsIDUzNSwgNTM2LAotIDExOTk4LCAxMjc0NywgMTI3NDgsIDExOTA5LCAxMTkwNiwgMTE5MDcsIDExOTk1LCAxMjc0NSwgMTI3NDYsIDExOTAxLCAxMTk5MiwKLSAxMjc0NCwgMTI3NDMsIDEyNzQwLCAxMjc0MSwgMTI3NDIsIDEyNzQwLCAxMjc0MSwgMTI3NDIsIDQzNywgNDM3LCAxMjc1NCwKLSAxMjc1NCwgMTI3NTUsIDEyNzU1LCAxMjc1NiwgMTI3NTYsIDExODYxLCAxMTg2MSwgMTI3NTgsIDEyNzU4LCAxMjc1OSwgMTI3NTksCi0gMTI3NjAsIDEyNzYwLCAxMjc2MSwgMTI3NjEsIDEyNzYyLCAxMjc2MiwgMTI3NjMsIDEyNzYzLCAxMjc2NCwgMTI3NjQsIDEyNzY1LAotIDEyNzY1LCAxMjc2NiwgMTI3NjYsIDMxNCwgMzE0LCAxMjc2OCwgMTI3NjgsIDEyNzY5LCAxMjc2OSwgMTI3NjcsIDEyNzY3LAotIDEyNzMxLCAxMjc3MiwgMTI3NzIsIDEyNDk4LCAxMjQ5OCwgMTI3NzQsIDEyNzc0LCAxMjc3NSwgMTI3NzUsIDEyNzc2LCAxMjc3NiwKLSA2MjEsIDYyMSwgMTI3NzcsIDEyNzc3LCA1OTEsIDU5MSwgMTI3NzgsIDEyNzc5LCAxMjc4MCwgMTI3NzgsIDEyNzc5LCAxMjc4MCwKLSAxMjc4MSwgMTI3ODEsIDU0MywgNTQzLCAxMTk1OSwgNjQzLCA2NDMsIDEyNzg0LCAxMjc4NCwgMTI3ODUsIDEyNzg1LCAxMjc4NiwKLSAxMjc4NiwgMTI3ODcsIDEyNzg3LCAxMjc4OCwgMTI3ODgsIDEyNzg5LCAxMjc4OSwgMTI3OTAsIDEyNzkwLCAxMjc5MSwgMTI3OTEsCi0gMTI3OTIsIDEyNzkyLCAxMjc5MywgMTI3OTMsIDEyNzk0LCAxMjc5NCwgMTI3OTUsIDEyNzk1LCAxMjc5NiwgMTI3OTYsIDExNzIyLAotIDExNzIyLCAxMjc5OCwgMTI3OTgsIDEyNzk5LCAxMjc5OSwgMTI4MDAsIDEyODAwLCAxMjgwMSwgMTI4MDEsIDEyNzk3LCAxMjc5NywKLSA3MTUsIDcxNSwgMTI4MDQsIDEyODA0LCAxMjgwNSwgMTI4MDUsIDEyMDAyLCAxMjAwNCwgMTIwMDUsIDEyMDA2LCAxMjAwMCwKLSAxMjAwMSwgMTIwMDMsIDEyODA2LCAxMjgwNiwgMTE5NzgsIDExOTc4LCA3NjcsIDc2NywgMTI4MDksIDEyODA5LCAxMjgxMCwKLSAxMjgxMCwgMTI4MTEsIDEyODExLCAxMjgxMiwgMTI4MTIsIDEyODEzLCAxMjgxMywgNzgyLCA3ODIsIDEyODE1LCAxMjgxNSwKLSAxMjgxNiwgMTI4MTYsIDc5MSwgNzkxLCAxMjgxOCwgMTI4MTgsIDEyODE5LCAxMjgxOSwgMTI4MjAsIDEyODIwLCAxMjgyMSwKLSAxMjgyMSwgMTI4MTcsIDEyODE3LCAxMjgxNCwgMTI4MTQsIDExODg5LCAxMTg4OSwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsCi0gMTI4MjIsIDEyODIzLCAxMjgyNCwgMTI4MjUsIDEyODIyLCAxMjgyMywgMTI4MjQsIDEyODI1LCAxMjgyNiwgMTI4MjYsIDEyODI3LAotIDEyODI3LCAxMjgyOCwgMTI4MjgsIDEyMDMyLCAxMjAzMiwgMTI4MzAsIDEyODMwLCAxMjgzMSwgMTI4MjksIDEyODI5LCAxMjAzOSwKLSAxMjgzMiwgMTI4MzMsIDEyODMzLCAxMjgzNCwgMTI4MzQsIDEyODA3LCAxMjgwOCwgMTI4MDcsIDEyODA4LCA4MjgsIDgyOCwKLSAxMjgzNywgMTIwNTQsIDEyMDU0LCAxMjgzOCwgMTI4MzgsIDUwNywgNTA3LCAxMjg0MSwgMTI4NDEsIDEyODQyLCAxMjg0MiwKLSAxMjg0MywgMTI4NDMsIDEyODQ0LCAxMjg0NCwgMTI4NDUsIDEyODQ1LCAxMjg0NiwgMTIwNjcsIDEyMDY3LCAxMjg0OCwgMTI4NDgsCi0gMTI4NDksIDEyODQ5LCAxMjg1MCwgMTI4NTAsIDEyODUxLCAxMjg1MSwgMTI4NTIsIDEyODUyLCAyMzQsIDIzNCwgMTI4NTQsCi0gMTI4NTQsIDEyODU1LCAxMjg1NSwgMTI4NTYsIDEyODU2LCAxMjg1NywgMTI4NTcsIDEyODU4LCAxMjg1OCwgMTI4NTksIDEyODU5LAotIDEyODYwLCAxMjg2MCwgMTI4NjEsIDEyODYxLCAxMjg2MiwgMTI4NjIsIDEyODYzLCAxMjg2MywgMTI4NjQsIDEyODY0LCAyNDcsCi0gMjQ3LCAxMjg2NiwgMTI4NjYsIDEyODY3LCAxMjg2NywgMTI4NjgsIDEyODY4LCAxMjg2OSwgMTI4NjksIDEyODcwLCAxMjg3MCwKLSAxMjg3MSwgMTI4NzEsIDEyODcyLCAxMjg3MiwgMTI4NzMsIDEyODczLCAxMjg3NCwgMTI4NzQsIDEyODc1LCAxMjg3NSwgMTI4NzYsCi0gMTI4NjUsIDEyODUzLCAxMjg1MywgMTI4NzcsIDEyODc4LCAxMjg3OSwgMTI4NzksIDEyODQ3LCAxMjg4MCwgMTI4ODEsIDEyMTAyLAotIDEyMTAyLCA5NTEsIDk1MSwgMTI4ODMsIDEyODgzLCAxMjg4NCwgMTI4ODQsIDEyODg1LCAxMjg4NSwgMTI4ODYsIDEyODg2LAotIDEyODg3LCAxMjg4NywgMTIxMTIsIDEyMTEyLCA5NzUsIDk3NSwgMTI4OTAsIDEyODkwLCAxMjg5MSwgMTI4OTEsIDEyODkyLAotIDEyODkyLCA5ODksIDk4OSwgOTg2LCA5ODYsIDEyODk0LCAxMjg5NSwgMTI4OTQsIDEyODk1LCAxMDAwLCAxMDAwLCA5OTcsIDk5NywKLSAxMjg5NywgMTI4OTgsIDEyODk3LCAxMjg5OCwgMTI4OTksIDEyODk2LCAxMDA4LCAxMjkwMCwgMTI5MDEsIDEyOTAyLCAxMjkwMiwKLSAxMjg5MywgMTI4OTMsIDEyMTMxLCAxMjEzMSwgMTI5MDUsIDEyOTA1LCAxMjkwNiwgMTI5MDYsIDEyOTA3LCAxMjkwNywgMTI5MDgsCi0gMTI5MDgsIDEyOTA5LCAxMjEzOCwgMTI5MTAsIDEyOTExLCAxMjkxMSwgMTI5MTIsIDEyOTEyLCAxMjkxMywgMTI5MTMsIDEyOTE0LAotIDEyOTE0LCAxMjkxNSwgMTI5MTUsIDEyOTE2LCAxMjkxNiwgMTI5MDMsIDEyOTA0LCAxMjkwMywgMTI5MDQsIDEyODg5LCAxMjg4OSwKLSAxMjg4OCwgMTI4ODgsIDEyODgyLCAxMjg4MiwgMTI4MzksIDEyODQwLCAxMjgzOSwgMTI4NDAsIDEyODM1LCAxMjgzNiwgMTI4MzUsCi0gMTI4MzYsIDEyODAyLCAxMjgwMiwgMTI4MDMsIDEyODAzLCAxMjc4MywgMTI3ODMsIDEyNzgyLCAxMjc4MiwgMTI3NzMsIDEyNzczLAotIDEyNzcwLCAxMjc3MSwgMTI3NzAsIDEyNzcxLCAxMDg2LCAxMDg2LCAxMjkyOSwgMTI5MjksIDEyOTMwLCAxMjkzMCwgMTI5MzEsCi0gMTI5MzEsIDEyOTMyLCAxMjkzMiwgMTI5MzMsIDEyOTMzLCAxMjkxNywgMTI5MTgsIDEyOTE5LCAxMjkyMCwgMTI5MjEsIDEyOTIyLAotIDEyOTIzLCAxMjkyNCwgMTI5MjUsIDEyOTI2LCAxMjkyNywgMTI5MjgsIDEyOTE3LCAxMjkxOCwgMTI5MTksIDEyOTIwLCAxMjkyMSwKLSAxMjkyMiwgMTI5MjMsIDEyOTI0LCAxMjkyNSwgMTI5MjYsIDEyOTI3LCAxMjkyOCwgMTI3NTcsIDEyNzU3LCAxMTkxMywgMTE5MTQsCi0gMTE5MTUsIDEyMDAyLCAxMjAwNiwgMTI3NTAsIDEyNzQ5LCAxMjc1MSwgMTI3NTIsIDEyNzUzLCAxMjczOSwgMTI3MzksIDEyNzM5LAotIDEyMDI4LCAxMjkzOSwgMTI5NDAsIDEyOTQxLCAxMjk0MiwgMTE0ODksIDExNDg5LCAxMjk0NCwgMTI5NDQsIDEyOTQ1LCAxMjk0NSwKLSA1NDMsIDU0MywgNTQzLCAxMTk1OSwgMTI5NDMsIDEyODAyLCAxMjgwNSwgMTI4MDUsIDExOTgwLCA5MiwgMjIzLCA4NCwgODUsCi0gODYsIDg3LCA4OCwgODksIDkwLCA5MSwgMjIyLCAyLCAyMjAsIDIyMSwgMTksIDgxLCA4MiwgODMsIDgwLCA2OSwgMjE4LCAyMTksCi0gNCwgNzQsIDIxMiwgNzUsIDM2LCA0NywgNzYsIDc3LCAyMTMsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCA3OCwgNzksIDE0LAotIDE1LCAxNiwgMTcsIDE4LCAzOSwgOTQsIDIxNCwgMjE1LCAyMTYsIDIxNywgNDQsIDQ5LCA1NSwgMTg2LCAxODcsIDE4OCwgMTg5LAotIDE5MCwgMTkxLCAxOTIsIDE5MywgMzcsIDE5NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywKLSAyMDQsIDIwNSwgMjA2LCAyMDcsIDQwLCA0NSwgNTIsIDY4LCAyMDgsIDIwOSwgMjEwLCAyMTEsIDMsIDQxLCA0MiwgNDMsIDQ4LAotIDcxLCA2LCA3MiwgNzMsIDEyOTcxLCAxMjk3MiwgMTI5NzMsIDEyOTc0LCAxMjk3NSwgMTI5NzYsIDEyOTc3LCAxMjk3OCwgMTI5NjQsCi0gMTI5NjUsIDEyOTY2LCAxMjk2NywgMTI5NjgsIDEyOTY5LCAxMjk3MCwgMTI5NjEsIDEyOTYyLCAxMjk2MywgMTI5NjAsIDEyOTU4LAotIDEyOTU5LCAxMjk1NiwgMTI5NTcsIDEyOTUyLCAxMjk1MywgMTI5NTQsIDEyOTU1LCAxMjk1MCwgMTI5NTEsIDE2NCwgMTY1LAotIDUwLCAxNjYsIDM4LCA1NiwgMTY3LCAxNjgsIDE2OSwgMTcwLCAxNzEsIDcwLCAxNzIsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LAotIDE3OCwgMTc5LCAxODAsIDE4MSwgMTgyLCAxODMsIDE4NCwgMTg1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsCi0gMTUzLCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNjUsIDY2LCA2NywgMTU0LCAxNTUsIDE1NiwgMTU3LCAxNTgsIDE1OSwKLSAxNjAsIDE2MSwgMTYyLCAxNjMsIDEzNCwgMTM1LCAxMzYsIDEzNywgOTUsIDEzOCwgNTEsIDUzLCAxMzksIDE0MCwgMTQxLCAxNDIsCi0gMTQzLCAxNDQsIDE0NSwgMzEsIDMyLCAzMCwgMzMsIDM0LCAxMjcsIDEyOCwgMjAsIDkzLCAxMjksIDEzMCwgMTMxLCA1NywgMTMyLAotIDQ2LCAxMzMsIDEzMDA1LCAxMzAwNiwgMTMwMDcsIDEzMDA4LCAxMzAwMCwgMTMwMDEsIDEzMDAyLCAxMzAwMywgMTMwMDQsIDEyOTk0LAotIDEyOTk1LCAxMjk5NiwgMTI5OTcsIDEyOTk4LCAxMjk5OSwgMTI5ODcsIDEyOTg4LCAxMjk4OSwgMTI5OTAsIDEyOTkxLCAxMjk5MiwKLSAxMjk5MywgMTI2LCAxMTksIDEyMCwgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDEzMDE0LCAxMzAxNSwgMTMwMTYsIDEzMDE3LAotIDEzMDEzLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExMSwgMjEsIDI1LCAyNiwgMjcsIDI4LCAyOSwgNTQsCi0gMTMwMjYsIDEzMDI0LCAxMzAyNSwgMTMwMjMsIDEzMDIwLCAxMzAyMSwgMTMwMjIsIDExMCwgMTMwMzEsIDEwNywgMTA4LCAxMDksCi0gMjIsIDIzLCAyNCwgMTMwMzYsIDEzMDMzLCAxMzAzNCwgMTMwMzUsIDEzMDM3LCAxMzAzOCwgMTMwMzIsIDEzMDI3LCAxMzAyOCwKLSAxMzAyOSwgMTMwMzAsIDEzMDE4LCAxMzAxOSwgMTMwMDksIDEzMDEwLCAxMzAxMSwgMTMwMTIsIDEyOTc5LCAxMjk4MCwgMTI5ODEsCi0gMTI5ODIsIDEyOTgzLCAxMjk4NCwgMTI5ODUsIDEyOTg2LCAxMDYsIDEzMDQ1LCAxMDQsIDEwNSwgMzUsIDEzMDQ4LCAxMzA0NywKLSAxMDMsIDEzMDUxLCAxMzA1MiwgMTMwNDksIDEzMDUwLCAxMzA0NiwgMTAyLCAxMzA1NiwgMTAxLCAxMzA1OCwgMTMwNTksIDEzMDU3LAotIDUsIDEzMDYyLCAxMzA2MywgMTAwLCAxMzA2NSwgMTMwNjYsIDk5LCAxMzA2OCwgMSwgOTYsIDk3LCA5OCwgMTMwNzAsIDEzMDcxLAotIDEzMDcyLCAxMzA3MywgMTMwNzQsIDEzMDY5LCAxMzA3NSwgMTMwNzYsIDEzMDY3LCAxMzA2NCwgMTMwNjAsIDEzMDYxLCAxMzA1MywKLSAxMzA1NCwgMTMwNTUsIDEzMDM5LCAxMzA0MCwgMTMwNDEsIDEzMDQyLCAxMzA0MywgMTMwNDQsIDEzMDc3LCAxMzA3OCwgMTMwNzksCi0gMTMwODAsIDEzMDgxLCAxMzA4MiwgMTMwODMsIDEzMDgzLCAxMzA4MywgMTMwODQsIDEzMDg0LCAxMzA4NCwgMTMwODUsIDEzMDg1LAotIDEzMDg1LCAxMTk5OCwgMTI3NDgsIDEzMDg2LCAxMzA4NiwgMTMwODYsIDEyNjkyLCAxMjY5MywgMTI2OTQsIDEyNjk1LCAxMjY5NiwKLSAxMjY5NywgMTI2OTgsIDEyNjk5LCAxMjcwMCwgMTYxMSwgMTI5NDksIDEyOTQ5LCAxMjk0OSwgMTMwODcsIDEyNzUwLCAxMTkxMywKLSAxMjAwMiwgMTE5MTQsIDExOTE1LCAxMjAwNCwgMTIwMDUsIDEyMDA2LCAxMzA4OCwgMTMwODgsIDEzMDg4LCAxMzA4OSwgMTI1OTYsCi0gMTI1OTYsIDk3NSwgMTMwOTIsIDEzMDkzLCAxMzA5MywgMTMwOTMsIDEzMDk0LCAxMzA5NCwgMTMwOTQsIDEzMDk1LCAxMzA5NSwKLSAxMzA5NSwgMTMwOTYsIDEzMDk3LCAxMzA5OCwgMTMwOTksIDEwNDEsIDEzMTAxLCAxMzEwMiwgMTMxMDIsIDEzMTAzLCAxMzEwMywKLSAxMzEwNCwgMTMxMDQsIDEzMTA1LCAxMzEwNSwgMTMxMDYsIDEzMTA2LCAxMzEwNywgMTMxMDgsIDEzMTA5LCAxMzExMCwgMTMxMTEsCi0gMTMxMTIsIDEzMTEyLCAxMzExMywgMTMxMTMsIDEzMTE0LCAxMzExNCwgMTMxMTUsIDEzMTE1LCAxMzEwMiwgMTMxMDIsIDEzMTE3LAotIDEzMTE3LCAxMzExOCwgMTMxMTgsIDEzMTE5LCAxMzExOSwgMTMxMjAsIDEzMTIwLCAxMzEyMSwgMTMxMjIsIDEzMTIzLCAxMzEyNCwKLSAxMzEyNSwgMTMxMjYsIDEzMTI2LCAxMzEyNywgMTMxMjcsIDEzMTI4LCAxMzEyOCwgMTMxMjksIDEzMTI5LCAxMzEzMCwgMTMxMzAsCi0gMTMxMTYsIDEzMTE2LCAxMzEzMSwgMTMxMzEsIDEzMTMyLCAxMzEzMywgMTMxMzMsIDEzMTMzLCAxMDQyLCAxMzEzNSwgMTMxMzYsCi0gMTMxMzYsIDEzMTM3LCAxMzEzNywgMTMxMzgsIDEzMTM4LCAxMzEzOSwgMTMxMzksIDEzMTQwLCAxMzE0MCwgMTMxNDEsIDEzMTQyLAotIDEzMTQyLCAxMzE0MywgMTMxNDMsIDEzMTQ0LCAxMzE0NCwgMTMxNDUsIDEzMTQ1LCAxMzEzNiwgMTMxMzYsIDEzMTQ3LCAxMzE0NywKLSAxMzE0OCwgMTMxNDgsIDEzMTQ5LCAxMzE0OSwgMTMxNTAsIDEzMTUwLCAxMzE1MSwgMTMxNTIsIDEzMTUyLCAxMzE1MywgMTMxNTMsCi0gMTMxNTQsIDEzMTU0LCAxMzE1NSwgMTMxNTUsIDEzMTU2LCAxMzE1NiwgMTMxNDYsIDEzMTQ2LCAxMzE1NywgMTMxNTcsIDEzMTU4LAotIDEzMTU5LCAxMzE1OSwgMTMxNTksIDQzLCAxMzE2MCwgNDQsIDc1MCwgNzQ5LCAxMzEzNCwgMzQwLCA3NjMsIDc2NCwgNzY1LAotIDc4MiwgNzkxLCAxMDg2LCAxMzE2MSwgMTMxNjIsIDEzMTYzLCAxMzE2NCwgMTMxNjUsIDEzMTY2LCAxMzEwMCwgMTI3MTAsIDEyNzEwLAotIDMxMSwgMTMxNzAsIDEzMTcxLCAxMzE3MiwgMTMxNzMsIDEzMTc0LCAxMzE3NCwgMTMxNzQsIDEzMTc0LCAxMzE3NiwgMTMxNzYsCi0gMTMxNzUsIDEzMTc1LCAxMzE3NywgMTMxNzcsIDEzMTc4LCAxMzE3OSwgMTMxODAsIDUxMiwgMTMxODIsIDEzMTgzLCAxMzE4NCwKLSA3NjIsIDEzMTg2LCAxMzE4NywgMTMxODgsIDc2MywgMTMxOTAsIDEzMTkxLCAxMzE5MiwgNzY0LCAxMzE5NCwgMTMxOTUsIDEzMTk2LAotIDEwODYsIDEzMTk4LCAxMzE5OSwgMTMyMDAsIDM0MCwgMTMyMDIsIDEzMjAzLCAxMzIwNCwgNzgyLCAxMzIwNiwgMTMyMDcsIDEzMjA4LAotIDEyNzA0LCAxMzIxMCwgMTMyMTEsIDc2NSwgMTMyMTMsIDEzMjE0LCAxMzIxNSwgNDAsIDEzMjE2LCA0OCwgMTMyMTIsIDQ5LAotIDEzMjA5LCA1MCwgMTMyMDUsIDMsIDEzMjAxLCA0MSwgMTMxOTcsIDQyLCAxMzE5MywgNDMsIDEzMTg5LCA0NCwgNzUwLCAxMzE4NSwKLSAxMzIxNywgMTMyMTgsIDEzMjE5LCAxMzIyMCwgMTMyMjEsIDEzMjIyLCAxMzIyMywgMTMyMjQsIDEzMjI1LCAxMzIyNiwgMTMyMjcsCi0gMTMyMjgsIDEzMjI5LCAxMzE4MSwgMzE0LCAzMTQsIDMxNCwgMTMyMzIsIDEzMjMyLCAxMzIzMiwgMTMyMzMsIDEzMjM0LCAxMzIzNSwKLSAxMzIzMCwgMTMyMzEsIDEzMTY3LCAxMzE2OCwgMTMxNjksIDEzMTY5LCAxMzIzNiwgMTMyMzcsIDEzMjM4LCAxMzIzOSwgMTMyMzksCi0gMTMyMzksIDEzMDkxLCAxMzA5MSwgMTMwOTAsIDEzMDkwLCAxMzA5MCwgODI4LCA4MjgsIDgyOCwgMTMyNDMsIDgzNSwgODM1LAotIDEzMjQ1LCAxMzI0NSwgMTMyNDYsIDEzMjQ2LCAxMzI0NCwgODM1LCAxMzI0OSwgMTMyNTAsIDEzMjUxLCA4MzUsIDgzNSwgMTMyNTMsCi0gMTMyNTQsIDEzMjU1LCAxMzI1NiwgMTMyNTcsIDEzMjU4LCAxMzI1OSwgMTMyNjAsIDEzMjYxLCAxMzI2MiwgMTMyNjIsIDEzMjYyLAotIDEzMjUyLCAxMzI2NCwgMTMyNjQsIDEzMjYzLCAxMzI2NCwgMTMyNDcsIDEzMjQ4LCAxMzI0NywgMTMyNDgsIDEzMjQ4LCA3NTAsCi0gMTMyNjcsIDEzMjY4LCAxMzI2OCwgMTMyNjksIDEzMjY5LCA1MTIsIDc2MiwgNzYzLCA3NjQsIDc2NSwgMTMyNjcsIDEzMjcxLAotIDEzMjcxLCAxMzI3MiwgMTMyNzIsIDEzMjczLCAxMzI3MywgMTMyNzAsIDEzMjcwLCA5NTEsIDk1MSwgMTMyNzYsIDEzMjc2LAotIDk1MSwgOTUxLCAxMzI3OCwgMTMyNzgsIDEzMjc5LCAxMzI3OSwgMTMyNzcsIDEzMjc3LCAxMzI4MCwgMTMyODAsIDEzMjgxLAotIDEyNzQ3LCAxMzI4MiwgMTMyODIsIDEzMjgyLCAxMzI4MywgMTMyODQsIDM4OCwgMzg4LCAxMzI4NiwgMTMyODYsIDEzMjg3LAotIDEzMjg3LCAxMzI4OCwgMTMyODgsIDEzMjg5LCAxMzI5MCwgMTMyOTEsIDEzMjkyLCAxMzI5MywgMTMyOTQsIDEzMjk0LCAxMzI5NSwKLSAxMzI5NSwgMTMyOTYsIDEzMjk2LCAxMzI5NywgMTMyOTcsIDEzMjk4LCAxMzI5OCwgMTMyOTksIDEzMjk5LCAxMzMwMCwgMTMzMDAsCi0gMTMzMDEsIDEzMzAxLCAxMzMwMiwgMTMzMDIsIDM4OCwgMzg4LCAxMzMwNCwgMTMzMDQsIDEzMzA1LCAxMzMwNSwgMTMzMDYsCi0gMTMzMDYsIDEzMzA3LCAxMzMwOCwgMTMzMDksIDEzMzEwLCAxMzMxMSwgMTMzMTIsIDEzMzEyLCAxMzMxMywgMTMzMTMsIDEzMzE0LAotIDEzMzE0LCAxMzMxNSwgMTMzMTUsIDEzMzE2LCAxMzMxNiwgMTMzMTcsIDEzMzE3LCAxMzMxOCwgMTMzMTgsIDEzMzE5LCAxMzMxOSwKLSAxMzMyMCwgMTMzMjAsIDEzMzIxLCAxMzMyMSwgMTMzMDMsIDEzMzAzLCAxMzMyMywgMTMzMjIsIDEzMzIzLCAxMzMyNCwgMTMzMjQsCi0gMTMzMjQsIDEzMzI1LCAxMjEwNiwgMTMzMjcsIDEzMzI3LCAxMzMyOCwgMTMzMjgsIDEyODg1LCAxMzMzMCwgMTMzMzAsIDEzMzMxLAotIDEzMzMxLCAxMzMzMiwgMTMzMzIsIDEzMzI5LCAxMzMyOSwgMTIxMTIsIDEzMzM1LCAxMzMzNSwgMTMzMzUsIDk3NSwgMTMwOTIsCi0gMTE4ODYsIDExODg2LCAxMTg4NiwgMTMzMzgsIDEzMzM4LCAxMzMzOCwgMTMzMzksIDEzMzM5LCAxMzMzOSwgOTg5LCA5ODksCi0gOTg5LCA5ODYsIDk4NiwgOTg2LCAxMzM0MSwgMTMzNDEsIDEzMzQxLCAxMzM0MiwgMTMzNDIsIDEzMzQyLCAxMzM0MSwgMTMzNDIsCi0gMTMzNDEsIDEzMzQyLCAxMzM0MSwgMTMzNDIsIDEzMzQzLCAxMDAwLCAxMDAwLCAxMDAwLCA5OTcsIDk5NywgOTk3LCAxMzM0NSwKLSAxMzM0NSwgMTMzNDUsIDEzMzQ2LCAxMzM0NiwgMTMzNDYsIDEzMzQ1LCAxMzM0NiwgMTMzNDUsIDEzMzQ2LCAxMzM0NSwgMTMzNDYsCi0gMTMzNDcsIDEzMzQ4LCAxMzM0NCwgMTAwOCwgMTMzNDksIDEzMzUwLCAxMDA4LCAxMzM0OSwgMTMzNTAsIDEzMzUxLCAxMzM1MiwKLSAxMzM1MiwgMTMzNTIsIDIsIDEzMzQwLCAxMzMzNywgMTMzMzcsIDEzMzM3LCAxMzI4MywgMTIxMzgsIDEzMzU2LCAxMzM1NywKLSAxMzM1NywgMTMzNTgsIDEzMzU4LCAxMzM1OSwgMTMzNTksIDEzMzYwLCAxMzM2MCwgMTMzNjEsIDEzMzYxLCAxMzM1NywgMTMzNTcsCi0gMTMzNjMsIDEzMzYzLCAxMzM2NCwgMTMzNjQsIDEzMzY1LCAxMzM2NSwgMTMzNjYsIDEzMzY2LCAyNTEsIDI1MCwgMjQ5LCAyNDgsCi0gMjQ3LCAyNDYsIDI0NSwgNSwgMTMzNjksIDEzMzcwLCAxMzM3MSwgMTMzNzIsIDEzMzczLCAxMzM3NCwgMTMzNzUsIDEzMzc2LAotIDEzMzc3LCAxMzM3OCwgMTMzNzksIDEzMzgwLCAxMzM4MSwgMTMzODIsIDEzMzgzLCAxMzM4NCwgMTMzODUsIDEzMzg2LCAxMzM4NywKLSAxMzM4OCwgMTMzODksIDEzMzkwLCAxMzM5MSwgMTMzOTIsIDEzMzkzLCAxMzM5NCwgMTMzOTUsIDEzMzk2LCAxMzM5NywgMTMzOTgsCi0gMTMzOTksIDEzNDAwLCAxMzQwMSwgMTM0MDIsIDEzNDAzLCAxMzQwNCwgMTM0MDUsIDEzNDA2LCAxMzQwNywgMTM0MDgsIDEzNDA5LAotIDEzNDEwLCAxMzQxMSwgMTM0MTIsIDEzNDEzLCAxMzQxNCwgMTM0MTUsIDEzNDE2LCAxMzQxNywgMTM0MTgsIDIyNCwgMjI1LAotIDEzNDIxLCAxMzQyMiwgMjI2LCAxMzQyNCwgMTM0MjUsIDIyOCwgMTM0MjcsIDEzNDI4LCAxMzQyOSwgMTM0MzAsIDEzNDMxLAotIDEzNDMyLCAxMzQzMywgMTM0MzQsIDEzNDM1LCAxMzQzNiwgMTM0MzcsIDEzNDM4LCAxMzQzOSwgMTM0NDAsIDEzNDQxLCAxMzQ0MiwKLSAxMzQ0MywgMTM0NDQsIDEzMzY4LCAxMTkwOSwgMTMzNjcsIDEzMzY3LCAxMzM2MiwgMTMzNjIsIDEzMzUzLCAxMzM1NCwgMTMzNTUsCi0gMTMzNTMsIDEzMzU0LCAxMzM1MywgMTMzNTQsIDEzMzU1LCAxMzM1NSwgMTMzMzYsIDEzMzM2LCAxMzMzNiwgMTMzMzMsIDEzMzMzLAotIDEzMzM0LCA2NzQsIDExNzI1LCAxMTcyNSwgNjc0LCAxMjgwMCwgMTI4MDAsIDEzMzI2LCAxMzMyNiwgMTMzMjYsIDEzMjg1LAotIDEzMjg1LCAxMzI4NSwgNzY1LCA3NjQsIDc2MywgNzYyLCA1MTIsIDEzMjc0LCAxMzI3NCwgMTMyNzUsIDEzMjY1LCAxMzI2NiwKLSAxMzI2NSwgMTMyNjUsIDEzMjY2LCAxMzI2NiwgMTMyNDAsIDEzMjQyLCAxMzI0MSwgMTMyNDAsIDEzMjQwLCAxMzI0MiwgMTMyNDEsCi0gMTMyNDIsIDEyOTQ4LCAxMjgyMSwgMTI5NDgsIDEyODIxLCAxMjk0NiwgMTI5NDcsIDEyOTQ2LCAxMjk0NywgMTI5NDcsIDEyOTM0LAotIDEyOTM1LCAxMjkzNywgMTI5MzYsIDEyOTM4LCAxMjkzNCwgMTI5MzUsIDEyOTM3LCAxMjkzNiwgMTI5MzgsIDEyOTM3LCAxMjkzOCwKLSAxMjczNCwgMTI3MzQsIDEyNzM1LCA1MTIsIDc2MiwgNzYzLCA3NjQsIDc2NSwgMTI3MjQsIDEyNzI0LCAxMjcyMCwgMTI3MjAsCi0gMTI3MTQsIDEyNzE1LCAxMjcxNiwgMTI3MTQsIDEyNzE1LCAxMjcxNiwgMTI1NjgsIDEyNTY5LCAxMjU3MCwgMTI1NzEsIDEyNTcyLAotIDEyNTY3LCAxMjU2OSwgMTI1NjgsIDEyNTY5LCAxMjU3MCwgMTI1NzEsIDEyNTcyLCAxMjU3MCwgMTI1NzEsIDEyNTcyLCAxMjE2MiwKLSAxMjE2MywgMTIxNjQsIDEyMTY1LCAxMjE2MiwgMTIxNjMsIDEyMTY0LCAxMjE2NSwgMTE4ODgsIDExODg5LCAxMTg4OSwgMTE4ODcsCi0gMTE4OTEsIDExODkwLCAxMTg4NywgMTE4ODcsIDExODkxLCAxMTg5MCwgMTE4OTEsIDExODkyLCAxMTgyMSwgMTE4MjEsIDExODEyLAotIDExODEzLCAxMTgxNCwgMTE4MTIsIDExODEzLCAxMTgxNCwgMTE4MDIsIDExODAyLCAxMTgwMCwgMTE4MDAsIDY3NCwgMTE3OTYsCi0gMTE3OTYsIDExNzk2LCAxMTE0MywgMTExNDMsIDExNzg5LCAxMTc4OSwgMTE3NjgsIDExNzY4LCA1MTIsIDc2MiwgNzYzLCA3NjQsCi0gNzY1LCAxMTc2MiwgMTE3NjIsIDExNzU3LCAxMTc1OCwgMTE3NTcsIDExNzU4LCAxMTczOCwgMTE3MzgsIDExNzI5LCAxMTcyOSwKLSAxMTcyOCwgMTE3MjgsIDExNzMwLCAxMTczMSwgMTE3MzIsIDExNzMwLCAxMTczMSwgMTE3MzIsIDExNDkyLCAxMTQ5MiwgMTE0OTMsCi0gMTExNzgsIDExNDkzLCAxMTE3OCwgMTE0ODcsIDExNDg4LCAxMTQ4NywgMTE0ODgsIDExNDc0LCAxMTQ3NSwgMTE0NzYsIDExNDc3LAotIDExNDc4LCAxMTQ3NCwgMTE0NzUsIDExNDc2LCAxMTQ3NywgMTE0NzgsIDExMjk0LCAxMTI5NSwgMTEyOTYsIDExMjk3LCAxMTI5OCwKLSAxMTI5NCwgMTEyOTUsIDExMjk2LCAxMTI5NywgMTEyOTgsIDExMDczLCAxMTA3MywgMTEwNjQsIDExMDY0LCAxMTA2MywgMTEwNjUsCi0gMTEwNjYsIDExMDYzLCAxMTA2NSwgMTEwNjYsIDI4MzAsIDI4MzMsIDExMDI2LCAyNjI0LCAyODA1LCAyODA2LCAyODA3LCAyODA4LAotIDI4MDksIDI4MTAsIDI4MTEsIDI4MTIsIDI4MTMsIDI4MTQsIDI4MTUsIDI4MTYsIDI4MTcsIDI4MTgsIDI4MTksIDI4MjAsIDI4MjEsCi0gMjYyNCwgMjgwNSwgMjgwNiwgMjgwNywgMjgwOCwgMjgwOSwgMjgxMCwgMjgxMSwgMjgxMiwgMjgxMywgMjgxNCwgMjgxNSwgMjgxNiwKLSAyODE3LCAyODE4LCAyODE5LCAyODIwLCAyODIxLCA2OTAsIDI4MjIsIDkyMCwgMSwgMjI3LCAyMjYsIDEzNDg5LCAxMzQ5MCwKLSAxMzQ5MSwgMTM0OTIsIDEzNDkzLCAxMzQ5NSwgMTM0OTcsIDEzNDk5Ci19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciAgICBsYWJlbF9hcnJheVtdID0gewotIDB4RkUsIDB4RjksIDB4RjgsIDB4RjQsIDB4RTcsIDB4RTYsIDB4RTQsIDB4RTMsIDB4RTIsIDB4RDksIDB4RDcsIDB4RDQsIDB4RDMsCi0gMHhEMiwgMHhEMSwgMHhDOSwgMHhDOCwgMHhDNywgMHhDNSwgMHhDMywgMHhDMiwgMHhDMSwgMHhCNywgMHhCNiwgMHhCNCwgMHhCMywKLSAweEFCLCAweEE3LCAweEE2LCAweEE0LCAweEEzLCAweEEyLCAweDlCLCAweDk5LCAweDk3LCAweDk0LCAweDkzLCAweDkyLCAweDkxLAotIDB4ODksIDB4ODgsIDB4ODcsIDB4ODUsIDB4ODMsIDB4ODIsIDB4ODEsIDB4NzgsIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzIsCi0gMHg3MSwgMHg3MCwgMHg2RCwgMHg2QywgMHg2QiwgMHg2QSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywKLSAweDYyLCAweDYxLCAweDU4LCAweDU3LCAweDU1LCAweDU0LCAweDUzLCAweDUyLCAweDUwLCAweDRELCAweDRDLCAweDRCLCAweDRBLAotIDB4NDksIDB4NDgsIDB4NDcsIDB4NDUsIDB4NDMsIDB4NDIsIDB4NDEsIDB4MzksIDB4MzgsIDB4MzQsIDB4MUIsIDB4MDAsIDB4RkUsCi0gMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHgwMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDM1LCAweDMyLCAweDMxLCAweDMwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgzOSwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgzNSwgMHgzNiwgMHgwMCwgMHgwMCwKLSAweDM0LCAweDAwLCAweDMwLCAweDAwLCAweDAwLCAweDQ3LCAweDY3LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDY5LCAweDQ5LAotIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsCi0gMHg2NSwgMHg0NSwgMHgwMCwgMHgyRCwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg2MSwgMHg0MSwKLSAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDc0LCAweDU0LCAweDAwLAotIDB4NzMsIDB4NTMsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsIDB4NkYsIDB4NEYsCi0gMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzNiwgMHgwMCwgMHgzOSwgMHgwMCwKLSAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDM0LCAweDAwLCAweDJFLCAweDAwLCAweDMzLCAweDAwLCAweDc4LCAweDU4LCAweDAwLAotIDB4NUYsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4MDAsIDB4NDMsIDB4NjMsIDB4MDAsIDB4NjksCi0gMHg0OSwgMHgwMCwgMHg2MiwgMHg0MiwgMHgwMCwgMHg2MSwgMHg0MSwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgzOCwKLSAweDAwLCAweDMwLCAweDAwLCAweDM3LCAweDAwLCAweDJELCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDAwLCAweDQzLCAweDYzLAotIDB4NkQsIDB4NEQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NTIsIDB4NzIsIDB4NzMsIDB4NkUsIDB4NjQsIDB4NTMsIDB4NEUsCi0gMHg0NCwgMHgwMCwgMHgwMCwgMHg1MywgMHg3MywgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2QiwKLSAweDRCLCAweDAwLCAweDY4LCAweDQ4LCAweDAwLCAweDJELCAweDAwLCAweDM1LCAweDAwLCAweDY3LCAweDQ3LCAweDAwLCAweDY5LAotIDB4NDksIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MDAsCi0gMHgzOSwgMHgzOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LAotIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzEsCi0gMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwKLSAweDAwLCAweDQ1LCAweDY1LCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDZFLCAweDRFLCAweDAwLAotIDB4NjksIDB4NDksIDB4MDAsIDB4MDAsIDB4NTIsIDB4NzIsIDB4NTIsIDB4NzIsIDB4NTMsIDB4NzMsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHg2OSwgMHg2NywgMHg2MSwgMHg0OSwgMHg0NywgMHg0MSwgMHgwMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgzMywgMHgzMSwgMHgzMCwKLSAweDAwLCAweDAwLCAweDM2LCAweDAwLCAweDMyLCAweDAwLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDMzLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgzNywgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNywgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM0LCAweDMzLCAweDMwLCAweDAwLCAweDMzLCAweDMyLCAweDAwLCAweDAwLCAweDMwLAotIDB4MDAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4MzksCi0gMHgzOCwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMSwKLSAweDMwLCAweDAwLCAweDAwLCAweDMwLCAweDAwLCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MDAsCi0gMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMywgMHgzMSwgMHgzMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLAotIDB4MzAsIDB4MzksIDB4MzIsIDB4MzEsIDB4MkQsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NjEsIDB4NDEsCi0gMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwKLSAweDczLCAweDUzLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDYyLCAweDQyLCAweDAwLCAweDZGLCAweDRGLCAweDYzLCAweDQzLAotIDB4MDAsIDB4MDAsIDB4NTMsIDB4NzMsIDB4NjQsIDB4NDQsIDB4MzUsIDB4MDAsIDB4NjcsIDB4NDcsIDB4MDAsIDB4NjksIDB4NDksCi0gMHgwMCwgMHgwMCwgMHg1MiwgMHg3MiwgMHgwMCwgMHgwMCwgMHg0NSwgMHg2NSwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2NSwKLSAweDQ1LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDcwLCAweDUwLCAweDAwLCAweDYxLCAweDQxLAotIDB4MDAsIDB4NkEsIDB4NEEsIDB4MDAsIDB4NTQsIDB4NzQsIDB4MDAsIDB4NkQsIDB4NEQsIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsCi0gMHg2NCwgMHg0NCwgMHgwMCwgMHg2QiwgMHg0QiwgMHgwMCwgMHgwMCwgMHg0OCwgMHg2OCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg1NCwKLSAweDc0LCAweDRCLCAweDZCLCAweDcwLCAweDUwLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDAwLAotIDB4MzIsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzMsIDB4MDAsIDB4NEIsIDB4NkIsIDB4MzIsIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsCi0gMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QiwgMHg0QiwgMHgwMCwKLSAweDYxLCAweDQxLCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZCLCAweDRCLCAweDAwLCAweDY4LAotIDB4NDgsIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzcsIDB4NTcsCi0gMHgwMCwgMHg2NiwgMHg0NiwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwKLSAweDYxLCAweDQxLCAweDAwLCAweDZELCAweDRELCAweDAwLCAweDRGLCAweDZGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDAwLAotIDB4NTAsIDB4NzAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4MzksIDB4MDAsIDB4NkQsIDB4NEQsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MDAsCi0gMHgzNCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzNywgMHgzMywgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywKLSAweDMyLCAweDM3LCAweDM1LCAweDMxLCAweDM5LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDMwLCAweDM4LCAweDM0LCAweDAwLAotIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzUsIDB4MzMsIDB4MDAsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsCi0gMHg2OSwgMHg0OSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2OCwgMHg0OCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDM1LCAweDMwLCAweDU0LCAweDc0LCAweDMyLCAweDMxLCAweDM5LCAweDM4LCAweDM0LCAweDAwLCAweDAwLCAweDZELAotIDB4NjIsIDB4NEQsIDB4NDIsIDB4MzAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzMsIDB4MDAsCi0gMHgzMiwgMHgwMCwgMHg2MiwgMHg0MiwgMHgwMCwgMHg2NywgMHg0NywgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM1LCAweDMzLCAweDAwLCAweDMxLCAweDAwLCAweDM5LCAweDAwLCAweDM1LCAweDAwLCAweDM4LCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkMsIDB4NEMsCi0gMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3OSwgMHg1OSwgMHgwMCwKLSAweDAwLCAweDRCLCAweDZCLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDcyLCAweDUyLCAweDAwLAotIDB4MDAsIDB4NTcsIDB4NzcsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsCi0gMHg0NSwgMHg2NSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMSwgMHgzNSwgMHgzNCwKLSAweDMzLCAweDMyLCAweDY4LCAweDY3LCAweDYzLCAweDYxLCAweDQ4LCAweDQ3LCAweDQzLCAweDQxLCAweDAwLCAweDZFLCAweDRFLAotIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NkMsCi0gMHg0QywgMHgzOCwgMHgzNSwgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHgwMCwgMHg3MywgMHg2MiwgMHg1MywgMHg0MiwgMHgwMCwKLSAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDM4LCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDAwLCAweDM3LCAweDAwLCAweDM4LAotIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzUsIDB4MDAsCi0gMHg2MywgMHg0MywgMHgwMCwgMHgwMCwgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwgMHg0MywgMHg2MywgMHgwMCwgMHg2OSwgMHg0OSwKLSAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDYyLCAweDQyLCAweDAwLAotIDB4MzUsIDB4MDAsIDB4MzcsIDB4NEMsIDB4NkMsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjcsCi0gMHg0NywgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2OSwgMHg0OSwKLSAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDZELCAweDRELCAweDAwLAotIDB4MzAsIDB4NTcsIDB4NzcsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsCi0gMHg2NSwgMHg0NSwgMHgwMCwgMHg2OCwgMHg0OCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwKLSAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDMyLCAweDAwLCAweDM0LCAweDAwLCAweDY1LAotIDB4NDUsIDB4MDAsIDB4NjcsIDB4NDcsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NzAsIDB4NTAsIDB4MDAsIDB4NjUsIDB4NDUsCi0gMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg2MywgMHg0MywgMHgzNiwgMHgzNSwKLSAweDMyLCAweDAwLCAweDM1LCAweDAwLCAweDM4LCAweDAwLCAweDAwLCAweDAwLCAweDcwLCAweDUwLCAweDM4LCAweDM3LCAweDAwLAotIDB4NjMsIDB4NDMsIDB4MDAsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkEsIDB4NEEsIDB4MDAsCi0gMHg1NCwgMHg3NCwgMHgwMCwgMHg2NiwgMHg0NiwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2OCwgMHg0OCwgMHgzMCwgMHgwMCwKLSAweDMyLCAweDAwLCAweDM2LCAweDAwLCAweDUzLCAweDczLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDAwLCAweDQ1LCAweDY1LAotIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsCi0gMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgwMCwgMHg0QywgMHg2QywgMHg0MiwgMHg2MiwKLSAweDAwLCAweDM2LCAweDAwLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDAwLCAweDRDLAotIDB4NkMsIDB4NDIsIDB4NjIsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzMsIDB4MzEsIDB4MDAsCi0gMHg2NiwgMHg0NiwgMHgwMCwgMHgwMCwgMHg3NCwgMHg2RSwgMHg1NCwgMHg0RSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzIsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgzMSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwKLSAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDMxLAotIDB4MzMsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4NzcsIDB4NTcsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjQsIDB4NDQsCi0gMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcwLCAweDZCLCAweDY5LCAweDY4LAotIDB4NjcsIDB4NjUsIDB4NjIsIDB4NjEsIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsIDB4NTAsIDB4NEIsIDB4NDksIDB4NDgsIDB4NDcsCi0gMHg0NSwgMHg0MiwgMHg0MSwgMHgwMCwgMHgwMCwgMHg0MywgMHg2MywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2QywgMHg0QywKLSAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4NzksIDB4NzMsIDB4NzAsIDB4NjgsIDB4NjMsIDB4NTksIDB4NTMsIDB4NTAsIDB4NDgsIDB4NDMsIDB4MzEsIDB4MzIsCi0gMHgwMCwgMHg3MiwgMHg1MiwgMHg0NSwgMHg2NSwgMHg0MSwgMHg2MSwgMHg0OCwgMHg2OCwgMHg0QiwgMHg2QiwgMHg1MywgMHg3MywKLSAweDQ5LCAweDY5LCAweDUyLCAweDcyLCAweDQyLCAweDYyLCAweDUyLCAweDcyLCAweDQ1LCAweDY1LCAweDU0LCAweDc0LCAweDUzLAotIDB4NzMsIDB4NEMsIDB4NkMsIDB4NEYsIDB4NkYsIDB4NDUsIDB4NjUsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NjUsIDB4NDUsCi0gMHgwMCwgMHg2RiwgMHg0RiwgMHg0NSwgMHg2NSwgMHg1MiwgMHg3MiwgMHg1MywgMHg3MywgMHg1NCwgMHg3NCwgMHg1NSwgMHg3NSwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzksIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzIsIDB4NkUsIDB4NjksIDB4NjgsIDB4NjcsCi0gMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywgMHg2MiwgMHg2MSwgMHg1OSwgMHg1NywgMHg1NSwgMHg1NCwgMHg1MywgMHg1MiwgMHg0RSwKLSAweDQ5LCAweDQ4LCAweDQ3LCAweDQ2LCAweDQ1LCAweDQ0LCAweDQzLCAweDQyLCAweDQxLCAweDAwLCAweDJELCAweDQzLCAweDYzLAotIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsCi0gMHg3MiwgMHg1MiwgMHgwMCwgMHgwMCwgMHg3OSwgMHg3MCwgMHg1OSwgMHg1MCwgMHg0RiwgMHg2RiwgMHgwMCwgMHg3MiwgMHg1MiwKLSAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDJCLCAweDAwLCAweDMzLCAweDAwLCAweDM3LCAweDAwLAotIDB4MzIsIDB4MDAsIDB4MkQsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsCi0gMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzNywgMHgwMCwgMHgzNywgMHgwMCwgMHgzMiwgMHgwMCwgMHgyRCwgMHgwMCwgMHgwMCwKLSAweDRCLCAweDZCLCAweDY1LCAweDQ1LCAweDRGLCAweDZGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLAotIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MkQsIDB4MDAsCi0gMHg3MywgMHg1MywgMHg0RiwgMHg2RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwKLSAweDAwLCAweDJCLCAweDAwLCAweDM4LCAweDAwLCAweDM3LCAweDAwLCAweDMyLCAweDAwLCAweDJELCAweDRGLCAweDZGLCAweDAwLAotIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzcsIDB4MDAsCi0gMHgzOSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgyRCwgMHgwMCwgMHgwMCwgMHg0OSwgMHg2OSwgMHg3MiwgMHg1MiwgMHg0RiwgMHg2RiwKLSAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDJCLCAweDAwLCAweDM1LAotIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NjIsIDB4NDIsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsCi0gMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwKLSAweDAwLCAweDM1LCAweDAwLCAweDJELCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZFLCAweDRFLAotIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsCi0gMHg2RSwgMHg0RSwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg3NCwgMHg1NCwgMHg0RiwgMHg2RiwKLSAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDJCLCAweDAwLCAweDMxLAotIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MkQsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzUsCi0gMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgzMiwgMHgwMCwKLSAweDJELCAweDAwLCAweDAwLCAweDAwLCAweDc0LCAweDczLCAweDZFLCAweDU0LCAweDUzLCAweDRFLCAweDQxLCAweDYxLCAweDAwLAotIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkIsIDB4NEIsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NzAsIDB4NTAsCi0gMHg0RiwgMHg2RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyRCwKLSAweDAwLCAweDJELCAweDAwLCAweDM5LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LAotIDB4MDAsIDB4NjEsIDB4NDEsIDB4NkYsIDB4NEYsIDB4NjUsIDB4NDUsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsCi0gMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzNywgMHgwMCwgMHgzMywgMHgwMCwgMHgyRCwKLSAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4NzUsIDB4NzMsIDB4NkUsIDB4NkMsIDB4NkEsIDB4NjksIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NTUsCi0gMHg1MywgMHg0RSwgMHg0QywgMHg0QSwgMHg0OSwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHgwMCwgMHgwMCwgMHgyRCwKLSAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDYzLCAweDQzLCAweDM0LAotIDB4MzgsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkQsIDB4NEQsCi0gMHgzOCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzOSwgMHgwMCwgMHg1RiwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2RiwgMHg0RiwKLSAweDRFLCAweDZFLCAweDUwLCAweDcwLCAweDNFLCAweDAwLCAweDY4LCAweDQ4LCAweDAwLCAweDAwLCAweDAwLCAweDc0LCAweDZCLAotIDB4NkEsIDB4NjMsIDB4NTQsIDB4NEIsIDB4NEEsIDB4NDMsIDB4MDAsIDB4NzQsIDB4NTQsIDB4MkQsIDB4MDAsIDB4NjMsIDB4NDMsCi0gMHg1RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHg2NiwgMHg0NiwgMHgwMCwgMHg1RiwgMHgwMCwKLSAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZELCAweDRELCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDZGLAotIDB4NEYsIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsIDB4NUYsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsCi0gMHg2QiwgMHg0QiwgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg3MCwgMHg1MCwgMHgwMCwgMHg1RiwKLSAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDYzLCAweDQzLCAweDAwLAotIDB4NUYsIDB4MDAsIDB4NzgsIDB4NTgsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NzUsIDB4NTUsCi0gMHgwMCwgMHg1RiwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RSwKLSAweDRFLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDc4LAotIDB4NzUsIDB4NkMsIDB4NjMsIDB4NjIsIDB4NTgsIDB4NTUsIDB4NEMsIDB4NDMsIDB4NDIsIDB4MkQsIDB4MDAsIDB4MzIsIDB4MDAsCi0gMHgzMSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMiwgMHgwMCwgMHg0QiwgMHg2QiwgMHg1RiwgMHgzMiwgMHgwMCwgMHgzOCwgMHgwMCwKLSAweDZCLCAweDRCLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDAwLCAweDcyLCAweDYyLCAweDUyLAotIDB4NDIsIDB4MkQsIDB4MDAsIDB4NzAsIDB4NjUsIDB4NTAsIDB4NDUsIDB4MzAsIDB4MzMsIDB4MzQsIDB4MzgsIDB4MzksIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgzOSwgMHgzNiwgMHgzMSwgMHgzMCwgMHgwMCwgMHgzMywgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM4LCAweDMyLCAweDM3LCAweDM1LCAweDMxLCAweDMwLCAweDM5LCAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMxLCAweDMwLAotIDB4MzMsIDB4MzYsIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzAsIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzksIDB4MzMsIDB4MzcsIDB4MzYsCi0gMHgzNSwgMHgzOSwgMHgzOCwgMHgzMCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzNCwgMHgzNCwgMHgzMiwgMHgzMCwgMHgzMywgMHgzMSwKLSAweDM2LCAweDM1LCAweDM3LCAweDM4LCAweDM5LCAweDMwLCAweDMzLCAweDMxLCAweDMyLCAweDM2LCAweDM5LCAweDM3LCAweDM0LAotIDB4MzAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwKLSAweDMxLCAweDMwLCAweDMxLCAweDMwLCAweDMyLCAweDAwLCAweDMwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LAotIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsCi0gMHgzOCwgMHgzNiwgMHgwMCwgMHgzNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzNCwgMHgzNywgMHgzNiwgMHgzOCwKLSAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZFLCAweDRFLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4MzYsIDB4MzcsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgzNywgMHgzNiwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LAotIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzUsCi0gMHgzNCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzMywgMHgzMiwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDMzLCAweDMyLCAweDMwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsCi0gMHgzNCwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM0LCAweDM2LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDMxLCAweDMzLCAweDM4LCAweDMzLCAweDM1LCAweDAwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzAsCi0gMHgzMiwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMSwgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDM2LCAweDM1LCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDMzLAotIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzMsIDB4MzAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzMSwgMHgwMCwgMHgzMiwgMHgzOCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwKLSAweDMzLCAweDM0LCAweDAwLCAweDAwLCAweDM1LCAweDMzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM2LAotIDB4MzgsIDB4MzMsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzNCwgMHgwMCwKLSAweDM1LCAweDAwLCAweDMzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDMzLCAweDMyLCAweDMxLCAweDMwLAotIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MzksCi0gMHgwMCwgMHgzMCwgMHgwMCwgMHgzNSwgMHgzNCwgMHgzMCwgMHgzNywgMHgwMCwgMHgwMCwgMHgzOSwgMHgzNywgMHgzOCwgMHgzNSwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDMxLCAweDMwLCAweDMyLCAweDAwLCAweDMyLCAweDAwLCAweDM3LCAweDAwLCAweDAwLAotIDB4MzcsIDB4MzYsIDB4MzMsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzcsIDB4MzksIDB4MDAsIDB4MDAsIDB4MzgsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMywgMHgzMiwgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM1LCAweDMwLCAweDAwLCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDM2LCAweDM1LCAweDM0LAotIDB4MDAsIDB4MDAsIDB4MzIsIDB4MzksIDB4MzMsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDMwLCAweDM1LCAweDMzLCAweDMyLCAweDAwLCAweDAwLCAweDMzLCAweDAwLCAweDMyLCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzgsIDB4MDAsIDB4MzcsIDB4MDAsCi0gMHgwMCwgMHgzNSwgMHgwMCwgMHgzNCwgMHgwMCwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzNCwKLSAweDMzLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDMyLCAweDAwLCAweDM1LCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDMxLAotIDB4MDAsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgzMiwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzMCwKLSAweDAwLCAweDAwLCAweDM3LCAweDAwLCAweDAwLCAweDM3LCAweDMzLCAweDMyLCAweDM5LCAweDMzLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzcsIDB4MzUsIDB4MzIsCi0gMHgzMSwgMHgzMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzOSwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwKLSAweDMwLCAweDM4LCAweDM0LCAweDMxLCAweDAwLCAweDAwLCAweDMxLCAweDMwLCAweDM0LCAweDM4LCAweDM1LCAweDAwLCAweDAwLAotIDB4MzEsIDB4MzcsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzksIDB4MzcsIDB4MzYsCi0gMHgzNSwgMHgzMywgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwKLSAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweDM0LCAweDM2LCAweDM1LCAweDMzLCAweDM4LCAweDM2LCAweDM0LCAweDMzLCAweDMyLAotIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzMsIDB4MzEsIDB4MzAsCi0gMHgzOCwgMHgzNywgMHgzNiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LAotIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMywgMHgzOSwgMHgzNywgMHgzNiwgMHgzNCwgMHgzMiwgMHgwMCwgMHgwMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LAotIDB4MzYsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDc0LCAweDU0LCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MzAsIDB4MzAsIDB4MzcsCi0gMHgwMCwgMHgwMCwgMHgzMywgMHgzMCwgMHgzNiwgMHgzOCwgMHgzNywgMHgzMywgMHgzNSwgMHgzNCwgMHgzMCwgMHgzNywgMHgzMCwKLSAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDM1LCAweDMwLCAweDMxLCAweDM3LCAweDAwLCAweDAwLAotIDB4MzYsIDB4MzAsIDB4MzQsIDB4MzMsIDB4MzAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzIsIDB4MzAsIDB4MDAsIDB4MzAsCi0gMHgzMCwgMHgzNywgMHgzNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzMywgMHgzMiwgMHgzOSwgMHgzMywgMHgzOCwgMHgzMywKLSAweDM1LCAweDM2LCAweDM3LCAweDM3LCAweDM1LCAweDMyLCAweDMxLCAweDMwLCAweDM4LCAweDM5LCAweDM2LCAweDM1LCAweDMzLAotIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzgsIDB4MzQsIDB4MzQsIDB4MzgsIDB4MzEsIDB4MzAsIDB4MzUsIDB4MzAsIDB4MzcsIDB4MzEsCi0gMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwKLSAweDMzLCAweDMxLCAweDM0LCAweDM1LCAweDMzLCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDM2LCAweDM4LCAweDMwLCAweDMzLAotIDB4MzEsIDB4MzQsIDB4MzIsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzAsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsCi0gMHgzOCwgMHgzOSwgMHgzMywgMHgzMiwgMHgzNCwgMHgzNiwgMHgzNywgMHgzOSwgMHgzMCwgMHgzMSwgMHgzNiwgMHgzNywgMHgzOCwKLSAweDM5LCAweDM0LCAweDM1LCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LAotIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMCwgMHgzOCwgMHgzOSwgMHgzMCwKLSAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDM2LCAweDM1LCAweDM3LCAweDM3LAotIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzYsIDB4MzEsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzgsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzMiwgMHgzNCwKLSAweDM1LCAweDMyLCAweDMzLCAweDM5LCAweDMwLCAweDMyLCAweDMzLCAweDM3LCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LAotIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzAsIDB4MzQsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzOCwKLSAweDMzLCAweDMxLCAweDM1LCAweDMzLCAweDMwLCAweDMyLCAweDMxLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LAotIDB4MzYsIDB4MzUsIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzcsCi0gMHgzNSwgMHgzMywgMHgzMCwgMHgzMywgMHgzNCwgMHgzNSwgMHgzMywgMHgzNiwgMHgzMywgMHgzMCwgMHgzMSwgMHgzOCwgMHgzMiwKLSAweDM5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzYsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzAsIDB4MzUsCi0gMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzMywKLSAweDM2LCAweDM1LCAweDMwLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDM1LCAweDMzLCAweDMyLAotIDB4MzMsIDB4MDAsIDB4MzIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsCi0gMHgzOCwgMHgwMCwgMHgzNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzMywgMHgzMSwgMHgzMCwgMHgzMiwgMHgwMCwKLSAweDMxLCAweDAwLCAweDM2LCAweDMwLCAweDM2LCAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweDM2LCAweDM1LCAweDMzLCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgzOSwgMHgzOCwgMHgzNSwgMHgzNCwgMHgzMSwgMHgzMCwgMHgzOCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzNywgMHgzMSwKLSAweDM0LCAweDAwLCAweDMyLCAweDM4LCAweDAwLCAweDM4LCAweDAwLCAweDAwLCAweDM0LCAweDMxLCAweDM0LCAweDAwLCAweDM1LAotIDB4MDAsIDB4MzMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MzMsIDB4MzIsIDB4MzYsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzUsCi0gMHgzOSwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgwMCwgMHgzOCwgMHgzNSwgMHgzMiwgMHgwMCwgMHgzMiwgMHgwMCwKLSAweDM3LCAweDAwLCAweDMzLCAweDM1LCAweDAwLCAweDM0LCAweDAwLCAweDMzLCAweDAwLCAweDM3LCAweDMyLCAweDAwLCAweDM1LAotIDB4MDAsIDB4MzksIDB4MzEsIDB4MzQsIDB4MzUsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzMsIDB4MzIsCi0gMHgzMSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgzMiwgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAweDM2LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDY5LCAweDQ5LCAweDAwLAotIDB4NzMsIDB4NTMsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MzksIDB4MzgsIDB4MzcsCi0gMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgyRCwgMHgwMCwgMHg2RCwgMHg0RCwgMHgzMiwgMHgwMCwgMHgyRCwKLSAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDJELCAweDAwLCAweDM2LAotIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzAsIDB4MzEsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsCi0gMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHgyRCwKLSAweDAwLCAweDMxLCAweDAwLCAweDJFLCAweDAwLCAweDMzLCAweDAwLCAweDJELCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDc3LAotIDB4NTcsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksCi0gMHgwMCwgMHg3NywgMHg1NywgMHgwMCwgMHgwMCwgMHgzNSwgMHgzMywgMHgyRCwgMHgzMiwgMHgwMCwgMHgyRCwgMHgwMCwgMHg2RSwKLSAweDRFLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZDLCAweDRDLAotIDB4MDAsIDB4MkQsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4NzcsIDB4NTcsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjQsCi0gMHg0NCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NywgMHg1NywgMHgwMCwgMHgwMCwgMHgyRCwKLSAweDAwLCAweDAwLCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDM0LCAweDMzLCAweDM1LCAweDMyLCAweDMxLCAweDAwLCAweDJELAotIDB4MDAsIDB4MzksIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzgsIDB4MzAsIDB4MzksIDB4MzEsIDB4MzAsIDB4MzcsIDB4MzYsIDB4MzgsCi0gMHgzOCwgMHgzOSwgMHgzNCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMywgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwKLSAweDAwLCAweDM2LCAweDM1LCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDAwLCAweDAwLCAweDY5LAotIDB4NDksIDB4MzgsIDB4MzEsIDB4NTMsIDB4NzMsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4MkQsIDB4MDAsIDB4MzYsIDB4MDAsCi0gMHgzNCwgMHgzMSwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzQSwgMHgwMCwgMHg3NiwgMHg1NiwKLSAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDJFLCAweDAwLCAweDM2LCAweDAwLCAweDM0LCAweDM3LAotIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzUsIDB4M0EsIDB4MzcsIDB4MDAsIDB4MzgsCi0gMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzQSwgMHgzOCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgzOSwgMHgwMCwKLSAweDMxLCAweDAwLCAweDAwLCAweDNBLCAweDM4LCAweDAwLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDAwLAotIDB4M0EsIDB4MzgsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4M0EsIDB4MzcsIDB4MDAsCi0gMHgzOCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzQSwgMHgzNywgMHgwMCwgMHgzOCwgMHgwMCwgMHgzOSwKLSAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDNBLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDNBLAotIDB4MzksIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4M0EsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywKLSAweDMyLCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDM5LCAweDAwLCAweDM1LCAweDAwLCAweDM4LCAweDAwLCAweDAwLCAweDM4LAotIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NUYsIDB4MzYsIDB4MkQsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4MDAsIDB4MDAsCi0gMHg3MywgMHg2MiwgMHg2MSwgMHg1MywgMHg0MiwgMHg0MSwgMHgzMSwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwKLSAweDAwLCAweDU4LCAweDc4LCAweDAwLCAweDVGLCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDY5LCAweDQ5LCAweDJELCAweDAwLAotIDB4MzgsIDB4NEUsIDB4NkUsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NzIsIDB4NjksCi0gMHg1MiwgMHg0OSwgMHgzMSwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgzNSwgMHgwMCwgMHg1RiwgMHgzOSwgMHgzNywKLSAweDAwLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDMxLCAweDAwLCAweDMwLCAweDAwLAotIDB4MzYsIDB4MDAsIDB4MzUsIDB4MDAsIDB4NUYsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4MDAsIDB4NjMsIDB4NUYsIDB4NDMsCi0gMHgwMCwgMHgwMCwgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwgMHgzOSwgMHgwMCwgMHgzMSwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwKLSAweDJELCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLAotIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzMsIDB4NDksIDB4NjksIDB4MDAsIDB4NkEsIDB4NEEsIDB4MDAsIDB4NkUsCi0gMHg0RSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QiwgMHg0QiwgMHgwMCwgMHgwMCwgMHgzOSwgMHg1RiwgMHgwMCwgMHg3MywKLSAweDUzLCAweDZGLCAweDRGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLAotIDB4MkIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsCi0gMHg2MSwgMHg0MSwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NywgMHg0NywgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwKLSAweDQ5LCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDZDLCAweDRDLAotIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NkQsIDB4NEQsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NjMsIDB4NDMsIDB4NkYsIDB4NEYsCi0gMHgzOCwgMHg1RiwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2NiwgMHg0NiwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2OCwKLSAweDQ4LCAweDJELCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDY5LCAweDQ5LCAweDMyLCAweDJELCAweDAwLCAweDczLCAweDUzLAotIDB4NzMsIDB4NTMsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4MDAsIDB4MkQsIDB4NkMsIDB4NjIsIDB4NEMsIDB4NDIsIDB4MkQsCi0gMHgwMCwgMHgzNiwgMHg2QywgMHg2MiwgMHg0QywgMHg0MiwgMHgyRCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzMywKLSAweDMxLCAweDAwLCAweDM4LCAweDMzLCAweDMxLCAweDJELCAweDAwLCAweDY2LCAweDQ2LCAweDAwLCAweDAwLCAweDAwLCAweDc0LAotIDB4NzMsIDB4NjMsIDB4NTQsIDB4NTMsIDB4NDMsIDB4MzksIDB4MzEsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsCi0gMHg3NywgMHg1NywgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwKLSAweDQ5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsCi0gMHgzMCwgMHgzMSwgMHgzMiwgMHgzNSwgMHgzNywgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNSwgMHgzNiwKLSAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM1LCAweDM2LCAweDQyLCAweDI4LCAweDM0LCAweDQyLCAweDI4LCAweDFCLAotIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDcsIDB4NjcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwKLSAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY1LAotIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDc0LAotIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwKLSAweDI4LCAweDM4LCAweDQyLCAweDI4LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM4LCAweDM2LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3OCwKLSAweDU4LCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLAotIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4NDMsIDB4NjMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHg0OSwgMHg2OSwgMHg0MiwKLSAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LAotIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHg0MywgMHg2MywgMHg2RCwgMHg0RCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg1MiwKLSAweDcyLCAweDczLCAweDZFLCAweDY0LCAweDUzLCAweDRFLCAweDQ0LCAweDQyLCAweDI4LCAweDUzLCAweDczLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwKLSAweDQyLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDM4LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwKLSAweDM3LCAweDM4LCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LAotIDB4MUIsIDB4MUIsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHg0NSwKLSAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4NTIsIDB4NzIsIDB4NDIsCi0gMHgyOCwgMHg1MiwgMHg3MiwgMHg0MiwgMHgyOCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg2OSwKLSAweDY3LCAweDYxLCAweDQ5LCAweDQ3LCAweDQxLCAweDQyLCAweDI4LCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDMxLAotIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsCi0gMHgyOCwgMHgzMywgMHgzOCwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzNCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzNywgMHg0MiwKLSAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDQyLCAweDI4LCAweDM3LCAweDQyLCAweDI4LCAweDFCLAotIDB4MzYsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzMsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4MzIsIDB4NDIsIDB4MjgsCi0gMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwKLSAweDI4LCAweDM5LCAweDQyLCAweDI4LCAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM1LCAweDM2LCAweDM5LCAweDM4LCAweDM0LAotIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzMSwgMHg0MiwgMHgyOCwgMHgzNCwKLSAweDMzLCAweDM1LCAweDQyLCAweDI4LCAweDM4LCAweDQyLCAweDI4LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAotIDB4MzMsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMCwgMHgzOSwgMHgzMiwgMHgzMSwgMHgyRCwgMHg0MiwKLSAweDI4LCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwKLSAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDQyLCAweDI4LCAweDFCLCAweDZGLAotIDB4NEYsIDB4NDIsIDB4MjgsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NTMsIDB4NzMsIDB4NjQsIDB4NDQsCi0gMHg0MiwgMHgyOCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwKLSAweDQyLCAweDI4LCAweDUyLCAweDcyLCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MCwgMHg1MCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwKLSAweDI4LCAweDFCLCAweDZBLCAweDRBLCAweDQyLCAweDI4LCAweDFCLCAweDU0LCAweDc0LCAweDQyLCAweDI4LCAweDFCLCAweDZELAotIDB4NEQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2QiwgMHg0QiwgMHg0MiwgMHgyOCwgMHg0OCwgMHg2OCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg1NCwKLSAweDc0LCAweDRCLCAweDZCLCAweDcwLCAweDUwLCAweDQyLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLAotIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg0QiwgMHg2QiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwKLSAweDQxLCAweDYxLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsCi0gMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QiwgMHg0QiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDY4LCAweDQ4LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2NiwgMHg0NiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCi0gMHg1MCwgMHg3MCwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwKLSAweDQyLCAweDI4LCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLAotIDB4MjgsIDB4MzMsIDB4MzgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MzIsCi0gMHg0MiwgMHgyOCwgMHgzMSwgMHgzNSwgMHgzNywgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMywgMHgzNSwgMHgzNiwgMHgzOSwKLSAweDM4LCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDQyLCAweDI4LAotIDB4MzMsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDksIDB4NjksIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDM1LCAweDMwLCAweDU0LCAweDc0LCAweDMyLCAweDMxLCAweDM5LCAweDM4LCAweDM0LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MUIsIDB4NkQsIDB4NjIsIDB4NEQsIDB4NDIsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywKLSAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDQyLCAweDI4LCAweDFCLCAweDY3LAotIDB4NDcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzMsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwKLSAweDI4LCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDQzLCAweDYzLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksCi0gMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3OSwgMHg1OSwgMHg0MiwgMHgyOCwKLSAweDRCLCAweDZCLCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4NTcsIDB4NzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LAotIDB4NjgsIDB4NjcsIDB4NjMsIDB4NjEsIDB4NDgsIDB4NDcsIDB4NDMsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDZDLCAweDRDLCAweDM4LCAweDM1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzMsIDB4NjIsIDB4NTMsIDB4NDIsIDB4NDIsIDB4MjgsCi0gMHg1MiwgMHg3MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwKLSAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MywKLSAweDZGLCAweDUzLCAweDRGLCAweDQyLCAweDI4LCAweDQzLCAweDYzLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsCi0gMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDM3LCAweDQyLCAweDI4LCAweDRDLCAweDZDLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLAotIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsCi0gMHgyOCwgMHg1NywgMHg3NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwKLSAweDQyLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLAotIDB4NjgsIDB4NDgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywKLSAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDY1LAotIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg3MCwgMHg1MCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwKLSAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDYzLCAweDQzLCAweDM2LAotIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3MCwgMHg1MCwgMHgzOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywKLSAweDQyLCAweDI4LCAweDUzLCAweDczLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDZBLAotIDB4NEEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NTQsIDB4NzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0MiwgMHgyOCwgMHgzMCwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDUzLCAweDczLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4NDUsIDB4NjUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLAotIDB4NEMsIDB4NkMsIDB4NDIsIDB4NjIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsIDB4NDUsIDB4NjUsIDB4NDIsCi0gMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHg0QywgMHg2QywgMHg0MiwgMHg2MiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM4LCAweDMzLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDY2LAotIDB4NDYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzQsIDB4NkUsIDB4NTQsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsCi0gMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDMxLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDMxLCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDFCLCAweDc3LCAweDU3LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsCi0gMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcwLCAweDZCLAotIDB4NjksIDB4NjgsIDB4NjcsIDB4NjUsIDB4NjIsIDB4NjEsIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsIDB4NTAsIDB4NEIsIDB4NDksCi0gMHg0OCwgMHg0NywgMHg0NSwgMHg0MiwgMHg0MSwgMHg0MiwgMHgyOCwgMHg0MywgMHg2MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHg3OSwgMHg3MywgMHg3MCwgMHg2OCwgMHg2MywgMHg1OSwgMHg1MywgMHg1MCwgMHg0OCwgMHg0MywgMHg0MiwKLSAweDI4LCAweDMxLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLAotIDB4MjgsIDB4NDEsIDB4NjEsIDB4NDgsIDB4NjgsIDB4NDIsIDB4MjgsIDB4NEIsIDB4NkIsIDB4NDIsIDB4MjgsIDB4NTMsIDB4NzMsCi0gMHg0MiwgMHgyOCwgMHg0OSwgMHg2OSwgMHg1MiwgMHg3MiwgMHg0MiwgMHgyOCwgMHg0MiwgMHg2MiwgMHg1MiwgMHg3MiwgMHg0MiwKLSAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDU0LCAweDc0LCAweDUzLCAweDczLCAweDQyLCAweDI4LCAweDRDLCAweDZDLAotIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4NDUsIDB4NjUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwKLSAweDI4LCAweDUyLCAweDcyLCAweDQyLCAweDI4LCAweDUzLCAweDczLCAweDQyLCAweDI4LCAweDU0LCAweDc0LCAweDQyLCAweDI4LAotIDB4NTUsIDB4NzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3OSwgMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MiwKLSAweDZFLCAweDY5LCAweDY4LCAweDY3LCAweDY2LCAweDY1LCAweDY0LCAweDYzLCAweDYyLCAweDYxLCAweDU5LCAweDU3LCAweDU1LAotIDB4NTQsIDB4NTMsIDB4NTIsIDB4NEUsIDB4NDksIDB4NDgsIDB4NDcsIDB4NDYsIDB4NDUsIDB4NDQsIDB4NDMsIDB4NDIsIDB4NDEsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHg0MywgMHg2MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwKLSAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLAotIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzksIDB4NzAsCi0gMHg1OSwgMHg1MCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHg0QiwgMHg2QiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHg0RiwKLSAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDQ5LCAweDY5LCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDRGLAotIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLAotIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwKLSAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwKLSAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MkIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwKLSAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MkIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3NCwgMHg3MywgMHg2RSwKLSAweDU0LCAweDUzLCAweDRFLCAweDQyLCAweDI4LCAweDQxLCAweDYxLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg3MCwgMHg1MCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwKLSAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDY1LCAweDQ1LCAweDQyLAotIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywKLSAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHg3NSwgMHg3MywgMHg2RSwgMHg2QywgMHg2QSwgMHg2OSwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywgMHg1NSwgMHg1MywKLSAweDRFLCAweDRDLCAweDRBLCAweDQ5LCAweDQ3LCAweDQ2LCAweDQ1LCAweDQ0LCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDJELAotIDB4NDIsIDB4MjgsIDB4MDAsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgzNCwgMHgzOCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDRFLCAweDZFLCAweDQyLCAweDI4LAotIDB4NTAsIDB4NzAsIDB4NDIsIDB4MjgsIDB4M0UsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHg3NCwgMHg2QiwgMHg2QSwgMHg2MywgMHg1NCwgMHg0QiwgMHg0QSwgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDc0LCAweDU0LCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDVGLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwKLSAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QiwKLSAweDRCLCAweDQyLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NzAsIDB4NTAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywKLSAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDc4LCAweDU4LCAweDQyLCAweDI4LCAweDFCLAotIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwKLSAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLAotIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHg3OCwgMHg3NSwgMHg2QywgMHg2MywgMHg2MiwgMHg1OCwgMHg1NSwgMHg0QywgMHg0MywgMHg0MiwgMHg0MiwgMHgyOCwKLSAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDMzLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NEIsIDB4NkIsIDB4NUYsIDB4MzIsIDB4NDIsIDB4MjgsCi0gMHgwMCwgMHgxQiwgMHg2QiwgMHg0QiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwKLSAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDcyLCAweDYyLCAweDUyLCAweDQyLCAweDQyLCAweDI4LCAweDJELCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NzAsIDB4NjUsIDB4NTAsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzMsIDB4MzQsCi0gMHgzOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzNiwgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzMywKLSAweDMxLCAweDQyLCAweDI4LCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDM4LCAweDMyLCAweDM3LCAweDM1LCAweDMxLCAweDMwLAotIDB4NDIsIDB4MjgsIDB4MzksIDB4MzUsIDB4MzQsIDB4MzEsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MzEsIDB4MzAsIDB4MzMsIDB4MzYsCi0gMHg0MiwgMHgyOCwgMHgzOCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzNCwgMHgzNSwgMHgzNywgMHgzOCwgMHgzOSwgMHgzMywKLSAweDQyLCAweDI4LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDQyLAotIDB4MjgsIDB4MzAsIDB4MzIsIDB4MzQsIDB4MzMsIDB4MzEsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzksIDB4NDIsIDB4MjgsCi0gMHgzMCwgMHgzMywgMHgzMSwgMHgzMiwgMHg0MiwgMHgyOCwgMHgzNiwgMHgzOSwgMHgzNywgMHgzNCwgMHg0MiwgMHgyOCwgMHgzMCwKLSAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDFCLAotIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsCi0gMHgzMiwgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzMSwgMHgzMCwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwKLSAweDI4LCAweDM5LCAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDQyLCAweDI4LAotIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzgsCi0gMHgzNiwgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwKLSAweDM0LCAweDM2LCAweDM3LCAweDM4LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MzgsIDB4MzksCi0gMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHg0MiwKLSAweDI4LCAweDM2LCAweDM1LCAweDM3LCAweDQyLCAweDI4LCAweDM3LCAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM2LCAweDQyLAotIDB4MjgsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzksIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwKLSAweDQyLCAweDI4LCAweDMyLCAweDM0LCAweDM1LCAweDQyLCAweDI4LCAweDMyLCAweDMzLCAweDM5LCAweDQyLCAweDI4LCAweDMwLAotIDB4MzIsIDB4MzMsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsCi0gMHgzMCwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywKLSAweDMyLCAweDMxLCAweDQyLCAweDI4LCAweDMxLCAweDMzLCAweDM4LCAweDQyLCAweDI4LCAweDMzLCAweDM1LCAweDQyLCAweDI4LAotIDB4MzIsIDB4MzAsIDB4MzEsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHg0MiwgMHgyOCwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLCAweDQyLCAweDI4LCAweDMxLAotIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCi0gMHgyOCwgMHgzMywgMHgzNCwgMHg0MiwgMHgyOCwgMHgzNSwgMHgzMywgMHg0MiwgMHgyOCwgMHgzNiwgMHgzMywgMHgzMCwgMHgzMSwKLSAweDM4LCAweDQyLCAweDI4LCAweDMyLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzMywKLSAweDMyLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LCAweDFCLAotIDB4MzYsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsCi0gMHgzNCwgMHgzNSwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzNywgMHgzOCwgMHgzNSwgMHg0MiwgMHgyOCwKLSAweDMwLCAweDMxLCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM3LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzMsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzYsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgzNywgMHgzOSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgzMSwgMHgzMiwgMHgzMywgMHg0MiwgMHgyOCwKLSAweDMwLCAweDM1LCAweDQyLCAweDI4LCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM3LCAweDM2LAotIDB4MzUsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzIsIDB4MzksIDB4MzMsIDB4NDIsIDB4MjgsIDB4MzYsIDB4NDIsCi0gMHgyOCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDMwLCAweDM1LCAweDMzLCAweDMyLCAweDQyLCAweDI4LCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLAotIDB4MjgsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCi0gMHgzNSwgMHgzNCwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHgzNSwgMHg0MiwKLSAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MUIsIDB4MzcsIDB4MzQsIDB4MzMsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgzNCwgMHg0MiwgMHgyOCwgMHgzNSwKLSAweDQyLCAweDI4LCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM0LCAweDMzLCAweDMyLCAweDMxLAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzAsCi0gMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNywgMHgzMywgMHgzMiwgMHg0MiwgMHgyOCwgMHgzOSwKLSAweDMzLCAweDQyLCAweDI4LCAweDM4LCAweDMzLCAweDM1LCAweDM2LCAweDM3LCAweDQyLCAweDI4LCAweDMwLCAweDMxLCAweDMyLAotIDB4MzUsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MDAsIDB4MUIsIDB4MzAsIDB4MzIsIDB4MzMsCi0gMHgzNSwgMHgzNiwgMHgzOSwgMHgzOCwgMHgzNCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzNCwgMHgzOCwgMHgzNSwKLSAweDQyLCAweDI4LCAweDMxLCAweDM3LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MzgsIDB4MzksIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzYsCi0gMHg0MiwgMHgyOCwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgzNCwgMHgzNiwgMHgzNSwKLSAweDMzLCAweDQyLCAweDI4LCAweDM4LCAweDMyLCAweDMzLCAweDM0LCAweDM2LCAweDM1LCAweDQyLCAweDI4LCAweDM0LCAweDMxLAotIDB4MzMsIDB4MzAsIDB4MzIsIDB4MzYsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsCi0gMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgzNywgMHgzOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgwMCwKLSAweDMzLCAweDMyLCAweDM2LCAweDM3LCAweDM5LCAweDM0LCAweDQyLCAweDI4LCAweDMwLCAweDMxLCAweDM2LCAweDM3LCAweDM4LAotIDB4MzksIDB4NDIsIDB4MjgsIDB4MzQsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwKLSAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMwLCAweDc0LAotIDB4NTQsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzEsCi0gMHgzMCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMCwgMHg0MiwgMHgyOCwKLSAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MzUsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzAsCi0gMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMiwgMHg0MiwgMHgyOCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLAotIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsCi0gMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLAotIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywKLSAweDMyLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MzksIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsCi0gMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDQyLAotIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0MiwKLSAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLAotIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzMsIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsCi0gMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKLSAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwKLSAweDMzLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDM1LAotIDB4MzMsIDB4MzIsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgxQiwgMHgzNSwgMHgzNCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM0LCAweDMzLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLAotIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMywgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDFCLCAweDM0LCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MzksIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM0LCAweDMxLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLAotIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsCi0gMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM4LCAweDM1LAotIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzMywgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLAotIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMiwKLSAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM2LCAweDM1LCAweDMzLCAweDMyLAotIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDYzLCAweDQzLCAweDM5LCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDJELAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NDIsIDB4MjgsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwKLSAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDM0LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzEsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwKLSAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZDLAotIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkUsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywKLSAweDQyLCAweDI4LCAweDFCLCAweDc3LCAweDU3LCAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLAotIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHgzNSwgMHgyRCwgMHg0MiwgMHgyOCwgMHgzMiwKLSAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LAotIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwKLSAweDI4LCAweDFCLCAweDc3LCAweDU3LCAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDY0LAotIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg3NywgMHg1NywgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwKLSAweDM2LCAweDMzLCAweDM0LCAweDM5LCAweDM3LCAweDM4LCAweDM1LCAweDMyLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCi0gMHgyOCwgMHgzMCwgMHgzMSwgMHgzOSwgMHg0MiwgMHgyOCwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzNywgMHgzNiwgMHg0MiwgMHgyOCwKLSAweDM4LCAweDQyLCAweDI4LCAweDM4LCAweDM5LCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MzMsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzEsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDM4LCAweDMxLCAweDQyLCAweDI4LCAweDUzLCAweDczLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsIDB4MjgsCi0gMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwKLSAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LCAweDFCLCAweDc2LCAweDU2LCAweDQyLCAweDI4LCAweDFCLCAweDcyLAotIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkUsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDNBLCAweDQyLAotIDB4MjgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LAotIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LCAweDM3LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LCAweDM4LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NDIsIDB4MjgsCi0gMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwKLSAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLAotIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzksIDB4MzgsCi0gMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLAotIDB4MUIsIDB4MzgsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NUYsIDB4MzYsIDB4MkQsIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3MywgMHg2MiwgMHg2MSwgMHg1MywgMHg0MiwKLSAweDQxLCAweDQyLCAweDI4LCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NTgsIDB4NzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgyRCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDRFLCAweDZFLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzIsIDB4NjksIDB4NTIsIDB4NDksIDB4NDIsCi0gMHgyOCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLCAweDI4LCAweDM5LCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM4LAotIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsCi0gMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LAotIDB4MUIsIDB4MUIsIDB4NjMsIDB4NUYsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsCi0gMHg0MiwgMHgyOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgyRCwgMHg0MiwKLSAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc0LAotIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsCi0gMHgzMywgMHg0MiwgMHgyOCwgMHg0OSwgMHg2OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QSwgMHg0QSwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4NEYsCi0gMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LAotIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsCi0gMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwKLSAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LAotIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCi0gMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwKLSAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDYzLAotIDB4NDMsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsCi0gMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwKLSAweDFCLCAweDY4LCAweDQ4LCAweDQyLCAweDI4LCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MzIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsCi0gMHgyOCwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwKLSAweDI4LCAweDZDLCAweDYyLCAweDRDLCAweDQyLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDZDLAotIDB4NjIsIDB4NEMsIDB4NDIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzgsCi0gMHgzMywgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHgzMywgMHgzMSwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NiwKLSAweDQ2LCAweDQyLCAweDI4LCAweDFCLCAweDAwLCAweDFCLCAweDFCLCAweDc0LCAweDczLCAweDYzLCAweDU0LCAweDUzLCAweDQzLAotIDB4NDIsIDB4MjgsIDB4MzksIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsCi0gMHg0MiwgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwKLSAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAotIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM1LCAweDM2LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMwLAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywKLSAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwKLSAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM4LCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkUsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHg3OCwgMHg1OCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwKLSAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsCi0gMHg0MSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDZGLAotIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NDMsIDB4NjMsIDB4NkQsIDB4NEQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHg1MiwgMHg3MiwgMHg3MywgMHg2RSwgMHg2NCwgMHg1MywgMHg0RSwgMHg0NCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDZCLAotIDB4NEIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLAotIDB4MUIsIDB4MzksIDB4MzgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDY5LCAweDY3LCAweDYxLCAweDQ5LCAweDQ3LCAweDQxLCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzMsCi0gMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLCAweDMwLCAweDM5LCAweDMyLCAweDMxLCAweDJELCAweDRBLCAweDI4LAotIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwKLSAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsCi0gMHg0QSwgMHgyOCwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg1MywgMHg3MywgMHg2NCwgMHg0NCwgMHg0QSwKLSAweDI4LCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDcwLCAweDUwLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZBLCAweDRBLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NTQsIDB4NzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjYsCi0gMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QiwgMHg0QiwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDU0LCAweDc0LCAweDRCLCAweDZCLCAweDcwLCAweDUwLCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHg0QiwgMHg2QiwgMHgzMiwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDYyLCAweDQyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLAotIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QiwKLSAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZELAotIDB4NEQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NEYsIDB4NkYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHg1MCwgMHg3MCwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDZELCAweDRELCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM0LCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDMwLAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MzIsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzUsCi0gMHgzMCwgMHg1NCwgMHg3NCwgMHgzMiwgMHgzMSwgMHgzOSwgMHgzOCwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg2RCwKLSAweDYyLCAweDRELCAweDQyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLAotIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywKLSAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLAotIDB4NzksIDB4NTksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsCi0gMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwKLSAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDRBLCAweDI4LCAweDFCLAotIDB4NDUsIDB4NjUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsCi0gMHg2OCwgMHg2NywgMHg2MywgMHg2MSwgMHg0OCwgMHg0NywgMHg0MywgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwKLSAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LCAweDFCLAotIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NkMsIDB4NEMsIDB4MzgsIDB4MzUsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MywgMHg2MiwgMHg1MywgMHg0MiwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwKLSAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDczLCAweDZGLCAweDUzLCAweDRGLAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MiwKLSAweDQyLCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkQsCi0gMHg0RCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDRBLCAweDI4LCAweDFCLCAweDY1LAotIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwKLSAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDM0LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MCwgMHg1MCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDFCLAotIDB4MUIsIDB4NjMsIDB4NDMsIDB4MzYsIDB4MzUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3MCwgMHg1MCwgMHgzOCwgMHgzNywgMHg0QSwgMHgyOCwKLSAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLAotIDB4NkEsIDB4NEEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NTQsIDB4NzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDUzLCAweDczLCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDRDLCAweDZDLCAweDQyLCAweDYyLCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NEMsIDB4NkMsIDB4NDIsCi0gMHg2MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzMywgMHgzMSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDc0LCAweDZFLCAweDU0LCAweDRFLCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwKLSAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzEsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwKLSAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzcsCi0gMHg3NSwgMHg3NCwgMHg3MywgMHg3MCwgMHg2QiwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NSwgMHg2MiwgMHg2MSwgMHg1NywgMHg1NSwKLSAweDU0LCAweDUzLCAweDUwLCAweDRCLCAweDQ5LCAweDQ4LCAweDQ3LCAweDQ1LCAweDQyLCAweDQxLCAweDRBLCAweDI4LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsCi0gMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDc5LCAweDczLCAweDcwLCAweDY4LCAweDYzLCAweDU5LCAweDUzLCAweDUwLAotIDB4NDgsIDB4NDMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDc5LCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcyLAotIDB4NkUsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NjIsIDB4NjEsIDB4NTksIDB4NTcsIDB4NTUsCi0gMHg1NCwgMHg1MywgMHg1MiwgMHg0RSwgMHg0OSwgMHg0OCwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHg0MiwgMHg0MSwKLSAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3OSwgMHg3MCwgMHg1OSwgMHg1MCwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLAotIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDRCLCAweDZCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LAotIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLAotIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwKLSAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDQ5LCAweDY5LCAweDcyLCAweDUyLCAweDRBLCAweDI4LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDYyLAotIDB4NDIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwKLSAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsCi0gMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwKLSAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHg3NCwgMHg3MywgMHg2RSwgMHg1NCwgMHg1MywgMHg0RSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZCLCAweDRCLAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NTAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwKLSAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsCi0gMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHg2NSwKLSAweDQ1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywKLSAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4NzUsIDB4NzMsIDB4NkUsIDB4NkMsIDB4NkEsIDB4NjksIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NTUsIDB4NTMsCi0gMHg0RSwgMHg0QywgMHg0QSwgMHg0OSwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwKLSAweDRBLCAweDI4LCAweDAwLCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwKLSAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDc0LCAweDZCLCAweDZBLCAweDYzLCAweDU0LCAweDRCLAotIDB4NEEsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsCi0gMHg0QSwgMHgyOCwgMHg1RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwKLSAweDRBLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDRBLCAweDI4LCAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDFCLCAweDc0LAotIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwKLSAweDRBLCAweDI4LCAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDY1LAotIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MCwgMHg1MCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0QSwKLSAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDZGLAotIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg3OCwgMHg1OCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDc4LCAweDc1LCAweDZDLCAweDYzLCAweDYyLCAweDU4LCAweDU1LAotIDB4NEMsIDB4NDMsIDB4NDIsIDB4NEEsIDB4MjgsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg0QiwKLSAweDZCLCAweDVGLCAweDMyLCAweDRBLCAweDI4LCAweDAwLCAweDFCLCAweDZCLCAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDY1LAotIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzIsIDB4NjIsIDB4NTIsCi0gMHg0MiwgMHg0QSwgMHgyOCwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MCwgMHg2NSwgMHg1MCwgMHg0NSwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM5LCAweDM2LCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLAotIDB4MjgsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzgsIDB4MzIsIDB4MzcsIDB4MzUsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAotIDB4MUIsIDB4MzksIDB4MzgsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDAwLCAweDFCLCAweDAwLAotIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzQsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzUsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzUsCi0gMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM0LCAweDM2LCAweDM1LCAweDMzLCAweDMyLAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzYsCi0gMHgzNSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNywKLSAweDM1LCAweDMzLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNCwgMHgzMSwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAotIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHgzNSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMwLCAweDM0LCAweDM1LCAweDM3LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM5LCAweDM3LCAweDM4LCAweDM1LAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzMywgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywKLSAweDM5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLAotIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzIsIDB4MzksIDB4MzMsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMCwgMHgzNSwKLSAweDMzLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzUsIDB4MzQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDM3LCAweDM0LCAweDMzLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM1LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwKLSAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDMyLCAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAotIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCi0gMHgyOCwgMHgwMCwgMHgxQiwgMHgzMCwgMHgzMiwgMHgzMywgMHgzNSwgMHgzNiwgMHgzOSwgMHgzOCwgMHgzNCwgMHgzMSwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM4LCAweDM5LAotIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDAwLCAweDMzLCAweDMyLCAweDM2LCAweDM3LCAweDM5LAotIDB4MzQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMwLCAweDc0LCAweDU0LAotIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MzEsIDB4MzAsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LAotIDB4MzcsIDB4MzUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzAsIDB4NEEsCi0gMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAotIDB4MzcsIDB4MzMsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwKLSAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LAotIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAotIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzMsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHg0QSwKLSAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzMywKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDM1LCAweDMzLAotIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgzNSwgMHgzNCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDFCLCAweDFCLCAweDFCLCAweDM0LCAweDMzLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMxLAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDFCLCAweDM0LCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LAotIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM0LCAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM1LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsIDB4NEEsCi0gMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM4LCAweDM1LCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsCi0gMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDM3LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LAotIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzQsCi0gMHgzMywgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMiwgMHgzMSwKLSAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM2LCAweDM1LCAweDMzLCAweDMyLCAweDMxLAotIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKLSAweDYzLCAweDQzLCAweDM5LCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDJELCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwKLSAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDM0LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwKLSAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LAotIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkUsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDc3LCAweDU3LCAweDRBLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzcsCi0gMHg1NywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHgzNSwgMHgyRCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwKLSAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLAotIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywKLSAweDRBLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLAotIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgzNiwgMHgzMywgMHgzNCwgMHgzOSwKLSAweDM3LCAweDM4LCAweDM1LCAweDMyLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDM5LAotIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCi0gMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMywKLSAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDM1LCAweDMxLCAweDRBLCAweDI4LCAweDFCLAotIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NjksIDB4NDksCi0gMHgzOCwgMHgzMSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwKLSAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDM0LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAotIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4M0EsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg3NiwgMHg1NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDJFLCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLAotIDB4MzQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHgzQSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwKLSAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLCAweDRBLAotIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAotIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHgzQSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NEEsIDB4MjgsCi0gMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzQSwKLSAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLAotIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NEEsIDB4MjgsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsCi0gMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgzOSwKLSAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgzOCwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg1RiwgMHgzNiwgMHgyRCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDczLCAweDYyLCAweDYxLCAweDUzLAotIDB4NDIsIDB4NDEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1OCwgMHg3OCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0QSwKLSAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDJELCAweDRBLAotIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MiwgMHg2OSwgMHg1MiwgMHg0OSwgMHg0QSwgMHgyOCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LAotIDB4MUIsIDB4NUYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLAotIDB4NUYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NjMsIDB4NUYsIDB4NDMsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LAotIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4MzIsCi0gMHgzMywgMHgzNCwgMHgzNSwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgzMywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDZBLCAweDRBLCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4NUYsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwKLSAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLAotIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsCi0gMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwKLSAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksCi0gMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwKLSAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLAotIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MzgsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NUYsIDB4NEEsCi0gMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwKLSAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDczLAotIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MzIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsCi0gMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwKLSAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDZDLCAweDYyLCAweDRDLCAweDQyLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDM2LAotIDB4NEEsIDB4MjgsIDB4NkMsIDB4NjIsIDB4NEMsIDB4NDIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHgxQiwgMHgzOCwgMHgzMywgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHgzMywgMHgzMSwgMHgyRCwgMHg0QSwKLSAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDRBLCAweDI4LCAweDFCLCAweDAwLCAweDFCLCAweDFCLCAweDc0LCAweDczLCAweDYzLAotIDB4NTQsIDB4NTMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MzksIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsCi0gMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwKLSAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLAotIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCi0gMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3OCwgMHg3NywgMHg3NSwgMHg3NCwKLSAweDczLCAweDcyLCAweDcwLCAweDZELCAweDZDLCAweDZCLCAweDZBLCAweDY5LCAweDY4LCAweDY3LCAweDY1LCAweDYzLCAweDYyLAotIDB4NjEsIDB4NTgsIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsIDB4NTIsIDB4NTAsIDB4NEQsIDB4NEMsIDB4NEIsIDB4NEEsIDB4NDksCi0gMHg0OCwgMHg0NywgMHg0NSwgMHg0MywgMHg0MiwgMHg0MSwgMHgzOSwgMHgzOCwgMHgzNCwgMHg3OCwgMHg3NywgMHg3NSwgMHg3NCwKLSAweDczLCAweDcyLCAweDcwLCAweDZELCAweDZDLCAweDZCLCAweDZBLCAweDY5LCAweDY4LCAweDY3LCAweDY1LCAweDYzLCAweDYyLAotIDB4NjEsIDB4NTgsIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsIDB4NTIsIDB4NTAsIDB4NEQsIDB4NEMsIDB4NEIsIDB4NEEsIDB4NDksCi0gMHg0OCwgMHg0NywgMHg0NSwgMHg0MywgMHg0MiwgMHg0MSwgMHgzOSwgMHgzOCwgMHgzNCwgMHg0QSwgMHg0MiwgMHg2RSwgMHg0RSwKLSAweDY5LCAweDQ5LCAweDY0LCAweDQ0LCAweDZGLCAweDRGLCAweDYzLCAweDQzLCAweDZFLCAweDRFLCAweDY1LCAweDQ1LCAweDJELAotIDB4NjQsIDB4NDQsIDB4NzIsIDB4NTIsIDB4NjEsIDB4NDEsIDB4NjQsIDB4NDQsIDB4NkUsIDB4NEUsIDB4NjEsIDB4NDEsIDB4NzQsCi0gMHg1NCwgMHg3MywgMHg1MywgMHgyRCwgMHg2NSwgMHg0NSwgMHg2MiwgMHg0MiwgMHgzOCwgMHgzNiwgMHgzOSwgMHgzMSwgMHgyRCwKLSAweDM0LCAweDJFLCAweDMzLCAweDc4LCAweDU4LCAweDVGLCAweDY5LCAweDQ5LCAweDY5LCAweDQ5LCAweDYyLCAweDQyLCAweDMwLAotIDB4MzcsIDB4MkQsIDB4NkYsIDB4NEYsIDB4NjksIDB4NDksIDB4NDMsIDB4NjMsIDB4NkQsIDB4NEQsIDB4NjEsIDB4NDEsIDB4NzMsCi0gMHg1MywgMHg2RiwgMHg0RiwgMHg2MywgMHg0MywgMHg3MywgMHg1MywgMHg2QiwgMHg0QiwgMHg2OCwgMHg0OCwgMHgyRCwgMHgzNSwKLSAweDY3LCAweDQ3LCAweDMyLCAweDM1LCAweDM0LCAweDMxLCAweDM5LCAweDM4LCAweDMxLCAweDMwLCAweDMwLCAweDY0LCAweDQ0LAotIDB4NjksIDB4NDksIDB4NzMsIDB4NTMsIDB4NjUsIDB4NDUsIDB4NkUsIDB4NEUsIDB4MzIsIDB4MzAsIDB4MzEsIDB4MzMsIDB4MzksCi0gMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzMSwgMHgzNywgMHgzMCwgMHgzMywgMHgzMiwgMHgzNiwgMHgzOCwgMHgzOSwgMHgzNywKLSAweDMwLCAweDMzLCAweDMxLCAweDMwLCAweDY5LCAweDY3LCAweDYxLCAweDQ5LCAweDQ3LCAweDQxLCAweDY0LCAweDQ0LCAweDcyLAotIDB4NTIsIDB4NjEsIDB4NDEsIDB4NjQsIDB4NDQsIDB4NkUsIDB4NEUsIDB4NjEsIDB4NDEsIDB4NzQsIDB4NTQsIDB4NzMsIDB4NTMsCi0gMHg2NSwgMHg0NSwgMHg2MiwgMHg0MiwgMHg2MywgMHg0MywgMHg2RiwgMHg0RiwgMHgzNSwgMHg2NywgMHg0NywgMHg3MywgMHg1MywKLSAweDY1LCAweDQ1LCAweDZFLCAweDRFLCAweDYxLCAweDQxLCAweDcwLCAweDUwLCAweDYxLCAweDQxLCAweDZBLCAweDRBLCAweDU0LAotIDB4NzQsIDB4NkQsIDB4NEQsIDB4NjYsIDB4NDYsIDB4NjQsIDB4NDQsIDB4NkIsIDB4NEIsIDB4NEIsIDB4NkIsIDB4NTQsIDB4NzQsCi0gMHg3MCwgMHg1MCwgMHg2MywgMHg0MywgMHgzMSwgMHgzMywgMHg0QiwgMHg2QiwgMHgzMiwgMHg2RSwgMHg0RSwgMHg2MSwgMHg0MSwKLSAweDZCLCAweDRCLCAweDYxLCAweDQxLCAweDc0LCAweDU0LCAweDYxLCAweDQxLCAweDZCLCAweDRCLCAweDY4LCAweDQ4LCAweDc0LAotIDB4NTQsIDB4NjQsIDB4NDQsIDB4NjksIDB4NDksIDB4NzcsIDB4NTcsIDB4NjYsIDB4NDYsIDB4NkUsIDB4NEUsIDB4NjEsIDB4NDEsCi0gMHg2RCwgMHg0RCwgMHg0RiwgMHg2RiwgMHg3MiwgMHg1MiwgMHg2QywgMHg0QywgMHgzMCwgMHgzOSwgMHgzNCwgMHgzMiwgMHg2MSwKLSAweDQxLCAweDY4LCAweDQ4LCAweDMxLCAweDMwLCAweDM3LCAweDM4LCAweDM5LCAweDM2LCAweDM1LCAweDMyLCAweDM5LCAweDM4LAotIDB4MzcsIDB4MzAsIDB4MzUsIDB4MzAsIDB4NTQsIDB4NzQsIDB4MzIsIDB4MzEsIDB4MzksIDB4MzgsIDB4MzQsIDB4NkQsIDB4NEQsCi0gMHgzOCwgMHgzMiwgMHgzMSwgMHgzMywgMHgzMiwgMHg2MiwgMHg0MiwgMHg2NywgMHg0NywgMHgzMSwgMHgzOSwgMHgzNSwgMHg2OSwKLSAweDQ5LCAweDZDLCAweDRDLCAweDZDLCAweDRDLCAweDY5LCAweDQ5LCAweDcyLCAweDUyLCAweDY1LCAweDQ1LCAweDY1LCAweDQ1LAotIDB4NjUsIDB4NDUsIDB4NzIsIDB4NTIsIDB4NjIsIDB4NDIsIDB4NDUsIDB4NjUsIDB4NzIsIDB4NTIsIDB4NzksIDB4NTksIDB4NzIsCi0gMHg1MiwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHg2OCwgMHg2NywgMHg2MywgMHg2MSwgMHg0OCwgMHg0NywgMHg0MywKLSAweDQxLCAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc0LCAweDU0LCAweDYxLCAweDQxLCAweDM4LCAweDM4LCAweDZDLCAweDRDLAotIDB4MzgsIDB4MzUsIDB4NkYsIDB4NEYsIDB4NkQsIDB4NjIsIDB4NEQsIDB4NDIsIDB4MzgsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzEsCi0gMHgzMCwgMHgzNiwgMHgzNSwgMHg2MywgMHg0MywgMHg2OSwgMHg0OSwgMHg2OSwgMHg0OSwgMHg3NCwgMHg1NCwgMHg2QywgMHg0QywKLSAweDYxLCAweDQxLCAweDYyLCAweDQyLCAweDM1LCAweDYxLCAweDQxLCAweDc1LCAweDU1LCAweDY3LCAweDQ3LCAweDZFLCAweDRFLAotIDB4NjksIDB4NDksIDB4NkMsIDB4NEMsIDB4NjksIDB4NDksIDB4NzQsIDB4NTQsIDB4NkMsIDB4NEMsIDB4NzUsIDB4NTUsIDB4NkQsCi0gMHg0RCwgMHg2NSwgMHg0NSwgMHg3MiwgMHg1MiwgMHg2MiwgMHg0MiwgMHg2NSwgMHg0NSwgMHg2OCwgMHg0OCwgMHg2RSwgMHg0RSwKLSAweDY5LCAweDQ5LCAweDc0LCAweDU0LCAweDYxLCAweDQxLCAweDZDLCAweDRDLCAweDMzLCAweDM0LCAweDY1LCAweDQ1LCAweDY3LAotIDB4NDcsIDB4NjEsIDB4NDEsIDB4NzAsIDB4NTAsIDB4NjUsIDB4NDUsIDB4NjQsIDB4NDQsIDB4NkYsIDB4NEYsIDB4MzIsIDB4MzAsCi0gMHgzNSwgMHgzOCwgMHg2MywgMHg0MywgMHgzNiwgMHgzNSwgMHgzNywgMHg3MCwgMHg1MCwgMHgzOCwgMHgzNywgMHg2OSwgMHg0OSwKLSAweDZBLCAweDRBLCAweDU0LCAweDc0LCAweDY2LCAweDQ2LCAweDY5LCAweDQ5LCAweDMyLCAweDM2LCAweDUzLCAweDczLCAweDY0LAotIDB4NDQsIDB4NkYsIDB4NEYsIDB4NjMsIDB4NDMsIDB4NDIsIDB4NjIsIDB4NEMsIDB4NkMsIDB4NDIsIDB4NjIsIDB4NEMsIDB4NkMsCi0gMHgzMiwgMHgzNiwgMHgzOCwgMHgzMywgMHgzMSwgMHg2NiwgMHg0NiwgMHg2OSwgMHg0OSwgMHgzNSwgMHg2RSwgMHg0RSwgMHg2OSwKLSAweDQ5LCAweDc0LCAweDU0LCAweDYxLCAweDQxLCAweDZDLCAweDRDLCAweDMxLCAweDMyLCAweDMxLCAweDMzLCAweDczLCAweDUzLAotIDB4NzcsIDB4NTcsIDB4NkYsIDB4NEYsIDB4NjQsIDB4NDQsIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NzQsIDB4NkUsIDB4NTQsCi0gMHg0RSwgMHg2OSwgMHg0OSwgMHg2OCwgMHg0OCwgMHg2MywgMHg0MywgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwgMHg3MywgMHg2MiwKLSAweDUzLCAweDQyLCAweDUwLCAweDcwLCAweDYxLCAweDQxLCAweDYyLCAweDQyLCAweDc1LCAweDU1LCAweDY5LCAweDQ5LCAweDUzLAotIDB4NzMsIDB4NjQsIDB4NDQsIDB4NjksIDB4NDksIDB4NkMsIDB4NEMsIDB4NkMsIDB4NEMsIDB4NjksIDB4NDksIDB4NzIsIDB4NTIsCi0gMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MCwgMHg2QiwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NSwgMHg2MiwgMHg2MSwgMHg1NywKLSAweDU1LCAweDU0LCAweDUzLCAweDUwLCAweDRCLCAweDQ5LCAweDQ4LCAweDQ3LCAweDQ1LCAweDQyLCAweDQxLCAweDM4LCAweDM3LAotIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzAsIDB4MzksIDB4MzIsIDB4MzEsIDB4MkQsIDB4NjksIDB4NDksIDB4NzMsIDB4NTMsIDB4NjMsCi0gMHg0MywgMHg2NSwgMHg0NSwgMHg2RiwgMHg0RiwgMHg3MiwgMHg1MiwgMHg3OSwgMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MiwKLSAweDZFLCAweDY5LCAweDY4LCAweDY3LCAweDY2LCAweDY1LCAweDY0LCAweDYzLCAweDYyLCAweDYxLCAweDU5LCAweDU3LCAweDU1LAotIDB4NTQsIDB4NTMsIDB4NTIsIDB4NEUsIDB4NDksIDB4NDgsIDB4NDcsIDB4NDYsIDB4NDUsIDB4NDQsIDB4NDMsIDB4NDIsIDB4NDEsCi0gMHg2OSwgMHg0OSwgMHg2QywgMHg0QywgMHg2QywgMHg0QywgMHg2OSwgMHg0OSwgMHg3MiwgMHg1MiwgMHgyRCwgMHg3MiwgMHg1MiwKLSAweDc1LCAweDU1LCAweDY1LCAweDQ1LCAweDJCLCAweDMzLCAweDM3LCAweDMyLCAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LAotIDB4NDUsIDB4MkIsIDB4MzcsIDB4MzcsIDB4MzIsIDB4MkQsIDB4MkQsIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsCi0gMHgyQiwgMHgzNCwgMHgzOCwgMHgzMiwgMHgyRCwgMHg3MiwgMHg1MiwgMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzOCwKLSAweDM3LCAweDMyLCAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LCAweDQ1LCAweDJCLCAweDM3LCAweDM5LCAweDMyLCAweDJELAotIDB4MkQsIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzUsIDB4MzgsIDB4MzIsIDB4MkQsIDB4NzIsCi0gMHg1MiwgMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzMCwgMHgzMCwgMHgzNSwgMHgyRCwgMHg2QywgMHg0QywgMHg2MSwKLSAweDQxLCAweDZFLCAweDRFLCAweDZGLCAweDRGLCAweDY5LCAweDQ5LCAweDc0LCAweDU0LCAweDYxLCAweDQxLCAweDZFLCAweDRFLAotIDB4NzIsIDB4NTIsIDB4NjUsIDB4NDUsIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzEsIDB4MzcsCi0gMHgzOCwgMHg3MiwgMHg1MiwgMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzMCwgMHgzOCwgMHgzMiwgMHgyRCwgMHgyRCwKLSAweDc0LCAweDU0LCAweDZFLCAweDRFLCAweDYxLCAweDQxLCAweDZCLCAweDRCLCAweDJELCAweDcyLCAweDUyLCAweDc1LCAweDU1LAotIDB4NjUsIDB4NDUsIDB4MkQsIDB4MkQsIDB4MzksIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NzQsIDB4NTQsIDB4NzIsIDB4NTIsCi0gMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzNywgMHgzMywgMHgyRCwgMHg3MywgMHg1MywgMHg2NSwgMHg0NSwgMHg2RiwKLSAweDRGLCAweDYxLCAweDQxLCAweDcwLCAweDUwLCAweDc0LCAweDczLCAweDZFLCAweDU0LCAweDUzLCAweDRFLCAweDYyLCAweDQyLAotIDB4NDksIDB4NjksIDB4NzIsIDB4NTIsIDB4NzMsIDB4NTMsIDB4NEIsIDB4NkIsIDB4NjUsIDB4NDUsIDB4NzksIDB4NzAsIDB4NTksCi0gMHg1MCwgMHg3NSwgMHg3MywgMHg2RSwgMHg2QywgMHg2QSwgMHg2OSwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywgMHg1NSwKLSAweDUzLCAweDRFLCAweDRDLCAweDRBLCAweDQ5LCAweDQ3LCAweDQ2LCAweDQ1LCAweDQ0LCAweDQzLCAweDAwLCAweDJELCAweDYzLAotIDB4NDMsIDB4NjksIDB4NDksIDB4NjQsIDB4NDQsIDB4MzEsIDB4MzEsIDB4MkQsIDB4NjEsIDB4NDEsIDB4MzIsIDB4MzksIDB4NUYsCi0gMHg3NCwgMHg1NCwgMHg2OCwgMHg0OCwgMHg3NCwgMHg2QiwgMHg2QSwgMHg2MywgMHg1NCwgMHg0QiwgMHg0QSwgMHg0MywgMHg3NCwKLSAweDU0LCAweDJELCAweDVGLCAweDcyLCAweDUyLCAweDZGLCAweDRGLCAweDY2LCAweDQ2LCAweDVGLCAweDc0LCAweDU0LCAweDYxLAotIDB4NDEsIDB4NkQsIDB4NEQsIDB4NzIsIDB4NTIsIDB4NkYsIDB4NEYsIDB4NjYsIDB4NDYsIDB4NUYsIDB4NjQsIDB4NDQsIDB4NjUsCi0gMHg0NSwgMHg2QiwgMHg0QiwgMHg2MywgMHg0MywgMHg2MSwgMHg0MSwgMHg3MCwgMHg1MCwgMHg1RiwgMHg2NSwgMHg0NSwgMHg2NCwKLSAweDQ0LCAweDZGLCAweDRGLCAweDYzLCAweDQzLCAweDVGLCAweDc4LCAweDU4LCAweDY5LCAweDQ5LCAweDZFLCAweDRFLCAweDc1LAotIDB4NTUsIDB4NUYsIDB4NjQsIDB4NDQsIDB4NjUsIDB4NDUsIDB4NjQsIDB4NDQsIDB4NkUsIDB4NEUsIDB4NjUsIDB4NDUsIDB4NzQsCi0gMHg1NCwgMHg2MywgMHg0MywgMHg2RiwgMHg0RiwgMHg2RCwgMHg0RCwgMHg2MywgMHg0MywgMHgyRCwgMHgzMiwgMHgzMSwgMHgzMywKLSAweDMyLCAweDAwLCAweDM4LCAweDZCLCAweDRCLCAweDY1LCAweDQ1LCAweDY1LCAweDQ1LCAweDRCLCAweDZCLCAweDVGLCAweDMyLAotIDB4MDAsIDB4RjgsIDB4NzMsIDB4RDIsIDB4QzUsIDB4NjYsIDB4QzUsIDB4NjYsIDB4MkQsIDB4MDAsIDB4MzMsIDB4MzEsIDB4MDAsCi0gMHgzOSwgMHgzNiwgMHgzMSwgMHgzMCwgMHgzNSwgMHgzMCwgMHgzOSwgMHgzOCwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwKLSAweDMxLCAweDMwLCAweDAwLCAweDM3LCAweDAwLCAweDM4LCAweDM2LCAweDMyLCAweDMxLCAweDMwLCAweDM4LCAweDMyLCAweDM3LAotIDB4MzUsIDB4MzEsIDB4MzAsIDB4MzksIDB4MzQsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzUsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MkQsCi0gMHg2MSwgMHg0MSwgMHgzNiwgMHgzNSwgMHgzMCwgMHgzOCwgMHgzMiwgMHgzNSwgMHgzMywgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKLSAweDM0LCAweDMxLCAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLCAweDM0LCAweDM2LCAweDM1LCAweDMzLCAweDMyLCAweDMxLAotIDB4MzksIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzQsIDB4MzAsIDB4MzAsIDB4MzQsIDB4MzUsIDB4MzcsCi0gMHgzNiwgMHgzNSwgMHgzMiwgMHgzNywgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzNywgMHgzOSwgMHgzNCwgMHgzMywgMHgzNywKLSAweDM1LCAweDM0LCAweDMyLCAweDMwLCAweDM1LCAweDMzLCAweDMyLCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMyLAotIDB4MzksIDB4MDAsIDB4MzIsIDB4MzAsIDB4MzIsIDB4MzMsIDB4MzUsIDB4MzYsIDB4MzksIDB4MzgsIDB4MzQsIDB4MzEsIDB4MDAsCi0gMHgzNiwgMHgwMCwgMHgzMCwgMHgzNywgMHgzOCwgMHgzOSwgMHgwMCwgMHgzMywgMHgzMiwgMHgzNiwgMHgzNywgMHgzOSwgMHgzNCwKLSAweDM0LCAweDM2LCAweDM1LCAweDMzLCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDM4LAotIDB4MzksIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzEsIDB4MzcsIDB4MzMsIDB4MzIsIDB4MzIsIDB4MzEsIDB4MzcsIDB4MzQsCi0gMHgzMywgMHgzMSwgMHgzMCwgMHgzMiwgMHgzOSwgMHgzMywgMHgzNywgMHgzNiwgMHgzMywgMHgzMCwgMHgzOSwgMHgzNywgMHgzOCwKLSAweDM1LCAweDM3LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLAotIDB4MzAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzEsIDB4MzcsIDB4MzMsIDB4MzIsIDB4MzAsIDB4MzMsCi0gMHgzMiwgMHgzNiwgMHgzMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzMywgMHgzMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKLSAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDM5LCAweDM4LAotIDB4MzUsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzksIDB4MzcsIDB4MzUsIDB4MzQsCi0gMHgzMiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzNCwgMHgzMCwgMHgzNiwgMHgzNCwKLSAweDMzLCAweDMxLCAweDMwLCAweDM5LCAweDMzLCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDM5LCAweDM4LCAweDM3LCAweDM1LAotIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsIDB4MzAsIDB4MzgsIDB4MzIsIDB4MzUsIDB4MzMsIDB4MzQsIDB4MzEsIDB4MzcsIDB4MzQsCi0gMHgzMCwgMHgzNywgMHgzNSwgMHgzMiwgMHgzNywgMHgzNCwgMHgzMywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMiwKLSAweDM5LCAweDMyLCAweDMxLCAweDM3LCAweDMzLCAweDM4LCAweDM1LCAweDM3LCAweDMzLCAweDMyLCAweDM5LCAweDM4LCAweDM1LAotIDB4MzQsIDB4MzEsIDB4MzAsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NjQsIDB4NDQsIDB4NjksIDB4NDksCi0gMHg3MywgMHg1MywgMHg2MywgMHg0MywgMHgzMSwgMHgzMCwgMHgzMCwgMHg3NCwgMHg1NCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKLSAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDYzLCAweDQzLCAweDM5LCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLAotIDB4MzIsIDB4MzEsIDB4MzAsIDB4MkQsIDB4MkQsIDB4NzMsIDB4NTMsIDB4NjMsIDB4NDMsIDB4NzUsIDB4NTUsIDB4MkQsIDB4MzYsCi0gMHgzNCwgMHgzNiwgMHgyRCwgMHg2RSwgMHg0RSwgMHg2OSwgMHg0OSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHg2QywgMHg0QywKLSAweDJELCAweDMxLCAweDJFLCAweDMzLCAweDJELCAweDczLCAweDUzLCAweDc3LCAweDU3LCAweDZGLCAweDRGLCAweDY0LCAweDQ0LAotIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NzcsIDB4NTcsIDB4MkQsIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NzQsIDB4NTQsCi0gMHg2MSwgMHg0MSwgMHg2QywgMHg0QywgMHgyRCwgMHg3MywgMHg1MywgMHg3NywgMHg1NywgMHg2RiwgMHg0RiwgMHg2NCwgMHg0NCwKLSAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc3LCAweDU3LCAweDAwLCAweDJELCAweDAwLCAweDMzLCAweDM1LCAweDJELCAweDM2LAotIDB4MzMsIDB4MzQsIDB4MzksIDB4MzcsIDB4MzgsIDB4MzUsIDB4MzIsIDB4MzEsIDB4MkQsIDB4MzksIDB4MzUsIDB4MzMsIDB4MzQsCi0gMHgzMiwgMHgzMSwgMHgzMCwgMHgzNiwgMHgzNSwgMHgzMSwgMHgyRCwgMHg3MiwgMHg1MiwgMHgzOCwgMHgzMCwgMHg3NSwgMHg1NSwKLSAweDJELCAweDM2LCAweDM5LCAweDM5LCAweDMxLCAweDNBLCAweDc2LCAweDU2LCAweDcyLCAweDUyLCAweDY5LCAweDQ5LCAweDJFLAotIDB4MzYsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsCi0gMHgzOCwgMHgzOSwgMHgzMSwgMHgzOCwgMHgzOSwgMHgzMSwgMHgzOCwgMHgzOSwgMHgzMSwgMHgzOCwgMHgzOSwgMHgzMSwgMHgzOCwKLSAweDM5LCAweDMxLCAweDAwLCAweDNBLCAweDAwLCAweDNBLCAweDAwLCAweDNBLCAweDAwLCAweDNBLCAweDAwLCAweDNBLCAweDAwLAotIDB4M0EsIDB4MDAsIDB4M0EsIDB4MDAsIDB4M0EsIDB4MDAsIDB4MzUsIDB4M0EsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsCi0gMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgyRCwgMHgzOSwgMHgzNSwgMHgzOCwgMHgzNCwgMHgzOCwgMHgzNiwgMHgzNCwgMHg2OSwKLSAweDQ5LCAweDM4LCAweDMxLCAweDVGLCAweDM2LCAweDJELCAweEI2LCAweEU2LCAweEM1LCAweDY2LCAweEQ5LCAweDlCLCAweEY4LAotIDB4RDUsIDB4NzYsIDB4QzEsIDB4NjIsIDB4RDQsIDB4NzUsIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4NjAsIDB4QzIsIDB4NjMsCi0gMHg2RiwgMHg0RiwgMHg2RCwgMHg0RCwgMHg2RSwgMHg0RSwgMHgzMCwgMHgzMiwgMHgzMCwgMHg1OCwgMHg3OCwgMHg1RiwgMHg3MywKLSAweDUzLCAweDJELCAweDYxLCAweDQxLCAweDY1LCAweDQ1LCAweDM4LCAweDMwLCAweDM2LCAweDM1LCAweDM4LCAweDM5LCAweDMxLAotIDB4MkQsIDB4MzEsIDB4MzAsIDB4MzYsIDB4MzUsIDB4NUYsIDB4NjMsIDB4NDMsIDB4NUYsIDB4NjMsIDB4NUYsIDB4NDMsIDB4NzIsCi0gMHg2OSwgMHg1MiwgMHg0OSwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgyRCwgMHg2RSwgMHg0RSwgMHg2OSwgMHg0OSwKLSAweDc0LCAweDU0LCAweDZBLCAweDRBLCAweDZFLCAweDRFLCAweDYxLCAweDQxLCAweDZCLCAweDRCLCAweDMzLCAweDM5LCAweDVGLAotIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzAsIDB4MzUsIDB4MzgsIDB4MkQsIDB4NkMsIDB4NEMsCi0gMHg2MSwgMHg0MSwgMHg3NSwgMHg1NSwgMHg2NywgMHg0NywgMHg2RSwgMHg0RSwgMHg2OSwgMHg0OSwgMHg2QywgMHg0QywgMHg2OSwKLSAweDQ5LCAweDc0LCAweDU0LCAweDZDLCAweDRDLCAweDc1LCAweDU1LCAweDZELCAweDRELCAweDJELCAweEYxLCAweEYwLCAweEYyLAotIDB4RjAsIDB4QTcsIDB4QjcsIDB4RTcsIDB4NkQsIDB4RTIsIDB4QUIsIDB4QTIsIDB4NUYsIDB4NzQsIDB4NTQsIDB4NjYsIDB4NDYsCi0gMHg2OSwgMHg0OSwgMHgyRCwgMHg3MywgMHg1MywgMHgzMiwgMHgyRCwgMHg3MywgMHg1MywgMHg2MSwgMHg0MSwgMHg2QywgMHg2MiwKLSAweDRDLCAweDQyLCAweDJELCAweDZDLCAweDYyLCAweDRDLCAweDQyLCAweDJELCAweDMyLCAweDM2LCAweDM4LCAweDMzLCAweDMxLAotIDB4MzgsIDB4MzMsIDB4MzEsIDB4MkQsIDB4NjYsIDB4NDYsIDB4MDAsIDB4MkQsIDB4NzMsIDB4NTMsIDB4MzksIDB4MzEsIDB4MkQsCi0gMHg3MywgMHg1MywgMHg3NywgMHg1NywgMHg2RiwgMHg0RiwgMHg2NCwgMHg0NCwgMHg2RSwgMHg0RSwgMHg2OCwgMHhDNywgMHhENSwKLSAweDc2LCAweEM5LCAweDcxLCAweEM0LCAweDY1LCAweEQ2LCAweDc3LCAweEMzLCAweDY0LCAweEQ1LCAweDc2LCAweEM1LCAweDY2LAotIDB4NjAsIDB4QzQsIDB4NjUsIDB4RDksIDB4OUIsIDB4QzEsIDB4NjIsIDB4QzQsIDB4NjUsIDB4RDUsIDB4NzYsIDB4QzEsIDB4NjIsCi0gMHhFMywgMHhCMywgMHhFMiwgMHhBQiwgMHg2MCwgMHhDNSwgMHg2NiwgMHhDMiwgMHg2MywgMHhGNiwgMHhGOCwgMHhGOCwgMHhGNiwKLSAweEY5LCAweEYxLCAweDYwLCAweEY0LCAweDRCLCAweEYzLCAweEU3LCAweEI3LCAweEE3LCAweDZELCAweEM5LCAweDg5LCAweDcxLAotIDB4ODcsIDB4QzcsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4QzQsIDB4ODQsIDB4RDYsIDB4OTYsIDB4QzMsIDB4ODMsIDB4RDUsCi0gMHg5NSwgMHhDNSwgMHg4NSwgMHg2MCwgMHhDNCwgMHg4NCwgMHhEOSwgMHg5OSwgMHhDMSwgMHg4MSwgMHhDNCwgMHg4NCwgMHhENSwKLSAweDk1LCAweEMxLCAweDgxLCAweEUzLCAweEEzLCAweEUyLCAweEEyLCAweDYwLCAweEM1LCAweDg1LCAweEMyLCAweDgyLCAweDgzLAotIDB4QzMsIDB4QzksIDB4ODksIDB4QzIsIDB4ODIsIDB4NjQsIDB4QzMsIDB4QzksIDB4NzEsIDB4QzIsIDB4NjMsIDB4QzksIDB4ODksCi0gMHg3MSwgMHhGOCwgMHhGMCwgMHhGNywgMHg2MCwgMHhENiwgMHg5NiwgMHg3NywgMHhDOSwgMHg4OSwgMHg3MSwgMHg2NCwgMHg4MywKLSAweEMzLCAweEQ0LCAweDk0LCAweDc1LCAweEMxLCAweDYyLCAweEMxLCAweDgxLCAweEQ2LCAweDk2LCAweEUyLCAweEFCLCAweEEyLAotIDB4RDYsIDB4NzcsIDB4NjYsIDB4QzUsIDB4RTIsIDB4QUIsIDB4QzUsIDB4NjYsIDB4RDUsIDB4NzYsIDB4QUIsIDB4RTIsIDB4OUIsCi0gMHhEOSwgMHg5QiwgMHhEOSwgMHhGNywgMHhGMCwgMHhGNywgMHhGNywgMHhGNywgMHhGMCwgMHhGMywgMHhGNCwgMHhGNSwgMHhGMSwKLSAweEYwLCAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY1LCAweEY2LCAweEY5LCAweEY0LCAweEY3LCAweEY1LCAweEYyLCAweEYxLAotIDB4RjAsIDB4RjQsIDB4RjMsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjUsIDB4RjYsIDB4RjcsIDB4RjMsIDB4RjIsIDB4RjYsIDB4RjksCi0gMHhGMywgMHhDOSwgMHhDNywgMHhDMSwgMHg3MSwgMHg2OCwgMHg2MiwgMHhDNCwgMHg2NSwgMHhEOSwgMHg5QiwgMHhDMSwgMHg2MiwKLSAweEM0LCAweDY1LCAweEQ1LCAweDc2LCAweEMxLCAweDYyLCAweEUzLCAweEIzLCAweEUyLCAweEFCLCAweEM1LCAweDY2LCAweEMyLAotIDB4NjMsIDB4NzEsIDB4QzksIDB4QzksIDB4NzEsIDB4QzMsIDB4NjQsIDB4RDYsIDB4NzcsIDB4QUIsIDB4RTIsIDB4QzMsIDB4NjQsCi0gMHhFMiwgMHhBQiwgMHhEMiwgMHg3MywgMHhDOCwgMHg2OSwgMHhGNSwgMHhDNywgMHg2OCwgMHg2NiwgMHhDNSwgMHhFMiwgMHhBQiwKLSAweEM1LCAweDY2LCAweEQ1LCAweDc2LCAweEMxLCAweDYyLCAweEQ3LCAweDc4LCAweEMxLCAweDYyLCAweEQxLCAweDcyLCAweEIzLAotIDB4RTMsIDB4RDQsIDB4NzUsIDB4QzYsIDB4NjcsIDB4QzQsIDB4NjUsIDB4NjksIDB4QzgsIDB4RDIsIDB4NzMsIDB4OUIsIDB4RDksCi0gMHhFMywgMHhENywgMHhEMiwgMHhCMywgMHg3OCwgMHg3MywgMHhDMywgMHg2NCwgMHhGMiwgMHhGMSwgMHhGMywgMHg3MywgMHhEMiwKLSAweEYyLCAweDYyLCAweEMxLCAweEQ1LCAweDc2LCAweEMxLCAweDYyLCAweEQyLCAweDczLCAweEMxLCAweDYyLCAweEUzLCAweEIzLAotIDB4QzEsIDB4NjIsIDB4RDIsIDB4NzMsIDB4QzgsIDB4NjksIDB4RTMsIDB4QjMsIDB4QzQsIDB4NjUsIDB4QzksIDB4NzEsIDB4RTYsCi0gMHhCNiwgMHhDNiwgMHg2NywgMHhEMywgMHg3NCwgMHhGNCwgMHhGMCwgMHhGOSwgMHg3MSwgMHhDOSwgMHhDMSwgMHg2MiwgMHhGOCwKLSAweEY0LCAweEYyLCAweEY1LCAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY5LAotIDB4RjQsIDB4RjEsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjQsIDB4RjIsIDB4RjAsIDB4RjQsIDB4RjUsIDB4RjMsIDB4RjgsCi0gMHhGNywgMHhGMCwgMHhGMCwgMHhGMSwgMHhGMCwgMHhGMSwgMHhGMywgMHhGNSwgMHhGNiwgMHhGOSwgMHhGOCwgMHhGNCwgMHhGMSwKLSAweEY1LCAweEY3LCAweEY4LCAweEYzLCAweEY1LCAweEYxLCAweEYwLCAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEY1LCAweEYwLAotIDB4RjIsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjAsIDB4RjMsIDB4RjEsIDB4RjAsIDB4NjksIDB4QzgsIDB4RjksIDB4RjgsIDB4RjUsCi0gMHhGNCwgMHhGMiwgMHhGMSwgMHhGMCwgMHhFMywgMHhCMywgMHg3NSwgMHhENCwgMHg2NCwgMHhDMywgMHhDOSwgMHg3MSwgMHhEMywKLSAweDc0LCAweEQzLCAweDc0LCAweEM5LCAweDcxLCAweEQ5LCAweDlCLCAweDczLCAweEQyLCAweEM1LCAweDY2LCAweEM1LCAweDY2LAotIDB4QzUsIDB4NjYsIDB4RDksIDB4OUIsIDB4RTgsIDB4QjgsIDB4RDksIDB4OUIsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsCi0gMHhDOCwgMHhDNywgMHhDMywgMHhDMSwgMHg2OSwgMHg2OCwgMHg2NCwgMHg2MiwgMHhENSwgMHg3NiwgMHhDOSwgMHg3MSwgMHhFMywKLSAweEIzLCAweEYwLCAweEY4LCAweEYyLCAweEYxLCAweEYzLCAweEYyLCAweDYzLCAweEMyLCAweEM3LCAweDY4LCAweEYzLCAweEY1LAotIDB4RjEsIDB4RjksIDB4RjUsIDB4RjgsIDB4RjgsIDB4QzEsIDB4NjIsIDB4RjgsIDB4RjUsIDB4RDMsIDB4NzQsIDB4RDYsIDB4NzcsCi0gMHhENCwgMHhDMiwgMHg3NSwgMHg2MywgMHg5QiwgMHhEOSwgMHhGOCwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMSwgMHhGMSwgMHhGMCwKLSAweEY2LCAweEY1LCAweDY0LCAweEMzLCAweEM5LCAweDcxLCAweEYyLCAweEY1LCAweDY0LCAweEMzLCAweEM5LCAweDcxLCAweEUzLAotIDB4QjMsIDB4RDMsIDB4NzQsIDB4QzEsIDB4NjIsIDB4QzIsIDB4NjMsIDB4RjUsIDB4RjMsIDB4RjQsIDB4NjYsIDB4QzUsIDB4QzcsCi0gMHg2OCwgMHhDMSwgMHg2MiwgMHhENywgMHg3OCwgMHhDNSwgMHg2NiwgMHhDNCwgMHg2NSwgMHg3NCwgMHhEMywgMHhDMSwgMHg2MiwKLSAweEU0LCAweEI0LCAweEM3LCAweDY4LCAweEQ1LCAweDc2LCAweEM5LCAweDcxLCAweEQzLCAweDc0LCAweEM5LCAweDcxLCAweEUzLAotIDB4QjMsIDB4RDMsIDB4NzQsIDB4RTQsIDB4QjQsIDB4RDQsIDB4NzUsIDB4QjYsIDB4RTYsIDB4QzUsIDB4NjYsIDB4RDksIDB4OUIsCi0gMHhDMiwgMHg2MywgMHhDNSwgMHg2NiwgMHhDOCwgMHg2OSwgMHhENSwgMHg3NiwgMHhDOSwgMHg3MSwgMHhFMywgMHhCMywgMHhDMSwKLSAweDYyLCAweEQzLCAweDc0LCAweEYyLCAweEYwLCAweEQ2LCAweDc3LCAweEY2LCAweEY1LCAweEMzLCAweDY0LCAweEY3LCAweEY4LAotIDB4NzgsIDB4RDcsIDB4RjgsIDB4RjcsIDB4QUIsIDB4RTIsIDB4QzksIDB4NzEsIDB4RDEsIDB4NzIsIDB4QjMsIDB4RTMsIDB4QzYsCi0gMHg2NywgMHhDOSwgMHg3MSwgMHhGMCwgMHhGMiwgMHhGNiwgMHhBQiwgMHhFMiwgMHg2NiwgMHhDNSwgMHhDNCwgMHg2NSwgMHhENiwKLSAweDc3LCAweEMzLCAweDY0LCAweDY2LCAweEM1LCAweDY2LCAweEM1LCAweEQzLCAweEMyLCAweDc0LCAweDYzLCAweDY2LCAweEM1LAotIDB4NjYsIDB4QzUsIDB4RDMsIDB4QzIsIDB4NzQsIDB4NjMsIDB4RjIsIDB4RjYsIDB4RjgsIDB4RjMsIDB4RjEsIDB4QzYsIDB4NjcsCi0gMHhDOSwgMHg3MSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGNSwgMHhGMSwKLSAweEYyLCAweDc2LCAweEQ1LCAweEM5LCAweDcxLCAweEUzLCAweEIzLCAweEMxLCAweDYyLCAweEQzLCAweDc0LCAweEYxLCAweEYyLAotIDB4RjEsIDB4RjMsIDB4RTIsIDB4QUIsIDB4RTYsIDB4QjYsIDB4RDYsIDB4NzcsIDB4QzQsIDB4NjUsIDB4RDUsIDB4NzYsIDB4QzksCi0gMHg3MSwgMHhFMywgMHhENSwgMHhCMywgMHg3NiwgMHhDOSwgMHg3MSwgMHhDOCwgMHg2OSwgMHhDMywgMHg2NCwgMHhFMiwgMHhENiwKLSAweEFCLCAweDc3LCAweEUyLCAweEMyLCAweEFCLCAweDYzLCAweEQ3LCAweEMxLCAweDc4LCAweDYyLCAweEMyLCAweDYzLCAweEU0LAotIDB4QjQsIDB4QzksIDB4NzEsIDB4RTIsIDB4QzQsIDB4QUIsIDB4NjUsIDB4NjQsIDB4QzMsIDB4QzksIDB4NzEsIDB4RDMsIDB4NzQsCi0gMHhEMywgMHg3NCwgMHhDOSwgMHg3MSwgMHhEOSwgMHg5QiwgMHhFNiwgMHhFNCwgMHhFMywgMHhFMiwgMHhENywgMHhEMiwgMHhDOSwKLSAweEM4LCAweEM3LCAweEM1LCAweEMyLCAweEMxLCAweEI2LCAweEI0LCAweEIzLCAweEFCLCAweDc4LCAweDczLCAweDcxLCAweDY5LAotIDB4NjgsIDB4NjYsIDB4NjMsIDB4NjIsIDB4RjcsIDB4RjQsIDB4RjMsIDB4RjksIDB4RjgsIDB4RjIsIDB4RjAsIDB4NjAsIDB4QzksCi0gMHg3MSwgMHhGMSwgMHhGMiwgMHg2NiwgMHhDNSwgMHhDMywgMHg2NCwgMHhDNSwgMHg2NiwgMHhCNCwgMHhFNCwgMHhCMywgMHhFMywKLSAweEFCLCAweEUyLCAweDlCLCAweEQ5LCAweDY2LCAweEM1LCAweEQ2LCAweDc3LCAweDc0LCAweEQzLCAweEIzLCAweEUzLCAweEFCLAotIDB4RTIsIDB4NjYsIDB4QzUsIDB4NjMsIDB4QzIsIDB4OUIsIDB4RDksIDB4NzEsIDB4QzksIDB4OUIsIDB4RDksIDB4QUIsIDB4RTIsCi0gMHg2MiwgMHhDMSwgMHg2OSwgMHhDOCwgMHg2NiwgMHhDNSwgMHg5QiwgMHhEOSwgMHhFOCwgMHhFNiwgMHhFNCwgMHhFMywgMHhFMiwKLSAweEQ5LCAweEQ1LCAweEM5LCAweEM4LCAweEM3LCAweEM2LCAweEM1LCAweEMzLCAweEMyLCAweEMxLCAweEI4LCAweEI2LCAweEI0LAotIDB4QjMsIDB4QUIsIDB4OUIsIDB4NzYsIDB4NzEsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjYsIDB4NjQsIDB4NjMsIDB4NjIsIDB4NjAsCi0gMHg3NywgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGMywgMHhGNywgMHhGMiwgMHg3NywKLSAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LCAweEM1LCAweDY2LCAweDRFLCAweEY3LCAweEY3LCAweEYyLCAweDYwLCAweDYwLAotIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjQsIDB4RjgsIDB4RjIsIDB4NjAsCi0gMHg3NywgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGOCwgMHhGNywgMHhGMiwgMHg3NywKLSAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LCAweEM1LCAweDY2LCAweDRFLCAweEY3LCAweEY5LCAweEYyLCAweDYwLCAweDYwLAotIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjUsIDB4RjgsIDB4RjIsIDB4NjAsCi0gMHg3NywgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGMCwgMHhGMCwgMHhGNSwgMHg2MCwKLSAweEQzLCAweDc0LCAweEMxLCAweDYyLCAweEQ1LCAweDc2LCAweEQ2LCAweDc3LCAweEM5LCAweDcxLCAweEUzLCAweEIzLCAweEMxLAotIDB4NjIsIDB4RDUsIDB4NzYsIDB4RDksIDB4OUIsIDB4QzUsIDB4NjYsIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsCi0gMHhDNSwgMHg2NiwgMHg0RSwgMHhGMSwgMHhGNywgMHhGOCwgMHg3NywgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwKLSAweDY2LCAweDRFLCAweEYwLCAweEY4LCAweEYyLCAweDYwLCAweDYwLCAweEUzLCAweEIzLCAweDYyLCAweEMxLCAweEQ1LCAweDc2LAotIDB4ODEsIDB4QzEsIDB4RDUsIDB4OTUsIDB4QzEsIDB4ODEsIDB4QzEsIDB4NjIsIDB4RDIsIDB4OTIsIDB4NzMsIDB4NjAsIDB4NzcsCi0gMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg2MCwgMHg2MCwgMHhGOSwgMHhENSwgMHg3NiwgMHhDOSwKLSAweDcxLCAweDk2LCAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDYwLCAweDYwLCAweEY5LCAweEQ1LAotIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4RTMsIDB4QjMsIDB4ODUsIDB4QzUsIDB4QzMsIDB4ODMsIDB4QzUsIDB4ODUsCi0gMHhBNCwgMHhFNCwgMHhBMywgMHhFMywgMHhBMiwgMHhFMiwgMHg5OSwgMHhEOSwgMHg4NSwgMHhDNSwgMHhENiwgMHg5NiwgMHhBMywKLSAweEUzLCAweEEyLCAweEUyLCAweDg1LCAweEM1LCAweDgyLCAweEMyLCAweDk5LCAweEQ5LCAweDg5LCAweEM5LCAweDk5LCAweEQ5LAotIDB4QTIsIDB4RTIsIDB4ODEsIDB4QzEsIDB4ODgsIDB4QzgsIDB4ODUsIDB4QzUsIDB4RDksIDB4OTksIDB4OTMsIDB4RDMsIDB4NzcsCi0gMHg5NiwgMHhENiwgMHg3MywgMHg5MiwgMHhEMiwgMHhFOCwgMHhFNiwgMHhFNCwgMHhFMywgMHhFMiwgMHhEOSwgMHhENSwgMHhDOSwKLSAweEM4LCAweEM3LCAweEM2LCAweEM1LCAweEM0LCAweEMzLCAweEMyLCAweEMxLCAweEE4LCAweEE2LCAweEE0LCAweEEzLCAweEEyLAotIDB4OTksIDB4OTUsIDB4ODksIDB4ODgsIDB4ODcsIDB4ODYsIDB4ODUsIDB4ODQsIDB4ODMsIDB4ODIsIDB4ODEsIDB4NzYsIDB4NjUsCi0gMHg4MywgMHhDMywgMHhDOSwgMHg4OSwgMHhEMywgMHg5MywgMHhEMywgMHg5MywgMHhDOSwgMHg4OSwgMHg2NCwgMHhDMywgMHhDOSwKLSAweDcxLCAweEQzLCAweDc0LCAweEQzLCAweDc0LCAweEM5LCAweDcxLCAweEQ5LCAweDlCLCAweEQ5LCAweDk5LCAweDYwLCAweDk2LAotIDB4RDYsIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsIDB4NEUsIDB4RjMsIDB4RjcsIDB4RjIsIDB4OTYsIDB4RDYsCi0gMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGNywgMHhGNywgMHhGMiwgMHg2MCwgMHg2MCwgMHg5NiwKLSAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEY0LCAweEY4LCAweEYyLCAweDYwLCAweDk2LAotIDB4RDYsIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsIDB4NEUsIDB4RjgsIDB4RjcsIDB4RjIsIDB4OTYsIDB4RDYsCi0gMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGNywgMHhGOSwgMHhGMiwgMHg2MCwgMHg2MCwgMHg5NiwKLSAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEY1LCAweEY4LCAweEYyLCAweDYwLCAweDk2LAotIDB4RDYsIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsIDB4NEUsIDB4RjAsIDB4RjAsIDB4RjUsIDB4NjAsIDB4RDMsCi0gMHg5MywgMHhDMSwgMHg4MSwgMHhENSwgMHg5NSwgMHhENiwgMHg5NiwgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywgMHhDMSwgMHg4MSwKLSAweEQ1LCAweDk1LCAweEQ5LCAweDk5LCAweEM1LCAweDg1LCAweDk2LCAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LAotIDB4ODUsIDB4NEUsIDB4RjEsIDB4RjcsIDB4RjgsIDB4OTYsIDB4RDYsIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsCi0gMHg0RSwgMHhGMCwgMHhGOCwgMHhGMiwgMHg2MCwgMHg2MCwgMHhFMywgMHhBMywgMHg5NiwgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwKLSAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEY3LCAweEYzLCAweDYwLCAweDc3LCAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LAotIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjcsIDB4RjMsIDB4NjAsIDB4RTIsIDB4QUIsIDB4QzUsIDB4NjYsIDB4RTIsIDB4QTIsIDB4QzUsCi0gMHg4NSwgMHhENiwgMHg5NiwgMHhFMywgMHhFMiwgMHhENSwgMHhBMywgMHhBMiwgMHg5NSwgMHhDMiwgMHg4MiwgMHg4OSwgMHhDOSwKLSAweEQ5LCAweDk5LCAweEUyLCAweEEyLCAweDkyLCAweEQyLCAweEM1LCAweDg1LCAweEU4LCAweEQ3LCAweEI4LCAweEE4LCAweDk3LAotIDB4NzgsIDB4RDYsIDB4NzcsIDB4QzEsIDB4ODEsIDB4NjIsIDB4RDcsIDB4OTcsIDB4NzgsIDB4RTMsIDB4RTIsIDB4RDUsIDB4QjMsCi0gMHhBQiwgMHg3NiwgMHhDMiwgMHg2MywgMHg3MSwgMHhDOSwgMHhEOSwgMHg5QiwgMHhFMiwgMHhBQiwgMHg3MywgMHhEMiwgMHhDNSwKLSAweDY2LCAweEQ3LCAweDc4LCAweEU0LCAweEUyLCAweEQ1LCAweEQzLCAweEQxLCAweEM5LCAweEM3LCAweEM2LCAweEM1LCAweEM0LAotIDB4QzMsIDB4QjQsIDB4QUIsIDB4QTQsIDB4QTIsIDB4OTUsIDB4OTMsIDB4OTEsIDB4ODksIDB4ODcsIDB4ODYsIDB4ODUsIDB4ODQsCi0gMHg4MywgMHg3NiwgMHg3NCwgMHg3MiwgMHg3MSwgMHg2OCwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHgwMCwgMHg2MCwgMHhDMywKLSAweDgzLCAweDY0LCAweEM5LCAweDg5LCAweDcxLCAweEM0LCAweDg0LCAweDY1LCAweEY0LCAweEY4LCAweEYxLCAweEYxLCAweDYwLAotIDB4QzEsIDB4ODEsIDB4NjIsIDB4RjgsIDB4RjIsIDB4RjksIDB4NkQsIDB4RTMsIDB4QjMsIDB4QTMsIDB4NkUsIDB4QzgsIDB4ODgsCi0gMHg2OSwgMHg5OSwgMHg5QiwgMHhEOSwgMHg3OCwgMHg5NywgMHhENywgMHg3NiwgMHg5NSwgMHhENSwgMHg2OSwgMHg4OCwgMHhDOCwKLSAweEUzLCAweEQyLCAweEQxLCAweEMzLCAweEIzLCAweEEzLCAweDkyLCAweDkxLCAweDgzLCAweDczLCAweDcyLCAweDY0LCAweEUzLAotIDB4QjMsIDB4QTMsIDB4NjAsIDB4ODUsIDB4QzUsIDB4RTIsIDB4QTIsIDB4QzUsIDB4ODUsIDB4RDUsIDB4OTUsIDB4QzEsIDB4ODEsCi0gMHhENywgMHg5NywgMHhDMSwgMHg4MSwgMHhEMSwgMHg5MSwgMHg2RCwgMHhEOSwgMHg5OSwgMHhENiwgMHg5NiwgMHhDNiwgMHg4NiwKLSAweDZELCAweEUzLCAweEEzLCAweEMxLCAweDgxLCAweEQ0LCAweDk0LCAweEQ5LCAweDk5LCAweEQ2LCAweDk2LCAweEM2LCAweDg2LAotIDB4NkQsIDB4QzQsIDB4ODQsIDB4QzUsIDB4ODUsIDB4RDIsIDB4OTIsIDB4QzMsIDB4ODMsIDB4QzEsIDB4ODEsIDB4RDcsIDB4OTcsCi0gMHg2RCwgMHhDNSwgMHg4NSwgMHhDNCwgMHg4NCwgMHhENiwgMHg5NiwgMHhDMywgMHg4MywgMHg2RCwgMHhFNywgMHhBNywgMHhDOSwKLSAweDg5LCAweEQ1LCAweDk1LCAweEU0LCAweEE0LCAweDZELCAweEM0LCAweDg0LCAweEM1LCAweDg1LCAweEM0LCAweDg0LCAweEQ1LAotIDB4OTUsIDB4QzUsIDB4ODUsIDB4NkQsIDB4RDksIDB4OUIsIDB4RDYsIDB4NzcsIDB4QzYsIDB4NjcsIDB4NkQsIDB4RTMsIDB4QjMsCi0gMHhDMSwgMHg2MiwgMHhENCwgMHg3NSwgMHhEOSwgMHg5QiwgMHhENiwgMHg3NywgMHhDNiwgMHg2NywgMHg2RCwgMHhDNCwgMHg2NSwKLSAweEM1LCAweDY2LCAweEQyLCAweDczLCAweEMzLCAweDY0LCAweEMxLCAweDYyLCAweEQ3LCAweDc4LCAweDZELCAweEM1LCAweDY2LAotIDB4QzQsIDB4NjUsIDB4RDYsIDB4NzcsIDB4QzMsIDB4NjQsIDB4NkQsIDB4RTcsIDB4QjcsIDB4QzksIDB4NzEsIDB4RDUsIDB4NzYsCi0gMHhFNCwgMHhCNCwgMHg2RCwgMHhDNCwgMHg2NSwgMHhDNSwgMHg2NiwgMHhDNCwgMHg2NSwgMHhENSwgMHg3NiwgMHhDNSwgMHg2NiwKLSAweEUzLCAweEIzLCAweEUzLCAweEEzLCAweEMzLCAweDgzLCAweDY0LCAweEQ2LCAweDk2LCAweDc3LCAweEQ0LCAweDk0LCAweDc1LAotIDB4QzMsIDB4ODMsIDB4NjQsIDB4RjMsIDB4RjQsIDB4RjgsIDB4RjksIDB4RjAsIDB4MDAsIDB4RjMsIDB4RjEsIDB4MDAsIDB4RjksCi0gMHhGNiwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwKLSAweEY2LCAweEY5LCAweEY0LCAweEY3LCAweEYwLCAweEYzLCAweEYyLCAweEYxLCAweEYwLCAweEYyLCAweEY0LCAweEY5LCAweEY4LAotIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjMsIDB4RjEsIDB4RjUsIDB4RjYsIDB4RjcsIDB4RjgsIDB4RjksIDB4RjQsIDB4RjMsIDB4RjIsCi0gMHhGMSwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNSwgMHhGNCwgMHhGMywgMHhGMCwgMHhGOCwgMHhGNSwgMHhGMSwgMHhGMCwKLSAweEYzLCAweEY2LCAweEY5LCAweEY0LCAweEYxLCAweEYyLCAweEY1LCAweEYyLCAweEYxLCAweEYwLCAweEY5LCAweEYwLCAweEYxLAotIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4RjcsIDB4RjgsIDB4RjUsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjYsIDB4RjUsCi0gMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHgwMCwgMHhGNywgMHgwMCwgMHhGNiwgMHhGOCwgMHhGMiwgMHhGMSwgMHhGMCwKLSAweEYyLCAweEY3LCAweEY1LCAweEY4LCAweEYxLCAweEYwLCAweEY5LCAweEY0LCAweEY2LCAweEY3LCAweEY4LCAweEY1LCAweEYzLAotIDB4RjIsIDB4RjEsIDB4NjAsIDB4NjIsIDB4QzEsIDB4RjgsIDB4RjcsIDB4RjksIDB4RjgsIDB4RjEsIDB4RjcsIDB4RjYsIDB4RjMsCi0gMHhGMiwgMHhGMSwgMHhGMCwgMHhGNiwgMHhGNywgMHhGNSwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywKLSAweEYyLCAweEYxLCAweEYwLCAweEY5LCAweEY4LCAweEY0LCAweEYwLCAweEY4LCAweEY3LCAweEY2LCAweEY1LCAweEY0LCAweEYzLAotIDB4RjcsIDB4RjMsIDB4RjIsIDB4RjAsIDB4RjksIDB4RjMsIDB4RjIsIDB4RjUsIDB4RjQsIDB4RjIsIDB4RjgsIDB4RjMsIDB4RjIsCi0gMHhGMSwgMHhGMCwgMHhGNiwgMHhGNSwgMHhGMCwgMHhGMiwgMHhGMCwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywKLSAweEYxLCAweEYzLCAweEY1LCAweEYxLCAweEYzLCAweEY4LCAweEY0LCAweEYxLCAweEY4LCAweEY5LCAweEYyLCAweEY2LCAweEYzLAotIDB4RjgsIDB4RjEsIDB4RjAsIDB4RjUsIDB4RjMsIDB4RjMsIDB4RjQsIDB4RjgsIDB4RjIsIDB4RjQsIDB4RjUsIDB4RjMsIDB4RjksCi0gMHhGOCwgMHhGNywgMHhGNiwgMHhGNCwgMHhGMSwgMHhGOCwgMHhGNywgMHhGNSwgMHhGMywgMHhGMCwgMHhGNCwgMHhGNiwgMHhGNSwKLSAweEYzLCAweEYyLCAweEYxLCAweEY5LCAweEY4LCAweEY1LCAweEY0LCAweEYyLCAweEYxLCAweEYwLCAweEY2LCAweEY0LCAweEY5LAotIDB4RjAsIDB4RjAsIDB4RjQsIDB4RjUsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjIsIDB4RjIsIDB4RjcsIDB4RjEsIDB4RjAsIDB4RjYsCi0gMHhGMSwgMHhGNSwgMHhGMCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGNywgMHhGOSwKLSAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYwLCAweEY1LCAweEY2LCAweEYzLCAweEYwLCAweEY0LCAweEY2LCAweEY3LCAweEY4LAotIDB4RjksIDB4RjgsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjcsIDB4RjUsIDB4RjQsIDB4RjIsIDB4RjAsIDB4RjUsIDB4RjMsIDB4RjIsCi0gMHhGMiwgMHhGNSwgMHhGNSwgMHhGNSwgMHhGNCwgMHhGMSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMiwgMHhGOSwgMHhGNywKLSAweEYwLCAweDAwLCAweEYyLCAweEYxLCAweEY3LCAweEY2LCAweEYwLCAweEYxLCAweEY0LCAweEY4LCAweEY1LCAweEYwLCAweEYyLAotIDB4RjMsIDB4RjUsIDB4RjYsIDB4RjksIDB4RjgsIDB4RjQsIDB4RjEsIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjUsIDB4RjcsIDB4RjgsCi0gMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGMywgMHhGOSwgMHhGMywgMHhGNiwgMHgwMCwgMHhGNiwgMHgwMCwgMHhGMCwgMHhGNywKLSAweEY4LCAweEY5LCAweDAwLCAweEYwLCAweEY1LCAweEY0LCAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEYxLCAweEYwLCAweEYzLAotIDB4RjksIDB4RjcsIDB4RjYsIDB4RjQsIDB4RjIsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsCi0gMHhGMCwgMHhGNCwgMHhGMSwgMHhGMywgMHhGMCwgMHhGOCwgMHhGNywgMHhGNiwgMHhGMiwgMHhGOCwgMHhGMiwgMHhGMywgMHhGNCwKLSAweEY2LCAweEY1LCAweEY0LCAweEY2LCAweEY1LCAweEYzLCAweEY3LCAweEY2LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYxLAotIDB4RjAsIDB4RjgsIDB4RjksIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjMsIDB4RjEsIDB4RjcsIDB4RjMsIDB4RjIsIDB4RjIsIDB4RjEsCi0gMHhGNywgMHhGNCwgMHhGMywgMHhGMSwgMHhGMCwgMHhGMiwgMHhGOSwgMHhGMywgMHhGNywgMHhGNiwgMHhGMywgMHhGMCwgMHhGOSwKLSAweEY3LCAweEY4LCAweEY1LCAweEY3LCAweEYzLCAweEYyLCAweEYxLCAweEYwLCAweEYwLCAweEY5LCAweEY4LCAweEY3LCAweEY2LAotIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4NjAsIDB4RjgsIDB4RjksIDB4RjQsIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjAsCi0gMHhGMCwgMHhGMSwgMHhGOSwgMHhGMywgMHhGNCwgMHhGMiwgMHhGMSwgMHhGMCwgMHhGNiwgMHhGNSwgMHhGMSwgMHg2MCwgMHg5QiwKLSAweEQ5LCAweEM5LCAweDcxLCAweDYwLCAweEQ2LCAweDc3LCAweEQ0LCAweDc1LCAweEQ1LCAweDc2LCAweDc2LCAweEQ1LCAweEMxLAotIDB4NjIsIDB4QzUsIDB4NjYsIDB4RDksIDB4OUIsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RDUsIDB4NzYsIDB4QzksCi0gMHg3MSwgMHhFMywgMHhCMywgMHg2MCwgMHhGNSwgMHhBMiwgMHhFMiwgMHhDMywgMHg4MywgMHhFMiwgMHhBMiwgMHhEMiwgMHg5MiwKLSAweEM4LCAweDg4LCAweDYwLCAweEY1LCAweEM3LCAweDg3LCAweEM3LCAweDY4LCAweEYxLCAweEYwLCAweEYwLCAweEM0LCAweDg0LAotIDB4NjUsIDB4QzksIDB4ODksIDB4NzEsIDB4QTIsIDB4RTIsIDB4OTksIDB4RDksIDB4OTksIDB4RDksIDB4RjIsIDB4RjMsIDB4RjgsCi0gMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNSwgMHhGNiwgMHhGOSwgMHhGOCwgMHhGNCwgMHhGOSwgMHhGNiwgMHhGNCwgMHhGMywKLSAweEY1LCAweEYxLCAweEYzLCAweEYwLCAweEY1LCAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEYxLCAweEY5LCAweEY4LCAweEY3LAotIDB4RjAsIDB4QzksIDB4QzcsIDB4QzEsIDB4ODksIDB4ODcsIDB4ODEsIDB4ODUsIDB4QzUsIDB4RTIsIDB4QTIsIDB4QzUsIDB4ODUsCi0gMHhENSwgMHg5NSwgMHhDNCwgMHg4NCwgMHhEOSwgMHg5OSwgMHhDMSwgMHg4MSwgMHhDNCwgMHg4NCwgMHhENSwgMHg5NSwgMHhDMSwKLSAweDgxLCAweEUzLCAweEEzLCAweEUyLCAweEEyLCAweEM1LCAweDg1LCAweEMyLCAweDgyLCAweDg5LCAweEM5LCAweEM5LCAweDg5LAotIDB4QzMsIDB4ODMsIDB4RDYsIDB4OTYsIDB4RjUsIDB4QzcsIDB4ODcsIDB4RTMsIDB4QTMsIDB4RDQsIDB4OTQsIDB4QzYsIDB4ODYsCi0gMHhDNCwgMHg4NCwgMHg4OCwgMHhDOCwgMHhEMiwgMHg5MiwgMHg5OSwgMHhEOSwgMHhFMywgMHhENywgMHhEMiwgMHhBMywgMHg5NywKLSAweDkyLCAweEMzLCAweDgzLCAweDkyLCAweEQyLCAweEYyLCAweEMxLCAweDgxLCAweEQ1LCAweDk1LCAweEMxLCAweDgxLCAweEQyLAotIDB4OTIsIDB4QzEsIDB4ODEsIDB4RTMsIDB4QTMsIDB4QzEsIDB4ODEsIDB4RDIsIDB4OTIsIDB4QzgsIDB4ODgsIDB4RTMsIDB4QTMsCi0gMHhDNCwgMHg4NCwgMHhDOSwgMHg4OSwgMHhFNiwgMHhBNiwgMHhDNiwgMHg4NiwgMHg5NSwgMHhENSwgMHhDMSwgMHg4MSwgMHhENCwKLSAweDk0LCAweDk2LCAweEQ2LCAweEQ5LCAweDk5LCAweEQzLCAweDkzLCAweDg5LCAweEM5LCAweEMxLCAweDgxLCAweDg4LCAweEM4LAotIDB4RjUsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjQsIDB4RTMsIDB4QTMsIDB4RDQsIDB4OTQsIDB4QzMsIDB4ODMsCi0gMHhDOSwgMHg4OSwgMHhEMywgMHg5MywgMHhEMywgMHg5MywgMHhDOSwgMHg4OSwgMHhEOSwgMHg5OSwgMHg5MiwgMHhEMiwgMHhDNSwKLSAweDg1LCAweEM1LCAweDg1LCAweEE2LCAweEU2LCAweEM1LCAweDg1LCAweEQ5LCAweDk5LCAweEMyLCAweDgyLCAweDg1LCAweEM1LAotIDB4RDksIDB4OTksIDB4RTgsIDB4QTgsIDB4RDksIDB4OTksIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4QzgsIDB4QzcsCi0gMHhDMywgMHhDMSwgMHg4OCwgMHg4NywgMHg4MywgMHg4MSwgMHhENSwgMHg5NSwgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywgMHhDMiwKLSAweDgyLCAweEM3LCAweDg3LCAweEY4LCAweEMxLCAweDgxLCAweEY4LCAweEY1LCAweEQzLCAweDkzLCAweEQ2LCAweDk2LCAweEQ0LAotIDB4QzIsIDB4OTQsIDB4ODIsIDB4OTksIDB4RDksIDB4RjgsIDB4QzMsIDB4ODMsIDB4QzksIDB4ODksIDB4ODMsIDB4QzMsIDB4QzksCi0gMHg4OSwgMHhFMywgMHhBMywgMHhEMywgMHg5MywgMHhDMSwgMHg4MSwgMHhDMiwgMHg4MiwgMHhGNSwgMHhDNSwgMHg4NSwgMHhDNywKLSAweDg3LCAweEMxLCAweDgxLCAweEQ3LCAweDk3LCAweEM1LCAweDg1LCAweEM0LCAweDg0LCAweDkzLCAweEQzLCAweEMxLCAweDgxLAotIDB4RTQsIDB4QTQsIDB4QzcsIDB4ODcsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RDMsIDB4OTMsIDB4QzksIDB4ODksIDB4RTMsCi0gMHhBMywgMHhEMywgMHg5MywgMHhFNCwgMHhBNCwgMHhENCwgMHg5NCwgMHhBNiwgMHhFNiwgMHhDNSwgMHg4NSwgMHhEOSwgMHg5OSwKLSAweEMyLCAweDgyLCAweEM1LCAweDg1LCAweEM4LCAweDg4LCAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEUzLCAweEEzLCAweEMxLAotIDB4ODEsIDB4RDMsIDB4OTMsIDB4RjIsIDB4RjAsIDB4RDYsIDB4OTYsIDB4RjYsIDB4RjUsIDB4QzMsIDB4ODMsIDB4RjcsIDB4RjgsCi0gMHhGNywgMHhENywgMHg5NywgMHhFMiwgMHhBMiwgMHhDOSwgMHg4OSwgMHhEMSwgMHg5MSwgMHhBMywgMHhFMywgMHhDNiwgMHg4NiwKLSAweEM5LCAweDg5LCAweEEyLCAweEUyLCAweDg1LCAweEM1LCAweEM0LCAweDg0LCAweEQ2LCAweDk2LCAweEMzLCAweDgzLCAweDg1LAotIDB4QzUsIDB4ODUsIDB4QzUsIDB4RDMsIDB4QzIsIDB4OTMsIDB4ODIsIDB4ODUsIDB4QzUsIDB4ODUsIDB4QzUsIDB4RDMsIDB4QzIsCi0gMHg5MywgMHg4MiwgMHhGMiwgMHhGNiwgMHhGOCwgMHhGMywgMHhGMSwgMHhDNiwgMHg4NiwgMHhDOSwgMHg4OSwgMHhENSwgMHg5NSwKLSAweEM5LCAweDg5LCAweEUzLCAweEEzLCAweEMxLCAweDgxLCAweEQzLCAweDkzLCAweEYxLCAweEYxLCAweEYzLCAweEUyLCAweEEyLAotIDB4RTYsIDB4QTYsIDB4RDYsIDB4OTYsIDB4QzQsIDB4ODQsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4RDUsIDB4QTMsCi0gMHg5NSwgMHhDOSwgMHg4OSwgMHhDOCwgMHg4OCwgMHhDMywgMHg4MywgMHhFMiwgMHhENiwgMHhBMiwgMHg5NiwgMHhFMiwgMHhDMiwKLSAweEEyLCAweDgyLCAweDk3LCAweEQ3LCAweEMxLCAweDgxLCAweEMyLCAweDgyLCAweEU0LCAweEE0LCAweEM5LCAweDg5LCAweEUyLAotIDB4QzQsIDB4QTIsIDB4ODQsIDB4ODMsIDB4QzMsIDB4QzksIDB4ODksIDB4RDMsIDB4OTMsIDB4RDMsIDB4OTMsIDB4QzksIDB4ODksCi0gMHhEOSwgMHg5OSwgMHhFNiwgMHhFNCwgMHhFMywgMHhFMiwgMHhENywgMHhEMiwgMHhDOSwgMHhDOCwgMHhDNywgMHhDNSwgMHhDMiwKLSAweEMxLCAweEE2LCAweEE0LCAweEEzLCAweEEyLCAweDk3LCAweDkyLCAweDg5LCAweDg4LCAweDg3LCAweDg1LCAweDgyLCAweDgxLAotIDB4QzksIDB4ODksIDB4RjcsIDB4RjQsIDB4RjMsIDB4RjUsIDB4RjAsIDB4RjgsIDB4RjksIDB4RjIsIDB4RjEsIDB4NjAsIDB4RTIsCi0gMHhBQiwgMHhBMiwgMHg2MCwgMHhGMiwgMHhGMSwgMHhGMywgMHhGMiwgMHhEMiwgMHg5MiwgMHhDNSwgMHg4NSwgMHhDNSwgMHg4NSwKLSAweDczLCAweDkyLCAweEQyLCAweEYyLCAweDZELCAweDYwLCAweEM4LCAweDg4LCAweDY5LCAweEY3LCAweEYwLCAweEY3LCAweEYwLAotIDB4RjUsIDB4RjQsIDB4RjAsIDB4RjgsIDB4RjcsIDB4RjMsIDB4RjYsIDB4RjcsIDB4RjAsIDB4RjEsIDB4RjcsIDB4RjQsIDB4RjMsCi0gMHhGMCwgMHhGMCwgMHhGNSwgMHhGNywgMHhGMCwgMHhGNywgMHhGMSwgMHhGNiwgMHhGMCwgMHhGNCwgMHhGOCwgMHhGMSwgMHhGMCwKLSAweEY1LCAweEY5LCAweEY2LCAweEY1LCAweEYzLCAweEYyLCAweEYxLCAweEYwLCAweEY4LCAweEY0LCAweEY3LCAweEY1LCAweEYyLAotIDB4RjEsIDB4RjAsIDB4RjgsIDB4RjgsIDB4RjMsIDB4RjUsIDB4RjYsIDB4RjcsIDB4RjksIDB4RjMsIDB4RjAsIDB4RjQsIDB4RjUsCi0gMHhGMCwgMHhGMSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMywgMHhGMiwgMHhGNCwgMHhGNiwgMHhGNywgMHhGOSwgMHhGMCwKLSAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY5LCAweEYwLCAweEYzLCAweEYxLCAweEY0LCAweEYyLAotIDB4RjYsIDB4RjcsIDB4RjgsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjYsIDB4RjgsIDB4RjQsIDB4RjUsIDB4RjMsIDB4RjcsCi0gMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGMywKLSAweEYxLCAweEY3LCAweEYzLCAweEYyLCAweEYwLCAweEYzLCAweEYyLCAweEY2LCAweEYwLCAweEY5LCAweEY4LCAweEY3LCAweEY1LAotIDB4RjMsIDB4RjAsIDB4RjcsIDB4RjgsIDB4RjksIDB4RjgsIDB4RjEsIDB4RjcsIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjYsCi0gMHhGNiwgMHhGNSwgMHhGNywgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGOSwKLSAweEY4LCAweEY5LCAweEYwLCAweEY0LCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY5LCAweEY4LCAweEY3LAotIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjAsIDB4RjIsIDB4RjMsIDB4RjcsIDB4RjIsIDB4RjMsCi0gMHhGOSwgMHhGMiwgMHhGNCwgMHhGNSwgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNiwgMHhGNSwgMHhGMCwgMHhGMiwgMHhGMSwKLSAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY1LCAweEYzLCAweEY4LCAweEYzLCAweEYxLCAweEYyLCAweEY5LAotIDB4RjYsIDB4RjMsIDB4RjAsIDB4RjEsIDB4RjgsIDB4RjUsIDB4RjMsIDB4RjMsIDB4RjQsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsCi0gMHhGOCwgMHhGNywgMHhGNSwgMHhGMywgMHhGMCwgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGOSwgMHhGOCwKLSAweEY1LCAweEY0LCAweEYyLCAweEYxLCAweEYwLCAweEY2LCAweEYxLCAweEYwLCAweEY1LCAweEYxLCAweEYyLCAweEYzLCAweEY4LAotIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjksIDB4RjAsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjUsIDB4RjYsIDB4RjMsCi0gMHhGNCwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGOCwgMHhGNywgMHhGNSwgMHhGNCwgMHhGMiwgMHhGNSwgMHhGMywKLSAweEYyLCAweEYyLCAweEYxLCAweEY2LCAweEY2LCAweEYwLCAweEY5LCAweEY4LCAweEY3LCAweEY0LCAweEY2LCAweEY1LCAweEYzLAotIDB4RjQsIDB4RjAsIDB4RjYsIDB4RjQsIDB4RjMsIDB4RjEsIDB4RjAsIDB4RjksIDB4RjMsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsCi0gMHhGOSwgMHhGOCwgMHhGNywgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMCwgMHhGOCwgMHhGMCwgMHhGMSwgMHhGNCwgMHhGOCwKLSAweEY4LCAweEYyLCAweEY0LCAweEY1LCAweEYzLCAweEY0LCAweEYxLCAweEY3LCAweEY2LCAweEY0LCAweEY5LCAweEYwLCAweEY3LAotIDB4RjUsIDB4RjIsIDB4RjIsIDB4RjcsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjUsIDB4RjUsIDB4RjUsIDB4RjQsIDB4RjEsCi0gMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMiwgMHhGOSwgMHhGMiwgMHhGMSwgMHhGNywgMHhGMywgMHhGOCwgMHhGNSwgMHhGNywKLSAweEYzLCAweEYyLCAweEY5LCAweEY4LCAweEY1LCAweEY0LCAweEYxLCAweEYwLCAweEY2LCAweEY1LCAweEYzLCAweEYyLCAweEYxLAotIDB4RjAsIDB4QzQsIDB4ODQsIDB4NjUsIDB4QzksIDB4ODksIDB4NzEsIDB4RTIsIDB4QUIsIDB4QTIsIDB4RjEsIDB4RjAsIDB4QzMsCi0gMHg4MywgMHg2NCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhFMywKLSAweEIzLCAweEEzLCAweEY5LCAweEY4LCAweEY3LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYxLCAweEYwLCAweEMzLCAweDgzLAotIDB4NjQsIDB4NjAsIDB4QzEsIDB4ODEsIDB4RjIsIDB4NjAsIDB4RTIsIDB4QUIsIDB4QTIsIDB4QzMsIDB4ODMsIDB4NjQsIDB4RTQsCi0gMHhCNCwgMHhBNCwgMHg2MCwgMHhGNiwgMHhGNCwgMHhGNiwgMHhGMSwgMHg2MCwgMHg3NiwgMHhENSwgMHhDOSwgMHg3MSwgMHhFMywKLSAweEIzLCAweEMxLCAweDYyLCAweEQzLCAweDc0LCAweDYwLCAweEYxLCAweDRCLCAweEYzLCAweDYwLCAweEUyLCAweEFCLCAweEU2LAotIDB4QjYsIDB4RDYsIDB4NzcsIDB4QzQsIDB4NjUsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4QzEsIDB4ODEsCi0gMHhEMywgMHg5MywgMHg2MCwgMHhGMSwgMHg0QiwgMHhGMywgMHg2MCwgMHhFMiwgMHhBMiwgMHhFNiwgMHhBNiwgMHhENiwgMHg5NiwKLSAweEM0LCAweDg0LCAweEQ1LCAweDk1LCAweEQ1LCAweDc2LCAweEM5LCAweDg5LCAweDcxLCAweEU2LCAweEI2LCAweEE2LCAweEYyLAotIDB4NjAsIDB4NzYsIDB4RDUsIDB4QzksIDB4NzEsIDB4RTMsIDB4QjMsIDB4QzEsIDB4NjIsIDB4RDMsIDB4NzQsIDB4NjAsIDB4RTIsCi0gMHhBQiwgMHhFNiwgMHhCNiwgMHhENiwgMHg3NywgMHhDNCwgMHg2NSwgMHhENSwgMHg5NSwgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywKLSAweEMxLCAweDgxLCAweEQzLCAweDkzLCAweDYwLCAweEUyLCAweEEyLCAweEU2LCAweEE2LCAweEQ2LCAweDk2LCAweEM0LCAweDg0LAotIDB4RDUsIDB4OTUsIDB4RDUsIDB4NzYsIDB4QzksIDB4ODksIDB4NzEsIDB4RTYsIDB4QjYsIDB4QTYsIDB4MDAsIDB4NjAsIDB4MDAsCi0gMHhGNSwgMHhGMywgMHg2MCwgMHhGNiwgMHhGMywgMHhGNCwgMHhGOSwgMHhGNywgMHhGOCwgMHhGNSwgMHhGMiwgMHhGMSwgMHg2MCwKLSAweEY5LCAweEY1LCAweEY4LCAweEYwLCAweEQ5LCAweDk5LCAweEYxLCAweEY5LCAweEY5LCAweEYxLCAweDdBLCAweEI1LCAweEU1LAotIDB4RTUsIDB4QTUsIDB4RDksIDB4OTksIDB4RDksIDB4OUIsIDB4QzksIDB4ODksIDB4NzEsIDB4NEIsIDB4RjYsIDB4RjcsIDB4RjgsCi0gMHhGOSwgMHhGMSwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMSwgMHhGOCwgMHhGOCwgMHhGOSwgMHhGMSwgMHhGOCwgMHhGOCwgMHhGOSwKLSAweEYxLCAweEY4LCAweEY4LCAweEY5LCAweEYxLCAweEY3LCAweEY4LCAweEY5LCAweEYxLCAweEY3LCAweEY4LCAweEY5LCAweEYxLAotIDB4RjgsIDB4RjksIDB4RjEsIDB4RjksIDB4RjgsIDB4RjksIDB4RjEsIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsCi0gMHgwMCwgMHg3QSwgMHgwMCwgMHg3QSwgMHgwMCwgMHg3QSwgMHgwMCwgMHg3QSwgMHgwMCwgMHg3QSwgMHgwMCwgMHhGNSwgMHg3QSwKLSAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYxLCAweDYwLCAweEY5LCAweEY1LCAweEY4LAotIDB4RjQsIDB4QTIsIDB4QUIsIDB4RTIsIDB4RTQsIDB4QjQsIDB4QTQsIDB4NjAsIDB4RjYsIDB4RjQsIDB4RjgsIDB4RjYsIDB4RjgsCi0gMHhGMSwgMHhDOSwgMHg4OSwgMHhGNiwgMHg2RCwgMHg2MCwgMHhENiwgMHg5NiwgMHg3NywgMHhENSwgMHg5NSwgMHhENCwgMHg5NCwKLSAweDc1LCAweEQ5LCAweDlCLCAweDk5LCAweDYwLCAweDk1LCAweEQ1LCAweEMxLCAweDgxLCAweEM1LCAweDg1LCAweEY4LCAweEYxLAotIDB4RjAsIDB4RjYsIDB4RjUsIDB4RjksIDB4RjcsIDB4RjgsIDB4RjksIDB4RjEsIDB4NjAsIDB4RjEsIDB4RjAsIDB4RjYsIDB4RjUsCi0gMHg2RCwgMHhDMywgMHg4MywgMHg2NCwgMHg2RCwgMHhDMywgMHg4MywgMHg2RCwgMHg2NCwgMHhEOSwgMHhDOSwgMHg5OSwgMHg4OSwKLSAweDcxLCAweEY5LCAweDYwLCAweEQ1LCAweDc2LCAweEM5LCAweDcxLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweDYwLAotIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4RTMsIDB4QjMsIDB4NzEsIDB4QzksIDB4RDEsIDB4NzIsIDB4ODksCi0gMHhDOSwgMHhEMSwgMHg5MSwgMHhENSwgMHg5NSwgMHhENSwgMHg3NiwgMHhDMSwgMHg4MSwgMHg2MiwgMHhGMywgMHhEMiwgMHg5MiwKLSAweDczLCAweEY5LCAweDZELCAweDk2LCAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEYwLAotIDB4RjUsIDB4RjgsIDB4NjAsIDB4RDMsIDB4OTMsIDB4QzEsIDB4ODEsIDB4RTQsIDB4QTQsIDB4QzcsIDB4ODcsIDB4RDUsIDB4OTUsCi0gMHhDOSwgMHg4OSwgMHhEMywgMHg5MywgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywgMHhENiwgMHg3NywgMHhEOSwgMHg5QiwgMHhFNCwKLSAweEI0LCAweEM1LCAweDY2LCAweDRFLCAweEYwLCAweEY1LCAweEY4LCAweDYwLCAweEQzLCAweDc0LCAweEMxLCAweDYyLCAweEU0LAotIDB4QjQsIDB4QzcsIDB4NjgsIDB4RDUsIDB4NzYsIDB4QzksIDB4NzEsIDB4RDMsIDB4NzQsIDB4QzksIDB4NzEsIDB4RTMsIDB4QjMsCi0gMHhEMywgMHg3NCwgMHhEMywgMHg5MywgMHhFNCwgMHhCNCwgMHhBNCwgMHhENCwgMHg5NCwgMHg3NSwgMHg2MCwgMHg2RCwgMHhFMywKLSAweEIzLCAweEM2LCAweDY3LCAweDZELCAweEUzLCAweEEzLCAweEM2LCAweDg2LCAweEM5LCAweDg5LCAweEM5LCAweDcxLCAweDYwLAotIDB4RTIsIDB4QUIsIDB4QTIsIDB4RjIsIDB4NjAsIDB4QzMsIDB4ODMsIDB4NjQsIDB4RTIsIDB4QUIsIDB4QTIsIDB4QzEsIDB4ODEsCi0gMHg2MiwgMHhDNSwgMHg4NSwgMHg2NiwgMHhDNSwgMHg4NSwgMHg2NiwgMHg3NCwgMHg5MywgMHhEMywgMHg2MywgMHg4MiwgMHhDMiwKLSAweEQzLCAweEMyLCAweDkzLCAweDgyLCAweDc0LCAweDYzLCAweDYwLCAweEM1LCAweDg1LCAweDY2LCAweEM1LCAweDg1LCAweDY2LAotIDB4NzQsIDB4OTMsIDB4RDMsIDB4NjMsIDB4ODIsIDB4QzIsIDB4RDMsIDB4QzIsIDB4OTMsIDB4ODIsIDB4NzQsIDB4NjMsIDB4NjAsCi0gMHhGMiwgMHhGNiwgMHhGOCwgMHhGMywgMHhGMSwgMHhGOCwgMHhGMywgMHhGMSwgMHg2MCwgMHhDNiwgMHg4NiwgMHg2NywgMHgwMCwKLSAweDYwLCAweEUyLCAweEFCLCAweEEyLCAweEY5LCAweEYxLCAweDYwLCAweEEyLCAweEUyLCAweEU2LCAweEE2LCAweEQ2LCAweDk2LAotIDB4QzQsIDB4ODQsIDB4RDUsIDB4OTUsIDB4RTIsIDB4QUIsIDB4RTYsIDB4QjYsIDB4RDYsIDB4NzcsIDB4QzQsIDB4NjUsIDB4RDUsCi0gMHg3NiwgMHhGOSwgMHhGNiwgMHhGNSwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwKLSAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLAotIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsCi0gMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwKLSAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLAotIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsCi0gMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGNiwgMHhGNSwgMHhDOSwgMHg3MSwgMHhDOSwgMHg4OSwKLSAweEUzLCAweEUyLCAweEMzLCAweEIzLCAweEFCLCAweEEzLCAweEEyLCAweDgzLCAweDY0LCAweEM5LCAweDg5LCAweDcxLCAweEM4LAotIDB4ODgsIDB4NjksIDB4RjgsIDB4RDYsIDB4NzcsIDB4RjgsIDB4RDYsIDB4OTYsIDB4QzMsIDB4ODMsIDB4NjQsIDB4RTIsIDB4QUIsCi0gMHhBMiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhDMSwgMHg4MSwgMHg2MiwgMHhFMiwgMHhENiwgMHhBQiwgMHhBMiwKLSAweDk2LCAweDc3LCAweEUyLCAweEMyLCAweEMxLCAweEFCLCAweEEyLCAweDgyLCAweDgxLCAweDYzLCAweEQ3LCAweEM1LCAweDk3LAotIDB4ODUsIDB4RDksIDB4QzIsIDB4OTksIDB4ODIsIDB4NjMsIDB4RTgsIDB4RTIsIDB4RDcsIDB4QzgsIDB4QzMsIDB4QTgsIDB4QTIsCi0gMHg5NywgMHg4OCwgMHg4MywgMHg3OCwgMHg2NCwgMHhDOSwgMHg4OSwgMHg3MSwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwKLSAweEMxLCAweDYyLCAweEQ2LCAweDc3LCAweEUyLCAweEMyLCAweEMxLCAweEFCLCAweDYzLCAweDYyLCAweEU3LCAweEU0LCAweEQzLAotIDB4QzMsIDB4QzIsIDB4QjcsIDB4QjQsIDB4QTcsIDB4QTQsIDB4OTMsIDB4ODMsIDB4ODIsIDB4NzQsIDB4NjQsIDB4NjMsIDB4RTgsCi0gMHhFMiwgMHhENywgMHhDOCwgMHhCOCwgMHhBQiwgMHg3OCwgMHg2OSwgMHg5QiwgMHg5OSwgMHhEOSwgMHhFMiwgMHhENSwgMHhDNCwKLSAweEFCLCAweEEyLCAweDk1LCAweDg0LCAweDc2LCAweDY1LCAweDY5LCAweDQ5LCAweDc0LCAweDczLCAweDYzLCAweDU0LCAweDUzLAotIDB4NDMsIDB4NjksIDB4NDksIDB4NjgsIDB4NDgsIDB4MzgsIDB4QzksIDB4ODksIDB4NzEsIDB4NkYsIDB4NEYsIDB4NjMsIDB4NDMsCi0gMHg3MywgMHg1MywgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHg2MSwgMHg0MSwgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwKLSAweDY5LCAweDQ5LCAweDY2LCAweEM1LCAweEQ3LCAweDc4LCAweDczLCAweDYyLCAweDYxLCAweDUzLCAweDQyLCAweDQxLCAweEQ5LAotIDB4OUIsIDB4NzAsIDB4NjUsIDB4NTAsIDB4NDUsIDB4NzIsIDB4NjIsIDB4NTIsIDB4NDIsIDB4NzgsIDB4NzUsIDB4NkMsIDB4NjMsCi0gMHg2MiwgMHg1OCwgMHg1NSwgMHg0QywgMHg0MywgMHg0MiwgMHg3OSwgMHg3MywgMHg3MCwgMHg2OCwgMHg2MywgMHg1OSwgMHg1MywKLSAweDUwLCAweDQ4LCAweDQzLCAweDY5LCAweDQ5LCAweDUyLCAweDcyLCAweDczLCAweDZFLCAweDY0LCAweDUzLCAweDRFLCAweDQ0LAotIDB4MzUsIDB4MzYsIDB4MjgsIDB4NzgsIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzIsIDB4NzAsIDB4NkQsIDB4NkMsIDB4NkIsCi0gMHg2QSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NSwgMHg2MywgMHg2MiwgMHg2MSwgMHg1OCwgMHg1NywgMHg1NSwgMHg1NCwgMHg1MywKLSAweDUyLCAweDUwLCAweDRELCAweDRDLCAweDRCLCAweDRBLCAweDQ5LCAweDQ4LCAweDQ3LCAweDQ1LCAweDQzLCAweDQyLCAweDQxLAotIDB4MzksIDB4MzgsIDB4MzQsIDB4RkUsIDB4RkUsIDB4MDAsIDB4RkUsIDB4RkUsIDB4MDAsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUKLX07CmRpZmYgLS1naXQgYS9vczQwMC9pY29udi9pY29udi5jIGIvb3M0MDAvaWNvbnYvaWNvbnYuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg1YzI2OC4uMDAwMDAwMAotLS0gYS9vczQwMC9pY29udi9pY29udi5jCisrKyAvZGV2L251bGwKQEAgLTEsMTU0ICswLDAgQEAKLS8qKgotKioqICAgICBpY29udl9vcGVuKCksIGljb252KCksIGljb252X2Nsb3NlKCkgd3JhcHBlcnMgZm9yIHRoZSBPUy80MDAuCi0qKioKLSoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotKioqCi0qKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotKiovCi0KLSNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0KLSNpbmNsdWRlICIvUUlCTS9pbmNsdWRlL2ljb252LmgiICAgICAgICAvKiBGb3JjZSBzeXN0ZW0gZGVmaW5pdGlvbi4gKi8KLQotI2RlZmluZSBVU0VfU1lTVEVNX0lDT05WCi0jaW5jbHVkZSAiaWNvbnYuaCIgICAgICAgICAgICAgICAgICAgICAgLyogVXNlIGxvY2FsIGRlZmluaXRpb25zLiAqLwotCi0KLQotLyoqCi0qKiogICAgIEJyaW5nLWluIHRoZSBuYW1lLS0+Q0NTSUQgbWFwcGluZyBERkEgdGFibGVzLgotKiovCi0KLSNpbmNsdWRlICJpYW5hdGFibGVzLmMiCi0KLQotCi1zdGF0aWMgaW50Ci1maW5kRW5jb2RpbmcoY29uc3QgdW5zaWduZWQgY2hhciAqICogbmFtZXApCi0KLXsKLSAgICAgICAgdF9zdGF0ZXJhbmdlIGN1cnN0YXRlOwotICAgICAgICB0X2Njc2lkIGNjc2lkOwotICAgICAgICB0X2Njc2lkIGZpbmFsOwotICAgICAgICB0X3RyYW5zcmFuZ2UgbDsKLSAgICAgICAgdF90cmFuc3JhbmdlIGg7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBuYW1lOwotCi0gICAgICAgIC8qKgotICAgICAgICAqKiogICAgIEdldCB0aGUgQ0NTSUQgY29ycmVzcG9uZyB0byB0aGUgbmFtZSBhdCAqYG5hbWVwJy4KLSAgICAgICAgKioqICAgICBJZiBzdWNjZXNzLCB1cGRhdGUgcG9pbnRlciBhdCBgbmFtZXAnIHRvIDFzdCBieXRlIGFmdGVyIG1hdGNoZWQKLSAgICAgICAgKioqICAgICAgICAgICAgIG5hbWUgYW5kIHJldHVybiB0aGUgQ0NTSUQuCi0gICAgICAgICoqKiAgICAgSWYgZmFpbHVyZSwgc2V0IGVycm5vIGFuZCByZXR1cm4gLTEuCi0gICAgICAgICoqLwotCi0gICAgICAgIGlmICghbmFtZXAgfHwgIShuYW1lID0gKm5hbWVwKSkgewotICAgICAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgY3Vyc3RhdGUgPSAwOwotICAgICAgICBmaW5hbCA9IDA7Ci0KLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgIGlmIChjdXJzdGF0ZSA8IHNpemVvZiBmaW5hbF9hcnJheSAvIHNpemVvZiBmaW5hbF9hcnJheVswXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaW5hbF9hcnJheVtjdXJzdGF0ZV0pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYWwgPSBmaW5hbF9hcnJheVtjdXJzdGF0ZV07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuYW1lcCA9IG5hbWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGwgPSB0cmFuc19hcnJheVtjdXJzdGF0ZV0gLSAxOwotICAgICAgICAgICAgICAgIGggPSB0cmFuc19hcnJheVtjdXJzdGF0ZSArIDFdOwotCi0gICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCsrbCA+PSBoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmluYWwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaW5hbCAtIDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IHdoaWxlIChsYWJlbF9hcnJheVtsXSAhPSAqbmFtZSk7Ci0KLSAgICAgICAgICAgICAgICBjdXJzdGF0ZSA9IGdvdG9fYXJyYXlbbF07Ci0gICAgICAgICAgICAgICAgbmFtZSsrOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKiBOT1RSRUFDSEVELiAqLwotfQotCi0KLXN0YXRpYyB2b2lkCi1tYWtlb3M0MDBjb2RlbmFtZShjaGFyICogYnVmLCB1bnNpZ25lZCBpbnQgY2NzaWQpCi0KLXsKLSAgICAgICAgY2NzaWQgJj0gMHhGRkZGOwotICAgICAgICBtZW1zZXQoYnVmLCAwLCAzMik7Ci0gICAgICAgIHNwcmludGYoYnVmLCAiSUJNQ0NTSUQlMDV1MDAwMDAwMCIsIGNjc2lkKTsKLX0KLQotCi1JY29udl90Ci1JY29udk9wZW4oY29uc3QgY2hhciAqIHRvY29kZSwgY29uc3QgY2hhciAqIGZyb21jb2RlKQotCi17Ci0gICAgICAgIGludCB0b2Njc2lkID0gZmluZEVuY29kaW5nKCZ0b2NvZGUpOwotICAgICAgICBpbnQgZnJvbWNjc2lkID0gZmluZEVuY29kaW5nKCZmcm9tY29kZSk7Ci0gICAgICAgIGNoYXIgZnJvbWlibWNjc2lkWzMzXTsKLSAgICAgICAgY2hhciB0b2libWNjc2lkWzMzXTsKLSAgICAgICAgaWNvbnZfdCAqIGNkOwotCi0gICAgICAgIGlmICh0b2Njc2lkIDwgMCB8fCBmcm9tY2NzaWQgPCAwKQotICAgICAgICAgICAgICAgIHJldHVybiAoSWNvbnZfdCkgLTE7Ci0KLSAgICAgICAgbWFrZW9zNDAwY29kZW5hbWUoZnJvbWlibWNjc2lkLCBmcm9tY2NzaWQpOwotICAgICAgICBtYWtlb3M0MDBjb2RlbmFtZSh0b2libWNjc2lkLCB0b2Njc2lkKTsKLSAgICAgICAgbWVtc2V0KHRvaWJtY2NzaWQgKyAxMywgMCwgc2l6ZW9mIHRvaWJtY2NzaWQgLSAxMyk7Ci0KLSAgICAgICAgY2QgPSAoaWNvbnZfdCAqKSBtYWxsb2Moc2l6ZW9mICpjZCk7Ci0KLSAgICAgICAgaWYgKCFjZCkKLSAgICAgICAgICAgICAgICByZXR1cm4gKEljb252X3QpIC0xOwotCi0gICAgICAgICpjZCA9IGljb252X29wZW4odG9pYm1jY3NpZCwgZnJvbWlibWNjc2lkKTsKLQotICAgICAgICBpZiAoY2QtPnJldHVybl92YWx1ZSkgewotICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgY2QpOwotICAgICAgICAgICAgICAgIHJldHVybiAoSWNvbnZfdCkgLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHJldHVybiAoSWNvbnZfdCkgY2Q7Ci19Ci0KLQotc2l6ZV90Ci1JY29udihJY29udl90IGNkLCBjaGFyICogKiBpbmJ1Ziwgc2l6ZV90ICogaW5ieXRlc2xlZnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICogb3V0YnVmLCBzaXplX3QgKiBvdXRieXRlc2xlZnQpCi0KLXsKLSAgICAgICAgaWYgKCFjZCB8fCBjZCA9PSAoSWNvbnZfdCkgLTEpIHsKLSAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSAgICAgICAgICAgICAgICByZXR1cm4gKHNpemVfdCkgLTE7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBpY29udigqKGljb252X3QgKikgY2QsIGluYnVmLCBpbmJ5dGVzbGVmdCwgb3V0YnVmLCBvdXRieXRlc2xlZnQpOwotfQotCi0KLWludAotSWNvbnZDbG9zZShJY29udl90IGNkKQotCi17Ci0gICAgICAgIGlmICghY2QgfHwgY2QgPT0gKEljb252X3QpIC0xKSB7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoaWNvbnZfY2xvc2UoKihpY29udl90ICopIGNkKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICAgZnJlZSgoY2hhciAqKSBjZCk7Ci0gICAgICAgIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvb3M0MDAvaWNvbnYvaWNvbnYuaCBiL29zNDAwL2ljb252L2ljb252LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3YThiYmMuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaWNvbnYvaWNvbnYuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qKgotKioqICAgICBEZWNsYXJhdGlvbnMgZm9yIHRoZSBpY29udiB3cmFwcGVycy4KLSoqKgotKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0qKioKLSoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0qKi8KLQotI2lmbmRlZiBfX0lDT05WX0hfCi0jZGVmaW5lIF9fSUNPTlZfSF8KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0jaW5jbHVkZSA8c3RkZGVmLmg+ICAgICAgICAgICAgIC8qIEZvciBzaXplX3QuICovCi0KLQotdHlwZWRlZiB2b2lkICogIEljb252X3Q7Ci0KLQotSWNvbnZfdCAgICAgICAgIEljb252T3Blbihjb25zdCBjaGFyICogdG9jb2RlLCBjb25zdCBjaGFyICogZnJvbWNvZGUpOwotc2l6ZV90ICAgICAgICAgIEljb252KEljb252X3QgY2QsIGNoYXIgKiAqIGluYnVmLCBzaXplX3QgKiBpbmJ5dGVzbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICogKiBvdXRidWYsIHNpemVfdCAqIG91dGJ5dGVzbGVmdCk7Ci1pbnQgICAgICAgICAgICAgSWNvbnZDbG9zZShJY29udl90IGNkKTsKLQotCi0jaWZuZGVmIFVTRV9TWVNURU1fSUNPTlYKLSNkZWZpbmUgaWNvbnZfdCAgICAgICAgIEljb252X3QKLSNkZWZpbmUgaWNvbnZfb3BlbiAgICAgIEljb252T3BlbgotI2RlZmluZSBpY29udiAgICAgICAgICAgSWNvbnYKLSNkZWZpbmUgaWNvbnZfY2xvc2UgICAgIEljb252Q2xvc2UKLSNlbmRpZgotCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvb3M0MDAvaW5pdHNjcmlwdC5zaCBiL29zNDAwL2luaXRzY3JpcHQuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyY2U1NGQuLjAwMDAwMDAKLS0tIGEvb3M0MDAvaW5pdHNjcmlwdC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDMxNSArMCwwIEBACi0jIS9iaW4vc2gKLSMKLSMgICAgICAgQ29tcGlsYXRpb24gc2NyaXB0cyBpbml0aWFsaXphdGlvbiBmb3IgdGhlIE9TLzQwMCBpbXBsZW1lbnRhdGlvbi4KLSMKLSMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotIwotIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSMKLQotCi1jYXNlICIke1NDUklQVERJUn0iIGluCi0vKikgICAgIDs7Ci0qKSAgICAgIFNDUklQVERJUj0iYHB3ZGAvJHtTQ1JJUFRESVJ9IgotZXNhYwotCi13aGlsZSB0cnVlCi1kbyAgICAgIGNhc2UgIiR7U0NSSVBURElSfSIgaW4KLSAgICAgICAgKi8uKSAgICBTQ1JJUFRESVI9IiR7U0NSSVBURElSJS8ufSI7OwotICAgICAgICAqKSAgICAgIGJyZWFrOzsKLSAgICAgICAgZXNhYwotZG9uZQotCi0jICBUaGUgc2NyaXB0IGRpcmVjdG9yeSBpcyBzdXBwb3NlZCB0byBiZSBpbiAkVE9QRElSL29zNDAwLgotCi1UT1BESVI9YGRpcm5hbWUgIiR7U0NSSVBURElSfSJgCi1leHBvcnQgU0NSSVBURElSIFRPUERJUgotCi0KLXNldGVudigpCi0KLXsKLSAgICAgICAgIyAgICAgICBEZWZpbmUgYW5kIGV4cG9ydC4KLQotICAgICAgICBldmFsICR7MX09IiR7Mn0iCi0gICAgICAgIGV4cG9ydCAkezF9Ci19Ci0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgICAgICAgICAgICAgICAgICAgICAgIFR1bmFibGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgotIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotc2V0ZW52IFRBUkdFVExJQiAgICAgICAgJ0xJQlhNTDInICAgICAgICMgVGFyZ2V0IE9TLzQwMCBwcm9ncmFtIGxpYnJhcnkuCi1zZXRlbnYgU1RBVEJORERJUiAgICAgICAnTElCWE1MMl9BJyAgICAgIyBTdGF0aWMgYmluZGluZyBkaXJlY3RvcnkuCi1zZXRlbnYgRFlOQk5ERElSICAgICAgICAnTElCWE1MMicgICAgICAgIyBEeW5hbWljIGJpbmRpbmcgZGlyZWN0b3J5Lgotc2V0ZW52IFNSVlBHTSAgICAgICAgICAgIkxJQlhNTDIiICAgICAgICMgU2VydmljZSBwcm9ncmFtLgotc2V0ZW52IFRHVENDU0lEICAgICAgICAgJzUwMCcgICAgICAgICAgICMgVGFyZ2V0IENDU0lEIG9mIG9iamVjdHMuCi1zZXRlbnYgREVCVUcgICAgICAgICAgICAnKkFMTCcgICAgICAgICAgIyBEZWJ1ZyBsZXZlbC4KLXNldGVudiBPUFRJTUlaRSAgICAgICAgICcxMCcgICAgICAgICAgICAjIE9wdGltaXNhdGlvbiBsZXZlbC4KLXNldGVudiBPVVRQVVQgICAgICAgICAgICcqTk9ORScgICAgICAgICAjIENvbXBpbGF0aW9uIG91dHB1dCBvcHRpb24uCi1zZXRlbnYgVEdUUkxTICAgICAgICAgICAnVjZSMU0wJyAgICAgICAgIyBUYXJnZXQgT1MgcmVsZWFzZS4KLXNldGVudiBJRlNESVIgICAgICAgICAgICcvbGlieG1sMicgICAgICAjIEluc3RhbGxhdGlvbiBJRlMgZGlyZWN0b3J5LgotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jCi0jICAgICAgICAgICAgICAgICAgICAgICBDb25kaXRpb25hbCBjb21waWxhdGlvbiBwYXJhbWV0ZXJzLgotIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotc2V0ZW52IFdJVEhfVFJJTyAgICAgICAgICAgICAgICAxICAgICMgQ29uZmlndXJlIHRyaW8gc3VwcG9ydC4KLXNldGVudiBXSVRIX1RIUkVBRFMgICAgICAgICAgICAgMSAgICAjIENvbmZpZ3VyZSB0aHJlYWQgc3VwcG9ydC4KLXNldGVudiBXSVRIX1RIUkVBRF9BTExPQyAgICAgICAgMSAgICAjIFdoZXRoZXIgYWxsb2NhdGlvbiBob29rcyBhcmUgcGVyLXRocmVhZC4KLXNldGVudiBXSVRIX1RSRUUgICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgRE9NIHRyZWUgQVBJLgotc2V0ZW52IFdJVEhfT1VUUFVUICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBzZXJpYWxpemF0aW9uL3NhdmluZyBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfUFVTSCAgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBwdXNoIHBhcnNlci4KLXNldGVudiBXSVRIX1JFQURFUiAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgcGFyc2luZyBpbnRlcmZhY2UuCi1zZXRlbnYgV0lUSF9QQVRURVJOICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIHBhdHRlcm4gbm9kZSBzZWxlY3Rpb24gaW50ZXJmYWNlLgotc2V0ZW52IFdJVEhfV1JJVEVSICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBzYXZpbmcgaW50ZXJmYWNlLgotc2V0ZW52IFdJVEhfU0FYMSAgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBTQVggdmVyc2lvbiAxIGludGVyZmFjZS4KLXNldGVudiBXSVRIX0ZUUCAgICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgRlRQIHN1cHBvcnQuCi1zZXRlbnYgV0lUSF9IVFRQICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIEhUVFAgc3VwcG9ydC4KLXNldGVudiBXSVRIX1ZBTElEICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgRFREIHZhbGlkYXRpb24gc3VwcG9ydC4KLXNldGVudiBXSVRIX0hUTUwgICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgSFRNTCBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfTEVHQUNZICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBkZXByZWNhdGVkIEFQSS4KLXNldGVudiBXSVRIX0MxNE4gICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgY2Fub25pY2FsaXphdGlvbiBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfQ0FUQUxPRyAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBjYXRhbG9nIHN1cHBvcnQuCi1zZXRlbnYgV0lUSF9ET0NCICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIFNHTUwgRG9jYm9vayBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfWFBBVEggICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBYUGF0aCBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfWFBUUiAgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBYUG9pbnRlciBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfWElOQ0xVREUgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBYSW5jbHVkZSBzdXBwb3J0Lgotc2V0ZW52IFdJVEhfSUNPTlYgICAgICAgICAgICAgICAxICAgICMgV2hldGhlciBpY29udiBzdXBwb3J0IGlzIGF2YWlsYWJsZS4KLXNldGVudiBXSVRIX0lDVSAgICAgICAgICAgICAgICAgMCAgICAjIFdoZXRoZXIgaWN1IHN1cHBvcnQgaXMgYXZhaWxhYmxlLgotc2V0ZW52IFdJVEhfSVNPODg1OVggICAgICAgICAgICAxICAgICMgQ29tcGlsZSBJU08tODg1OS0qIHN1cHBvcnQgaWYgbm8gaWNvbnYuCi1zZXRlbnYgV0lUSF9ERUJVRyAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIGRlYnVnZ2luZyBtb2R1bGUuCi1zZXRlbnYgV0lUSF9NRU1fREVCVUcgICAgICAgICAgIDEgICAgIyBDb21waWxlIG1lbW9yeSBkZWJ1Z2dpbmcgbW9kdWxlLgotc2V0ZW52IFdJVEhfUlVOX0RFQlVHICAgICAgICAgICAxICAgICMgQ29tcGlsZSBydW50aW1lIGRlYnVnZ2luZy4KLXNldGVudiBXSVRIX1JFR0VYUFMgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgcmVndWxhciBleHByZXNzaW9uIGludGVyZmFjZXMuCi1zZXRlbnYgV0lUSF9TQ0hFTUFTICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIHNjaGVtYSB2YWxpZGF0aW9uIGludGVyZmFjZS4KLXNldGVudiBXSVRIX1NDSEVNQVRST04gICAgICAgICAgMSAgICAjIENvbXBpbGUgc2NoZW1hdHJvbiB2YWxpZGF0aW9uIGludGVyZmFjZS4KLXNldGVudiBXSVRIX01PRFVMRVMgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgbW9kdWxlIGludGVyZmFjZXMuCi1zZXRlbnYgV0lUSF9aTElCICAgICAgICAgICAgICAgIDAgICAgIyBXaGV0aGVyIHpsaWIgaXMgYXZhaWxhYmxlLgotc2V0ZW52IFdJVEhfTFpNQSAgICAgICAgICAgICAgICAwICAgICMgV2hldGhlciBMWk1BIGlzIGF2YWlsYWJsZS4KLQotIyAgICAgICBEZWZpbmUgWkxJQiBsb2NhdGlvbnMuIFRoaXMgaXMgaWdub3JlZCBpZiBXSVRIX1pMSUIgaXMgMC4KLQotc2V0ZW52IFpMSUJfSU5DTFVERSAgICAgICAgICAgICAnL3psaWIvaW5jbHVkZScgIyBaTElCIGluY2x1ZGUgSUZTIGRpcmVjdG9yeS4KLXNldGVudiBaTElCX0xJQiAgICAgICAgICAgICAgICAgJ1pMSUInICAgICAgICAgICMgWkxJQiBsaWJyYXJ5Lgotc2V0ZW52IFpMSUJfQk5ERElSICAgICAgICAgICAgICAnWkxJQl9BJyAgICAgICAgIyBaTElCIGJpbmRpbmcgZGlyZWN0b3J5LgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIwotIyAgICAgICAgICAgICAgICAgICAgICAgT1MvNDAwIHNwZWNpZmljIGRlZmluaXRpb25zLgotIwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotc2V0ZW52IExJQklGU05BTUUgICAgICAgICAgICAgICAiL1FTWVMuTElCLyR7VEFSR0VUTElCfS5MSUIiCi1zZXRlbnYgTU9EVUxFX0VYVEVOU0lPTiAgICAgICAgICcuU1JWUEdNJwotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jCi0jICAgICAgICAgICAgICAgICAgICAgICBFeHRyYWN0IHZlcnNpb24gaW5mb3JtYXRpb24uCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0KLSMgICAgICAgVHJhbnNpdGlvbmFsOiBnZXQgZmlsZSBuYW1lIG9mIGNvbmZpZ3VyZSBzY3JpcHQuCi0KLUFVVE9DT05GU0NSSVBUPSIke1RPUERJUn0vY29uZmlndXJlLmFjIgotCi1pZiBbICEgLWYgIiR7QVVUT0NPTkZTQ1JJUFR9IiBdCi10aGVuICAgIEFVVE9DT05GU0NSSVBUPSIke1RPUERJUn0vY29uZmlndXJlLmluIgotZmkKLQotIyAgICAgICBOZWVkIHRvIGdldCB0aGUgdmVyc2lvbiBkZWZpbml0aW9ucy4KLQotZXZhbCAiYGdyZXAgJ15MSUJYTUxfW0EtWl0qX1ZFUlNJT049JyBcIiR7QVVUT0NPTkZTQ1JJUFR9XCJgIgotZXZhbCAiYGdyZXAgJ15MSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVg9JyBcIiR7QVVUT0NPTkZTQ1JJUFR9XCJgIgotTElCWE1MX1ZFUlNJT049IiR7TElCWE1MX01BSk9SX1ZFUlNJT059LiR7TElCWE1MX01JTk9SX1ZFUlNJT059IgotTElCWE1MX1ZFUlNJT049IiR7TElCWE1MX1ZFUlNJT059LiR7TElCWE1MX01JQ1JPX1ZFUlNJT059IgotTElCWE1MX1ZFUlNJT049IiR7TElCWE1MX1ZFUlNJT059JHtMSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVh9IgotTElCWE1MX1ZFUlNJT05fTlVNQkVSPWBleHByICIke0xJQlhNTF9NQUpPUl9WRVJTSU9OfSIgXCogMTAwMDAgKyAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIke0xJQlhNTF9NSU5PUl9WRVJTSU9OfSIgXCogMTAwICsgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIke0xJQlhNTF9NSUNST19WRVJTSU9OfSJgCi1leHBvcnQgTElCWE1MX01BSk9SX1ZFUlNJT04gTElCWE1MX01JTk9SX1ZFUlNJT04KLWV4cG9ydCBMSUJYTUxfTUlDUk9fVkVSU0lPTiBMSUJYTUxfTUlDUk9WRVJTSU9OX1NVRkZJWAotZXhwb3J0IExJQlhNTF9WRVJTSU9OIExJQlhNTF9WRVJTSU9OX05VTUJFUgotc2V0ZW52IExJQlhNTF9WRVJTSU9OX0VYVFJBICcnCi1zZXRlbnYgVkVSU0lPTiAgIiR7TElCWE1MX1ZFUlNJT059IgotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jCi0jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2NlZHVyZXMuCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jICAgICAgIGFjdGlvbl9uZWVkZWQgZGVzdCBbc3JjXQotIwotIyAgICAgICBkZXN0IGlzIGFuIG9iamVjdCB0byBidWlsZAotIyAgICAgICBpZiBzcGVjaWZpZWQsIHNyYyBpcyBhbiBvYmplY3Qgb24gd2hpY2ggZGVzdCBkZXBlbmRzLgotIwotIyAgICAgICBleGl0IDAgKHN1Y2NlZWRzKSBpZiBzb21lIGFjdGlvbiBoYXMgdG8gYmUgdGFrZW4sIGVsc2UgMS4KLQotYWN0aW9uX25lZWRlZCgpCi0KLXsKLSAgICAgICAgWyAhIC1lICIkezF9IiBdICYmIHJldHVybiAwCi0gICAgICAgIFsgIiR7Mn0iIF0gfHwgcmV0dXJuIDEKLSAgICAgICAgWyAiJHsxfSIgLW90ICIkezJ9IiBdICYmIHJldHVybiAwCi0gICAgICAgIHJldHVybiAxCi19Ci0KLQotIyAgICAgICBtYWtlX21vZHVsZSBbb3B0aW9uXSBtb2R1bGVfbmFtZSBzb3VyY2VfbmFtZQotIwotIyAgICAgICBDb21waWxlIHNvdXJjZSBuYW1lIGludG8gQVNDSUkgbW9kdWxlIGlmIG5lZWRlZC4KLSMgICAgICAgQXMgc2lkZSBlZmZlY3QsIGFwcGVuZCB0aGUgbW9kdWxlIG5hbWUgdG8gdmFyaWFibGUgTU9EVUxFUy4KLSMgICAgICAgU2V0IExJTksgdG8gIllFUyIgaWYgdGhlIG1vZHVsZSBoYXMgYmVlbiBjb21waWxlZC4KLSMgICAgICAgT3B0aW9ucyBhcmU6Ci0jICAgICAgICAgLS1kZWZpbmUgPGFkZGl0aW9uYWwgZGVmaW5pdGlvbnM+Ci0jICAgICAgICAgLS1lYmNkaWMKLSMgICAgICAgICAtLXN5c2ljb252Ci0KLW1ha2VfbW9kdWxlKCkKLQotewotICAgICAgICBERUZOPQotICAgICAgICBFQkNESUM9Ci0gICAgICAgIFNZU0lDT05WPQotICAgICAgICB3aGlsZSB0cnVlCi0gICAgICAgIGRvICAgICAgY2FzZSAiJHsxfSIgaW4KLSAgICAgICAgICAgICAgICAtLWRlZmluZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIERFRk49IiR7Mn0iCi0gICAgICAgICAgICAgICAgICAgICAgICBzaGlmdAotICAgICAgICAgICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICAgICAtLWViY2RpYykKLSAgICAgICAgICAgICAgICAgICAgICAgIEVCQ0RJQz15ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgIDs7Ci0gICAgICAgICAgICAgICAgLS1zeXNpY29udikKLSAgICAgICAgICAgICAgICAgICAgICAgIFNZU0lDT05WPXllcwotICAgICAgICAgICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICAgICAqKSAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZXNhYwotICAgICAgICAgICAgICAgIHNoaWZ0Ci0gICAgICAgIGRvbmUKLSAgICAgICAgTU9EVUxFUz0iJHtNT0RVTEVTfSAkezF9IgotICAgICAgICBNT0RJRlNOQU1FPSIke0xJQklGU05BTUV9LyR7MX0uTU9EVUxFIgotICAgICAgICBhY3Rpb25fbmVlZGVkICIke01PRElGU05BTUV9IiAiJHsyfSIgfHwgcmV0dXJuIDA7Ci0KLSAgICAgICAgIyAgICAgICAjcHJhZ21hIGNvbnZlcnQgaGFzIHRvIGJlIGluIHRoZSBzb3VyY2UgZmlsZSBpdHNlbGYsIGkuZS4KLSAgICAgICAgIyAgICAgICAgICAgICAgIHB1dHRpbmcgaXQgaW4gYW4gaW5jbHVkZSBmaWxlIG1ha2VzIGl0IG9ubHkgYWN0aXZlCi0gICAgICAgICMgICAgICAgICAgICAgICBmb3IgdGhhdCBpbmNsdWRlIGZpbGUuCi0gICAgICAgICMgICAgICAgVGh1cyB3ZSBidWlsZCBhIHRlbXBvcmFyeSBmaWxlIHdpdGggdGhlIHByYWdtYSBwcmVwZW5kZWQgdG8KLSAgICAgICAgIyAgICAgICAgICAgICAgIHRoZSBzb3VyY2UgZmlsZSBhbmQgd2UgY29tcGlsZSB0aGF0IHRlbXBvcmFyeSBmaWxlLgotCi0gICAgICAgIHJtIC1mIF9fdG1wc3JjZi5jCi0gICAgICAgIGlmIFsgLXogIiR7RUJDRElDfSIgXQotICAgICAgICB0aGVuICAgIGVjaG8gIiNsaW5lIDEgXCIkezJ9XCIiID4+IF9fdG1wc3JjZi5jCi0gICAgICAgICAgICAgICAgZWNobyAiI3ByYWdtYSBjb252ZXJ0KDgxOSkiID4+IF9fdG1wc3JjZi5jCi0gICAgICAgICAgICAgICAgZWNobyAnI2luY2x1ZGUgIndyYXBwZXJzLmgiJyA+PiBfX3RtcHNyY2YuYwotICAgICAgICBmaQotICAgICAgICBlY2hvICIjbGluZSAxIFwiJHsyfVwiIiA+PiBfX3RtcHNyY2YuYwotICAgICAgICBjYXQgIiR7Mn0iID4+IF9fdG1wc3JjZi5jCi0gICAgICAgIENNRD0iQ1JUQ01PRCBNT0RVTEUoJHtUQVJHRVRMSUJ9LyR7MX0pIFNSQ1NUTUYoJ19fdG1wc3JjZi5jJykiCi0jICAgICAgIENNRD0iJHtDTUR9IE9QVElPTigqSU5DRElSRklSU1QgKlNIT1dJTkMgKlNIT1dTWVMpIgotICAgICAgICBDTUQ9IiR7Q01EfSBPUFRJT04oKklOQ0RJUkZJUlNUKSBGTEFHKDEwKSIKLSAgICAgICAgQ01EPSIke0NNRH0gU1lTSUZDT1BUKCpJRlM2NElPKSBMQU5HTFZMKCpFWFRFTkRFRCkgTE9DQUxFVFlQRSgqTE9DQUxFKSIKLSAgICAgICAgQ01EPSIke0NNRH0gSU5DRElSKCIKLSAgICAgICAgaWYgWyAgLXogIiR7U1lTSUNPTlZ9IiBdCi0gICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gJyR7VE9QRElSfS9vczQwMC9pY29udiciCi0gICAgICAgIGZpCi0gICAgICAgIGlmIFsgLXogIiR7RUJDRElDfSIgXQotICAgICAgICB0aGVuICAgIENNRD0iJHtDTUR9ICcvcWlibS9wcm9kZGF0YS9xYWRydC9pbmNsdWRlJyIKLSAgICAgICAgZmkKLSAgICAgICAgQ01EPSIke0NNRH0gJyR7VE9QRElSfS9vczQwMCcgJyR7VE9QRElSfS9vczQwMC9kbGZjbiciCi0gICAgICAgIENNRD0iJHtDTUR9ICcke0lGU0RJUn0vaW5jbHVkZS9saWJ4bWwnICcke0lGU0RJUn0vaW5jbHVkZSciCi0gICAgICAgIGlmIFsgIiR7WkxJQl9JTkNMVURFfSIgXQotICAgICAgICB0aGVuICAgIENNRD0iJHtDTUR9ICcke1pMSUJfSU5DTFVERX0nIgotICAgICAgICBmaQotICAgICAgICBDTUQ9IiR7Q01EfSAnJHtUT1BESVJ9JyAke0lOQ0xVREVTfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IFRHVENDU0lEKCR7VEdUQ0NTSUR9KSBUR1RSTFMoJHtUR1RSTFN9KSIKLSAgICAgICAgQ01EPSIke0NNRH0gT1VUUFVUKCR7T1VUUFVUfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IE9QVElNSVpFKCR7T1BUSU1JWkV9KSIKLSAgICAgICAgQ01EPSIke0NNRH0gREJHVklFVygke0RFQlVHfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IERFRklORSgnX1JFRU5UUkFOVCcgJ1RSSU9fSEFWRV9DT05GSUdfSCcgJ05ERUJVRycgJHtERUZOfSkiCi0KLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIHJtIC1mIF9fdG1wc3JjZi5jCi0gICAgICAgIExJTks9WUVTCi19Ci0KLQotIyAgICAgICBEZXRlcm1pbmUgREIyIG9iamVjdCBuYW1lIGZyb20gSUZTIG5hbWUuCi0KLWRiMl9uYW1lKCkKLQotewotICAgICAgICBpZiBbICIkezJ9IiA9ICdub21hbmdsZScgXQotICAgICAgICB0aGVuICAgIGJhc2VuYW1lICIkezF9IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgIHRyICdhLXotJyAnQS1aXycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgIHNlZCAtZSAncy9cLi4qLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAtZSAncy9eXCguLi4uLi4uLi4uXCkuKiQvXDEvJwotICAgICAgICBlbHNlICAgIGJhc2VuYW1lICIkezF9IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgIHRyICdhLXotJyAnQS1aXycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgIHNlZCAtZSAncy9cLi4qLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAtZSAncy9eVEVTVC9ULycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAtZSAncy9eWE1ML1gvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAtZSAncy9eXCguXCkuKlwoLi4uLi4uLi4uXCkkL1wxXDIvJwotICAgICAgICBmaQotfQotCi0KLSMgICAgICAgQ29weSBJRlMgZmlsZSByZXBsYWNpbmcgdmVyc2lvbiAmIGNvbmZpZ3VyYXRpb24gaW5mby4KLQotdmVyc2lvbmVkX2NvcHkoKQotCi17Ci0gICAgc2VkIC1lICJzL0BMSUJYTUxfVkVSU0lPTkAvJHtMSUJYTUxfVkVSU0lPTn0vZyIgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfTUFKT1JfVkVSU0lPTkAjJHtMSUJYTUxfTUFKT1JfVkVSU0lPTn0jZyIgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfTUlOT1JfVkVSU0lPTkAjJHtMSUJYTUxfTUlOT1JfVkVSU0lPTn0jZyIgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfTUlDUk9fVkVSU0lPTkAjJHtMSUJYTUxfTUlDUk9fVkVSU0lPTn0jZyIgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVhAIyR7TElCWE1MX01JQ1JPX1ZFUlNJT05fU1VGRklYfSNnIiBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfVkVSU0lPTkAjJHtMSUJYTUxfVkVSU0lPTn0jZyIgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfVkVSU0lPTl9OVU1CRVJAIyR7TElCWE1MX1ZFUlNJT05fTlVNQkVSfSNnIiAgICAgICBcCi0gICAgICAgIC1lICJzI0BMSUJYTUxfVkVSU0lPTl9FWFRSQUAjJHtMSUJYTUxfVkVSU0lPTl9FWFRSQX0jZyIgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BWRVJTSU9OQCMke1ZFUlNJT059I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1RSSU9AIyR7V0lUSF9UUklPfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1RIUkVBRFNAIyR7V0lUSF9USFJFQURTfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1RIUkVBRF9BTExPQ0AjJHtXSVRIX1RIUkVBRF9BTExPQ30jZyIgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1RSRUVAIyR7V0lUSF9UUkVFfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX09VVFBVVEAjJHtXSVRIX09VVFBVVH0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1BVU0hAIyR7V0lUSF9QVVNIfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1JFQURFUkAjJHtXSVRIX1JFQURFUn0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1BBVFRFUk5AIyR7V0lUSF9QQVRURVJOfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1dSSVRFUkAjJHtXSVRIX1dSSVRFUn0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1NBWDFAIyR7V0lUSF9TQVgxfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0ZUUEAjJHtXSVRIX0ZUUH0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0hUVFBAIyR7V0lUSF9IVFRQfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1ZBTElEQCMke1dJVEhfVkFMSUR9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0hUTUxAIyR7V0lUSF9IVE1MfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0xFR0FDWUAjJHtXSVRIX0xFR0FDWX0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0MxNE5AIyR7V0lUSF9DMTROfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0NBVEFMT0dAIyR7V0lUSF9DQVRBTE9HfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0RPQ0JAIyR7V0lUSF9ET0NCfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1hQQVRIQCMke1dJVEhfWFBBVEh9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1hQVFJAIyR7V0lUSF9YUFRSfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1hJTkNMVURFQCMke1dJVEhfWElOQ0xVREV9I2ciICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0lDT05WQCMke1dJVEhfSUNPTlZ9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0lDVUAjJHtXSVRIX0lDVX0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0lTTzg4NTlYQCMke1dJVEhfSVNPODg1OVh9I2ciICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0RFQlVHQCMke1dJVEhfREVCVUd9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX01FTV9ERUJVR0AjJHtXSVRIX01FTV9ERUJVR30jZyIgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1JVTl9ERUJVR0AjJHtXSVRIX1JVTl9ERUJVR30jZyIgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1JFR0VYUFNAIyR7V0lUSF9SRUdFWFBTfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1NDSEVNQVNAIyR7V0lUSF9TQ0hFTUFTfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1NDSEVNQVRST05AIyR7V0lUSF9TQ0hFTUFUUk9OfSNnIiAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX01PRFVMRVNAIyR7V0lUSF9NT0RVTEVTfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX1pMSUJAIyR7V0lUSF9aTElCfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIC1lICJzI0BXSVRIX0xaTUFAIyR7V0lUSF9MWk1BfSNnIgotfQpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1sbWFpbi5jIGIvb3M0MDAvbGlieG1sbWFpbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWM4NDhhLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbG1haW4uYworKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi0vKioKLSoqKiAgICAgUUFEUlQvUUFEUlRNQUlOMiBzdWJzdGl0dXRpb24gcHJvZ3JhbS4KLSoqKiAgICAgVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgSUJNLXByb3ZpZGVkIFFBRFJUTUFJTjIgZG9lcyBub3QKLSoqKiAgICAgcHJvcGVybHkgdHJhbnNsYXRlIGFyZ3VtZW50cyBieSBkZWZhdWx0IG9yIGlmIG5vIGxvY2FsZSBpcyBwcm92aWRlZC4KLSoqKgotKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0qKioKLSoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0qKi8KLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPGljb252Lmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxsb2NhbGUuaD4KLQotLyogRG8gbm90IHVzZSBxYWRydC5oIHNpbmNlIGl0IGRlZmluZXMgdW5uZWVkZWQgc3RhdGljIHByb2NlZHVyZXMuICovCi1leHRlcm4gdm9pZCAgICAgUWFkcnRJbml0KHZvaWQpOwotZXh0ZXJuIGludCAgICAgIFFhZHJ0RnJlZUNvbnZlcnNpb25UYWJsZSh2b2lkKTsKLWV4dGVybiBpbnQgICAgICBRYWRydEZyZWVFbnZpcm9uKHZvaWQpOwotZXh0ZXJuIGNoYXIgKiAgIHNldGxvY2FsZV9hKGludCwgY29uc3QgY2hhciAqKTsKLQotCi0vKiBUaGUgQVNDSUkgbWFpbiBwcm9ncmFtLiAqLwotZXh0ZXJuIGludCAgICAgIG1haW5fYShpbnQgYXJnYywgY2hhciAqICogYXJndik7Ci0KLS8qIEdsb2JhbCB2YWx1ZXMgb2Ygb3JpZ2luYWwgRUJDRElDIGFyZ3VtZW50cy4gKi8KLWludCAgICAgICAgICAgICBlYmNkaWNfYXJnYzsKLWNoYXIgKiAqICAgICAgICBlYmNkaWNfYXJndjsKLQotCi1pbnQKLW1haW4oaW50IGFyZ2MsIGNoYXIgKiAqIGFyZ3YpCi0KLXsKLSAgICAgICAgaW50IGk7Ci0gICAgICAgIGludCBqOwotICAgICAgICBpY29udl90IGNkOwotICAgICAgICBzaXplX3QgYnl0ZWNvdW50ID0gMDsKLSAgICAgICAgY2hhciAqIGluYnVmOwotICAgICAgICBjaGFyICogb3V0YnVmOwotICAgICAgICBzaXplX3QgaW5ieXRlc2xlZnQ7Ci0gICAgICAgIHNpemVfdCBvdXRieXRlc2xlZnQ7Ci0gICAgICAgIGNoYXIgZHVtbXlidWZbMTI4XTsKLSAgICAgICAgY2hhciB0b2NvZGVbMzJdOwotICAgICAgICBjaGFyIGZyb21jb2RlWzMyXTsKLQotICAgICAgICBlYmNkaWNfYXJnYyA9IGFyZ2M7Ci0gICAgICAgIGViY2RpY19hcmd2ID0gYXJndjsKLQotICAgICAgICAvKiBCdWlsZCB0aGUgZW5jb2RpbmcgY29udmVydGVyLiAqLwotICAgICAgICBzdHJuY3B5KHRvY29kZSwgIklCTUNDU0lEMDEyMDgiLCBzaXplb2YgdG9jb2RlKTsKLSAgICAgICAgc3RybmNweShmcm9tY29kZSwgIklCTUNDU0lEMDAwMDAwMDAwMDEwIiwgc2l6ZW9mIGZyb21jb2RlKTsKLSAgICAgICAgY2QgPSBpY29udl9vcGVuKHRvY29kZSwgZnJvbWNvZGUpOwotCi0gICAgICAgIC8qIE1lYXN1cmUgdGhlIGFyZ3VtZW50cy4gKi8KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICAgICAgICAgIGluYnVmID0gYXJndltpXTsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmJ5dGVzbGVmdCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvdXRidWYgPSBkdW1teWJ1ZjsKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dGJ5dGVzbGVmdCA9IHNpemVvZiBkdW1teWJ1ZjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGogPSBpY29udihjZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5idWYsICZpbmJ5dGVzbGVmdCwgJm91dGJ1ZiwgJm91dGJ5dGVzbGVmdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBieXRlY291bnQgKz0gb3V0YnVmIC0gZHVtbXlidWY7Ci0gICAgICAgICAgICAgICAgfSB3aGlsZSAoaiA9PSAtMSAmJiBlcnJubyA9PSBFMkJJRyk7Ci0gICAgICAgICAgICAgICAgLyogUmVzZXQgdGhlIHNoaWZ0IHN0YXRlLiAqLwotICAgICAgICAgICAgICAgIGljb252KGNkLCBOVUxMLCAmaW5ieXRlc2xlZnQsICZvdXRidWYsICZvdXRieXRlc2xlZnQpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBBU0NJSSBhcmd1bWVudHMgYW5kIHZlY3Rvci4gKi8KLSAgICAgICAgYXJndiA9IChjaGFyICogKikgbWFsbG9jKChhcmdjICsgMSkgKiBzaXplb2YgKmFyZ3YgKyBieXRlY291bnQpOwotCi0gICAgICAgIC8qIEJ1aWxkIHRoZSB2ZWN0b3IgYW5kIGNvbnZlcnQgYXJndW1lbnQgZW5jb2RpbmcuICovCi0gICAgICAgIG91dGJ1ZiA9IChjaGFyICopIChhcmd2ICsgYXJnYyArIDEpOwotICAgICAgICBvdXRieXRlc2xlZnQgPSBieXRlY291bnQ7Ci0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICAgICAgICAgIGFyZ3ZbaV0gPSBvdXRidWY7Ci0gICAgICAgICAgICAgICAgaW5idWYgPSBlYmNkaWNfYXJndltpXTsKLSAgICAgICAgICAgICAgICBpbmJ5dGVzbGVmdCA9IDA7Ci0gICAgICAgICAgICAgICAgaWNvbnYoY2QsICZpbmJ1ZiwgJmluYnl0ZXNsZWZ0LCAmb3V0YnVmLCAmb3V0Ynl0ZXNsZWZ0KTsKLSAgICAgICAgICAgICAgICBpY29udihjZCwgTlVMTCwgJmluYnl0ZXNsZWZ0LCAmb3V0YnVmLCAmb3V0Ynl0ZXNsZWZ0KTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWNvbnZfY2xvc2UoY2QpOwotICAgICAgICBhcmd2W2FyZ2NdID0gTlVMTDsKLQotICAgICAgICAvKiBUcnkgc2V0dGluZyB0aGUgbG9jYWxlIHJlZ2FyZGxlc3Mgb2YgUUFEUlRfRU5WX0xPQ0FMRS4gKi8KLSAgICAgICAgc2V0bG9jYWxlX2EoTENfQUxMLCAiIik7Ci0KLSAgICAgICAgLyogQ2FsbCB0aGUgcHJvZ3JhbS4gKi8KLSAgICAgICAgaSA9IG1haW5fYShhcmdjLCBhcmd2KTsKLQotICAgICAgICAvKiBDbGVhbi11cCBhbGxvY2F0ZWQgaXRlbXMuICovCi0gICAgICAgIGZyZWUoKGNoYXIgKikgYXJndik7Ci0gICAgICAgIFFhZHJ0RnJlZUNvbnZlcnNpb25UYWJsZSgpOwotICAgICAgICBRYWRydEZyZWVFbnZpcm9uKCk7Ci0KLSAgICAgICAgLyogVGVybWluYXRlLiAqLwotICAgICAgICByZXR1cm4gaTsKLX0KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9ET0NCcGFyc2VyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL0RPQ0JwYXJzZXIucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4YTZiOGMuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL0RPQ0JwYXJzZXIucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcgotICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIGZvciBhIERvY0Jvb2sgU0dNTCBub24tdmVyaWZ5aW5nIHBhcnNlcgotICAgICAgKiBUaGlzIGNvZGUgaXMgREVQUkVDQVRFRCwgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoRE9DQl9QQVJTRVJfSF9fKQotICAgICAgL2RlZmluZSBET0NCX1BBUlNFUl9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXJJbnRlcm5hbHMiCi0KLSAgICAgICogTW9zdCBvZiB0aGUgYmFjay1lbmQgc3RydWN0dXJlcyBmcm9tIFhNTCBhbmQgU0dNTCBhcmUgc2hhcmVkLgotCi0gICAgIGQgZG9jYlBhcnNlckN0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIGRvY2JQYXJzZXJDdHh0ICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGRvY2JQYXJzZXJDdHh0UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxQYXJzZXJDdHh0KQotCi0gICAgIGQgZG9jYlNBWEhhbmRsZXJQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLQotICAgICBkIGRvY2JTQVhIYW5kbGVyICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGRvY2JTQVhIYW5kbGVyUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyKQotCi0gICAgIGQgZG9jYlBhcnNlcklucHV0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotCi0gICAgIGQgZG9jYlBhcnNlcklucHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoZG9jYlBhcnNlcklucHV0UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxQYXJzZXJJbnB1dCkKLQotICAgICBkIGRvY2JEb2NQdHIgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgICogVGhlcmUgaXMgb25seSBmZXcgcHVibGljIGZ1bmN0aW9ucy4KLQotICAgICBkIGRvY2JFbmNvZGVFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JFbmNvZGVFbnRpdGllcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICoKLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqCi0gICAgIGQgIHF1b3RlQ2hhciAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgZG9jYlNBWFBhcnNlRG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYlNBWFBhcnNlRG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGRvY2JEb2NQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JTQVhIYW5kbGVyUHRyKQotICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIGRvY2JQYXJzZURvYyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JQYXJzZURvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShkb2NiRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCBkb2NiU0FYUGFyc2VGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYlNBWFBhcnNlRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShkb2NiRG9jUHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiU0FYSGFuZGxlclB0cikKLSAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBkb2NiUGFyc2VGaWxlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdkb2NiUGFyc2VGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGRvY2JEb2NQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciB0aGUgUHVzaCBtb2RlLgotCi0gICAgIGQgZG9jYkZyZWVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkZyZWVQYXJzZXJDdHh0JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZG9jYlNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgIGQgZG9jYlBhcnNlQ2h1bmsgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYlBhcnNlQ2h1bmsnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQotICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRlcm1pbmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCBkb2NiUGFyc2VEb2N1bWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JQYXJzZURvY3VtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiUGFyc2VyQ3R4dFB0cikKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfRE9DQl9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERPQ0JfUEFSU0VSX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL0hUTUxwYXJzZXIucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvSFRNTHBhcnNlci5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI3ZDhlNS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvSFRNTHBhcnNlci5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDQxOSArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXIKLSAgICAgICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGltcGxlbWVudHMgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXIKLSAgICAgICogICAgICAgICAgICAgIHdpdGggQVBJIGNvbXBhdGlibGUgd2l0aCB0aGUgWE1MIHBhcnNlciBvbmVzLiBJdCBzaG91bGQKLSAgICAgICogICAgICAgICAgICAgIGJlIGFibGUgdG8gcGFyc2UgInJlYWwgd29ybGQiIEhUTUwsIGV2ZW4gaWYgc2V2ZXJlbHkKLSAgICAgICogICAgICAgICAgICAgIGJyb2tlbiBmcm9tIGEgc3BlY2lmaWNhdGlvbiBwb2ludCBvZiB2aWV3LgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoSFRNTF9QQVJTRVJfSF9fKQotICAgICAgL2RlZmluZSBIVE1MX1BBUlNFUl9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgotCi0gICAgICAqIE1vc3Qgb2YgdGhlIGJhY2stZW5kIHN0cnVjdHVyZXMgZnJvbSBYTUwgYW5kIEhUTUwgYXJlIHNoYXJlZC4KLQotICAgICBkIGh0bWxQYXJzZXJDdHh0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCBodG1sUGFyc2VyQ3R4dCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChodG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyQ3R4dCkKLQotICAgICBkIGh0bWxQYXJzZXJOb2RlSW5mb1B0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJOb2RlSW5mb1B0cikKLQotICAgICBkIGh0bWxQYXJzZXJOb2RlSW5mby4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxQYXJzZXJOb2RlSW5mb1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyTm9kZUluZm8pCi0KLSAgICAgZCBodG1sU0FYSGFuZGxlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQotCi0gICAgIGQgaHRtbFNBWEhhbmRsZXIgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoaHRtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXIpCi0KLSAgICAgZCBodG1sUGFyc2VySW5wdXRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0KLSAgICAgZCBodG1sUGFyc2VySW5wdXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChodG1sUGFyc2VySW5wdXRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFBhcnNlcklucHV0KQotCi0gICAgIGQgaHRtbERvY1B0ciAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIGh0bWxOb2RlUHRyICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAqIEludGVybmFsIGRlc2NyaXB0aW9uIG9mIGFuIEhUTUwgZWxlbWVudCwgcmVwcmVzZW50aW5nIEhUTUwgNC4wMQotICAgICAgKiBhbmQgWEhUTUwgMS4wICh3aGljaCBzaGFyZSB0aGUgc2FtZSBzdHJ1Y3R1cmUpLgotCi0gICAgIGQgaHRtbEVsZW1EZXNjUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIGh0bWxFbGVtRGVzYyAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxFbGVtRGVzY1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHN0YXJ0VGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDY2hhcikgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHRhZyBpbXBsaWVkID8KLSAgICAgZCAgZW5kVGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENjaGFyKSAgICAgICAgICAgICAgICAgICAgICAgRW5kIHRhZyBpbXBsaWVkID8KLSAgICAgZCAgc2F2ZUVuZFRhZyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENjaGFyKSAgICAgICAgICAgICAgICAgICAgICAgU2F2ZSBlbmQgdGFnID8KLSAgICAgZCAgZW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENjaGFyKSAgICAgICAgICAgICAgICAgICAgICAgRW1wdHkgZWxlbWVudCA/Ci0gICAgIGQgIGRlcHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDY2hhcikgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQgZWxlbWVudCA/Ci0gICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDY2hhcikgICAgICAgICAgICAgICAgICAgICAgIExvb3NlIERURC9GcmFtZXNldAotICAgICBkICBpc2lubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2NoYXIpICAgICAgICAgICAgICAgICAgICAgICBCbG9jayAwL2lubGluZSBlbGVtPwotICAgICBkICBkZXNjICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgICoKLSAgICAgICogTmV3IGZpZWxkcyBlbmNhcHN1bGF0aW5nIEhUTUwgc3RydWN0dXJlCi0gICAgICAqCi0gICAgICAqIEJ1Z3M6Ci0gICAgICAqICAgICAgVGhpcyBpcyBhIHZlcnkgbGltaXRlZCByZXByZXNlbnRhdGlvbi4gIEl0IGZhaWxzIHRvIHRlbGwgdXMgd2hlbgotICAgICAgKiAgICAgIGFuIGVsZW1lbnQgKnJlcXVpcmVzKiBzdWJlbGVtZW50cyAod2Ugb25seSBoYXZlIHdoZXRoZXIgdGhleSdyZQotICAgICAgKiAgICAgIGFsbG93ZWQgb3Igbm90KSwgYW5kIGl0IGRvZXNuJ3QgdGVsbCB1cyB3aGVyZSBDREFUQSBhbmQgUENEQVRBCi0gICAgICAqICAgICAgYXJlIGFsbG93ZWQuICBTb21lIGVsZW1lbnQgcmVsYXRpb25zaGlwcyBhcmUgbm90IGZ1bGx5IHJlcHJlc2VudGVkOgotICAgICAgKiAgICAgIHRoZXNlIGFyZSBmbGFnZ2VkIHdpdGggdGhlIHdvcmQgTU9ESUZJRVIKLSAgICAgICoKLSAgICAgZCAgc3ViZWx0cyAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqICoKLSAgICAgZCAgZGVmYXVsdHN1YmVsdCAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGF0dHJzX29wdCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCi0gICAgIGQgIGF0dHJzX2RlcHIgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCi0gICAgIGQgIGF0dHJzX3JlcSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCi0KLSAgICAgICogSW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgYW4gSFRNTCBlbnRpdHkuCi0KLSAgICAgZCBodG1sRW50aXR5RGVzY1B0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCBodG1sRW50aXR5RGVzYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxFbnRpdHlEZXNjUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBkZXNjICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICAgKiBUaGVyZSBpcyBvbmx5IGZldyBwdWJsaWMgZnVuY3Rpb25zLgotCi0gICAgIGQgaHRtbFRhZ0xvb2t1cCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFRhZ0xvb2t1cCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgICAgICAgIGNvbnN0Ci0gICAgIGQgIHRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgaHRtbEVudGl0eUxvb2t1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxFbnRpdHlMb29rdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbEVudGl0eURlc2NQdHIpICAgICAgICAgICAgICBjb25zdAotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIGh0bWxFbnRpdHlWYWx1ZUxvb2t1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRW50aXR5RGVzY1B0cikgICAgICAgICAgICAgIGNvbnN0Ci0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKLQotICAgICBkIGh0bWxJc0F1dG9DbG9zZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sSXNBdXRvQ2xvc2VkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRG9jUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbE5vZGVQdHIpCi0KLSAgICAgZCBodG1sQXV0b0Nsb3NlVGFnLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEF1dG9DbG9zZVRhZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sTm9kZVB0cikKLQotICAgICBkIGh0bWxQYXJzZUVudGl0eVJlZi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxQYXJzZUVudGl0eVJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRW50aXR5RGVzY1B0cikgICAgICAgICAgICAgIGNvbnN0Ci0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCi0KLSAgICAgZCBodG1sUGFyc2VDaGFyUmVmLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFBhcnNlQ2hhclJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCBodG1sUGFyc2VFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFBhcnNlRWxlbWVudCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIGh0bWxOZXdQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5ld1BhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sUGFyc2VEb2N1bWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxQYXJzZURvY3VtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIGh0bWxTQVhQYXJzZURvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTQVhQYXJzZURvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBodG1sUGFyc2VEb2MgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUGFyc2VEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgaHRtbFNBWFBhcnNlRmlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTQVhQYXJzZUZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgaHRtbFBhcnNlRmlsZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFBhcnNlRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCBVVEY4VG9IdG1sICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdVVEY4VG9IdG1sJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgW10KLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbEVuY29kZUVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEVuY29kZUVudGl0aWVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgW10KLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBxdW90ZUNoYXIgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxJc1NjcmlwdEF0dHJpYnV0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIGh0bWxIYW5kbGVPbWl0dGVkRWxlbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxIYW5kbGVPbWl0dGVkRWxlbScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1BVU0hfRU5BQkxFRCkKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciB0aGUgUHVzaCBtb2RlLgotCi0gICAgIGQgaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgIGQgaHRtbFBhcnNlQ2h1bmsgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFBhcnNlQ2h1bmsnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRlcm1pbmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfUFVTSF9FTkFCTEVECi0KLSAgICAgZCBodG1sRnJlZVBhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRnJlZVBhcnNlckN0eHQnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgICogTmV3IHNldCBvZiBzaW1wbGVyL21vcmUgZmxleGlibGUgQVBJcwotCi0gICAgICAqIHhtbFBhcnNlck9wdGlvbjoKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyB0aGUgc2V0IG9mIFhNTCBwYXJzZXIgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgotICAgICAgKiB0byB0aGUgeG1sUmVhZERvYygpIGFuZCBzaW1pbGFyIGNhbGxzLgotCi0gICAgIGQgaHRtbFBhcnNlck9wdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgSFRNTF9QQVJTRV9SRUNPVkVSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXhlZCBwYXJzaW5nCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKLSAgICAgZCAgSFRNTF9QQVJTRV9OT0RFRkRURC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gZGVmYXVsdCBkb2N0eXBlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwNCcKLSAgICAgZCAgSFRNTF9QQVJTRV9OT0VSUk9SLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gZXJyb3IgcmVwb3J0cwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMjAnCi0gICAgIGQgIEhUTUxfUEFSU0VfTk9XQVJOSU5HLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIHdhcm5pbmcgcmVwb3J0cwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwNDAnCi0gICAgIGQgIEhUTUxfUEFSU0VfUEVEQU5USUMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlZGFudGljIGVyciByZXBvcnRzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA4MCcKLSAgICAgZCAgSFRNTF9QQVJTRV9OT0JMQU5LUy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlIGJsYW5rIG5vZGVzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDEwMCcKLSAgICAgZCAgSFRNTF9QQVJTRV9OT05FVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yYmlkIG5ldCBhY2Nlc3MKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwODAwJwotICAgICBkICBIVE1MX1BBUlNFX05PSU1QTElFRC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBpbXBsaWVkIGh0bWwvYm9keQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDIwMDAnCi0gICAgIGQgIEhUTUxfUEFSU0VfQ09NUEFDVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhY3Qgc21hbGwgdHh0bm9kCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxMDAwMCcKLSAgICAgZCAgSFRNTF9QQVJTRV9JR05PUkVfRU5DLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWdub3JlIGVuY29kaW5nIGhpbnQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMjAwMDAwJwotCi0gICAgIGQgaHRtbEN0eHRSZXNldCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEN0eHRSZXNldCcpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIGh0bWxDdHh0VXNlT3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0VXNlT3B0aW9ucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbFJlYWREb2MgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFJlYWREb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sUmVhZEZpbGUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUmVhZEZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxSZWFkTWVtb3J5ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkTWVtb3J5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxSZWFkRmQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkRmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sUmVhZElPICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUmVhZElPJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCi0gICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKLSAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sQ3R4dFJlYWREb2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFJlYWREb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbEN0eHRSZWFkRmlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZEZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sQ3R4dFJlYWRNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQ3R4dFJlYWRNZW1vcnknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxDdHh0UmVhZEZkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZEZkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxDdHh0UmVhZElPICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZElPJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBpb3JlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRSZWFkQ2FsbGJhY2spCi0gICAgIGQgIGlvY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dENsb3NlQ2FsbGJhY2spCi0gICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIEZ1cnRoZXIga25vd2xlZGdlIG9mIEhUTUwgc3RydWN0dXJlCi0KLSAgICAgZCBodG1sU3RhdHVzICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIEhUTUxfTkEgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGNoZWNrIGF0IGFsbAotICAgICBkICBIVE1MX0lOVkFMSUQgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKLSAgICAgZCAgSFRNTF9ERVBSRUNBVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAyJwotICAgICBkICBIVE1MX1ZBTElEICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwNCcKLSAgICAgZCAgSFRNTF9SRVFVSVJFRCAgYyAgICAgICAgICAgICAgICAgICBYJzAwMEMnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRNTF9WQUxJRCBvcmVkLWluCi0KLSAgICAgICogVXNpbmcgaHRtbEVsZW1EZXNjIHJhdGhlciB0aGFuIG5hbWUgaGVyZSwgdG8gZW1waGFzaXNlIHRoZSBmYWN0Ci0gICAgICAqICB0aGF0IG90aGVyd2lzZSB0aGVyZSdzIGEgbG9va3VwIG92ZXJoZWFkCi0KLSAgICAgZCBodG1sQXR0ckFsbG93ZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sQXR0ckFsbG93ZWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbFN0YXR1cykKLSAgICAgZCAgI3BhcmFtMSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgY29uc3QKLSAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgICNwYXJhbTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgI3BhcmFtMSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgY29uc3QKLSAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCBodG1sRWxlbWVudFN0YXR1c0hlcmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRWxlbWVudFN0YXR1c0hlcmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbFN0YXR1cykKLSAgICAgZCAgI3BhcmFtMSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgY29uc3QKLSAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgY29uc3QKLQotICAgICBkIGh0bWxOb2RlU3RhdHVzICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxOb2RlU3RhdHVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxTdGF0dXMpCi0gICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sTm9kZVB0cikKLSAgICAgZCAgI3BhcmFtMiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogQyBtYWNyb3MgaW1wbGVtZW50ZWQgYXMgcHJvY2VkdXJlcyBmb3IgSUxFL1JQRyBzdXBwb3J0LgotCi0gICAgIGQgaHRtbERlZmF1bHRTdWJlbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19odG1sRGVmYXVsdFN1YmVsZW1lbnQnKSAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKgotCi0gICAgIGQgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtRGVzYyAqCi0gICAgIGQgIGVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtRGVzYyAqCi0KLSAgICAgZCBodG1sUmVxdWlyZWRBdHRycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ19faHRtbFJlcXVpcmVkQXR0cnMnKSAgICAgICAgY29uc3QgY2hhciAqICoKLSAgICAgZCAgZWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1EZXNjICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSFRNTF9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxfUEFSU0VSX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWMzOGEwLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9IVE1MdHJlZS5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbgotICAgICAgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgaW1wbGVtZW50cyBhIGZldyBmdW5jdGlvbiBuZWVkZWQgdG8gcHJvY2VzcwotICAgICAgKiAgICAgICAgICAgICAgdHJlZSBpbiBhbiBIVE1MIHNwZWNpZmljIHdheS4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKEhUTUxfVFJFRV9IX18pCi0gICAgICAvZGVmaW5lIEhUTUxfVFJFRV9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvSFRNTHBhcnNlciIKLQotICAgICAgKiBIVE1MX1RFWFRfTk9ERToKLSAgICAgICoKLSAgICAgICogTWFjcm8uIEEgdGV4dCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQKLSAgICAgICogdGhlIHNhbWUgd2F5IGFzIGEgdGV4dCBub2RlIGluIGFuIFhNTCBkb2N1bWVudC4KLQotICAgICBkIEhUTUxfVEVYVF9OT0RFICBjICAgICAgICAgICAgICAgICAgIDMKLQotICAgICAgKiBIVE1MX0VOVElUWV9SRUZfTk9ERToKLSAgICAgICoKLSAgICAgICogTWFjcm8uIEFuIGVudGl0eSByZWZlcmVuY2UgaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZAotICAgICAgKiB0aGUgc2FtZSB3YXkgYXMgYW4gZW50aXR5IHJlZmVyZW5jZSBpbiBhbiBYTUwgZG9jdW1lbnQuCi0KLSAgICAgZCBIVE1MX0VOVElUWV9SRUZfTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLQotICAgICAgKiBIVE1MX0NPTU1FTlRfTk9ERToKLSAgICAgICoKLSAgICAgICogTWFjcm8uIEEgY29tbWVudCBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCi0gICAgICAqIHRoZSBzYW1lIHdheSBhcyBhIGNvbW1lbnQgaW4gYW4gWE1MIGRvY3VtZW50LgotCi0gICAgIGQgSFRNTF9DT01NRU5UX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4Ci0KLSAgICAgICogSFRNTF9QUkVTRVJWRV9OT0RFOgotICAgICAgKgotICAgICAgKiBNYWNyby4gQSBwcmVzZXJ2ZWQgbm9kZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCi0gICAgICAqIHRoZSBzYW1lIHdheSBhcyBhIENEQVRBIHNlY3Rpb24gaW4gYW4gWE1MIGRvY3VtZW50LgotCi0gICAgIGQgSFRNTF9QUkVTRVJWRV9OT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotCi0gICAgICAqIEhUTUxfUElfTk9ERToKLSAgICAgICoKLSAgICAgICogTWFjcm8uIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCi0gICAgICAqIHRoZSBzYW1lIHdheSBhcyBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaW4gYW4gWE1MIGRvY3VtZW50LgotCi0gICAgIGQgSFRNTF9QSV9OT0RFICAgIGMgICAgICAgICAgICAgICAgICAgNwotCi0gICAgIGQgaHRtbE5ld0RvYyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5ld0RvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQotICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCBodG1sTmV3RG9jTm9EdEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTmV3RG9jTm9EdEQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgaHRtbEdldE1ldGFFbmNvZGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ2h0bWxHZXRNZXRhRW5jb2RpbmcnKSAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxEb2NQdHIpCi0KLSAgICAgZCBodG1sU2V0TWV0YUVuY29kaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFNldE1ldGFFbmNvZGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCBodG1sRG9jRHVtcE1lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxEb2NEdW1wTWVtb3J5JykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0JykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbERvY0R1bXAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbERvY0R1bXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCBodG1sU2F2ZUZpbGUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sU2F2ZUZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCBodG1sTm9kZUR1bXAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCBodG1sTm9kZUR1bXBGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5vZGVEdW1wRmlsZScpCi0gICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXBGaWxlRm9ybWF0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbFNhdmVGaWxlRW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFNhdmVGaWxlRW5jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIGh0bWxTYXZlRmlsZUZvcm1hdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxTYXZlRmlsZUZvcm1hdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0JykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGh0bWxEb2NDb250ZW50RHVtcE91dHB1dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0JykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgaHRtbE5vZGVEdW1wT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5vZGVEdW1wT3V0cHV0JykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgZCBodG1sSXNCb29sZWFuQXR0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxJc0Jvb2xlYW5BdHRyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9IVE1MX0VOQUJMRUQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRNTF9UUkVFX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL1NBWC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9TQVgucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyMmQ0OWEuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL1NBWC5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IE9sZCBTQVggdmVyc2lvbiAxIGhhbmRsZXIsIGRlcHJlY2F0ZWQKLSAgICAgICogRGVzY3JpcHRpb246IERFUFJFQ0FURUQgc2V0IG9mIFNBWCB2ZXJzaW9uIDEgaW50ZXJmYWNlcyB1c2VkIHRvCi0gICAgICAqICAgICAgICAgICAgICBidWlsZCB0aGUgRE9NIHRyZWUuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0FYX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1NBWF9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3hsaW5rIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCi0KLSAgICAgZCBnZXRQdWJsaWNJZCAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdnZXRQdWJsaWNJZCcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgZ2V0U3lzdGVtSWQgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnZ2V0U3lzdGVtSWQnKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHNldERvY3VtZW50TG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3NldERvY3VtZW50TG9jYXRvcicpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYTG9jYXRvclB0cikKLQotICAgICBkIGdldExpbmVOdW1iZXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2dldExpbmVOdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBnZXRDb2x1bW5OdW1iZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdnZXRDb2x1bW5OdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBpc1N0YW5kYWxvbmUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpc1N0YW5kYWxvbmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBoYXNJbnRlcm5hbFN1YnNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2hhc0ludGVybmFsU3Vic2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgaGFzRXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdoYXNFeHRlcm5hbFN1YnNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIGludGVybmFsU3Vic2V0ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2ludGVybmFsU3Vic2V0JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCBleHRlcm5hbFN1YnNldCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdleHRlcm5hbFN1YnNldCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgZ2V0RW50aXR5ICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZ2V0RW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgZ2V0UGFyYW1ldGVyRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZ2V0UGFyYW1ldGVyRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgcmVzb2x2ZUVudGl0eSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygncmVzb2x2ZUVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIGVudGl0eURlY2wgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2VudGl0eURlY2wnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotCi0gICAgIGQgYXR0cmlidXRlRGVjbCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnYXR0cmlidXRlRGVjbCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZnVsbG5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZGVmYXVsdFZhbHVlICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKLQotICAgICBkIGVsZW1lbnREZWNsICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2VsZW1lbnREZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotCi0gICAgIGQgbm90YXRpb25EZWNsICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnbm90YXRpb25EZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB1bnBhcnNlZEVudGl0eURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd1bnBhcnNlZEVudGl0eURlY2wnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbm90YXRpb25OYW1lICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCBzdGFydERvY3VtZW50ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdzdGFydERvY3VtZW50JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBlbmREb2N1bWVudCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdlbmREb2N1bWVudCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgYXR0cmlidXRlICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnYXR0cmlidXRlJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGZ1bGxuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHN0YXJ0RWxlbWVudCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3N0YXJ0RWxlbWVudCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmdWxsbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYXR0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCi0KLSAgICAgZCBlbmRFbGVtZW50ICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdlbmRFbGVtZW50JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgcmVmZXJlbmNlICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygncmVmZXJlbmNlJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgY2hhcmFjdGVycyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnY2hhcmFjdGVycycpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBpZ25vcmFibGVXaGl0ZXNwYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaWdub3JhYmxlV2hpdGVzcGFjZScpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgZ2xvYmFsTmFtZXNwYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZ2xvYmFsTmFtZXNwYWNlJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHNldE5hbWVzcGFjZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3NldE5hbWVzcGFjZScpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIGdldE5hbWVzcGFjZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2dldE5hbWVzcGFjZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBjaGVja05hbWVzcGFjZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdjaGVja05hbWVzcGFjZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZVNwYWNlICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0KLSAgICAgZCBuYW1lc3BhY2VEZWNsICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCduYW1lc3BhY2VEZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIGNvbW1lbnQgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2NvbW1lbnQnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCBjZGF0YUJsb2NrICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdjZGF0YUJsb2NrJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgZCBpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXInKQotICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyVjEpCi0gICAgIGQgIHdhcm5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotICAgICBkIGluaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyJykKLSAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYSGFuZGxlclYxKQotICAgICAgL2VuZGlmCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpCi0gICAgIGQgaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInKQotICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyVjEpCi0gICAgICAvZW5kaWYKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NBWF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9TQVgyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL1NBWDIucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MmJlMjUuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL1NBWDIucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNTYgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBTQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWUKLSAgICAgICogRGVzY3JpcHRpb246IHRob3NlIGFyZSB0aGUgZGVmYXVsdCBTQVgyIGludGVyZmFjZXMgdXNlZCBieQotICAgICAgKiAgICAgICAgICAgICAgdGhlIGxpYnJhcnkgd2hlbiBidWlsZGluZyBET00gdHJlZS4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9TQVgyX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1NBWDJfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3hsaW5rIgotCi0gICAgIGQgeG1sU0FYMkdldFB1YmxpY0lkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU0FYMmdldFB1YmxpY0lkJykgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFNBWDJHZXRTeXN0ZW1JZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNBWDJnZXRTeXN0ZW1JZCcpICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYTG9jYXRvclB0cikKLQotICAgICBkIHhtbFNBWDJHZXRMaW5lTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkdldExpbmVOdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTQVgyR2V0Q29sdW1uTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkdldENvbHVtbk51bWJlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFNBWDJJc1N0YW5kYWxvbmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgySXNTdGFuZGFsb25lJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkhhc0ludGVybmFsU3Vic2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU0FYMkludGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkludGVybmFsU3Vic2V0JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNBWDJHZXRFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyR2V0RW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTQVgyUmVzb2x2ZUVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJSZXNvbHZlRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU0FYMkVudGl0eURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRW50aXR5RGVjbCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTQVgyQXR0cmlidXRlRGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJBdHRyaWJ1dGVEZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmdWxsbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkZWZhdWx0VmFsdWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQotCi0gICAgIGQgeG1sU0FYMkVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkVsZW1lbnREZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotCi0gICAgIGQgeG1sU0FYMk5vdGF0aW9uRGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJOb3RhdGlvbkRlY2wnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5vdGF0aW9uTmFtZSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotCi0gICAgIGQgeG1sU0FYMlN0YXJ0RG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyU3RhcnREb2N1bWVudCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU0FYMkVuZERvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkVuZERvY3VtZW50JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxTQVgyU3RhcnRFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlN0YXJ0RWxlbWVudCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmdWxsbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYXR0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCi0KLSAgICAgZCB4bWxTQVgyRW5kRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJFbmRFbGVtZW50JykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sU0FYMlN0YXJ0RWxlbWVudE5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlN0YXJ0RWxlbWVudE5zJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGxvY2FsbmFtZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5iX25hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgZCAgbmJfYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5iX2RlZmF1bHRlZCAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLQotICAgICBkIHhtbFNBWDJFbmRFbGVtZW50TnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRW5kRWxlbWVudE5zJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGxvY2FsbmFtZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTQVgyUmVmZXJlbmNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlJlZmVyZW5jZScpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNBWDJDaGFyYWN0ZXJzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkNoYXJhY3RlcnMnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU0FYMkNvbW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyQ29tbWVudCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNBWDJDRGF0YUJsb2NrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkNEYXRhQmxvY2snKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQotICAgICBkIHhtbFNBWERlZmF1bHRWZXJzaW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYRGVmYXVsdFZlcnNpb24nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKLQotICAgICBkIHhtbFNBWFZlcnNpb24gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFZlcnNpb24nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYSGFuZGxlcikKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXInKQotICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyKQotICAgICBkICB3YXJuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKLSAgICAgZCB4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicpCi0gICAgIGQgIGhkbHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXIpCi0KLSAgICAgZCBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCcpCi0gICAgICAvZW5kaWYKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkKLSAgICAgZCB4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcicpCi0gICAgIGQgIGhkbHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXIpCi0KLSAgICAgZCBkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcpCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCcpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NBWDJfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvYzE0bi5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjNlZDM3Li4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMTI1ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogUHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24KLSAgICAgICogRGVzY3JpcHRpb246IHRoZSBjMTRuIG1vZHVsZXMgcHJvdmlkZXMgYQotICAgICAgKgotICAgICAgKiAiQ2Fub25pY2FsIFhNTCIgaW1wbGVtZW50YXRpb24KLSAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4KLSAgICAgICoKLSAgICAgICogYW5kIGFuCi0gICAgICAqCi0gICAgICAqICJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIGltcGxlbWVudGF0aW9uCi0gICAgICAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0MxNE5fSF9fKQotICAgICAgL2RlZmluZSBYTUxfQzE0Tl9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCi0KLSAgICAgICogWE1MIENhbm9uaWNhemF0aW9uCi0gICAgICAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuCi0gICAgICAqCi0gICAgICAqIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2F6YXRpb24KLSAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuCi0gICAgICAqCi0gICAgICAqIENhbm9uaWNhbCBmb3JtIG9mIGFuIFhNTCBkb2N1bWVudCBjb3VsZCBiZSBjcmVhdGVkIGlmIGFuZCBvbmx5IGlmCi0gICAgICAqICBhKSBkZWZhdWx0IGF0dHJpYnV0ZXMgKGlmIGFueSkgYXJlIGFkZGVkIHRvIGFsbCBub2RlcwotICAgICAgKiAgYikgYWxsIGNoYXJhY3RlciBhbmQgcGFyc2VkIGVudGl0eSByZWZlcmVuY2VzIGFyZSByZXNvbHZlZAotICAgICAgKiBJbiBvcmRlciB0byBhY2hpdmUgdGhpcyBpbiBsaWJ4bWwyIHRoZSBkb2N1bWVudCBNVVNUIGJlIGxvYWRlZCB3aXRoCi0gICAgICAqIGZvbGxvd2luZyBnbG9iYWwgc2V0aW5nczoKLSAgICAgICoKLSAgICAgICogICAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSA9IFhNTF9ERVRFQ1RfSURTIOMgWE1MX0NPTVBMRVRFX0FUVFJTOwotICAgICAgKiAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0KDEpOwotICAgICAgKgotICAgICAgKiBvciBjb3JyZXNwb25kaW5nIHBhcnNlciBjb250ZXh0IHNldHRpbmc6Ci0gICAgICAqICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKLSAgICAgICoKLSAgICAgICogICAgLi4uCi0gICAgICAqICAgIGN0eHQtPmxvYWRzdWJzZXQgPSBYTUxfREVURUNUX0lEUyDjIFhNTF9DT01QTEVURV9BVFRSUzsKLSAgICAgICogICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gMTsKLSAgICAgICogICAgLi4uCi0KLSAgICAgICogeG1sQzE0Tk1vZGU6Ci0gICAgICAqCi0gICAgICAqIFByZWRlZmluZWQgdmFsdWVzIGZvciBDMTROIG1vZGVzCi0KLSAgICAgZCB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lLi4uCi0gICAgIGQgeG1sQzE0Tk1vZGUgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfQzE0Tl8xXzAgICBjICAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmlnaW5hbCBDMTROIDEuMAotICAgICBkICBYTUxfQzE0Tl9FWENMVVNJVkVfMV8wLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNsdXNpdmUgQzE0TiAxLjAKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9DMTROXzFfMSAgIGMgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxNE4gMS4xIHNwZWMKLQotICAgICBkIHhtbEMxNE5Eb2NTYXZlVG8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDMTRORG9jU2F2ZVRvJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW5jbHVzaXZlX25zX3ByZWZpeGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgb3B0aW9ucygqb21pdCkgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQotICAgICBkICB3aXRoX2NvbW1lbnRzICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLQotICAgICBkIHhtbEMxNE5Eb2NEdW1wTWVtb3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQzE0TkRvY0R1bXBNZW1vcnknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBvcHRpb25zKCpvbWl0KSAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2NfdHh0X3B0ciAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKLQotICAgICBkIHhtbEMxNE5Eb2NTYXZlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEMxNE5Eb2NTYXZlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW5jbHVzaXZlX25zX3ByZWZpeGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgb3B0aW9ucygqb21pdCkgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQotICAgICBkICB3aXRoX2NvbW1lbnRzICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIFRoaXMgaXMgdGhlIGNvcmUgQzE0TiBmdW5jdGlvbgotCi0gICAgICAqIHhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazoKLSAgICAgICogQHVzZXJfZGF0YTogdXNlciBkYXRhCi0gICAgICAqIEBub2RlOiB0aGUgY3VyZW50IG5vZGUKLSAgICAgICogQHBhcmVudDogdGhlIHBhcmVudCBub2RlCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBmb3IgYSBDMTROIGNhbGxiYWNrIG9uIHZpc2libGUgbm9kZXMKLSAgICAgICoKLSAgICAgICogUmV0dXJucyAxIGlmIHRoZSBub2RlIHNob3VsZCBiZSBpbmNsdWRlZAotCi0gICAgIGQgeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgZCB4bWxDMTRORXhlY3V0ZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDMTRORXhlY3V0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBpc192aXNpYmxlX2NhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2spCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW5jbHVzaXZlX25zX3ByZWZpeGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgb3B0aW9ucygqb21pdCkgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQotICAgICBkICB3aXRoX2NvbW1lbnRzICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfQzE0Tl9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DMTROX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL2NhdGFsb2cucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvY2F0YWxvZy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk4ZWM1YS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvY2F0YWxvZy5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDI0OCArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGludGVyZmFjZXMgdG8gdGhlIENhdGFsb2cgaGFuZGxpbmcgc3lzdGVtCi0gICAgICAqIERlc2NyaXB0aW9uOiB0aGUgY2F0YWxvZyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgc3VwcG9ydCBmb3IKLSAgICAgICogWE1MIENhdGFsb2dzIGFuZCBTR01MIGNhdGFsb2dzCi0gICAgICAqCi0gICAgICAqIFNHTUwgT3BlbiBUZWNobmljYWwgUmVzb2x1dGlvbiBUUjk0MDE6MTk5Ny4KLSAgICAgICogaHR0cDovL3d3dy5qY2xhcmsuY29tL3NwL2NhdGFsb2cuaHRtCi0gICAgICAqCi0gICAgICAqIFhNTCBDYXRhbG9ncyBXb3JraW5nIERyYWZ0IDA2IEF1Z3VzdCAyMDAxCi0gICAgICAqIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWwKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9DQVRBTE9HX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX0NBVEFMT0dfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLQotICAgICAgKiBYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFOgotICAgICAgKgotICAgICAgKiBUaGUgbmFtZXNwYWNlIGZvciB0aGUgWE1MIENhdGFsb2dzIGVsZW1lbnRzLgotCi0gICAgIGQgWE1MX0NBVEFMT0dTX05BTUVTUEFDRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICd1cm46b2FzaXM6bmFtZXM6KwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2cnCi0KLSAgICAgICogWE1MX0NBVEFMT0dfUEk6Ci0gICAgICAqCi0gICAgICAqIFRoZSBzcGVjaWZpYyBYTUwgQ2F0YWxvZyBQcm9jZXNzaW5nIEluc3RydWN0aW9uIG5hbWUuCi0KLSAgICAgZCBYTUxfQ0FUQUxPR19QSSAgYyAgICAgICAgICAgICAgICAgICAnb2FzaXMteG1sLWNhdGFsb2cnCi0KLSAgICAgICogVGhlIEFQSSBpcyB2b2x1bnRhcmlseSBsaW1pdGVkIHRvIGdlbmVyYWwgY2F0YWxvZ2luZy4KLQotICAgICBkIHhtbENhdGFsb2dQcmVmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgWE1MX0NBVEFfUFJFRkVSX05PTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgWE1MX0NBVEFfUFJFRkVSX1BVQkxJQy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCBYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotCi0gICAgIGQgeG1sQ2F0YWxvZ0FsbG93Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkIFhNTF9DQVRBX0FMTE9XX05PTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgWE1MX0NBVEFfQUxMT1dfR0xPQkFMLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkIFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkIFhNTF9DQVRBX0FMTE9XX0FMTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLQotICAgICBkIHhtbENhdGFsb2dQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogT3BlcmF0aW9ucyBvbiBhIGdpdmVuIGNhdGFsb2cuCi0KLSAgICAgZCB4bWxOZXdDYXRhbG9nICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDYXRhbG9nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENhdGFsb2dQdHIpCi0gICAgIGQgIHNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTG9hZEFDYXRhbG9nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9hZEFDYXRhbG9nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENhdGFsb2dQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sTG9hZFNHTUxTdXBlckNhdGFsb2cuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDYXRhbG9nUHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbENvbnZlcnRTR01MQ2F0YWxvZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvbnZlcnRTR01MQ2F0YWxvZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKLQotICAgICBkIHhtbEFDYXRhbG9nQWRkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFDYXRhbG9nQWRkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlcGxhY2UgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sQUNhdGFsb2dSZW1vdmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBQ2F0YWxvZ1JlbW92ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxBQ2F0YWxvZ1Jlc29sdmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxBQ2F0YWxvZ1Jlc29sdmUnKSAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQotICAgICBkICBwdWJJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nKSAgeG1sQ2hhciAqCi0gICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQotICAgICBkICBzeXNJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYycpICB4bWxDaGFyICoKLSAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCi0gICAgIGQgIHB1YklEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sQUNhdGFsb2dSZXNvbHZlVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQUNhdGFsb2dSZXNvbHZlVVJJJykgICAgIHhtbENoYXIgKgotICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCB4bWxBQ2F0YWxvZ0R1bXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBQ2F0YWxvZ0R1bXAnKQotICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgZCB4bWxGcmVlQ2F0YWxvZyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlQ2F0YWxvZycpCi0gICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQotCi0gICAgIGQgeG1sQ2F0YWxvZ0lzRW1wdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nSXNFbXB0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKLQotICAgICAgKiBHbG9iYWwgb3BlcmF0aW9ucy4KLQotICAgICBkIHhtbEluaXRpYWxpemVDYXRhbG9nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZUNhdGFsb2cnKQotCi0gICAgIGQgeG1sTG9hZENhdGFsb2cgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9hZENhdGFsb2cnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxMb2FkQ2F0YWxvZ3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMb2FkQ2F0YWxvZ3MnKQotICAgICBkICBwYXRocyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbENhdGFsb2dDbGVhbnVwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ0NsZWFudXAnKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgeG1sQ2F0YWxvZ0R1bXAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ0R1bXAnKQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICBkIHhtbENhdGFsb2dSZXNvbHZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ1Jlc29sdmUnKSAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBwdWJJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dSZXNvbHZlU3lzdGVtJykgICB4bWxDaGFyICoKLSAgICAgZCAgc3lzSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dSZXNvbHZlUHVibGljJykgICB4bWxDaGFyICoKLSAgICAgZCAgcHViSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nUmVzb2x2ZVVSSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dSZXNvbHZlVVJJJykgICAgICB4bWxDaGFyICoKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nQWRkICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nQWRkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBvcmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nUmVtb3ZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ1JlbW92ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNhdGFsb2dGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nQ29udmVydC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dDb252ZXJ0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogU3RyaWN0bHkgbWluaW1hbCBpbnRlcmZhY2VzIGZvciBwZXItZG9jdW1lbnQgY2F0YWxvZ3MgdXNlZAotICAgICAgKiBieSB0aGUgcGFyc2VyLgotCi0gICAgIGQgeG1sQ2F0YWxvZ0ZyZWVMb2NhbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dGcmVlTG9jYWwnKQotICAgICBkICBjYXRhbG9ncyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbENhdGFsb2dBZGRMb2NhbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dBZGRMb2NhbCcpICAgICAgICB2b2lkICoKLSAgICAgZCAgY2F0YWxvZ3MgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dMb2NhbFJlc29sdmUnKSAgICB4bWxDaGFyICoKLSAgICAgZCAgY2F0YWxvZ3MgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHB1YklEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXNJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJykgeG1sQ2hhciAqCi0gICAgIGQgIGNhdGFsb2dzICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBQcmVmZXJlbmNlIHNldHRpbmdzLgotCi0gICAgIGQgeG1sQ2F0YWxvZ1NldERlYnVnLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ1NldERlYnVnJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDYXRhbG9nUHJlZmVyKQotICAgICBkICBwcmVmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1ByZWZlcikKLQotICAgICBkIHhtbENhdGFsb2dTZXREZWZhdWx0cy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dTZXREZWZhdWx0cycpCi0gICAgIGQgIGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nQWxsb3cpCi0KLSAgICAgZCB4bWxDYXRhbG9nR2V0RGVmYXVsdHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2F0YWxvZ0FsbG93KQotCi0gICAgICAqIERFUFJFQ0FURUQgaW50ZXJmYWNlcwotCi0gICAgIGQgeG1sQ2F0YWxvZ0dldFN5c3RlbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dHZXRTeXN0ZW0nKSAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDYXRhbG9nR2V0UHVibGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ0dldFB1YmxpYycpICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfQ0FUQUxPR19FTkJMRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0FUQUxPR19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9jaHZhbGlkLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2NodmFsaWQucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2MDE0NDIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL2NodmFsaWQucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZwotICAgICAgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgZXhwb3J0cyBpbnRlcmZhY2VzIGZvciB0aGUgY2hhcmFjdGVyCi0gICAgICAqICAgICAgICAgICAgICAgcmFuZ2UgdmFsaWRhdGlvbiBBUElzCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfQ0hWQUxJRF9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9DSFZBTElEX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgotCi0gICAgICAqIERlZmluZSBvdXIgdHlwZWRlZnMgYW5kIHN0cnVjdHVyZXMKLQotICAgICBkIHhtbENoU1JhbmdlUHRyICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxDaFNSYW5nZSAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxDaFNSYW5nZVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1c2hvcnQpCi0gICAgIGQgIGhpZ2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdXNob3J0KQotCi0gICAgIGQgeG1sQ2hMUmFuZ2VQdHIgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbENoTFJhbmdlICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbENoTFJhbmdlUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBsb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCi0gICAgIGQgIGhpZ2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWludCkKLQotICAgICBkIHhtbENoUmFuZ2VHcm91cFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxDaFJhbmdlR3JvdXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxDaFJhbmdlR3JvdXBQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5iU2hvcnRSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBuYkxvbmdSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc2hvcnRSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoU1JhbmdlUHRyKQotICAgICBkICBsb25nUmFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hMUmFuZ2VQdHIpCi0KLSAgICAgICogUmFuZ2UgY2hlY2tpbmcgcm91dGluZQotCi0gICAgIGQgeG1sQ2hhckluUmFuZ2UgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckluUmFuZ2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQotICAgICBkIGdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hSYW5nZUdyb3VwUHRyKSAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNCYXNlQ2hhckdyb3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0Jhc2VDaGFyR3JvdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaFJhbmdlR3JvdXApICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNDaGFyR3JvdXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbElzQ2hhckdyb3VwJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKLQotICAgICBkIHhtbElzQ29tYmluaW5nR3JvdXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbElzQ29tYmluaW5nR3JvdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaFJhbmdlR3JvdXApICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNEaWdpdEdyb3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0RpZ2l0R3JvdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaFJhbmdlR3JvdXApICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNFeHRlbmRlckdyb3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0V4dGVuZGVyR3JvdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaFJhbmdlR3JvdXApICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNJZGVvZ3JhcGhpY0dyb3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0lkZW9ncmFwaGljR3JvdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaFJhbmdlR3JvdXApICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sSXNCYXNlQ2hhciAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNCYXNlQ2hhcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCi0KLSAgICAgZCB4bWxJc0JsYW5rICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0JsYW5rJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKLQotICAgICBkIHhtbElzQ2hhciAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzQ2hhcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCi0KLSAgICAgZCB4bWxJc0NvbWJpbmluZyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0NvbWJpbmluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCi0KLSAgICAgZCB4bWxJc0RpZ2l0ICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0RpZ2l0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDdWludCkKLQotICAgICBkIHhtbElzRXh0ZW5kZXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzRXh0ZW5kZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQotCi0gICAgIGQgeG1sSXNJZGVvZ3JhcGhpYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzSWRlb2dyYXBoaWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQotCi0gICAgIGQgeG1sSXNQdWJpZENoYXIgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNQdWJpZENoYXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DSFZBTElEX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL2RlYnVnWE1MLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2RlYnVnWE1MLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTgyNmJjLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9kZWJ1Z1hNTC5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDI1NCArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IFRyZWUgZGVidWdnaW5nIEFQSXMKLSAgICAgICogRGVzY3JpcHRpb246IEludGVyZmFjZXMgdG8gYSBzZXQgb2Ygcm91dGluZXMgdXNlZCBmb3IgZGVidWdnaW5nIHRoZSB0cmVlCi0gICAgICAqICAgICAgICAgICAgICBwcm9kdWNlZCBieSB0aGUgWE1MIHBhcnNlci4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKERFQlVHX1hNTF9fKQotICAgICAgL2RlZmluZSBERUJVR19YTUxfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCi0KLSAgICAgICogVGhlIHN0YW5kYXJkIER1bXAgcm91dGluZXMuCi0KLSAgICAgZCB4bWxEZWJ1Z0R1bXBTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBTdHJpbmcnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxEZWJ1Z0R1bXBBdHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wQXR0cicpCi0gICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxEZWJ1Z0R1bXBBdHRyTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcEF0dHJMaXN0JykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERlYnVnRHVtcE9uZU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBPbmVOb2RlJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERlYnVnRHVtcE5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBOb2RlJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERlYnVnRHVtcE5vZGVMaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wTm9kZUxpc3QnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxEZWJ1Z0R1bXBEb2N1bWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcERvY3VtZW50JykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxEZWJ1Z0R1bXBEVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBEVEQnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKLQotICAgICBkIHhtbERlYnVnRHVtcEVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wRW50aXRpZXMnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICBDaGVja2luZyByb3V0aW5lcyAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0gICAgIGQgeG1sRGVidWdDaGVja0RvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdDaGVja0RvY3VtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgIFhNTCBzaGVsbCBoZWxwZXJzICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLSAgICAgZCB4bWxMc09uZU5vZGUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMc09uZU5vZGUnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxMc0NvdW50Tm9kZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMc0NvdW50Tm9kZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbEJvb2xUb1RleHQgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJvb2xUb1RleHQnKSAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYm9vbHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICogICAgICAgVGhlIFhNTCBzaGVsbCByZWxhdGVkIHN0cnVjdHVyZXMgYW5kIGZ1bmN0aW9ucyAgICAgICAgICoKLSAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCi0KLSAgICAgICogeG1sU2hlbGxSZWFkbGluZUZ1bmM6Ci0gICAgICAqIEBwcm9tcHQ6ICBhIHN0cmluZyBwcm9tcHQKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGlucHV0IGZ1bmN0aW9uLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZnJlZWQgYnkgdGhlIFNoZWxsLgotCi0gICAgIGQgeG1sU2hlbGxSZWFkbGluZUZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxTaGVsbEN0eHQ6Ci0gICAgICAqCi0gICAgICAqIEEgZGVidWdnaW5nIHNoZWxsIGNvbnRleHQuCi0gICAgICAqIFRPRE86IGFkZCB0aGUgZGVmaW5lZCBmdW5jdGlvbiB0YWJsZXMuCi0KLSAgICAgZCB4bWxTaGVsbEN0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU2NoZWxsQ3R4dCAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIGxvYWRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNoZWxsUmVhZGxpbmVGdW5jKQotCi0gICAgICAqIHhtbFNoZWxsQ21kOgotICAgICAgKiBAY3R4dDogIGEgc2hlbGwgY29udGV4dAotICAgICAgKiBAYXJnOiAgYSBzdHJpbmcgYXJndW1lbnQKLSAgICAgICogQG5vZGU6ICBhIGZpcnN0IG5vZGUKLSAgICAgICogQG5vZGUyOiAgYSBzZWNvbmQgbm9kZQotICAgICAgKgotICAgICAgKiBUaGlzIGlzIGEgZ2VuZXJpYyBzaWduYXR1cmUgZm9yIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb25zLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIGFuIGludCwgbmVnYXRpdmUgcmV0dXJucyBpbmRpY2F0aW5nIGVycm9ycy4KLQotICAgICBkIHhtbFNoZWxsQ21kICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgIGQgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFByaW50WFBhdGhFcnJvcicpCi0gICAgIGQgIGVycm9yVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCcpCi0gICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICBkIHhtbFNoZWxsTGlzdCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNoZWxsTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sU2hlbGxCYXNlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxCYXNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCi0gICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxTaGVsbERpciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbERpcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sU2hlbGxMb2FkICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxMb2FkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCB4bWxTaGVsbFByaW50Tm9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNoZWxsUHJpbnROb2RlJykKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxTaGVsbENhdCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbENhdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sU2hlbGxXcml0ZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxXcml0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sU2hlbGxTYXZlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxTYXZlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQotICAgICBkIHhtbFNoZWxsVmFsaWRhdGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFZhbGlkYXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCi0gICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECi0KLSAgICAgZCB4bWxTaGVsbER1ICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbER1JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCi0gICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxTaGVsbFB3ZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFB3ZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAqIFRoZSBTaGVsbCBpbnRlcmZhY2UuCi0KLSAgICAgZCB4bWxTaGVsbCAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbCcpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxSZWFkbGluZUZ1bmMpCi0gICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9YUEFUSF9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9ERUJVR19FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFQlVHX1hNTF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvZGljdC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9kaWN0LnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDYxZTRjLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9kaWN0LnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBzdHJpbmcgZGljdGlvbmFyeQotICAgICAgKiBEZXNjcmlwdGlvbjogZGljdGlvbmFyeSBvZiByZXVzYWJsZSBzdHJpbmdzLCBqdXN0IHVzZWQgdG8gYXZvaWQKLSAgICAgICogICAgICAgICBhbGxvY2F0aW9uIGFuZCBmcmVlaW5nIG9wZXJhdGlvbnMuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfRElDVF9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9ESUNUX0hfXwotCi0gICAgICAqIFRoZSBkaWN0aW9uYXJ5LgotCi0gICAgIGQgeG1sRGljdFB0ciAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0KLSAgICAgICogSW5pdGlhbGl6ZXIKLQotICAgICBkIHhtbEluaXRpYWxpemVEaWN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZURpY3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiBDb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3Rvci4KLQotICAgICBkIHhtbERpY3RDcmVhdGUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERpY3RDcmVhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikKLQotICAgICBkIHhtbERpY3RTZXRMaW1pdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERpY3RTZXRMaW1pdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDc2l6ZV90KQotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKLSAgICAgZCAgbGltaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCi0KLSAgICAgZCB4bWxEaWN0R2V0VXNhZ2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0R2V0VXNhZ2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3NpemVfdCkKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCi0KLSAgICAgZCB4bWxEaWN0Q3JlYXRlU3ViLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGljdENyZWF0ZVN1YicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKQotICAgICBkICBzdWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKLQotICAgICBkIHhtbERpY3RSZWZlcmVuY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0R2V0UmVmZXJlbmNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQotCi0gICAgIGQgeG1sRGljdEZyZWUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGljdEZyZWUnKQotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKLQotICAgICAgKiBMb29rdXAgb2YgZW50cnkgaW4gdGhlIGRpY3Rpb25hcnkuCi0KLSAgICAgZCB4bWxEaWN0TG9va3VwICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEaWN0TG9va3VwJykgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxEaWN0RXhpc3RzICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEaWN0RXhpc3RzJykgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxEaWN0UUxvb2t1cCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEaWN0UUxvb2t1cCcpICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxEaWN0T3ducyAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0T3ducycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxEaWN0U2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0U2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKLQotICAgICAgKiBDbGVhbnVwIGZ1bmN0aW9uCi0KLSAgICAgZCB4bWxEaWN0Q2xlYW51cCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0Q2xlYW51cCcpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBYTUxfRElDVF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9lbmNvZGluZy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9lbmNvZGluZy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODE1M2YzYy4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvZW5jb2RpbmcucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyODQgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9ucwotICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnMgbmVlZGVkIGZvcgotICAgICAgKiAgICAgICAgICAgICAgWE1MIGJhc2ljIGVuY29kaW5nIGFuZCBpY29udigpIHN1cHBvcnQuCi0gICAgICAqCi0gICAgICAqIFJlbGF0ZWQgc3BlY3MgYXJlCi0gICAgICAqIHJmYzIwNDQgICAgICAgIChVVEYtOCBhbmQgVVRGLTE2KSBGLiBZZXJnZWF1IEFsaXMgVGVjaG5vbG9naWVzCi0gICAgICAqIFtJU08tMTA2NDZdICAgIFVURi04IGFuZCBVVEYtMTYgaW4gQW5uZXhlcwotICAgICAgKiBbSVNPLTg4NTktMV0gICBJU08gTGF0aW4tMSBjaGFyYWN0ZXJzIGNvZGVzLgotICAgICAgKiBbVU5JQ09ERV0gICAgICBUaGUgVW5pY29kZSBDb25zb3J0aXVtLCAiVGhlIFVuaWNvZGUgU3RhbmRhcmQgLS0KLSAgICAgICogICAgICAgICAgICAgICAgV29ybGR3aWRlIENoYXJhY3RlciBFbmNvZGluZyAtLSBWZXJzaW9uIDEuMCIsIEFkZGlzb24tCi0gICAgICAqICAgICAgICAgICAgICAgIFdlc2xleSwgVm9sdW1lIDEsIDE5OTEsIFZvbHVtZSAyLCAxOTkyLiAgVVRGLTggaXMKLSAgICAgICogICAgICAgICAgICAgICAgZGVzY3JpYmVkIGluIFVuaWNvZGUgVGVjaG5pY2FsIFJlcG9ydCAjNC4KLSAgICAgICogW1VTLUFTQ0lJXSAgICAgQ29kZWQgQ2hhcmFjdGVyIFNldC0tNy1iaXQgQW1lcmljYW4gU3RhbmRhcmQgQ29kZSBmb3IKLSAgICAgICogICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gSW50ZXJjaGFuZ2UsIEFOU0kgWDMuNC0xOTg2LgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0NIQVJfRU5DT0RJTkdfSF9fKQotICAgICAgL2RlZmluZSBYTUxfQ0hBUl9FTkNPRElOR19IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0KLSAgICAgICogeG1sQ2hhckVuY29kaW5nOgotICAgICAgKgotICAgICAgKiBQcmVkZWZpbmVkIHZhbHVlcyBmb3Igc29tZSBzdGFuZGFyZCBlbmNvZGluZ3MuCi0gICAgICAqIExpYnhtbCBkb2VzIG5vdCBkbyBiZWZvcmVoYW5kIHRyYW5zbGF0aW9uIG9uIFVURjggYW5kIElTT0xhdGluWC4KLSAgICAgICogSXQgYWxzbyBzdXBwb3J0cyBBU0NJSSwgSVNPLTg4NTktMSwgYW5kIFVURjE2IChMRSBhbmQgQkUpIGJ5IGRlZmF1bHQuCi0gICAgICAqCi0gICAgICAqIEFueXRoaW5nIGVsc2Ugd291bGQgaGF2ZSB0byBiZSB0cmFuc2xhdGVkIHRvIFVURjggYmVmb3JlIGJlaW5nCi0gICAgICAqIGdpdmVuIHRvIHRoZSBwYXJzZXIgaXRzZWxmLiBUaGUgQk9NIGZvciBVVEYxNiBhbmQgdGhlIGVuY29kaW5nCi0gICAgICAqIGRlY2xhcmF0aW9uIGFyZSBsb29rZWQgYXQgYW5kIGEgY29udmVydGVyIGlzIGxvb2tlZCBmb3IgYXQgdGhhdAotICAgICAgKiBwb2ludC4gSWYgbm90IGZvdW5kIHRoZSBwYXJzZXIgc3RvcHMgaGVyZSBhcyBhc2tlZCBieSB0aGUgWE1MIFJFQy4gQQotICAgICAgKiBjb252ZXJ0ZXIgY2FuIGJlIHJlZ2lzdGVyZWQgYnkgdGhlIHVzZXIKLSAgICAgICogeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIGJ1dCB0aGUgY3VycmVudCBmb3JtIGRvZXNuJ3QgYWxsb3cKLSAgICAgICogc3RhdGVmdWwgdHJhbnNjb2RpbmcgKGEgc2VyaW91cyBwcm9ibGVtIGFncmVlZCAhKS4gSWYgaWNvbnYgaGFzIGJlZW4KLSAgICAgICogZm91bmQgaXQgd2lsbCBiZSB1c2VkIGF1dG9tYXRpY2FsbHkgYW5kIGFsbG93IHN0YXRlZnVsIHRyYW5zY29kaW5nLAotICAgICAgKiB0aGUgc2ltcGxlc3QgaXMgdGhlbiB0byBiZSBzdXJlIHRvIGVuYWJsZSBpY29udiBhbmQgdG8gcHJvdmlkZSBpY29udgotICAgICAgKiBsaWJzIGZvciB0aGUgZW5jb2Rpbmcgc3VwcG9ydCBuZWVkZWQuCi0gICAgICAqCi0gICAgICAqIE5vdGUgdGhhdCB0aGUgZ2VuZXJpYyAiVVRGLTE2IiBpcyBub3QgYSBwcmVkZWZpbmVkIHZhbHVlLiAgSW5zdGVhZCwgb25seQotICAgICAgKiB0aGUgc3BlY2lmaWMgVVRGLTE2TEUgYW5kIFVURi0xNkJFIGFyZSBwcmVzZW50LgotCi0gICAgIGQgeG1sQ2hhckVuY29kaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19FUlJPUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBlbmNvZGluZyBkZXRlY3RlZAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIC0xCi0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGVuY29kaW5nIGRldGVjdGVkCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VVEY4Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVEYtOAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVRGLTE2IGxpdHRsZSBlbmRpYW4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVURi0xNiBiaWcgZW5kaWFuCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ1MtNCBsaXR0bGUgZW5kaWFuCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ1MtNCBiaWcgZW5kaWFuCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19FQkNESUMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQkNESUMgdWghCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ1MtNCB1bnVzdWFsIG9yZGVyCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ1MtNCB1bnVzdWFsIG9yZGVyCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOAotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VQ1MyLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ1MtMgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKLSAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktMSBJU09MYXRpbjEKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMAotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS0yIElTT0xhdGluMgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTMKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS00Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKLSAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktNQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTYKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzcuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS03Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKLSAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktOAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3Ci0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTkKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAotICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR18yMDIyX0pQLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tMjAyMi1KUAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5Ci0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0X0pJUwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCi0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVVQy1KUAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCi0gICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1cmUgQVNDSUkKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgotCi0gICAgICAqIHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzoKLSAgICAgICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgVVRGLTggcmVzdWx0Ci0gICAgICAqIEBvdXRsZW46ICB0aGUgbGVuZ3RoIG9mIEBvdXQKLSAgICAgICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZwotICAgICAgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgotICAgICAgKgotICAgICAgKiBUYWtlIGEgYmxvY2sgb2YgY2hhcnMgaW4gdGhlIG9yaWdpbmFsIGVuY29kaW5nIGFuZCB0cnkgdG8gY29udmVydAotICAgICAgKiBpdCB0byBhbiBVVEYtOCBibG9jayBvZiBjaGFycyBvdXQuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMgotICAgICAgKiAgICAgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4KLSAgICAgICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKLSAgICAgICogICAgIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0aWFibGUuCi0gICAgICAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4KLQotICAgICBkIHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM6Ci0gICAgICAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAotICAgICAgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0Ci0gICAgICAqIEBpbjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFycwotICAgICAgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgotICAgICAgKgotICAgICAgKiBUYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFub3RoZXIKLSAgICAgICogZW5jb2RpbmcuCi0gICAgICAqIE5vdGU6IGEgZmlyc3QgY2FsbCBkZXNpZ25lZCB0byBwcm9kdWNlIGhlYWRpbmcgaW5mbyBpcyBjYWxsZWQgd2l0aAotICAgICAgKiBpbiA9IE5VTEwuIElmIHN0YXRlZnVsIHRoaXMgc2hvdWxkIGFsc28gaW5pdGlhbGl6ZSB0aGUgZW5jb2RlciBzdGF0ZS4KLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIC0xIGlmIGxhY2sgb2Ygc3BhY2UsIG9yIC0yCi0gICAgICAqICAgICBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbGVkLgotICAgICAgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAotICAgICAgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4KLSAgICAgICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIHByb2R1Y2VkLgotCi0gICAgIGQgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIEJsb2NrIGRlZmluaW5nIHRoZSBoYW5kbGVycyBmb3Igbm9uIFVURi04IGVuY29kaW5ncy4KLSAgICAgICogSWYgaWNvbnYgaXMgc3VwcG9ydGVkLCB0aGVyZSBhcmUgdHdvIGV4dHJhIGZpZWxkcy4KLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0lDVV9FTkFCTEVEKQotICAgICBkIHVjb252X3QgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHVjb252ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDb252ZXJ0ZXIgKgotICAgICBkICB1dGY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQ29udmVydGVyICoKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMpCi0gICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jKQotICAgICAgKgotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0lDT05WX0VOQUJMRUQpCi0gICAgIGQgIGljb252X2luICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb252X3QKLSAgICAgZCAgaWNvbnZfb3V0ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnZfdAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSUNPTlZfRU5BQkxFRAotICAgICAgKgotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0lDVV9FTkFCTEVEKQotICAgICBkICB1Y29udl9pbiAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Y29udl90ICoKLSAgICAgZCAgdWNvbnZfb3V0ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWNvbnZfdCAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9JQ1VfRU5BQkxFRAotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3IgZW5jb2RpbmcgaGFuZGxlcnMuCi0KLSAgICAgZCB4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJykKLQotICAgICBkIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMnKQotCi0gICAgIGQgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicpCi0gICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotCi0gICAgIGQgeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLSAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLQotICAgICBkIHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMpCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3IgZW5jb2RpbmcgbmFtZXMgYW5kIGFsaWFzZXMuCi0KLSAgICAgZCB4bWxBZGRFbmNvZGluZ0FsaWFzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkRW5jb2RpbmdBbGlhcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYWxpYXMgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxEZWxFbmNvZGluZ0FsaWFzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVsRW5jb2RpbmdBbGlhcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBhbGlhcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbEdldEVuY29kaW5nQWxpYXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXRFbmNvZGluZ0FsaWFzJykgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGFsaWFzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnKQotCi0gICAgIGQgeG1sUGFyc2VDaGFyRW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNoYXJFbmNvZGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sR2V0Q2hhckVuY29kaW5nTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEdldENoYXJFbmNvZGluZ05hbWUnKSAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLQotICAgICAgKiBJbnRlcmZhY2VzIGRpcmVjdGx5IHVzZWQgYnkgdGhlIHBhcnNlcnMuCi0KLSAgICAgZCB4bWxEZXRlY3RDaGFyRW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbENoYXJFbmNPdXRGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckVuY091dEZ1bmMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLQotICAgICBkIHhtbENoYXJFbmNJbkZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDaGFyRW5jSW5GdW5jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpCi0gICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0KLSAgICAgZCB4bWxDaGFyRW5jRmlyc3RMaW5lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hhckVuY0ZpcnN0TGluZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotCi0gICAgIGQgeG1sQ2hhckVuY0Nsb3NlRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENoYXJFbmNDbG9zZUZ1bmMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikKLQotICAgICAgKiBFeHBvcnQgYSBmZXcgdXNlZnVsIGZ1bmN0aW9ucwotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgVVRGOFRvaXNvbGF0MSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnVVRGOFRvaXNvbGF0MScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICgqKQotICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcioKLSAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICBkIGlzb2xhdDFUb1VURjggICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2lzb2xhdDFUb1VURjgnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAoKikKLSAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DSEFSX0VOQ09ESU5HX0gKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9lbnRpdGllcy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9lbnRpdGllcy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWVlYzFiNi4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvZW50aXRpZXMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNzYgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmcKLSAgICAgICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgb2YgdGhlIGVudGl0eSBBUEkgbmVlZGVkCi0gICAgICAqICAgICAgICAgICAgICBmb3IgdGhlIHBhcnNlciBhbmQgYXBwbGljYXRpb25zLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0VOVElUSUVTX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX0VOVElUSUVTX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLQotICAgICAgKiBUaGUgZGlmZmVyZW50IHZhbGlkIGVudGl0eSB0eXBlcy4KLQotICAgICBkIHhtbEVudGl0eVR5cGUgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotICAgICBkICBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLSAgICAgZCAgWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotCi0gICAgICAqIEFuIHVuaXQgb2Ygc3RvcmFnZSBmb3IgYW4gZW50aXR5LCBjb250YWlucyB0aGUgc3RyaW5nLCB0aGUgdmFsdWUKLSAgICAgICogYW5kIHRoZSBsaW5raW5kIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlua2luZyBpbiB0aGUgaGFzaCB0YWJsZS4KLQotICAgICBkIHhtbEVudGl0eSAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEVudGl0eVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkgICAgICAgICAgICAgICAgIFhNTF9FTlRJVFlfREVDTAotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgRmlyc3QgY2hpbGQgbGluawotICAgICBkICBsYXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBMYXN0IGNoaWxkIGxpbmsKLSAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgLT4gRFRECi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCi0gICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXYgc2libGluZyBsaW5rCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5pbmcgZG9jdW1lbnQKLSAgICAgZCAgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50IGxlbmd0aAotICAgICBkICBldHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5VHlwZSkgICAgICAgICAgICAgICAgICBUaGUgZW50aXR5IHR5cGUKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbWxJRCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuZXh0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKSAgICAgICAgICAgICAgICAgICB1bnVzZWQKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG93bmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIE93bnMgY2hpbGRyZW4gPwotICAgICBkICBjaGVja2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBDb250ZW50IGNoZWNrZWQgPwotCi0gICAgICAqIEFsbCBlbnRpdGllcyBhcmUgc3RvcmVkIGluIGFuIGhhc2ggdGFibGUuCi0gICAgICAqIFRoZXJlIGlzIDIgc2VwYXJhdGUgaGFzaCB0YWJsZXMgZm9yIGdsb2JhbCBhbmQgcGFyYW1ldGVyIGVudGl0aWVzLgotCi0gICAgIGQgeG1sRW50aXRpZXNUYWJsZVB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogRXh0ZXJuYWwgZnVuY3Rpb25zOgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCi0gICAgIGQgeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzJykKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0xFR0FDWV9FTkFCTEQKLQotICAgICBkIHhtbE5ld0VudGl0eSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0VudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEFkZERvY0VudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZERvY0VudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEFkZER0ZEVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZER0ZEVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEdldFByZWRlZmluZWRFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRQcmVkZWZpbmVkRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxHZXREb2NFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXREb2NFbnRpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEdldER0ZEVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldER0ZEVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sR2V0UGFyYW1ldGVyRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0UGFyYW1ldGVyRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQotICAgICBkIHhtbEVuY29kZUVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sRW5jb2RlRW50aXRpZXMnKSAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0xFR0FDWV9FTkFCTEQKLQotICAgICBkIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQnKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLVhNTFBVCi0gICAgIGQgeG1sRW5jb2RlU3BlY2lhbENoYXJzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3BlY2lhbENoYXJzJykgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLVhNTFBVCi0gICAgIGQgeG1sQ3JlYXRlRW50aXRpZXNUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZUVudGl0aWVzVGFibGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXRpZXNUYWJsZVB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgZCB4bWxDb3B5RW50aXRpZXNUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlFbnRpdGllc1RhYmxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0aWVzVGFibGVQdHIpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnRpdGllc1RhYmxlUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVFJFRV9FTkFCTEVECi0KLSAgICAgZCB4bWxGcmVlRW50aXRpZXNUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVFbnRpdGllc1RhYmxlJykKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudGl0aWVzVGFibGVQdHIpCi1YTUxQVQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotICAgICBkIHhtbER1bXBFbnRpdGllc1RhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcEVudGl0aWVzVGFibGUnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW50aXRpZXNUYWJsZVB0cikKLVhNTFBVCi0gICAgIGQgeG1sRHVtcEVudGl0eURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEdW1wRW50aXR5RGVjbCcpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKLSAgICAgZCB4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLVhNTFBVZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMnKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfTEVHQUNZX0VOQUJMRAotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FTlRJVElFU19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9nbG9iYWxzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2dsb2JhbHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZTNhOWIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL2dsb2JhbHMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSw1ODEgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5Ci0gICAgICAqIERlc2NyaXB0aW9uOiBhbGwgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHRocmVhZCBoYW5kbGluZyBmb3IKLSAgICAgICogICAgICAgICAgICAgIHRob3NlIHZhcmlhYmxlcyBpcyBoYW5kbGVkIGJ5IHRoaXMgbW9kdWxlLgotICAgICAgKgotICAgICAgKiBUaGUgYm90dG9tIG9mIHRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBidWlsZF9nbG9iLnB5Ci0gICAgICAqIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBmaWxlIGdsb2JhbC5kYXRhCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfR0xPQkFMU19IKQotICAgICAgL2RlZmluZSBYTUxfR0xPQkFMU19ICi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbGVycm9yIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9TQVgiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL1NBWDIiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbG1lbW9yeSIKLQotICAgICBkIHhtbEluaXRHbG9iYWxzICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEluaXRHbG9iYWxzJykKLQotICAgICBkIHhtbENsZWFudXBHbG9iYWxzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYW51cEdsb2JhbHMnKQotCi0gICAgICAqIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jOgotICAgICAgKiBAVVJJOiB0aGUgVVJJIHRvIHJlYWQgZnJvbQotICAgICAgKiBAZW5jOiB0aGUgcmVxdWVzdGVkIHNvdXJjZSBlbmNvZGluZwotICAgICAgKgotICAgICAgKiBTaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIGlucHV0IG1ldGhvZAotICAgICAgKiBjb3JyZXNwb25kaW5nIHRvIGFuIFVSSS4KLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgbmV3IHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGlmIG5vCi0gICAgICAqICAgICAgICAgbWV0aG9kIHdhcyBmb3VuZC4KLQotICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jOgotICAgICAgKiBAVVJJOiB0aGUgVVJJIHRvIHdyaXRlIHRvCi0gICAgICAqIEBlbmM6IHRoZSByZXF1ZXN0ZWQgdGFyZ2V0IGVuY29kaW5nCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBmb3IgdGhlIGZ1bmN0aW9uIGRvaW5nIHRoZSBsb29rdXAgZm9yIGEgc3VpdGFibGUgb3V0cHV0IG1ldGhvZAotICAgICAgKiBjb3JyZXNwb25kaW5nIHRvIGFuIFVSSS4KLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgbmV3IHhtbE91dHB1dEJ1ZmZlclB0ciBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgTlVMTCBpZiBubwotICAgICAgKiAgICAgICAgIG1ldGhvZCB3YXMgZm91bmQuCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGUrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZW5hbWVEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQotICAgICBkIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJDcmVhdGUrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZW5hbWVEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKLSAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKLQotICAgICAgKiB4bWxSZWdpc3Rlck5vZGVGdW5jOgotICAgICAgKiBAbm9kZTogdGhlIGN1cnJlbnQgbm9kZQotICAgICAgKgotICAgICAgKiBTaWduYXR1cmUgZm9yIHRoZSByZWdpc3RyYXRpb24gY2FsbGJhY2sgb2YgYSBjcmVhdGVkIG5vZGUKLQotICAgICBkIHhtbFJlZ2lzdGVyTm9kZUZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmM6Ci0gICAgICAqIEBub2RlOiB0aGUgY3VycmVudCBub2RlCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBmb3IgdGhlIGRlcmVnaXN0cmF0aW9uIGNhbGxiYWNrIG9mIGEgZGlzY2FyZGVkIG5vZGUKLQotICAgICBkIHhtbERlcmVnaXN0ZXJOb2RlRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgIGQgeG1sR2xvYmFsU3RhdGVQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sR2xvYmFsU3RhdGUgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sR2xvYmFsU3RhdGVQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHhtbFBhcnNlclZlcnNpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHhtbERlZmF1bHRTQVhMb2NhdG9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWExvY2F0b3IpCi0gICAgIGQgIHhtbERlZmF1bHRTQVhIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXJWMSkKLSAgICAgZCAgZG9jYkRlZmF1bHRTQVhIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXJWMSkKLSAgICAgZCAgaHRtbERlZmF1bHRTQVhIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXJWMSkKLSAgICAgZCAgeG1sRnJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEZyZWVGdW5jKQotICAgICBkICB4bWxNYWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLSAgICAgZCAgeG1sTWVtU3RyZHVwICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cmR1cEZ1bmMpCi0gICAgIGQgIHhtbFJlYWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWFsbG9jRnVuYykKLSAgICAgZCAgeG1sR2VuZXJpY0Vycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQotICAgICBkICB4bWxTdHJ1Y3R1cmVkRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0gICAgIGQgIHhtbEdlbmVyaWNFcnJvckNvbnRleHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG9sZFhNTFdEY29tcGF0aWJpbGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgeG1sQnVmZmVyQWxsb2NTY2hlbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCi0gICAgIGQgIHhtbERlZmF1bHRCdWZmZXJTaXplLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxJbmRlbnRUcmVlT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB4bWxUcmVlSW5kZW50U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCi0gICAgIGQgIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCi0gICAgIGQgIHhtbE1hbGxvY0F0b21pYy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLSAgICAgZCAgeG1sTGFzdEVycm9yICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sRXJyb3IpCi0gICAgIGQgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCi0gICAgIGQgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKLSAgICAgZCAgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90aHJlYWRzIgotCi0gICAgIGQgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlJykKLSAgICAgZCBxcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdsb2JhbFN0YXRlUHRyKQotCi0gICAgIGQgeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jJykKLSAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQotCi0gICAgIGQgeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJykKLSAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQotCi0gICAgIGQgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnaXN0ZXJOb2RlRnVuYykKLSAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCB4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnaXN0ZXJOb2RlRnVuYykKLSAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQotICAgICBkIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQotCi0gICAgIGQgeG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCi0gICAgIGQgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZPdXRwdXRCdWZmZXIrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKLSAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKLQotICAgICBkIHhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXIrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQotICAgICBkIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpCi0gICAgIGQgZ2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfZG9jYkRlZmF1bHRTQVhIYW5kbGVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYSGFuZGxlclYxKQotCi0gICAgIGQgc2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfZG9jYkRlZmF1bHRTQVhIYW5kbGVyJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sU0FYSGFuZGxlclYxKQotICAgICAgL2VuZGlmCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCi0gICAgIGQgZ2V0X2h0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYSGFuZGxlclYxKQotCi0gICAgIGQgc2V0X2h0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sU0FYSGFuZGxlclYxKQotICAgICAgL2VuZGlmCi0KLSAgICAgZCBnZXRfeG1sTGFzdEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sTGFzdEVycm9yJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sRXJyb3IpCi0KLSAgICAgZCBzZXRfeG1sTGFzdEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sTGFzdEVycm9yJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sRXJyb3IpCi0KLSAgICAgZCBnZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF9vbGRYTUxXRGNvbXBhdGliaWxpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHNldF9vbGRYTUxXRGNvbXBhdGliaWxpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgZ2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sQnVmZmVyQWxsb2NTY2hlbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKLQotICAgICBkIHNldF94bWxCdWZmZXJBbGxvY1NjaGVtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCi0KLSAgICAgZCB4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKQotCi0gICAgIGQgZ2V0X3htbERlZmF1bHRCdWZmZXJTaXplLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHNldF94bWxEZWZhdWx0QnVmZmVyU2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbERlZmF1bHRCdWZmZXJTaXplJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgZ2V0X3htbERlZmF1bHRTQVhIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxTQVhIYW5kbGVyVjEpCi0KLSAgICAgZCBzZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxEZWZhdWx0U0FYSGFuZGxlcicpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZWRzKHhtbFNBWEhhbmRsZXJWMSkKLQotICAgICBkIGdldF94bWxEZWZhdWx0U0FYTG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbERlZmF1bHRTQVhMb2NhdG9yJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYTG9jYXRvcikKLQotICAgICBkIHNldF94bWxEZWZhdWx0U0FYTG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbERlZmF1bHRTQVhMb2NhdG9yJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlZHMoeG1sU0FYTG9jYXRvcikKLQotICAgICBkIGdldF94bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxEb1ZhbGlkaXR5KwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2tpbmdEZWZhdWx0VmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHNldF94bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxEb1ZhbGlkaXR5KwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2tpbmdEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkRvVmFsaWRpdHkrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVja2luZ0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxHZW5lcmljRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxHZW5lcmljRXJyb3InKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKLQotICAgICBkIHNldF94bWxHZW5lcmljRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxHZW5lcmljRXJyb3InKQotICAgICBkICBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKLQotICAgICBkIGdldF94bWxTdHJ1Y3R1cmVkRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxTdHJ1Y3R1cmVkRXJyb3InKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKLQotICAgICBkIHNldF94bWxTdHJ1Y3R1cmVkRXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxTdHJ1Y3R1cmVkRXJyb3InKQotICAgICBkICBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKLQotICAgICBkIHhtbFN0cnVjdHVyZWRFcnJvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fY2FsbF94bWxTdHJ1Y3R1cmVkRXJyb3InKQotICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVycm9yUHRyKQotCi0gICAgIGQgZ2V0X3htbEdlbmVyaWNFcnJvckNvbnRleHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEdlbmVyaWNFcnJvckNvbnRleHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHNldF94bWxHZW5lcmljRXJyb3JDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxHZW5lcmljRXJyb3JDb250ZXh0JykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBnZXRfeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgc2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIGdldF94bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHNldF94bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxJbmRlbnRUcmVlT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sSW5kZW50VHJlZU91dHB1dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgc2V0X3htbEluZGVudFRyZWVPdXRwdXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxJbmRlbnRUcmVlT3V0cHV0JykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxUcmVlSW5kZW50U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19nZXRfeG1sVHJlZUluZGVudFN0cmluZycpIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgc2V0X3htbFRyZWVJbmRlbnRTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxUcmVlSW5kZW50U3RyaW5nJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGhyRGVmVHJlZUluZGVudFN0cmluZycpIGNvbnN0IGNoYXIgKgotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIGdldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBzZXRfeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHNldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF94bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBzZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxQYXJzZXJEZWJ1Z0VudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF94bWxQYXJzZXJEZWJ1Z0VudGl0aWVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBzZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcycpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIGdldF94bWxQYXJzZXJWZXJzaW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19nZXRfeG1sUGFyc2VyVmVyc2lvbicpICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgc2V0X3htbFBhcnNlclZlcnNpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxQYXJzZXJWZXJzaW9uJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCBnZXRfeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxQZWRhbnRpYysKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNlckRlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgc2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUGVkYW50aWMrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZXJEZWZhdWx0VmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGhyRGVmUGVkYW50aWMrCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZXJEZWZhdWx0VmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBnZXRfeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sU2F2ZU5vRW1wdHlUYWdzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBzZXRfeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sU2F2ZU5vRW1wdHlUYWdzJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBnZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sU3Vic3RpdHV0ZSsKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0aWVzRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBzZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sU3Vic3RpdHV0ZSsKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0aWVzRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZTdWJzdGl0dXRlKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW50aXRpZXNEZWZhdWx0VmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCBnZXRfeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sUmVnaXN0ZXJOb2RlKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCBzZXRfeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUmVnaXN0ZXJOb2RlKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2NhbGxfeG1sUmVnaXN0ZXJOb2RlKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdFZhbHVlJykKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCBnZXRfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxEZXJlZ2lzdGVyTm9kZSsKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCBzZXRfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxEZXJlZ2lzdGVyTm9kZSsKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCi0KLSAgICAgZCB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fY2FsbF94bWxEZXJlZ2lzdGVyTm9kZSsKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgZ2V0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbFBhcnNlcklucHV0QnVmZmVyKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQotCi0gICAgIGQgc2V0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbFBhcnNlcklucHV0QnVmZmVyKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVWYWx1ZScpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19jYWxsX3htbFBhcnNlcklucHV0QnVmZmVyKwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCi0KLSAgICAgZCBnZXRfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbE91dHB1dEJ1ZmZlcisKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMpCi0KLSAgICAgZCBzZXRfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbE91dHB1dEJ1ZmZlcisKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMpCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19jYWxsX3htbE91dHB1dEJ1ZmZlcisKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9HTE9CQUxTX0gKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9oYXNoLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyMTY5ZGYuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNDMgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBDaGFpbmVkIGhhc2ggdGFibGVzCi0gICAgICAqIERlc2NyaXB0aW9uOiBUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBoYXNoIHRhYmxlIHN1cHBvcnQgdXNlZCBpbgotICAgICAgKiAgICAgICAgICAgICAgdmFyaW91cyBwbGFjZXMgaW4gdGhlIGxpYnJhcnkuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfSEFTSF9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9IQVNIX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLQotICAgICAgKiBUaGUgaGFzaCB0YWJsZS4KLQotICAgICBkIHhtbEhhc2hUYWJsZVB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9kaWN0IgotCi0gICAgICAqIGZ1bmN0aW9uIHR5cGVzOgotCi0gICAgICAqIHhtbEhhc2hEZWFsbG9jYXRvcjoKLSAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAotICAgICAgKiBAbmFtZTogIHRoZSBuYW1lIGFzc29jaWF0ZWQKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLgotCi0gICAgIGQgeG1sSGFzaERlYWxsb2NhdG9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sSGFzaENvcGllcjoKLSAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAotICAgICAgKiBAbmFtZTogIHRoZSBuYW1lIGFzc29jaWF0ZWQKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgdG8gY29weSBkYXRhIGZyb20gYSBoYXNoLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCi0KLSAgICAgZCB4bWxIYXNoQ29waWVyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxIYXNoU2Nhbm5lcjoKLSAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAotICAgICAgKiBAZGF0YTogIGV4dHJhIHNjYW5ubmVyIGRhdGEKLSAgICAgICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHdoZW4gc2Nhbm5pbmcgZGF0YSBpbiBhIGhhc2ggd2l0aCB0aGUgc2ltcGxlIHNjYW5uZXIuCi0KLSAgICAgZCB4bWxIYXNoU2Nhbm5lciAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxIYXNoU2Nhbm5lckZ1bGw6Ci0gICAgICAqIEBwYXlsb2FkOiAgdGhlIGRhdGEgaW4gdGhlIGhhc2gKLSAgICAgICogQGRhdGE6ICBleHRyYSBzY2Fubm5lciBkYXRhCi0gICAgICAqIEBuYW1lOiAgdGhlIG5hbWUgYXNzb2NpYXRlZAotICAgICAgKiBAbmFtZTI6ICB0aGUgc2Vjb25kIG5hbWUgYXNzb2NpYXRlZAotICAgICAgKiBAbmFtZTM6ICB0aGUgdGhpcmQgbmFtZSBhc3NvY2lhdGVkCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHdoZW4gc2Nhbm5pbmcgZGF0YSBpbiBhIGhhc2ggd2l0aCB0aGUgZnVsbCBzY2FubmVyLgotCi0gICAgIGQgeG1sSGFzaFNjYW5uZXJGdWxsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogQ29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IuCi0KLSAgICAgZCB4bWxIYXNoQ3JlYXRlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoQ3JlYXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxIYXNoQ3JlYXRlRGljdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hDcmVhdGVEaWN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQotCi0gICAgIGQgeG1sSGFzaEZyZWUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaEZyZWUnKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQotCi0gICAgICAqIEFkZCBhIG5ldyBlbnRyeSB0byB0aGUgaGFzaCB0YWJsZS4KLQotICAgICBkIHhtbEhhc2hBZGRFbnRyeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdXNlcmRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxIYXNoVXBkYXRlRW50cnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQotCi0gICAgIGQgeG1sSGFzaEFkZEVudHJ5Mi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbEhhc2hVcGRhdGVFbnRyeTIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnkyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdXNlcmRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoRGVhbGxvY2F0b3IpCi0KLSAgICAgZCB4bWxIYXNoQWRkRW50cnkzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaEFkZEVudHJ5MycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbEhhc2hVcGRhdGVFbnRyeTMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnkzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTMgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQotCi0gICAgICAqIFJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBoYXNoIHRhYmxlLgotCi0gICAgIGQgeG1sSGFzaFJlbW92ZUVudHJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaFJlbW92ZUVudHJ5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQotCi0gICAgIGQgeG1sSGFzaFJlbW92ZUVudHJ5Mi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hSZW1vdmVFbnRyeTInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQotCi0gICAgIGQgeG1sSGFzaFJlbW92ZUVudHJ5My4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hSZW1vdmVFbnRyeTMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hEZWFsbG9jYXRvcikKLQotICAgICAgKiBSZXRyaWV2ZSB0aGUgdXNlcmRhdGEuCi0KLSAgICAgZCB4bWxIYXNoTG9va3VwICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxIYXNoTG9va3VwJykgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sSGFzaExvb2t1cDIgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSGFzaExvb2t1cDInKSAgICAgICAgICAgIHZvaWQgKgotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxIYXNoTG9va3VwMyAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxIYXNoTG9va3VwMycpICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTMgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxIYXNoUUxvb2t1cCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxIYXNoUUxvb2t1cCcpICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEhhc2hRTG9va3VwMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEhhc2hRTG9va3VwMicpICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHJlZml4MiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxIYXNoUUxvb2t1cDMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxIYXNoUUxvb2t1cDMnKSAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHByZWZpeDIgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHJlZml4MyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogSGVscGVycy4KLQotICAgICBkIHhtbEhhc2hDb3B5ICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hDb3B5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hDb3BpZXIpCi0KLSAgICAgZCB4bWxIYXNoU2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoU2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotCi0gICAgIGQgeG1sSGFzaFNjYW4gICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaFNjYW4nKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFNjYW5uZXIpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sSGFzaFNjYW4zICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaFNjYW4zJykKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hTY2FubmVyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbEhhc2hTY2FuRnVsbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hTY2FuRnVsbCcpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoU2Nhbm5lckZ1bGwpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sSGFzaFNjYW5GdWxsMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hTY2FuRnVsbDMnKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFNjYW5uZXJGdWxsKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfSEFTSF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9saXN0LnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL2xpc3QucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMmZhMWMuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL2xpc3QucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNzkgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBsaXN0cyBpbnRlcmZhY2VzCi0gICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBpbXBsZW1lbnQgdGhlIGxpc3Qgc3VwcG9ydCB1c2VkIGluCi0gICAgICAqIHZhcmlvdXMgcGxhY2UgaW4gdGhlIGxpYnJhcnkuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfTElOS19JTkNMVURFX18pCi0gICAgICAvZGVmaW5lIFhNTF9MSU5LX0lOQ0xVREVfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLQotICAgICBkIHhtbExpbmtQdHIgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxMaXN0UHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIHhtbExpc3REZWFsbG9jYXRvcjoKLSAgICAgICogQGxrOiAgdGhlIGRhdGEgdG8gZGVhbGxvY2F0ZQotICAgICAgKgotICAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIGZyZWUgZGF0YSBmcm9tIGEgbGlzdC4KLQotICAgICBkIHhtbExpc3REZWFsbG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbExpc3REYXRhQ29tcGFyZToKLSAgICAgICogQGRhdGEwOiB0aGUgZmlyc3QgZGF0YQotICAgICAgKiBAZGF0YTE6IHRoZSBzZWNvbmQgZGF0YQotICAgICAgKgotICAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIGNvbXBhcmUgMiBkYXRhLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIDAgaXMgZXF1YWxpdHksIC0xIG9yIDEgb3RoZXJ3aXNlIGRlcGVuZGluZyBvbiB0aGUgb3JkZXJpbmcuCi0KLSAgICAgZCB4bWxMaXN0RGF0YUNvbXBhcmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxMaXN0V2Fsa2VyOgotICAgICAgKiBAZGF0YTogdGhlIGRhdGEgZm91bmQgaW4gdGhlIGxpc3QKLSAgICAgICogQHVzZXI6IGV4dHJhIHVzZXIgcHJvdmlkZWQgZGF0YSB0byB0aGUgd2Fsa2VyCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgd2hlbiB3YWxraW5nIGEgbGlzdCB3aXRoIHhtbExpc3RXYWxrKCkuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgMCB0byBzdG9wIHdhbGtpbmcgdGhlIGxpc3QsIDEgb3RoZXJ3aXNlLgotCi0gICAgIGQgeG1sTGlzdFdhbGtlciAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogQ3JlYXRpb24vRGVsZXRpb24KLQotICAgICBkIHhtbExpc3RDcmVhdGUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RDcmVhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgZGVhbGxvY2F0b3IgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3REZWFsbG9jYXRvcikKLSAgICAgZCAgY29tcGFyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3REYXRhQ29tcGFyZSkKLQotICAgICBkIHhtbExpc3REZWxldGUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3REZWxldGUnKQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICAgKiBCYXNpYyBPcGVyYXRvcnMKLQotICAgICBkIHhtbExpc3RTZWFyY2ggICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbExpc3RTZWFyY2gnKSAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTGlzdFJldmVyc2VTZWFyY2guLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcpICAgICAgdm9pZCAqCi0gICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbExpc3RJbnNlcnQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RJbnNlcnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTGlzdEFwcGVuZCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdEFwcGVuZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxMaXN0UmVtb3ZlRmlyc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UmVtb3ZlRmlyc3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTGlzdFJlbW92ZUxhc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UmVtb3ZlTGFzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxMaXN0UmVtb3ZlQWxsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFJlbW92ZUFsbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxMaXN0Q2xlYXIgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0Q2xlYXInKQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICBkIHhtbExpc3RFbXB0eSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RFbXB0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICBkIHhtbExpc3RGcm9udCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RGcm9udCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxMaW5rUHRyKQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICBkIHhtbExpc3RFbmQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RFbmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlua1B0cikKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0KLSAgICAgZCB4bWxMaXN0U2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0U2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICBkIHhtbExpc3RQb3BGcm9udC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RQb3BGcm9udCcpCi0gICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotCi0gICAgIGQgeG1sTGlzdFBvcEJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UG9wQmFjaycpCi0gICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotCi0gICAgIGQgeG1sTGlzdFB1c2hGcm9udC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RQdXNoRnJvbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTGlzdFB1c2hCYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFB1c2hCYWNrJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiBBZHZhbmNlZCBPcGVyYXRvcnMKLQotICAgICBkIHhtbExpc3RSZXZlcnNlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RSZXZlcnNlJykKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0KLSAgICAgZCB4bWxMaXN0U29ydCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0U29ydCcpCi0gICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotCi0gICAgIGQgeG1sTGlzdFdhbGsgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFdhbGsnKQotICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgd2Fsa2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RXYWxrZXIpCi0gICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKgotCi0gICAgIGQgeG1sTGlzdFJldmVyc2VXYWxrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFJldmVyc2VXYWxrJykKLSAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0gICAgIGQgIHdhbGtlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0V2Fsa2VyKQotICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICoKLQotICAgICBkIHhtbExpc3RNZXJnZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RNZXJnZScpCi0gICAgIGQgIGwxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQotICAgICBkICBsMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLQotICAgICBkIHhtbExpc3REdXAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3REdXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgb2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCi0KLSAgICAgZCB4bWxMaXN0Q29weSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0Q29weScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgb2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpICAgICAgICAgICAgICAgY29uc3QKLQotICAgICAgKiBMaW5rIG9wZXJhdG9ycwotCi0gICAgIGQgeG1sTGlzdEdldERhdGEgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTGlzdEdldERhdGEnKSAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBsayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlua1B0cikKLQotICAgICAgKiB4bWxMaXN0VW5pcXVlKCkKLSAgICAgICogeG1sTGlzdFN3YXAKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfTElOS19JTkNMVURFX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9uYW5vZnRwLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjNGYyYWEuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNzIgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbgotICAgICAgKiBEZXNjcmlwdGlvbjogbWluaW1hbCBGVFAgaW1wbGVtZW50YXRpb24gYWxsb3dpbmcgdG8gZmV0Y2ggcmVzb3VyY2VzCi0gICAgICAqICAgICAgICAgICAgICBsaWtlIGV4dGVybmFsIHN1YnNldC4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKE5BTk9fRlRQX0hfXykKLSAgICAgIC9kZWZpbmUgTkFOT19GVFBfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLQotICAgICBkIElOVkFMSURfU09DS0VUICBjICAgICAgICAgICAgICAgICAgIC0xCi0KLSAgICAgICogZnRwTGlzdENhbGxiYWNrOgotICAgICAgKiBAdXNlckRhdGE6ICB1c2VyIHByb3ZpZGVkIGRhdGEgZm9yIHRoZSBjYWxsYmFjawotICAgICAgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZSBuYW1lIChpbmNsdWRpbmcgIi0+IiB3aGVuIGxpbmtzIGFyZSBzaG93bikKLSAgICAgICogQGF0dHJpYjogIHRoZSBhdHRyaWJ1dGUgc3RyaW5nCi0gICAgICAqIEBvd25lcjogIHRoZSBvd25lciBzdHJpbmcKLSAgICAgICogQGdyb3VwOiAgdGhlIGdyb3VwIHN0cmluZwotICAgICAgKiBAc2l6ZTogIHRoZSBmaWxlIHNpemUKLSAgICAgICogQGxpbmtzOiAgdGhlIGxpbmsgY291bnQKLSAgICAgICogQHllYXI6ICB0aGUgeWVhcgotICAgICAgKiBAbW9udGg6ICB0aGUgbW9udGgKLSAgICAgICogQGRheTogIHRoZSBkYXkKLSAgICAgICogQGhvdXI6ICB0aGUgaG91cgotICAgICAgKiBAbWludXRlOiAgdGhlIG1pbnV0ZQotICAgICAgKgotICAgICAgKiBBIGNhbGxiYWNrIGZvciB0aGUgeG1sTmFub0ZUUExpc3QgY29tbWFuZC4KLSAgICAgICogTm90ZSB0aGF0IG9ubHkgb25lIG9mIHllYXIgYW5kIGRheTptaW51dGUgYXJlIHNwZWNpZmllZC4KLQotICAgICBkIGZ0cExpc3RDYWxsYmFjay4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIGZ0cERhdGFDYWxsYmFjazoKLSAgICAgICogQHVzZXJEYXRhOiB0aGUgdXNlciBwcm92aWRlZCBjb250ZXh0Ci0gICAgICAqIEBkYXRhOiB0aGUgZGF0YSByZWNlaXZlZAotICAgICAgKiBAbGVuOiBpdHMgc2l6ZSBpbiBieXRlcwotICAgICAgKgotICAgICAgKiBBIGNhbGxiYWNrIGZvciB0aGUgeG1sTmFub0ZUUEdldCBjb21tYW5kLgotCi0gICAgIGQgZnRwRGF0YUNhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogSW5pdAotCi0gICAgIGQgeG1sTmFub0ZUUEluaXQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUEluaXQnKQotCi0gICAgIGQgeG1sTmFub0ZUUENsZWFudXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQQ2xlYW51cCcpCi0KLSAgICAgICogQ3JlYXRpbmcvZnJlZWluZyBjb250ZXh0cy4KLQotICAgICBkIHhtbE5hbm9GVFBOZXdDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0ZUUE5ld0N0eHQnKSAgICAgICAgIHZvaWQgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbE5hbm9GVFBGcmVlQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBGcmVlQ3R4dCcpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTmFub0ZUUENvbm5lY3RUby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9GVFBDb25uZWN0VG8nKSAgICAgICB2b2lkICoKLSAgICAgZCAgc2VydmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIE9wZW5pbmcvY2xvc2luZyBzZXNzaW9uIGNvbm5lY3Rpb25zLgotCi0gICAgIGQgeG1sTmFub0ZUUE9wZW4gIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0ZUUE9wZW4nKSAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbE5hbm9GVFBDb25uZWN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUENvbm5lY3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vRlRQQ2xvc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQQ2xvc2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vRlRQUXVpdCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQUXVpdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbE5hbm9GVFBTY2FuUHJveHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQU2NhblByb3h5JykKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQUHJveHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQUHJveHknKQotICAgICBkICBob3N0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBwYXNzd2QgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxOYW5vRlRQVXBkYXRlVVJMLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUFVwZGF0ZVVSTCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgICogUmF0aGVyIGludGVybmFsIGNvbW1hbmRzLgotCi0gICAgIGQgeG1sTmFub0ZUUEdldFJlc3BvbnNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUEdldFJlc3BvbnNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiBDRC9ESVIvR0VUIGhhbmRsZXJzLgotCi0gICAgIGQgeG1sTmFub0ZUUEN3ZCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUEN3ZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQRGVsZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQRGVsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJykgICBTb2NrZXQgZGVzY3JpcHRvcgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbE5hbm9GVFBMaXN0ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBMaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZnRwTGlzdENhbGxiYWNrKQotICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQR2V0U29ja2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUEdldFNvY2tldCcpICAgICAgIFNvY2tldCBkZXNjcmlwdG9yCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQR2V0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQR2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZnRwRGF0YUNhbGxiYWNrKQotICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vRlRQUmVhZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQUmVhZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9GVFBfRU5BQkxFRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5PX0ZUUF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9uYW5vaHR0cC5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9uYW5vaHR0cC5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRlNjAwOC4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvbmFub2h0dHAucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBtaW5pbWFsIEhUVFAgaW1wbGVtZW50YXRpb24KLSAgICAgICogRGVzY3JpcHRpb246IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbiBhbGxvd2luZyB0byBmZXRjaCByZXNvdXJjZXMKLSAgICAgICogICAgICAgICAgICAgIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoTkFOT19IVFRQX0hfXykKLSAgICAgIC9kZWZpbmUgTkFOT19IVFRQX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotCi0gICAgIGQgeG1sTmFub0hUVFBJbml0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBJbml0JykKLQotICAgICBkIHhtbE5hbm9IVFRQQ2xlYW51cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQQ2xlYW51cCcpCi0KLSAgICAgZCB4bWxOYW5vSFRUUFNjYW5Qcm94eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQU2NhblByb3h5JykKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUEZldGNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBGZXRjaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUE1ldGhvZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQTWV0aG9kJykgICAgICAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKLSAgICAgZCAgaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGlsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmFub0hUVFBNZXRob2RSZWRpci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQTWV0aG9kUmVkaXInKSAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKLSAgICAgZCAgcmVkaXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKLSAgICAgZCAgaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGlsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmFub0hUVFBPcGVuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0hUVFBPcGVuJykgICAgICAgICAgIHZvaWQgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKCopCi0KLSAgICAgZCB4bWxOYW5vSFRUUE9wZW5SZWRpci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQT3BlblJlZGlyJykgICAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGNvbnRlbnRUeXBlICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCi0gICAgIGQgIHJlZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUFJldHVybkNvZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUFJldHVybkNvZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUEF1dGhIZWFkZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUEF1dGhIZWFkZXInKSAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTmFub0hUVFBSZWRpci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQUmVkaXInKSAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxOYW5vSFRUUEVuY29kaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0hUVFBFbmNvZGluZycpICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbE5hbm9IVFRQTWltZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUE1pbWVUeXBlJykgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sTmFub0hUVFBSZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBSZWFkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBkZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCB4bWxOYW5vSFRUUFNhdmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUFNhdmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAotCi0gICAgIGQgeG1sTmFub0hUVFBDbG9zZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQQ2xvc2UnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSFRUUF9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTk9fSFRUUF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9wYXJzZXIucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvcGFyc2VyLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmIxN2ExLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9wYXJzZXIucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNDM2ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZQotICAgICAgKiBEZXNjcmlwdGlvbjogSW50ZXJmYWNlcywgY29uc3RhbnRzIGFuZCB0eXBlcyByZWxhdGVkIHRvIHRoZSBYTUwgcGFyc2VyCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUEFSU0VSX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1BBUlNFUl9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3ZhbGlkIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9lbnRpdGllcyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXJyb3IiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKLQotICAgICAgKiBYTUxfREVGQVVMVF9WRVJTSU9OOgotICAgICAgKgotICAgICAgKiBUaGUgZGVmYXVsdCB2ZXJzaW9uIG9mIFhNTCB1c2VkOiAxLjAKLQotICAgICBkIFhNTF9ERUZBVUxUX1ZFUlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAnMS4wJwotCi0gICAgICAqIHhtbFBhcnNlcklucHV0OgotICAgICAgKgotICAgICAgKiBBbiB4bWxQYXJzZXJJbnB1dCBpcyBhbiBpbnB1dCBmbG93IGZvciB0aGUgWE1MIHByb2Nlc3Nvci4KLSAgICAgICogRWFjaCBlbnRpdHkgcGFyc2VkIGlzIGFzc29jaWF0ZWQgYW4geG1sUGFyc2VySW5wdXQgKGV4Y2VwdCB0aGUKLSAgICAgICogZmV3IHByZWRlZmluZWQgb25lcykuIFRoaXMgaXMgdGhlIGNhc2UgYm90aCBmb3IgaW50ZXJuYWwgZW50aXRpZXMKLSAgICAgICogLSBpbiB3aGljaCBjYXNlIHRoZSBmbG93IGlzIGFscmVhZHkgY29tcGxldGVseSBpbiBtZW1vcnkgLSBvcgotICAgICAgKiBleHRlcm5hbCBlbnRpdGllcyAtIGluIHdoaWNoIGNhc2Ugd2UgdXNlIHRoZSBidWYgc3RydWN0dXJlIGZvcgotICAgICAgKiBwcm9ncmVzc2l2ZSByZWFkaW5nIGFuZCBJMThOIGNvbnZlcnNpb25zIHRvIHRoZSBpbnRlcm5hbCBVVEYtOCBmb3JtYXQuCi0KLSAgICAgICogeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlOgotICAgICAgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBkZWFsbG9jYXRlCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIGZvciBmcmVlaW5nIHNvbWUgcGFyc2VyIGlucHV0IGFsbG9jYXRpb25zLgotCi0gICAgIGQgeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogSW5wdXQgYnVmZmVyCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKSAgICAgICAgVVRGLTggZW5jb2RlZCBidWZmZXIKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGRpcmVjdG9yeSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBiYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGggaWYga25vd24KLSAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBsaW5lCi0gICAgIGQgIGNvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgY29sdW1uCi0gICAgICAqCi0gICAgICAqIE5PVEU6IGNvbnN1bWVkIGlzIG9ubHkgdGVzdGVkIGZvciBlcXVhbGl0eSBpbiB0aGUgcGFyc2VyIGNvZGUsCi0gICAgICAqICAgICAgIHNvIGV2ZW4gaWYgdGhlcmUgaXMgYW4gb3ZlcmZsb3cgdGhpcyBzaG91bGQgbm90IGdpdmUgdHJvdWJsZXMKLSAgICAgICogICAgICAgZm9yIHBhcnNpbmcgdmVyeSBsYXJnZSBpbnN0YW5jZXMuCi0gICAgICAqCi0gICAgIGQgIGNvbnN1bWVkICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpICAgICAgICAgICAgICAgICAgICAgICMgY29uc3VtZWQgeG1sQ2hhcnMKLSAgICAgZCAgZnJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZSkgICAgICAgYmFzZSBkZWFsbG9jYXRvcgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFN0YW5kYWxvbmUgZW50aXR5ID8KLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRW50aXR5IHVuaXF1ZSBJRAotCi0gICAgICAqIHhtbFBhcnNlck5vZGVJbmZvOgotICAgICAgKgotICAgICAgKiBUaGUgcGFyc2VyIGNhbiBiZSBhc2tlZCB0byBjb2xsZWN0IE5vZGUgaW5mb3JtYXRpb24sIGkuZS4gYXQgd2hhdAotICAgICAgKiBwbGFjZSBpbiB0aGUgZmlsZSB0aGV5IHdlcmUgZGV0ZWN0ZWQuCi0gICAgICAqIE5PVEU6IFRoaXMgaXMgb2ZmIGJ5IGRlZmF1bHQgYW5kIG5vdCB2ZXJ5IHdlbGwgdGVzdGVkLgotCi0gICAgIGQgeG1sUGFyc2VyTm9kZUluZm9QdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sUGFyc2VyTm9kZUluZm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJOb2RlSW5mb1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgY29uc3QKLSAgICAgICogUG9zaXRpb24gJiBsaW5lICMgdGhhdCB0ZXh0IHRoYXQgY3JlYXRlZCB0aGUgbm9kZSBiZWdpbnMgJiBlbmRzIG9uCi0gICAgIGQgIGJlZ2luX3BvcyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCi0gICAgIGQgIGJlZ2luX2xpbmUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCi0gICAgIGQgIGVuZF9wb3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCi0gICAgIGQgIGVuZF9saW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCi0KLSAgICAgZCB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxQYXJzZXJOb2RlSW5mb1NlcS4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBtYXhpbXVtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKQotICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKQotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9QdHIpCi0KLSAgICAgICogeG1sUGFyc2VySW5wdXRTdGF0ZToKLSAgICAgICoKLSAgICAgICogVGhlIHBhcnNlciBpcyBub3cgd29ya2luZyBhbHNvIGFzIGEgc3RhdGUgYmFzZWQgcGFyc2VyLgotICAgICAgKiBUaGUgcmVjdXJzaXZlIG9uZSB1c2UgdGhlIHN0YXRlIGluZm8gZm9yIGVudGl0aWVzIHByb2Nlc3NpbmcuCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfUEFSU0VSX0VPRi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RoaW5nIHRvIHBhcnNlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgLTEKLSAgICAgZCAgWE1MX1BBUlNFUl9TVEFSVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aGluZyBwYXJzZWQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhNTF9QQVJTRVJfTUlTQy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pc2MqIGI0IGludCBzdWJzZXQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9QQVJTRVJfUEkgIGMgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHByb2MgaW5zdHIKLSAgICAgZCAgWE1MX1BBUlNFUl9EVEQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gc29tZSBEVEQgY29udGVudAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX1BBUlNFUl9QUk9MT0cuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlzYyogYWZ0ZXIgaW50IHNic3QKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9QQVJTRVJfQ09NTUVOVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiBhIGNvbW1lbnQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0gICAgIGQgIFhNTF9QQVJTRVJfU1RBUlRfVEFHLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiBhIHN0YXJ0IHRhZwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKLSAgICAgZCAgWE1MX1BBUlNFUl9DT05URU5ULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluIHRoZSBjb250ZW50Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT04uLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW4gYSBDREFUQQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgKLSAgICAgZCAgWE1MX1BBUlNFUl9FTkRfVEFHLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluIGEgY2xvc2luZyB0YWcKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5Ci0gICAgIGQgIFhNTF9QQVJTRVJfRU5USVRZX0RFQ0wuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGFuIGVudGl0eSBkZWNsCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKLSAgICAgZCAgWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gZW50aXR5IGRlY2wgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQotICAgICBkICBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhdHRyaWJ1dGUgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgotICAgICBkICBYTUxfUEFSU0VSX1NZU1RFTV9MSVRFUkFMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhIFNZU1RFTSB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCi0gICAgIGQgIFhNTF9QQVJTRVJfRVBJTE9HLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhc3QgZW5kIHRhZyBNaXNjKgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9QQVJTRVJfSUdOT1JFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIElHTk9SRUQgc2VjdGlvbgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1Ci0gICAgIGQgIFhNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGEgUFVCTElDIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKLQotICAgICAgKiBYTUxfREVURUNUX0lEUzoKLSAgICAgICoKLSAgICAgICogQml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBkbyBJRC9SRUZzIGxvb2t1cHMuCi0gICAgICAqIFVzZSBpdCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUuCi0KLSAgICAgZCBYTUxfREVURUNUX0lEUyAgYyAgICAgICAgICAgICAgICAgICAyCi0KLSAgICAgICogWE1MX0NPTVBMRVRFX0FUVFJTOgotICAgICAgKgotICAgICAgKiBCaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIGRvIGNvbXBsZXRlIHRoZQotICAgICAgKiBlbGVtZW50cyBhdHRyaWJ1dGVzIGxpc3RzIHdpdGggdGhlIG9uZXMgZGVmYXVsdGVkIGZyb20gdGhlIERURHMuCi0gICAgICAqIFVzZSBpdCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUuCi0KLSAgICAgZCBYTUxfQ09NUExFVEVfQVRUUlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0KLSAgICAgICogWE1MX1NLSVBfSURTOgotICAgICAgKgotICAgICAgKiBCaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIG5vdCBkbyBJRC9SRUZzCi0gICAgICAqICAgcmVnaXN0cmF0aW9uLgotICAgICAgKiBVc2VkIHRvIGluaXRpYWxpemUgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSBpbiBzb21lIHNwZWNpYWwgY2FzZXMuCi0KLSAgICAgZCBYTUxfU0tJUF9JRFMgICAgYyAgICAgICAgICAgICAgICAgICA4Ci0KLSAgICAgICogeG1sUGFyc2VyTW9kZToKLSAgICAgICoKLSAgICAgICogQSBwYXJzZXIgY2FuIG9wZXJhdGUgaW4gdmFyaW91cyBtb2RlcwotCi0gICAgIGQgeG1sUGFyc2VyTW9kZSAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfUEFSU0VfVU5LTk9XTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWE1MX1BBUlNFX0RPTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX1BBUlNFX1NBWC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1BBUlNFX1BVU0hfRE9NLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfUEFSU0VfUFVTSF9TQVguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9QQVJTRV9SRUFERVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0KLSAgICAgICogeG1sUGFyc2VyQ3R4dDoKLSAgICAgICoKLSAgICAgICogVGhlIHBhcnNlciBjb250ZXh0LgotICAgICAgKiBOT1RFIFRoaXMgZG9lc24ndCBjb21wbGV0ZWx5IGRlZmluZSB0aGUgcGFyc2VyIHN0YXRlLCB0aGUgKGN1cnJlbnQgPykKLSAgICAgICogICAgICBkZXNpZ24gb2YgdGhlIHBhcnNlciB1c2VzIHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyBzaW5jZSB0aGlzIGFsbG93Ci0gICAgICAqICAgICAgYW5kIGVhc3kgbWFwcGluZyBmcm9tIHRoZSBwcm9kdWN0aW9uIHJ1bGVzIG9mIHRoZSBzcGVjaWZpY2F0aW9uCi0gICAgICAqICAgICAgdG8gdGhlIGFjdHVhbCBjb2RlLiBUaGUgZHJhd2JhY2sgaXMgdGhhdCB0aGUgYWN0dWFsIGZ1bmN0aW9uIGNhbGwKLSAgICAgICogICAgICBhbHNvIHJlZmxlY3QgdGhlIHBhcnNlciBzdGF0ZS4gSG93ZXZlciBtb3N0IG9mIHRoZSBwYXJzaW5nIHJvdXRpbmVzCi0gICAgICAqICAgICAgdGFrZXMgYXMgdGhlIG9ubHkgYXJndW1lbnQgdGhlIHBhcnNlciBjb250ZXh0IHBvaW50ZXIsIHNvIG1pZ3JhdGluZwotICAgICAgKiAgICAgIHRvIGEgc3RhdGUgYmFzZWQgcGFyc2VyIGZvciBwcm9ncmVzc2l2ZSBwYXJzaW5nIHNob3VsZG4ndCBiZSB0b28KLSAgICAgICogICAgICBoYXJkLgotCi0gICAgIGQgeG1sUGFyc2VyQ3R4dCAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpICAgICAgICAgICAgICAgVGhlIFNBWCBoYW5kbGVyCi0gICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBWCBvbmx5LTQgRE9NIGJ1aWxkCi0gICAgIGQgIG15RG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIERvY3VtZW50IGJlaW5nIGJ1aWx0Ci0gICAgIGQgIHdlbGxGb3JtZWQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFdlbGwgZm9ybWVkIGRvYyA/Ci0gICAgIGQgIHJlcGxhY2VFbnRpdGllcy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcGxhY2UgZW50aXRpZXMgPwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFsb25lIGRvY3VtZW50Ci0gICAgIGQgIGh0bWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEhUTUwgc3RhdGUvdHlwZQotICAgICAgKgotICAgICAgKiBJbnB1dCBzdHJlYW0gc3RhY2sKLSAgICAgICoKLSAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKSAgICAgICAgICAgICAgQ3VycmVudCBpbnB1dCBzdHJlYW0KLSAgICAgZCAgaW5wdXROciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IGluIHN0cmVhbXMKLSAgICAgZCAgaW5wdXRNYXggICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4ICMgb2YgaW4gc3RyZWFtcwotICAgICBkICBpbnB1dFRhYiAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dFB0ciAqCi0gICAgICAqCi0gICAgICAqIE5vZGUgYW5hbHlzaXMgc3RhY2sgb25seSB1c2VkIGZvciBET00gYnVpbGRpbmcKLSAgICAgICoKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBwYXJzZWQgbm9kZQotICAgICBkICBub2RlTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCi0gICAgIGQgIG5vZGVNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAotICAgICBkICBub2RlVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKLSAgICAgICoKLSAgICAgZCAgcmVjb3JkX2luZm8gICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgS2VlcCBub2RlIGluZm8gPwotICAgICBkICBub2RlX3NlcSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxQYXJzZXJOb2RlSW5mb1NlcSkgICAgICAgICBQYXJzZWQgbm9kZXMgaW5mbwotICAgICAgKgotICAgICBkICBlcnJObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCi0gICAgICAqCi0gICAgIGQgIGhhc0V4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBoYXNQRXJlZnMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZXh0ZXJuYWwgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBleHQuIGVudGl0eT8KLSAgICAgICoKLSAgICAgZCAgdmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWQgZG9jdW1lbnQgPwotICAgICBkICB2YWxpZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBUcnkgdG8gdmFsaWRhdGUgPwotICAgICBkICB2Y3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYWxpZEN0eHQpICAgICAgICAgICAgICAgICBWYWxpZGl0eSBjb250ZXh0Ci0gICAgICAqCi0gICAgIGQgIGluc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFN0YXRlKSAgICAgICAgICAgIEN1cnJlbnQgaW5wdXQgdHlwZQotICAgICBkICB0b2tlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBOZXh0IGxvb2stYWhlYWQgY2hhcgotICAgICAgKgotICAgICBkICBkaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgICoKLSAgICAgICogTm9kZSBuYW1lIHN0YWNrCi0gICAgICAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCi0gICAgIGQgIG5hbWVNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAotICAgICBkICBuYW1lVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogKgotICAgICAgKgotICAgICBkICBuYkNoYXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpICAgICAgICAgICAgICAgICAgICAgICAjIHhtbENoYXJzIHByb2Nlc3NlZAotICAgICBkICBjaGVja0luZGV4ICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpICAgICAgICAgICAgICAgICAgICAgICA0IHByb2dyZXNzaXZlIHBhcnNlCi0gICAgIGQgIGtlZXBCbGFua3MgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFVnbHkgYnV0IC4uLgotICAgICBkICBkaXNhYmxlU0FYICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBEaXNhYmxlIFNBWCBjbGxiYWNrcwotICAgICBkICBpblN1YnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBJbiBpbnQgMS9leHQgMiBzYnNldAotICAgICBkICBpbnRTdWJOYW1lICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZXh0U3ViVVJJICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGV4dFN1YlN5dGVtICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICAgKgotICAgICAgKiB4bWw6c3BhY2UgdmFsdWVzCi0gICAgICAqCi0gICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqCi0gICAgIGQgIHNwYWNlTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKLSAgICAgZCAgc3BhY2VNYXggICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCi0gICAgIGQgIHNwYWNlVGFiICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqCi0gICAgICAqCi0gICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFRvIGRldGVjdCBsb29wcwotICAgICBkICBlbnRpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpICAgICAgICAgICAgICBUbyBjaGVjayBib3VuZGFyaWVzCi0gICAgIGQgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEluLW1lbW9yeSBjb250ZW50Ci0gICAgIGQgIG5vZGVsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFNwZWVkIHVwIHBhcnNpbmcKLSAgICAgZCAgbm9kZW1lbSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgU3BlZWQgdXAgcGFyc2luZwotICAgICBkICBwZWRhbnRpYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFbmIuIHBlZGFudGljIHdhcm5nCi0gICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICAgKgotICAgICBkICBsb2Fkc3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBMb2FkIGV4dC4gc3Vic2V0ID8KLSAgICAgZCAgbGluZW51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgU2V0IGxpbmUgbnVtYmVycyA/Ci0gICAgIGQgIGNhdGFsb2dzICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBSdW4gaW4gcmVjb3ZlcnkgbW9kZQotICAgICBkICBwcm9ncmVzc2l2ZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBQcm9ncmVzc2l2ZSBwYXJzaW5nPwotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgICAgICAgICAgICAgICAgICAgICBQYXJzZXIgZGljdGlvbmFyeQotICAgICBkICBhdHRzICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbWF4YXR0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQWJvdmUgYXJyYXkgc2l6ZQotICAgICBkICBkb2NkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBVc2UgZGljdGlvbmFyeSA/Ci0gICAgICAqCi0gICAgICAqIHByZS1pbnRlcm5lZCBzdHJpbmdzCi0gICAgICAqCi0gICAgIGQgIHN0cl94bWwgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHJfeG1sbnMgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3RyX3htbF9tcyAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgICAqCi0gICAgICAqIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgdXNlZCBvbmx5IGJ5IHRoZSBuZXcgU0FYIG1vZGUKLSAgICAgICoKLSAgICAgZCAgc2F4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFNBWCBtb2RlID8KLSAgICAgZCAgbnNOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBpbmhlcml0ZWQgbm1zcGFjZXMKLSAgICAgZCAgbnNNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkgc2l6ZQotICAgICBkICBuc1RhYiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYXR0YWxsb2NzICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKLSAgICAgZCAgcHVzaFRhYiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGF0dHNEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIERlZmF1bHRlZCBhdHRycwotICAgICBkICBhdHRzU3BlY2lhbCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICBub24tQ0RBVEEgYXR0cnMKLSAgICAgZCAgbnNXZWxsRm9ybWVkICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRG9jIG5hbWVzcGFjZSBPSyA/Ci0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhIG9wdGlvbnMKLSAgICAgICoKLSAgICAgICogVGhvc2UgZmllbGRzIGFyZSBuZWVkZWQgb25seSBmb3IgdHJlYW1pbmcgcGFyc2luZyBzbyBmYXIKLSAgICAgICoKLSAgICAgZCAgZGljdE5hbWVzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGljdCBuYW1lcyBpbiB0cmVlID8KLSAgICAgZCAgZnJlZUVsZW1zTnIgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmVlIGVsZW1lbnQgbm9kZXMKLSAgICAgZCAgZnJlZUVsZW1zICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgRnJlZSBlbGVtIG5vZGVzIGxpc3QKLSAgICAgZCAgZnJlZUF0dHJzTnIgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBmcmVlIGF0dHIuIG5vZGVzCi0gICAgIGQgIGZyZWVBdHRycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKSAgICAgICAgICAgICAgICAgICAgIEZyZWUgYXR0ciBub2VzIGxpc3QKLSAgICAgICoKLSAgICAgICogdGhlIGNvbXBsZXRlIGVycm9yIGluZm9ybWF0aW9uIGZvciB0aGUgbGFzdCBlcnJvci4KLSAgICAgICoKLSAgICAgZCAgbGFzdEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sRXJyb3IpCi0gICAgIGQgIHBhcnNlTW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJNb2RlKSAgICAgICAgICAgICAgICAgIFRoZSBwYXJzZXIgbW9kZQotICAgICBkICBuYmVudGl0aWVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKSAgICAgICAgICAgICAgICAgICAgICAjIGVudGl0eSByZWZlcmVuY2VzCi0gICAgIGQgIHNpemVlbnRpdGllcyAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpICAgICAgICAgICAgICAgICAgICAgIFBhcnNlZCBlbnRpdGllcyBzaXplCi0gICAgICAqCi0gICAgICAqIGZvciB1c2UgYnkgSFRNTCBub24tcmVjdXJzaXZlIHBhcnNlcgotICAgICAgKgotICAgICBkICBub2RlSW5mbyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9QdHIpICAgICAgICAgICBDdXJyZW50IE5vZGVJbmZvCi0gICAgIGQgIG5vZGVJbmZvTnIgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKLSAgICAgZCAgbm9kZUluZm9NYXggICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCi0gICAgIGQgIG5vZGVJbmZvVGFiICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlck5vZGVJbmZvICoKLSAgICAgICoKLSAgICAgZCAgaW5wdXRfaWQgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwgaW5wdXRzID8KLSAgICAgZCAgc2l6ZWVudGNvcHkgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1bG9uZykgICAgICAgICAgICAgICAgICAgICAgRW50aXR5IGNvcHkgdm9sdW1lCi0KLSAgICAgICogeG1sU0FYTG9jYXRvcjoKLSAgICAgICoKLSAgICAgICogQSBTQVggTG9jYXRvci4KLQotICAgICBkIHhtbFNBWExvY2F0b3IgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNBWExvY2F0b3JQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIGdldFB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAqICAgcHJvY3B0cgotICAgICBkICBnZXRTeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgKiAgIHByb2NwdHIKLSAgICAgZCAgZ2V0TGluZU51bWJlciAgICAgICAgICAgICAgICAgICogICBwcm9jcHRyCi0gICAgIGQgIGdldENvbHVtbk51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2NwdHIKLQotICAgICAgKiB4bWxTQVhIYW5kbGVyOgotICAgICAgKgotICAgICAgKiBBIFNBWCBoYW5kbGVyIGlzIGJ1bmNoIG9mIGNhbGxiYWNrcyBjYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuCi0gICAgICAqIHByb2Nlc3Npbmcgb2YgdGhlIGlucHV0IGdlbmVyYXRlIGRhdGEgb3Igc3RydWN0dXJlIGluZm9ybWF0aW9uLgotCi0gICAgICAqIHJlc29sdmVFbnRpdHlTQVhGdW5jOgotICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQotICAgICAgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQotICAgICAgKgotICAgICAgKiBDYWxsYmFjazoKLSAgICAgICogVGhlIGVudGl0eSBsb2FkZXIsIHRvIGNvbnRyb2wgdGhlIGxvYWRpbmcgb2YgZXh0ZXJuYWwgZW50aXRpZXMsCi0gICAgICAqIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOgotICAgICAgKiAgICAtIG92ZXJyaWRlIHRoaXMgcmVzb2x2ZUVudGl0eSgpIGNhbGxiYWNrIGluIHRoZSBTQVggYmxvY2sKLSAgICAgICogICAgLSBvciBiZXR0ZXIgdXNlIHRoZSB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpIGZ1bmN0aW9uIHRvCi0gICAgICAqICAgICAgc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmUKLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLgotCi0gICAgIGQgcmVzb2x2ZUVudGl0eVNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBpbnRlcm5hbFN1YnNldFNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiAgdGhlIHJvb3QgZWxlbWVudCBuYW1lCi0gICAgICAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIElECi0gICAgICAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQotICAgICAgKgotICAgICAgKiBDYWxsYmFjayBvbiBpbnRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uCi0KLSAgICAgZCBpbnRlcm5hbFN1YnNldFNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBleHRlcm5hbFN1YnNldFNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiAgdGhlIHJvb3QgZWxlbWVudCBuYW1lCi0gICAgICAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIElECi0gICAgICAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQotICAgICAgKgotICAgICAgKiBDYWxsYmFjayBvbiBleHRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uCi0KLSAgICAgZCBleHRlcm5hbFN1YnNldFNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBnZXRFbnRpdHlTQVhGdW5jOgotICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCi0gICAgICAqCi0gICAgICAqIEdldCBhbiBlbnRpdHkgYnkgbmFtZS4KLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLgotCi0gICAgIGQgZ2V0RW50aXR5U0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIGdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKLSAgICAgICoKLSAgICAgICogR2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIHRoZSB4bWxFbnRpdHlQdHIgaWYgZm91bmQuCi0KLSAgICAgZCBnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogZW50aXR5RGVjbFNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCi0gICAgICAqIEB0eXBlOiAgdGhlIGVudGl0eSB0eXBlCi0gICAgICAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5Ci0gICAgICAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Ci0gICAgICAqIEBjb250ZW50OiB0aGUgZW50aXR5IHZhbHVlICh3aXRob3V0IHByb2Nlc3NpbmcpLgotICAgICAgKgotICAgICAgKiBBbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuCi0KLSAgICAgZCBlbnRpdHlEZWNsU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIG5vdGF0aW9uRGVjbFNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KLSAgICAgICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKLSAgICAgICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKLSAgICAgICoKLSAgICAgICogV2hhdCB0byBkbyB3aGVuIGEgbm90YXRpb24gZGVjbGFyYXRpb24gaGFzIGJlZW4gcGFyc2VkLgotCi0gICAgIGQgbm90YXRpb25EZWNsU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIGF0dHJpYnV0ZURlY2xTQVhGdW5jOgotICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKiBAZWxlbTogIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50Ci0gICAgICAqIEBmdWxsbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQotICAgICAgKiBAdHlwZTogIHRoZSBhdHRyaWJ1dGUgdHlwZQotICAgICAgKiBAZGVmOiAgdGhlIHR5cGUgb2YgZGVmYXVsdCB2YWx1ZQotICAgICAgKiBAZGVmYXVsdFZhbHVlOiB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUKLSAgICAgICogQHRyZWU6ICB0aGUgdHJlZSBvZiBlbnVtZXJhdGVkIHZhbHVlIHNldAotICAgICAgKgotICAgICAgKiBBbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuCi0KLSAgICAgZCBhdHRyaWJ1dGVEZWNsU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIGVsZW1lbnREZWNsU0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQG5hbWU6ICB0aGUgZWxlbWVudCBuYW1lCi0gICAgICAqIEB0eXBlOiAgdGhlIGVsZW1lbnQgdHlwZQotICAgICAgKiBAY29udGVudDogdGhlIGVsZW1lbnQgdmFsdWUgdHJlZQotICAgICAgKgotICAgICAgKiBBbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLgotCi0gICAgIGQgZWxlbWVudERlY2xTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBlbnRpdHkKLSAgICAgICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKLSAgICAgICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKLSAgICAgICogQG5vdGF0aW9uTmFtZTogdGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uCi0gICAgICAqCi0gICAgICAqIFdoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkLgotCi0gICAgIGQgdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBsb2M6IEEgU0FYIExvY2F0b3IKLSAgICAgICoKLSAgICAgICogUmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSB4bWxEZWZhdWx0U0FYTG9jYXRvci4KLSAgICAgICogRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4KLQotICAgICBkIHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBzdGFydERvY3VtZW50U0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICoKLSAgICAgICogQ2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IHN0YXJ0IGJlaW5nIHByb2Nlc3NlZC4KLQotICAgICBkIHN0YXJ0RG9jdW1lbnRTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogZW5kRG9jdW1lbnRTQVhGdW5jOgotICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKgotICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLgotCi0gICAgIGQgZW5kRG9jdW1lbnRTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogc3RhcnRFbGVtZW50U0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeAotICAgICAgKiBAYXR0czogIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkCi0gICAgICAqCi0gICAgICAqIENhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4KLQotICAgICBkIHN0YXJ0RWxlbWVudFNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBlbmRFbGVtZW50U0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCi0gICAgICAqCi0gICAgICAqIENhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC4KLQotICAgICBkIGVuZEVsZW1lbnRTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogYXR0cmlidXRlU0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQG5hbWU6ICBUaGUgYXR0cmlidXRlIG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4Ci0gICAgICAqIEB2YWx1ZTogIFRoZSBhdHRyaWJ1dGUgdmFsdWUKLSAgICAgICoKLSAgICAgICogSGFuZGxlIGFuIGF0dHJpYnV0ZSB0aGF0IGhhcyBiZWVuIHJlYWQgYnkgdGhlIHBhcnNlci4KLSAgICAgICogVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIGludG8gYW4KLSAgICAgICogRE9NIHN1YnRyZWUgYW5kIHBhc3QgaXQgaW4gYSBuZXcgeG1sQXR0ciBlbGVtZW50IGFkZGVkIHRvCi0gICAgICAqIHRoZSBlbGVtZW50LgotCi0gICAgIGQgYXR0cmlidXRlU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHJlZmVyZW5jZVNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBuYW1lOiAgVGhlIGVudGl0eSBuYW1lCi0gICAgICAqCi0gICAgICAqIENhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuCi0KLSAgICAgZCByZWZlcmVuY2VTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogY2hhcmFjdGVyc1NBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKLSAgICAgICogQGxlbjogdGhlIG51bWJlciBvZiB4bWxDaGFyCi0gICAgICAqCi0gICAgICAqIFJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KLQotICAgICBkIGNoYXJhY3RlcnNTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKLSAgICAgICogQGxlbjogdGhlIG51bWJlciBvZiB4bWxDaGFyCi0gICAgICAqCi0gICAgICAqIFJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuCi0gICAgICAqIFVOVVNFRDogYnkgZGVmYXVsdCB0aGUgRE9NIGJ1aWxkaW5nIHdpbGwgdXNlIGNoYXJhY3RlcnMuCi0KLSAgICAgZCBpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEB0YXJnZXQ6ICB0aGUgdGFyZ2V0IG5hbWUKLSAgICAgICogQGRhdGE6IHRoZSBQSSBkYXRhJ3MKLSAgICAgICoKLSAgICAgICogQSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGhhcyBiZWVuIHBhcnNlZC4KLQotICAgICBkIHByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBjb21tZW50U0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQHZhbHVlOiAgdGhlIGNvbW1lbnQgY29udGVudAotICAgICAgKgotICAgICAgKiBBIGNvbW1lbnQgaGFzIGJlZW4gcGFyc2VkLgotCi0gICAgIGQgY29tbWVudFNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBjZGF0YUJsb2NrU0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICogQHZhbHVlOiAgVGhlIHBjZGF0YSBjb250ZW50Ci0gICAgICAqIEBsZW46ICB0aGUgYmxvY2sgbGVuZ3RoCi0gICAgICAqCi0gICAgICAqIENhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZC4KLQotICAgICBkIGNkYXRhQmxvY2tTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogd2FybmluZ1NBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKLSAgICAgICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKLSAgICAgICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKLSAgICAgICoKLSAgICAgICogRGlzcGxheSBhbmQgZm9ybWF0IGEgd2FybmluZyBtZXNzYWdlcywgY2FsbGJhY2suCi0KLSAgICAgZCB3YXJuaW5nU0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIGVycm9yU0FYRnVuYzoKLSAgICAgICogQGN0eDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAotICAgICAgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAotICAgICAgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQotICAgICAgKgotICAgICAgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYW4gZXJyb3IgbWVzc2FnZXMsIGNhbGxiYWNrLgotCi0gICAgIGQgZXJyb3JTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogZmF0YWxFcnJvclNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKLSAgICAgICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKLSAgICAgICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKLSAgICAgICoKLSAgICAgICogRGlzcGxheSBhbmQgZm9ybWF0IGZhdGFsIGVycm9yIG1lc3NhZ2VzLCBjYWxsYmFjay4KLSAgICAgICogTm90ZTogc28gZmFyIGZhdGFsRXJyb3IoKSBTQVggY2FsbGJhY2tzIGFyZSBub3QgdXNlZCwgZXJyb3IoKQotICAgICAgKiAgICAgICBnZXQgYWxsIHRoZSBjYWxsYmFja3MgZm9yIGVycm9ycy4KLQotICAgICBkIGZhdGFsRXJyb3JTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogaXNTdGFuZGFsb25lU0FYRnVuYzoKLSAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKLSAgICAgICoKLSAgICAgICogSXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZT8KLSAgICAgICoKLSAgICAgICogUmV0dXJucyAxIGlmIHRydWUKLQotICAgICBkIGlzU3RhbmRhbG9uZVNBWEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqCi0gICAgICAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0LgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIDEgaWYgdHJ1ZQotCi0gICAgIGQgaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jOgotICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKgotICAgICAgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldD8KLSAgICAgICoKLSAgICAgICogUmV0dXJucyAxIGlmIHRydWUKLQotICAgICBkIGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICBUaGUgU0FYIHZlcnNpb24gMiBBUEkgZXh0ZW5zaW9ucyAgICAgICAgICAgICAgICAqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0gICAgICAqIFhNTF9TQVgyX01BR0lDOgotICAgICAgKgotICAgICAgKiBTcGVjaWFsIGNvbnN0YW50IGZvdW5kIGluIFNBWDIgYmxvY2tzIGluaXRpYWxpemVkIGZpZWxkcwotCi0gICAgIGQgWE1MX1NBWDJfTUFHSUMgIGMgICAgICAgICAgICAgICAgICAgWCdERUVEQkVBRicKLQotICAgICAgKiBzdGFydEVsZW1lbnROc1NBWDJGdW5jOgotICAgICAgKiBAY3R4OiAgICAgICAgICAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQotICAgICAgKiBAbG9jYWxuYW1lOiAgICAgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQKLSAgICAgICogQHByZWZpeDogICAgICAgIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlCi0gICAgICAqIEBVUkk6ICAgICAgICAgICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUKLSAgICAgICogQG5iX25hbWVzcGFjZXM6IG51bWJlciBvZiBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgb24gdGhhdCBub2RlCi0gICAgICAqIEBuYW1lc3BhY2VzOiAgICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBwcmVmaXgvVVJJIHBhaXJzIG5hbWVzcGFjZQotICAgICAgKiAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMKLSAgICAgICogQG5iX2F0dHJpYnV0ZXM6ICB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhhdCBub2RlCi0gICAgICAqIEBuYl9kZWZhdWx0ZWQ6ICAgdGhlIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcy4gVGhlIGRlZmF1bHRlZAotICAgICAgKiAgICAgICAgICAgICAgICAgIG9uZXMgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5Ci0gICAgICAqIEBhdHRyaWJ1dGVzOiAgICAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YKLSAgICAgICogICAgICAgICAgICAgICAgICAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKSBhdHRyaWJ1dGUgdmFsdWVzLgotICAgICAgKgotICAgICAgKiBTQVgyIGNhbGxiYWNrIHdoZW4gYW4gZWxlbWVudCBzdGFydCBoYXMgYmVlbiBkZXRlY3RlZCBieSB0aGUgcGFyc2VyLgotICAgICAgKiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcwotICAgICAgKiB0aGUgbmV3IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb24gdGhlIGVsZW1lbnQuCi0KLSAgICAgZCBzdGFydEVsZW1lbnROc1NBWDJGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogZW5kRWxlbWVudE5zU0FYMkZ1bmM6Ci0gICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCi0gICAgICAqIEBsb2NhbG5hbWU6ICB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudAotICAgICAgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKLSAgICAgICogQFVSSTogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZQotICAgICAgKgotICAgICAgKiBTQVgyIGNhbGxiYWNrIHdoZW4gYW4gZWxlbWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4KLSAgICAgICogSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGVsZW1lbnQuCi0KLSAgICAgZCBlbmRFbGVtZW50TnNTQVgyRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgIGQgeG1sU0FYSGFuZGxlciAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgaW50ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGludGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgaXNTdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGlzU3RhbmRhbG9uZVNBWEZ1bmMpCi0gICAgIGQgIGhhc0ludGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMpCi0gICAgIGQgIGhhc0V4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMpCi0gICAgIGQgIHJlc29sdmVFbnRpdHkgICAgICAgICAgICAgICAgICAgICAgbGlrZShyZXNvbHZlRW50aXR5U0FYRnVuYykKLSAgICAgZCAgZ2V0RW50aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGdldEVudGl0eVNBWEZ1bmMpCi0gICAgIGQgIGVudGl0eURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbnRpdHlEZWNsU0FYRnVuYykKLSAgICAgZCAgbm90YXRpb25EZWNsICAgICAgICAgICAgICAgICAgICAgICBsaWtlKG5vdGF0aW9uRGVjbFNBWEZ1bmMpCi0gICAgIGQgIGF0dHJpYnV0ZURlY2wgICAgICAgICAgICAgICAgICAgICAgbGlrZShhdHRyaWJ1dGVEZWNsU0FYRnVuYykKLSAgICAgZCAgZWxlbWVudERlY2wgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVsZW1lbnREZWNsU0FYRnVuYykKLSAgICAgZCAgdW5wYXJzZWRFbnRpdHlEZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jKQotICAgICBkICBzZXREb2N1bWVudExvY2F0b3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMpCi0gICAgIGQgIHN0YXJ0RG9jdW1lbnQgICAgICAgICAgICAgICAgICAgICAgbGlrZShzdGFydERvY3VtZW50U0FYRnVuYykKLSAgICAgZCAgZW5kRG9jdW1lbnQgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVuZERvY3VtZW50U0FYRnVuYykKLSAgICAgZCAgc3RhcnRFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHN0YXJ0RWxlbWVudFNBWEZ1bmMpCi0gICAgIGQgIGVuZEVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbmRFbGVtZW50U0FYRnVuYykKLSAgICAgZCAgcmVmZXJlbmNlICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHJlZmVyZW5jZVNBWEZ1bmMpCi0gICAgIGQgIGNoYXJhY3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjaGFyYWN0ZXJzU0FYRnVuYykKLSAgICAgZCAgaWdub3JhYmxlV2hpdGVzcGFjZS4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMpCi0gICAgIGQgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UocHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYykKLSAgICAgZCAgY29tbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGNvbW1lbnRTQVhGdW5jKQotICAgICBkICB3YXJuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uod2FybmluZ1NBWEZ1bmMpCi0gICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlcnJvclNBWEZ1bmMpCi0gICAgIGQgIGZhdGFsRXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShmYXRhbEVycm9yU0FYRnVuYykKLSAgICAgZCAgZ2V0UGFyYW1ldGVyRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jKQotICAgICBkICBjZGF0YUJsb2NrICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoY2RhdGFCbG9ja1NBWEZ1bmMpCi0gICAgIGQgIGV4dGVybmFsU3Vic2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShleHRlcm5hbFN1YnNldFNBWEZ1bmMpCi0gICAgIGQgIGluaXRpYWxpemVkICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWludCkKLSAgICAgICoKLSAgICAgICogVGhlIGZvbGxvd2luZyBmaWVsZHMgYXJlIGV4dGVuc2lvbnMgYXZhaWxhYmxlIG9ubHkgb24gdmVyc2lvbiAyCi0gICAgICAqCi0gICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBzdGFydEVsZW1lbnROcy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uoc3RhcnRFbGVtZW50TnNTQVgyRnVuYykKLSAgICAgZCAgZW5kRUxlbWVudE5zICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVuZEVsZW1lbnROc1NBWDJGdW5jKQotICAgICBkICBzZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKLQotICAgICAgKiBTQVggVmVyc2lvbiAxCi0KLSAgICAgZCB4bWxTQVhIYW5kbGVyVjFQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU0FYSGFuZGxlclYxLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU0FYSGFuZGxlclYxUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBpbnRlcm5hbFN1YnNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaW50ZXJuYWxTdWJzZXRTQVhGdW5jKQotICAgICBkICBpc1N0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaXNTdGFuZGFsb25lU0FYRnVuYykKLSAgICAgZCAgaGFzSW50ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgaGFzRXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgcmVzb2x2ZUVudGl0eSAgICAgICAgICAgICAgICAgICAgICBsaWtlKHJlc29sdmVFbnRpdHlTQVhGdW5jKQotICAgICBkICBnZXRFbnRpdHkgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZ2V0RW50aXR5U0FYRnVuYykKLSAgICAgZCAgZW50aXR5RGVjbCAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVudGl0eURlY2xTQVhGdW5jKQotICAgICBkICBub3RhdGlvbkRlY2wgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uobm90YXRpb25EZWNsU0FYRnVuYykKLSAgICAgZCAgYXR0cmlidXRlRGVjbCAgICAgICAgICAgICAgICAgICAgICBsaWtlKGF0dHJpYnV0ZURlY2xTQVhGdW5jKQotICAgICBkICBlbGVtZW50RGVjbCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZWxlbWVudERlY2xTQVhGdW5jKQotICAgICBkICB1bnBhcnNlZEVudGl0eURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMpCi0gICAgIGQgIHNldERvY3VtZW50TG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uoc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYykKLSAgICAgZCAgc3RhcnREb2N1bWVudCAgICAgICAgICAgICAgICAgICAgICBsaWtlKHN0YXJ0RG9jdW1lbnRTQVhGdW5jKQotICAgICBkICBlbmREb2N1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZW5kRG9jdW1lbnRTQVhGdW5jKQotICAgICBkICBzdGFydEVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uoc3RhcnRFbGVtZW50U0FYRnVuYykKLSAgICAgZCAgZW5kRWxlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVuZEVsZW1lbnRTQVhGdW5jKQotICAgICBkICByZWZlcmVuY2UgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UocmVmZXJlbmNlU0FYRnVuYykKLSAgICAgZCAgY2hhcmFjdGVycyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGNoYXJhY3RlcnNTQVhGdW5jKQotICAgICBkICBpZ25vcmFibGVXaGl0ZXNwYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYykKLSAgICAgZCAgcHJvY2Vzc2luZ0luc3RydWN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jKQotICAgICBkICBjb21tZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoY29tbWVudFNBWEZ1bmMpCi0gICAgIGQgIHdhcm5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh3YXJuaW5nU0FYRnVuYykKLSAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVycm9yU0FYRnVuYykKLSAgICAgZCAgZmF0YWxFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGZhdGFsRXJyb3JTQVhGdW5jKQotICAgICBkICBnZXRQYXJhbWV0ZXJFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMpCi0gICAgIGQgIGNkYXRhQmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjZGF0YUJsb2NrU0FYRnVuYykKLSAgICAgZCAgZXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGV4dGVybmFsU3Vic2V0U0FYRnVuYykKLSAgICAgZCAgaW5pdGlhbGl6ZWQgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1aW50KQotCi0gICAgICAqIHhtbEV4dGVybmFsRW50aXR5TG9hZGVyOgotICAgICAgKiBAVVJMOiBUaGUgU3lzdGVtIElEIG9mIHRoZSByZXNvdXJjZSByZXF1ZXN0ZWQKLSAgICAgICogQElEOiBUaGUgUHVibGljIElEIG9mIHRoZSByZXNvdXJjZSByZXF1ZXN0ZWQKLSAgICAgICogQGNvbnRleHQ6IHRoZSBYTUwgcGFyc2VyIGNvbnRleHQKLSAgICAgICoKLSAgICAgICogRXh0ZXJuYWwgZW50aXR5IGxvYWRlcnMgdHlwZXMuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgdGhlIGVudGl0eSBpbnB1dCBwYXJzZXIuCi0KLSAgICAgZCB4bWxFeHRlcm5hbEVudGl0eUxvYWRlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VuY29kaW5nIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZ2xvYmFscyIKLQotICAgICAgKiBJbml0L0NsZWFudXAKLQotICAgICBkIHhtbEluaXRQYXJzZXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEluaXRQYXJzZXInKQotCi0gICAgIGQgeG1sQ2xlYW51cFBhcnNlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBQYXJzZXInKQotCi0gICAgICAqIElucHV0IGZ1bmN0aW9ucwotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRSZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRSZWFkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dEdyb3cuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEdyb3cnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiBCYXNpYyBwYXJzaW5nIEludGVyZmFjZXMKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgZCB4bWxQYXJzZURvYyAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZURvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUGFyc2VGaWxlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxQYXJzZU1lbW9yeSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU1lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAotCi0gICAgIGQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sS2VlcEJsYW5rc0RlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxLZWVwQmxhbmtzRGVmYXVsdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFN0b3BQYXJzZXIgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0b3BQYXJzZXInKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBlZGFudGljUGFyc2VyRGVmYXVsdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbExpbmVOdW1iZXJzRGVmYXVsdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpbmVOdW1iZXJzRGVmYXVsdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgICogUmVjb3ZlcnkgbW9kZQotCi0gICAgIGQgeG1sUmVjb3ZlckRvYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVjb3ZlckRvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUmVjb3Zlck1lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlY292ZXJNZW1vcnknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxSZWNvdmVyRmlsZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWNvdmVyRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECi0KLSAgICAgICogTGVzcyBjb21tb24gcm91dGluZXMgYW5kIFNBWCBpbnRlcmZhY2VzCi0KLSAgICAgZCB4bWxQYXJzZURvY3VtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VEb2N1bWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRXh0UGFyc2VkRW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFeHRQYXJzZWRFbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCi0gICAgIGQgeG1sU0FYVXNlclBhcnNlRmlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFVzZXJQYXJzZUZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFNBWFVzZXJQYXJzZU1lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFVzZXJQYXJzZU1lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNBWFBhcnNlRG9jICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlRG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNBWFBhcnNlTWVtb3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VNZW1vcnknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVjb3ZlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU0FYUGFyc2VGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFNBWFBhcnNlRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VFbnRpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxQYXJzZUVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCi0gICAgIGQgeG1sU0FYUGFyc2VEVEQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VEVEQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUGFyc2VEVEQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VEVEQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxJT1BhcnNlRFREICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT1BhcnNlRFREJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1ZBTElEX0VOQUJMRUQKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgZCB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQotICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKLQotICAgICBkIHhtbFBhcnNlSW5Ob2RlQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlSW5Ob2RlQ29udGV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJFcnJvcnMpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZGF0YWxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBsc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgZCB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCi0gICAgIGQgIHJlY292ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VFeHRlcm5hbEVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCi0gICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAotCi0gICAgIGQgeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKLQotICAgICAgKiBQYXJzZXIgY29udGV4dHMgaGFuZGxpbmcuCi0KLSAgICAgZCB4bWxOZXdQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3UGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sSW5pdFBhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJbml0UGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbENsZWFyUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFyUGFyc2VyQ3R4dCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sRnJlZVBhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlUGFyc2VyQ3R4dCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQotICAgICBkIHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0dXBQYXJzZXJGb3JCdWZmZXInKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECi0KLSAgICAgZCB4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQotICAgICAgKiBSZWFkaW5nL3NldHRpbmcgb3B0aW9uYWwgcGFyc2luZyBmZWF0dXJlcy4KLQotICAgICBkIHhtbEdldEZlYXR1cmVzTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldEZlYXR1cmVzTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKCopCi0KLSAgICAgZCB4bWxHZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRGZWF0dXJlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTZXRGZWF0dXJlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRGZWF0dXJlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCi0gICAgICAqIEludGVyZmFjZXMgZm9yIHRoZSBQdXNoIG1vZGUuCi0KLSAgICAgZCB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQotICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFBhcnNlQ2h1bmsgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ2h1bmsnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGNodW5rICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9QVVNIX0VOQUJMRUQKLQotICAgICAgKiBTcGVjaWFsIEkvTyBtb2RlLgotCi0gICAgIGQgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlSU9QYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQotICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQotICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQotICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLQotICAgICBkIHhtbE5ld0lPSW5wdXRTdHJlYW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdJT0lucHV0U3RyZWFtJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgICAqIE5vZGUgaW5mb3MuCi0KLSAgICAgZCB4bWxQYXJzZXJGaW5kTm9kZUluZm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZXJGaW5kTm9kZUluZm8nKSAgICAgeG1sUGFyc2VyTm9kZUluZm8gKgotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgY29uc3QKLQotICAgICBkIHhtbEluaXROb2RlSW5mb1NlcS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEluaXROb2RlSW5mb1NlcScpCi0gICAgIGQgIHNlcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cikKLQotICAgICBkIHhtbENsZWFyTm9kZUluZm9TZXEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhck5vZGVJbmZvU2VxJykKLSAgICAgZCAgc2VxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyKQotCi0gICAgIGQgeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWxvbmcpCi0gICAgIGQgIHNlcSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgY29uc3QKLQotICAgICBkIHhtbFBhcnNlckFkZE5vZGVJbmZvLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyQWRkTm9kZUluZm8nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgaW5mbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlck5vZGVJbmZvUHRyKSAgICAgY29uc3QKLQotICAgICAgKiBFeHRlcm5hbCBlbnRpdGllcyBoYW5kbGluZyBhY3R1YWxseSBpbXBsZW1lbnRlZCBpbiB4bWxJTy4KLQotICAgICBkIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIpCi0KLSAgICAgZCB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4dGVybmFsRW50aXR5TG9hZGVyKQotCi0gICAgIGQgeG1sTG9hZEV4dGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9hZEV4dGVybmFsRW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgICAqIEluZGV4IGxvb2t1cCwgYWN0dWFsbHkgaW1wbGVtZW50ZWQgaW4gdGhlIGVuY29kaW5nIG1vZHVsZQotCi0gICAgIGQgeG1sQnl0ZUNvbnN1bWVkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnl0ZUNvbnN1bWVkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENsb25nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICAgKiBOZXcgc2V0IG9mIHNpbXBsZXIvbW9yZSBmbGV4aWJsZSBBUElzCi0KLSAgICAgICogeG1sUGFyc2VyT3B0aW9uOgotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHBhcnNlciBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCBkb3duCi0gICAgICAqIHRvIHRoZSB4bWxSZWFkRG9jKCkgYW5kIHNpbWlsYXIgY2FsbHMuCi0KLSAgICAgZCB4bWxQYXJzZXJPcHRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9QQVJTRV9SRUNPVkVSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY292ZXIgb24gZXJyb3JzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKLSAgICAgZCAgWE1MX1BBUlNFX05PRU5ULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vic3RpdHV0ZSBlbnRpdGllcwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDInCi0gICAgIGQgIFhNTF9QQVJTRV9EVERMT0FELi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvYWQgZXh0ZXJuYWwgc3Vic2V0Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwNCcKLSAgICAgZCAgWE1MX1BBUlNFX0RUREFUVFIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBEVEQgYXR0cnMKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA4JwotICAgICBkICBYTUxfUEFSU0VfRFREVkFMSUQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0ZSB3aXRoIERURAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMTAnCi0gICAgIGQgIFhNTF9QQVJTRV9OT0VSUk9SLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1cHByZXNzIGVyciByZXBvcnRzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAyMCcKLSAgICAgZCAgWE1MX1BBUlNFX05PV0FSTklORy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VwcHIgd2FybiByZXBvcnRzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA0MCcKLSAgICAgZCAgWE1MX1BBUlNFX1BFREFOVElDLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVkYW50aWMgZXJyIHJlcG9ydAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwODAnCi0gICAgIGQgIFhNTF9QQVJTRV9OT0JMQU5LUy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZSBibGFuayBub2RlcwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAxMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9TQVgxLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBTQVgxIGludGVybmFsbHkKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMjAwJwotICAgICBkICBYTUxfUEFSU0VfWElOQ0xVREUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbXBsIFhJbmNsdWRlIHN1YnN0Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDQwMCcKLSAgICAgZCAgWE1MX1BBUlNFX05PTkVULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yYmlkIG5ldHdyayBhY2Nlc3MKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwODAwJwotICAgICBkICBYTUxfUEFSU0VfTk9ESUNULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBjb250eHQgZGljdCByZXVzZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDEwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9OU0NMRUFOLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJtdiByZWRuZG50IG5zIGRlY2xzCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMjAwMCcKLSAgICAgZCAgWE1MX1BBUlNFX05PQ0RBVEEuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0RBVEEgYXMgdGV4dCBub2RlcwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDQwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9OT1hJTkNOT0RFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIFhJTkNMIFNUQVJUL0VORAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDgwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9DT01QQUNULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBhY3QgdGV4dCBub2RlcwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMTAwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9PTEQxMC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEI0IHVwZDUgY29tcGF0aWJsZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMjAwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9OT0JBU0VGSVguLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIFhJTkMgeG1sOmJhc2UgZml4Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA0MDAwMCcKLSAgICAgZCAgWE1MX1BBUlNFX0hVR0UuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gcGFyc2luZyBsaW1pdAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwODAwMDAnCi0gICAgIGQgIFhNTF9QQVJTRV9PTERTQVguLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBTQVgyIGI0IDIuNy4wCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDEwMDAwMCcKLSAgICAgZCAgWE1MX1BBUlNFX0lHTk9SRV9FTkMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gaW50IGRvYyBjb2RlIGhpbnQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMjAwMDAwJwotICAgICBkICBYTUxfUEFSU0VfQklHX0xJTkVTLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWcgbGluZSMtLT5QU1ZJIGZsZAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDA0MDAwMDAnCi0KLSAgICAgZCB4bWxDdHh0UmVzZXQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVzZXQnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbEN0eHRSZXNldFB1c2guLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVzZXRQdXNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbEN0eHRVc2VPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFVzZU9wdGlvbnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZERvYyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZERvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZEZpbGUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZEZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZE1lbW9yeSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZE1lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFJlYWRGZCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRGZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZElPICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZElPJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQotICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQotICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEN0eHRSZWFkRG9jICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkRG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sQ3R4dFJlYWRGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWRGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDdHh0UmVhZE1lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkTWVtb3J5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEN0eHRSZWFkRmQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkRmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDdHh0UmVhZElPICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVhZElPJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKLSAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogTGlicmFyeSB3aWRlIG9wdGlvbnMKLQotICAgICAgKiB4bWxGZWF0dXJlOgotICAgICAgKgotICAgICAgKiBVc2VkIHRvIGV4YW1pbmUgdGhlIGV4aXN0ZW5jZSBvZiBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkCi0gICAgICAqIG9yIGRpc2FibGVkIGF0IGNvbXBpbGUtdGltZS4KLSAgICAgICogVGhleSB1c2VkIHRvIGJlIGNhbGxlZCBYTUxfRkVBVFVSRV94eHggYnV0IHRoaXMgY2xhc2hlZCB3aXRoIEV4cGF0Ci0KLSAgICAgZCB4bWxGZWF0dXJlICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9XSVRIX1RIUkVBRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX1dJVEhfVFJFRSAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9XSVRIX09VVFBVVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX1dJVEhfUFVTSCAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9XSVRIX1JFQURFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLSAgICAgZCAgWE1MX1dJVEhfUEFUVEVSTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKLSAgICAgZCAgWE1MX1dJVEhfV1JJVEVSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfV0lUSF9TQVgxICBjICAgICAgICAgICAgICAgICAgIDgKLSAgICAgZCAgWE1MX1dJVEhfRlRQICAgYyAgICAgICAgICAgICAgICAgICA5Ci0gICAgIGQgIFhNTF9XSVRIX0hUVFAgIGMgICAgICAgICAgICAgICAgICAgMTAKLSAgICAgZCAgWE1MX1dJVEhfVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQotICAgICBkICBYTUxfV0lUSF9IVE1MICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9XSVRIX0xFR0FDWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCi0gICAgIGQgIFhNTF9XSVRIX0MxNE4gIGMgICAgICAgICAgICAgICAgICAgMTQKLSAgICAgZCAgWE1MX1dJVEhfQ0FUQUxPRy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1Ci0gICAgIGQgIFhNTF9XSVRIX1hQQVRILi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKLSAgICAgZCAgWE1MX1dJVEhfWFBUUiAgYyAgICAgICAgICAgICAgICAgICAxNwotICAgICBkICBYTUxfV0lUSF9YSU5DTFVERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4Ci0gICAgIGQgIFhNTF9XSVRIX0lDT05WLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKLSAgICAgZCAgWE1MX1dJVEhfSVNPODg1OVguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMAotICAgICBkICBYTUxfV0lUSF9VTklDT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKLSAgICAgZCAgWE1MX1dJVEhfUkVHRVhQLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjIKLSAgICAgZCAgWE1MX1dJVEhfQVVUT01BVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMwotICAgICBkICBYTUxfV0lUSF9FWFBSICBjICAgICAgICAgICAgICAgICAgIDI0Ci0gICAgIGQgIFhNTF9XSVRIX1NDSEVNQVMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNQotICAgICBkICBYTUxfV0lUSF9TQ0hFTUFUUk9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjYKLSAgICAgZCAgWE1MX1dJVEhfTU9EVUxFUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI3Ci0gICAgIGQgIFhNTF9XSVRIX0RFQlVHLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjgKLSAgICAgZCAgWE1MX1dJVEhfREVCVUdfTUVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjkKLSAgICAgZCAgWE1MX1dJVEhfREVCVUdfUlVOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAKLSAgICAgZCAgWE1MX1dJVEhfWkxJQiAgYyAgICAgICAgICAgICAgICAgICAzMQotICAgICBkICBYTUxfV0lUSF9JQ1UgICBjICAgICAgICAgICAgICAgICAgIDMyCi0gICAgIGQgIFhNTF9XSVRIX0xaTUEgIGMgICAgICAgICAgICAgICAgICAgMzMKLSAgICAgZCAgWE1MX1dJVEhfTk9ORSAgYyAgICAgICAgICAgICAgICAgICA5OTk5OQotCi0gICAgIGQgeG1sSGFzRmVhdHVyZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzRmVhdHVyZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmZWF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRmVhdHVyZSkKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3BhcnNlckludGVybmFscy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9wYXJzZXJJbnRlcm5hbHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjOGYzODguLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3BhcnNlckludGVybmFscy5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDU5OCArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGludGVybmFscyByb3V0aW5lcyBhbmQgbGltaXRzIGV4cG9ydGVkIGJ5IHRoZSBwYXJzZXIuCi0gICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBleHBvcnRzIGEgbnVtYmVyIG9mIGludGVybmFsIHBhcnNpbmcgcm91dGluZXMKLSAgICAgICogICAgICAgICAgICAgIHRoZXkgYXJlIG5vdCByZWFsbHkgYWxsIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbnMgYnV0Ci0gICAgICAqICAgICAgICAgICAgICBjYW4gcHJvdmUgdXNlZnVsIGRvaW5nIGxvdyBsZXZlbCBwcm9jZXNzaW5nLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1BBUlNFUl9JTlRFUk5BTFNfSF9fKQotICAgICAgL2RlZmluZSBYTUxfUEFSU0VSX0lOVEVSTkFMU19IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvSFRNTHBhcnNlciIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvY2h2YWxpZCIKLQotICAgICAgKiB4bWxQYXJzZXJNYXhEZXB0aDoKLSAgICAgICoKLSAgICAgICogYXJiaXRyYXJ5IGRlcHRoIGxpbWl0IGZvciB0aGUgWE1MIGRvY3VtZW50cyB0aGF0IHdlIGFsbG93IHRvCi0gICAgICAqIHByb2Nlc3MuIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eQotICAgICAgKiBib3VuZGFyeSBmZWF0dXJlLCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgotCi0gICAgIGQgeG1sUGFyc2VyTWF4RGVwdGguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFBhcnNlck1heERlcHRoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1aW50KQotCi0gICAgICAqIFhNTF9NQVhfVEVYVF9MRU5HVEg6Ci0gICAgICAqCi0gICAgICAqIE1heGltdW0gc2l6ZSBhbGxvd2VkIGZvciBhIHNpbmdsZSB0ZXh0IG5vZGUgd2hlbiBidWlsZGluZyBhIHRyZWUuCi0gICAgICAqIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eSBib3VuZGFyeSBmZWF0dXJlLAotICAgICAgKiB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgotICAgICAgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCi0KLSAgICAgZCBYTUxfTUFYX1RFWFRfTEVOR1RILi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMDAwMDAKLQotICAgICAgKiBYTUxfTUFYX05BTUVfTEVOR1RIOgotICAgICAgKgotICAgICAgKiBNYXhpbXVtIHNpemUgYWxsb3dlZCBmb3IgYSBtYXJrdXAgaWRlbnRpdGllcgotICAgICAgKiBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwKLSAgICAgICogdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4KLSAgICAgICogTm90ZSB0aGF0IHdpdGggdGhlIHVzZSBvZiBwYXJzaW5nIGRpY3Rpb25hcmllcyBvdmVycmlkaW5nIHRoZSBsaW1pdAotICAgICAgKiBtYXkgcmVzdWx0IGluIG1vcmUgcnVudGltZSBtZW1vcnkgdXNhZ2UgaW4gZmFjZSBvZiAidW5mcmllbmRseScgY29udGVudAotICAgICAgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCi0KLSAgICAgZCBYTUxfTUFYX05BTUVfTEVOR1RILi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAwMDAKLQotICAgICAgKiBYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ6Ci0gICAgICAqCi0gICAgICAqIE1heGltdW0gc2l6ZSBhbGxvd2VkIGJ5IHRoZSBwYXJzZXIgZm9yIGEgZGljdGlvbmFyeSBieSBkZWZhdWx0Ci0gICAgICAqIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eSBib3VuZGFyeSBmZWF0dXJlLAotICAgICAgKiB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgotICAgICAgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCi0KLSAgICAgZCBYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAwMDAwMAotCi0gICAgICAqIFhNTF9NQVhfTE9PS1VQX0xJTUlUOgotICAgICAgKgotICAgICAgKiBNYXhpbXVtIHNpemUgYWxsb3dlZCBieSB0aGUgcGFyc2VyIGZvciBhaGVhZCBsb29rdXAKLSAgICAgICogVGhpcyBpcyBhbiB1cHBlciBib3VuZGFyeSBlbmZvcmNlZCBieSB0aGUgcGFyc2VyIHRvIGF2b2lkIGJhZAotICAgICAgKiBiZWhhdmlvdXIgb24gInVuZnJpZW5kbHknIGNvbnRlbnQKLSAgICAgICogSW50cm9kdWNlZCBpbiAyLjkuMAotCi0gICAgIGQgWE1MX01BWF9MT09LVVBfTElNSVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAwMDAwMAotCi0gICAgICAqIFhNTF9NQVhfTkFNRUxFTjoKLSAgICAgICoKLSAgICAgICogSWRlbnRpZmllcnMgY2FuIGJlIGxvbmdlciwgYnV0IHRoaXMgd2lsbCBiZSBtb3JlIGNvc3RseQotICAgICAgKiBhdCBydW50aW1lLgotCi0gICAgIGQgWE1MX01BWF9OQU1FTEVOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwCi0KLSAgICAgICogSU5QVVRfQ0hVTks6Ci0gICAgICAqCi0gICAgICAqIFRoZSBwYXJzZXIgdHJpZXMgdG8gYWx3YXlzIGhhdmUgdGhhdCBhbW91bnQgb2YgaW5wdXQgcmVhZHkuCi0gICAgICAqIE9uZSBvZiB0aGUgcG9pbnQgaXMgcHJvdmlkaW5nIGNvbnRleHQgd2hlbiByZXBvcnRpbmcgZXJyb3JzLgotCi0gICAgIGQgSU5QVVRfQ0hVTksgICAgIGMgICAgICAgICAgICAgICAgICAgMjUwCi0KLSAgICAgICogR2xvYmFsIHZhcmlhYmxlcyB1c2VkIGZvciBwcmVkZWZpbmVkIHN0cmluZ3MuCi0KLSAgICAgZCB4bWxTdHJpbmdUZXh0ICAgcyAgICAgICAgICAgICAgNCAgICBpbXBvcnQoJ3htbFN0cmluZ1RleHQnKSAgICAgICAgICAgICAgXDAgaW4gNXRoIGJ5dGUKLQotICAgICBkIHhtbFN0cmluZ1RleHROb2VuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICA5ICAgIGltcG9ydCgneG1sU3RyaW5nVGV4dE5vZW5jJykgICAgICAgICBcMCBpbiAxMHRoIGJ5dGUKLQotICAgICBkIHhtbFN0cmluZ0NvbW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgNyAgICBpbXBvcnQoJ3htbFN0cmluZ0NvbW1lbnQnKSAgICAgICAgICAgXDAgaW4gOHRoIGJ5dGUKLQotICAgICAgKiBGdW5jdGlvbiB0byBmaW5pc2ggdGhlIHdvcmsgb2YgdGhlIG1hY3JvcyB3aGVyZSBuZWVkZWQuCi0KLSAgICAgZCB4bWxJc0xldHRlciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc0xldHRlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiBQYXJzZXIgY29udGV4dC4KLQotICAgICBkIHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgYmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3dpdGNoRW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hFbmNvZGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLQotICAgICBkIHhtbFN3aXRjaFRvRW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hUb0VuY29kaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLQotICAgICBkIHhtbFN3aXRjaElucHV0RW5jb2RpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0gICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotCi0gICAgICAqIElucHV0IFN0cmVhbXMuCi0KLSAgICAgZCB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1N0cmluZ0lucHV0U3RyZWFtJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0VudGl0eUlucHV0U3RyZWFtJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBlbnRpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudGl0eVB0cikKLQotICAgICBkIHhtbFB1c2hJbnB1dCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFB1c2hJbnB1dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotCi0gICAgIGQgeG1sUG9wSW5wdXQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUG9wSW5wdXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhcikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxGcmVlSW5wdXRTdHJlYW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlSW5wdXRTdHJlYW0nKQotICAgICBkIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0KLSAgICAgZCB4bWxOZXdJbnB1dEZyb21GaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3SW5wdXRGcm9tRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sTmV3SW5wdXRTdHJlYW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdJbnB1dFN0cmVhbScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgICogTmFtZXNwYWNlcy4KLQotICAgICBkIHhtbFNwbGl0UU5hbWUgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNwbGl0UU5hbWUnKSAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKLQotICAgICAgKiBHZW5lcmljIHByb2R1Y3Rpb24gcnVsZXMuCi0KLSAgICAgZCB4bWxQYXJzZU5hbWUgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZU5hbWUnKSAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VObXRva2VuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VObXRva2VuJykgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRW50aXR5VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUVudGl0eVZhbHVlJykgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIG9yaWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKLQotICAgICBkIHhtbFBhcnNlQXR0VmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUF0dFZhbHVlJykgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VTeXN0ZW1MaXRlcmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VTeXN0ZW1MaXRlcmFsJykgICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlUHViaWRMaXRlcmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VQdWJpZExpdGVyYWwnKSAgICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlQ2hhckRhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNoYXJEYXRhJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgY2RhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VFeHRlcm5hbElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VFeHRlcm5hbElEJykgICAgICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBwdWJsaWNJRCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0gICAgIGQgc3RyaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VDb21tZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDb21tZW50JykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZVBJVGFyZ2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VQSVRhcmdldCcpICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlUEkgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlUEknKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlTm90YXRpb25EZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VOb3RhdGlvbkRlY2wnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRW50aXR5RGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRW50aXR5RGVjbCcpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VEZWZhdWx0RGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRGVmYXVsdERlY2wnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQotCi0gICAgIGQgeG1sUGFyc2VOb3RhdGlvblR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU5vdGF0aW9uVHlwZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRW51bWVyYXRpb25UeXBlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRW51bWVyYXRlZFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbnVtZXJhdGlvblB0ciAqCi0KLSAgICAgZCB4bWxQYXJzZUF0dHJpYnV0ZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEVudW1lcmF0aW9uUHRyICoKLQotICAgICBkIHhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgaW5wdXRjaGsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGlucHV0Y2hrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIHJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50Q29udGVudFB0cgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0KLSAgICAgZCB4bWxQYXJzZUVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50RGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlTWFya3VwRGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlTWFya3VwRGVjbCcpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VDaGFyUmVmLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDaGFyUmVmJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VFbnRpdHlSZWYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudGl0eVJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VSZWZlcmVuY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVJlZmVyZW5jZScpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VQRVJlZmVyZW5jZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlUEVSZWZlcmVuY2UnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRG9jVHlwZURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZURvY1R5cGVEZWNsJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCi0gICAgIGQgeG1sUGFyc2VBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUF0dHJpYnV0ZScpICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKLQotICAgICBkIHhtbFBhcnNlU3RhcnRUYWcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVN0YXJ0VGFnJykgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VFbmRUYWcgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbmRUYWcnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAotCi0gICAgIGQgeG1sUGFyc2VDRFNlY3QgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDRFNlY3QnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlQ29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ29udGVudCcpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50JykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZVZlcnNpb25OdW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVZlcnNpb25OdW0nKSAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VWZXJzaW9uSW5mby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlVmVyc2lvbkluZm8nKSAgICAgICB4bWxDaGFyICoKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZUVuY05hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUVuY05hbWUnKSAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VFbmNvZGluZ0RlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUVuY29kaW5nRGVjbCcpICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VTRERlY2wgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VTRERlY2wnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZVhNTERlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVhNTERlY2wnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlVGV4dERlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVRleHREZWNsJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxQYXJzZU1pc2MgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU1pc2MnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUV4dGVybmFsU3Vic2V0JykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBYTUxfU1VCU1RJVFVURV9OT05FOgotICAgICAgKgotICAgICAgKiBJZiBubyBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLgotCi0gICAgIGQgWE1MX1NVQlNUSVRVVEVfTk9ORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLQotICAgICAgKiBYTUxfU1VCU1RJVFVURV9SRUY6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgZ2VuZXJhbCBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLgotCi0gICAgIGQgWE1MX1NVQlNUSVRVVEVfUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotCi0gICAgICAqIFhNTF9TVUJTVElUVVRFX1BFUkVGOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHBhcmFtZXRlciBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLgotCi0gICAgIGQgWE1MX1NVQlNUSVRVVEVfUEVSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0KLSAgICAgICogWE1MX1NVQlNUSVRVVEVfQk9USDoKLSAgICAgICoKLSAgICAgICogQm90aCBnZW5lcmFsIGFuZCBwYXJhbWV0ZXIgZW50aXRpZXMgbmVlZCB0byBiZSBzdWJzdGl0dXRlZC4KLQotICAgICBkIFhNTF9TVUJTVElUVVRFX0JPVEguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0KLSAgICAgZCB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cmluZ0RlY29kZUVudGl0aWVzJykgICB4bWxDaGFyICoKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIHdoYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCi0gICAgIGQgZW5kMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQotICAgICBkIGVuZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKLQotICAgICBkIHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnKXhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkIHdoYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCi0gICAgIGQgZW5kMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQotICAgICBkIGVuZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKLQotICAgICAgKiBHZW5lcmF0ZWQgYnkgTUFDUk9TIG9uIHRvcCBvZiBwYXJzZXIuYyBjLmYuIFBVU0hfQU5EX1BPUC4KLQotICAgICBkIG5vZGVQdXNoICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ25vZGVQdXNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIG5vZGVQb3AgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ25vZGVQb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCBpbnB1dFB1c2ggICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbnB1dFB1c2gnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLQotICAgICBkIGlucHV0UG9wICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2lucHV0UG9wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIG5hbWVQb3AgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ25hbWVQb3AnKSAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCBuYW1lUHVzaCAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCduYW1lUHVzaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogb3RoZXIgY29tbW9kaXRpZXMgc2hhcmVkIGJldHdlZW4gcGFyc2VyLmMgYW5kIHBhcnNlckludGVybmFscy4KLQotICAgICBkIHhtbFNraXBCbGFua0NoYXJzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2tpcEJsYW5rQ2hhcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxTdHJpbmdDdXJyZW50Q2hhci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmluZ0N1cnJlbnRDaGFyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKLQotICAgICBkIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbENoZWNrTGFuZ3VhZ2VJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENoZWNrTGFuZ3VhZ2VJRCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGxhbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBSZWFsbHkgY29yZSBmdW5jdGlvbiBzaGFyZWQgd2l0aCBIVE1MIHBhcnNlci4KLQotICAgICBkIHhtbEN1cnJlbnRDaGFyICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN1cnJlbnRDaGFyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKgotCi0gICAgIGQgeG1sQ29weUNoYXJNdWx0aUJ5dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5Q2hhck11bHRpQnl0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDb3B5Q2hhciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5Q2hhcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmV4dENoYXIgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV4dENoYXInKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFBhcnNlcklucHV0U2hyaW5rLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRTaHJpbmsnKQotICAgICBkIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCi0KLSAgICAgICogQWN0dWFsbHkgY29tZXMgZnJvbSB0aGUgSFRNTCBwYXJzZXIgYnV0IGxhdW5jaGVkIGZyb20gdGhlIGluaXQgc3R1ZmYuCi0KLSAgICAgZCBodG1sSW5pdEF1dG9DbG9zZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxJbml0QXV0b0Nsb3NlJykKLQotICAgICBkIGh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICAgL2VuZGlmCi0KLSAgICAgICogU3BlY2lmaWMgZnVuY3Rpb24gdG8ga2VlcCB0cmFjayBvZiBlbnRpdGllcyByZWZlcmVuY2VzCi0gICAgICAqIGFuZCB1c2VkIGJ5IHRoZSBYU0xUIGRlYnVnZ2VyLgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCi0gICAgICAqIHhtbEVudGl0eVJlZmVyZW5jZUZ1bmM6Ci0gICAgICAqIEBlbnQ6IHRoZSBlbnRpdHkKLSAgICAgICogQGZpcnN0Tm9kZTogIHRoZSBmaXN0IG5vZGUgaW4gdGhlIGNodW5rCi0gICAgICAqIEBsYXN0Tm9kZTogIHRoZSBsYXN0IG5vZCBpbiB0aGUgY2h1bmsKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB3aGVuIG9uZSBuZWVkcyB0byBiZSBhYmxlIHRvIHRyYWNrIGJhY2sgdGhlCi0gICAgICAqIHByb3ZlbmFuY2Ugb2YgYSBjaHVuayBvZiBub2RlcyBpbmhlcml0ZWQgZnJvbSBhbiBlbnRpdHkgcmVwbGFjZW1lbnQuCi0KLSAgICAgZCB4bWxFbnRpdHlSZWZlcmVuY2VGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgZCB4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycpCi0gICAgIGQgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnRpdHlSZWZlcmVuY2VGdW5jKQotCi0gICAgIGQgeG1sUGFyc2VRdW90ZWRTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVF1b3RlZFN0cmluZycpICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VOYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU5hbWVzcGFjZScpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sTmFtZXNwYWNlUGFyc2VOU0RlZi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnKSAgICB4bWxDaGFyICoKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxTY2FuTmFtZSAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTY2FuTmFtZScpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScpICAgeG1sQ2hhciAqCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxOYW1lc3BhY2VQYXJzZVFOYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFtZXNwYWNlUGFyc2VRTmFtZScpICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCi0KLSAgICAgICogRW50aXRpZXMKLQotICAgICBkIHhtbERlY29kZUVudGl0aWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sRGVjb2RlRW50aXRpZXMnKSAgICAgICAgIHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgd2hhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKLSAgICAgZCBlbmQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCi0gICAgIGQgZW5kMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQotCi0gICAgIGQgeG1sSGFuZGxlRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFuZGxlRW50aXR5JykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgZW50aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnRpdHlQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECi0KLSAgICAgIC9lbmRpZgpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3BhdHRlcm4ucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvcGF0dGVybi5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWYwMjMwMS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvcGF0dGVybi5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDEzMCArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IHBhdHRlcm4gZXhwcmVzc2lvbiBoYW5kbGluZwotICAgICAgKiBEZXNjcmlwdGlvbjogYWxsb3dzIHRvIGNvbXBpbGUgYW5kIHRlc3QgcGF0dGVybiBleHByZXNzaW9ucyBmb3Igbm9kZXMKLSAgICAgICogICAgICAgICAgICAgIGVpdGhlciBpbiBhIHRyZWUgb3IgYmFzZWQgb24gYSBwYXJzZXIgc3RhdGUuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUEFUVEVSTl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9QQVRURVJOX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9kaWN0IgotCi0gICAgICAqIHhtbFBhdHRlcm46Ci0gICAgICAqCi0gICAgICAqIEEgY29tcGlsZWQgKFhQYXRoIGJhc2VkKSBwYXR0ZXJuIHRvIHNlbGVjdCBub2RlcwotCi0gICAgIGQgeG1sUGF0dGVyblB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sUGF0dGVybkZsYWdzOgotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2Ygb3B0aW9ucyBhZmZlY3RpbmcgdGhlIGJlaGF2aW91ciBvZiBwYXR0ZXJuCi0gICAgICAqIG1hdGNoaW5nIHdpdGggdGhpcyBtb2R1bGUKLQotICAgICBkIHhtbFBhdHRlcm5GbGFncy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1BBVFRFUk5fREVGQVVMVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2ltcGxlIHBhdHRlcm4gbWF0Y2gKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAnCi0gICAgIGQgIFhNTF9QQVRURVJOX1hQQVRILi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZCBYUGF0aCBwYXR0ZXJuCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJwotICAgICBkICBYTUxfUEFUVEVSTl9YU1NFTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2htIHNlbCBYUHRoIHN1YnNldAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLSAgICAgZCAgWE1MX1BBVFRFUk5fWFNGSUVMRC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NobSBmbGQgWFB0aCBzdWJzZXQKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCi0KLSAgICAgZCB4bWxGcmVlUGF0dGVybiAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlUGF0dGVybicpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotCi0gICAgIGQgeG1sRnJlZVBhdHRlcm5MaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVBhdHRlcm5MaXN0JykKLSAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhdHRlcm5QdHIpCi0KLSAgICAgZCB4bWxQYXR0ZXJuY29tcGlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5jb21waWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhdHRlcm5QdHIpCi0gICAgIGQgIHBhdHRlcm4gICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0ICoKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQotCi0gICAgIGQgeG1sUGF0dGVybk1hdGNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybk1hdGNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICAgKiBzdHJlYW1pbmcgaW50ZXJmYWNlcwotCi0gICAgIGQgeG1sU3RyZWFtQ3R4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxQYXR0ZXJuU3RyZWFtYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5TdHJlYW1hYmxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotCi0gICAgIGQgeG1sUGF0dGVybk1heERlcHRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybk1heERlcHRoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotCi0gICAgIGQgeG1sUGF0dGVybk1pbkRlcHRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybk1pbkRlcHRoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotCi0gICAgIGQgeG1sUGF0dGVybkZyb21Sb290Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGF0dGVybkZyb21Sb290JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQotCi0gICAgIGQgeG1sUGF0dGVybkdldFN0cmVhbUN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQotICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGF0dGVyblB0cikKLQotICAgICBkIHhtbEZyZWVTdHJlYW1DdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVN0cmVhbUN0eHQnKQotICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKLQotICAgICBkIHhtbFN0cmVhbVB1c2hOb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyZWFtUHVzaE5vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmVhbUN0eHRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbm9kZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTdHJlYW1QdXNoICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1QdXNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTdHJlYW1QdXNoQXR0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmVhbVB1c2hBdHRyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTdHJlYW1Qb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1Qb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmVhbUN0eHRQdHIpCi0KLSAgICAgZCB4bWxTdHJlYW1XYW50c0FueU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJlYW1XYW50c0FueU5vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmVhbUN0eHRQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1BBVFRFUk5fRU5CTEQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1BBVFRFUk5fSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvcmVsYXhuZy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9yZWxheG5nLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNWI4NDcxLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9yZWxheG5nLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMzEwICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb24KLSAgICAgICogRGVzY3JpcHRpb246IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUkVMQVhfTkdfXykKLSAgICAgIC9kZWZpbmUgWE1MX1JFTEFYX05HX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvaGFzaCIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgotCi0gICAgIGQgeG1sUmVsYXhOR1B0ciAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM6Ci0gICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGEgUmVsYXgtTkcgdmFsaWRhdGlvbgotCi0gICAgIGQgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM6Ci0gICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhIFJlbGF4LU5HIHZhbGlkYXRpb24KLQotICAgICBkIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogQSBzY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dAotCi0gICAgIGQgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sUmVsYXhOR1ZhbGlkRXJyOgotICAgICAgKgotICAgICAgKiBMaXN0IG9mIHBvc3NpYmxlIFJlbGF4IE5HIHZhbGlkYXRpb24gZXJyb3JzCi0KLSAgICAgZCB4bWxSZWxheE5HVmFsaWRFcnIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9SRUxBWE5HX09LLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfUkVMQVhOR19FUlJfTUVNT1JZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfUkVMQVhOR19FUlJfVFlQRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9EVVBJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1RZUEVDTVAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJOT05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCi0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9OT0VMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgotICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9URUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCi0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNAotICAgICBkICBYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI3Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjkKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzEKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzIKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0xJU1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMwotICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzQKLSAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM1Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MQUNLREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM2Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM3Ci0gICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzOAotICAgICBkICBYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzkKLQotICAgICAgKiB4bWxSZWxheE5HUGFyc2VyRmxhZ3M6Ci0gICAgICAqCi0gICAgICAqIExpc3Qgb2YgcG9zc2libGUgUmVsYXggTkcgUGFyc2VyIGZsYWdzCi0KLSAgICAgZCB4bWxSZWxheE5HUGFyc2VyRmxhZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1JFTEFYTkdQX05PTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhNTF9SRUxBWE5HUF9GUkVFX0RPQy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX1JFTEFYTkdQX0NSTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0KLSAgICAgZCB4bWxSZWxheE5HSW5pdFR5cGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0luaXRUeXBlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVsYXhOR0NsZWFudXBUeXBlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnKQotCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3IgcGFyc2luZy4KLQotICAgICBkIHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR05ld1BhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFJlbGF4UGFyc2VyU2V0RmxhZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4UGFyc2VyU2V0RmxhZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCi0gICAgIGQgIGZsYWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQotCi0gICAgIGQgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCi0gICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykKLSAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQotICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKQotICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQotCi0gICAgIGQgeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sUmVsYXhOR1BhcnNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR1BhcnNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFJlbGF4TkdGcmVlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdGcmVlJykKLSAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQdHIpCi0KLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotICAgICBkIHhtbFJlbGF4TkdEdW1wICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdEdW1wJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIHNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUHRyKQotCi0gICAgIGQgeG1sUmVsYXhOR0R1bXBUcmVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0R1bXBUcmVlJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIHNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAotCi0gICAgICAqIEludGVyZmFjZXMgZm9yIHZhbGlkYXRpbmcKLQotICAgICBkIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycycpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQotICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpCi0gICAgIGQgIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykKLSAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICogKgotCi0gICAgIGQgeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKLSAgICAgZCAgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdOZXdWYWxpZEN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKLSAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQdHIpCi0KLSAgICAgZCB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCi0KLSAgICAgZCB4bWxSZWxheE5HVmFsaWRhdGVEb2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HVmFsaWRhdGVEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3IgcHJvZ3Jlc3NpdmUgdmFsaWRhdGlvbiB3aGVuIHBvc3NpYmxlCi0KLSAgICAgZCB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NDSEVNQVNfRU5CTEQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1JFTEFYX05HX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy9zY2hlbWFzSW50ZXJuYWxzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3NjaGVtYXNJbnRlcm5hbHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0MjllYjIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3NjaGVtYXNJbnRlcm5hbHMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQyICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXMKLSAgICAgICogRGVzY3JpcHRpb246IGludGVybmFsIGludGVyZmFjZXMgZm9yIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZwotICAgICAgKiAgICAgICAgICAgICAgYW5kIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZwotICAgICAgKiAgICAgICAgICAgICAgVGhlIFNjaGVtYXMgZGV2ZWxvcG1lbnQgaXMgYSBXb3JrIEluIFByb2dyZXNzLgotICAgICAgKiAgICAgICAgICAgICAgU29tZSBvZiB0aG9zZSBpbnRlcmZhY2VzIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZSBBUEkgb3IKLSAgICAgICogICAgICAgICAgICAgICAgQUJJIHN0YWJsZSAhCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0NIRU1BX0lOVEVSTkFMU19IX18pCi0gICAgICAvZGVmaW5lIFhNTF9TQ0hFTUFfSU5URVJOQUxTX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxyZWdleHAiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfU0NIRU1BU19VTktOT1dOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfU0NIRU1BU19TVFJJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0RFQ0lNQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9TQ0hFTUFTX1RJTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0dEQVkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0dNT05USC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKLSAgICAgZCAgWE1MX1NDSEVNQVNfR01PTlRIREFZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfU0NIRU1BU19HWUVBUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgKLSAgICAgZCAgWE1MX1NDSEVNQVNfR1lFQVJNT05USC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKLSAgICAgZCAgWE1MX1NDSEVNQVNfREFURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0RBVEVUSU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKLSAgICAgZCAgWE1MX1NDSEVNQVNfRFVSQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgotICAgICBkICBYTUxfU0NIRU1BU19GTE9BVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0RPVUJMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0JPT0xFQU4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfU0NIRU1BU19UT0tFTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0xBTkdVQUdFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKLSAgICAgZCAgWE1MX1NDSEVNQVNfTk1UT0tFTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX05NVE9LRU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKLSAgICAgZCAgWE1MX1NDSEVNQVNfTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX1FOQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKLSAgICAgZCAgWE1MX1NDSEVNQVNfTkNOQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjIKLSAgICAgZCAgWE1MX1NDSEVNQVNfSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMwotICAgICBkICBYTUxfU0NIRU1BU19JRFJFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI0Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0lEUkVGUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI1Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0VOVElUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0VOVElUSUVTLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjcKLSAgICAgZCAgWE1MX1NDSEVNQVNfTk9UQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyOAotICAgICBkICBYTUxfU0NIRU1BU19BTllVUkkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyOQotICAgICBkICBYTUxfU0NIRU1BU19JTlRFR0VSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAKLSAgICAgZCAgWE1MX1NDSEVNQVNfTlBJTlRFR0VSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzEKLSAgICAgZCAgWE1MX1NDSEVNQVNfTklOVEVHRVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMgotICAgICBkICBYTUxfU0NIRU1BU19OTklOVEVHRVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMwotICAgICBkICBYTUxfU0NIRU1BU19QSU5URUdFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM0Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0lOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM1Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX1VJTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzNgotICAgICBkICBYTUxfU0NIRU1BU19MT05HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzcKLSAgICAgZCAgWE1MX1NDSEVNQVNfVUxPTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzOAotICAgICBkICBYTUxfU0NIRU1BU19TSE9SVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM5Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX1VTSE9SVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0JZVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MQotICAgICBkICBYTUxfU0NIRU1BU19VQllURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQyCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQzCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ0Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0FOWVRZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0NQotICAgICBkICBYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDYKLQotICAgICAgKiBYTUwgU2NoZW1hcyBkZWZpbmVzIG11bHRpcGxlIHR5cGUgb2YgdHlwZXMuCi0KLSAgICAgZCB4bWxTY2hlbWFUeXBlVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0JBU0lDLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSBidWlsdGluIGRhdGF0eXBlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfQU5ZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfRkFDRVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BTEwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKLSAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9VUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMwotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfR1JPVVAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNwotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfTElTVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5Ci0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9VTklPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKLSAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgotICAgICBkICBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCi0gICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjQKLSAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKLSAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNgotICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDAKLSAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAxCi0gICAgIGQgIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMgotICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDMKLSAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDQKLSAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDUKLSAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNgotICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNwotICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA4Ci0gICAgIGQgIFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RILi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwOQotICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTAKLSAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDExCi0gICAgIGQgIFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDAwCi0gICAgIGQgIFhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMQotCi0gICAgIGQgeG1sU2NoZW1hQ29udGVudFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX01JWEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYnNvbGV0ZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLSAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotCi0gICAgIGQgeG1sU2NoZW1hVmFsUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYVR5cGVQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU2NoZW1hRmFjZXRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIEFubm90YXRpb24KLQotICAgICBkIHhtbFNjaGVtYUFubm90UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYUFubm90ICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYUFubm90UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIFRoZSBhbm5vdGF0aW9uCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQOgotICAgICAgKgotICAgICAgKiBTa2lwIHVua25vd24gYXR0cmlidXRlIGZyb20gdmFsaWRhdGlvbgotICAgICAgKiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLQotICAgICAgKiBYTUxfU0NIRU1BU19BTllBVFRSX0xBWDoKLSAgICAgICoKLSAgICAgICogSWdub3JlIHZhbGlkYXRpb24gbm9uIGRlZmluaXRpb24gb24gYXR0cmlidXRlcwotICAgICAgKiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUOgotICAgICAgKgotICAgICAgKiBBcHBseSBzdHJpY3QgdmFsaWRhdGlvbiBydWxlcyBvbiBhdHRyaWJ1dGVzCi0gICAgICAqIE9ic29sZXRlLCBub3QgdXNlZCBhbnltb3JlLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQU5ZX1NLSVA6Ci0gICAgICAqCi0gICAgICAqIFNraXAgdW5rbm93biBhdHRyaWJ1dGUgZnJvbSB2YWxpZGF0aW9uCi0KLSAgICAgZCBYTUxfU0NIRU1BU19BTllfU0tJUC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLQotICAgICAgKiBYTUxfU0NIRU1BU19BTllfTEFYOgotICAgICAgKgotICAgICAgKiBVc2VkIGJ5IHdpbGRjYXJkcy4KLSAgICAgICogVmFsaWRhdGUgaWYgdHlwZSBmb3VuZCwgZG9uJ3Qgd29ycnkgaWYgbm90IGZvdW5kCi0KLSAgICAgZCBYTUxfU0NIRU1BU19BTllfTEFYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q6Ci0gICAgICAqCi0gICAgICAqIFVzZWQgYnkgd2lsZGNhcmRzLgotICAgICAgKiBBcHBseSBzdHJpY3QgdmFsaWRhdGlvbiBydWxlcwotCi0gICAgIGQgWE1MX1NDSEVNQVNfQU5ZX1NUUklDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLQotICAgICAgKiBYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEOgotICAgICAgKgotICAgICAgKiBVc2VkIGJ5IHdpbGRjYXJkcy4KLSAgICAgICogVGhlIGF0dHJpYnV0ZSBpcyBwcm9oaWJpdGVkLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLQotICAgICAgKiBYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRDoKLSAgICAgICoKLSAgICAgICogVGhlIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMOgotICAgICAgKgotICAgICAgKiBUaGUgYXR0cmlidXRlIGlzIG9wdGlvbmFsLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUw6Ci0gICAgICAqCi0gICAgICAqIGFsbG93IGVsZW1lbnRzIGluIG5vIG5hbWVzcGFjZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQ6Ci0gICAgICAqCi0gICAgICAqIGFsbG93IGVsZW1lbnRzIGluIG5vIG5hbWVzcGFjZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwODAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRDoKLSAgICAgICoKLSAgICAgICogdGhpcyBpcyBzZXQgd2hlbiB0aGUgInR5cGUiIGFuZCAicmVmIiByZWZlcmVuY2VzCi0gICAgICAqIGhhdmUgYmVlbiByZXNvbHZlZC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAxMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9GSVhFRDoKLSAgICAgICoKLSAgICAgICogdGhlIGF0dHJpYnV0ZSBoYXMgYSBmaXhlZCB2YWx1ZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUl9GSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDIwMCcKLQotICAgICAgKiB4bWxTY2hlbWFBdHRyaWJ1dGU6Ci0gICAgICAqIEFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uLgotCi0gICAgIGQgeG1sU2NoZW1hQXR0cmlidXRlUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYUF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVUeXBlKQotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBOZXh0IGF0dHJpYnV0ZQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWZOcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZU5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGVOcyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCi0gICAgICAqCi0gICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIERlcHJlY2F0ZWQKLSAgICAgZCAgb2NjdXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZAotICAgICBkICBkZWZWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3VidHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgVGhlIHR5cGUgZGVmaW5pdGlvbgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWZQcmVmaXggICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZGVmVmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikgICAgICAgICAgICAgICAgQ29tcGlsZWQgY29uc3RyYWludAotICAgICBkICByZWZEZWNsICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBEZXByZWNhdGVkCi0KLSAgICAgICogeG1sU2NoZW1hQXR0cmlidXRlTGluazoKLSAgICAgICogVXNlZCB0byBidWlsZCBhIGxpc3Qgb2YgYXR0cmlidXRlIHVzZXMgb24gY29tcGxleFR5cGUgZGVmaW5pdGlvbnMuCi0gICAgICAqIFdBUk5JTkc6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkLgotCi0gICAgIGQgeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIpICAgICAgVGhlIG5leHQgbGluawotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBUaGUgbGlua2VkIGF0dHJpYnV0ZQotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFOgotICAgICAgKgotICAgICAgKiBJZiB0aGUgd2lsZGNhcmQgaXMgY29tcGxldGUuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKLQotICAgICAgKiB4bWxTY2hlbWFDaGFyVmFsdWVMaW5rOgotICAgICAgKiBVc2VkIHRvIGJ1aWxkIGEgbGlzdCBvZiBuYW1lc3BhY2VzIG9uIHdpbGRjYXJkcy4KLQotICAgICBkIHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU2NoZW1hV2lsZGNhcmROcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaWxkY2FyZE5zUHRyKSAgICAgICAgIFRoZSBuZXh0IGxpbmsKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogeG1sU2NoZW1hV2lsZGNhcmQuCi0gICAgICAqIEEgd2lsZGNhcmQuCi0KLSAgICAgZCB4bWxTY2hlbWFXaWxkY2FyZFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTY2hlbWFXaWxkY2FyZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYVdpbGRjYXJkUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVR5cGUpICAgICAgICAgICAgICBLaW5kIG9mIHR5cGUKLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGFubm90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBbm5vdFB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG1pbk9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgIGQgIG1heE9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgIGQgIHByb2Nlc3NDb250ZW50cy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYW55ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTnMgY29uc3RyYWludCAjI2FueT8KLSAgICAgZCAgbnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgQWxsb3dlZCBuYW1zcGNlIGxpc3QKLSAgICAgZCAgbmVnTnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgTmVnYXRlZCBuYW1lc3BhY2UKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLQotICAgICAgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDoKLSAgICAgICoKLSAgICAgICogVGhlIGF0dHJpYnV0ZSB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWx0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTDoKLSAgICAgICoKLSAgICAgICogVGhlIGF0dHJpYnV0ZSB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWx0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLQotICAgICAgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEOgotICAgICAgKgotICAgICAgKiBNYXJrcyB0aGUgYXR0ciBncm91cCBhcyBtYXJrZWQ7IHVzZWQgZm9yIGNpcmN1bGFyIGNoZWNrcy4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRDoKLSAgICAgICoKLSAgICAgICogVGhlIGF0dHIgZ3JvdXAgd2FzIHJlZGVmaW5lZC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDgnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoaXMgYXR0ci4gZ3JvdXAgY29udGFpbnMgYXR0ci4gZ3JvdXAgcmVmZXJlbmNlcy4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAxMCcKLQotICAgICAgKiBBbiBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbi4KLSAgICAgICoKLSAgICAgICogeG1sU2NoZW1hQXR0cmlidXRlIGFuZCB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCBzdGFydCBvZiBzdHJ1Y3R1cmVzCi0gICAgICAqIG11c3QgYmUga2VwdCBzaW1pbGFyCi0KLSAgICAgZCB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVR5cGUpICAgICAgICAgICAgICBLaW5kIG9mIHR5cGUKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgICAgICAgICAgTmV4dCBhdHRyaWJ1dGUKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVmTnMgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGFubm90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBbm5vdFB0cikKLSAgICAgICoKLSAgICAgZCAgYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBhdHRyaWJ1dGVXaWxkY2FyZC4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2lsZGNhcmRQdHIpCi0gICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWZJdGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIpICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAotICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGF0dHJVc2VzICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgICAqIHhtbFNjaGVtYVR5cGVMaW5rOgotICAgICAgKiBVc2VkIHRvIGJ1aWxkIGEgbGlzdCBvZiB0eXBlcyAoZS5nLiBtZW1iZXIgdHlwZXMgb2YKLSAgICAgICogc2ltcGxlVHlwZSB3aXRoIHZhcmlldHkgInVuaW9uIikuCi0KLSAgICAgZCB4bWxTY2hlbWFUeXBlTGlua1B0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTY2hlbWFUeXBlTGluay4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYVR5cGVMaW5rUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZUxpbmtQdHIpICAgICAgICAgICBOZXh0IHR5cGUgbGluawotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikgICAgICAgICAgICAgICBMaW5rZWQgdHlwZQotCi0gICAgICAqIHhtbFNjaGVtYUZhY2V0TGluazoKLSAgICAgICogVXNlZCB0byBidWlsZCBhIGxpc3Qgb2YgZmFjZXRzLgotCi0gICAgIGQgeG1sU2NoZW1hRmFjZXRMaW5rUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYUZhY2V0TGluay4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYUZhY2V0TGlua1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUZhY2V0TGlua1B0cikgICAgICAgICAgTmV4dCBmYWNldCBsaW5rCi0gICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikgICAgICAgICAgICAgIExpbmtlZCBmYWNldAotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQ6Ci0gICAgICAqCi0gICAgICAqIHRoZSBlbGVtZW50IGNvbnRlbnQgdHlwZSBpcyBtaXhlZAotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBzaW1wbGUgb3IgY29tcGxleCB0eXBlIGhhcyBhIGRlcml2YXRpb24gbWV0aG9kIG9mICJleHRlbnNpb24iLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDAyJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBzaW1wbGUgb3IgY29tcGxleCB0eXBlIGhhcyBhIGRlcml2YXRpb24gbWV0aG9kIG9mICJyZXN0cmljdGlvbiIuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwNCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0dMT0JBTDoKLSAgICAgICoKLSAgICAgICogdGhlIHR5cGUgaXMgZ2xvYmFsCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0dMT0JBTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDgnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEOgotICAgICAgKgotICAgICAgKiB0aGUgY29tcGxleFR5cGUgb3ducyBhbiBhdHRyaWJ1dGUgd2lsZGNhcmQsIGkuZS4KLSAgICAgICogaXQgY2FuIGJlIGZyZWVkIGJ5IHRoZSBjb21wbGV4VHlwZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJELi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ic29sZXRlLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMTAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDoKLSAgICAgICoKLSAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAiYWJzZW50Ii4KLSAgICAgICogVE9ETzogQWN0dWFsbHkgbm90IG5lY2Vzc2FyeSA6LS8sIHNpbmNlIGlmCi0gICAgICAqIG5vbmUgb2YgdGhlIHZhcmlldHkgZmxhZ3Mgb2NjdXIgdGhlbiBpdCdzCi0gICAgICAqIGF1dG9tYXRpY2FsbHkgYWJzZW50LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMjAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q6Ci0gICAgICAqCi0gICAgICAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgImxpc3QiLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDQwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjoKLSAgICAgICoKLSAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAidW5pb24iLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA4MCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDOgotICAgICAgKgotICAgICAgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJ1bmlvbiIuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDEwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjoKLSAgICAgICoKLSAgICAgICogdGhlIGNvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICJleHRlbnNpb24iLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMjAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBzaW1wbGVUeXBlL2NvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICJyZXN0cmljdGlvbiIuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDQwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1Q6Ci0gICAgICAqCi0gICAgICAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJsaXN0Ii4KLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA4MDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTjoKLSAgICAgICoKLSAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgZmluYWwgb2YgInVuaW9uIi4KLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAxMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDoKLSAgICAgICoKLSAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgZmluYWwgb2YgImRlZmF1bHQiLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMjAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFOgotICAgICAgKgotICAgICAgKiBNYXJrcyB0aGUgaXRlbSBhcyBhIGJ1aWx0aW4gcHJpbWl0aXZlLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDQwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ6Ci0gICAgICAqCi0gICAgICAqIE1hcmtzIHRoZSBpdGVtIGFzIG1hcmtlZDsgdXNlZCBmb3IgY2lyY3VsYXIgY2hlY2tzLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVDoKLSAgICAgICoKLSAgICAgICogdGhlIGNvbXBsZXhUeXBlIGRpZCBub3Qgc3BlY2lmeSAnYmxvY2snIHNvIHVzZSB0aGUgZGVmYXVsdCBvZiB0aGUKLSAgICAgICogPHNjaGVtYT4gaXRlbS4KLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMjAwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBjb21wbGV4VHlwZSBoYXMgYSAnYmxvY2snIG9mICJleHRlbnNpb24iLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBjb21wbGV4VHlwZSBoYXMgYSAnYmxvY2snIG9mICJyZXN0cmljdGlvbiIuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA4MDAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUOgotICAgICAgKgotICAgICAgKiB0aGUgc2ltcGxlL2NvbXBsZXhUeXBlIGlzIGFic3RyYWN0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAxMDAwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU6Ci0gICAgICAqCi0gICAgICAqIGluZGljYXRlcyBpZiB0aGUgZmFjZXRzIG5lZWQgYSBjb21wdXRlZCB2YWx1ZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMjAwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQ6Ci0gICAgICAqCi0gICAgICAqIGluZGljYXRlcyB0aGF0IHRoZSB0eXBlIHdhcyB0eXBlZml4ZWQKLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwNDAwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDoKLSAgICAgICoKLSAgICAgICogaW5kaWNhdGVzIHRoYXQgdGhlIHR5cGUgaXMgaW52YWxpZAotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDgwMDAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU6Ci0gICAgICAqCi0gICAgICAqIGEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAicHJlc2VydmUiCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAxMDAwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFOgotICAgICAgKgotICAgICAgKiBhIHdoaXRlc3BhY2UtZmFjZXQgdmFsdWUgb2YgInJlcGxhY2UiCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDIwMDAwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFOgotICAgICAgKgotICAgICAgKiBhIHdoaXRlc3BhY2UtZmFjZXQgdmFsdWUgb2YgImNvbGxhcHNlIgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwNDAwMDAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM6Ci0gICAgICAqCi0gICAgICAqIGhhcyBmYWNldHMKLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDgwMDAwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQ6Ci0gICAgICAqCi0gICAgICAqIGluZGljYXRlcyBpZiB0aGUgZmFjZXRzIChwYXR0ZXJuKSBuZWVkIGEgbm9ybWFsaXplZCB2YWx1ZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzEwMDAwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMToKLSAgICAgICoKLSAgICAgICogRmlyc3Qgc3RhZ2Ugb2YgZml4dXAgd2FzIGRvbmUuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzIwMDAwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEOgotICAgICAgKgotICAgICAgKiBUaGUgdHlwZSB3YXMgcmVkZWZpbmVkLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzQwMDAwMDAwJwotCi0gICAgICAvaWYgZGVmaW5lZChESVNBQkxFRCkKLSAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9SRURFRklOSU5HOgotICAgICAgKgotICAgICAgKiBUaGUgdHlwZSByZWRlZmluZXMgYW4gb3RoZXIgdHlwZS4KLQotICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTklORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnODAwMDAwMDAnCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBfeG1sU2NoZW1hVHlwZToKLSAgICAgICoKLSAgICAgICogU2NoZW1hcyB0eXBlIGRlZmluaXRpb24uCi0KLSAgICAgZCB4bWxTY2hlbWFUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVUeXBlKSAgICAgICAgICAgICAgS2luZCBvZiB0eXBlCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIE5leHQgdHlwZQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWZOcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQotICAgICBkICBzdWJ0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG1pbk9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgIGQgIG1heE9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgICAqCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQ29udGVudFR5cGUpCi0gICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBiYXNlTnMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYmFzZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgQmFzZSB0eXBlIGNvbXBvbmVudAotICAgICBkICBmYWNldHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpICAgICAgICAgICAgICBMb2NhbCBmYWNldHMKLSAgICAgZCAgcmVkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgcmVjdXJzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgT2Jzb2xldGUKLSAgICAgZCAgYXR0cmlidXRlVXNlcyAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIpICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgYXR0cmlidXRlV2lsZGNhcmQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkUHRyKQotICAgICBkICBidWlsdEluVHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBCdWlsdC1pbiB0eXBlcyB0eXBlCi0gICAgIGQgIG1lbWJlclR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlTGlua1B0cikgICAgICAgICAgIFVuaW9uIG1lbWJlci10eXBlcwotICAgICBkICBmYWNldFNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKSAgICAgICAgICBBbGwgZmFjZXRzCi0gICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50VHlwZURlZi4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgY29udE1vZGVsICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2V4cFB0cikgICAgICAgICAgICAgICAgICAgQ29udGVudCBtb2RlbCBhdXRvbS4KLSAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBhdHRyVXNlcyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiB4bWxTY2hlbWFFbGVtZW50OgotICAgICAgKiBBbiBlbGVtZW50IGRlZmluaXRpb24uCi0gICAgICAqCi0gICAgICAqIHhtbFNjaGVtYVR5cGUsIHhtbFNjaGVtYUZhY2V0IGFuZCB4bWxTY2hlbWFFbGVtZW50IHN0YXJ0IG9mCi0gICAgICAqIHN0cnVjdHVyZXMgbXVzdCBiZSBrZXB0IHNpbWlsYXIKLQotICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFOgotICAgICAgKgotICAgICAgKiB0aGUgZWxlbWVudCBpcyBuaWxsYWJsZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw6Ci0gICAgICAqCi0gICAgICAqIHRoZSBlbGVtZW50IGlzIGdsb2JhbAotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDAyJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVDoKLSAgICAgICoKLSAgICAgICogdGhlIGVsZW1lbnQgaGFzIGEgZGVmYXVsdCB2YWx1ZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwNCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEOgotICAgICAgKgotICAgICAgKiB0aGUgZWxlbWVudCBoYXMgYSBmaXhlZCB2YWx1ZQotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9GSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDgnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVDoKLSAgICAgICoKLSAgICAgICogdGhlIGVsZW1lbnQgaXMgYWJzdHJhY3QKLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDEwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw6Ci0gICAgICAqCi0gICAgICAqIHRoZSBlbGVtZW50IGlzIHRvcCBsZXZlbAotICAgICAgKiBvYnNvbGV0ZTogdXNlIFhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIGluc3RlYWQKLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDIwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fUkVGOgotICAgICAgKgotICAgICAgKiB0aGUgZWxlbWVudCBpcyBhIHJlZmVyZW5jZSB0byBhIHR5cGUKLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA0MCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDoKLSAgICAgICoKLSAgICAgICogYWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlCi0gICAgICAqIE9ic29sZXRlLCBub3QgdXNlZCBhbnltb3JlLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDgwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ6Ci0gICAgICAqCi0gICAgICAqIHRoaXMgaXMgc2V0IHdoZW4gInR5cGUiLCAicmVmIiwgInN1YnN0aXR1dGlvbkdyb3VwIgotICAgICAgKiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMTAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI6Ci0gICAgICAqCi0gICAgICAqIGEgaGVscGVyIGZsYWcgZm9yIHRoZSBzZWFyY2ggb2YgY2lyY3VsYXIgcmVmZXJlbmNlcy4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMjAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UOgotICAgICAgKgotICAgICAgKiB0aGUgImJsb2NrIiBhdHRyaWJ1dGUgaXMgYWJzZW50Ci0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA0MDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT046Ci0gICAgICAqCi0gICAgICAqIGRpc2FsbG93ZWQgc3Vic3RpdHV0aW9ucyBhcmUgYWJzZW50Ci0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA4MDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjoKLSAgICAgICoKLSAgICAgICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAicmVzdHJpY3Rpb24iCi0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMTAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTjoKLSAgICAgICoKLSAgICAgICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAic3Vic3RpdHV0aW9uIgotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAyMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UOgotICAgICAgKgotICAgICAgKiBzdWJzdGl0dXRpb24gZ3JvdXAgZXhjbHVzaW9ucyBhcmUgYWJzZW50Ci0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDQwMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT046Ci0gICAgICAqCi0gICAgICAqIHN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAiZXh0ZW5zaW9uIgotCi0gICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDA4MDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT046Ci0gICAgICAqCi0gICAgICAqIHN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAicmVzdHJpY3Rpb24iCi0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxMDAwMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQ6Ci0gICAgICAqCi0gICAgICAqIHRoZSBkZWNsYXJhdGlvbiBpcyBhIHN1YnN0aXR1dGlvbiBncm91cCBoZWFkCi0KLSAgICAgZCBYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDIwMDAwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRDoKLSAgICAgICoKLSAgICAgICogdGhpcyBpcyBzZXQgd2hlbiB0aGUgZWxlbSBkZWNsIGhhcyBiZWVuIGNoZWNrZWQgYWdhaW5zdAotICAgICAgKiBhbGwgY29uc3RyYWludHMKLQotICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwNDAwMDAnCi0KLSAgICAgZCB4bWxTY2hlbWFFbGVtZW50UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFFbGVtZW50UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVR5cGUpICAgICAgICAgICAgICBLaW5kIG9mIHR5cGUKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUVsZW1lbnRQdHIpICAgICAgICAgICAgTm90IHVzZWQgPwotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWZOcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQotICAgICBkICBzdWJ0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG1pbk9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgIGQgIG1heE9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCi0gICAgICAqCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWVkVHlwZSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lZFR5cGVOcyAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3Vic3RHcm91cCAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN1YnN0R3JvdXBOcyAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzY29wZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlZkRlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFFbGVtZW50UHRyKQotICAgICBkICBjb250TW9kZWwgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKQotICAgICBkICBjb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQ29udGVudFR5cGUpCi0gICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBkZXZWYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKSAgICAgICAgICAgICAgICBDb21wIHZhbCBjb25zdHJhaW50Ci0gICAgIGQgIGlkY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV046Ci0gICAgICAqCi0gICAgICAqIHVua25vd24gZmFjZXQgaGFuZGxpbmcKLQotICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkU6Ci0gICAgICAqCi0gICAgICAqIHByZXNlcnZlIHRoZSB0eXBlIG9mIHRoZSBmYWNldAotCi0gICAgIGQgWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRToKLSAgICAgICoKLSAgICAgICogcmVwbGFjZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQKLQotICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U6Ci0gICAgICAqCi0gICAgICAqIGNvbGxhcHNlIHRoZSB0eXBlcyBvZiB0aGUgZmFjZXQKLQotICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotCi0gICAgICAqIEEgZmFjZXQgZGVmaW5pdGlvbi4KLQotICAgICBkIHhtbFNjaGVtYUZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hRmFjZXRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkgICAgICAgICAgICAgIEtpbmQgb2YgdHlwZQotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpICAgICAgICAgICAgICBOZXh0IHR5cGUgaW4gc2VxLgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGFubm90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBbm5vdFB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGZpeGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIF9GQUNFVF9QUkVTRVJWRSwgZXRjCi0gICAgIGQgIHdoaXRlc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKSAgICAgICAgICAgICAgICBDb21waWxlZCB2YWx1ZQotICAgICBkICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKSAgICAgICAgICAgICAgICAgICBSZWdleHAgZm9yIHBhdHRlcm5zCi0KLSAgICAgICogQSBub3RhdGlvbiBkZWZpbml0aW9uLgotCi0gICAgIGQgeG1sU2NoZW1hTm90YXRpb25QdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU2NoZW1hTm90YXRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFOb3RhdGlvblB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVUeXBlKSAgICAgICAgICAgICAgS2luZCBvZiB0eXBlCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCi0gICAgIGQgIGlkZW50aWZpZXIgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogVE9ETzogQWN0dWFsbHkgYWxsIHRob3NlIGZsYWdzIHVzZWQgZm9yIHRoZSBzY2hlbWEgc2hvdWxkIHNpdAotICAgICAgKiBvbiB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0LCBzaW5jZSB0aGV5IGFyZSB1c2VkIG9ubHkKLSAgICAgICogZHVyaW5nIHBhcnNpbmcgYW4gWE1MIHNjaGVtYSBkb2N1bWVudCwgYW5kIG5vdCBhdmFpbGFibGUKLSAgICAgICogb24gdGhlIGNvbXBvbmVudCBsZXZlbCBhcyBwZXIgc3BlYy4KLQotICAgICAgKiBYTUxfU0NIRU1BU19RVUFMSUZfRUxFTToKLSAgICAgICoKLSAgICAgICogUmVmbGVjdHMgZWxlbWVudEZvcm1EZWZhdWx0ID09IHF1YWxpZmllZCBpbgotICAgICAgKiBhbiBYTUwgc2NoZW1hIGRvY3VtZW50LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDAxJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSOgotICAgICAgKgotICAgICAgKiBSZWZsZWN0cyBhdHRyaWJ1dGVGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4KLSAgICAgICogYW4gWE1MIHNjaGVtYSBkb2N1bWVudC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMicKLQotICAgICAgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTjoKLSAgICAgICoKLSAgICAgICogdGhlIHNjaGVtYSBoYXMgImV4dGVuc2lvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDQnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTjoKLSAgICAgICoKLSAgICAgICogdGhlIHNjaGVtYSBoYXMgInJlc3RyaWN0aW9uIiBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC4KLQotICAgICBkIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA4JwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDoKLSAgICAgICoKLSAgICAgICogdGhlIGNzaGVtYSBoYXMgImxpc3QiIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAxMCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OOgotICAgICAgKgotICAgICAgKiB0aGUgc2NoZW1hIGhhcyAidW5pb24iIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMjAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBzY2hlbWEgaGFzICJleHRlbnNpb24iIGluIHRoZSBzZXQgb2YgYmxvY2tEZWZhdWx0LgotCi0gICAgIGQgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDQwJwotCi0gICAgICAqIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT046Ci0gICAgICAqCi0gICAgICAqIHRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA4MCcKLQotICAgICAgKiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTjoKLSAgICAgICoKLSAgICAgICogdGhlIHNjaGVtYSBoYXMgInN1YnN0aXR1dGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuCi0KLSAgICAgZCBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAxMDAnCi0KLSAgICAgICogWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM6Ci0gICAgICAqCi0gICAgICAqIHRoZSBzY2hlbWEgaXMgY3VycmVudGx5IGluY2x1ZGluZyBhbiBvdGhlciBzY2hlbWEgd2l0aAotICAgICAgKiBubyB0YXJnZXQgbmFtZXNwYWNlLgotCi0gICAgIGQgWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMjAwJwotCi0gICAgICAqIF94bWxTY2hlbWE6Ci0gICAgICAqCi0gICAgICAqIEEgU2NoZW1hcyBkZWZpbml0aW9uCi0KLSAgICAgZCB4bWxTY2hlbWEgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgICoKLSAgICAgZCAgdHlwZURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgYXR0ckRlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgYXR0ckdycERlY2wgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgZWxlbURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgbm90YURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgZCAgc2NoZW1hc0ltcG9ydHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKLSAgICAgICoKLSAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGdyb3VwRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKQotICAgICBkICBpbmNsdWRlcyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgcHJlc2VydmUgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRG8gbm90IGZyZWUgZG9jID8KLSAgICAgZCAgY291bnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRm9yIG5hbWUgdW5pcXVlbmVzcwotICAgICBkICBpZGNEZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICBBbGwgaWQtY29uc3RyLiBkZWZzCi0gICAgIGQgIHZvbGF0aWxlcyAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU2NoZW1hRnJlZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlVHlwZScpCi0gICAgIGQgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hRnJlZVdpbGRjYXJkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hRnJlZVdpbGRjYXJkJykKLSAgICAgZCB3aWxkY2FyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkUHRyKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQ0hFTUFTX0VOQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNDSEVNQV9JTlRFUk5BTFNfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvc2NoZW1hdHJvbi5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy9zY2hlbWF0cm9uLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjBhZTMzLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy9zY2hlbWF0cm9uLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMjA0ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogWE1MIFNjaGVtYXRyb24gaW1wbGVtZW50YXRpb24KLSAgICAgICogRGVzY3JpcHRpb246IGludGVyZmFjZSB0byB0aGUgWE1MIFNjaGVtYXRyb24gdmFsaWRpdHkgY2hlY2tpbmcuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0NIRU1BVFJPTl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9TQ0hFTUFUUk9OX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotCi0gICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX1FVSUVULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXVpZXQgbm8gcmVwb3J0Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJwotICAgICBkICBYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsZCB0ZXh0dWFsIHJlcG9ydAotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLSAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX1hNTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0IFNWUkwKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCi0gICAgIGQgIFhNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dCB0byBlcnJvciBmdW5jCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA4JwotICAgICBkICBYTUxfU0NIRU1BVFJPTl9PVVRfRklMRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQgdG8gZmlsZSBkZXNjcgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDEwMCcKLSAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0IHRvIGEgYnVmZmVyCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMjAwJwotICAgICBkICBYTUxfU0NIRU1BVFJPTl9PVVRfSU8uLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQgdG8gSS9PIG1lY2gKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzA0MDAnCi0KLSAgICAgICogVGhlIHNjaGVtYXMgcmVsYXRlZCB0eXBlcyBhcmUga2VwdCBpbnRlcm5hbAotCi0gICAgIGQgeG1sU2NoZW1hdHJvblB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jOgotICAgICAgKiBAY3R4OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0Ci0gICAgICAqIEBtc2c6IHRoZSBtZXNzYWdlCi0gICAgICAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cwotICAgICAgKgotICAgICAgKiBTaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIFNjaGVtYXRyb24gdmFsaWRhdGlvbgotCi0gICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmM6Ci0gICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhIFNjaGVtYXRyb24gdmFsaWRhdGlvbgotCi0gICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBBIHNjaGVtYXMgdmFsaWRhdGlvbiBjb250ZXh0Ci0KLSAgICAgZCB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciBwYXJzaW5nLgotCi0gICAgIGQgeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyKQotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKERJU0FCTEVEKQotICAgICBkIHhtbFNjaGVtYXRyb25TZXRQYXJzZXJFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWF0cm9uU2V0UGFyc2VyRXJyb3JzJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykKLSAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU2NoZW1hdHJvbkdldFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25HZXRQYXJzZXJFcnJvcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMpCi0gICAgIGQgIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSgKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKLQotICAgICBkIHhtbFNjaGVtYXRyb25Jc1ZhbGlkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbklzVmFsaWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbFNjaGVtYXRyb25QYXJzZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYXRyb25QYXJzZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFNjaGVtYXRyb25GcmVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbkZyZWUnKQotICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblB0cikKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciB2YWxpZGF0aW5nCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0LQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyZWRFcnJvcnMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKLSAgICAgZCAgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgICAvaWYgZGVmaW5lZChESVNBQkxFRCkKLSAgICAgZCB4bWxTY2hlbWF0cm9uU2V0VmFsaWRFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWF0cm9uU2V0VmFsaWRFcnJvcnMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jKQotICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU2NoZW1hdHJvbkdldFZhbGlkRXJyb3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvbkdldFZhbGlkRXJyb3JzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQotICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jKQotICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uU2V0VmFsaWRPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvblNldFZhbGlkT3B0aW9ucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0R2V0T3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25WYWxpZEN0eHRHZXRPcHRpb25zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQotCi0gICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkYXRlT25lRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25WYWxpZGF0ZU9uZUVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICAgL2VuZGlmCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQotICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCi0gICAgIGQgIGluc3RhbmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1NDSEVNQVRST05fRU5BQkxFRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BVFJPTl9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy90aHJlYWRzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3RocmVhZHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNDc5OGIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3RocmVhZHMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGludGVyZmFjZXMgZm9yIHRocmVhZCBoYW5kbGluZwotICAgICAgKiBEZXNjcmlwdGlvbjogc2V0IG9mIGdlbmVyaWMgdGhyZWFkaW5nIHJlbGF0ZWQgcm91dGluZXMKLSAgICAgICogICAgICAgICAgICAgIHNob3VsZCB3b3JrIHdpdGggcHRocmVhZHMsIFdpbmRvd3MgbmF0aXZlIG9yIFRMUyB0aHJlYWRzCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfVEhSRUFEU19IX18pCi0gICAgICAvZGVmaW5lIFhNTF9USFJFQURTX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLQotICAgICAgKiB4bWxNdXRleCBhcmUgYSBzaW1wbGUgbXV0dWFsIGV4Y2VwdGlvbiBsb2Nrcy4KLQotICAgICBkIHhtbE11dGV4UHRyICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sUk11dGV4IGFyZSByZWVudHJhbnQgbXV0dWFsIGV4Y2VwdGlvbiBsb2Nrcy4KLQotICAgICBkIHhtbFJNdXRleFB0ciAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZ2xvYmFscyIKLQotICAgICBkIHhtbE5ld011dGV4ICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld011dGV4JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE11dGV4UHRyKQotCi0gICAgIGQgeG1sTXV0ZXhMb2NrICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTXV0ZXhMb2NrJykKLSAgICAgZCAgdG9rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE11dGV4UHRyKQotCi0gICAgIGQgeG1sTXV0ZXhVbmxvY2sgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTXV0ZXhVbmxvY2snKQotICAgICBkICB0b2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTXV0ZXhQdHIpCi0KLSAgICAgZCB4bWxGcmVlTXV0ZXggICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlTXV0ZXgnKQotICAgICBkICB0b2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTXV0ZXhQdHIpCi0KLSAgICAgZCB4bWxOZXdSTXV0ZXggICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdSTXV0ZXgnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUk11dGV4UHRyKQotCi0gICAgIGQgeG1sUk11dGV4TG9jayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUk11dGV4TG9jaycpCi0gICAgIGQgIHRvayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSTXV0ZXhQdHIpCi0KLSAgICAgZCB4bWxSTXV0ZXhVbmxvY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSTXV0ZXhVbmxvY2snKQotICAgICBkICB0b2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUk11dGV4UHRyKQotCi0gICAgIGQgeG1sRnJlZVJNdXRleCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVJNdXRleCcpCi0gICAgIGQgIHRvayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSTXV0ZXhQdHIpCi0KLSAgICAgICogTGlicmFyeSB3aWRlIEFQSXMuCi0KLSAgICAgZCB4bWxJbml0VGhyZWFkcyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJbml0VGhyZWFkcycpCi0KLSAgICAgZCB4bWxMb2NrTGlicmFyeSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMb2NrTGlicmFyeScpCi0KLSAgICAgZCB4bWxVbmxvY2tMaWJyYXJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVW5sb2NrTGlicmFyeScpCi0KLSAgICAgZCB4bWxHZXRUaHJlYWRJZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRUaHJlYWRJZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sSXNNYWluVGhyZWFkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNNYWluVGhyZWFkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDbGVhbnVwVGhyZWFkcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBUaHJlYWRzJykKLQotICAgICBkIHhtbEdldEdsb2JhbFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0R2xvYmFsU3RhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sR2xvYmFsU3RhdGVQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1RIUkVBRFNfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvdHJhbnNjb2RlLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3RyYW5zY29kZS5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk2ZTRlOC4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcvdHJhbnNjb2RlLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotICAgICAgKiBTdXBwbGVtZW50YXJ5IGNoYXJhY3RlciBjb2RlIGNvbnZlcnNpb24gZnVuY3Rpb25zIGZvcgotICAgICAgKiAgIEVCQ0RJQyBlbnZpcm9ubWVudHMuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChUUkFOU0NPREVfSF9fKQotICAgICAgL2RlZmluZSBUUkFOU0NPREVfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZGljdCIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RkYXJnIgotCi0gICAgIGQgeG1sWmFwRGljdCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWmFwRGljdCcpCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKQotCi0gICAgIGQgeG1sVHJhbnNjb2RlUmVzdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlUmVzdWx0JykgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQotICAgICBkICBmcmVlcHJvYyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIHByb2NwdHIKLQotICAgICBkIHhtbFRyYW5zY29kZVN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRyYW5zY29kZVN0cmluZycpICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgb3B0aW9ucygqb21pdCkKLQotICAgICBkIHhtbFRyYW5zY29kZVdTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVXU3RyaW5nJykgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCi0KLSAgICAgZCB4bWxUcmFuc2NvZGVIU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlSFN0cmluZycpICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX05PX1NIT1JUX05BTUVTKQotICAgICBkIHhtbFRSICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRyYW5zY29kZVJlc3VsdCcpICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgb3B0aW9ucygqb21pdCkKLSAgICAgZCAgZnJlZXByb2MgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBwcm9jcHRyCi0KLSAgICAgZCB4bWxUUyAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVTdHJpbmcnKSAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCi0KLSAgICAgZCB4bWxUVyAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVXU3RyaW5nJykgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCi0KLSAgICAgZCB4bWxUSCAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVIU3RyaW5nJykgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbFZhc3ByaW50ZiAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFZhc3ByaW50ZicpCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZm10ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKLQotICAgICAgL2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcvdHJlZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy90cmVlLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTc4MTgyLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy90cmVlLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMTY4MSArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uCi0gICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBkZXNjcmliZXMgdGhlIHN0cnVjdHVyZXMgZm91bmQgaW4gYW4gdHJlZQotICAgICAgKiAgICAgICAgICAgICAgcmVzdWx0aW5nIGZyb20gYW4gWE1MIG9yIEhUTUwgcGFyc2luZywgYXMgd2VsbCBhcyB0aGUgQVBJCi0gICAgICAqICAgICAgICAgICAgICBwcm92aWRlZCBmb3IgdmFyaW91cyBwcm9jZXNzaW5nIG9uIHRoYXQgdHJlZQotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1RSRUVfSF9fKQotICAgICAgL2RlZmluZSBYTUxfVFJFRV9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKLQotCi0gICAgICAqIFNvbWUgb2YgdGhlIGJhc2ljIHR5cGVzIHBvaW50ZXIgdG8gc3RydWN0dXJlczoKLQotICAgICAgKiB4bWxJTy5oCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIHBhcnNlci5oCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxQYXJzZXJDdHh0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNBWExvY2F0b3JQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU0FYSGFuZGxlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogZW50aXRpZXMuaAotCi0gICAgIGQgeG1sRW50aXR5UHRyICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotCi0gICAgICAqIEJBU0VfQlVGRkVSX1NJWkU6Ci0gICAgICAqCi0gICAgICAqIGRlZmF1bHQgYnVmZmVyIHNpemUgNDAwMC4KLQotICAgICBkIEJBU0VfQlVGRkVSX1NJWkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MDk2Ci0KLSAgICAgICogTElCWE1MX05BTUVTUEFDRV9ESUNUOgotICAgICAgKgotICAgICAgKiBEZWZpbmVzIGV4cGVyaW1lbnRhbCBiZWhhdmlvdXI6Ci0gICAgICAqIDEpIHhtbE5zIGdldHMgYW4gYWRkaXRpb25hbCBmaWVsZCBAY29udGV4dCAoYSB4bWxEb2MpCi0gICAgICAqIDIpIHdoZW4gY3JlYXRpbmcgYSB0cmVlLCB4bWxOcy0+aHJlZiBpcyBzdG9yZWQgaW4gdGhlIGRpY3Qgb2YgeG1sRG9jLgotCi0gICAgICAvaWYgZGVmaW5lZChET19OT1RfQ09NUElMRSkKLSAgICAgIC9kZWZpbmUgTElCWE1MX05BTUVTUEFDRV9ESUNUCi0gICAgICAvZW5kaWYKLQotICAgICAgKiB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lOgotICAgICAgKgotICAgICAgKiBBIGJ1ZmZlciBhbGxvY2F0aW9uIHNjaGVtZSBjYW4gYmUgZGVmaW5lZCB0byBlaXRoZXIgbWF0Y2ggZXhhY3RseSB0aGUKLSAgICAgICogbmVlZCBvciBkb3VibGUgaXQncyBhbGxvY2F0ZWQgc2l6ZSBlYWNoIHRpbWUgaXQgaXMgZm91bmQgdG9vIHNtYWxsLgotCi0gICAgIGQgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19FWEFDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9CVUZGRVJfQUxMT0NfSU8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9CVUZGRVJfQUxMT0NfSFlCUklELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotCi0gICAgICAqIHhtbEJ1ZmZlcjoKLSAgICAgICoKLSAgICAgICogQSBidWZmZXIgc3RydWN0dXJlLCB0aGlzIG9sZCBjb25zdHJ1Y3QgaXMgbGltaXRlZCB0byAyR0IgYW5kCi0gICAgICAqIGlzIGJlaW5nIGRlcHJlY2F0ZWQsIHVzZSBBUEkgd2l0aCB4bWxCdWYgaW5zdGVhZAotCi0gICAgIGQgeG1sQnVmZmVyUHRyICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbEJ1ZmZlciAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHVzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWludCkKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1aW50KQotICAgICBkICBhbGxvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkgICAgICBUaGUgcmVhbGxvYyBtZXRob2QKLSAgICAgZCAgY29udGVudElPICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0KLSAgICAgICogeG1sQnVmUHRyOgotICAgICAgKgotICAgICAgKiBBIHBvaW50ZXIgdG8gYSBidWZmZXIgc3RydWN0dXJlLCB0aGUgYWN0dWFsIHN0cnVjdHVyZSBpbnRlcm5hbHMgYXJlIG5vdAotICAgICAgKiBwdWJsaWMKLQotICAgICBkIHhtbEJ1ZlB0ciAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogQSBmZXcgcHVibGljIHJvdXRpbmVzIGZvciB4bWxCdWYuIEFzIHRob3NlIGFyZSBleHBlY3RlZCB0byBiZSB1c2VkCi0gICAgICAqIG1vc3RseSBpbnRlcm5hbGx5IHRoZSBidWxrIG9mIHRoZSByb3V0aW5lcyBhcmUgaW50ZXJuYWwgaW4gYnVmLmgKLQotICAgICBkIHhtbEJ1ZkNvbnRlbnQgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1ZkNvbnRlbnQnKSAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgY29uc3QKLQotICAgICBkIHhtbEJ1ZkVuZCAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1ZkVuZCcpICAgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgY29uc3QKLQotICAgICBkIHhtbEJ1ZlVzZSAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZlVzZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDc2l6ZV90KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICBjb25zdAotCi0gICAgIGQgeG1sQnVmU2hyaW5rICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmU2hyaW5rJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENzaXplX3QpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQotCi0gICAgICAqIExJQlhNTDJfTkVXX0JVRkZFUjoKLSAgICAgICoKLSAgICAgICogTWFjcm8gdXNlZCB0byBleHByZXNzIHRoYXQgdGhlIEFQSSB1c2UgdGhlIG5ldyBidWZmZXJzIGZvcgotICAgICAgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlciBhbmQgeG1sT3V0cHV0QnVmZmVyLiBUaGUgY2hhbmdlIHdhcwotICAgICAgKiBpbnRyb2R1Y2VkIGluIDIuOS4wLgotCi0gICAgICAvZGVmaW5lIExJQlhNTDJfTkVXX0JVRkZFUgotCi0gICAgICAqIFhNTF9YTUxfTkFNRVNQQUNFOgotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBuYW1lc3BhY2UgZm9yIHRoZSBzcGVjaWFsIHhtbDogcHJlZml4IHByZWRlZmluZWQgaW4gdGhlCi0gICAgICAqIFhNTCBOYW1lc3BhY2Ugc3BlY2lmaWNhdGlvbi4KLQotICAgICBkIFhNTF9YTUxfTkFNRVNQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4LysKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlJwotCi0gICAgICAqIFhNTF9YTUxfSUQ6Ci0gICAgICAqCi0gICAgICAqIFRoaXMgaXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsIHhtbDppZCBhdHRyaWJ1dGUKLQotICAgICBkIFhNTF9YTUxfSUQgICAgICBjICAgICAgICAgICAgICAgICAgICd4bWw6aWQnCi0KLSAgICAgICogVGhlIGRpZmZlcmVudCBlbGVtZW50IHR5cGVzIGNhcnJpZWQgYnkgYW4gWE1MIHRyZWUuCi0gICAgICAqCi0gICAgICAqIE5PVEU6IFRoaXMgaXMgc3luY2hyb25pemVkIHdpdGggRE9NIExldmVsMSB2YWx1ZXMKLSAgICAgICogICAgICAgU2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1ET00tTGV2ZWwtMS8KLSAgICAgICoKLSAgICAgICogQWN0dWFsbHkgdGhpcyBoYWQgZGl2ZXJnZWQgYSBiaXQsIGFuZCBub3cgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSBzaG91bGQKLSAgICAgICogYmUgZGVwcmVjYXRlZCB0byB1c2UgYW4gWE1MX0RURF9OT0RFLgotCi0gICAgIGQgeG1sRWxlbWVudFR5cGUgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfRUxFTUVOVF9OT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfQVRUUklCVVRFX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9URVhUX05PREUgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotICAgICBkICBYTUxfRU5USVRZX1JFRl9OT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQotICAgICBkICBYTUxfRU5USVRZX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2Ci0gICAgIGQgIFhNTF9QSV9OT0RFICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfQ09NTUVOVF9OT0RFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOAotICAgICBkICBYTUxfRE9DVU1FTlRfTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKLSAgICAgZCAgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9ET0NVTUVOVF9GUkFHX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQotICAgICBkICBYTUxfTk9UQVRJT05fTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9IVE1MX0RPQ1VNRU5UX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMwotICAgICBkICBYTUxfRFREX05PREUgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9FTEVNRU5UX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfQVRUUklCVVRFX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgotICAgICBkICBYTUxfRU5USVRZX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNwotICAgICBkICBYTUxfTkFNRVNQQUNFX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAotICAgICBkICBYTUxfTE9DQUxfTkFNRVNQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsaWFzCi0gICAgIGQgIFhNTF9YSU5DTFVERV9TVEFSVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5Ci0gICAgIGQgIFhNTF9YSU5DTFVERV9FTkQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMAotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkKLSAgICAgZCAgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCi0gICAgICAvZW5kaWYKLQotICAgICAgKiB4bWxOb3RhdGlvbjoKLSAgICAgICoKLSAgICAgICogQSBEVEQgTm90YXRpb24gZGVmaW5pdGlvbi4KLQotICAgICBkIHhtbE5vdGF0aW9uUHRyICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxOb3RhdGlvbiAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxOb3RhdGlvblB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFB1YmxpY0lEICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiB4bWxBdHRyaWJ1dGVUeXBlOgotICAgICAgKgotICAgICAgKiBBIERURCBBdHRyaWJ1dGUgdHlwZSBkZWZpbml0aW9uLgotCi0gICAgIGQgeG1sQXR0cmlidXRlVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX0FUVFJJQlVURV9DREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0FUVFJJQlVURV9JRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX0FUVFJJQlVURV9JRFJFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX0FUVFJJQlVURV9JRFJFRlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhNTF9BVFRSSUJVVEVfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQotICAgICBkICBYTUxfQVRUUklCVVRFX0VOVElUSUVTLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYTUxfQVRUUklCVVRFX05NVE9LRU4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhNTF9BVFRSSUJVVEVfTk1UT0tFTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4Ci0gICAgIGQgIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5Ci0gICAgIGQgIFhNTF9BVFRSSUJVVEVfTk9UQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMAotCi0gICAgICAqIHhtbEF0dHJpYnV0ZURlZmF1bHQ6Ci0gICAgICAqCi0gICAgICAqIEEgRFREIEF0dHJpYnV0ZSBkZWZhdWx0IGRlZmluaXRpb24uCi0KLSAgICAgZCB4bWxBdHRyaWJ1dGVEZWZhdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfQVRUUklCVVRFX05PTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9BVFRSSUJVVEVfSU1QTElFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX0FUVFJJQlVURV9GSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLQotICAgICAgKiB4bWxFbnVtZXJhdGlvbjoKLSAgICAgICoKLSAgICAgICogTGlzdCBzdHJ1Y3R1cmUgdXNlZCB3aGVuIHRoZXJlIGlzIGFuIGVudW1lcmF0aW9uIGluIERURHMuCi0KLSAgICAgZCB4bWxFbnVtZXJhdGlvblB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxFbnVtZXJhdGlvbiAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxFbnVtZXJhdGlvblB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKSAgICAgICAgICAgICAgTmV4dCBvbmUKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogRm9yd2FyZCBwb2ludGVyIGRlY2xhcmF0aW9ucy4KLQotICAgICBkIHhtbE5vZGVQdHIgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgeG1sRG9jUHRyICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxEdGRQdHIgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIHhtbEF0dHJpYnV0ZToKLSAgICAgICoKLSAgICAgICogQW4gQXR0cmlidXRlIGRlY2xhcmF0aW9uIGluIGEgRFRELgotCi0gICAgIGQgeG1sQXR0cmlidXRlUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbEF0dHJpYnV0ZSAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEF0dHJpYnV0ZVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfQVRUUklCVVRFX0RFQ0wKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNoaWxkcmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIE5VTEwKLSAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTlVMTAotICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKSAgICAgICAgICAgICAgICAgICAgICAtPiBEVEQKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgbmV4dCBzaWJsaW5nIGxpbmsKLSAgICAgZCAgcHJldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMgc2libGluZyBsbmsKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgVGhlIGNvbnRhaW5pbmcgZG9jCi0gICAgIGQgIG5leHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyaWJ1dGVQdHIpICAgICAgICAgICAgICAgIE5leHQgaW4gaGFzaCB0YWJsZQotICAgICBkICBhdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlVHlwZSkgICAgICAgICAgICAgICBUaGUgYXR0cmlidXRlIHR5cGUKLSAgICAgZCAgZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJpYnV0ZURlZmF1bHQpICAgICAgICAgICAgVGhlIGRlZmF1bHQKLSAgICAgZCAgZGVmYXVsdFZhbHVlICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikgICAgICAgICAgICAgIG9yIGVudW0gdHJlZQotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogeG1sRWxlbWVudENvbnRlbnRUeXBlOgotICAgICAgKgotICAgICAgKiBQb3NzaWJsZSBkZWZpbml0aW9ucyBvZiBlbGVtZW50IGNvbnRlbnQgdHlwZXMuCi0KLSAgICAgZCB4bWxFbGVtZW50Q29udGVudFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfRUxFTUVOVF9DT05URU5UX09SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotCi0gICAgICAqIHhtbEVsZW1lbnRDb250ZW50T2NjdXI6Ci0gICAgICAqCi0gICAgICAqIFBvc3NpYmxlIGRlZmluaXRpb25zIG9mIGVsZW1lbnQgY29udGVudCBvY2N1cnJlbmNlcy4KLQotICAgICBkIHhtbEVsZW1lbnRDb250ZW50T2NjdXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotCi0gICAgICAqIHhtbEVsZW1lbnRDb250ZW50OgotICAgICAgKgotICAgICAgKiBBbiBYTUwgRWxlbWVudCBjb250ZW50IGFzIHN0b3JlZCBhZnRlciBwYXJzaW5nIGFuIGVsZW1lbnQgZGVmaW5pdGlvbgotICAgICAgKiBpbiBhIERURC4KLQotICAgICBkIHhtbEVsZW1lbnRDb250ZW50UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbEVsZW1lbnRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRWxlbWVudENvbnRlbnRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFR5cGUpCi0gICAgIGQgIG9jdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudE9jY3VyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKSAgICAgICAgICAgRmlyc3QgY2hpbGQKLSAgICAgZCAgYzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKSAgICAgICAgICAgU2Vjb25kIGNoaWxkCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikgICAgICAgICAgIFBhcmVudAotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiB4bWxFbGVtZW50VHlwZVZhbDoKLSAgICAgICoKLSAgICAgICogVGhlIGRpZmZlcmVudCBwb3NzaWJpbGl0aWVzIGZvciBhbiBlbGVtZW50IGNvbnRlbnQgdHlwZS4KLQotICAgICBkIHhtbEVsZW1lbnRUeXBlVmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWE1MX0VMRU1FTlRfVFlQRV9FTVBUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0VMRU1FTlRfVFlQRV9BTlkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9FTEVNRU5UX1RZUEVfTUlYRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxyZWdleHAiCi0KLSAgICAgICogeG1sRWxlbWVudDoKLSAgICAgICoKLSAgICAgICogQW4gWE1MIEVsZW1lbnQgZGVjbGFyYXRpb24gZnJvbSBhIERURC4KLQotICAgICBkIHhtbEVsZW1lbnRQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxFbGVtZW50ICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxFbGVtZW50UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBkYXRhCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkgICAgICAgICAgICAgICAgIFhNTF9FTEVNRU5UX0RFQ0wKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNoaWxkcmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIE5VTEwKLSAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTlVMTAotICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKSAgICAgICAgICAgICAgICAgICAgICAtPiBEVEQKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgbmV4dCBzaWJsaW5nIGxpbmsKLSAgICAgZCAgcHJldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMgc2libGluZyBsbmsKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgVGhlIGNvbnRhaW5pbmcgZG9jCi0gICAgIGQgIGV0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZVZhbCkgICAgICAgICAgICAgIFRoZSB0eXBlCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikgICAgICAgICAgIEFsbG93ZWQgZWxlbSBjb250ZW50Ci0gICAgIGQgIGF0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyaWJ1dGVQdHIpICAgICAgICAgICAgICAgIERlY2xhcmVkIGF0dHJpYnV0ZXMKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCi0gICAgIGQgIGNvbnRNb2RlbCAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWdleHBQdHIpICAgICAgICAgICAgICAgICAgIFZhbGlkYXRpbmcgcmVnZXhwCi0gICAgICAvZWxzZQotICAgICBkICBjb250TW9kZWwgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgL2VuZGlmCi0KLSAgICAgICogWE1MX0xPQ0FMX05BTUVTUEFDRToKLSAgICAgICoKLSAgICAgICogQSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gbm9kZS4KLQotICAgICAgKiB4bWxOczoKLSAgICAgICoKLSAgICAgICogQW4gWE1MIG5hbWVzcGFjZS4KLSAgICAgICogTm90ZSB0aGF0IHByZWZpeCA9PSBOVUxMIGlzIHZhbGlkLCBpdCBkZWZpbmVzIHRoZSBkZWZhdWx0IG5hbWVzcGFjZQotICAgICAgKiB3aXRoaW4gdGhlIHN1YnRyZWUgKHVudGlsIG92ZXJyaWRkZW4pLgotICAgICAgKgotICAgICAgKiB4bWxOc1R5cGUgaXMgdW5pZmllZCB3aXRoIHhtbEVsZW1lbnRUeXBlLgotCi0gICAgIGQgeG1sTnNUeXBlICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRUeXBlKQotCi0gICAgIGQgeG1sTnNQdHIgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbE5zICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE5zUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpICAgICAgICAgICAgICAgICAgICAgICBuZXh0IE5zIGxpbmsKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zVHlwZSkgICAgICAgICAgICAgICAgICAgICAgR2xvYmFsIG9yIGxvY2FsCi0gICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBub3JtYWxseSBhbiB4bWxEb2MKLQotICAgICAgKiB4bWxEdGQ6Ci0gICAgICAqCi0gICAgICAqIEFuIFhNTCBEVEQsIGFzIGRlZmluZWQgYnkgPCFET0NUWVBFIC4uLiBUaGVyZSBpcyBhY3R1YWxseSBvbmUgZm9yCi0gICAgICAqIHRoZSBpbnRlcm5hbCBzdWJzZXQgYW5kIGZvciB0aGUgZXh0ZXJuYWwgc3Vic2V0LgotCi0gICAgIGQgeG1sRHRkICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRHRkUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBkYXRhCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkgICAgICAgICAgICAgICAgIFhNTF9EVERfTk9ERQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHkgbGluayB2YWx1ZQotICAgICBkICBsYXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBMYXN0IGNoaWxkIGxpbmsKLSAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgQ2hpbGQtPnBhcmVudCBsaW5rCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCi0gICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIHNpYmxpbmcgbG5rCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250YWluaW5nIGRvYwotICAgICBkICBub3RhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RhdGlvbnMgaGFzaCB0YWJsZQotICAgICBkICBlbGVtZW50cyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyBoYXNoIHRhYmxlCi0gICAgIGQgIGVudGl0aWVzICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0aWVzIGhhc2ggdGFibGUKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwZW50aXRpZXMgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbS4gZW50LiBoIHRhYmxlCi0KLSAgICAgICogeG1sQXR0cjoKLSAgICAgICoKLSAgICAgICogQW4gYXR0cmlidXRlIG9uIGFuIFhNTCBub2RlLgotCi0gICAgIGQgeG1sQXR0clB0ciAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbEF0dHIgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEF0dHJQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uIGRhdGEKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRUeXBlKSAgICAgICAgICAgICAgICAgWE1MX0FUVFJJQlVURV9OT0RFCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjaGlsZHJlbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eSBsaW5rIHZhbHVlCi0gICAgIGQgIGxhc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIE5VTEwKLSAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgQ2hpbGQtPnBhcmVudCBsaW5rCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCi0gICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIHNpYmxpbmcgbG5rCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250YWluaW5nIGRvYwotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpICAgICAgICAgICAgICAgICAgICAgICBBc3NvY2lhdGVkIG5hbWVzcGFjZQotICAgICBkICBhdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlVHlwZSkgICAgICAgICAgICAgICBGb3IgdmFsaWRhdGlvbgotICAgICBkICBwc3ZpICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlL1BTVkkgaW5mbwotCi0gICAgICAqIHhtbElEOgotICAgICAgKgotICAgICAgKiBBbiBYTUwgSUQgaW5zdGFuY2UuCi0KLSAgICAgZCB4bWxJZFB0ciAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sSUQgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sSWRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxJZFB0cikgICAgICAgICAgICAgICAgICAgICAgIE5leHQgSUQKLSAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlIGhvbGRpbmcgaXQKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxpbmVubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgIyBpZiBub3QgYXZhaWwKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgRG9jIGhvbGRpbmcgSUQKLQotICAgICAgKiB4bWxSZWY6Ci0gICAgICAqCi0gICAgICAqIEFuIFhNTCBJRFJFRiBpbnN0YW5jZS4KLQotICAgICBkIHhtbFJlZlB0ciAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxSZWYgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxSZWZQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWZQdHIpICAgICAgICAgICAgICAgICAgICAgIE5leHQgUmVmCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGUgaG9sZGluZyBpdAotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGluZW5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGluZSAjIGlmIG5vdCBhdmFpbAotCi0gICAgICAqIHhtbE5vZGU6Ci0gICAgICAqCi0gICAgICAqIEEgbm9kZSBpbiBhbiBYTUwgdHJlZS4KLQotICAgICBkIHhtbE5vZGUgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE5vZGVQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uIGRhdGEKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRUeXBlKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgUGFyZW50LT5jaGlsZHJlbiBsbmsKLSAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTGFzdCBjaGlsZCBsaW5rCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIENoaWxkLT5wYXJlbnQgbGluawotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluawotICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2aW91cyBzaWJsaW5nIGxuawotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBUaGUgY29udGFpbmluZyBkb2MKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKSAgICAgICAgICAgICAgICAgICAgICAgQXNzb2NpYXRlZCBuYW1lc3BhY2UKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKSAgICAgICAgICAgICAgICAgICAgIFByb3BlcnRpZXMgbGlzdAotICAgICBkICBuc0RlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpICAgICAgICAgICAgICAgICAgICAgICBOb2RlIG5zIGRlZmluaXRpb25zCi0gICAgIGQgIHBzdmkgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUvUFNWSSBpbmZvCi0gICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdXNob3J0KQotICAgICBkICBleHRyYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VzaG9ydCkgICAgICAgICAgICAgICAgICAgICBEYXRhIGZvciBYUGF0aC9YU0xUCi0KLSAgICAgICogeG1sRG9jUHJvcGVydHkKLSAgICAgICoKLSAgICAgICogU2V0IG9mIHByb3BlcnRpZXMgb2YgdGhlIGRvY3VtZW50IGFzIGZvdW5kIGJ5IHRoZSBwYXJzZXIKLSAgICAgICogU29tZSBvZiB0aGVtIGFyZSBsaW5rZWQgdG8gc2ltaWxhcmx5IG5hbWVkIHhtbFBhcnNlck9wdGlvbgotCi0gICAgIGQgeG1sRG9jUHJvcGVydGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX0RPQ19XRUxMRk9STUVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKLSAgICAgZCAgWE1MX0RPQ19OU1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMicKLSAgICAgZCAgWE1MX0RPQ19PTEQxMCAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA0JwotICAgICBkICBYTUxfRE9DX0RURFZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwOCcKLSAgICAgZCAgWE1MX0RPQ19YSU5DTFVERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMTAnCi0gICAgIGQgIFhNTF9ET0NfVVNFUkJVSUxULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAyMCcKLSAgICAgZCAgWE1MX0RPQ19JTlRFUk5BTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMzAnCi0gICAgIGQgIFhNTF9ET0NfSFRNTCAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA4MCcKLQotICAgICAgKiB4bWxEb2M6Ci0gICAgICAqCi0gICAgICAqIEFuIFhNTCBkb2N1bWVudC4KLQotICAgICBkIHhtbERvYyAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbERvY1B0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfRE9DVU1FTlRfTk9ERQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgVGhlIGRvY3VtZW50IHRyZWUKLSAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTGFzdCBjaGlsZCBsaW5rCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIENoaWxkLT5wYXJlbnQgbGluawotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluawotICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2aW91cyBzaWJsaW5nIGxuawotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBSZWZlcmVuY2UgdG8gaXRzZWxmCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIHpsaWIgY29tcHJlc3Npb24gbGV2Ci0gICAgIGQgIHN0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBpbnRTdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKSAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBzdWJzZXQKLSAgICAgZCAgZXh0U3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgc3Vic2V0Ci0gICAgIGQgIG9sZG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikgICAgICAgICAgICAgICAgICAgICAgIEdsb2JhbCBuYW1lc3BhY2UKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBpZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRHMgaGFzaCB0YWJsZQotICAgICBkICByZWZzICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRFJFRnMgaGFzaCB0YWJsZQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgSW4tbWVtb3J5IGVuY29kaW5nCi0gICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIgZm9yIG5hbWVzCi0gICAgIGQgIHBzdmkgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUvUFNWSSBpbm8KLSAgICAgZCAgcGFyc2VGbGFncyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VyT3B0aW9uJ3MKLSAgICAgZCAgcHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgeG1sRG9jUHJvcGVydGllcwotCi0gICAgICAqIHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjoKLSAgICAgICogQGN0eHQ6ICBhIERPTSB3cmFwcGVyIGNvbnRleHQKLSAgICAgICogQG5vZGU6ICB0aGUgY29udGV4dCBub2RlIChlbGVtZW50IG9yIGF0dHJpYnV0ZSkKLSAgICAgICogQG5zTmFtZTogIHRoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIG5hbWUKLSAgICAgICogQG5zUHJlZml4OiAgdGhlIHJlcXVlc3RlZCBuYW1lc3BhY2UgcHJlZml4Ci0gICAgICAqCi0gICAgICAqIEEgZnVuY3Rpb24gY2FsbGVkIHRvIGFjcXVpcmUgbmFtZXNwYWNlcyAoeG1sTnMpIGZyb20gdGhlIHdyYXBwZXIuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgYW4geG1sTnNQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLgotCi0gICAgIGQgeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sRE9NV3JhcEN0eHQ6Ci0gICAgICAqCi0gICAgICAqIENvbnRleHQgZm9yIERPTSB3cmFwcGVyLW9wZXJhdGlvbnMuCi0KLSAgICAgZCB4bWxET01XcmFwQ3R4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxET01XcmFwQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbERPTVdyYXBDdHh0UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWVzcGFjZU1hcCAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBnZXROc0Zvck5vZGVGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24pCi0KLQotICAgICAgKiBWYXJpYWJsZXMuCi0KLSAgICAgICogU29tZSBoZWxwZXIgZnVuY3Rpb25zCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxWYWxpZGF0ZU5DTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTkNOYW1lJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxWYWxpZGF0ZVFOYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVRTmFtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZU5hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5hbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVmFsaWRhdGVOTVRva2VuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVOTVRva2VuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbEJ1aWxkUU5hbWUgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1aWxkUU5hbWUnKSAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgbmNuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtZW1vcnkgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemU6ICpvbWl0KSAgICAgICAgICAgICB4bWxDaGFyW10KLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgbWVtb3J5IGxlbmd0aAotCi0gICAgIGQgeG1sU3BsaXRRTmFtZTIgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3BsaXRRTmFtZTInKSAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTcGxpdFFOYW1lMyAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTcGxpdFFOYW1lMycpICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiBIYW5kbGluZyBCdWZmZXJzLCB0aGUgb2xkIG9uZXMgc2VlIEB4bWxCdWYgZm9yIHRoZSBuZXcgb25lcy4KLQotICAgICBkIHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScpCi0gICAgIGQgIHNjaGVtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCi0KLSAgICAgZCB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKLQotICAgICBkIHhtbEJ1ZmZlckNyZWF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckNyZWF0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJQdHIpCi0KLSAgICAgZCB4bWxCdWZmZXJDcmVhdGVTaXplLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyQ3JlYXRlU2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQotCi0gICAgIGQgeG1sQnVmZmVyQ3JlYXRlU3RhdGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyQ3JlYXRlU3RhdGljJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKLQotICAgICBkIHhtbEJ1ZmZlclJlc2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlclJlc2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKLQotICAgICBkIHhtbEJ1ZmZlckZyZWUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckZyZWUnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotCi0gICAgIGQgeG1sQnVmZmVyRHVtcCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyRHVtcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLQotICAgICBkIHhtbEJ1ZmZlckFkZCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckFkZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAotCi0gICAgIGQgeG1sQnVmZmVyQWRkSGVhZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckFkZEhlYWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgIHN0ciBsZW5ndGgKLQotICAgICBkIHhtbEJ1ZmZlckNhdCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckNhdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEJ1ZmZlckNDYXQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckNDYXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxCdWZmZXJTaHJpbmsuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJTaHJpbmsnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1aW50KQotCi0gICAgIGQgeG1sQnVmZmVyR3JvdyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyR3JvdycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3VpbnQpCi0KLSAgICAgZCB4bWxCdWZmZXJFbXB0eSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJFbXB0eScpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0KLSAgICAgZCB4bWxCdWZmZXJDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQnVmZmVyQ29udGVudCcpICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotCi0gICAgIGQgeG1sQnVmZmVyRGV0YWNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQnVmZmVyRGV0YWNoJykgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotCi0gICAgIGQgeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lJykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgc2NoZW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKLQotICAgICBkIHhtbEJ1ZmZlckxlbmd0aC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckxlbmd0aCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotCi0gICAgICAqIENyZWF0aW5nL2ZyZWVpbmcgbmV3IHN0cnVjdHVyZXMuCi0KLSAgICAgZCB4bWxDcmVhdGVJbnRTdWJzZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVJbnRTdWJzZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbWxJRCAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3RHRkICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RHRkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBTeXN0ZW1sSUQgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEdldEludFN1YnNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldEludFN1YnNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxGcmVlRHRkICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlRHRkJykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQotICAgICBkIHhtbE5ld0dsb2JhbE5zICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0dsb2JhbE5zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBocmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECi0KLSAgICAgZCB4bWxOZXdOcyAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdOcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEZyZWVOcyAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOcycpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLQotICAgICBkIHhtbEZyZWVOc0xpc3QgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOc0xpc3QnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0KLSAgICAgZCB4bWxOZXdEb2MgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEZyZWVEb2MgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVEb2MnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotCi0gICAgIGQgeG1sTmV3RG9jUHJvcCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jUHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxOZXdQcm9wICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdQcm9wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0KLSAgICAgZCB4bWxOZXdOc1Byb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdOc1Byb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3TnNQcm9wRWF0TmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld05zUHJvcEVhdE5hbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sRnJlZVByb3BMaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVByb3BMaXN0JykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCi0KLSAgICAgZCB4bWxGcmVlUHJvcCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlUHJvcCcpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQotCi0gICAgIGQgeG1sQ29weVByb3AgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weVByb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQotCi0gICAgIGQgeG1sQ29weVByb3BMaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weVByb3BMaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgZCB4bWxDb3B5RHRkICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RHRkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKLSAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLSAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQotICAgICBkIHhtbENvcHlEb2MgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBDcmVhdGluZyBuZXcgbm9kZXMuCi0KLSAgICAgZCB4bWxOZXdEb2NOb2RlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NOb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3RG9jTm9kZUVhdE5hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NOb2RlRWF0TmFtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld05vZGUgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld05vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld05vZGVFYXROYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Tm9kZUVhdE5hbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxOZXdDaGlsZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDaGlsZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0KLSAgICAgZCB4bWxOZXdEb2NUZXh0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NUZXh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3VGV4dCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld0RvY1BJICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY1BJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld1BJICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1BJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld0RvY1RleHRMZW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NUZXh0TGVuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE5ld1RleHRMZW4gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRMZW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmV3RG9jQ29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0NvbW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxOZXdDb21tZW50ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDb21tZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3Q0RhdGFCbG9jay4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0NEYXRhQmxvY2snKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmV3Q2hhclJlZiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Q2hhclJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbE5ld1JlZmVyZW5jZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1JlZmVyZW5jZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbENvcHlOb2RlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0NvcHlOb2RlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0NvcHlOb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0NvcHlOb2RlTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0NvcHlOb2RlTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbENvcHlOb2RlTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOb2RlTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgZCB4bWxOZXdUZXh0Q2hpbGQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0Q2hpbGQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sTmV3RG9jUmF3Tm9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY1Jhd05vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxOZXdEb2NGcmFnbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0ZyYWdtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKLQotICAgICAgKiBOYXZpZ2F0aW5nLgotCi0gICAgIGQgeG1sTmV3RG9jRnJhZ21lbnQuLi4KLSAgICAgZCB4bWxHZXRMaW5lTm8gICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRMaW5lTm8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxHZXROb2RlUGF0aCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXROb2RlUGF0aCcpICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sRG9jR2V0Um9vdEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NHZXRSb290RWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotCi0gICAgIGQgeG1sR2V0TGFzdENoaWxkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0TGFzdENoaWxkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sTm9kZUlzVGV4dCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUlzVGV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbElzQmxhbmtOb2RlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzQmxhbmtOb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAqIENoYW5naW5nIHRoZSBzdHJ1Y3R1cmUuCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxEb2NTZXRSb290RWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY1NldFJvb3RFbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICBkIHhtbE5vZGVTZXROYW1lICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXROYW1lJykKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVFJFRV9FTkFCTEVECi0KLSAgICAgZCB4bWxBZGRDaGlsZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRDaGlsZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxBZGRDaGlsZExpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRDaGlsZExpc3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCi0gICAgIGQgeG1sUmVwbGFjZU5vZGUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVwbGFjZU5vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgb2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCi0gICAgIGQgeG1sQWRkUHJldlNpYmxpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRQcmV2U2libGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0KLSAgICAgZCB4bWxBZGRTaWJsaW5nICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRTaWJsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbEFkZE5leHRTaWJsaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkTmV4dFNpYmxpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sVW5saW5rTm9kZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVW5saW5rTm9kZScpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sVGV4dE1lcmdlICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dE1lcmdlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGZpcnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBzZWNvbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFRleHRDb25jYXQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRDb25jYXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEZyZWVOb2RlTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOb2RlTGlzdCcpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sRnJlZU5vZGUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZU5vZGUnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFNldFRyZWVEb2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldFRyZWVEb2MnKQotICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFNldExpc3REb2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldExpc3REb2MnKQotICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICAgKiBOYW1lc3BhY2VzLgotCi0gICAgIGQgeG1sU2VhcmNoTnMgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2VhcmNoTnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lU3BhY2UgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNlYXJjaE5zQnlIcmVmLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2VhcmNoTnNCeUhyZWYnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBocmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxHZXROc0xpc3QgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXROc0xpc3QnKSAgICAgICAgICAgICAgeG1sTnNQdHIgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbFNldE5zICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldE5zJykKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLQotICAgICBkIHhtbENvcHlOYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5TmFtZXNwYWNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0KLSAgICAgZCB4bWxDb3B5TmFtZXNwYWNlTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOYW1lc3BhY2VMaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0KLSAgICAgICogQ2hhbmdpbmcgdGhlIGNvbnRlbnQuCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxTZXRQcm9wICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRQcm9wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTZXROc1Byb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXROc1Byb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sR2V0Tm9Oc1Byb3AgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sR2V0Tm9Oc1Byb3AnKSAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxHZXRQcm9wICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXRQcm9wJykgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEhhc1Byb3AgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc1Byb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sSGFzTnNQcm9wICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzTnNQcm9wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZVNwYWNlICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxHZXROc1Byb3AgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXROc1Byb3AnKSAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZVNwYWNlICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTdHJpbmdHZXROb2RlTGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmluZ0dldE5vZGVMaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxOb2RlTGlzdEdldFN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVMaXN0R2V0U3RyaW5nJykgICAgICB4bWxDaGFyICoKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGluTGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICBkIHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnKSAgIHhtbENoYXIgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgaW5MaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKLQotICAgICBkIHhtbE5vZGVTZXRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZVNldENvbnRlbnQnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0gICAgIGQgeG1sTm9kZVNldENvbnRlbnRMZW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlU2V0Q29udGVudExlbicpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKLQotICAgICBkIHhtbE5vZGVBZGRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUFkZENvbnRlbnQnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxOb2RlQWRkQ29udGVudExlbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVBZGRDb250ZW50TGVuJykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE5vZGVHZXRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTm9kZUdldENvbnRlbnQnKSAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbE5vZGVCdWZHZXRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUJ1ZkdldENvbnRlbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxCdWZHZXROb2RlQ29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZkdldE5vZGVDb250ZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sTm9kZUdldExhbmcgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTm9kZUdldExhbmcnKSAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUdldFNwYWNlUHJlc2VydmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0gICAgIGQgeG1sTm9kZVNldExhbmcgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZVNldExhbmcnKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbGFuZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVFJFRV9FTkFCTEVECi0KLSAgICAgZCB4bWxOb2RlR2V0QmFzZSAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOb2RlR2V0QmFzZScpICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxOb2RlU2V0QmFzZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlU2V0QmFzZScpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICB1cmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBSZW1vdmluZyBjb250ZW50LgotCi0gICAgIGQgeG1sUmVtb3ZlUHJvcCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVtb3ZlUHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0gICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKLSAgICAgZCB4bWxVbnNldE5zUHJvcCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVbnNldE5zUHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFVuc2V0UHJvcCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVuc2V0UHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2VuZGlmCi0KLSAgICAgICogSW50ZXJuYWwsIGRvbid0IHVzZS4KLQotICAgICBkIHhtbEJ1ZmZlcldyaXRlQ2hhcmFjdGVyLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYXJuaW5nOiByZW5hbWVkCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyV3JpdGVDSEFSJykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxCdWZmZXJXcml0ZUNoYXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJXcml0ZUNoYXInKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotICAgICBkIHhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCi0KLSAgICAgICogTmFtZXNwYWNlIGhhbmRsaW5nLgotCi0gICAgIGQgeG1sUmVjb25jaWxpYXRlTnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWNvbmNpbGlhdGVOcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgIC9lbmRpZgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0KLSAgICAgICogU2F2aW5nLgotCi0gICAgIGQgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0R1bXBGb3JtYXRNZW1vcnknKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKCopCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0R1bXBNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wTWVtb3J5JykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0R1bXBNZW1vcnlFbmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wTWVtb3J5RW5jJykKLSAgICAgZCAgb3V0X2RvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZG9jX3R4dF9wdHIgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQotICAgICBkICBkb2NfdHh0X2xlbiAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdHh0X2VuY29kaW5nICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycpCi0gICAgIGQgIG91dF9kb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGRvY190eHRfcHRyICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAoKikKLSAgICAgZCAgZG9jX3R4dF9sZW4gICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHR4dF9lbmNvZGluZyAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0Zvcm1hdER1bXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NGb3JtYXREdW1wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERvY0R1bXAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0R1bXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxFbGVtRHVtcCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFbGVtRHVtcCcpCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFNhdmVGaWxlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotCi0gICAgIGQgeG1sU2F2ZUZvcm1hdEZpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRm9ybWF0RmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxCdWZOb2RlRHVtcCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZOb2RlRHVtcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDc2l6ZV90KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTm9kZUR1bXAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUR1bXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNhdmVGaWxlVG8gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVGaWxlVG8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxTYXZlRm9ybWF0RmlsZVRvLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZUZvcm1hdEZpbGVUbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxOb2RlRHVtcE91dHB1dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVEdW1wT3V0cHV0JykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxTYXZlRm9ybWF0RmlsZUVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVGb3JtYXRGaWxlRW5jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTYXZlRmlsZUVuYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRmlsZUVuYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgICogWEhUTUwKLQotICAgICBkIHhtbElzWEhUTUwgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzWEhUTUwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmxpY0lEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAqIENvbXByZXNzaW9uLgotCi0gICAgIGQgeG1sR2V0RG9jQ29tcHJlc3NNb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RG9jQ29tcHJlc3NNb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxTZXREb2NDb21wcmVzc01vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXREb2NDb21wcmVzc01vZGUnKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEdldENvbXByZXNzTW9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldENvbXByZXNzTW9kZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sU2V0Q29tcHJlc3NNb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0Q29tcHJlc3NNb2RlJykKLSAgICAgZCAgbW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogRE9NLXdyYXBwZXIgaGVscGVyIGZ1bmN0aW9ucy4KLQotICAgICBkIHhtbERPTVdyYXBOZXdDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRE9NV3JhcE5ld0N0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCi0KLSAgICAgZCB4bWxET01XcmFwRnJlZUN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxET01XcmFwRnJlZUN0eHQnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCi0KLSAgICAgZCB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERPTVdyYXBBZG9wdE5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxET01XcmFwQWRvcHROb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKLSAgICAgZCAgc291cmNlRG9jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGRlc3REb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGRlc3RQYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbERPTVdyYXBSZW1vdmVOb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRE9NV3JhcFJlbW92ZU5vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERPTVdyYXBDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxET01XcmFwQ2xvbmVOb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRE9NV3JhcENsb25lTm9kZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCi0gICAgIGQgIHNvdXJjZURvYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjbG9uZWROb2RlICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgZGVzdERvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZGVzdFBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotCi0gICAgICAqIDUgaW50ZXJmYWNlcyBmcm9tIERPTSBFbGVtZW50VHJhdmVyc2FsLCBidXQgZGlmZmVyZW50IGluIGVudGl0aWVzCi0gICAgICAqIHRyYXZlcnNhbC4KLQotICAgICBkIHhtbENoaWxkRWxlbWVudENvdW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hpbGRFbGVtZW50Q291bnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sTmV4dEVsZW1lbnRTaWJsaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV4dEVsZW1lbnRTaWJsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sRmlyc3RFbGVtZW50Q2hpbGQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGaXJzdEVsZW1lbnRDaGlsZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbExhc3RFbGVtZW50Q2hpbGQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMYXN0RWxlbWVudENoaWxkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sUHJldmlvdXNFbGVtZW50U2libGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgICAvZW5kaWYKLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9QQVJTRVJfSF9fKQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxtZW1vcnkiCi0gICAgICAvZW5kaWYKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfVFJFRV9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy91cmkucnBnbGUgYi9vczQwMC9saWJ4bWxycGcvdXJpLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTAzMzkyLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy91cmkucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBsaWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXMKLSAgICAgICogRGVzY3JpcHRpb246IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lcwotICAgICAgKiAgICAgICAgICAgICAgSW1wbGVtZW50cyBSRkMgMjM5NgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1VSSV9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9VUklfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotCi0gICAgICAqIHhtbFVSSToKLSAgICAgICoKLSAgICAgICogQSBwYXJzZWQgVVJJIHJlZmVyZW5jZS4gVGhpcyBpcyBhIHN0cnVjdCBjb250YWluaW5nIHRoZSB2YXJpb3VzIGZpZWxkcwotICAgICAgKiBhcyBkZXNjcmliZWQgaW4gUkZDIDIzOTYgYnV0IHNlcGFyYXRlZCBmb3IgZnVydGhlciBwcm9jZXNzaW5nLgotICAgICAgKgotICAgICAgKiBOb3RlOiBxdWVyeSBpcyBhIGRlcHJlY2F0ZWQgZmllbGQgd2hpY2ggaXMgaW5jb3JyZWN0bHkgdW5lc2NhcGVkLgotICAgICAgKiBxdWVyeV9yYXcgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHF1ZXJ5IGlmIHRoZSBmb3JtZXIgaXMgc2V0LgotICAgICAgKiBTZWU6IGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvMjAwNy1BcHJpbC90aHJlYWQuaHRtbCMwMDEyNwotCi0gICAgIGQgeG1sVVJJUHRyICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFVSSSAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFVSSVB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgc2NoZW1lICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIG9wYXF1ZSAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBhdXRob3JpdHkgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgc2VydmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIHF1ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBmcmFnbWVudCAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgY2xlYW51cCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHF1ZXJ5X3JhdyAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotCi0gICAgIGQgeG1sQ3JlYXRlVVJJICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlVVJJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFVSSVB0cikKLQotICAgICBkIHhtbEJ1aWxkVVJJICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1aWxkVVJJJykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sQnVpbGRSZWxhdGl2ZVVSSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1aWxkUmVsYXRpdmVVUkknKSAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUGFyc2VVUkkgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VVUkknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVVJJUHRyKQotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFBhcnNlVVJJUmF3ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlVVJJUmF3JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFVSSVB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VVUklSZWZlcmVuY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVVSSVJlZmVyZW5jZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB1cmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVVJJUHRyKQotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFNhdmVVcmkgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNhdmVVcmknKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgdXJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFVSSVB0cikKLQotICAgICBkIHhtbFByaW50VVJJICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFByaW50VVJJJykKLSAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxVUklQdHIpCi0KLSAgICAgZCB4bWxVUklFc2NhcGVTdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVUklFc2NhcGVTdHInKSAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFVSSVVuZXNjYXBlU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVVJJVW5lc2NhcGVTdHJpbmcnKSAgICAgIGNoYXIgKgotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgotCi0gICAgIGQgeG1sTm9ybWFsaXplVVJJUGF0aC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vcm1hbGl6ZVVSSVBhdGgnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCi0KLSAgICAgZCB4bWxVUklFc2NhcGUgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVUklFc2NhcGUnKSAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sRnJlZVVSSSAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVVSSScpCi0gICAgIGQgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxVUklQdHIpCi0KLSAgICAgZCB4bWxDYW5vbmljUGF0aCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDYW5vbmljUGF0aCcpICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUGF0aFRvVVJJICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGF0aFRvVVJJJykgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfVVJJX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3ZhbGlkLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3ZhbGlkLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMmViYmQzLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy92YWxpZC5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDYwNSArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IFRoZSBEVEQgdmFsaWRhdGlvbgotICAgICAgKiBEZXNjcmlwdGlvbjogQVBJIGZvciB0aGUgRFREIGhhbmRsaW5nIGFuZCB0aGUgdmFsaWRpdHkgY2hlY2tpbmcKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9WQUxJRF9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9WQUxJRF9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbGVycm9yIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9saXN0IgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxhdXRvbWF0YSIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1scmVnZXhwIgotCi0gICAgICAqIFZhbGlkYXRpb24gc3RhdGUgYWRkZWQgZm9yIG5vbi1kZXRlcm1pbmlzdCBjb250ZW50IG1vZGVsLgotCi0gICAgIGQgeG1sVmFsaWRTdGF0ZVB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sVmFsaWRpdHlFcnJvckZ1bmM6Ci0gICAgICAqIEBjdHg6ICB1c3VhbGx5IGFuIHhtbFZhbGlkQ3R4dFB0ciB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsCi0gICAgICAqICAgICAgICBidXQgY29tZXMgZnJvbSBjdHh0LT51c2VyRGF0YSAod2hpY2ggbm9ybWFsbHkgY29udGFpbnMgc3VjaAotICAgICAgKiAgICAgICAgYSBwb2ludGVyKTsgY3R4dC0+dXNlckRhdGEgY2FuIGJlIGNoYW5nZWQgYnkgdGhlIHVzZXIuCi0gICAgICAqIEBtc2c6ICB0aGUgc3RyaW5nIHRvIGZvcm1hdCAqcHJpbnRmIGxpa2UgdmFyYXJnCi0gICAgICAqIEAuLi46ICByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBmb3JtYXQKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSBlcnJvciBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2UKLSAgICAgICogb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLgotCi0gICAgIGQgeG1sVmFsaWRpdHlFcnJvckZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxWYWxpZGl0eVdhcm5pbmdGdW5jOgotICAgICAgKiBAY3R4OiAgdXN1YWxseSBhbiB4bWxWYWxpZEN0eHRQdHIgdG8gYSB2YWxpZGl0eSBlcnJvciBjb250ZXh0LAotICAgICAgKiAgICAgICAgYnV0IGNvbWVzIGZyb20gY3R4dC0+dXNlckRhdGEgKHdoaWNoIG5vcm1hbGx5IGNvbnRhaW5zIHN1Y2gKLSAgICAgICogICAgICAgIGEgcG9pbnRlcik7IGN0eHQtPnVzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLgotICAgICAgKiBAbXNnOiAgdGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZwotICAgICAgKiBALi4uOiAgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgZm9ybWF0Ci0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIGNhbGxlZCB3aGVuIGEgdmFsaWRpdHkgd2FybmluZyBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2UKLSAgICAgICogb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLgotCi0gICAgIGQgeG1sVmFsaWRpdHlXYXJuaW5nRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbFZhbGlkQ3R4dDoKLSAgICAgICogQW4geG1sVmFsaWRDdHh0IGlzIHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZyB3aGVuIHZhbGlkYXRpbmcuCi0KLSAgICAgZCB4bWxWYWxpZEN0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sVmFsaWRDdHh0ICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhbGlkaXR5RXJyb3JGdW5jKSAgICAgICAgICAgRXJyb3IgY2FsbGJhY2sKLSAgICAgZCAgd2FybmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMpICAgICAgICAgV2FybmluZyBjYWxsYmFjawotICAgICAgKgotICAgICAgKiBOb2RlIGFuYWx5c2lzIHN0YWNrIHVzZWQgd2hlbiB2YWxpZGF0aW5nIHdpdGhpbiBlbnRpdGllcwotICAgICAgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IHBhcnNlZCBOb2RlCi0gICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKLSAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCi0gICAgIGQgIG5vZGVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgotICAgICAgKgotICAgICBkICBmaW5pc2hEdGQgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3VpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBkb2N1bWVudAotICAgICBkICB2YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBUZW1wIGNoZWNrIHJlc3VsdAotICAgICAgKgotICAgICAgKiBzdGF0ZSBzdGF0ZSB1c2VkIGZvciBub24tZGV0ZXJtaW5pc3QgY29udGVudCB2YWxpZGF0aW9uCi0gICAgICAqCi0gICAgIGQgIHZzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFZhbGlkU3RhdGUgKgotICAgICBkICB2c3RhdGVOciAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0LiBzdGFjayBkZXB0aAotICAgICBkICB2c3RhdGVNYXggICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKLSAgICAgZCAgdnN0YXRlVGFiICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVmFsaWRTdGF0ZSAqCi0gICAgICAqCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCi0gICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVB0cikgICAgICAgICAgICAgICAgIFRoZSBhdXRvbWF0YQotICAgICBkICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikgICAgICAgICAgICBBdXRvbWF0YSBidWlsZCBzdGF0ZQotICAgICAgL2Vsc2UKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgZCAgc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIEFMTCBub3RhdGlvbiBkZWNsYXJhdGlvbnMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgotICAgICAgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIERURC4KLQotICAgICBkIHhtbE5vdGF0aW9uVGFibGVQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIEFMTCBlbGVtZW50IGRlY2xhcmF0aW9ucyBhcmUgc3RvcmVkIGluIGEgdGFibGUuCi0gICAgICAqIFRoZXJlIGlzIG9uZSB0YWJsZSBwZXIgRFRELgotCi0gICAgIGQgeG1sRWxlbWVudFRhYmxlUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiBBTEwgYXR0cmlidXRlIGRlY2xhcmF0aW9ucyBhcmUgc3RvcmVkIGluIGEgdGFibGUuCi0gICAgICAqIFRoZXJlIGlzIG9uZSB0YWJsZSBwZXIgRFRELgotCi0gICAgIGQgeG1sQXR0cmlidXRlVGFibGVQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIEFMTCBJRHMgYXR0cmlidXRlcyBhcmUgc3RvcmVkIGluIGEgdGFibGUuCi0gICAgICAqIFRoZXJlIGlzIG9uZSB0YWJsZSBwZXIgZG9jdW1lbnQuCi0KLSAgICAgZCB4bWxJRFRhYmxlUHRyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIEFMTCBSZWZzIGF0dHJpYnV0ZXMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgotICAgICAgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIGRvY3VtZW50LgotCi0gICAgIGQgeG1sUmVmVGFibGVQdHIgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiBOb3RhdGlvbgotCi0gICAgIGQgeG1sQWRkTm90YXRpb25EZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkTm90YXRpb25EZWNsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vdGF0aW9uUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgUHVibGljSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICBkIHhtbENvcHlOb3RhdGlvblRhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weU5vdGF0aW9uVGFibGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm90YXRpb25QdHIpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb3RhdGlvblRhYmxlUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVFJFRV9FTkFCTEVECi0KLSAgICAgZCB4bWxGcmVlTm90YXRpb25UYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOb3RhdGlvblRhYmxlJykKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vdGF0aW9uVGFibGVQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCB4bWxEdW1wTm90YXRpb25EZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcE5vdGF0aW9uRGVjbCcpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIG5vdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb3RhdGlvblB0cikKLQotICAgICBkIHhtbER1bXBOb3RhdGlvblRhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcE5vdGF0aW9uVGFibGUnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm90YXRpb25UYWJsZVB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICAgKiBFbGVtZW50IENvbnRlbnQKLSAgICAgICogdGhlIG5vbiBEb2MgdmVyc2lvbiBhcmUgYmVpbmcgZGVwcmVjYXRlZAotCi0gICAgIGQgeG1sTmV3RWxlbWVudENvbnRlbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdFbGVtZW50Q29udGVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFR5cGUpCi0KLSAgICAgZCB4bWxDb3B5RWxlbWVudENvbnRlbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RWxlbWVudENvbnRlbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLQotICAgICBkIHhtbEZyZWVFbGVtZW50Q29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVFbGVtZW50Q29udGVudCcpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLQotICAgICAgKiB0aGUgbmV3IHZlcnNpb25zIHdpdGggZG9jIGFyZ3VtZW50Ci0KLSAgICAgZCB4bWxOZXdEb2NFbGVtZW50Q29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0VsZW1lbnRDb250ZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50VHlwZSkKLQotICAgICBkIHhtbENvcHlEb2NFbGVtZW50Q29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlEb2NFbGVtZW50Q29udGVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotCi0gICAgIGQgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZURvY0VsZW1lbnRDb250ZW50JykKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotCi0gICAgIGQgeG1sU25wcmludGZFbGVtZW50Q29udGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCi0gICAgIGQgIGVuZ2xvYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgICAqIERFUFJFQ0FURUQKLSAgICAgZCB4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKLSAgICAgZCAgZW5nbG9iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgICogREVQUkVDQVRFRAotCi0gICAgICAqIEVsZW1lbnQKLQotICAgICBkIHhtbEFkZEVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkRWxlbWVudERlY2wnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50VHlwZVZhbCkKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICBkIHhtbENvcHlFbGVtZW50VGFibGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RWxlbWVudFRhYmxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRUYWJsZVB0cikKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRUYWJsZVB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAotCi0gICAgIGQgeG1sRnJlZUVsZW1lbnRUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVFbGVtZW50VGFibGUnKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudFRhYmxlUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgeG1sRHVtcEVsZW1lbnRUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBFbGVtZW50VGFibGUnKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudFRhYmxlUHRyKQotCi0gICAgIGQgeG1sRHVtcEVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcEVsZW1lbnREZWNsJykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgICogRW51bWVyYXRpb24KLQotICAgICBkIHhtbENyZWF0ZUVudW1lcmF0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlRW51bWVyYXRpb24nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW51bWVyYXRpb25QdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sRnJlZUVudW1lcmF0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZUVudW1lcmF0aW9uJykKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQotICAgICBkIHhtbENvcHlFbnVtZXJhdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlFbnVtZXJhdGlvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVFJFRV9FTkFCTEVECi0KLSAgICAgICogQXR0cmlidXRlCi0KLSAgICAgZCB4bWxBZGRBdHRyaWJ1dGVEZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkQXR0cmlidXRlRGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyaWJ1dGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEdGRQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVUeXBlKQotICAgICBkICBkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlRGVmYXVsdCkKLSAgICAgZCAgZGVmYXVsdFZhbHVlICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKLSAgICAgZCB4bWxDb3B5QXR0cmlidXRlVGFibGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5QXR0cmlidXRlVGFibGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlVGFibGVQdHIpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVUYWJsZVB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAotCi0gICAgIGQgeG1sRnJlZUF0dHJpYnV0ZVRhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZUF0dHJpYnV0ZVRhYmxlJykKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgeG1sRHVtcEF0dHJpYnV0ZVRhYmxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcEF0dHJpYnV0ZVRhYmxlJykKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKQotCi0gICAgIGQgeG1sRHVtcEF0dHJpYnV0ZURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEdW1wQXR0cmlidXRlRGVjbCcpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVQdHIpCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECi0KLSAgICAgICogSURzCi0KLSAgICAgZCB4bWxBZGRJRCAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGRJRCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxJRFB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQotCi0gICAgIGQgeG1sRnJlZUlkVGFibGUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZUlEVGFibGUnKQotICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSURUYWJsZVB0cikKLQotICAgICBkIHhtbEdldElEICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldElEJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sSXNJRCAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSXNJRCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCi0KLSAgICAgZCB4bWxSZW1vdmVJRCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZW1vdmVJRCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICAgKiBJRFJFRnMKLQotICAgICBkIHhtbEFkZFJlZiAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZFJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWZQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICBkIHhtbEZyZWVSZWZUYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVSZWZUYWJsZScpCi0gICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWZUYWJsZVB0cikKLQotICAgICBkIHhtbElzUmVmICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElzUmVmJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICBkIHhtbFJlbW92ZVJlZiAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbW92ZVJlZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLQotICAgICBkIHhtbEdldFJlZnMgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldFJlZnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlzdFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogVGhlIHB1YmxpYyBmdW5jdGlvbiBjYWxscyByZWxhdGVkIHRvIHZhbGlkaXR5IGNoZWNraW5nLgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKLSAgICAgICogQWxsb2NhdGUvUmVsZWFzZSBWYWxpZGF0aW9uIENvbnRleHRzCi0KLSAgICAgZCB4bWxOZXdWYWxpZEN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdWYWxpZEN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotCi0gICAgIGQgeG1sRnJlZVZhbGlkQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVWYWxpZEN0eHQnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotCi0gICAgIGQgeG1sVmFsaWRhdGVSb290Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVSb290JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVFbGVtZW50RGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudFB0cikKLQotICAgICBkIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJykKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVmFsaWRDdHh0KyAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlUHRyKQotCi0gICAgIGQgeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJpYnV0ZVR5cGUpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub3RhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm90YXRpb25QdHIpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZUR0ZCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZUR0ZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotCi0gICAgIGQgeG1sVmFsaWRhdGVEdGRGaW5hbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlRHRkRmluYWwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFZhbGlkYXRlRG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZURvY3VtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZUVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZU9uZUVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlT25lQXR0cmlidXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVkFMSURfRU5BQkxFRAotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLSAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQotICAgICBkIHhtbFZhbGlkYXRlTm90YXRpb25Vc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vdGF0aW9uTmFtZSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sSXNNaXhlZEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJc01peGVkRWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEdldER0ZEF0dHJEZXNjLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RHRkQXR0ckRlc2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxHZXREdGRRQXR0ckRlc2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXREdGRRQXR0ckRlc2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sR2V0RHRkTm90YXRpb25EZXNjLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RHRkTm90YXRpb25EZXNjJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vdGF0aW9uUHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbEdldER0ZFFFbGVtZW50RGVzYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldER0ZFFFbGVtZW50RGVzYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50UHRyKQotICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxHZXREdGRFbGVtZW50RGVzYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldER0ZEVsZW1lbnREZXNjJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRQdHIpCi0gICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEdGRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKLSAgICAgZCB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3RyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnQgKgotICAgICBkICBuYW1lcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgbmFtZXMgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVmFsaWRhdGVOYW1lVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5hbWVWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlTmFtZXNWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFZhbGlkYXRlTm10b2tlblZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVmFsaWRhdGVObXRva2VuVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKLSAgICAgICogVmFsaWRhdGlvbiBiYXNlZCBvbiB0aGUgcmVnZXhwIHN1cHBvcnQKLQotICAgICBkIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCi0gICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50UHRyKQotCi0gICAgIGQgeG1sVmFsaWRhdGVQdXNoRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFZhbGlkYXRlUHVzaEVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHFuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVmFsaWRhdGVQdXNoQ0RhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZVB1c2hDRGF0YScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHFuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9SRUdFWFBfRU5BQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9WQUxJRF9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94aW5jbHVkZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94aW5jbHVkZS5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNiN2M1MS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveGluY2x1ZGUucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbXBsZW1lbnRhdGlvbiBvZiBYSW5jbHVkZQotICAgICAgKiBEZXNjcmlwdGlvbjogQVBJIHRvIGhhbmRsZSBYSW5jbHVkZSBwcm9jZXNzaW5nLAotICAgICAgKiBpbXBsZW1lbnRzIHRoZQotICAgICAgKiBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIExhc3QgQ2FsbCBXb3JraW5nIERyYWZ0IDEwIE5vdmVtYmVyIDIwMDMKLSAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMy9XRC14aW5jbHVkZS0yMDAzMTExMAotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hJTkNMVURFX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1hJTkNMVURFX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCi0KLSAgICAgICogWElOQ0xVREVfTlM6Ci0gICAgICAqCi0gICAgICAqIE1hY3JvIGRlZmluaW5nIHRoZSBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUKLQotICAgICBkIFhJTkNMVURFX05TICAgICBjICAgICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlJwotCi0KLSAgICAgICogWElOQ0xVREVfT0xEX05TOgotICAgICAgKgotICAgICAgKiBEZWZpbmUgdGhlIGRyYWZ0IFhpbmNsdWRlIG5hbWVzcGFjZTogaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZQotCi0gICAgIGQgWElOQ0xVREVfT0xEX05TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUnCi0KLSAgICAgICogWElOQ0xVREVfTk9ERToKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgImluY2x1ZGUiCi0KLSAgICAgZCBYSU5DTFVERV9OT0RFICAgYyAgICAgICAgICAgICAgICAgICAnaW5jbHVkZScKLQotICAgICAgKiBYSU5DTFVERV9GQUxMQkFDSzoKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgImZhbGxiYWNrIgotCi0gICAgIGQgWElOQ0xVREVfRkFMTEJBQ0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAnZmFsbGJhY2snCi0KLSAgICAgICogWElOQ0xVREVfSFJFRjoKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgImhyZWYiCi0KLSAgICAgZCBYSU5DTFVERV9IUkVGICAgYyAgICAgICAgICAgICAgICAgICAnaHJlZicKLQotICAgICAgKiBYSU5DTFVERV9QQVJTRToKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgInBhcnNlIgotCi0gICAgIGQgWElOQ0xVREVfUEFSU0UgIGMgICAgICAgICAgICAgICAgICAgJ3BhcnNlJwotCi0gICAgICAqIFhJTkNMVURFX1BBUlNFX1hNTDoKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgInhtbCIKLQotICAgICBkIFhJTkNMVURFX1BBUlNFX1hNTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICd4bWwnCi0KLSAgICAgICogWElOQ0xVREVfUEFSU0VfVEVYVDoKLSAgICAgICoKLSAgICAgICogTWFjcm8gZGVmaW5pbmcgInRleHQiCi0KLSAgICAgZCBYSU5DTFVERV9QQVJTRV9URVhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ3RleHQnCi0KLSAgICAgICogWElOQ0xVREVfUEFSU0VfRU5DT0RJTkc6Ci0gICAgICAqCi0gICAgICAqIE1hY3JvIGRlZmluaW5nICJlbmNvZGluZyIKLQotICAgICBkIFhJTkNMVURFX1BBUlNFX0VOQ09ESU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ2VuY29kaW5nJwotCi0gICAgICAqIFhJTkNMVURFX1BBUlNFX1hQT0lOVEVSOgotICAgICAgKgotICAgICAgKiBNYWNybyBkZWZpbmluZyAieHBvaW50ZXIiCi0KLSAgICAgZCBYSU5DTFVERV9QQVJTRV9YUE9JTlRFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICd4cG9pbnRlcicKLQotICAgICBkIHhtbFhJbmNsdWRlQ3R4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogc3RhbmRhbG9uZSBwcm9jZXNzaW5nCi0KLSAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotCi0gICAgICAqIGNvbnRleHR1YWwgcHJvY2Vzc2luZwotCi0gICAgIGQgeG1sWEluY2x1ZGVOZXdDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWEluY2x1ZGVOZXdDb250ZXh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhJbmNsdWRlQ3R4dFB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFhJbmNsdWRlU2V0RmxhZ3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZVNldEZsYWdzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYSW5jbHVkZUN0eHRQdHIpCi0gICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWEluY2x1ZGVGcmVlQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhJbmNsdWRlRnJlZUNvbnRleHQnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWEluY2x1ZGVDdHh0UHRyKQotCi0gICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzTm9kZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhJbmNsdWRlQ3R4dFB0cikKLSAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWElOQ0xVREVfRU5BQkxFRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveGxpbmsucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveGxpbmsucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2ZWJkYzYuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3hsaW5rLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMTY5ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlCi0gICAgICAqIERlc2NyaXB0aW9uOiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGUKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9YTElOS19IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YTElOS19IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLQotICAgICAgKiBWYXJpb3VzIGRlZmluZXMgZm9yIHRoZSB2YXJpb3VzIExpbmsgcHJvcGVydGllcy4KLSAgICAgICoKLSAgICAgICogTk9URTogdGhlIGxpbmsgZGV0ZWN0aW9uIGxheWVyIHdpbGwgdHJ5IHRvIHJlc29sdmUgUU5hbWUgZXhwYW5zaW9uCi0gICAgICAqICAgICAgIG9mIG5hbWVzcGFjZXMuIElmICJmb28iIGlzIHRoZSBwcmVmaXggZm9yICJodHRwOi8vZm9vLmNvbS8iCi0gICAgICAqICAgICAgIHRoZW4gdGhlIGxpbmsgZGV0ZWN0aW9uIGxheWVyIHdpbGwgZXhwYW5kIHJvbGU9ImZvbzpteXJvbGUiCi0gICAgICAqICAgICAgIHRvICJodHRwOi8vZm9vLmNvbS86bXlyb2xlIi4KLSAgICAgICogTk9URTogdGhlIGxpbmsgZGV0ZWN0aW9uIGxheWVyIHdpbGwgZXhwYW5kIFVSSS1SZWZlbmNlcyBmb3VuZCBvbgotICAgICAgKiAgICAgICBocmVmIGF0dHJpYnV0ZXMgYnkgdXNpbmcgdGhlIGJhc2UgbWVjaGFuaXNtIGlmIGZvdW5kLgotCi0gICAgIGQgeGxpbmtSZWYgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkIHhsaW5rUm9sZSAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCB4bGlua1RpdGxlICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgeG1sQ2hhciAqCi0KLSAgICAgZCB4bGlua1R5cGUgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhMSU5LX1RZUEVfTk9ORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWExJTktfVFlQRV9TSU1QTEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhMSU5LX1RZUEVfRVhURU5ERUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhMSU5LX1RZUEVfRVhURU5ERURfU0VULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotCi0gICAgIGQgeGxpbmtTaG93ICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTElOS19TSE9XX05PTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhMSU5LX1NIT1dfTkVXLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTElOS19TSE9XX0VNQkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYTElOS19TSE9XX1JFUExBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0KLSAgICAgZCB4bGlua0FjdHVhdGUgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhMSU5LX0FDVFVBVEVfTk9ORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWExJTktfQUNUVUFURV9BVVRPLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTElOS19BQ1RVQVRFX09OUkVRVUVTVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLQotICAgICAgKiB4bGlua05vZGVEZXRlY3RGdW5jOgotICAgICAgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKLSAgICAgICogQG5vZGU6ICB0aGUgbm9kZSB0byBjaGVjawotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIHRoZSBsaW5rIGRldGVjdGlvbiByb3V0aW5lLgotICAgICAgKiBJdCBjYWxscyB0aGUgZGVmYXVsdCBsaW5rIGRldGVjdGlvbiBjYWxsYmFja3MgdXBvbiBsaW5rIGRldGVjdGlvbi4KLQotICAgICBkIHhsaW5rTm9kZURldGVjdEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBUaGUgbGluayBkZXRlY3Rpb24gbW9kdWxlIGludGVyYWN0IHdpdGggdGhlIHVwcGVyIGxheWVycyB1c2luZwotICAgICAgKiBhIHNldCBvZiBjYWxsYmFjayByZWdpc3RlcmVkIGF0IHBhcnNpbmcgdGltZS4KLQotICAgICAgKiB4bGlua1NpbXBsZUxpbmtGdW5rOgotICAgICAgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKLSAgICAgICogQG5vZGU6ICB0aGUgbm9kZSBjYXJyeWluZyB0aGUgbGluawotICAgICAgKiBAaHJlZjogIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmsKLSAgICAgICogQHJvbGU6ICB0aGUgcm9sZSBzdHJpbmcKLSAgICAgICogQHRpdGxlOiAgdGhlIGxpbmsgdGl0bGUKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIHNpbXBsZSBsaW5rIGRldGVjdGlvbiBjYWxsYmFjay4KLQotICAgICBkIHhsaW5rU2ltcGxlTGlua0Z1bmsuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bGlua0V4dGVuZGVkTGlua0Z1bms6Ci0gICAgICAqIEBjdHg6ICB1c2VyIGRhdGEgcG9pbnRlcgotICAgICAgKiBAbm9kZTogIHRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rCi0gICAgICAqIEBuYkxvY2F0b3JzOiB0aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rCi0gICAgICAqIEBocmVmczogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3IgaHJlZnMKLSAgICAgICogQHJvbGVzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciByb2xlcwotICAgICAgKiBAbmJBcmNzOiB0aGUgbnVtYmVyIG9mIGFyY3MgZGV0ZWN0ZWQgb24gdGhlIGxpbmsKLSAgICAgICogQGZyb206ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBzb3VyY2Ugcm9sZXMgZm91bmQgb24gdGhlIGFyY3MKLSAgICAgICogQHRvOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgdGFyZ2V0IHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzCi0gICAgICAqIEBzaG93OiAgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgc2hvdyBhdHRyaWJ1dGVzIGZvdW5kIG9uIHRoZSBhcmNzCi0gICAgICAqIEBhY3R1YXRlOiAgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYWN0dWF0ZSBhdHRyaWJ1dGVzIGZvdW5kIG9uIHRoZSBhcmNzCi0gICAgICAqIEBuYlRpdGxlczogdGhlIG51bWJlciBvZiB0aXRsZXMgZGV0ZWN0ZWQgb24gdGhlIGxpbmsKLSAgICAgICogQHRpdGxlOiAgYXJyYXkgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rCi0gICAgICAqIEBsYW5nczogIGFycmF5IG9mIHhtbDpsYW5nIHZhbHVlcyBmb3IgdGhlIHRpdGxlcwotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgZXh0ZW5kZWQgbGluayBkZXRlY3Rpb24gY2FsbGJhY2suCi0KLSAgICAgZCB4bGlua0V4dGVuZGVkTGlua0Z1bmsuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bGlua0V4dGVuZGVkTGlua1NldEZ1bms6Ci0gICAgICAqIEBjdHg6ICB1c2VyIGRhdGEgcG9pbnRlcgotICAgICAgKiBAbm9kZTogIHRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rCi0gICAgICAqIEBuYkxvY2F0b3JzOiB0aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rCi0gICAgICAqIEBocmVmczogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3IgaHJlZnMKLSAgICAgICogQHJvbGVzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciByb2xlcwotICAgICAgKiBAbmJUaXRsZXM6IHRoZSBudW1iZXIgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rCi0gICAgICAqIEB0aXRsZTogIGFycmF5IG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluawotICAgICAgKiBAbGFuZ3M6ICBhcnJheSBvZiB4bWw6bGFuZyB2YWx1ZXMgZm9yIHRoZSB0aXRsZXMKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgc2V0IGRldGVjdGlvbiBjYWxsYmFjay4KLQotICAgICBkIHhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuay4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIFRoaXMgaXMgdGhlIHN0cnVjdHVyZSBjb250YWluaW5nIGEgc2V0IG9mIExpbmtzIGRldGVjdGlvbiBjYWxsYmFja3MuCi0gICAgICAqCi0gICAgICAqIFRoZXJlIGlzIG5vIGRlZmF1bHQgeGxpbmsgY2FsbGJhY2tzLCBpZiBvbmUgd2FudCB0byBnZXQgbGluawotICAgICAgKiByZWNvZ25pdGlvbiBhY3RpdmF0ZWQsIHRob3NlIGNhbGwgYmFja3MgbXVzdCBiZSBwcm92aWRlZCBiZWZvcmUgcGFyc2luZy4KLQotICAgICBkIHhsaW5rSGFuZGxlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICB4bWxDaGFyICoKLQotICAgICBkIHhsaW5rSGFuZGxlciAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhsaW5rSGFuZGxlclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgc2ltcGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhsaW5rU2ltcGxlTGlua0Z1bmspCi0gICAgIGQgIGV4dGVuZGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bGlua0V4dGVuZGVkTGlua0Z1bmspCi0gICAgIGQgIHNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bGlua0V4dGVuZGVkTGlua1NldEZ1bmspCi0KLSAgICAgICogVGhlIGRlZmF1bHQgZGV0ZWN0aW9uIHJvdXRpbmUsIGNhbiBiZSBvdmVycmlkZGVuLCB0aGV5IGNhbGwgdGhlIGRlZmF1bHQKLSAgICAgICogZGV0ZWN0aW9uIGNhbGxiYWNrcy4KLQotICAgICBkIHhsaW5rR2V0RGVmYXVsdERldGVjdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3hsaW5rR2V0RGVmYXVsdERldGVjdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bGlua05vZGVEZXRlY3RGdW5jKQotCi0gICAgIGQgeGxpbmtTZXREZWZhdWx0RGV0ZWN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneGxpbmtTZXREZWZhdWx0RGV0ZWN0JykKLSAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhsaW5rTm9kZURldGVjdEZ1bmMpCi0KLSAgICAgICogUm91dGluZXMgdG8gc2V0L2dldCB0aGUgZGVmYXVsdCBoYW5kbGVycy4KLQotICAgICBkIHhsaW5rR2V0RGVmYXVsdEhhbmRsZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bGlua0dldERlZmF1bHRIYW5kbGVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhsaW5rSGFuZGxlclB0cikKLQotICAgICBkIHhsaW5rU2V0RGVmYXVsdEhhbmRsZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bGlua1NldERlZmF1bHRIYW5kbGVyJykKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhsaW5rSGFuZGxlclB0cikKLQotICAgICAgKiBMaW5rIGRldGVjdGlvbiBtb2R1bGUgaXRzZWxmLgotCi0gICAgIGQgeGxpbmtJc0xpbmsgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneGxpbmtJc0xpbmsnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeGxpbmtUeXBlKQotICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBUUl9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9YTElOS19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBlNmY3NC4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sSU8ucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0NjQgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXIKLSAgICAgICogRGVzY3JpcHRpb246IGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0lPX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX0lPX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLQotICAgICAgKiBUaG9zZSBhcmUgdGhlIGZ1bmN0aW9ucyBhbmQgZGF0YXR5cGVzIGZvciB0aGUgcGFyc2VyIGlucHV0Ci0gICAgICAqIEkvTyBzdHJ1Y3R1cmVzLgotCi0gICAgICAqIHhtbElucHV0TWF0Y2hDYWxsYmFjazoKLSAgICAgICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gZGV0ZWN0IGlmIHRoZSBjdXJyZW50IGhhbmRsZXIKLSAgICAgICogY2FuIHByb3ZpZGUgaW5wdXQgZnVuY3Rpb25hbGl0aWVzIGZvciB0aGlzIHJlc291cmNlLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIDEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCi0KLSAgICAgZCB4bWxJbnB1dE1hdGNoQ2FsbGJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxJbnB1dE9wZW5DYWxsYmFjazoKLSAgICAgICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2UKLSAgICAgICoKLSAgICAgICogUmV0dXJucyBhbiBJbnB1dCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcgotCi0gICAgIGQgeG1sSW5wdXRPcGVuQ2FsbGJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxJbnB1dFJlYWRDYWxsYmFjazoKLSAgICAgICogQGNvbnRleHQ6ICBhbiBJbnB1dCBjb250ZXh0Ci0gICAgICAqIEBidWZmZXI6ICB0aGUgYnVmZmVyIHRvIHN0b3JlIGRhdGEgcmVhZAotICAgICAgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gcmVhZCB0aGUgcmVzb3VyY2UKLSAgICAgICoKLSAgICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgotCi0gICAgIGQgeG1sSW5wdXRSZWFkQ2FsbGJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxJbnB1dENsb3NlQ2FsbGJhY2s6Ci0gICAgICAqIEBjb250ZXh0OiAgYW4gSW5wdXQgY29udGV4dAotICAgICAgKgotICAgICAgKiBDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIGNsb3NlIHRoZSByZXNvdXJjZQotICAgICAgKgotICAgICAgKiBSZXR1cm5zIDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgotCi0gICAgIGQgeG1sSW5wdXRDbG9zZUNhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLQotICAgICAgKiBUaG9zZSBhcmUgdGhlIGZ1bmN0aW9ucyBhbmQgZGF0YXR5cGVzIGZvciB0aGUgbGlicmFyeSBvdXRwdXQKLSAgICAgICogSS9PIHN0cnVjdHVyZXMuCi0KLSAgICAgICogeG1sT3V0cHV0TWF0Y2hDYWxsYmFjazoKLSAgICAgICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyCi0gICAgICAqIGNhbiBwcm92aWRlIG91dHB1dCBmdW5jdGlvbmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgMSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBPdXRwdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCi0KLSAgICAgZCB4bWxPdXRwdXRNYXRjaENhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sT3V0cHV0T3BlbkNhbGxiYWNrOgotICAgICAgKiBAZmlsZW5hbWU6IHRoZSBmaWxlbmFtZSBvciBVUkkKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2UKLSAgICAgICoKLSAgICAgICogUmV0dXJucyBhbiBPdXRwdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKLQotICAgICBkIHhtbE91dHB1dE9wZW5DYWxsYmFjay4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2s6Ci0gICAgICAqIEBjb250ZXh0OiAgYW4gT3V0cHV0IGNvbnRleHQKLSAgICAgICogQGJ1ZmZlcjogIHRoZSBidWZmZXIgb2YgZGF0YSB0byB3cml0ZQotICAgICAgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzCi0gICAgICAqCi0gICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIHdyaXRlIHRvIHRoZSByZXNvdXJjZQotICAgICAgKgotICAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yCi0KLSAgICAgZCB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sT3V0cHV0Q2xvc2VDYWxsYmFjazoKLSAgICAgICogQGNvbnRleHQ6ICBhbiBPdXRwdXQgY29udGV4dAotICAgICAgKgotICAgICAgKiBDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gT3V0cHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2UKLSAgICAgICoKLSAgICAgICogUmV0dXJucyAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKLQotICAgICBkIHhtbE91dHB1dENsb3NlQ2FsbGJhY2suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9nbG9iYWxzIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VuY29kaW5nIgotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHJlYWRjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKLSAgICAgZCAgY2xvc2VjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKLSAgICAgICoKLSAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpICAgICAgQ29udmVyc2lvbnMgLS0+IFVURjgKLSAgICAgICoKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgICAgICAgVVRGLTggbG9jYWwgYnVmZmVyCi0gICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZQdHIpICAgICAgICAgICAgICAgICAgICAgIFJhdyBpbnB1dCBidWZmZXIKLSAgICAgZCAgY29tcHJlc3NlZCAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByYXdjb25zdW1lZCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0gICAgIGQgeG1sT3V0cHV0QnVmZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgd3JpdGVjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dFdyaXRlQ2FsbGJhY2spCi0gICAgIGQgIGNsb3NlY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRDbG9zZUNhbGxiYWNrKQotICAgICAgKgotICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikgICAgICBDb252ZXJzaW9ucyAtLT4gVVRGOAotICAgICAgKgotICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICAgICAgICBVVEYtOC9JU09MYXRpbiBsb2NhbAotICAgICBkICBjb252ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIgZm9yIG91dHB1dAotICAgICBkICB3cml0dGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCAjIGJ5dGUgd3JpdHRlbgotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciBpbnB1dAotCi0gICAgIGQgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzJykKLQotICAgICBkIHhtbFBvcElucHV0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUG9wSW5wdXRDYWxsYmFja3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJykKLQotICAgICBkIHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIG1lbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKLQotICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKLSAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCi0KLSAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyR3Jvdy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVBhcnNlcklucHV0QnVmZmVyJykKLSAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotCi0gICAgIGQgeG1sUGFyc2VyR2V0RGlyZWN0b3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VyR2V0RGlyZWN0b3J5JykgICAgIGNoYXIgKgotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG1hdGNoRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dE1hdGNoQ2FsbGJhY2spCi0gICAgIGQgIG9wZW5GdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dE9wZW5DYWxsYmFjaykKLSAgICAgZCAgcmVhZEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQotICAgICBkICBjbG9zZUZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3Igb3V0cHV0Ci0KLSAgICAgZCB4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcycpCi0KLSAgICAgZCB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVnaXN0ZXJEZWZhdWx0T3VwdXRDYWxsYmFja3MnKQotCi0gICAgIGQgeG1sQWxsb2NPdXRwdXRCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBbGxvY091dHB1dEJ1ZmZlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCi0gICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCi0gICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKLSAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLQotICAgICBkIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKLQotICAgICBkIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICBpb3dyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0V3JpdGVDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dENsb3NlQ2FsbGJhY2spCi0gICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQotCi0gICAgICAqIENvdXBsZSBvZiBBUElzIHRvIGdldCB0aGUgb3V0cHV0IHdpdGhvdXQgZGlnZ2luZyBpbnRvIHRoZSBidWZmZXJzCi0KLSAgICAgZCB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCcpIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotCi0gICAgIGQgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlckdldFNpemUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3NpemVfdCkKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLQotICAgICBkIHhtbE91dHB1dEJ1ZmZlcldyaXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyV3JpdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGVzY2FwaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jKQotCi0gICAgIGQgeG1sT3V0cHV0QnVmZmVyRmx1c2guLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJGbHVzaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotCi0gICAgIGQgeG1sT3V0cHV0QnVmZmVyQ2xvc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJDbG9zZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQotCi0gICAgIGQgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBtYXRjaEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0TWF0Y2hDYWxsYmFjaykKLSAgICAgZCAgb3BlbkZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dE9wZW5DYWxsYmFjaykKLSAgICAgZCAgd3JpdGVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dFdyaXRlQ2FsbGJhY2spCi0gICAgIGQgIGNsb3NlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRDbG9zZUNhbGxiYWNrKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQotCi0gICAgICAqICBUaGlzIGZ1bmN0aW9uIG9ubHkgZXhpc3RzIGlmIEhUVFAgc3VwcG9ydCBidWlsdCBpbnRvIHRoZSBsaWJyYXJ5Ci0KLSAgICAgZCB4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9IVFRQX0VOQUJMRUQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICBkIHhtbENoZWNrSFRUUElucHV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hlY2tIVFRQSW5wdXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQotICAgICBkICByZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0KLSAgICAgICogQSBwcmVkZWZpbmVkIGVudGl0eSBsb2FkZXIgZGlzYWJsaW5nIG5ldHdvcmsgYWNjZXNzZXMKLQotICAgICBkIHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLQotICAgICAgKiB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCBpcyBvYnNvbGV0ZSwgZG9uJ3QgdXNlIGl0LgotICAgICAgKiBDaGVjayB4bWxDYW5vbmljUGF0aCBpbiB1cmkuaCBmb3IgYSBiZXR0ZXIgYWx0ZXJuYXRpdmUuCi0KLSAgICAgZCB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoJykgICB4bWxDaGFyICoKLSAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxDaGVja0ZpbGVuYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hlY2tGaWxlbmFtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICAgKiBEZWZhdWx0ICdmaWxlOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKLQotICAgICBkIHhtbEZpbGVNYXRjaCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZpbGVNYXRjaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbEZpbGVPcGVuICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEZpbGVPcGVuJykgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxGaWxlUmVhZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGaWxlUmVhZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEZpbGVDbG9zZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZpbGVDbG9zZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiBEZWZhdWx0ICdodHRwOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKLSAgICAgZCB4bWxJT0hUVFBNYXRjaCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0hUVFBNYXRjaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbElPSFRUUE9wZW4gICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbElPSFRUUE9wZW4nKSAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLSAgICAgZCB4bWxJT0hUVFBPcGVuVyAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxJT0hUVFBPcGVuVycpICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHBvc3RfdXJpICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICBkIHhtbElPSFRUUFJlYWQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElPSFRUUFJlYWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxJT0hUVFBDbG9zZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0hUVFBDbG9zZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0hUVFBfRU5BQkxFRAotCi0gICAgICAqIERlZmF1bHQgJ2Z0cDovLycgcHJvdG9jb2wgY2FsbGJhY2tzCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKLSAgICAgZCB4bWxJT0ZUUE1hdGNoICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJT0ZUUE1hdGNoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sSU9GVFBPcGVuICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSU9GVFBPcGVuJykgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbElPRlRQUmVhZCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElPRlRQUmVhZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbElPRlRQQ2xvc2UgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbElPRlRQQ2xvc2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9GVFBfRU5BQkxFRAotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9JT19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxUeXBlc0MucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sVHlwZXNDLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDQwZGMxLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxUeXBlc0MucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0gICAgICAqIEVxdWl2YWxlbnQgb2YgQyBkYXRhIHR5cGVzLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MVFlQRVNDX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MVFlQRVNDX0hfXwotCi0gICAgIGQgeG1sQ2NoYXIgICAgICAgIHMgICAgICAgICAgICAgIDNpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxDdWNoYXIgICAgICAgcyAgICAgICAgICAgICAgM3UgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkIHhtbENzaG9ydCAgICAgICBzICAgICAgICAgICAgICA1aSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgeG1sQ3VzaG9ydCAgICAgIHMgICAgICAgICAgICAgIDV1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxDaW50ICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkIHhtbEN1SW50ICAgICAgICBzICAgICAgICAgICAgIDEwdSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgeG1sQ2xvbmcgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxDdWxvbmcgICAgICAgcyAgICAgICAgICAgICAxMHUgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkIHhtbENsb25nbG9uZyAgICBzICAgICAgICAgICAgIDIwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgeG1sQ3Vsb25nbG9uZyAgIHMgICAgICAgICAgICAgMjB1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxDZW51bSAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkIHhtbENzc2l6ZV90ICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgeG1sQ3NpemVfdCAgICAgIHMgICAgICAgICAgICAgMTB1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCB4bWxDZmxvYXQgICAgICAgcyAgICAgICAgICAgICAgNGYgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkIHhtbENkb3VibGUgICAgICBzICAgICAgICAgICAgICA4ZiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgIC9lbmRpZgpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbGF1dG9tYXRhLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbGF1dG9tYXRhLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTljYzIyLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxhdXRvbWF0YS5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDE4MyArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGEKLSAgICAgICogRGVzY3JpcHRpb246IHRoZSBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfQVVUT01BVEFfSF9fKQotICAgICAgL2RlZmluZSBYTUxfQVVUT01BVEFfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxyZWdleHAiCi0KLSAgICAgICogeG1sQXV0b21hdGFQdHI6Ci0gICAgICAqCi0gICAgICAqIEEgbGlieG1sIGF1dG9tYXRhIGRlc2NyaXB0aW9uLCBJdCBjYW4gYmUgY29tcGlsZWQgaW50byBhIHJlZ2V4cAotCi0gICAgIGQgeG1sQXV0b21hdGFQdHIgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiB4bWxBdXRvbWF0YVN0YXRlUHRyOgotICAgICAgKgotICAgICAgKiBBIHN0YXRlIGludCB0aGUgYXV0b21hdGEgZGVzY3JpcHRpb24sCi0KLSAgICAgZCB4bWxBdXRvbWF0YVN0YXRlUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiBCdWlsZGluZyBBUEkKLQotICAgICBkIHhtbE5ld0F1dG9tYXRhICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0F1dG9tYXRhJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhUHRyKQotCi0gICAgIGQgeG1sRnJlZUF1dG9tYXRhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZUF1dG9tYXRhJykKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotCi0gICAgIGQgeG1sQXV0b21hdGFHZXRJbml0U3RhdGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0KLSAgICAgZCB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3U3RhdGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld1N0YXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0b2tlbjIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxBdXRvbWF0YU5ld05lZ1RyYW5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdOZWdUcmFucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHRva2VuMiAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHRva2VuMiAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB0b2tlbjIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3QWxsVHJhbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKLSAgICAgZCAgZnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBsYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3RXBzaWxvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3RXBzaWxvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLQotICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCi0gICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQotICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKLSAgICAgZCAgY291bnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxBdXRvbWF0YU5ld0NvdW50ZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld0NvdW50ZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxBdXRvbWF0YUNvbXBpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YUNvbXBpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKQotICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCi0KLSAgICAgZCB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFVVE9NQVRBX0VOQUJMRUQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1JFR0VYUF9FTkFCTEQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0FVVE9NQVRBX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbGVycm9yLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbGVycm9yLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Njg4YjM3Li4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxlcnJvci5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDE2ODYgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBlcnJvciBoYW5kbGluZwotICAgICAgKiBEZXNjcmlwdGlvbjogdGhlIEFQSSB1c2VkIHRvIHJlcG9ydCBlcnJvcnMKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9FUlJPUl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9FUlJPUl9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKLQotICAgICAgKiB4bWxFcnJvckxldmVsOgotICAgICAgKgotICAgICAgKiBJbmRpY2F0ZXMgdGhlIGxldmVsIG9mIGFuIGVycm9yCi0KLSAgICAgZCB4bWxFcnJvckxldmVsICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9FUlJfTk9ORSAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfRVJSX1dBUk5JTkcuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIHNpbXBsZSB3YXJuaW5nCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfRVJSX0VSUk9SICBjICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIHJlY292ZXJhYmxlIGVycm9yCi0gICAgIGQgIFhNTF9FUlJfRkFUQUwgIGMgICAgICAgICAgICAgICAgICAgMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgZmF0YWwgZXJyb3IKLQotICAgICAgKiB4bWxFcnJvckRvbWFpbjoKLSAgICAgICoKLSAgICAgICogSW5kaWNhdGVzIHdoZXJlIGFuIGVycm9yIG1heSBoYXZlIGNvbWUgZnJvbQotCi0gICAgIGQgeG1sRXJyb3JEb21haW4gIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfRlJPTV9OT05FICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWE1MX0ZST01fUEFSU0VSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MIHBhcnNlcgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0ZST01fVFJFRSAgYyAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJlZSBtb2R1bGUKLSAgICAgZCAgWE1MX0ZST01fTkFNRVNQQUNFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MIE5hbWVzcGFjZSBtb2R1bGUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9GUk9NX0RURCAgIGMgICAgICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERURCB2YWxpZGF0aW9uCi0gICAgIGQgIFhNTF9GUk9NX0hUTUwgIGMgICAgICAgICAgICAgICAgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUwgcGFyc2VyCi0gICAgIGQgIFhNTF9GUk9NX01FTU9SWS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeSBhbGxvY2F0b3IKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2Ci0gICAgIGQgIFhNTF9GUk9NX09VVFBVVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbGl6YXRpb24gY29kZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKLSAgICAgZCAgWE1MX0ZST01fSU8gICAgYyAgICAgICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXQvT3V0cHV0IHN0YWNrCi0gICAgIGQgIFhNTF9GUk9NX0ZUUCAgIGMgICAgICAgICAgICAgICAgICAgOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZUUCBtb2R1bGUKLSAgICAgZCAgWE1MX0ZST01fSFRUUCAgYyAgICAgICAgICAgICAgICAgICAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUCBtb2R1bGUKLSAgICAgZCAgWE1MX0ZST01fWElOQ0xVREUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEluY2x1ZGUgcHJvY2Vzc2luZwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9GUk9NX1hQQVRILi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhQYXRoIG1vZHVsZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9GUk9NX1hQT0lOVEVSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhQb2ludGVyIG1vZHVsZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCi0gICAgIGQgIFhNTF9GUk9NX1JFR0VYUC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2V4cCBtb2R1bGUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNAotICAgICBkICBYTUxfRlJPTV9EQVRBVFlQRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXM0MgWE1MIFNjaG0gRHRhdHlwZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1Ci0gICAgIGQgIFhNTF9GUk9NX1NDSEVNQVNQLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFczQyBYTUwgU2NobSBwYXJzZXIKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgotICAgICBkICBYTUxfRlJPTV9TQ0hFTUFTVi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXM0MgWE1MIFNjaG0gdmFsaWQuCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKLSAgICAgZCAgWE1MX0ZST01fUkVMQVhOR1AuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXgtTkcgcGFyc2VyCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKLSAgICAgZCAgWE1MX0ZST01fUkVMQVhOR1YuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXgtTkcgdmFsaWRhdG9yCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKLSAgICAgZCAgWE1MX0ZST01fQ0FUQUxPRy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0YWxvZyBtb2R1bGUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMAotICAgICBkICBYTUxfRlJPTV9DMTROICBjICAgICAgICAgICAgICAgICAgIDIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYW5vbmljYWxpemF0aW9uCi0gICAgIGQgIFhNTF9GUk9NX1hTTFQgIGMgICAgICAgICAgICAgICAgICAgMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuZ2luZSBmcm9tIGxpYnhzbHQKLSAgICAgZCAgWE1MX0ZST01fVkFMSUQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFREIHZhbGlkLiB3LyBjdHh0Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjMKLSAgICAgZCAgWE1MX0ZST01fQ0hFQ0suLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgY2hlY2sgbW9kdWxlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjQKLSAgICAgZCAgWE1MX0ZST01fV1JJVEVSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sd3JpdGVyIG1vZHVsZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI1Ci0gICAgIGQgIFhNTF9GUk9NX01PRFVMRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIER5bi4gbG9hZGVkIG1vZHVsZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2Ci0gICAgIGQgIFhNTF9GUk9NX0kxOE4gIGMgICAgICAgICAgICAgICAgICAgMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZCBoZGxnIGNoYXIgY29udgotICAgICBkICBYTUxfRlJPTV9TQ0hFTUFUUk9OVi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlbWF0cm9uIHZhbGlkCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjgKLSAgICAgZCAgWE1MX0ZST01fQlVGRkVSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVycyBtb2R1bGUKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyOQotICAgICBkICBYTUxfRlJPTV9VUkkgICBjICAgICAgICAgICAgICAgICAgIDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkkgbW9kdWxlCi0KLSAgICAgICogeG1sRXJyb3I6Ci0gICAgICAqCi0gICAgICAqIEFuIFhNTCBFcnJvciBpbnN0YW5jZS4KLQotICAgICBkIHhtbEVycm9yUHRyICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxFcnJvciAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxFcnJvclB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgZG9tYWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGlicGFydCByYWlzaW5nIGVycgotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCi0gICAgIGQgIG1lc3NhZ2UgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXJyb3JMZXZlbCkgICAgICAgICAgICAgICAgICBFcnJvciBzZXZlcml0eQotICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIG5hbWUKLSAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGluZSBudW1iZXIKLSAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCi0gICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgotICAgICBkICBzdHIzICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgaW50MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRXh0cmEgbnVtYmVyIGluZm8KLSAgICAgZCAgaW50MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgY29sdW1uCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiB4bWxQYXJzZXJFcnJvcjoKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyBhbiBlcnJvciB0aGF0IHRoZSBYTUwgKG9yIEhUTUwpIHBhcnNlciBjYW4gZ2VuZXJhdGUKLQotICAgICBkIHhtbFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX0VSUl9PSyAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhNTF9FUlJfSU5URVJOQUxfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9FUlJfTk9fTUVNT1JZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYTUxfRVJSX0RPQ1VNRU5UX1NUQVJULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotICAgICBkICBYTUxfRVJSX0RPQ1VNRU5UX0VORC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLSAgICAgZCAgWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhNTF9FUlJfSU5WQUxJRF9DSEFSUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOAotICAgICBkICBYTUxfRVJSX0lOVkFMSURfQ0hBUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKLSAgICAgZCAgWE1MX0VSUl9DSEFSUkVGX0FUX0VPRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0cuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQotICAgICBkICBYTUxfRVJSX0NIQVJSRUZfSU5fRVBJTE9HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKLSAgICAgZCAgWE1MX0VSUl9DSEFSUkVGX0lOX0RURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCi0gICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX0FUX0VPRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0Ci0gICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1Ci0gICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2Ci0gICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX0lOX0RURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3Ci0gICAgIGQgIFhNTF9FUlJfUEVSRUZfQVRfRU9GLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKLSAgICAgZCAgWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0cuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOQotICAgICBkICBYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCi0gICAgIGQgIFhNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCi0gICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX05PX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgotICAgICBkICBYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMwotICAgICBkICBYTUxfRVJSX1BFUkVGX05PX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNAotICAgICBkICBYTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI1Ci0gICAgIGQgIFhNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNgotICAgICBkICBYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjcKLSAgICAgZCAgWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyOAotICAgICBkICBYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI5Ci0gICAgIGQgIFhNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwCi0gICAgIGQgIFhNTF9FUlJfVU5LTk9XTl9FTkNPRElORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMxCi0gICAgIGQgIFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMgotICAgICBkICBYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMzCi0gICAgIGQgIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzNAotICAgICBkICBYTUxfRVJSX05TX0RFQ0xfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzNQotICAgICBkICBYTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM2Ci0gICAgIGQgIFhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM3Ci0gICAgIGQgIFhNTF9FUlJfTFRfSU5fQVRUUklCVVRFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzgKLSAgICAgZCAgWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzOQotICAgICBkICBYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MAotICAgICBkICBYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDEKLSAgICAgZCAgWE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDIKLSAgICAgZCAgWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDMKLSAgICAgZCAgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ0Ci0gICAgIGQgIFhNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0NQotICAgICBkICBYTUxfRVJSX1BJX05PVF9TVEFSVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDYKLSAgICAgZCAgWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0NwotICAgICBkICBYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDgKLSAgICAgZCAgWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0OQotICAgICBkICBYTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MAotICAgICBkICBYTUxfRVJSX0FUVExJU1RfTk9UX0ZJTklTSEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTEKLSAgICAgZCAgWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyCi0gICAgIGQgIFhNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTMKLSAgICAgZCAgWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU0Ci0gICAgIGQgIFhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTUKLSAgICAgZCAgWE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTYKLSAgICAgZCAgWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU3Ci0gICAgIGQgIFhNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU4Ci0gICAgIGQgIFhNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1OQotICAgICBkICBYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjAKLSAgICAgZCAgWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYxCi0gICAgIGQgIFhNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYyCi0gICAgIGQgIFhNTF9FUlJfQ0RBVEFfTk9UX0ZJTklTSEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjMKLSAgICAgZCAgWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDY0Ci0gICAgIGQgIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2NQotICAgICBkICBYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDY2Ci0gICAgIGQgIFhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDY3Ci0gICAgIGQgIFhNTF9FUlJfTkFNRV9SRVFVSVJFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDY4Ci0gICAgIGQgIFhNTF9FUlJfUENEQVRBX1JFUVVJUkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjkKLSAgICAgZCAgWE1MX0VSUl9VUklfUkVRVUlSRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3MAotICAgICBkICBYTUxfRVJSX1BVQklEX1JFUVVJUkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzEKLSAgICAgZCAgWE1MX0VSUl9MVF9SRVFVSVJFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcyCi0gICAgIGQgIFhNTF9FUlJfR1RfUkVRVUlSRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3MwotICAgICBkICBYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3NAotICAgICBkICBYTUxfRVJSX0VRVUFMX1JFUVVJUkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzUKLSAgICAgZCAgWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDc2Ci0gICAgIGQgIFhNTF9FUlJfVEFHX05PVF9GSU5JU0hFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDc3Ci0gICAgIGQgIFhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDc4Ci0gICAgIGQgIFhNTF9FUlJfRU5DT0RJTkdfTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDc5Ci0gICAgIGQgIFhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4MAotICAgICBkICBYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4MQotICAgICBkICBYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgyCi0gICAgIGQgIFhNTF9FUlJfQ09ORFNFQ19JTlZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgODMKLSAgICAgZCAgWE1MX0VSUl9WQUxVRV9SRVFVSVJFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDg0Ci0gICAgIGQgIFhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4NQotICAgICBkICBYTUxfRVJSX0VYVFJBX0NPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4NgotICAgICBkICBYTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgODcKLSAgICAgZCAgWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4OAotICAgICBkICBYTUxfRVJSX0VOVElUWV9MT09QLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgODkKLSAgICAgZCAgWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5MAotICAgICBkICBYTUxfRVJSX0lOVkFMSURfVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOTEKLSAgICAgZCAgWE1MX0VSUl9VUklfRlJBR01FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5MgotICAgICBkICBYTUxfV0FSX0NBVEFMT0dfUEkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5MwotICAgICBkICBYTUxfRVJSX05PX0RURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDk0Ci0gICAgIGQgIFhNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5NQotICAgICBkICBYTUxfRVJSX1ZFUlNJT05fTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDk2Ci0gICAgIGQgIFhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOTcKLSAgICAgZCAgWE1MX1dBUl9MQU5HX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOTgKLSAgICAgZCAgWE1MX1dBUl9OU19VUkkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5OQotICAgICBkICBYTUxfV0FSX05TX1VSSV9SRUxBVElWRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMAotICAgICBkICBYTUxfRVJSX01JU1NJTkdfRU5DT0RJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDEKLSAgICAgZCAgWE1MX1dBUl9TUEFDRV9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMgotICAgICBkICBYTUxfRVJSX05PVF9TVEFOREFMT05FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzCi0gICAgIGQgIFhNTF9FUlJfRU5USVRZX1BST0NFU1NJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQKLSAgICAgZCAgWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1Ci0gICAgIGQgIFhNTF9XQVJfTlNfQ09MVU1OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2Ci0gICAgIGQgIFhNTF9XQVJfRU5USVRZX1JFREVGSU5FRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNwotICAgICBkICBYTUxfRVJSX1VOS05PV05fVkVSU0lPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOAotICAgICBkICBYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0guLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDkKLSAgICAgZCAgWE1MX0VSUl9OQU1FX1RPT19MT05HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwCi0gICAgIGQgIFhNTF9FUlJfVVNFUl9TVE9QLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExCi0gICAgIGQgIFhNTF9OU19FUlJfWE1MX05BTUVTUEFDRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMAotICAgICBkICBYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDEKLSAgICAgZCAgWE1MX05TX0VSUl9RTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMgotICAgICBkICBYTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDMKLSAgICAgZCAgWE1MX05TX0VSUl9FTVBUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwNAotICAgICBkICBYTUxfTlNfRVJSX0NPTE9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjA1Ci0gICAgIGQgIFhNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDAKLSAgICAgZCAgWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxCi0gICAgIGQgIFhNTF9EVERfQVRUUklCVVRFX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyCi0gICAgIGQgIFhNTF9EVERfQ09OVEVOVF9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMwotICAgICBkICBYTUxfRFREX0NPTlRFTlRfTU9ERUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDQKLSAgICAgZCAgWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwNQotICAgICBkICBYTUxfRFREX0RJRkZFUkVOVF9QUkVGSVguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDYKLSAgICAgZCAgWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTA3Ci0gICAgIGQgIFhNTF9EVERfRUxFTV9OQU1FU1BBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDgKLSAgICAgZCAgWE1MX0RURF9FTEVNX1JFREVGSU5FRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwOQotICAgICBkICBYTUxfRFREX0VNUFRZX05PVEFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTEwCi0gICAgIGQgIFhNTF9EVERfRU5USVRZX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTEKLSAgICAgZCAgWE1MX0RURF9JRF9GSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxMgotICAgICBkICBYTUxfRFREX0lEX1JFREVGSU5FRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxMwotICAgICBkICBYTUxfRFREX0lEX1NVQlNFVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxNAotICAgICBkICBYTUxfRFREX0lOVkFMSURfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTUKLSAgICAgZCAgWE1MX0RURF9JTlZBTElEX0RFRkFVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTYKLSAgICAgZCAgWE1MX0RURF9MT0FEX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTE3Ci0gICAgIGQgIFhNTF9EVERfTUlTU0lOR19BVFRSSUJVVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTgKLSAgICAgZCAgWE1MX0RURF9NSVhFRF9DT1JSVVBULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTE5Ci0gICAgIGQgIFhNTF9EVERfTVVMVElQTEVfSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjAKLSAgICAgZCAgWE1MX0RURF9OT19ET0MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjEKLSAgICAgZCAgWE1MX0RURF9OT19EVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjIKLSAgICAgZCAgWE1MX0RURF9OT19FTEVNX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjMKLSAgICAgZCAgWE1MX0RURF9OT19QUkVGSVguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjQKLSAgICAgZCAgWE1MX0RURF9OT19ST09ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTI1Ci0gICAgIGQgIFhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTI2Ci0gICAgIGQgIFhNTF9EVERfTk9UQVRJT05fVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjcKLSAgICAgZCAgWE1MX0RURF9OT1RfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjgKLSAgICAgZCAgWE1MX0RURF9OT1RfUENEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTI5Ci0gICAgIGQgIFhNTF9EVERfTk9UX1NUQU5EQUxPTkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzAKLSAgICAgZCAgWE1MX0RURF9ST09UX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzEKLSAgICAgZCAgWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTMyCi0gICAgIGQgIFhNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzMKLSAgICAgZCAgWE1MX0RURF9VTktOT1dOX0VMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzQKLSAgICAgZCAgWE1MX0RURF9VTktOT1dOX0VOVElUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzNQotICAgICBkICBYTUxfRFREX1VOS05PV05fSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzYKLSAgICAgZCAgWE1MX0RURF9VTktOT1dOX05PVEFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTM3Ci0gICAgIGQgIFhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzgKLSAgICAgZCAgWE1MX0RURF9YTUxJRF9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzOQotICAgICBkICBYTUxfRFREX1hNTElEX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1NDAKLSAgICAgZCAgWE1MX0RURF9EVVBfVE9LRU4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1NDEKLSAgICAgZCAgWE1MX0hUTUxfU1RSVUNVUkVfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4MDAKLSAgICAgZCAgWE1MX0hUTUxfVU5LTk9XTl9UQUcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4MDEKLSAgICAgZCAgWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMAotICAgICBkICBYTUxfUk5HUF9BVFRSX0NPTkZMSUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMQotICAgICBkICBYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAyCi0gICAgIGQgIFhNTF9STkdQX0FUVFJJQlVURV9DT05URU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMwotICAgICBkICBYTUxfUk5HUF9BVFRSSUJVVEVfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA0Ci0gICAgIGQgIFhNTF9STkdQX0FUVFJJQlVURV9OT09QLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNQotICAgICBkICBYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDYKLSAgICAgZCAgWE1MX1JOR1BfQ0hPSUNFX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNwotICAgICBkICBYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDgKLSAgICAgZCAgWE1MX1JOR1BfREFUQV9DT05URU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwOQotICAgICBkICBYTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxMAotICAgICBkICBYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTEKLSAgICAgZCAgWE1MX1JOR1BfREVGSU5FX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxMgotICAgICBkICBYTUxfUk5HUF9ERUZJTkVfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTMKLSAgICAgZCAgWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTQKLSAgICAgZCAgWE1MX1JOR1BfRUxFTV9DT05URU5UX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxNQotICAgICBkICBYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDE2Ci0gICAgIGQgIFhNTF9STkdQX0VMRU1FTlRfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDE3Ci0gICAgIGQgIFhNTF9STkdQX0VMRU1FTlRfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTgKLSAgICAgZCAgWE1MX1JOR1BfRUxFTUVOVF9OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxOQotICAgICBkICBYTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDIwCi0gICAgIGQgIFhNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjEKLSAgICAgZCAgWE1MX1JOR1BfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDIyCi0gICAgIGQgIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjMKLSAgICAgZCAgWE1MX1JOR1BfRU1QVFlfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjQKLSAgICAgZCAgWE1MX1JOR1BfRU1QVFlfTk9UX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyNQotICAgICBkICBYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjYKLSAgICAgZCAgWE1MX1JOR1BfRVhDRVBUX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyNwotICAgICBkICBYTUxfUk5HUF9FWENFUFRfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjgKLSAgICAgZCAgWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyOQotICAgICBkICBYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMzAKLSAgICAgZCAgWE1MX1JOR1BfRVhURVJOQUxSRUZfRU1UUFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDMxCi0gICAgIGQgIFhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzMgotICAgICBkICBYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzMwotICAgICBkICBYTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzNAotICAgICBkICBYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDM1Ci0gICAgIGQgIFhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMzYKLSAgICAgZCAgWE1MX1JOR1BfR1JBTU1BUl9FTVBUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMzcKLSAgICAgZCAgWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzOAotICAgICBkICBYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzOQotICAgICBkICBYTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0MAotICAgICBkICBYTUxfUk5HUF9IUkVGX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0MQotICAgICBkICBYTUxfUk5HUF9JTkNMVURFX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0MgotICAgICBkICBYTUxfUk5HUF9JTkNMVURFX0ZBSUxVUkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQzCi0gICAgIGQgIFhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNDQKLSAgICAgZCAgWE1MX1JOR1BfSU5URVJMRUFWRV9BREQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQ1Ci0gICAgIGQgIFhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNDYKLSAgICAgZCAgWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNDcKLSAgICAgZCAgWE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0OAotICAgICBkICBYTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0OQotICAgICBkICBYTUxfUk5HUF9JTlZBTElEX1VSSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTAKLSAgICAgZCAgWE1MX1JOR1BfSU5WQUxJRF9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTEKLSAgICAgZCAgWE1MX1JOR1BfTUlTU0lOR19IUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1MgotICAgICBkICBYTUxfUk5HUF9OQU1FX01JU1NJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDUzCi0gICAgIGQgIFhNTF9STkdQX05FRURfQ09NQklORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTQKLSAgICAgZCAgWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDU1Ci0gICAgIGQgIFhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1NgotICAgICBkICBYTUxfUk5HUF9OU05BTUVfTk9fTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDU3Ci0gICAgIGQgIFhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTgKLSAgICAgZCAgWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1OQotICAgICBkICBYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjAKLSAgICAgZCAgWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjEKLSAgICAgZCAgWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDYyCi0gICAgIGQgIFhNTF9STkdQX1BBUkVOVFJFRl9OT19QQVJFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDYzCi0gICAgIGQgIFhNTF9STkdQX1BBUkVOVFJFRl9OT1RfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDY0Ci0gICAgIGQgIFhNTF9STkdQX1BBUlNFX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2NQotICAgICBkICBYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjYKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0FUVFJfQVRUUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjcKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0FUVFJfRUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjgKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0FUVFIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDY5Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3MAotICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDcxCi0gICAgIGQgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzIKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0lOVEVSTEVBVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDczCi0gICAgIGQgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3NAotICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzUKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzYKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDc3Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9MSVNUX0FUVFIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDc4Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9MSVNUX0VMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDc5Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDgwCi0gICAgIGQgIFhNTF9STkdQX1BBVF9MSVNUX0xJU1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDgxCi0gICAgIGQgIFhNTF9STkdQX1BBVF9MSVNUX1JFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODIKLSAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfVEVYVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODMKLSAgICAgZCAgWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODQKLSAgICAgZCAgWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfTlNOQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4NQotICAgICBkICBYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4NgotICAgICBkICBYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDg3Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9BVFRSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4OAotICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODkKLSAgICAgZCAgWE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA5MAotICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfR1JPVVAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDkxCi0gICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA5MgotICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfTElTVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTMKLSAgICAgZCAgWE1MX1JOR1BfUEFUX1NUQVJUX09ORU1PUkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk0Ci0gICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9URVhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA5NQotICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk2Ci0gICAgIGQgIFhNTF9STkdQX1BSRUZJWF9VTkRFRklORUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk3Ci0gICAgIGQgIFhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA5OAotICAgICBkICBYTUxfUk5HUF9SRUZfQ1lDTEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk5Ci0gICAgIGQgIFhNTF9STkdQX1JFRl9OQU1FX0lOVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTAwCi0gICAgIGQgIFhNTF9STkdQX1JFRl9OT19ERUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTAxCi0gICAgIGQgIFhNTF9STkdQX1JFRl9OT19OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwMgotICAgICBkICBYTUxfUk5HUF9SRUZfTk9UX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwMwotICAgICBkICBYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTA0Ci0gICAgIGQgIFhNTF9STkdQX1NUQVJUX0NPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTA1Ci0gICAgIGQgIFhNTF9STkdQX1NUQVJUX0VNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwNgotICAgICBkICBYTUxfUk5HUF9TVEFSVF9NSVNTSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwNwotICAgICBkICBYTUxfUk5HUF9URVhUX0VYUEVDVEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwOAotICAgICBkICBYTUxfUk5HUF9URVhUX0hBU19DSElMRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMDkKLSAgICAgZCAgWE1MX1JOR1BfVFlQRV9NSVNTSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExMAotICAgICBkICBYTUxfUk5HUF9UWVBFX05PVF9GT1VORC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTEKLSAgICAgZCAgWE1MX1JOR1BfVFlQRV9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTIKLSAgICAgZCAgWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTEzCi0gICAgIGQgIFhNTF9STkdQX1VOS05PV05fQ09NQklORS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTQKLSAgICAgZCAgWE1MX1JOR1BfVU5LTk9XTl9DT05TVFJVQ1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTE1Ci0gICAgIGQgIFhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTE2Ci0gICAgIGQgIFhNTF9STkdQX1VSSV9GUkFHTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTcKLSAgICAgZCAgWE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTgKLSAgICAgZCAgWE1MX1JOR1BfVkFMVUVfRU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTE5Ci0gICAgIGQgIFhNTF9STkdQX1ZBTFVFX05PX0NPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTIwCi0gICAgIGQgIFhNTF9STkdQX1hNTE5TX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTIxCi0gICAgIGQgIFhNTF9STkdQX1hNTF9OUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMjIKLSAgICAgZCAgWE1MX1hQQVRIX0VYUFJFU1NJT05fT0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjAwCi0gICAgIGQgIFhNTF9YUEFUSF9OVU1CRVJfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjAxCi0gICAgIGQgIFhNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjAyCi0gICAgIGQgIFhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIwMwotICAgICBkICBYTUxfWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIwNAotICAgICBkICBYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjA1Ci0gICAgIGQgIFhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDYKLSAgICAgZCAgWE1MX1hQQVRIX0VYUFJfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjA3Ci0gICAgIGQgIFhNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDgKLSAgICAgZCAgWE1MX1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDkKLSAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfT1BFUkFORC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTAKLSAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfVFlQRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTEKLSAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfQVJJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjEyCi0gICAgIGQgIFhNTF9YUEFUSF9JTlZBTElEX0NUWFRfU0laRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTMKLSAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTQKLSAgICAgZCAgWE1MX1hQQVRIX01FTU9SWV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTUKLSAgICAgZCAgWE1MX1hQVFJfU1lOVEFYX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxNgotICAgICBkICBYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTcKLSAgICAgZCAgWE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxOAotICAgICBkICBYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxOQotICAgICBkICBYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjIwCi0gICAgIGQgIFhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjMxCi0gICAgIGQgIFhNTF9UUkVFX0lOVkFMSURfSEVYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMwMAotICAgICBkICBYTUxfVFJFRV9JTlZBTElEX0RFQy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzMDEKLSAgICAgZCAgWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzMDIKLSAgICAgZCAgWE1MX1RSRUVfTk9UX1VURjguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMzAzCi0gICAgIGQgIFhNTF9TQVZFX05PVF9VVEY4Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQwMAotICAgICBkICBYTUxfU0FWRV9DSEFSX0lOVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNDAxCi0gICAgIGQgIFhNTF9TQVZFX05PX0RPQ1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNDAyCi0gICAgIGQgIFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNDAzCi0gICAgIGQgIFhNTF9SRUdFWFBfQ09NUElMRV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0MDMKLSAgICAgZCAgWE1MX0lPX1VOS05PV04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTAwCi0gICAgIGQgIFhNTF9JT19FQUNDRVMgIGMgICAgICAgICAgICAgICAgICAgMTUwMQotICAgICBkICBYTUxfSU9fRUFHQUlOICBjICAgICAgICAgICAgICAgICAgIDE1MDIKLSAgICAgZCAgWE1MX0lPX0VCQURGICAgYyAgICAgICAgICAgICAgICAgICAxNTAzCi0gICAgIGQgIFhNTF9JT19FQkFETVNHLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUwNAotICAgICBkICBYTUxfSU9fRUJVU1kgICBjICAgICAgICAgICAgICAgICAgIDE1MDUKLSAgICAgZCAgWE1MX0lPX0VDQU5DRUxFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MDYKLSAgICAgZCAgWE1MX0lPX0VDSElMRCAgYyAgICAgICAgICAgICAgICAgICAxNTA3Ci0gICAgIGQgIFhNTF9JT19FREVBRExLLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUwOAotICAgICBkICBYTUxfSU9fRURPTSAgICBjICAgICAgICAgICAgICAgICAgIDE1MDkKLSAgICAgZCAgWE1MX0lPX0VFWElTVCAgYyAgICAgICAgICAgICAgICAgICAxNTEwCi0gICAgIGQgIFhNTF9JT19FRkFVTFQgIGMgICAgICAgICAgICAgICAgICAgMTUxMQotICAgICBkICBYTUxfSU9fRUZCSUcgICBjICAgICAgICAgICAgICAgICAgIDE1MTIKLSAgICAgZCAgWE1MX0lPX0VJTlBST0dSRVNTLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUxMwotICAgICBkICBYTUxfSU9fRUlOVFIgICBjICAgICAgICAgICAgICAgICAgIDE1MTQKLSAgICAgZCAgWE1MX0lPX0VJTlZBTCAgYyAgICAgICAgICAgICAgICAgICAxNTE1Ci0gICAgIGQgIFhNTF9JT19FSU8gICAgIGMgICAgICAgICAgICAgICAgICAgMTUxNgotICAgICBkICBYTUxfSU9fRUlTRElSICBjICAgICAgICAgICAgICAgICAgIDE1MTcKLSAgICAgZCAgWE1MX0lPX0VNRklMRSAgYyAgICAgICAgICAgICAgICAgICAxNTE4Ci0gICAgIGQgIFhNTF9JT19FTUxJTksgIGMgICAgICAgICAgICAgICAgICAgMTUxOQotICAgICBkICBYTUxfSU9fRU1TR1NJWkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTIwCi0gICAgIGQgIFhNTF9JT19FTkFNRVRPT0xPTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTIxCi0gICAgIGQgIFhNTF9JT19FTkZJTEUgIGMgICAgICAgICAgICAgICAgICAgMTUyMgotICAgICBkICBYTUxfSU9fRU5PREVWICBjICAgICAgICAgICAgICAgICAgIDE1MjMKLSAgICAgZCAgWE1MX0lPX0VOT0VOVCAgYyAgICAgICAgICAgICAgICAgICAxNTI0Ci0gICAgIGQgIFhNTF9JT19FTk9FWEVDLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUyNQotICAgICBkICBYTUxfSU9fRU5PTENLICBjICAgICAgICAgICAgICAgICAgIDE1MjYKLSAgICAgZCAgWE1MX0lPX0VOT01FTSAgYyAgICAgICAgICAgICAgICAgICAxNTI3Ci0gICAgIGQgIFhNTF9JT19FTk9TUEMgIGMgICAgICAgICAgICAgICAgICAgMTUyOAotICAgICBkICBYTUxfSU9fRU5PU1lTICBjICAgICAgICAgICAgICAgICAgIDE1MjkKLSAgICAgZCAgWE1MX0lPX0VOT1RESVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTMwCi0gICAgIGQgIFhNTF9JT19FTk9URU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTMxCi0gICAgIGQgIFhNTF9JT19FTk9UU1VQLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUzMgotICAgICBkICBYTUxfSU9fRU5PVFRZICBjICAgICAgICAgICAgICAgICAgIDE1MzMKLSAgICAgZCAgWE1MX0lPX0VOWElPICAgYyAgICAgICAgICAgICAgICAgICAxNTM0Ci0gICAgIGQgIFhNTF9JT19FUEVSTSAgIGMgICAgICAgICAgICAgICAgICAgMTUzNQotICAgICBkICBYTUxfSU9fRVBJUEUgICBjICAgICAgICAgICAgICAgICAgIDE1MzYKLSAgICAgZCAgWE1MX0lPX0VSQU5HRSAgYyAgICAgICAgICAgICAgICAgICAxNTM3Ci0gICAgIGQgIFhNTF9JT19FUk9GUyAgIGMgICAgICAgICAgICAgICAgICAgMTUzOAotICAgICBkICBYTUxfSU9fRVNQSVBFICBjICAgICAgICAgICAgICAgICAgIDE1MzkKLSAgICAgZCAgWE1MX0lPX0VTUkNIICAgYyAgICAgICAgICAgICAgICAgICAxNTQwCi0gICAgIGQgIFhNTF9JT19FVElNRURPVVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTQxCi0gICAgIGQgIFhNTF9JT19FWERFViAgIGMgICAgICAgICAgICAgICAgICAgMTU0MgotICAgICBkICBYTUxfSU9fTkVUV09SS19BVFRFTVBULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU0MwotICAgICBkICBYTUxfSU9fRU5DT0RFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NDQKLSAgICAgZCAgWE1MX0lPX0ZMVVNIICAgYyAgICAgICAgICAgICAgICAgICAxNTQ1Ci0gICAgIGQgIFhNTF9JT19XUklURSAgIGMgICAgICAgICAgICAgICAgICAgMTU0NgotICAgICBkICBYTUxfSU9fTk9fSU5QVVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTQ3Ci0gICAgIGQgIFhNTF9JT19CVUZGRVJfRlVMTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NDgKLSAgICAgZCAgWE1MX0lPX0xPQURfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTQ5Ci0gICAgIGQgIFhNTF9JT19FTk9UU09DSy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTAKLSAgICAgZCAgWE1MX0lPX0VJU0NPTk4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTUxCi0gICAgIGQgIFhNTF9JT19FQ09OTlJFRlVTRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTUyCi0gICAgIGQgIFhNTF9JT19FTkVUVU5SRUFDSC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTMKLSAgICAgZCAgWE1MX0lPX0VBRERSSU5VU0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTU0Ci0gICAgIGQgIFhNTF9JT19FQUxSRUFEWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTUKLSAgICAgZCAgWE1MX0lPX0VBRk5PU1VQUE9SVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTYKLSAgICAgZCAgWE1MX1hJTkNMVURFX1JFQ1VSU0lPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDAKLSAgICAgZCAgWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwMQotICAgICBkICBYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDIKLSAgICAgZCAgWE1MX1hJTkNMVURFX05PX0hSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjAzCi0gICAgIGQgIFhNTF9YSU5DTFVERV9OT19GQUxMQkFDSy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDQKLSAgICAgZCAgWE1MX1hJTkNMVURFX0hSRUZfVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwNQotICAgICBkICBYTUxfWElOQ0xVREVfVEVYVF9GUkFHTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDYKLSAgICAgZCAgWE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjA3Ci0gICAgIGQgIFhNTF9YSU5DTFVERV9JTlZBTElEX0NIQVIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjA4Ci0gICAgIGQgIFhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjA5Ci0gICAgIGQgIFhNTF9YSU5DTFVERV9VTktOT1dOX0VOQ09ESU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxMAotICAgICBkICBYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MTEKLSAgICAgZCAgWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxMgotICAgICBkICBYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjEzCi0gICAgIGQgIFhNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjE0Ci0gICAgIGQgIFhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MTUKLSAgICAgZCAgWE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxNgotICAgICBkICBYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MTcKLSAgICAgZCAgWE1MX1hJTkNMVURFX0ZSQUdNRU5UX0lELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxOAotICAgICBkICBYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjUwCi0gICAgIGQgIFhNTF9DQVRBTE9HX0VOVFJZX0JST0tFTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2NTEKLSAgICAgZCAgWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTY1MgotICAgICBkICBYTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2NTMKLSAgICAgZCAgWE1MX0NBVEFMT0dfUkVDVVJTSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTY1NAotICAgICBkICBYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwMAotICAgICBkICBYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzAxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwMgotICAgICBkICBYTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDMKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwNAotICAgICBkICBYTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzA1Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwNgotICAgICBkICBYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDcKLSAgICAgZCAgWE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzA4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzA5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MTAKLSAgICAgZCAgWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxMQotICAgICBkICBYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxMgotICAgICBkICBYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzEzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQk9PTEVBTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MTQKLSAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxNQotICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxNgotICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxNwotICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MTgKLSAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzE5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfUkVGX0FORF9TVUJUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyMAotICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyMQotICAgICBkICBYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzIyCi0gICAgIGQgIFhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzIzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MjQKLSAgICAgZCAgWE1MX1NDSEVNQVBfUkVGX0FORF9TVUJUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyNQotICAgICBkICBYTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzI2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyNwotICAgICBkICBYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyOAotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0FMTF9DSElMRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MjkKLSAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzMwCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MzEKLSAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczMgotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MzMKLSAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQ0hPSUNFX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczNQotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczNgotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczNwotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczOQotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc0MAotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQyCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc0MwotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ1Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fUkVGLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc0NwotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc0OAotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzUwCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTEKLSAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVUWVBFX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc1MgotICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzUzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzU0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTUKLSAgICAgZCAgWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzU2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc1NwotICAgICBkICBYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc1OAotICAgICBkICBYTUxfU0NIRU1BUF9OT1JPT1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzU5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9HUk9VUC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NjAKLSAgICAgZCAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzYxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9FTEVNRU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2MgotICAgICBkICBYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUkdST1VQLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2MwotICAgICBkICBYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NjQKLSAgICAgZCAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2NQotICAgICBkICBYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzY2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2NwotICAgICBkICBYTUxfU0NIRU1BUF9ERUZfQU5EX1BSRUZJWC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NjgKLSAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2OQotICAgICBkICBYTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT1RfVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc3MAotICAgICBkICBYTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT19VUkkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzcxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX05PVF9TQ0hFTUEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzcyCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzczCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzc0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1JFQ1VSU0lWRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzUKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1VQRVJOVU1FUk9VU19MSVNUX0lURU1fVFlQRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzYKLSAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc3NwotICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc3OAotICAgICBkICBYTUxfU0NIRU1BUF9NSVNTSU5HX1NJTVBMRVRZUEVfQ0hJTEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzc5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc4MAotICAgICBkICBYTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzgxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODIKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc4MwotICAgICBkICBYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzg0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODUKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc4NgotICAgICBkICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzg3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzg4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzg5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5MAotICAgICBkICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzkxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5MgotICAgICBkICBYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5MwotICAgICBkICBYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzk0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5NQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3OTYKLSAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzk3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5OAotICAgICBkICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3OTkKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwMAotICAgICBkICBYTUxfU0NIRU1BVl9OT1JPT1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODAxCi0gICAgIGQgIFhNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwMgotICAgICBkICBYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDMKLSAgICAgZCAgWE1MX1NDSEVNQVZfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDQKLSAgICAgZCAgWE1MX1NDSEVNQVZfV1JPTkdFTEVNLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwNQotICAgICBkICBYTUxfU0NIRU1BVl9OT1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODA2Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX05PUk9MTEJBQ0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODA3Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODA4Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX05PVEVNUFRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwOQotICAgICBkICBYTUxfU0NIRU1BVl9FTEVNQ09OVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTAKLSAgICAgZCAgWE1MX1NDSEVNQVZfSEFWRURFRkFVTFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODExCi0gICAgIGQgIFhNTF9TQ0hFTUFWX05PVE5JTExBQkxFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxMgotICAgICBkICBYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODEzCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0lOVkFMSURBVFRSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxNAotICAgICBkICBYTUxfU0NIRU1BVl9JTlZBTElERUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTUKLSAgICAgZCAgWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODE2Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NPTlNUUlVDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTcKLSAgICAgZCAgWE1MX1NDSEVNQVZfSU5URVJOQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODE4Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX05PVFNJTVBMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTkKLSAgICAgZCAgWE1MX1NDSEVNQVZfQVRUUlVOS05PV04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODIwCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0FUVFJJTlZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyMQotICAgICBkICBYTUxfU0NIRU1BVl9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjIKLSAgICAgZCAgWE1MX1NDSEVNQVZfRkFDRVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODIzCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjQKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyNQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODI2Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyNwotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjgKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyOQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzMAotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzMQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzMgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzMwotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzNAotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzNQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfTUFYRVhDTFVTSVZFX1ZBTElELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzNgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODM3Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MzgKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODM5Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDAKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODQxCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0MgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDMKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODQ0Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDUKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0NgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDcKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDgKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDkKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODUwCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1MQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTIKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTMKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTQKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTUKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1NgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTcKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODU4Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTkKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF83Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2MAotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODYxCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NjIKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2MwotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY0Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2NQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2NgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2NwotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY4Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2OQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NzAKLSAgICAgZCAgWE1MX1NDSEVNQVZfRUxFTUVOVF9DT05URU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3MQotICAgICBkICBYTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODcyCi0gICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NzMKLSAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0FVLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3NAotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfVFlQRV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3NQotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfVFlQRV8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3NgotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfSURDLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3NwotICAgICBkICBYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc4Ci0gICAgIGQgIFhNTF9TQ0hFTUFWX01JU0MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc5Ci0gICAgIGQgIFhNTF9YUFRSX1VOS05PV05fU0NIRU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkwMAotICAgICBkICBYTUxfWFBUUl9DSElMRFNFUV9TVEFSVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5MDEKLSAgICAgZCAgWE1MX1hQVFJfRVZBTF9GQUlMRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTAyCi0gICAgIGQgIFhNTF9YUFRSX0VYVFJBX09CSkVDVFMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTAzCi0gICAgIGQgIFhNTF9DMTROX0NSRUFURV9DVFhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTk1MAotICAgICBkICBYTUxfQzE0Tl9SRVFVSVJFU19VVEY4Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTk1MQotICAgICBkICBYTUxfQzE0Tl9DUkVBVEVfU1RBQ0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTUyCi0gICAgIGQgIFhNTF9DMTROX0lOVkFMSURfTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5NTMKLSAgICAgZCAgWE1MX0MxNE5fVU5LTk9XX05PREUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTU0Ci0gICAgIGQgIFhNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5NTUKLSAgICAgZCAgWE1MX0ZUUF9QQVNWX0FOU1dFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMDAKLSAgICAgZCAgWE1MX0ZUUF9FUFNWX0FOU1dFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMDEKLSAgICAgZCAgWE1MX0ZUUF9BQ0NOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMDIKLSAgICAgZCAgWE1MX0ZUUF9VUkxfU1lOVEFYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMwotICAgICBkICBYTUxfSFRUUF9VUkxfU1lOVEFYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAyMAotICAgICBkICBYTUxfSFRUUF9VU0VfSVAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDIxCi0gICAgIGQgIFhNTF9IVFRQX1VOS05PV05fSE9TVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMjIKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDAwCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwMQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMDIKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDAzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwNAotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwNQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwNgotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDA3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMDgKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwOQotICAgICBkICBYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDEwCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxMQotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTIKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTMKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTQKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDE1Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTYKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxNwotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDE4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTkKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyMAotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDIxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjIKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDIzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDI0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzFfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjUKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyNgotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDI3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjgKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyOQotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDMwCi0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzEKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAzMgotICAgICBkICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzMKLSAgICAgZCAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzQKLSAgICAgZCAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDM1Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDM2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDM3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDM4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzkKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0MAotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0MQotICAgICBkICBYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDIKLSAgICAgZCAgWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDMKLSAgICAgZCAgWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDQKLSAgICAgZCAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQ1Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0NgotICAgICBkICBYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDcKLSAgICAgZCAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQ4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0OQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU5DTFVERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNTAKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1MQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDUyCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1MwotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNTQKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1NQotICAgICBkICBYTUxfU0NIRU1BUF9OT19YTUxOUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNTYKLSAgICAgZCAgWE1MX1NDSEVNQVBfTk9fWFNJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1NwotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1OAotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDU5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2MAotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjEKLSAgICAgZCAgWE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2MgotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDYzCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8xLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2NAotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjUKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2NgotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjcKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDY4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbiBXM0MKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDY5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA3MAotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDcxCi0gICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzIKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA3MwotICAgICBkICBYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDc0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzUKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0NUXzEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDc2Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDc3Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzgKLSAgICAgZCAgWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDc5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0NfUFJPUFNfQ09SUkVDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwODAKLSAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4MQotICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4MgotICAgICBkICBYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4MwotICAgICBkICBYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDg0Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwODUKLSAgICAgZCAgWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9ILi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4NgotICAgICBkICBYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4NwotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDg4Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDg5Ci0gICAgIGQgIFhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA5MAotICAgICBkICBYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDkxCi0gICAgIGQgIFhNTF9TQ0hFTUFUUk9OVl9BU1NFUlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MDAwCi0gICAgIGQgIFhNTF9TQ0hFTUFUUk9OVl9SRVBPUlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MDAxCi0gICAgIGQgIFhNTF9NT0RVTEVfT1BFTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ5MDAKLSAgICAgZCAgWE1MX01PRFVMRV9DTE9TRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ5MDEKLSAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDAwCi0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDAxCi0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9URVhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAwMgotICAgICBkICBYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDAzCi0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9FTlRJVFlSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDA0Ci0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9FTlRJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDA1Ci0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9QSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDYKLSAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDA3Ci0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9ET0NUWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAwOAotICAgICBkICBYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDA5Ci0gICAgIGQgIFhNTF9DSEVDS19GT1VORF9OT1RBVElPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTAKLSAgICAgZCAgWE1MX0NIRUNLX1VOS05PV05fTk9ERS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTEKLSAgICAgZCAgWE1MX0NIRUNLX0VOVElUWV9UWVBFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxMgotICAgICBkICBYTUxfQ0hFQ0tfTk9fUEFSRU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxMwotICAgICBkICBYTUxfQ0hFQ0tfTk9fRE9DLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxNAotICAgICBkICBYTUxfQ0hFQ0tfTk9fTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTUKLSAgICAgZCAgWE1MX0NIRUNLX05PX0VMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDE2Ci0gICAgIGQgIFhNTF9DSEVDS19XUk9OR19ET0MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDE3Ci0gICAgIGQgIFhNTF9DSEVDS19OT19QUkVWLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxOAotICAgICBkICBYTUxfQ0hFQ0tfV1JPTkdfUFJFVi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTkKLSAgICAgZCAgWE1MX0NIRUNLX05PX05FWFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDIwCi0gICAgIGQgIFhNTF9DSEVDS19XUk9OR19ORVhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyMQotICAgICBkICBYTUxfQ0hFQ0tfTk9UX0RURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjIKLSAgICAgZCAgWE1MX0NIRUNLX05PVF9BVFRSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyMwotICAgICBkICBYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjQKLSAgICAgZCAgWE1MX0NIRUNLX05PVF9FTEVNX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDI1Ci0gICAgIGQgIFhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDI2Ci0gICAgIGQgIFhNTF9DSEVDS19OT1RfTlNfREVDTC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjcKLSAgICAgZCAgWE1MX0NIRUNLX05PX0hSRUYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDI4Ci0gICAgIGQgIFhNTF9DSEVDS19XUk9OR19QQVJFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDI5Ci0gICAgIGQgIFhNTF9DSEVDS19OU19TQ09QRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMzAKLSAgICAgZCAgWE1MX0NIRUNLX05TX0FOQ0VTVE9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzMQotICAgICBkICBYTUxfQ0hFQ0tfTk9UX1VURjguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDMyCi0gICAgIGQgIFhNTF9DSEVDS19OT19ESUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzMwotICAgICBkICBYTUxfQ0hFQ0tfTk9UX05DTkFNRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMzQKLSAgICAgZCAgWE1MX0NIRUNLX09VVFNJREVfRElDVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMzUKLSAgICAgZCAgWE1MX0NIRUNLX1dST05HX05BTUUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDM2Ci0gICAgIGQgIFhNTF9DSEVDS19OQU1FX05PVF9OVUxMLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzNwotICAgICBkICBYTUxfSTE4Tl9OT19OQU1FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjAwMAotICAgICBkICBYTUxfSTE4Tl9OT19IQU5ETEVSLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjAwMQotICAgICBkICBYTUxfSTE4Tl9FWENFU1NfSEFORExFUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYwMDIKLSAgICAgZCAgWE1MX0kxOE5fQ09OVl9GQUlMRUQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2MDAzCi0gICAgIGQgIFhNTF9JMThOX05PX09VVFBVVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYwMDQKLSAgICAgZCAgWE1MX0JVRl9PVkVSRkxPVy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcwMDAKLQotICAgICAgKiB4bWxHZW5lcmljRXJyb3JGdW5jOgotICAgICAgKiBAY3R4OiAgYSBwYXJzaW5nIGNvbnRleHQKLSAgICAgICogQG1zZzogIHRoZSBtZXNzYWdlCi0gICAgICAqIEAuLi46ICB0aGUgZXh0cmEgYXJndW1lbnRzIG9mIHRoZSB2YXJhZ3MgdG8gZm9ybWF0IHRoZSBtZXNzYWdlCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiB0aGUgZnVuY3Rpb24gdG8gdXNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgYW5kCi0gICAgICAqIG5vIHBhcnNpbmcgb3IgdmFsaWRpdHkgY29udGV4dCBhdmFpbGFibGUgLgotCi0gICAgIGQgeG1sR2VuZXJpY0Vycm9yRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmM6Ci0gICAgICAqIEB1c2VyRGF0YTogIHVzZXIgcHJvdmlkZWQgZGF0YSBmb3IgdGhlIGVycm9yIGNhbGxiYWNrCi0gICAgICAqIEBlcnJvcjogIHRoZSBlcnJvciBiZWluZyByYWlzZWQuCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiB0aGUgZnVuY3Rpb24gdG8gdXNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgYW5kCi0gICAgICAqIHRoZSBtb2R1bGUgaGFuZGxlcyB0aGUgbmV3IGVycm9yIHJlcG9ydGluZyBtZWNoYW5pc20uCi0KLSAgICAgZCB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogVXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIHR3byBnbG9iYWwgdmFyaWFibGVzCi0gICAgICAqIHhtbEdlbmVyaWNFcnJvciBhbmQgeG1sR2VuZXJpY0Vycm9yQ29udGV4dC4KLQotICAgICBkIHhtbFNldEdlbmVyaWNFcnJvckZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQotCi0gICAgIGQgaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYycpCi0gICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQotCi0gICAgIGQgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCi0KLSAgICAgICogRGVmYXVsdCBtZXNzYWdlIHJvdXRpbmVzIHVzZWQgYnkgU0FYIGFuZCBWYWxpZCBjb250ZXh0IGZvciBlcnJvcgotICAgICAgKiBhbmQgd2FybmluZyByZXBvcnRpbmcuCi0gICAgICAqCi0gICAgICAqIFRoZXNlIGFyZSB2YXJhcmcgZnVuY3Rpb25zLgotICAgICAgKiBUaGUgZm9sbG93aW5nIHByb3RvdHlwZXMgc3VwcG9ydCB1cCB0byA4IHBvaW50ZXIgYXJndW1lbnRzLgotICAgICAgKiBPdGhlciBhcmd1bWVudCBzaWduYXR1cmUgY2FuIGJlIGFjaGlldmVkIGJ5IGRlZmluaW5nIGFsdGVybmF0ZQotICAgICAgKiAgIHByb3RvdHlwZXMgcmVkaXJlY3RlZCB0byB0aGUgc2FtZSBmdW5jdGlvbi4KLQotICAgICBkIHhtbFBhcnNlckVycm9yICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlckVycm9yJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIG1zZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKLSAgICAgZCAgYXJnMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmczICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotCi0gICAgIGQgeG1sUGFyc2VyV2FybmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlcldhcm5pbmcnKQotICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQotICAgICBkICBhcmcxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnOCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0KLSAgICAgZCB4bWxQYXJzZXJWYWxpZGl0eUVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyVmFsaWRpdHlFcnJvcicpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCi0gICAgIGQgIGFyZzEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmcyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzQgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLQotICAgICBkIHhtbFBhcnNlclZhbGlkaXR5V2FybmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlclZhbGlkaXR5V2FybmluZycpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCi0gICAgIGQgIGFyZzEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmcyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzQgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLQotICAgICBkIHhtbFBhcnNlclByaW50RmlsZUluZm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJQcmludEZpbGVJbmZvJykKLSAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQotCi0gICAgIGQgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlclByaW50RmlsZUNvbnRleHQnKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCi0KLSAgICAgICogRXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24gcm91dGluZXMKLQotICAgICBkIHhtbEdldExhc3RFcnJvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldExhc3RFcnJvcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFcnJvclB0cikKLQotICAgICBkIHhtbFJlc2V0TGFzdEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVzZXRMYXN0RXJyb3InKQotCi0gICAgIGQgeG1sQ3R4dEdldExhc3RFcnJvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRHZXRMYXN0RXJyb3InKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXJyb3JQdHIpCi0gICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sQ3R4dFJlc2V0TGFzdEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlc2V0TGFzdEVycm9yJykKLSAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxSZXNldEVycm9yICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZXNldEVycm9yJykKLSAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVycm9yUHRyKQotCi0gICAgIGQgeG1sQ29weUVycm9yICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weUVycm9yJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikKLSAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVycm9yUHRyKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJPUl9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxleHBvcnRzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbGV4cG9ydHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NmFkNGIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbGV4cG9ydHMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS4KLSAgICAgICogRGVzY3JpcHRpb246IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9FWFBPUlRTX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX0VYUE9SVFNfSF9fCi0KLSAgICAgICogVGhlIGRlZmluaXRpb24gaW4gdGhlIG9yaWdpbmFsIEMgaGVhZGVyIGZpbGUgYXJlIG5vdCBhcHBsaWNhYmxlIHRvCi0gICAgICAqIElMRS9SUEcuCi0gICAgICAqIFRoZXJlZm9yZSB0aGlzIGZpbGUgaXMgaW50ZW50aW9uYWxseSBlbXB0eS4KLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVhQT1JUU19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxtZW1vcnkucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sbWVtb3J5LnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzJlOTQxLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxtZW1vcnkucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNDcgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yCi0gICAgICAqIERlc2NyaXB0aW9uOiBwcm92aWRlcyBpbnRlcmZhY2VzIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvciwKLSAgICAgICogICAgICAgICAgICAgIGluY2x1ZGluZyBkZWJ1Z2dpbmcgY2FwYWJpbGl0aWVzLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoREVCVUdfTUVNT1JZX0FMTE9DX18pCi0gICAgICAvZGVmaW5lIERFQlVHX01FTU9SWV9BTExPQ19fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotCi0gICAgICAqIERFQlVHX01FTU9SWToKLSAgICAgICoKLSAgICAgICogREVCVUdfTUVNT1JZIHJlcGxhY2VzIHRoZSBhbGxvY2F0b3Igd2l0aCBhIGNvbGxlY3QgYW5kIGRlYnVnCi0gICAgICAqIHNoZWxsIHRvIHRoZSBsaWJjIGFsbG9jYXRvci4KLSAgICAgICogREVCVUdfTUVNT1JZIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZCB3aGVuIGRlYnVnZ2luZwotICAgICAgKiBsaWJ4bWwgaS5lLiBpZiBsaWJ4bWwgaGFzIGJlZW4gY29uZmlndXJlZCB3aXRoIC0td2l0aC1kZWJ1Zy1tZW0gdG9vLgotCi0gICAgICAqIC9kZWZpbmUgREVCVUdfTUVNT1JZX0ZSRUVECi0gICAgICAqIC9kZWZpbmUgREVCVUdfTUVNT1JZX0xPQ0FUSU9OCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFQlVHKQotICAgICAgL2lmIG5vdCBkZWZpbmVkKERFQlVHX01FTU9SWSkKLSAgICAgIC9kZWZpbmUgREVCVUdfTUVNT1JZCi0gICAgICAvZW5kaWYKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIERFQlVHX01FTU9SWV9MT0NBVElPTjoKLSAgICAgICoKLSAgICAgICogREVCVUdfTUVNT1JZX0xPQ0FUSU9OIHNob3VsZCBiZSBhY3RpdmF0ZWQgb25seSB3aGVuIGRlYnVnZ2luZwotICAgICAgKiBsaWJ4bWwgaS5lLiBpZiBsaWJ4bWwgaGFzIGJlZW4gY29uZmlndXJlZCB3aXRoIC0td2l0aC1kZWJ1Zy1tZW0gdG9vLgotCi0gICAgICAvaWYgZGVmaW5lZChERUJVR19NRU1PUllfTE9DQVRJT04pCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBUaGUgWE1MIG1lbW9yeSB3cmFwcGVyIHN1cHBvcnQgNCBiYXNpYyBvdmVybG9hZGFibGUgZnVuY3Rpb25zLgotCi0gICAgICAqIHhtbEZyZWVGdW5jOgotICAgICAgKiBAbWVtOiBhbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayBvZiBtZW1vcnkKLSAgICAgICoKLSAgICAgICogU2lnbmF0dXJlIGZvciBhIGZyZWUoKSBpbXBsZW1lbnRhdGlvbi4KLQotICAgICBkIHhtbEZyZWVGdW5jICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbE1hbGxvY0Z1bmM6Ci0gICAgICAqIEBzaXplOiAgdGhlIHNpemUgcmVxdWVzdGVkIGluIGJ5dGVzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBmb3IgYSBtYWxsb2MoKSBpbXBsZW1lbnRhdGlvbi4KLSAgICAgICoKLSAgICAgICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCi0KLSAgICAgZCB4bWxNYWxsb2NGdW5jICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxSZWFsbG9jRnVuYzoKLSAgICAgICogQG1lbTogYW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5Ci0gICAgICAqIEBzaXplOiAgdGhlIG5ldyBzaXplIHJlcXVlc3RlZCBpbiBieXRlcwotICAgICAgKgotICAgICAgKiBTaWduYXR1cmUgZm9yIGEgcmVhbGxvYygpIGltcGxlbWVudGF0aW9uLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgcmVhbGxvY2F0ZWQgYmxvY2sgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgotCi0gICAgIGQgeG1sUmVhbGxvY0Z1bmMgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sU3RyZHVwRnVuYzoKLSAgICAgICogQHN0cjogYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBmb3IgYW4gc3RyZHVwKCkgaW1wbGVtZW50YXRpb24uCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgdGhlIGNvcHkgb2YgdGhlIHN0cmluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCi0KLSAgICAgZCB4bWxTdHJkdXBGdW5jICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBUaGUgNSBpbnRlcmZhY2VzIHVzZWQgZm9yIGFsbCBtZW1vcnkgaGFuZGxpbmcgd2l0aGluIGxpYnhtbC4KLSAgICAgICogU2luY2UgaW5kaXJlY3QgY2FsbHMgYXJlIG9ubHkgc3VwcG9ydGVkIHZpYSBhIGJhc2VkIHByb3RvdHlwZSwKLSAgICAgICogICBzdG9yYWdlIGlzIGFjY2Vzc2VkIHZpYSBmdW5jdGlvbnMuCi0KLSAgICAgZCBnZXRfeG1sRnJlZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxGcmVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEZyZWVGdW5jKQotCi0gICAgIGQgc2V0X3htbEZyZWUgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sRnJlZScpCi0gICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxGcmVlRnVuYykKLQotICAgICBkIHhtbEZyZWUgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fY2FsbF94bWxGcmVlJykKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCBnZXRfeG1sTWFsbG9jICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxNYWxsb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLQotICAgICBkIHNldF94bWxNYWxsb2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbE1hbGxvYycpCi0gICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNYWxsb2NGdW5jKQotCi0gICAgIGQgeG1sTWFsbG9jICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19jYWxsX3htbE1hbGxvYycpICAgICAgICAgIHZvaWQgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKLQotICAgICBkIGdldF94bWxNYWxsb2NBdG9taWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxNYWxsb2NBdG9taWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLQotICAgICBkIHNldF94bWxNYWxsb2NBdG9taWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxNYWxsb2NBdG9taWMnKQotICAgICBkICBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTWFsbG9jRnVuYykKLQotICAgICBkIHhtbE1hbGxvY0F0b21pYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ19fY2FsbF94bWxNYWxsb2NBdG9taWMnKSAgICB2b2lkICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCi0KLSAgICAgZCBnZXRfeG1sUmVhbGxvYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxSZWFsbG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlYWxsb2NGdW5jKQotCi0gICAgIGQgc2V0X3htbFJlYWxsb2MgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUmVhbGxvYycpCi0gICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWFsbG9jRnVuYykKLQotICAgICBkIHhtbFJlYWxsb2MgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ19fY2FsbF94bWxSZWFsbG9jJykgICAgICAgICB2b2lkICoKLSAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQotCi0gICAgIGQgZ2V0X3htbE1lbVN0cmR1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbE1lbVN0cmR1cCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJkdXBGdW5jKQotCi0gICAgIGQgc2V0X3htbE1lbVN0cmR1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbE1lbXN0cmR1cCcpCi0gICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJkdXBGdW5jKQotCi0gICAgIGQgeG1sTWVtU3RyZHVwICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19jYWxsX3htbE1lbVN0cmR1cCcpICAgICAgICAgIHZvaWQgKgotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICAgKiBUaGUgd2F5IHRvIG92ZXJsb2FkIHRoZSBleGlzdGluZyBmdW5jdGlvbnMuCi0gICAgICAqIFRoZSB4bWxHYyBmdW5jdGlvbiBoYXZlIGFuIGV4dHJhIGVudHJ5IGZvciBhdG9taWMgYmxvY2sKLSAgICAgICogYWxsb2NhdGlvbnMgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9ycwotCi0gICAgIGQgeG1sTWVtU2V0dXAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtU2V0dXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZnJlZUZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEZyZWVGdW5jKQotICAgICBkICBtYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTWFsbG9jRnVuYykKLSAgICAgZCAgcmVhbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlYWxsb2NGdW5jKQotICAgICBkICBzdHJkdXBGdW5jICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZHVwRnVuYykKLQotICAgICBkIHhtbE1lbUdldCAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbUdldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCi0gICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQotICAgICBkICByZWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVhbGxvY0Z1bmMpCi0gICAgIGQgIHN0cmR1cEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJkdXBGdW5jKQotCi0gICAgIGQgeG1sR2NNZW1TZXR1cCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2NNZW1TZXR1cCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRnJlZUZ1bmMpCi0gICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNYWxsb2NGdW5jKQotICAgICBkICBtYWxsb2NBdG9taWNGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNYWxsb2NGdW5jKQotICAgICBkICByZWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVhbGxvY0Z1bmMpCi0gICAgIGQgIHN0cmR1cEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJkdXBGdW5jKQotCi0gICAgIGQgeG1sR2NNZW1HZXQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2NNZW1HZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZnJlZUZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEZyZWVGdW5jKQotICAgICBkICBtYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLSAgICAgZCAgbWFsbG9jQXRvbWljRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTWFsbG9jRnVuYykKLSAgICAgZCAgcmVhbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlYWxsb2NGdW5jKQotICAgICBkICBzdHJkdXBGdW5jICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RyZHVwRnVuYykKLQotICAgICAgKiBJbml0aWFsaXphdGlvbiBvZiB0aGUgbWVtb3J5IGxheWVyLgotCi0gICAgIGQgeG1sSW5pdE1lbW9yeSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdE1lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIENsZWFudXAgb2YgdGhlIG1lbW9yeSBsYXllci4KLQotICAgICBkIHhtbENsZWFudXBNZW1vcnkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhbnVwTWVtb3J5JykKLQotICAgICAgKiBUaGVzZSBhcmUgc3BlY2lmaWMgdG8gdGhlIFhNTCBkZWJ1ZyBtZW1vcnkgd3JhcHBlci4KLQotICAgICBkIHhtbE1lbVVzZWQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbVVzZWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE1lbUJsb2NrcyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbUJsb2NrcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTWVtRGlzcGxheSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtRGlzcGxheScpCi0gICAgIGQgIGZwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgotCi0gICAgIGQgeG1sTW1EaXNwbGF5TGFzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbURpc3BsYXlMYXN0JykKLSAgICAgZCAgZnAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIG5iQnl0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDbG9uZykKLQotICAgICBkIHhtbE1lbVNob3cgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbVNob3cnKQotICAgICBkICBmcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgbnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxNZW1vcnlEdW1wICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNZW1vcnlEdW1wJykKLQotICAgICBkIHhtbE1lbU1hbGxvYyAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1lbU1hbGxvYycpICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCi0KLSAgICAgZCB4bWxNZW1SZWFsbG9jICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxNZW1SZWFsbG9jJykgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHB0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKLQotICAgICBkIHhtbE1lbUZyZWUgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbUZyZWUnKQotICAgICBkICBwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbE1lbW9yeVN0cmR1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1lbW9yeVN0cmR1cCcpICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxNYWxsb2NMb2MgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxNYWxsb2NMb2MnKSAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQotICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxSZWFsbG9jTG9jICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxSZWFsbG9jTG9jJykgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCi0gICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE1hbGxvY0F0b21pY0xvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1hbGxvY0F0b21pY0xvYycpICAgICAgICB2b2lkICoKLSAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENzaXplX3QpCi0gICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE1lbVN0cmR1cExvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1lbVN0cmR1cExvYycpICAgICAgICAgICBjaGFyICoKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9HTE9CQUxTX0gpCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1RIUkVBRFNfSF9fKQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90aHJlYWRzIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9nbG9iYWxzIgotICAgICAgL2VuZGlmCi0gICAgICAvZW5kaWYKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUJVR19NRU1PUllfQUxMT0NfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbG1vZHVsZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxtb2R1bGUucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNTI1NGQuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbG1vZHVsZS5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogZHluYW1pYyBtb2R1bGUgbG9hZGluZwotICAgICAgKiBEZXNjcmlwdGlvbjogYmFzaWMgQVBJIGZvciBkeW5hbWljIG1vZHVsZSBsb2FkaW5nLCB1c2VkIGJ5Ci0gICAgICAqICAgICAgICAgICAgICBsaWJleHNsdCBhZGRlZCBpbiAyLjYuMTcKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9NT0RVTEVfSF9fKQotICAgICAgL2RlZmluZSBYTUxfTU9EVUxFX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotCi0gICAgICAqIHhtbE1vZHVsZVB0cjoKLSAgICAgICoKLSAgICAgICogQSBoYW5kbGUgdG8gYSBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlCi0KLSAgICAgZCB4bWxNb2R1bGVQdHIgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAqIHhtbE1vZHVsZU9wdGlvbjoKLSAgICAgICoKLSAgICAgICogZW51bWVyYXRpb24gb2Ygb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93biB0byB4bWxNb2R1bGVPcGVuKCkKLQotICAgICBkIHhtbE1vZHVsZU9wdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX01PRFVMRV9MQVpZLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF6eSBiaW5kaW5nCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfTU9EVUxFX0xPQ0FMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbCBiaW5kaW5nCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotCi0gICAgIGQgeG1sTW9kdWxlT3BlbiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTW9kdWxlT3BlbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNb2R1bGVQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE1vZHVsZVN5bWJvbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1vZHVsZVN5bWJvbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTW9kdWxlUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCi0KLSAgICAgZCB4bWxNb2R1bGVDbG9zZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNb2R1bGVDbG9zZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTW9kdWxlUHRyKQotCi0gICAgIGQgeG1sTW9kdWxlRnJlZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTW9kdWxlRnJlZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTW9kdWxlUHRyKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9NT0RVTEVTX0VOQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1scmVhZGVyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHJlYWRlci5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlhYjIwNy4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1scmVhZGVyLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsNjY4ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogdGhlIFhNTFJlYWRlciBpbXBsZW1lbnRhdGlvbgotICAgICAgKiBEZXNjcmlwdGlvbjogQVBJIG9mIHRoZSBYTUwgc3RyZWFtaW5nIEFQSSBiYXNlZCBvbiBDIyBpbnRlcmZhY2VzLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hNTFJFQURFUl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YTUxSRUFERVJfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcmVsYXhuZyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc2NoZW1hcyIKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIHhtbFBhcnNlclNldmVyaXRpZXM6Ci0gICAgICAqCi0gICAgICAqIEhvdyBzZXZlcmUgYW4gZXJyb3IgY2FsbGJhY2sgaXMgd2hlbiB0aGUgcGVyLXJlYWRlciBlcnJvciBjYWxsYmFjayBBUEkKLSAgICAgICogaXMgdXNlZC4KLQotICAgICBkIHhtbFBhcnNlclNldmVyaXRpZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCi0KLSAgICAgICogeG1sVGV4dFJlYWRlck1vZGU6Ci0gICAgICAqCi0gICAgICAqIEludGVybmFsIHN0YXRlIHZhbHVlcyBmb3IgdGhlIHJlYWRlci4KLQotICAgICBkIHhtbFRleHRSZWFkZXJNb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfRU9GLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQotCi0gICAgICAqIHhtbFBhcnNlclByb3BlcnRpZXM6Ci0gICAgICAqCi0gICAgICAqIFNvbWUgY29tbW9uIG9wdGlvbnMgdG8gdXNlIHdpdGggeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AsIGJ1dCBpdAotICAgICAgKiBpcyBiZXR0ZXIgdG8gdXNlIHhtbFBhcnNlck9wdGlvbiBhbmQgdGhlIHhtbFJlYWRlck5ld3h4eCBhbmQKLSAgICAgICogeG1sUmVhZGVyRm9yeHh4IEFQSXMgbm93LgotCi0gICAgIGQgeG1sUGFyc2VyUHJvcGVydGllcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1BBUlNFUl9MT0FERFRELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1BBUlNFUl9WQUxJREFURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLQotICAgICAgKiB4bWxSZWFkZXJUeXBlczoKLSAgICAgICoKLSAgICAgICogUHJlZGVmaW5lZCBjb25zdGFudHMgZm9yIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygbm9kZXMuCi0KLSAgICAgZCB4bWxSZWFkZXJUeXBlcyAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9OT05FLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfUkVBREVSX1RZUEVfRUxFTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1JFQURFUl9UWVBFX1RFWFQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9DREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9FTlRJVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2Ci0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYTUxfUkVBREVSX1RZUEVfQ09NTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgKLSAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5ULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQotICAgICBkICBYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9OT1RBVElPTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKLSAgICAgZCAgWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNAotICAgICBkICBYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2Ci0gICAgIGQgIFhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNwotCi0gICAgICAqIHhtbFRleHRSZWFkZXJQdHI6Ci0gICAgICAqCi0gICAgICAqIFBvaW50ZXIgdG8gYW4geG1sUmVhZGVyIGNvbnRleHQuCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiBDb25zdHJ1Y3RvcnMgJiBEZXN0cnVjdG9yCi0KLSAgICAgZCB4bWxOZXdUZXh0UmVhZGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFJlYWRlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sRnJlZVRleHRSZWFkZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlVGV4dFJlYWRlcicpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclNldHVwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclNldHVwJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogSXRlcmF0b3JzCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJSZWFkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnKSB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcpIHhtbENoYXIgKgotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgIC9lbmRpZgotCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycpICAgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgICogQXR0cmlidXRlcyBvZiB0aGUgbm9kZQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckRlcHRoLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckRlcHRoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJIYXNWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJIYXNWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJJc0RlZmF1bHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVySXNEZWZhdWx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlck5vZGVUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck5vZGVUeXBlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclF1b3RlQ2hhci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJRdW90ZUNoYXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRTdGF0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmknKSBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZScpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0TmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdE5hbWUnKSAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaScpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckNvbnN0UHJlZml4JykgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJDb25zdFhtbExhbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJykgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nJykgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdFZhbHVlJykgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgICogdXNlIHRoZSBDb25zdCB2ZXJzaW9uIG9mIHRoZSByb3V0aW5lIGZvcgotICAgICAgKiBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kIHNpbXBsZXIgY29kZQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckJhc2VVcmkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQmFzZVVyaScpICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckxvY2FsTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJMb2NhbE5hbWUnKSAgICB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOYW1lJykgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScpIHhtbENoYXIgKgotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJQcmVmaXguLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUHJlZml4JykgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclhtbExhbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyWG1sTGFuZycpICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclZhbHVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclZhbHVlJykgICAgICAgIHhtbENoYXIgKgotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICAgKiBNZXRob2RzIG9mIHRoZSBYbWxUZXh0UmVhZGVyCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ2xvc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ2xvc2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObycpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlJykgeG1sQ2hhciAqCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zJykKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGxvY2FsTmFtZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnKQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIG5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBsb2NhbE5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nJyljb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgICogRXh0ZW5zaW9ucwotCi0gICAgIGQgeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgcHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgcHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyUHJlc2VydmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUHJlc2VydmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCi0gICAgIGQgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIHBhdHRlcm4gICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1BBVFRFUk5fRU5CTEQKLQotICAgICBkIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckN1cnJlbnREb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJFeHBhbmQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyRXhwYW5kJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlck5leHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTmV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJOZXh0U2libGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOZXh0U2libGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJJc1ZhbGlkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlcklzVmFsaWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIHJuZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIHhzZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFJlYWRlclNldFNjaGVtYS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTZXRTY2hlbWEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIHNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQdHIpCi0gICAgICAvZW5kaWYKLQotICAgICBkIHhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24nKQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLQotICAgICBkIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgICogSW5kZXggbG9va3VwCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDbG9uZykKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0KLSAgICAgICogTmV3IG1vcmUgY29tcGxldGUgQVBJcyBmb3Igc2ltcGxlciBjcmVhdGlvbiBhbmQgcmV1c2Ugb2YgcmVhZGVycwotCi0gICAgIGQgeG1sUmVhZGVyV2Fsa2VyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyV2Fsa2VyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxSZWFkZXJGb3JEb2MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJGb3JEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxSZWFkZXJGb3JGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yRmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZGVyRm9yTWVtb3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yTWVtb3J5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFJlYWRlckZvckZkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlckZvckZkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZGVyRm9ySU8gIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9ySU8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQotICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQotICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFJlYWRlck5ld1dhbGtlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlck5ld1dhbGtlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFJlYWRlck5ld0RvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlck5ld0RvYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxSZWFkZXJOZXdGaWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3RmlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFJlYWRlck5ld01lbW9yeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlck5ld01lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKLSAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZGVyTmV3RmQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3RmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVhZGVyTmV3SU8gIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyTmV3SU8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCi0gICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKLSAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0gICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogRXJyb3IgaGFuZGxpbmcgZXh0ZW5zaW9ucwotCi0gICAgIGQgeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgICogeG1sVGV4dFJlYWRlckVycm9yRnVuYzoKLSAgICAgICogQGFyZzogdGhlIHVzZXIgYXJndW1lbnQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQHNldmVyaXR5OiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGVycm9yCi0gICAgICAqIEBsb2NhdG9yOiBhIGxvY2F0b3IgaW5kaWNhdGluZyB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQKLSAgICAgICoKLSAgICAgICogU2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSByZWFkZXIgcGFyc2VyCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbG9jYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyKQotCi0gICAgIGQgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkknKQotICAgICBkICBsb2NhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIpCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlckVycm9yRnVuYykKLSAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRS0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycm9ySGFuZGxlcicpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKLSAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcicpCi0gICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlckVycm9yRnVuYykKLSAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1JFQURFUl9FTkFCTEQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1hNTFJFQURFUl9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxyZWdleHAucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1scmVnZXhwLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMWQ0MTFhLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxyZWdleHAucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNjIgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nCi0gICAgICAqIERlc2NyaXB0aW9uOiBiYXNpYyBBUEkgZm9yIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nIHVzZWQKLSAgICAgICogICAgICAgICAgICAgIGZvciBYTUwgU2NoZW1hcyBhbmQgdmFsaWRhdGlvbi4KLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9SRUdFWFBfSF9fKQotICAgICAgL2RlZmluZSBYTUxfUkVHRVhQX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0KLSAgICAgICogeG1sUmVnZXhwUHRyOgotICAgICAgKgotICAgICAgKiBBIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb24sIHRoZXkgY2FuIGFjdHVhbGx5IGJlIGZhciBtb3JlIGNvbXBsZXgKLSAgICAgICogdGhhbmsgdGhlIFBPU0lYIHJlZ2V4IGV4cHJlc3Npb25zLgotCi0gICAgIGQgeG1sUmVnZXhwUHRyICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiB4bWxSZWdFeGVjQ3R4dFB0cjoKLSAgICAgICoKLSAgICAgICogQSBsaWJ4bWwgcHJvZ3Jlc3NpdmUgcmVndWxhciBleHByZXNzaW9uIGV2YWx1YXRpb24gY29udGV4dAotCi0gICAgIGQgeG1sUmVnRXhlY0N0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCi0KLSAgICAgICogVGhlIFBPU0lYIGxpa2UgQVBJCi0KLSAgICAgZCB4bWxSZWdleHBDb21waWxlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnZXhwQ29tcGlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWdleHBQdHIpCi0gICAgIGQgIHJlZ2V4cCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sUmVnRnJlZVJlZ2V4cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ0ZyZWVSZWdleHAnKQotICAgICBkICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQotCi0gICAgIGQgeG1sUmVnZXhwRXhlYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnZXhwRXhlYycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFJlZ2V4cFByaW50ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2V4cFByaW50JykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIHJlZ2V4cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdleHBQdHIpCi0KLSAgICAgZCB4bWxSZWdleHBJc0RldGVybWluaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnZXhwSXNEZXRlcm1pbmlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQotCi0gICAgICAqIHhtbFJlZ0V4ZWNDYWxsYmFja3M6Ci0gICAgICAqIEBleGVjOiB0aGUgcmVndWxhciBleHByZXNzaW9uIGNvbnRleHQKLSAgICAgICogQHRva2VuOiB0aGUgY3VycmVudCB0b2tlbiBzdHJpbmcKLSAgICAgICogQHRyYW5zZGF0YTogdHJhbnNpdGlvbiBkYXRhCi0gICAgICAqIEBpbnB1dGRhdGE6IGlucHV0IGRhdGEKLSAgICAgICoKLSAgICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBkb2luZyBhIHRyYW5zaXRpb24gaW4gdGhlIGF1dG9tYXRhCi0KLSAgICAgZCB4bWxSZWdFeGVjQ2FsbGJhY2tzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogVGhlIHByb2dyZXNzaXZlIEFQSQotCi0gICAgIGQgeG1sUmVnTmV3RXhlY0N0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdOZXdFeGVjQ3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKLSAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2V4cFB0cikKLSAgICAgZCAgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDYWxsYmFja3MpCi0gICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sUmVnRnJlZUV4ZWNDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnRnJlZUV4ZWNDdHh0JykKLSAgICAgZCAgZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDdHh0UHRyKQotCi0gICAgIGQgeG1sUmVnRXhlY1B1c2hTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdFeGVjUHVzaFN0cmluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBleGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnRXhlY0N0eHRQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICBkIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ0V4ZWNQdXNoU3RyaW5nMicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBleGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnRXhlY0N0eHRQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWx1ZTIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxSZWdFeGVjTmV4dFZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ0V4ZWNOZXh0VmFsdWVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKLSAgICAgZCAgbmJ2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5ibmVnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKCopCi0gICAgIGQgIHRlcm1pbmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sUmVnRXhlY0VyckluZm8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdFeGVjRXJySW5mbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBleGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnRXhlY0N0eHRQdHIpCi0gICAgIGQgIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiAoKikKLSAgICAgZCAgbmJ2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5ibmVnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKCopCi0gICAgIGQgIHRlcm1pbmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKQotCi0gICAgICAqIEZvcm1hbCByZWd1bGFyIGV4cHJlc3Npb24gaGFuZGxpbmcKLSAgICAgICogSXRzIGdvYWwgaXMgdG8gZG8gc29tZSBmb3JtYWwgd29yayBvbiBjb250ZW50IG1vZGVscwotCi0gICAgICAqIGV4cHJlc3Npb25zIGFyZSB1c2VkIHdpdGhpbiBhIGNvbnRleHQKLQotICAgICBkIHhtbEV4cEN0eHRQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxFeHBGcmVlQ3R4dCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBGcmVlQ3R4dCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQotCi0gICAgIGQgeG1sRXhwTmV3Q3R4dCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwTmV3Q3R4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBDdHh0UHRyKQotICAgICBkICBtYXhOb2RlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCi0KLSAgICAgZCB4bWxFeHBDdHh0TmJOb2Rlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEN0eHROYk5vZGVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQotCi0gICAgIGQgeG1sRXhwQ3R4dE5iQ29ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEN0eHROYkNvbnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCi0KLSAgICAgICogRXhwcmVzc2lvbnMgYXJlIHRyZWVzIGJ1dCB0aGUgdHJlZSBpcyBvcGFxdWUKLQotICAgICBkIHhtbEV4cE5vZGVQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxFeHBOb2RlVHlwZSAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9FWFBfRU1QVFkgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfRVhQX0ZPUkJJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKLSAgICAgZCAgWE1MX0VYUF9BVE9NICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhNTF9FWFBfU0VRICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfRVhQX09SICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWE1MX0VYUF9DT1VOVCAgYyAgICAgICAgICAgICAgICAgICA1Ci0KLSAgICAgICogMiBjb3JlIGV4cHJlc3Npb25zIHNoYXJlZCBieSBhbGwgZm9yIHRoZSBlbXB0eSBsYW5ndWFnZSBzZXQKLSAgICAgICogYW5kIGZvciB0aGUgc2V0IHdpdGgganVzdCB0aGUgZW1wdHkgdG9rZW4KLQotICAgICBkIGZvcmJpZGRlbkV4cCAgICBzICAgICAgICAgICAgICAgICAgIGltcG9ydCgnZm9yYmlkZGVuRXhwJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCi0KLSAgICAgZCBlbXB0eUV4cCAgICAgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ2VtcHR5RXhwJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCi0KLQotICAgICAgKiBFeHByZXNzaW9ucyBhcmUgcmVmZXJlbmNlIGNvdW50ZWQgaW50ZXJuYWxseQotCi0gICAgIGQgeG1sRXhwRnJlZSAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwRnJlZScpCi0gICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotCi0gICAgIGQgeG1sRXhwUmVmICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwUmVmJykKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0KLSAgICAgICogY29uc3RydWN0b3JzIGNhbiBiZSBlaXRoZXIgbWFudWFsIG9yIGZyb20gYSBzdHJpbmcKLQotICAgICBkIHhtbEV4cFBhcnNlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cFBhcnNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQotICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbEV4cE5ld0F0b20gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE5ld0F0b20nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEV4cE5ld09yICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE5ld09yJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQotICAgICBkICBsZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKLSAgICAgZCAgcmlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0KLSAgICAgZCB4bWxFeHBOZXdTZXEgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBOZXdTZXEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCi0gICAgIGQgIGxlZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotICAgICBkICByaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKLQotICAgICBkIHhtbEV4cE5ld1JhbmdlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE5ld1JhbmdlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQotICAgICBkICBzdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKLSAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIFRoZSByZWFsbHkgaW50ZXJlc3RpbmcgQVBJcwotCi0gICAgIGQgeG1sRXhwSXNOaWxsYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cElzTmlsbGFibGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0KLSAgICAgZCB4bWxFeHBNYXhUb2tlbiAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBNYXhUb2tlbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKLQotICAgICBkIHhtbEV4cEdldExhbmd1YWdlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwR2V0TGFuZ3VhZ2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCi0gICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotICAgICBkICBsYW5nTGlzdCAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxFeHBHZXRTdGFydCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBHZXRTdGFydCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIHRva0xpc3QgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEV4cFN0cmluZ0Rlcml2ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cFN0cmluZ0Rlcml2ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEV4cEV4cERlcml2ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEV4cERlcml2ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIHN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotCi0gICAgIGQgeG1sRXhwU3Vic3VtZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwU3Vic3VtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKLSAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCi0gICAgIGQgIHN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotCi0gICAgIGQgeG1sRXhwRHVtcCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwRHVtcCcpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfRVhQUl9FTkFCTEVECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9SRUdFWFBfRU5BQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9SRUdFWFBfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sc2F2ZS5ycGdsZSBiL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDBkMTVkLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMTA1ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyCi0gICAgICAqIERlc2NyaXB0aW9uOiBBUEkgdG8gc2F2ZSBkb2N1bWVudCBvciBzdWJ0cmVlIG9mIGRvY3VtZW50Ci0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWE1MU0FWRV9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YTUxTQVZFX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VuY29kaW5nIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKLQotICAgICAgKiB4bWxTYXZlT3B0aW9uOgotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHNhdmUgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgotICAgICAgKiB0byB0aGUgeG1sU2F2ZVRvRmQoKSBhbmQgc2ltaWxhciBjYWxscy4KLQotICAgICBkIHhtbFNhdmVPcHRpb24gICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWE1MX1NBVkVfRk9STUFULi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0IHNhdmUgb3V0cHV0Ci0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJwotICAgICBkICBYTUxfU0FWRV9OT19ERUNMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcm9wIHhtbCBkZWNsYXJhdGlvbgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLSAgICAgZCAgWE1MX1NBVkVfTk9fRU1QVFkuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gZW1wdHkgdGFncwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwNCcKLSAgICAgZCAgWE1MX1NBVkVfTk9fWEhUTUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gWEhUTUwxIHNwZWNpZmljCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA4JwotICAgICBkICBYTUxfU0FWRV9YSFRNTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmNlIFhIVE1MMSBzcGVjaWZpYwotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAxMCcKLSAgICAgZCAgWE1MX1NBVkVfQVNfWE1MLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJjZSBYTUwgb24gSFRNTCBkb2MKLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMjAnCi0gICAgIGQgIFhNTF9TQVZFX0FTX0hUTUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyY2UgSFRNTCBvbiBYTUwgZG9jCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDQwJwotICAgICBkICBYTUxfU0FWRV9XU05PTlNJRy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbXQgdy8gbm9uLXNpZyBzcGFjZQotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDA4MCcKLQotICAgICBkIHhtbFNhdmVDdHh0UHRyICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxTYXZlVG9GZCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlVG9GZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTYXZlQ3R4dFB0cikKLSAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNhdmVUb0ZpbGVuYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvRmlsZW5hbWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCi0gICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTYXZlVG9CdWZmZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlVG9CdWZmZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCi0gICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNhdmVUb0lPICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVUb0lPJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNhdmVDdHh0UHRyKQotICAgICBkICBpb3dyaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0V3JpdGVDYWxsYmFjaykKLSAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dENsb3NlQ2FsbGJhY2spCi0gICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTYXZlRG9jICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlRG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENsb25nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxTYXZlVHJlZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlVHJlZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDbG9uZykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFNhdmVGbHVzaCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVGbHVzaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCi0KLSAgICAgZCB4bWxTYXZlQ2xvc2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTYXZlQ2xvc2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQotCi0gICAgIGQgeG1sU2F2ZVNldEVzY2FwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNhdmVTZXRFc2NhcGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQotICAgICBkICBlc2NhcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYykKLQotICAgICBkIHhtbFNhdmVTZXRBdHRyRXNjYXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVNldEF0dHJFc2NhcGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQotICAgICBkICBlc2NhcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYykKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWE1MU0FWRV9IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0NTNiZDIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXMucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwzMzEgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbgotICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZyBhbmQgc2NoZW1hIHZhbGlkaXR5Ci0gICAgICAqICAgICAgICAgICAgICBjaGVja2luZywgaXQgaXMgaW5jb21wbGV0ZSByaWdodCBub3cuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0NIRU1BX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1NDSEVNQV9IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKLQotICAgICAgKiBUaGlzIGVycm9yIGNvZGVzIGFyZSBvYnNvbGV0ZTsgbm90IHVzZWQgYW55IG1vcmUuCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZEVycm9yLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENlbnVtKQotICAgICBkICBYTUxfU0NIRU1BU19FUlJfT0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9OT1JPT1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMwotICAgICBkICBYTUxfU0NIRU1BU19FUlJfTUlTU0lORy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PVFlQRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0suLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOAotICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9URU1QVFkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9FTEVNQ09OVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMwotICAgICBkICBYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNAotICAgICBkICBYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9UREVURVJNSU5JU1QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgotICAgICBkICBYTUxfU0NIRU1BU19FUlJfQ09OU1RSVUNULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKLSAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5Ci0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9WQUxVRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIyCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9GQUNFVC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCi0gICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNAotICAgICBkICBYTUxfU0NIRU1BU19FUlJfWFhYLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKLQotICAgICAgKiBBVFRFTlRJT046IENoYW5nZSB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMncyBjaGVjawotICAgICAgKiBmb3IgaW52YWxpZCB2YWx1ZXMsIGlmIGFkZGluZyB0byB0aGUgdmFsaWRhdGlvbgotICAgICAgKiBvcHRpb25zIGJlbG93LgotCi0gICAgICAqIHhtbFNjaGVtYVZhbGlkT3B0aW9uOgotICAgICAgKgotICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIG9wdGlvbnMuCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZE9wdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgICoKLSAgICAgICogRGVmYXVsdC9maXhlZDogY3JlYXRlIGFuIGF0dHJpYnV0ZSBub2RlCi0gICAgICAqIG9yIGFuIGVsZW1lbnQncyB0ZXh0IG5vZGUgb24gdGhlIGluc3RhbmNlLgotICAgICAgKgotICAgICBkICBYTUxfU0NIRU1BX1ZBTF9WQ19JX0NSRUFURS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKLSAgICAgIC9pZiBkZWZpbmVkKERJU0FCTEVEKQotICAgICAgKgotICAgICAgKiBhc3NlbWJsZSBzY2hlbWF0YSB1c2luZwotICAgICAgKiB4c2k6c2NoZW1hTG9jYXRpb24gYW5kCi0gICAgICAqIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uCi0gICAgICAqCi0gICAgIGQgIFhNTF9TQ0hFTUFfVkFMX1hTSV9BU1NFTUJMRS4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIFRoZSBzY2hlbWFzIHJlbGF0ZWQgdHlwZXMgYXJlIGtlcHQgaW50ZXJuYWwKLQotICAgICBkIHhtbFNjaGVtYVB0ciAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM6Ci0gICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGFuIFhTRCB2YWxpZGF0aW9uCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM6Ci0gICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKLSAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKLSAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbgotCi0gICAgIGQgeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIEEgc2NoZW1hcyB2YWxpZGF0aW9uIGNvbnRleHQKLQotICAgICBkIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sU2NoZW1hVmFsaWRDdHh0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICAgKiB4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jOgotICAgICAgKiBAY3R4OiB1c2VyIHByb3ZpZGVkIGNvbnRleHQKLSAgICAgICogQGZpbGU6IHJldHVybmVkIGZpbGUgaW5mb3JtYXRpb24KLSAgICAgICogQGxpbmU6IHJldHVybmVkIGxpbmUgaW5mb3JtYXRpb24KLSAgICAgICoKLSAgICAgICogQSBzY2hlbWFzIHZhbGlkYXRpb24gbG9jYXRvciwgYSBjYWxsYmFjayBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvci4KLSAgICAgICogVGhpcyBpcyB1c2VkIHdoZW4gZmlsZSBvciBub2RlIGluZm9ybWF0aW9uIGFyZSBub3QgYXZhaWxhYmxlCi0gICAgICAqIHRvIGZpbmQgb3V0IHdoYXQgZmlsZSBhbmQgbGluZSBudW1iZXIgYXJlIGFmZmVjdGVkCi0gICAgICAqCi0gICAgICAqIFJldHVybnM6IDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogSW50ZXJmYWNlcyBmb3IgcGFyc2luZy4KLQotICAgICBkIHhtbFNjaGVtYU5ld1BhcnNlckN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCi0gICAgIGQgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikKLQotICAgICBkIHhtbFNjaGVtYVNldFBhcnNlckVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVNldFBhcnNlckVycm9ycycpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQotICAgICBkIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykKLSAgICAgZCB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYykKLSAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQotICAgICBkIHNlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKLSAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCi0gICAgIGQgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykKLSAgICAgZCB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQotCi0gICAgIGQgeG1sU2NoZW1hSXNWYWxpZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUlzVmFsaWQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLQotICAgICBkIHhtbFNjaGVtYVBhcnNlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVBhcnNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFGcmVlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlJykKLSAgICAgZCBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQotICAgICBkIHhtbFNjaGVtYUR1bXAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUR1bXAnKQotICAgICBkIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKLQotICAgICAgKiBJbnRlcmZhY2VzIGZvciB2YWxpZGF0aW5nCi0KLSAgICAgZCB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCi0gICAgIGQgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBzZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQotICAgICBkIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCi0gICAgIGQgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKQotICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKLQotICAgICBkIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQotICAgICBkIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lJykKLSAgICAgZCB2Y3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQotCi0gICAgIGQgeG1sU2NoZW1hTmV3VmFsaWRDdHh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hTmV3VmFsaWRDdHh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKLQotICAgICBkIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlVmFsaWRDdHh0JykKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlRG9jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBpbnN0YW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQotICAgICBkIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQotICAgICBkIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQotICAgICBkIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKLSAgICAgZCB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUZpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLSAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKLSAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKLQotICAgICAgKiBJbnRlcmZhY2UgdG8gaW5zZXJ0IFNjaGVtYXMgU0FYIHZhbGlkYXRpb24gaW4gYSBTQVggc3RyZWFtCi0KLSAgICAgZCB4bWxTY2hlbWFTQVhQbHVnUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFNjaGVtYVNBWFBsdWcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFTQVhQbHVnJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVNBWFBsdWdQdHIpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCi0gICAgIGQgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQotICAgICBkIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKLQotICAgICBkIHhtbFNjaGVtYVNBWFVucGx1Zy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVNBWFVucGx1ZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIHBsdWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hU0FYUGx1Z1B0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicpCi0gICAgIGQgdmN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCi0gICAgIGQgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQ0hFTUFTX0VOQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hc3R5cGVzLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXN0eXBlcy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWNkNmFiYS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hc3R5cGVzLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMjU0ICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogaW1wbGVtZW50YXRpb24gb2YgWE1MIFNjaGVtYSBEYXRhdHlwZXMKLSAgICAgICogRGVzY3JpcHRpb246IG1vZHVsZSBwcm92aWRpbmcgdGhlIFhNTCBTY2hlbWEgRGF0YXR5cGVzIGltcGxlbWVudGF0aW9uCi0gICAgICAqICAgICAgICAgICAgICBib3RoIGRlZmluaXRpb24gYW5kIHZhbGlkaXR5IGNoZWNraW5nCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0NIRU1BX1RZUEVTX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1NDSEVNQV9UWVBFU19IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotCi0gICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvc2NoZW1hc0ludGVybmFscyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc2NoZW1hcyIKLQotICAgICBkIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAotICAgICBkICBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0KLSAgICAgZCB4bWxTY2hlbWFJbml0VHlwZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFJbml0VHlwZXMnKQotCi0gICAgIGQgeG1sU2NoZW1hQ2xlYW51cFR5cGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hQ2xlYW51cFR5cGVzJykKLQotICAgICBkIHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKgotCi0gICAgIGQgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVZhbFB0ciAqCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVGYWNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQotICAgICBkICBmd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKQotICAgICBkICB2YWxUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsVHlwZSkKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIHdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCi0KLSAgICAgZCB4bWxTY2hlbWFGcmVlVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlVmFsdWUnKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hTmV3RmFjZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdGYWNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKLQotICAgICBkIHhtbFNjaGVtYUNoZWNrRmFjZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFDaGVja0ZhY2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKLSAgICAgZCAgdHlwZURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNjaGVtYUZyZWVGYWNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUZyZWVGYWNldCcpCi0gICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKLQotICAgICBkIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcC0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZVR5cGVJdGVtVHlwZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZS0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlRmFjZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgYWN0dWFsTGVuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEN1bG9uZykKLSAgICAgZCAgZXhwZWN0ZWRMZW4gICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqCi0KLSAgICAgZCB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQotCi0gICAgIGQgeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQotICAgICBkICBmYWNldFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcnKSAgIHhtbENoYXIgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UnKXhtbENoYXIgKgotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ3Vsb25nKQotICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKLSAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgbGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1bG9uZykKLQotICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCi0gICAgIGQgIHZhbFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgbGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEN1bG9uZykKLSAgICAgZCAgd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkKLQotICAgICBkIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFNjaGVtYUdldENhbm9uVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIHJldFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiAqCi0KLSAgICAgZCB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgcmV0VmFsdWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqICoKLSAgICAgZCAgd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkKLQotICAgICBkIHhtbFNjaGVtYVZhbHVlQXBwZW5kLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hVmFsdWVBcHBlbmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgcHJldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLQotICAgICBkIHhtbFNjaGVtYVZhbHVlR2V0TmV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbHVlR2V0TmV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycpIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotCi0gICAgIGQgeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld1FOYW1lVmFsdWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotICAgICBkICBuYW1lc3BhY2VOYW1lICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbG9jYWxOYW1lICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgeHdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkKLSAgICAgZCAgeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKLSAgICAgZCAgeXdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkKLQotICAgICBkIHhtbFNjaGVtYUNvcHlWYWx1ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUNvcHlWYWx1ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCi0KLSAgICAgZCB4bWxTY2hlbWFHZXRWYWxUeXBlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hR2V0VmFsVHlwZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxUeXBlKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQ0hFTUFTX0VOQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFfVFlQRVNfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveG1sc3RkYXJnLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3htbHN0ZGFyZy5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2M4ZTIwMC4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sc3RkYXJnLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiB2YV9saXN0IHN1cHBvcnQgZm9yIElMRS9SUEcuCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU1REQVJHX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1NUREFSR19IX18KLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0KLSAgICAgICogVGhlIHZhX2xpc3Qgb2JqZWN0LgotCi0gICAgIGQgeG1sVmFMaXN0ICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgY3VycmVudCAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLQotICAgICAgKiBQcm9jZWR1cmVzLgotCi0gICAgIGQgeG1sVmFTdGFydCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxWYVN0YXJ0JykKLSAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotICAgICBkICBsYXN0YXJnYWRkciAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlCi0gICAgIGQgIGxhc3RhcmdzaXplICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDc2l6ZV90KQotCi0gICAgIGQgeG1sVmFBcmcgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX194bWxWYUFyZycpCi0gICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKLSAgICAgZCAgZGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQotICAgICBkICBhcmdzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ3NpemVfdCkKLQotICAgICBkIHhtbFZhRW5kICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sVmFFbmQnKQotICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NUREFSR19IX18KZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWxzdHJpbmcucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sc3RyaW5nLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWE3NjI1Li4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWxzdHJpbmcucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiBzZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzCi0gICAgICAqIERlc2NyaXB0aW9uOiB0eXBlIGFuZCBpbnRlcmZhY2VzIG5lZWRlZCBmb3IgdGhlIGludGVybmFsIHN0cmluZwotICAgICAgKiAgICAgICAgICAgICAgaGFuZGxpbmcgb2YgdGhlIGxpYnJhcnksIGVzcGVjaWFsbHkgVVRGOCBwcm9jZXNzaW5nLgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1NUUklOR19IX18pCi0gICAgICAvZGVmaW5lIFhNTF9TVFJJTkdfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdGRhcmciCi0KLSAgICAgICogeG1sQ2hhcjoKLSAgICAgICoKLSAgICAgICogVGhpcyBpcyBhIGJhc2ljIGJ5dGUgaW4gYW4gVVRGLTggZW5jb2RlZCBzdHJpbmcuCi0gICAgICAqIEl0J3MgdW5zaWduZWQgYWxsb3dpbmcgdG8gcGlucG9pbnQgY2FzZSB3aGVyZSBjaGFyICogYXJlIGFzc2lnbmVkCi0gICAgICAqIHRvIHhtbENoYXIgKiAocG9zc2libHkgbWFraW5nIHNlcmlhbGl6YXRpb24gYmFjayBpbXBvc3NpYmxlKS4KLQotICAgICBkIHhtbENoYXIgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDdWNoYXIpCi0KLSAgICAgICogeG1sQ2hhciBoYW5kbGluZwotCi0gICAgIGQgeG1sU3RyZHVwICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyZHVwJykgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFN0cm5kdXAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cm5kdXAnKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sQ2hhclN0cm5kdXAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2hhclN0cm5kdXAnKSAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDaGFyU3RyZHVwICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDaGFyU3RyZHVwJykgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sU3Ryc3ViICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3Ryc3ViJykgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sU3RyY2hyICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyY2hyJykgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCi0KLSAgICAgZCB4bWxTdHJzdHIgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJzdHInKSAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFN0cmNhc2VzdHIgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cmNhc2VzdHInKSAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3RyY21wICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyY21wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFN0cm5jbXAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cm5jbXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFN0cmNhc2VjbXAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmNhc2VjbXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3RybmNhc2VjbXAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RybmNhc2VjbXAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgc3RyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0cjIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFN0ckVxdWFsICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0ckVxdWFsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFN0clFFcXVhbCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0clFFcXVhbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBwcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3RybGVuICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RybGVuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sU3RyY2F0ICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyY2F0JykgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgYWRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxTdHJuY2F0ICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJuY2F0JykgICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBhZGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxTdHJuY2F0TmV3ICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJuY2F0TmV3JykgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogeG1sU3RyUHJpbnRmKCkgaXMgYSB2YXJhcmcgZnVuY3Rpb24uCi0gICAgICAqIFRoZSBmb2xsb3dpbmcgcHJvdG90eXBlIHN1cHBvcnRzIHVwIHRvIDggcG9pbnRlciBhcmd1bWVudHMuCi0gICAgICAqIE90aGVyIGFyZ3VtZW50IHNpZ25hdHVyZSBjYW4gYmUgYWNoaWV2ZWQgYnkgZGVmaW5pbmcgYWx0ZXJuYXRlCi0gICAgICAqICAgcHJvdG90eXBlcyByZWRpcmVjdGVkIHRvIHRoZSBzYW1lIGZ1bmN0aW9uLgotCi0gICAgIGQgeG1sU3RyUHJpbnRmICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyUHJpbnRmJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGFyZzEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmcyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzQgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLSAgICAgZCAgYXJnNiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCi0gICAgIGQgIGFyZzcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQotICAgICBkICBhcmc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKLQotICAgICBkIHhtbFN0clZQcmludGYgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0clZQcmludGYnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sR2V0VVRGOENoYXIgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0VVRGOENoYXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zLiBjaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxDaGVja1VURjggICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDaGVja1VURjgnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zLiBjaGFyICoKLQotICAgICBkIHhtbFVURjhTdHJzaXplICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVURjhTdHJzaXplJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHV0ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVURjhTdHJuZHVwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVURjhTdHJuZHVwJykgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVVRGOFN0cnBvcyAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVVRGOFN0cnBvcycpICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcG9zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVVEY4U3RybG9jICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVVEY4U3RybG9jJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHV0ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB1dGZjaGFyICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFVURjhTdHJzdWIgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVURjhTdHJzdWInKSAgICAgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVURjhTdHJsZW4gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVURjhTdHJsZW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxVVEY4U2l6ZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVVEY4U2l6ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFVURjhDaGFyY21wICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVURjhDaGFyY21wJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHV0ZjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICB1dGYyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU1RSSU5HX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sdW5pY29kZS5ycGdsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRjNGJhMS4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sdW5pY29kZS5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDgzNiArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXMKLSAgICAgICogRGVzY3JpcHRpb246IEFQSSBmb3IgdGhlIFVuaWNvZGUgY2hhcmFjdGVyIEFQSXMKLSAgICAgICoKLSAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotICAgICAgKgotICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLQotICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9VTklDT0RFX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1VOSUNPREVfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKLQotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxUeXBlc0MiCi0KLSAgICAgZCB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3Jtcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zJwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNBcmFiaWMgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNBcmFiaWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQXJtZW5pYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0FybWVuaWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNBcnJvd3MgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNBcnJvd3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0Jhc2ljTGF0aW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0Jhc2ljTGF0aW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0JlbmdhbGkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0JlbmdhbGknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0JvcG9tb2ZvLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCb3BvbW9mbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQm9wb21vZm9FeHRlbmRlZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQm94RHJhd2luZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQm94RHJhd2luZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNCcmFpbGxlUGF0dGVybnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0J1aGlkICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0J1aGlkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3Jtcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZS0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ3JhcGhzU3VwcGxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaC0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzRXh0ZW5zaW9uQScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoLQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNFeHRlbnNpb25CJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDaGVyb2tlZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2hlcm9rZWUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhLQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxNYXJrc2ZvclN5bWJvbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDb250cm9sUGljdHVyZXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDeXJpbGxpYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3lyaWxsaWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNEZXNlcmV0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNEZXNlcmV0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNEZXZhbmFnYXJpLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNEZXZhbmFnYXJpJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNEaW5nYmF0cy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzRGluZ2JhdHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocycKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzRXRoaW9waWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0V0aGlvcGljJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0dlb3JnaWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHZW9yZ2lhbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzR290aGljICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR290aGljJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNHcmVlayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHcmVlaycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzR3JlZWtFeHRlbmRlZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR3JlZWtFeHRlbmRlZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzR3JlZWthbmRDb3B0aWMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0dyZWVrYW5kQ29wdGljJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNHdWphcmF0aS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzR3VqYXJhdGknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0d1cm11a2hpLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNHdXJtdWtoaScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtby4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0hhbmd1bEphbW8uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0hhbmd1bEphbW8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNIYW51bm9vLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNIYW51bm9vJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNIZWJyZXcgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNIZWJyZXcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNIaWdoU3Vycm9nYXRlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0hpcmFnYW5hLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNIaXJhZ2FuYScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzSVBBRXh0ZW5zaW9ucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzSVBBRXh0ZW5zaW9ucycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHQtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9uQ2hhcmFjdGVycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzS2FuYnVuICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2FuYnVuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNLYW5neGlSYWRpY2Fscy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0thbm5hZGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0thbm5hZGEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0thdGFrYW5hLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNLYXRha2FuYScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNLaG1lciAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNLaG1lcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzS2htZXJTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNLaG1lclN5bWJvbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0xhbyAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xhbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGF0aW5FeHRlbmRlZEInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNMaW1idSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNMaW1idScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTGluZWFyQklkZW9ncmFtcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGluZWFyQklkZW9ncmFtcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTG93U3Vycm9nYXRlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTG93U3Vycm9nYXRlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTWFsYXlhbGFtLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNYWxheWFsYW0nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnUtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyaWNTeW1ib2xzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtLQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0aWNhbFN5bWJvbHNBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW0tCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRpY2FsU3ltYm9sc0InKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2wtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FuZEFycm93cycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTW9uZ29saWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNb25nb2xpYW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc011c2ljYWxTeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNNdXNpY2FsU3ltYm9scycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTXlhbm1hci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzTXlhbm1hcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzTnVtYmVyRm9ybXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc051bWJlckZvcm1zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNPZ2hhbSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPZ2hhbScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzT2xkSXRhbGljLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPbGRJdGFsaWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uJwotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNPcml5YSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNPcml5YScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzT3NtYW55YS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzT3NtYW55YScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1ByaXZhdGVVc2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1ByaXZhdGVVc2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNQcml2YXRlVXNlQXJlYScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzUnVuaWMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzUnVuaWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1NoYXZpYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1NoYXZpYW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1NpbmhhbGEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1NpbmhhbGEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzU3BlY2lhbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1NwZWNpYWxzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWEtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGljYWxPcGVyYXRvcnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXQtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZVVzZUFyZWFBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0LQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVVc2VBcmVhQicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzU3lyaWFjICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzU3lyaWFjJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNUYWdhbG9nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNUYWdhbG9nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNUYWdiYW53YS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGFnYmFud2EnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1RhZ3MgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RhZ3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1RhaUxlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RhaUxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzVGFtaWwgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGFtaWwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1RlbHVndSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1RlbHVndScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzVGhhYW5hICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVGhhYW5hJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNUaGFpICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNUaGFpJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNUaWJldGFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNUaWJldGFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNVZ2FyaXRpYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVWdhcml0aWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3ItCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdpbmFsU3lsbGFiaWNzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzUy0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cHBsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1lpUmFkaWNhbHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc1lpUmFkaWNhbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc1lpU3lsbGFibGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNZaVN5bGxhYmxlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0Jsb2NrICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0Jsb2NrJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBibG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFVDU0lzQ2F0QyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0QycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0Q2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0Q2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdENmICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdENmJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRDbyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRDbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0Q3MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0Q3MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdEwgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdEwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdExsICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdExsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRMbSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMbScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0TG8gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TG8nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdEx0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdEx0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRMdSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRMdScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0TSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0TWMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TWMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdE1lICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE1lJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRNbiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRNbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0TiAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0TmQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0TmQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdE5sICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdE5sJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRObyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRObycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0UCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0UCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0UGMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFBkICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFBkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRQZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0UGYgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGYnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFBpICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFBpJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRQbyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRQbycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0UHMgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0UHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFMgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFNjICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFNjJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRTayAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRTaycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0U20gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0U20nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFNvICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFNvJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRaICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRaJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXRabCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXRabCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFVDU0lzQ2F0WnAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVDU0lzQ2F0WnAnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxVQ1NJc0NhdFpzICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVQ1NJc0NhdFpzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVUNTSXNDYXQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVUNTSXNDYXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGNhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9VTklDT0RFX0VOQkxECi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9VTklDT0RFX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3htbHZlcnNpb24ucnBnbGUuaW4gYi9vczQwMC9saWJ4bWxycGcveG1sdmVyc2lvbi5ycGdsZS5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRhMzkxMC4uMDAwMDAwMAotLS0gYS9vczQwMC9saWJ4bWxycGcveG1sdmVyc2lvbi5ycGdsZS5pbgorKysgL2Rldi9udWxsCkBAIC0xLDM1MyArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uCi0gICAgICAqIERlc2NyaXB0aW9uOiBjb21waWxlLXRpbWUgdmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5Ci0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfVkVSU0lPTl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9WRVJTSU9OX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXhwb3J0cyIKLQotICAgICAgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCi0gICAgICAqIHlvdXIgbGlicmFyeSBhbmQgaW5jbHVkZXMgbWlzbWF0Y2gKLQotCi0gICAgIGQgeG1sQ2hlY2tWZXJzaW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hlY2tWZXJzaW9uJykKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogTElCWE1MX0RPVFRFRF9WRVJTSU9OOgotICAgICAgKgotICAgICAgKiB0aGUgdmVyc2lvbiBzdHJpbmcgbGlrZSAiMS4yLjMiCi0KLSAgICAgZCBMSUJYTUxfRE9UVEVEX1ZFUlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAnQFZFUlNJT05AJwotCi0gICAgICAqIExJQlhNTF9WRVJTSU9OOgotICAgICAgKgotICAgICAgKiB0aGUgdmVyc2lvbiBudW1iZXI6IDEuMi4zIHZhbHVlIGlzIDEwMjAzCi0KLSAgICAgZCBMSUJYTUxfVkVSU0lPTiAgYyAgICAgICAgICAgICAgICAgICBATElCWE1MX1ZFUlNJT05fTlVNQkVSQAotCi0gICAgICAqIExJQlhNTF9WRVJTSU9OX1NUUklORzoKLSAgICAgICoKLSAgICAgICogdGhlIHZlcnNpb24gbnVtYmVyIHN0cmluZywgMS4yLjMgdmFsdWUgaXMgIjEwMjAzIgotCi0gICAgIGQgTElCWE1MX1ZFUlNJT05fU1RSSU5HLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ0BMSUJYTUxfVkVSU0lPTl9OVU1CRVJAJwotCi0gICAgICAqIExJQlhNTF9WRVJTSU9OX0VYVFJBOgotICAgICAgKgotICAgICAgKiBleHRyYSB2ZXJzaW9uIGluZm9ybWF0aW9uLCB1c2VkIHRvIHNob3cgYSBDVlMgY29tcGlsYXRpb24KLQotICAgICBkIExJQlhNTF9WRVJTSU9OX0VYVFJBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ0BMSUJYTUxfVkVSU0lPTl9FWFRSQUAnCi0KLSAgICAgICogRm9yIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uCi0gICAgICAvZGVmaW5lICAgREVGSU5FRF8xCi0gICAgICAvdW5kZWZpbmUgREVGSU5FRF8wCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfVFJJT0ApCi0gICAgICAqIFdJVEhfVFJJTzoKLSAgICAgICoKLSAgICAgICogZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IG5lZWQgdG8gYmUgY29uZmlndXJlZCBpbgotCi0gICAgICAvZGVmaW5lIFdJVEhfVFJJTwotICAgICAgL2Vsc2UKLSAgICAgICogV0lUSE9VVF9UUklPOgotICAgICAgKgotICAgICAgKiBkZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgc2hvdWxkIG5vdCBiZSBjb25maWd1cmVkIGluCi0KLSAgICAgIC9kZWZpbmUgV0lUSE9VVF9UUklPCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIHRocmVhZCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9USFJFQURTQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1RIUkVBRF9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQKLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9USFJFQURfQUxMT0NAKQotICAgICAgL2RlZmluZSBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9UUkVFX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIERPTSBsaWtlIHRyZWUgbWFuaXB1bGF0aW9uIEFQSSBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9UUkVFQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1RSRUVfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX09VVFBVVF9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBzZXJpYWxpemF0aW9uL3NhdmluZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9PVVRQVVRAKQotICAgICAgL2RlZmluZSBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9QVVNIX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIHB1c2ggcGFyc2luZyBpbnRlcmZhY2VzIGFyZSBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUFVTSEApCi0gICAgICAvZGVmaW5lIExJQlhNTF9QVVNIX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9SRUFERVJfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgeG1sUmVhZGVyIHBhcnNpbmcgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9SRUFERVJAKQotICAgICAgL2RlZmluZSBMSUJYTUxfUkVBREVSX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9QQVRURVJOX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIHhtbFBhdHRlcm4gbm9kZSBzZWxlY3Rpb24gaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9QQVRURVJOQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX1dSSVRFUl9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSB4bWxXcml0ZXIgc2F2aW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfV1JJVEVSQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1dSSVRFUl9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfU0FYMV9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBvbGRlciBTQVgxIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfU0FYMUApCi0gICAgICAvZGVmaW5lIExJQlhNTF9TQVgxX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9GVFBfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgRlRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0ZUUEApCi0gICAgICAvZGVmaW5lIExJQlhNTF9GVFBfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX0hUVFBfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgSFRUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9IVFRQQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0hUVFBfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX1ZBTElEX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIERURCB2YWxpZGF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1ZBTElEQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1ZBTElEX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9IVE1MX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIEhUTUwgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfSFRNTEApCi0gICAgICAvZGVmaW5lIExJQlhNTF9IVE1MX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9MRUdBQ1lfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgZGVwcmVjYXRlZCBBUElzIGFyZSBjb21waWxlZCBpbiBmb3IgY29tcGF0aWJpbGl0eQotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0xFR0FDWUApCi0gICAgICAvZGVmaW5lIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX0MxNE5fRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgQ2Fub25pY2FsaXphdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9DMTROQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0MxNE5fRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX0NBVEFMT0dfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgQ2F0YWxvZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9DQVRBTE9HQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX0RPQ0JfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgU0dNTCBEb2Nib29rIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0RPQ0JAKQotICAgICAgL2RlZmluZSBMSUJYTUxfRE9DQl9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfWFBBVEhfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciBYUGF0aCBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfWFBBVEhAKQotICAgICAgL2RlZmluZSBMSUJYTUxfWFBBVEhfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX1hQVFJfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciBYUG9pbnRlciBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfWFBUUkApCi0gICAgICAvZGVmaW5lIExJQlhNTF9YUFRSX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9YSU5DTFVERV9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIFhJbmNsdWRlIGlzIGNvbmZpZ3VyZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9YSU5DTFVERUApCi0gICAgICAvZGVmaW5lIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfSUNPTlZfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciBpY29udiBzdXBwb3J0IGlzIGF2YWlsYWJsZQotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0lDT05WQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0lDT05WX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9JQ1VfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciBpY3Ugc3VwcG9ydCBpcyBhdmFpbGFibGUKLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9JQ1VAKQotICAgICAgL2RlZmluZSBMSUJYTUxfSUNVX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9JU084ODU5WF9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIElTTy04ODU5LSogc3VwcG9ydCBpcyBtYWRlIGF2YWlsYWJsZSBpbiBjYXNlIGljb252IGlzIG5vdAotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0lTTzg4NTlYQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9ERUJVR19FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIERlYnVnZ2luZyBtb2R1bGUgaXMgY29uZmlndXJlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0RFQlVHQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0RFQlVHX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIERFQlVHX01FTU9SWV9MT0NBVElPTjoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgbWVtb3J5IGRlYnVnZ2luZyBpcyBjb25maWd1cmVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfTUVNX0RFQlVHQCkKLSAgICAgIC9kZWZpbmUgREVCVUdfTUVNT1JZX0xPQ0FUSU9OCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfREVCVUdfUlVOVElNRToKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgcnVudGltZSBkZWJ1Z2dpbmcgaXMgY29uZmlndXJlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1JVTl9ERUJVR0ApCi0gICAgICAvZGVmaW5lIExJQlhNTF9ERUJVR19SVU5USU1FCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBVbmljb2RlIHJlbGF0ZWQgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9SRUdFWFBTQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX1VOSUNPREVfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX1JFR0VYUF9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUkVHRVhQU0ApCi0gICAgICAvZGVmaW5lIExJQlhNTF9SRUdFWFBfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIGF1dG9tYXRhIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUkVHRVhQU0ApCi0gICAgICAvZGVmaW5lIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfRVhQUl9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBmb3JtYWwgZXhwcmVzc2lvbnMgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9TQ0hFTUFTQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0VYUFJfRU5BQkxFRAotICAgICAgL2VuZGlmCi0KLSAgICAgICogTElCWE1MX1NDSEVNQVNfRU5BQkxFRDoKLSAgICAgICoKLSAgICAgICogV2hldGhlciB0aGUgU2NoZW1hcyB2YWxpZGF0aW9uIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCi0KLSAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfU0NIRU1BU0ApCi0gICAgICAvZGVmaW5lIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIFNjaGVtYXRyb24gdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1NDSEVNQVRST05AKQotICAgICAgL2RlZmluZSBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfTU9EVUxFU19FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBtb2R1bGUgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9NT0RVTEVTQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX01PRFVMRVNfRU5BQkxFRAotCi0gICAgICAqIExJQlhNTF9NT0RVTEVfRVhURU5TSU9OOgotICAgICAgKgotICAgICAgKiB0aGUgc3RyaW5nIHN1ZmZpeCB1c2VkIGJ5IGR5bmFtaWMgbW9kdWxlcyAodXN1YWxseSBzaGFyZWQgbGlicmFyaWVzKQotCi0gICAgIGQgTElCWE1MX01PRFVMRV9FWFRFTlNJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAnLlNSVlBHTScKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIExJQlhNTF9aTElCX0VOQUJMRUQ6Ci0gICAgICAqCi0gICAgICAqIFdoZXRoZXIgdGhlIFpsaWIgc3VwcG9ydCBpcyBjb21waWxlZCBpbgotCi0gICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1pMSUJAKQotICAgICAgL2RlZmluZSBMSUJYTUxfWkxJQl9FTkFCTEVECi0gICAgICAvZW5kaWYKLQotICAgICAgKiBMSUJYTUxfTFpNQV9FTkFCTEVEOgotICAgICAgKgotICAgICAgKiBXaGV0aGVyIHRoZSBMem1hIHN1cHBvcnQgaXMgY29tcGlsZWQgaW4KLQotICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9MWk1BQCkKLSAgICAgIC9kZWZpbmUgTElCWE1MX0xaTUFfRU5BQkxFRAotICAgICAgL2VuZGlmCi0gICAgICAvZW5kaWYKZGlmZiAtLWdpdCBhL29zNDAwL2xpYnhtbHJwZy94bWx3cml0ZXIucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveG1sd3JpdGVyLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODUzMGY4Li4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94bWx3cml0ZXIucnBnbGUKKysrIC9kZXYvbnVsbApAQCAtMSw4MDEgKzAsMCBAQAotICAgICAgKiBTdW1tYXJ5OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUwKLSAgICAgICogRGVzY3JpcHRpb246IHRleHQgd3JpdGluZyBBUEkgZm9yIFhNTAotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hNTFdSSVRFUl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YTUxXUklURVJfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RkYXJnIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvbGlzdCIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgotCi0gICAgIGQgeG1sVGV4dFdyaXRlclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogQ29uc3RydWN0b3JzICYgRGVzdHJ1Y3RvcgotCi0gICAgIGQgeG1sTmV3VGV4dFdyaXRlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRXcml0ZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKLQotICAgICBkIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICB1cmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFdyaXRlck1lbW9yeScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCi0gICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sTmV3VGV4dFdyaXRlckRvYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRXcml0ZXJEb2MnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKLSAgICAgZCAgY29tcHJlc3Npb24gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxOZXdUZXh0V3JpdGVyVHJlZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRXcml0ZXJUcmVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbEZyZWVUZXh0V3JpdGVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVRleHRXcml0ZXInKQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgKiBGdW5jdGlvbnMKLQotICAgICAgKiBEb2N1bWVudAotCi0gICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJFbmREb2N1bWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgKiBDb21tZW50cwotCi0gICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kQ29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRDb21tZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAqIEVsZW1lbnRzCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRFbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotCi0gICAgIGQgeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotCi0gICAgICAqIEVsZW1lbnRzIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWVzcGFjZVVSSSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAqIFRleHQKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVSYXcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlQmluSGV4JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIEF0dHJpYnV0ZXMKLQotICAgICBkIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWVzcGFjZVVSSSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0KLSAgICAgICogQXR0cmlidXRlcyBjb252ZW5pZW5jeSBmdW5jdGlvbnMKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMnCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXQtCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpYnV0ZU5TJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWVzcGFjZVVSSSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogUEkncwotCi0gICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0UEkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRQSScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kUEkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kUEknKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0KLSAgICAgICogUEkgY29udmVuaWVuY3kgZnVuY3Rpb25zCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVQSS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVBJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogeG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uOgotICAgICAgKgotICAgICAgKiBUaGlzIG1hY3JvIG1hcHMgdG8geG1sVGV4dFdyaXRlcldyaXRlUEkKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVBJJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogQ0RBVEEKLQotICAgICBkIHhtbFRleHRXcml0ZXJTdGFydENEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kQ0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kQ0RBVEEnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0KLSAgICAgICogQ0RBVEEgY29udmVuaWVuY3kgZnVuY3Rpb25zCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVDREFUQScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogRFRECi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnREVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnREVEQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFRELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERURCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgKiBEVEQgY29udmVuaWVuY3kgZnVuY3Rpb25zCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRELi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURURC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURURCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogeG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZToKLSAgICAgICoKLSAgICAgICogdGhpcyBtYWNybyBtYXBzIHRvIHhtbFRleHRXcml0ZXJXcml0ZURURAotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURURCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgICogRFREIGVsZW1lbnQgZGVmaW5pdGlvbgotCi0gICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgKiBEVEQgZWxlbWVudCBkZWZpbml0aW9uIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCcKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAqIERURCBhdHRyaWJ1dGUgbGlzdCBkZWZpbml0aW9uCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotCi0gICAgICAqIERURCBhdHRyaWJ1dGUgbGlzdCBkZWZpbml0aW9uIGNvbnZlbmllbmN5IGZ1bmN0aW9ucwotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgICAqIERURCBlbnRpdHkgZGVmaW5pdGlvbgotCi0gICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQotICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERUREVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgKiBEVEQgZW50aXR5IGRlZmluaXRpb24gY29udmVuaWVuY3kgZnVuY3Rpb25zCi0KLSAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURC0KLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbEVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKLSAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCi0gICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERULQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJbnRlcm5hbEVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKLSAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eScKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuZGF0YWlkICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm4tCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxFbnRpdHlDb250ZW50cycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuZGF0YWlkICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5kYXRhaWQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBEVEQgbm90YXRpb24gZGVmaW5pdGlvbgotCi0gICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBJbmRlbnRhdGlvbgotCi0gICAgIGQgeG1sVGV4dFdyaXRlclNldEluZGVudC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTZXRJbmRlbnQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIGluZGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCi0gICAgIGQgIHF1b3RlY2hhciAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQotCi0gICAgICAqIG1pc2MKLQotICAgICBkIHhtbFRleHRXcml0ZXJGbHVzaC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRXcml0ZXJGbHVzaCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKLQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfV1JJVEVSX0VOQUJMRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWE1MV1JJVEVSX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3hwYXRoLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3hwYXRoLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWUxNWQ2Li4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94cGF0aC5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDY3NSArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uCi0gICAgICAqIERlc2NyaXB0aW9uOiBBUEkgZm9yIHRoZSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgotICAgICAgKgotICAgICAgKiBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgotICAgICAgKiBYUGF0aCBpcyBhIGxhbmd1YWdlIGZvciBhZGRyZXNzaW5nIHBhcnRzIG9mIGFuIFhNTCBkb2N1bWVudCwKLSAgICAgICogZGVzaWduZWQgdG8gYmUgdXNlZCBieSBib3RoIFhTTFQgYW5kIFhQb2ludGVyCi0gICAgICAqICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aAotICAgICAgKgotICAgICAgKiBJbXBsZW1lbnRzCi0gICAgICAqIFczQyBSZWNvbW1lbmRhdGlvbiAxNiBOb3ZlbWJlciAxOTk5Ci0gICAgICAqICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNgotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hQQVRIX0hfXykKLSAgICAgIC9kZWZpbmUgWE1MX1hQQVRIX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbFR5cGVzQyIKLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXJyb3IiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCi0gICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9YUEFUSF9FTkFCTEVECi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQotCi0gICAgIGQgeG1sWFBhdGhDb250ZXh0UHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogVGhlIHNldCBvZiBYUGF0aCBlcnJvciBjb2Rlcy4KLQotICAgICBkIHhtbFhQYXRoRXJyb3IgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZW51bSkKLSAgICAgZCAgWFBBVEhfRVhQUkVTU0lPTl9PSy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWFBBVEhfTlVNQkVSX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQotICAgICBkICBYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCi0gICAgIGQgIFhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCi0gICAgIGQgIFhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKLSAgICAgZCAgWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1Ci0gICAgIGQgIFhQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgotICAgICBkICBYUEFUSF9FWFBSX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNwotICAgICBkICBYUEFUSF9VTkNMT1NFRF9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgKLSAgICAgZCAgWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQotICAgICBkICBYUEFUSF9JTlZBTElEX09QRVJBTkQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMAotICAgICBkICBYUEFUSF9JTlZBTElEX1RZUEUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQotICAgICBkICBYUEFUSF9JTlZBTElEX0FSSVRZLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKLSAgICAgZCAgWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMwotICAgICBkICBYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNAotICAgICBkICBYUEFUSF9NRU1PUllfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQotICAgICBkICBYUFRSX1NZTlRBWF9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2Ci0gICAgIGQgIFhQVFJfUkVTT1VSQ0VfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNwotICAgICBkICBYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4Ci0gICAgIGQgIFhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5Ci0gICAgIGQgIFhQQVRIX0VOQ09ESU5HX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKLSAgICAgZCAgWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKLSAgICAgZCAgWFBBVEhfSU5WQUxJRF9DVFhULi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjIKLSAgICAgZCAgWFBBVEhfU1RBQ0tfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMwotICAgICBkICBYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNAotCi0gICAgICAqIEEgbm9kZS1zZXQgKGFuIHVub3JkZXJlZCBjb2xsZWN0aW9uIG9mIG5vZGVzIHdpdGhvdXQgZHVwbGljYXRlcykuCi0KLSAgICAgZCB4bWxOb2RlU2V0UHRyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sTm9kZVNldCAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgbm9kZU5yICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgU2V0IG5vZGUgY291bnQKLSAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4ICMgbm9kZXMgaW4gc2V0Ci0gICAgIGQgIG5vZGVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgotCi0gICAgICAqIEFuIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHlpZWxkIGFuIG9iamVjdCwgd2hpY2gKLSAgICAgICogaGFzIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZvdXIgYmFzaWMgdHlwZXM6Ci0gICAgICAqICAgLSBub2RlLXNldAotICAgICAgKiAgIC0gYm9vbGVhbgotICAgICAgKiAgIC0gbnVtYmVyCi0gICAgICAqICAgLSBzdHJpbmcKLSAgICAgICoKLSAgICAgICogQEAgWFBvaW50ZXIgd2lsbCBhZGQgbW9yZSB0eXBlcyAhCi0KLSAgICAgZCB4bWxYUGF0aE9iamVjdFR5cGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2VudW0pCi0gICAgIGQgIFhQQVRIX1VOREVGSU5FRC4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKLSAgICAgZCAgWFBBVEhfTk9ERVNFVCAgYyAgICAgICAgICAgICAgICAgICAxCi0gICAgIGQgIFhQQVRIX0JPT0xFQU4gIGMgICAgICAgICAgICAgICAgICAgMgotICAgICBkICBYUEFUSF9OVU1CRVIgICBjICAgICAgICAgICAgICAgICAgIDMKLSAgICAgZCAgWFBBVEhfU1RSSU5HICAgYyAgICAgICAgICAgICAgICAgICA0Ci0gICAgIGQgIFhQQVRIX1BPSU5UICAgIGMgICAgICAgICAgICAgICAgICAgNQotICAgICBkICBYUEFUSF9SQU5HRSAgICBjICAgICAgICAgICAgICAgICAgIDYKLSAgICAgZCAgWFBBVEhfTE9DQVRJT05TRVQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3Ci0gICAgIGQgIFhQQVRIX1VTRVJTICAgIGMgICAgICAgICAgICAgICAgICAgOAotICAgICBkICBYUEFUSF9YU0xUX1RSRUUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSL08gWFNMVCB2YWx1ZSB0cmVlCi0gICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQotCi0gICAgIGQgeG1sWFBhdGhPYmplY3RQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sWFBhdGhPYmplY3QgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFR5cGUpCi0gICAgIGQgIG5vZGVzZXR2YWwgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBib29sdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZmxvYXR2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCi0gICAgIGQgIHN0cmluZ3ZhbCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHVzZXIyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBpbmRleDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiB4bWxYUGF0aENvbnZlcnRGdW5jOgotICAgICAgKiBAb2JqOiAgYW4gWFBhdGggb2JqZWN0Ci0gICAgICAqIEB0eXBlOiAgdGhlIG51bWJlciBvZiB0aGUgdGFyZ2V0IHR5cGUKLSAgICAgICoKLSAgICAgICogQSBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIGFzc29jaWF0ZWQgdG8gYSB0eXBlIGFuZCB1c2VkIHRvIGNhc3QKLSAgICAgICogdGhlIG5ldyB0eXBlIHRvIHByaW1pdGl2ZSB2YWx1ZXMuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UKLQotICAgICBkIHhtbFhQYXRoQ29udmVydEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBFeHRyYSB0eXBlOiBhIG5hbWUgYW5kIGEgY29udmVyc2lvbiBmdW5jdGlvbi4KLQotICAgICBkIHhtbFhQYXRoVHlwZVB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxYUGF0aFR5cGUgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxYUGF0aFR5cGVQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0eXBlIG5hbWUKLSAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQ29udmVydEZ1bmMpICAgICAgICAgICAgQ29udmVyc2lvbiBmdW5jdGlvbgotCi0gICAgICAqIEV4dHJhIHZhcmlhYmxlOiBhIG5hbWUgYW5kIGEgdmFsdWUuCi0KLSAgICAgZCB4bWxYUGF0aFZhcmlhYmxlUHRyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLQotICAgICBkIHhtbFhQYXRoVmFyaWFibGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxYUGF0aFZhcmlhYmxlUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgbmFtZQotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpICAgICAgICAgICAgICBUaGUgdmFsdWUKLQotICAgICAgKiB4bWxYUGF0aEV2YWxGdW5jOgotICAgICAgKiBAY3R4dDogYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKLSAgICAgICogQG5hcmdzOiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uCi0gICAgICAqCi0gICAgICAqIEFuIFhQYXRoIGV2YWx1YXRpb24gZnVuY3Rpb24sIHRoZSBwYXJhbWV0ZXJzIGFyZSBvbiB0aGUgWFBhdGgKLSAgICAgICogICBjb250ZXh0IHN0YWNrLgotCi0gICAgIGQgeG1sWFBhdGhFdmFsRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIEV4dHJhIGZ1bmN0aW9uOiBhIG5hbWUgYW5kIGFuIGV2YWx1YXRpb24gZnVuY3Rpb24uCi0KLSAgICAgZCB4bWxYUGF0aEZ1bmNQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sWFBhdGhGdW5jdCAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhGdW5jUHRyKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gbmFtZQotICAgICBkICBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhFdmFsRnVuYykgICAgICAgICAgICAgICBFdmFsdWF0aW9uIGZ1bmN0aW9uCi0KLSAgICAgICogeG1sWFBhdGhBeGlzRnVuYzoKLSAgICAgICogQGN0eHQ6ICB0aGUgWFBhdGggaW50ZXJwcmV0ZXIgY29udGV4dAotICAgICAgKiBAY3VyOiAgdGhlIHByZXZpb3VzIG5vZGUgYmVpbmcgZXhwbG9yZWQgb24gdGhhdCBheGlzCi0gICAgICAqCi0gICAgICAqIEFuIGF4aXMgdHJhdmVyc2FsIGZ1bmN0aW9uLiBUbyB0cmF2ZXJzZSBhbiBheGlzLCB0aGUgZW5naW5lIGNhbGxzCi0gICAgICAqIHRoZSBmaXJzdCB0aW1lIHdpdGggY3VyID09IE5VTEwgYW5kIHJlcGVhdCB1bnRpbCB0aGUgZnVuY3Rpb24gcmV0dXJucwotICAgICAgKiBOVUxMIGluZGljYXRpbmcgdGhlIGVuZCBvZiB0aGUgYXhpcyB0cmF2ZXJzYWwuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgdGhlIG5leHQgbm9kZSBpbiB0aGF0IGF4aXMgb3IgTlVMTCBpZiBhdCB0aGUgZW5kIG9mIHRoZSBheGlzLgotCi0gICAgIGQgeG1sWFBhdGhBeGlzRnVuYy4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgotCi0gICAgICAqIEV4dHJhIGF4aXM6IGEgbmFtZSBhbmQgYW4gYXhpcyBmdW5jdGlvbi4KLQotICAgICBkIHhtbFhQYXRoQXhpc1B0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgZCB4bWxYUGF0aEF4aXMgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxYUGF0aEF4aXNQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBheGlzIG5hbWUKLSAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQXhpc0Z1bmMpICAgICAgICAgICAgICAgVGhlIHNlYXJjaCBmdW5jdGlvbgotCi0gICAgICAqIHhtbFhQYXRoRnVuY3Rpb246Ci0gICAgICAqIEBjdHh0OiAgdGhlIFhQYXRoIGludGVycHJlc3RhdGlvbiBjb250ZXh0Ci0gICAgICAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCi0gICAgICAqCi0gICAgICAqIEFuIFhQYXRoIGZ1bmN0aW9uLgotICAgICAgKiBUaGUgYXJndW1lbnRzIChpZiBhbnkpIGFyZSBwb3BwZWQgb3V0IGZyb20gdGhlIGNvbnRleHQgc3RhY2sKLSAgICAgICogYW5kIHRoZSByZXN1bHQgaXMgcHVzaGVkIG9uIHRoZSBzdGFjay4KLQotICAgICBkIHhtbFhQYXRoRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiBGdW5jdGlvbiBhbmQgVmFyaWFibGUgTG9va3VwLgotCi0gICAgICAqIHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jOgotICAgICAgKiBAY3R4dDogIGFuIFhQYXRoIGNvbnRleHQKLSAgICAgICogQG5hbWU6ICBuYW1lIG9mIHRoZSB2YXJpYWJsZQotICAgICAgKiBAbnNfdXJpOiAgdGhlIG5hbWVzcGFjZSBuYW1lIGhvc3RpbmcgdGhpcyB2YXJpYWJsZQotICAgICAgKgotICAgICAgKiBQcm90b3R5cGUgZm9yIGNhbGxiYWNrcyB1c2VkIHRvIHBsdWcgdmFyaWFibGUgbG9va3VwIGluIHRoZSBYUGF0aAotICAgICAgKiBlbmdpbmUuCi0gICAgICAqCi0gICAgICAqIFJldHVybnMgdGhlIFhQYXRoIG9iamVjdCB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4KLQotICAgICBkIHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCi0KLSAgICAgICogeG1sWFBhdGhGdW5jTG9va3VwRnVuYzoKLSAgICAgICogQGN0eHQ6ICBhbiBYUGF0aCBjb250ZXh0Ci0gICAgICAqIEBuYW1lOiAgbmFtZSBvZiB0aGUgZnVuY3Rpb24KLSAgICAgICogQG5zX3VyaTogIHRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgZnVuY3Rpb24KLSAgICAgICoKLSAgICAgICogUHJvdG90eXBlIGZvciBjYWxsYmFja3MgdXNlZCB0byBwbHVnIGZ1bmN0aW9uIGxvb2t1cCBpbiB0aGUgWFBhdGgKLSAgICAgICogZW5naW5lLgotICAgICAgKgotICAgICAgKiBSZXR1cm5zIHRoZSBYUGF0aCBmdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KLQotICAgICBkIHhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKLQotICAgICAgKiB4bWxYUGF0aEZsYWdzOgotICAgICAgKiBGbGFncyBmb3IgWFBhdGggZW5naW5lIGNvbXBpbGF0aW9uIGFuZCBydW50aW1lCi0KLSAgICAgICogWE1MX1hQQVRIX0NIRUNLTlM6Ci0gICAgICAqCi0gICAgICAqIGNoZWNrIG5hbWVzcGFjZXMgYXQgY29tcGlsYXRpb24KLQotICAgICBkICBYTUxfWFBBVEhfQ0hFQ0tOUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKLQotICAgICAgKiBYTUxfWFBBVEhfTk9WQVI6Ci0gICAgICAqCi0gICAgICAqIGZvcmJpZCB2YXJpYWJsZXMgaW4gZXhwcmVzc2lvbgotCi0gICAgIGQgIFhNTF9YUEFUSF9OT1ZBUi4uLgotICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKLQotICAgICAgKiB4bWxYUGF0aENvbnRleHQ6Ci0gICAgICAqCi0gICAgICAqIEV4cHJlc3Npb24gZXZhbHVhdGlvbiBvY2N1cnMgd2l0aCByZXNwZWN0IHRvIGEgY29udGV4dC4KLSAgICAgICogaGUgY29udGV4dCBjb25zaXN0cyBvZjoKLSAgICAgICogICAgLSBhIG5vZGUgKHRoZSBjb250ZXh0IG5vZGUpCi0gICAgICAqICAgIC0gYSBub2RlIGxpc3QgKHRoZSBjb250ZXh0IG5vZGUgbGlzdCkKLSAgICAgICogICAgLSBhIHNldCBvZiB2YXJpYWJsZSBiaW5kaW5ncwotICAgICAgKiAgICAtIGEgZnVuY3Rpb24gbGlicmFyeQotICAgICAgKiAgICAtIHRoZSBzZXQgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBpbiBzY29wZSBmb3IgdGhlIGV4cHJlc3Npb24KLSAgICAgICogRm9sbG93aW5nIHRoZSBzd2l0Y2ggdG8gaGFzaCB0YWJsZXMsIHRoaXMgbmVlZCB0byBiZSB0cmltbWVkIHVwIGF0Ci0gICAgICAqIHRoZSBuZXh0IGJpbmFyeSBpbmNvbXBhdGlibGUgcmVsZWFzZS4KLSAgICAgICogVGhlIG5vZGUgbWF5IGJlIG1vZGlmaWVkIHdoZW4gdGhlIGNvbnRleHQgaXMgcGFzc2VkIHRvIGxpYnhtbDIKLSAgICAgICogZm9yIGFuIFhQYXRoIGV2YWx1YXRpb24gc28geW91IG1heSBuZWVkIHRvIGluaXRpYWxpemUgaXQgYWdhaW4KLSAgICAgICogYmVmb3JlIHRoZSBuZXh0IGNhbGwuCi0KLSAgICAgZCB4bWxYUGF0aENvbnRleHQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgZG9jdW1lbnQKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBub2RlCi0gICAgICAqCi0gICAgIGQgIG5iX3ZhcmlhYmxlc191bnVzZWQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG1heF92YXJpYWJsZXNfdW51c2VkLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHZhckhhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIERlZmluZWQgdmFyaWFibGVzCi0gICAgICAqCi0gICAgIGQgIG5iX3R5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgZGVmaW5lZCB0eXBlcwotICAgICBkICBtYXhfdHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggbnVtYmVyIG9mIHR5cGVzCi0gICAgIGQgIHR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aFR5cGVQdHIpICAgICAgICAgICAgICAgIERlZmluZWQgdHlwZXMgYXJyYXkKLSAgICAgICoKLSAgICAgZCAgbmJfZnVuY3NfdW51c2VkLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgbWF4X2Z1bmNzX3VudXNlZC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW51c2VkIChoYXNoIHRhYmxlKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgZnVuY0hhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgRGVmaW5lZCBmdW5jdGlvbnMKLSAgICAgICoKLSAgICAgZCAgbmJfYXhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgIyBvZiBkZWZpbmVkIGF4aXMKLSAgICAgZCAgbWF4X2F4aXMgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTWF4IG51bWJlciBvZiBheGlzCi0gICAgIGQgIGF4aXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aEF4aXNQdHIpICAgICAgICAgICAgICAgIERlZmluZWQgYXhpcyBhcnJheQotICAgICAgKgotICAgICAgKiB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGUKLSAgICAgICoKLSAgICAgZCAgbmFtZXNwYWNlcyAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNQdHIgKgotICAgICBkICBuc05yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICAjIHNjb3BlIG5hbWVzcGFjZXMKLSAgICAgZCAgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9jcHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24gdG8gZnJlZQotICAgICAgKgotICAgICAgKiBleHRyYSB2YXJpYWJsZXMKLSAgICAgICoKLSAgICAgZCAgY29udGV4dFNpemUgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGNvbnRleHQgc2l6ZQotICAgICBkICBwcm94aW1pdHlQb3NpdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgICoKLSAgICAgICogZXh0cmEgc3R1ZmYgZm9yIFhQb2ludGVyCi0gICAgICAqCi0gICAgIGQgIHhwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgIFhQb2ludGVyIGNvbnRleHQgPwotICAgICBkICBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBGb3IgaGVyZSgpCi0gICAgIGQgIG9yaWdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIEZvciBvcmlnaW4oKQotICAgICAgKgotICAgICAgKiB0aGUgc2V0IG9mIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgaW4gc2NvcGUgZm9yIHRoZSBleHByZXNzaW9uCi0gICAgICAqCi0gICAgIGQgIG5zSGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIE5hbWVzcGFjZSBoYXNodGFibGUKLSAgICAgZCAgdmFyTG9va3VwRnVuYyAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKSAgICAgVmFyIGxvb2t1cCBmdW5jdGlvbgotICAgICBkICB2YXJMb29rdXBEYXRhICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgICoKLSAgICAgICogUG9zc2liaWxpdHkgdG8gbGluayBpbiBhbiBleHRyYSBpdGVtCi0gICAgICAqCi0gICAgIGQgIGV4dHJhICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICAgKgotICAgICAgKiBUaGUgZnVuY3Rpb24gbmFtZSBhbmQgVVJJIHdoZW4gY2FsbGluZyBhIGZ1bmN0aW9uCi0gICAgICAqCi0gICAgIGQgIGZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmdW5jdGlvblVSSSAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgICoKLSAgICAgICogZnVuY3Rpb24gbG9va3VwIGZ1bmN0aW9uIGFuZCBkYXRhCi0gICAgICAqCi0gICAgIGQgIGZ1bmNMb29rdXBGdW5jLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmMgbG9va3VwIGZ1bmMKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKQotICAgICBkICBmdW5jTG9va3VwRGF0YS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICoKLSAgICAgICogdGVtcG9yYXJ5IG5hbWVzcGFjZSBsaXN0cyBrZXB0IGZvciB3YWxraW5nIHRoZSBuYW1lc3BhY2UgYXhpcwotICAgICAgKgotICAgICBkICB0bXBOc0xpc3QgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOc1B0ciAqCi0gICAgIGQgIHRtcE5zTnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgICMgc2NvcGUgbmFtZXNwYWNlcwotICAgICAgKgotICAgICAgKiBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtCi0gICAgICAqCi0gICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykgICAgICAgICBFcnJvciBjYWxsYmFjawotICAgICBkICBsYXN0RXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxFcnJvcikgICAgICAgICAgICAgICAgICAgICBUaGUgbGFzdCBlcnJvcgotICAgICBkICBkZWJ1Z05vZGUgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBYU0xUIHNvdXJjZSBub2RlCi0gICAgICAqCi0gICAgICAqIGRpY3Rpb25hcnkKLSAgICAgICoKLSAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpICAgICAgICAgICAgICAgICAgICAgRGljdGlvbmFyeSBpZiBhbnkKLSAgICAgICoKLSAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsYXRpb24gY29udHJvbAotICAgICAgKgotICAgICAgKiBDYWNoZSBmb3IgcmV1c2FsIG9mIFhQYXRoIG9iamVjdHMKLSAgICAgICoKLSAgICAgZCAgY2FjaGUgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgICogVGhlIHN0cnVjdHVyZSBvZiBhIGNvbXBpbGVkIGV4cHJlc3Npb24gZm9ybSBpcyBub3QgcHVibGljLgotCi0gICAgIGQgeG1sWFBhdGhDb21wRXhwclB0ci4uLgotICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCi0KLSAgICAgICogeG1sWFBhdGhQYXJzZXJDb250ZXh0OgotICAgICAgKgotICAgICAgKiBBbiBYUGF0aCBwYXJzZXIgY29udGV4dC4gSXQgY29udGFpbnMgcHVyZSBwYXJzaW5nIGluZm9ybWF0aW9uLAotICAgICAgKiBhbiB4bWxYUGF0aENvbnRleHQsIGFuZCB0aGUgc3RhY2sgb2Ygb2JqZWN0cy4KLQotICAgICBkIHhtbFhQYXRoUGFyc2VyQ29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICAgKgotICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCi0gICAgICAqCi0gICAgIGQgIGNvbnRleHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpICAgICAgICAgICAgIEV2YWx1YXRpb24gY29udGV4dAotICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpICAgICAgICAgICAgICBUaGUgY3VycmVudCB2YWx1ZQotICAgICBkICB2YWx1ZU5yICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSBzdGFjayBkZXB0aAotICAgICBkICB2YWx1ZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKLSAgICAgZCAgdmFsdWVUYWIgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgKgotICAgICAgKgotICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikgICAgICAgICAgICBQcmVjb21waWxlZCBleHByLgotICAgICBkICB4cHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBleHByZXNzaW9uPwotICAgICBkICBhbmNlc3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBUbyB3YWxrIHByZWMuIGF4aXMKLSAgICAgICoKLSAgICAgZCAgdmFsdWVGcmFtZSAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpICAgICAgICAgICAgICAgICAgICAgICAgTGltaXQgc3RhY2sgcG9wCi0KLSAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0gICAgICAqIE9iamVjdHMgYW5kIE5vZGVzZXRzIGhhbmRsaW5nCi0KLSAgICAgZCB4bWxYUGF0aE5BTiAgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFhQYXRoTkFOJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCi0KLSAgICAgZCB4bWxYUGF0aFBJTkYgICAgcyAgICAgICAgICAgICAgICAgICBpbXBvcnQoJ3htbFhQYXRoUElORicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZG91YmxlKQotCi0gICAgIGQgeG1sWFBhdGhOSU5GICAgIHMgICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxYUGF0aE5JTkYnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKLQotICAgICBkIHhtbFhQYXRoRnJlZU9iamVjdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRnJlZU9iamVjdCcpCi0gICAgIGQgb2JqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZVNldENyZWF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldENyZWF0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlTm9kZVNldExpc3QnKQotICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEZyZWVOb2RlU2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlTm9kZVNldCcpCi0gICAgIGQgb2JqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhPYmplY3RDb3B5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhPYmplY3RDb3B5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUGF0aENtcE5vZGVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDbXBOb2RlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIG5vZGUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgICogQ29udmVyc2lvbiBmdW5jdGlvbnMgdG8gYmFzaWMgdHlwZXMuCi0KLSAgICAgZCB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDZG91YmxlKQotCi0gICAgIGQgeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhDYXN0VG9Cb29sZWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDYXN0VG9Cb29sZWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICBkIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCi0gICAgIGQgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDZG91YmxlKQotICAgICBkIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoQ2FzdFRvTnVtYmVyLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDYXN0VG9OdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nJykKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nJyl4bWxDaGFyICoKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENkb3VibGUpCi0KLSAgICAgZCB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcnKSAgeG1sQ2hhciAqCi0gICAgIGQgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nJ3htbENoYXIgKgotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgZCBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aENhc3RUb1N0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFRvU3RyaW5nJykgICAgICB4bWxDaGFyICoKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udmVydEJvb2xlYW4nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICBkIHhtbFhQYXRoQ29udmVydE51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udmVydE51bWJlcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhDb252ZXJ0U3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb252ZXJ0U3RyaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgICogQ29udGV4dCBoYW5kbGluZy4KLQotICAgICBkIHhtbFhQYXRoTmV3Q29udGV4dC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3Q29udGV4dCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEZyZWVDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlQ29udGV4dCcpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aENvbnRleHRTZXRDYWNoZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udGV4dFNldENhY2hlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgICogRXZhbHVhdGlvbiBmdW5jdGlvbnMuCi0KLSAgICAgZCB4bWxYUGF0aE9yZGVyRG9jRWxlbXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2xvbmcpCi0gICAgIGQgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFNldENvbnRleHROb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTZXRDb250ZXh0Tm9kZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZUV2YWwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVFdmFsJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEV2YWwgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEV2YWwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhFdmFsRXhwcmVzc2lvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRXZhbEV4cHJlc3Npb24nKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhFdmFsUHJlZGljYXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhFdmFsUHJlZGljYXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgcmVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICAgKiBTZXBhcmF0ZSBjb21waWxhdGlvbi9ldmFsdWF0aW9uIGVudHJ5IHBvaW50cy4KLQotICAgICBkIHhtbFhQYXRoQ29tcGlsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29tcGlsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQotICAgICBkIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoQ3R4dENvbXBpbGUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEN0eHRDb21waWxlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQ29tcEV4cHJQdHIpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sWFBhdGhDb21waWxlZEV2YWwuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENvbXBpbGVkRXZhbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29tcEV4cHJQdHIpCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQotICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhGcmVlQ29tcEV4cHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZyZWVDb21wRXhwcicpCi0gICAgIGQgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBBVEhfRU5BQkxFRAotCi0gICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQotICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAotICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCi0gICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLSAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQotICAgICBkIHhtbFhQYXRoSW5pdCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSW5pdCcpCi0KLSAgICAgZCB4bWxYUGF0aElzTmFOICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aElzTmFOJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDZG91YmxlKQotCi0gICAgIGQgeG1sWFBhdGhJc0luZiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhJc0luZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2RvdWJsZSkKLQotICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCi0gICAgICAvZW5kaWYKLQotICAgICAgKiBDIG1hY3JvcyBpbXBsZW1lbnRlZCBhcyBwcm9jZWR1cmVzIGZvciBJTEUvUlBHIHN1cHBvcnQuCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQotICAgICBkIHhtbFhQYXRoTm9kZVNldEdldExlbmd0aC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhOb2RlU2V0SXRlbS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sWFBhdGhOb2RlU2V0SXRlbScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxYUGF0aE5vZGVTZXRJc0VtcHR5JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBBVEhfRU5BQkxFRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWFBBVEhfSF9fCmRpZmYgLS1naXQgYS9vczQwMC9saWJ4bWxycGcveHBhdGhJbnRlcm5hbHMucnBnbGUgYi9vczQwMC9saWJ4bWxycGcveHBhdGhJbnRlcm5hbHMucnBnbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2ZDEyZTEuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbGlieG1scnBnL3hwYXRoSW50ZXJuYWxzLnJwZ2xlCisrKyAvZGV2L251bGwKQEAgLTEsNjkzICswLDAgQEAKLSAgICAgICogU3VtbWFyeTogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KLSAgICAgICogRGVzY3JpcHRpb246IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uCi0gICAgICAqICAgICAgICAgICAgICB1c2VkIHRvIGJ1aWxkIG5ldyBtb2R1bGVzIG9uIHRvcCBvZiBYUGF0aCBsaWtlIFhQb2ludGVyIGFuZAotICAgICAgKiAgICAgICAgICAgICAgWFNMVAotICAgICAgKgotICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0gICAgICAqCi0gICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotCi0gICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hQQVRIX0lOVEVSTkFMU19IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YUEFUSF9JTlRFUk5BTFNfSF9fCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKLQotICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKLQotICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKLSAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVscGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgotICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotICAgICAgKiBNYW55IG9mIHRoZXNlIG1hY3JvcyBtYXkgbGF0ZXIgdHVybiBpbnRvIGZ1bmN0aW9ucy4gVGhleQotICAgICAgKiBzaG91bGRuJ3QgYmUgdXNlZCBpbiAjaWZkZWYncyBwcmVwcm9jZXNzb3IgaW5zdHJ1Y3Rpb25zLgotCi0gICAgIGQgeG1sWFBhdGhQb3BCb29sZWFuLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhQb3BCb29sZWFuJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFBvcE51bWJlci4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUG9wTnVtYmVyJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENkb3VibGUpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFBvcFN0cmluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoUG9wU3RyaW5nJykgICAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoUG9wTm9kZVNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUG9wTm9kZVNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhQb3BFeHRlcm5hbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoUG9wRXh0ZXJuYWwnKSAgICAgICB2b2lkICoKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICAgKiBWYXJpYWJsZSBMb29rdXAgZm9yd2FyZGluZy4KLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKQotICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKLQotICAgICAgKiBGdW5jdGlvbiBMb29rdXAgZm9yd2FyZGluZy4KLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhGdW5jTG9va3VwRnVuYykKLSAgICAgZCAgZnVuY0N0eHQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi0KLSAgICAgICogRXJyb3IgcmVwb3J0aW5nLgotICAgICAgKiBOb3RlIHRoaXMgcHJvY2VkdXJlIGlzIHJlbmFtZWQgaW4gUlBHIHRvIGF2b2lkIGNoYXJhY3RlciBjYXNlIGNsYXNoIHdpdGgKLSAgICAgICogICBkYXRhIHR5cGUgeG1sWFBhdGhFcnJvci4KLQotICAgICBkIHhtbFhQYXRoUmVwb3J0RXJyb3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aGVycm9yJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCi0gICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoRXJyICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRXJyJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQotICAgICBkIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QnKQotICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJykKLSAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCi0gICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQotICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLSAgICAgIC9lbmRpZgotCi0gICAgICAqIE5vZGVTZXQgaGFuZGxpbmcuCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRDb250YWlucy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldENvbnRhaW5zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoRGlmZmVyZW5jZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGlmZmVyZW5jZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEludGVyc2VjdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSW50ZXJzZWN0aW9uJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERpc3RpbmN0U29ydGVkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhEaXN0aW5jdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGlzdGluY3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEhhc1NhbWVOb2Rlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSGFzU2FtZU5vZGVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTGVhZGluZ1NvcnRlZC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTGVhZGluZ1NvcnRlZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVMZWFkaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlTGVhZGluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxYUGF0aExlYWRpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aExlYWRpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZXMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFRyYWlsaW5nU29ydGVkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLSAgICAgZCAgbm9kZXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVUcmFpbGluZy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVRyYWlsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoVHJhaWxpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFRyYWlsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICAgKiBFeHRlbmRpbmcgYSBjb250ZXh0LgotCi0gICAgIGQgeG1sWFBhdGhSZWdpc3Rlck5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3Rlck5zJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoTnNMb29rdXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxYUGF0aE5zTG9va3VwJykgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJGdW5jLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlckZ1bmMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aEZ1bmN0aW9uKQotCi0gICAgIGQgeG1sWFBhdGhSZWdpc3RlckZ1bmNOUy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIG5zX3VyaSAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhGdW5jdGlvbikKLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLSAgICAgZCAgbnNfdXJpICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLQotICAgICBkIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoRnVuY3Rpb24pCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotCi0gICAgIGQgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoRnVuY3Rpb24pCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFZhcmlhYmxlTG9va3VwLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLSAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0gICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgotICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKLQotICAgICAgKiBVdGlsaXRpZXMgdG8gZXh0ZW5kIFhQYXRoLgotCi0gICAgIGQgeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCcpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLQotICAgICAgKiBUT0RPOiByZW1hcCB0byB4bWxYUGF0aFZhbHVlUG9wIGFuZCBQdXNoLgotCi0gICAgIGQgdmFsdWVQb3AgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygndmFsdWVQb3AnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB2YWx1ZVB1c2ggICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd2YWx1ZVB1c2gnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXdTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld1N0cmluZycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxYUGF0aE5ld0NTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld0NTdHJpbmcnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgotCi0gICAgIGQgeG1sWFBhdGhXcmFwU3RyaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhXcmFwU3RyaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKLQotICAgICBkIHhtbFhQYXRoV3JhcENTdHJpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFdyYXBDU3RyaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKLQotICAgICBkIHhtbFhQYXRoTmV3RmxvYXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld0Zsb2F0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2RvdWJsZSkKLQotICAgICBkIHhtbFhQYXRoTmV3Qm9vbGVhbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3Qm9vbGVhbicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aE5ld05vZGVTZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld05vZGVTZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXdWYWx1ZVRyZWUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld1ZhbHVlVHJlZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRBZGQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRBZGQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZVNldEFkZE5zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0QWRkTnMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRTb3J0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0U29ydCcpCi0gICAgIGQgIHNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhSb290ICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSb290JykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoRXZhbEV4cHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEV2YWxFeHByJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoUGFyc2VOYW1lLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhQYXJzZU5hbWUnKSAgICAgICAgIHhtbENoYXIgKgotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhQYXJzZU5DTmFtZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoUGFyc2VOQ05hbWUnKSAgICAgICB4bWxDaGFyICoKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICAgKiBFeGlzdGluZyBmdW5jdGlvbnMuCi0KLSAgICAgZCB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXInKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2RvdWJsZSkKLSAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0KLSAgICAgZCB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICByZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucycpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRNZXJnZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldE1lcmdlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCi0gICAgIGQgIHZhbDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZVNldERlbC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldERlbCcpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTm9kZVNldFJlbW92ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldFJlbW92ZScpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld05vZGVTZXRMaXN0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoV3JhcE5vZGVTZXQuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFdyYXBOb2RlU2V0JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKLQotICAgICBkIHhtbFhQYXRoV3JhcEV4dGVybmFsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhXcmFwRXh0ZXJuYWwnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgotCi0gICAgIGQgeG1sWFBhdGhFcXVhbFZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRXF1YWxWYWx1ZXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENpbnQpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aENvbXBhcmVWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgaW5mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0gICAgIGQgIHN0cmljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhWYWx1ZUZsaXBTaWduLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhWYWx1ZUZsaXBTaWduJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoQWRkVmFsdWVzLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhBZGRWYWx1ZXMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhTdWJWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFN1YlZhbHVlcycpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE11bHRWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE11bHRWYWx1ZXMnKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotCi0gICAgIGQgeG1sWFBhdGhEaXZWYWx1ZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERpdlZhbHVlcycpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE1vZFZhbHVlcy4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTW9kVmFsdWVzJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLQotICAgICBkIHhtbFhQYXRoSXNOb2RlVHlwZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSXNOb2RlVHlwZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KQotICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKLQotICAgICAgKiBTb21lIG9mIHRoZSBheGlzIG5hdmlnYXRpb24gcm91dGluZXMuCi0KLSAgICAgZCB4bWxYUGF0aE5leHRTZWxmLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0U2VsZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTmV4dENoaWxkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0Q2hpbGQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxYUGF0aE5leHREZXNjZW5kYW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0RGVzY2VuZGFudCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0UGFyZW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0UGFyZW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0Rm9sbG93aW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0Rm9sbG93aW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0TmFtZXNwYWNlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0TmFtZXNwYWNlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0QXR0cmlidXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0QXR0cmlidXRlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0UHJlY2VkaW5nLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0UHJlY2VkaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFBhdGhOZXh0QW5jZXN0b3IuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5leHRBbmNlc3RvcicpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLQotICAgICBkIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgICAqIFRoZSBvZmZpY2lhbCBjb3JlIG9mIFhQYXRoIGZ1bmN0aW9ucy4KLQotICAgICBkIHhtbFhQYXRoTGFzdEZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhMYXN0RnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUG9zaXRpb25GdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhDb3VudEZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb3VudEZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aElkRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aElkRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhTdHJpbmdGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aENvbmNhdEZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb25jYXRGdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb250YWluc0Z1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0KLSAgICAgZCB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoTm90RnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vdEZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aFRydWVGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aEZhbHNlRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZhbHNlRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoTGFuZ0Z1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhMYW5nRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE51bWJlckZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aFN1bUZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdW1GdW5jdGlvbicpCi0gICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFBhdGhGbG9vckZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGbG9vckZ1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbi4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJykKLSAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKLSAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUGF0aFJvdW5kRnVuY3Rpb24uLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFJvdW5kRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICBkIHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhCb29sZWFuRnVuY3Rpb24nKQotICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQotICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2ludCkKLQotICAgICAgKiBSZWFsbHkgaW50ZXJuYWwgZnVuY3Rpb25zCi0KLSAgICAgZCB4bWxYUGF0aE5vZGVTZXRGcmVlTnMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnKQotICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1hQQVRIX0VOQUJMRUQKLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWFBBVEhfSU5URVJOQUxTX0hfXwpkaWZmIC0tZ2l0IGEvb3M0MDAvbGlieG1scnBnL3hwb2ludGVyLnJwZ2xlIGIvb3M0MDAvbGlieG1scnBnL3hwb2ludGVyLnJwZ2xlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWVmMGYzLi4wMDAwMDAwCi0tLSBhL29zNDAwL2xpYnhtbHJwZy94cG9pbnRlci5ycGdsZQorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBACi0gICAgICAqIFN1bW1hcnk6IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzCi0gICAgICAqIERlc2NyaXB0aW9uOiBBUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVycwotICAgICAgKiBCYXNlIGltcGxlbWVudGF0aW9uIHdhcyBtYWRlIGFjY29yZGluZ2x5IHRvCi0gICAgICAqIFczQyBDYW5kaWRhdGUgUmVjb21tZW5kYXRpb24gNyBKdW5lIDIwMDAKLSAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMC9DUi14cHRyLTIwMDAwNjA3Ci0gICAgICAqCi0gICAgICAqIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBlbGVtZW50KCkgc2NoZW1lIGRlc2NyaWJlZCBpbjoKLSAgICAgICogVzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIDEzIE5vdmVtYmVyIDIwMDIKLSAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMi9QUi14cHRyLWVsZW1lbnQtMjAwMjExMTMvCi0gICAgICAqCi0gICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSAgICAgICoKLSAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0KLSAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWFBUUl9IX18pCi0gICAgICAvZGVmaW5lIFhNTF9YUFRSX0hfXwotCi0gICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCi0KLSAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCi0KLSAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sVHlwZXNDIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgotICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKLQotICAgICAgKiBBIExvY2F0aW9uIFNldAotCi0gICAgIGQgeG1sTG9jYXRpb25TZXRQdHIuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQotCi0gICAgIGQgeG1sTG9jYXRpb25TZXQgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sTG9jYXRpb25TZXRQdHIpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCi0gICAgIGQgIGxvY05yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaW50KSAgICAgICAgICAgICAgICAgICAgICAgICMgbG9jYXRpb25zIGluIHNldAotICAgICBkICBsb2NNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2ludCkgICAgICAgICAgICAgICAgICAgICAgICBNYXggbG9jYXRpb25zIGluIHNldAotICAgICBkICBsb2NUYWIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciAqCi0KLSAgICAgICogSGFuZGxpbmcgb2YgbG9jYXRpb24gc2V0cy4KLQotICAgICBkIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxMb2NhdGlvblNldFB0cikKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFB0ckZyZWVMb2NhdGlvblNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJGcmVlTG9jYXRpb25TZXQnKQotICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCi0KLSAgICAgZCB4bWxYUHRyTG9jYXRpb25TZXRNZXJnZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJMb2NhdGlvblNldE1lcmdlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQotICAgICBkIHZhbDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCi0gICAgIGQgdmFsMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMb2NhdGlvblNldFB0cikKLQotICAgICBkIHhtbFhQdHJOZXdSYW5nZS4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdSYW5nZScpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgc3RhcnRpbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBlbmRpbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENpbnQpCi0KLSAgICAgZCB4bWxYUHRyTmV3UmFuZ2VQb2ludHMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3UmFuZ2VQb2ludHMnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50JykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlJykKLSAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQotICAgICBkIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld1JhbmdlTm9kZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3UmFuZ2VOb2RlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0gICAgIGQgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQotCi0gICAgIGQgeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdC4uLgotICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0gICAgIGQgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQotCi0gICAgIGQgeG1sWFB0ckxvY2F0aW9uU2V0QWRkLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ckxvY2F0aW9uU2V0QWRkJykKLSAgICAgZCBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUHRyV3JhcExvY2F0aW9uU2V0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0cldyYXBMb2NhdGlvblNldCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQotCi0gICAgIGQgeG1sWFB0ckxvY2F0aW9uU2V0RGVsLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ckxvY2F0aW9uU2V0RGVsJykKLSAgICAgZCBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQotICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnKQotICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCi0gICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgICAqIEZ1bmN0aW9ucy4KLQotICAgICBkIHhtbFhQdHJOZXdDb250ZXh0Li4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld0NvbnRleHQnKQotICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQotICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQotICAgICBkIGhlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKLSAgICAgZCBvcmlnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCi0KLSAgICAgZCB4bWxYUHRyRXZhbCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyRXZhbCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKLSAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCi0gICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCi0KLSAgICAgZCB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0clJhbmdlVG9GdW5jdGlvbicpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0gICAgIGQgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaW50KQotCi0gICAgIGQgeG1sWFB0ckJ1aWxkTm9kZUxpc3QuLi4KLSAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyQnVpbGROb2RlTGlzdCcpCi0gICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQotICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCi0KLSAgICAgZCB4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlLi4uCi0gICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScpCi0gICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCi0KLSAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1hQVFJfRU5BQkxFRAotICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWFBUUl9IX18KZGlmZiAtLWdpdCBhL29zNDAwL21ha2UtYmxkY3NuZGZhLnNoIGIvb3M0MDAvbWFrZS1ibGRjc25kZmEuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3Y2YwMTIuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbWFrZS1ibGRjc25kZmEuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0jIS9iaW4vc2gKLSMKLSMgICAgICAgQ29tcGlsYXRpb24gc2NyaXB0IGZvciB0aGUgaWNvbnYgbmFtZXMgREZBIGJ1aWxlci4KLSMKLSMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotIwotIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSMKLQotU0NSSVBURElSPWBkaXJuYW1lICIkezB9ImAKLS4gIiR7U0NSSVBURElSfS9pbml0c2NyaXB0LnNoIgotY2QgIiR7VE9QRElSfS9vczQwMC9pY29udi9ibGRjc25kZmEiCi0KLQotIyBUaGlzIGlzIGZvciBvbGQgWE1MIGxpYnJhcnkgKGJvb3RzdHJhcHBpbmcpLgotI3JtIC1yZiB4bWwuaCB4bWwKLSNsbiAtcyAvUVNZUy5MSUIvWE1MLkxJQi9ILkZJTEUvWE1MLk1CUiB4bWwuaAotI21rZGlyIHhtbAotI21rZGlyIHhtbC9oCi0jbG4gLXMgL1FTWVMuTElCL1hNTC5MSUIvSC5GSUxFL1VURjguTUJSIHhtbC9oL3V0ZjgKLQotCi0jICAgICAgIENvbXBpbGUuCi0KLUNNRD0iQ1JUQ01PRCBNT0RVTEUoJHtUQVJHRVRMSUJ9L0JMRENTTkRGQSkgU1JDU1RNRignYmxkY3NuZGZhLmMnKSIKLUNNRD0iJHtDTUR9IFNZU0lGQ09QVCgqSUZTNjRJTykgTEFOR0xWTCgqRVhURU5ERUQpIExPQ0FMRVRZUEUoKkxPQ0FMRSkiCi1DTUQ9IiR7Q01EfSBJTkNESVIoIgotQ01EPSIke0NNRH0gJyR7SUZTRElSfS9pbmNsdWRlJyAke0lOQ0xVREVTfSkiCi1DTUQ9IiR7Q01EfSBUR1RDQ1NJRCgke1RHVENDU0lEfSkgVEdUUkxTKCR7VEdUUkxTfSkiCi1DTUQ9IiR7Q01EfSBPVVRQVVQoJHtPVVRQVVR9KSIKLUNNRD0iJHtDTUR9IE9QVElNSVpFKDEwKSIKLUNNRD0iJHtDTUR9IERCR1ZJRVcoJHtERUJVR30pIgotI0NNRD0iJHtDTUR9IERFRklORSgnT0xEWE1MJyAneG1sWFBhdGhTZXRDb250ZXh0Tm9kZT14bWxYUGF0aFNldEN1cnJlbnROb2RlJykiCi0KLXN5c3RlbSAiJHtDTUR9IgotCi0jICAgICAgIExpbmsKLQotQ01EPSJDUlRQR00gUEdNKCR7VEFSR0VUTElCfS9CTERDU05ERkEpIE1PRFVMRSgke1RBUkdFVExJQn0vQkxEQ1NOREZBKSIKLUNNRD0iJHtDTUR9IEJORERJUigke1RBUkdFVExJQn0vJHtEWU5CTkRESVJ9KSIKLSNDTUQ9IiR7Q01EfSBCTkRESVIoWE1ML1hNTCkiCi1DTUQ9IiR7Q01EfSBUR1RSTFMoJHtUR1RSTFN9KSIKLXN5c3RlbSAiJHtDTUR9IgpkaWZmIC0tZ2l0IGEvb3M0MDAvbWFrZS1pbmNsdWRlLnNoIGIvb3M0MDAvbWFrZS1pbmNsdWRlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Mzk0ZTYyLi4wMDAwMDAwCi0tLSBhL29zNDAwL21ha2UtaW5jbHVkZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAgICAgICBJbnN0YWxsYXRpb24gb2YgdGhlIEMgaGVhZGVyIGZpbGVzIGluIHRoZSBPUy80MDAgbGlicmFyeS4KLSMKLSMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotIwotIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSMKLQotU0NSSVBURElSPWBkaXJuYW1lICIkezB9ImAKLS4gIiR7U0NSSVBURElSfS9pbml0c2NyaXB0LnNoIgotY2QgIiR7VE9QRElSfS9pbmNsdWRlIgotCi0KLSMgICAgICAgQ3JlYXRlIHRoZSBPUy80MDAgc291cmNlIHByb2dyYW0gZmlsZSBmb3IgdGhlIEMgaGVhZGVyIGZpbGVzLgotCi1TUkNQRj0iJHtMSUJJRlNOQU1FfS9MSUJYTUwuRklMRSIKLQotaWYgYWN0aW9uX25lZWRlZCAiJHtTUkNQRn0iCi10aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vTElCWE1MKSBSQ0RMRU4oMTEyKSIKLSAgICAgICAgQ01EPSIke0NNRH0gQ0NTSUQoJHtUR1RDQ1NJRH0pIFRFWFQoJ2xpYnhtbDI6IEMvQysrIGhlYWRlciBmaWxlcycpIgotICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKLWZpCi0KLQotIyAgICAgICBDcmVhdGUgdGhlIElGUyBkaXJlY3RvcnkgZm9yIHRoZSBDIGhlYWRlciBmaWxlcy4KLQotaWYgYWN0aW9uX25lZWRlZCAiJHtJRlNESVJ9L2luY2x1ZGUvbGlieG1sIgotdGhlbiAgICBta2RpciAtcCAiJHtJRlNESVJ9L2luY2x1ZGUvbGlieG1sIgotZmkKLQotCi0KLSMgICAgICAgRW51bWVyYXRpb24gdmFsdWVzIG1heSBiZSB1c2VkIGFzIHZhX2FyZyB0YWdmaWVsZHMsIHNvIHRoZXkgTVVTVCBiZQotIyAgICAgICAgICAgICAgIGludGVnZXJzLgotCi1jb3B5X2hmaWxlKCkKLQotewotICAgICAgICBzZWQgLWUgJzFpXAotI3ByYWdtYSBlbnVtKGludClcCi0nICIke0B9IiAtZSAnJGFcCi0jcHJhZ21hIGVudW0ocG9wKVwKLScKLX0KLQotIyAgICAgICBDb3B5IHRoZSBoZWFkZXIgZmlsZXMgdG8gREIyIGxpYnJhcnkuIExpbmsgZnJvbSBJRlMgaW5jbHVkZSBkaXJlY3RvcnkuCi0KLWZvciBIRklMRSBpbiAiJHtUT1BESVJ9L29zNDAwL3RyYW5zY29kZS5oIiBsaWJ4bWwvKi5oIGxpYnhtbC8qLmguaW4KLWRvICAgICAgQ01EPSJjYXQgXCIke0hGSUxFfVwiIgotICAgICAgICBERVNUPSIke1NSQ1BGfS9gZGIyX25hbWUgXCIke0hGSUxFfVwiIG5vbWFuZ2xlYC5NQlIiCi0KLSAgICAgICAgY2FzZSAiYGJhc2VuYW1lIFwiJHtIRklMRX1cImAiIGluCi0KLSAgICAgICAgKi5pbikgICBDTUQ9IiR7Q01EfSB8IHZlcnNpb25lZF9jb3B5Ijs7Ci0KLSAgICAgICAgeG1sc2NoZW1hc3R5cGVzLmgpICAgICAgIyAgICAgICBTcGVjaWFsIGNhc2U6IHJlbmFtZSBjb2xsaWRpbmcgZmlsZS4KLSAgICAgICAgICAgICAgICBERVNUPSIke1NSQ1BGfS9TQ0hNVFlQRVMuTUJSIjs7Ci0KLSAgICAgICAgZXNhYwotCi0gICAgICAgIGlmIGFjdGlvbl9uZWVkZWQgIiR7REVTVH0iICIke0hGSUxFfSIKLSAgICAgICAgdGhlbiAgICBldmFsICIke0NNRH0iIHwgY29weV9oZmlsZSA+IHRtcGhkcmZpbGUKLQotICAgICAgICAgICAgICAgICMgICAgICAgTmVlZCB0byB0cmFuc2xhdGUgdG8gdGFyZ2V0IENDU0lELgotCi0gICAgICAgICAgICAgICAgQ01EPSJDUFkgT0JKKCdgcHdkYC90bXBoZHJmaWxlJykgVE9PQkooJyR7REVTVH0nKSIKLSAgICAgICAgICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCi0gICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIGZpCi0KLSAgICAgICAgSUZTRklMRT0iJHtJRlNESVJ9L2luY2x1ZGUvbGlieG1sL2BiYXNlbmFtZSBcIiR7SEZJTEV9XCIgLmluYCIKLQotICAgICAgICBpZiBhY3Rpb25fbmVlZGVkICIke0lGU0ZJTEV9IiAiJHtERVNUfSIKLSAgICAgICAgdGhlbiAgICBybSAtZiAiJHtJRlNGSUxFfSIKLSAgICAgICAgICAgICAgICBsbiAtcyAiJHtERVNUfSIgIiR7SUZTRklMRX0iCi0gICAgICAgIGZpCi1kb25lCmRpZmYgLS1naXQgYS9vczQwMC9tYWtlLXJwZy5zaCBiL29zNDAwL21ha2UtcnBnLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjRiNDdiLi4wMDAwMDAwCi0tLSBhL29zNDAwL21ha2UtcnBnLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAgICAgICBJbnN0YWxsYXRpb24gb2YgdGhlIElMRS9SUEcgaGVhZGVyIGZpbGVzIGluIHRoZSBPUy80MDAgbGlicmFyeS4KLSMKLSMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotIwotIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSMKLQotU0NSSVBURElSPWBkaXJuYW1lICIkezB9ImAKLS4gIiR7U0NSSVBURElSfS9pbml0c2NyaXB0LnNoIgotY2QgIiR7VE9QRElSfS9vczQwMC9saWJ4bWxycGciCi0KLQotIyAgICAgICBDcmVhdGUgdGhlIE9TLzQwMCBzb3VyY2UgcHJvZ3JhbSBmaWxlIGZvciB0aGUgSUxFL1JQRyBoZWFkZXIgZmlsZXMuCi0KLVNSQ1BGPSIke0xJQklGU05BTUV9L0xJQlhNTFJQRy5GSUxFIgotCi1pZiBhY3Rpb25fbmVlZGVkICIke1NSQ1BGfSIKLXRoZW4gICAgQ01EPSJDUlRTUkNQRiBGSUxFKCR7VEFSR0VUTElCfS9MSUJYTUxSUEcpIFJDRExFTigxMTIpIgotICAgICAgICBDTUQ9IiR7Q01EfSBDQ1NJRCgke1RHVENDU0lEfSkgVEVYVCgnbGlieG1sMjogSUxFL1JQRyBoZWFkZXIgZmlsZXMnKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi0KLSMgICAgICAgTWFwIGZpbGUgbmFtZXMgdG8gREIyIG5hbWUgc3ludGF4LgotCi1mb3IgSEZJTEUgaW4gKi5ycGdsZSAqLnJwZ2xlLmluCi1kbyAgICAgIE5BTUU9ImBiYXNlbmFtZSBcIiR7SEZJTEV9XCIgLmluYCIKLSAgICAgICAgVkFSPSJgYmFzZW5hbWUgXCIke05BTUV9XCIgLnJwZ2xlYCIKLSAgICAgICAgVkFMPSJgZGIyX25hbWUgXCIke05BTUV9XCIgbm9tYW5nbGVgIgotCi0gICAgICAgIGlmIFsgIiR7VkFSfSIgPSAneG1sc2NoZW1hc3R5cGVzJyBdCi0gICAgICAgIHRoZW4gICAgVkFMPVNDSE1UWVBFUwotICAgICAgICBmaQotCi0gICAgICAgIGV2YWwgIlZBUl8ke1ZBUn09XCIke1ZBTH1cIiIKLSAgICAgICAgZWNobyAiJHtWQVJ9IHMvJHtWQVJ9LyR7VkFMfS9nIgotZG9uZSA+IHRtcHN1YnN0ZmlsZTEKLQotIyAgICAgICBPcmRlciBzdWJzdGl0dXRpb24gY29tbWFuZHMgc28gdGhhdCBhIHByZWZpeCBhcHBlYXJzIGFmdGVyIGFsbAotIyAgICAgICAgICAgICAgIGZpbGUgbmFtZXMgYmVnaW5uaW5nIHdpdGggdGhlIHByZWZpeC4KLQotc29ydCAtciB0bXBzdWJzdGZpbGUxIHwgc2VkICdzL15bXiBdKlsgXSovLycgPiB0bXBzdWJzdGZpbGUyCi0KLQotY2hhbmdlX2luY2x1ZGUoKQotCi17Ci0gICAgICAgIHNlZCAtZSAnXCNeLi4uLi4uL2luY2x1ZGUgICoibGlieG1scnBnLyN7JyAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy8vLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy8iLiovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZiB0bXBzdWJzdGZpbGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncyMuKiMgICAgICAvaW5jbHVkZSBsaWJ4bWxycGcsJiMnICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnfScKLX0KLQotCi0jICAgICAgIENyZWF0ZSB0aGUgSUZTIGRpcmVjdG9yeSBmb3IgdGhlIElMRS9SUEcgaGVhZGVyIGZpbGVzLgotCi1SUEdJRlNESVI9IiR7SUZTRElSfS9pbmNsdWRlL2xpYnhtbHJwZyIKLQotaWYgYWN0aW9uX25lZWRlZCAiJHtSUEdJRlNESVJ9IgotdGhlbiAgICBta2RpciAtcCAiJHtSUEdJRlNESVJ9IgotZmkKLQotIyAgICAgICBDb3B5IHRoZSBoZWFkZXIgZmlsZXMgdG8gSUZTIElMRS9SUEcgaW5jbHVkZSBkaXJlY3RvcnkuCi0jICAgICAgIENvcHkgdGhlbSB3aXRoIGluY2x1ZGUgcGF0aCBlZGl0aW5nIHRvIHRoZSBEQjIgbGlicmFyeS4KLQotZm9yIEhGSUxFIGluICoucnBnbGUgKi5ycGdsZS5pbgotZG8gICAgICBJRlNDTUQ9ImNhdCBcIiR7SEZJTEV9XCIiCi0gICAgICAgIERCMkNNRD0iY2hhbmdlX2luY2x1ZGUgPCBcIiR7SEZJTEV9XCIiCi0gICAgICAgIElGU0ZJTEU9ImBiYXNlbmFtZSBcIiR7SEZJTEV9XCIgLmluYCIKLQotICAgICAgICBjYXNlICIke0hGSUxFfSIgaW4KLQotICAgICAgICAqLmluKSAgIElGU0NNRD0iJHtJRlNDTUR9IHwgdmVyc2lvbmVkX2NvcHkiCi0gICAgICAgICAgICAgICAgREIyQ01EPSIke0RCMkNNRH0gfCB2ZXJzaW9uZWRfY29weSIKLSAgICAgICAgICAgICAgICA7OwotICAgICAgICBlc2FjCi0KLSAgICAgICAgSUZTREVTVD0iJHtSUEdJRlNESVJ9LyR7SUZTRklMRX0iCi0KLSAgICAgICAgaWYgYWN0aW9uX25lZWRlZCAiJHtJRlNERVNUfSIgIiR7SEZJTEV9IgotICAgICAgICB0aGVuICAgIGV2YWwgIiR7SUZTQ01EfSIgPiAiJHtJRlNERVNUfSIKLSAgICAgICAgZmkKLQotICAgICAgICBldmFsIERCMk1CUj0iXCJcJHtWQVJfYGJhc2VuYW1lIFwiJHtJRlNERVNUfVwiIC5ycGdsZWB9XCIiCi0gICAgICAgIERCMkRFU1Q9IiR7U1JDUEZ9LyR7REIyTUJSfS5NQlIiCi0KLSAgICAgICAgaWYgYWN0aW9uX25lZWRlZCAiJHtEQjJERVNUfSIgIiR7SEZJTEV9IgotICAgICAgICB0aGVuICAgIGV2YWwgIiR7REIyQ01EfSIgfCBjaGFuZ2VfaW5jbHVkZSA+IHRtcGhkcmZpbGUKLQotICAgICAgICAgICAgICAgICMgICAgICAgTmVlZCB0byB0cmFuc2xhdGUgdG8gdGFyZ2V0IENDU0lELgotCi0gICAgICAgICAgICAgICAgQ01EPSJDUFkgT0JKKCdgcHdkYC90bXBoZHJmaWxlJykgVE9PQkooJyR7REIyREVTVH0nKSIKLSAgICAgICAgICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCi0gICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIGZpCi1kb25lCmRpZmYgLS1naXQgYS9vczQwMC9tYWtlLXNyYy5zaCBiL29zNDAwL21ha2Utc3JjLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzAzYzU2Li4wMDAwMDAwCi0tLSBhL29zNDAwL21ha2Utc3JjLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMzU1ICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAgICAgICBsaWJ4bWwgY29tcGlsYXRpb24gc2NyaXB0IGZvciB0aGUgT1MvNDAwLgotIwotIyAgICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0jCi0jICAgICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotIwotCi1TQ1JJUFRESVI9YGRpcm5hbWUgIiR7MH0iYAotLiAiJHtTQ1JJUFRESVJ9L2luaXRzY3JpcHQuc2giCi1jZCAiJHtUT1BESVJ9IgotCi0KLSMgICAgICBDcmVhdGUgYW5kIGNvbXBpbGUgdGhlIGlkZW50aWZpY2F0aW9uIHNvdXJjZSBmaWxlLgotCi1lY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgImxpYnhtbDIgdmVyc2lvbiAnIiR7TElCWE1MX1ZFUlNJT059IiciKScgPiBvczQwMC5jCi1lY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19EQVRFX18pJyA+PiBvczQwMC5jCi1lY2hvICcjcHJhZ21hIGNvbW1lbnQodXNlciwgX19USU1FX18pJyA+PiBvczQwMC5jCi1lY2hvICcjcHJhZ21hIGNvbW1lbnQoY29weXJpZ2h0LCAiQ29weXJpZ2h0IChDKSAxOTk4LTIwMTcgRGFuaWVsIFZlaWxsYXJkLiBPUy80MDAgdmVyc2lvbiBieSBQLiBNb25uZXJhdC4iKScgPj4gb3M0MDAuYwotbWFrZV9tb2R1bGUgICAgIE9TNDAwICAgICAgICAgICBvczQwMC5jCi1MSU5LPSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTm8gbmVlZCB0byByZWJ1aWxkIHNlcnZpY2UgcHJvZ3JhbSB5ZXQuCi1NT0RVTEVTPQotCi0KLSMgICAgICAgR2V0IHNvdXJjZSBsaXN0LgotCi1mb2xkbGluZXMoKQotCi17Ci0gICAgICAgIHNlZCAtZSAnOmJlZ2luJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnL1xcJC97JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9cXCQvIC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnTicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnYmJlZ2luJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAnfScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9cbi8vZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9bWzpzcGFjZTpdXSokLy8nCi19Ci0KLQotZ2V0X21ha2VfdmFyKCkKLQotewotICAgICAgICBmb2xkbGluZXMgPCBNYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICBzZWQgLWUgIi9eJHsxfVtbOnNwYWNlOl1dKj1bWzpzcGFjZTpdXSoveyIgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MvLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3EnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ2QnCi19Ci0KLQotZG9jYl9zb3VyY2VzPWBnZXRfbWFrZV92YXIgZG9jYl9zb3VyY2VzYAotdHJpb19zb3VyY2VzPWBnZXRfbWFrZV92YXIgdHJpb19zb3VyY2VzYAotQ1NPVVJDRVM9YGV2YWwgZWNobyAiXGBnZXRfbWFrZV92YXIgbGlieG1sMl9sYV9TT1VSQ0VTIHwgdHIgJygpJyAne30nXGAiYAotCi0KLSMgICAgICAgQ29tcGlsZSB0aGUgc291cmNlcyBpbnRvIG1vZHVsZXMuCi0KLUlOQ0xVREVTPSInYHB3ZGAnIgotCi0jICAgICAgIE9TLzQwMCBzcGVjaWZpYyBtb2R1bGVzIGZpcnN0LgotCi1tYWtlX21vZHVsZSAgICAgLS1lYmNkaWMgICAgICAgIERMRkNOICAgICAgICAgICAiJHtTQ1JJUFRESVJ9L2RsZmNuL2RsZmNuLmMiCi1tYWtlX21vZHVsZSAgICAgLS1lYmNkaWMgICAgICAgIElDT05WICAgICAgICAgICAiJHtTQ1JJUFRESVJ9L2ljb252L2ljb252LmMiCi1tYWtlX21vZHVsZSAgICAgLS1lYmNkaWMgICAgICAgIFdSQVBQRVJTICAgICAgICAiJHtTQ1JJUFRESVJ9L3dyYXBwZXJzLmMiCi1tYWtlX21vZHVsZSAgICAgICAgICAgICAgICAgICAgIFRSQU5TQ09ERSAgICAgICAiJHtTQ1JJUFRESVJ9L3RyYW5zY29kZS5jIgotbWFrZV9tb2R1bGUgICAgICAgICAgICAgICAgICAgICBSUEdTVVBQT1JUICAgICAgIiR7U0NSSVBURElSfS9ycGdzdXBwb3J0LmMiCi0KLSMgICAgICAgUmVndWxhciBsaWJ4bWwyIG1vZHVsZXMuCi0KLWZvciBTUkMgaW4gJHtDU09VUkNFU30KLWRvICAgICAgTU9EVUxFPWBkYjJfbmFtZSAiJHtTUkN9ImAKLSAgICAgICAgbWFrZV9tb2R1bGUgIiR7TU9EVUxFfSIgIiR7U1JDfSIKLWRvbmUKLQotCi0jICAgICAgIElmIG5lZWRlZCwgKHJlKWNyZWF0ZSB0aGUgc3RhdGljIGJpbmRpbmcgZGlyZWN0b3J5LgotCi1pZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9LyR7U1RBVEJORERJUn0uQk5ERElSIgotdGhlbiAgICBMSU5LPVlFUwotZmkKLQotaWYgWyAiJHtMSU5LfSIgXQotdGhlbiAgICBybSAtcmYgIiR7TElCSUZTTkFNRX0vJHtTVEFUQk5ERElSfS5CTkRESVIiCi0gICAgICAgIENNRD0iQ1JUQk5ERElSIEJORERJUigke1RBUkdFVExJQn0vJHtTVEFUQk5ERElSfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IFRFWFQoJ2xpYnhtbDIgc3RhdGljIGJpbmRpbmcgZGlyZWN0b3J5JykiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotCi0gICAgICAgIGZvciBNT0RVTEUgaW4gJHtNT0RVTEVTfQotICAgICAgICBkbyAgICAgIENNRD0iQUREQk5ERElSRSBCTkRESVIoJHtUQVJHRVRMSUJ9LyR7U1RBVEJORERJUn0pIgotICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IE9CSigoJHtUQVJHRVRMSUJ9LyR7TU9EVUxFfSAqTU9EVUxFKSkiCi0gICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIGRvbmUKLWZpCi0KLQotIyAgICAgICBUaGUgZXhwb3J0YXRpb24gZmlsZSBmb3Igc2VydmljZSBwcm9ncmFtIGNyZWF0aW9uIG11c3QgYmUgaW4gYSBEQjIKLSMgICAgICAgICAgICAgICBzb3VyY2UgZmlsZSwgc28gbWFrZSBzdXJlIGl0IGV4aXN0cy4KLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFIgotdGhlbiAgICBDTUQ9IkNSVFNSQ1BGIEZJTEUoJHtUQVJHRVRMSUJ9L1RPT0xTKSBSQ0RMRU4oMTEyKSIKLSAgICAgICAgQ01EPSIke0NNRH0gQ0NTSUQoJHtUR1RDQ1NJRH0pIFRFWFQoJ2xpYnhtbDI6IGJ1aWxkIHRvb2xzJykiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotZmkKLQotCi0jICAgICAgIEdlbmVyYXRlIGFsbCBleHBvcnRlZCBzeW1ib2wgdGFibGUgdmVyc2lvbnMgaW4gYSBiaW5kaW5nIHNvdXJjZSBmaWxlLgotCi1CU0Y9IiR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9CTkRTUkMuTUJSIgotUEdNRVhQUz0KLQotT1M0MDBTWU1TPWBjYXQgb3M0MDAvdHJhbnNjb2RlLmggb3M0MDAvcnBnc3VwcG9ydC5oICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICAgICBzZWQgLWUgJ0gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvXG4vIC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvXFwkLyAvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvLiovJiAvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvXC9cKi4qXCpcLy8gL2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJzpsb29wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJy9cL1wqL2QnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJy87LyFkJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW147XSo7Ly8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW1s6c3BhY2U6XV0qOy4qJC8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJy9YTUxQVUJGVU4veycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW1s6c3BhY2U6XV0qKC4qJC8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvLipbWzpzcGFjZTpdKl0vLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2Jsb29wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJy9YTUxQVUJWQVIvIWJsb29wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJzpsb29wMicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJy9cW1teXVtdKlxdL3snICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2Jsb29wMicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW1s6c3BhY2U6XV0qLFtbOnNwYWNlOl1dKi8sL2cnICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW14sXSpbWzpzcGFjZTpdKl0vLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvW15bOmFsbnVtOl1fLF0vL2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3MvLC9cbi9nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgLWUgJ2Jsb29wJ2AKLQotc2VkIC1lICdzLyMuKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzL1tbOnNwYWNlOl1dKiQvLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzL15bWzpzcGFjZTpdXSovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvXipnbG9iYWw6JC9kJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvXiQvZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvW1s6c3BhY2U6XV0qeyQveycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ2gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvW15BLVphLXowLTldL18vZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvXlswLTldL18mLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ0cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvXCguKlwpXG5cKC4qXCkvXDJfU0lHTkFUVVJFPSJcMSIvJyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvLiovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgInMvLiovU09OQU1FPScmJy8iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ2InICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICd9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvW1s6c3BhY2U6XV0qOyQvIWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzLy8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvXnhtbERsbE1haW4kL2QnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvXn1bWzpzcGFjZTpdXSovIXsnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ0gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ2QnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICd9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzLy8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICcvXiQvIXsnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvW15BLVphLXowLTldL18vZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvXlswLTldL18mLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvLiovJHsmfS8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ0gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICAgJ3MvLiovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICd9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICd4JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzL1xuLyAvZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzL15bWzpzcGFjZTpdXSovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzLy4qL2RlY2xhcmUgJHtTT05BTUV9PSImIi8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIC1lICdzLy4qLyY7IFBHTUVYUFM9IiR7U09OQU1FfSAke1BHTUVYUFN9Ii8nICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICA8ICIke1RPUERJUn0vbGlieG1sMi5zeW1zIiAgICA+IGJuZHZhcnMKLS4gLi9ibmR2YXJzCi0KLVBHTUxWTD1DVVJSRU5UCi1mb3IgUEdNRVhQIGluICR7UEdNRVhQU30KLWRvICAgICAgU0lHTkFUVVJFPWBlY2hvICIke1BHTUVYUH0iIHwgc2VkICdzL15MSUJYTUwyXy8vJ2AKLSAgICAgICAgZXZhbCBFTlRSSUVTPVwiXCR7JHtQR01FWFB9fVwiCi0gICAgICAgIGVjaG8gIiBTVFJQR01FWFAgUEdNTFZMKCoke1BHTUxWTH0pIFNJR05BVFVSRSgnJHtTSUdOQVRVUkV9JykiCi0gICAgICAgIGZvciBFTlRSWSBpbiAke0VOVFJJRVN9ICR7T1M0MDBTWU1TfQotICAgICAgICBkbyAgICAgIGVjaG8gIiBFWFBPUlQgICAgU1lNQk9MKCcke0VOVFJZfScpIgotICAgICAgICBkb25lCi0gICAgICAgIGVjaG8gJyBFTkRQR01FWFAnCi0gICAgICAgIFBHTUxWTD1QUlYKLWRvbmUgICAgICAgICAgICA+ICIke0JTRn0iCi0KLQotIyAgICAgICBCdWlsZCB0aGUgc2VydmljZSBwcm9ncmFtIGlmIG5lZWRlZC4KLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS8ke1NSVlBHTX0uU1JWUEdNIgotdGhlbiAgICBMSU5LPVlFUwotZmkKLQotaWYgWyAiJHtMSU5LfSIgXQotdGhlbiAgICBDTUQ9IkNSVFNSVlBHTSBTUlZQR00oJHtUQVJHRVRMSUJ9LyR7U1JWUEdNfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IFNSQ0ZJTEUoJHtUQVJHRVRMSUJ9L1RPT0xTKSBTUkNNQlIoQk5EU1JDKSIKLSAgICAgICAgQ01EPSIke0NNRH0gTU9EVUxFKCR7VEFSR0VUTElCfS9PUzQwMCkiCi0gICAgICAgIENNRD0iJHtDTUR9IEJORERJUigoJHtUQVJHRVRMSUJ9LyR7U1RBVEJORERJUn0pIgotICAgICAgICBpZiBbICIke1dJVEhfWkxJQn0iIC1uZSAwIF0KLSAgICAgICAgdGhlbiAgICBDTUQ9IiR7Q01EfSAoJHtaTElCX0xJQn0vJHtaTElCX0JORERJUn0pIgotICAgICAgICBmaQotICAgICAgICBDTUQ9IiR7Q01EfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IEJORFNSVlBHTShRQURSVFRTKSIKLSAgICAgICAgQ01EPSIke0NNRH0gVEVYVCgnbGlieG1sMiBkeW5hbWljIGxpYnJhcnknKSIKLSAgICAgICAgQ01EPSIke0NNRH0gVEdUUkxTKCR7VEdUUkxTfSkiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotICAgICAgICBMSU5LPVlFUwotZmkKLQotCi0jICAgICAgIElmIG5lZWRlZCwgKHJlKWNyZWF0ZSB0aGUgZHluYW1pYyBiaW5kaW5nIGRpcmVjdG9yeS4KLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS8ke0RZTkJORERJUn0uQk5ERElSIgotdGhlbiAgICBMSU5LPVlFUwotZmkKLQotaWYgWyAiJHtMSU5LfSIgXQotdGhlbiAgICBybSAtcmYgIiR7TElCSUZTTkFNRX0vJHtEWU5CTkRESVJ9LkJORERJUiIKLSAgICAgICAgQ01EPSJDUlRCTkRESVIgQk5ERElSKCR7VEFSR0VUTElCfS8ke0RZTkJORERJUn0pIgotICAgICAgICBDTUQ9IiR7Q01EfSBURVhUKCdsaWJ4bWwyIGR5bmFtaWMgYmluZGluZyBkaXJlY3RvcnknKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIENNRD0iQUREQk5ERElSRSBCTkRESVIoJHtUQVJHRVRMSUJ9LyR7RFlOQk5ERElSfSkiCi0gICAgICAgIENNRD0iJHtDTUR9IE9CSigoKkxJQkwvJHtTUlZQR019ICpTUlZQR00pKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi0KLSMgICAgICAgQ29tcGlsZSB0aGUgQVNDSUkgbWFpbigpIHN0dWIuCi0KLW1ha2VfbW9kdWxlICAgICAtLWViY2RpYyAtLXN5c2ljb252ICAgICBMSUJYTUxNQUlOICAiJHtTQ1JJUFRESVJ9L2xpYnhtbG1haW4uYyIKLQotCi0jICAgICAgIENvbXBpbGUgYW5kIGxpbmsgcHJvZ3JhbSB4bWxsaW50LgotCi1pZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTExJTlQuUEdNIiAieG1sbGludC5jIiB8fAotICAgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxMSU5ULlBHTSIgIiR7TElCSUZTTkFNRX0vJHtTUlZQR019LlNSVlBHTSIgfHwKLSAgIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MTElOVC5QR00iICIke0xJQklGU05BTUV9L0xJQlhNTE1BSU4uTU9EVUxFIgotdGhlbiAgICBtYWtlX21vZHVsZSBYTUxMSU5UIHhtbGxpbnQuYwotICAgICAgICBDTUQ9IkNSVFBHTSBQR00oJHtUQVJHRVRMSUJ9L1hNTExJTlQpIE1PRFVMRSgke1RBUkdFVExJQn0vWE1MTElOVCkiCi0gICAgICAgIENNRD0iJHtDTUR9IEVOVE1PRCgke1RBUkdFVExJQn0vTElCWE1MTUFJTikiCi0gICAgICAgIENNRD0iJHtDTUR9IEJORFNSVlBHTShRQURSVFRTKSBCTkRESVIoKCR7VEFSR0VUTElCfS8ke1NUQVRCTkRESVJ9KSIKLSAgICAgICAgaWYgWyAiJHtXSVRIX1pMSUJ9IiAtbmUgMCBdCi0gICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gKCR7WkxJQl9MSUJ9LyR7WkxJQl9CTkRESVJ9KSIKLSAgICAgICAgZmkKLSAgICAgICAgQ01EPSIke0NNRH0pIEFDVEdSUCgqTkVXKSBURVhUKCdYTUwgdG9vbCcpIgotICAgICAgICBDTUQ9IiR7Q01EfSBUR1RSTFMoJHtUR1RSTFN9KSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIHJtIC1mICIke0xJQklGU05BTUV9L1hNTExJTlQuTU9EVUxFIgotZmkKLQotIyAgICAgICBJbnN0YWxsIHhtbGxpbnQgaW4gSUZTLgotCi1pZiBbICEgLWQgIiR7SUZTRElSfS9iaW4iIF0KLXRoZW4gICAgbWtkaXIgLXAgIiR7SUZTRElSfS9iaW4iCi1maQotcm0gLWYgIiR7SUZTRElSfS9iaW4veG1sbGludCIKLWxuIC1zICIke0xJQklGU05BTUV9L1hNTExJTlQuUEdNIiAiJHtJRlNESVJ9L2Jpbi94bWxsaW50IgotCi0jICAgICAgIFByZXBhcmUgdGhlIFhNTExJTlQgY29tbWFuZCBhbmQgaXRzIHJlc3BvbnNlIHByb2dyYW0uCi0KLWlmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MTElOVENMLlBHTSIgIiR7U0NSSVBURElSfS94bWxsaW50Y2wuYyIKLXRoZW4gICAgbWFrZV9tb2R1bGUgLS1lYmNkaWMgWE1MTElOVENMICIke1NDUklQVERJUn0veG1sbGludGNsLmMiCi0gICAgICAgIENNRD0iQ1JUUEdNIFBHTSgke1RBUkdFVExJQn0vWE1MTElOVENMKSBNT0RVTEUoJHtUQVJHRVRMSUJ9L1hNTExJTlRDTCkiCi0gICAgICAgIENNRD0iJHtDTUR9IEFDVEdSUCgqTkVXKSBURVhUKCdYTUxMSU5UIGNvbW1hbmQgcmVzcG9uc2UnKSIKLSAgICAgICAgQ01EPSIke0NNRH0gVEdUUkxTKCR7VEdUUkxTfSkiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotICAgICAgICBybSAtZiAiJHtMSUJJRlNOQU1FfS9YTUxMSU5UQ0wuTU9EVUxFIgotZmkKLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFL1hNTExJTlQuTUJSIiAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAiJHtTQ1JJUFRESVJ9L3htbGxpbnQuY21kIgotdGhlbiAgICBDTUQ9IkNQWSBPQkooJyR7U0NSSVBURElSfS94bWxsaW50LmNtZCcpIgotICAgICAgICBDTUQ9IiR7Q01EfSBUT09CSignJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFL1hNTExJTlQuTUJSJykiCi0gICAgICAgIENNRD0iJHtDTUR9IFRPQ0NTSUQoJHtUR1RDQ1NJRH0pIERUQUZNVCgqVEVYVCkgUkVQTEFDRSgqWUVTKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi1pZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTExJTlQuQ01EIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICIke0xJQklGU05BTUV9L1RPT0xTLkZJTEUvWE1MTElOVC5NQlIiCi10aGVuICAgIENNRD0iQ1JUQ01EIENNRCgke1RBUkdFVExJQn0vWE1MTElOVCkgUEdNKCR7VEFSR0VUTElCfS9YTUxMSU5UQ0wpIgotICAgICAgICBDTUQ9IiR7Q01EfSBTUkNGSUxFKCR7VEFSR0VUTElCfS9UT09MUykgU1JDTUJSKFhNTExJTlQpIFRIRFNBRkUoKllFUykiCi0gICAgICAgIENNRD0iJHtDTUR9IFRFWFQoJ1hNTCB0b29sJykgUkVQTEFDRSgqWUVTKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi0KLSMgICAgICAgQ29tcGlsZSBhbmQgbGluayBwcm9ncmFtIHhtbGNhdGFsb2cuCi0KLWlmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vWE1MQ0FUQUxPRy5QR00iICJ4bWxjYXRhbG9nLmMiIHx8Ci0gICBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTENBVEFMT0cuUEdNIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICIke0xJQklGU05BTUV9LyR7U1JWUEdNfS5TUlZQR00iIHx8Ci0gICBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1hNTENBVEFMT0cuUEdNIiAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICIke0xJQklGU05BTUV9L0xJQlhNTE1BSU4uTU9EVUxFIgotdGhlbiAgICBtYWtlX21vZHVsZSBYTUxDQVRBTE9HIHhtbGNhdGFsb2cuYwotICAgICAgICBDTUQ9IkNSVFBHTSBQR00oJHtUQVJHRVRMSUJ9L1hNTENBVEFMT0cpIgotICAgICAgICBDTUQ9IiR7Q01EfSAgTU9EVUxFKCR7VEFSR0VUTElCfS9YTUxDQVRBTE9HKSIKLSAgICAgICAgQ01EPSIke0NNRH0gRU5UTU9EKCR7VEFSR0VUTElCfS9MSUJYTUxNQUlOKSIKLSAgICAgICAgQ01EPSIke0NNRH0gQk5EU1JWUEdNKFFBRFJUVFMpIEJORERJUigoJHtUQVJHRVRMSUJ9LyR7U1RBVEJORERJUn0pIgotICAgICAgICBpZiBbICIke1dJVEhfWkxJQn0iIC1uZSAwIF0KLSAgICAgICAgdGhlbiAgICBDTUQ9IiR7Q01EfSAoJHtaTElCX0xJQn0vJHtaTElCX0JORERJUn0pIgotICAgICAgICBmaQotICAgICAgICBDTUQ9IiR7Q01EfSkgQUNUR1JQKCpORVcpIFRFWFQoJ1hNTC9TR01MIGNhdGFsb2cgdG9vbCcpIgotICAgICAgICBDTUQ9IiR7Q01EfSBUR1RSTFMoJHtUR1RSTFN9KSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi0gICAgICAgIHJtIC1mICIke0xJQklGU05BTUV9L1hNTENBVEFMT0cuTU9EVUxFIgotZmkKLQotIyAgICAgICBJbnN0YWxsIHhtbGNhdGFsb2cgaW4gSUZTLgotCi1ybSAtZiAiJHtJRlNESVJ9L2Jpbi94bWxjYXRhbG9nIgotbG4gLXMgIiR7TElCSUZTTkFNRX0vWE1MQ0FUQUxPRy5QR00iICIke0lGU0RJUn0vYmluL3htbGNhdGFsb2ciCi0KLSMgICAgICAgUHJlcGFyZSB0aGUgWE1MQ0FUQUxPRyBjb21tYW5kIGFuZCBpdHMgcmVzcG9uc2UgcHJvZ3JhbS4KLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxDQVRMR0NMLlBHTSIgIiR7U0NSSVBURElSfS94bWxjYXRsZ2NsLmMiCi10aGVuICAgIG1ha2VfbW9kdWxlIC0tZWJjZGljIFhNTENBVExHQ0wgIiR7U0NSSVBURElSfS94bWxjYXRsZ2NsLmMiCi0gICAgICAgIENNRD0iQ1JUUEdNIFBHTSgke1RBUkdFVExJQn0vWE1MQ0FUTEdDTCkiCi0gICAgICAgIENNRD0iJHtDTUR9IE1PRFVMRSgke1RBUkdFVExJQn0vWE1MQ0FUTEdDTCkiCi0gICAgICAgIENNRD0iJHtDTUR9IEFDVEdSUCgqTkVXKSBURVhUKCdYTUxDQVRBTE9HIGNvbW1hbmQgcmVzcG9uc2UnKSIKLSAgICAgICAgQ01EPSIke0NNRH0gVEdUUkxTKCR7VEdUUkxTfSkiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotICAgICAgICBybSAtZiAiJHtMSUJJRlNOQU1FfS9YTUxDQVRMR0NMLk1PRFVMRSIKLWZpCi0KLWlmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9YTUxDQVRBTE9HLk1CUiIgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIiR7U0NSSVBURElSfS94bWxjYXRhbG9nLmNtZCIKLXRoZW4gICAgQ01EPSJDUFkgT0JKKCcke1NDUklQVERJUn0veG1sY2F0YWxvZy5jbWQnKSIKLSAgICAgICAgQ01EPSIke0NNRH0gVE9PQkooJyR7TElCSUZTTkFNRX0vVE9PTFMuRklMRS9YTUxDQVRBTE9HLk1CUicpIgotICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCi0gICAgICAgIHN5c3RlbSAiJHtDTUR9IgotZmkKLQotaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9YTUxDQVRBTE9HLkNNRCIgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAiJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFL1hNTENBVEFMT0cuTUJSIgotdGhlbiAgICBDTUQ9IkNSVENNRCBDTUQoJHtUQVJHRVRMSUJ9L1hNTENBVEFMT0cpIFBHTSgke1RBUkdFVExJQn0vWE1MQ0FUTEdDTCkiCi0gICAgICAgIENNRD0iJHtDTUR9IFNSQ0ZJTEUoJHtUQVJHRVRMSUJ9L1RPT0xTKSBTUkNNQlIoWE1MQ0FUQUxPRykiCi0gICAgICAgIENNRD0iJHtDTUR9IFRIRFNBRkUoKllFUykgVEVYVCgnWE1ML1NHTUwgY2F0YWxvZyB0b29sJykgUkVQTEFDRSgqWUVTKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQpkaWZmIC0tZ2l0IGEvb3M0MDAvbWFrZS5zaCBiL29zNDAwL21ha2Uuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2MDM2NWUuLjAwMDAwMDAKLS0tIGEvb3M0MDAvbWFrZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAgICAgICBsaWJ4bWwyIGNvbXBpbGF0aW9uIHNjcmlwdCBmb3IgdGhlIE9TLzQwMC4KLSMgICAgICAgVGhpcyBpcyBhIHNoZWxsIHNjcmlwdCBzaW5jZSBtYWtlIGlzIG5vdCBhIHN0YW5kYXJkIGNvbXBvbmVudCBvZiBPUy80MDAuCi0jCi0jICAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSMKLSMgICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0jCi0KLVNDUklQVERJUj1gZGlybmFtZSAiJHswfSJgCi0uICIke1NDUklQVERJUn0vaW5pdHNjcmlwdC5zaCIKLWNkICIke1RPUERJUn0iCi0KLQotIyAgICAgICBDcmVhdGUgdGhlIE9TLzQwMCBsaWJyYXJ5IGlmIGl0IGRvZXMgbm90IGV4aXN0LgotCi1pZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9IgotdGhlbiAgICBDTUQ9IkNSVExJQiBMSUIoJHtUQVJHRVRMSUJ9KSIKLSAgICAgICAgQ01EPSIke0NNRH0gVEVYVCgnbGlieG1sMjogWE1MIHBhcnNlciBhbmQgdG9vbGtpdCBBUEknKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi0KLSMgICAgICAgQ3JlYXRlIHRoZSBET0NTIHNvdXJjZSBmaWxlIGlmIGl0IGRvZXMgbm90IGV4aXN0LgotCi1pZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L0RPQ1MuRklMRSIKLXRoZW4gICAgQ01EPSJDUlRTUkNQRiBGSUxFKCR7VEFSR0VUTElCfS9ET0NTKSBSQ0RMRU4oMTEyKSIKLSAgICAgICAgQ01EPSIke0NNRH0gQ0NTSUQoJHtUR1RDQ1NJRH0pIFRFWFQoJ0RvY3VtZW50YXRpb24gdGV4dHMnKSIKLSAgICAgICAgc3lzdGVtICIke0NNRH0iCi1maQotCi0KLSMgICAgICAgQ29weSBzb21lIGRvY3VtZW50YXRpb24gZmlsZXMgaWYgbmVlZGVkLgotCi1mb3IgVEVYVCBpbiAiJHtUT1BESVJ9L0FVVEhPUlMiICIke1RPUERJUn0vQ2hhbmdlTG9nIiAgICAgICAgICAgICAgICAgICBcCi0gICAgIiR7VE9QRElSfS9Db3B5cmlnaHQiICIke1RPUERJUn0vQ09OVFJJQlVUSU5HIiAiJHtUT1BESVJ9L1JFQURNRSIgICAgICAgIFwKLSAgICAiJHtUT1BESVJ9L01BSU5UQUlORVJTIiAiJHtUT1BESVJ9L05FV1MiICIke1RPUERJUn0vVE9ETyIgICAgICAgICAgIFwKLSAgICAiJHtUT1BESVJ9L1RPRE9fU0NIRU1BUyIgIiR7VE9QRElSfS9vczQwMC9SRUFETUU0MDAiCi1kbyAgICAgIGlmIFsgLWYgIiR7VEVYVH0iIF0KLSAgICAgICAgdGhlbiAgICBNRU1CRVI9ImBiYXNlbmFtZSBcIiR7VEVYVH1cIiAuT1M0MDBgIgotICAgICAgICAgICAgICAgIE1FTUJFUj0iJHtMSUJJRlNOQU1FfS9ET0NTLkZJTEUvYGRiMl9uYW1lIFwiJHtNRU1CRVJ9XCJgLk1CUiIKLQotICAgICAgICAgICAgICAgIGlmIGFjdGlvbl9uZWVkZWQgIiR7TUVNQkVSfSIgIiR7VEVYVH0iCi0gICAgICAgICAgICAgICAgdGhlbiAgICAjIFNvdXJjZXMgYXJlIGluIFVURi04LgotICAgICAgICAgICAgICAgICAgICAgICAgcm0gLWYgIiR7VE9QRElSfS90bXBmaWxlIlsxMl0KLSAgICAgICAgICAgICAgICAgICAgICAgIENNRD0iQ1BZIE9CSignJHtURVhUfScpIFRPT0JKKCcke1RPUERJUn0vdG1wZmlsZTEnKSIKLSAgICAgICAgICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IEZST01DQ1NJRCgxMjA4KSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSIKLSAgICAgICAgICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IERUQUZNVCgqVEVYVCkgUkVQTEFDRSgqWUVTKSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbSAiJHtDTUR9IgotICAgICAgICAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgYWxsIGxpbmVzIGFyZSA8IDEwMCBjaGFyYWN0ZXJzLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VkIC1lICdzLy5cezk5XH0vJlwKLS9nJyAtZSAncy9cbiQvLycgIiR7VE9QRElSfS90bXBmaWxlMSIgPiAiJHtUT1BESVJ9L3RtcGZpbGUyIgotICAgICAgICAgICAgICAgICAgICAgICAgQ01EPSJDUFkgT0JKKCcke1RPUERJUn0vdG1wZmlsZTInKSBUT09CSignJHtNRU1CRVJ9JykiCi0gICAgICAgICAgICAgICAgICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSIKLSAgICAgICAgICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IERUQUZNVCgqVEVYVCkgUkVQTEFDRSgqWUVTKSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbSAiJHtDTUR9IgotICAgICAgICAgICAgICAgIGZpCi0gICAgICAgIGZpCi1kb25lCi0KLQotIyAgICAgICBCdWlsZCBmaWxlcyBmcm9tIHRlbXBsYXRlLgotCi1jb25maWdGaWxlKCkKLQotewotICAgICAgICBhcmdzPWBzZXQgfCBzZWQgLWUgJy9eW0EtWmEtel9dW0EtWmEtejAtOV9dKj0vIWQnICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvW1wvXFxcXCZdL1xcXFwmL2cnICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgLWUgInMvJy8nXFxcXFxcJycvZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvXlwoW149XSpcKT1cKC4qXCkkLy1lICdcJydzXC9AXDFAXC9cMlwvZydcJy9gCi0gICAgICAgIGV2YWwgc2VkICR7YXJnc30gPCAiJHsxfSIuaW4gPiAiJHsxfSIKLX0KLQotY29uZmlnRmlsZSBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmgKLWNvbmZpZ0ZpbGUgb3M0MDAvb3M0MDBjb25maWcuaAotbXYgb3M0MDAvb3M0MDBjb25maWcuaCBjb25maWcuaAotCi0KLSMgICAgICAgQnVpbGQgaW4gZWFjaCBkaXJlY3RvcnkuCi0KLWZvciBTVUJESVIgaW4gaW5jbHVkZSBycGcgc3JjCi1kbyAgICAgICIke1NDUklQVERJUn0vbWFrZS0ke1NVQkRJUn0uc2giCi1kb25lCmRpZmYgLS1naXQgYS9vczQwMC9vczQwMGNvbmZpZy5oLmluIGIvb3M0MDAvb3M0MDBjb25maWcuaC5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg1Y2Q3Zi4uMDAwMDAwMAotLS0gYS9vczQwMC9vczQwMGNvbmZpZy5oLmluCisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLS8qKgotKioqICAgICBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSBPUy80MDAgaW1wbGVtZW50YXRpb24uCi0qKioKLSoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgotKioqCi0qKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgotKiovCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXJwYS9pbmV0Lmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IICAgICAgICAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXJwYS9uYW1lc2VyLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IICAgICAxCi0KLS8qIFdoZXRoZXIgc3RydWN0IHNvY2thZGRyOjpfX3NzX2ZhbWlseSBleGlzdHMgKi8KLSN1bmRlZiBIQVZFX0JST0tFTl9TU19GQU1JTFkKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkbGZjbi5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9ETEZDTl9IICAgICAgICAgICAgMSAgICAgICAvKiBMb2NhbGx5IGVtdWxhdGVkLiAqLwotCi0vKiBIYXZlIGRsb3BlbiBiYXNlZCBkc28gKi8KLSNkZWZpbmUgSEFWRV9ETE9QRU4gICAgICAgICAgICAgMSAgICAgICAvKiBMb2NhbGx5IGVtdWxhdGVkLiAqLwotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGRsLmg+IGhlYWRlciBmaWxlLiAqLwotI3VuZGVmIEhBVkVfRExfSAotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGZjbnRsLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX0ZDTlRMX0ggICAgICAgICAgICAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnRpbWUnIGZ1bmN0aW9uLiAqLwotI3VuZGVmIEhBVkVfRlRJTUUKLQotLyogRGVmaW5lIGlmIGdldGFkZHJpbmZvIGlzIHRoZXJlICovCi0jZGVmaW5lIEhBVkVfR0VUQUREUklORk8gICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXR0aW1lb2ZkYXknIGZ1bmN0aW9uLiAqLwotI3VuZGVmIEhBVkVfR0VUVElNRU9GREFZCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpc2FzY2lpJyBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9JU0FTQ0lJICAgICAgICAgICAgMQotCi0vKiBEZWZpbmUgaWYgaGlzdG9yeSBsaWJyYXJ5IGlzIHRoZXJlICgtbGhpc3RvcnkpICovCi0jdW5kZWYgSEFWRV9MSUJISVNUT1JZCi0KLS8qIERlZmluZSBpZiByZWFkbGluZSBsaWJyYXJ5IGlzIHRoZXJlICgtbHJlYWRsaW5lKSAqLwotI3VuZGVmIEhBVkVfTElCUkVBRExJTkUKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtbWFwJyBmdW5jdGlvbi4gKi8KLSN1bmRlZiBIQVZFX01NQVAKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtdW5tYXAnIGZ1bmN0aW9uLiAqLwotI3VuZGVmIEhBVkVfTVVOTUFQCi0KLS8qIG1tYXAoKSBpcyBubyBnb29kIHdpdGhvdXQgbXVubWFwKCkgKi8KLSNpZiBkZWZpbmVkKEhBVkVfTU1BUCkgJiYgIWRlZmluZWQoSEFWRV9NVU5NQVApCi0jICB1bmRlZiAvKiovIEhBVkVfTU1BUAotI2VuZGlmCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0ZGIuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfTkVUREJfSCAgICAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRpbmV0L2luLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAgICAgICAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cG9sbC5oPiBoZWFkZXIgZmlsZS4gKi8KLSN1bmRlZiBIQVZFX1BPTExfSAotCi0vKiBEZWZpbmUgaWYgPHB0aHJlYWQuaD4gaXMgdGhlcmUgKi8KLSNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggICAgICAgICAgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB1dGVudicgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfUFVURU5WICAgICAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByYW5kX3InIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1JBTkRfUiAgICAgICAgICAgICAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cmVzb2x2Lmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX1JFU09MVl9IICAgICAgICAgICAxCi0KLS8qIEhhdmUgc2hsX2xvYWQgYmFzZWQgZHNvICovCi0jdW5kZWYgSEFWRV9TSExMT0FECi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RhdCcgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfU1RBVCAgICAgICAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRpbnQuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1RESU5UX0ggICAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvbW1hbi5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IICAgICAgICAgMQotCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zZWxlY3QuaD4gaGVhZGVyIGZpbGUuICovCi0jdW5kZWYgSEFWRV9TWVNfU0VMRUNUX0gKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAgICAgICAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAgICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGltZWIuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGltZS5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggICAgICAgIDEKLQotLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfVU5JU1REX0ggICAgICAgICAgIDEKLQotLyogV2hldGhlciB2YV9jb3B5KCkgaXMgYXZhaWxhYmxlICovCi0jdW5kZWYgSEFWRV9WQV9DT1BZCi0KLS8qIFdoZXRoZXIgX192YV9jb3B5KCkgaXMgYXZhaWxhYmxlICovCi0jdW5kZWYgSEFWRV9fX1ZBX0NPUFkKLQotLyogRGVmaW5lIHRvIHRoZSBzdWItZGlyZWN0b3J5IGluIHdoaWNoIGxpYnRvb2wgc3RvcmVzIHVuaW5zdGFsbGVkIGxpYnJhcmllcy4KLSAgICovCi0jdW5kZWYgTFRfT0JKRElSCi0KLS8qIE5hbWUgb2YgcGFja2FnZSAqLwotI2RlZmluZSBQQUNLQUdFICAgICAgICAgICAgICAgICAibGlieG1sMiIKLQotLyogRGVmaW5lIHRvIHRoZSBhZGRyZXNzIHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHNlbnQuICovCi0jZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICAgICAgICIiCi0KLS8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIG9mIHRoaXMgcGFja2FnZS4gKi8KLSNkZWZpbmUgUEFDS0FHRV9OQU1FICAgICAgICAgICAgIiIKLQotLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLwotI2RlZmluZSBQQUNLQUdFX1NUUklORyAgICAgICAgICAiIgotCi0vKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCi0jZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAgICAgICAgICIiCi0KLS8qIERlZmluZSB0byB0aGUgaG9tZSBwYWdlIGZvciB0aGlzIHBhY2thZ2UuICovCi0jZGVmaW5lIFBBQ0tBR0VfVVJMICAgICAgICAgICAgICIiCi0KLS8qIERlZmluZSB0byB0aGUgdmVyc2lvbiBvZiB0aGlzIHBhY2thZ2UuICovCi0jZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAgICAgICAgICIiCi0KLS8qIFN1cHBvcnQgZm9yIElQdjYgKi8KLSNkZWZpbmUgU1VQUE9SVF9JUDYKLQotLyogVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZSAqLwotI2RlZmluZSBWRVJTSU9OICAgICAgICAgICAgICAgICAiQFZFUlNJT05AIgotCi0vKiBEZXRlcm1pbmUgd2hhdCBzb2NrZXQgbGVuZ3RoIChzb2NrbGVuX3QpIGRhdGEgdHlwZSBpcyAqLwotI2RlZmluZSBYTUxfU09DS0xFTl9UICAgICAgICAgICBzb2NrbGVuX3QKLQotLyogRGVmaW5lIGZvciBTb2xhcmlzIDIuNS4xIHNvIHRoZSB1aW50MzJfdCB0eXBlZGVmIGZyb20gPHN5cy9zeW5jaC5oPiwKLSAgIDxwdGhyZWFkLmg+LCBvciA8c2VtYXBob3JlLmg+IGlzIG5vdCB1c2VkLiBJZiB0aGUgdHlwZWRlZiB3ZXJlIGFsbG93ZWQsIHRoZQotICAgI2RlZmluZSBiZWxvdyB3b3VsZCBjYXVzZSBhIHN5bnRheCBlcnJvci4gKi8KLSN1bmRlZiBfVUlOVDMyX1QKLQotLyogc3NfZmFtaWx5IGlzIG5vdCBkZWZpbmVkIGhlcmUsIHVzZSBfX3NzX2ZhbWlseSBpbnN0ZWFkICovCi0jdW5kZWYgc3NfZmFtaWx5Ci0KLS8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgb2Ygd2lkdGggZXhhY3RseSAzMiBiaXRzIGlmCi0gICBzdWNoIGEgdHlwZSBleGlzdHMgYW5kIHRoZSBzdGFuZGFyZCBpbmNsdWRlcyBkbyBub3QgZGVmaW5lIGl0LiAqLwotI3VuZGVmIHVpbnQzMl90Ci0KLS8qIFR5cGUgY2FzdCBmb3IgdGhlIHNlbmQoKSBmdW5jdGlvbiAybmQgYXJnICovCi0jZGVmaW5lIFNFTkRfQVJHMl9DQVNUICAgICAgICAgIChjaGFyICopCi0KLS8qIFR5cGUgY2FzdCBmb3IgdGhlIGdldGhvc3RieW5hbWUoKSBhcmd1bWVudCAqLwotI2RlZmluZSBHRVRIT1NUQllOQU1FX0FSR19DQVNUICAoY2hhciAqKQotCi0vKiBEZWZpbmUgaWYgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlICovCi0jZGVmaW5lIFZBX0xJU1RfSVNfQVJSQVkgICAgICAgIDEKZGlmZiAtLWdpdCBhL29zNDAwL3JwZ3N1cHBvcnQuYyBiL29zNDAwL3JwZ3N1cHBvcnQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJmMjM5OS4uMDAwMDAwMAotLS0gYS9vczQwMC9ycGdzdXBwb3J0LmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNzAgKzAsMCBAQAotLyoqCi0qKiogICAgIEFkZGl0aW9uYWwgcHJvY2VkdXJlcyBmb3IgSUxFL1JQRyBzdXBwb3J0LgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0KLSNpbmNsdWRlIDxzdGRhcmcuaD4KLQotI2luY2x1ZGUgImxpYnhtbC94bWxtZW1vcnkuaCIKLSNpbmNsdWRlICJsaWJ4bWwveHBhdGguaCIKLSNpbmNsdWRlICJsaWJ4bWwvcGFyc2VyLmgiCi0jaW5jbHVkZSAibGlieG1sL0hUTUxwYXJzZXIuaCIKLQotI2luY2x1ZGUgInJwZ3N1cHBvcnQuaCIKLQotCi0vKioKLSoqKiAgICAgSUxFL1JQRyBjYW5ub3QgZGlyZWN0bHkgZGVyZWZlcmVuY2UgYSBwb2ludGVyIGFuZCBoYXMgbm8gbWFjcm9zLgotKioqICAgICBUaGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcHJvY2VkdXJlcyBzdXBwbHkgdGhlc2UgZnVuY3Rpb25zLgotKioqICAgICBJbiBhZGRpdGlvbiwgdGhlIGZvbGxvd2luZyBjb2RlIGlzIGFkanVzdGVkIGZvciB0aHJlYWRzIGNvbnRyb2wgYXQKLSoqKiAgICAgICAgICAgICBjb21waWxlIHRpbWUgdmlhIHRoZSBDIG1hY3Jvcy4KLSoqLwotCi0jZGVmaW5lIFRIUkVBREVEX1ZBUihuYW1lLCB0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgdHlwZSBfX2dldF8jI25hbWUodm9pZCkgeyByZXR1cm4gbmFtZTsgfSAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgdm9pZCBfX3NldF8jI25hbWUodHlwZSBhcmcpIHsgbmFtZSA9IGFyZzsgfQotCi0KLVRIUkVBREVEX1ZBUih4bWxGcmVlLCB4bWxGcmVlRnVuYykKLQotdm9pZAotX19jYWxsX3htbEZyZWUodm9pZCAqIG1lbSkKLQotewotICAgICAgICB4bWxGcmVlKG1lbSk7Ci19Ci0KLQotVEhSRUFERURfVkFSKHhtbE1hbGxvYywgeG1sTWFsbG9jRnVuYykKLQotdm9pZCAqCi1fX2NhbGxfeG1sTWFsbG9jKHNpemVfdCBzaXplKQotCi17Ci0gICAgICAgIHJldHVybiB4bWxNYWxsb2Moc2l6ZSk7Ci19Ci0KLQotVEhSRUFERURfVkFSKHhtbE1hbGxvY0F0b21pYywgeG1sTWFsbG9jRnVuYykKLQotdm9pZCAqCi1fX2NhbGxfeG1sTWFsbG9jQXRvbWljKHNpemVfdCBzaXplKQotCi17Ci0gICAgICAgIHJldHVybiB4bWxNYWxsb2NBdG9taWMoc2l6ZSk7Ci19Ci0KLQotVEhSRUFERURfVkFSKHhtbFJlYWxsb2MsIHhtbFJlYWxsb2NGdW5jKQotCi12b2lkICoKLV9fY2FsbF94bWxSZWFsbG9jKHZvaWQgKiBtZW0sIHNpemVfdCBzaXplKQotCi17Ci0gICAgICAgIHJldHVybiB4bWxSZWFsbG9jKG1lbSwgc2l6ZSk7Ci19Ci0KLQotVEhSRUFERURfVkFSKHhtbE1lbVN0cmR1cCwgeG1sU3RyZHVwRnVuYykKLQotY2hhciAqCi1fX2NhbGxfeG1sTWVtU3RyZHVwKGNvbnN0IGNoYXIgKiBzdHIpCi0KLXsKLSAgICAgICAgcmV0dXJuIHhtbE1lbVN0cmR1cChzdHIpOwotfQotCi0KLSNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECi1USFJFQURFRF9WQVIoZG9jYkRlZmF1bHRTQVhIYW5kbGVyLCB4bWxTQVhIYW5kbGVyVjEpCi0jZW5kaWYKLQotCi0jaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAotVEhSRUFERURfVkFSKGh0bWxEZWZhdWx0U0FYSGFuZGxlciwgeG1sU0FYSGFuZGxlclYxKQotI2VuZGlmCi0KLQotVEhSRUFERURfVkFSKHhtbExhc3RFcnJvciwgeG1sRXJyb3IpCi0KLVRIUkVBREVEX1ZBUihvbGRYTUxXRGNvbXBhdGliaWxpdHksIGludCkKLVRIUkVBREVEX1ZBUih4bWxCdWZmZXJBbGxvY1NjaGVtZSwgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKLVRIUkVBREVEX1ZBUih4bWxEZWZhdWx0QnVmZmVyU2l6ZSwgaW50KQotVEhSRUFERURfVkFSKHhtbERlZmF1bHRTQVhIYW5kbGVyLCB4bWxTQVhIYW5kbGVyVjEpCi1USFJFQURFRF9WQVIoeG1sRGVmYXVsdFNBWExvY2F0b3IsIHhtbFNBWExvY2F0b3IpCi1USFJFQURFRF9WQVIoeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLCBpbnQpCi0KLS8qIE5vIGNhbGxlciB0byB4bWxHZW5lcmljRXJyb3IoKSBiZWNhdXNlIHRoZSBhcmd1bWVudCBsaXN0IGlzIHVua25vd24uICovCi1USFJFQURFRF9WQVIoeG1sR2VuZXJpY0Vycm9yLCB4bWxHZW5lcmljRXJyb3JGdW5jKQotCi0KLVRIUkVBREVEX1ZBUih4bWxTdHJ1Y3R1cmVkRXJyb3IsIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCi0KLXZvaWQKLV9fY2FsbF94bWxTdHJ1Y3R1cmVkRXJyb3Iodm9pZCAqIHVzZXJEYXRhLCB4bWxFcnJvclB0ciBlcnJvcikKLQotewotICAgICAgICB4bWxTdHJ1Y3R1cmVkRXJyb3IodXNlckRhdGEsIGVycm9yKTsKLX0KLQotVEhSRUFERURfVkFSKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsIHZvaWQgKikKLVRIUkVBREVEX1ZBUih4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0LCB2b2lkICopCi1USFJFQURFRF9WQVIoeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUsIGludCkKLVRIUkVBREVEX1ZBUih4bWxJbmRlbnRUcmVlT3V0cHV0LCBpbnQpCi1USFJFQURFRF9WQVIoeG1sVHJlZUluZGVudFN0cmluZywgY29uc3QgY2hhciAqKQotVEhSRUFERURfVkFSKHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUsIGludCkKLVRIUkVBREVEX1ZBUih4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSwgaW50KQotVEhSRUFERURfVkFSKHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUsIGludCkKLVRIUkVBREVEX1ZBUih4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzLCBpbnQpCi1USFJFQURFRF9WQVIoeG1sUGFyc2VyVmVyc2lvbiwgY29uc3QgY2hhciAqKQotVEhSRUFERURfVkFSKHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLCBpbnQpCi1USFJFQURFRF9WQVIoeG1sU2F2ZU5vRW1wdHlUYWdzLCBpbnQpCi1USFJFQURFRF9WQVIoeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLCBpbnQpCi0KLQotVEhSRUFERURfVkFSKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSwgeG1sUmVnaXN0ZXJOb2RlRnVuYykKLQotdm9pZAotX19jYWxsX3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSh4bWxOb2RlUHRyIG5vZGUpCi0KLXsKLSAgICAgICAgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKG5vZGUpOwotfQotCi0KLVRIUkVBREVEX1ZBUih4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSwgeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQotCi12b2lkCi1fX2NhbGxfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sTm9kZVB0ciBub2RlKQotCi17Ci0gICAgICAgIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKG5vZGUpOwotfQotCi0KLVRIUkVBREVEX1ZBUih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jKQotCi14bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgotX19jYWxsX3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpCi0KLXsKLSAgICAgICAgcmV0dXJuIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShVUkksIGVuYyk7Ci19Ci0KLQotVEhSRUFERURfVkFSKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYykKLQoteG1sT3V0cHV0QnVmZmVyUHRyCi1fX2NhbGxfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCi0gICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIsIGludCBjb21wcmVzc2lvbikKLQotewotICAgICAgICByZXR1cm4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShVUkksIGVuY29kZXIsIGNvbXByZXNzaW9uKTsKLX0KLQotCi0KLS8qKgotKioqICAgICB2YV9saXN0IHN1cHBvcnQuCi0qKi8KLQotdm9pZAotX194bWxWYVN0YXJ0KGNoYXIgKiAqIGxpc3QsIGNoYXIgKiBsYXN0YXJnYWRkciwgc2l6ZV90IGxhc3RhcmdzaXplKQotCi17Ci0gICAgICAgIGxpc3RbMV0gPSBsYXN0YXJnYWRkciArIGxhc3RhcmdzaXplOwotfQotCi0KLXZvaWQgKgotX194bWxWYUFyZyhjaGFyICogKiBsaXN0LCB2b2lkICogZGVzdCwgc2l6ZV90IGFyZ3NpemUpCi0KLXsKLSAgICAgICAgc2l6ZV90IGFsaWduOwotCi0gICAgICAgIGlmICghYXJnc2l6ZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKikgTlVMTDsKLQotICAgICAgICBmb3IgKGFsaWduID0gMTY7IGFsaWduID4gYXJnc2l6ZTsgYWxpZ24gPj49IDEpCi0gICAgICAgICAgICAgICAgOwotCi0gICAgICAgIGFsaWduLS07Ci0gICAgICAgIGxpc3RbMF0gPSBsaXN0WzFdICsgKGFsaWduIC0gKCgoc2l6ZV90KSBsaXN0WzBdIC0gMSkgJiBhbGlnbikpOwotICAgICAgICBsaXN0WzFdID0gbGlzdFswXSArIGFyZ3NpemU7Ci0KLSAgICAgICAgaWYgKGRlc3QpCi0gICAgICAgICAgICAgICAgbWVtY3B5KGRlc3QsIGxpc3RbMF0sIGFyZ3NpemUpOwotCi0gICAgICAgIHJldHVybiAodm9pZCAqKSBsaXN0WzBdOwotfQotCi0KLXZvaWQKLV9feG1sVmFFbmQoY2hhciAqICogbGlzdCkKLQotewotICAgICAgICAvKiBOb3RoaW5nIHRvIGRvLiAqLwotfQotCi0KLSNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAotCi1pbnQKLV9feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKGNvbnN0IHhtbE5vZGVTZXQgKiBucykKLQotewotICAgICAgICByZXR1cm4geG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKG5zKTsKLX0KLQotCi14bWxOb2RlUHRyCi1fX3htbFhQYXRoTm9kZVNldEl0ZW0oY29uc3QgeG1sTm9kZVNldCAqIG5zLCBpbnQgaW5kZXgpCi0KLXsKLSAgICAgICAgcmV0dXJuIHhtbFhQYXRoTm9kZVNldEl0ZW0obnMsIGluZGV4KTsKLX0KLQotCi1pbnQKLV9feG1sWFBhdGhOb2RlU2V0SXNFbXB0eShjb25zdCB4bWxOb2RlU2V0ICogbnMpCi0KLXsKLSAgICAgICAgcmV0dXJuIHhtbFhQYXRoTm9kZVNldElzRW1wdHkobnMpOwotfQotCi0jZW5kaWYKLQotCi0jaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAotCi1jb25zdCBjaGFyICoKLV9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCkKLQotewotICAgICAgICByZXR1cm4gaHRtbERlZmF1bHRTdWJlbGVtZW50KGVsdCk7Ci19Ci0KLQotaW50Ci1fX2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjKGNvbnN0IGh0bWxFbGVtRGVzYyAqIHBhcmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCkKLQotewotICAgICAgICByZXR1cm4gaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MocGFyZW50LCBlbHQpOwotfQotCi0KLWNvbnN0IGNoYXIgKiAqCi1fX2h0bWxSZXF1aXJlZEF0dHJzKGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCkKLQotewotICAgICAgICByZXR1cm4gaHRtbFJlcXVpcmVkQXR0cnMoZWx0KTsKLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC9ycGdzdXBwb3J0LmggYi9vczQwMC9ycGdzdXBwb3J0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNTcyZDQuLjAwMDAwMDAKLS0tIGEvb3M0MDAvcnBnc3VwcG9ydC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTU3ICswLDAgQEAKLS8qKgotKioqICAgICBBZGRpdGlvbmFsIGRlY2xhcmF0aW9ucyBmb3IgSUxFL1JQRyBzdXBwb3J0LgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaWZuZGVmIF9fUlBHU1VQUE9SVF9IX18KLSNkZWZpbmUgX19SUEdTVVBQT1JUX0hfXwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0KLSNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+Ci0jaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+Ci0jaW5jbHVkZSAibGlieG1sL0hUTUxwYXJzZXIuaCIKLQotCi1YTUxQVUJGVU4geG1sRnJlZUZ1bmMgICBfX2dldF94bWxGcmVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sRnJlZSh4bWxGcmVlRnVuYyBmcmVlZnVuYyk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX2NhbGxfeG1sRnJlZSh2b2lkICogbWVtKTsKLVhNTFBVQkZVTiB4bWxNYWxsb2NGdW5jIF9fZ2V0X3htbE1hbGxvYyh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbE1hbGxvYyh4bWxNYWxsb2NGdW5jIGFsbG9jZnVuYyk7Ci1YTUxQVUJGVU4gdm9pZCAqICAgICAgICBfX2NhbGxfeG1sTWFsbG9jKHNpemVfdCBzaXplKTsKLVhNTFBVQkZVTiB4bWxNYWxsb2NGdW5jIF9fZ2V0X3htbE1hbGxvY0F0b21pYyh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbE1hbGxvY0F0b21pYyh4bWxNYWxsb2NGdW5jIGFsbG9jZnVuYyk7Ci1YTUxQVUJGVU4gdm9pZCAqICAgICAgICBfX2NhbGxfeG1sTWFsbG9jQXRvbWljKHNpemVfdCBzaXplKTsKLVhNTFBVQkZVTiB4bWxSZWFsbG9jRnVuYyBfX2dldF94bWxSZWFsbG9jKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sUmVhbGxvYyh4bWxSZWFsbG9jRnVuYyByZWFsbG9jZnVuYyk7Ci1YTUxQVUJGVU4gdm9pZCAqICAgICAgICBfX2NhbGxfeG1sUmVhbGxvYyh2b2lkICogbWVtLCBzaXplX3Qgc2l6ZSk7Ci1YTUxQVUJGVU4geG1sU3RyZHVwRnVuYyBfX2dldF94bWxNZW1TdHJkdXAodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxNZW1TdHJkdXAoeG1sU3RyZHVwRnVuYyBzdHJkdXBmdW5jKTsKLVhNTFBVQkZVTiBjaGFyICogICAgICAgIF9fY2FsbF94bWxNZW1TdHJkdXAoY29uc3QgY2hhciAqIHN0cik7Ci0KLSNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECi1YTUxQVUJGVU4geG1sU0FYSGFuZGxlclYxIF9fZ2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlcih2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlcih4bWxTQVhIYW5kbGVyVjEgaGRscik7Ci0jZW5kaWYKLQotI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKLVhNTFBVQkZVTiB4bWxTQVhIYW5kbGVyVjEgX19nZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyKHhtbFNBWEhhbmRsZXJWMSBoZGxyKTsKLSNlbmRpZgotCi1YTUxQVUJGVU4geG1sRXJyb3IgICAgICBfX2dldF94bWxMYXN0RXJyb3Iodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxMYXN0RXJyb3IoeG1sRXJyb3IgZXJyKTsKLQotWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5KHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5KGludCB2YWwpOwotCi1YTUxQVUJGVU4geG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSBfX2dldF94bWxCdWZmZXJBbGxvY1NjaGVtZSh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgdmFsKTsKLQotWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxEZWZhdWx0QnVmZmVyU2l6ZShpbnQgdmFsKTsKLQotWE1MUFVCRlVOIHhtbFNBWEhhbmRsZXJWMSBfX2dldF94bWxEZWZhdWx0U0FYSGFuZGxlcih2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbERlZmF1bHRTQVhIYW5kbGVyKHhtbFNBWEhhbmRsZXJWMSB2YWwpOwotCi1YTUxQVUJGVU4geG1sU0FYTG9jYXRvciBfX2dldF94bWxEZWZhdWx0U0FYTG9jYXRvcih2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbERlZmF1bHRTQVhMb2NhdG9yKHhtbFNBWExvY2F0b3IgdmFsKTsKLQotWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlKGludCB2YWwpOwotCi1YTUxQVUJGVU4geG1sR2VuZXJpY0Vycm9yRnVuYyBfX2dldF94bWxHZW5lcmljRXJyb3Iodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yRnVuYyB2YWwpOwotCi1YTUxQVUJGVU4geG1sU3RydWN0dXJlZEVycm9yRnVuYyBfX2dldF94bWxTdHJ1Y3R1cmVkRXJyb3Iodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxTdHJ1Y3R1cmVkRXJyb3IoeG1sU3RydWN0dXJlZEVycm9yRnVuYyB2YWwpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19jYWxsX3htbFN0cnVjdHVyZWRFcnJvcih2b2lkICp1c2VyRGF0YSwgeG1sRXJyb3JQdHIgZXJyb3IpOwotCi1YTUxQVUJGVU4gdm9pZCAqICAgICAgICBfX2dldF94bWxHZW5lcmljRXJyb3JDb250ZXh0KHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sR2VuZXJpY0Vycm9yQ29udGV4dCh2b2lkICogdmFsKTsKLQotWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX19nZXRfeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQodm9pZCAqIHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUoaW50IHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbEluZGVudFRyZWVPdXRwdXQodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxJbmRlbnRUcmVlT3V0cHV0KGludCB2YWwpOwotCi1YTUxQVUJGVU4gY29uc3QgY2hhciAqICBfX2dldF94bWxUcmVlSW5kZW50U3RyaW5nKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sVHJlZUluZGVudFN0cmluZyhjb25zdCBjaGFyICogdmFsKTsKLQotWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUoaW50IHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUoaW50IHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlKGludCB2YWwpOwotCi1YTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcyhpbnQgdmFsKTsKLQotWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiAgX19nZXRfeG1sUGFyc2VyVmVyc2lvbih2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFBhcnNlclZlcnNpb24oY29uc3QgY2hhciAqIHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUoaW50IHZhbCk7Ci0KLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbFNhdmVOb0VtcHR5VGFncyh2b2lkKTsKLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFNhdmVOb0VtcHR5VGFncyhpbnQgdmFsKTsKLQotWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKGludCB2YWwpOwotCi1YTUxQVUJGVU4geG1sUmVnaXN0ZXJOb2RlRnVuYyBfX2dldF94bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sUmVnaXN0ZXJOb2RlRnVuYyB2YWwpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19jYWxsX3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSh4bWxOb2RlUHRyIG5vZGUpOwotCi1YTUxQVUJGVU4geG1sRGVyZWdpc3Rlck5vZGVGdW5jIF9fZ2V0X3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHZvaWQpOwotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sRGVyZWdpc3Rlck5vZGVGdW5jIHZhbCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX2NhbGxfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sTm9kZVB0ciBub2RlKTsKLQotWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jCi0gICAgICAgICAgICAgICAgICAgICAgICBfX2dldF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIHZhbCk7Ci1YTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJQdHIKLSAgICAgICAgICAgICAgICBfX2NhbGxfeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKGNvbnN0IGNoYXIgKlVSSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nIGVuYyk7Ci0KLVhNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKLSAgICAgICAgICAgICAgICAgICAgICAgIF9fZ2V0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUodm9pZCk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgdmFsKTsKLVhNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJQdHIKLSAgICAgICAgICAgICAgICAgICAgICAgIF9fY2FsbF94bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKGNvbnN0IGNoYXIgKlVSSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24pOwotCi0KLVhNTFBVQkZVTiB2b2lkICAgICAgICAgIF9feG1sVmFTdGFydChjaGFyICogKiBsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICogbGFzdGFyZ2FkZHIsIHNpemVfdCBsYXN0YXJnc2l6ZSk7Ci1YTUxQVUJGVU4gdm9pZCAqICAgICAgICBfX3htbFZhQXJnKGNoYXIgKiAqIGxpc3QsIHZvaWQgKiBkZXN0LCBzaXplX3QgYXJnc2l6ZSk7Ci1YTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3htbFZhRW5kKGNoYXIgKiAqIGxpc3QpOwotCi0jaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKLVhNTFBVQkZVTiBpbnQgICAgICAgICAgIF9feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKHhtbE5vZGVTZXRQdHIgbnMpOwotWE1MUFVCRlVOIHhtbE5vZGVQdHIgICAgX194bWxYUGF0aE5vZGVTZXRJdGVtKHhtbE5vZGVTZXRQdHIgbnMsIGludCBpbmRleCk7Ci1YTUxQVUJGVU4gaW50ICAgICAgICAgICBfX3htbFhQYXRoTm9kZVNldElzRW1wdHkoeG1sTm9kZVNldFB0ciBucyk7Ci0jZW5kaWYKLQotI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKLVhNTFBVQkZVTiBjb25zdCBjaGFyICogIF9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7Ci1YTUxQVUJGVU4gaW50ICAgX19odG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyhjb25zdCBodG1sRWxlbURlc2MgKiBwYXJlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpOwotWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiAqCi0gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWxSZXF1aXJlZEF0dHJzKGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7Ci0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC90cmFuc2NvZGUuYyBiL29zNDAwL3RyYW5zY29kZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYTcxYjE1Li4wMDAwMDAwCi0tLSBhL29zNDAwL3RyYW5zY29kZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjY4ICswLDAgQEAKLS8qKgotKioqICAgICBUcmFuc2NvZGluZyBzdXBwb3J0IGFuZCB3cmFwcGVycy4KLSoqKgotKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0qKioKLSoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0qKi8KLQotI2RlZmluZSBJTl9MSUJYTUwKLSNpbmNsdWRlICJsaWJ4bWwuaCIKLQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPGljb252Lmg+Ci0jaW5jbHVkZSAibGlieG1sL3htbG1lbW9yeS5oIgotI2luY2x1ZGUgImxpYnhtbC9kaWN0LmgiCi0jaW5jbHVkZSAidHJhbnNjb2RlLmgiCi0KLQotLyoqCi0qKiogICAgIERlc3Ryb3kgYSBkaWN0aW9uYXJ5IGFuZCBtYXJrIGFzIGRlc3Ryb3llZC4KLSoqLwotCi12b2lkCi14bWxaYXBEaWN0KHhtbERpY3RQdHIgKiBkaWN0KQotCi17Ci0gICAgICAgIGlmIChkaWN0ICYmICpkaWN0KSB7Ci0gICAgICAgICAgICAgICAgeG1sRGljdEZyZWUoKmRpY3QpOwotICAgICAgICAgICAgICAgICpkaWN0ID0gKHhtbERpY3RQdHIpIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotfQotCi0KLS8qKgotKioqICAgICBTdXBwb3J0IGZvciBpbmxpbmUgY29udmVyc2lvbiBmcm9tL3RvIFVURi04LgotKioqICAgICBUaGlzIGlzIHRhcmdldGVkIHRvIGZ1bmN0aW9uIHBhcmFtZXRlciBlbmNvZGluZyBjb252ZXJzaW9uLgotKioqICAgICBNZXRob2QgaXM6Ci0qKiogICAgIC0gICAgICAgQ29udmVydCBzdHJpbmcgZnJvbS90byBVVEYtOC4KLSoqKiAgICAgLSAgICAgICBLZWVwIGl0IGluIGEgZGljdGlvbmFyeS4KLSoqKiAgICAgLSAgICAgICBGcmVlIG9yaWdpbmFsIHN0cmluZyBpZiBhIHJlbGVhc2UgcHJvY2VkdXJlIGlzIHByb3ZpZGVkLgotKioqICAgICBDYW4gYWxzbyBiZSBjYWxsZWQgd2l0aG91dCBkaWN0aW9uYXJ5IHRvIGNvbnZlcnQgYSBzdHJpbmcgZnJvbS90byBVVEYtOAotKioqICAgICAgICAgICAgIGludG8geG1sTWFsbG9jJ2VkIGR5bmFtaWMgc3RvcmFnZS4KLSoqLwotCi1jb25zdCBjaGFyICoKLXhtbFRyYW5zY29kZVJlc3VsdChjb25zdCB4bWxDaGFyICogcywgY29uc3QgY2hhciAqIGVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGljdFB0ciAqIGRpY3QsIHZvaWQgKCpmcmVlcHJvYykoY29uc3Qgdm9pZCAqKSkKLQotewotICAgICAgICBzaXplX3QgbDsKLSAgICAgICAgaWNvbnZfdCBjZDsKLSAgICAgICAgY2hhciAqIHNyY3A7Ci0gICAgICAgIGNoYXIgKiBkc3RwOwotICAgICAgICBzaXplX3Qgc3JjYzsKLSAgICAgICAgc2l6ZV90IGRzdGM7Ci0gICAgICAgIGNoYXIgKiB0czsKLSAgICAgICAgY29uc3QgY2hhciAqIHJldDsKLSAgICAgICAgaW50IGVycjsKLSAgICAgICAgc3RhdGljIGNvbnN0IGludCBudWxsc3RyaW5nW10gPSB7IDAgfTsKLQotICAgICAgICAvKiBDb252ZXJ0IGZyb20gVVRGLTguICovCi0KLSAgICAgICAgaWYgKCFzKQotICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgY2hhciAqKSBOVUxMOwotCi0gICAgICAgIHJldCA9IChjb25zdCBjaGFyICopIE5VTEw7Ci0gICAgICAgIHRzID0gKGNoYXIgKikgTlVMTDsKLSAgICAgICAgZXJyID0gMDsKLSAgICAgICAgbCA9IHhtbFN0cmxlbihzKTsKLQotICAgICAgICBpZiAoIWwgJiYgZGljdCkKLSAgICAgICAgICAgICAgICByZXQgPSAoY29uc3QgY2hhciAqKSBudWxsc3RyaW5nOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoZGljdCAmJiAhKmRpY3QpCi0gICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSAhKCpkaWN0ID0geG1sRGljdENyZWF0ZSgpKTsKLQotICAgICAgICAgICAgICAgIGlmICghZXJyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gISh0cyA9IHhtbE1hbGxvYyg0ICogbCArIDQpKTsKLQotICAgICAgICAgICAgICAgIGRzdHAgPSB0czsKLSAgICAgICAgICAgICAgICBkc3RjID0gNCAqIGw7Ci0KLSAgICAgICAgICAgICAgICBpZiAoIWVyciAmJiBsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVuY29kaW5nKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZyA9ICJpYm0tMCI7ICAgICAvKiBKb2IncyBlbmNvZGluZy4gKi8KLQotICAgICAgICAgICAgICAgICAgICAgICAgY2QgPSBpY29udl9vcGVuKGVuY29kaW5nLCAiVVRGLTgiKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNkID09IChpY29udl90KSAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNwID0gKGNoYXIgKikgczsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjYyA9IGw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY2MgPSBpY29udihjZCwgJnNyY3AsICZzcmNjLCAmZHN0cCwgJmRzdGMpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29udl9jbG9zZShjZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IHNyY2MgPT0gKHNpemVfdCkgLTE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmICghZXJyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkc3RwWzBdID0gZHN0cFsxXSA9IGRzdHBbMl0gPSBkc3RwWzNdID0gJ1wwJzsKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFkaWN0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkc3RjKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzID0geG1sUmVhbGxvYyh0cywgKGRzdHAgLSB0cykgKyA0KTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAoY29uc3QgY2hhciAqKSB0czsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHMgPSAoY2hhciAqKSBOVUxMOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IChjaGFyICopIHhtbERpY3RMb29rdXAoKmRpY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sQ2hhciAqKSB0cywgZHN0cCAtIHRzICsgMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmICh0cykKLSAgICAgICAgICAgICAgICB4bWxGcmVlKHRzKTsKLQotICAgICAgICBpZiAoZnJlZXByb2MpCi0gICAgICAgICAgICAgICAgKCpmcmVlcHJvYykocyk7Ci0KLSAgICAgICAgcmV0dXJuIHJldDsKLX0KLQotCi0vKioKLSoqKiAgICAgU3VwcG9ydCBmb3IgaW5saW5lIGNvbnZlcnNpb24gdG8gVVRGLTguCi0qKiogICAgIE1ldGhvZCBpczoKLSoqKiAgICAgLSAgICAgICBDb252ZXJ0IHN0cmluZyB0byBVVEYtOC4KLSoqKiAgICAgLSAgICAgICBLZWVwIGl0IGluIGEgZGljdGlvbmFyeS4KLSoqKiAgICAgQ2FuIGFsc28gYmUgY2FsbGVkIHdpdGhvdXQgZGljdGlvbmFyeSB0byBjb252ZXJ0IGEgc3RyaW5nIHRvIFVURi04IGludG8KLSoqKiAgICAgICAgICAgICB4bWxNYWxsb2MnZWQgZHluYW1pYyBzdG9yYWdlLgotKiovCi0KLXN0YXRpYyBjb25zdCB4bWxDaGFyICoKLWluVHJhbnNjb2RlKGNvbnN0IGNoYXIgKiBzLCBzaXplX3QgbCwgY29uc3QgY2hhciAqIGVuY29kaW5nLCB4bWxEaWN0UHRyICogZGljdCkKLQotewotICAgICAgICBpY29udl90IGNkOwotICAgICAgICBjaGFyICogc3JjcDsKLSAgICAgICAgY2hhciAqIGRzdHA7Ci0gICAgICAgIHNpemVfdCBzcmNjOwotICAgICAgICBzaXplX3QgZHN0YzsKLSAgICAgICAgeG1sQ2hhciAqIHRzOwotICAgICAgICBjb25zdCB4bWxDaGFyICogcmV0OwotICAgICAgICBzdGF0aWMgY29uc3QgeG1sQ2hhciBudWxsc3RyaW5nW10gPSB7IDAgfTsKLQotICAgICAgICBpZiAoIWwgJiYgZGljdCkKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHN0cmluZzsKLQotICAgICAgICBpZiAoZGljdCAmJiAhKmRpY3QpCi0gICAgICAgICAgICAgICAgaWYgKCEoKmRpY3QgPSB4bWxEaWN0Q3JlYXRlKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCB4bWxDaGFyICopIE5VTEw7Ci0KLSAgICAgICAgdHMgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2MoNiAqIGwgKyAxKTsKLQotICAgICAgICBpZiAoIXRzKQotICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOwotCi0gICAgICAgIGRzdHAgPSAoY2hhciAqKSB0czsKLSAgICAgICAgZHN0YyA9IDYgKiBsOwotCi0gICAgICAgIGlmIChsKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFlbmNvZGluZykKLSAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nID0gImlibS0wIjsgICAgIC8qIFVzZSBqb2IncyBlbmNvZGluZy4gKi8KLQotICAgICAgICAgICAgICAgIGNkID0gaWNvbnZfb3BlbigiVVRGLTgiLCBlbmNvZGluZyk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoY2QgPT0gKGljb252X3QpIC0xKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIHRzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgc3JjcCA9IChjaGFyICopIHM7Ci0gICAgICAgICAgICAgICAgc3JjYyA9IGw7Ci0gICAgICAgICAgICAgICAgc3JjYyA9IGljb252KGNkLCAmc3JjcCwgJnNyY2MsICZkc3RwLCAmZHN0Yyk7Ci0gICAgICAgICAgICAgICAgaWNvbnZfY2xvc2UoY2QpOwotCi0gICAgICAgICAgICAgICAgaWYgKHNyY2MgPT0gKHNpemVfdCkgLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgdHMpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCB4bWxDaGFyICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICpkc3RwID0gJ1wwJzsKLQotICAgICAgICBpZiAoIWRpY3QpIHsKLSAgICAgICAgICAgICAgICBpZiAoZHN0YykKLSAgICAgICAgICAgICAgICAgICAgICAgIHRzID0geG1sUmVhbGxvYyh0cywgKGRzdHAgLSB0cykgKyAxKTsKLQotICAgICAgICAgICAgICAgIHJldHVybiB0czsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgcmV0ID0geG1sRGljdExvb2t1cCgqZGljdCwgdHMsIGRzdHAgLSB0cyArIDEpOwotICAgICAgICB4bWxGcmVlKChjaGFyICopIHRzKTsKLSAgICAgICAgcmV0dXJuIHJldDsKLX0KLQotCi0vKioKLSoqKiAgICAgSW5wdXQgOC1iaXQgY2hhcmFjdGVyIHN0cmluZyBwYXJhbWV0ZXIuCi0qKi8KLQotY29uc3QgeG1sQ2hhciAqCi14bWxUcmFuc2NvZGVTdHJpbmcoY29uc3QgY2hhciAqIHMsIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QpCi0KLXsKLSAgICAgICAgaWYgKCFzKQotICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOwotCi0gICAgICAgIHJldHVybiBpblRyYW5zY29kZShzLCB4bWxTdHJsZW4ocyksIGVuY29kaW5nLCBkaWN0KTsKLX0KLQotCi0vKioKLSoqKiAgICAgSW5wdXQgMTYtYml0IGNoYXJhY3RlciBzdHJpbmcgcGFyYW1ldGVyLgotKiovCi0KLWNvbnN0IHhtbENoYXIgKgoteG1sVHJhbnNjb2RlV1N0cmluZyhjb25zdCBjaGFyICogcywgY29uc3QgY2hhciAqIGVuY29kaW5nLCB4bWxEaWN0UHRyICogZGljdCkKLQotewotICAgICAgICBzaXplX3QgaTsKLQotICAgICAgICBpZiAoIXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCB4bWxDaGFyICopIE5VTEw7Ci0KLSAgICAgICAgZm9yIChpID0gMDsgc1tpXSAmJiBzW2kgKyAxXTsgaSArPSAyKQotICAgICAgICAgICAgICAgIDsKLQotICAgICAgICByZXR1cm4gaW5UcmFuc2NvZGUocywgaSwgZW5jb2RpbmcsIGRpY3QpOwotfQotCi0KLS8qKgotKioqICAgICBJbnB1dCAzMi1iaXQgY2hhcmFjdGVyIHN0cmluZyBwYXJhbWV0ZXIuCi0qKi8KLQotY29uc3QgeG1sQ2hhciAqCi14bWxUcmFuc2NvZGVIU3RyaW5nKGNvbnN0IGNoYXIgKiBzLCBjb25zdCBjaGFyICogZW5jb2RpbmcsIHhtbERpY3RQdHIgKiBkaWN0KQotCi17Ci0gICAgICAgIHNpemVfdCBpOwotCi0gICAgICAgIGlmICghcykKLSAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IHhtbENoYXIgKikgTlVMTDsKLQotICAgICAgICBmb3IgKGkgPSAwOyBzW2ldICYmIHNbaSArIDFdICYmIHNbaSArIDJdICYmIHNbaSArIDNdOyBpICs9IDQpCi0gICAgICAgICAgICAgICAgOwotCi0gICAgICAgIHJldHVybiBpblRyYW5zY29kZShzLCBpLCBlbmNvZGluZywgZGljdCk7Ci19Ci0KLQotLyoqCi0qKiogICAgIHZhc3ByaW50ZigpIGltcGxlbWVudGF0aW9uIHdpdGggcmVzdWx0IHRyYW5zY29kaW5nLgotKiovCi0KLWNvbnN0IGNoYXIgKgoteG1sVmFzcHJpbnRmKHhtbERpY3RQdHIgKiBkaWN0LCBjb25zdCBjaGFyICogZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGZtdCwgdmFfbGlzdCBhcmdzKQotCi17Ci0gICAgICAgIGNoYXIgKiBzID0gTlVMTDsKLQotICAgICAgICB2YXNwcmludGYoJnMsIGZtdCwgYXJncyk7Ci0gICAgICAgIHJldHVybiB4bWxUcmFuc2NvZGVSZXN1bHQoKGNvbnN0IHhtbENoYXIgKikgcywgZW5jb2RpbmcsIGRpY3QsIGZyZWUpOwotfQpkaWZmIC0tZ2l0IGEvb3M0MDAvdHJhbnNjb2RlLmggYi9vczQwMC90cmFuc2NvZGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNhNTc3My4uMDAwMDAwMAotLS0gYS9vczQwMC90cmFuc2NvZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qKgotKioqICAgICBUcmFuc2NvZGluZyBzdXBwb3J0IGRlY2xhcmF0aW9ucy4KLSoqKgotKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCi0qKioKLSoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCi0qKi8KLQotI2lmbmRlZiBfVFJBTlNDT0RFX0hfCi0jZGVmaW5lIF9UUkFOU0NPREVfSF8KLQotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+Ci0KLQotWE1MUFVCRlVOIHZvaWQgICAgICAgICAgeG1sWmFwRGljdCh4bWxEaWN0UHRyICogZGljdCk7Ci1YTUxQVUJGVU4gY29uc3QgY2hhciAqICB4bWxUcmFuc2NvZGVSZXN1bHQoY29uc3QgeG1sQ2hhciAqIHMsCi0gICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QsCi0gICAgICAgIHZvaWQgKCpmcmVlcHJvYykoY29uc3Qgdm9pZCAqKSk7Ci1YTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVN0cmluZyhjb25zdCBjaGFyICogcywKLSAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLCB4bWxEaWN0UHRyICogZGljdCk7Ci1YTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVdTdHJpbmcoY29uc3QgY2hhciAqIHMsCi0gICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QpOwotWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiB4bWxUcmFuc2NvZGVIU3RyaW5nKGNvbnN0IGNoYXIgKiBzLAotICAgICAgICBjb25zdCBjaGFyICogZW5jb2RpbmcsIHhtbERpY3RQdHIgKiBkaWN0KTsKLQotI2lmbmRlZiBYTUxfTk9fU0hPUlRfTkFNRVMKLS8qKgotKioqICAgICBTaW5jZSB0aGUgYWJvdmUgZnVuY3Rpb25zIGFyZSBnZW5lcmFsbHkgY2FsbGVkICJpbmxpbmUiIChpLmUuOiBzZXZlcmFsCi0qKiogICAgICAgICAgICAgdGltZXMgbmVzdGVkIGluIGEgc2luZ2xlIGV4cHJlc3Npb24pLCBkZWZpbmUgc2hvcnRoYW5kIG5hbWVzCi0qKiogICAgICAgICAgICAgdG8gbWluaW1pemUgY2FsbGluZyBzdGF0ZW1lbnQgbGVuZ3RoLgotKiovCi0KLSNkZWZpbmUgeG1sVFIgICB4bWxUcmFuc2NvZGVSZXN1bHQKLSNkZWZpbmUgeG1sVFMgICB4bWxUcmFuc2NvZGVTdHJpbmcKLSNkZWZpbmUgeG1sVFcgICB4bWxUcmFuc2NvZGVXU3RyaW5nCi0jZGVmaW5lIHhtbFRIICAgeG1sVHJhbnNjb2RlSHN0cmluZwotI2VuZGlmCi0KLVhNTFBVQkZVTiBjb25zdCBjaGFyICogIHhtbFZhc3ByaW50Zih4bWxEaWN0UHRyICogZGljdCwgY29uc3QgY2hhciAqIGVuY29kaW5nLAotICAgICAgICBjb25zdCB4bWxDaGFyICogZm10LCB2YV9saXN0IGFyZ3MpOwotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL29zNDAwL3dyYXBwZXJzLmMgYi9vczQwMC93cmFwcGVycy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmY2YzI2Li4wMDAwMDAwCi0tLSBhL29zNDAwL3dyYXBwZXJzLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzAgKzAsMCBAQAotLyoqCi0qKiogICAgIFVURi04L0VCQ0RJQyB3cmFwcGVycyB0byBzeXN0ZW0gYW5kIEMgbGlicmFyeSBwcm9jZWR1cmVzLgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotI2luY2x1ZGUgPGFycGEvaW5ldC5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPGRsZmNuLmg+Ci0jaW5jbHVkZSA8bmV0ZGIuaD4KLSNpbmNsdWRlIDxlcnJuby5oPgotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRlICJsaWJ4bWwveG1sbWVtb3J5LmgiCi0KLSNpbmNsdWRlICJ0cmFuc2NvZGUuaCIKLQotCi1zdGF0aWMgY29uc3QgY2hhciAqICAgICBseGRsZXMgPSBOVUxMOwotCi0KLWludAotX2x4X2dldGFkZHJpbmZvKGNvbnN0IGNoYXIgKiBub2RlLCBjb25zdCBjaGFyICogc2VydmljZSwKLSAgICAgICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICogaGludHMsIHN0cnVjdCBhZGRyaW5mbyAqICogcmVzKQotCi17Ci0gICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7Ci0gICAgICAgIGludCBpOwotCi0gICAgICAgIGkgPSBnZXRhZGRyaW5mbyh4bWxUcmFuc2NvZGVSZXN1bHQobm9kZSwgTlVMTCwgJmQsIE5VTEwpLAotICAgICAgICAgICAgeG1sVHJhbnNjb2RlUmVzdWx0KHNlcnZpY2UsIE5VTEwsICZkLCBOVUxMKSwgaGludHMsIHJlcyk7Ci0gICAgICAgIHhtbFphcERpY3QoJmQpOwotICAgICAgICByZXR1cm4gaTsKLX0KLQotCi1jb25zdCBjaGFyICoKLV9seF9pbmV0X250b3AoaW50IGFmLCBjb25zdCB2b2lkICogc3JjLCBjaGFyICogZHN0LCBzb2NrbGVuX3Qgc2l6ZSkKLQotewotICAgICAgICBjb25zdCBjaGFyICogY3AxID0gaW5ldF9udG9wKGFmLCBzcmMsIGRzdCwgc2l6ZSk7Ci0gICAgICAgIGNoYXIgY29uc3QgKiBjcDI7Ci0gICAgICAgIGludCBpOwotCi0gICAgICAgIGlmICghY3AxKQotICAgICAgICAgICAgICAgIHJldHVybiBjcDE7Ci0KLSAgICAgICAgaWYgKCEoY3AyID0geG1sVHJhbnNjb2RlU3RyaW5nKGNwMSwgTlVMTCwgTlVMTCkpKQotICAgICAgICAgICAgICAgIHJldHVybiBjcDI7Ci0KLSAgICAgICAgaSA9IHN0cmxlbihjcDIpOwotCi0gICAgICAgIGlmIChpID49IHNpemUpIHsKLSAgICAgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIGNwMik7Ci0gICAgICAgICAgICAgICAgZXJybm8gPSBFTk9TUEM7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCBjaGFyICopIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIG1lbWNweShkc3QsIGNwMiwgaSArIDEpOwotICAgICAgICB4bWxGcmVlKChjaGFyICopIGNwMik7Ci0gICAgICAgIHJldHVybiBkc3Q7Ci19Ci0KLQotdm9pZCAqCi1fbHhfZGxvcGVuKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgaW50IGZsYWcpCi0KLXsKLSAgICAgICAgeG1sRGljdFB0ciBkID0gTlVMTDsKLSAgICAgICAgdm9pZCAqIHJlc3VsdDsKLQotICAgICAgICByZXN1bHQgPSBkbG9wZW4oeG1sVHJhbnNjb2RlUmVzdWx0KGZpbGVuYW1lLCBOVUxMLCAmZCwgTlVMTCksIGZsYWcpOwotICAgICAgICB4bWxaYXBEaWN0KCZkKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi12b2lkICoKLV9seF9kbHN5bSh2b2lkICogaGFuZGxlLCBjb25zdCBjaGFyICogc3ltYm9sKQotCi17Ci0gICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7Ci0gICAgICAgIHZvaWQgKiByZXN1bHQ7Ci0KLSAgICAgICAgcmVzdWx0ID0gZGxzeW0oaGFuZGxlLCB4bWxUcmFuc2NvZGVSZXN1bHQoc3ltYm9sLCBOVUxMLCAmZCwgTlVMTCkpOwotICAgICAgICB4bWxaYXBEaWN0KCZkKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi1jaGFyICoKLV9seF9kbGVycm9yKHZvaWQpCi0KLXsKLSAgICAgICAgY2hhciAqIGNwMSA9IChjaGFyICopIGRsZXJyb3IoKTsKLQotICAgICAgICBpZiAoIWNwMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY3AxOwotCi0gICAgICAgIGlmIChseGRsZXMpCi0gICAgICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBseGRsZXMpOwotCi0gICAgICAgIGx4ZGxlcyA9IChjb25zdCBjaGFyICopIHhtbFRyYW5zY29kZVN0cmluZyhjcDEsIE5VTEwsIE5VTEwpOwotICAgICAgICByZXR1cm4gKGNoYXIgKikgbHhkbGVzOwotfQotCi0KLSNpZmRlZiBMSUJYTUxfWkxJQl9FTkFCTEVECi0jaW5jbHVkZSA8emxpYi5oPgotCi1nekZpbGUKLV9seF9nem9wZW4oY29uc3QgY2hhciAqIHBhdGgsIGNvbnN0IGNoYXIgKiBtb2RlKQotCi17Ci0gICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7Ci0gICAgICAgIGd6RmlsZSBmOwotCi0gICAgICAgIGYgPSBnem9wZW4oeG1sVHJhbnNjb2RlUmVzdWx0KHBhdGgsIE5VTEwsICZkLCBOVUxMKSwKLSAgICAgICAgICAgIHhtbFRyYW5zY29kZVJlc3VsdChtb2RlLCBOVUxMLCAmZCwgTlVMTCkpOwotICAgICAgICB4bWxaYXBEaWN0KCZkKTsKLSAgICAgICAgcmV0dXJuIGY7Ci19Ci0KLQotZ3pGaWxlCi1fbHhfZ3pkb3BlbihpbnQgZmQsIGNvbnN0IGNoYXIgKiBtb2RlKQotCi17Ci0gICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7Ci0gICAgICAgIGd6RmlsZSBmOwotCi0gICAgICAgIGYgPSBnemRvcGVuKGZkLCB4bWxUcmFuc2NvZGVSZXN1bHQobW9kZSwgTlVMTCwgJmQsIE5VTEwpKTsKLSAgICAgICAgeG1sWmFwRGljdCgmZCk7Ci0gICAgICAgIHJldHVybiBmOwotfQotCi1pbnQKLV9seF9pbmZsYXRlSW5pdDJfKHpfc3RyZWFtcCBzdHJtLCBpbnQgd2luZG93Qml0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogdmVyc2lvbiwgaW50IHN0cmVhbV9zaXplKQotCi17Ci0gICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7Ci0gICAgICAgIGludCByOwotCi0gICAgICAgIHIgPSBpbmZsYXRlSW5pdDJfKHN0cm0sIHdpbmRvd0JpdHMsCi0gICAgICAgICAgICB4bWxUcmFuc2NvZGVSZXN1bHQodmVyc2lvbiwgTlVMTCwgJmQsIE5VTEwpLCBzdHJlYW1fc2l6ZSk7Ci0gICAgICAgIHhtbFphcERpY3QoJmQpOwotICAgICAgICByZXR1cm4gcjsKLX0KLQotaW50Ci1fbHhfZGVmbGF0ZUluaXQyXyh6X3N0cmVhbXAgc3RybSwgaW50IGxldmVsLCBpbnQgbWV0aG9kLCBpbnQgd2luZG93Qml0cywKLSAgICAgICAgaW50IG1lbUxldmVsLCBpbnQgc3RyYXRlZ3ksIGNvbnN0IGNoYXIgKiB2ZXJzaW9uLCBpbnQgc3RyZWFtX3NpemUpCi0KLXsKLSAgICAgICAgeG1sRGljdFB0ciBkID0gTlVMTDsKLSAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgciA9IGRlZmxhdGVJbml0Ml8oc3RybSwgbGV2ZWwsIG1ldGhvZCwgd2luZG93Qml0cywgbWVtTGV2ZWwsIHN0cmF0ZWd5LAotICAgICAgICAgICAgeG1sVHJhbnNjb2RlUmVzdWx0KHZlcnNpb24sIE5VTEwsICZkLCBOVUxMKSwgc3RyZWFtX3NpemUpOwotICAgICAgICB4bWxaYXBEaWN0KCZkKTsKLSAgICAgICAgcmV0dXJuIHI7Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvb3M0MDAvd3JhcHBlcnMuaCBiL29zNDAwL3dyYXBwZXJzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmM2U2YzkuLjAwMDAwMDAKLS0tIGEvb3M0MDAvd3JhcHBlcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLS8qKgotKioqICAgICBSZXBsYWNlIHN5c3RlbS9DIGxpYnJhcnkgY2FsbHMgYnkgRUJDRElDIHdyYXBwZXJzLgotKioqICAgICBUaGlzIGlzIGEgbGF5ZXIgaW5zZXJ0ZWQgYmV0d2VlbiBsaWJ4bWwyIGl0c2VsZiBhbmQgdGhlIEVCQ0RJQwotKioqICAgICAgICAgICAgIGVudmlyb25tZW50LgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaWZuZGVmIF9fV1JBUFBFUlNfSF8KLSNkZWZpbmUgX19XUkFQUEVSU19IXwotCi0vKioKLSoqKiAgICAgT1MvNDAwIHNwZWNpZmljIGRlZmluZXMuCi0qKi8KLQotI2RlZmluZSBfX2NwbHVzcGx1c19fc3RyaW5nc19fCi0KLS8qKgotKioqICAgICBGb3JjZSBoZWFkZXIgaW5jbHVzaW9ucyBiZWZvcmUgcmVuYW1pbmcgcHJvY2VkdXJlcyB0byBVVEYtOCB3cmFwcGVycy4KLSoqLwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotI2luY2x1ZGUgPGFycGEvaW5ldC5oPgotI2luY2x1ZGUgPG5ldGRiLmg+Ci0KLSNpbmNsdWRlICJkbGZjbi5oIgotCi0KLS8qKgotKioqICAgICBVVEYtOCB3cmFwcGVycyBwcm90b3R5cGVzLgotKiovCi0KLWV4dGVybiBpbnQgICAgICBfbHhfZ2V0YWRkcmluZm8oY29uc3QgY2hhciAqIG5vZGUsIGNvbnN0IGNoYXIgKiBzZXJ2aWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICogaGludHMsIHN0cnVjdCBhZGRyaW5mbyAqICogcmVzKTsKLWV4dGVybiBjb25zdCBjaGFyICoKLSAgICAgICAgICAgICAgICBfbHhfaW5ldF9udG9wKGludCBhZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKiBzcmMsIGNoYXIgKiBkc3QsIHNvY2tsZW5fdCBzaXplKTsKLWV4dGVybiB2b2lkICogICBfbHhfZGxvcGVuKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgaW50IGZsYWcpOwotZXh0ZXJuIHZvaWQgKiAgIF9seF9kbHN5bSh2b2lkICogaGFuZGxlLCBjb25zdCBjaGFyICogc3ltYm9sKTsKLWV4dGVybiBjaGFyICogICBfbHhfZGxlcnJvcih2b2lkKTsKLQotCi0jaWZkZWYgTElCWE1MX1pMSUJfRU5BQkxFRAotCi0jaW5jbHVkZSA8emxpYi5oPgotCi1leHRlcm4gZ3pGaWxlICAgX2x4X2d6b3Blbihjb25zdCBjaGFyICogcGF0aCwgY29uc3QgY2hhciAqIG1vZGUpOwotZXh0ZXJuIGd6RmlsZSAgIF9seF9nemRvcGVuKGludCBmZCwgY29uc3QgY2hhciAqIG1vZGUpOwotCi0jZW5kaWYKLQotCi0vKioKLSoqKiAgICAgUmVuYW1lIGRhdGEvcHJvY2VkdXJlcyB0byBVVEYtOCB3cmFwcGVycy4KLSoqLwotCi0jZGVmaW5lIGdldGFkZHJpbmZvICAgICBfbHhfZ2V0YWRkcmluZm8KLSNkZWZpbmUgaW5ldF9udG9wICAgICAgIF9seF9pbmV0X250b3AKLSNkZWZpbmUgZGxvcGVuICAgICAgICAgIF9seF9kbG9wZW4KLSNkZWZpbmUgZGxzeW0gICAgICAgICAgIF9seF9kbHN5bQotI2RlZmluZSBkbGVycm9yICAgICAgICAgX2x4X2RsZXJyb3IKLSNkZWZpbmUgZ3pvcGVuICAgICAgICAgIF9seF9nem9wZW4KLSNkZWZpbmUgZ3pkb3BlbiAgICAgICAgIF9seF9nemRvcGVuCi0jZGVmaW5lIGluZmxhdGVJbml0Ml8gICBfbHhfaW5mbGF0ZUluaXQyXwotI2RlZmluZSBkZWZsYXRlSW5pdDJfICAgX2x4X2RlZmxhdGVJbml0Ml8KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9vczQwMC94bWxjYXRhbG9nLmNtZCBiL29zNDAwL3htbGNhdGFsb2cuY21kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmYwMjcwLi4wMDAwMDAwCi0tLSBhL29zNDAwL3htbGNhdGFsb2cuY21kCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLS8qICAgICAgWE1MQ0FUQUxPRyBDTCBjb21tYW5kLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAgICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLiAgICAgICAgICAqLwotCi0vKiAgICAgIEludGVyZmFjZSB0byBwcm9ncmFtIFhNTENBVExHQ0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotCi0gICAgICAgICAgICAgQ01EICAgICAgICBQUk9NUFQoJ1hNTC9TR01MIGNhdGFsb2cgIHRvb2wnKQotCi0gICAgICAgICAgICAgLyogQ2F0YWxvZyBmaWxlIHBhdGguICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChJTlNUTUYpIFRZUEUoKlBOQU1FKSBMRU4oNTAwMCkgVkFSWSgqWUVTICpJTlQyKSAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIE1JTigxKSBTUENWQUwoKCpORVcgJycpKSAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1N0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdYTUwvU0dNTCBjYXRhbG9nIGZpbGUnKQotCi0gICAgICAgICAgICAgLyogQ2F0YWxvZyBraW5kOiBYTUwvU0dNTC4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKEtJTkQpIFRZUEUoKkNIQVIpIExFTig3KSBWQVJZKCpZRVMgKklOVDIpICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRVhQUigqWUVTKSBSU1REKCpZRVMpIERGVCgqWE1MKSAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNQQ1ZBTCgoKlhNTCAnJykgKCpTR01MICctLXNnbWwnKSkgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0NhdGFsb2cga2luZCcpCi0KLSAgICAgICAgICAgICAvKiBPdXRwdXQgZmlsZS4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKE9VVFNUTUYpIFRZUEUoKlBOQU1FKSBMRU4oNTAwMCkgVkFSWSgqWUVTICpJTlQyKSAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgREZUKCpTVERPVVQpICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNQQ1ZBTCgoKlNURE9VVCAnJykgKCpJTlNUTUYgWCcwMCcpKSAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJypTVERPVVQsICpJTlNUTUYgb3IgZmlsZSBwYXRoJykgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdPdXRwdXQgc3RyZWFtIGZpbGUgcGF0aCcpCi0KLSAgICAgICAgICAgICAvKiBDb252ZXJ0IFNHTUwgdG8gWE1MIGNhdGFsb2cuICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChDT05WRVJUKSBUWVBFKCpDSEFSKSBMRU4oMTApIFZBUlkoKllFUyAqSU5UMikgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFJTVEQoKllFUykgU1BDVkFMKCgqWUVTICctLWNvbnZlcnQnKSAoKk5PICcnKSkgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBFWFBSKCpZRVMpIERGVCgqTk8pIFBNVENUTChUWVBFWE1MKSAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdDb252ZXJ0IFNHTUwgdG8gWE1MIGNhdGFsb2cnKQotCi0gICAgICAgICAgICAgLyogU0dNTCBzdXBlciBjYXRhbG9nIHVwZGF0ZS4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFNVUEVSVVBEKSBUWVBFKCpDSEFSKSBMRU4oMTcpIFZBUlkoKllFUyAqSU5UMikgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BDVkFMKCgqWUVTICcnKSAoKk5PICctLW5vLXN1cGVyLXVwZGF0ZScpKSAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEVYUFIoKllFUykgREZUKCpZRVMpIFJTVEQoKllFUykgUE1UQ1RMKFRZUEVTR01MKSAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ1VwZGF0ZSB0aGUgU0dNTCBzdXBlciBjYXRhbG9nJykKLQotICAgICAgICAgICAgIC8qIFZlcmJvc2UvZGVidWcgb3V0cHV0LiAqLwotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoVkVSQk9TRSkgVFlQRSgqQ0hBUikgTEVOKDQpIFZBUlkoKllFUyAqSU5UMikgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBSU1REKCpZRVMpIFNQQ1ZBTCgoKllFUyAnLXYnKSAoKk5PICcnKSkgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRVhQUigqWUVTKSBERlQoKk5PKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnT3V0cHV0IGRlYnVnZ2luZyBpbmZvcm1hdGlvbicpCi0KLSAgICAgICAgICAgICAvKiBJbnRlcmFjdGl2ZSBzaGVsbCBub3Qgc3VwcG9ydGVkLiAqLwotCi0gICAgICAgICAgICAgLyogVmFsdWVzIHRvIGRlbGV0ZS4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKERFTEVURSkgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIE1BWCg2NCkgRVhQUigqWUVTKSAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnSWRlbnRpZmllciB2YWx1ZScpICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0RlbGV0ZSBTeXN0ZW0vVVJJIGlkZW50aWZpZXInKQotCi0gICAgICAgICAgICAgLyogVmFsdWVzIHRvIGFkZC4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKEFERCkgVFlQRShYTUxFTEVNKSBNQVgoMTApIFBNVENUTChUWVBFWE1MKSAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdBZGQgZGVmaW5pdGlvbicpCi1YTUxFTEVNOiAgICAgRUxFTSAgICAgICBUWVBFKCpDSEFSKSBMRU4oMTYpIFZBUlkoKllFUyAqSU5UMikgREZUKCpQVUJMSUMpICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0VudHJ5IHR5cGUnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRVhQUigqWUVTKSBSU1REKCpZRVMpIFNQQ1ZBTCggICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpQVUJMSUMgICAgICAgICAncHVibGljJykgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqU1lTVEVNICAgICAgICAgJ3N5c3RlbScpICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlVSSSAgICAgICAgICAgICd1cmknKSAgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpSRVdSSVRFU1lTVEVNICAncmV3cml0ZVN5c3RlbScpICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqUkVXUklURVVSSSAgICAgJ3Jld3JpdGVVUkknKSAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRFTEVHQVRFUFVCTElDICdkZWxlZ2F0ZVB1YmxpYycpICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpERUxFR0FURVNZU1RFTSAnZGVsZWdhdGVTeXN0ZW0nKSAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqREVMRUdBVEVVUkkgICAgJ2RlbGVnYXRlVVJJJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5FWFRDQVRBTE9HICAgICduZXh0Q2F0YWxvZycpICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICBFTEVNICAgICAgIFRZUEUoKlBOQU1FKSBMRU4oMjU2KSBWQVJZKCpZRVMgKklOVDIpIEVYUFIoKllFUykgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBQUk9NUFQoJ09yaWdpbmFsIHJlZmVyZW5jZS9maWxlIG5hbWUnKQotICAgICAgICAgICAgIEVMRU0gICAgICAgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgRVhQUigqWUVTKSAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIFBST01QVCgnUmVwbGFjZW1lbnQgZW50aXR5IFVSSScpCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChTR01MQUREKSBUWVBFKFNHTUxFTEVNKSBNQVgoMTApICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBNVENUTChUWVBFU0dNTCkgUFJPTVBUKCdBZGQgU0dNTCBkZWZpbml0aW9uJykKLVNHTUxFTEVNOiAgICBFTEVNICAgICAgIFRZUEUoKlBOQU1FKSBMRU4oMjU2KSBWQVJZKCpZRVMgKklOVDIpIEVYUFIoKllFUykgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBQUk9NUFQoJ1NHTUwgY2F0YWxvZyBmaWxlIG5hbWUnKQotICAgICAgICAgICAgIEVMRU0gICAgICAgVFlQRSgqUE5BTUUpIExFTigyNTYpIFZBUlkoKllFUyAqSU5UMikgRVhQUigqWUVTKSAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIFBST01QVCgnU0dNTCBkZWZpbml0aW9uJykKLQotICAgICAgICAgICAgIC8qIEVudGl0aWVzIHRvIHJlc29sdmUuICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChFTlRJVFkpIFRZUEUoKlBOQU1FKSBMRU4oMjU2KSBWQVJZKCpZRVMgKklOVDIpICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIE1BWCgxNTApICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ1Jlc29sdmUgZW50aXR5JykKLQotICAgICAgICAgICAgIC8qIEFkZGl0aW9uYWwgY2F0YWxvZyBmaWxlcy4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKENBVEFMT0cpIFRZUEUoKlBOQU1FKSBMRU4oNTAwMCkgVkFSWSgqWUVTICpJTlQyKSAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgTUFYKDE1MCkgREZUKCpERUZBVUxUKSAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnQ2F0YWxvZyBzdHJlYW0gZmlsZSBwYXRoJykgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ0FkZGl0aW9uYWwgY2F0YWxvZyBmaWxlJykgU1BDVkFMKCAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRFRkFVTFQgICAgICAgJy9ldGMveG1sL2NhdGFsb2cnKSAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT05FICAgICAgICAgICcnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICApCi0KLQotICAgICAgICAgICAgIC8qIENvbmRpdGlvbmFsIHByb21wdGluZy4gKi8KLQotVFlQRVhNTDogICAgIFBNVENUTCAgICAgQ1RMKEtJTkQpIENPTkQoKCpFUSAnJykpCi1UWVBFU0dNTDogICAgUE1UQ1RMICAgICBDVEwoS0lORCkgQ09ORCgoKk5FICcnKSkKZGlmZiAtLWdpdCBhL29zNDAwL3htbGNhdGxnY2wuYyBiL29zNDAwL3htbGNhdGxnY2wuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxZTRmZi4uMDAwMDAwMAotLS0gYS9vczQwMC94bWxjYXRsZ2NsLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyODggKzAsMCBAQAotLyoqCi0qKiogICAgIFhNTENBVEFMT0cgY29tbWFuZCByZXNwb25zZSBwcm9ncmFtLgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxxc2hlbGwuaD4KLQotCi0vKiBWYXJpYWJsZS1sZW5ndGggc3RyaW5nLCB3aXRoIDE2LWJpdCBsZW5ndGguICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgICAgIHNob3J0ICAgICAgICAgICBsZW47Ci0gICAgICAgIGNoYXIgICAgICAgICAgICBzdHJpbmdbNTAwMF07Ci19ICAgICAgICAgICAgICAgdmFyeTI7Ci0KLQotLyogVmFyaWFibGUtbGVuZ3RoIHN0cmluZywgd2l0aCAzMi1iaXQgbGVuZ3RoLiAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICAgICAgICBpbnQgICAgICAgICAgICAgbGVuOwotICAgICAgICBjaGFyICAgICAgICAgICAgc3RyaW5nWzUwMDBdOwotfSAgICAgICAgICAgICAgIHZhcnk0OwotCi0KLS8qIE11bHRpcGxlIG9jY3VycmVuY2UgcGFyYW1ldGVyIGxpc3QuICovCi0jZGVmaW5lIHBhcmFtbGlzdChpdGVtc2l6ZSwgaXRlbXR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIF9QYWNrZWQgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgc2hvcnQgICAgICAgICAgIGxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgX1BhY2tlZCB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAgICAgICAgICAgX3BhZFtpdGVtc2l6ZV07ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBpdGVtdHlwZSAgICAgICAgcGFyYW07ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgIGl0ZW1bMV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0KLQotLyogQWRkIGVsZW1lbnQgbGlzdCBzdHJ1Y3R1cmUuICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgICAgIHNob3J0ICAgICAgICAgICBlbGNvdW50OyAgICAgICAgLyogRWxlbWVudCBjb3VudCAoPTMpLiAqLwotICAgICAgICBwYXJhbWxpc3QoMTYsIGNoYXIpIHR5cGU7ICAgICAgIC8qIHZhcnkyKDE2KS4gKi8KLSAgICAgICAgcGFyYW1saXN0KDI1NiwgY2hhcikgb3JpZ2luOyAgICAvKiB2YXJ5MigyNTYpLiAqLwotICAgICAgICBwYXJhbWxpc3QoMjU2LCBjaGFyKSByZXBsYWNlOyAgIC8qIHZhcnkyKDI1NikuICovCi19ICAgICAgICAgICAgICAgYWRkZWxlbWVudDsKLQotLyogU0dNTCBhZGQgZWxlbWVudCBsaXN0IHN0cnVjdHVyZS4gKi8KLXR5cGVkZWYgc3RydWN0IHsKLSAgICAgICAgc2hvcnQgICAgICAgICAgIGVsY291bnQ7ICAgICAgICAvKiBFbGVtZW50IGNvdW50ICg9MykuICovCi0gICAgICAgIHBhcmFtbGlzdCgyNTYsIGNoYXIpIGNhdGFsb2c7ICAgLyogdmFyeTIoMjU2KS4gKi8KLSAgICAgICAgcGFyYW1saXN0KDI1NiwgY2hhcikgaWRlbnQ7ICAgICAvKiB2YXJ5MigyNTYpLiAqLwotfSAgICAgICAgICAgICAgIHNnbWxhZGRlbGVtZW50OwotCi0KLS8qIEFyZ3VtZW50cyBmcm9tIENMIGNvbW1hbmQuICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgICAgIGNoYXIgKiAgICAgICAgICBwZ207ICAgICAgICAgICAgLyogUHJvZ3JhbSBuYW1lLiAqLwotICAgICAgICB2YXJ5MiAqICAgICAgICAgaW5zdG1mOyAgICAgICAgIC8qIElucHV0IGNhdGFsb2cgZmlsZSBuYW1lLiAqLwotICAgICAgICB2YXJ5MiAqICAgICAgICAga2luZDsgICAgICAgICAgIC8qIENhdGFsb2cga2luZC4gKi8KLSAgICAgICAgdmFyeTIgKiAgICAgICAgIG91dHN0bWY7ICAgICAgICAvKiBPdXRwdXQgY2F0YWxvZyBmaWxlIG5hbWUuICovCi0gICAgICAgIHZhcnkyICogICAgICAgICBjb252ZXJ0OyAgICAgICAgLyogQ29udmVydCBTR01MIHRvIFhNTC4gKi8KLSAgICAgICAgdmFyeTIgKiAgICAgICAgIHN1cGVydXBkOyAgICAgICAvKiAtLW5vLXN1cGVyLXVwZGF0ZS4gKi8KLSAgICAgICAgdmFyeTIgKiAgICAgICAgIHZlcmJvc2U7ICAgICAgICAvKiBWZXJib3NlIG91dHB1dC4gKi8KLSAgICAgICAgcGFyYW1saXN0KDI1NiArIDIsIHZhcnkyKSAqIGRlbGV0ZTsgLyogSWRlbnRpZmllcnMgdG8gZGVsZXRlLiAqLwotICAgICAgICBwYXJhbWxpc3QoMiwgdW5zaWduZWQgc2hvcnQpICogYWRkOyAvKiBJdGVtcyB0byBhZGQuICovCi0gICAgICAgIHBhcmFtbGlzdCgyLCB1bnNpZ25lZCBzaG9ydCkgKiBzZ21sYWRkOyAvKiBTR01MIGl0ZW1zIHRvIGFkZC4gKi8KLSAgICAgICAgcGFyYW1saXN0KDI1NiArIDIsIHZhcnkyKSAqIHJlc29sdmU7IC8qIElkZW50aWZpZXJzIHRvIHJlc29sdmUuICovCi0gICAgICAgIHBhcmFtbGlzdCg1MDAwICsgMiwgdmFyeTIpICogY2F0YWxvZzsgLyogQWRkaXRpb25hbCBjYXRhbG9nIGZpbGVzLiAqLwotfSAgICAgICAgICAgICAgIGFyZ3VtZW50czsKLQotCi0vKiBEZWZpbml0aW9uIG9mIFFTSEVMTCBwcm9ncmFtLiAqLwotZXh0ZXJuIHZvaWQgICAgIHFzaGVsbCh2YXJ5NCAqIGNtZCk7Ci0jcHJhZ21hIGxpbmthZ2UocXNoZWxsLCBPUykKLSNwcmFnbWEgbWFwKHFzaGVsbCwgIlFTSEVMTC9RWlNIUVNIQyIpCi0KLS8qIE1hY3JvIHRvIGhhbmRsZSBkaXNwbGFjZW1lbnRzLiAqLwotI2RlZmluZSBPRkZTRVRCWSh0LCBwLCBuKSAgICAgICAoKHQgKikgKCgoY2hhciAqKSAocCkpICsgKG4pKSkKLQotCi1zdGF0aWMgdm9pZAotdmFyeTRuYXBwZW5kKHZhcnk0ICogZHN0LCBjb25zdCBjaGFyICogc3JjLCBzaXplX3QgbGVuKQotCi17Ci0gICAgICAgIGlmIChsZW4gPiBzaXplb2YoZHN0LT5zdHJpbmcpIC0gZHN0LT5sZW4pCi0gICAgICAgICAgICAgICAgbGVuID0gc2l6ZW9mKGRzdC0+c3RyaW5nKSAtIGRzdC0+bGVuOwotCi0gICAgICAgIGlmIChsZW4pIHsKLSAgICAgICAgICAgICAgICBtZW1jcHkoZHN0LT5zdHJpbmcgKyBkc3QtPmxlbiwgc3JjLCBsZW4pOwotICAgICAgICAgICAgICAgIGRzdC0+bGVuICs9IGxlbjsKLSAgICAgICAgICAgICAgICB9Ci19Ci0KLQotc3RhdGljIHZvaWQKLXZhcnk0YXBwZW5kKHZhcnk0ICogZHN0LCBjb25zdCBjaGFyICogc3JjKQotCi17Ci0gICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIHNyYywgc3RybGVuKHNyYykpOwotfQotCi0KLXN0YXRpYyB2b2lkCi12YXJ5NGFyZyh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIGFyZykKLQotewotICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiICIsIDEpOwotICAgICAgICB2YXJ5NGFwcGVuZChkc3QsIGFyZyk7Ci19Ci0KLQotc3RhdGljIHZvaWQKLXZhcnk0dmFyZyh2YXJ5NCAqIGRzdCwgdmFyeTIgKiBhcmcpCi0KLXsKLSAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiAiLCAxKTsKLSAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgYXJnLT5zdHJpbmcsIGFyZy0+bGVuKTsKLX0KLQotCi1zdGF0aWMgdm9pZAotdmFyeTR2ZXNjYXBlKHZhcnk0ICogZHN0LCB2YXJ5MiAqIGFyZykKLQotewotICAgICAgICBpbnQgaTsKLQotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnLT5sZW47IGkrKykKLSAgICAgICAgICAgICAgICBpZiAoYXJnLT5zdHJpbmdbaV0gPT0gJ1wnJykKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICInXCInXCInIiwgNSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgYXJnLT5zdHJpbmcgKyBpLCAxKTsKLX0KLQotCi1zdGF0aWMgdm9pZAotdmFyeTR2YXJncXVvdGUodmFyeTQgKiBkc3QsIHZhcnkyICogYXJnKQotCi17Ci0gICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICIgJyIsIDIpOwotICAgICAgICB2YXJ5NHZlc2NhcGUoZHN0LCBhcmcpOwotICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiJyIsIDEpOwotfQotCi0KLWludAotbWFpbihpbnQgYXJnc2MsIGFyZ3VtZW50cyAqIGFyZ3MpCi0KLXsKLSAgICAgICAgdmFyeTQgY21kOwotICAgICAgICBpbnQgaTsKLSAgICAgICAgY2hhciBjOwotICAgICAgICBhZGRlbGVtZW50ICogYWVscDsKLSAgICAgICAgc2dtbGFkZGVsZW1lbnQgKiBzYWVscDsKLQotICAgICAgICAvKiBTcGVjaWZ5IGFkZGl0aW9uYWwgY2F0YWxvZ3MuICovCi0gICAgICAgIGNtZC5sZW4gPSAwOwotICAgICAgICBpZiAoYXJncy0+Y2F0YWxvZy0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ3MtPmNhdGFsb2ctPmxlbiAmJgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICFhcmdzLT5jYXRhbG9nLT5pdGVtW2ldLnBhcmFtLmxlbjsgaSsrKQotICAgICAgICAgICAgICAgICAgICAgICAgOwotCi0gICAgICAgICAgICAgICAgdmFyeTRhcHBlbmQoJmNtZCwgIlhNTF9DQVRBTE9HX0ZJTEVTPSIpOwotICAgICAgICAgICAgICAgIGlmIChpIDwgYXJncy0+Y2F0YWxvZy0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjID0gJ1wnJzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5jYXRhbG9nLT5sZW47IGkrKykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFyZ3MtPmNhdGFsb2ctPml0ZW1baV0ucGFyYW0ubGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoJmNtZCwgJmMsIDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjID0gJyAnOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZlc2NhcGUoJmNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyZ3MtPmNhdGFsb2ctPml0ZW1baV0ucGFyYW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoJmNtZCwgIiciLCAxKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoJmNtZCwgIiAiLCAxKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyogZmluZCBsZW5ndGggb2YgbGlicmFyeSBuYW1lLiAqLwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTAgJiYgYXJncy0+cGdtW2ldICYmIGFyZ3MtPnBnbVtpXSAhPSAnLyc7IGkrKykKLSAgICAgICAgICAgICAgICA7Ci0KLSAgICAgICAgLyogU3RvcmUgcHJvZ3JhbSBuYW1lIGluIGNvbW1hbmQgYnVmZmVyLiAqLwotICAgICAgICB2YXJ5NGFwcGVuZCgmY21kLCAiL1FTWVMuTElCLyIpOwotICAgICAgICB2YXJ5NG5hcHBlbmQoJmNtZCwgYXJncy0+cGdtLCBpKTsKLSAgICAgICAgdmFyeTRhcHBlbmQoJmNtZCwgIi5MSUIvWE1MQ0FUQUxPRy5QR00iKTsKLQotICAgICAgICAvKiBNYXAgY29tbWFuZCBhcmd1bWVudHMgdG8gc3RhbmRhcmQgeG1sY2F0YWxvZyBhcmd1bWVudCB2ZWN0b3IuICovCi0gICAgICAgIGlmIChhcmdzLT5raW5kICYmIGFyZ3MtPmtpbmQtPmxlbikKLSAgICAgICAgICAgICAgICB2YXJ5NHZhcmcoJmNtZCwgYXJncy0+a2luZCk7Ci0KLSAgICAgICAgaWYgKGFyZ3MtPnZlcmJvc2UgJiYgYXJncy0+dmVyYm9zZS0+bGVuKQotICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCBhcmdzLT52ZXJib3NlKTsKLQotICAgICAgICBpZiAoYXJncy0+ZGVsZXRlKQotICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5kZWxldGUtPmxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1kZWwiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsICZhcmdzLT5kZWxldGUtPml0ZW1baV0ucGFyYW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmIChhcmdzLT5raW5kICYmIGFyZ3MtPmtpbmQtPmxlbikgewotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgU0dNTC1zcGVjaWZpYyBwYXJhbWV0ZXJzLiAqLwotICAgICAgICAgICAgICAgIGlmIChhcmdzLT5zdXBlcnVwZCAmJiBhcmdzLT5zdXBlcnVwZC0+bGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJnKCZjbWQsIGFyZ3MtPnN1cGVydXBkKTsKLQotICAgICAgICAgICAgICAgIGlmIChhcmdzLT5zZ21sYWRkKQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ3MtPnNnbWxhZGQtPmxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhZWxwID0gT0ZGU0VUQlkoc2dtbGFkZGVsZW1lbnQsIGFyZ3MtPnNnbWxhZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5zZ21sYWRkLT5pdGVtW2ldLnBhcmFtKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHZhcnkyICopICZzYWVscC0+Y2F0YWxvZyktPmxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tYWRkIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsICh2YXJ5MiAqKSAmc2FlbHAtPmNhdGFsb2cpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAodmFyeTIgKikgJnNhZWxwLT5pZGVudCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgWE1MLXNwZWNpZmljIHBhcmFtZXRlcnMuICovCi0gICAgICAgICAgICAgICAgaWYgKGFyZ3MtPmNvbnZlcnQgJiYgYXJncy0+Y29udmVydC0+bGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTR2YXJnKCZjbWQsIGFyZ3MtPmNvbnZlcnQpOwotCi0gICAgICAgICAgICAgICAgaWYgKGFyZ3MtPmFkZCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5hZGQtPmxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFlbHAgPSBPRkZTRVRCWShhZGRlbGVtZW50LCBhcmdzLT5hZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5hZGQtPml0ZW1baV0ucGFyYW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISgodmFyeTIgKikgJmFlbHAtPm9yaWdpbiktPmxlbikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tYWRkIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCAodmFyeTIgKikgJmFlbHAtPnR5cGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAodmFyeTIgKikgJmFlbHAtPm9yaWdpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsICh2YXJ5MiAqKSAmYWVscC0+cmVwbGFjZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyogQXZvaWQgSU5TVE1GKCpORVcpIGFuZCBPVVRTTVRGKCpJTlNUTUYpLiAqLwotICAgICAgICBpZiAoYXJncy0+b3V0c3RtZiAmJiBhcmdzLT5vdXRzdG1mLT5sZW4gJiYgIWFyZ3MtPm91dHN0bWYtPnN0cmluZ1swXSkKLSAgICAgICAgICAgICAgICBpZiAoYXJncy0+aW5zdG1mICYmIGFyZ3MtPmluc3RtZi0+bGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgYXJncy0+b3V0c3RtZiA9IGFyZ3MtPmluc3RtZjsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5vdXRzdG1mID0gTlVMTDsKLQotICAgICAgICAvKiBJZiBJTlNUTUYoKk5FVykgYW5kIE9VVFNUTUYoc29tZXBhdGgpLCBVc2UgLS1jcmVhdGUgLS1ub291dCBhbmQKLSAgICAgICAgICAgc29tZXBhdGggYXMgKHVuZXhpc3RpbmcpIGlucHV0IGZpbGUuICovCi0gICAgICAgIGlmIChhcmdzLT5vdXRzdG1mICYmIGFyZ3MtPm91dHN0bWYtPmxlbikKLSAgICAgICAgICAgICAgICBpZiAoIWFyZ3MtPmluc3RtZiB8fCAhYXJncy0+aW5zdG1mLT5sZW4pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLWNyZWF0ZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tbm9vdXQiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MtPmluc3RtZiA9IGFyZ3MtPm91dHN0bWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5vdXRzdG1mID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKiBJZiBvdXRwdXQgdG8gaW5wdXQgZmlsZSwgdXNlIC0tbm9vdXQgb3B0aW9uLiAqLwotICAgICAgICBpZiAoYXJncy0+aW5zdG1mICYmIGFyZ3MtPm91dHN0bWYgJiYgYXJncy0+aW5zdG1mLT5sZW4gJiYKLSAgICAgICAgICAgIGFyZ3MtPmluc3RtZi0+bGVuID09IGFyZ3MtPm91dHN0bWYtPmxlbiAmJgotICAgICAgICAgICAgIXN0cm5jbXAoYXJncy0+aW5zdG1mLT5zdHJpbmcsIGFyZ3MtPm91dHN0bWYtPnN0cmluZywKLSAgICAgICAgICAgICAgICAgICAgIGFyZ3MtPmluc3RtZi0+bGVuKSkgewotICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLW5vb3V0Iik7Ci0gICAgICAgICAgICAgICAgYXJncy0+b3V0c3RtZiA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIC8qIElmIG5vIGlucHV0IGZpbGUgY3JlYXRlIGNhdGFsb2csIGVsc2Ugc3BlY2lmeSB0aGUgaW5wdXQgZmlsZSBuYW1lLiAqLwotICAgICAgICAvKiBTcGVjaWZ5IHRoZSBpbnB1dCBmaWxlIG5hbWU6IG15IGJlIGEgZHVtbXkgb25lLiAqLwotICAgICAgICBpZiAoIWFyZ3MtPmluc3RtZiB8fCAhYXJncy0+aW5zdG1mLT5sZW4pIHsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1jcmVhdGUgLSIpOwotICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICIuZG15eG1sY2F0YWxvZyIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0iKTsKLSAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCBhcmdzLT5pbnN0bWYpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAvKiBRdWVyeSBlbnRpdGllcy4gKi8KLQotICAgICAgICBpZiAoYXJncy0+cmVzb2x2ZSkKLSAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy0+cmVzb2x2ZS0+bGVuOyBpKyspCi0gICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCAmYXJncy0+cmVzb2x2ZS0+aXRlbVtpXS5wYXJhbSk7Ci0KLSAgICAgICAgLyogUmVkaXJlY3Qgb3V0cHV0IGlmIHJlcXVlc3RlZC4gKi8KLSAgICAgICAgaWYgKGFyZ3MtPm91dHN0bWYgJiYgYXJncy0+b3V0c3RtZi0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIj4iKTsKLSAgICAgICAgICAgICAgICB2YXJ5NHZhcmdxdW90ZSgmY21kLCBhcmdzLT5vdXRzdG1mKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgLyogRXhlY3V0ZSB0aGUgc2hlbGwgY29tbWFuZC4gKi8KLSAgICAgICAgcXNoZWxsKCZjbWQpOwotCi0gICAgICAgIC8qIFRlcm1pbmF0ZS4gKi8KLSAgICAgICAgZXhpdCgwKTsKLX0KZGlmZiAtLWdpdCBhL29zNDAwL3htbGxpbnQuY21kIGIvb3M0MDAveG1sbGludC5jbWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1ODI4MzcuLjAwMDAwMDAKLS0tIGEvb3M0MDAveG1sbGludC5jbWQKKysrIC9kZXYvbnVsbApAQCAtMSwxNDYgKzAsMCBAQAotLyogICAgICBYTUxMSU5UIENMIGNvbW1hbmQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuICAgICAgICAgICovCi0KLS8qICAgICAgSW50ZXJmYWNlIHRvIHByb2dyYW0gWE1MTElOVENMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0KLSAgICAgICAgICAgICBDTUQgICAgICAgIFBST01QVCgnWE1MIHRvb2wnKQotCi0gICAgICAgICAgICAgLyogWE1MIGlucHV0IGZpbGUgbG9jYXRpb24uICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChTVE1GKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIE1JTigxKSAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1N0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdYTUwgU3RyZWFtIGZpbGUnKQotCi0gICAgICAgICAgICAgLyogRFREIGxvY2F0aW9uLiAqLwotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoRFREKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBQQVNTVkFMKCpOVUxMKSAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdJRCwgVVJMIG9yIHN0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRFREIGlkLCBVUkwgb3IgZmlsZSBwYXRoJykKLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKERURExPQ0FUT1IpIFRZUEUoKkNIQVIpIExFTig4KSBERlQoKkRURFVSTCkgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BDVkFMKCpEVERVUkwgKkRUREZQSSkgRVhQUigqWUVTKSBSU1REKCpZRVMpICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnRFREIGxvY2F0b3IgaXMgVVJML0ZQSScpCi0KLSAgICAgICAgICAgICAvKiBTY2hlbWEgbG9jYXRpb24uICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChTQ0hFTUEpIFRZUEUoKlBOQU1FKSBMRU4oNTAwMCkgVkFSWSgqWUVTICpJTlQyKSAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIFBBU1NWQUwoKk5VTEwpICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1VSTCBvciBzdHJlYW0gZmlsZSBwYXRoJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdTY2hlbWEgVVJMIG9yIHN0cmVhbSBmaWxlIHBhdGgnKQotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoU0NIRU1BS0lORCkgVFlQRSgqQ0hBUikgTEVOKDEyKSBWQVJZKCpZRVMgKklOVDIpICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBSU1REKCpZRVMpIERGVCgqWFNEKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdWYWxpZGF0aW5nIHNjaGVtYSBraW5kJykgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnS2V5d29yZCcpIFNQQ1ZBTCggICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWFNEICAgICAgICAgICAgICAgJy0tc2NoZW1hJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlJFTEFYTkcgICAgICAgICAgICctLXJlbGF4bmcnKSAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTQ0hFTUFUUk9OICAgICAgICAnLS1zY2hlbWF0cm9uJykgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICApCi0KLSAgICAgICAgICAgICAvKiBPdXRwdXQgbG9jYXRpb24uICovCi0KLSAgICAgICAgICAgICBQQVJNICAgICAgIEtXRChPVVRTVE1GKSBUWVBFKCpQTkFNRSkgTEVOKDUwMDApIFZBUlkoKllFUyAqSU5UMikgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENBU0UoKk1JWEVEKSBFWFBSKCpZRVMpIFBBU1NWQUwoKk5VTEwpICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ1N0cmVhbSBmaWxlIHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdPdXRwdXQgc3RyZWFtIGZpbGUgcGF0aCcpCi0KLSAgICAgICAgICAgICAvKiBPdGhlciBwYXJhbWV0ZXJzIHdpdGggYXJndW1lbnRzLiAqLwotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoWFBBVEgpIFRZUEUoKkNIQVIpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBQQVNTVkFMKCpOVUxMKSAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdYUGF0aCBleHByZXNzaW9uJykgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnWFBhdGggZmlsdGVyJykKLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFBBVFRFUk4pIFRZUEUoKkNIQVIpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgUEFTU1ZBTCgqTlVMTCkgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnUmVhZGVyIHBhdHRlcm4nKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ1JlYWRlciBub2RlIGZpbHRlcicpCi0KLSAgICAgICAgICAgICAvKiBQYXRocyBmb3IgcmVzb3VyY2VzLiAqLwotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoUEFUSCkgVFlQRSgqUE5BTUUpIExFTig1MDAwKSBWQVJZKCpZRVMgKklOVDIpICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDQVNFKCpNSVhFRCkgRVhQUigqWUVTKSBNQVgoNjQpICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hPSUNFKCdJRlMgZGlyZWN0b3J5IHBhdGgnKSAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnUGF0aCBmb3IgcmVzb3VyY2VzJykKLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKFBSRVRUWSkgVFlQRSgqQ0hBUikgTEVOKDExKSBWQVJZKCpZRVMgKklOVDIpICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUlNURCgqWUVTKSBERlQoKk5PTkUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBST01QVCgnUHJldHR5LXByaW50IHN0eWxlJykgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ0tleXdvcmQnKSBTUENWQUwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PTkUgICAgICAgICAgICAgICcwJykgICAgICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpGT1JNQVQgICAgICAgICAgICAnMScpICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqV0hJVEVTUEFDRSAgICAgICAgJzInKSAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKQotCi0gICAgICAgICAgICAgUEFSTSAgICAgICBLV0QoTUFYTUVNKSBUWVBFKCpVSU5UNCkgRVhQUigqWUVTKSBERlQoMCkgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBDSE9JQ0UoJ051bWJlciBvZiBieXRlcycpICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPTVBUKCdNYXhpbXVtIGR5bmFtaWMgbWVtb3J5JykKLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKEVOQ09ESU5HKSBUWVBFKCpDSEFSKSBMRU4oMzIpIFZBUlkoKllFUyAqSU5UMikgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FTRSgqTUlYRUQpIEVYUFIoKllFUykgUEFTU1ZBTCgqTlVMTCkgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBNVENUTChFTkNPRElORykgQ0hPSUNFKCdFbmNvZGluZyBuYW1lJykgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9NUFQoJ091dHB1dCBjaGFyYWN0ZXIgZW5jb2RpbmcnKQotRU5DT0RJTkc6ICAgIFBNVENUTCAgICAgQ1RMKE9VVFNUTUYpIENPTkQoKlNQQ0ZEKQotCi0gICAgICAgICAgICAgLyogQm9vbGVhbiBvcHRpb25zLiAqLwotICAgICAgICAgICAgIC8qIC0tc2hlbGwgaXMgbm90IHN1cHBvcnRlZCBmcm9tIGNvbW1hbmQgbW9kZS4gKi8KLQotICAgICAgICAgICAgIFBBUk0gICAgICAgS1dEKE9QVElPTlMpIFRZUEUoKkNIQVIpIExFTigyMCkgVkFSWSgqWUVTICpJTlQyKSAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYKDUwKSBSU1REKCpZRVMpIFBST01QVCgnT3B0aW9ucycpICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIENIT0lDRSgnS2V5d29yZCcpIFNQQ1ZBTCggICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqVkVSU0lPTiAgICAgICAgICctLXZlcnNpb24nKSAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRFQlVHICAgICAgICAgICAnLS1kZWJ1ZycpICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpERUJVR0VOVCAgICAgICAgJy0tZGVidWdlbnQnKSAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQ09QWSAgICAgICAgICAgICctLWNvcHknKSAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlJFQ09WRVIgICAgICAgICAnLS1yZWNvdmVyJykgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpIVUdFICAgICAgICAgICAgJy0taHVnZScpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTk9FTlQgICAgICAgICAgICctLW5vZW50JykgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PRU5DICAgICAgICAgICAnLS1ub2VuYycpICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT09VVCAgICAgICAgICAgJy0tbm9vdXQnKSAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTE9BRFRSQUNFICAgICAgICctLWxvYWQtdHJhY2UnKSAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PTkVUICAgICAgICAgICAnLS1ub25ldCcpICAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT0NPTVBBQ1QgICAgICAgJy0tbm9jb21wYWN0JykgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqSFRNTE9VVCAgICAgICAgICctLWh0bWxvdXQnKSAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PV1JBUCAgICAgICAgICAnLS1ub3dyYXAnKSAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpWQUxJRCAgICAgICAgICAgJy0tdmFsaWQnKSAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqUE9TVFZBTElEICAgICAgICctLXBvc3R2YWxpZCcpICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKlRJTUlORyAgICAgICAgICAnLS10aW1pbmcnKSAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpSRVBFQVQgICAgICAgICAgJy0tcmVwZWF0JykgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqSU5TRVJUICAgICAgICAgICctLWluc2VydCcpICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkNPTVBSRVNTICAgICAgICAnLS1jb21wcmVzcycpICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpIVE1MICAgICAgICAgICAgJy0taHRtbCcpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWE1MT1VUICAgICAgICAgICctLXhtbG91dCcpICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PREVGRFREICAgICAgICAnLS1ub2RlZmR0ZCcpICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpQVVNIICAgICAgICAgICAgJy0tcHVzaCcpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqUFVTSFNNQUxMICAgICAgICctLXB1c2hzbWFsbCcpICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk1FTU9SWSAgICAgICAgICAnLS1tZW1vcnknKSAgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT1dBUk5JTkcgICAgICAgJy0tbm93YXJuaW5nJykgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTk9CTEFOS1MgICAgICAgICctLW5vYmxhbmtzJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PQ0RBVEEgICAgICAgICAnLS1ub2NkYXRhJykgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpGT1JNQVQgICAgICAgICAgJy0tZm9ybWF0JykgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqRFJPUERURCAgICAgICAgICctLWRyb3BkdGQnKSAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5TQ0xFQU4gICAgICAgICAnLS1uc2NsZWFuJykgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpURVNUSU8gICAgICAgICAgJy0tdGVzdElPJykgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQ0FUQUxPR1MgICAgICAgICctLWNhdGFsb2dzJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PQ0FUQUxPR1MgICAgICAnLS1ub2NhdGFsb2dzJykgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpBVVRPICAgICAgICAgICAgJy0tYXV0bycpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqWElOQ0xVREUgICAgICAgICctLXhpbmNsdWRlJykgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk5PWElOQ0xVREVOT0RFICAnLS1ub3hpbmNsdWRlbm9kZScpICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpOT0ZJWFVQQkFTRVVSSVMgJy0tbm9maXh1cC1iYXNlLXVyaXMnKSAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqTE9BRERURCAgICAgICAgICctLWxvYWRkdGQnKSAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkRUREFUVFIgICAgICAgICAnLS1kdGRhdHRyJykgICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTVFJFQU0gICAgICAgICAgJy0tc3RyZWFtJykgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqV0FMS0VSICAgICAgICAgICctLXdhbGtlcicpICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkNIS1JFR0lTVEVSICAgICAnLS1jaGtyZWdpc3RlcicpICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpDMTROICAgICAgICAgICAgJy0tYzE0bicpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqQzE0TjExICAgICAgICAgICctLWMxNG4xMScpICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKkVYQ0MxNE4gICAgICAgICAnLS1leGMtYzE0bicpICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpTQVgxICAgICAgICAgICAgJy0tc2F4MScpICAgICAgICAgICAgICAgICAgICAgICAgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqU0FYICAgICAgICAgICAgICctLXNheCcpICAgICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKk9MRFhNTDEwICAgICAgICAnLS1vbGR4bWwxMCcpICAgICAgICAgICAgICAgICAgICArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICkKZGlmZiAtLWdpdCBhL29zNDAwL3htbGxpbnRjbC5jIGIvb3M0MDAveG1sbGludGNsLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyMjYzODUuLjAwMDAwMDAKLS0tIGEvb3M0MDAveG1sbGludGNsLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMTYgKzAsMCBAQAotLyoqCi0qKiogICAgIFhNTExJTlQgY29tbWFuZCByZXNwb25zZSBwcm9ncmFtLgotKioqCi0qKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KLSoqKgotKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KLSoqLwotCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxxc2hlbGwuaD4KLQotCi0vKiBWYXJpYWJsZS1sZW5ndGggc3RyaW5nLCB3aXRoIDE2LWJpdCBsZW5ndGguICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgICAgIHNob3J0ICAgICAgICAgICBsZW47Ci0gICAgICAgIGNoYXIgICAgICAgICAgICBzdHJpbmdbNTAwMF07Ci19ICAgICAgICAgICAgICAgdmFyeTI7Ci0KLQotLyogVmFyaWFibGUtbGVuZ3RoIHN0cmluZywgd2l0aCAzMi1iaXQgbGVuZ3RoLiAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICAgICAgICBpbnQgICAgICAgICAgICAgbGVuOwotICAgICAgICBjaGFyICAgICAgICAgICAgc3RyaW5nWzUwMDBdOwotfSAgICAgICAgICAgICAgIHZhcnk0OwotCi0KLS8qIE11bHRpcGxlIG9jY3VycmVuY2UgcGFyYW1ldGVyIGxpc3QuICovCi0jZGVmaW5lIHBhcmFtbGlzdChpdGVtc2l6ZSwgaXRlbXR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIF9QYWNrZWQgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgc2hvcnQgICAgICAgICAgIGxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAgICAgICAgICAgX3BhZFtpdGVtc2l6ZV07ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBpdGVtdHlwZSAgICAgICAgcGFyYW07ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgIGl0ZW1bMV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0KLQotCi0vKiBBcmd1bWVudHMgZnJvbSBDTCBjb21tYW5kLiAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICAgICAgICBjaGFyICogICAgICAgICAgcGdtOyAgICAgICAgICAgIC8qIFByb2dyYW0gbmFtZS4gKi8KLSAgICAgICAgdmFyeTIgKiAgICAgICAgIHN0bWY7ICAgICAgICAgICAvKiBYTUwgZmlsZSBuYW1lIG9yIFVSTC4gKi8KLSAgICAgICAgdmFyeTIgKiAgICAgICAgIGR0ZDsgICAgICAgICAgICAvKiBEVEQgbG9jYXRpb24gb3IgcHVibGljIGlkZW50aWZpZXIuICovCi0gICAgICAgIGNoYXIgKiAgICAgICAgICBkdGR2YWxpZDsgICAgICAgLyogKkRURFVSTCBvciAqRFRERlBJLiAqLwotICAgICAgICB2YXJ5MiAqICAgICAgICAgc2NoZW1hOyAgICAgICAgIC8qIFNjaGVtYSBmaWxlIG5hbWUgb3IgVVJMLiAqLwotICAgICAgICB2YXJ5MiAqICAgICAgICAgc2NoZW1ha2luZDsgICAgIC8qIC0tc2NoZW1hLy0tcmVsYXhuZy8tLXNjaGVtYXRyb24uICovCi0gICAgICAgIHZhcnkyICogICAgICAgICBvdXRzdG1mOyAgICAgICAgLyogT3V0cHV0IHN0cmVhbSBmaWxlIG5hbWUuICovCi0gICAgICAgIHZhcnkyICogICAgICAgICB4cGF0aDsgICAgICAgICAgLyogWFBhdGggZmlsdGVyLiAqLwotICAgICAgICB2YXJ5MiAqICAgICAgICAgcGF0dGVybjsgICAgICAgIC8qIFJlYWRlciBmaWx0ZXIgcGF0dGVybi4gKi8KLSAgICAgICAgcGFyYW1saXN0KDUwMDAgKyAyLCB2YXJ5MikgKiBwYXRoOyAvKiBQYXRoIGZvciByZXNvdXJjZXMuICovCi0gICAgICAgIHZhcnkyICogICAgICAgICBwcmV0dHk7ICAgICAgICAgLyogUHJldHR5LXByaW50IHN0eWxlLiAqLwotICAgICAgICB1bnNpZ25lZCBsb25nICogbWF4bWVtOyAgICAgICAgIC8qIE1heGltdW0gZHluYW1pYyBtZW1vcnkuICovCi0gICAgICAgIHZhcnkyICogICAgICAgICBlbmNvZGluZzsgICAgICAgLyogT3V0cHV0IGVuY29kaW5nLiAqLwotICAgICAgICBwYXJhbWxpc3QoMjAgKyAyLCB2YXJ5MikgKiBvcHRpb25zOyAvKiBPdGhlciBvcHRpb25zLiAqLwotfSAgICAgICAgICAgICAgIGFyZ3VtZW50czsKLQotCi0vKiBEZWZpbml0aW9uIG9mIFFTSEVMTCBwcm9ncmFtLiAqLwotZXh0ZXJuIHZvaWQgICAgIHFzaGVsbCh2YXJ5NCAqIGNtZCk7Ci0jcHJhZ21hIGxpbmthZ2UocXNoZWxsLCBPUykKLSNwcmFnbWEgbWFwKHFzaGVsbCwgIlFTSEVMTC9RWlNIUVNIQyIpCi0KLQotc3RhdGljIHZvaWQKLXZhcnk0bmFwcGVuZCh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIHNyYywgc2l6ZV90IGxlbikKLQotewotICAgICAgICBpZiAobGVuID4gc2l6ZW9mKGRzdC0+c3RyaW5nKSAtIGRzdC0+bGVuKQotICAgICAgICAgICAgICAgIGxlbiA9IHNpemVvZihkc3QtPnN0cmluZykgLSBkc3QtPmxlbjsKLQotICAgICAgICBpZiAobGVuKSB7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KGRzdC0+c3RyaW5nICsgZHN0LT5sZW4sIHNyYywgbGVuKTsKLSAgICAgICAgICAgICAgICBkc3QtPmxlbiArPSBsZW47Ci0gICAgICAgICAgICAgICAgfQotfQotCi0KLXN0YXRpYyB2b2lkCi12YXJ5NGFwcGVuZCh2YXJ5NCAqIGRzdCwgY29uc3QgY2hhciAqIHNyYykKLQotewotICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCBzcmMsIHN0cmxlbihzcmMpKTsKLX0KLQotCi1zdGF0aWMgdm9pZAotdmFyeTRhcmcodmFyeTQgKiBkc3QsIGNvbnN0IGNoYXIgKiBhcmcpCi0KLXsKLSAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiAiLCAxKTsKLSAgICAgICAgdmFyeTRhcHBlbmQoZHN0LCBhcmcpOwotfQotCi0KLXN0YXRpYyB2b2lkCi12YXJ5NHZhcmcodmFyeTQgKiBkc3QsIHZhcnkyICogYXJnKQotCi17Ci0gICAgICAgIHZhcnk0bmFwcGVuZChkc3QsICIgIiwgMSk7Ci0gICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIGFyZy0+c3RyaW5nLCBhcmctPmxlbik7Ci19Ci0KLQotc3RhdGljIHZvaWQKLXZhcnk0dmVzY2FwZSh2YXJ5NCAqIGRzdCwgdmFyeTIgKiBhcmcpCi0KLXsKLSAgICAgICAgaW50IGk7Ci0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZy0+bGVuOyBpKyspCi0gICAgICAgICAgICAgICAgaWYgKGFyZy0+c3RyaW5nW2ldID09ICdcJycpCi0gICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiJ1wiJ1wiJyIsIDUpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0bmFwcGVuZChkc3QsIGFyZy0+c3RyaW5nICsgaSwgMSk7Ci19Ci0KLQotc3RhdGljIHZvaWQKLXZhcnk0dmFyZ3F1b3RlKHZhcnk0ICogZHN0LCB2YXJ5MiAqIGFyZykKLQotewotICAgICAgICB2YXJ5NG5hcHBlbmQoZHN0LCAiICciLCAyKTsKLSAgICAgICAgdmFyeTR2ZXNjYXBlKGRzdCwgYXJnKTsKLSAgICAgICAgdmFyeTRuYXBwZW5kKGRzdCwgIiciLCAxKTsKLX0KLQotCi1pbnQKLW1haW4oaW50IGFyZ3NjLCBhcmd1bWVudHMgKiBhcmdzKQotCi17Ci0gICAgICAgIHZhcnk0IGNtZDsKLSAgICAgICAgaW50IGk7Ci0gICAgICAgIGNoYXIgdGV4dGJ1ZlsyMF07Ci0gICAgICAgIGNoYXIgKiBsYW5nOwotCi0gICAgICAgIC8qIGZpbmQgbGVuZ3RoIG9mIGxpYnJhcnkgbmFtZS4gKi8KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IDEwICYmIGFyZ3MtPnBnbVtpXSAmJiBhcmdzLT5wZ21baV0gIT0gJy8nOyBpKyspCi0gICAgICAgICAgICAgICAgOwotCi0gICAgICAgIC8qIFN0b3JlIHByb2dyYW0gbmFtZSBpbiBjb21tYW5kIGJ1ZmZlci4gKi8KLSAgICAgICAgY21kLmxlbiA9IDA7Ci0gICAgICAgIHZhcnk0YXBwZW5kKCZjbWQsICIvUVNZUy5MSUIvIik7Ci0gICAgICAgIHZhcnk0bmFwcGVuZCgmY21kLCBhcmdzLT5wZ20sIGkpOwotICAgICAgICB2YXJ5NGFwcGVuZCgmY21kLCAiLkxJQi9YTUxMSU5ULlBHTSIpOwotCi0gICAgICAgIC8qIE1hcCBjb21tYW5kIGFyZ3VtZW50cyB0byBzdGFuZGFyZCB4bWxsaW50IGFyZ3VtZW50IHZlY3Rvci4gKi8KLQotICAgICAgICBpZiAoYXJncy0+ZHRkICYmIGFyZ3MtPmR0ZC0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGFyZ3MtPmR0ZHZhbGlkICYmIGFyZ3MtPmR0ZHZhbGlkWzRdID09ICdGJykKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0YXJnKCZjbWQsICItLWR0ZHZhbGlkZnBpIik7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tZHRkdmFsaWQiKTsKLQotICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsIGFyZ3MtPmR0ZCk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgIGlmIChhcmdzLT5zY2hlbWEgJiYgYXJncy0+c2NoZW1hLT5sZW4pIHsKLSAgICAgICAgICAgICAgICB2YXJ5NHZhcmcoJmNtZCwgYXJncy0+c2NoZW1ha2luZCk7Ci0gICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+c2NoZW1hKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGFyZ3MtPm91dHN0bWYgJiYgYXJncy0+b3V0c3RtZi0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tb3V0cHV0Iik7Ci0gICAgICAgICAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+b3V0c3RtZik7Ci0KLSAgICAgICAgICAgICAgICBpZiAoYXJncy0+ZW5jb2RpbmcgJiYgYXJncy0+ZW5jb2RpbmctPmxlbikgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tZW5jb2RpbmciKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsIGFyZ3MtPmVuY29kaW5nKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGFyZ3MtPnhwYXRoICYmIGFyZ3MtPnhwYXRoLT5sZW4pIHsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS14cGF0aCIpOwotICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsIGFyZ3MtPnhwYXRoKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGFyZ3MtPnBhdHRlcm4gJiYgYXJncy0+cGF0dGVybi0+bGVuKSB7Ci0gICAgICAgICAgICAgICAgdmFyeTRhcmcoJmNtZCwgIi0tcGF0dGVybiIpOwotICAgICAgICAgICAgICAgIHZhcnk0dmFyZ3F1b3RlKCZjbWQsIGFyZ3MtPnBhdHRlcm4pOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoYXJncy0+cGF0aCAmJiBhcmdzLT5wYXRoLT5sZW4pIHsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1wYXRoICciKTsKLSAgICAgICAgICAgICAgICB2YXJ5NHZlc2NhcGUoJmNtZCwgJmFyZ3MtPnBhdGgtPml0ZW1bMF0ucGFyYW0pOwotICAgICAgICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBhcmdzLT5wYXRoLT5sZW47IGkrKykgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyeTRuYXBwZW5kKCZjbWQsICI6IiwgMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXJ5NHZlc2NhcGUoJmNtZCwgJmFyZ3MtPnBhdGgtPml0ZW1baV0ucGFyYW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhcnk0bmFwcGVuZCgmY21kLCAiJyIsIDEpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICBpZiAoYXJncy0+cHJldHR5ICYmIGFyZ3MtPnByZXR0eS0+bGVuICYmCi0gICAgICAgICAgICBhcmdzLT5wcmV0dHktPnN0cmluZ1swXSAhPSAnMCcpIHsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1wcmV0dHkiKTsKLSAgICAgICAgICAgICAgICB2YXJ5NHZhcmcoJmNtZCwgYXJncy0+cHJldHR5KTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGFyZ3MtPm1heG1lbSAmJiAqYXJncy0+bWF4bWVtKSB7Ci0gICAgICAgICAgICAgICAgc25wcmludGYodGV4dGJ1Ziwgc2l6ZW9mIHRleHRidWYsICIlbHUiLCAqYXJncy0+bWF4bWVtKTsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCAiLS1tYXhtZW0iKTsKLSAgICAgICAgICAgICAgICB2YXJ5NGFyZygmY21kLCB0ZXh0YnVmKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyZ3MtPm9wdGlvbnMtPmxlbjsgaSsrKQotICAgICAgICAgICAgICAgIHZhcnk0dmFyZygmY21kLCAmYXJncy0+b3B0aW9ucy0+aXRlbVtpXS5wYXJhbSk7Ci0KLSAgICAgICAgdmFyeTR2YXJncXVvdGUoJmNtZCwgYXJncy0+c3RtZik7Ci0KLSAgICAgICAgLyogRXhlY3V0ZSB0aGUgc2hlbGwgY29tbWFuZC4gKi8KLSAgICAgICAgcXNoZWxsKCZjbWQpOwotCi0gICAgICAgIC8qIFRlcm1pbmF0ZS4gKi8KLSAgICAgICAgZXhpdCgwKTsKLX0K