From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FILL_THIS_FORM,HTML_MESSAGE,T_TVD_MIME_EPI autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 7989 invoked from network); 4 Feb 2021 16:15:44 -0000 Received: from bsd.lv (HELO mandoc.bsd.lv) (66.111.2.12) by inbox.vuxu.org with ESMTPUTF8; 4 Feb 2021 16:15:44 -0000 Received: from fantadrom.bsd.lv (localhost [127.0.0.1]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id 8192b722 for ; Thu, 4 Feb 2021 11:15:39 -0500 (EST) Received: from mail.aisha.cc (mail.aisha.cc [108.61.81.40]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id 53a89b2c for ; Thu, 4 Feb 2021 11:15:18 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aisha.cc; s=excisionRSA; t=1612455317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=rx6CgTHEtxtcFxkyyWU2QX0sPT4Zj6dlIID3zKr2PzI=; b=ly0M82bkZG8WHn7M3FJG/s3/vZWocihYIK9FKt20WYSc6am7KM7lzniYZWlhkMwGVj+BvI TY/ubgv77xitO78zCyHC9HH0u8RiMrv4bQsNAh4AijJM9BnW4A691E9panZ/lcQrmW438l UDRhpqIvz/TqfMTcZtq2/XOv3tc2QZtVvq2GVEJFxh+joRtxvzgwQ3J2kf6kyKSwjdHMn8 J/SyEgLx1P+ZfoXP04JNl+KygN+Ab5v6z5QZx/SiAicGX3yJT6Kx9jo2mjGk0MmU29vDFC cc/hLfb/Zh9KMrBQwS9gHWjnV1dMKTDJAj3dId7XgVy2YjooJlTyi2uQjNqy5w== Received: from [192.168.1.111] (c-73-215-141-174.hsd1.nj.comcast.net [73.215.141.174]) by mail.aisha.cc (OpenSMTPD) with ESMTPSA id 698c88f7 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO) auth=yes user=aisha@aisha.cc for ; Thu, 4 Feb 2021 11:15:15 -0500 (EST) To: discuss@mandoc.bsd.lv From: Aisha Tammy Subject: Segmentation fault on trying to view nft.8 man page on Gentoo Message-ID: Date: Thu, 4 Feb 2021 11:15:14 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 X-Mailinglist: mandoc-discuss Reply-To: discuss@mandoc.bsd.lv MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------87631BA5FD91D649B46242DF" Content-Language: en-US This is a multi-part message in MIME format. --------------87631BA5FD91D649B46242DF Content-Type: multipart/alternative; boundary="------------A4DD954534B4D236AF76EF0E" --------------A4DD954534B4D236AF76EF0E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi,   It seems that the latest release of mandoc (1.14.5) on Gentoo has trouble viewing the nft.8 man page (attached), it crashes with segmentation fault. I am able to view it on OpenBSD with man -l nft.8, after copying it over. (I can provide access to a gentoo virtual machine where this bug is replicable.) I presume this must be a bug in the release version that has since been fixed. Can we get another release which we can use so that we can avoid this bug? Thanks a lot, Aisha --------------A4DD954534B4D236AF76EF0E Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hi,
  It seems that the latest release of mandoc (1.14.5) on Gentoo has trouble
viewing the nft.8 man page (attached), it crashes with segmentation fault.
I am able to view it on OpenBSD with man -l nft.8, after copying it over.
(I can provide access to a gentoo virtual machine where this bug is replicable.)

I presume this must be a bug in the release version that has since been fixed.

Can we get another release which we can use so that we can avoid this bug?

Thanks a lot,
Aisha

--------------A4DD954534B4D236AF76EF0E-- --------------87631BA5FD91D649B46242DF Content-Type: text/plain; charset=UTF-8; name="nft.8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="nft.8" J1wiIHQKLlwiICAgICBUaXRsZTogbmZ0Ci5cIiAgICBBdXRob3I6IFtzZWUgdGhlICJBVVRI T1JTIiBzZWN0aW9uXQouXCIgR2VuZXJhdG9yOiBEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyB2 MS43OS4xIDxodHRwOi8vZG9jYm9vay5zZi5uZXQvPgouXCIgICAgICBEYXRlOiAwMS8xNS8y MDIxCi5cIiAgICBNYW51YWw6IFwgXCYKLlwiICAgIFNvdXJjZTogXCBcJgouXCIgIExhbmd1 YWdlOiBFbmdsaXNoCi5cIgouVEggIk5GVCIgIjgiICIwMS8xNS8yMDIxIiAiXCBcJiIgIlwg XCYiCi5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQouXCIgKiBEZWZpbmUgc29tZSBwb3J0YWJpbGl0eSBzdHVm ZgouXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLlwiIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci5cIiBodHRwOi8vYnVncy5kZWJp YW4ub3JnLzUwNzY3MwouXCIgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2dy b2ZmLzIwMDktMDIvbXNnMDAwMTMuaHRtbAouXCIgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLmllIFxuKC5nIC5k cyBBcSBcKGFxCi5lbCAgICAgICAuZHMgQXEgJwouXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLlwiICogc2V0 IGRlZmF1bHQgZm9ybWF0dGluZwouXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLlwiIGRpc2FibGUgaHlwaGVu YXRpb24KLm5oCi5cIiBkaXNhYmxlIGp1c3RpZmljYXRpb24gKGFkanVzdCB0ZXh0IHRvIGxl ZnQgbWFyZ2luIG9ubHkpCi5hZCBsCi5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQouXCIgKiBNQUlOIENPTlRF TlQgU1RBUlRTIEhFUkUgKgouXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLlNIICJOQU1FIgpuZnQgXC0gQWRt aW5pc3RyYXRpb24gdG9vbCBvZiB0aGUgbmZ0YWJsZXMgZnJhbWV3b3JrIGZvciBwYWNrZXQg ZmlsdGVyaW5nIGFuZCBjbGFzc2lmaWNhdGlvbgouU0ggIlNZTk9QU0lTIgouc3AKLm5mClxm Qm5mdFxmUiBbIFxmQlwtbk5zY2FlU3VweWp0XGZSIF0gWyBcZkJcLUlcZlIgXGZJZGlyZWN0 b3J5XGZSIF0gWyBcZkJcLWZcZlIgXGZJZmlsZW5hbWVcZlIgfCBcZkJcLWlcZlIgfCBcZklj bWRcZlIgXCYuLi5dClxmQm5mdFxmUiBcZkJcLWhcZlIKXGZCbmZ0XGZSIFxmQlwtdlxmUgou ZmkKLlNIICJERVNDUklQVElPTiIKLnNwCm5mdCBpcyB0aGUgY29tbWFuZCBsaW5lIHRvb2wg dXNlZCB0byBzZXQgdXAsIG1haW50YWluIGFuZCBpbnNwZWN0IHBhY2tldCBmaWx0ZXJpbmcg YW5kIGNsYXNzaWZpY2F0aW9uIHJ1bGVzIGluIHRoZSBMaW51eCBrZXJuZWwsIGluIHRoZSBu ZnRhYmxlcyBmcmFtZXdvcmtcJi4gVGhlIExpbnV4IGtlcm5lbCBzdWJzeXN0ZW0gaXMga25v d24gYXMgbmZfdGFibGVzLCBhbmQgXChvcW5mXChjcSBzdGFuZHMgZm9yIE5ldGZpbHRlclwm LgouU0ggIk9QVElPTlMiCi5zcApUaGUgY29tbWFuZCBhY2NlcHRzIHNldmVyYWwgZGlmZmVy ZW50IG9wdGlvbnMgd2hpY2ggYXJlIGRvY3VtZW50ZWQgaGVyZSBpbiBncm91cHMgZm9yIGJl dHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZWlyIG1lYW5pbmdcJi4gWW91IGNhbiBnZXQgaW5m b3JtYXRpb24gYWJvdXQgb3B0aW9ucyBieSBydW5uaW5nIFxmQm5mdCBcLVwtaGVscFxmUlwm LgouUFAKXGZCR2VuZXJhbCBvcHRpb25zOlxmUgouUFAKXGZCXC1oXGZSLCBcZkJcLVwtaGVs cFxmUgouUlMgNApTaG93IGhlbHAgbWVzc2FnZSBhbmQgYWxsIG9wdGlvbnNcJi4KLlJFCi5Q UApcZkJcLXZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCi5SUyA0ClNob3cgdmVyc2lvblwmLgou UkUKLlBQClxmQlwtVlxmUgouUlMgNApTaG93IGxvbmcgdmVyc2lvbiBpbmZvcm1hdGlvbiwg aW5jbHVkaW5nIGNvbXBpbGVcLXRpbWUgY29uZmlndXJhdGlvblwmLgouUkUKLlBQClxmQlJ1 bGVzZXQgaW5wdXQgaGFuZGxpbmcgb3B0aW9ucyB0aGF0IHNwZWNpZnkgdG8gaG93IHRvIGxv YWQgcnVsZXNldHM6XGZSCi5QUApcZkJcLWZcZlIsIFxmQlwtXC1maWxlIFxmUlxmQlxmSWZp bGVuYW1lXGZSXGZSCi5SUyA0ClJlYWQgaW5wdXQgZnJvbQpcZklmaWxlbmFtZVxmUlwmLiBJ ZgpcZklmaWxlbmFtZVxmUgppcyBcLSwgcmVhZCBmcm9tIHN0ZGluXCYuCi5SRQouUFAKXGZC XC1pXGZSLCBcZkJcLVwtaW50ZXJhY3RpdmVcZlIKLlJTIDQKUmVhZCBpbnB1dCBmcm9tIGFu IGludGVyYWN0aXZlIHJlYWRsaW5lIENMSVwmLiBZb3UgY2FuIHVzZSBxdWl0IHRvIGV4aXQs IG9yIHVzZSB0aGUgRU9GIG1hcmtlciwgbm9ybWFsbHkgdGhpcyBpcyBDVFJMXC1EXCYuCi5S RQouUFAKXGZCXC1JXGZSLCBcZkJcLVwtaW5jbHVkZXBhdGggZGlyZWN0b3J5XGZSCi5SUyA0 CkFkZCB0aGUgZGlyZWN0b3J5ClxmSWRpcmVjdG9yeVxmUgp0byB0aGUgbGlzdCBvZiBkaXJl Y3RvcmllcyB0byBiZSBzZWFyY2hlZCBmb3IgaW5jbHVkZWQgZmlsZXNcJi4gVGhpcyBvcHRp b24gbWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lc1wmLgouUkUKLlBQClxmQlwtY1xm UiwgXGZCXC1cLWNoZWNrXGZSCi5SUyA0CkNoZWNrIGNvbW1hbmRzIHZhbGlkaXR5IHdpdGhv dXQgYWN0dWFsbHkgYXBwbHlpbmcgdGhlIGNoYW5nZXNcJi4KLlJFCi5QUApcZkJSdWxlc2V0 IGxpc3Qgb3V0cHV0IGZvcm1hdHRpbmcgdGhhdCBtb2RpZnkgdGhlIG91dHB1dCBvZiB0aGUg bGlzdCBydWxlc2V0IGNvbW1hbmQ6XGZSCi5QUApcZkJcLWFcZlIsIFxmQlwtXC1oYW5kbGVc ZlIKLlJTIDQKU2hvdyBvYmplY3QgaGFuZGxlcyBpbiBvdXRwdXRcJi4KLlJFCi5QUApcZkJc LXNcZlIsIFxmQlwtXC1zdGF0ZWxlc3NcZlIKLlJTIDQKT21pdCBzdGF0ZWZ1bCBpbmZvcm1h dGlvbiBvZiBydWxlcyBhbmQgc3RhdGVmdWwgb2JqZWN0c1wmLgouUkUKLlBQClxmQlwtdFxm UiwgXGZCXC1cLXRlcnNlXGZSCi5SUyA0Ck9taXQgY29udGVudHMgb2Ygc2V0cyBmcm9tIG91 dHB1dFwmLgouUkUKLlBQClxmQlwtU1xmUiwgXGZCXC1cLXNlcnZpY2VcZlIKLlJTIDQKVHJh bnNsYXRlIHBvcnRzIHRvIHNlcnZpY2UgbmFtZXMgYXMgZGVmaW5lZCBieSAvZXRjL3NlcnZp Y2VzXCYuCi5SRQouUFAKXGZCXC1OXGZSLCBcZkJcLVwtcmV2ZXJzZWRuc1xmUgouUlMgNApU cmFuc2xhdGUgSVAgYWRkcmVzcyB0byBuYW1lcyB2aWEgcmV2ZXJzZSBETlMgbG9va3VwXCYu IFRoaXMgbWF5IHNsb3cgZG93biB5b3VyIGxpc3Rpbmcgc2luY2UgaXQgZ2VuZXJhdGVzIG5l dHdvcmsgdHJhZmZpY1wmLgouUkUKLlBQClxmQlwtdVxmUiwgXGZCXC1cLWd1aWRcZlIKLlJT IDQKVHJhbnNsYXRlIG51bWVyaWMgVUlEL0dJRCB0byBuYW1lcyBhcyBkZWZpbmVkIGJ5IC9l dGMvcGFzc3dkIGFuZCAvZXRjL2dyb3VwXCYuCi5SRQouUFAKXGZCXC1uXGZSLCBcZkJcLVwt bnVtZXJpY1xmUgouUlMgNApQcmludCBmdWxseSBudW1lcmljYWwgb3V0cHV0XCYuCi5SRQou UFAKXGZCXC15XGZSLCBcZkJcLVwtbnVtZXJpY1wtcHJpb3JpdHlcZlIKLlJTIDQKRGlzcGxh eSBiYXNlIGNoYWluIHByaW9yaXR5IG51bWVyaWNhbGx5XCYuCi5SRQouUFAKXGZCXC1wXGZS LCBcZkJcLVwtbnVtZXJpY1wtcHJvdG9jb2xcZlIKLlJTIDQKRGlzcGxheSBsYXllciA0IHBy b3RvY29sIG51bWVyaWNhbGx5XCYuCi5SRQouUFAKXGZCXC1UXGZSLCBcZkJcLVwtbnVtZXJp Y1wtdGltZVxmUgouUlMgNApTaG93IHRpbWUsIGRheSBhbmQgaG91ciB2YWx1ZXMgaW4gbnVt ZXJpYyBmb3JtYXRcJi4KLlJFCi5QUApcZkJDb21tYW5kIG91dHB1dCBmb3JtYXR0aW5nOlxm UgouUFAKXGZCXC1lXGZSLCBcZkJcLVwtZWNob1xmUgouUlMgNApXaGVuIGluc2VydGluZyBp dGVtcyBpbnRvIHRoZSBydWxlc2V0IHVzaW5nClxmQmFkZFxmUiwKXGZCaW5zZXJ0XGZSCm9y ClxmQnJlcGxhY2VcZlIKY29tbWFuZHMsIHByaW50IG5vdGlmaWNhdGlvbnMganVzdCBsaWtl ClxmQm5mdCBtb25pdG9yXGZSXCYuCi5SRQouUFAKXGZCXC1qXGZSLCBcZkJcLVwtanNvblxm UgouUlMgNApGb3JtYXQgb3V0cHV0IGluIEpTT05cJi4gU2VlIGxpYm5mdGFibGVzXC1qc29u KDUpIGZvciBhIHNjaGVtYSBkZXNjcmlwdGlvblwmLgouUkUKLlBQClxmQlwtZFxmUiwgXGZC XC1cLWRlYnVnXGZSIFxmSWxldmVsXGZSCi5SUyA0CkVuYWJsZSBkZWJ1Z2dpbmcgb3V0cHV0 XCYuIFRoZSBkZWJ1ZyBsZXZlbCBjYW4gYmUgYW55IG9mClxmQnNjYW5uZXJcZlIsClxmQnBh cnNlclxmUiwKXGZCZXZhbFxmUiwKXGZCbmV0bGlua1xmUiwKXGZCbW5sXGZSLApcZkJwcm90 b1wtY3R4XGZSLApcZkJzZWd0cmVlXGZSLApcZkJhbGxcZlJcJi4gWW91IGNhbiBjb21iaW5l IG1vcmUgdGhhbiBvbmUgYnkgc2VwYXJhdGluZyBieSB0aGUKXGZJLFxmUgpzeW1ib2wsIGZv ciBleGFtcGxlClxmSVwtZCBldmFsLG1ubFxmUlwmLgouUkUKLlNIICJJTlBVVCBGSUxFIEZP Uk1BVFMiCi5TUyAiTEVYSUNBTCBDT05WRU5USU9OUyIKLnNwCklucHV0IGlzIHBhcnNlZCBs aW5lXC13aXNlXCYuIFdoZW4gdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgbGluZSwganVzdCBi ZWZvcmUgdGhlIG5ld2xpbmUgY2hhcmFjdGVyLCBpcyBhIG5vblwtcXVvdGVkIGJhY2tzbGFz aCAoXGUpLCB0aGUgbmV4dCBsaW5lIGlzIHRyZWF0ZWQgYXMgYSBjb250aW51YXRpb25cJi4g TXVsdGlwbGUgY29tbWFuZHMgb24gdGhlIHNhbWUgbGluZSBjYW4gYmUgc2VwYXJhdGVkIHVz aW5nIGEgc2VtaWNvbG9uICg7KVwmLgouc3AKQSBoYXNoIHNpZ24gKCMpIGJlZ2lucyBhIGNv bW1lbnRcJi4gQWxsIGZvbGxvd2luZyBjaGFyYWN0ZXJzIG9uIHRoZSBzYW1lIGxpbmUgYXJl IGlnbm9yZWRcJi4KLnNwCklkZW50aWZpZXJzIGJlZ2luIHdpdGggYW4gYWxwaGFiZXRpYyBj aGFyYWN0ZXIgKGFcLXosQVwtWiksIGZvbGxvd2VkIHplcm8gb3IgbW9yZSBhbHBoYW51bWVy aWMgY2hhcmFjdGVycyAoYVwteixBXC1aLDBcLTkpIGFuZCB0aGUgY2hhcmFjdGVycyBzbGFz aCAoLyksIGJhY2tzbGFzaCAoXGUpLCB1bmRlcnNjb3JlIChfKSBhbmQgZG90IChcJi4pXCYu IElkZW50aWZpZXJzIHVzaW5nIGRpZmZlcmVudCBjaGFyYWN0ZXJzIG9yIGNsYXNoaW5nIHdp dGggYSBrZXl3b3JkIG5lZWQgdG8gYmUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyAoIilc Ji4KLlNTICJJTkNMVURFIEZJTEVTIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZC aW5jbHVkZVxmUiBcZklmaWxlbmFtZVxmUgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCk90 aGVyIGZpbGVzIGNhbiBiZSBpbmNsdWRlZCBieSB1c2luZyB0aGUgXGZCaW5jbHVkZVxmUiBz dGF0ZW1lbnRcJi4gVGhlIGRpcmVjdG9yaWVzIHRvIGJlIHNlYXJjaGVkIGZvciBpbmNsdWRl IGZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIFxmQlwtSVxmUi9cZkJcLVwtaW5j bHVkZXBhdGhcZlIgb3B0aW9uXCYuIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIg ZWl0aGVyIGJ5IHByZXBlbmRpbmcgXChvcVwmLi9cKGNxIHRvIHlvdXIgcGF0aCB0byBmb3Jj ZSBpbmNsdXNpb24gb2YgZmlsZXMgbG9jYXRlZCBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRp cmVjdG9yeSAoaVwmLmVcJi4gcmVsYXRpdmUgcGF0aCkgb3IgLyBmb3IgZmlsZSBsb2NhdGlv biBleHByZXNzZWQgYXMgYW4gYWJzb2x1dGUgcGF0aFwmLgouc3AKSWYgXGZCXC1JXGZSL1xm QlwtXC1pbmNsdWRlcGF0aFxmUiBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIG5mdCByZWxpZXMg b24gdGhlIGRlZmF1bHQgZGlyZWN0b3J5IHRoYXQgaXMgc3BlY2lmaWVkIGF0IGNvbXBpbGUg dGltZVwmLiBZb3UgY2FuIHJldHJpZXZlIHRoaXMgZGVmYXVsdCBkaXJlY3RvcnkgdmlhIFxm QlwtaFxmUi9cZkJcLVwtaGVscFxmUiBvcHRpb25cJi4KLnNwCkluY2x1ZGUgc3RhdGVtZW50 cyBzdXBwb3J0IHRoZSB1c3VhbCBzaGVsbCB3aWxkY2FyZCBzeW1ib2xzIChcZSosPyxbXSlc Ji4gSGF2aW5nIG5vIG1hdGNoZXMgZm9yIGFuIGluY2x1ZGUgc3RhdGVtZW50IGlzIG5vdCBh biBlcnJvciwgaWYgd2lsZGNhcmQgc3ltYm9scyBhcmUgdXNlZCBpbiB0aGUgaW5jbHVkZSBz dGF0ZW1lbnRcJi4gVGhpcyBhbGxvd3MgaGF2aW5nIHBvdGVudGlhbGx5IGVtcHR5IGluY2x1 ZGUgZGlyZWN0b3JpZXMgZm9yIHN0YXRlbWVudHMgbGlrZSBcZkJpbmNsdWRlICIvZXRjL2Zp cmV3YWxsL3J1bGVzLyJcZlJcJi4gVGhlIHdpbGRjYXJkIG1hdGNoZXMgYXJlIGxvYWRlZCBp biBhbHBoYWJldGljYWwgb3JkZXJcJi4gRmlsZXMgYmVnaW5uaW5nIHdpdGggZG90IChcJi4p IGFyZSBub3QgbWF0Y2hlZCBieSBpbmNsdWRlIHN0YXRlbWVudHNcJi4KLlNTICJTWU1CT0xJ QyBWQVJJQUJMRVMiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJkZWZpbmVcZlIg XGZJdmFyaWFibGVcZlIgXGZCPVxmUiBcZklleHByXGZSClxmQiR2YXJpYWJsZVxmUgouZmkK LmlmIG4gXHtcCi5SRQouXH0KLnNwClN5bWJvbGljIHZhcmlhYmxlcyBjYW4gYmUgZGVmaW5l ZCB1c2luZyB0aGUgXGZCZGVmaW5lXGZSIHN0YXRlbWVudFwmLiBWYXJpYWJsZSByZWZlcmVu Y2VzIGFyZSBleHByZXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgaW5pdGlhbGl6ZSBvdGhlciB2 YXJpYWJsZXNcJi4gVGhlIHNjb3BlIG9mIGEgZGVmaW5pdGlvbiBpcyB0aGUgY3VycmVudCBi bG9jayBhbmQgYWxsIGJsb2NrcyBjb250YWluZWQgd2l0aGluXCYuCi5QUApcZkJVc2luZyBz eW1ib2xpYyB2YXJpYWJsZXNcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKZGVm aW5lIGludF9pZjEgPSBldGgwCmRlZmluZSBpbnRfaWYyID0gZXRoMQpkZWZpbmUgaW50X2lm cyA9IHsgJGludF9pZjEsICRpbnRfaWYyIH0KCmZpbHRlciBpbnB1dCBpaWYgJGludF9pZnMg YWNjZXB0Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNIICJBRERSRVNTIEZBTUlMSUVT Igouc3AKQWRkcmVzcyBmYW1pbGllcyBkZXRlcm1pbmUgdGhlIHR5cGUgb2YgcGFja2V0cyB3 aGljaCBhcmUgcHJvY2Vzc2VkXCYuIEZvciBlYWNoIGFkZHJlc3MgZmFtaWx5LCB0aGUga2Vy bmVsIGNvbnRhaW5zIHNvIGNhbGxlZCBob29rcyBhdCBzcGVjaWZpYyBzdGFnZXMgb2YgdGhl IHBhY2tldCBwcm9jZXNzaW5nIHBhdGhzLCB3aGljaCBpbnZva2UgbmZ0YWJsZXMgaWYgcnVs ZXMgZm9yIHRoZXNlIGhvb2tzIGV4aXN0XCYuCi5UUwp0YWIoOik7Cmx0IGx0Cmx0IGx0Cmx0 IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0LgpUewouc3AKXGZCaXBcZlIKVH06VHsKLnNwCklQdjQg YWRkcmVzcyBmYW1pbHlcJi4KVH0KVHsKLnNwClxmQmlwNlxmUgpUfTpUewouc3AKSVB2NiBh ZGRyZXNzIGZhbWlseVwmLgpUfQpUewouc3AKXGZCaW5ldFxmUgpUfTpUewouc3AKSW50ZXJu ZXQgKElQdjQvSVB2NikgYWRkcmVzcyBmYW1pbHlcJi4KVH0KVHsKLnNwClxmQmFycFxmUgpU fTpUewouc3AKQVJQIGFkZHJlc3MgZmFtaWx5LCBoYW5kbGluZyBJUHY0IEFSUCBwYWNrZXRz XCYuClR9ClR7Ci5zcApcZkJicmlkZ2VcZlIKVH06VHsKLnNwCkJyaWRnZSBhZGRyZXNzIGZh bWlseSwgaGFuZGxpbmcgcGFja2V0cyB3aGljaCB0cmF2ZXJzZSBhIGJyaWRnZSBkZXZpY2Vc Ji4KVH0KVHsKLnNwClxmQm5ldGRldlxmUgpUfTpUewouc3AKTmV0ZGV2IGFkZHJlc3MgZmFt aWx5LCBoYW5kbGluZyBwYWNrZXRzIGZyb20gaW5ncmVzc1wmLgpUfQouVEUKLnNwIDEKLnNw CkFsbCBuZnRhYmxlcyBvYmplY3RzIGV4aXN0IGluIGFkZHJlc3MgZmFtaWx5IHNwZWNpZmlj IG5hbWVzcGFjZXMsIHRoZXJlZm9yZSBhbGwgaWRlbnRpZmllcnMgaW5jbHVkZSBhbiBhZGRy ZXNzIGZhbWlseVwmLiBJZiBhbiBpZGVudGlmaWVyIGlzIHNwZWNpZmllZCB3aXRob3V0IGFu IGFkZHJlc3MgZmFtaWx5LCB0aGUgXGZCaXBcZlIgZmFtaWx5IGlzIHVzZWQgYnkgZGVmYXVs dFwmLgouU1MgIklQVjQvSVBWNi9JTkVUIEFERFJFU1MgRkFNSUxJRVMiCi5zcApUaGUgSVB2 NC9JUHY2L0luZXQgYWRkcmVzcyBmYW1pbGllcyBoYW5kbGUgSVB2NCwgSVB2NiBvciBib3Ro IHR5cGVzIG9mIHBhY2tldHNcJi4gVGhleSBjb250YWluIGZpdmUgaG9va3MgYXQgZGlmZmVy ZW50IHBhY2tldCBwcm9jZXNzaW5nIHN0YWdlcyBpbiB0aGUgbmV0d29yayBzdGFja1wmLgou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjEuXCBcJklQdjQvSVB2Ni9JbmV0IGFkZHJlc3MgZmFt aWx5IGhvb2tzCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpUewpIb29rClR9OlR7CkRl c2NyaXB0aW9uClR9Ci5UJgpsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdC4K VHsKLnNwCnByZXJvdXRpbmcKVH06VHsKLnNwCkFsbCBwYWNrZXRzIGVudGVyaW5nIHRoZSBz eXN0ZW0gYXJlIHByb2Nlc3NlZCBieSB0aGUgcHJlcm91dGluZyBob29rXCYuIEl0IGlzIGlu dm9rZWQgYmVmb3JlIHRoZSByb3V0aW5nIHByb2Nlc3MgYW5kIGlzIHVzZWQgZm9yIGVhcmx5 IGZpbHRlcmluZyBvciBjaGFuZ2luZyBwYWNrZXQgYXR0cmlidXRlcyB0aGF0IGFmZmVjdCBy b3V0aW5nXCYuClR9ClR7Ci5zcAppbnB1dApUfTpUewouc3AKUGFja2V0cyBkZWxpdmVyZWQg dG8gdGhlIGxvY2FsIHN5c3RlbSBhcmUgcHJvY2Vzc2VkIGJ5IHRoZSBpbnB1dCBob29rXCYu ClR9ClR7Ci5zcApmb3J3YXJkClR9OlR7Ci5zcApQYWNrZXRzIGZvcndhcmRlZCB0byBhIGRp ZmZlcmVudCBob3N0IGFyZSBwcm9jZXNzZWQgYnkgdGhlIGZvcndhcmQgaG9va1wmLgpUfQpU ewouc3AKb3V0cHV0ClR9OlR7Ci5zcApQYWNrZXRzIHNlbnQgYnkgbG9jYWwgcHJvY2Vzc2Vz IGFyZSBwcm9jZXNzZWQgYnkgdGhlIG91dHB1dCBob29rXCYuClR9ClR7Ci5zcApwb3N0cm91 dGluZwpUfTpUewouc3AKQWxsIHBhY2tldHMgbGVhdmluZyB0aGUgc3lzdGVtIGFyZSBwcm9j ZXNzZWQgYnkgdGhlIHBvc3Ryb3V0aW5nIGhvb2tcJi4KVH0KVHsKLnNwCmluZ3Jlc3MKVH06 VHsKLnNwCkFsbCBwYWNrZXRzIGVudGVyaW5nIHRoZSBzeXN0ZW0gYXJlIHByb2Nlc3NlZCBi eSB0aGlzIGhvb2tcJi4gSXQgaXMgaW52b2tlZCBiZWZvcmUgbGF5ZXIgMyBwcm90b2NvbCBo YW5kbGVycywgaGVuY2UgYmVmb3JlIHRoZSBwcmVyb3V0aW5nIGhvb2ssIGFuZCBpdCBjYW4g YmUgdXNlZCBmb3IgZmlsdGVyaW5nIGFuZCBwb2xpY2luZ1wmLiBJbmdyZXNzIGlzIG9ubHkg YXZhaWxhYmxlIGZvciBJbmV0IGZhbWlseSAoc2luY2UgTGludXgga2VybmVsIDVcJi4xMClc Ji4KVH0KLlRFCi5zcCAxCi5TUyAiQVJQIEFERFJFU1MgRkFNSUxZIgouc3AKVGhlIEFSUCBh ZGRyZXNzIGZhbWlseSBoYW5kbGVzIEFSUCBwYWNrZXRzIHJlY2VpdmVkIGFuZCBzZW50IGJ5 IHRoZSBzeXN0ZW1cJi4gSXQgaXMgY29tbW9ubHkgdXNlZCB0byBtYW5nbGUgQVJQIHBhY2tl dHMgZm9yIGNsdXN0ZXJpbmdcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNl LWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYyLlwgXCZBUlAg YWRkcmVzcyBmYW1pbHkgaG9va3MKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7Ckhv b2sKVH06VHsKRGVzY3JpcHRpb24KVH0KLlQmCmx0IGx0Cmx0IGx0LgpUewouc3AKaW5wdXQK VH06VHsKLnNwClBhY2tldHMgZGVsaXZlcmVkIHRvIHRoZSBsb2NhbCBzeXN0ZW0gYXJlIHBy b2Nlc3NlZCBieSB0aGUgaW5wdXQgaG9va1wmLgpUfQpUewouc3AKb3V0cHV0ClR9OlR7Ci5z cApQYWNrZXRzIHNlbmQgYnkgdGhlIGxvY2FsIHN5c3RlbSBhcmUgcHJvY2Vzc2VkIGJ5IHRo ZSBvdXRwdXQgaG9va1wmLgpUfQouVEUKLnNwIDEKLlNTICJCUklER0UgQUREUkVTUyBGQU1J TFkiCi5zcApUaGUgYnJpZGdlIGFkZHJlc3MgZmFtaWx5IGhhbmRsZXMgRXRoZXJuZXQgcGFj a2V0cyB0cmF2ZXJzaW5nIGJyaWRnZSBkZXZpY2VzXCYuCi5zcApUaGUgbGlzdCBvZiBzdXBw b3J0ZWQgaG9va3MgaXMgaWRlbnRpY2FsIHRvIElQdjQvSVB2Ni9JbmV0IGFkZHJlc3MgZmFt aWxpZXMgYWJvdmVcJi4KLlNTICJORVRERVYgQUREUkVTUyBGQU1JTFkiCi5zcApUaGUgTmV0 ZGV2IGFkZHJlc3MgZmFtaWx5IGhhbmRsZXMgcGFja2V0cyBmcm9tIHRoZSBkZXZpY2UgaW5n cmVzcyBwYXRoXCYuIFRoaXMgZmFtaWx5IGFsbG93cyB5b3UgdG8gZmlsdGVyIHBhY2tldHMg b2YgYW55IGV0aGVydHlwZSBzdWNoIGFzIEFSUCwgVkxBTiA4MDJcJi4xcSwgVkxBTiA4MDJc Ji4xYWQgKFFcLWluXC1RKSBhcyB3ZWxsIGFzIElQdjQgYW5kIElQdjYgcGFja2V0c1wmLgou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjMuXCBcJk5ldGRldiBhZGRyZXNzIGZhbWlseSBob29r cwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0Qi4KVHsKSG9vawpUfTpUewpEZXNjcmlwdGlv bgpUfQouVCYKbHQgbHQuClR7Ci5zcAppbmdyZXNzClR9OlR7Ci5zcApBbGwgcGFja2V0cyBl bnRlcmluZyB0aGUgc3lzdGVtIGFyZSBwcm9jZXNzZWQgYnkgdGhpcyBob29rXCYuIEl0IGlz IGludm9rZWQgYWZ0ZXIgdGhlIG5ldHdvcmsgdGFwcyAoaWVcJi4gXGZCdGNwZHVtcFxmUiks IHJpZ2h0IGFmdGVyIFxmQnRjXGZSIGluZ3Jlc3MgYW5kIGJlZm9yZSBsYXllciAzIHByb3Rv Y29sIGhhbmRsZXJzLCBpdCBjYW4gYmUgdXNlZCBmb3IgZWFybHkgZmlsdGVyaW5nIGFuZCBw b2xpY2luZ1wmLgpUfQouVEUKLnNwIDEKLlNIICJSVUxFU0VUIgouc3AKLmlmIG4gXHtcCi5S UyA0Ci5cfQoubmYKe1xmQmxpc3RcZlIgfCBcZkJmbHVzaFxmUn0gXGZCcnVsZXNldFxmUiBb XGZJZmFtaWx5XGZSXQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwClRoZSBcZkJydWxlc2V0 XGZSIGtleXdvcmQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgd2hvbGUgc2V0IG9mIHRhYmxl cywgY2hhaW5zLCBldGNcJi4gY3VycmVudGx5IGluIHBsYWNlIGluIGtlcm5lbFwmLiBUaGUg Zm9sbG93aW5nIFxmQnJ1bGVzZXRcZlIgY29tbWFuZHMgZXhpc3Q6Ci5UUwp0YWIoOik7Cmx0 IGx0Cmx0IGx0LgpUewouc3AKXGZCbGlzdFxmUgpUfTpUewouc3AKUHJpbnQgdGhlIHJ1bGVz ZXQgaW4gaHVtYW5cLXJlYWRhYmxlIGZvcm1hdFwmLgpUfQpUewouc3AKXGZCZmx1c2hcZlIK VH06VHsKLnNwCkNsZWFyIHRoZSB3aG9sZSBydWxlc2V0XCYuIE5vdGUgdGhhdCwgdW5saWtl IGlwdGFibGVzLCB0aGlzIHdpbGwgcmVtb3ZlIGFsbCB0YWJsZXMgYW5kIHdoYXRldmVyIHRo ZXkgY29udGFpbiwgZWZmZWN0aXZlbHkgbGVhZGluZyB0byBhbiBlbXB0eSBydWxlc2V0IFwt IG5vIHBhY2tldCBmaWx0ZXJpbmcgd2lsbCBoYXBwZW4gYW55bW9yZSwgc28gdGhlIGtlcm5l bCBhY2NlcHRzIGFueSB2YWxpZCBwYWNrZXQgaXQgcmVjZWl2ZXNcJi4KVH0KLlRFCi5zcCAx Ci5zcApJdCBpcyBwb3NzaWJsZSB0byBsaW1pdCBcZkJsaXN0XGZSIGFuZCBcZkJmbHVzaFxm UiB0byBhIHNwZWNpZmljIGFkZHJlc3MgZmFtaWx5IG9ubHlcJi4gRm9yIGEgbGlzdCBvZiB2 YWxpZCBmYW1pbHkgbmFtZXMsIHNlZSB0aGUgc2VjdGlvbiBjYWxsZWQgXChscUFERFJFU1Mg RkFNSUxJRVNcKHJxIGFib3ZlXCYuCi5zcApCeSBkZXNpZ24sIFxmQmxpc3QgcnVsZXNldFxm UiBjb21tYW5kIG91dHB1dCBtYXkgYmUgdXNlZCBhcyBpbnB1dCB0byBcZkJuZnQgXC1mXGZS XCYuIEVmZmVjdGl2ZWx5LCB0aGlzIGlzIHRoZSBuZnRcLWVxdWl2YWxlbnQgb2YgXGZCaXB0 YWJsZXNcLXNhdmVcZlIgYW5kIFxmQmlwdGFibGVzXC1yZXN0b3JlXGZSXCYuCi5TSCAiVEFC TEVTIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKe1xmQmFkZFxmUiB8IFxmQmNyZWF0 ZVxmUn0gXGZCdGFibGVcZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFibGVcZlIgW1xmQnsgZmxh Z3NcZlIgXGZJZmxhZ3NcZlIgXGZCOyB9XGZSXQp7XGZCZGVsZXRlXGZSIHwgXGZCbGlzdFxm UiB8IFxmQmZsdXNoXGZSfSBcZkJ0YWJsZVxmUiBbXGZJZmFtaWx5XGZSXSBcZkl0YWJsZVxm UgpcZkJsaXN0IHRhYmxlc1xmUiBbXGZJZmFtaWx5XGZSXQpcZkJkZWxldGUgdGFibGVcZlIg W1xmSWZhbWlseVxmUl0gXGZCaGFuZGxlXGZSIFxmSWhhbmRsZVxmUgouZmkKLmlmIG4gXHtc Ci5SRQouXH0KLnNwClRhYmxlcyBhcmUgY29udGFpbmVycyBmb3IgY2hhaW5zLCBzZXRzIGFu ZCBzdGF0ZWZ1bCBvYmplY3RzXCYuIFRoZXkgYXJlIGlkZW50aWZpZWQgYnkgdGhlaXIgYWRk cmVzcyBmYW1pbHkgYW5kIHRoZWlyIG5hbWVcJi4gVGhlIGFkZHJlc3MgZmFtaWx5IG11c3Qg YmUgb25lIG9mIFxmQmlwXGZSLCBcZkJpcDZcZlIsIFxmQmluZXRcZlIsIFxmQmFycFxmUiwg XGZCYnJpZGdlXGZSLCBcZkJuZXRkZXZcZlJcJi4gVGhlIFxmQmluZXRcZlIgYWRkcmVzcyBm YW1pbHkgaXMgYSBkdW1teSBmYW1pbHkgd2hpY2ggaXMgdXNlZCB0byBjcmVhdGUgaHlicmlk IElQdjQvSVB2NiB0YWJsZXNcJi4gVGhlIFxmQm1ldGEgZXhwcmVzc2lvbiBuZnByb3RvXGZS IGtleXdvcmQgY2FuIGJlIHVzZWQgdG8gdGVzdCB3aGljaCBmYW1pbHkgKGlwdjQgb3IgaXB2 NikgY29udGV4dCB0aGUgcGFja2V0IGlzIGJlaW5nIHByb2Nlc3NlZCBpblwmLiBXaGVuIG5v IGFkZHJlc3MgZmFtaWx5IGlzIHNwZWNpZmllZCwgXGZCaXBcZlIgaXMgdXNlZCBieSBkZWZh dWx0XCYuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiBhZGQgYW5kIGNyZWF0ZSBpcyB0 aGF0IHRoZSBmb3JtZXIgd2lsbCBub3QgcmV0dXJuIGFuIGVycm9yIGlmIHRoZSBzcGVjaWZp ZWQgdGFibGUgYWxyZWFkeSBleGlzdHMgd2hpbGUgXGZCY3JlYXRlXGZSIHdpbGwgcmV0dXJu IGFuIGVycm9yXCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEK Lm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNC5cIFwmVGFibGUgZmxhZ3MK LlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7CkZsYWcKVH06VHsKRGVzY3JpcHRpb24K VH0KLlQmCmx0IGx0LgpUewouc3AKZG9ybWFudApUfTpUewouc3AKdGFibGUgaXMgbm90IGV2 YWx1YXRlZCBhbnkgbW9yZSAoYmFzZSBjaGFpbnMgYXJlIHVucmVnaXN0ZXJlZClcJi4KVH0K LlRFCi5zcCAxCi5QUApcZkJBZGQsIGNoYW5nZSwgZGVsZXRlIGEgdGFibGVcZlIuIAouc3AK LmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKIyBzdGFydCBuZnQgaW4gaW50ZXJhY3RpdmUgbW9k ZQpuZnQgXC1cLWludGVyYWN0aXZlCgojIGNyZWF0ZSBhIG5ldyB0YWJsZVwmLgpjcmVhdGUg dGFibGUgaW5ldCBteXRhYmxlCgojIGFkZCBhIG5ldyBiYXNlIGNoYWluOiBnZXQgaW5wdXQg cGFja2V0cwphZGQgY2hhaW4gaW5ldCBteXRhYmxlIG15aW4geyB0eXBlIGZpbHRlciBob29r IGlucHV0IHByaW9yaXR5IDA7IH0KCiMgYWRkIGEgc2luZ2xlIGNvdW50ZXIgdG8gdGhlIGNo YWluCmFkZCBydWxlIGluZXQgbXl0YWJsZSBteWluIGNvdW50ZXIKCiMgZGlzYWJsZSB0aGUg dGFibGUgdGVtcG9yYXJpbHkgXC1cLSBydWxlcyBhcmUgbm90IGV2YWx1YXRlZCBhbnltb3Jl CmFkZCB0YWJsZSBpbmV0IG15dGFibGUgeyBmbGFncyBkb3JtYW50OyB9CgojIG1ha2UgdGFi bGUgYWN0aXZlIGFnYWluOgphZGQgdGFibGUgaW5ldCBteXRhYmxlCi5maQouaWYgbiBce1wK LlJFCi5cfQouc3AKLlRTCnRhYig6KTsKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5z cApcZkJhZGRcZlIKVH06VHsKLnNwCkFkZCBhIG5ldyB0YWJsZSBmb3IgdGhlIGdpdmVuIGZh bWlseSB3aXRoIHRoZSBnaXZlbiBuYW1lXCYuClR9ClR7Ci5zcApcZkJkZWxldGVcZlIKVH06 VHsKLnNwCkRlbGV0ZSB0aGUgc3BlY2lmaWVkIHRhYmxlXCYuClR9ClR7Ci5zcApcZkJsaXN0 XGZSClR9OlR7Ci5zcApMaXN0IGFsbCBjaGFpbnMgYW5kIHJ1bGVzIG9mIHRoZSBzcGVjaWZp ZWQgdGFibGVcJi4KVH0KVHsKLnNwClxmQmZsdXNoXGZSClR9OlR7Ci5zcApGbHVzaCBhbGwg Y2hhaW5zIGFuZCBydWxlcyBvZiB0aGUgc3BlY2lmaWVkIHRhYmxlXCYuClR9Ci5URQouc3Ag MQouU0ggIkNIQUlOUyIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCntcZkJhZGRcZlIg fCBcZkJjcmVhdGVcZlJ9IFxmQmNoYWluXGZSIFtcZklmYW1pbHlcZlJdIFxmSXRhYmxlXGZS IFxmSWNoYWluXGZSIFtcZkJ7IHR5cGVcZlIgXGZJdHlwZVxmUiBcZkJob29rXGZSIFxmSWhv b2tcZlIgW1xmQmRldmljZVxmUiBcZklkZXZpY2VcZlJdIFxmQnByaW9yaXR5XGZSIFxmSXBy aW9yaXR5XGZSIFxmQjtcZlIgW1xmQnBvbGljeVxmUiBcZklwb2xpY3lcZlIgXGZCO1xmUl0g XGZCfVxmUl0Ke1xmQmRlbGV0ZVxmUiB8IFxmQmxpc3RcZlIgfCBcZkJmbHVzaFxmUn0gXGZC Y2hhaW5cZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFibGVcZlIgXGZJY2hhaW5cZlIKXGZCbGlz dCBjaGFpbnNcZlIgW1xmSWZhbWlseVxmUl0KXGZCZGVsZXRlIGNoYWluXGZSIFtcZklmYW1p bHlcZlJdIFxmSXRhYmxlXGZSIFxmQmhhbmRsZVxmUiBcZkloYW5kbGVcZlIKXGZCcmVuYW1l IGNoYWluXGZSIFtcZklmYW1pbHlcZlJdIFxmSXRhYmxlXGZSIFxmSWNoYWluXGZSIFxmSW5l d25hbWVcZlIKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApDaGFpbnMgYXJlIGNvbnRhaW5l cnMgZm9yIHJ1bGVzXCYuIFRoZXkgZXhpc3QgaW4gdHdvIGtpbmRzLCBiYXNlIGNoYWlucyBh bmQgcmVndWxhciBjaGFpbnNcJi4gQSBiYXNlIGNoYWluIGlzIGFuIGVudHJ5IHBvaW50IGZv ciBwYWNrZXRzIGZyb20gdGhlIG5ldHdvcmtpbmcgc3RhY2ssIGEgcmVndWxhciBjaGFpbiBt YXkgYmUgdXNlZCBhcyBqdW1wIHRhcmdldCBhbmQgaXMgdXNlZCBmb3IgYmV0dGVyIHJ1bGUg b3JnYW5pemF0aW9uXCYuCi5UUwp0YWIoOik7Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0 IGx0Cmx0IGx0LgpUewouc3AKXGZCYWRkXGZSClR9OlR7Ci5zcApBZGQgYSBuZXcgY2hhaW4g aW4gdGhlIHNwZWNpZmllZCB0YWJsZVwmLiBXaGVuIGEgaG9vayBhbmQgcHJpb3JpdHkgdmFs dWUgYXJlIHNwZWNpZmllZCwgdGhlIGNoYWluIGlzIGNyZWF0ZWQgYXMgYSBiYXNlIGNoYWlu IGFuZCBob29rZWQgdXAgdG8gdGhlIG5ldHdvcmtpbmcgc3RhY2tcJi4KVH0KVHsKLnNwClxm QmNyZWF0ZVxmUgpUfTpUewouc3AKU2ltaWxhciB0byB0aGUgXGZCYWRkXGZSIGNvbW1hbmQs IGJ1dCByZXR1cm5zIGFuIGVycm9yIGlmIHRoZSBjaGFpbiBhbHJlYWR5IGV4aXN0c1wmLgpU fQpUewouc3AKXGZCZGVsZXRlXGZSClR9OlR7Ci5zcApEZWxldGUgdGhlIHNwZWNpZmllZCBj aGFpblwmLiBUaGUgY2hhaW4gbXVzdCBub3QgY29udGFpbiBhbnkgcnVsZXMgb3IgYmUgdXNl ZCBhcyBqdW1wIHRhcmdldFwmLgpUfQpUewouc3AKXGZCcmVuYW1lXGZSClR9OlR7Ci5zcApS ZW5hbWUgdGhlIHNwZWNpZmllZCBjaGFpblwmLgpUfQpUewouc3AKXGZCbGlzdFxmUgpUfTpU ewouc3AKTGlzdCBhbGwgcnVsZXMgb2YgdGhlIHNwZWNpZmllZCBjaGFpblwmLgpUfQpUewou c3AKXGZCZmx1c2hcZlIKVH06VHsKLnNwCkZsdXNoIGFsbCBydWxlcyBvZiB0aGUgc3BlY2lm aWVkIGNoYWluXCYuClR9Ci5URQouc3AgMQouc3AKRm9yIGJhc2UgY2hhaW5zLCBcZkJ0eXBl XGZSLCBcZkJob29rXGZSIGFuZCBcZkJwcmlvcml0eVxmUiBwYXJhbWV0ZXJzIGFyZSBtYW5k YXRvcnlcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIg YW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY1LlwgXCZTdXBwb3J0ZWQgY2hhaW4g dHlwZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCIGx0Qi4KVHsKVHlwZQpUfTpU ewpGYW1pbGllcwpUfTpUewpIb29rcwpUfTpUewpEZXNjcmlwdGlvbgpUfQouVCYKbHQgbHQg bHQgbHQKbHQgbHQgbHQgbHQKbHQgbHQgbHQgbHQuClR7Ci5zcApmaWx0ZXIKVH06VHsKLnNw CmFsbApUfTpUewouc3AKYWxsClR9OlR7Ci5zcApTdGFuZGFyZCBjaGFpbiB0eXBlIHRvIHVz ZSBpbiBkb3VidFwmLgpUfQpUewouc3AKbmF0ClR9OlR7Ci5zcAppcCwgaXA2LCBpbmV0ClR9 OlR7Ci5zcApwcmVyb3V0aW5nLCBpbnB1dCwgb3V0cHV0LCBwb3N0cm91dGluZwpUfTpUewou c3AKQ2hhaW5zIG9mIHRoaXMgdHlwZSBwZXJmb3JtIE5hdGl2ZSBBZGRyZXNzIFRyYW5zbGF0 aW9uIGJhc2VkIG9uIGNvbm50cmFjayBlbnRyaWVzXCYuIE9ubHkgdGhlIGZpcnN0IHBhY2tl dCBvZiBhIGNvbm5lY3Rpb24gYWN0dWFsbHkgdHJhdmVyc2VzIHRoaXMgY2hhaW4gXC0gaXRz IHJ1bGVzIHVzdWFsbHkgZGVmaW5lIGRldGFpbHMgb2YgdGhlIGNyZWF0ZWQgY29ubnRyYWNr IGVudHJ5IChOQVQgc3RhdGVtZW50cyBmb3IgaW5zdGFuY2UpXCYuClR9ClR7Ci5zcApyb3V0 ZQpUfTpUewouc3AKaXAsIGlwNgpUfTpUewouc3AKb3V0cHV0ClR9OlR7Ci5zcApJZiBhIHBh Y2tldCBoYXMgdHJhdmVyc2VkIGEgY2hhaW4gb2YgdGhpcyB0eXBlIGFuZCBpcyBhYm91dCB0 byBiZSBhY2NlcHRlZCwgYSBuZXcgcm91dGUgbG9va3VwIGlzIHBlcmZvcm1lZCBpZiByZWxl dmFudCBwYXJ0cyBvZiB0aGUgSVAgaGVhZGVyIGhhdmUgY2hhbmdlZFwmLiBUaGlzIGFsbG93 cyB0byBlXCYuZ1wmLiBpbXBsZW1lbnQgcG9saWN5IHJvdXRpbmcgc2VsZWN0b3JzIGluIG5m dGFibGVzXCYuClR9Ci5URQouc3AgMQouc3AKQXBhcnQgZnJvbSB0aGUgc3BlY2lhbCBjYXNl cyBpbGx1c3RyYXRlZCBhYm92ZSAoZVwmLmdcJi4gXGZCbmF0XGZSIHR5cGUgbm90IHN1cHBv cnRpbmcgXGZCZm9yd2FyZFxmUiBob29rIG9yIFxmQnJvdXRlXGZSIHR5cGUgb25seSBzdXBw b3J0aW5nIFxmQm91dHB1dFxmUiBob29rKSwgdGhlcmUgYXJlIHRocmVlIGZ1cnRoZXIgcXVp cmtzIHdvcnRoIG5vdGljaW5nOgouc3AKLlJTIDQKLmllIG4gXHtcClxoJy0wNCdcKGJ1XGgn KzAzJ1xjCi5cfQouZWwgXHtcCi5zcCAtMQouSVAgXChidSAyLjMKLlx9ClRoZSBuZXRkZXYg ZmFtaWx5IHN1cHBvcnRzIG1lcmVseSBhIHNpbmdsZSBjb21iaW5hdGlvbiwgbmFtZWx5Clxm QmZpbHRlclxmUgp0eXBlIGFuZApcZkJpbmdyZXNzXGZSCmhvb2tcJi4gQmFzZSBjaGFpbnMg aW4gdGhpcyBmYW1pbHkgYWxzbyByZXF1aXJlIHRoZQpcZkJkZXZpY2VcZlIKcGFyYW1ldGVy IHRvIGJlIHByZXNlbnQgc2luY2UgdGhleSBleGlzdCBwZXIgaW5jb21pbmcgaW50ZXJmYWNl IG9ubHlcJi4KLlJFCi5zcAouUlMgNAouaWUgbiBce1wKXGgnLTA0J1woYnVcaCcrMDMnXGMK Llx9Ci5lbCBce1wKLnNwIC0xCi5JUCBcKGJ1IDIuMwouXH0KVGhlIGFycCBmYW1pbHkgc3Vw cG9ydHMgb25seSB0aGUKXGZCaW5wdXRcZlIKYW5kClxmQm91dHB1dFxmUgpob29rcywgYm90 aCBpbiBjaGFpbnMgb2YgdHlwZQpcZkJmaWx0ZXJcZlJcJi4KLlJFCi5zcAouUlMgNAouaWUg biBce1wKXGgnLTA0J1woYnVcaCcrMDMnXGMKLlx9Ci5lbCBce1wKLnNwIC0xCi5JUCBcKGJ1 IDIuMwouXH0KVGhlIGluZXQgZmFtaWx5IGFsc28gc3VwcG9ydHMgdGhlClxmQmluZ3Jlc3Nc ZlIKaG9vayAoc2luY2UgTGludXgga2VybmVsIDVcJi4xMCksIHRvIGZpbHRlciBJUHY0IGFu ZCBJUHY2IHBhY2tldCBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhcyB0aGUgbmV0ZGV2ClxmQmlu Z3Jlc3NcZlIKaG9va1wmLiBUaGlzIGluZXQgaG9vayBhbGxvd3MgeW91IHRvIHNoYXJlIHNl dHMgYW5kIG1hcHMgYmV0d2VlbiB0aGUgdXN1YWwKXGZCcHJlcm91dGluZ1xmUiwKXGZCaW5w dXRcZlIsClxmQmZvcndhcmRcZlIsClxmQm91dHB1dFxmUiwKXGZCcG9zdHJvdXRpbmdcZlIK YW5kIHRoaXMKXGZCaW5ncmVzc1xmUgpob29rXCYuCi5SRQouc3AKVGhlIFxmQnByaW9yaXR5 XGZSIHBhcmFtZXRlciBhY2NlcHRzIGEgc2lnbmVkIGludGVnZXIgdmFsdWUgb3IgYSBzdGFu ZGFyZCBwcmlvcml0eSBuYW1lIHdoaWNoIHNwZWNpZmllcyB0aGUgb3JkZXIgaW4gd2hpY2gg Y2hhaW5zIHdpdGggc2FtZSBcZkJob29rXGZSIHZhbHVlIGFyZSB0cmF2ZXJzZWRcJi4gVGhl IG9yZGVyaW5nIGlzIGFzY2VuZGluZywgaVwmLmVcJi4gbG93ZXIgcHJpb3JpdHkgdmFsdWVz IGhhdmUgcHJlY2VkZW5jZSBvdmVyIGhpZ2hlciBvbmVzXCYuCi5zcApTdGFuZGFyZCBwcmlv cml0eSB2YWx1ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggZWFzaWx5IG1lbW9yaXphYmxlIG5h bWVzXCYuIE5vdCBhbGwgbmFtZXMgbWFrZSBzZW5zZSBpbiBldmVyeSBmYW1pbHkgd2l0aCBl dmVyeSBob29rIChzZWUgdGhlIGNvbXBhdGliaWxpdHkgbWF0cmljZXMgYmVsb3cpIGJ1dCB0 aGVpciBudW1lcmljYWwgdmFsdWUgY2FuIHN0aWxsIGJlIHVzZWQgZm9yIHByaW9yaXRpemlu ZyBjaGFpbnNcJi4KLnNwClRoZXNlIG5hbWVzIGFuZCB2YWx1ZXMgYXJlIGRlZmluZWQgYW5k IG1hZGUgYXZhaWxhYmxlIGJhc2VkIG9uIHdoYXQgcHJpb3JpdGllcyBhcmUgdXNlZCBieSB4 dGFibGVzIHdoZW4gcmVnaXN0ZXJpbmcgdGhlaXIgZGVmYXVsdCBjaGFpbnNcJi4KLnNwCk1v c3Qgb2YgdGhlIGZhbWlsaWVzIHVzZSB0aGUgc2FtZSB2YWx1ZXMsIGJ1dCBicmlkZ2UgdXNl cyBkaWZmZXJlbnQgb25lcyBmcm9tIHRoZSBvdGhlcnNcJi4gU2VlIHRoZSBmb2xsb3dpbmcg dGFibGVzIHRoYXQgZGVzY3JpYmUgdGhlIHZhbHVlcyBhbmQgY29tcGF0aWJpbGl0eVwmLgou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjYuXCBcJlN0YW5kYXJkIHByaW9yaXR5IG5hbWVzLCBm YW1pbHkgYW5kIGhvb2sgY29tcGF0aWJpbGl0eSBtYXRyaXgKLlRTCmFsbGJveCB0YWIoOik7 Cmx0QiBsdEIgbHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpWYWx1ZQpUfTpUewpGYW1pbGllcwpU fTpUewpIb29rcwpUfQouVCYKbHQgbHQgbHQgbHQKbHQgbHQgbHQgbHQKbHQgbHQgbHQgbHQK bHQgbHQgbHQgbHQKbHQgbHQgbHQgbHQKbHQgbHQgbHQgbHQuClR7Ci5zcApyYXcKVH06VHsK LnNwClwtMzAwClR9OlR7Ci5zcAppcCwgaXA2LCBpbmV0ClR9OlR7Ci5zcAphbGwKVH0KVHsK LnNwCm1hbmdsZQpUfTpUewouc3AKXC0xNTAKVH06VHsKLnNwCmlwLCBpcDYsIGluZXQKVH06 VHsKLnNwCmFsbApUfQpUewouc3AKZHN0bmF0ClR9OlR7Ci5zcApcLTEwMApUfTpUewouc3AK aXAsIGlwNiwgaW5ldApUfTpUewouc3AKcHJlcm91dGluZwpUfQpUewouc3AKZmlsdGVyClR9 OlR7Ci5zcAowClR9OlR7Ci5zcAppcCwgaXA2LCBpbmV0LCBhcnAsIG5ldGRldgpUfTpUewou c3AKYWxsClR9ClR7Ci5zcApzZWN1cml0eQpUfTpUewouc3AKNTAKVH06VHsKLnNwCmlwLCBp cDYsIGluZXQKVH06VHsKLnNwCmFsbApUfQpUewouc3AKc3JjbmF0ClR9OlR7Ci5zcAoxMDAK VH06VHsKLnNwCmlwLCBpcDYsIGluZXQKVH06VHsKLnNwCnBvc3Ryb3V0aW5nClR9Ci5URQou c3AgMQouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1i cmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjcuXCBcJlN0YW5kYXJkIHByaW9yaXR5IG5h bWVzIGFuZCBob29rIGNvbXBhdGliaWxpdHkgZm9yIHRoZSBicmlkZ2UgZmFtaWx5Ci5UUwph bGxib3ggdGFiKDopOwpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBs dCBsdC4KVHsKLnNwCk5hbWUKVH06VHsKLnNwClZhbHVlClR9OlR7Ci5zcApIb29rcwpUfQpU ewouc3AKZHN0bmF0ClR9OlR7Ci5zcApcLTMwMApUfTpUewouc3AKcHJlcm91dGluZwpUfQpU ewouc3AKZmlsdGVyClR9OlR7Ci5zcApcLTIwMApUfTpUewouc3AKYWxsClR9ClR7Ci5zcApv dXQKVH06VHsKLnNwCjEwMApUfTpUewouc3AKb3V0cHV0ClR9ClR7Ci5zcApzcmNuYXQKVH06 VHsKLnNwCjMwMApUfTpUewouc3AKcG9zdHJvdXRpbmcKVH0KLlRFCi5zcCAxCi5zcApCYXNp YyBhcml0aG1ldGljIGV4cHJlc3Npb25zIChhZGRpdGlvbiBhbmQgc3VidHJhY3Rpb24pIGNh biBhbHNvIGJlIGFjaGlldmVkIHdpdGggdGhlc2Ugc3RhbmRhcmQgbmFtZXMgdG8gZWFzZSBy ZWxhdGl2ZSBwcmlvcml0aXppbmcsIGVcJi5nXCYuIFxmQm1hbmdsZSBcLSA1XGZSIHN0YW5k cyBmb3IgXGZCXC0xNTVcZlJcJi4gVmFsdWVzIHdpbGwgYWxzbyBiZSBwcmludGVkIGxpa2Ug dGhpcyB1bnRpbCB0aGUgdmFsdWUgaXMgbm90IGZ1cnRoZXIgdGhhbiAxMCBmb3JtIHRoZSBz dGFuZGFyZCB2YWx1ZVwmLgouc3AKQmFzZSBjaGFpbnMgYWxzbyBhbGxvdyB0byBzZXQgdGhl IGNoYWluXChjcXMgXGZCcG9saWN5XGZSLCBpXCYuZVwmLiB3aGF0IGhhcHBlbnMgdG8gcGFj a2V0cyBub3QgZXhwbGljaXRseSBhY2NlcHRlZCBvciByZWZ1c2VkIGluIGNvbnRhaW5lZCBy dWxlc1wmLiBTdXBwb3J0ZWQgcG9saWN5IHZhbHVlcyBhcmUgXGZCYWNjZXB0XGZSICh3aGlj aCBpcyB0aGUgZGVmYXVsdCkgb3IgXGZCZHJvcFxmUlwmLgouU0ggIlJVTEVTIgouc3AKLmlm IG4gXHtcCi5SUyA0Ci5cfQoubmYKe1xmQmFkZFxmUiB8IFxmQmluc2VydFxmUn0gXGZCcnVs ZVxmUiBbXGZJZmFtaWx5XGZSXSBcZkl0YWJsZVxmUiBcZkljaGFpblxmUiBbXGZCaGFuZGxl XGZSIFxmSWhhbmRsZVxmUiB8IFxmQmluZGV4XGZSIFxmSWluZGV4XGZSXSBcZklzdGF0ZW1l bnRcZlIgXCYuLi4gW1xmQmNvbW1lbnRcZlIgXGZJY29tbWVudFxmUl0KXGZCcmVwbGFjZSBy dWxlXGZSIFtcZklmYW1pbHlcZlJdIFxmSXRhYmxlXGZSIFxmSWNoYWluXGZSIFxmQmhhbmRs ZVxmUiBcZkloYW5kbGVcZlIgXGZJc3RhdGVtZW50XGZSIFwmLi4uIFtcZkJjb21tZW50XGZS IFxmSWNvbW1lbnRcZlJdClxmQmRlbGV0ZSBydWxlXGZSIFtcZklmYW1pbHlcZlJdIFxmSXRh YmxlXGZSIFxmSWNoYWluXGZSIFxmQmhhbmRsZVxmUiBcZkloYW5kbGVcZlIKLmZpCi5pZiBu IFx7XAouUkUKLlx9Ci5zcApSdWxlcyBhcmUgYWRkZWQgdG8gY2hhaW5zIGluIHRoZSBnaXZl biB0YWJsZVwmLiBJZiB0aGUgZmFtaWx5IGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBpcCBmYW1p bHkgaXMgdXNlZFwmLiBSdWxlcyBhcmUgY29uc3RydWN0ZWQgZnJvbSB0d28ga2luZHMgb2Yg Y29tcG9uZW50cyBhY2NvcmRpbmcgdG8gYSBzZXQgb2YgZ3JhbW1hdGljYWwgcnVsZXM6IGV4 cHJlc3Npb25zIGFuZCBzdGF0ZW1lbnRzXCYuCi5zcApUaGUgYWRkIGFuZCBpbnNlcnQgY29t bWFuZHMgc3VwcG9ydCBhbiBvcHRpb25hbCBsb2NhdGlvbiBzcGVjaWZpZXIsIHdoaWNoIGlz IGVpdGhlciBhIFxmSWhhbmRsZVxmUiBvciB0aGUgXGZJaW5kZXhcZlIgKHN0YXJ0aW5nIGF0 IHplcm8pIG9mIGFuIGV4aXN0aW5nIHJ1bGVcJi4gSW50ZXJuYWxseSwgcnVsZSBsb2NhdGlv bnMgYXJlIGFsd2F5cyBpZGVudGlmaWVkIGJ5IFxmSWhhbmRsZVxmUiBhbmQgdGhlIHRyYW5z bGF0aW9uIGZyb20gXGZJaW5kZXhcZlIgaGFwcGVucyBpbiB1c2Vyc3BhY2VcJi4gVGhpcyBo YXMgdHdvIHBvdGVudGlhbCBpbXBsaWNhdGlvbnMgaW4gY2FzZSBhIGNvbmN1cnJlbnQgcnVs ZXNldCBjaGFuZ2UgaGFwcGVucyBhZnRlciB0aGUgdHJhbnNsYXRpb24gd2FzIGRvbmU6IFRo ZSBlZmZlY3RpdmUgcnVsZSBpbmRleCBtaWdodCBjaGFuZ2UgaWYgYSBydWxlIHdhcyBpbnNl cnRlZCBvciBkZWxldGVkIGJlZm9yZSB0aGUgcmVmZXJyZWQgb25lXCYuIElmIHRoZSByZWZl cnJlZCBydWxlIHdhcyBkZWxldGVkLCB0aGUgY29tbWFuZCBpcyByZWplY3RlZCBieSB0aGUg a2VybmVsIGp1c3QgYXMgaWYgYW4gaW52YWxpZCBcZkloYW5kbGVcZlIgd2FzIGdpdmVuXCYu Ci5zcApBIFxmSWNvbW1lbnRcZlIgaXMgYSBzaW5nbGUgd29yZCBvciBhIGRvdWJsZVwtcXVv dGVkICgiKSBtdWx0aVwtd29yZCBzdHJpbmcgd2hpY2ggY2FuIGJlIHVzZWQgdG8gbWFrZSBu b3RlcyByZWdhcmRpbmcgdGhlIGFjdHVhbCBydWxlXCYuIFxmQk5vdGU6XGZSIElmIHlvdSB1 c2UgYmFzaCBmb3IgYWRkaW5nIHJ1bGVzLCB5b3UgaGF2ZSB0byBlc2NhcGUgdGhlIHF1b3Rh dGlvbiBtYXJrcywgZVwmLmdcJi4gXGUiZW5hYmxlIHNzaCBmb3Igc2VydmVyc1xlIlwmLgou VFMKdGFiKDopOwpsdCBsdApsdCBsdApsdCBsdApsdCBsdC4KVHsKLnNwClxmQmFkZFxmUgpU fTpUewouc3AKQWRkIGEgbmV3IHJ1bGUgZGVzY3JpYmVkIGJ5IHRoZSBsaXN0IG9mIHN0YXRl bWVudHNcJi4gVGhlIHJ1bGUgaXMgYXBwZW5kZWQgdG8gdGhlIGdpdmVuIGNoYWluIHVubGVz cyBhIGxvY2F0aW9uIGlzIHNwZWNpZmllZCwgaW4gd2hpY2ggY2FzZSB0aGUgcnVsZSBpcyBp bnNlcnRlZCBhZnRlciB0aGUgc3BlY2lmaWVkIHJ1bGVcJi4KVH0KVHsKLnNwClxmQmluc2Vy dFxmUgpUfTpUewouc3AKU2FtZSBhcyBcZkJhZGRcZlIgZXhjZXB0IHRoZSBydWxlIGlzIGlu c2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGNoYWluIG9yIGJlZm9yZSB0aGUgc3Bl Y2lmaWVkIHJ1bGVcJi4KVH0KVHsKLnNwClxmQnJlcGxhY2VcZlIKVH06VHsKLnNwClNpbWls YXIgdG8gXGZCYWRkXGZSLCBidXQgdGhlIHJ1bGUgcmVwbGFjZXMgdGhlIHNwZWNpZmllZCBy dWxlXCYuClR9ClR7Ci5zcApcZkJkZWxldGVcZlIKVH06VHsKLnNwCkRlbGV0ZSB0aGUgc3Bl Y2lmaWVkIHJ1bGVcJi4KVH0KLlRFCi5zcCAxCi5QUApcZkJhZGQgYSBydWxlIHRvIGlwIHRh YmxlIG91dHB1dCBjaGFpblxmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpuZnQg YWRkIHJ1bGUgZmlsdGVyIG91dHB1dCBpcCBkYWRkciAxOTJcJi4xNjhcJi4wXCYuMC8yNCBh Y2NlcHQgIyBcKihBcWlwIGZpbHRlclwqKEFxIGlzIGFzc3VtZWQKIyBzYW1lIGNvbW1hbmQs IHNsaWdodGx5IG1vcmUgdmVyYm9zZQpuZnQgYWRkIHJ1bGUgaXAgZmlsdGVyIG91dHB1dCBp cCBkYWRkciAxOTJcJi4xNjhcJi4wXCYuMC8yNCBhY2NlcHQKLmZpCi5pZiBuIFx7XAouUkUK Llx9Ci5QUApcZkJkZWxldGUgcnVsZSBmcm9tIGluZXQgdGFibGVcZlIuIAouc3AKLmlmIG4g XHtcCi5SUyA0Ci5cfQoubmYKIyBuZnQgXC1hIGxpc3QgcnVsZXNldAp0YWJsZSBpbmV0IGZp bHRlciB7CiAgICAgICAgY2hhaW4gaW5wdXQgewogICAgICAgICAgICAgICAgdHlwZSBmaWx0 ZXIgaG9vayBpbnB1dCBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OwogICAgICAgICAgICAg ICAgY3Qgc3RhdGUgZXN0YWJsaXNoZWQscmVsYXRlZCBhY2NlcHQgIyBoYW5kbGUgNAogICAg ICAgICAgICAgICAgaXAgc2FkZHIgMTBcJi4xXCYuMVwmLjEgdGNwIGRwb3J0IHNzaCBhY2Nl cHQgIyBoYW5kbGUgNQogICAgICAgICAgXCYuXCYuXCYuCiMgZGVsZXRlIHRoZSBydWxlIHdp dGggaGFuZGxlIDUKIyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBmaWx0ZXIgaW5wdXQgaGFuZGxl IDUKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU0ggIlNFVFMiCi5zcApuZnRhYmxlcyBv ZmZlcnMgdHdvIGtpbmRzIG9mIHNldCBjb25jZXB0c1wmLiBBbm9ueW1vdXMgc2V0cyBhcmUg c2V0cyB0aGF0IGhhdmUgbm8gc3BlY2lmaWMgbmFtZVwmLiBUaGUgc2V0IG1lbWJlcnMgYXJl IGVuY2xvc2VkIGluIGN1cmx5IGJyYWNlcywgd2l0aCBjb21tYXMgdG8gc2VwYXJhdGUgZWxl bWVudHMgd2hlbiBjcmVhdGluZyB0aGUgcnVsZSB0aGUgc2V0IGlzIHVzZWQgaW5cJi4gT25j ZSB0aGF0IHJ1bGUgaXMgcmVtb3ZlZCwgdGhlIHNldCBpcyByZW1vdmVkIGFzIHdlbGxcJi4g VGhleSBjYW5ub3QgYmUgdXBkYXRlZCwgaVwmLmVcJi4gb25jZSBhbiBhbm9ueW1vdXMgc2V0 IGlzIGRlY2xhcmVkIGl0IGNhbm5vdCBiZSBjaGFuZ2VkIGFueW1vcmUgZXhjZXB0IGJ5IHJl bW92aW5nL2FsdGVyaW5nIHRoZSBydWxlIHRoYXQgdXNlcyB0aGUgYW5vbnltb3VzIHNldFwm LgouUFAKXGZCVXNpbmcgYW5vbnltb3VzIHNldHMgdG8gYWNjZXB0IHBhcnRpY3VsYXIgc3Vi bmV0cyBhbmQgcG9ydHNcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKbmZ0IGFk ZCBydWxlIGZpbHRlciBpbnB1dCBpcCBzYWRkciB7IDEwXCYuMFwmLjBcJi4wLzgsIDE5Mlwm LjE2OFwmLjBcJi4wLzE2IH0gdGNwIGRwb3J0IHsgMjIsIDQ0MyB9IGFjY2VwdAouZmkKLmlm IG4gXHtcCi5SRQouXH0KLnNwCk5hbWVkIHNldHMgYXJlIHNldHMgdGhhdCBuZWVkIHRvIGJl IGRlZmluZWQgZmlyc3QgYmVmb3JlIHRoZXkgY2FuIGJlIHJlZmVyZW5jZWQgaW4gcnVsZXNc Ji4gVW5saWtlIGFub255bW91cyBzZXRzLCBlbGVtZW50cyBjYW4gYmUgYWRkZWQgdG8gb3Ig cmVtb3ZlZCBmcm9tIGEgbmFtZWQgc2V0IGF0IGFueSB0aW1lXCYuIFNldHMgYXJlIHJlZmVy ZW5jZWQgZnJvbSBydWxlcyB1c2luZyBhbiBAIHByZWZpeGVkIHRvIHRoZSBzZXRzIG5hbWVc Ji4KLlBQClxmQlVzaW5nIG5hbWVkIHNldHMgdG8gYWNjZXB0IGFkZHJlc3NlcyBhbmQgcG9y dHNcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKbmZ0IGFkZCBydWxlIGZpbHRl ciBpbnB1dCBpcCBzYWRkciBAYWxsb3dlZF9ob3N0cyB0Y3AgZHBvcnQgQGFsbG93ZWRfcG9y dHMgYWNjZXB0Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhlIHNldHMgYWxsb3dlZF9o b3N0cyBhbmQgYWxsb3dlZF9wb3J0cyBuZWVkIHRvIGJlIGNyZWF0ZWQgZmlyc3RcJi4gVGhl IG5leHQgc2VjdGlvbiBkZXNjcmliZXMgbmZ0IHNldCBzeW50YXggaW4gbW9yZSBkZXRhaWxc Ji4KLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQmFkZCBzZXRcZlIgW1xmSWZhbWls eVxmUl0gXGZJdGFibGVcZlIgXGZJc2V0XGZSIFxmQnsgdHlwZVxmUiBcZkl0eXBlXGZSIHwg XGZCdHlwZW9mXGZSIFxmSWV4cHJlc3Npb25cZlIgXGZCO1xmUiBbXGZCZmxhZ3NcZlIgXGZJ ZmxhZ3NcZlIgXGZCO1xmUl0gW1xmQnRpbWVvdXRcZlIgXGZJdGltZW91dFxmUiBcZkI7XGZS XSBbXGZCZ2NcLWludGVydmFsXGZSIFxmSWdjXC1pbnRlcnZhbFxmUiBcZkI7XGZSXSBbXGZC ZWxlbWVudHMgPSB7XGZSIFxmSWVsZW1lbnRcZlJbXGZCLFxmUiBcJi4uLl0gXGZCfSA7XGZS XSBbXGZCc2l6ZVxmUiBcZklzaXplXGZSIFxmQjtcZlJdIFtcZkJwb2xpY3lcZlIgXGZJcG9s aWN5XGZSIFxmQjtcZlJdIFtcZkJhdXRvXC1tZXJnZSA7XGZSXSBcZkJ9XGZSCntcZkJkZWxl dGVcZlIgfCBcZkJsaXN0XGZSIHwgXGZCZmx1c2hcZlJ9IFxmQnNldFxmUiBbXGZJZmFtaWx5 XGZSXSBcZkl0YWJsZVxmUiBcZklzZXRcZlIKXGZCbGlzdCBzZXRzXGZSIFtcZklmYW1pbHlc ZlJdClxmQmRlbGV0ZSBzZXRcZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFibGVcZlIgXGZCaGFu ZGxlXGZSIFxmSWhhbmRsZVxmUgp7XGZCYWRkXGZSIHwgXGZCZGVsZXRlXGZSfSBcZkJlbGVt ZW50XGZSIFtcZklmYW1pbHlcZlJdIFxmSXRhYmxlXGZSIFxmSXNldFxmUiBcZkJ7XGZSIFxm SWVsZW1lbnRcZlJbXGZCLFxmUiBcJi4uLl0gXGZCfVxmUgouZmkKLmlmIG4gXHtcCi5SRQou XH0KLnNwClNldHMgYXJlIGVsZW1lbnQgY29udGFpbmVycyBvZiBhIHVzZXJcLWRlZmluZWQg ZGF0YSB0eXBlLCB0aGV5IGFyZSB1bmlxdWVseSBpZGVudGlmaWVkIGJ5IGEgdXNlclwtZGVm aW5lZCBuYW1lIGFuZCBhdHRhY2hlZCB0byB0YWJsZXNcJi4gVGhlaXIgYmVoYXZpb3VyIGNh biBiZSB0dW5lZCB3aXRoIHRoZSBmbGFncyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgYXQgc2V0 IGNyZWF0aW9uIHRpbWVcJi4KLlRTCnRhYig6KTsKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQu ClR7Ci5zcApcZkJhZGRcZlIKVH06VHsKLnNwCkFkZCBhIG5ldyBzZXQgaW4gdGhlIHNwZWNp ZmllZCB0YWJsZVwmLiBTZWUgdGhlIFNldCBzcGVjaWZpY2F0aW9uIHRhYmxlIGJlbG93IGZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byBzcGVjaWZ5IGEgc2V0cyBwcm9wZXJ0 aWVzXCYuClR9ClR7Ci5zcApcZkJkZWxldGVcZlIKVH06VHsKLnNwCkRlbGV0ZSB0aGUgc3Bl Y2lmaWVkIHNldFwmLgpUfQpUewouc3AKXGZCbGlzdFxmUgpUfTpUewouc3AKRGlzcGxheSB0 aGUgZWxlbWVudHMgaW4gdGhlIHNwZWNpZmllZCBzZXRcJi4KVH0KVHsKLnNwClxmQmZsdXNo XGZSClR9OlR7Ci5zcApSZW1vdmUgYWxsIGVsZW1lbnRzIGZyb20gdGhlIHNwZWNpZmllZCBz ZXRcJi4KVH0KLlRFCi5zcCAxCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1m bGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmOC5cIFwmU2V0IHNw ZWNpZmljYXRpb25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29y ZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdC4KVHsKLnNwCnR5cGUKVH06VHsKLnNwCmRhdGEgdHlwZSBvZiBzZXQgZWxl bWVudHMKVH06VHsKLnNwCnN0cmluZzogaXB2NF9hZGRyLCBpcHY2X2FkZHIsIGV0aGVyX2Fk ZHIsIGluZXRfcHJvdG8sIGluZXRfc2VydmljZSwgbWFyawpUfQpUewouc3AKdHlwZW9mClR9 OlR7Ci5zcApkYXRhIHR5cGUgb2Ygc2V0IGVsZW1lbnQKVH06VHsKLnNwCmV4cHJlc3Npb24g dG8gZGVyaXZlIHRoZSBkYXRhIHR5cGUgZnJvbQpUfQpUewouc3AKZmxhZ3MKVH06VHsKLnNw CnNldCBmbGFncwpUfTpUewouc3AKc3RyaW5nOiBjb25zdGFudCwgZHluYW1pYywgaW50ZXJ2 YWwsIHRpbWVvdXQKVH0KVHsKLnNwCnRpbWVvdXQKVH06VHsKLnNwCnRpbWUgYW4gZWxlbWVu dCBzdGF5cyBpbiB0aGUgc2V0LCBtYW5kYXRvcnkgaWYgc2V0IGlzIGFkZGVkIHRvIGZyb20g dGhlIHBhY2tldCBwYXRoIChydWxlc2V0KVwmLgpUfTpUewouc3AKc3RyaW5nLCBkZWNpbWFs IGZvbGxvd2VkIGJ5IHVuaXRcJi4gVW5pdHMgYXJlOiBkLCBoLCBtLCBzClR9ClR7Ci5zcApn Y1wtaW50ZXJ2YWwKVH06VHsKLnNwCmdhcmJhZ2UgY29sbGVjdGlvbiBpbnRlcnZhbCwgb25s eSBhdmFpbGFibGUgd2hlbiB0aW1lb3V0IG9yIGZsYWcgdGltZW91dCBhcmUgYWN0aXZlClR9 OlR7Ci5zcApzdHJpbmcsIGRlY2ltYWwgZm9sbG93ZWQgYnkgdW5pdFwmLiBVbml0cyBhcmU6 IGQsIGgsIG0sIHMKVH0KVHsKLnNwCmVsZW1lbnRzClR9OlR7Ci5zcAplbGVtZW50cyBjb250 YWluZWQgYnkgdGhlIHNldApUfTpUewouc3AKc2V0IGRhdGEgdHlwZQpUfQpUewouc3AKc2l6 ZQpUfTpUewouc3AKbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHNldCwgbWFu ZGF0b3J5IGlmIHNldCBpcyBhZGRlZCB0byBmcm9tIHRoZSBwYWNrZXQgcGF0aCAocnVsZXNl dClcJi4KVH06VHsKLnNwCnVuc2lnbmVkIGludGVnZXIgKDY0IGJpdCkKVH0KVHsKLnNwCnBv bGljeQpUfTpUewouc3AKc2V0IHBvbGljeQpUfTpUewouc3AKc3RyaW5nOiBwZXJmb3JtYW5j ZSBbZGVmYXVsdF0sIG1lbW9yeQpUfQpUewouc3AKYXV0b1wtbWVyZ2UKVH06VHsKLnNwCmF1 dG9tYXRpYyBtZXJnZSBvZiBhZGphY2VudC9vdmVybGFwcGluZyBzZXQgZWxlbWVudHMgKG9u bHkgZm9yIGludGVydmFsIHNldHMpClR9OlR7Ci5zcApUfQouVEUKLnNwIDEKLlNIICJNQVBT Igouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCYWRkIG1hcFxmUiBbXGZJZmFtaWx5 XGZSXSBcZkl0YWJsZVxmUiBcZkltYXBcZlIgXGZCeyB0eXBlXGZSIFxmSXR5cGVcZlIgfCBc ZkJ0eXBlb2ZcZlIgXGZJZXhwcmVzc2lvblxmUiBbXGZCZmxhZ3NcZlIgXGZJZmxhZ3NcZlIg XGZCO1xmUl0gW1xmQmVsZW1lbnRzID0ge1xmUiBcZkllbGVtZW50XGZSW1xmQixcZlIgXCYu Li5dIFxmQn0gO1xmUl0gW1xmQnNpemVcZlIgXGZJc2l6ZVxmUiBcZkI7XGZSXSBbXGZCcG9s aWN5XGZSIFxmSXBvbGljeVxmUiBcZkI7XGZSXSBcZkJ9XGZSCntcZkJkZWxldGVcZlIgfCBc ZkJsaXN0XGZSIHwgXGZCZmx1c2hcZlJ9IFxmQm1hcFxmUiBbXGZJZmFtaWx5XGZSXSBcZkl0 YWJsZVxmUiBcZkltYXBcZlIKXGZCbGlzdCBtYXBzXGZSIFtcZklmYW1pbHlcZlJdCi5maQou aWYgbiBce1wKLlJFCi5cfQouc3AKTWFwcyBzdG9yZSBkYXRhIGJhc2VkIG9uIHNvbWUgc3Bl Y2lmaWMga2V5IHVzZWQgYXMgaW5wdXRcJi4gVGhleSBhcmUgdW5pcXVlbHkgaWRlbnRpZmll ZCBieSBhIHVzZXJcLWRlZmluZWQgbmFtZSBhbmQgYXR0YWNoZWQgdG8gdGFibGVzXCYuCi5U Uwp0YWIoOik7Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0LgpUewouc3AK XGZCYWRkXGZSClR9OlR7Ci5zcApBZGQgYSBuZXcgbWFwIGluIHRoZSBzcGVjaWZpZWQgdGFi bGVcJi4KVH0KVHsKLnNwClxmQmRlbGV0ZVxmUgpUfTpUewouc3AKRGVsZXRlIHRoZSBzcGVj aWZpZWQgbWFwXCYuClR9ClR7Ci5zcApcZkJsaXN0XGZSClR9OlR7Ci5zcApEaXNwbGF5IHRo ZSBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIG1hcFwmLgpUfQpUewouc3AKXGZCZmx1c2hc ZlIKVH06VHsKLnNwClJlbW92ZSBhbGwgZWxlbWVudHMgZnJvbSB0aGUgc3BlY2lmaWVkIG1h cFwmLgpUfQpUewouc3AKXGZCYWRkIGVsZW1lbnRcZlIKVH06VHsKLnNwCkNvbW1hXC1zZXBh cmF0ZWQgbGlzdCBvZiBlbGVtZW50cyB0byBhZGQgaW50byB0aGUgc3BlY2lmaWVkIG1hcFwm LgpUfQpUewouc3AKXGZCZGVsZXRlIGVsZW1lbnRcZlIKVH06VHsKLnNwCkNvbW1hXC1zZXBh cmF0ZWQgbGlzdCBvZiBlbGVtZW50IGtleXMgdG8gZGVsZXRlIGZyb20gdGhlIHNwZWNpZmll ZCBtYXBcJi4KVH0KLlRFCi5zcCAxCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFj ZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmOS5cIFwmTWFw IHNwZWNpZmljYXRpb25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5 d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnR5cGUK VH06VHsKLnNwCmRhdGEgdHlwZSBvZiBtYXAgZWxlbWVudHMKVH06VHsKLnNwCnN0cmluZzog aXB2NF9hZGRyLCBpcHY2X2FkZHIsIGV0aGVyX2FkZHIsIGluZXRfcHJvdG8sIGluZXRfc2Vy dmljZSwgbWFyaywgY291bnRlciwgcXVvdGFcJi4gQ291bnRlciBhbmQgcXVvdGEgY2FuXChj cXQgYmUgdXNlZCBhcyBrZXlzClR9ClR7Ci5zcAp0eXBlb2YKVH06VHsKLnNwCmRhdGEgdHlw ZSBvZiBzZXQgZWxlbWVudApUfTpUewouc3AKZXhwcmVzc2lvbiB0byBkZXJpdmUgdGhlIGRh dGEgdHlwZSBmcm9tClR9ClR7Ci5zcApmbGFncwpUfTpUewouc3AKbWFwIGZsYWdzClR9OlR7 Ci5zcApzdHJpbmc6IGNvbnN0YW50LCBpbnRlcnZhbApUfQpUewouc3AKZWxlbWVudHMKVH06 VHsKLnNwCmVsZW1lbnRzIGNvbnRhaW5lZCBieSB0aGUgbWFwClR9OlR7Ci5zcAptYXAgZGF0 YSB0eXBlClR9ClR7Ci5zcApzaXplClR9OlR7Ci5zcAptYXhpbXVtIG51bWJlciBvZiBlbGVt ZW50cyBpbiB0aGUgbWFwClR9OlR7Ci5zcAp1bnNpZ25lZCBpbnRlZ2VyICg2NCBiaXQpClR9 ClR7Ci5zcApwb2xpY3kKVH06VHsKLnNwCm1hcCBwb2xpY3kKVH06VHsKLnNwCnN0cmluZzog cGVyZm9ybWFuY2UgW2RlZmF1bHRdLCBtZW1vcnkKVH0KLlRFCi5zcCAxCi5TSCAiRUxFTUVO VFMiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgp7XGZCYWRkXGZSIHwgXGZCY3JlYXRl XGZSIHwgXGZCZGVsZXRlXGZSIHwgXGZCZ2V0XGZSIH0gXGZCZWxlbWVudFxmUiBbXGZJZmFt aWx5XGZSXSBcZkl0YWJsZVxmUiBcZklzZXRcZlIgXGZCe1xmUiBcZklFTEVNRU5UXGZSW1xm QixcZlIgXCYuLi5dIFxmQn1cZlIKClxmSUVMRU1FTlRcZlIgOj0gXGZJa2V5X2V4cHJlc3Np b25cZlIgXGZJT1BUSU9OU1xmUiBbXGZCOlxmUiBcZkl2YWx1ZV9leHByZXNzaW9uXGZSXQpc ZklPUFRJT05TXGZSIDo9IFtcZkJ0aW1lb3V0XGZSIFxmSVRJTUVTUEVDXGZSXSBbXGZCZXhw aXJlc1xmUiBcZklUSU1FU1BFQ1xmUl0gW1xmQmNvbW1lbnRcZlIgXGZJc3RyaW5nXGZSXQpc ZklUSU1FU1BFQ1xmUiA6PSBbXGZJbnVtXGZSXGZCZFxmUl1bXGZJbnVtXGZSXGZCaFxmUl1b XGZJbnVtXGZSXGZCbVxmUl1bXGZJbnVtXGZSW1xmQnNcZlJdXQouZmkKLmlmIG4gXHtcCi5S RQouXH0KLnNwCkVsZW1lbnRcLXJlbGF0ZWQgY29tbWFuZHMgYWxsb3cgdG8gY2hhbmdlIGNv bnRlbnRzIG9mIG5hbWVkIHNldHMgYW5kIG1hcHNcJi4gXGZJa2V5X2V4cHJlc3Npb25cZlIg aXMgdHlwaWNhbGx5IGEgdmFsdWUgbWF0Y2hpbmcgdGhlIHNldCB0eXBlXCYuIFxmSXZhbHVl X2V4cHJlc3Npb25cZlIgaXMgbm90IGFsbG93ZWQgaW4gc2V0cyBidXQgbWFuZGF0b3J5IHdo ZW4gYWRkaW5nIHRvIG1hcHMsIHdoZXJlIGl0IG1hdGNoZXMgdGhlIGRhdGEgcGFydCBpbiBp dFwoY3FzIHR5cGUgZGVmaW5pdGlvblwmLiBXaGVuIGRlbGV0aW5nIGZyb20gbWFwcywgaXQg bWF5IGJlIHNwZWNpZmllZCBidXQgaXMgb3B0aW9uYWwgYXMgXGZJa2V5X2V4cHJlc3Npb25c ZlIgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgZWxlbWVudFwmLgouc3AKXGZCY3JlYXRlXGZS IGNvbW1hbmQgaXMgc2ltaWxhciB0byBcZkJhZGRcZlIgd2l0aCB0aGUgZXhjZXB0aW9uIHRo YXQgbm9uZSBvZiB0aGUgbGlzdGVkIGVsZW1lbnRzIG1heSBhbHJlYWR5IGV4aXN0XCYuCi5z cApcZkJnZXRcZlIgY29tbWFuZCBpcyB1c2VmdWwgdG8gY2hlY2sgaWYgYW4gZWxlbWVudCBp cyBjb250YWluZWQgaW4gYSBzZXQgd2hpY2ggbWF5IGJlIG5vblwtdHJpdmlhbCBpbiB2ZXJ5 IGxhcmdlIGFuZC9vciBpbnRlcnZhbCBzZXRzXCYuIEluIHRoZSBsYXR0ZXIgY2FzZSwgdGhl IGNvbnRhaW5pbmcgaW50ZXJ2YWwgaXMgcmV0dXJuZWQgaW5zdGVhZCBvZiBqdXN0IHRoZSBl bGVtZW50IGl0c2VsZlwmLgouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxh ZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjEwLlwgXCZFbGVtZW50 IG9wdGlvbnMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7Ck9wdGlvbgpUfTpUewpE ZXNjcmlwdGlvbgpUfQouVCYKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcAp0aW1lb3V0ClR9 OlR7Ci5zcAp0aW1lb3V0IHZhbHVlIGZvciBzZXRzL21hcHMgd2l0aCBmbGFnIFxmQnRpbWVv dXRcZlIKVH0KVHsKLnNwCmV4cGlyZXMKVH06VHsKLnNwCnRoZSB0aW1lIHVudGlsIGdpdmVu IGVsZW1lbnQgZXhwaXJlcywgdXNlZnVsIGZvciBydWxlc2V0IHJlcGxpY2F0aW9uIG9ubHkK VH0KVHsKLnNwCmNvbW1lbnQKVH06VHsKLnNwCnBlciBlbGVtZW50IGNvbW1lbnQgZmllbGQK VH0KLlRFCi5zcCAxCi5TSCAiRkxPV1RBQkxFUyIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0K Lm5mCntcZkJhZGRcZlIgfCBcZkJjcmVhdGVcZlJ9IFxmQmZsb3d0YWJsZVxmUiBbXGZJZmFt aWx5XGZSXSBcZkl0YWJsZVxmUiBcZklmbG93dGFibGVcZlIgXGZCeyBob29rXGZSIFxmSWhv b2tcZlIgXGZCcHJpb3JpdHlcZlIgXGZJcHJpb3JpdHlcZlIgXGZCOyBkZXZpY2VzID0ge1xm UiBcZklkZXZpY2VcZlJbXGZCLFxmUiBcJi4uLl0gXGZCfSA7IH1cZlIKXGZCbGlzdCBmbG93 dGFibGVzXGZSIFtcZklmYW1pbHlcZlJdCntcZkJkZWxldGVcZlIgfCBcZkJsaXN0XGZSfSBc ZkJmbG93dGFibGVcZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFibGVcZlIgXGZJZmxvd3RhYmxl XGZSClxmQmRlbGV0ZVxmUiBcZkJmbG93dGFibGVcZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFi bGVcZlIgXGZCaGFuZGxlXGZSIFxmSWhhbmRsZVxmUgouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwCkZsb3d0YWJsZXMgYWxsb3cgeW91IHRvIGFjY2VsZXJhdGUgcGFja2V0IGZvcndhcmRp bmcgaW4gc29mdHdhcmVcJi4gRmxvd3RhYmxlcyBlbnRyaWVzIGFyZSByZXByZXNlbnRlZCB0 aHJvdWdoIGEgdHVwbGUgdGhhdCBpcyBjb21wb3NlZCBvZiB0aGUgaW5wdXQgaW50ZXJmYWNl LCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3MsIHNvdXJjZSBhbmQgZGVzdGluYXRp b24gcG9ydDsgYW5kIGxheWVyIDMvNCBwcm90b2NvbHNcJi4gRWFjaCBlbnRyeSBhbHNvIGNh Y2hlcyB0aGUgZGVzdGluYXRpb24gaW50ZXJmYWNlIGFuZCB0aGUgZ2F0ZXdheSBhZGRyZXNz IFwtIHRvIHVwZGF0ZSB0aGUgZGVzdGluYXRpb24gbGlua1wtbGF5ZXIgYWRkcmVzcyBcLSB0 byBmb3J3YXJkIHBhY2tldHNcJi4gVGhlIHR0bCBhbmQgaG9wbGltaXQgZmllbGRzIGFyZSBh bHNvIGRlY3JlbWVudGVkXCYuIEhlbmNlLCBmbG93dGFibGVzIHByb3ZpZGVzIGFuIGFsdGVy bmF0aXZlIHBhdGggdGhhdCBhbGxvdyBwYWNrZXRzIHRvIGJ5cGFzcyB0aGUgY2xhc3NpYyBm b3J3YXJkaW5nIHBhdGhcJi4gRmxvd3RhYmxlcyByZXNpZGUgaW4gdGhlIGluZ3Jlc3MgaG9v ayB0aGF0IGlzIGxvY2F0ZWQgYmVmb3JlIHRoZSBwcmVyb3V0aW5nIGhvb2tcJi4gWW91IGNh biBzZWxlY3Qgd2hpY2ggZmxvd3MgeW91IHdhbnQgdG8gb2ZmbG9hZCB0aHJvdWdoIHRoZSBm bG93IGV4cHJlc3Npb24gZnJvbSB0aGUgZm9yd2FyZCBjaGFpblwmLiBGbG93dGFibGVzIGFy ZSBpZGVudGlmaWVkIGJ5IHRoZWlyIGFkZHJlc3MgZmFtaWx5IGFuZCB0aGVpciBuYW1lXCYu IFRoZSBhZGRyZXNzIGZhbWlseSBtdXN0IGJlIG9uZSBvZiBpcCwgaXA2LCBvciBpbmV0XCYu IFRoZSBpbmV0IGFkZHJlc3MgZmFtaWx5IGlzIGEgZHVtbXkgZmFtaWx5IHdoaWNoIGlzIHVz ZWQgdG8gY3JlYXRlIGh5YnJpZCBJUHY0L0lQdjYgdGFibGVzXCYuIFdoZW4gbm8gYWRkcmVz cyBmYW1pbHkgaXMgc3BlY2lmaWVkLCBpcCBpcyB1c2VkIGJ5IGRlZmF1bHRcJi4KLnNwClRo ZSBcZkJwcmlvcml0eVxmUiBjYW4gYmUgYSBzaWduZWQgaW50ZWdlciBvciBcZkJmaWx0ZXJc ZlIgd2hpY2ggc3RhbmRzIGZvciAwXCYuIEFkZGl0aW9uIGFuZCBzdWJ0cmFjdGlvbiBjYW4g YmUgdXNlZCB0byBzZXQgcmVsYXRpdmUgcHJpb3JpdHksIGVcJi5nXCYuIGZpbHRlciArIDUg ZXF1YWxzIHRvIDVcJi4KLlRTCnRhYig6KTsKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcApc ZkJhZGRcZlIKVH06VHsKLnNwCkFkZCBhIG5ldyBmbG93dGFibGUgZm9yIHRoZSBnaXZlbiBm YW1pbHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZVwmLgpUfQpUewouc3AKXGZCZGVsZXRlXGZSClR9 OlR7Ci5zcApEZWxldGUgdGhlIHNwZWNpZmllZCBmbG93dGFibGVcJi4KVH0KVHsKLnNwClxm Qmxpc3RcZlIKVH06VHsKLnNwCkxpc3QgYWxsIGZsb3d0YWJsZXNcJi4KVH0KLlRFCi5zcCAx Ci5TSCAiU1RBVEVGVUwgT0JKRUNUUyIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCntc ZkJhZGRcZlIgfCBcZkJkZWxldGVcZlIgfCBcZkJsaXN0XGZSIHwgXGZCcmVzZXRcZlJ9IFxm SXR5cGVcZlIgW1xmSWZhbWlseVxmUl0gXGZJdGFibGVcZlIgXGZJb2JqZWN0XGZSClxmQmRl bGV0ZVxmUiBcZkl0eXBlXGZSIFtcZklmYW1pbHlcZlJdIFxmSXRhYmxlXGZSIFxmQmhhbmRs ZVxmUiBcZkloYW5kbGVcZlIKXGZCbGlzdCBjb3VudGVyc1xmUiBbXGZJZmFtaWx5XGZSXQpc ZkJsaXN0IHF1b3Rhc1xmUiBbXGZJZmFtaWx5XGZSXQouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwClN0YXRlZnVsIG9iamVjdHMgYXJlIGF0dGFjaGVkIHRvIHRhYmxlcyBhbmQgYXJlIGlk ZW50aWZpZWQgYnkgYW4gdW5pcXVlIG5hbWVcJi4gVGhleSBncm91cCBzdGF0ZWZ1bCBpbmZv cm1hdGlvbiBmcm9tIHJ1bGVzLCB0byByZWZlcmVuY2UgdGhlbSBpbiBydWxlcyB0aGUga2V5 d29yZHMgInR5cGUgbmFtZSIgYXJlIHVzZWQgZVwmLmdcJi4gImNvdW50ZXIgbmFtZSJcJi4K LlRTCnRhYig6KTsKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcApcZkJhZGRcZlIK VH06VHsKLnNwCkFkZCBhIG5ldyBzdGF0ZWZ1bCBvYmplY3QgaW4gdGhlIHNwZWNpZmllZCB0 YWJsZVwmLgpUfQpUewouc3AKXGZCZGVsZXRlXGZSClR9OlR7Ci5zcApEZWxldGUgdGhlIHNw ZWNpZmllZCBvYmplY3RcJi4KVH0KVHsKLnNwClxmQmxpc3RcZlIKVH06VHsKLnNwCkRpc3Bs YXkgc3RhdGVmdWwgaW5mb3JtYXRpb24gdGhlIG9iamVjdCBob2xkc1wmLgpUfQpUewouc3AK XGZCcmVzZXRcZlIKVH06VHsKLnNwCkxpc3RcLWFuZFwtcmVzZXQgc3RhdGVmdWwgb2JqZWN0 XCYuClR9Ci5URQouc3AgMQouU1MgIkNUIEhFTFBFUiIKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mClxmQmN0IGhlbHBlclxmUiBcZkloZWxwZXJcZlIgXGZCeyB0eXBlXGZSIFxmSXR5 cGVcZlIgXGZCcHJvdG9jb2xcZlIgXGZJcHJvdG9jb2xcZlIgXGZCO1xmUiBbXGZCbDNwcm90 b1xmUiBcZklmYW1pbHlcZlIgXGZCO1xmUl0gXGZCfVxmUgouZmkKLmlmIG4gXHtcCi5SRQou XH0KLnNwCkN0IGhlbHBlciBpcyB1c2VkIHRvIGRlZmluZSBjb25uZWN0aW9uIHRyYWNraW5n IGhlbHBlcnMgdGhhdCBjYW4gdGhlbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhl IFxmQmN0IGhlbHBlciBzZXRcZlIgc3RhdGVtZW50XCYuIFxmSXR5cGVcZlIgYW5kIFxmSXBy b3RvY29sXGZSIGFyZSBtYW5kYXRvcnksIGwzcHJvdG8gaXMgZGVyaXZlZCBmcm9tIHRoZSB0 YWJsZSBmYW1pbHkgYnkgZGVmYXVsdCwgaVwmLmVcJi4gaW4gdGhlIGluZXQgdGFibGUgdGhl IGtlcm5lbCB3aWxsIHRyeSB0byBsb2FkIGJvdGggdGhlIGlwdjQgYW5kIGlwdjYgaGVscGVy IGJhY2tlbmRzLCBpZiB0aGV5IGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGtlcm5lbFwmLgouc3AK Lml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFn IDEKLmJyCi5CIFRhYmxlXCBcJjExLlwgXCZjb25udHJhY2sgaGVscGVyIHNwZWNpZmljYXRp b25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpE ZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dC4KVHsKLnNwCnR5cGUKVH06VHsKLnNwCm5hbWUgb2YgaGVscGVyIHR5cGUKVH06VHsKLnNw CnF1b3RlZCBzdHJpbmcgKGVcJi5nXCYuICJmdHAiKQpUfQpUewouc3AKcHJvdG9jb2wKVH06 VHsKLnNwCmxheWVyIDQgcHJvdG9jb2wgb2YgdGhlIGhlbHBlcgpUfTpUewouc3AKc3RyaW5n IChlXCYuZ1wmLiBpcCkKVH0KVHsKLnNwCmwzcHJvdG8KVH06VHsKLnNwCmxheWVyIDMgcHJv dG9jb2wgb2YgdGhlIGhlbHBlcgpUfTpUewouc3AKYWRkcmVzcyBmYW1pbHkgKGVcJi5nXCYu IGlwKQpUfQouVEUKLnNwIDEKLlBQClxmQmRlZmluaW5nIGFuZCBhc3NpZ25pbmcgZnRwIGhl bHBlclxmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpVbmxpa2UgaXB0YWJsZXMs IGhlbHBlciBhc3NpZ25tZW50IG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgY29u bnRyYWNrCmxvb2t1cCBoYXMgY29tcGxldGVkLCBmb3IgZXhhbXBsZSB3aXRoIHRoZSBkZWZh dWx0IDAgaG9vayBwcmlvcml0eVwmLgoKdGFibGUgaW5ldCBteWhlbHBlcnMgewogIGN0IGhl bHBlciBmdHBcLXN0YW5kYXJkIHsKICAgICB0eXBlICJmdHAiIHByb3RvY29sIHRjcAogIH0K ICBjaGFpbiBwcmVyb3V0aW5nIHsKICAgICAgdHlwZSBmaWx0ZXIgaG9vayBwcmVyb3V0aW5n IHByaW9yaXR5IDA7CiAgICAgIHRjcCBkcG9ydCAyMSBjdCBoZWxwZXIgc2V0ICJmdHBcLXN0 YW5kYXJkIgogIH0KfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiQ1QgVElNRU9V VCIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQmN0IHRpbWVvdXRcZlIgXGZJbmFt ZVxmUiBcZkJ7IHByb3RvY29sXGZSIFxmSXByb3RvY29sXGZSIFxmQjsgcG9saWN5ID0ge1xm UiBcZklzdGF0ZVxmUlxmQjpcZlIgXGZJdmFsdWVcZlIgW1xmQixcZlIgXCYuLi5dIFxmQn0g O1xmUiBbXGZCbDNwcm90b1xmUiBcZklmYW1pbHlcZlIgXGZCO1xmUl0gXGZCfVxmUgouZmkK LmlmIG4gXHtcCi5SRQouXH0KLnNwCkN0IHRpbWVvdXQgaXMgdXNlZCB0byB1cGRhdGUgY29u bmVjdGlvbiB0cmFja2luZyB0aW1lb3V0IHZhbHVlc1wmLlRpbWVvdXQgcG9saWNpZXMgYXJl IGFzc2lnbmVkIHdpdGggdGhlIFxmQmN0IHRpbWVvdXQgc2V0XGZSIHN0YXRlbWVudFwmLiBc Zklwcm90b2NvbFxmUiBhbmQgXGZJcG9saWN5XGZSIGFyZSBtYW5kYXRvcnksIGwzcHJvdG8g aXMgZGVyaXZlZCBmcm9tIHRoZSB0YWJsZSBmYW1pbHkgYnkgZGVmYXVsdFwmLgouc3AKLml0 IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEK LmJyCi5CIFRhYmxlXCBcJjEyLlwgXCZjb25udHJhY2sgdGltZW91dCBzcGVjaWZpY2F0aW9u cwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVz Y3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQK bHQgbHQgbHQuClR7Ci5zcApwcm90b2NvbApUfTpUewouc3AKbGF5ZXIgNCBwcm90b2NvbCBv ZiB0aGUgdGltZW91dCBvYmplY3QKVH06VHsKLnNwCnN0cmluZyAoZVwmLmdcJi4gaXApClR9 ClR7Ci5zcApzdGF0ZQpUfTpUewouc3AKY29ubmVjdGlvbiBzdGF0ZSBuYW1lClR9OlR7Ci5z cApzdHJpbmcgKGVcJi5nXCYuICJlc3RhYmxpc2hlZCIpClR9ClR7Ci5zcAp2YWx1ZQpUfTpU ewouc3AKdGltZW91dCB2YWx1ZSBmb3IgY29ubmVjdGlvbiBzdGF0ZQpUfTpUewouc3AKdW5z aWduZWQgaW50ZWdlcgpUfQpUewouc3AKbDNwcm90bwpUfTpUewouc3AKbGF5ZXIgMyBwcm90 b2NvbCBvZiB0aGUgdGltZW91dCBvYmplY3QKVH06VHsKLnNwCmFkZHJlc3MgZmFtaWx5IChl XCYuZ1wmLiBpcCkKVH0KLlRFCi5zcCAxCi5QUApcZkJkZWZpbmluZyBhbmQgYXNzaWduaW5n IGN0IHRpbWVvdXQgcG9saWN5XGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCnRh YmxlIGlwIGZpbHRlciB7CiAgICAgICAgY3QgdGltZW91dCBjdXN0b210aW1lb3V0IHsKICAg ICAgICAgICAgICAgIHByb3RvY29sIHRjcDsKICAgICAgICAgICAgICAgIGwzcHJvdG8gaXAK ICAgICAgICAgICAgICAgIHBvbGljeSA9IHsgZXN0YWJsaXNoZWQ6IDEyMCwgY2xvc2U6IDIw IH0KICAgICAgICB9CgogICAgICAgIGNoYWluIG91dHB1dCB7CiAgICAgICAgICAgICAgICB0 eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7 CiAgICAgICAgICAgICAgICBjdCB0aW1lb3V0IHNldCAiY3VzdG9tdGltZW91dCIKICAgICAg ICB9Cn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5QUApcZkJ0ZXN0aW5nIHRoZSB1cGRhdGVk IHRpbWVvdXQgcG9saWN5XGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiUgY29u bnRyYWNrIFwtRQoKSXQgc2hvdWxkIGRpc3BsYXk6CgpbVVBEQVRFXSB0Y3AgICAgICA2IDEy MCBFU1RBQkxJU0hFRCBzcmM9MTcyXCYuMTZcJi4xOVwmLjEyOCBkc3Q9MTcyXCYuMTZcJi4x OVwmLjEKc3BvcnQ9MjIgZHBvcnQ9NDEzNjAgW1VOUkVQTElFRF0gc3JjPTE3MlwmLjE2XCYu MTlcJi4xIGRzdD0xNzJcJi4xNlwmLjE5XCYuMTI4CnNwb3J0PTQxMzYwIGRwb3J0PTIyCi5m aQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNTICJDVCBFWFBFQ1RBVElPTiIKLnNwCi5pZiBu IFx7XAouUlMgNAouXH0KLm5mClxmQmN0IGV4cGVjdGF0aW9uXGZSIFxmSW5hbWVcZlIgXGZC eyBwcm90b2NvbFxmUiBcZklwcm90b2NvbFxmUiBcZkI7IGRwb3J0XGZSIFxmSWRwb3J0XGZS IFxmQjsgdGltZW91dFxmUiBcZkl0aW1lb3V0XGZSIFxmQjsgc2l6ZVxmUiBcZklzaXplXGZS IFxmQjsgWypsM3Byb3RvXGZSIFxmSWZhbWlseVxmUiBcZkI7XGZSXSBcZkJ9XGZSCi5maQou aWYgbiBce1wKLlJFCi5cfQouc3AKQ3QgZXhwZWN0YXRpb24gaXMgdXNlZCB0byBjcmVhdGUg Y29ubmVjdGlvbiBleHBlY3RhdGlvbnNcJi4gRXhwZWN0YXRpb25zIGFyZSBhc3NpZ25lZCB3 aXRoIHRoZSBcZkJjdCBleHBlY3RhdGlvbiBzZXRcZlIgc3RhdGVtZW50XCYuIFxmSXByb3Rv Y29sXGZSLCBcZklkcG9ydFxmUiwgXGZJdGltZW91dFxmUiBhbmQgXGZJc2l6ZVxmUiBhcmUg bWFuZGF0b3J5LCBsM3Byb3RvIGlzIGRlcml2ZWQgZnJvbSB0aGUgdGFibGUgZmFtaWx5IGJ5 IGRlZmF1bHRcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQou bnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYxMy5cIFwmY29ubnRyYWNrIGV4 cGVjdGF0aW9uIHNwZWNpZmljYXRpb25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0 Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnByb3Rv Y29sClR9OlR7Ci5zcApsYXllciA0IHByb3RvY29sIG9mIHRoZSBleHBlY3RhdGlvbiBvYmpl Y3QKVH06VHsKLnNwCnN0cmluZyAoZVwmLmdcJi4gaXApClR9ClR7Ci5zcApkcG9ydApUfTpU ewouc3AKZGVzdGluYXRpb24gcG9ydCBvZiBleHBlY3RlZCBjb25uZWN0aW9uClR9OlR7Ci5z cAp1bnNpZ25lZCBpbnRlZ2VyClR9ClR7Ci5zcAp0aW1lb3V0ClR9OlR7Ci5zcAp0aW1lb3V0 IHZhbHVlIGZvciBleHBlY3RhdGlvbgpUfTpUewouc3AKdW5zaWduZWQgaW50ZWdlcgpUfQpU ewouc3AKc2l6ZQpUfTpUewouc3AKc2l6ZSB2YWx1ZSBmb3IgZXhwZWN0YXRpb24KVH06VHsK LnNwCnVuc2lnbmVkIGludGVnZXIKVH0KVHsKLnNwCmwzcHJvdG8KVH06VHsKLnNwCmxheWVy IDMgcHJvdG9jb2wgb2YgdGhlIGV4cGVjdGF0aW9uIG9iamVjdApUfTpUewouc3AKYWRkcmVz cyBmYW1pbHkgKGVcJi5nXCYuIGlwKQpUfQouVEUKLnNwIDEKLlBQClxmQmRlZmluaW5nIGFu ZCBhc3NpZ25pbmcgY3QgZXhwZWN0YXRpb24gcG9saWN5XGZSLiAKLnNwCi5pZiBuIFx7XAou UlMgNAouXH0KLm5mCnRhYmxlIGlwIGZpbHRlciB7CiAgICAgICAgY3QgZXhwZWN0YXRpb24g ZXhwZWN0IHsKICAgICAgICAgICAgICAgIHByb3RvY29sIHVkcAogICAgICAgICAgICAgICAg ZHBvcnQgOTg3NgogICAgICAgICAgICAgICAgdGltZW91dCAybQogICAgICAgICAgICAgICAg c2l6ZSA4CiAgICAgICAgICAgICAgICBsM3Byb3RvIGlwCiAgICAgICAgfQoKICAgICAgICBj aGFpbiBpbnB1dCB7CiAgICAgICAgICAgICAgICB0eXBlIGZpbHRlciBob29rIGlucHV0IHBy aW9yaXR5IGZpbHRlcjsgcG9saWN5IGFjY2VwdDsKICAgICAgICAgICAgICAgIGN0IGV4cGVj dGF0aW9uIHNldCAiZXhwZWN0IgogICAgICAgIH0KfQouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwCi5TUyAiQ09VTlRFUiIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQmNvdW50 ZXJcZlIgW1xmSXBhY2tldHMgYnl0ZXNcZlJdCi5maQouaWYgbiBce1wKLlJFCi5cfQouc3AK Lml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFn IDEKLmJyCi5CIFRhYmxlXCBcJjE0LlwgXCZDb3VudGVyIHNwZWNpZmljYXRpb25zCi5UUwph bGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlv bgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnBhY2tldHMK VH06VHsKLnNwCmluaXRpYWwgY291bnQgb2YgcGFja2V0cwpUfTpUewouc3AKdW5zaWduZWQg aW50ZWdlciAoNjQgYml0KQpUfQpUewouc3AKYnl0ZXMKVH06VHsKLnNwCmluaXRpYWwgY291 bnQgb2YgYnl0ZXMKVH06VHsKLnNwCnVuc2lnbmVkIGludGVnZXIgKDY0IGJpdCkKVH0KLlRF Ci5zcCAxCi5TUyAiUVVPVEEiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJxdW90 YVxmUiBbXGZCb3ZlclxmUiB8IFxmQnVudGlsXGZSXSBbXGZJdXNlZFxmUl0KLmZpCi5pZiBu IFx7XAouUkUKLlx9Ci5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEK Lm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMTUuXCBcJlF1b3RhIHNwZWNp ZmljYXRpb25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApU fTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdC4K VHsKLnNwCnF1b3RhClR9OlR7Ci5zcApxdW90YSBsaW1pdCwgdXNlZCBhcyB0aGUgcXVvdGEg bmFtZQpUfTpUewouc3AKVHdvIGFyZ3VtZW50cywgdW5zaWduZWQgaW50ZWdlciAoNjQgYml0 KSBhbmQgc3RyaW5nOiBieXRlcywga2J5dGVzLCBtYnl0ZXNcJi4gIm92ZXIiIGFuZCAidW50 aWwiIGdvIGJlZm9yZSB0aGVzZSBhcmd1bWVudHMKVH0KVHsKLnNwCnVzZWQKVH06VHsKLnNw CmluaXRpYWwgdmFsdWUgb2YgdXNlZCBxdW90YQpUfTpUewouc3AKVHdvIGFyZ3VtZW50cywg dW5zaWduZWQgaW50ZWdlciAoNjQgYml0KSBhbmQgc3RyaW5nOiBieXRlcywga2J5dGVzLCBt Ynl0ZXMKVH0KLlRFCi5zcCAxCi5TSCAiRVhQUkVTU0lPTlMiCi5zcApFeHByZXNzaW9ucyBy ZXByZXNlbnQgdmFsdWVzLCBlaXRoZXIgY29uc3RhbnRzIGxpa2UgbmV0d29yayBhZGRyZXNz ZXMsIHBvcnQgbnVtYmVycywgZXRjXCYuLCBvciBkYXRhIGdhdGhlcmVkIGZyb20gdGhlIHBh Y2tldCBkdXJpbmcgcnVsZXNldCBldmFsdWF0aW9uXCYuIEV4cHJlc3Npb25zIGNhbiBiZSBj b21iaW5lZCB1c2luZyBiaW5hcnksIGxvZ2ljYWwsIHJlbGF0aW9uYWwgYW5kIG90aGVyIHR5 cGVzIG9mIGV4cHJlc3Npb25zIHRvIGZvcm0gY29tcGxleCBvciByZWxhdGlvbmFsIChtYXRj aCkgZXhwcmVzc2lvbnNcJi4gVGhleSBhcmUgYWxzbyB1c2VkIGFzIGFyZ3VtZW50cyB0byBj ZXJ0YWluIHR5cGVzIG9mIG9wZXJhdGlvbnMsIGxpa2UgTkFULCBwYWNrZXQgbWFya2luZyBl dGNcJi4KLnNwCkVhY2ggZXhwcmVzc2lvbiBoYXMgYSBkYXRhIHR5cGUsIHdoaWNoIGRldGVy bWluZXMgdGhlIHNpemUsIHBhcnNpbmcgYW5kIHJlcHJlc2VudGF0aW9uIG9mIHN5bWJvbGlj IHZhbHVlcyBhbmQgdHlwZSBjb21wYXRpYmlsaXR5IHdpdGggb3RoZXIgZXhwcmVzc2lvbnNc Ji4KLlNTICJERVNDUklCRSBDT01NQU5EIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYK XGZCZGVzY3JpYmVcZlIgXGZJZXhwcmVzc2lvblxmUiB8IFxmSWRhdGEgdHlwZVxmUgouZmkK LmlmIG4gXHtcCi5SRQouXH0KLnNwClRoZSBcZkJkZXNjcmliZVxmUiBjb21tYW5kIHNob3dz IGluZm9ybWF0aW9uIGFib3V0IHRoZSB0eXBlIG9mIGFuIGV4cHJlc3Npb24gYW5kIGl0cyBk YXRhIHR5cGVcJi4gQSBkYXRhIHR5cGUgbWF5IGFsc28gYmUgZ2l2ZW4sIGluIHdoaWNoIG5m dCB3aWxsIGRpc3BsYXkgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdHlwZVwmLgouUFAK XGZCVGhlIGRlc2NyaWJlIGNvbW1hbmRcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQou bmYKJCBuZnQgZGVzY3JpYmUgdGNwIGZsYWdzCnBheWxvYWQgZXhwcmVzc2lvbiwgZGF0YXR5 cGUgdGNwX2ZsYWcgKFRDUCBmbGFnKSAoYmFzZXR5cGUgYml0bWFzaywgaW50ZWdlciksIDgg Yml0cwoKcHJlZGVmaW5lZCBzeW1ib2xpYyBjb25zdGFudHM6CmZpbiAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDEKc3luICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMgpy c3QgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0CnBzaCAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDgKYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAp1cmcg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCmVjbiAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NDAKY3dyICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAouZmkKLmlm IG4gXHtcCi5SRQouXH0KLnNwCi5TSCAiREFUQSBUWVBFUyIKLnNwCkRhdGEgdHlwZXMgZGV0 ZXJtaW5lIHRoZSBzaXplLCBwYXJzaW5nIGFuZCByZXByZXNlbnRhdGlvbiBvZiBzeW1ib2xp YyB2YWx1ZXMgYW5kIHR5cGUgY29tcGF0aWJpbGl0eSBvZiBleHByZXNzaW9uc1wmLiBBIG51 bWJlciBvZiBnbG9iYWwgZGF0YSB0eXBlcyBleGlzdCwgaW4gYWRkaXRpb24gc29tZSBleHBy ZXNzaW9uIHR5cGVzIGRlZmluZSBmdXJ0aGVyIGRhdGEgdHlwZXMgc3BlY2lmaWMgdG8gdGhl IGV4cHJlc3Npb24gdHlwZVwmLiBNb3N0IGRhdGEgdHlwZXMgaGF2ZSBhIGZpeGVkIHNpemUs IHNvbWUgaG93ZXZlciBtYXkgaGF2ZSBhIGR5bmFtaWMgc2l6ZSwgZlwmLmlcJi4gdGhlIHN0 cmluZyB0eXBlXCYuIFNvbWUgdHlwZXMgYWxzbyBoYXZlIHByZWRlZmluZWQgc3ltYm9saWMg Y29uc3RhbnRzXCYuIFRob3NlIGNhbiBiZSBsaXN0ZWQgdXNpbmcgdGhlIG5mdCBcZkJkZXNj cmliZVxmUiBjb21tYW5kOgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKJCBuZnQgZGVz Y3JpYmUgY3Rfc3RhdGUKZGF0YXR5cGUgY3Rfc3RhdGUgKGNvbm50cmFjayBzdGF0ZSkgKGJh c2V0eXBlIGJpdG1hc2ssIGludGVnZXIpLCAzMiBiaXRzCgpwcmVcLWRlZmluZWQgc3ltYm9s aWMgY29uc3RhbnRzIChpbiBoZXhhZGVjaW1hbCk6CmludmFsaWQgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMQpuZXcgXCYuXCYuXCYuCi5maQouaWYgbiBce1wKLlJFCi5c fQouc3AKVHlwZXMgbWF5IGJlIGRlcml2ZWQgZnJvbSBsb3dlciBvcmRlciB0eXBlcywgZlwm LmlcJi4gdGhlIElQdjQgYWRkcmVzcyB0eXBlIGlzIGRlcml2ZWQgZnJvbSB0aGUgaW50ZWdl ciB0eXBlLCBtZWFuaW5nIGFuIElQdjQgYWRkcmVzcyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQg YXMgYW4gaW50ZWdlciB2YWx1ZVwmLgouc3AKSW4gY2VydGFpbiBjb250ZXh0cyAoc2V0IGFu ZCBtYXAgZGVmaW5pdGlvbnMpLCBpdCBpcyBuZWNlc3NhcnkgdG8gZXhwbGljaXRseSBzcGVj aWZ5IGEgZGF0YSB0eXBlXCYuIEVhY2ggdHlwZSBoYXMgYSBuYW1lIHdoaWNoIGlzIHVzZWQg Zm9yIHRoaXNcJi4KLlNTICJJTlRFR0VSIFRZUEUiCi5UUwphbGxib3ggdGFiKDopOwpsdEIg bHRCIGx0QiBsdEIuClR7Ck5hbWUKVH06VHsKS2V5d29yZApUfTpUewpTaXplClR9OlR7CkJh c2UgdHlwZQpUfQouVCYKbHQgbHQgbHQgbHQuClR7Ci5zcApJbnRlZ2VyClR9OlR7Ci5zcApp bnRlZ2VyClR9OlR7Ci5zcAp2YXJpYWJsZQpUfTpUewouc3AKXC0KVH0KLlRFCi5zcCAxCi5z cApUaGUgaW50ZWdlciB0eXBlIGlzIHVzZWQgZm9yIG51bWVyaWMgdmFsdWVzXCYuIEl0IG1h eSBiZSBzcGVjaWZpZWQgYXMgYSBkZWNpbWFsLCBoZXhhZGVjaW1hbCBvciBvY3RhbCBudW1i ZXJcJi4gVGhlIGludGVnZXIgdHlwZSBkb2VzIG5vdCBoYXZlIGEgZml4ZWQgc2l6ZSwgaXRz IHNpemUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZXhwcmVzc2lvbiBmb3Igd2hpY2ggaXQgaXMg dXNlZFwmLgouU1MgIkJJVE1BU0sgVFlQRSIKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIg bHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9OlR7ClNpemUKVH06VHsKQmFzZSB0 eXBlClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNwCkJpdG1hc2sKVH06VHsKLnNwCmJpdG1h c2sKVH06VHsKLnNwCnZhcmlhYmxlClR9OlR7Ci5zcAppbnRlZ2VyClR9Ci5URQouc3AgMQou c3AKVGhlIGJpdG1hc2sgdHlwZSAoXGZCYml0bWFza1xmUikgaXMgdXNlZCBmb3IgYml0bWFz a3NcJi4KLlNTICJTVFJJTkcgVFlQRSIKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRC IGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9OlR7ClNpemUKVH06VHsKQmFzZSB0eXBl ClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNwClN0cmluZwpUfTpUewouc3AKc3RyaW5nClR9 OlR7Ci5zcAp2YXJpYWJsZQpUfTpUewouc3AKXC0KVH0KLlRFCi5zcCAxCi5zcApUaGUgc3Ry aW5nIHR5cGUgaXMgdXNlZCBmb3IgY2hhcmFjdGVyIHN0cmluZ3NcJi4gQSBzdHJpbmcgYmVn aW5zIHdpdGggYW4gYWxwaGFiZXRpYyBjaGFyYWN0ZXIgKGFcLXpBXC1aKSBmb2xsb3dlZCBi eSB6ZXJvIG9yIG1vcmUgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgb3IgdGhlIGNoYXJhY3Rl cnMgLywgXC0sIF8gYW5kIFwmLlwmLiBJbiBhZGRpdGlvbiwgYW55dGhpbmcgZW5jbG9zZWQg aW4gZG91YmxlIHF1b3RlcyAoIikgaXMgcmVjb2duaXplZCBhcyBhIHN0cmluZ1wmLgouUFAK XGZCU3RyaW5nIHNwZWNpZmljYXRpb25cZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQou bmYKIyBJbnRlcmZhY2UgbmFtZQpmaWx0ZXIgaW5wdXQgaWlmbmFtZSBldGgwCgojIFdlaXJk IGludGVyZmFjZSBuYW1lCmZpbHRlciBpbnB1dCBpaWZuYW1lICIoZXRoMCkiCi5maQouaWYg biBce1wKLlJFCi5cfQouc3AKLlNTICJMSU5LIExBWUVSIEFERFJFU1MgVFlQRSIKLlRTCmFs bGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9 OlR7ClNpemUKVH06VHsKQmFzZSB0eXBlClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNwCkxp bmsgbGF5ZXIgYWRkcmVzcwpUfTpUewouc3AKbGxhZGRyClR9OlR7Ci5zcAp2YXJpYWJsZQpU fTpUewouc3AKaW50ZWdlcgpUfQouVEUKLnNwIDEKLnNwClRoZSBsaW5rIGxheWVyIGFkZHJl c3MgdHlwZSBpcyB1c2VkIGZvciBsaW5rIGxheWVyIGFkZHJlc3Nlc1wmLiBMaW5rIGxheWVy IGFkZHJlc3NlcyBhcmUgc3BlY2lmaWVkIGFzIGEgdmFyaWFibGUgYW1vdW50IG9mIGdyb3Vw cyBvZiB0d28gaGV4YWRlY2ltYWwgZGlnaXRzIHNlcGFyYXRlZCB1c2luZyBjb2xvbnMgKDop XCYuCi5QUApcZkJMaW5rIGxheWVyIGFkZHJlc3Mgc3BlY2lmaWNhdGlvblxmUi4gCi5zcAou aWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIEV0aGVybmV0IGRlc3RpbmF0aW9uIE1BQyBhZGRy ZXNzCmZpbHRlciBpbnB1dCBldGhlciBkYWRkciAyMDpjOTpkMDo0MzoxMjpkOQouZmkKLmlm IG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiSVBWNCBBRERSRVNTIFRZUEUiCi5UUwphbGxib3gg dGFiKDopOwpsdEIgbHRCIGx0QiBsdEIuClR7Ck5hbWUKVH06VHsKS2V5d29yZApUfTpUewpT aXplClR9OlR7CkJhc2UgdHlwZQpUfQouVCYKbHQgbHQgbHQgbHQuClR7Ci5zcApJUFY0IGFk ZHJlc3MKVH06VHsKLnNwCmlwdjRfYWRkcgpUfTpUewouc3AKMzIgYml0ClR9OlR7Ci5zcApp bnRlZ2VyClR9Ci5URQouc3AgMQouc3AKVGhlIElQdjQgYWRkcmVzcyB0eXBlIGlzIHVzZWQg Zm9yIElQdjQgYWRkcmVzc2VzXCYuIEFkZHJlc3NlcyBhcmUgc3BlY2lmaWVkIGluIGVpdGhl ciBkb3R0ZWQgZGVjaW1hbCwgZG90dGVkIGhleGFkZWNpbWFsLCBkb3R0ZWQgb2N0YWwsIGRl Y2ltYWwsIGhleGFkZWNpbWFsLCBvY3RhbCBub3RhdGlvbiBvciBhcyBhIGhvc3QgbmFtZVwm LiBBIGhvc3QgbmFtZSB3aWxsIGJlIHJlc29sdmVkIHVzaW5nIHRoZSBzdGFuZGFyZCBzeXN0 ZW0gcmVzb2x2ZXJcJi4KLlBQClxmQklQdjQgYWRkcmVzcyBzcGVjaWZpY2F0aW9uXGZSLiAK LnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMgZG90dGVkIGRlY2ltYWwgbm90YXRpb24K ZmlsdGVyIG91dHB1dCBpcCBkYWRkciAxMjdcJi4wXCYuMFwmLjEKCiMgaG9zdCBuYW1lCmZp bHRlciBvdXRwdXQgaXAgZGFkZHIgbG9jYWxob3N0Ci5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKLlNTICJJUFY2IEFERFJFU1MgVFlQRSIKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIg bHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9OlR7ClNpemUKVH06VHsKQmFzZSB0 eXBlClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNwCklQdjYgYWRkcmVzcwpUfTpUewouc3AK aXB2Nl9hZGRyClR9OlR7Ci5zcAoxMjggYml0ClR9OlR7Ci5zcAppbnRlZ2VyClR9Ci5URQou c3AgMQouc3AKVGhlIElQdjYgYWRkcmVzcyB0eXBlIGlzIHVzZWQgZm9yIElQdjYgYWRkcmVz c2VzXCYuIEFkZHJlc3NlcyBhcmUgc3BlY2lmaWVkIGFzIGEgaG9zdCBuYW1lIG9yIGFzIGhl eGFkZWNpbWFsIGhhbGZ3b3JkcyBzZXBhcmF0ZWQgYnkgY29sb25zXCYuIEFkZHJlc3NlcyBt aWdodCBiZSBlbmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMgKCJbXSIpIHRvIGRpZmZlcmVu dGlhdGUgdGhlbSBmcm9tIHBvcnQgbnVtYmVyc1wmLgouUFAKXGZCSVB2NiBhZGRyZXNzIHNw ZWNpZmljYXRpb25cZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKIyBhYmJyZXZp YXRlZCBsb29wYmFjayBhZGRyZXNzCmZpbHRlciBvdXRwdXQgaXA2IGRhZGRyIDo6MQouZmkK LmlmIG4gXHtcCi5SRQouXH0KLlBQClxmQklQdjYgYWRkcmVzcyBzcGVjaWZpY2F0aW9uIHdp dGggYnJhY2tldCBub3RhdGlvblxmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgoj IHdpdGhvdXQgW10gdGhlIHBvcnQgbnVtYmVyICgyMikgd291bGQgYmUgcGFyc2VkIGFzIHBh cnQgb2YgdGhlCiMgaXB2NiBhZGRyZXNzCmlwNiBuYXQgcHJlcm91dGluZyB0Y3AgZHBvcnQg MjIyMiBkbmF0IHRvIFsxY2U6OmQwXToyMgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5T UyAiQk9PTEVBTiBUWVBFIgouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIgbHRCLgpU ewpOYW1lClR9OlR7CktleXdvcmQKVH06VHsKU2l6ZQpUfTpUewpCYXNlIHR5cGUKVH0KLlQm Cmx0IGx0IGx0IGx0LgpUewouc3AKQm9vbGVhbgpUfTpUewouc3AKYm9vbGVhbgpUfTpUewou c3AKMSBiaXQKVH06VHsKLnNwCmludGVnZXIKVH0KLlRFCi5zcCAxCi5zcApUaGUgYm9vbGVh biB0eXBlIGlzIGEgc3ludGFjdGljYWwgaGVscGVyIHR5cGUgaW4gdXNlcnNwYWNlXCYuIEl0 cyB1c2UgaXMgaW4gdGhlIHJpZ2h0XC1oYW5kIHNpZGUgb2YgYSAodHlwaWNhbGx5IGltcGxp Y2l0KSByZWxhdGlvbmFsIGV4cHJlc3Npb24gdG8gY2hhbmdlIHRoZSBleHByZXNzaW9uIG9u IHRoZSBsZWZ0XC1oYW5kIHNpZGUgaW50byBhIGJvb2xlYW4gY2hlY2sgKHVzdWFsbHkgZm9y IGV4aXN0ZW5jZSlcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcg MQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYxNi5cIFwmVGhlIGZvbGxv d2luZyBrZXl3b3JkcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVzb2x2ZSBpbnRvIGEgYm9vbGVh biB0eXBlIHdpdGggZ2l2ZW4gdmFsdWUKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7 CktleXdvcmQKVH06VHsKVmFsdWUKVH0KLlQmCmx0IGx0Cmx0IGx0LgpUewouc3AKZXhpc3Rz ClR9OlR7Ci5zcAoxClR9ClR7Ci5zcAptaXNzaW5nClR9OlR7Ci5zcAowClR9Ci5URQouc3Ag MQouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVh ay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjE3LlwgXCZleHByZXNzaW9ucyBzdXBwb3J0IGEg Ym9vbGVhbiBjb21wYXJpc29uCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpUewpFeHBy ZXNzaW9uClR9OlR7CkJlaGF2aW91cgpUfQouVCYKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5z cApmaWIKVH06VHsKLnNwCkNoZWNrIHJvdXRlIGV4aXN0ZW5jZVwmLgpUfQpUewouc3AKZXh0 aGRyClR9OlR7Ci5zcApDaGVjayBJUHY2IGV4dGVuc2lvbiBoZWFkZXIgZXhpc3RlbmNlXCYu ClR9ClR7Ci5zcAp0Y3Agb3B0aW9uClR9OlR7Ci5zcApDaGVjayBUQ1Agb3B0aW9uIGhlYWRl ciBleGlzdGVuY2VcJi4KVH0KLlRFCi5zcCAxCi5QUApcZkJCb29sZWFuIHNwZWNpZmljYXRp b25cZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKIyBtYXRjaCBpZiByb3V0ZSBl eGlzdHMKZmlsdGVyIGlucHV0IGZpYiBkYWRkciBcJi4gaWlmIG9pZiBleGlzdHMKCiMgbWF0 Y2ggb25seSBub25cLWZyYWdtZW50ZWQgcGFja2V0cyBpbiBJUHY2IHRyYWZmaWMKZmlsdGVy IGlucHV0IGV4dGhkciBmcmFnIG1pc3NpbmcKCiMgbWF0Y2ggaWYgVENQIHRpbWVzdGFtcCBv cHRpb24gaXMgcHJlc2VudApmaWx0ZXIgaW5wdXQgdGNwIG9wdGlvbiB0aW1lc3RhbXAgZXhp c3RzCi5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNTICJJQ01QIFRZUEUgVFlQRSIKLlRT CmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3Jk ClR9OlR7ClNpemUKVH06VHsKQmFzZSB0eXBlClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNw CklDTVAgVHlwZQpUfTpUewouc3AKaWNtcF90eXBlClR9OlR7Ci5zcAo4IGJpdApUfTpUewou c3AKaW50ZWdlcgpUfQouVEUKLnNwIDEKLnNwClRoZSBJQ01QIFR5cGUgdHlwZSBpcyB1c2Vk IHRvIGNvbnZlbmllbnRseSBzcGVjaWZ5IHRoZSBJQ01QIGhlYWRlclwoY3FzIHR5cGUgZmll bGRcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4t YnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYxOC5cIFwmS2V5d29yZHMgbWF5IGJlIHVz ZWQgd2hlbiBzcGVjaWZ5aW5nIHRoZSBJQ01QIHR5cGUKLlRTCmFsbGJveCB0YWIoOik7Cmx0 QiBsdEIuClR7CktleXdvcmQKVH06VHsKVmFsdWUKVH0KLlQmCmx0IGx0Cmx0IGx0Cmx0IGx0 Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0 Cmx0IGx0Cmx0IGx0Cmx0IGx0LgpUewouc3AKZWNob1wtcmVwbHkKVH06VHsKLnNwCjAKVH0K VHsKLnNwCmRlc3RpbmF0aW9uXC11bnJlYWNoYWJsZQpUfTpUewouc3AKMwpUfQpUewouc3AK c291cmNlXC1xdWVuY2gKVH06VHsKLnNwCjQKVH0KVHsKLnNwCnJlZGlyZWN0ClR9OlR7Ci5z cAo1ClR9ClR7Ci5zcAplY2hvXC1yZXF1ZXN0ClR9OlR7Ci5zcAo4ClR9ClR7Ci5zcApyb3V0 ZXJcLWFkdmVydGlzZW1lbnQKVH06VHsKLnNwCjkKVH0KVHsKLnNwCnJvdXRlclwtc29saWNp dGF0aW9uClR9OlR7Ci5zcAoxMApUfQpUewouc3AKdGltZVwtZXhjZWVkZWQKVH06VHsKLnNw CjExClR9ClR7Ci5zcApwYXJhbWV0ZXJcLXByb2JsZW0KVH06VHsKLnNwCjEyClR9ClR7Ci5z cAp0aW1lc3RhbXBcLXJlcXVlc3QKVH06VHsKLnNwCjEzClR9ClR7Ci5zcAp0aW1lc3RhbXBc LXJlcGx5ClR9OlR7Ci5zcAoxNApUfQpUewouc3AKaW5mb1wtcmVxdWVzdApUfTpUewouc3AK MTUKVH0KVHsKLnNwCmluZm9cLXJlcGx5ClR9OlR7Ci5zcAoxNgpUfQpUewouc3AKYWRkcmVz c1wtbWFza1wtcmVxdWVzdApUfTpUewouc3AKMTcKVH0KVHsKLnNwCmFkZHJlc3NcLW1hc2tc LXJlcGx5ClR9OlR7Ci5zcAoxOApUfQouVEUKLnNwIDEKLlBQClxmQklDTVAgVHlwZSBzcGVj aWZpY2F0aW9uXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMgbWF0Y2ggcGlu ZyBwYWNrZXRzCmZpbHRlciBvdXRwdXQgaWNtcCB0eXBlIHsgZWNob1wtcmVxdWVzdCwgZWNo b1wtcmVwbHkgfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiSUNNUCBDT0RFIFRZ UEUiCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0QiBsdEIuClR7Ck5hbWUKVH06VHsK S2V5d29yZApUfTpUewpTaXplClR9OlR7CkJhc2UgdHlwZQpUfQouVCYKbHQgbHQgbHQgbHQu ClR7Ci5zcApJQ01QIENvZGUKVH06VHsKLnNwCmljbXBfY29kZQpUfTpUewouc3AKOCBiaXQK VH06VHsKLnNwCmludGVnZXIKVH0KLlRFCi5zcCAxCi5zcApUaGUgSUNNUCBDb2RlIHR5cGUg aXMgdXNlZCB0byBjb252ZW5pZW50bHkgc3BlY2lmeSB0aGUgSUNNUCBoZWFkZXJcKGNxcyBj b2RlIGZpZWxkXCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEK Lm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMTkuXCBcJktleXdvcmRzIG1h eSBiZSB1c2VkIHdoZW4gc3BlY2lmeWluZyB0aGUgSUNNUCBjb2RlCi5UUwphbGxib3ggdGFi KDopOwpsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7ClZhbHVlClR9Ci5UJgpsdCBsdApsdCBs dApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdC4KVHsKLnNwCm5ldFwtdW5y ZWFjaGFibGUKVH06VHsKLnNwCjAKVH0KVHsKLnNwCmhvc3RcLXVucmVhY2hhYmxlClR9OlR7 Ci5zcAoxClR9ClR7Ci5zcApwcm90XC11bnJlYWNoYWJsZQpUfTpUewouc3AKMgpUfQpUewou c3AKcG9ydFwtdW5yZWFjaGFibGUKVH06VHsKLnNwCjMKVH0KVHsKLnNwCmZyYWdcLW5lZWRl ZApUfTpUewouc3AKNApUfQpUewouc3AKbmV0XC1wcm9oaWJpdGVkClR9OlR7Ci5zcAo5ClR9 ClR7Ci5zcApob3N0XC1wcm9oaWJpdGVkClR9OlR7Ci5zcAoxMApUfQpUewouc3AKYWRtaW5c LXByb2hpYml0ZWQKVH06VHsKLnNwCjEzClR9Ci5URQouc3AgMQouU1MgIklDTVBWNiBUWVBF IFRZUEUiCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0QiBsdEIuClR7Ck5hbWUKVH06 VHsKS2V5d29yZApUfTpUewpTaXplClR9OlR7CkJhc2UgdHlwZQpUfQouVCYKbHQgbHQgbHQg bHQuClR7Ci5zcApJQ01QdjYgVHlwZQpUfTpUewouc3AKaWNtcHhfY29kZQpUfTpUewouc3AK OCBiaXQKVH06VHsKLnNwCmludGVnZXIKVH0KLlRFCi5zcCAxCi5zcApUaGUgSUNNUHY2IFR5 cGUgdHlwZSBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzcGVjaWZ5IHRoZSBJQ01QdjYgaGVh ZGVyXChjcXMgdHlwZSBmaWVsZFwmLgouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3Bh Y2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjIwLlwgXCZr ZXl3b3JkcyBtYXkgYmUgdXNlZCB3aGVuIHNwZWNpZnlpbmcgdGhlIElDTVB2NiB0eXBlOgou VFMKYWxsYm94IHRhYig6KTsKbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpWYWx1ZQpUfQou VCYKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQg bHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQg bHQKbHQgbHQuClR7Ci5zcApkZXN0aW5hdGlvblwtdW5yZWFjaGFibGUKVH06VHsKLnNwCjEK VH0KVHsKLnNwCnBhY2tldFwtdG9vXC1iaWcKVH06VHsKLnNwCjIKVH0KVHsKLnNwCnRpbWVc LWV4Y2VlZGVkClR9OlR7Ci5zcAozClR9ClR7Ci5zcApwYXJhbWV0ZXJcLXByb2JsZW0KVH06 VHsKLnNwCjQKVH0KVHsKLnNwCmVjaG9cLXJlcXVlc3QKVH06VHsKLnNwCjEyOApUfQpUewou c3AKZWNob1wtcmVwbHkKVH06VHsKLnNwCjEyOQpUfQpUewouc3AKbWxkXC1saXN0ZW5lclwt cXVlcnkKVH06VHsKLnNwCjEzMApUfQpUewouc3AKbWxkXC1saXN0ZW5lclwtcmVwb3J0ClR9 OlR7Ci5zcAoxMzEKVH0KVHsKLnNwCm1sZFwtbGlzdGVuZXJcLWRvbmUKVH06VHsKLnNwCjEz MgpUfQpUewouc3AKbWxkXC1saXN0ZW5lclwtcmVkdWN0aW9uClR9OlR7Ci5zcAoxMzIKVH0K VHsKLnNwCm5kXC1yb3V0ZXJcLXNvbGljaXQKVH06VHsKLnNwCjEzMwpUfQpUewouc3AKbmRc LXJvdXRlclwtYWR2ZXJ0ClR9OlR7Ci5zcAoxMzQKVH0KVHsKLnNwCm5kXC1uZWlnaGJvclwt c29saWNpdApUfTpUewouc3AKMTM1ClR9ClR7Ci5zcApuZFwtbmVpZ2hib3JcLWFkdmVydApU fTpUewouc3AKMTM2ClR9ClR7Ci5zcApuZFwtcmVkaXJlY3QKVH06VHsKLnNwCjEzNwpUfQpU ewouc3AKcm91dGVyXC1yZW51bWJlcmluZwpUfTpUewouc3AKMTM4ClR9ClR7Ci5zcAppbmRc LW5laWdoYm9yXC1zb2xpY2l0ClR9OlR7Ci5zcAoxNDEKVH0KVHsKLnNwCmluZFwtbmVpZ2hi b3JcLWFkdmVydApUfTpUewouc3AKMTQyClR9ClR7Ci5zcAptbGQyXC1saXN0ZW5lclwtcmVw b3J0ClR9OlR7Ci5zcAoxNDMKVH0KLlRFCi5zcCAxCi5QUApcZkJJQ01QdjYgVHlwZSBzcGVj aWZpY2F0aW9uXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMgbWF0Y2ggSUNN UHY2IHBpbmcgcGFja2V0cwpmaWx0ZXIgb3V0cHV0IGljbXB2NiB0eXBlIHsgZWNob1wtcmVx dWVzdCwgZWNob1wtcmVwbHkgfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiSUNN UFY2IENPREUgVFlQRSIKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCIGx0Qi4KVHsK TmFtZQpUfTpUewpLZXl3b3JkClR9OlR7ClNpemUKVH06VHsKQmFzZSB0eXBlClR9Ci5UJgps dCBsdCBsdCBsdC4KVHsKLnNwCklDTVB2NiBDb2RlClR9OlR7Ci5zcAppY21wdjZfY29kZQpU fTpUewouc3AKOCBiaXQKVH06VHsKLnNwCmludGVnZXIKVH0KLlRFCi5zcCAxCi5zcApUaGUg SUNNUHY2IENvZGUgdHlwZSBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzcGVjaWZ5IHRoZSBJ Q01QdjYgaGVhZGVyXChjcXMgY29kZSBmaWVsZFwmLgouc3AKLml0IDEgYW4tdHJhcAoubnIg YW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBc JjIxLlwgXCZrZXl3b3JkcyBtYXkgYmUgdXNlZCB3aGVuIHNwZWNpZnlpbmcgdGhlIElDTVB2 NiBjb2RlCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7ClZh bHVlClR9Ci5UJgpsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdC4KVHsKLnNw Cm5vXC1yb3V0ZQpUfTpUewouc3AKMApUfQpUewouc3AKYWRtaW5cLXByb2hpYml0ZWQKVH06 VHsKLnNwCjEKVH0KVHsKLnNwCmFkZHJcLXVucmVhY2hhYmxlClR9OlR7Ci5zcAozClR9ClR7 Ci5zcApwb3J0XC11bnJlYWNoYWJsZQpUfTpUewouc3AKNApUfQpUewouc3AKcG9saWN5XC1m YWlsClR9OlR7Ci5zcAo1ClR9ClR7Ci5zcApyZWplY3RcLXJvdXRlClR9OlR7Ci5zcAo2ClR9 Ci5URQouc3AgMQouU1MgIklDTVBWWCBDT0RFIFRZUEUiCi5UUwphbGxib3ggdGFiKDopOwps dEIgbHRCIGx0QiBsdEIuClR7Ck5hbWUKVH06VHsKS2V5d29yZApUfTpUewpTaXplClR9OlR7 CkJhc2UgdHlwZQpUfQouVCYKbHQgbHQgbHQgbHQuClR7Ci5zcApJQ01QdlggQ29kZQpUfTpU ewouc3AKaWNtcHY2X3R5cGUKVH06VHsKLnNwCjggYml0ClR9OlR7Ci5zcAppbnRlZ2VyClR9 Ci5URQouc3AgMQouc3AKVGhlIElDTVB2WCBDb2RlIHR5cGUgYWJzdHJhY3Rpb24gaXMgYSBz ZXQgb2YgdmFsdWVzIHdoaWNoIG92ZXJsYXAgYmV0d2VlbiBJQ01QIGFuZCBJQ01QdjYgQ29k ZSB0eXBlcyB0byBiZSB1c2VkIGZyb20gdGhlIGluZXQgZmFtaWx5XCYuCi5zcAouaXQgMSBh bi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIK LkIgVGFibGVcIFwmMjIuXCBcJmtleXdvcmRzIG1heSBiZSB1c2VkIHdoZW4gc3BlY2lmeWlu ZyB0aGUgSUNNUHZYIGNvZGUKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7CktleXdv cmQKVH06VHsKVmFsdWUKVH0KLlQmCmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0LgpUewouc3AK bm9cLXJvdXRlClR9OlR7Ci5zcAowClR9ClR7Ci5zcApwb3J0XC11bnJlYWNoYWJsZQpUfTpU ewouc3AKMQpUfQpUewouc3AKaG9zdFwtdW5yZWFjaGFibGUKVH06VHsKLnNwCjIKVH0KVHsK LnNwCmFkbWluXC1wcm9oaWJpdGVkClR9OlR7Ci5zcAozClR9Ci5URQouc3AgMQouU1MgIkNP Tk5UUkFDSyBUWVBFUyIKLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcg MQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYyMy5cIFwmb3ZlcnZpZXcg b2YgdHlwZXMgdXNlZCBpbiBjdCBleHByZXNzaW9uIGFuZCBzdGF0ZW1lbnQKLlRTCmFsbGJv eCB0YWIoOik7Cmx0QiBsdEIgbHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9OlR7 ClNpemUKVH06VHsKQmFzZSB0eXBlClR9Ci5UJgpsdCBsdCBsdCBsdApsdCBsdCBsdCBsdAps dCBsdCBsdCBsdApsdCBsdCBsdCBsdApsdCBsdCBsdCBsdC4KVHsKLnNwCmNvbm50cmFjayBz dGF0ZQpUfTpUewouc3AKY3Rfc3RhdGUKVH06VHsKLnNwCjQgYnl0ZQpUfTpUewouc3AKYml0 bWFzawpUfQpUewouc3AKY29ubnRyYWNrIGRpcmVjdGlvbgpUfTpUewouc3AKY3RfZGlyClR9 OlR7Ci5zcAo4IGJpdApUfTpUewouc3AKaW50ZWdlcgpUfQpUewouc3AKY29ubnRyYWNrIHN0 YXR1cwpUfTpUewouc3AKY3Rfc3RhdHVzClR9OlR7Ci5zcAo0IGJ5dGUKVH06VHsKLnNwCmJp dG1hc2sKVH0KVHsKLnNwCmNvbm50cmFjayBldmVudCBiaXRzClR9OlR7Ci5zcApjdF9ldmVu dApUfTpUewouc3AKNCBieXRlClR9OlR7Ci5zcApiaXRtYXNrClR9ClR7Ci5zcApjb25udHJh Y2sgbGFiZWwKVH06VHsKLnNwCmN0X2xhYmVsClR9OlR7Ci5zcAoxMjggYml0ClR9OlR7Ci5z cApiaXRtYXNrClR9Ci5URQouc3AgMQouc3AKRm9yIGVhY2ggb2YgdGhlIHR5cGVzIGFib3Zl LCBrZXl3b3JkcyBhcmUgYXZhaWxhYmxlIGZvciBjb252ZW5pZW5jZToKLnNwCi5pdCAxIGFu LXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgou QiBUYWJsZVwgXCYyNC5cIFwmY29ubnRyYWNrIHN0YXRlIChjdF9zdGF0ZSkKLlRTCmFsbGJv eCB0YWIoOik7Cmx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKVmFsdWUKVH0KLlQmCmx0IGx0 Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0LgpUewouc3AKaW52YWxpZApUfTpUewouc3AKMQpU fQpUewouc3AKZXN0YWJsaXNoZWQKVH06VHsKLnNwCjIKVH0KVHsKLnNwCnJlbGF0ZWQKVH06 VHsKLnNwCjQKVH0KVHsKLnNwCm5ldwpUfTpUewouc3AKOApUfQpUewouc3AKdW50cmFja2Vk ClR9OlR7Ci5zcAo2NApUfQouVEUKLnNwIDEKLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5v LXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYyNS5c IFwmY29ubnRyYWNrIGRpcmVjdGlvbiAoY3RfZGlyKQouVFMKYWxsYm94IHRhYig6KTsKbHRC IGx0Qi4KVHsKS2V5d29yZApUfTpUewpWYWx1ZQpUfQouVCYKbHQgbHQKbHQgbHQuClR7Ci5z cApvcmlnaW5hbApUfTpUewouc3AKMApUfQpUewouc3AKcmVwbHkKVH06VHsKLnNwCjEKVH0K LlRFCi5zcCAxCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEKLm5y IGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMjYuXCBcJmNvbm50cmFjayBzdGF0 dXMgKGN0X3N0YXR1cykKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7CktleXdvcmQK VH06VHsKVmFsdWUKVH0KLlQmCmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0 Cmx0IGx0LgpUewouc3AKZXhwZWN0ZWQKVH06VHsKLnNwCjEKVH0KVHsKLnNwCnNlZW5cLXJl cGx5ClR9OlR7Ci5zcAoyClR9ClR7Ci5zcAphc3N1cmVkClR9OlR7Ci5zcAo0ClR9ClR7Ci5z cApjb25maXJtZWQKVH06VHsKLnNwCjgKVH0KVHsKLnNwCnNuYXQKVH06VHsKLnNwCjE2ClR9 ClR7Ci5zcApkbmF0ClR9OlR7Ci5zcAozMgpUfQpUewouc3AKZHlpbmcKVH06VHsKLnNwCjUx MgpUfQouVEUKLnNwIDEKLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcg MQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYyNy5cIFwmY29ubnRyYWNr IGV2ZW50IGJpdHMgKGN0X2V2ZW50KQouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0Qi4KVHsK S2V5d29yZApUfTpUewpWYWx1ZQpUfQouVCYKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQg bHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcApuZXcKVH06 VHsKLnNwCjEKVH0KVHsKLnNwCnJlbGF0ZWQKVH06VHsKLnNwCjIKVH0KVHsKLnNwCmRlc3Ry b3kKVH06VHsKLnNwCjQKVH0KVHsKLnNwCnJlcGx5ClR9OlR7Ci5zcAo4ClR9ClR7Ci5zcAph c3N1cmVkClR9OlR7Ci5zcAoxNgpUfQpUewouc3AKcHJvdG9pbmZvClR9OlR7Ci5zcAozMgpU fQpUewouc3AKaGVscGVyClR9OlR7Ci5zcAo2NApUfQpUewouc3AKbWFyawpUfTpUewouc3AK MTI4ClR9ClR7Ci5zcApzZXFhZGoKVH06VHsKLnNwCjI1NgpUfQpUewouc3AKc2VjbWFyawpU fTpUewouc3AKNTEyClR9ClR7Ci5zcApsYWJlbApUfTpUewouc3AKMTAyNApUfQouVEUKLnNw IDEKLnNwClBvc3NpYmxlIGtleXdvcmRzIGZvciBjb25udHJhY2sgbGFiZWwgdHlwZSAoY3Rf bGFiZWwpIGFyZSByZWFkIGF0IHJ1bnRpbWUgZnJvbSAvZXRjL2Nvbm5sYWJlbFwmLmNvbmZc Ji4KLlNTICJEQ0NQIFBLVFRZUEUgVFlQRSIKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIg bHRCIGx0Qi4KVHsKTmFtZQpUfTpUewpLZXl3b3JkClR9OlR7ClNpemUKVH06VHsKQmFzZSB0 eXBlClR9Ci5UJgpsdCBsdCBsdCBsdC4KVHsKLnNwCkRDQ1AgcGFja2V0IHR5cGUKVH06VHsK LnNwCmRjY3BfcGt0dHlwZQpUfTpUewouc3AKNCBiaXQKVH06VHsKLnNwCmludGVnZXIKVH0K LlRFCi5zcCAxCi5zcApUaGUgRENDUCBwYWNrZXQgdHlwZSBhYnN0cmFjdHMgdGhlIGRpZmZl cmVudCBsZWdhbCB2YWx1ZXMgb2YgdGhlIHJlc3BlY3RpdmUgZm91ciBiaXQgZmllbGQgaW4g dGhlIERDQ1AgaGVhZGVyLCBhcyBzdGF0ZWQgYnkgUkZDNDM0MFwmLiBOb3RlIHRoYXQgcG9z c2libGUgdmFsdWVzIDEwXC0xNSBhcmUgY29uc2lkZXJlZCByZXNlcnZlZCBhbmQgdGhlcmVm b3JlIG5vdCBhbGxvd2VkIHRvIGJlIHVzZWRcJi4gSW4gaXB0YWJsZXNcKihBcSBcZkJkY2Nw XGZSIG1hdGNoLCB0aGVzZSB2YWx1ZXMgYXJlIGFsaWFzZWQgXGZJSU5WQUxJRFxmUlwmLiBX aXRoIG5mdGFibGVzLCBvbmUgbWF5IHNpbXBseSBtYXRjaCBvbiB0aGUgbnVtZXJpYyB2YWx1 ZSByYW5nZSwgaVwmLmVcJi4gXGZCMTBcLTE1XGZSXCYuCi5zcAouaXQgMSBhbi10cmFwCi5u ciBhbi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVc IFwmMjguXCBcJmtleXdvcmRzIG1heSBiZSB1c2VkIHdoZW4gc3BlY2lmeWluZyB0aGUgREND UCBwYWNrZXQgdHlwZQouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0Qi4KVHsKS2V5d29yZApU fTpUewpWYWx1ZQpUfQouVCYKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQK bHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcApyZXF1ZXN0ClR9OlR7Ci5zcAowClR9 ClR7Ci5zcApyZXNwb25zZQpUfTpUewouc3AKMQpUfQpUewouc3AKZGF0YQpUfTpUewouc3AK MgpUfQpUewouc3AKYWNrClR9OlR7Ci5zcAozClR9ClR7Ci5zcApkYXRhYWNrClR9OlR7Ci5z cAo0ClR9ClR7Ci5zcApjbG9zZXJlcQpUfTpUewouc3AKNQpUfQpUewouc3AKY2xvc2UKVH06 VHsKLnNwCjYKVH0KVHsKLnNwCnJlc2V0ClR9OlR7Ci5zcAo3ClR9ClR7Ci5zcApzeW5jClR9 OlR7Ci5zcAo4ClR9ClR7Ci5zcApzeW5jYWNrClR9OlR7Ci5zcAo5ClR9Ci5URQouc3AgMQou U0ggIlBSSU1BUlkgRVhQUkVTU0lPTlMiCi5zcApUaGUgbG93ZXN0IG9yZGVyIGV4cHJlc3Np b24gaXMgYSBwcmltYXJ5IGV4cHJlc3Npb24sIHJlcHJlc2VudGluZyBlaXRoZXIgYSBjb25z dGFudCBvciBhIHNpbmdsZSBkYXR1bSBmcm9tIGEgcGFja2V0XChjcXMgcGF5bG9hZCwgbWV0 YSBkYXRhIG9yIGEgc3RhdGVmdWwgbW9kdWxlXCYuCi5TUyAiTUVUQSBFWFBSRVNTSU9OUyIK LnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQm1ldGFcZlIge1xmQmxlbmd0aFxmUiB8 IFxmQm5mcHJvdG9cZlIgfCBcZkJsNHByb3RvXGZSIHwgXGZCcHJvdG9jb2xcZlIgfCBcZkJw cmlvcml0eVxmUn0KW1xmQm1ldGFcZlJdIHtcZkJtYXJrXGZSIHwgXGZCaWlmXGZSIHwgXGZC aWlmbmFtZVxmUiB8IFxmQmlpZnR5cGVcZlIgfCBcZkJvaWZcZlIgfCBcZkJvaWZuYW1lXGZS IHwgXGZCb2lmdHlwZVxmUiB8IFxmQnNrdWlkXGZSIHwgXGZCc2tnaWRcZlIgfCBcZkJuZnRy YWNlXGZSIHwgXGZCcnRjbGFzc2lkXGZSIHwgXGZCaWJybmFtZVxmUiB8IFxmQm9icm5hbWVc ZlIgfCBcZkJwa3R0eXBlXGZSIHwgXGZCY3B1XGZSIHwgXGZCaWlmZ3JvdXBcZlIgfCBcZkJv aWZncm91cFxmUiB8IFxmQmNncm91cFxmUiB8IFxmQnJhbmRvbVxmUiB8IFxmQmlwc2VjXGZS IHwgXGZCaWlma2luZFxmUiB8IFxmQm9pZmtpbmRcZlIgfCBcZkJ0aW1lXGZSIHwgXGZCaG91 clxmUiB8IFxmQmRheVxmUiB9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKQSBtZXRhIGV4 cHJlc3Npb24gcmVmZXJzIHRvIG1ldGEgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBwYWNrZXRc Ji4KLnNwClRoZXJlIGFyZSB0d28gdHlwZXMgb2YgbWV0YSBleHByZXNzaW9uczogdW5xdWFs aWZpZWQgYW5kIHF1YWxpZmllZCBtZXRhIGV4cHJlc3Npb25zXCYuIFF1YWxpZmllZCBtZXRh IGV4cHJlc3Npb25zIHJlcXVpcmUgdGhlIG1ldGEga2V5d29yZCBiZWZvcmUgdGhlIG1ldGEg a2V5LCB1bnF1YWxpZmllZCBtZXRhIGV4cHJlc3Npb25zIGNhbiBiZSBzcGVjaWZpZWQgYnkg dXNpbmcgdGhlIG1ldGEga2V5IGRpcmVjdGx5IG9yIGFzIHF1YWxpZmllZCBtZXRhIGV4cHJl c3Npb25zXCYuIE1ldGEgbDRwcm90byBpcyB1c2VmdWwgdG8gbWF0Y2ggYSBwYXJ0aWN1bGFy IHRyYW5zcG9ydCBwcm90b2NvbCB0aGF0IGlzIHBhcnQgb2YgZWl0aGVyIGFuIElQdjQgb3Ig SVB2NiBwYWNrZXRcJi4gSXQgd2lsbCBhbHNvIHNraXAgYW55IElQdjYgZXh0ZW5zaW9uIGhl YWRlcnMgcHJlc2VudCBpbiBhbiBJUHY2IHBhY2tldFwmLgouc3AKbWV0YSBpaWYsIG9pZiwg aWlmbmFtZSBhbmQgb2lmbmFtZSBhcmUgdXNlZCB0byBtYXRjaCB0aGUgaW50ZXJmYWNlIGEg cGFja2V0IGFycml2ZWQgb24gb3IgaXMgYWJvdXQgdG8gYmUgc2VudCBvdXQgb25cJi4KLnNw CmlpZiBhbmQgb2lmIGFyZSB1c2VkIHRvIG1hdGNoIG9uIHRoZSBpbnRlcmZhY2UgaW5kZXgs IHdoZXJlYXMgaWlmbmFtZSBhbmQgb2lmbmFtZSBhcmUgdXNlZCB0byBtYXRjaCBvbiB0aGUg aW50ZXJmYWNlIG5hbWVcJi4gVGhpcyBpcyBub3QgdGhlIHNhbWUgXChlbSBhc3N1bWluZyB0 aGUgcnVsZQouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKZmlsdGVyIGlucHV0IG1ldGEg aWlmICJmb28iCi5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhlbiB0aGlzIHJ1bGUgY2Fu IG9ubHkgYmUgYWRkZWQgaWYgdGhlIGludGVyZmFjZSAiZm9vIiBleGlzdHNcJi4gQWxzbywg dGhlIHJ1bGUgd2lsbCBjb250aW51ZSB0byBtYXRjaCBldmVuIGlmIHRoZSBpbnRlcmZhY2Ug ImZvbyIgaXMgcmVuYW1lZCB0byAiYmFyIlwmLgouc3AKVGhpcyBpcyBiZWNhdXNlIGludGVy bmFsbHkgdGhlIGludGVyZmFjZSBpbmRleCBpcyB1c2VkXCYuIEluIGNhc2Ugb2YgZHluYW1p Y2FsbHkgY3JlYXRlZCBpbnRlcmZhY2VzLCBzdWNoIGFzIHR1bi90YXAgb3IgZGlhbHVwIGlu dGVyZmFjZXMgKHBwcCBmb3IgZXhhbXBsZSksIGl0IG1pZ2h0IGJlIGJldHRlciB0byB1c2Ug aWlmbmFtZSBvciBvaWZuYW1lIGluc3RlYWRcJi4KLnNwCkluIHRoZXNlIGNhc2VzLCB0aGUg bmFtZSBpcyB1c2VkIHNvIHRoZSBpbnRlcmZhY2UgZG9lc25cKGNxdCBoYXZlIHRvIGV4aXN0 IHRvIGFkZCBzdWNoIGEgcnVsZSwgaXQgd2lsbCBzdG9wIG1hdGNoaW5nIGlmIHRoZSBpbnRl cmZhY2UgZ2V0cyByZW5hbWVkIGFuZCBpdCB3aWxsIG1hdGNoIGFnYWluIGluIGNhc2UgaW50 ZXJmYWNlIGdldHMgZGVsZXRlZCBhbmQgbGF0ZXIgYSBuZXcgaW50ZXJmYWNlIHdpdGggdGhl IHNhbWUgbmFtZSBpcyBjcmVhdGVkXCYuCi5zcApMaWtlIHdpdGggaXB0YWJsZXMsIHdpbGRj YXJkIG1hdGNoaW5nIG9uIGludGVyZmFjZSBuYW1lIHByZWZpeGVzIGlzIGF2YWlsYWJsZSBm b3IgXGZCaWlmbmFtZVxmUiBhbmQgXGZCb2lmbmFtZVxmUiBtYXRjaGVzIGJ5IGFwcGVuZGlu ZyBhbiBhc3RlcmlzayAoKikgY2hhcmFjdGVyXCYuIE5vdGUgaG93ZXZlciB0aGF0IHVubGlr ZSBpcHRhYmxlcywgbmZ0YWJsZXMgZG9lcyBub3QgYWNjZXB0IGludGVyZmFjZSBuYW1lcyBj b25zaXN0aW5nIG9mIHRoZSB3aWxkY2FyZCBjaGFyYWN0ZXIgb25seSBcLSB1c2VycyBhcmUg c3VwcG9zZWQgdG8ganVzdCBza2lwIHRob3NlIGFsd2F5cyBtYXRjaGluZyBleHByZXNzaW9u c1wmLiBJbiBvcmRlciB0byBtYXRjaCBvbiBsaXRlcmFsIGFzdGVyaXNrIGNoYXJhY3Rlciwg b25lIG1heSBlc2NhcGUgaXQgdXNpbmcgYmFja3NsYXNoIChcZSlcJi4KLnNwCi5pdCAxIGFu LXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgou QiBUYWJsZVwgXCYyOS5cIFwmTWV0YSBleHByZXNzaW9uIHR5cGVzCi5UUwphbGxib3ggdGFi KDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpU eXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCmxlbmd0aApUfTpUewouc3AKTGVuZ3RoIG9m IHRoZSBwYWNrZXQgaW4gYnl0ZXMKVH06VHsKLnNwCmludGVnZXIgKDMyXC1iaXQpClR9ClR7 Ci5zcApuZnByb3RvClR9OlR7Ci5zcApyZWFsIGhvb2sgcHJvdG9jb2wgZmFtaWx5LCB1c2Vm dWwgb25seSBpbiBpbmV0IHRhYmxlClR9OlR7Ci5zcAppbnRlZ2VyICgzMiBiaXQpClR9ClR7 Ci5zcApsNHByb3RvClR9OlR7Ci5zcApsYXllciA0IHByb3RvY29sLCBza2lwcyBpcHY2IGV4 dGVuc2lvbiBoZWFkZXJzClR9OlR7Ci5zcAppbnRlZ2VyICg4IGJpdCkKVH0KVHsKLnNwCnBy b3RvY29sClR9OlR7Ci5zcApFdGhlclR5cGUgcHJvdG9jb2wgdmFsdWUKVH06VHsKLnNwCmV0 aGVyX3R5cGUKVH0KVHsKLnNwCnByaW9yaXR5ClR9OlR7Ci5zcApUQyBwYWNrZXQgcHJpb3Jp dHkKVH06VHsKLnNwCnRjX2hhbmRsZQpUfQpUewouc3AKbWFyawpUfTpUewouc3AKUGFja2V0 IG1hcmsKVH06VHsKLnNwCm1hcmsKVH0KVHsKLnNwCmlpZgpUfTpUewouc3AKSW5wdXQgaW50 ZXJmYWNlIGluZGV4ClR9OlR7Ci5zcAppZmFjZV9pbmRleApUfQpUewouc3AKaWlmbmFtZQpU fTpUewouc3AKSW5wdXQgaW50ZXJmYWNlIG5hbWUKVH06VHsKLnNwCmlmbmFtZQpUfQpUewou c3AKaWlmdHlwZQpUfTpUewouc3AKSW5wdXQgaW50ZXJmYWNlIHR5cGUKVH06VHsKLnNwCmlm YWNlX3R5cGUKVH0KVHsKLnNwCm9pZgpUfTpUewouc3AKT3V0cHV0IGludGVyZmFjZSBpbmRl eApUfTpUewouc3AKaWZhY2VfaW5kZXgKVH0KVHsKLnNwCm9pZm5hbWUKVH06VHsKLnNwCk91 dHB1dCBpbnRlcmZhY2UgbmFtZQpUfTpUewouc3AKaWZuYW1lClR9ClR7Ci5zcApvaWZ0eXBl ClR9OlR7Ci5zcApPdXRwdXQgaW50ZXJmYWNlIGhhcmR3YXJlIHR5cGUKVH06VHsKLnNwCmlm YWNlX3R5cGUKVH0KVHsKLnNwCnNkaWYKVH06VHsKLnNwClNsYXZlIGRldmljZSBpbnB1dCBp bnRlcmZhY2UgaW5kZXgKVH06VHsKLnNwCmlmYWNlX2luZGV4ClR9ClR7Ci5zcApzZGlmbmFt ZQpUfTpUewouc3AKU2xhdmUgZGV2aWNlIGludGVyZmFjZSBuYW1lClR9OlR7Ci5zcAppZm5h bWUKVH0KVHsKLnNwCnNrdWlkClR9OlR7Ci5zcApVSUQgYXNzb2NpYXRlZCB3aXRoIG9yaWdp bmF0aW5nIHNvY2tldApUfTpUewouc3AKdWlkClR9ClR7Ci5zcApza2dpZApUfTpUewouc3AK R0lEIGFzc29jaWF0ZWQgd2l0aCBvcmlnaW5hdGluZyBzb2NrZXQKVH06VHsKLnNwCmdpZApU fQpUewouc3AKcnRjbGFzc2lkClR9OlR7Ci5zcApSb3V0aW5nIHJlYWxtClR9OlR7Ci5zcApy ZWFsbQpUfQpUewouc3AKaWJybmFtZQpUfTpUewouc3AKSW5wdXQgYnJpZGdlIGludGVyZmFj ZSBuYW1lClR9OlR7Ci5zcAppZm5hbWUKVH0KVHsKLnNwCm9icm5hbWUKVH06VHsKLnNwCk91 dHB1dCBicmlkZ2UgaW50ZXJmYWNlIG5hbWUKVH06VHsKLnNwCmlmbmFtZQpUfQpUewouc3AK cGt0dHlwZQpUfTpUewouc3AKcGFja2V0IHR5cGUKVH06VHsKLnNwCnBrdF90eXBlClR9ClR7 Ci5zcApjcHUKVH06VHsKLnNwCmNwdSBudW1iZXIgcHJvY2Vzc2luZyB0aGUgcGFja2V0ClR9 OlR7Ci5zcAppbnRlZ2VyICgzMiBiaXQpClR9ClR7Ci5zcAppaWZncm91cApUfTpUewouc3AK aW5jb21pbmcgZGV2aWNlIGdyb3VwClR9OlR7Ci5zcApkZXZncm91cApUfQpUewouc3AKb2lm Z3JvdXAKVH06VHsKLnNwCm91dGdvaW5nIGRldmljZSBncm91cApUfTpUewouc3AKZGV2Z3Jv dXAKVH0KVHsKLnNwCmNncm91cApUfTpUewouc3AKY29udHJvbCBncm91cCBpZApUfTpUewou c3AKaW50ZWdlciAoMzIgYml0KQpUfQpUewouc3AKcmFuZG9tClR9OlR7Ci5zcApwc2V1ZG9c LXJhbmRvbSBudW1iZXIKVH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNwCmlw c2VjClR9OlR7Ci5zcAp0cnVlIGlmIHBhY2tldCB3YXMgaXBzZWMgZW5jcnlwdGVkClR9OlR7 Ci5zcApib29sZWFuICgxIGJpdCkKVH0KVHsKLnNwCmlpZmtpbmQKVH06VHsKLnNwCklucHV0 IGludGVyZmFjZSBraW5kClR9OlR7Ci5zcApUfQpUewouc3AKb2lma2luZApUfTpUewouc3AK T3V0cHV0IGludGVyZmFjZSBraW5kClR9OlR7Ci5zcApUfQpUewouc3AKdGltZQpUfTpUewou c3AKQWJzb2x1dGUgdGltZSBvZiBwYWNrZXQgcmVjZXB0aW9uClR9OlR7Ci5zcApJbnRlZ2Vy ICgzMiBiaXQpIG9yIHN0cmluZwpUfQpUewouc3AKZGF5ClR9OlR7Ci5zcApEYXkgb2Ygd2Vl awpUfTpUewouc3AKSW50ZWdlciAoOCBiaXQpIG9yIHN0cmluZwpUfQpUewouc3AKaG91cgpU fTpUewouc3AKSG91ciBvZiBkYXkKVH06VHsKLnNwClN0cmluZwpUfQouVEUKLnNwIDEKLnNw Ci5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxh ZyAxCi5icgouQiBUYWJsZVwgXCYzMC5cIFwmTWV0YSBleHByZXNzaW9uIHNwZWNpZmljIHR5 cGVzCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpUewpUeXBlClR9OlR7CkRlc2NyaXB0 aW9uClR9Ci5UJgpsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdAps dCBsdApsdCBsdApsdCBsdApsdCBsdApsdCBsdC4KVHsKLnNwCmlmYWNlX2luZGV4ClR9OlR7 Ci5zcApJbnRlcmZhY2UgaW5kZXggKDMyIGJpdCBudW1iZXIpXCYuIENhbiBiZSBzcGVjaWZp ZWQgbnVtZXJpY2FsbHkgb3IgYXMgbmFtZSBvZiBhbiBleGlzdGluZyBpbnRlcmZhY2VcJi4K VH0KVHsKLnNwCmlmbmFtZQpUfTpUewouc3AKSW50ZXJmYWNlIG5hbWUgKDE2IGJ5dGUgc3Ry aW5nKVwmLiBEb2VzIG5vdCBoYXZlIHRvIGV4aXN0XCYuClR9ClR7Ci5zcAppZmFjZV90eXBl ClR9OlR7Ci5zcApJbnRlcmZhY2UgdHlwZSAoMTYgYml0IG51bWJlcilcJi4KVH0KVHsKLnNw CnVpZApUfTpUewouc3AKVXNlciBJRCAoMzIgYml0IG51bWJlcilcJi4gQ2FuIGJlIHNwZWNp ZmllZCBudW1lcmljYWxseSBvciBhcyB1c2VyIG5hbWVcJi4KVH0KVHsKLnNwCmdpZApUfTpU ewouc3AKR3JvdXAgSUQgKDMyIGJpdCBudW1iZXIpXCYuIENhbiBiZSBzcGVjaWZpZWQgbnVt ZXJpY2FsbHkgb3IgYXMgZ3JvdXAgbmFtZVwmLgpUfQpUewouc3AKcmVhbG0KVH06VHsKLnNw ClJvdXRpbmcgUmVhbG0gKDMyIGJpdCBudW1iZXIpXCYuIENhbiBiZSBzcGVjaWZpZWQgbnVt ZXJpY2FsbHkgb3IgYXMgc3ltYm9saWMgbmFtZSBkZWZpbmVkIGluIC9ldGMvaXByb3V0ZTIv cnRfcmVhbG1zXCYuClR9ClR7Ci5zcApkZXZncm91cF90eXBlClR9OlR7Ci5zcApEZXZpY2Ug Z3JvdXAgKDMyIGJpdCBudW1iZXIpXCYuIENhbiBiZSBzcGVjaWZpZWQgbnVtZXJpY2FsbHkg b3IgYXMgc3ltYm9saWMgbmFtZSBkZWZpbmVkIGluIC9ldGMvaXByb3V0ZTIvZ3JvdXBcJi4K VH0KVHsKLnNwCnBrdF90eXBlClR9OlR7Ci5zcApQYWNrZXQgdHlwZTogXGZCaG9zdFxmUiAo YWRkcmVzc2VkIHRvIGxvY2FsIGhvc3QpLCBcZkJicm9hZGNhc3RcZlIgKHRvIGFsbCksIFxm Qm11bHRpY2FzdFxmUiAodG8gZ3JvdXApLCBcZkJvdGhlclxmUiAoYWRkcmVzc2VkIHRvIGFu b3RoZXIgaG9zdClcJi4KVH0KVHsKLnNwCmlma2luZApUfTpUewouc3AKSW50ZXJmYWNlIGtp bmQgKDE2IGJ5dGUgc3RyaW5nKVwmLiBTZWUgVFlQRVMgaW4gaXBcLWxpbmsoOCkgZm9yIGEg bGlzdFwmLgpUfQpUewouc3AKdGltZQpUfTpUewouc3AKRWl0aGVyIGFuIGludGVnZXIgb3Ig YSBkYXRlIGluIElTTyBmb3JtYXRcJi4gRm9yIGV4YW1wbGU6ICIyMDE5XC0wNlwtMDYgMTc6 MDAiXCYuIEhvdXIgYW5kIHNlY29uZHMgYXJlIG9wdGlvbmFsIGFuZCBjYW4gYmUgb21pdHRl ZCBpZiBkZXNpcmVkXCYuIElmIG9taXR0ZWQsIG1pZG5pZ2h0IHdpbGwgYmUgYXNzdW1lZFwm LiBUaGUgZm9sbG93aW5nIHRocmVlIHdvdWxkIGJlIGVxdWl2YWxlbnQ6ICIyMDE5XC0wNlwt MDYiLCAiMjAxOVwtMDZcLTA2IDAwOjAwIiBhbmQgIjIwMTlcLTA2XC0wNiAwMDowMDowMCJc Ji4gV2hlbiBhbiBpbnRlZ2VyIGlzIGdpdmVuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIGEgVU5J WCB0aW1lc3RhbXBcJi4KVH0KVHsKLnNwCmRheQpUfTpUewouc3AKRWl0aGVyIGEgZGF5IG9m IHdlZWsgKCJNb25kYXkiLCAiVHVlc2RheSIsIGV0Y1wmLiksIG9yIGFuIGludGVnZXIgYmV0 d2VlbiAwIGFuZCA2XCYuIFN0cmluZ3MgYXJlIG1hdGNoZWQgY2FzZVwtaW5zZW5zaXRpdmVs eSwgYW5kIGEgZnVsbCBtYXRjaCBpcyBub3QgZXhwZWN0ZWQgKGVcJi5nXCYuICJNb24iIHdv dWxkIG1hdGNoICJNb25kYXkiKVwmLiBXaGVuIGFuIGludGVnZXIgaXMgZ2l2ZW4sIDAgaXMg U3VuZGF5IGFuZCA2IGlzIFNhdHVyZGF5XCYuClR9ClR7Ci5zcApob3VyClR9OlR7Ci5zcApB IHN0cmluZyByZXByZXNlbnRpbmcgYW4gaG91ciBpbiAyNFwtaG91ciBmb3JtYXRcJi4gU2Vj b25kcyBjYW4gb3B0aW9uYWxseSBiZSBzcGVjaWZpZWRcJi4gRm9yIGV4YW1wbGUsIDE3OjAw IGFuZCAxNzowMDowMCB3b3VsZCBiZSBlcXVpdmFsZW50XCYuClR9Ci5URQouc3AgMQouUFAK XGZCVXNpbmcgbWV0YSBleHByZXNzaW9uc1xmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9 Ci5uZgojIHF1YWxpZmllZCBtZXRhIGV4cHJlc3Npb24KZmlsdGVyIG91dHB1dCBtZXRhIG9p ZiBldGgwCmZpbHRlciBmb3J3YXJkIG1ldGEgaWlma2luZCB7ICJ0dW4iLCAidmV0aCIgfQoK IyB1bnF1YWxpZmllZCBtZXRhIGV4cHJlc3Npb24KZmlsdGVyIG91dHB1dCBvaWYgZXRoMAoK IyBpbmNvbWluZyBwYWNrZXQgd2FzIHN1YmplY3QgdG8gaXBzZWMgcHJvY2Vzc2luZwpyYXcg cHJlcm91dGluZyBtZXRhIGlwc2VjIGV4aXN0cyBhY2NlcHQKLmZpCi5pZiBuIFx7XAouUkUK Llx9Ci5zcAouU1MgIlNPQ0tFVCBFWFBSRVNTSU9OIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5c fQoubmYKXGZCc29ja2V0XGZSIHtcZkJ0cmFuc3BhcmVudFxmUiB8IFxmQm1hcmtcZlIgfCBc ZkJ3aWxkY2FyZFxmUn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApTb2NrZXQgZXhwcmVz c2lvbiBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFuIGV4aXN0aW5nIG9wZW4gVENQL1VE UCBzb2NrZXQgYW5kIGl0cyBhdHRyaWJ1dGVzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0 aCBhIHBhY2tldFwmLiBJdCBsb29rcyBmb3IgYW4gZXN0YWJsaXNoZWQgb3Igbm9uXC16ZXJv IGJvdW5kIGxpc3RlbmluZyBzb2NrZXQgKHBvc3NpYmx5IHdpdGggYSBub25cLWxvY2FsIGFk ZHJlc3MpXCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEKLm5y IGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMzEuXCBcJkF2YWlsYWJsZSBzb2Nr ZXQgYXR0cmlidXRlcwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7Ck5hbWUK VH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQK bHQgbHQgbHQuClR7Ci5zcAp0cmFuc3BhcmVudApUfTpUewouc3AKVmFsdWUgb2YgdGhlIElQ X1RSQU5TUEFSRU5UIHNvY2tldCBvcHRpb24gaW4gdGhlIGZvdW5kIHNvY2tldFwmLiBJdCBj YW4gYmUgMCBvciAxXCYuClR9OlR7Ci5zcApib29sZWFuICgxIGJpdCkKVH0KVHsKLnNwCm1h cmsKVH06VHsKLnNwClZhbHVlIG9mIHRoZSBzb2NrZXQgbWFyayAoU09MX1NPQ0tFVCwgU09f TUFSSylcJi4KVH06VHsKLnNwCm1hcmsKVH0KVHsKLnNwCndpbGRjYXJkClR9OlR7Ci5zcApJ bmRpY2F0ZXMgd2hldGhlciB0aGUgc29ja2V0IGlzIHdpbGRjYXJkXC1ib3VuZCAoZVwmLmdc Ji4gMFwmLjBcJi4wXCYuMCBvciA6OjApXCYuClR9OlR7Ci5zcApib29sZWFuICgxIGJpdCkK VH0KLlRFCi5zcCAxCi5QUApcZkJVc2luZyBzb2NrZXQgZXhwcmVzc2lvblxmUi4gCi5zcAou aWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIE1hcmsgcGFja2V0cyB0aGF0IGNvcnJlc3BvbmQg dG8gYSB0cmFuc3BhcmVudCBzb2NrZXRcJi4gInNvY2tldCB3aWxkY2FyZCAwIgojIG1lYW5z IHRoYXQgemVyb1wtYm91bmQgbGlzdGVuZXIgc29ja2V0cyBhcmUgTk9UIG1hdGNoZWQgKHdo aWNoIGlzIHVzdWFsbHkKIyBleGFjdGx5IHdoYXQgeW91IHdhbnQpXCYuCnRhYmxlIGluZXQg eCB7CiAgICBjaGFpbiB5IHsKICAgICAgICB0eXBlIGZpbHRlciBob29rIHByZXJvdXRpbmcg cHJpb3JpdHkgXC0xNTA7IHBvbGljeSBhY2NlcHQ7CiAgICAgICAgc29ja2V0IHRyYW5zcGFy ZW50IDEgc29ja2V0IHdpbGRjYXJkIDAgbWFyayBzZXQgMHgwMDAwMDAwMSBhY2NlcHQKICAg IH0KfQoKIyBUcmFjZSBwYWNrZXRzIHRoYXQgY29ycmVzcG9uZHMgdG8gYSBzb2NrZXQgd2l0 aCBhIG1hcmsgdmFsdWUgb2YgMTUKdGFibGUgaW5ldCB4IHsKICAgIGNoYWluIHkgewogICAg ICAgIHR5cGUgZmlsdGVyIGhvb2sgcHJlcm91dGluZyBwcmlvcml0eSBcLTE1MDsgcG9saWN5 IGFjY2VwdDsKICAgICAgICBzb2NrZXQgbWFyayAweDAwMDAwMDBmIG5mdHJhY2Ugc2V0IDEK ICAgIH0KfQoKIyBTZXQgcGFja2V0IG1hcmsgdG8gc29ja2V0IG1hcmsKdGFibGUgaW5ldCB4 IHsKICAgIGNoYWluIHkgewogICAgICAgIHR5cGUgZmlsdGVyIGhvb2sgcHJlcm91dGluZyBw cmlvcml0eSBcLTE1MDsgcG9saWN5IGFjY2VwdDsKICAgICAgICB0Y3AgZHBvcnQgODA4MCBt YXJrIHNldCBzb2NrZXQgbWFyawogICAgfQp9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AK LlNTICJPU0YgRVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQm9z ZlxmUiBbXGZCdHRsXGZSIHtcZkJsb29zZVxmUiB8IFxmQnNraXBcZlJ9XSB7XGZCbmFtZVxm UiB8IFxmQnZlcnNpb25cZlJ9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhlIG9zZiBl eHByZXNzaW9uIGRvZXMgcGFzc2l2ZSBvcGVyYXRpbmcgc3lzdGVtIGZpbmdlcnByaW50aW5n XCYuIFRoaXMgZXhwcmVzc2lvbiBjb21wYXJlcyBzb21lIGRhdGEgKFdpbmRvdyBTaXplLCBN U1MsIG9wdGlvbnMgYW5kIHRoZWlyIG9yZGVyLCBERiwgYW5kIG90aGVycykgZnJvbSBwYWNr ZXRzIHdpdGggdGhlIFNZTiBiaXQgc2V0XCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1u by1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMzIu XCBcJkF2YWlsYWJsZSBvc2YgYXR0cmlidXRlcwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0 QiBsdEIuClR7Ck5hbWUKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQg bHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcAp0dGwKVH06VHsKLnNwCkRvIFRUTCBj aGVja3Mgb24gdGhlIHBhY2tldCB0byBkZXRlcm1pbmUgdGhlIG9wZXJhdGluZyBzeXN0ZW1c Ji4KVH06VHsKLnNwCnN0cmluZwpUfQpUewouc3AKdmVyc2lvbgpUfTpUewouc3AKRG8gT1Mg dmVyc2lvbiBjaGVja3Mgb24gdGhlIHBhY2tldFwmLgpUfTpUewouc3AKVH0KVHsKLnNwCm5h bWUKVH06VHsKLnNwCk5hbWUgb2YgdGhlIE9TIHNpZ25hdHVyZSB0byBtYXRjaFwmLiBBbGwg c2lnbmF0dXJlcyBjYW4gYmUgZm91bmQgYXQgcGZcJi5vcyBmaWxlXCYuIFVzZSAidW5rbm93 biIgZm9yIE9TIHNpZ25hdHVyZXMgdGhhdCB0aGUgZXhwcmVzc2lvbiBjb3VsZCBub3QgZGV0 ZWN0XCYuClR9OlR7Ci5zcApzdHJpbmcKVH0KLlRFCi5zcCAxCi5QUApcZkJBdmFpbGFibGUg dHRsIHZhbHVlc1xmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpJZiBubyBUVEwg YXR0cmlidXRlIGlzIHBhc3NlZCwgbWFrZSBhIHRydWUgSVAgaGVhZGVyIGFuZCBmaW5nZXJw cmludCBUVEwgdHJ1ZSBjb21wYXJpc29uXCYuIFRoaXMgZ2VuZXJhbGx5IHdvcmtzIGZvciBM QU5zXCYuCgoqIGxvb3NlOiBDaGVjayBpZiB0aGUgSVAgaGVhZGVyXCooQXFzIFRUTCBpcyBs ZXNzIHRoYW4gdGhlIGZpbmdlcnByaW50IG9uZVwmLiBXb3JrcyBmb3IgZ2xvYmFsbHlcLXJv dXRhYmxlIGFkZHJlc3Nlc1wmLgoqIHNraXA6IERvIG5vdCBjb21wYXJlIHRoZSBUVEwgYXQg YWxsXCYuCi5maQouaWYgbiBce1wKLlJFCi5cfQouUFAKXGZCVXNpbmcgb3NmIGV4cHJlc3Np b25cZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKIyBBY2NlcHQgcGFja2V0cyB0 aGF0IG1hdGNoIHRoZSAiTGludXgiIE9TIGdlbnJlIHNpZ25hdHVyZSB3aXRob3V0IGNvbXBh cmluZyBUVExcJi4KdGFibGUgaW5ldCB4IHsKICAgIGNoYWluIHkgewogICAgICAgIHR5cGUg ZmlsdGVyIGhvb2sgaW5wdXQgcHJpb3JpdHkgMDsgcG9saWN5IGFjY2VwdDsKICAgICAgICBv c2YgdHRsIHNraXAgbmFtZSAiTGludXgiCiAgICB9Cn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9 Ci5zcAouU1MgIkZJQiBFWFBSRVNTSU9OUyIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5m ClxmQmZpYlxmUiB7XGZCc2FkZHJcZlIgfCBcZkJkYWRkclxmUiB8IFxmQm1hcmtcZlIgfCBc ZkJpaWZcZlIgfCBcZkJvaWZcZlJ9IFtcZkJcJi5cZlIgXCYuLi5dIHtcZkJvaWZcZlIgfCBc ZkJvaWZuYW1lXGZSIHwgXGZCdHlwZVxmUn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApB IGZpYiBleHByZXNzaW9uIHF1ZXJpZXMgdGhlIGZpYiAoZm9yd2FyZGluZyBpbmZvcm1hdGlv biBiYXNlKSB0byBvYnRhaW4gaW5mb3JtYXRpb24gc3VjaCBhcyB0aGUgb3V0cHV0IGludGVy ZmFjZSBpbmRleCBhIHBhcnRpY3VsYXIgYWRkcmVzcyB3b3VsZCB1c2VcJi4gVGhlIGlucHV0 IGlzIGEgdHVwbGUgb2YgZWxlbWVudHMgdGhhdCBpcyB1c2VkIGFzIGlucHV0IHRvIHRoZSBm aWIgbG9va3VwIGZ1bmN0aW9uc1wmLgouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3Bh Y2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjMzLlwgXCZm aWIgZXhwcmVzc2lvbiBzcGVjaWZpYyB0eXBlcwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0 QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYK bHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcApvaWYKVH06VHsKLnNwCk91dHB1 dCBpbnRlcmZhY2UgaW5kZXgKVH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNw Cm9pZm5hbWUKVH06VHsKLnNwCk91dHB1dCBpbnRlcmZhY2UgbmFtZQpUfTpUewouc3AKc3Ry aW5nClR9ClR7Ci5zcAp0eXBlClR9OlR7Ci5zcApBZGRyZXNzIHR5cGUKVH06VHsKLnNwCmZp Yl9hZGRydHlwZQpUfQouVEUKLnNwIDEKLnNwClVzZSBcZkJuZnRcZlIgXGZCZGVzY3JpYmVc ZlIgXGZCZmliX2FkZHJ0eXBlXGZSIHRvIGdldCBhIGxpc3Qgb2YgYWxsIGFkZHJlc3MgdHlw ZXNcJi4KLlBQClxmQlVzaW5nIGZpYiBleHByZXNzaW9uc1xmUi4gCi5zcAouaWYgbiBce1wK LlJTIDQKLlx9Ci5uZgojIGRyb3AgcGFja2V0cyB3aXRob3V0IGEgcmV2ZXJzZSBwYXRoCmZp bHRlciBwcmVyb3V0aW5nIGZpYiBzYWRkciBcJi4gaWlmIG9pZiBtaXNzaW5nIGRyb3AKCklu IHRoaXMgZXhhbXBsZSwgXCooQXFzYWRkciBcJi4gaWlmXCooQXEgbG9va3MgdXAgcm91dGlu ZyBpbmZvcm1hdGlvbiBiYXNlZCBvbiB0aGUgc291cmNlIGFkZHJlc3MgYW5kIHRoZSBpbnB1 dCBpbnRlcmZhY2VcJi4Kb2lmIHBpY2tzIHRoZSBvdXRwdXQgaW50ZXJmYWNlIGluZGV4IGZy b20gdGhlIHJvdXRpbmcgaW5mb3JtYXRpb25cJi4KSWYgbm8gcm91dGUgd2FzIGZvdW5kIGZv ciB0aGUgc291cmNlIGFkZHJlc3MvaW5wdXQgaW50ZXJmYWNlIGNvbWJpbmF0aW9uLCB0aGUg b3V0cHV0IGludGVyZmFjZSBpbmRleCBpcyB6ZXJvXCYuCkluIGNhc2UgdGhlIGlucHV0IGlu dGVyZmFjZSBpcyBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgaW5wdXQga2V5LCB0aGUgb3V0 cHV0IGludGVyZmFjZSBpbmRleCBpcyBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIGlucHV0IGlu dGVyZmFjZSBpbmRleCBvciB6ZXJvXCYuCklmIG9ubHkgXCooQXFzYWRkciBvaWZcKihBcSBp cyBnaXZlbiwgdGhlbiBvaWYgY2FuIGJlIGFueSBpbnRlcmZhY2UgaW5kZXggb3IgemVyb1wm LgoKIyBkcm9wIHBhY2tldHMgdG8gYWRkcmVzcyBub3QgY29uZmlndXJlZCBvbiBpbmNvbWlu ZyBpbnRlcmZhY2UKZmlsdGVyIHByZXJvdXRpbmcgZmliIGRhZGRyIFwmLiBpaWYgdHlwZSAh PSB7IGxvY2FsLCBicm9hZGNhc3QsIG11bHRpY2FzdCB9IGRyb3AKCiMgcGVyZm9ybSBsb29r dXAgaW4gYSBzcGVjaWZpYyBcKihBcWJsYWNraG9sZVwqKEFxIHRhYmxlICgweGRlYWQsIG5l ZWRzIGlwIGFwcHJvcHJpYXRlIGlwIHJ1bGUpCmZpbHRlciBwcmVyb3V0aW5nIG1ldGEgbWFy ayBzZXQgMHhkZWFkIGZpYiBkYWRkciBcJi4gbWFyayB0eXBlIHZtYXAgeyBibGFja2hvbGUg OiBkcm9wLCBwcm9oaWJpdCA6IGp1bXAgcHJvaGliaXRlZCwgdW5yZWFjaGFibGUgOiBkcm9w IH0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU1MgIlJPVVRJTkcgRVhQUkVTU0lPTlMi Ci5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJydFxmUiBbXGZCaXBcZlIgfCBcZkJp cDZcZlJdIHtcZkJjbGFzc2lkXGZSIHwgXGZCbmV4dGhvcFxmUiB8IFxmQm10dVxmUiB8IFxm Qmlwc2VjXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCkEgcm91dGluZyBleHByZXNz aW9uIHJlZmVycyB0byByb3V0aW5nIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcGFja2V0XCYu Ci5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFr LWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMzQuXCBcJlJvdXRpbmcgZXhwcmVzc2lvbiB0eXBl cwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVz Y3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQK bHQgbHQgbHQuClR7Ci5zcApjbGFzc2lkClR9OlR7Ci5zcApSb3V0aW5nIHJlYWxtClR9OlR7 Ci5zcApyZWFsbQpUfQpUewouc3AKbmV4dGhvcApUfTpUewouc3AKUm91dGluZyBuZXh0aG9w ClR9OlR7Ci5zcAppcHY0X2FkZHIvaXB2Nl9hZGRyClR9ClR7Ci5zcAptdHUKVH06VHsKLnNw ClRDUCBtYXhpbXVtIHNlZ21lbnQgc2l6ZSBvZiByb3V0ZQpUfTpUewouc3AKaW50ZWdlciAo MTYgYml0KQpUfQpUewouc3AKaXBzZWMKVH06VHsKLnNwCnJvdXRlIHZpYSBpcHNlYyB0dW5u ZWwgb3IgdHJhbnNwb3J0ClR9OlR7Ci5zcApib29sZWFuClR9Ci5URQouc3AgMQouc3AKLml0 IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEK LmJyCi5CIFRhYmxlXCBcJjM1LlwgXCZSb3V0aW5nIGV4cHJlc3Npb24gc3BlY2lmaWMgdHlw ZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7ClR5cGUKVH06VHsKRGVzY3JpcHRp b24KVH0KLlQmCmx0IGx0LgpUewouc3AKcmVhbG0KVH06VHsKLnNwClJvdXRpbmcgUmVhbG0g KDMyIGJpdCBudW1iZXIpXCYuIENhbiBiZSBzcGVjaWZpZWQgbnVtZXJpY2FsbHkgb3IgYXMg c3ltYm9saWMgbmFtZSBkZWZpbmVkIGluIC9ldGMvaXByb3V0ZTIvcnRfcmVhbG1zXCYuClR9 Ci5URQouc3AgMQouUFAKXGZCVXNpbmcgcm91dGluZyBleHByZXNzaW9uc1xmUi4gCi5zcAou aWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIElQIGZhbWlseSBpbmRlcGVuZGVudCBydCBleHBy ZXNzaW9uCmZpbHRlciBvdXRwdXQgcnQgY2xhc3NpZCAxMAoKIyBJUCBmYW1pbHkgZGVwZW5k ZW50IHJ0IGV4cHJlc3Npb25zCmlwIGZpbHRlciBvdXRwdXQgcnQgbmV4dGhvcCAxOTJcJi4x NjhcJi4wXCYuMQppcDYgZmlsdGVyIG91dHB1dCBydCBuZXh0aG9wIGZkMDA6OjEKaW5ldCBm aWx0ZXIgb3V0cHV0IHJ0IGlwIG5leHRob3AgMTkyXCYuMTY4XCYuMFwmLjEKaW5ldCBmaWx0 ZXIgb3V0cHV0IHJ0IGlwNiBuZXh0aG9wIGZkMDA6OjEKCiMgb3V0Z29pbmcgcGFja2V0IHdp bGwgYmUgZW5jYXBzdWxhdGVkL2VuY3J5cHRlZCBieSBpcHNlYwpmaWx0ZXIgb3V0cHV0IHJ0 IGlwc2VjIGV4aXN0cwouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiSVBTRUMgRVhQ UkVTU0lPTlMiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJpcHNlY1xmUiB7XGZC aW5cZlIgfCBcZkJvdXRcZlJ9IFsgXGZCc3BudW1cZlIgXGZJTlVNXGZSIF0gIHtcZkJyZXFp ZFxmUiB8IFxmQnNwaVxmUn0KXGZCaXBzZWNcZlIge1xmQmluXGZSIHwgXGZCb3V0XGZSfSBb IFxmQnNwbnVtXGZSIFxmSU5VTVxmUiBdICB7XGZCaXBcZlIgfCBcZkJpcDZcZlJ9IHtcZkJz YWRkclxmUiB8IFxmQmRhZGRyXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCkFuIGlw c2VjIGV4cHJlc3Npb24gcmVmZXJzIHRvIGlwc2VjIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEg cGFja2V0XCYuCi5zcApUaGUgXGZJaW5cZlIgb3IgXGZJb3V0XGZSIGtleXdvcmQgbmVlZHMg dG8gYmUgdXNlZCB0byBzcGVjaWZ5IGlmIHRoZSBleHByZXNzaW9uIHNob3VsZCBleGFtaW5l IGluYm91bmQgb3Igb3V0Ym91bmQgcG9saWNpZXNcJi4gVGhlIFxmSWluXGZSIGtleXdvcmQg Y2FuIGJlIHVzZWQgaW4gdGhlIHByZXJvdXRpbmcsIGlucHV0IGFuZCBmb3J3YXJkIGhvb2tz XCYuIFRoZSBcZklvdXRcZlIga2V5d29yZCBhcHBsaWVzIHRvIGZvcndhcmQsIG91dHB1dCBh bmQgcG9zdHJvdXRpbmcgaG9va3NcJi4gVGhlIG9wdGlvbmFsIGtleXdvcmQgc3BudW0gY2Fu IGJlIHVzZWQgdG8gbWF0Y2ggYSBzcGVjaWZpYyBzdGF0ZSBpbiBhIGNoYWluLCBpdCBkZWZh dWx0cyB0byAwXCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEK Lm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmMzYuXCBcJklwc2VjIGV4cHJl c3Npb24gdHlwZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3Jk ClR9OlR7CkRlc2NyaXB0aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0 Cmx0IGx0IGx0Cmx0IGx0IGx0LgpUewouc3AKcmVxaWQKVH06VHsKLnNwClJlcXVlc3QgSUQK VH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNwCnNwaQpUfTpUewouc3AKU2Vj dXJpdHkgUGFyYW1ldGVyIEluZGV4ClR9OlR7Ci5zcAppbnRlZ2VyICgzMiBiaXQpClR9ClR7 Ci5zcApzYWRkcgpUfTpUewouc3AKU291cmNlIGFkZHJlc3Mgb2YgdGhlIHR1bm5lbApUfTpU ewouc3AKaXB2NF9hZGRyL2lwdjZfYWRkcgpUfQpUewouc3AKZGFkZHIKVH06VHsKLnNwCkRl c3RpbmF0aW9uIGFkZHJlc3Mgb2YgdGhlIHR1bm5lbApUfTpUewouc3AKaXB2NF9hZGRyL2lw djZfYWRkcgpUfQouVEUKLnNwIDEKLlNTICJOVU1HRU4gRVhQUkVTU0lPTiIKLnNwCi5pZiBu IFx7XAouUlMgNAouXH0KLm5mClxmQm51bWdlblxmUiB7XGZCaW5jXGZSIHwgXGZCcmFuZG9t XGZSfSBcZkJtb2RcZlIgXGZJTlVNXGZSIFsgXGZCb2Zmc2V0XGZSIFxmSU5VTVxmUiBdCi5m aQouaWYgbiBce1wKLlJFCi5cfQouc3AKQ3JlYXRlIGEgbnVtYmVyIGdlbmVyYXRvclwmLiBU aGUgXGZCaW5jXGZSIG9yIFxmQnJhbmRvbVxmUiBrZXl3b3JkcyBjb250cm9sIGl0cyBvcGVy YXRpb24gbW9kZTogSW4gXGZCaW5jXGZSIG1vZGUsIHRoZSBsYXN0IHJldHVybmVkIHZhbHVl IGlzIHNpbXBseSBpbmNyZW1lbnRlZFwmLiBJbiBcZkJyYW5kb21cZlIgbW9kZSwgYSBuZXcg cmFuZG9tIG51bWJlciBpcyByZXR1cm5lZFwmLiBUaGUgdmFsdWUgYWZ0ZXIgXGZCbW9kXGZS IGtleXdvcmQgc3BlY2lmaWVzIGFuIHVwcGVyIGJvdW5kYXJ5IChyZWFkOiBtb2R1bHVzKSB3 aGljaCBpcyBub3QgcmVhY2hlZCBieSByZXR1cm5lZCBudW1iZXJzXCYuIFRoZSBvcHRpb25h bCBcZkJvZmZzZXRcZlIgYWxsb3dzIHRvIGluY3JlbWVudCB0aGUgcmV0dXJuZWQgdmFsdWUg YnkgYSBmaXhlZCBvZmZzZXRcJi4KLnNwCkEgdHlwaWNhbCB1c2VcLWNhc2UgZm9yIFxmQm51 bWdlblxmUiBpcyBsb2FkXC1iYWxhbmNpbmc6Ci5QUApcZkJVc2luZyBudW1nZW4gZXhwcmVz c2lvblxmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIHJvdW5kXC1yb2JpbiBi ZXR3ZWVuIDE5MlwmLjE2OFwmLjEwXCYuMTAwIGFuZCAxOTJcJi4xNjhcJi4yMFwmLjIwMDoK YWRkIHJ1bGUgbmF0IHByZXJvdXRpbmcgZG5hdCB0byBudW1nZW4gaW5jIG1vZCAyIG1hcCBc ZQogICAgICAgIHsgMCA6IDE5MlwmLjE2OFwmLjEwXCYuMTAwLCAxIDogMTkyXCYuMTY4XCYu MjBcJi4yMDAgfQoKIyBwcm9iYWJpbGl0eVwtYmFzZWQgd2l0aCBvZGQgYmlhcyB1c2luZyBp bnRlcnZhbHM6CmFkZCBydWxlIG5hdCBwcmVyb3V0aW5nIGRuYXQgdG8gbnVtZ2VuIHJhbmRv bSBtb2QgMTAgbWFwIFxlCiAgICAgICAgeyAwXC0yIDogMTkyXCYuMTY4XCYuMTBcJi4xMDAs IDNcLTkgOiAxOTJcJi4xNjhcJi4yMFwmLjIwMCB9Ci5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKLlNTICJIQVNIIEVYUFJFU1NJT05TIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYK XGZCamhhc2hcZlIge1xmQmlwIHNhZGRyXGZSIHwgXGZCaXA2IGRhZGRyXGZSIHwgXGZCdGNw IGRwb3J0XGZSIHwgXGZCdWRwIHNwb3J0XGZSIHwgXGZCZXRoZXIgc2FkZHJcZlJ9IFtcZkJc Ji5cZlIgXCYuLi5dIFxmQm1vZFxmUiBcZklOVU1cZlIgWyBcZkJzZWVkXGZSIFxmSU5VTVxm UiBdIFsgXGZCb2Zmc2V0XGZSIFxmSU5VTVxmUiBdClxmQnN5bWhhc2hcZlIgXGZCbW9kXGZS IFxmSU5VTVxmUiBbIFxmQm9mZnNldFxmUiBcZklOVU1cZlIgXQouZmkKLmlmIG4gXHtcCi5S RQouXH0KLnNwClVzZSBhIGhhc2hpbmcgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYSBudW1iZXJc Ji4gVGhlIGZ1bmN0aW9ucyBhdmFpbGFibGUgYXJlIFxmQmpoYXNoXGZSLCBrbm93biBhcyBK ZW5raW5zIEhhc2gsIGFuZCBcZkJzeW1oYXNoXGZSLCBmb3IgU3ltbWV0cmljIEhhc2hcJi4g VGhlIFxmQmpoYXNoXGZSIHJlcXVpcmVzIGFuIGV4cHJlc3Npb24gdG8gZGV0ZXJtaW5lIHRo ZSBwYXJhbWV0ZXJzIG9mIHRoZSBwYWNrZXQgaGVhZGVyIHRvIGFwcGx5IHRoZSBoYXNoaW5n LCBjb25jYXRlbmF0aW9ucyBhcmUgcG9zc2libGUgYXMgd2VsbFwmLiBUaGUgdmFsdWUgYWZ0 ZXIgXGZCbW9kXGZSIGtleXdvcmQgc3BlY2lmaWVzIGFuIHVwcGVyIGJvdW5kYXJ5IChyZWFk OiBtb2R1bHVzKSB3aGljaCBpcyBub3QgcmVhY2hlZCBieSByZXR1cm5lZCBudW1iZXJzXCYu IFRoZSBvcHRpb25hbCBcZkJzZWVkXGZSIGlzIHVzZWQgdG8gc3BlY2lmeSBhbiBpbml0IHZh bHVlIHVzZWQgYXMgc2VlZCBpbiB0aGUgaGFzaGluZyBmdW5jdGlvblwmLiBUaGUgb3B0aW9u YWwgXGZCb2Zmc2V0XGZSIGFsbG93cyB0byBpbmNyZW1lbnQgdGhlIHJldHVybmVkIHZhbHVl IGJ5IGEgZml4ZWQgb2Zmc2V0XCYuCi5zcApBIHR5cGljYWwgdXNlXC1jYXNlIGZvciBcZkJq aGFzaFxmUiBhbmQgXGZCc3ltaGFzaFxmUiBpcyBsb2FkXC1iYWxhbmNpbmc6Ci5QUApcZkJV c2luZyBoYXNoIGV4cHJlc3Npb25zXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5m CiMgbG9hZCBiYWxhbmNlIGJhc2VkIG9uIHNvdXJjZSBpcCBiZXR3ZWVuIDIgaXAgYWRkcmVz c2VzOgphZGQgcnVsZSBuYXQgcHJlcm91dGluZyBkbmF0IHRvIGpoYXNoIGlwIHNhZGRyIG1v ZCAyIG1hcCBcZQogICAgICAgIHsgMCA6IDE5MlwmLjE2OFwmLjEwXCYuMTAwLCAxIDogMTky XCYuMTY4XCYuMjBcJi4yMDAgfQoKIyBzeW1tZXRyaWMgbG9hZCBiYWxhbmNpbmcgYmV0d2Vl biAyIGlwIGFkZHJlc3NlczoKYWRkIHJ1bGUgbmF0IHByZXJvdXRpbmcgZG5hdCB0byBzeW1o YXNoIG1vZCAyIG1hcCBcZQogICAgICAgIHsgMCA6IDE5MlwmLjE2OFwmLjEwXCYuMTAwLCAx IDogMTkyXCYuMTY4XCYuMjBcJi4yMDAgfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5T SCAiUEFZTE9BRCBFWFBSRVNTSU9OUyIKLnNwClBheWxvYWQgZXhwcmVzc2lvbnMgcmVmZXIg dG8gZGF0YSBmcm9tIHRoZSBwYWNrZXRcKGNxcyBwYXlsb2FkXCYuCi5TUyAiRVRIRVJORVQg SEVBREVSIEVYUFJFU1NJT04iCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJldGhl clxmUiB7XGZCZGFkZHJcZlIgfCBcZkJzYWRkclxmUiB8IFxmQnR5cGVcZlJ9Ci5maQouaWYg biBce1wKLlJFCi5cfQouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAx Ci5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjM3LlwgXCZFdGhlcm5ldCBo ZWFkZXIgZXhwcmVzc2lvbiB0eXBlcwouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIu ClR7CktleXdvcmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQg bHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcApkYWRkcgpUfTpUewouc3AKRGVzdGluYXRp b24gTUFDIGFkZHJlc3MKVH06VHsKLnNwCmV0aGVyX2FkZHIKVH0KVHsKLnNwCnNhZGRyClR9 OlR7Ci5zcApTb3VyY2UgTUFDIGFkZHJlc3MKVH06VHsKLnNwCmV0aGVyX2FkZHIKVH0KVHsK LnNwCnR5cGUKVH06VHsKLnNwCkV0aGVyVHlwZQpUfTpUewouc3AKZXRoZXJfdHlwZQpUfQou VEUKLnNwIDEKLlNTICJWTEFOIEhFQURFUiBFWFBSRVNTSU9OIgouc3AKLmlmIG4gXHtcCi5S UyA0Ci5cfQoubmYKXGZCdmxhblxmUiB7XGZCaWRcZlIgfCBcZkJjZmlcZlIgfCBcZkJwY3Bc ZlIgfCBcZkJ0eXBlXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5pdCAxIGFuLXRy YXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBU YWJsZVwgXCYzOC5cIFwmVkxBTiBoZWFkZXIgZXhwcmVzc2lvbgouVFMKYWxsYm94IHRhYig6 KTsKbHRCIGx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlw ZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcApp ZApUfTpUewouc3AKVkxBTiBJRCAoVklEKQpUfTpUewouc3AKaW50ZWdlciAoMTIgYml0KQpU fQpUewouc3AKY2ZpClR9OlR7Ci5zcApDYW5vbmljYWwgRm9ybWF0IEluZGljYXRvcgpUfTpU ewouc3AKaW50ZWdlciAoMSBiaXQpClR9ClR7Ci5zcApwY3AKVH06VHsKLnNwClByaW9yaXR5 IGNvZGUgcG9pbnQKVH06VHsKLnNwCmludGVnZXIgKDMgYml0KQpUfQpUewouc3AKdHlwZQpU fTpUewouc3AKRXRoZXJUeXBlClR9OlR7Ci5zcApldGhlcl90eXBlClR9Ci5URQouc3AgMQou U1MgIkFSUCBIRUFERVIgRVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5m ClxmQmFycFxmUiB7XGZCaHR5cGVcZlIgfCBcZkJwdHlwZVxmUiB8IFxmQmhsZW5cZlIgfCBc ZkJwbGVuXGZSIHwgXGZCb3BlcmF0aW9uXGZSIHwgXGZCc2FkZHJcZlIgeyBcZkJpcFxmUiB8 IFxmQmV0aGVyXGZSIH0gfCBcZkJkYWRkclxmUiB7IFxmQmlwXGZSIHwgXGZCZXRoZXJcZlIg fQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNw YWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCYzOS5cIFwm QVJQIGhlYWRlciBleHByZXNzaW9uCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4K VHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCmh0eXBlClR9OlR7Ci5zcApBUlAgaGFyZHdh cmUgdHlwZQpUfTpUewouc3AKaW50ZWdlciAoMTYgYml0KQpUfQpUewouc3AKcHR5cGUKVH06 VHsKLnNwCkV0aGVyVHlwZQpUfTpUewouc3AKZXRoZXJfdHlwZQpUfQpUewouc3AKaGxlbgpU fTpUewouc3AKSGFyZHdhcmUgYWRkcmVzcyBsZW4KVH06VHsKLnNwCmludGVnZXIgKDggYml0 KQpUfQpUewouc3AKcGxlbgpUfTpUewouc3AKUHJvdG9jb2wgYWRkcmVzcyBsZW4KVH06VHsK LnNwCmludGVnZXIgKDggYml0KQpUfQpUewouc3AKb3BlcmF0aW9uClR9OlR7Ci5zcApPcGVy YXRpb24KVH06VHsKLnNwCmFycF9vcApUfQpUewouc3AKc2FkZHIgZXRoZXIKVH06VHsKLnNw CkV0aGVybmV0IHNlbmRlciBhZGRyZXNzClR9OlR7Ci5zcApldGhlcl9hZGRyClR9ClR7Ci5z cApkYWRkciBldGhlcgpUfTpUewouc3AKRXRoZXJuZXQgdGFyZ2V0IGFkZHJlc3MKVH06VHsK LnNwCmV0aGVyX2FkZHIKVH0KVHsKLnNwCnNhZGRyIGlwClR9OlR7Ci5zcApJUHY0IHNlbmRl ciBhZGRyZXNzClR9OlR7Ci5zcAppcHY0X2FkZHIKVH0KVHsKLnNwCmRhZGRyIGlwClR9OlR7 Ci5zcApJUHY0IHRhcmdldCBhZGRyZXNzClR9OlR7Ci5zcAppcHY0X2FkZHIKVH0KLlRFCi5z cCAxCi5TUyAiSVBWNCBIRUFERVIgRVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mClxmQmlwXGZSIHtcZkJ2ZXJzaW9uXGZSIHwgXGZCaGRybGVuZ3RoXGZSIHwgXGZC ZHNjcFxmUiB8IFxmQmVjblxmUiB8IFxmQmxlbmd0aFxmUiB8IFxmQmlkXGZSIHwgXGZCZnJh Z1wtb2ZmXGZSIHwgXGZCdHRsXGZSIHwgXGZCcHJvdG9jb2xcZlIgfCBcZkJjaGVja3N1bVxm UiB8IFxmQnNhZGRyXGZSIHwgXGZCZGFkZHJcZlIgfQouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWst ZmxhZyAxCi5icgouQiBUYWJsZVwgXCY0MC5cIFwmSVB2NCBoZWFkZXIgZXhwcmVzc2lvbgou VFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVzY3Jp cHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQg bHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQg bHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcAp2ZXJzaW9uClR9OlR7Ci5zcApJUCBo ZWFkZXIgdmVyc2lvbiAoNCkKVH06VHsKLnNwCmludGVnZXIgKDQgYml0KQpUfQpUewouc3AK aGRybGVuZ3RoClR9OlR7Ci5zcApJUCBoZWFkZXIgbGVuZ3RoIGluY2x1ZGluZyBvcHRpb25z ClR9OlR7Ci5zcAppbnRlZ2VyICg0IGJpdCkgRklYTUUgc2NhbGluZwpUfQpUewouc3AKZHNj cApUfTpUewouc3AKRGlmZmVyZW50aWF0ZWQgU2VydmljZXMgQ29kZSBQb2ludApUfTpUewou c3AKZHNjcApUfQpUewouc3AKZWNuClR9OlR7Ci5zcApFeHBsaWNpdCBDb25nZXN0aW9uIE5v dGlmaWNhdGlvbgpUfTpUewouc3AKZWNuClR9ClR7Ci5zcApsZW5ndGgKVH06VHsKLnNwClRv dGFsIHBhY2tldCBsZW5ndGgKVH06VHsKLnNwCmludGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNw CmlkClR9OlR7Ci5zcApJUCBJRApUfTpUewouc3AKaW50ZWdlciAoMTYgYml0KQpUfQpUewou c3AKZnJhZ1wtb2ZmClR9OlR7Ci5zcApGcmFnbWVudCBvZmZzZXQKVH06VHsKLnNwCmludGVn ZXIgKDE2IGJpdCkKVH0KVHsKLnNwCnR0bApUfTpUewouc3AKVGltZSB0byBsaXZlClR9OlR7 Ci5zcAppbnRlZ2VyICg4IGJpdCkKVH0KVHsKLnNwCnByb3RvY29sClR9OlR7Ci5zcApVcHBl ciBsYXllciBwcm90b2NvbApUfTpUewouc3AKaW5ldF9wcm90bwpUfQpUewouc3AKY2hlY2tz dW0KVH06VHsKLnNwCklQIGhlYWRlciBjaGVja3N1bQpUfTpUewouc3AKaW50ZWdlciAoMTYg Yml0KQpUfQpUewouc3AKc2FkZHIKVH06VHsKLnNwClNvdXJjZSBhZGRyZXNzClR9OlR7Ci5z cAppcHY0X2FkZHIKVH0KVHsKLnNwCmRhZGRyClR9OlR7Ci5zcApEZXN0aW5hdGlvbiBhZGRy ZXNzClR9OlR7Ci5zcAppcHY0X2FkZHIKVH0KLlRFCi5zcCAxCi5TUyAiSUNNUCBIRUFERVIg RVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQmljbXBcZlIge1xm QnR5cGVcZlIgfCBcZkJjb2RlXGZSIHwgXGZCY2hlY2tzdW1cZlIgfCBcZkJpZFxmUiB8IFxm QnNlcXVlbmNlXGZSIHwgXGZCZ2F0ZXdheVxmUiB8IFxmQm10dVxmUn0KLmZpCi5pZiBuIFx7 XAouUkUKLlx9Ci5zcApUaGlzIGV4cHJlc3Npb24gcmVmZXJzIHRvIElDTVAgaGVhZGVyIGZp ZWxkc1wmLiBXaGVuIHVzaW5nIGl0IGluIFxmQmluZXRcZlIsIFxmQmJyaWRnZVxmUiBvciBc ZkJuZXRkZXZcZlIgZmFtaWxpZXMsIGl0IHdpbGwgY2F1c2UgYW4gaW1wbGljaXQgZGVwZW5k ZW5jeSBvbiBJUHY0IHRvIGJlIGNyZWF0ZWRcJi4gVG8gbWF0Y2ggb24gdW51c3VhbCBjYXNl cyBsaWtlIElDTVAgb3ZlciBJUHY2LCBvbmUgaGFzIHRvIGFkZCBhbiBleHBsaWNpdCBcZkJt ZXRhIHByb3RvY29sIGlwNlxmUiBtYXRjaCB0byB0aGUgcnVsZVwmLgouc3AKLml0IDEgYW4t dHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5C IFRhYmxlXCBcJjQxLlwgXCZJQ01QIGhlYWRlciBleHByZXNzaW9uCi5UUwphbGxib3ggdGFi KDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpU eXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBs dApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnR5cGUKVH06VHsKLnNwCklDTVAgdHlwZSBm aWVsZApUfTpUewouc3AKaWNtcF90eXBlClR9ClR7Ci5zcApjb2RlClR9OlR7Ci5zcApJQ01Q IGNvZGUgZmllbGQKVH06VHsKLnNwCmludGVnZXIgKDggYml0KQpUfQpUewouc3AKY2hlY2tz dW0KVH06VHsKLnNwCklDTVAgY2hlY2tzdW0gZmllbGQKVH06VHsKLnNwCmludGVnZXIgKDE2 IGJpdCkKVH0KVHsKLnNwCmlkClR9OlR7Ci5zcApJRCBvZiBlY2hvIHJlcXVlc3QvcmVzcG9u c2UKVH06VHsKLnNwCmludGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNwCnNlcXVlbmNlClR9OlR7 Ci5zcApzZXF1ZW5jZSBudW1iZXIgb2YgZWNobyByZXF1ZXN0L3Jlc3BvbnNlClR9OlR7Ci5z cAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcApnYXRld2F5ClR9OlR7Ci5zcApnYXRld2F5 IG9mIHJlZGlyZWN0cwpUfTpUewouc3AKaW50ZWdlciAoMzIgYml0KQpUfQpUewouc3AKbXR1 ClR9OlR7Ci5zcApNVFUgb2YgcGF0aCBNVFUgZGlzY292ZXJ5ClR9OlR7Ci5zcAppbnRlZ2Vy ICgxNiBiaXQpClR9Ci5URQouc3AgMQouU1MgIklHTVAgSEVBREVSIEVYUFJFU1NJT04iCi5z cAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJpZ21wXGZSIHtcZkJ0eXBlXGZSIHwgXGZC bXJ0XGZSIHwgXGZCY2hlY2tzdW1cZlIgfCBcZkJncm91cFxmUn0KLmZpCi5pZiBuIFx7XAou UkUKLlx9Ci5zcApUaGlzIGV4cHJlc3Npb24gcmVmZXJzIHRvIElHTVAgaGVhZGVyIGZpZWxk c1wmLiBXaGVuIHVzaW5nIGl0IGluIFxmQmluZXRcZlIsIFxmQmJyaWRnZVxmUiBvciBcZkJu ZXRkZXZcZlIgZmFtaWxpZXMsIGl0IHdpbGwgY2F1c2UgYW4gaW1wbGljaXQgZGVwZW5kZW5j eSBvbiBJUHY0IHRvIGJlIGNyZWF0ZWRcJi4gVG8gbWF0Y2ggb24gdW51c3VhbCBjYXNlcyBs aWtlIElHTVAgb3ZlciBJUHY2LCBvbmUgaGFzIHRvIGFkZCBhbiBleHBsaWNpdCBcZkJtZXRh IHByb3RvY29sIGlwNlxmUiBtYXRjaCB0byB0aGUgcnVsZVwmLgouc3AKLml0IDEgYW4tdHJh cAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRh YmxlXCBcJjQyLlwgXCZJR01QIGhlYWRlciBleHByZXNzaW9uCi5UUwphbGxib3ggdGFiKDop OwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBl ClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnR5 cGUKVH06VHsKLnNwCklHTVAgdHlwZSBmaWVsZApUfTpUewouc3AKaWdtcF90eXBlClR9ClR7 Ci5zcAptcnQKVH06VHsKLnNwCklHTVAgbWF4aW11bSByZXNwb25zZSB0aW1lIGZpZWxkClR9 OlR7Ci5zcAppbnRlZ2VyICg4IGJpdCkKVH0KVHsKLnNwCmNoZWNrc3VtClR9OlR7Ci5zcApJ R01QIGNoZWNrc3VtIGZpZWxkClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5z cApncm91cApUfTpUewouc3AKR3JvdXAgYWRkcmVzcwpUfTpUewouc3AKaW50ZWdlciAoMzIg Yml0KQpUfQouVEUKLnNwIDEKLlNTICJJUFY2IEhFQURFUiBFWFBSRVNTSU9OIgouc3AKLmlm IG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCaXA2XGZSIHtcZkJ2ZXJzaW9uXGZSIHwgXGZCZHNj cFxmUiB8IFxmQmVjblxmUiB8IFxmQmZsb3dsYWJlbFxmUiB8IFxmQmxlbmd0aFxmUiB8IFxm Qm5leHRoZHJcZlIgfCBcZkJob3BsaW1pdFxmUiB8IFxmQnNhZGRyXGZSIHwgXGZCZGFkZHJc ZlJ9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhpcyBleHByZXNzaW9uIHJlZmVycyB0 byB0aGUgaXB2NiBoZWFkZXIgZmllbGRzXCYuIENhdXRpb24gd2hlbiB1c2luZyBcZkJpcDYg bmV4dGhkclxmUiwgdGhlIHZhbHVlIG9ubHkgcmVmZXJzIHRvIHRoZSBuZXh0IGhlYWRlciwg aVwmLmVcJi4gXGZCaXA2IG5leHRoZHIgdGNwXGZSIHdpbGwgb25seSBtYXRjaCBpZiB0aGUg aXB2NiBwYWNrZXQgZG9lcyBub3QgY29udGFpbiBhbnkgZXh0ZW5zaW9uIGhlYWRlcnNcJi4g UGFja2V0cyB0aGF0IGFyZSBmcmFnbWVudGVkIG9yIGVcJi5nXCYuIGNvbnRhaW4gYSByb3V0 aW5nIGV4dGVuc2lvbiBoZWFkZXJzIHdpbGwgbm90IGJlIG1hdGNoZWRcJi4gUGxlYXNlIHVz ZSBcZkJtZXRhIGw0cHJvdG9cZlIgaWYgeW91IHdpc2ggdG8gbWF0Y2ggdGhlIHJlYWwgdHJh bnNwb3J0IGhlYWRlciBhbmQgaWdub3JlIGFueSBhZGRpdGlvbmFsIGV4dGVuc2lvbiBoZWFk ZXJzIGluc3RlYWRcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcg MQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY0My5cIFwmSVB2NiBoZWFk ZXIgZXhwcmVzc2lvbgouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7CktleXdv cmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQg bHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQg bHQKbHQgbHQgbHQuClR7Ci5zcAp2ZXJzaW9uClR9OlR7Ci5zcApJUCBoZWFkZXIgdmVyc2lv biAoNikKVH06VHsKLnNwCmludGVnZXIgKDQgYml0KQpUfQpUewouc3AKZHNjcApUfTpUewou c3AKRGlmZmVyZW50aWF0ZWQgU2VydmljZXMgQ29kZSBQb2ludApUfTpUewouc3AKZHNjcApU fQpUewouc3AKZWNuClR9OlR7Ci5zcApFeHBsaWNpdCBDb25nZXN0aW9uIE5vdGlmaWNhdGlv bgpUfTpUewouc3AKZWNuClR9ClR7Ci5zcApmbG93bGFiZWwKVH06VHsKLnNwCkZsb3cgbGFi ZWwKVH06VHsKLnNwCmludGVnZXIgKDIwIGJpdCkKVH0KVHsKLnNwCmxlbmd0aApUfTpUewou c3AKUGF5bG9hZCBsZW5ndGgKVH06VHsKLnNwCmludGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNw Cm5leHRoZHIKVH06VHsKLnNwCk5leHRoZHIgcHJvdG9jb2wKVH06VHsKLnNwCmluZXRfcHJv dG8KVH0KVHsKLnNwCmhvcGxpbWl0ClR9OlR7Ci5zcApIb3AgbGltaXQKVH06VHsKLnNwCmlu dGVnZXIgKDggYml0KQpUfQpUewouc3AKc2FkZHIKVH06VHsKLnNwClNvdXJjZSBhZGRyZXNz ClR9OlR7Ci5zcAppcHY2X2FkZHIKVH0KVHsKLnNwCmRhZGRyClR9OlR7Ci5zcApEZXN0aW5h dGlvbiBhZGRyZXNzClR9OlR7Ci5zcAppcHY2X2FkZHIKVH0KLlRFCi5zcCAxCi5QUApcZkJV c2luZyBpcDYgaGVhZGVyIGV4cHJlc3Npb25zXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mCiMgbWF0Y2hpbmcgaWYgZmlyc3QgZXh0ZW5zaW9uIGhlYWRlciBpbmRpY2F0ZXMg YSBmcmFnbWVudAppcDYgbmV4dGhkciBpcHY2XC1mcmFnCi5maQouaWYgbiBce1wKLlJFCi5c fQouc3AKLlNTICJJQ01QVjYgSEVBREVSIEVYUFJFU1NJT04iCi5zcAouaWYgbiBce1wKLlJT IDQKLlx9Ci5uZgpcZkJpY21wdjZcZlIge1xmQnR5cGVcZlIgfCBcZkJjb2RlXGZSIHwgXGZC Y2hlY2tzdW1cZlIgfCBcZkJwYXJhbWV0ZXJcLXByb2JsZW1cZlIgfCBcZkJwYWNrZXRcLXRv b1wtYmlnXGZSIHwgXGZCaWRcZlIgfCBcZkJzZXF1ZW5jZVxmUiB8IFxmQm1heFwtZGVsYXlc ZlJ9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhpcyBleHByZXNzaW9uIHJlZmVycyB0 byBJQ01QdjYgaGVhZGVyIGZpZWxkc1wmLiBXaGVuIHVzaW5nIGl0IGluIFxmQmluZXRcZlIs IFxmQmJyaWRnZVxmUiBvciBcZkJuZXRkZXZcZlIgZmFtaWxpZXMsIGl0IHdpbGwgY2F1c2Ug YW4gaW1wbGljaXQgZGVwZW5kZW5jeSBvbiBJUHY2IHRvIGJlIGNyZWF0ZWRcJi4gVG8gbWF0 Y2ggb24gdW51c3VhbCBjYXNlcyBsaWtlIElDTVB2NiBvdmVyIElQdjQsIG9uZSBoYXMgdG8g YWRkIGFuIGV4cGxpY2l0IFxmQm1ldGEgcHJvdG9jb2wgaXBcZlIgbWF0Y2ggdG8gdGhlIHJ1 bGVcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4t YnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY0NC5cIFwmSUNNUHY2IGhlYWRlciBleHBy ZXNzaW9uCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpU ewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsK LnNwCnR5cGUKVH06VHsKLnNwCklDTVB2NiB0eXBlIGZpZWxkClR9OlR7Ci5zcAppY21wdjZf dHlwZQpUfQpUewouc3AKY29kZQpUfTpUewouc3AKSUNNUHY2IGNvZGUgZmllbGQKVH06VHsK LnNwCmludGVnZXIgKDggYml0KQpUfQpUewouc3AKY2hlY2tzdW0KVH06VHsKLnNwCklDTVB2 NiBjaGVja3N1bSBmaWVsZApUfTpUewouc3AKaW50ZWdlciAoMTYgYml0KQpUfQpUewouc3AK cGFyYW1ldGVyXC1wcm9ibGVtClR9OlR7Ci5zcApwb2ludGVyIHRvIHByb2JsZW0KVH06VHsK LnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNwCnBhY2tldFwtdG9vXC1iaWcKVH06VHsK LnNwCm92ZXJzaXplZCBNVFUKVH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNw CmlkClR9OlR7Ci5zcApJRCBvZiBlY2hvIHJlcXVlc3QvcmVzcG9uc2UKVH06VHsKLnNwCmlu dGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNwCnNlcXVlbmNlClR9OlR7Ci5zcApzZXF1ZW5jZSBu dW1iZXIgb2YgZWNobyByZXF1ZXN0L3Jlc3BvbnNlClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBi aXQpClR9ClR7Ci5zcAptYXhcLWRlbGF5ClR9OlR7Ci5zcAptYXhpbXVtIHJlc3BvbnNlIGRl bGF5IG9mIE1MRCBxdWVyaWVzClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9Ci5URQou c3AgMQouU1MgIlRDUCBIRUFERVIgRVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mClxmQnRjcFxmUiB7XGZCc3BvcnRcZlIgfCBcZkJkcG9ydFxmUiB8IFxmQnNlcXVl bmNlXGZSIHwgXGZCYWNrc2VxXGZSIHwgXGZCZG9mZlxmUiB8IFxmQnJlc2VydmVkXGZSIHwg XGZCZmxhZ3NcZlIgfCBcZkJ3aW5kb3dcZlIgfCBcZkJjaGVja3N1bVxmUiB8IFxmQnVyZ3B0 clxmUn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1u by1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNDUu XCBcJlRDUCBoZWFkZXIgZXhwcmVzc2lvbgouVFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBs dEIuClR7CktleXdvcmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKVHlwZQpUfQouVCYKbHQg bHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQg bHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcApzcG9ydApUfTpUewou c3AKU291cmNlIHBvcnQKVH06VHsKLnNwCmluZXRfc2VydmljZQpUfQpUewouc3AKZHBvcnQK VH06VHsKLnNwCkRlc3RpbmF0aW9uIHBvcnQKVH06VHsKLnNwCmluZXRfc2VydmljZQpUfQpU ewouc3AKc2VxdWVuY2UKVH06VHsKLnNwClNlcXVlbmNlIG51bWJlcgpUfTpUewouc3AKaW50 ZWdlciAoMzIgYml0KQpUfQpUewouc3AKYWNrc2VxClR9OlR7Ci5zcApBY2tub3dsZWRnZW1l bnQgbnVtYmVyClR9OlR7Ci5zcAppbnRlZ2VyICgzMiBiaXQpClR9ClR7Ci5zcApkb2ZmClR9 OlR7Ci5zcApEYXRhIG9mZnNldApUfTpUewouc3AKaW50ZWdlciAoNCBiaXQpIEZJWE1FIHNj YWxpbmcKVH0KVHsKLnNwCnJlc2VydmVkClR9OlR7Ci5zcApSZXNlcnZlZCBhcmVhClR9OlR7 Ci5zcAppbnRlZ2VyICg0IGJpdCkKVH0KVHsKLnNwCmZsYWdzClR9OlR7Ci5zcApUQ1AgZmxh Z3MKVH06VHsKLnNwCnRjcF9mbGFnClR9ClR7Ci5zcAp3aW5kb3cKVH06VHsKLnNwCldpbmRv dwpUfTpUewouc3AKaW50ZWdlciAoMTYgYml0KQpUfQpUewouc3AKY2hlY2tzdW0KVH06VHsK LnNwCkNoZWNrc3VtClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcAp1cmdw dHIKVH06VHsKLnNwClVyZ2VudCBwb2ludGVyClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQp ClR9Ci5URQouc3AgMQouU1MgIlVEUCBIRUFERVIgRVhQUkVTU0lPTiIKLnNwCi5pZiBuIFx7 XAouUlMgNAouXH0KLm5mClxmQnVkcFxmUiB7XGZCc3BvcnRcZlIgfCBcZkJkcG9ydFxmUiB8 IFxmQmxlbmd0aFxmUiB8IFxmQmNoZWNrc3VtXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWst ZmxhZyAxCi5icgouQiBUYWJsZVwgXCY0Ni5cIFwmVURQIGhlYWRlciBleHByZXNzaW9uCi5U UwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlw dGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBs dCBsdC4KVHsKLnNwCnNwb3J0ClR9OlR7Ci5zcApTb3VyY2UgcG9ydApUfTpUewouc3AKaW5l dF9zZXJ2aWNlClR9ClR7Ci5zcApkcG9ydApUfTpUewouc3AKRGVzdGluYXRpb24gcG9ydApU fTpUewouc3AKaW5ldF9zZXJ2aWNlClR9ClR7Ci5zcApsZW5ndGgKVH06VHsKLnNwClRvdGFs IHBhY2tldCBsZW5ndGgKVH06VHsKLnNwCmludGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNwCmNo ZWNrc3VtClR9OlR7Ci5zcApDaGVja3N1bQpUfTpUewouc3AKaW50ZWdlciAoMTYgYml0KQpU fQouVEUKLnNwIDEKLlNTICJVRFBcLUxJVEUgSEVBREVSIEVYUFJFU1NJT04iCi5zcAouaWYg biBce1wKLlJTIDQKLlx9Ci5uZgpcZkJ1ZHBsaXRlXGZSIHtcZkJzcG9ydFxmUiB8IFxmQmRw b3J0XGZSIHwgXGZCY2hlY2tzdW1cZlJ9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLml0 IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEK LmJyCi5CIFRhYmxlXCBcJjQ3LlwgXCZVRFBcLUxpdGUgaGVhZGVyIGV4cHJlc3Npb24KLlRT CmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7CkRlc2NyaXB0 aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0LgpUewou c3AKc3BvcnQKVH06VHsKLnNwClNvdXJjZSBwb3J0ClR9OlR7Ci5zcAppbmV0X3NlcnZpY2UK VH0KVHsKLnNwCmRwb3J0ClR9OlR7Ci5zcApEZXN0aW5hdGlvbiBwb3J0ClR9OlR7Ci5zcApp bmV0X3NlcnZpY2UKVH0KVHsKLnNwCmNoZWNrc3VtClR9OlR7Ci5zcApDaGVja3N1bQpUfTpU ewouc3AKaW50ZWdlciAoMTYgYml0KQpUfQouVEUKLnNwIDEKLlNTICJTQ1RQIEhFQURFUiBF WFBSRVNTSU9OIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCc2N0cFxmUiB7XGZC c3BvcnRcZlIgfCBcZkJkcG9ydFxmUiB8IFxmQnZ0YWdcZlIgfCBcZkJjaGVja3N1bVxmUn0K LmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFj ZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNDguXCBcJlND VFAgaGVhZGVyIGV4cHJlc3Npb24KLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpU ewpLZXl3b3JkClR9OlR7CkRlc2NyaXB0aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0 Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0LgpUewouc3AKc3BvcnQKVH06VHsKLnNwClNv dXJjZSBwb3J0ClR9OlR7Ci5zcAppbmV0X3NlcnZpY2UKVH0KVHsKLnNwCmRwb3J0ClR9OlR7 Ci5zcApEZXN0aW5hdGlvbiBwb3J0ClR9OlR7Ci5zcAppbmV0X3NlcnZpY2UKVH0KVHsKLnNw CnZ0YWcKVH06VHsKLnNwClZlcmlmaWNhdGlvbiBUYWcKVH06VHsKLnNwCmludGVnZXIgKDMy IGJpdCkKVH0KVHsKLnNwCmNoZWNrc3VtClR9OlR7Ci5zcApDaGVja3N1bQpUfTpUewouc3AK aW50ZWdlciAoMzIgYml0KQpUfQouVEUKLnNwIDEKLlNTICJEQ0NQIEhFQURFUiBFWFBSRVNT SU9OIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCZGNjcFxmUiB7XGZCc3BvcnRc ZlIgfCBcZkJkcG9ydFxmUiB8IFxmQnR5cGVcZlJ9Ci5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjQ5LlwgXCZEQ0NQIGhlYWRlciBleHByZXNzaW9uCi5U UwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlw dGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsK LnNwCnNwb3J0ClR9OlR7Ci5zcApTb3VyY2UgcG9ydApUfTpUewouc3AKaW5ldF9zZXJ2aWNl ClR9ClR7Ci5zcApkcG9ydApUfTpUewouc3AKRGVzdGluYXRpb24gcG9ydApUfTpUewouc3AK aW5ldF9zZXJ2aWNlClR9ClR7Ci5zcAp0eXBlClR9OlR7Ci5zcApQYWNrZXQgdHlwZQpUfTpU ewouc3AKZGNjcF9wa3R0eXBlClR9Ci5URQouc3AgMQouU1MgIkFVVEhFTlRJQ0FUSU9OIEhF QURFUiBFWFBSRVNTSU9OIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCYWhcZlIg e1xmQm5leHRoZHJcZlIgfCBcZkJoZHJsZW5ndGhcZlIgfCBcZkJyZXNlcnZlZFxmUiB8IFxm QnNwaVxmUiB8IFxmQnNlcXVlbmNlXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5p dCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAx Ci5icgouQiBUYWJsZVwgXCY1MC5cIFwmQUggaGVhZGVyIGV4cHJlc3Npb24KLlRTCmFsbGJv eCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7CkRlc2NyaXB0aW9uClR9 OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0 IGx0IGx0LgpUewouc3AKbmV4dGhkcgpUfTpUewouc3AKTmV4dCBoZWFkZXIgcHJvdG9jb2wK VH06VHsKLnNwCmluZXRfcHJvdG8KVH0KVHsKLnNwCmhkcmxlbmd0aApUfTpUewouc3AKQUgg SGVhZGVyIGxlbmd0aApUfTpUewouc3AKaW50ZWdlciAoOCBiaXQpClR9ClR7Ci5zcApyZXNl cnZlZApUfTpUewouc3AKUmVzZXJ2ZWQgYXJlYQpUfTpUewouc3AKaW50ZWdlciAoMTYgYml0 KQpUfQpUewouc3AKc3BpClR9OlR7Ci5zcApTZWN1cml0eSBQYXJhbWV0ZXIgSW5kZXgKVH06 VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNwCnNlcXVlbmNlClR9OlR7Ci5zcApT ZXF1ZW5jZSBudW1iZXIKVH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KLlRFCi5zcCAx Ci5TUyAiRU5DUllQVEVEIFNFQ1VSSVRZIFBBWUxPQUQgSEVBREVSIEVYUFJFU1NJT04iCi5z cAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJlc3BcZlIge1xmQnNwaVxmUiB8IFxmQnNl cXVlbmNlXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5pdCAxIGFuLXRyYXAKLm5y IGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwg XCY1MS5cIFwmRVNQIGhlYWRlciBleHByZXNzaW9uCi5UUwphbGxib3ggdGFiKDopOwpsdEIg bHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5U JgpsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCnNwaQpUfTpUewouc3AKU2VjdXJpdHkgUGFy YW1ldGVyIEluZGV4ClR9OlR7Ci5zcAppbnRlZ2VyICgzMiBiaXQpClR9ClR7Ci5zcApzZXF1 ZW5jZQpUfTpUewouc3AKU2VxdWVuY2UgbnVtYmVyClR9OlR7Ci5zcAppbnRlZ2VyICgzMiBi aXQpClR9Ci5URQouc3AgMQouU1MgIklQQ09NUCBIRUFERVIgRVhQUkVTU0lPTiIKLnNwClxm QmNvbXBcZlIge1xmQm5leHRoZHJcZlIgfCBcZkJmbGFnc1xmUiB8IFxmQmNwaVxmUn0KLnNw Ci5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxh ZyAxCi5icgouQiBUYWJsZVwgXCY1Mi5cIFwmSVBDb21wIGhlYWRlciBleHByZXNzaW9uCi5U UwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlw dGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsK LnNwCm5leHRoZHIKVH06VHsKLnNwCk5leHQgaGVhZGVyIHByb3RvY29sClR9OlR7Ci5zcApp bmV0X3Byb3RvClR9ClR7Ci5zcApmbGFncwpUfTpUewouc3AKRmxhZ3MKVH06VHsKLnNwCmJp dG1hc2sKVH0KVHsKLnNwCmNwaQpUfTpUewouc3AKY29tcHJlc3Npb24gUGFyYW1ldGVyIElu ZGV4ClR9OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9Ci5URQouc3AgMQouU1MgIlJBVyBQ QVlMT0FEIEVYUFJFU1NJT04iCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJAXGZS XGZJYmFzZVxmUlxmQixcZlJcZklvZmZzZXRcZlJcZkIsXGZSXGZJbGVuZ3RoXGZSCi5maQou aWYgbiBce1wKLlJFCi5cfQouc3AKVGhlIHJhdyBwYXlsb2FkIGV4cHJlc3Npb24gaW5zdHJ1 Y3RzIHRvIGxvYWQgXGZJbGVuZ3RoXGZSIGJpdHMgc3RhcnRpbmcgYXQgXGZJb2Zmc2V0XGZS IGJpdHNcJi4gQml0IDAgcmVmZXJzIHRvIHRoZSB2ZXJ5IGZpcnN0IGJpdCBcKGVtIGluIHRo ZSBDIHByb2dyYW1taW5nIGxhbmd1YWdlLCB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSB0b3Bt b3N0IGJpdCwgaVwmLmVcJi4gMHg4MCBpbiBjYXNlIG9mIGFuIG9jdGV0XCYuIFRoZXkgYXJl IHVzZWZ1bCB0byBtYXRjaCBoZWFkZXJzIHRoYXQgZG8gbm90IGhhdmUgYSBodW1hblwtcmVh ZGFibGUgdGVtcGxhdGUgZXhwcmVzc2lvbiB5ZXRcJi4gTm90ZSB0aGF0IG5mdCB3aWxsIG5v dCBhZGQgZGVwZW5kZW5jaWVzIGZvciBSYXcgcGF5bG9hZCBleHByZXNzaW9uc1wmLiBJZiB5 b3UgZVwmLmdcJi4gd2FudCB0byBtYXRjaCBwcm90b2NvbCBmaWVsZHMgb2YgYSB0cmFuc3Bv cnQgaGVhZGVyIHdpdGggcHJvdG9jb2wgbnVtYmVyIDUsIHlvdSBuZWVkIHRvIG1hbnVhbGx5 IGV4Y2x1ZGUgcGFja2V0cyB0aGF0IGhhdmUgYSBkaWZmZXJlbnQgdHJhbnNwb3J0IGhlYWRl ciwgZm9yIGluc3RhbmNlIGJ5IHVzaW5nIFxmQm1ldGEgbDRwcm90byA1XGZSIGJlZm9yZSB0 aGUgcmF3IGV4cHJlc3Npb25cJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNl LWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY1My5cIFwmU3Vw cG9ydGVkIHBheWxvYWQgcHJvdG9jb2wgYmFzZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBs dEIuClR7CkJhc2UKVH06VHsKRGVzY3JpcHRpb24KVH0KLlQmCmx0IGx0Cmx0IGx0Cmx0IGx0 LgpUewouc3AKbGwKVH06VHsKLnNwCkxpbmsgbGF5ZXIsIGZvciBleGFtcGxlIHRoZSBFdGhl cm5ldCBoZWFkZXIKVH0KVHsKLnNwCm5oClR9OlR7Ci5zcApOZXR3b3JrIGhlYWRlciwgZm9y IGV4YW1wbGUgSVB2NCBvciBJUHY2ClR9ClR7Ci5zcAp0aApUfTpUewouc3AKVHJhbnNwb3J0 IEhlYWRlciwgZm9yIGV4YW1wbGUgVENQClR9Ci5URQouc3AgMQouUFAKXGZCTWF0Y2hpbmcg ZGVzdGluYXRpb24gcG9ydCBvZiBib3RoIFVEUCBhbmQgVENQXGZSLiAKLnNwCi5pZiBuIFx7 XAouUlMgNAouXH0KLm5mCmluZXQgZmlsdGVyIGlucHV0IG1ldGEgbDRwcm90byB7dGNwLCB1 ZHB9IEB0aCwxNiwxNiB7IDUzLCA4MCB9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhl IGFib3ZlIGNhbiBhbHNvIGJlIHdyaXR0ZW4gYXMKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0K Lm5mCmluZXQgZmlsdGVyIGlucHV0IG1ldGEgbDRwcm90byB7dGNwLCB1ZHB9IHRoIGRwb3J0 IHsgNTMsIDgwIH0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAppdCBpcyBtb3JlIGNvbnZl bmllbnQsIGJ1dCBsaWtlIHRoZSByYXcgZXhwcmVzc2lvbiBub3RhdGlvbiBubyBkZXBlbmRl bmNpZXMgYXJlIGNyZWF0ZWQgb3IgY2hlY2tlZFwmLiBJdCBpcyB0aGUgdXNlcnMgcmVzcG9u c2liaWxpdHkgdG8gcmVzdHJpY3QgbWF0Y2hpbmcgdG8gdGhvc2UgaGVhZGVyIHR5cGVzIHRo YXQgaGF2ZSBhIG5vdGlvbiBvZiBwb3J0c1wmLiBPdGhlcndpc2UsIHJ1bGVzIHVzaW5nIHJh dyBleHByZXNzaW9ucyB3aWxsIGVycm5vdXNseSBtYXRjaCB1bnJlbGF0ZWQgcGFja2V0cywg ZVwmLmdcJi4gbWlzXC1pbnRlcnByZXRpbmcgRVNQIHBhY2tldHMgU1BJIGZpZWxkIGFzIGEg cG9ydFwmLgouUFAKXGZCUmV3cml0ZSBhcnAgcGFja2V0IHRhcmdldCBoYXJkd2FyZSBhZGRy ZXNzIGlmIHRhcmdldCBwcm90b2NvbCBhZGRyZXNzIG1hdGNoZXMgYSBnaXZlbiBhZGRyZXNz XGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCmlucHV0IG1ldGEgaWlmbmFtZSBl bnAyczAgYXJwIHB0eXBlIDB4MDgwMCBhcnAgaHR5cGUgMSBhcnAgaGxlbiA2IGFycCBwbGVu IDQgQG5oLDE5MiwzMiAweGMwYTg4ZjEwIEBuaCwxNDQsNDggc2V0IDB4MTEyMjMzNDQ1NTY2 IGFjY2VwdAouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiRVhURU5TSU9OIEhFQURF UiBFWFBSRVNTSU9OUyIKLnNwCkV4dGVuc2lvbiBoZWFkZXIgZXhwcmVzc2lvbnMgcmVmZXIg dG8gZGF0YSBmcm9tIHZhcmlhYmxlXC1zaXplZCBwcm90b2NvbCBoZWFkZXJzLCBzdWNoIGFz IElQdjYgZXh0ZW5zaW9uIGhlYWRlcnMsIFRDUCBvcHRpb25zIGFuZCBJUHY0IG9wdGlvbnNc Ji4KLnNwCm5mdGFibGVzIGN1cnJlbnRseSBzdXBwb3J0cyBtYXRjaGluZyAoZmluZGluZykg YSBnaXZlbiBpcHY2IGV4dGVuc2lvbiBoZWFkZXIsIFRDUCBvcHRpb24gb3IgSVB2NCBvcHRp b25cJi4KLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQmhiaFxmUiB7XGZCbmV4dGhk clxmUiB8IFxmQmhkcmxlbmd0aFxmUn0KXGZCZnJhZ1xmUiB7XGZCbmV4dGhkclxmUiB8IFxm QmZyYWdcLW9mZlxmUiB8IFxmQm1vcmVcLWZyYWdtZW50c1xmUiB8IFxmQmlkXGZSfQpcZkJy dFxmUiB7XGZCbmV4dGhkclxmUiB8IFxmQmhkcmxlbmd0aFxmUiB8IFxmQnR5cGVcZlIgfCBc ZkJzZWdcLWxlZnRcZlJ9ClxmQmRzdFxmUiB7XGZCbmV4dGhkclxmUiB8IFxmQmhkcmxlbmd0 aFxmUn0KXGZCbWhcZlIge1xmQm5leHRoZHJcZlIgfCBcZkJoZHJsZW5ndGhcZlIgfCBcZkJj aGVja3N1bVxmUiB8IFxmQnR5cGVcZlJ9ClxmQnNyaFxmUiB7XGZCZmxhZ3NcZlIgfCBcZkJ0 YWdcZlIgfCBcZkJzaWRcZlIgfCBcZkJzZWdcLWxlZnRcZlJ9ClxmQnRjcCBvcHRpb25cZlIg e1xmQmVvbFxmUiB8IFxmQm5vcFxmUiB8IFxmQm1heHNlZ1xmUiB8IFxmQndpbmRvd1xmUiB8 IFxmQnNhY2tcLXBlcm1cZlIgfCBcZkJzYWNrXGZSIHwgXGZCc2FjazBcZlIgfCBcZkJzYWNr MVxmUiB8IFxmQnNhY2syXGZSIHwgXGZCc2FjazNcZlIgfCBcZkJ0aW1lc3RhbXBcZlJ9IFxm SXRjcF9vcHRpb25fZmllbGRcZlIKXGZCaXAgb3B0aW9uXGZSIHsgbHNyciB8IHJhIHwgcnIg fCBzc3JyIH0gXGZJaXBfb3B0aW9uX2ZpZWxkXGZSCi5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKVGhlIGZvbGxvd2luZyBzeW50YXhlcyBhcmUgdmFsaWQgb25seSBpbiBhIHJlbGF0aW9u YWwgZXhwcmVzc2lvbiB3aXRoIGJvb2xlYW4gdHlwZSBvbiByaWdodFwtaGFuZCBzaWRlIGZv ciBjaGVja2luZyBoZWFkZXIgZXhpc3RlbmNlIG9ubHk6Ci5zcAouaWYgbiBce1wKLlJTIDQK Llx9Ci5uZgpcZkJleHRoZHJcZlIge1xmQmhiaFxmUiB8IFxmQmZyYWdcZlIgfCBcZkJydFxm UiB8IFxmQmRzdFxmUiB8IFxmQm1oXGZSfQpcZkJ0Y3Agb3B0aW9uXGZSIHtcZkJlb2xcZlIg fCBcZkJub3BcZlIgfCBcZkJtYXhzZWdcZlIgfCBcZkJ3aW5kb3dcZlIgfCBcZkJzYWNrXC1w ZXJtXGZSIHwgXGZCc2Fja1xmUiB8IFxmQnNhY2swXGZSIHwgXGZCc2FjazFcZlIgfCBcZkJz YWNrMlxmUiB8IFxmQnNhY2szXGZSIHwgXGZCdGltZXN0YW1wXGZSfQpcZkJpcCBvcHRpb25c ZlIgeyBsc3JyIHwgcmEgfCByciB8IHNzcnIgfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNw Ci5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxh ZyAxCi5icgouQiBUYWJsZVwgXCY1NC5cIFwmSVB2NiBleHRlbnNpb24gaGVhZGVycwouVFMK YWxsYm94IHRhYig6KTsKbHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpU fQouVCYKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQuClR7Ci5zcApoYmgK VH06VHsKLnNwCkhvcCBieSBIb3AKVH0KVHsKLnNwCnJ0ClR9OlR7Ci5zcApSb3V0aW5nIEhl YWRlcgpUfQpUewouc3AKZnJhZwpUfTpUewouc3AKRnJhZ21lbnRhdGlvbiBoZWFkZXIKVH0K VHsKLnNwCmRzdApUfTpUewouc3AKZHN0IG9wdGlvbnMKVH0KVHsKLnNwCm1oClR9OlR7Ci5z cApNb2JpbGl0eSBIZWFkZXIKVH0KVHsKLnNwCnNyaApUfTpUewouc3AKU2VnbWVudCBSb3V0 aW5nIEhlYWRlcgpUfQouVEUKLnNwIDEKLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNw YWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY1NS5cIFwm VENQIE9wdGlvbnMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3Jk ClR9OlR7CkRlc2NyaXB0aW9uClR9OlR7ClRDUCBvcHRpb24gZmllbGRzClR9Ci5UJgpsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCmVvbApU fTpUewouc3AKRW5kIGlmIG9wdGlvbiBsaXN0ClR9OlR7Ci5zcApraW5kClR9ClR7Ci5zcApu b3AKVH06VHsKLnNwCjEgQnl0ZSBUQ1AgTm9wIHBhZGRpbmcgb3B0aW9uClR9OlR7Ci5zcApr aW5kClR9ClR7Ci5zcAptYXhzZWcKVH06VHsKLnNwClRDUCBNYXhpbXVtIFNlZ21lbnQgU2l6 ZQpUfTpUewouc3AKa2luZCwgbGVuZ3RoLCBzaXplClR9ClR7Ci5zcAp3aW5kb3cKVH06VHsK LnNwClRDUCBXaW5kb3cgU2NhbGluZwpUfTpUewouc3AKa2luZCwgbGVuZ3RoLCBjb3VudApU fQpUewouc3AKc2Fja1wtcGVybQpUfTpUewouc3AKVENQIFNBQ0sgcGVybWl0dGVkClR9OlR7 Ci5zcApraW5kLCBsZW5ndGgKVH0KVHsKLnNwCnNhY2sKVH06VHsKLnNwClRDUCBTZWxlY3Rp dmUgQWNrbm93bGVkZ2VtZW50IChhbGlhcyBvZiBibG9jayAwKQpUfTpUewouc3AKa2luZCwg bGVuZ3RoLCBsZWZ0LCByaWdodApUfQpUewouc3AKc2FjazAKVH06VHsKLnNwClRDUCBTZWxl Y3RpdmUgQWNrbm93bGVkZ2VtZW50IChibG9jayAwKQpUfTpUewouc3AKa2luZCwgbGVuZ3Ro LCBsZWZ0LCByaWdodApUfQpUewouc3AKc2FjazEKVH06VHsKLnNwClRDUCBTZWxlY3RpdmUg QWNrbm93bGVkZ2VtZW50IChibG9jayAxKQpUfTpUewouc3AKa2luZCwgbGVuZ3RoLCBsZWZ0 LCByaWdodApUfQpUewouc3AKc2FjazIKVH06VHsKLnNwClRDUCBTZWxlY3RpdmUgQWNrbm93 bGVkZ2VtZW50IChibG9jayAyKQpUfTpUewouc3AKa2luZCwgbGVuZ3RoLCBsZWZ0LCByaWdo dApUfQpUewouc3AKc2FjazMKVH06VHsKLnNwClRDUCBTZWxlY3RpdmUgQWNrbm93bGVkZ2Vt ZW50IChibG9jayAzKQpUfTpUewouc3AKa2luZCwgbGVuZ3RoLCBsZWZ0LCByaWdodApUfQpU ewouc3AKdGltZXN0YW1wClR9OlR7Ci5zcApUQ1AgVGltZXN0YW1wcwpUfTpUewouc3AKa2lu ZCwgbGVuZ3RoLCB0c3ZhbCwgdHNlY3IKVH0KLlRFCi5zcCAxCi5zcApUQ1Agb3B0aW9uIG1h dGNoaW5nIGFsc28gc3VwcG9ydHMgcmF3IGV4cHJlc3Npb24gc3ludGF4IHRvIGFjY2VzcyBh cmJpdHJhcnkgb3B0aW9uczoKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQnRjcCBv cHRpb25cZlIKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouaWYgbiBce1wKLlJTIDQKLlx9 Ci5uZgpcZkJ0Y3Agb3B0aW9uXGZSIFxmQkBcZlJcZkludW1iZXJcZlJcZkIsXGZSXGZJb2Zm c2V0XGZSXGZCLFxmUlxmSWxlbmd0aFxmUgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5p dCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAx Ci5icgouQiBUYWJsZVwgXCY1Ni5cIFwmSVAgT3B0aW9ucwouVFMKYWxsYm94IHRhYig6KTsK bHRCIGx0QiBsdEIuClR7CktleXdvcmQKVH06VHsKRGVzY3JpcHRpb24KVH06VHsKSVAgb3B0 aW9uIGZpZWxkcwpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQu ClR7Ci5zcApsc3JyClR9OlR7Ci5zcApMb29zZSBTb3VyY2UgUm91dGUKVH06VHsKLnNwCnR5 cGUsIGxlbmd0aCwgcHRyLCBhZGRyClR9ClR7Ci5zcApyYQpUfTpUewouc3AKUm91dGVyIEFs ZXJ0ClR9OlR7Ci5zcAp0eXBlLCBsZW5ndGgsIHZhbHVlClR9ClR7Ci5zcApycgpUfTpUewou c3AKUmVjb3JkIFJvdXRlClR9OlR7Ci5zcAp0eXBlLCBsZW5ndGgsIHB0ciwgYWRkcgpUfQpU ewouc3AKc3NycgpUfTpUewouc3AKU3RyaWN0IFNvdXJjZSBSb3V0ZQpUfTpUewouc3AKdHlw ZSwgbGVuZ3RoLCBwdHIsIGFkZHIKVH0KLlRFCi5zcCAxCi5QUApcZkJmaW5kaW5nIFRDUCBv cHRpb25zXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCmZpbHRlciBpbnB1dCB0 Y3Agb3B0aW9uIHNhY2tcLXBlcm0ga2luZCAxIGNvdW50ZXIKLmZpCi5pZiBuIFx7XAouUkUK Llx9Ci5QUApcZkJtYXRjaGluZyBJUHY2IGV4dGhkclxmUi4gCi5zcAouaWYgbiBce1wKLlJT IDQKLlx9Ci5uZgppcDYgZmlsdGVyIGlucHV0IGZyYWcgbW9yZVwtZnJhZ21lbnRzIDEgY291 bnRlcgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLlBQClxmQmZpbmRpbmcgSVAgb3B0aW9uXGZS LiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCmZpbHRlciBpbnB1dCBpcCBvcHRpb24g bHNyciBleGlzdHMgY291bnRlcgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiQ09O TlRSQUNLIEVYUFJFU1NJT05TIgouc3AKQ29ubnRyYWNrIGV4cHJlc3Npb25zIHJlZmVyIHRv IG1ldGEgZGF0YSBvZiB0aGUgY29ubmVjdGlvbiB0cmFja2luZyBlbnRyeSBhc3NvY2lhdGVk IHdpdGggYSBwYWNrZXRcJi4KLnNwClRoZXJlIGFyZSB0aHJlZSB0eXBlcyBvZiBjb25udHJh Y2sgZXhwcmVzc2lvbnNcJi4gU29tZSBjb25udHJhY2sgZXhwcmVzc2lvbnMgcmVxdWlyZSB0 aGUgZmxvdyBkaXJlY3Rpb24gYmVmb3JlIHRoZSBjb25udHJhY2sga2V5LCBvdGhlcnMgbXVz dCBiZSB1c2VkIGRpcmVjdGx5IGJlY2F1c2UgdGhleSBhcmUgZGlyZWN0aW9uIGFnbm9zdGlj XCYuIFRoZSBcZkJwYWNrZXRzXGZSLCBcZkJieXRlc1xmUiBhbmQgXGZCYXZncGt0XGZSIGtl eXdvcmRzIGNhbiBiZSB1c2VkIHdpdGggb3Igd2l0aG91dCBhIGRpcmVjdGlvblwmLiBJZiB0 aGUgZGlyZWN0aW9uIGlzIG9taXR0ZWQsIHRoZSBzdW0gb2YgdGhlIG9yaWdpbmFsIGFuZCB0 aGUgcmVwbHkgZGlyZWN0aW9uIGlzIHJldHVybmVkXCYuIFRoZSBzYW1lIGlzIHRydWUgZm9y IHRoZSBcZkJ6b25lXGZSLCBpZiBhIGRpcmVjdGlvbiBpcyBnaXZlbiwgdGhlIHpvbmUgaXMg b25seSBtYXRjaGVkIGlmIHRoZSB6b25lIGlkIGlzIHRpZWQgdG8gdGhlIGdpdmVuIGRpcmVj dGlvblwmLgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCY3RcZlIge1xmQnN0YXRl XGZSIHwgXGZCZGlyZWN0aW9uXGZSIHwgXGZCc3RhdHVzXGZSIHwgXGZCbWFya1xmUiB8IFxm QmV4cGlyYXRpb25cZlIgfCBcZkJoZWxwZXJcZlIgfCBcZkJsYWJlbFxmUn0KXGZCY3RcZlIg W1xmQm9yaWdpbmFsXGZSIHwgXGZCcmVwbHlcZlJdIHtcZkJsM3Byb3RvXGZSIHwgXGZCcHJv dG9jb2xcZlIgfCBcZkJieXRlc1xmUiB8IFxmQnBhY2tldHNcZlIgfCBcZkJhdmdwa3RcZlIg fCBcZkJ6b25lXGZSIHwgXGZCaWRcZlJ9ClxmQmN0XGZSIHtcZkJvcmlnaW5hbFxmUiB8IFxm QnJlcGx5XGZSfSB7XGZCcHJvdG9cLXNyY1xmUiB8IFxmQnByb3RvXC1kc3RcZlJ9ClxmQmN0 XGZSIHtcZkJvcmlnaW5hbFxmUiB8IFxmQnJlcGx5XGZSfSB7XGZCaXBcZlIgfCBcZkJpcDZc ZlJ9IHtcZkJzYWRkclxmUiB8IFxmQmRhZGRyXGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0K LnNwClRoZSBjb25udHJhY2tcLXNwZWNpZmljIHR5cGVzIGluIHRoaXMgdGFibGUgYXJlIGRl c2NyaWJlZCBpbiB0aGUgc3ViXC1zZWN0aW9uIENPTk5UUkFDSyBUWVBFUyBhYm92ZVwmLgou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjU3LlwgXCZDb25udHJhY2sgZXhwcmVzc2lvbnMKLlRT CmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7CkRlc2NyaXB0 aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0 IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0 IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0 IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0Cmx0IGx0IGx0LgpUewouc3AKc3RhdGUKVH06VHsKLnNw ClN0YXRlIG9mIHRoZSBjb25uZWN0aW9uClR9OlR7Ci5zcApjdF9zdGF0ZQpUfQpUewouc3AK ZGlyZWN0aW9uClR9OlR7Ci5zcApEaXJlY3Rpb24gb2YgdGhlIHBhY2tldCByZWxhdGl2ZSB0 byB0aGUgY29ubmVjdGlvbgpUfTpUewouc3AKY3RfZGlyClR9ClR7Ci5zcApzdGF0dXMKVH06 VHsKLnNwClN0YXR1cyBvZiB0aGUgY29ubmVjdGlvbgpUfTpUewouc3AKY3Rfc3RhdHVzClR9 ClR7Ci5zcAptYXJrClR9OlR7Ci5zcApDb25uZWN0aW9uIG1hcmsKVH06VHsKLnNwCm1hcmsK VH0KVHsKLnNwCmV4cGlyYXRpb24KVH06VHsKLnNwCkNvbm5lY3Rpb24gZXhwaXJhdGlvbiB0 aW1lClR9OlR7Ci5zcAp0aW1lClR9ClR7Ci5zcApoZWxwZXIKVH06VHsKLnNwCkhlbHBlciBh c3NvY2lhdGVkIHdpdGggdGhlIGNvbm5lY3Rpb24KVH06VHsKLnNwCnN0cmluZwpUfQpUewou c3AKbGFiZWwKVH06VHsKLnNwCkNvbm5lY3Rpb24gdHJhY2tpbmcgbGFiZWwgYml0IG9yIHN5 bWJvbGljIG5hbWUgZGVmaW5lZCBpbiBjb25ubGFiZWxcJi5jb25mIGluIHRoZSBuZnRhYmxl cyBpbmNsdWRlIHBhdGgKVH06VHsKLnNwCmN0X2xhYmVsClR9ClR7Ci5zcApsM3Byb3RvClR9 OlR7Ci5zcApMYXllciAzIHByb3RvY29sIG9mIHRoZSBjb25uZWN0aW9uClR9OlR7Ci5zcApu Zl9wcm90bwpUfQpUewouc3AKc2FkZHIKVH06VHsKLnNwClNvdXJjZSBhZGRyZXNzIG9mIHRo ZSBjb25uZWN0aW9uIGZvciB0aGUgZ2l2ZW4gZGlyZWN0aW9uClR9OlR7Ci5zcAppcHY0X2Fk ZHIvaXB2Nl9hZGRyClR9ClR7Ci5zcApkYWRkcgpUfTpUewouc3AKRGVzdGluYXRpb24gYWRk cmVzcyBvZiB0aGUgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIGRpcmVjdGlvbgpUfTpUewou c3AKaXB2NF9hZGRyL2lwdjZfYWRkcgpUfQpUewouc3AKcHJvdG9jb2wKVH06VHsKLnNwCkxh eWVyIDQgcHJvdG9jb2wgb2YgdGhlIGNvbm5lY3Rpb24gZm9yIHRoZSBnaXZlbiBkaXJlY3Rp b24KVH06VHsKLnNwCmluZXRfcHJvdG8KVH0KVHsKLnNwCnByb3RvXC1zcmMKVH06VHsKLnNw CkxheWVyIDQgcHJvdG9jb2wgc291cmNlIGZvciB0aGUgZ2l2ZW4gZGlyZWN0aW9uClR9OlR7 Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcApwcm90b1wtZHN0ClR9OlR7Ci5zcApM YXllciA0IHByb3RvY29sIGRlc3RpbmF0aW9uIGZvciB0aGUgZ2l2ZW4gZGlyZWN0aW9uClR9 OlR7Ci5zcAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcApwYWNrZXRzClR9OlR7Ci5zcApw YWNrZXQgY291bnQgc2VlbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0aW9uIG9yIHN1bSBvZiBvcmln aW5hbCBhbmQgcmVwbHkKVH06VHsKLnNwCmludGVnZXIgKDY0IGJpdCkKVH0KVHsKLnNwCmJ5 dGVzClR9OlR7Ci5zcApieXRlIGNvdW50IHNlZW4sIHNlZSBkZXNjcmlwdGlvbiBmb3IgXGZC cGFja2V0c1xmUiBrZXl3b3JkClR9OlR7Ci5zcAppbnRlZ2VyICg2NCBiaXQpClR9ClR7Ci5z cAphdmdwa3QKVH06VHsKLnNwCmF2ZXJhZ2UgYnl0ZXMgcGVyIHBhY2tldCwgc2VlIGRlc2Ny aXB0aW9uIGZvciBcZkJwYWNrZXRzXGZSIGtleXdvcmQKVH06VHsKLnNwCmludGVnZXIgKDY0 IGJpdCkKVH0KVHsKLnNwCnpvbmUKVH06VHsKLnNwCmNvbm50cmFjayB6b25lClR9OlR7Ci5z cAppbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcApjb3VudApUfTpUewouc3AKbnVtYmVyIG9m IGN1cnJlbnQgY29ubmVjdGlvbnMKVH06VHsKLnNwCmludGVnZXIgKDMyIGJpdCkKVH0KVHsK LnNwCmlkClR9OlR7Ci5zcApDb25uZWN0aW9uIGlkClR9OlR7Ci5zcApjdF9pZApUfQouVEUK LnNwIDEKLlBQClxmQnJlc3RyaWN0IHRoZSBudW1iZXIgb2YgcGFyYWxsZWwgY29ubmVjdGlv bnMgdG8gYSBzZXJ2ZXJcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKbmZ0IGFk ZCBzZXQgZmlsdGVyIHNzaF9mbG9vZCBcKihBcXsgdHlwZSBpcHY0X2FkZHI7IGZsYWdzIGR5 bmFtaWM7IH1cKihBcQpuZnQgYWRkIHJ1bGUgZmlsdGVyIGlucHV0IHRjcCBkcG9ydCAyMiBh ZGQgQHNzaF9mbG9vZCBcKihBcXsgaXAgc2FkZHIgY3QgY291bnQgb3ZlciAyIH1cKihBcSBy ZWplY3QKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU0ggIlNUQVRFTUVOVFMiCi5zcApT dGF0ZW1lbnRzIHJlcHJlc2VudCBhY3Rpb25zIHRvIGJlIHBlcmZvcm1lZFwmLiBUaGV5IGNh biBhbHRlciBjb250cm9sIGZsb3cgKHJldHVybiwganVtcCB0byBhIGRpZmZlcmVudCBjaGFp biwgYWNjZXB0IG9yIGRyb3AgdGhlIHBhY2tldCkgb3IgY2FuIHBlcmZvcm0gYWN0aW9ucywg c3VjaCBhcyBsb2dnaW5nLCByZWplY3RpbmcgYSBwYWNrZXQsIGV0Y1wmLgouc3AKU3RhdGVt ZW50cyBleGlzdCBpbiB0d28ga2luZHNcJi4gVGVybWluYWwgc3RhdGVtZW50cyB1bmNvbmRp dGlvbmFsbHkgdGVybWluYXRlIGV2YWx1YXRpb24gb2YgdGhlIGN1cnJlbnQgcnVsZSwgbm9u XC10ZXJtaW5hbCBzdGF0ZW1lbnRzIGVpdGhlciBvbmx5IGNvbmRpdGlvbmFsbHkgb3IgbmV2 ZXIgdGVybWluYXRlIGV2YWx1YXRpb24gb2YgdGhlIGN1cnJlbnQgcnVsZSwgaW4gb3RoZXIg d29yZHMsIHRoZXkgYXJlIHBhc3NpdmUgZnJvbSB0aGUgcnVsZXNldCBldmFsdWF0aW9uIHBl cnNwZWN0aXZlXCYuIFRoZXJlIGNhbiBiZSBhbiBhcmJpdHJhcnkgYW1vdW50IG9mIG5vblwt dGVybWluYWwgc3RhdGVtZW50cyBpbiBhIHJ1bGUsIGJ1dCBvbmx5IGEgc2luZ2xlIHRlcm1p bmFsIHN0YXRlbWVudCBhcyB0aGUgZmluYWwgc3RhdGVtZW50XCYuCi5TUyAiVkVSRElDVCBT VEFURU1FTlQiCi5zcApUaGUgdmVyZGljdCBzdGF0ZW1lbnQgYWx0ZXJzIGNvbnRyb2wgZmxv dyBpbiB0aGUgcnVsZXNldCBhbmQgaXNzdWVzIHBvbGljeSBkZWNpc2lvbnMgZm9yIHBhY2tl dHNcJi4KLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCntcZkJhY2NlcHRcZlIgfCBcZkJk cm9wXGZSIHwgXGZCcXVldWVcZlIgfCBcZkJjb250aW51ZVxmUiB8IFxmQnJldHVyblxmUn0K e1xmQmp1bXBcZlIgfCBcZkJnb3RvXGZSfSBcZkljaGFpblxmUgouZmkKLmlmIG4gXHtcCi5S RQouXH0KLnNwClxmQmFjY2VwdFxmUiBhbmQgXGZCZHJvcFxmUiBhcmUgYWJzb2x1dGUgdmVy ZGljdHMgXChlbSB0aGV5IHRlcm1pbmF0ZSBydWxlc2V0IGV2YWx1YXRpb24gaW1tZWRpYXRl bHlcJi4KLlRTCnRhYig6KTsKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQKbHQgbHQK bHQgbHQuClR7Ci5zcApcZkJhY2NlcHRcZlIKVH06VHsKLnNwClRlcm1pbmF0ZSBydWxlc2V0 IGV2YWx1YXRpb24gYW5kIGFjY2VwdCB0aGUgcGFja2V0XCYuIFRoZSBwYWNrZXQgY2FuIHN0 aWxsIGJlIGRyb3BwZWQgbGF0ZXIgYnkgYW5vdGhlciBob29rLCBmb3IgaW5zdGFuY2UgYWNj ZXB0IGluIHRoZSBmb3J3YXJkIGhvb2sgc3RpbGwgYWxsb3dzIHRvIGRyb3AgdGhlIHBhY2tl dCBsYXRlciBpbiB0aGUgcG9zdHJvdXRpbmcgaG9vaywgb3IgYW5vdGhlciBmb3J3YXJkIGJh c2UgY2hhaW4gdGhhdCBoYXMgYSBoaWdoZXIgcHJpb3JpdHkgbnVtYmVyIGFuZCBpcyBldmFs dWF0ZWQgYWZ0ZXJ3YXJkcyBpbiB0aGUgcHJvY2Vzc2luZyBwaXBlbGluZVwmLgpUfQpUewou c3AKXGZCZHJvcFxmUgpUfTpUewouc3AKVGVybWluYXRlIHJ1bGVzZXQgZXZhbHVhdGlvbiBh bmQgZHJvcCB0aGUgcGFja2V0XCYuIFRoZSBkcm9wIG9jY3VycyBpbnN0YW50bHksIG5vIGZ1 cnRoZXIgY2hhaW5zIG9yIGhvb2tzIGFyZSBldmFsdWF0ZWRcJi4gSXQgaXMgbm90IHBvc3Np YmxlIHRvIGFjY2VwdCB0aGUgcGFja2V0IGluIGEgbGF0ZXIgY2hhaW4gYWdhaW4sIGFzIHRo b3NlIGFyZSBub3QgZXZhbHVhdGVkIGFueW1vcmUgZm9yIHRoZSBwYWNrZXRcJi4KVH0KVHsK LnNwClxmQnF1ZXVlXGZSClR9OlR7Ci5zcApUZXJtaW5hdGUgcnVsZXNldCBldmFsdWF0aW9u IGFuZCBxdWV1ZSB0aGUgcGFja2V0IHRvIHVzZXJzcGFjZVwmLiBVc2Vyc3BhY2UgbXVzdCBw cm92aWRlIGEgZHJvcCBvciBhY2NlcHQgdmVyZGljdFwmLiBJbiBjYXNlIG9mIGFjY2VwdCwg cHJvY2Vzc2luZyByZXN1bWVzIHdpdGggdGhlIG5leHQgYmFzZSBjaGFpbiBob29rLCBub3Qg dGhlIHJ1bGUgZm9sbG93aW5nIHRoZSBxdWV1ZSB2ZXJkaWN0XCYuClR9ClR7Ci5zcApcZkJj b250aW51ZVxmUgpUfTpUewouc3AKQ29udGludWUgcnVsZXNldCBldmFsdWF0aW9uIHdpdGgg dGhlIG5leHQgcnVsZVwmLiBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBpbiBjYXNl IGEgcnVsZSBpc3N1ZXMgbm8gdmVyZGljdFwmLgpUfQpUewouc3AKXGZCcmV0dXJuXGZSClR9 OlR7Ci5zcApSZXR1cm4gZnJvbSB0aGUgY3VycmVudCBjaGFpbiBhbmQgY29udGludWUgZXZh bHVhdGlvbiBhdCB0aGUgbmV4dCBydWxlIGluIHRoZSBsYXN0IGNoYWluXCYuIElmIGlzc3Vl ZCBpbiBhIGJhc2UgY2hhaW4sIGl0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIGJhc2UgY2hhaW4g cG9saWN5XCYuClR9ClR7Ci5zcApcZkJqdW1wXGZSIFxmSWNoYWluXGZSClR9OlR7Ci5zcApD b250aW51ZSBldmFsdWF0aW9uIGF0IHRoZSBmaXJzdCBydWxlIGluIFxmSWNoYWluXGZSXCYu IFRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBydWxlc2V0IGlzIHB1c2hlZCB0byBhIGNh bGwgc3RhY2sgYW5kIGV2YWx1YXRpb24gd2lsbCBjb250aW51ZSB0aGVyZSB3aGVuIHRoZSBu ZXcgY2hhaW4gaXMgZW50aXJlbHkgZXZhbHVhdGVkIG9yIGEgXGZCcmV0dXJuXGZSIHZlcmRp Y3QgaXMgaXNzdWVkXCYuIEluIGNhc2UgYW4gYWJzb2x1dGUgdmVyZGljdCBpcyBpc3N1ZWQg YnkgYSBydWxlIGluIHRoZSBjaGFpbiwgcnVsZXNldCBldmFsdWF0aW9uIHRlcm1pbmF0ZXMg aW1tZWRpYXRlbHkgYW5kIHRoZSBzcGVjaWZpYyBhY3Rpb24gaXMgdGFrZW5cJi4KVH0KVHsK LnNwClxmQmdvdG9cZlIgXGZJY2hhaW5cZlIKVH06VHsKLnNwClNpbWlsYXIgdG8gXGZCanVt cFxmUiwgYnV0IHRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBwdXNoZWQgdG8gdGhlIGNh bGwgc3RhY2ssIG1lYW5pbmcgdGhhdCBhZnRlciB0aGUgbmV3IGNoYWluIGV2YWx1YXRpb24g d2lsbCBjb250aW51ZSBhdCB0aGUgbGFzdCBjaGFpbiBpbnN0ZWFkIG9mIHRoZSBvbmUgY29u dGFpbmluZyB0aGUgZ290byBzdGF0ZW1lbnRcJi4KVH0KLlRFCi5zcCAxCi5QUApcZkJVc2lu ZyB2ZXJkaWN0IHN0YXRlbWVudHNcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYK IyBwcm9jZXNzIHBhY2tldHMgZnJvbSBldGgwIGFuZCB0aGUgaW50ZXJuYWwgbmV0d29yayBp biBmcm9tX2xhbgojIGNoYWluLCBkcm9wIGFsbCBwYWNrZXRzIGZyb20gZXRoMCB3aXRoIGRp ZmZlcmVudCBzb3VyY2UgYWRkcmVzc2VzXCYuCgpmaWx0ZXIgaW5wdXQgaWlmIGV0aDAgaXAg c2FkZHIgMTkyXCYuMTY4XCYuMFwmLjAvMjQganVtcCBmcm9tX2xhbgpmaWx0ZXIgaW5wdXQg aWlmIGV0aDAgZHJvcAouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiUEFZTE9BRCBT VEFURU1FTlQiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZklwYXlsb2FkX2V4cHJl c3Npb25cZlIgXGZCc2V0XGZSIFxmSXZhbHVlXGZSCi5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKVGhlIHBheWxvYWQgc3RhdGVtZW50IGFsdGVycyBwYWNrZXQgY29udGVudFwmLiBJdCBj YW4gYmUgdXNlZCBmb3IgZXhhbXBsZSB0byBzZXQgaXAgRFNDUCAoZGlmZnNlcnYpIGhlYWRl ciBmaWVsZCBvciBpcHY2IGZsb3cgbGFiZWxzXCYuCi5QUApcZkJyb3V0ZSBzb21lIHBhY2tl dHMgaW5zdGVhZCBvZiBicmlkZ2luZ1xmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5u ZgojIHJlZGlyZWN0IHRjcDpodHRwIGZyb20gMTkyXCYuMTYwXCYuMFwmLjAvMTYgdG8gbG9j YWwgbWFjaGluZSBmb3Igcm91dGluZyBpbnN0ZWFkIG9mIGJyaWRnaW5nCiMgYXNzdW1lcyAw MDoxMToyMjozMzo0NDo1NSBpcyBsb2NhbCBNQUMgYWRkcmVzc1wmLgpicmlkZ2UgaW5wdXQg bWV0YSBpaWYgZXRoMCBpcCBzYWRkciAxOTJcJi4xNjhcJi4wXCYuMC8xNiB0Y3AgZHBvcnQg ODAgbWV0YSBwa3R0eXBlIHNldCB1bmljYXN0IGV0aGVyIGRhZGRyIHNldCAwMDoxMToyMjoz Mzo0NDo1NQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLlBQClxmQlNldCBJUHY0IERTQ1AgaGVh ZGVyIGZpZWxkXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCmlwIGZvcndhcmQg aXAgZHNjcCBzZXQgNDIKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU1MgIkVYVEVOU0lP TiBIRUFERVIgU1RBVEVNRU5UIgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZJZXh0 ZW5zaW9uX2hlYWRlcl9leHByZXNzaW9uXGZSIFxmQnNldFxmUiBcZkl2YWx1ZVxmUgouZmkK LmlmIG4gXHtcCi5SRQouXH0KLnNwClRoZSBleHRlbnNpb24gaGVhZGVyIHN0YXRlbWVudCBh bHRlcnMgcGFja2V0IGNvbnRlbnQgaW4gdmFyaWFibGVcLXNpemVkIGhlYWRlcnNcJi4gVGhp cyBjYW4gY3VycmVudGx5IGJlIHVzZWQgdG8gYWx0ZXIgdGhlIFRDUCBNYXhpbXVtIHNlZ21l bnQgc2l6ZSBvZiBwYWNrZXRzLCBzaW1pbGFyIHRvIFRDUE1TU1wmLgouUFAKXGZCY2hhbmdl IHRjcCBtc3NcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKdGNwIGZsYWdzIHN5 biB0Y3Agb3B0aW9uIG1heHNlZyBzaXplIHNldCAxMzYwCiMgc2V0IGEgc2l6ZSBiYXNlZCBv biByb3V0ZSBpbmZvcm1hdGlvbjoKdGNwIGZsYWdzIHN5biB0Y3Agb3B0aW9uIG1heHNlZyBz aXplIHNldCBydCBtdHUKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU1MgIkxPRyBTVEFU RU1FTlQiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJsb2dcZlIgW1xmQnByZWZp eFxmUiBcZklxdW90ZWRfc3RyaW5nXGZSXSBbXGZCbGV2ZWxcZlIgXGZJc3lzbG9nXC1sZXZl bFxmUl0gW1xmQmZsYWdzXGZSIFxmSWxvZ1wtZmxhZ3NcZlJdClxmQmxvZ1xmUiBcZkJncm91 cFxmUiBcZkluZmxvZ19ncm91cFxmUiBbXGZCcHJlZml4XGZSIFxmSXF1b3RlZF9zdHJpbmdc ZlJdIFtcZkJxdWV1ZVwtdGhyZXNob2xkXGZSIFxmSXZhbHVlXGZSXSBbXGZCc25hcGxlblxm UiBcZklzaXplXGZSXQpcZkJsb2cgbGV2ZWwgYXVkaXRcZlIKLmZpCi5pZiBuIFx7XAouUkUK Llx9Ci5zcApUaGUgbG9nIHN0YXRlbWVudCBlbmFibGVzIGxvZ2dpbmcgb2YgbWF0Y2hpbmcg cGFja2V0c1wmLiBXaGVuIHRoaXMgc3RhdGVtZW50IGlzIHVzZWQgZnJvbSBhIHJ1bGUsIHRo ZSBMaW51eCBrZXJuZWwgd2lsbCBwcmludCBzb21lIGluZm9ybWF0aW9uIG9uIGFsbCBtYXRj aGluZyBwYWNrZXRzLCBzdWNoIGFzIGhlYWRlciBmaWVsZHMsIHZpYSB0aGUga2VybmVsIGxv ZyAod2hlcmUgaXQgY2FuIGJlIHJlYWQgd2l0aCBkbWVzZygxKSBvciByZWFkIGluIHRoZSBz eXNsb2cpXCYuCi5zcApJbiB0aGUgc2Vjb25kIGZvcm0gb2YgaW52b2NhdGlvbiAoaWYgXGZJ bmZsb2dfZ3JvdXBcZlIgaXMgc3BlY2lmaWVkKSwgdGhlIExpbnV4IGtlcm5lbCB3aWxsIHBh c3MgdGhlIHBhY2tldCB0byBuZm5ldGxpbmtfbG9nIHdoaWNoIHdpbGwgbXVsdGljYXN0IHRo ZSBwYWNrZXQgdGhyb3VnaCBhIG5ldGxpbmsgc29ja2V0IHRvIHRoZSBzcGVjaWZpZWQgbXVs dGljYXN0IGdyb3VwXCYuIE9uZSBvciBtb3JlIHVzZXJzcGFjZSBwcm9jZXNzZXMgbWF5IHN1 YnNjcmliZSB0byB0aGUgZ3JvdXAgdG8gcmVjZWl2ZSB0aGUgcGFja2V0cywgc2VlIGxpYm5l dGZpbHRlcl9xdWV1ZSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzXCYuCi5zcApJbiB0aGUg dGhpcmQgZm9ybSBvZiBpbnZvY2F0aW9uIChpZiBsZXZlbCBhdWRpdCBpcyBzcGVjaWZpZWQp LCB0aGUgTGludXgga2VybmVsIHdyaXRlcyBhIG1lc3NhZ2UgaW50byB0aGUgYXVkaXQgYnVm ZmVyIHN1aXRhYmx5IGZvcm1hdHRlZCBmb3IgcmVhZGluZyB3aXRoIGF1ZGl0ZFwmLiBUaGVy ZWZvcmUgbm8gZnVydGhlciBmb3JtYXR0aW5nIG9wdGlvbnMgKHN1Y2ggYXMgcHJlZml4IG9y IGZsYWdzKSBhcmUgYWxsb3dlZCBpbiB0aGlzIG1vZGVcJi4KLnNwClRoaXMgaXMgYSBub25c LXRlcm1pbmF0aW5nIHN0YXRlbWVudCwgc28gdGhlIHJ1bGUgZXZhbHVhdGlvbiBjb250aW51 ZXMgYWZ0ZXIgdGhlIHBhY2tldCBpcyBsb2dnZWRcJi4KLnNwCi5pdCAxIGFuLXRyYXAKLm5y IGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwg XCY1OC5cIFwmbG9nIHN0YXRlbWVudCBvcHRpb25zCi5UUwphbGxib3ggdGFiKDopOwpsdEIg bHRCIGx0Qi4KVHsKS2V5d29yZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5U JgpsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNw CnByZWZpeApUfTpUewouc3AKTG9nIG1lc3NhZ2UgcHJlZml4ClR9OlR7Ci5zcApxdW90ZWQg c3RyaW5nClR9ClR7Ci5zcApsZXZlbApUfTpUewouc3AKU3lzbG9nIGxldmVsIG9mIGxvZ2dp bmcKVH06VHsKLnNwCnN0cmluZzogZW1lcmcsIGFsZXJ0LCBjcml0LCBlcnIsIHdhcm4gW2Rl ZmF1bHRdLCBub3RpY2UsIGluZm8sIGRlYnVnLCBhdWRpdApUfQpUewouc3AKZ3JvdXAKVH06 VHsKLnNwCk5GTE9HIGdyb3VwIHRvIHNlbmQgbWVzc2FnZXMgdG8KVH06VHsKLnNwCnVuc2ln bmVkIGludGVnZXIgKDE2IGJpdCkKVH0KVHsKLnNwCnNuYXBsZW4KVH06VHsKLnNwCkxlbmd0 aCBvZiBwYWNrZXQgcGF5bG9hZCB0byBpbmNsdWRlIGluIG5ldGxpbmsgbWVzc2FnZQpUfTpU ewouc3AKdW5zaWduZWQgaW50ZWdlciAoMzIgYml0KQpUfQpUewouc3AKcXVldWVcLXRocmVz aG9sZApUfTpUewouc3AKTnVtYmVyIG9mIHBhY2tldHMgdG8gcXVldWUgaW5zaWRlIHRoZSBr ZXJuZWwgYmVmb3JlIHNlbmRpbmcgdGhlbSB0byB1c2Vyc3BhY2UKVH06VHsKLnNwCnVuc2ln bmVkIGludGVnZXIgKDMyIGJpdCkKVH0KLlRFCi5zcCAxCi5zcAouaXQgMSBhbi10cmFwCi5u ciBhbi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVc IFwmNTkuXCBcJmxvZ1wtZmxhZ3MKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7CkZs YWcKVH06VHsKRGVzY3JpcHRpb24KVH0KLlQmCmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0IGx0Cmx0 IGx0Cmx0IGx0LgpUewouc3AKdGNwIHNlcXVlbmNlClR9OlR7Ci5zcApMb2cgVENQIHNlcXVl bmNlIG51bWJlcnNcJi4KVH0KVHsKLnNwCnRjcCBvcHRpb25zClR9OlR7Ci5zcApMb2cgb3B0 aW9ucyBmcm9tIHRoZSBUQ1AgcGFja2V0IGhlYWRlclwmLgpUfQpUewouc3AKaXAgb3B0aW9u cwpUfTpUewouc3AKTG9nIG9wdGlvbnMgZnJvbSB0aGUgSVAvSVB2NiBwYWNrZXQgaGVhZGVy XCYuClR9ClR7Ci5zcApza3VpZApUfTpUewouc3AKTG9nIHRoZSB1c2VyaWQgb2YgdGhlIHBy b2Nlc3Mgd2hpY2ggZ2VuZXJhdGVkIHRoZSBwYWNrZXRcJi4KVH0KVHsKLnNwCmV0aGVyClR9 OlR7Ci5zcApEZWNvZGUgTUFDIGFkZHJlc3NlcyBhbmQgcHJvdG9jb2xcJi4KVH0KVHsKLnNw CmFsbApUfTpUewouc3AKRW5hYmxlIGFsbCBsb2cgZmxhZ3MgbGlzdGVkIGFib3ZlXCYuClR9 Ci5URQouc3AgMQouUFAKXGZCVXNpbmcgbG9nIHN0YXRlbWVudFxmUi4gCi5zcAouaWYgbiBc e1wKLlJTIDQKLlx9Ci5uZgojIGxvZyB0aGUgVUlEIHdoaWNoIGdlbmVyYXRlZCB0aGUgcGFj a2V0IGFuZCBpcCBvcHRpb25zCmlwIGZpbHRlciBvdXRwdXQgbG9nIGZsYWdzIHNrdWlkIGZs YWdzIGlwIG9wdGlvbnMKCiMgbG9nIHRoZSB0Y3Agc2VxdWVuY2UgbnVtYmVycyBhbmQgdGNw IG9wdGlvbnMgZnJvbSB0aGUgVENQIHBhY2tldAppcCBmaWx0ZXIgb3V0cHV0IGxvZyBmbGFn cyB0Y3Agc2VxdWVuY2Usb3B0aW9ucwoKIyBlbmFibGUgYWxsIHN1cHBvcnRlZCBsb2cgZmxh Z3MKaXA2IGZpbHRlciBvdXRwdXQgbG9nIGZsYWdzIGFsbAouZmkKLmlmIG4gXHtcCi5SRQou XH0KLnNwCi5TUyAiUkVKRUNUIFNUQVRFTUVOVCIKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0K Lm5mClxmQnJlamVjdFxmUiBbIFxmQndpdGhcZlIgXGZJUkVKRUNUX1dJVEhcZlIgXQoKXGZJ UkVKRUNUX1dJVEhcZlIgOj0gXGZCaWNtcCB0eXBlXGZSIFxmSWljbXBfY29kZVxmUiB8CiAg ICAgICAgICAgICAgICAgXGZCaWNtcHY2IHR5cGVcZlIgXGZJaWNtcHY2X2NvZGVcZlIgfAog ICAgICAgICAgICAgICAgIFxmQmljbXB4IHR5cGVcZlIgXGZJaWNtcHhfY29kZVxmUiB8CiAg ICAgICAgICAgICAgICAgXGZCdGNwIHJlc2V0XGZSCi5maQouaWYgbiBce1wKLlJFCi5cfQou c3AKQSByZWplY3Qgc3RhdGVtZW50IGlzIHVzZWQgdG8gc2VuZCBiYWNrIGFuIGVycm9yIHBh Y2tldCBpbiByZXNwb25zZSB0byB0aGUgbWF0Y2hlZCBwYWNrZXQgb3RoZXJ3aXNlIGl0IGlz IGVxdWl2YWxlbnQgdG8gZHJvcCBzbyBpdCBpcyBhIHRlcm1pbmF0aW5nIHN0YXRlbWVudCwg ZW5kaW5nIHJ1bGUgdHJhdmVyc2FsXCYuIFRoaXMgc3RhdGVtZW50IGlzIG9ubHkgdmFsaWQg aW4gYmFzZSBjaGFpbnMgdXNpbmcgdGhlIFxmQmlucHV0XGZSLCBcZkJmb3J3YXJkXGZSIG9y IFxmQm91dHB1dFxmUiBob29rcywgYW5kIHVzZXJcLWRlZmluZWQgY2hhaW5zIHdoaWNoIGFy ZSBvbmx5IGNhbGxlZCBmcm9tIHRob3NlIGNoYWluc1wmLgouc3AKLml0IDEgYW4tdHJhcAou bnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxl XCBcJjYwLlwgXCZkaWZmZXJlbnQgSUNNUCByZWplY3QgdmFyaWFudHMgYXJlIG1lYW50IGZv ciB1c2UgaW4gZGlmZmVyZW50IHRhYmxlIGZhbWlsaWVzCi5UUwphbGxib3ggdGFiKDopOwps dEIgbHRCIGx0Qi4KVHsKVmFyaWFudApUfTpUewpGYW1pbHkKVH06VHsKVHlwZQpUfQouVCYK bHQgbHQgbHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcAppY21wClR9OlR7Ci5zcAppcApU fTpUewouc3AKaWNtcF9jb2RlClR9ClR7Ci5zcAppY21wdjYKVH06VHsKLnNwCmlwNgpUfTpU ewouc3AKaWNtcHY2X2NvZGUKVH0KVHsKLnNwCmljbXB4ClR9OlR7Ci5zcAppbmV0ClR9OlR7 Ci5zcAppY21weF9jb2RlClR9Ci5URQouc3AgMQouc3AKRm9yIGEgZGVzY3JpcHRpb24gb2Yg dGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgYSBsaXN0IG9mIHN1cHBvcnRlZCBrZXl3b3JkcyBy ZWZlciB0byBEQVRBIFRZUEVTIHNlY3Rpb24gYWJvdmVcJi4gVGhlIGNvbW1vbiBkZWZhdWx0 IHJlamVjdCB2YWx1ZSBpcyBcZkJwb3J0XC11bnJlYWNoYWJsZVxmUlwmLgouc3AKTm90ZSB0 aGF0IGluIGJyaWRnZSBmYW1pbHksIHJlamVjdCBzdGF0ZW1lbnQgaXMgb25seSBhbGxvd2Vk IGluIGJhc2UgY2hhaW5zIHdoaWNoIGhvb2sgaW50byBpbnB1dCBvciBwcmVyb3V0aW5nXCYu Ci5TUyAiQ09VTlRFUiBTVEFURU1FTlQiCi5zcApBIGNvdW50ZXIgc3RhdGVtZW50IHNldHMg dGhlIGhpdCBjb3VudCBvZiBwYWNrZXRzIGFsb25nIHdpdGggdGhlIG51bWJlciBvZiBieXRl c1wmLgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCY291bnRlclxmUiBcZkJwYWNr ZXRzXGZSIFxmSW51bWJlclxmUiBcZkJieXRlc1xmUiBcZkludW1iZXJcZlIKXGZCY291bnRl clxmUiB7IFxmQnBhY2tldHNcZlIgXGZJbnVtYmVyXGZSIHwgXGZCYnl0ZXNcZlIgXGZJbnVt YmVyXGZSIH0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5TUyAiQ09OTlRSQUNLIFNUQVRFTUVO VCIKLnNwClRoZSBjb25udHJhY2sgc3RhdGVtZW50IGNhbiBiZSB1c2VkIHRvIHNldCB0aGUg Y29ubnRyYWNrIG1hcmsgYW5kIGNvbm50cmFjayBsYWJlbHNcJi4KLnNwCi5pZiBuIFx7XAou UlMgNAouXH0KLm5mClxmQmN0XGZSIHtcZkJtYXJrXGZSIHwgXGZCZXZlbnRcZlIgfCBcZkJs YWJlbFxmUiB8IFxmQnpvbmVcZlJ9IFxmQnNldFxmUiBcZkl2YWx1ZVxmUgouZmkKLmlmIG4g XHtcCi5SRQouXH0KLnNwClRoZSBjdCBzdGF0ZW1lbnQgc2V0cyBtZXRhIGRhdGEgYXNzb2Np YXRlZCB3aXRoIGEgY29ubmVjdGlvblwmLiBUaGUgem9uZSBpZCBoYXMgdG8gYmUgYXNzaWdu ZWQgYmVmb3JlIGEgY29ubnRyYWNrIGxvb2t1cCB0YWtlcyBwbGFjZSwgaVwmLmVcJi4gdGhp cyBoYXMgdG8gYmUgZG9uZSBpbiBwcmVyb3V0aW5nIGFuZCBwb3NzaWJseSBvdXRwdXQgKGlm IGxvY2FsbHkgZ2VuZXJhdGVkIHBhY2tldHMgbmVlZCB0byBiZSBwbGFjZWQgaW4gYSBkaXN0 aW5jdCB6b25lKSwgd2l0aCBhIGhvb2sgcHJpb3JpdHkgb2YgXC0zMDBcJi4KLnNwClVubGlr ZSBpcHRhYmxlcywgd2hlcmUgdGhlIGhlbHBlciBhc3NpZ25tZW50IGhhcHBlbnMgaW4gdGhl IHJhdyB0YWJsZSwgdGhlIGhlbHBlciBuZWVkcyB0byBiZSBhc3NpZ25lZCBhZnRlciBhIGNv bm50cmFjayBlbnRyeSBoYXMgYmVlbiBmb3VuZCwgaVwmLmVcJi4gaXQgd2lsbCBub3Qgd29y ayB3aGVuIHVzZWQgd2l0aCBob29rIHByaW9yaXRpZXMgZXF1YWwgb3IgYmVmb3JlIFwtMjAw XCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJy ZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNjEuXCBcJkNvbm50cmFjayBzdGF0ZW1lbnQg dHlwZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpLZXl3b3JkClR9OlR7 CkRlc2NyaXB0aW9uClR9OlR7ClZhbHVlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdApsdCBs dCBsdApsdCBsdCBsdApsdCBsdCBsdC4KVHsKLnNwCmV2ZW50ClR9OlR7Ci5zcApjb25udHJh Y2sgZXZlbnQgYml0cwpUfTpUewouc3AKYml0bWFzaywgaW50ZWdlciAoMzIgYml0KQpUfQpU ewouc3AKaGVscGVyClR9OlR7Ci5zcApuYW1lIG9mIGN0IGhlbHBlciBvYmplY3QgdG8gYXNz aWduIHRvIHRoZSBjb25uZWN0aW9uClR9OlR7Ci5zcApxdW90ZWQgc3RyaW5nClR9ClR7Ci5z cAptYXJrClR9OlR7Ci5zcApDb25uZWN0aW9uIHRyYWNraW5nIG1hcmsKVH06VHsKLnNwCm1h cmsKVH0KVHsKLnNwCmxhYmVsClR9OlR7Ci5zcApDb25uZWN0aW9uIHRyYWNraW5nIGxhYmVs ClR9OlR7Ci5zcApsYWJlbApUfQpUewouc3AKem9uZQpUfTpUewouc3AKY29ubnRyYWNrIHpv bmUKVH06VHsKLnNwCmludGVnZXIgKDE2IGJpdCkKVH0KLlRFCi5zcCAxCi5QUApcZkJzYXZl IHBhY2tldCBuZm1hcmsgaW4gY29ubnRyYWNrXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mCmN0IG1hcmsgc2V0IG1ldGEgbWFyawouZmkKLmlmIG4gXHtcCi5SRQouXH0KLlBQ ClxmQnNldCB6b25lIG1hcHBlZCB2aWEgaW50ZXJmYWNlXGZSLiAKLnNwCi5pZiBuIFx7XAou UlMgNAouXH0KLm5mCnRhYmxlIGluZXQgcmF3IHsKICBjaGFpbiBwcmVyb3V0aW5nIHsKICAg ICAgdHlwZSBmaWx0ZXIgaG9vayBwcmVyb3V0aW5nIHByaW9yaXR5IFwtMzAwOwogICAgICBj dCB6b25lIHNldCBpaWYgbWFwIHsgImV0aDEiIDogMSwgInZldGgxIiA6IDIgfQogIH0KICBj aGFpbiBvdXRwdXQgewogICAgICB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBc LTMwMDsKICAgICAgY3Qgem9uZSBzZXQgb2lmIG1hcCB7ICJldGgxIiA6IDEsICJ2ZXRoMSIg OiAyIH0KICB9Cn0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5QUApcZkJyZXN0cmljdCBldmVu dHMgcmVwb3J0ZWQgYnkgY3RuZXRsaW5rXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0K Lm5mCmN0IGV2ZW50IHNldCBuZXcscmVsYXRlZCxkZXN0cm95Ci5maQouaWYgbiBce1wKLlJF Ci5cfQouc3AKLlNTICJOT1RSQUNLIFNUQVRFTUVOVCIKLnNwClRoZSBub3RyYWNrIHN0YXRl bWVudCBhbGxvd3MgdG8gZGlzYWJsZSBjb25uZWN0aW9uIHRyYWNraW5nIGZvciBjZXJ0YWlu IHBhY2tldHNcJi4KLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mClxmQm5vdHJhY2tcZlIK LmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApOb3RlIHRoYXQgZm9yIHRoaXMgc3RhdGVtZW50 IHRvIGJlIGVmZmVjdGl2ZSwgaXQgaGFzIHRvIGJlIGFwcGxpZWQgdG8gcGFja2V0cyBiZWZv cmUgYSBjb25udHJhY2sgbG9va3VwIGhhcHBlbnNcJi4gVGhlcmVmb3JlLCBpdCBuZWVkcyB0 byBzaXQgaW4gYSBjaGFpbiB3aXRoIGVpdGhlciBwcmVyb3V0aW5nIG9yIG91dHB1dCBob29r IGFuZCBhIGhvb2sgcHJpb3JpdHkgb2YgXC0zMDAgb3IgbGVzc1wmLgouc3AKU2VlIFNZTlBS T1hZIFNUQVRFTUVOVCBmb3IgYW4gZXhhbXBsZSB1c2FnZVwmLgouU1MgIk1FVEEgU1RBVEVN RU5UIgouc3AKQSBtZXRhIHN0YXRlbWVudCBzZXRzIHRoZSB2YWx1ZSBvZiBhIG1ldGEgZXhw cmVzc2lvblwmLiBUaGUgZXhpc3RpbmcgbWV0YSBmaWVsZHMgYXJlOiBwcmlvcml0eSwgbWFy aywgcGt0dHlwZSwgbmZ0cmFjZVwmLgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZC bWV0YVxmUiB7XGZCbWFya1xmUiB8IFxmQnByaW9yaXR5XGZSIHwgXGZCcGt0dHlwZVxmUiB8 IFxmQm5mdHJhY2VcZlJ9IFxmQnNldFxmUiBcZkl2YWx1ZVxmUgouZmkKLmlmIG4gXHtcCi5S RQouXH0KLnNwCkEgbWV0YSBzdGF0ZW1lbnQgc2V0cyBtZXRhIGRhdGEgYXNzb2NpYXRlZCB3 aXRoIGEgcGFja2V0XCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFn IDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNjIuXCBcJk1ldGEgc3Rh dGVtZW50IHR5cGVzCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCIGx0Qi4KVHsKS2V5d29y ZApUfTpUewpEZXNjcmlwdGlvbgpUfTpUewpWYWx1ZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQg bHQKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcApwcmlvcml0eQpUfTpUewouc3AKVEMgcGFj a2V0IHByaW9yaXR5ClR9OlR7Ci5zcAp0Y19oYW5kbGUKVH0KVHsKLnNwCm1hcmsKVH06VHsK LnNwClBhY2tldCBtYXJrClR9OlR7Ci5zcAptYXJrClR9ClR7Ci5zcApwa3R0eXBlClR9OlR7 Ci5zcApwYWNrZXQgdHlwZQpUfTpUewouc3AKcGt0X3R5cGUKVH0KVHsKLnNwCm5mdHJhY2UK VH06VHsKLnNwCnJ1bGVzZXQgcGFja2V0IHRyYWNpbmcgb24vb2ZmXCYuIFVzZSBcZkJtb25p dG9yIHRyYWNlXGZSIGNvbW1hbmQgdG8gd2F0Y2ggdHJhY2VzClR9OlR7Ci5zcAowLCAxClR9 Ci5URQouc3AgMQouU1MgIkxJTUlUIFNUQVRFTUVOVCIKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mClxmQmxpbWl0IHJhdGVcZlIgW1xmQm92ZXJcZlJdIFxmSXBhY2tldF9udW1iZXJc ZlIgXGZCL1xmUiBcZklUSU1FX1VOSVRcZlIgW1xmQmJ1cnN0XGZSIFxmSXBhY2tldF9udW1i ZXJcZlIgXGZCcGFja2V0c1xmUl0KXGZCbGltaXQgcmF0ZVxmUiBbXGZCb3ZlclxmUl0gXGZJ Ynl0ZV9udW1iZXJcZlIgXGZJQllURV9VTklUXGZSIFxmQi9cZlIgXGZJVElNRV9VTklUXGZS IFtcZkJidXJzdFxmUiBcZklieXRlX251bWJlclxmUiBcZklCWVRFX1VOSVRcZlJdCgpcZklU SU1FX1VOSVRcZlIgOj0gXGZCc2Vjb25kXGZSIHwgXGZCbWludXRlXGZSIHwgXGZCaG91clxm UiB8IFxmQmRheVxmUgpcZklCWVRFX1VOSVRcZlIgOj0gXGZCYnl0ZXNcZlIgfCBcZkJrYnl0 ZXNcZlIgfCBcZkJtYnl0ZXNcZlIKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApBIGxpbWl0 IHN0YXRlbWVudCBtYXRjaGVzIGF0IGEgbGltaXRlZCByYXRlIHVzaW5nIGEgdG9rZW4gYnVj a2V0IGZpbHRlclwmLiBBIHJ1bGUgdXNpbmcgdGhpcyBzdGF0ZW1lbnQgd2lsbCBtYXRjaCB1 bnRpbCB0aGlzIGxpbWl0IGlzIHJlYWNoZWRcJi4gSXQgY2FuIGJlIHVzZWQgaW4gY29tYmlu YXRpb24gd2l0aCB0aGUgbG9nIHN0YXRlbWVudCB0byBnaXZlIGxpbWl0ZWQgbG9nZ2luZ1wm LiBUaGUgb3B0aW9uYWwgXGZCb3ZlclxmUiBrZXl3b3JkIG1ha2VzIGl0IG1hdGNoIG92ZXIg dGhlIHNwZWNpZmllZCByYXRlXCYuIERlZmF1bHQgXGZCYnVyc3RcZlIgaXMgNVwmLiBpZiB5 b3Ugc3BlY2lmeSBcZkJidXJzdFxmUiwgaXQgbXVzdCBiZSBub25cLXplcm8gdmFsdWVcJi4K LnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWst ZmxhZyAxCi5icgouQiBUYWJsZVwgXCY2My5cIFwmbGltaXQgc3RhdGVtZW50IHZhbHVlcwou VFMKYWxsYm94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7ClZhbHVlClR9OlR7CkRlc2NyaXB0 aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0LgpUewouc3AKcGFja2V0 X251bWJlcgpUfTpUewouc3AKTnVtYmVyIG9mIHBhY2tldHMKVH06VHsKLnNwCnVuc2lnbmVk IGludGVnZXIgKDMyIGJpdCkKVH0KVHsKLnNwCmJ5dGVfbnVtYmVyClR9OlR7Ci5zcApOdW1i ZXIgb2YgYnl0ZXMKVH06VHsKLnNwCnVuc2lnbmVkIGludGVnZXIgKDMyIGJpdCkKVH0KLlRF Ci5zcCAxCi5TUyAiTkFUIFNUQVRFTUVOVFMiCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5u ZgpcZkJzbmF0IHRvXGZSIFxmSWFkZHJlc3NcZlIgW1xmQjpcZlJcZklwb3J0XGZSXSBbXGZJ UFJGX0ZMQUdTXGZSXQpcZkJzbmF0IHRvXGZSIFxmSWFkZHJlc3NcZlIgXGZCXC1cZlIgXGZJ YWRkcmVzc1xmUiBbXGZCOlxmUlxmSXBvcnRcZlIgXGZCXC1cZlIgXGZJcG9ydFxmUl0gW1xm SVBSRl9GTEFHU1xmUl0KXGZCc25hdFxmUiB7IFxmQmlwXGZSIHwgXGZCaXA2XGZSIH0gXGZC dG9cZlIgXGZJYWRkcmVzc1xmUiBcZkJcLVxmUiBcZklhZGRyZXNzXGZSIFtcZkI6XGZSXGZJ cG9ydFxmUiBcZkJcLVxmUiBcZklwb3J0XGZSXSBbXGZJUFJfRkxBR1NcZlJdClxmQmRuYXQg dG9cZlIgXGZJYWRkcmVzc1xmUiBbXGZCOlxmUlxmSXBvcnRcZlJdIFtcZklQUkZfRkxBR1Nc ZlJdClxmQmRuYXQgdG9cZlIgXGZJYWRkcmVzc1xmUiBbXGZCOlxmUlxmSXBvcnRcZlIgXGZC XC1cZlIgXGZJcG9ydFxmUl0gW1xmSVBSX0ZMQUdTXGZSXQpcZkJkbmF0XGZSIHsgXGZCaXBc ZlIgfCBcZkJpcDZcZlIgfSBcZkJ0b1xmUiBcZklhZGRyZXNzXGZSIFtcZkI6XGZSXGZJcG9y dFxmUiBcZkJcLVxmUiBcZklwb3J0XGZSXSBbXGZJUFJfRkxBR1NcZlJdClxmQm1hc3F1ZXJh ZGUgdG9cZlIgW1xmQjpcZlJcZklwb3J0XGZSXSBbXGZJUFJGX0ZMQUdTXGZSXQpcZkJtYXNx dWVyYWRlIHRvXGZSIFtcZkI6XGZSXGZJcG9ydFxmUiBcZkJcLVxmUiBcZklwb3J0XGZSXSBb XGZJUFJGX0ZMQUdTXGZSXQpcZkJyZWRpcmVjdCB0b1xmUiBbXGZCOlxmUlxmSXBvcnRcZlJd IFtcZklQUkZfRkxBR1NcZlJdClxmQnJlZGlyZWN0IHRvXGZSIFtcZkI6XGZSXGZJcG9ydFxm UiBcZkJcLVxmUiBcZklwb3J0XGZSXSBbXGZJUFJGX0ZMQUdTXGZSXQoKXGZJUFJGX0ZMQUdT XGZSIDo9IFxmSVBSRl9GTEFHXGZSIFtcZkIsXGZSIFxmSVBSRl9GTEFHU1xmUl0KXGZJUFJf RkxBR1NcZlIgIDo9IFxmSVBSX0ZMQUdcZlIgW1xmQixcZlIgXGZJUFJfRkxBR1NcZlJdClxm SVBSRl9GTEFHXGZSICA6PSBcZklQUl9GTEFHXGZSIHwgXGZCZnVsbHlcLXJhbmRvbVxmUgpc ZklQUl9GTEFHXGZSICAgOj0gXGZCcGVyc2lzdGVudFxmUiB8IFxmQnJhbmRvbVxmUgouZmkK LmlmIG4gXHtcCi5SRQouXH0KLnNwClRoZSBuYXQgc3RhdGVtZW50cyBhcmUgb25seSB2YWxp ZCBmcm9tIG5hdCBjaGFpbiB0eXBlc1wmLgouc3AKVGhlIFxmQnNuYXRcZlIgYW5kIFxmQm1h c3F1ZXJhZGVcZlIgc3RhdGVtZW50cyBzcGVjaWZ5IHRoYXQgdGhlIHNvdXJjZSBhZGRyZXNz IG9mIHRoZSBwYWNrZXQgc2hvdWxkIGJlIG1vZGlmaWVkXCYuIFdoaWxlIFxmQnNuYXRcZlIg aXMgb25seSB2YWxpZCBpbiB0aGUgcG9zdHJvdXRpbmcgYW5kIGlucHV0IGNoYWlucywgXGZC bWFzcXVlcmFkZVxmUiBtYWtlcyBzZW5zZSBvbmx5IGluIHBvc3Ryb3V0aW5nXCYuIFRoZSBk bmF0IGFuZCByZWRpcmVjdCBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZhbGlkIGluIHRoZSBwcmVy b3V0aW5nIGFuZCBvdXRwdXQgY2hhaW5zLCB0aGV5IHNwZWNpZnkgdGhhdCB0aGUgZGVzdGlu YXRpb24gYWRkcmVzcyBvZiB0aGUgcGFja2V0IHNob3VsZCBiZSBtb2RpZmllZFwmLiBZb3Ug Y2FuIHVzZSBub25cLWJhc2UgY2hhaW5zIHdoaWNoIGFyZSBjYWxsZWQgZnJvbSBiYXNlIGNo YWlucyBvZiBuYXQgY2hhaW4gdHlwZSB0b29cJi4gQWxsIGZ1dHVyZSBwYWNrZXRzIGluIHRo aXMgY29ubmVjdGlvbiB3aWxsIGFsc28gYmUgbWFuZ2xlZCwgYW5kIHJ1bGVzIHNob3VsZCBj ZWFzZSBiZWluZyBleGFtaW5lZFwmLgouc3AKVGhlIFxmQm1hc3F1ZXJhZGVcZlIgc3RhdGVt ZW50IGlzIGEgc3BlY2lhbCBmb3JtIG9mIHNuYXQgd2hpY2ggYWx3YXlzIHVzZXMgdGhlIG91 dGdvaW5nIGludGVyZmFjZVwoY3FzIElQIGFkZHJlc3MgdG8gdHJhbnNsYXRlIHRvXCYuIEl0 IGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgb24gZ2F0ZXdheXMgd2l0aCBkeW5hbWljIChwdWJs aWMpIElQIGFkZHJlc3Nlc1wmLgouc3AKVGhlIFxmQnJlZGlyZWN0XGZSIHN0YXRlbWVudCBp cyBhIHNwZWNpYWwgZm9ybSBvZiBkbmF0IHdoaWNoIGFsd2F5cyB0cmFuc2xhdGVzIHRoZSBk ZXN0aW5hdGlvbiBhZGRyZXNzIHRvIHRoZSBsb2NhbCBob3N0XChjcXMgb25lXCYuIEl0IGNv bWVzIGluIGhhbmR5IGlmIG9uZSBvbmx5IHdhbnRzIHRvIGFsdGVyIHRoZSBkZXN0aW5hdGlv biBwb3J0IG9mIGluY29taW5nIHRyYWZmaWMgb24gZGlmZmVyZW50IGludGVyZmFjZXNcJi4K LnNwCldoZW4gdXNlZCBpbiB0aGUgaW5ldCBmYW1pbHkgKGF2YWlsYWJsZSB3aXRoIGtlcm5l bCA1XCYuMiksIHRoZSBkbmF0IGFuZCBzbmF0IHN0YXRlbWVudHMgcmVxdWlyZSB0aGUgdXNl IG9mIHRoZSBpcCBhbmQgaXA2IGtleXdvcmQgaW4gY2FzZSBhbiBhZGRyZXNzIGlzIHByb3Zp ZGVkLCBzZWUgdGhlIGV4YW1wbGVzIGJlbG93XCYuCi5zcApCZWZvcmUga2VybmVsIDRcJi4x OCBuYXQgc3RhdGVtZW50cyByZXF1aXJlIGJvdGggcHJlcm91dGluZyBhbmQgcG9zdHJvdXRp bmcgYmFzZSBjaGFpbnMgdG8gYmUgcHJlc2VudCBzaW5jZSBvdGhlcndpc2UgcGFja2V0cyBv biB0aGUgcmV0dXJuIHBhdGggd29uXChjcXQgYmUgc2VlbiBieSBuZXRmaWx0ZXIgYW5kIHRo ZXJlZm9yZSBubyByZXZlcnNlIHRyYW5zbGF0aW9uIHdpbGwgdGFrZSBwbGFjZVwmLgouc3AK Lml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFn IDEKLmJyCi5CIFRhYmxlXCBcJjY0LlwgXCZOQVQgc3RhdGVtZW50IHZhbHVlcwouVFMKYWxs Ym94IHRhYig6KTsKbHRCIGx0QiBsdEIuClR7CkV4cHJlc3Npb24KVH06VHsKRGVzY3JpcHRp b24KVH06VHsKVHlwZQpUfQouVCYKbHQgbHQgbHQKbHQgbHQgbHQuClR7Ci5zcAphZGRyZXNz ClR9OlR7Ci5zcApTcGVjaWZpZXMgdGhhdCB0aGUgc291cmNlL2Rlc3RpbmF0aW9uIGFkZHJl c3Mgb2YgdGhlIHBhY2tldCBzaG91bGQgYmUgbW9kaWZpZWRcJi4gWW91IG1heSBzcGVjaWZ5 IGEgbWFwcGluZyB0byByZWxhdGUgYSBsaXN0IG9mIHR1cGxlcyBjb21wb3NlZCBvZiBhcmJp dHJhcnkgZXhwcmVzc2lvbiBrZXkgd2l0aCBhZGRyZXNzIHZhbHVlXCYuClR9OlR7Ci5zcApp cHY0X2FkZHIsIGlwdjZfYWRkciwgZVwmLmdcJi4gYWJjZDo6MTIzNCwgb3IgeW91IGNhbiB1 c2UgYSBtYXBwaW5nLCBlXCYuZ1wmLiBtZXRhIG1hcmsgbWFwIHsgMTAgOiAxOTJcJi4xNjhc Ji4xXCYuMiwgMjAgOiAxOTJcJi4xNjhcJi4xXCYuMyB9ClR9ClR7Ci5zcApwb3J0ClR9OlR7 Ci5zcApTcGVjaWZpZXMgdGhhdCB0aGUgc291cmNlL2Rlc3RpbmF0aW9uIGFkZHJlc3Mgb2Yg dGhlIHBhY2tldCBzaG91bGQgYmUgbW9kaWZpZWRcJi4KVH06VHsKLnNwCnBvcnQgbnVtYmVy ICgxNiBiaXQpClR9Ci5URQouc3AgMQouc3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3Bh Y2UtZmxhZyAxCi5uciBhbi1icmVhay1mbGFnIDEKLmJyCi5CIFRhYmxlXCBcJjY1LlwgXCZO QVQgc3RhdGVtZW50IGZsYWdzCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpUewpGbGFn ClR9OlR7CkRlc2NyaXB0aW9uClR9Ci5UJgpsdCBsdApsdCBsdApsdCBsdC4KVHsKLnNwCnBl cnNpc3RlbnQKVH06VHsKLnNwCkdpdmVzIGEgY2xpZW50IHRoZSBzYW1lIHNvdXJjZVwtL2Rl c3RpbmF0aW9uXC1hZGRyZXNzIGZvciBlYWNoIGNvbm5lY3Rpb25cJi4KVH0KVHsKLnNwCnJh bmRvbQpUfTpUewouc3AKSW4ga2VybmVsIDVcJi4wIGFuZCBuZXdlciB0aGlzIGlzIHRoZSBz YW1lIGFzIGZ1bGx5XC1yYW5kb21cJi4gSW4gZWFybGllciBrZXJuZWxzIHRoZSBwb3J0IG1h cHBpbmcgd2lsbCBiZSByYW5kb21pemVkIHVzaW5nIGEgc2VlZGVkIE1ENSBoYXNoIG1peCB1 c2luZyBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3MgYW5kIGRlc3RpbmF0aW9uIHBv cnRcJi4KVH0KVHsKLnNwCmZ1bGx5XC1yYW5kb20KVH06VHsKLnNwCklmIHVzZWQgdGhlbiBw b3J0IG1hcHBpbmcgaXMgZ2VuZXJhdGVkIGJhc2VkIG9uIGEgMzJcLWJpdCBwc2V1ZG9cLXJh bmRvbSBhbGdvcml0aG1cJi4KVH0KLlRFCi5zcCAxCi5QUApcZkJVc2luZyBOQVQgc3RhdGVt ZW50c1xmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIGNyZWF0ZSBhIHN1aXRh YmxlIHRhYmxlL2NoYWluIHNldHVwIGZvciBhbGwgZnVydGhlciBleGFtcGxlcwphZGQgdGFi bGUgbmF0CmFkZCBjaGFpbiBuYXQgcHJlcm91dGluZyB7IHR5cGUgbmF0IGhvb2sgcHJlcm91 dGluZyBwcmlvcml0eSAwOyB9CmFkZCBjaGFpbiBuYXQgcG9zdHJvdXRpbmcgeyB0eXBlIG5h dCBob29rIHBvc3Ryb3V0aW5nIHByaW9yaXR5IDEwMDsgfQoKIyB0cmFuc2xhdGUgc291cmNl IGFkZHJlc3NlcyBvZiBhbGwgcGFja2V0cyBsZWF2aW5nIHZpYSBldGgwIHRvIGFkZHJlc3Mg MVwmLjJcJi4zXCYuNAphZGQgcnVsZSBuYXQgcG9zdHJvdXRpbmcgb2lmIGV0aDAgc25hdCB0 byAxXCYuMlwmLjNcJi40CgojIHJlZGlyZWN0IGFsbCB0cmFmZmljIGVudGVyaW5nIHZpYSBl dGgwIHRvIGRlc3RpbmF0aW9uIGFkZHJlc3MgMTkyXCYuMTY4XCYuMVwmLjEyMAphZGQgcnVs ZSBuYXQgcHJlcm91dGluZyBpaWYgZXRoMCBkbmF0IHRvIDE5MlwmLjE2OFwmLjFcJi4xMjAK CiMgdHJhbnNsYXRlIHNvdXJjZSBhZGRyZXNzZXMgb2YgYWxsIHBhY2tldHMgbGVhdmluZyB2 aWEgZXRoMCB0byB3aGF0ZXZlcgojIGxvY2FsbHkgZ2VuZXJhdGVkIHBhY2tldHMgd291bGQg dXNlIGFzIHNvdXJjZSB0byByZWFjaCB0aGUgc2FtZSBkZXN0aW5hdGlvbgphZGQgcnVsZSBu YXQgcG9zdHJvdXRpbmcgb2lmIGV0aDAgbWFzcXVlcmFkZQoKIyByZWRpcmVjdCBpbmNvbWlu ZyBUQ1AgdHJhZmZpYyBmb3IgcG9ydCAyMiB0byBwb3J0IDIyMjIKYWRkIHJ1bGUgbmF0IHBy ZXJvdXRpbmcgdGNwIGRwb3J0IDIyIHJlZGlyZWN0IHRvIDoyMjIyCgojIGluZXQgZmFtaWx5 OgojIGhhbmRsZSBpcCBkbmF0OgphZGQgcnVsZSBpbmV0IG5hdCBwcmVyb3V0aW5nIGRuYXQg aXAgdG8gMTBcJi4wXCYuMlwmLjk5CiMgaGFuZGxlIGlwNiBkbmF0OgphZGQgcnVsZSBpbmV0 IG5hdCBwcmVyb3V0aW5nIGRuYXQgaXA2IHRvIGZlODA6OmRlYWQKIyB0aGlzIG1hc3F1ZXJh ZGVzIGJvdGggaXB2NCBhbmQgaXB2NjoKYWRkIHJ1bGUgaW5ldCBuYXQgcG9zdHJvdXRpbmcg bWV0YSBvaWYgcHBwMCBtYXNxdWVyYWRlCi5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNT ICJUUFJPWFkgU1RBVEVNRU5UIgouc3AKVHByb3h5IHJlZGlyZWN0cyB0aGUgcGFja2V0IHRv IGEgbG9jYWwgc29ja2V0IHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBhY2tldCBoZWFkZXIgaW4g YW55IHdheVwmLiBJZiBhbnkgb2YgdGhlIGFyZ3VtZW50cyBpcyBtaXNzaW5nIHRoZSBkYXRh IG9mIHRoZSBpbmNvbWluZyBwYWNrZXQgaXMgdXNlZCBhcyBwYXJhbWV0ZXJcJi4gVHByb3h5 IG1hdGNoaW5nIHJlcXVpcmVzIGFub3RoZXIgcnVsZSB0aGF0IGVuc3VyZXMgdGhlIHByZXNl bmNlIG9mIHRyYW5zcG9ydCBwcm90b2NvbCBoZWFkZXIgaXMgc3BlY2lmaWVkXCYuCi5zcAou aWYgbiBce1wKLlJTIDQKLlx9Ci5uZgpcZkJ0cHJveHkgdG9cZlIgXGZJYWRkcmVzc1xmUlxm QjpcZlJcZklwb3J0XGZSClxmQnRwcm94eSB0b1xmUiB7XGZJYWRkcmVzc1xmUiB8IFxmQjpc ZlJcZklwb3J0XGZSfQouZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwClRoaXMgc3ludGF4IGNh biBiZSB1c2VkIGluIFxmQmlwL2lwNlxmUiB0YWJsZXMgd2hlcmUgbmV0d29yayBsYXllciBw cm90b2NvbCBpcyBvYnZpb3VzXCYuIEVpdGhlciBJUCBhZGRyZXNzIG9yIHBvcnQgY2FuIGJl IHNwZWNpZmllZCwgYnV0IGF0IGxlYXN0IG9uZSBvZiB0aGVtIGlzIG5lY2Vzc2FyeVwmLgou c3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCdHByb3h5XGZSIHtcZkJpcFxmUiB8IFxm QmlwNlxmUn0gXGZCdG9cZlIgXGZJYWRkcmVzc1xmUltcZkI6XGZSXGZJcG9ydFxmUl0KXGZC dHByb3h5IHRvIDpcZlJcZklwb3J0XGZSCi5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKVGhp cyBzeW50YXggY2FuIGJlIHVzZWQgaW4gXGZCaW5ldFxmUiB0YWJsZXNcJi4gVGhlIFxmQmlw L2lwNlxmUiBwYXJhbWV0ZXIgZGVmaW5lcyB0aGUgZmFtaWx5IHRoZSBydWxlIHdpbGwgbWF0 Y2hcJi4gVGhlIFxmQmFkZHJlc3NcZlIgcGFyYW1ldGVyIG11c3QgYmUgb2YgdGhpcyBmYW1p bHlcJi4gV2hlbiBvbmx5IFxmQnBvcnRcZlIgaXMgZGVmaW5lZCwgdGhlIGFkZHJlc3MgZmFt aWx5IHNob3VsZCBub3QgYmUgc3BlY2lmaWVkXCYuIEluIHRoaXMgY2FzZSB0aGUgcnVsZSB3 aWxsIG1hdGNoIGZvciBib3RoIGZhbWlsaWVzXCYuCi5zcAouaXQgMSBhbi10cmFwCi5uciBh bi1uby1zcGFjZS1mbGFnIDEKLm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwm NjYuXCBcJnRwcm94eSBhdHRyaWJ1dGVzCi5UUwphbGxib3ggdGFiKDopOwpsdEIgbHRCLgpU ewpOYW1lClR9OlR7CkRlc2NyaXB0aW9uClR9Ci5UJgpsdCBsdApsdCBsdC4KVHsKLnNwCmFk ZHJlc3MKVH06VHsKLnNwCklQIGFkZHJlc3MgdGhlIGxpc3RlbmluZyBzb2NrZXQgd2l0aCBJ UF9UUkFOU1BBUkVOVCBvcHRpb24gaXMgYm91bmQgdG9cJi4KVH0KVHsKLnNwCnBvcnQKVH06 VHsKLnNwClBvcnQgdGhlIGxpc3RlbmluZyBzb2NrZXQgd2l0aCBJUF9UUkFOU1BBUkVOVCBv cHRpb24gaXMgYm91bmQgdG9cJi4KVH0KLlRFCi5zcCAxCi5QUApcZkJFeGFtcGxlIHJ1bGVz ZXQgZm9yIHRwcm94eSBzdGF0ZW1lbnRcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQou bmYKdGFibGUgaXAgeCB7CiAgICBjaGFpbiB5IHsKICAgICAgICB0eXBlIGZpbHRlciBob29r IHByZXJvdXRpbmcgcHJpb3JpdHkgXC0xNTA7IHBvbGljeSBhY2NlcHQ7CiAgICAgICAgdGNw IGRwb3J0IG50cCB0cHJveHkgdG8gMVwmLjFcJi4xXCYuMQogICAgICAgIHVkcCBkcG9ydCBz c2ggdHByb3h5IHRvIDoyMjIyCiAgICB9Cn0KdGFibGUgaXA2IHggewogICAgY2hhaW4geSB7 CiAgICAgICB0eXBlIGZpbHRlciBob29rIHByZXJvdXRpbmcgcHJpb3JpdHkgXC0xNTA7IHBv bGljeSBhY2NlcHQ7CiAgICAgICB0Y3AgZHBvcnQgbnRwIHRwcm94eSB0byBbZGVhZDo6YmVl Zl0KICAgICAgIHVkcCBkcG9ydCBzc2ggdHByb3h5IHRvIDoyMjIyCiAgICB9Cn0KdGFibGUg aW5ldCB4IHsKICAgIGNoYWluIHkgewogICAgICAgIHR5cGUgZmlsdGVyIGhvb2sgcHJlcm91 dGluZyBwcmlvcml0eSBcLTE1MDsgcG9saWN5IGFjY2VwdDsKICAgICAgICB0Y3AgZHBvcnQg MzIxIHRwcm94eSB0byA6c3NoCiAgICAgICAgdGNwIGRwb3J0IDk5IHRwcm94eSBpcCB0byAx XCYuMVwmLjFcJi4xOjk5OQogICAgICAgIHVkcCBkcG9ydCAxNTUgdHByb3h5IGlwNiB0byBb ZGVhZDo6YmVlZl06c211eAogICAgfQp9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNT ICJTWU5QUk9YWSBTVEFURU1FTlQiCi5zcApUaGlzIHN0YXRlbWVudCB3aWxsIHByb2Nlc3Mg VENQIHRocmVlXC13YXlcLWhhbmRzaGFrZSBwYXJhbGxlbCBpbiBuZXRmaWx0ZXIgY29udGV4 dCB0byBwcm90ZWN0IGVpdGhlciBsb2NhbCBvciBiYWNrZW5kIHN5c3RlbVwmLiBUaGlzIHN0 YXRlbWVudCByZXF1aXJlcyBjb25uZWN0aW9uIHRyYWNraW5nIGJlY2F1c2Ugc2VxdWVuY2Ug bnVtYmVycyBuZWVkIHRvIGJlIHRyYW5zbGF0ZWRcJi4KLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mClxmQnN5bnByb3h5XGZSIFtcZkJtc3NcZlIgXGZJbXNzX3ZhbHVlXGZSXSBbXGZC d3NjYWxlXGZSIFxmSXdzY2FsZV92YWx1ZVxmUl0gW1xmSVNZTlBST1hZX0ZMQUdTXGZSXQou ZmkKLmlmIG4gXHtcCi5SRQouXH0KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNl LWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY2Ny5cIFwmc3lu cHJveHkgc3RhdGVtZW50IGF0dHJpYnV0ZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIu ClR7Ck5hbWUKVH06VHsKRGVzY3JpcHRpb24KVH0KLlQmCmx0IGx0Cmx0IGx0LgpUewouc3AK bXNzClR9OlR7Ci5zcApNYXhpbXVtIHNlZ21lbnQgc2l6ZSBhbm5vdW5jZWQgdG8gY2xpZW50 c1wmLiBUaGlzIG11c3QgbWF0Y2ggdGhlIGJhY2tlbmRcJi4KVH0KVHsKLnNwCndzY2FsZQpU fTpUewouc3AKV2luZG93IHNjYWxlIGFubm91bmNlZCB0byBjbGllbnRzXCYuIFRoaXMgbXVz dCBtYXRjaCB0aGUgYmFja2VuZFwmLgpUfQouVEUKLnNwIDEKLnNwCi5pdCAxIGFuLXRyYXAK Lm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4tYnJlYWstZmxhZyAxCi5icgouQiBUYWJs ZVwgXCY2OC5cIFwmc3lucHJveHkgc3RhdGVtZW50IGZsYWdzCi5UUwphbGxib3ggdGFiKDop OwpsdEIgbHRCLgpUewpGbGFnClR9OlR7CkRlc2NyaXB0aW9uClR9Ci5UJgpsdCBsdApsdCBs dC4KVHsKLnNwCnNhY2tcLXBlcm0KVH06VHsKLnNwClBhc3MgY2xpZW50IHNlbGVjdGl2ZSBh Y2tub3dsZWRnZW1lbnQgb3B0aW9uIHRvIGJhY2tlbmQgKHdpbGwgYmUgZGlzYWJsZWQgaWYg bm90IHByZXNlbnQpXCYuClR9ClR7Ci5zcAp0aW1lc3RhbXAKVH06VHsKLnNwClBhc3MgY2xp ZW50IHRpbWVzdGFtcCBvcHRpb24gdG8gYmFja2VuZCAod2lsbCBiZSBkaXNhYmxlZCBpZiBu b3QgcHJlc2VudCwgYWxzbyBuZWVkZWQgZm9yIHNlbGVjdGl2ZSBhY2tub3dsZWRnZW1lbnQg YW5kIHdpbmRvdyBzY2FsaW5nKVwmLgpUfQouVEUKLnNwIDEKLlBQClxmQkV4YW1wbGUgcnVs ZXNldCBmb3Igc3lucHJveHkgc3RhdGVtZW50XGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAou XH0KLm5mCkRldGVybWluZSB0Y3Agb3B0aW9ucyB1c2VkIGJ5IGJhY2tlbmQsIGZyb20gYW4g ZXh0ZXJuYWwgc3lzdGVtCgogICAgICAgICAgICAgIHRjcGR1bXAgXC1wbmkgZXRoMCBcLWMg MSBcKihBcXRjcFt0Y3BmbGFnc10gPT0gKHRjcFwtc3lufHRjcFwtYWNrKVwqKEFxCiAgICAg ICAgICAgICAgICAgIHBvcnQgODAgJgogICAgICAgICAgICAgIHRlbG5ldCAxOTJcJi4wXCYu MlwmLjQyIDgwCiAgICAgICAgICAgICAgMTg6NTc6MjRcJi42OTMzMDcgSVAgMTkyXCYuMFwm LjJcJi40MlwmLjgwID4gMTkyXCYuMFwmLjJcJi40M1wmLjQ4NzU3OgogICAgICAgICAgICAg ICAgICBGbGFncyBbU1wmLl0sIHNlcSAzNjA0MTQ1ODIsIGFjayA3ODg4NDE5OTQsIHdpbiAx NDQ4MCwKICAgICAgICAgICAgICAgICAgb3B0aW9ucyBbbXNzIDE0NjAsc2Fja09LLAogICAg ICAgICAgICAgICAgICBUUyB2YWwgMTQwOTA1NjE1MSBlY3IgOTY5MDIyMSwKICAgICAgICAg ICAgICAgICAgbm9wLHdzY2FsZSA5XSwKICAgICAgICAgICAgICAgICAgbGVuZ3RoIDAKClN3 aXRjaCB0Y3BfbG9vc2UgbW9kZSBvZmYsIHNvIGNvbm50cmFjayB3aWxsIG1hcmsgb3V0XC1v ZlwtZmxvdyBwYWNrZXRzIGFzIHN0YXRlIElOVkFMSURcJi4KCiAgICAgICAgICAgICAgZWNo byAwID4gL3Byb2Mvc3lzL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3RjcF9sb29zZQoK TWFrZSBTWU4gcGFja2V0cyB1bnRyYWNrZWRcJi4KCiAgICAgICAgdGFibGUgaXAgeCB7CiAg ICAgICAgICAgICAgICBjaGFpbiB5IHsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSBm aWx0ZXIgaG9vayBwcmVyb3V0aW5nIHByaW9yaXR5IHJhdzsgcG9saWN5IGFjY2VwdDsKICAg ICAgICAgICAgICAgICAgICAgICAgdGNwIGZsYWdzIHN5biBub3RyYWNrCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgfQoKQ2F0Y2ggVU5UUkFDS0VEIChTWU4gIHBhY2tldHMpIGFuZCBJ TlZBTElEICgzV0hTIEFDSyBwYWNrZXRzKSBzdGF0ZXMgYW5kIHNlbmQKdGhlbSB0byBTWU5Q Uk9YWVwmLiBUaGlzIHJ1bGUgd2lsbCByZXNwb25kIHRvIFNZTiBwYWNrZXRzIHdpdGggU1lO K0FDSwpzeW5jb29raWVzLCBjcmVhdGUgRVNUQUJMSVNIRUQgZm9yIHZhbGlkIGNsaWVudCBy ZXNwb25zZSAoM1dIUyBBQ0sgcGFja2V0cykgYW5kCmRyb3AgaW5jb3JyZWN0IGNvb2tpZXNc Ji4gRmxhZ3MgY29tYmluYXRpb25zIG5vdCBleHBlY3RlZCBkdXJpbmcgIDNXSFMgd2lsbCBu b3QKbWF0Y2ggYW5kIGNvbnRpbnVlIChlXCYuZ1wmLiBTWU4rRklOLCBTWU4rQUNLKVwmLiBG aW5hbGx5LCBkcm9wIGludmFsaWQgcGFja2V0cywgdGhpcwp3aWxsIGJlIG91dFwtb2ZcLWZs b3cgcGFja2V0cyB0aGF0IHdlcmUgbm90IG1hdGNoZWQgYnkgU1lOUFJPWFlcJi4KCiAgICB0 YWJsZSBpcCBmb28gewogICAgICAgICAgICBjaGFpbiB6IHsKICAgICAgICAgICAgICAgICAg ICB0eXBlIGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IGZpbHRlcjsgcG9saWN5IGFjY2Vw dDsKICAgICAgICAgICAgICAgICAgICBjdCBzdGF0ZSB7IGludmFsaWQsIHVudHJhY2tlZCB9 IHN5bnByb3h5IG1zcyAxNDYwIHdzY2FsZSA5IHRpbWVzdGFtcCBzYWNrXC1wZXJtCiAgICAg ICAgICAgICAgICAgICAgY3Qgc3RhdGUgaW52YWxpZCBkcm9wCiAgICAgICAgICAgIH0KICAg IH0KClRoZSBvdXRjb21lIHJ1bGVzZXQgb2YgdGhlIHN0ZXBzIGFib3ZlIHNob3VsZCBiZSBz aW1pbGFyIHRvIHRoZSBvbmUgYmVsb3dcJi4KCiAgICAgICAgdGFibGUgaXAgeCB7CiAgICAg ICAgICAgICAgICBjaGFpbiB5IHsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSBmaWx0 ZXIgaG9vayBwcmVyb3V0aW5nIHByaW9yaXR5IHJhdzsgcG9saWN5IGFjY2VwdDsKICAgICAg ICAgICAgICAgICAgICAgICAgdGNwIGZsYWdzIHN5biBub3RyYWNrCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgY2hhaW4geiB7CiAgICAgICAgICAgICAgICAgICAgICAg IHR5cGUgZmlsdGVyIGhvb2sgaW5wdXQgcHJpb3JpdHkgZmlsdGVyOyBwb2xpY3kgYWNjZXB0 OwogICAgICAgICAgICAgICAgICAgICAgICBjdCBzdGF0ZSB7IGludmFsaWQsIHVudHJhY2tl ZCB9IHN5bnByb3h5IG1zcyAxNDYwIHdzY2FsZSA5IHRpbWVzdGFtcCBzYWNrXC1wZXJtCiAg ICAgICAgICAgICAgICAgICAgICAgIGN0IHN0YXRlIGludmFsaWQgZHJvcAogICAgICAgICAg ICAgICAgfQogICAgICAgIH0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU1MgIkZMT1cg U1RBVEVNRU5UIgouc3AKQSBmbG93IHN0YXRlbWVudCBhbGxvd3MgdXMgdG8gc2VsZWN0IHdo YXQgZmxvd3MgeW91IHdhbnQgdG8gYWNjZWxlcmF0ZSBmb3J3YXJkaW5nIHRocm91Z2ggbGF5 ZXIgMyBuZXR3b3JrIHN0YWNrIGJ5cGFzc1wmLiBZb3UgaGF2ZSB0byBzcGVjaWZ5IHRoZSBm bG93dGFibGUgbmFtZSB3aGVyZSB5b3Ugd2FudCB0byBvZmZsb2FkIHRoaXMgZmxvd1wmLgou c3AKXGZCZmxvdyBhZGQgQFxmUlxmSWZsb3d0YWJsZVxmUgouU1MgIlFVRVVFIFNUQVRFTUVO VCIKLnNwClRoaXMgc3RhdGVtZW50IHBhc3NlcyB0aGUgcGFja2V0IHRvIHVzZXJzcGFjZSB1 c2luZyB0aGUgbmZuZXRsaW5rX3F1ZXVlIGhhbmRsZXJcJi4gVGhlIHBhY2tldCBpcyBwdXQg aW50byB0aGUgcXVldWUgaWRlbnRpZmllZCBieSBpdHMgMTZcLWJpdCBxdWV1ZSBudW1iZXJc Ji4gVXNlcnNwYWNlIGNhbiBpbnNwZWN0IGFuZCBtb2RpZnkgdGhlIHBhY2tldCBpZiBkZXNp cmVkXCYuIFVzZXJzcGFjZSBtdXN0IHRoZW4gZHJvcCBvciByZVwtaW5qZWN0IHRoZSBwYWNr ZXQgaW50byB0aGUga2VybmVsXCYuIFNlZSBsaWJuZXRmaWx0ZXJfcXVldWUgZG9jdW1lbnRh dGlvbiBmb3IgZGV0YWlsc1wmLgouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKXGZCcXVl dWVcZlIgW1xmQm51bVxmUiBcZklxdWV1ZV9udW1iZXJcZlJdIFtcZkJieXBhc3NcZlJdClxm QnF1ZXVlXGZSIFtcZkJudW1cZlIgXGZJcXVldWVfbnVtYmVyX2Zyb21cZlIgXC0gXGZJcXVl dWVfbnVtYmVyX3RvXGZSXSBbXGZJUVVFVUVfRkxBR1NcZlJdCgpcZklRVUVVRV9GTEFHU1xm UiA6PSBcZklRVUVVRV9GTEFHXGZSIFtcZkIsXGZSIFxmSVFVRVVFX0ZMQUdTXGZSXQpcZklR VUVVRV9GTEFHXGZSICA6PSBcZkJieXBhc3NcZlIgfCBcZkJmYW5vdXRcZlIKLmZpCi5pZiBu IFx7XAouUkUKLlx9Ci5zcAouaXQgMSBhbi10cmFwCi5uciBhbi1uby1zcGFjZS1mbGFnIDEK Lm5yIGFuLWJyZWFrLWZsYWcgMQouYnIKLkIgVGFibGVcIFwmNjkuXCBcJnF1ZXVlIHN0YXRl bWVudCB2YWx1ZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpWYWx1ZQpU fTpUewpEZXNjcmlwdGlvbgpUfTpUewpUeXBlClR9Ci5UJgpsdCBsdCBsdApsdCBsdCBsdAps dCBsdCBsdC4KVHsKLnNwCnF1ZXVlX251bWJlcgpUfTpUewouc3AKU2V0cyBxdWV1ZSBudW1i ZXIsIGRlZmF1bHQgaXMgMFwmLgpUfTpUewouc3AKdW5zaWduZWQgaW50ZWdlciAoMTYgYml0 KQpUfQpUewouc3AKcXVldWVfbnVtYmVyX2Zyb20KVH06VHsKLnNwClNldHMgaW5pdGlhbCBx dWV1ZSBpbiB0aGUgcmFuZ2UsIGlmIGZhbm91dCBpcyB1c2VkXCYuClR9OlR7Ci5zcAp1bnNp Z25lZCBpbnRlZ2VyICgxNiBiaXQpClR9ClR7Ci5zcApxdWV1ZV9udW1iZXJfdG8KVH06VHsK LnNwClNldHMgY2xvc2luZyBxdWV1ZSBpbiB0aGUgcmFuZ2UsIGlmIGZhbm91dCBpcyB1c2Vk XCYuClR9OlR7Ci5zcAp1bnNpZ25lZCBpbnRlZ2VyICgxNiBiaXQpClR9Ci5URQouc3AgMQou c3AKLml0IDEgYW4tdHJhcAoubnIgYW4tbm8tc3BhY2UtZmxhZyAxCi5uciBhbi1icmVhay1m bGFnIDEKLmJyCi5CIFRhYmxlXCBcJjcwLlwgXCZxdWV1ZSBzdGF0ZW1lbnQgZmxhZ3MKLlRT CmFsbGJveCB0YWIoOik7Cmx0QiBsdEIuClR7CkZsYWcKVH06VHsKRGVzY3JpcHRpb24KVH0K LlQmCmx0IGx0Cmx0IGx0LgpUewouc3AKYnlwYXNzClR9OlR7Ci5zcApMZXQgcGFja2V0cyBn byB0aHJvdWdoIGlmIHVzZXJzcGFjZSBhcHBsaWNhdGlvbiBjYW5ub3QgYmFjayBvZmZcJi4g QmVmb3JlIHVzaW5nIHRoaXMgZmxhZywgcmVhZCBsaWJuZXRmaWx0ZXJfcXVldWUgZG9jdW1l bnRhdGlvbiBmb3IgcGVyZm9ybWFuY2UgdHVuaW5nIHJlY29tbWVuZGF0aW9uc1wmLgpUfQpU ewouc3AKZmFub3V0ClR9OlR7Ci5zcApEaXN0cmlidXRlIHBhY2tldHMgYmV0d2VlbiBzZXZl cmFsIHF1ZXVlc1wmLgpUfQouVEUKLnNwIDEKLlNTICJEVVAgU1RBVEVNRU5UIgouc3AKVGhl IGR1cCBzdGF0ZW1lbnQgaXMgdXNlZCB0byBkdXBsaWNhdGUgYSBwYWNrZXQgYW5kIHNlbmQg dGhlIGNvcHkgdG8gYSBkaWZmZXJlbnQgZGVzdGluYXRpb25cJi4KLnNwCi5pZiBuIFx7XAou UlMgNAouXH0KLm5mClxmQmR1cCB0b1xmUiBcZklkZXZpY2VcZlIKXGZCZHVwIHRvXGZSIFxm SWFkZHJlc3NcZlIgXGZCZGV2aWNlXGZSIFxmSWRldmljZVxmUgouZmkKLmlmIG4gXHtcCi5S RQouXH0KLnNwCi5pdCAxIGFuLXRyYXAKLm5yIGFuLW5vLXNwYWNlLWZsYWcgMQoubnIgYW4t YnJlYWstZmxhZyAxCi5icgouQiBUYWJsZVwgXCY3MS5cIFwmRHVwIHN0YXRlbWVudCB2YWx1 ZXMKLlRTCmFsbGJveCB0YWIoOik7Cmx0QiBsdEIgbHRCLgpUewpFeHByZXNzaW9uClR9OlR7 CkRlc2NyaXB0aW9uClR9OlR7ClR5cGUKVH0KLlQmCmx0IGx0IGx0Cmx0IGx0IGx0LgpUewou c3AKYWRkcmVzcwpUfTpUewouc3AKU3BlY2lmaWVzIHRoYXQgdGhlIGNvcHkgb2YgdGhlIHBh Y2tldCBzaG91bGQgYmUgc2VudCB0byBhIG5ldyBnYXRld2F5XCYuClR9OlR7Ci5zcAppcHY0 X2FkZHIsIGlwdjZfYWRkciwgZVwmLmdcJi4gYWJjZDo6MTIzNCwgb3IgeW91IGNhbiB1c2Ug YSBtYXBwaW5nLCBlXCYuZ1wmLiBpcCBzYWRkciBtYXAgeyAxOTJcJi4xNjhcJi4xXCYuMiA6 IDEwXCYuMVwmLjFcJi4xIH0KVH0KVHsKLnNwCmRldmljZQpUfTpUewouc3AKU3BlY2lmaWVz IHRoYXQgdGhlIGNvcHkgc2hvdWxkIGJlIHRyYW5zbWl0dGVkIHZpYSBkZXZpY2VcJi4KVH06 VHsKLnNwCnN0cmluZwpUfQouVEUKLnNwIDEKLlBQClxmQlVzaW5nIHRoZSBkdXAgc3RhdGVt ZW50XGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMgc2VuZCB0byBtYWNoaW5l IHdpdGggaXAgYWRkcmVzcyAxMFwmLjJcJi4zXCYuNCBvbiBldGgwCmlwIGZpbHRlciBmb3J3 YXJkIGR1cCB0byAxMFwmLjJcJi4zXCYuNCBkZXZpY2UgImV0aDAiCgojIGNvcHkgcmF3IGZy YW1lIHRvIGFub3RoZXIgaW50ZXJmYWNlCm5ldGRldHYgaW5ncmVzcyBkdXAgdG8gImV0aDAi CmR1cCB0byAiZXRoMCIKCiMgY29tYmluZSB3aXRoIG1hcCBkc3QgYWRkciB0byBnYXRld2F5 cwpkdXAgdG8gaXAgZGFkZHIgbWFwIHsgMTkyXCYuMTY4XCYuN1wmLjEgOiAiZXRoMCIsIDE5 MlwmLjE2OFwmLjdcJi4yIDogImV0aDEiIH0KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAou U1MgIkZXRCBTVEFURU1FTlQiCi5zcApUaGUgZndkIHN0YXRlbWVudCBpcyB1c2VkIHRvIHJl ZGlyZWN0IGEgcmF3IHBhY2tldCB0byBhbm90aGVyIGludGVyZmFjZVwmLiBJdCBpcyBvbmx5 IGF2YWlsYWJsZSBpbiB0aGUgbmV0ZGV2IGZhbWlseSBpbmdyZXNzIGhvb2tcJi4gSXQgaXMg c2ltaWxhciB0byB0aGUgZHVwIHN0YXRlbWVudCBleGNlcHQgdGhhdCBubyBjb3B5IGlzIG1h ZGVcJi4KLnNwClxmQmZ3ZCB0b1xmUiBcZklkZXZpY2VcZlIKLlNTICJTRVQgU1RBVEVNRU5U Igouc3AKVGhlIHNldCBzdGF0ZW1lbnQgaXMgdXNlZCB0byBkeW5hbWljYWxseSBhZGQgb3Ig dXBkYXRlIGVsZW1lbnRzIGluIGEgc2V0IGZyb20gdGhlIHBhY2tldCBwYXRoXCYuIFRoZSBz ZXQgc2V0bmFtZSBtdXN0IGFscmVhZHkgZXhpc3QgaW4gdGhlIGdpdmVuIHRhYmxlIGFuZCBt dXN0IGhhdmUgYmVlbiBjcmVhdGVkIHdpdGggb25lIG9yIGJvdGggb2YgdGhlIGR5bmFtaWMg YW5kIHRoZSB0aW1lb3V0IGZsYWdzXCYuIFRoZSBkeW5hbWljIGZsYWcgaXMgcmVxdWlyZWQg aWYgdGhlIHNldCBzdGF0ZW1lbnQgZXhwcmVzc2lvbiBpbmNsdWRlcyBhIHN0YXRlZnVsIG9i amVjdFwmLiBUaGUgdGltZW91dCBmbGFnIGlzIGltcGxpZWQgaWYgdGhlIHNldCBpcyBjcmVh dGVkIHdpdGggYSB0aW1lb3V0LCBhbmQgaXMgcmVxdWlyZWQgaWYgdGhlIHNldCBzdGF0ZW1l bnQgdXBkYXRlcyBlbGVtZW50cywgcmF0aGVyIHRoYW4gYWRkaW5nIHRoZW1cJi4gRnVydGhl cm1vcmUsIHRoZXNlIHNldHMgc2hvdWxkIHNwZWNpZnkgYm90aCBhIG1heGltdW0gc2V0IHNp emUgKHRvIHByZXZlbnQgbWVtb3J5IGV4aGF1c3Rpb24pLCBhbmQgdGhlaXIgZWxlbWVudHMg c2hvdWxkIGhhdmUgYSB0aW1lb3V0IChzbyB0aGVpciBudW1iZXIgd2lsbCBub3QgZ3JvdyBp bmRlZmluaXRlbHkpIGVpdGhlciBmcm9tIHRoZSBzZXQgZGVmaW5pdGlvbiBvciBmcm9tIHRo ZSBzdGF0ZW1lbnQgdGhhdCBhZGRzIG9yIHVwZGF0ZXMgdGhlbVwmLiBUaGUgc2V0IHN0YXRl bWVudCBjYW4gYmUgdXNlZCB0byBlXCYuZ1wmLiBjcmVhdGUgZHluYW1pYyBibGFja2xpc3Rz XCYuCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgp7XGZCYWRkXGZSIHwgXGZCdXBkYXRl XGZSfSBcZkJAXGZSXGZJc2V0bmFtZVxmUiBcZkJ7XGZSIFxmSWV4cHJlc3Npb25cZlIgW1xm QnRpbWVvdXRcZlIgXGZJdGltZW91dFxmUl0gW1xmQmNvbW1lbnRcZlIgXGZJc3RyaW5nXGZS XSBcZkJ9XGZSCi5maQouaWYgbiBce1wKLlJFCi5cfQouUFAKXGZCRXhhbXBsZSBmb3Igc2lt cGxlIGJsYWNrbGlzdFxmUi4gCi5zcAouaWYgbiBce1wKLlJTIDQKLlx9Ci5uZgojIGRlY2xh cmUgYSBzZXQsIGJvdW5kIHRvIHRhYmxlICJmaWx0ZXIiLCBpbiBmYW1pbHkgImlwIlwmLgoj IFRpbWVvdXQgYW5kIHNpemUgYXJlIG1hbmRhdG9yeSBiZWNhdXNlIHdlIHdpbGwgYWRkIGVs ZW1lbnRzIGZyb20gcGFja2V0IHBhdGhcJi4KIyBFbnRyaWVzIHdpbGwgdGltZW91dCBhZnRl ciBvbmUgbWludXRlLCBhZnRlciB3aGljaCB0aGV5IG1pZ2h0IGJlCiMgcmVcLWFkZGVkIGlm IGxpbWl0IGNvbmRpdGlvbiBwZXJzaXN0c1wmLgpuZnQgYWRkIHNldCBpcCBmaWx0ZXIgYmxh Y2tob2xlIFxlCiAgICAieyB0eXBlIGlwdjRfYWRkcjsgZmxhZ3MgZHluYW1pYzsgdGltZW91 dCAxbTsgc2l6ZSA2NTUzNjsgfSIKCiMgZGVjbGFyZSBhIHNldCB0byBzdG9yZSB0aGUgbGlt aXQgcGVyIHNhZGRyXCYuCiMgVGhpcyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gYmxhY2tob2xl IHNpbmNlIHRoZSB0aW1lb3V0IGlzIGRpZmZlcmVudApuZnQgYWRkIHNldCBpcCBmaWx0ZXIg Zmxvb2QgXGUKICAgICJ7IHR5cGUgaXB2NF9hZGRyOyBmbGFncyBkeW5hbWljOyB0aW1lb3V0 IDEwczsgc2l6ZSAxMjgwMDA7IH0iCgojIHdoaXRlbGlzdCBpbnRlcm5hbCBpbnRlcmZhY2Vc Ji4KbmZ0IGFkZCBydWxlIGlwIGZpbHRlciBpbnB1dCBtZXRhIGlpZm5hbWUgImludGVybmFs IiBhY2NlcHQKCiMgZHJvcCBwYWNrZXRzIGNvbWluZyBmcm9tIGJsYWNrbGlzdGVkIGlwIGFk ZHJlc3Nlc1wmLgpuZnQgYWRkIHJ1bGUgaXAgZmlsdGVyIGlucHV0IGlwIHNhZGRyIEBibGFj a2hvbGUgY291bnRlciBkcm9wCgojIGFkZCBzb3VyY2UgaXAgYWRkcmVzc2VzIHRvIHRoZSBi bGFja2xpc3QgaWYgbW9yZSB0aGFuIDEwIHRjcCBjb25uZWN0aW9uCiMgcmVxdWVzdHMgb2Nj dXJyZWQgcGVyIHNlY29uZCBhbmQgaXAgYWRkcmVzc1wmLgpuZnQgYWRkIHJ1bGUgaXAgZmls dGVyIGlucHV0IHRjcCBmbGFncyBzeW4gdGNwIGRwb3J0IHNzaCBcZQogICAgYWRkIEBmbG9v ZCB7IGlwIHNhZGRyIGxpbWl0IHJhdGUgb3ZlciAxMC9zZWNvbmQgfSBcZQogICAgYWRkIEBi bGFja2hvbGUgeyBpcCBzYWRkciB9IGRyb3AKCiMgaW5zcGVjdCBzdGF0ZSBvZiB0aGUgc2V0 c1wmLgpuZnQgbGlzdCBzZXQgaXAgZmlsdGVyIGZsb29kCm5mdCBsaXN0IHNldCBpcCBmaWx0 ZXIgYmxhY2tob2xlCgojIG1hbnVhbGx5IGFkZCB0d28gYWRkcmVzc2VzIHRvIHRoZSBibGFj a2hvbGVcJi4KbmZ0IGFkZCBlbGVtZW50IGZpbHRlciBibGFja2hvbGUgeyAxMFwmLjJcJi4z XCYuNCwgMTBcJi4yM1wmLjFcJi40MiB9Ci5maQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNT ICJNQVAgU1RBVEVNRU5UIgouc3AKVGhlIG1hcCBzdGF0ZW1lbnQgaXMgdXNlZCB0byBsb29r dXAgZGF0YSBiYXNlZCBvbiBzb21lIHNwZWNpZmljIGlucHV0IGtleVwmLgouc3AKLmlmIG4g XHtcCi5SUyA0Ci5cfQoubmYKXGZJZXhwcmVzc2lvblxmUiBcZkJtYXBcZlIgXGZCe1xmUiBc ZklNQVBfRUxFTUVOVFNcZlIgXGZCfVxmUgoKXGZJTUFQX0VMRU1FTlRTXGZSIDo9IFxmSU1B UF9FTEVNRU5UXGZSIFtcZkIsXGZSIFxmSU1BUF9FTEVNRU5UU1xmUl0KXGZJTUFQX0VMRU1F TlRcZlIgIDo9IFxmSWtleVxmUiBcZkI6XGZSIFxmSXZhbHVlXGZSCi5maQouaWYgbiBce1wK LlJFCi5cfQouc3AKVGhlIFxmSWtleVxmUiBpcyBhIHZhbHVlIHJldHVybmVkIGJ5IFxmSWV4 cHJlc3Npb25cZlJcJi4KLlBQClxmQlVzaW5nIHRoZSBtYXAgc3RhdGVtZW50XGZSLiAKLnNw Ci5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMgc2VsZWN0IEROQVQgdGFyZ2V0IGJhc2VkIG9u IFRDUCBkcG9ydDoKIyBjb25uZWN0aW9ucyB0byBwb3J0IDgwIGFyZSByZWRpcmVjdGVkIHRv IDE5MlwmLjE2OFwmLjFcJi4xMDAsCiMgY29ubmVjdGlvbnMgdG8gcG9ydCA4ODg4IGFyZSBy ZWRpcmVjdGVkIHRvIDE5MlwmLjE2OFwmLjFcJi4xMDEKbmZ0IGFkZCBydWxlIGlwIG5hdCBw cmVyb3V0aW5nIGRuYXQgdGNwIGRwb3J0IG1hcCB7IDgwIDogMTkyXCYuMTY4XCYuMVwmLjEw MCwgODg4OCA6IDE5MlwmLjE2OFwmLjFcJi4xMDEgfQoKIyBzb3VyY2UgYWRkcmVzcyBiYXNl ZCBTTkFUOgojIHBhY2tldHMgZnJvbSBuZXQgMTkyXCYuMTY4XCYuMVwmLjAvMjQgd2lsbCBh cHBlYXIgYXMgb3JpZ2luYXRpbmcgZnJvbSAxMFwmLjBcJi4wXCYuMSwKIyBwYWNrZXRzIGZy b20gbmV0IDE5MlwmLjE2OFwmLjJcJi4wLzI0IHdpbGwgYXBwZWFyIGFzIG9yaWdpbmF0aW5n IGZyb20gMTBcJi4wXCYuMFwmLjIKbmZ0IGFkZCBydWxlIGlwIG5hdCBwb3N0cm91dGluZyBz bmF0IHRvIGlwIHNhZGRyIG1hcCB7IDE5MlwmLjE2OFwmLjFcJi4wLzI0IDogMTBcJi4wXCYu MFwmLjEsIDE5MlwmLjE2OFwmLjJcJi4wLzI0IDogMTBcJi4wXCYuMFwmLjIgfQouZmkKLmlm IG4gXHtcCi5SRQouXH0KLnNwCi5TUyAiVk1BUCBTVEFURU1FTlQiCi5zcApUaGUgdmVyZGlj dCBtYXAgKHZtYXApIHN0YXRlbWVudCB3b3JrcyBhbmFsb2dvdXMgdG8gdGhlIG1hcCBzdGF0 ZW1lbnQsIGJ1dCBjb250YWlucyB2ZXJkaWN0cyBhcyB2YWx1ZXNcJi4KLnNwCi5pZiBuIFx7 XAouUlMgNAouXH0KLm5mClxmSWV4cHJlc3Npb25cZlIgXGZCdm1hcFxmUiBcZkJ7XGZSIFxm SVZNQVBfRUxFTUVOVFNcZlIgXGZCfVxmUgoKXGZJVk1BUF9FTEVNRU5UU1xmUiA6PSBcZklW TUFQX0VMRU1FTlRcZlIgW1xmQixcZlIgXGZJVk1BUF9FTEVNRU5UU1xmUl0KXGZJVk1BUF9F TEVNRU5UXGZSICA6PSBcZklrZXlcZlIgXGZCOlxmUiBcZkl2ZXJkaWN0XGZSCi5maQouaWYg biBce1wKLlJFCi5cfQouUFAKXGZCVXNpbmcgdGhlIHZtYXAgc3RhdGVtZW50XGZSLiAKLnNw Ci5pZiBuIFx7XAouUlMgNAouXH0KLm5mCiMganVtcCB0byBkaWZmZXJlbnQgY2hhaW5zIGRl cGVuZGluZyBvbiBsYXllciA0IHByb3RvY29sIHR5cGU6Cm5mdCBhZGQgcnVsZSBpcCBmaWx0 ZXIgaW5wdXQgaXAgcHJvdG9jb2wgdm1hcCB7IHRjcCA6IGp1bXAgdGNwXC1jaGFpbiwgdWRw IDoganVtcCB1ZHBcLWNoYWluICwgaWNtcCA6IGp1bXAgaWNtcFwtY2hhaW4gfQouZmkKLmlm IG4gXHtcCi5SRQouXH0KLnNwCi5TSCAiQURESVRJT05BTCBDT01NQU5EUyIKLnNwClRoZXNl IGFyZSBzb21lIGFkZGl0aW9uYWwgY29tbWFuZHMgaW5jbHVkZWQgaW4gbmZ0XCYuCi5TUyAi TU9OSVRPUiIKLnNwClRoZSBtb25pdG9yIGNvbW1hbmQgYWxsb3dzIHlvdSB0byBsaXN0ZW4g dG8gTmV0bGluayBldmVudHMgcHJvZHVjZWQgYnkgdGhlIG5mX3RhYmxlcyBzdWJzeXN0ZW0s IHJlbGF0ZWQgdG8gY3JlYXRpb24gYW5kIGRlbGV0aW9uIG9mIG9iamVjdHNcJi4gV2hlbiB0 aGV5IG9jY3VyLCBuZnQgd2lsbCBwcmludCB0byBzdGRvdXQgdGhlIG1vbml0b3JlZCBldmVu dHMgaW4gZWl0aGVyIEpTT04gb3IgbmF0aXZlIG5mdCBmb3JtYXRcJi4KLnNwClRvIGZpbHRl ciBldmVudHMgcmVsYXRlZCB0byBhIGNvbmNyZXRlIG9iamVjdCwgdXNlIG9uZSBvZiB0aGUg a2V5d29yZHMgXGZJdGFibGVzXGZSLCBcZkljaGFpbnNcZlIsIFxmSXNldHNcZlIsIFxmSXJ1 bGVzXGZSLCBcZkllbGVtZW50c1xmUiwgXGZJcnVsZXNldFxmUlwmLgouc3AKVG8gZmlsdGVy IGV2ZW50cyByZWxhdGVkIHRvIGEgY29uY3JldGUgYWN0aW9uLCB1c2Uga2V5d29yZCBcZklu ZXdcZlIgb3IgXGZJZGVzdHJveVxmUlwmLgouc3AKSGl0IF5DIHRvIGZpbmlzaCB0aGUgbW9u aXRvciBvcGVyYXRpb25cJi4KLlBQClxmQkxpc3RlbiB0byBhbGwgZXZlbnRzLCByZXBvcnQg aW4gbmF0aXZlIG5mdCBmb3JtYXRcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYK JSBuZnQgbW9uaXRvcgouZmkKLmlmIG4gXHtcCi5SRQouXH0KLlBQClxmQkxpc3RlbiB0byBk ZWxldGVkIHJ1bGVzLCByZXBvcnQgaW4gSlNPTiBmb3JtYXRcZlIuIAouc3AKLmlmIG4gXHtc Ci5SUyA0Ci5cfQoubmYKJSBuZnQgXC1qIG1vbml0b3IgZGVzdHJveSBydWxlcwouZmkKLmlm IG4gXHtcCi5SRQouXH0KLlBQClxmQkxpc3RlbiB0byBib3RoIG5ldyBhbmQgZGVzdHJveWVk IGNoYWlucywgaW4gbmF0aXZlIG5mdCBmb3JtYXRcZlIuIAouc3AKLmlmIG4gXHtcCi5SUyA0 Ci5cfQoubmYKJSBuZnQgbW9uaXRvciBjaGFpbnMKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5Q UApcZkJMaXN0ZW4gdG8gcnVsZXNldCBldmVudHMgc3VjaCBhcyB0YWJsZSwgY2hhaW4sIHJ1 bGUsIHNldCwgY291bnRlcnMgYW5kIHF1b3RhcywgaW4gbmF0aXZlIG5mdCBmb3JtYXRcZlIu IAouc3AKLmlmIG4gXHtcCi5SUyA0Ci5cfQoubmYKJSBuZnQgbW9uaXRvciBydWxlc2V0Ci5m aQouaWYgbiBce1wKLlJFCi5cfQouc3AKLlNIICJFUlJPUiBSRVBPUlRJTkciCi5zcApXaGVu IGFuIGVycm9yIGlzIGRldGVjdGVkLCBuZnQgc2hvd3MgdGhlIGxpbmUocykgY29udGFpbmlu ZyB0aGUgZXJyb3IsIHRoZSBwb3NpdGlvbiBvZiB0aGUgZXJyb25lb3VzIHBhcnRzIGluIHRo ZSBpbnB1dCBzdHJlYW0gYW5kIG1hcmtzIHVwIHRoZSBlcnJvbmVvdXMgcGFydHMgdXNpbmcg Y2FyZXRzICheKVwmLiBJZiB0aGUgZXJyb3IgcmVzdWx0cyBmcm9tIHRoZSBjb21iaW5hdGlv biBvZiB0d28gZXhwcmVzc2lvbnMgb3Igc3RhdGVtZW50cywgdGhlIHBhcnQgaW1wb3Npbmcg dGhlIGNvbnN0cmFpbnRzIHdoaWNoIGFyZSB2aW9sYXRlZCBpcyBtYXJrZWQgdXNpbmcgdGls ZGVzICh+KVwmLgouc3AKRm9yIGVycm9ycyByZXR1cm5lZCBieSB0aGUga2VybmVsLCBuZnQg Y2Fubm90IGRldGVjdCB3aGljaCBwYXJ0cyBvZiB0aGUgaW5wdXQgY2F1c2VkIHRoZSBlcnJv ciBhbmQgdGhlIGVudGlyZSBjb21tYW5kIGlzIG1hcmtlZFwmLgouUFAKXGZCRXJyb3IgY2F1 c2VkIGJ5IHNpbmdsZSBpbmNvcnJlY3QgZXhwcmVzc2lvblxmUi4gCi5zcAouaWYgbiBce1wK LlJTIDQKLlx9Ci5uZgo8Y21kbGluZT46MToxOVwtMjI6IEVycm9yOiBJbnRlcmZhY2UgZG9l cyBub3QgZXhpc3QKZmlsdGVyIG91dHB1dCBvaWYgZXRoMAogICAgICAgICAgICAgICAgICBe Xl5eCi5maQouaWYgbiBce1wKLlJFCi5cfQouUFAKXGZCRXJyb3IgY2F1c2VkIGJ5IGludmFs aWQgY29tYmluYXRpb24gb2YgdHdvIGV4cHJlc3Npb25zXGZSLiAKLnNwCi5pZiBuIFx7XAou UlMgNAouXH0KLm5mCjxjbWRsaW5lPjoxOjI4XC0zNjogRXJyb3I6IFJpZ2h0IGhhbmQgc2lk ZSBvZiByZWxhdGlvbmFsIGV4cHJlc3Npb24gKD09KSBtdXN0IGJlIGNvbnN0YW50CmZpbHRl ciBvdXRwdXQgdGNwIGRwb3J0ID09IHRjcCBkcG9ydAogICAgICAgICAgICAgICAgICAgICAg ICB+fiBeXl5eXl5eXl4KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5QUApcZkJFcnJvciByZXR1 cm5lZCBieSB0aGUga2VybmVsXGZSLiAKLnNwCi5pZiBuIFx7XAouUlMgNAouXH0KLm5mCjxj bWRsaW5lPjowOjBcLTIzOiBFcnJvcjogQ291bGQgbm90IHByb2Nlc3MgcnVsZTogT3BlcmF0 aW9uIG5vdCBwZXJtaXR0ZWQKZmlsdGVyIG91dHB1dCBvaWYgd2xhbjAKXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl4KLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcAouU0ggIkVYSVQgU1RBVFVT Igouc3AKT24gc3VjY2VzcywgbmZ0IGV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMFwmLiBVbnNw ZWNpZmllZCBlcnJvcnMgY2F1c2UgaXQgdG8gZXhpdCB3aXRoIGEgc3RhdHVzIG9mIDEsIG1l bW9yeSBhbGxvY2F0aW9uIGVycm9ycyB3aXRoIGEgc3RhdHVzIG9mIDIsIHVuYWJsZSB0byBv cGVuIE5ldGxpbmsgc29ja2V0IHdpdGggM1wmLgouU0ggIlNFRSBBTFNPIgouc3AKLmlmIG4g XHtcCi5SUyA0Ci5cfQoubmYKbGlibmZ0YWJsZXMoMyksIGxpYm5mdGFibGVzXC1qc29uKDUp LCBpcHRhYmxlcyg4KSwgaXA2dGFibGVzKDgpLCBhcnB0YWJsZXMoOCksIGVidGFibGVzKDgp LCBpcCg4KSwgdGMoOCkKLmZpCi5pZiBuIFx7XAouUkUKLlx9Ci5zcApUaGVyZSBpcyBhbiBv ZmZpY2lhbCB3aWtpIGF0OiBodHRwczovL3dpa2lcJi5uZnRhYmxlc1wmLm9yZwouU0ggIkFV VEhPUlMiCi5zcApuZnRhYmxlcyB3YXMgd3JpdHRlbiBieSBQYXRyaWNrIE1jSGFyZHkgYW5k IFBhYmxvIE5laXJhIEF5dXNvLCBhbW9uZyBtYW55IG90aGVyIGNvbnRyaWJ1dG9ycyBmcm9t IHRoZSBOZXRmaWx0ZXIgY29tbXVuaXR5XCYuCi5TSCAiQ09QWVJJR0hUIgouc3AKQ29weXJp Z2h0IFwoY28gMjAwOFwtMjAxNCBQYXRyaWNrIE1jSGFyZHkgPGthYmVyQHRyYXNoXCYubmV0 PiBDb3B5cmlnaHQgXChjbyAyMDEzXC0yMDE4IFBhYmxvIE5laXJhIEF5dXNvIDxwYWJsb0Bu ZXRmaWx0ZXJcJi5vcmc+Ci5zcApuZnRhYmxlcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uXCYuCi5zcApUaGlzIGRvY3VtZW50YXRp b24gaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDcmVhdGl2ZSBDb21tb25z IEF0dHJpYnV0aW9uXC1TaGFyZUFsaWtlIDRcJi4wIGxpY2Vuc2UsIENDIEJZXC1TQSA0XCYu MCBodHRwOi8vY3JlYXRpdmVjb21tb25zXCYub3JnL2xpY2Vuc2VzL2J5XC1zYS80XCYuMC9c Ji4K --------------87631BA5FD91D649B46242DF-- -- To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv