From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org Tue Jul 21 21:30:01 2015 Return-Path: X-Original-To: sc22wg5-dom8 Delivered-To: sc22wg5-dom8@www.open-std.org Received: by www.open-std.org (Postfix, from userid 521) id EDA503586E6; Tue, 21 Jul 2015 21:30:00 +0200 (CEST) Delivered-To: sc22wg5@open-std.org Received: from out.ipsmtp1nec.opaltelecom.net (out.ipsmtp1nec.opaltelecom.net [62.24.202.73]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by www.open-std.org (Postfix) with ESMTP id 194BB357225 for ; Tue, 21 Jul 2015 21:29:53 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CXAQBtnK5V/8p3L1ANT4QUPKsTmwwBAQEBAQGFTwEIMCU9FgsCBAcDAgECAUsKAwYCAr0xcJFMhGYBAQgCAR+PZSSDOIFDBYcOhSqFI4J4gjaBV4NIhFWBQ4QcgxCMPoNhgjMcgVRugQUIgT4BAQE X-IPAS-Result: A2CXAQBtnK5V/8p3L1ANT4QUPKsTmwwBAQEBAQGFTwEIMCU9FgsCBAcDAgECAUsKAwYCAr0xcJFMhGYBAQgCAR+PZSSDOIFDBYcOhSqFI4J4gjaBV4NIhFWBQ4QcgxCMPoNhgjMcgVRugQUIgT4BAQE X-IronPort-AV: E=Sophos;i="5.15,518,1432594800"; d="txt'?scan'208";a="694676051" Received: from host-80-47-119-202.as13285.net (HELO [192.168.1.4]) ([80.47.119.202]) by out.ipsmtp1nec.opaltelecom.net with ESMTP; 21 Jul 2015 20:29:51 +0100 Message-ID: <55AE9DAE.6030604@stfc.ac.uk> Date: Tue, 21 Jul 2015 20:29:50 +0100 From: John Reid User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33.1 MIME-Version: 1.0 To: WG5 Subject: Interps for WG5 vote Content-Type: multipart/mixed; boundary="------------000900070902070301030108" Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multi-part message in MIME format. --------------000900070902070301030108 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit WG5, With the completion of the recent J3 interps ballot, it is time to have another WG5 ballot, see attached papers. I am expecting that these will be the last iterps to get into a corrigendum for F2008. Cheers, John. --------------000900070902070301030108 Content-Type: text/plain; charset=UTF-8; name="N2061.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="N2061.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPL0lFQyBK VEMxL1NDMjIvV0c1IE4yMDYxCgogICAgICAgICAgV0c1IHN0cmF3IGJhbGxvdCA5IG9uIEZv cnRyYW4gMjAwOCBpbnRlcnByZXRhdGlvbnMKICAgICAgICAgICAgICAgICAgICAgIEpvaG4g UmVpZCwgMjEgSnVseSAyMDE1CgpUaGlzIGlzIHRoZSBuaW50aCBXRzUgdm90ZSBvbiBhIHNl dCBvZiBkcmFmdCBpbnRlcnByZXRhdGlvbnMgZm9yIEZvcnRyYW4gCjIwMDguIFRoZXkgaGF2 ZSBhbGwgYmVlbiBhcHByb3ZlZCBpbiBhIEozIGxldHRlciBiYWxsb3QuICAKClRoZSBydWxl cyB3ZSBvcGVyYXRlIG9uIHNheToKLS0tIC0tLQo0LiBUaGUgY2hhaXIgb2YgSjMvaW50ZXJw IGdhdGhlcnMgYWxsIGludGVycCBhbnN3ZXJzIHRoYXQgYXJlIG1hcmtlZAogICAicGFzc2Vk IGJ5IEozIGxldHRlciBiYWxsb3QiIGFuZCBmb3J3YXJkcyB0aGVtIHRvIHRoZSBXRzUgY29u dmVub3IuCiAgIFRoZSBXRzUgY29udmVub3IgaG9sZHMgYSBiYWxsb3Qgb2YgaW5kaXZpZHVh bCBtZW1iZXJzOyBhIG5vIHZvdGUKICAgbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhbiBleHBs YW5hdGlvbiBvZiB0aGUgY2hhbmdlcyBuZWNlc3NhcnkgdG8KICAgY2hhbmdlIHRoZSBtZW1i ZXIncyB2b3RlIHRvIHllcy4gVGhlIGFuc3dlcnMgdGhhdCBwYXNzIHRoaXMgYmFsbG90CiAg IGJlY29tZSAiV0c1IGFwcHJvdmVkIi4KCiAgIEozL2ludGVycCByZXNlcnZlcyB0aGUgcmln aHQgdG8gcmVjYWxsIGFuIGludGVycCBhbnN3ZXIgZm9yIG1vcmUKICAgc3R1ZHkgZXZlbiBp ZiB0aGUgYW5zd2VyIHBhc3Nlcy4KCjUuICJXRzUgYXBwcm92ZWQiIGFuc3dlcnMgYXJlIHBy b2Nlc3NlZCBpbnRvIGEgY29ycmlnZW5kdW0gZG9jdW1lbnQgYnkKICAgdGFraW5nIHRoZSBl ZGl0cyBmcm9tIHRoZSBpbnRlcnAgYW5zd2VycyBhbmQgcHV0dGluZyB0aGVtIGluIHRoZQog ICBmb3JtYXQgcmVxdWlyZWQgYnkgSVNPLiAgQSBXRzUgdm90ZSBpcyBtYWRlIG9uIGZvcndh cmRpbmcgdGhlCiAgIGNvcnJpZ2VuZHVtIHRvIFNDMjIuCgpUaGUgZm9sbG93aW5nIEZvcnRy YW4gMjAwOCBpbnRlcnByZXRhdGlvbnMgYXJlIGJlaW5nIGJhbGxvdGVkOgoKWWVzICBObyAg IE51bWJlciAgICAgVGl0bGUKLS0tICAtLS0gRjA4LzAxMDUgICBJcyB0aGUgQVNZTkNIUk9O T1VTIGF0dHJpYnV0ZSBhbGxvd2VkIHdpdGggdGhlCiAgICAgICAgICAgICAgICAgICAgVkFM VUUgYXR0cmlidXRlPwotLS0gIC0tLSBGMDgvMDExMCAgIEludGVyZGVwZW5kZW5jZSBvZiBz cGVjaWZpZXIgdmFsdWVzIGluIGlucHV0L291dHB1dAogICAgICAgICAgICAgICAgICAgIHN0 YXRlbWVudHMKLS0tICAtLS0gRjA4LzAxMTUgICBBU1lOQ0hST05PVVMgYW5kIGFyZ3VtZW50 IHBhc3NpbmcKLS0tICAtLS0gRjA4LzAxMTYgICBJbnRlcm9wZXJhYmxlIHByb2NlZHVyZXMK LS0tICAtLS0gRjA4LzAxMTcgICBUQVJHRVQgYW5kIGNvaW5kZXhlZCBhcmd1bWVudHMKLS0t ICAtLS0gRjA4LzAxMTggICBTdWJvYmplY3Qgb2YgdmFyaWFibGUgaW4gdmFyaWFibGUgZGVm aW5pdGlvbiBjb250ZXh0Ci0tLSAgLS0tIEYwOC8wMTE5ICAgQnJhbmNoaW5nIHRvIEVORCBC TE9DSyBhbmQgRU5EIENSSVRJQ0FMCi0tLSAgLS0tIEYwOC8wMTIwICAgSXMgdGhlIG5hbWUg b2YgYSBwcm9jZWR1cmUgcG9pbnRlciBhIGxvY2FsIGlkZW50aWZpZXI/Ci0tLSAgLS0tIEYw OC8wMTIxICAgQWRkIHRvIGludHJvZHVjdGlvbiBkZWZpbmVkIG9wZXJhdGlvbnMgaW4gc3Bl Y2lmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgZXhwcnMKLS0tICAtLS0gRjA4LzAxMjIg ICBUeXBlcyB3aXRoIGNvYXJyYXkgY29tcG9uZW50cwotLS0gIC0tLSBGMDgvMDEyMyAgIFNQ QUNJTkcgaW50cmluc2ljCi0tLSAgLS0tIEYwOC8wMTI0ICAgQ29pbmRleGVkIG9iamVjdCB3 aXRoIHBvbHltb3JwaGljIHN1YmNvbXBvbmVudAotLS0gIC0tLSBGMDgvMDEyNiAgQ2FuIGNv Ym91bmRzIGJlIHJlZmVyZW5jZWQgaW4gdGhlIHNhbWUgdHlwZQogICAgICAgICAgICAgICAg ICBkZWNsYXJhdGlvbj8KLS0tICAtLS0gRjA4LzAxMjcgIE1heSBhbiBpbml0aWFsIGxpbmUg YmVnaW4gd2l0aCBhIHNlbWljb2xvbj8KLS0tICAtLS0gRjA4LzAxMjkgIElzIENMQVNTKHR5 cGUpIHJlcXVpcmVkIHRvIHJlZmVyIHRvIGEgcHJpb3IgdHlwZQogICAgICAgICAgICAgICAg ICBkZWZpbml0aW9uPwotLS0gIC0tLSBGMDgvMDEzMCAgRG9lcyBjb2FycmF5IGFsbG9jYXRp b24gc3luYyBldmVuIHdpdGggc3RvcHBlZAogICAgICAgICAgICAgICAgICBpbWFnZXM/Ci0t LSAgLS0tIEYwOC8wMTMxICBBcmUgdGhlIGNoYW5nZXMgdG8gQ19MT0MgaW4gdGhlIDIwMTAg cmV2aXNpb24KICAgICAgICAgICAgICAgICAgaW50ZW50aW9uYWw/Ci0tLSAgLS0tIEYwOC8w MTMyICBDYW4gYSBwcm9jZWR1cmUgcG9pbnRlciBiZSBkZWNsYXJlZCB3aXRoIGFuCiAgICAg ICAgICAgICAgICAgIGludGVyZmFjZSBibG9jaz8KLS0tICAtLS0gRjA4LzAxMzMgIElzIHVu YWxsb2NhdGVkIGFjdHVhbCBhc3NvY2lhdGVkIHdpdGgKICAgICAgICAgICAgICAgICAgbm9u YWxsb2NhdGFibGUgZHVtbXkgT0s/Ci0tLSAgLS0tIEYwOC8wMTM0ICA8c3RhdC12YXJpYWJs ZT4gaW4gYW4gaW1hZ2UgY29udHJvbCBzdGF0ZW1lbnQKLS0tICAtLS0gRjA4LzAxMzUgIFZl Y3RvciBzdWJzY3JpcHRlZCBhY3R1YWwgbWFrZXMgVkFMVUUgZHVtbXkKICAgICAgICAgICAg ICAgICAgdW5kZWZpbmFibGU/Ci0tLSAgLS0tIEYwOC8wMTM2ICBBcmd1bWVudCBjb3JyZXNw b25kZW5jZSB3aXRoIFZBTFVFIGFuZAogICAgICAgICAgICAgICAgICBBU1lOQ0hST05PVVMK LS0tICAtLS0gRjA4LzAxMzcgIFJlc3VsdCBvZiBUUkFOU0ZFUiB3aGVuIE1PTEQgaXMgYW4g YXJyYXkgd2l0aAogICAgICAgICAgICAgICAgICBlbGVtZW50IHNpemUgemVybwpUaGUgdGV4 dCBvZiB0aGVzZSBpbnRlcnByZXRhdGlvbnMgaXMgaW4gTjIwNjIuICBFYWNoIGludGVycHJl dGF0aW9uIHN0YXJ0cyAKdGhlcmUgd2l0aCBhIHJvdyBvZiAiLSJzLgoKUGxlYXNlIG1hcmsg dGhlIGFib3ZlIC1ZLSBpbiB0aGUgWWVzIGNvbHVtbiBmb3IgInllcyIsIC1DLSBpbiB0aGUg WWVzCmNvbHVtbiBmb3IgInllcyB3aXRoIGNvbW1lbnQiLCBvciAtTi0gaW4gdGhlIE5vIGNv bHVtbiBmb3IgYSAibm8iCmFuc3dlciB7YmUgc3VyZSB0byBpbmNsdWRlIHlvdXIgcmVhc29u cyB3aXRoICJubyJ9IGFuZCBzZW5kIHRvCgogICAgICAgIHNjMjJ3ZzVAb3Blbi1zdGQub3Jn CgpieSAwOTAwIFVLIHRpbWUgb24gTW9uZGF5LCAyNCBBdWd1c3QgMjAxNSwgaW4gb3JkZXIg dG8gYmUgY291bnRlZC4KClRoYW5rcywKCkpvaG4uICAgICAgICAgICAgICAgICAgICAgICAg IAo= --------------000900070902070301030108 Content-Type: text/plain; charset=UTF-8; name="N2062.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="N2062.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPL0lFQyBK VEMxL1NDMjIvV0c1IE4yMDYyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICANCiAgICAgIEZvcnRyYW4gSW50ZXJwcmV0YXRpb25zIHdhaXRpbmcgZm9y IFdHNSBiYWxsb3QsIEp1bHkgMjAsIDIwMTUNCg0KICAgICAgICAgICAgICAgICAgU3RhbiBX aGl0bG9jayBmb3IgL2ludGVycA0KDQpba2VlcCB0aGlzIHRleHQgZG9jdW1lbnQgdG8gNzUg Y2hhcmFjdGVycyBwZXIgbGluZV0gLi4uLi4uLi4uLi4uLi4uLi4uLi40DQoNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClBhcnQgMDogU3VtbWFyeSBTdGF0dXMgb2YgdGhlc2UgRm9ydHJhbiBJbnRl cnByZXRhdGlvbnMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KTm90ZSBOOg0KICAgICBkID09IGRv bmUge2lmIFMgPSBDKiB8IFQqLCB0aGVuIGRvbmUgaXMgYXNzdW1lZH0NCiAgICAgKiA9PSBh Y3RpdmUNCg0KU3RhdHVzIFM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmZWN0 IFR5cGUgVDoNCiAgICAgICBQID09IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MgICAg ICAgICAgIEMgPT0gQ2xhcmlmaWNhdGlvbg0KICAgICAgIE0gICAgUGFzc2VkIGJ5IEozIG1l ZXRpbmcgICAgICAgICAgICAgICAgICAgRSAgICBFcnJhdHVtDQogICAgICAgQiAgICBQYXNz ZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAgICAgICAgICAgICBJICAgIEludGVycHJldGF0aW9u DQogICAgICAgVyAgICBQYXNzZWQgYnkgV0c1IGJhbGxvdA0KICAgICAgIFggICAgRXhjbHVk ZWQgZm9yIHRoZSByZWFzb25zIGdpdmVuDQogICAgICAgQzEgICBJbiBGMjAwOCBDb3JyaWdl bmR1bSAxDQogICAgICAgQzIgICBJbiBGMjAwOCBDb3JyaWdlbmR1bSAyDQogICAgICAgQzMg ICBJbiBGMjAwOCBDb3JyaWdlbmR1bSAzDQoNCk4gIFMgVCBudW1iZXIgICAgIHRpdGxlDQot ICAtIC0gLS0tLS0tICAgICAtLS0tLQ0KDQoqICBCIEkgRjA4LzAxMDUgICBJcyB0aGUgQVNZ TkNIUk9OT1VTIGF0dHJpYnV0ZSBhbGxvd2VkIHdpdGggdGhlDQogICAgICAgICAgICAgICAg ICAgIFZBTFVFIGF0dHJpYnV0ZT8NCiogIEIgRSBGMDgvMDExMCAgIEludGVyZGVwZW5kZW5j ZSBvZiBzcGVjaWZpZXIgdmFsdWVzIGluIGlucHV0L291dHB1dA0KICAgICAgICAgICAgICAg ICAgICBzdGF0ZW1lbnRzDQoqICBCIEUgRjA4LzAxMTUgICBBU1lOQ0hST05PVVMgYW5kIGFy Z3VtZW50IHBhc3NpbmcNCiogIEIgRSBGMDgvMDExNiAgIEludGVyb3BlcmFibGUgcHJvY2Vk dXJlcw0KKiAgQiBFIEYwOC8wMTE3ICAgVEFSR0VUIGFuZCBjb2luZGV4ZWQgYXJndW1lbnRz DQoqICBCIEUgRjA4LzAxMTggICBTdWJvYmplY3Qgb2YgdmFyaWFibGUgaW4gdmFyaWFibGUg ZGVmaW5pdGlvbiBjb250ZXh0DQoqICBCIEUgRjA4LzAxMTkgICBCcmFuY2hpbmcgdG8gRU5E IEJMT0NLIGFuZCBFTkQgQ1JJVElDQUwNCiogIEIgRSBGMDgvMDEyMCAgIElzIHRoZSBuYW1l IG9mIGEgcHJvY2VkdXJlIHBvaW50ZXIgYSBsb2NhbCBpZGVudGlmaWVyPw0KKiAgQiBFIEYw OC8wMTIxICAgQWRkIHRvIGludHJvZHVjdGlvbiBkZWZpbmVkIG9wZXJhdGlvbnMgaW4gc3Bl Y2lmaWNhdGlvbg0KICAgICAgICAgICAgICAgICAgIGV4cHJzDQoqICBCIEUgRjA4LzAxMjIg ICBUeXBlcyB3aXRoIGNvYXJyYXkgY29tcG9uZW50cw0KKiAgQiBFIEYwOC8wMTIzICAgU1BB Q0lORyBpbnRyaW5zaWMNCiogIEIgRSBGMDgvMDEyNCAgIENvaW5kZXhlZCBvYmplY3Qgd2l0 aCBwb2x5bW9ycGhpYyBzdWJjb21wb25lbnQNCiogIEIgRSBGMDgvMDEyNiAgQ2FuIGNvYm91 bmRzIGJlIHJlZmVyZW5jZWQgaW4gdGhlIHNhbWUgdHlwZQ0KICAgICAgICAgICAgICAgICAg ZGVjbGFyYXRpb24/DQoqICBCIEUgRjA4LzAxMjcgIE1heSBhbiBpbml0aWFsIGxpbmUgYmVn aW4gd2l0aCBhIHNlbWljb2xvbj8NCiogIEIgRSBGMDgvMDEyOSAgSXMgQ0xBU1ModHlwZSkg cmVxdWlyZWQgdG8gcmVmZXIgdG8gYSBwcmlvciB0eXBlDQogICAgICAgICAgICAgICAgICBk ZWZpbml0aW9uPw0KKiAgQiBFIEYwOC8wMTMwICBEb2VzIGNvYXJyYXkgYWxsb2NhdGlvbiBz eW5jIGV2ZW4gd2l0aCBzdG9wcGVkDQogICAgICAgICAgICAgICAgICBpbWFnZXM/DQoqICBC IEUgRjA4LzAxMzEgIEFyZSB0aGUgY2hhbmdlcyB0byBDX0xPQyBpbiB0aGUgMjAxMCByZXZp c2lvbg0KICAgICAgICAgICAgICAgICAgaW50ZW50aW9uYWw/DQoqICBCIEUgRjA4LzAxMzIg IENhbiBhIHByb2NlZHVyZSBwb2ludGVyIGJlIGRlY2xhcmVkIHdpdGggYW4NCiAgICAgICAg ICAgICAgICAgIGludGVyZmFjZSBibG9jaz8NCiogIEIgRSBGMDgvMDEzMyAgSXMgdW5hbGxv Y2F0ZWQgYWN0dWFsIGFzc29jaWF0ZWQgd2l0aA0KICAgICAgICAgICAgICAgICAgbm9uYWxs b2NhdGFibGUgZHVtbXkgT0s/DQoqICBCIEUgRjA4LzAxMzQgIDxzdGF0LXZhcmlhYmxlPiBp biBhbiBpbWFnZSBjb250cm9sIHN0YXRlbWVudA0KKiAgQiBFIEYwOC8wMTM1ICBWZWN0b3Ig c3Vic2NyaXB0ZWQgYWN0dWFsIG1ha2VzIFZBTFVFIGR1bW15DQogICAgICAgICAgICAgICAg ICB1bmRlZmluYWJsZT8NCiogIEIgRSBGMDgvMDEzNiAgQXJndW1lbnQgY29ycmVzcG9uZGVu Y2Ugd2l0aCBWQUxVRSBhbmQNCiAgICAgICAgICAgICAgICAgIEFTWU5DSFJPTk9VUw0KKiAg QiBFIEYwOC8wMTM3ICBSZXN1bHQgb2YgVFJBTlNGRVIgd2hlbiBNT0xEIGlzIGFuIGFycmF5 IHdpdGgNCiAgICAgICAgICAgICAgICAgIGVsZW1lbnQgc2l6ZSB6ZXJvDQoNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClBhcnQgMTogSW50ZXJwcmV0YXRpb24gUHJvY2Vzc2luZyBSdWxlcw0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KDQo0LiBUaGUgY2hhaXIgb2YgSjMvaW50ZXJwIGdhdGhlcnMgYWxs IGludGVycCBhbnN3ZXJzIHRoYXQgYXJlIG1hcmtlZA0KICAgInBhc3NlZCBieSBKMyBsZXR0 ZXIgYmFsbG90IiBhbmQgZm9yd2FyZHMgdGhlbSB0byB0aGUgV0c1DQogICBjb252ZW5vci4g IFRoZSBXRzUgY29udmVub3IgaG9sZHMgYSBiYWxsb3Qgb2YgaW5kaXZpZHVhbCBtZW1iZXJz Ow0KICAgYSBubyB2b3RlIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYW4gZXhwbGFuYXRpb24g b2YgdGhlIGNoYW5nZXMNCiAgIG5lY2Vzc2FyeSB0byBjaGFuZ2UgdGhlIG1lbWJlcidzIHZv dGUgdG8geWVzLiAgVGhlIGFuc3dlcnMgdGhhdA0KICAgcGFzcyB0aGlzIGJhbGxvdCBiZWNv bWUgIldHNSBhcHByb3ZlZCIuDQoNCiAgIEozL2ludGVycCByZXNlcnZlcyB0aGUgcmlnaHQg dG8gcmVjYWxsIGFuIGludGVycCBhbnN3ZXIgZm9yIG1vcmUNCiAgIHN0dWR5IGV2ZW4gaWYg dGhlIGFuc3dlciBwYXNzZXMuDQoNCjUuICJXRzUgYXBwcm92ZWQiIGFuc3dlcnMgYXJlIHBy b2Nlc3NlZCBpbnRvIGEgY29ycmlnZW5kdW0gZG9jdW1lbnQNCiAgIGJ5IHRha2luZyB0aGUg ZWRpdHMgZnJvbSB0aGUgaW50ZXJwIGFuc3dlcnMgYW5kIHB1dHRpbmcgdGhlbSBpbg0KICAg dGhlIGZvcm1hdCByZXF1aXJlZCBieSBJU08uICBBIFdHNSB2b3RlIGlzIG1hZGUgb24gZm9y d2FyZGluZyB0aGUNCiAgIGNvcnJpZ2VuZHVtIHRvIFNDMjIuICBJbnRlcnBzIHNvIGZvcndh cmRlZCBhcmUgbWFya2VkDQogICAiQ29ycmlnZW5kdW0iLg0KDQo2LiBKMy9pbnRlcnAgY3Jl YXRlcyBhIGVkaXQgZm9yIHRoZSBuZXh0IEZvcnRyYW4gU3RhbmRhcmQgaWYgb25lIGlzDQog ICBuZWVkZWQgZm9yIGFsbCBpbnRlcnBzIG1hcmtlZCAiQ29ycmlnZW5kdW0iLg0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMDUNClRJVExFOiBJcyB0aGUgQVNZTkNI Uk9OT1VTIGF0dHJpYnV0ZSBhbGxvd2VkIHdpdGggdGhlIFZBTFVFIGF0dHJpYnV0ZT8NCktF WVdPUkRTOiBBU1lOQ0hST05PVVMsIFZBTFVFDQpERUZFQ1QgVFlQRTogSW50ZXJwcmV0YXRp b24NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoN CkluIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgVkFMVUUgYXR0cmlidXRlLCBbMTAxOjIzLTI0 XSBzZWN0aW9uDQo1LjMuMThwMSwgY29uc3RyYWludCBDNTU4IGRpc2FsbG93cyB0aGUgVk9M QVRJTEUgYXR0cmlidXRlIHdpdGggdGhlDQpWQUxVRSBhdHRyaWJ1dGU6DQoNCiAgIkM1NTgg QW4gZW50aXR5IHdpdGggdGhlIFZBTFVFIGF0dHJpYnV0ZSBzaGFsbCBub3QgaGF2ZSB0aGUN CiAgICAgICAgQUxMT0NBVEFCTEUsIElOVEVOVCAoSU5PVVQpLCBJTlRFTlQgKE9VVCksIFBP SU5URVIsIG9yDQogICAgICAgIFZPTEFUSUxFIGF0dHJpYnV0ZXMuIg0KDQpCdXQgdGhlcmUg aXMgbm8gcHJvaGliaXRpb24gb2YgdGhlIEFTWU5DSFJPTk9VUyBhdHRyaWJ1dGUgd2l0aCB0 aGUNClZBTFVFIGF0dHJpYnV0ZS4gIFNob3VsZCB0aGlzIGNvbWJpbmF0aW9uIGFsc28gYmUg ZGlzYWxsb3dlZD8NCg0KQU5TV0VSOg0KDQpObywgdGhlIGNvbWJpbmF0aW9uIG9mIFZBTFVF IGFuZCBBU1lOQ0hST05PVVMgYXR0cmlidXRlcyBzaG91bGQgbm90IGJlDQpkaXNhbGxvd2Vk LiAgVGhhdCBpcywgdGhlIGNvbWJpbmF0aW9uIG9mIFZBTFVFIGFuZCBBU1lOQ0hST05PVVMN CmF0dHJpYnV0ZXMgc2hvdWxkIGNvbnRpbnVlIHRvIGJlIGFsbG93ZWQuDQoNCkEgZHVtbXkg YXJndW1lbnQgd2l0aCB0aGUgVkFMVUUgYXR0cmlidXRlIGlzIG5vdCBhcmd1bWVudCBhc3Nv Y2lhdGVkDQp3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGFjdHVhbCBhcmd1bWVudC4gIFJhdGhl ciwgaXQgaXMgYXNzb2NpYXRlZCB3aXRoDQphbiBhbm9ueW1vdXMgZGF0YSBvYmplY3Qgd2hv c2UgdmFsdWUgaXMgY29waWVkIGZyb20gdGhlIGFjdHVhbA0KYXJndW1lbnQgYmVmb3JlIGV4 ZWN1dGlvbiBvZiB0aGUgZXhlY3V0YWJsZSBjb25zdHJ1Y3RzIG9mIHRoZQ0Kc3VicHJvZ3Jh bSBjb21tZW5jZXMsIGFuZCBiZWZvcmUgZXhwcmVzc2lvbnMgaW4gdGhlIHNwZWNpZmljYXRp b24gcGFydA0KYXJlIGV2YWx1YXRlZC4gIFRoZXJlZm9yZSwgaXQgY2FuIHN1Y2Nlc3NmdWxs eSB0YWtlIHBhcnQgaW4NCmFzeW5jaHJvbm91cyBvcGVyYXRpb25zIHRoYXQgYm90aCBzdGFy dCBhbmQgY29tcGxldGUgd2l0aGluIHRoYXQNCnByb2NlZHVyZSBjYWxsLCBpbmRlcGVuZGVu dGx5IG9mIHdoZXRoZXIgdGhlIGNvcnJlc3BvbmRpbmcgYWN0dWFsDQphcmd1bWVudCBoYXMg b3IgaGFzIG5vdCB0aGUgQVNZTkNIUk9OT1VTIGF0dHJpYnV0ZS4NCg0KVGhlcmUgaXMgbm8g cHJvYmxlbSBpZiBhIGR1bW15IGFyZ3VtZW50IGhhcyB0aGUgVkFMVUUgYXR0cmlidXRlIGFu ZA0KdGhlIGNvcnJlc3BvbmRpbmcgYWN0dWFsIGFyZ3VtZW50IGhhcyB0aGUgQVNZTkNIUk9O T1VTIGF0dHJpYnV0ZSwNCmluZGVwZW5kZW50bHkgb2Ygd2hldGhlciB0aGUgZHVtbXkgYXJn dW1lbnQgaGFzIHRoZSBBU1lOQ0hST05PVVMNCmF0dHJpYnV0ZS4gIFN1YmNsYXVzZSA5LjYu NC4xLCBwYXJhZ3JhcGggNiBbMjIwOjEzLTE1XSwgcHJvaGliaXRzIGFuDQphY3R1YWwgYXJn dW1lbnQgdGhhdCBpcyBwYXJ0IG9mIGEgcGVuZGluZyBpbnB1dC9vdXRwdXQgc3RvcmFnZQ0K c2VxdWVuY2UgYWZmZWN0b3IgZnJvbSBiZWluZyBhc3NvY2lhdGVkIHdpdGggYSBkdW1teSBh cmd1bWVudCB0aGF0IGhhcw0KdGhlIFZBTFVFIGF0dHJpYnV0ZS4NCg0KRURJVCB0byAxMC0w MDdyMToNCg0KTm9uZS4NCg0KU1VCTUlUVEVEIEJZOiBTdGFuIFdoaXRsb2NrDQoNCkhJU1RP Ulk6IDE0LTEwOSAgICBtMjAzICBGMDgvMDEwNSBzdWJtaXR0ZWQgLSBkaXNhbGxvdyBmYWls ZWQNCiAgICAgICAgIDE0LTEwOXIxICBtMjAzICB0cnkgYWxsb3cgLSBwYXNzZWQgYnkgSjMg bWVldGluZw0KICAgICAgICAgMTQtMTkyICAgIG0yMDQgIEZhaWxlZCBKMyBsZXR0ZXIgYmFs bG90ICMzMCAxNC0xNDYNCiAgICAgICAgIDE0LTI2OSAgICBtMjA1ICBSZXZpc2VkIGFuc3dl ciAtIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0xMjEgICAgbTIwNiAgUGFz c2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTEwDQpUSVRMRTogSW50ZXJkZXBlbmRlbmNlIG9m IHNwZWNpZmllciB2YWx1ZXMgaW4gaW5wdXQvb3V0cHV0IHN0YXRlbWVudHMNCktFWVdPUkQ6 IHNwZWNpZmllciwgaW5wdXQvb3V0cHV0IHN0YXRlbWVudA0KREVGRUNUIFRZUEU6IEVycmF0 dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT05TOg0K DQoxLiBBcmUgdGhlIGZvbGxvd2luZyBJTlFVSVJFIHN0YXRlbWVudHMgcGVybWl0dGVkPw0K DQogICAgTE9HSUNBTCA6OiBFeGlzdCwgT3BlbmVkDQogICAgSU5RVUlSRSAoIEZJTEU9J2Zy ZWQnLCBFWElTVD1leGlzdCApDQogICAgSU5RVUlSRSAoIFVOSVQ9NDIsIE9QRU5FRD1vcGVu ZWQgKQ0KDQoyLiBJcyB0aGUgZm9sbG93aW5nIElOUVVJUkUgc3RhdGVtZW50IHBlcm1pdHRl ZD8NCg0KICAgIElOVEVHRVIgOjogVQ0KICAgIElOVEVSRkFDRQ0KICAgICAgRlVOQ1RJT04g UCAoIEEgKQ0KICAgICAgICBJTlRFR0VSLCBJTlRFTlQoSU4pIDo6IEENCiAgICAgICAgSU5U RUdFUiwgUE9JTlRFUiA6OiBQDQogICAgICBFTkQgRlVOQ1RJT04gUA0KICAgIEVORCBJTlRF UkZBQ0UNCiAgICBJTlFVSVJFICggRklMRT0nZnJlZCcsIE5VTUJFUj11LCBQT1M9cCh1KSAp DQoNCjMuIElzIHRoZSBmb2xsb3dpbmcgUkVBRCBzdGF0ZW1lbnQgcGVybWl0dGVkPw0KDQog ICAgSU5URUdFUiA6OiBTVEFUUyg0MikNCiAgICBOQU1FTElTVCAvSU4vIFYNCiAgICBSRUFE ICggKiwgSU4sIElPU1RBVD1TVEFUUyhWKSApDQoNCkFOU1dFUlM6DQoNCjEuIEFjY29yZGlu ZyB0byA5LjEycDUgWzI0MzozLTVdDQoNCiAgIlRoZSB2YWx1ZSBvZiBhIHNwZWNpZmllciBp biBhbiBpbnB1dC9vdXRwdXQgc3RhdGVtZW50IHNoYWxsIG5vdA0KICBkZXBlbmQgb24gdGhl IGRlZmluaXRpb24gb3IgZXZhbHVhdGlvbiBvZiBhbnkgb3RoZXIgc3BlY2lmaWVyIGluIHRo ZQ0KICA8aW8tY29udHJvbC1zcGVjLWxpc3Q+IG9yIDxpbnF1aXJlLXNwZWMtbGlzdD4gaW4g dGhhdCBzdGF0ZW1lbnQuIg0KDQp0aGUgSU5RVUlSRSBzdGF0ZW1lbnRzIGFyZSBwcm9oaWJp dGVkIGJlY2F1c2UgdGhlIHZhbHVlcyBvZiB0aGUNCnZhcmlhYmxlcyBFWElTVCBhbmQgT1BF TiBkZXBlbmQgdXBvbiB0aGUgdmFsdWVzIG9mIHRoZSBGSUxFPSBhbmQgVU5JVD0NCnNwZWNp ZmllcnMsIHJlc3BlY3RpdmVseS4gIFRoZXkgd2VyZSBpbnRlbmRlZCB0byBiZSBwZXJtaXR0 ZWQuICBFZGl0cw0KYXJlIHByb3ZpZGVkIHRvIGNvcnJlY3QgdGhpcyBtaXN0YWtlLg0KDQoy LiBBY2NvcmRpbmcgdG8gOS4xMnA2IFsyNDM6Ni04XQ0KDQogICJUaGUgdmFsdWUgb2YgYW55 IHN1YnNjcmlwdCBvciBzdWJzdHJpbmcgYm91bmQgb2YgYSB2YXJpYWJsZSB0aGF0DQogIGFw cGVhcnMgaW4gYSBzcGVjaWZpZXIgaW4gYW4gaW5wdXQvb3V0cHV0IHN0YXRlbWVudCBzaGFs bCBub3QgZGVwZW5kDQogIG9uIGFueSA8aW5wdXQtaXRlbT4sIDxpby1pbXBsaWVkLWRvPiA8 ZG8tdmFyaWFibGU+LCBvciBvbiB0aGUNCiAgZGVmaW5pdGlvbiBvciBldmFsdWF0aW9uIG9m IGFueSBvdGhlciBzcGVjaWZpZXIgaW4gdGhlDQogIDxpby1jb250cm9sLXNwZWM+IG9yIDxp bnF1aXJlLXNwZWM+IGluIHRoYXQgc3RhdGVtZW50LiINCg0KdGhlIElOUVVJUkUgc3RhdGVt ZW50IGlzIG5vdCBwcm9oaWJpdGVkIGJlY2F1c2UgVSBpcyBub3QgYSBzdWJzY3JpcHQNCm9y IHN1YnN0cmluZyBib3VuZC4NCg0KQWNjb3JkaW5nIHRvIDcuMS40cDIgWzEzOTozLTRdDQoN CiAgIlRoZSBldmFsdWF0aW9uIG9mIGEgZnVuY3Rpb24gcmVmZXJlbmNlIHNoYWxsIG5laXRo ZXIgYWZmZWN0IG5vciBiZQ0KICAgYWZmZWN0ZWQgYnkgdGhlIGV2YWx1YXRpb24gb2YgYW55 IG90aGVyIGVudGl0eSB3aXRoaW4gdGhlDQogICBzdGF0ZW1lbnQuIg0KDQp0aGUgSU5RVUlS RSBzdGF0ZW1lbnQgaXMgbm90IHByb2hpYml0ZWQgYmVjYXVzZSwgYWx0aG91Z2ggVSBpcw0K YXNzaWduZWQgYSB2YWx1ZSwgaXQgaXMgbm90IGV2YWx1YXRlZC4NCg0KVGhlIElOUVVJUkUg c3RhdGVtZW50IHdhcyBpbnRlbmRlZCB0byBiZSBwcm9oaWJpdGVkLiAgRWRpdHMgYXJlDQpw cm92aWRlZCB0byBjb3JyZWN0IHRoaXMgbWlzdGFrZS4NCg0KMy4gQWNjb3JkaW5nIHRvIDku MTJwNiBbMjQzOjYtOF0NCg0KICAiVGhlIHZhbHVlIG9mIGFueSBzdWJzY3JpcHQgb3Igc3Vi c3RyaW5nIGJvdW5kIG9mIGEgdmFyaWFibGUgdGhhdA0KICBhcHBlYXJzIGluIGEgc3BlY2lm aWVyIGluIGFuIGlucHV0L291dHB1dCBzdGF0ZW1lbnQgc2hhbGwgbm90IGRlcGVuZA0KICBv biBhbnkgPGlucHV0LWl0ZW0+LCA8aW8taW1wbGllZC1kbz4gPGRvLXZhcmlhYmxlPiwgb3Ig b24gdGhlDQogIGRlZmluaXRpb24gb3IgZXZhbHVhdGlvbiBvZiBhbnkgb3RoZXIgc3BlY2lm aWVyIGluIHRoZQ0KICA8aW8tY29udHJvbC1zcGVjPiBvciA8aW5xdWlyZS1zcGVjPiBpbiB0 aGF0IHN0YXRlbWVudC4iDQoNCmFuZCA5LjEycDcgWzI0Mzo5LTExXQ0KDQogICJJbiBhIGRh dGEgdHJhbnNmZXIgc3RhdGVtZW50LCB0aGUgdmFyaWFibGUgc3BlY2lmaWVkIGluIGFuIElP U1RBVD0sDQogIElPTVNHPSwgb3IgU0laRT0gc3BlY2lmaWVyLCBpZiBhbnksIHNoYWxsIG5v dCBiZSBhc3NvY2lhdGVkIHdpdGggYW55DQogIGVudGl0eSBpbiB0aGUgLi4uIDxuYW1lbGlz dC1ncm91cC1vYmplY3QtbGlzdD4uLi4uIg0KDQphbmQgOS4xMnA4IFsyNDM6MTItMTRdDQoN CiAgIkluIGEgZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnQsIGlmIGEgdmFyaWFibGUgc3BlY2lm aWVkIGluIGFuDQogIElPU1RBVD0sIElPTVNHPSwgb3IgU0laRT0gc3BlY2lmaWVyIGlzIGFu IGFycmF5IGVsZW1lbnQgcmVmZXJlbmNlLA0KICBpdHMgc3Vic2NyaXB0IHZhbHVlcyBzaGFs bCBub3QgYmUgYWZmZWN0ZWQgYnkgdGhlIGRhdGEgdHJhbnNmZXIsIHRoZQ0KICA8aW8taW1w bGllZC1kbz4gcHJvY2Vzc2luZywgb3IgdGhlIGRlZmluaXRpb24gb3IgZXZhbHVhdGlvbiBv ZiBhbnkNCiAgb3RoZXIgc3BlY2lmaWVyIGluIHRoZSA8aW8tY29udHJvbC1zcGVjLWxpc3Q+ LiINCg0KdGhlIFJFQUQgc3RhdGVtZW50IGlzIG5vdCBwcm9oaWJpdGVkIGJlY2F1c2UgViBk b2VzIG5vdCAiZGVwZW5kIG9uIGFueQ0KPGlucHV0LWl0ZW0+LCA8aW8taW1wbGllZC1kbz4g PGRvLXZhcmlhYmxlPiwgb3Igb24gdGhlIGRlZmluaXRpb24gb3INCmV2YWx1YXRpb24gb2Yg YW55IG90aGVyIHNwZWNpZmllciBpbiB0aGUgPGlvLWNvbnRyb2wtc3BlYz4gb3INCjxpbnF1 aXJlLXNwZWM+IGluIHRoYXQgc3RhdGVtZW50LiIgICBBbHRob3VnaCBWIGlzIGlucHV0IGZy b20NCm5hbWVsaXN0LCBpdCBpcyBub3QgInRoZSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gYW4g SU9TVEFUPSwgSU9NU0c9LCBvcg0KU0laRT0gc3BlY2lmaWVyLiIgIFRoZSBSRUFEIHN0YXRl bWVudCB3YXMgaW50ZW5kZWQgdG8gYmUgcHJvaGliaXRlZC4NCkVkaXRzIGFyZSBwcm92aWRl ZCB0byBjb3JyZWN0IHRoaXMgbWlzdGFrZS4NCg0KRURJVFMgdG8gMTAtMDA3cjE6DQoNClsy NDM6My01IDkuMTJwNV0gV2l0aGluIHRoZSBzZWNvbmQgc2VudGVuY2UsIHByb3ZpZGVkIGJ5 IENvcnJpZ2VuZHVtDQoyLCByZXBsYWNlICJ2YWx1ZXMgb2YgYW55IDxpbnB1dC1pdGVtPiBv ciIgd2l0aCAidmFsdWUgb2YgYW55Ii4NCkFwcGVuZCAiLCBvciBiZSBhZmZlY3RlZCBieSBk YXRhIHRyYW5zZmVyIGNhdXNlZCBieSB0aGF0IHN0YXRlbWVudCIuDQpUaGF0IHNlbnRlbmNl IGJlY29tZXMNCg0KICAiVGhlIHZhbHVlIG9mIGFuIDxpbnRlcm5hbC1maWxlLXZhcmlhYmxl PiBvciBvZiBhIEZNVD0sIElEPSwgSU9NU0c9LA0KICAgSU9TVEFUPSwgb3IgU0laRT0gc3Bl Y2lmaWVyIHNoYWxsIG5vdCBkZXBlbmQgb24gdGhlIHZhbHVlIG9mIGFueQ0KICAgPGlvLWlt cGxpZWQtZG8+IDxkby12YXJpYWJsZT4gaW4gdGhlIHNhbWUgc3RhdGVtZW50LCBvciBiZSBh ZmZlY3RlZA0KICAgYnkgZGF0YSB0cmFuc2ZlciBjYXVzZWQgYnkgdGhhdCBzdGF0ZW1lbnQu Ig0KDQp7VXNpbmcgImRhdGEgdHJhbnNmZXIiIGluc3RlYWQgb2YgIjxpbnB1dC1pdGVtPiIg Y292ZXJzIHRoZSBuYW1lbGlzdA0KY2FzZS59DQoNClsyNDM6Ni03IDkuMTJwNl0gUmVwbGFj ZSAidmFsdWUgb2YgYW55IHN1YnNjcmlwdCBvciBzdWJzdHJpbmcgYm91bmQiDQp3aXRoICJk ZW5vdGF0aW9uIi4gIFJlcGxhY2UgImRlcGVuZCAuLi4gPGRvLXZhcmlhYmxlPiIgd2l0aCAi YmUNCmFmZmVjdGVkIGJ5IHRoZSBkYXRhIHRyYW5zZmVyLCB0aGUgPGlvLWltcGxpZWQtZG8+ IHByb2Nlc3NpbmciLiAgVGhlDQpwYXJhZ3JhcGggYmVjb21lcw0KDQogICJUaGUgZGVub3Rh dGlvbiBvZiBhIHZhcmlhYmxlIHRoYXQgYXBwZWFycyBpbiBhIHNwZWNpZmllciBpbiBhbg0K ICAgaW5wdXQvb3V0cHV0IHN0YXRlbWVudCBzaGFsbCBub3QgYmUgYWZmZWN0ZWQgYnkgdGhl IGRhdGEgdHJhbnNmZXIsDQogICB0aGUgPGlvLWltcGxpZWQtZG8+IHByb2Nlc3NpbmcsIG9y IHRoZSBkZWZpbml0aW9uIG9yIGV2YWx1YXRpb24gb2YNCiAgIGFueSBvdGhlciBzcGVjaWZp ZXIgaW4gdGhlIDxpby1jb250cm9sLXNwZWMtbGlzdD4gb3INCiAgIDxpbnF1aXJlLXNwZWMt bGlzdD4gaW4gdGhhdCBzdGF0ZW1lbnQuIg0KDQpBZnRlciB0aGUgcGFyYWdyYXBoLCBpbnNl cnQgYSBub3RlOg0KDQogIE5PVEUgOS5ubg0KICBUaGUgc2VtYW50aWNzIG9mIGhvdyBhIHZh cmlhYmxlIGlzIGRlbm90ZWQgaXMgaXRzICJkZW5vdGF0aW9uIjsNCiAgdGhpcyBpbmNsdWRl cyBzdWNoIHRoaW5ncyBhcyBjb21wb25lbnQgYW5kIGFycmF5IGVsZW1lbnQgc2VsZWN0aW9u Lg0KICBBbnl0aGluZyB0aGF0IGFmZmVjdHMgdGhpcyBwcm9jZXNzIGlzIHByb2hpYml0ZWQg aW4gdGhpcyBjb250ZXh0Ow0KICB0aGF0IGluY2x1ZGVzIHRoZSB2YWx1ZXMgb2YgYW55IHN1 YnNjcmlwdHMgdXNlZCwgYW5kIGlmIHRoZQ0KICB2YXJpYWJsZSBpcyBzcGVjaWZpZWQgYnkg YSBwb2ludGVyIGZ1bmN0aW9uIHJlZmVyZW5jZSwgYW55dGhpbmcNCiAgdGhhdCBhZmZlY3Rz IHRoZSBldmFsdWF0aW9uIG9mIHRoYXQgZnVuY3Rpb24uDQoNCntVc2luZyAiZGF0YSB0cmFu c2ZlciIgaW5zdGVhZCBvZiAiPGlucHV0LWl0ZW0+IiBjb3ZlcnMgdGhlIG5hbWVsaXN0DQpj YXNlLn0NCg0KWzI0Mzo5IDkuMTJwN10gIkluc2VydCAiSUQ9LCIgYmVmb3JlICJJT1NUQVQi Lg0KDQp7Tm90IG1lbnRpb25lZCBpbiBhIHF1ZXN0aW9uLCBidXQgd2FzIGEgcHJvYmxlbS59 DQoNClsyNDM6MTItMTQgOS4xMnA4XSBSZXBhaXJpbmcgdGhlIHBhcmFncmFwaCB3b3VsZCBt YWtlIGl0IGVxdWl2YWxlbnQNCihpZiBub3QgaWRlbnRpY2FsKSB0byA5LjEycDYsIGFzIHJl dmlzZWQgYWJvdmUuICBUaGVyZWZvcmUsIGRlbGV0ZQ0KdGhlIHBhcmFncmFwaC4NCg0KU1VC TUlUVEVEIEJZOiBWYW4gU255ZGVyDQoNCkhJU1RPUlk6IDE0LTE5MyAgICBtMjA0ICBGMDgv MDExMCBzdWJtaXR0ZWQNCiAgICAgICAgIDE0LTE5M3IxICBtMjA0ICBSZXZpc2VkDQogICAg ICAgICAxNC0yNzJyMSAgbTIwNSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1 LTEyMSAgICBtMjA2ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTE1DQpUSVRMRTogQVNZTkNIUk9OT1VT IGFuZCBhcmd1bWVudCBwYXNzaW5nDQpLRVlXT1JEOiBBU1lOQ0hST05PVVMNCkRFRkVDVCBU WVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFV RVNUSU9OOg0KDQpDb25zaWRlcg0KDQogIFBST0dSQU0gTWFpbg0KICAgIElOVEVHRVIsIEFT WU5DSFJPTk9VUyA6OiBhcnJheSg1KSA9IC0xDQogICAgT1BFTiAoMTEsIEZJTEU9J2p1bmsn LCBBU1lOQ0hST05PVVM9J3llcycsIEFDVElPTj0ncmVhZCcpDQogICAgQ0FMTCBhc3luY19y ZWFkKGFycmF5KQ0KICAgIENBTEwgZnJlZChhcnJheSg6OjIpKSAhIFByb2JsZW1hdGljPw0K ICAgIFdBSVQgKDExKQ0KICAgIFBSSU5UICosIGFycmF5DQogIENPTlRBSU5TDQogICAgU1VC Uk9VVElORSBhc3luY19yZWFkKGFycmF5KQ0KICAgICAgSU5URUdFUiwgQVNZTkNIUk9OT1VT LCBJTlRFTlQoSU5PVVQpIDo6IGFycmF5KDopDQogICAgICBSRUFEICgxMSwgKiwgQVNZTkNI Uk9OT1VTPSd5ZXMnKSBhcnJheQ0KICAgIEVORCBTVUJST1VUSU5FDQogIEVORCBQUk9HUkFN DQogIFNVQlJPVVRJTkUgRnJlZCAoYXJnKSAgISBJbiBnZW5lcmFsLCBhbiBleHRlcm5hbCBw cm9jZWR1cmUNCiAgICBJTlRFR0VSIDo6IGFyZygqKSAgICAhIE90aGVyd2lzZSB1bnVzZWQN CiAgICBDT05USU5VRSAgICAgICAgICAgICAhIEluIGdlbmVyYWwsIHNvbWV0aGluZyB0aGF0 IHRha2VzIG1vcmUgdGltZQ0KICBFTkQgU1VCUk9VVElORQ0KDQpJcyB0aGUgY2FsbCB0byAi RnJlZCIgc3RhbmRhcmQtY29uZm9ybWluZz8NCg0KSXQgaXMgbm90IGV4Y2x1ZGVkIGJ5IDUu My40cDIsIGJlY2F1c2UgJ2FycmF5JyBpcyBtZXJlbHkgYXNzb2NpYXRlZA0Kd2l0aCAnYXJn JyBpbiBzdWJyb3V0aW5lIEZyZWQsIGFuZCBub3QgdXNlZCBpbiBhbnkgZXhlY3V0YWJsZQ0K c3RhdGVtZW50IG9yIHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbiB0aGVyZS4gIEhvd2V2ZXIs IGlmIGNvcHktaW4vb3V0DQppcyB1c2VkIGZvciBhcmd1bWVudCBwYXNzaW5nIGFuZCB0aGUg YWN0dWFsIGkvbyB0cmFuc2ZlciBvY2N1cnMgaW4NCmJldHdlZW4gdGhlIGNvcHktaW4gYW5k IGNvcHktb3V0LCB0aGUgd3JvbmcgYW5zd2VycyB3aWxsIGJlIGdpdmVuLg0KDQpBTlNXRVI6 DQoNClRoaXMgcHJvZ3JhbSB3YXMgbm90IGludGVuZGVkIHRvIGJlIGNvbmZvcm1pbmcuICBB biBlZGl0IGlzIHByb3ZpZGVkDQp0byBjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0Lg0KDQpFRElU UzoNCg0KWzkwOjE1XSA1LjMuNCBBU1lOQ0hST05PVVMgYXR0cmlidXRlLCBwMiwgZmlyc3Qg YnVsbGV0LA0KICAgICAgICBiZXR3ZWVuICJ0aGUgdmFyaWFibGUiIGFuZCAiYXBwZWFycyIN CiAgICAgICAgaW5zZXJ0ICJpcyBhIGR1bW15IGFyZ3VtZW50IG9yIi4NCg0KU1VCTUlUVEVE IEJZOiBOaWNrIE1hY2xhcmVuDQoNCkhJU1RPUlk6IDE0LTIxOCAgICBtMjA1ICBGMDgvMDEx NSBzdWJtaXR0ZWQNCiAgICAgICAgIDE0LTIxOHIxICBtMjA1ICBSZXZpc2VkDQogICAgICAg ICAxNC0yMThyMiAgbTIwNSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTEy MSAgICBtMjA2ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTE2DQpUSVRMRTogSW50ZXJvcGVyYWJsZSBw cm9jZWR1cmVzDQpLRVlXT1JEOiBJbnRlcm9wZXJhYmlsaXR5LCBwcm9jZWR1cmUNCkRFRkVD VCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoN ClFVRVNUSU9OOg0KDQpJbiBhbGwgY2FzZXMsIEFsZiBpcyBhIEZvcnRyYW4gcHJvY2VkdXJl IGxpa2UgdGhpczoNCg0KICAgIFNVQlJPVVRJTkUgQWxmIChBcmcpIEJJTkQoQyxOQU1FPSdB bGYnKQ0KICAgICAgICBJTlRFUkZBQ0UNCiAgICAgICAgICAgIFNVQlJPVVRJTkUgQXJnICgp IEJJTkQoQykNCiAgICAgICAgICAgIEVORCBTVUJST1VUSU5FIEFyZw0KICAgICAgICBFTkQg SU5URVJGQUNFDQogICAgICAgIENBTEwgQXJnDQogICAgRU5EIFNVQlJPVVRJTkUgQWxmDQoN ClExLiBDb25zaWRlcg0KDQogICAgZXh0ZXJuIHZvaWQgQmVydCAodm9pZCkgew0KICAgICAg ICA7DQogICAgfQ0KDQogICAgaW50IG1haW4gKHZvaWQpIHsNCiAgICAgICAgQWxmKEJlcnQp Ow0KICAgIH0NCg0KMTUuNS4xcDIgcmVxdWlyZXMgYSBwcm9jZWR1cmUgZGVmaW5lZCBieSBt ZWFucyBvdGhlciB0aGFuIEZvcnRyYW4gdG8NCmhhdmUgdGhlIHNhbWUgYmluZGluZyBsYWJl bCBhcyB0aGUgaW50ZXJmYWNlLiAgRnVuY3Rpb24gQmVydCgpIGhhcyBhDQpiaW5kaW5nIGxh YmVsIG9mICdCZXJ0JywgYnV0IDE1LjUuMnAyIHN0YXRlcyB0aGF0IHRoZSBkdW1teSBhcmd1 bWVudA0KQXJnIGhhcyBubyBiaW5kaW5nIGxhYmVsLCB0aGVyZWZvcmUgMTUuNS4xcDIgaXMg bm90IHNhdGlzZmllZC4NCg0KV2FzIHRoaXMgaW50ZW5kZWQgdG8gYmUgY29uZm9ybWluZz8N Cg0KUTIuIENvbnNpZGVyDQoNCiAgICBzdGF0aWMgdm9pZCBGcmVkICh2b2lkKSB7DQogICAg ICAgIDsNCiAgICB9DQoNCiAgICBpbnQgbWFpbiAodm9pZCkgew0KICAgICAgICBBbGYoRnJl ZCk7DQogICAgfQ0KDQoxNS41LjFwMiByZXF1aXJlcyBhIHByb2NlZHVyZSBkZWZpbmVkIGJ5 IG1lYW5zIG90aGVyIHRoYW4gRm9ydHJhbiB0bw0KaGF2ZSBhIG5hbWUgdGhhdCBoYXMgZXh0 ZXJuYWwgbGlua2FnZSBhcyBkZWZpbmVkIGJ5IDYuMi4yIG9mIElTTy9JRUMNCjk4OTk6MTk5 OS4gIEZ1bmN0aW9uIEZyZWQoKSBoYXMgbm8gc3VjaCBuYW1lLCBhcyBpdHMgZGVmaW5pdGlv biBoYXMNCmludGVybmFsIGxpbmthZ2UuICBIb3dldmVyLCBsaW5rYWdlIGluIEMgYWZmZWN0 cyBvbmx5IHRoZSB2aXNpYmlsaXR5DQpvZiB0aGUgZXh0ZXJuYWwgbmFtZSwgYW5kIGhhcyBu byBhcHBsaWNhdGlvbiB0byBlaXRoZXIgdHlwZXMgb3INCnZhbHVlcywgd2hldGhlciBpbiB0 aGUgZm9ybSBvZiBmdW5jdGlvbiBwYXJhbWV0ZXJzIG9yIG90aGVyIHBvaW50ZXJzLg0KDQpX YXMgdGhpcyBpbnRlbmRlZCB0byBiZSBjb25mb3JtaW5nPw0KDQpRMy4gQ29uc2lkZXINCg0K ICAgIGV4dGVybiBpbmxpbmUgdm9pZCBhcmcgKHZvaWQpIHsNCiAgICAgICAgOw0KICAgIH0N Cg0KICAgIGludCBtYWluICh2b2lkKSB7DQogICAgICAgIEFsZihKb2UpOw0KICAgIH0NCg0K Qzk5IDYuNy40IGRlc2NyaWJlcyB0aGUgaW5saW5lIHNwZWNpZmllci4gIFRoaXMgZG9lcyBu b3QgcHJldmVudCBpdA0KZnJvbSBoYXZpbmcgZXh0ZXJuYWwgbGlua2FnZSwgYnV0DQogICJB biBpbmxpbmUgZGVmaW5pdGlvbiBkb2VzIG5vdCBwcm92aWRlIGFuIGV4dGVybmFsIGRlZmlu aXRpb24gZm9yDQogICB0aGUgZnVuY3Rpb24iDQppLmUuIGRlc3BpdGUgaGF2aW5nIGV4dGVy bmFsIGxpbmthZ2UsIHRoZXJlIG1pZ2h0IGJlIG5vIGV4dGVybmFsDQpkZWZpbml0aW9uIHRo YXQgY291bGQgYmUgaW52b2tlZCBmcm9tIEZvcnRyYW4uDQoNCldhcyBpdCBub3QgYW4gb3Zl cnNpZ2h0IG5vdCB0byBleGNsdWRlIGlubGluZSBpbiAxNS41LjE/DQoNCkFOU1dFUlM6DQoN CkExLiBZZXMsIHRoaXMgd2FzIGludGVuZGVkIHRvIGJlIGNvbmZvcm1pbmcuICBBbiBlZGl0 IGlzIHByb3ZpZGVkIHRvDQogICAgY29ycmVjdCB0aGlzIG1pc3Rha2UuDQoNCkEyLiBZZXMs IHRoaXMgd2FzIGludGVuZGVkIHRvIGJlIGNvbmZvcm1pbmcuICBBbiBlZGl0IGlzIHByb3Zp ZGVkIHRvDQogICAgY29ycmVjdCB0aGlzIG1pc3Rha2UuDQoNCkEzLiBBIEMgZnVuY3Rpb24g d2l0aCBubyBleHRlcm5hbCBkZWZpbml0aW9uIGlzIG5vdCAiZGVmaW5lZCBieQ0KICAgIG1l YW5zIG90aGVyIHRoYW4gRm9ydHJhbiIgc28gbXVjaCBhcyAibm90IGRlZmluZWQiLiAgVGhp cyB3YXMNCiAgICBub3QgaW50ZW5kZWQgdG8gYmUgY29uZm9ybWluZy4gIEFuIGVkaXQgaXMg cHJvdmlkZWQgdG8gY2xhcmlmeQ0KICAgIHRoaXMgc2l0dWF0aW9uLg0KDQpFRElUUzoNCg0K WzQzNjoxNV0gMTUuNS4xIERlZmluaXRpb24gYW5kIHJlZmVyZW5jZSBvZiBpbnRlcm9wZXJh YmxlIHByb2NlZHVyZXMsDQogICAgICAgICBwMSwgQXBwZW5kIHNlbnRlbmNlDQogICJBIEMg ZnVuY3Rpb24gdGhhdCBoYXMgYW4gaW5saW5lIGRlZmluaXRpb24gYW5kIG5vIGV4dGVybmFs DQogICBkZWZpbml0aW9uIGlzIG5vdCBjb25zaWRlcmVkIHRvIGJlIGRlZmluZWQgaW4gdGhp cyBzZW5zZS4iLg0KDQpJbiAxNS41LjFwMiwgYXBwbHkgdGhlc2UgZWRpdHMNCls0MzY6MTZd IEFmdGVyICJtZWFucyBvdGhlciB0aGFuIEZvcnRyYW4sIiBkZWxldGUgIml0IHNoYWxsIiwN Cls0MzY6MTddIEJlZm9yZSAiYmUgZGVzY3JpYmFibGUiIGluc2VydCAiaXQgc2hhbGwiLA0K ICAgICAgICAgYWZ0ZXIgInRoZSBpbnRlcmZhY2UsIiBpbnNlcnQgImFuZCIsDQpbNDM2OjE4 LTE5XSBCZWZvcmUgImhhdmUgYSBuYW1lIg0KICAgICAgICAgaW5zZXJ0ICJpZiBpdCBpcyBh Y2Nlc3NlZCB1c2luZyBpdHMgYmluZGluZyBsYWJlbCwgaXQgc2hhbGwiDQogICAgICAgICBh bmQgYmVnaW4gYSBidWxsZXQgc3ViLWxpc3QsDQogICAgICAgICBhbmQgbWFrZSB0aGUgImhh dmUgdGhlIHNhbWUiIGJ1bGxldCB0aGUgc2Vjb25kIHN1Ymxpc3QgaXRlbS4NClRoaXMgbWFr ZXMgdGhhdCB3aG9sZSBwYXJhZ3JhcGggcmVhZA0KICAiSWYgdGhlIHByb2NlZHVyZSBpcyBk ZWZpbmVkIGJ5IG1lYW5zIG90aGVyIHRoYW4gRm9ydHJhbiwNCiAgIC0tIGl0IHNoYWxsIGJl IGRlc2NyaWJhYmxlIGJ5IGEgQyBwcm90b3R5cGUgdGhhdCBpcyBpbnRlcm9wZXJhYmxlDQog ICAgICB3aXRoIHRoZSBpbnRlcmZhY2UsIGFuZA0KICAgLS0gaWYgaXQgaXMgYWNjZXNzZWQg dXNpbmcgaXRzIGJpbmRpbmcgbGFiZWwsIGl0IHNoYWxsDQogICAgICAtIGhhdmUgYSBuYW1l IHRoYXQgaGFzIGV4dGVybmFsIGxpbmthZ2UgYXMgZGVmaW5lZCBieSA2LjIuMiBvZg0KICAg ICAgICBJU08vSUVDIDk4OTk6MTk5OSwgYW5kDQogICAgICAtIGhhdmUgdGhlIHNhbWUgYmlu ZGluZyBsYWJlbCBhcyB0aGUgaW50ZXJmYWNlLiINCntOb3RlIHRoaXMgd29yZGluZyB1c2Vz ICJhY2Nlc3NlZCIgcmF0aGVyIHRoYW4gImludm9rZWQiIHNpbmNlIGl0IGNhbg0KIGJlIHRo ZSBhcmd1bWVudCBvZiBDX0ZVTlBUUiBvciB0aGUgdGFyZ2V0IGluIGEgcHJvY2VkdXJlIHBv aW50ZXINCiBhc3NpZ25tZW50Ln0NCg0KU1VCTUlUVEVEIEJZOiBOaWNrIE1hY2xhcmVuDQoN CkhJU1RPUlk6IDE0LTIyMSAgICBtMjA1ICBGMDgvMDExNiBzdWJtaXR0ZWQNCiAgICAgICAg IDE0LTIyMXIxICBtMjA1ICBSZXZpc2VkDQogICAgICAgICAxNC0yMjFyMiAgbTIwNSAgRnVy dGhlciBSZXZpc2VkIC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTEyMSAg ICBtMjA2ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTE3DQpUSVRMRTogVEFSR0VUIGFuZCBjb2luZGV4 ZWQgYXJndW1lbnRzDQpLRVlXT1JEOiBUQVJHRVQsIGNvaW5kZXhpbmcNCkRFRkVDVCBUWVBF OiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFVRVNU SU9OOg0KDQpJcyB0aGUgZm9sbG93aW5nIHByb2dyYW0gY29uZm9ybWluZyBhbmQgcmVxdWly ZWQgdG8gcHJpbnQgMTAsIDEwLCAxMA0KYW5kIDEyMywgMTIzLCAxMjM/DQoNClBST0dSQU0g TWFpbg0KICAgIElOVEVHRVIsIFRBUkdFVCA6OiBjb2FycmF5KDMpWypdDQogICAgY29hcnJh eSA9IDEwKlRISVNfSU1BR0UoKQ0KICAgIFNZTkMgQUxMDQogICAgSUYgKFRISVNfSU1BR0Uo KSA9PSAxKSBUSEVODQogICAgICAgIFNZTkMgQUxMDQogICAgICAgIGNvYXJyYXkgPSAxMjMN CiAgICAgICAgU1lOQyBBTEwNCiAgICBFTFNFIElGIChUSElTX0lNQUdFKCkgPT0gMikgVEhF Tg0KICAgICAgICBDQUxMIEZyZWQoY29hcnJheSg6KVsxXSkNCiAgICBFTFNFDQogICAgICAg IFNZTkMgQUxMDQogICAgICAgIFNZTkMgQUxMDQogICAgRU5EIElGDQpDT05UQUlOUw0KICAg IFNVQlJPVVRJTkUgRnJlZCAoYXJnKQ0KICAgICAgICBJTlRFR0VSLCBUQVJHRVQgOjogYXJn KDopDQogICAgICAgIFBSSU5UICosIGFyZw0KICAgICAgICBTWU5DIEFMTA0KICAgICAgICBT WU5DIEFMTA0KICAgICAgICBQUklOVCAqLCBhcmcNCiAgICBFTkQgU1VCUk9VVElORSBGcmVk DQpFTkQgUFJPR1JBTSBNYWluDQoNCg0KRElTQ1VTU0lPTjoNCg0KVGhpcyBwcm9ncmFtIGlz IG1vZGlmeWluZyBhbiBhY3R1YWwgYXJndW1lbnQgd2hpbGUgaXQgaXMgYXNzb2NpYXRlZA0K d2l0aCBhIGR1bW15IGFyZ3VtZW50LiAgVGhhdCBpcyBub3JtYWxseSBwcm9oaWJpdGVkIGJ5 IHRoZSBhbnRpLWFsaWFzaW5nDQpydWxlcyBpbiAxMi41LjIuMTMsIGJ1dCB0aGVzZSBkbyBu b3Qgb3BlcmF0ZSBpbiB0aGUgVEFSR0VUIGR1bW15DQphcmd1bWVudCBjYXNlLiAgSG93ZXZl ciwgY29pbmRleGVkIGFjdHVhbCBhcmd1bWVudHMgYXJlIGFjY2Vzc2luZw0KcmVtb3RlIG1l bW9yeSwgc28gaW4gZ2VuZXJhbCB3aWxsIGJlIHBhc3NlZCBieSBjb3B5LWluL291dDsgaW4g dGhpcw0KY2FzZSBwZXJtaXR0aW5nIGFsaWFzaW5nIGlzIG5vdCByZWFzb25hYmxlLg0KDQpB TlNXRVI6DQoNClRoZSBwcm9ncmFtIGlzIG5vdCBpbnRlbmRlZCB0byBiZSBjb25mb3JtaW5n LiAgRWRpdHMgYXJlIHByb3ZpZGVkIHRvDQpjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0Lg0KDQoN CkVESVRTOg0KDQpbMzAwXSAxMi41LjIuMTNwMSgzKShiKSBhcHBlbmQgdG8gdGhlIGVuZCBv ZiB0aGUgcGFyYWdyYXBoICJvciBhDQpjb2luZGV4ZWQgb2JqZWN0Ii4NCg0KWzMwMF0gMTIu NS4yLjEzcDEoNCkoYikgYXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIHBhcmFncmFwaCAib3Ig YQ0KY29pbmRleGVkIG9iamVjdCIuDQoNCg0KU1VCTUlUVEVEIEJZOiBOaWNrIE1hY2xhcmVu DQoNCg0KSElTVE9SWTogbTIwNSAgIDE0LTIyMyAgIEYwOC8wMTE3IHN1Ym1pdHRlZA0KICAg ICAgICAgbTIwNSAgIDE0LTIyM3IxIFJldmlzZWQgZXhhbXBsZSBhbmQgZGlzY3Vzc2lvbiAt IFBhc3NlZCBieSBKMw0KICAgICAgICAgICAgICAgICAgICAgICAgICBtZWV0aW5nDQogICAg ICAgICAxNS0xMjEgICAgbTIwNiAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QgMTQtMjc5 DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDgvMDExOA0KVElUTEU6IFN1Ym9i amVjdCBvZiB2YXJpYWJsZSBpbiB2YXJpYWJsZSBkZWZpbml0aW9uIGNvbnRleHQNCktFWVdP UkQ6IHN1Ym9iamVjdCwgdmFyaWFibGUgZGVmaW5pdGlvbiBjb250ZXh0DQpERUZFQ1QgVFlQ RTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVT VElPTjoNCg0KRG9lcyB0aGlzIHByb2dyYW0gY29uZm9ybSB0byB0aGUgRm9ydHJhbiAyMDA4 IHN0YW5kYXJkPw0KDQogIHR5cGUgOjogVA0KICAgIGludGVnZXIgOjogQw0KICBlbmQgdHlw ZSBUDQoNCiAgdHlwZSh0KSwgcGFyYW1ldGVyIDo6IFYgPSBUKDQxKQ0KDQogIGFzc29jaWF0 ZSAoIFcgPT4gViApDQoxICAgdyVjID0gNDINCiAgZW5kIGFzc29jaWF0ZQ0KDQogIGVuZA0K DQpESVNDVVNTSU9OOg0KDQpCZWNhdXNlIHRoZSBzZWxlY3RvciBpcyBub3QgcGVybWl0dGVk IHRvIGFwcGVhciBpbiBhIHZhcmlhYmxlDQpkZWZpbml0aW9uIGNvbnRleHQsIHRoZSBhc3Nv Y2lhdGUtbmFtZSBpcyBub3QgcGVybWl0dGVkIHRvIGFwcGVhciBpbiBhDQp2YXJpYWJsZSBk ZWZpbml0aW9uIGNvbnRleHQuICBIb3dldmVyLCB0aGF0IGRvZXMgbm90IGFmZmVjdCBzdWJv YmplY3RzDQpvZiB0aGUgYXNzb2NpYXRlLW5hbWUuDQoNCkFOU1dFUjoNCg0KVGhlIGFzc29j aWF0ZS1uYW1lIGlzIG5vdCBwZXJtaXR0ZWQgdG8gYXBwZWFyIGluIGEgdmFyaWFibGUgZGVm aW5pdGlvbg0KY29udGV4dCBiZWNhdXNlIG5vIGludGVycHJldGF0aW9uIGlzIGVzdGFibGlz aGVkOyBob3dldmVyLCBpdCBzaG91bGQNCmJlIGV4cGxpY2l0bHkgc3RhdGVkIHRoYXQgdGhp cyBpcyBub3QgcGVybWl0dGVkLiAgQW4gZWRpdCBpcyBwcm92aWRlZA0KdG8gY2xhcmlmeSB0 aGlzLg0KDQpFRElUUzoNCg0KWzE3MDoxOV0gOC4xLjMuMSBQdXJwb3NlIGFuZCBmb3JtIG9m IHRoZSBBU1NPQ0lBVEUgY29uc3RydWN0LCBDODAxLA0KICAgICAgICAgQmV0d2VlbiAiPGFz c29jaWF0ZS1uYW1lPiIgYW5kICJzaGFsbCBub3QgYXBwZWFyIg0KICAgICAgICAgaW5zZXJ0 ICJvciBhbnkgc3Vib2JqZWN0IG9mIDxhc3NvY2lhdGUtbmFtZT4iLg0KDQpbMTcxOjEyXSA4 LjEuMy4zIEF0dHJpYnV0ZXMgb2YgYXNzb2NpYXRlIG5hbWVzLCBwMiwNCiAgICAgICAgIEJl dHdlZW4gInRoZSBhc3NvY2lhdGUgbmFtZSIgYW5kICJzaGFsbCBub3QgYXBwZWFyIg0KICAg ICAgICAgaW5zZXJ0ICJvciBhbnkgc3Vib2JqZWN0IG9mIHRoZSBhc3NvY2lhdGUgbmFtZSIu DQoNClsxODQ6MTNdIDguMS45LjEgUHVycG9zZSBhbmQgZm9ybSBvZiB0aGUgU0VMRUNUIFRZ UEUgY29uc3RydWN0LCBDODM2LA0KICAgICAgICAgQmV0d2VlbiAiPGFzc29jaWF0ZS1uYW1l PiIgYW5kICJzaGFsbCBub3QiDQogICAgICAgICBpbnNlcnQgIm9mIGFueSBzdWJvYmplY3Qg b2YgPGFzc29jaWF0ZS1uYW1lPiIuDQoNClNVQk1JVFRFRCBCWTogVmFuIFNueWRlcg0KDQpI SVNUT1JZOiAxNC0yNDByMSAgbTIwNSAgRjA4LzAxMTggc3VibWl0dGVkDQogICAgICAgICAx NC0yNDByMiAgbTIwNSAgUmV2aXNlZCBxdWVzdGlvbiBhbmQgYW5zd2VyIC0gUGFzc2VkIGJ5 IEozDQogICAgICAgICAgICAgICAgICAgICAgICAgIG1lZXRpbmcNCiAgICAgICAgIDE1LTEy MSAgICBtMjA2ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTE5DQpUSVRMRTogQnJhbmNoaW5nIHRvIEVO RCBCTE9DSyBhbmQgRU5EIENSSVRJQ0FMDQpLRVlXT1JEOiBCcmFuY2hpbmcsIEVORCBCTE9D SywgRU5EIENSSVRJQ0FMDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQg YnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KRG8gdGhlIEdPIFRPIHN0YXRl bWVudHMgaW4gdGhlIGZvbGxvd2luZyBjb25mb3JtIHRvIHRoZSBGb3J0cmFuIDIwMDgNCnN0 YW5kYXJkPw0KDQogIGdvIHRvIDENCiAgYmxvY2sNCjEgZW5kIGJsb2NrDQoNCiAgZ28gdG8g Mg0KICBjcml0aWNhbA0KMiBlbmQgY3JpdGljYWwNCg0KQU5TV0VSOg0KDQpCcmFuY2hpbmcg dG8gYW4gRU5EIEJMT0NLIG9yIEVORCBDUklUSUNBTCBzdGF0ZW1lbnQgZnJvbSBvdXRzaWRl IHRoZQ0KY29uc3RydWN0IHdhcyBpbnRlbmRlZCB0byBiZSBwcm9oaWJpdGVkLiAgRWRpdHMg YXJlIHByb3ZpZGVkIHRvDQpjb3JyZWN0IHRoaXMgb21pc3Npb24uDQoNCkVESVRTOg0KDQpb MTcyOjEzK10gOC4xLjQgQkxPQ0sgY29uc3RydWN0LCBhZnRlciBwMyAoYmVmb3JlIE5PVEUg OC41KSwNCiAgICAgICAgICBJbnNlcnQgbmV3IHBhcmFncmFwaA0KICAgICAgICAgICAgIkl0 IGlzIHBlcm1pc3NpYmxlIHRvIGJyYW5jaCB0byBhbiA8ZW5kLWJsb2NrLXN0bXQ+IG9ubHkN CiAgICAgICAgICAgICBmcm9tIHdpdGhpbiBpdHMgQkxPQ0sgY29uc3RydWN0LiIuDQoNClsx NzM6MjErXSA4LjEuNSBDUklUSUNBTCBjb25zdHJ1Y3QsIGFmdGVyIHAzIChiZWZvcmUgTk9U RSA4LjYpLA0KICAgICAgICAgIEluc2VydCBuZXcgcGFyYWdyYXBoDQogICAgICAgICAgICAi SXQgaXMgcGVybWlzc2libGUgdG8gYnJhbmNoIHRvIGFuIDxlbmQtY3JpdGljYWwtc3RtdD4N CiAgICAgICAgICAgICBvbmx5IGZyb20gd2l0aGluIGl0cyBDUklUSUNBTCBjb25zdHJ1Y3Qu Ii4NCg0KRlVUVVJFIFJFVklTSU9OOg0KDQpBIGZ1dHVyZSByZXZpc2lvbiBjb3VsZCBtYWtl IGFsbCBvZiB0aGVzZSBjb25zdHJhaW50cywgYW5kIGNvbWJpbmUNCnRoZW0gaW50byBhIHNp bmdsZSByZXF1aXJlbWVudCBhcyBmb2xsb3dzLg0KDQpbMTcwOjM2IDguMS4zLjJwM10gRGVs ZXRlIHRoZSBwYXJhZ3JhcGguDQoNClsxNzU6MzUtMzYgOC4xLjYuNHAxXSBEZWxldGUgIkl0 IGlzIHBlcm1pdHRlZCAuLi4gRE8gY29uc3RydWN0LiINCg0KWzE3NTo0MCA4LjEuNi40cDJd IERlbGV0ZSAiVHJhbnNmZXIgb2YgY29udHJvbCAuLi4gPGlubmVyLXNoYXJlZC1kby0NCmNv bnN0cnVjdD4uIg0KDQpbMTgwOjI1IDguMS43LjJwMl0gRGVsZXRlICJJdCBpcyBwZXJtaXNz aWJsZSAuLi4gSUYgY29uc3RydWN0LiINCg0KWzE4MjoyNiA4LjEuOC4ycDNdIERlbGV0ZSB0 aGUgcGFyYWdyYXBoLg0KDQpbMTg1OjI2IDguMS45LjJwOV0gRGVsZXRlIHRoZSBwYXJhZ3Jh cGguDQoNClsxODc6NysgOC4yLjFwMStdIEluc2VydCBjb25zdHJhaW50Og0KDQoiQzg0N2Eg SWYgYSBicmFuY2ggdGFyZ2V0IHN0YXRlbWVudCBpcyBhbiA8ZW5kLWFzc29jaWF0ZS1zdG10 PiwNCiAgICAgICA8ZW5kLWJsb2NrLXN0bXQ+LCA8ZW5kLWNyaXRpY2FsLXN0bXQ+LCA8ZW5k LWRvPiwNCiAgICAgICA8ZW5kLWlmLXN0bXQ+LCA8ZW5kLXNlbGVjdC1zdG10Piwgb3IgPGVu ZC1zZWxlY3QtdHlwZS1zdG10PiwgdGhlDQogICAgICAgYnJhbmNoaW5nIHN0YXRlbWVudCB0 aGF0IHJlZmVyZW5jZXMgdGhlIGxhYmVsIG9mIHRoYXQgYnJhbmNoDQogICAgICAgdGFyZ2V0 IHN0YXRlbWVudCBzaGFsbCBiZSB3aXRoaW4gdGhlIGNvbnN0cnVjdCBjb21wbGV0ZWQgYnkg dGhhdA0KICAgICAgIGJyYW5jaCB0YXJnZXQgc3RhdGVtZW50LiINCg0KU1VCTUlUVEVEIEJZ OiBWYW4gU255ZGVyDQoNCg0KSElTVE9SWTogMTQtMjQyICAgIG0yMDUgIEYwOC8wMTE5IHN1 Ym1pdHRlZA0KICAgICAgICAgMTQtMjQycjEgIG0yMDUgIFJldmlzZWQgcXVlc3Rpb24gYW5k IGFuc3dlcg0KICAgICAgICAgMTQtMjQycjIgIG0yMDUgIEZpeGVkIHR5cG8gaW4gZXhhbXBs ZSAtIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0xMjEgICAgbTIwNiAgUGFz c2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMjANClRJVExFOiBJcyB0aGUgbmFtZSBvZiBh IHByb2NlZHVyZSBwb2ludGVyIGEgbG9jYWwgaWRlbnRpZmllcj8NCktFWVdPUkRTOiBuYW1l IHByb2NlZHVyZSBwb2ludGVyDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNz ZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KSXMgdGhlIG5hbWUgb2Yg YSBwcm9jZWR1cmUgcG9pbnRlciBhIGxvY2FsIGlkZW50aWZpZXI/DQoNClRoZSBsaXN0IG9m IGNsYXNzZXMgb2YgbG9jYWwgaWRlbnRpZmllcnMgZ2l2ZW4gaW4gcGFyYWdyYXBoIDENCm9m IHN1YmNsYXVzZSAxNi4zLjEgb2YgSjMvMTAtMDA3cjEgKHBhZ2UgNDQwKSBkb2VzIG5vdCBp bmNsdWRlDQpwcm9jZWR1cmUgcG9pbnRlcnMuDQoNCkFOU1dFUjoNCg0KWWVzLCBpZiBhIHBy b2NlZHVyZSBwb2ludGVyIGlzIG5hbWVkLCB0aGUgbmFtZSBvZiB0aGUgcHJvY2VkdXJlDQpw b2ludGVyIGlzIGEgbG9jYWwgaWRlbnRpZmllci4gIEFuIGVkaXQgaXMgcHJvdmlkZWQgdG8g YW1lbmQNCnRoZSBvdmVyc2lnaHQuDQoNCkVESVRTOg0KDQpbNDQwOjQsIDE2LjMuMXAxXSBS ZXBsYWNlDQogIm5hbWVkIGNvbnN0YW50cywgbmFtZWQiDQp3aXRoDQogIm5hbWVkIGNvbnN0 YW50cywgbmFtZWQgcHJvY2VkdXJlIHBvaW50ZXJzLCBuYW1lZCIuDQoNClNVQk1JVFRFRCBC WTogUm9iZXJ0IENvcmJldHQNCg0KSElTVE9SWTogMTQtMjU2ICAgIG0yMDUgIEYwOC8wMTIw IHN1Ym1pdHRlZCAtIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0xMjEgICAg bTIwNiAgUGFzc2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMjENClRJVExFOiBBZGQgdG8g aW50cm9kdWN0aW9uIGRlZmluZWQgb3BlcmF0aW9ucyBpbiBzcGVjaWZpY2F0aW9uIGV4cHJz DQpLRVlXT1JEUzogc3BlY2lmaWNhdGlvbiwgcmVzdHJpY3RlZCwgZGVmaW5lZCBvcGVyYXRv cg0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBi YWxsb3QNCg0KUVVFU1RJT046DQoNCkZvcnRyYW4gMjAwMyA3LjEuNiAoU3BlY2lmaWNhdGlv biBleHByZXNzaW9ucyksIHNheXMgb24gMTQxOjEyOg0KDQpBIHJlc3RyaWN0ZWQgZXhwcmVz c2lvbiBpcyBhbiBleHByZXNzaW9uIGluIHdoaWNoIGVhY2ggb3BlcmF0aW9uIGlzDQppbnRy aW5zaWMNCg0KRm9ydHJhbiAyMDA4IDcuMS4xMSBzYXlzIG9uIDE1MDo4Og0KDQpBIHJlc3Ry aWN0ZWQgZXhwcmVzc2lvbiBpcyBhbiBleHByZXNzaW9uIGluIHdoaWNoIGVhY2ggb3BlcmF0 aW9uIGlzDQppbnRyaW5zaWMgb3IgZGVmaW5lZCBieSBhIHNwZWNpZmljYXRpb24gZnVuY3Rp b24NCg0KVGhpcyBuZXcgZmVhdHVyZSBpcyBub3QgY2FsbGVkIG91dCBpbiB0aGUgSW50cm9k dWN0aW9uIGJ1dCBzaG91bGQgYmUuDQoNCkFOU1dFUjoNCg0KVGhpcyB3YXMgYW4gb3ZlcnNp Z2h0LiBBbiBlZGl0IHRvIGNvcnJlY3QgdGhlIHByb2JsZW0gaXMgc3VwcGxpZWQuDQoNCkVE SVQgdG8gMTAtMDA3cjE6DQoNCkludHJvZHVjdGlvbiwgcGFnZSB4di4gQWRkIHRvIHRoZSAi RGF0YSBkZWNsYXJhdGlvbiIgbGlzdCBpbg0KcGFyYWdyYXBoIDI6ICJBIDxkZWZpbmVkLW9w ZXJhdG9yPiBjYW4gYmUgdXNlZCBpbiBhIHNwZWNpZmljYXRpb24NCmV4cHJlc3Npb24uIg0K DQpTVUJNSVRURUQgQlk6IFN0ZXZlIExpb25lbA0KDQpISVNUT1JZOiAxNC0yNTkgICAgbTIw NSAgRjA4LzAxMjEgc3VibWl0dGVkDQogICAgICAgICAxNC0yNTlyMSAgbTIwNSAgSW4gZWRp dCwgcmVwbGFjZSAiZGVmaW5lZCBvcGVyYXRvciIgd2l0aA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAiPGRlZmluZWQtb3BlcmF0b3I+IiAtIFBhc3NlZCBieSBKMyBtZWV0aW5nDQog ICAgICAgICAxNS0xMjEgICAgbTIwNiAgUGFzc2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVy IGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTIy DQpUSVRMRTogVHlwZXMgd2l0aCBjb2FycmF5IGNvbXBvbmVudHMNCktFWVdPUkQ6IENvYXJy YXlzLCBkZXJpdmVkIHR5cGVzDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNz ZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTlM6DQoNClExLiAgQ29uc2lkZXIN Cg0KICAgTW9kdWxlIG0NCiAgICAgVHlwZSB0DQogICAgICAgUmVhbCxBbGxvY2F0YWJsZSA6 OiBjb1s6XQ0KICAgICBFbmQgVHlwZQ0KICAgICBUeXBlKHQpIHgNCiAgICAgUmVhbCxBbGxv Y2F0YWJsZSA6OiB4Y29bOl0NCiAgIENvbnRhaW5zDQogICAgIFN1YnJvdXRpbmUgZHViaW91 cw0KICAgICAgIFZvbGF0aWxlIHgNCiAgICAgICBWb2xhdGlsZSB4Y28NCiAgICAgICAuLi4N CiAgICAgRW5kIFN1YnJvdXRpbmUNCiAgIEVuZCBNb2R1bGUNCiAgIFByb2dyYW0gYmFkDQog ICAgIFVzZSBtDQogICAgIFZvbGF0aWxlIHgNCiAgICAgVm9sYXRpbGUgeGNvDQogICAgIC4u Lg0KICAgRW5kIFByb2dyYW0NCg0KNS4zLjE5IEM1NjAgc2F5cyAiVGhlIFZPTEFUSUxFIGF0 dHJpYnV0ZSBzaGFsbCBub3QgYmUgc3BlY2lmaWVkIGZvciBhDQpjb2FycmF5IHRoYXQgaXMg YWNjZXNzZWQgYnkgdXNlICgxMS4yLjIpIG9yIGhvc3QgKDE2LjUuMS40KQ0KYXNzb2NpYXRp b24uIg0KDQpUaGF0IG1lYW5zIHRoYXQgdGhlIHR3byAiVk9MQVRJTEUgWENPIiBzdGF0ZW1l bnRzIGFyZSBub3QgY29uZm9ybWluZy4NCkhvd2V2ZXIsIHRoZSAiVk9MQVRJTEUgWCIgc3Rh dGVtZW50cyBoYXZlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGVmZmVjdCwNCmJ1dCBhcmUgdW5h ZmZlY3RlZCBieSB0aGUgY29uc3RyYWludCwgd2hpY2ggc2VlbXMgaW5jb25zaXN0ZW50Lg0K DQpXYXMgdGhpcyBjb25zdHJhaW50IGFsc28gaW50ZW5kZWQgdG8gYXBwbHkgdG8gb2JqZWN0 cyB3aXRoIGNvYXJyYXkNCmNvbXBvbmVudHM/DQoNClEyLiAgQ29uc2lkZXINCg0KICAgIFBy b2dyYW0gYmxvY2t2b2xhdGlsZQ0KICAgICAgVHlwZSB0DQogICAgICAgIFJlYWwsQWxsb2Nh dGFibGUgOjogY29bOl0NCiAgICAgIEVuZCBUeXBlDQogICAgICBUeXBlKHQpIHgNCiAgICAg IFJlYWwsQWxsb2NhdGFibGUgOjogeGNvWzpdDQogICAgICAuLi4NCiAgICAgIEJsb2NrDQog ICAgICAgIFZvbGF0aWxlIHgNCiAgICAgICAgVm9sYXRpbGUgeGNvDQogICAgICBFbmQgQmxv Y2sNCg0KNS4zLjE5IEM1NjEgc2F5cyAiV2l0aGluIGEgQkxPQ0sgY29uc3RydWN0ICg4LjEu NCksIHRoZSBWT0xBVElMRQ0KYXR0cmlidXRlIHNoYWxsIG5vdCBiZSBzcGVjaWZpZWQgZm9y IGEgY29hcnJheSB0aGF0IGlzIG5vdCBhIGNvbnN0cnVjdA0KZW50aXR5ICgxNi40KSBvZiB0 aGF0IGNvbnN0cnVjdC4iDQoNClRoYXQgbWVhbnMgdGhhdCBWT0xBVElMRSBYQ08gaXMgbm90 IHN0YW5kYXJkLWNvbmZvcm1pbmcuICBIb3dldmVyLCB0aGUNCmNvbnN0cmFpbnQgYXBwYXJl bnRseSBkb2VzIG5vdCBhcHBseSB0byBYLCBzbyBWT0xBVElMRSBYIGlzIHN0YW5kYXJkLQ0K Y29uZm9ybWluZywgZXZlbiB0aG91Z2ggaXQgaGFzIGVzc2VudGlhbGx5IHRoZSBzYW1lIGVm ZmVjdCBhcyB0aGUNCmZvcmJpZGRlbiBjYXNlLg0KDQpXYXMgdGhpcyBjb25zdHJhaW50IGlu dGVuZGVkIGFsc28gdG8gYXBwbHkgdG8gb2JqZWN0cyB3aXRoIGNvYXJyYXkNCmNvbXBvbmVu dHM/DQoNClEzLiA1LjMuMTlwMSBzYXlzICJBIG5vbmNvYXJyYXkgb2JqZWN0IHRoYXQgaGFz IHRoZSBWT0xBVElMRSBhdHRyaWJ1dGUNCiAgICBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGFu IG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgdGhlIFZPTEFUSUxFDQogICAgYXR0cmlidXRl Li4uIjsgZG9lcyB0aGlzIGFwcGx5IHRvIG9iamVjdHMgd2l0aCBhIGNvYXJyYXkgY29tcG9u ZW50Pw0KDQpRNC4gMTIuNC4yLjJwMSBzYXlzICJBIHByb2NlZHVyZSBvdGhlciB0aGFuIGEg c3RhdGVtZW50IGZ1bmN0aW9uIHNoYWxsDQogICAgaGF2ZSBhbiBleHBsaWNpdCBpbnRlcmZh Y2UgaWYgaXQgaXMgcmVmZXJlbmNlZCBhbmQgLi4uICgyKSB0aGUNCiAgICBwcm9jZWR1cmUg aGFzIGEgZHVtbXkgYXJndW1lbnQgdGhhdCAuLi4gKGMpIGlzIGEgY29hcnJheSwgLi4uLiIN Cg0KICAgIElzIHRoaXMgaW50ZW5kZWQgYWxzbyB0byBhcHBseSB0byBvYmplY3RzIHdpdGgg Y29hcnJheSBjb21wb25lbnRzPw0KDQpRNS4gIENvbnNpZGVyOg0KDQogICAgUHJvZ3JhbSB2 b2xhdGlsaXR5DQogICAgICBUeXBlIHQNCiAgICAgICAgUmVhbCxBbGxvY2F0YWJsZSA6OiBj b1s6XQ0KICAgICAgRW5kIFR5cGUNCiAgICAgIFR5cGUodCkgOjogeA0KICAgICAgVHlwZSh0 KSxWb2xhdGlsZSA6OiB5DQogICAgICAuLi4NCiAgICAgIENhbGwgczEoeCkNCiAgICAgIENh bGwgczIoeCkgISBEdW1teSBpcyB2b2xhdGlsZSwgWCBpcyBub3QuDQogICAgICBDYWxsIHMx KHkpICEgWSBpcyB2b2xhdGlsZSwgZHVtbXkgaXMgbm90Lg0KICAgICAgQ2FsbCBzMih5KQ0K ICAgIENvbnRhaW5zDQogICAgICBTdWJyb3V0aW5lIHMxKGEpDQogICAgICAgIFR5cGUodCkg OjogYQ0KICAgICAgICAuLi4NCiAgICAgIEVuZCBTdWJyb3V0aW5lDQogICAgICBTdWJyb3V0 aW5lIHMyKGIpDQogICAgICAgIFR5cGUodCksVm9sYXRpbGUgOjogYg0KICAgICAgICAuLi4N CiAgICAgIEVuZCBTdWJyb3V0aW5lDQogICAgRW5kIFByb2dyYW0NCg0KMTIuNS4yLjhwMSBz YXlzICJJZiB0aGUgZHVtbXkgYXJndW1lbnQgaXMgYSBjb2FycmF5LCB0aGUgY29ycmVzcG9u ZGluZw0KYWN0dWFsIGFyZ3VtZW50IHNoYWxsIGJlIGEgY29hcnJheSBhbmQgc2hhbGwgaGF2 ZSB0aGUgVk9MQVRJTEUNCmF0dHJpYnV0ZSBpZiBhbmQgb25seSBpZiB0aGUgZHVtbXkgYXJn dW1lbnQgaGFzIHRoZSBWT0xBVElMRQ0KYXR0cmlidXRlLiINCg0KVGhhdCBtZWFucyB0aGF0 IGlmIHRoZSBwcm9ncmFtIHdlcmUgcGFzc2luZyB0aGUgY29tcG9uZW50IENPIGRpcmVjdGx5 DQooYW5kIHRoZSBUWVBFKFQpIGRlY2xhcmF0aW9ucyBpbiBTMSBhbmQgUzIgd2VyZSBjaGFu Z2VkIHRvIFJFQUwpLCB0aGUNCnNlY29uZCBhbmQgdGhpcmQgY2FsbHMgd291bGQgbm90IGJl IGNvbmZvcm1pbmcgYmVjYXVzZSBvZiB0aGUgVk9MQVRJTEUNCm1pc21hdGNoLg0KDQpJdCBz ZWVtcyBpbmNvbnNpc3RlbnQgdGhhdCB0aGVyZSBpcyBubyByZXF1aXJlbWVudCBmb3IgVk9M QVRJTEUgdG8NCm1hdGNoIHdoZW4gdGhlcmUgYXJlIGNvYXJyYXkgY29tcG9uZW50cywgc2lu Y2UgaXQgaGFzIHRoZSBzYW1lIGVmZmVjdA0KdGhhdCBYJUNPIGlzIFZPTEFUSUxFIGluIFMy IGJ1dCBub3QgaW4gdGhlIGNhbGxlciwgYW5kIFklQ08gaXMNClZPTEFUSUxFIGluIHRoZSBj YWxsZXIgYnV0IG5vdCBpbiBTMS4NCg0KV2FzIHRoaXMgcmVxdWlyZW1lbnQgYWxzbyBpbnRl bmRlZCB0byBhcHBseSB0byBvYmplY3RzIHdpdGggY29hcnJheQ0KY29tcG9uZW50cz8NCg0K UTYuIDEyLjguMSBDMTI4OSBzYXlzICJBbGwgZHVtbXkgYXJndW1lbnRzIG9mIGFuIGVsZW1l bnRhbCBwcm9jZWR1cmUNCiAgICBzaGFsbCBiZSBzY2FsYXIgbm9uY29hcnJheSBkdW1teSBk YXRhIG9iamVjdHMgYW5kIHNoYWxsIG5vdCBoYXZlDQogICAgdGhlIFBPSU5URVIgb3IgQUxM T0NBVEFCTEUgYXR0cmlidXRlLiINCg0KICAgIElzIHRoaXMgaW50ZW5kZWQgYWxzbyB0byBh cHBseSB0byBvYmplY3RzIHdpdGggY29hcnJheSBjb21wb25lbnRzPw0KDQpBTlNXRVI6DQoN CkExLiBZZXMsIHRoaXMgY29uc3RyYWludCB3YXMgaW50ZW5kZWQgdG8gYXBwbHkgdG8gb2Jq ZWN0cyB3aXRoIGNvYXJyYXkNCiAgICBjb21wb25lbnRzLiAgQW4gZWRpdCBpcyBzdXBwbGll ZCB0byBjb3JyZWN0IHRoaXMgb21pc3Npb24uDQoNCkEyLiBZZXMsIHRoaXMgY29uc3RyYWlu dCB3YXMgaW50ZW5kZWQgdG8gYXBwbHkgdG8gb2JqZWN0cyB3aXRoIGNvYXJyYXkNCiAgICBj b21wb25lbnRzLiAgQW4gZWRpdCBpcyBzdXBwbGllZCB0byBjb3JyZWN0IHRoaXMgb21pc3Np b24uDQoNCkEzLiBObywgdGhpcyBkb2VzIG5vdCBhcHBseSB0byBvYmplY3RzIHdpdGggY29h cnJheSBjb21wb25lbnRzLCBhcw0KICAgIHRoZXJlIGlzIG5vIHdheSBvZiBnaXZpbmcgdGhl IG5vbmNvYXJyYXkgcGFydHMgb2YgdGhlIG9iamVjdCB0aGUNCiAgICBWT0xBVElMRSBhdHRy aWJ1dGUgd2l0aG91dCBnaXZpbmcgdGhlIGNvYXJyYXkgcGFydCB0aGUgVk9MQVRJTEUNCiAg ICBhdHRyaWJ1dGUsIHdoaWNoIGlzIGZvcmJpZGRlbi4gIFRoYXQgdGhlIHF1b3RlZCB0ZXh0 IGdpdmVzDQogICAgcGVybWlzc2lvbiBmb3IgYSBub25jb2FycmF5IHRvIGhhdmUgdGhlIFZP TEFUSUxFIGF0dHJpYnV0ZSBkb2VzDQogICAgbm90IG92ZXJyaWRlIGFueSBvdGhlciByZXF1 aXJlbWVudHMgaW4gdGhlIHN0YW5kYXJkLg0KDQpBNC4gTm8uICBBIGR1bW15IGFyZ3VtZW50 IHRoYXQgaGFzIGEgY29hcnJheSBjb21wb25lbnQgaXMgc3RpbGwganVzdA0KICAgIGFuIG9y ZGluYXJ5IGR1bW15IGFyZ3VtZW50LCBzbyB0aGlzIHRleHQgZG9lcyBub3QgYXBwbHkuDQoN CkE1LiBZZXMsIHRoaXMgcmVxdWlyZW1lbnQgd2FzIGludGVuZGVkIHRvIGFwcGx5IHRvIG9i amVjdHMgd2l0aA0KICAgIGNvYXJyYXkgY29tcG9uZW50cy4gIEFuIGVkaXQgaXMgc3VwcGxp ZWQgdG8gY29ycmVjdCB0aGlzIG9taXNzaW9uLg0KDQpBNi4gTm8uICBBIGR1bW15IGFyZ3Vt ZW50IHRoYXQgaGFzIGEgY29hcnJheSBjb21wb25lbnQgaXMgc3RpbGwganVzdA0KICAgIGFu IG9yZGluYXJ5IGR1bW15IGFyZ3VtZW50LCBzbyB0aGlzIHRleHQgZG9lcyBub3QgYXBwbHku DQoNCkVESVRTOg0KDQpbMTAyOjldIDUuMy4xOSBWT0xBVElMRSBhdHRyaWJ1dGUsIEM1NjAs DQogICAgICAgIEJldHdlZW4gImZvciBhIGNvYXJyYXkiIGFuZCAidGhhdCBpcyBhY2Nlc3Nl ZCBieSB1c2Ugb3IiDQogICAgICAgIGluc2VydCAiLG9yIGEgdmFyaWFibGUgd2l0aCBhIGNv YXJyYXkgdWx0aW1hdGUgY29tcG9uZW50LCIuDQp7QTEufQ0KDQpbMTAyOjExXSA1LjMuMTkg Vk9MQVRJTEUgYXR0cmlidXRlLCBDNTYxLA0KICAgICAgICAgQmV0d2VlbiAiZm9yIGEgY29h cnJheSIgYW5kICJ0aGF0IGlzIG5vdCBhIGNvbnN0cnVjdCBlbnRpdHkiDQogICAgICAgICBp bnNlcnQgIixvciBhIHZhcmlhYmxlIHdpdGggYSBjb2FycmF5IHVsdGltYXRlIGNvbXBvbmVu dCwiLg0Ke0EyLn0NCg0KWzI5NTo0K10gMTIuNS4yLjQgT3JkaW5hcnkgZHVtbXkgdmFyaWFi bGVzLCBwMTgrLA0KICAiSWYgdGhlIGR1bW15IGFyZ3VtZW50IGhhcyBhIGNvYXJyYXkgdWx0 aW1hdGUgY29tcG9uZW50LCB0aGUNCiAgIGNvcnJlc3BvbmRpbmcgYWN0dWFsIGFyZ3VtZW50 IHNoYWxsIGhhdmUgdGhlIFZPTEFUSUxFIGF0dHJpYnV0ZSBpZg0KICAgYW5kIG9ubHkgaWYg dGhlIGR1bW15IGFyZ3VtZW50IGhhcyB0aGUgVk9MQVRJTEUgYXR0cmlidXRlLiINCntBNS59 DQoNClNVQk1JVFRFRCBCWTogTmljayBNYWNsYXJlbg0KDQpISVNUT1JZOiAxNC0yMjggICAg bTIwNSAgRjA4LzAxMjIgc3VibWl0dGVkDQogICAgICAgICAxNC0yMjhyMSAgbTIwNSAgUmV2 aXNlZCBxdWVzdGlvbnMgd2l0aCBhbnN3ZXJzIC0gUGFzc2VkIGJ5IEozDQogICAgICAgICAg ICAgICAgICAgICAgICAgIG1lZXRpbmcNCiAgICAgICAgIDE1LTEyMSAgICBtMjA2ICBQYXNz ZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpO VU1CRVI6IEYwOC8wMTIzDQpUSVRMRTogU1BBQ0lORyBpbnRyaW5zaWMNCktFWVdPUkRTOiBT UEFDSU5HDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0 dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9n cmFtDQoNCiAgUHJvZ3JhbSB0ZXN0X3NwYWNpbmcNCiAgICBSZWFsIDo6IHgsIHksIHRpbnlf c3BhY2luZywgeg0KICAgIHggPSBUaW55KHgpDQogICAgeSAgPSBOZWFyZXN0KHgsMS4wKQ0K ICAgIHRpbnlfc3BhY2luZyA9IHkgLSB4DQogICAgSWYgKHRpbnlfc3BhY2luZz4wKSBUaGVu DQogICAgICAhIFByb2JhYmx5IElFRUUgYXJpdGhtZXRpYyB3aXRoIHN1Ym5vcm1hbHM6DQog ICAgICAhIHRoZSBzcGFjaW5nIHkgLSB4IGlzIHJlcHJlc2VudGFibGUuDQogICAgRWxzZQ0K ICAgICAgISBQcm9iYWJseSBubyBzdWJub3JtYWxzLCBzbyB5IC0geiBpcyBub3QgcmVwcmVz ZW50YWJsZS4NCiAgICAgIHRpbnlfc3BhY2luZyA9IFRpbnkoeCkNCiAgICBFbmQgSWYNCiAg ICB6ID0gU3BhY2luZyh4KQ0KICAgIElmICh6Lz10aW55X3NwYWNpbmcpIFRoZW4NCiAgICAg IFByaW50ICosJ0ZBSUwnDQogICAgRWxzZQ0KICAgICAgUHJpbnQgKiwnb2snDQogICAgRW5k IElmDQogIEVuZCBQcm9ncmFtDQoNCkZ1cnRoZXJtb3JlIGxldCB1cyBhc3N1bWUgdGhhdCB0 aGUgcHJvY2Vzc29yIHN1cHBvcnRzIElFRUUgYXJpdGhtZXRpYw0Kd2l0aCBzdWJub3JtYWxz LCBhbmQgdGhhdCBkZWZhdWx0IFJFQUwgaXMgSUVFRSBzaW5nbGUgcHJlY2lzaW9uLg0KDQpB Y2NvcmRpbmcgdG8gRm9ydHJhbiA5NSwgdGhlIHJlc3VsdCBmb3IgU1BBQ0lORyBpczoNCiAg IklmIFggaXMgbm90IHplcm8sIHRoZSByZXN1bHQgaGFzIHRoZSB2YWx1ZSBiKiooZS1wKSwg d2hlcmUgYiwgZSwNCiAgIGFuZCBwIGFyZSBhcyBkZWZpbmVkIGluIDEzLjcuMSBmb3IgdGhl IG1vZGVsIHJlcHJlc2VudGF0aW9uIG9mIFgsDQogICBwcm92aWRlZCB0aGlzIHJlc3VsdCBp cyB3aXRoaW4gcmFuZ2UuIg0KdGhlcmVmb3JlIHRoZSBwcm9ncmFtIGlzIGV4cGVjdGVkIHRv IHByaW50IHRoZSB2YWx1ZSAib2siLg0KDQpIb3dldmVyLCBhY2NvcmRpbmcgdG8gRm9ydHJh biAyMDA4LCB0aGUgcmVzdWx0IGZvciBTUEFDSU5HIGlzOg0KICAiSWYgWCBkb2VzIG5vdCBo YXZlIHRoZSB2YWx1ZSB6ZXJvIC4uLiwgdGhlIHJlc3VsdCBoYXMgdGhlIHZhbHVlDQogICBi KiptYXgoZS1wLGVtaW4tMSksIHdoZXJlIC4uLiINClVuc3VycHJpc2luZ2x5LCBlLXAgaXMg bm90IGVxdWFsIHRvIG1heChlLXAsZW1pbi0xKSBmb3Igc21hbGxpc2gNCm51bWJlcnMsIGFu ZCB0aGVyZWZvcmUgdGhlIHByb2dyYW0gd291bGQgYmUgZXhwZWN0ZWQgdG8gcHJpbnQgdGhl DQp2YWx1ZSAiRkFJTCIuICBIb3dldmVyLCB0aGVyZSBpcyBubyBzdWNoIGluY29tcGF0aWJp bGl0eSB3aXRoIEZvcnRyYW4NCjkwLzk1IGxpc3RlZCBpbiBjbGF1c2UgMSwgdGhlcmVmb3Jl IHRoZSBzdGFuZGFyZCBjb250cmFkaWN0cyBpdHNlbGYuDQooVGhlIHZhbHVlIHNwZWNpZmll ZCBpbiBGb3J0cmFuIDIwMDggYWxzbyBjb250cmFkaWN0cyB0aGUgRGVzY3JpcHRpb24NCm9m IHRoZSBmdW5jdGlvbiB3aGljaCBzYXlzICJTcGFjaW5nIG9mIG1vZGVsIG51bWJlcnMgKDEz LjQpIiwgc2luY2UNCml0IGRvZXMgbm90IGV2ZW4gYXR0ZW1wdCB0byByZXR1cm4gdGhhdCB2 YWx1ZS4pDQoNCklzIHRoZSBuZXcgc3BlY2lmaWNhdGlvbiBhIGRlbGliZXJhdGUgaW5jb21w YXRpYmlsaXR5IG9yIGEgbWlzdGFrZT8NCg0KRElTQ1VTU0lPTjoNCg0KVGhlIGRlc2NyaXB0 aW9uIG9mIFNQQUNJTkcgd2FzIGNoYW5nZWQgaW4gRm9ydHJhbiAyMDAzIGJ5IHBhcGVyDQow MS0zNjFyMiAiQ29tbWVudHMgb24gU2VjdGlvbiAxMyIsIHdoaWNoIGNvbnRhaW5zIG5vIGp1 c3RpZmljYXRpb24gZm9yDQp0aGlzIHRlY2huaWNhbCBjaGFuZ2UgYW5kIGluZGVlZCBkb2Vz IG5vdCBldmVuIG1lbnRpb24gaXQgaXMgYQ0KdGVjaG5pY2FsIGNoYW5nZSAtIHRoZXJlIGlz IGp1c3QgdGhlIGJhcmUgZWRpdCAoYnVyaWVkIGluIGEgaHVnZSBsaXN0DQpvZiBiYXJlIGVk aXRzKSB3aXRoIG5vIGluZGljYXRpb24gYXMgdG8gd2h5LiAgVGhpcyB3b3VsZCBzZWVtIHRv DQppbmRpY2F0ZSB0aGF0IHRoZSB0ZWNobmljYWwgY2hhbmdlIGlzIGFuIGluYWR2ZXJ0ZW50 IGVycm9yIChwcmVzdW1hYmx5DQp0aGUgcGFwZXIgc2ltcGx5IGZvcmdvdCBhYm91dCBzdWJu b3JtYWwgbnVtYmVycyBhbmQgYXNzdW1lZCB0aGUgbmV3DQpmb3JtdWxhIGdhdmUgdGhlIHNh bWUgcmVzdWx0IGFzIHRoZSBvbGQgb25lKS4NCg0KQU5TV0VSOg0KDQpUaGUgbmV3IHdvcmRp bmcgb2YgU1BBQ0lORyBpbmFkdmVydGVudGx5IGNoYW5nZWQgdGhlIHJldHVybiB2YWx1ZXMN CndoZW4gSUVFRSBzdWJub3JtYWwgdmFsdWVzIHdlcmUgYXZhaWxhYmxlLiAgQW4gZWRpdCBp cyBwcm92aWRlZCB0bw0KY29ycmVjdCB0aGlzIG1pc3Rha2UuDQoNCkVESVRTIHRvIDEwLTAw N3IxOg0KDQpbMzg5OjQtNV0gMTMuNy4xNTcgU1BBQ0lORyAoWCksIHA1IFJlc3VsdCBWYWx1 ZSwNCiAgICAgICAgICBDaGFuZ2UgIm1heChlLXAsZW1pbi0xKSIgdG8gImUtcCIsDQogICAg ICAgICAgQWZ0ZXIgInRoYXQgb2YgWCIgaW5zZXJ0DQogICAgICAgICAgICAiLCBwcm92aWRl ZCB0aGlzIHJlc3VsdCBpcyByZXByZXNlbnRhYmxlOyBvdGhlcndpc2UgdGhlDQogICAgICAg ICAgICAgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgVElOWSAoWCkuIiwNCiAgICAg ICAgICBDaGFuZ2UgIjsgaWYgdGhlcmUgYXJlIHR3byBzdWNoIHZhbHVlcyIgdG8NCiAgICAg ICAgICAiSWYgdGhlcmUgYXJlIHR3byBleHRlbmRlZCBtb2RlbCB2YWx1ZXMgZXF1YWxseSBu ZWFyIHRvIFgsIi4NCg0KVGhpcyBtYWtlcyB0aGUgd2hvbGUgcGFyYWdyYXBoIHJlYWQ6DQoN CiBJZiBYIGRvZXMgbm90IGhhdmUgdGhlIHZhbHVlIHplcm8gYW5kIGlzIG5vdCBhbiBJRUVF IGluZmluaXR5IG9yIE5hTiwNCiB0aGUgcmVzdWx0IGhhcyB0aGUgdmFsdWUgYioqKGUtcCks IHdoZXJlIGIsIGUsIGFuZCBwIGFyZSBhcyBkZWZpbmVkDQogaW4gMTMuNCBmb3IgdGhlIHZh bHVlIG5lYXJlc3QgdG8gWCBpbiB0aGUgbW9kZWwgZm9yIHJlYWwgdmFsdWVzIHdob3NlDQog a2luZCB0eXBlIHBhcmFtZXRlciBpcyB0aGF0IG9mIFgsIHByb3ZpZGVkIHRoaXMgcmVzdWx0 IGlzDQogcmVwcmVzZW50YWJsZTsgb3RoZXJ3aXNlIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUg YXMgdGhhdCBvZiBUSU5ZIChYKS4NCiBJZiB0aGVyZSBhcmUgdHdvIGV4dGVuZGVkIG1vZGVs IHZhbHVlcyBlcXVhbGx5IG5lYXIgdG8gWCwgdGhlIHZhbHVlDQogb2YgZ3JlYXRlciBhYnNv bHV0ZSB2YWx1ZSBpcyB0YWtlbi4gIElmIFggaGFzIHRoZSB2YWx1ZSB6ZXJvLCB0aGUNCiBy ZXN1bHQgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiBUSU5ZIChYKS4gIElmIFggaXMgYW4gSUVF RSBpbmZpbml0eSwNCiB0aGUgcmVzdWx0IGlzIGFuIElFRUUgTmFOLiAgSWYgWCBpcyBhbiBJ RUVFIE5hTiwgdGhlIHJlc3VsdCBpcyB0aGF0DQogTmFOLiINCg0Kd2hlcmUgImIqKihlLXAp IiByZXByZXNlbnRzIHRoZSB0eXBlc2V0dGluZyBvZiAkYl57ZS1wfSQuDQoNClNVQk1JVFRF RCBCWTogTWFsY29sbSBDb2hlbg0KDQpISVNUT1JZOiAxNC0yNjMgICAgbTIwNSAgRjA4LzAx MjMgc3VibWl0dGVkIC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTEyMSAg ICBtMjA2ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNC0yNzkNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTI0DQpUSVRMRTogQ29pbmRleGVkIG9iamVjdCB3 aXRoIHBvbHltb3JwaGljIHN1YmNvbXBvbmVudA0KS0VZV09SRDogQ29pbmRleGVkIG9iamVj dCwgcG9seW1vcnBoaWMgc3ViY29tcG9uZW50DQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RB VFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KUVVFU1RJT046DQoNCkNvbnNpZGVy IHRoZSBmb2xsb3dpbmcgdHlwZSBkZWZpbml0aW9ucyBhbmQgb2JqZWN0IGRlY2xhcmF0aW9u czoNCg0KICBUeXBlIHQxDQogICAgQ2xhc3MoKiksQWxsb2NhdGFibGUgOjogYmFkDQogIEVu ZCBUeXBlDQoNCiAgVHlwZSB0Mg0KICAgIFR5cGUodDEpLEFsbG9jYXRhYmxlIDo6IG9vcHMN CiAgRW5kIFR5cGUNCg0KICBUeXBlKHQxKSB4WypdDQogIFR5cGUodDIpIHlbKl0NCg0KRG8g dGhlIGZvbGxvd2luZyBzdWJyb3V0aW5lIGNhbGxzIGNvbmZvcm0gdG8gdGhlIEZvcnRyYW4g MjAwOCBzdGFuZGFyZD8NCg0KICBDYWxsIHMxKHhbMl0pDQogIENhbGwgczIoeVsyXSkNCg0K RElTQ1VTU0lPTjoNCg0KSWYgWVsyXSVPT1BTIGFuZCBZWzJdJU9PUFMlQkFEIGFyZSBib3Ro IGFsbG9jYXRlZCB0aGV5IGFyZSBzdWJvYmplY3RzLA0KYnV0IG9ubHkgT09QUyBpcyBhIHN1 YmNvbXBvbmVudCBvZiBZWzJdLiAgU2luY2UgT09QUyBpcyBub3QNCnBvbHltb3JwaGljIGFu ZCBCQUQgaXMgbm90IGEgc3ViY29tcG9uZW50LCB0aGlzIGNsZWFybHkgZG9lcyBub3QNCnZp b2xhdGUgQzYxNy4gIFRoYXQgc2VlbXMgaW5jb25zaXN0ZW50IHNpbmNlIGluIGJvdGggY2Fz ZXMgYSBjb3B5IG9mDQp0aGUgY29pbmRleGVkIHZhcmlhYmxlIHdvdWxkIG5lY2Vzc2FyaWx5 IGNvcHkgdGhlIHBvbHltb3JwaGljIEJBRA0KY29tcG9uZW50Lg0KDQpBTlNXRVI6DQoNClRo ZSBpbnRlbnQgb2YgQzYxNyB3YXMgdG8gcHJldmVudCBjb3B5aW5nIGEgcG9seW1vcnBoaWMg c3Vib2JqZWN0IG9mDQphIGNvaW5kZXhlZCBvYmplY3QuICBTaW5jZSBhIHN1Ym9iamVjdCBp cyBub3QgYWx3YXlzIGEgc3ViY29tcG9uZW50LA0KYW4gZWRpdCBpcyBwcm92aWRlZCB0byBj b3JyZWN0IHRoZSBtaXN0YWtlIG9mIHVzaW5nIHRoZSB0ZXJtDQoic3ViY29tcG9uZW50IiBp biBDNjE3Lg0KDQpFRElUUzoNCg0KWzY6NytdIEFmdGVyIDEuMy4zMy4yIHBhcmVudCBjb21w b25lbnQsIGluc2VydCBuZXcgdGVybQ0KICAiMS4zLjMzLjJhDQogICBwb3RlbnRpYWwgc3Vi b2JqZWN0IGNvbXBvbmVudA0KICAgbm9ucG9pbnRlciBjb21wb25lbnQsIG9yIHBvdGVudGlh bCBzdWJvYmplY3QgY29tcG9uZW50IG9mIGENCiAgIG5vbnBvaW50ZXIgY29tcG9uZW50Ig0K e1dlIG5lZWQgYSBuZXcgdGVybSB0byBkZXNjcmliZSB0aGlzIHByb3Blcmx5Ln0NCg0KWzEx OToxMyBDNjE3XSBSZXBsYWNlICJzdWJjb21wb25lbnQiDQogICAgICAgICAgICAgIHdpdGgg InBvdGVudGlhbCBzdWJvYmplY3QgY29tcG9uZW50Ii4NCg0KU1VCTUlUVEVEIEJZOiBWYW4g U255ZGVyDQoNCkhJU1RPUlk6IDE0LTI2MiAgICBtMjA1ICBGMDgvMDEyNCBzdWJtaXR0ZWQg LSBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMTUtMTIxICAgIG0yMDYgIFBhc3Nl ZCBieSBKMyBsZXR0ZXIgYmFsbG90IDE0LTI3OQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5V TUJFUjogRjA4LzAxMjYNClRJVExFOiBDYW4gY29ib3VuZHMgYmUgcmVmZXJlbmNlZCBpbiB0 aGUgc2FtZSB0eXBlIGRlY2xhcmF0aW9uPw0KS0VZV09SRFM6IENvYm91bmRzLCB0eXBlIGRl Y2xhcmF0aW9uDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMg bGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KRG8gdGhlIGZvbGxvd2luZyBkZWNsYXJh dGlvbnMgY29uZm9ybSB0byB0aGUgRm9ydHJhbiAyMDA4IHN0YW5kYXJkPw0KDQogIGludGVn ZXIgOjogQVs1LCpdID0gdWNvYm91bmQoYSwxKSApDQogIGludGVnZXIgOjogQ1s1LHVjb2Jv dW5kKGMsMSksKl0NCiAgaW50ZWdlciA6OiBCWzUsKl0sIENbdWNvYm91bmQoYiwxKSwqXSwg RCh1Y29ib3VuZChjLDEpKQ0KDQpBTlNXRVI6DQoNCjcuMS4xMXA4IHNheXMNCg0KICAiSWYg YSBzcGVjaWZpY2F0aW9uIGV4cHJlc3Npb24gaW5jbHVkZXMgYSBzcGVjaWZpY2F0aW9uIGlu cXVpcnkgdGhhdA0KICAgZGVwZW5kcyBvbiBhIHR5cGUgcGFyYW1ldGVyIG9yIGFuIGFycmF5 IGJvdW5kIG9mIGFuIGVudGl0eSBzcGVjaWZpZWQNCiAgIGluIHRoZSBzYW1lIDxzcGVjaWZp Y2F0aW9uLXBhcnQ+LCB0aGUgdHlwZSBwYXJhbWV0ZXIgb3IgYXJyYXkgYm91bmQNCiAgIHNo YWxsIGJlIHNwZWNpZmllZCBpbiBhIHByaW9yIHNwZWNpZmljYXRpb24gb2YgdGhlDQogICA8 c3BlY2lmaWNhdGlvbi1wYXJ0Pi4uLi4iDQoNClRoaXMgZG9lcyBub3QgZXN0YWJsaXNoIGFu IGludGVycHJldGF0aW9uIGZvciBhbnkgb2YgdGhlIGRlY2xhcmF0aW9ucy4NCg0KVGhlIGlu dGVudCBvZiBpbnRlcnByZXRhdGlvbiBGOTUvMDAwMDkwIHdhcyB0aGF0IHRoZSB0aGlyZCBv bmUgYmUNCmFsbG93ZWQsIHdoaWxlIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGJlIHByb2hpYml0 ZWQuDQoNCkVkaXRzIGFyZSBwcm92aWRlZCB0byBjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0Lg0K DQpFRElUUzoNCg0KWzEwLTAwN3IxOjE1MTo3LTggNy4xLjExcDhdIFJlcGxhY2UgIm9yIGFu IGFycmF5IGJvdW5kIiB3aXRoICIsIGFuIGFycmF5DQpib3VuZCwgb3IgYSBjb2FycmF5IGJv dW5kIi4gIFJlcGxhY2UgIm9yIGFycmF5IGJvdW5kIiB3aXRoICIsIGFycmF5DQpib3VuZCwg b3IgY29hcnJheSBib3VuZCIuDQoNClNVQk1JVFRFRCBCWTogVmFuIFNueWRlcg0KDQpISVNU T1JZOiAxNS0xMDIgICAgbTIwNiAgRjA4LzAxMjYgc3VibWl0dGVkDQogICAgICAgICAxNS0x MDJyMiAgbTIwNiAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTE4NyAgICBt MjA3ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNS0xNTkNCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTI3DQpUSVRMRTogTWF5IGFuIGluaXRpYWwgbGluZSBi ZWdpbiB3aXRoIGEgc2VtaWNvbG9uPw0KS0VZV09SRFM6IFNlbWljb2xvbg0KREVGRUNUIFRZ UEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVF U1RJT046DQoNClRoZSBJbnRyb2R1Y3Rpb24gdG8gSVNPL0lFQyAxNTM5LTE6MjAxMCwgcGFn ZSB4dmksIHN0YXRlcw0KICAiQSBsaW5lIGluIHRoZSBwcm9ncmFtIGlzIHBlcm1pdHRlZCB0 byBiZWdpbg0KICAgd2l0aCBhIHNlbWljb2xvbi4iDQoNClRoZXJlZm9yZSwgZG8gdGhlIGZv bGxvd2luZyAzIGxpbmVzIGNvbnN0aXR1dGUgYSB2YWxpZCBwcm9ncmFtLg0KO1BST0dSQU0g YmFkDQpQUklOVCAqLCdObycNCkVORCBQUk9HUkFNDQoNCkFOU1dFUjoNCg0KTm8sIHRoZSBl eGFtcGxlIGlzIG5vdCBhIHZhbGlkIHByb2dyYW0gYXMgaXQgZG9lcyBub3Qgc2F0aXNmeSB0 aGUNCnN5bnRheCBydWxlcyBhbmQgY29uc3RyYWludHMuICBBcyBzdGF0ZWQgaW4gMy4zLjIu NSBhbmQgMy4zLjMuNCwgYQ0Kc2VtaWNvbG9uIG1heSBiZSB1c2VkIHRvIHRlcm1pbmF0ZSBh IHN0YXRlbWVudC4gIFRoYXQgaXMgbm90IHRoZQ0KY2FzZSBpbiB0aGUgZXhhbXBsZSwgc2lu Y2UgdGhlcmUgaXMgbm8gc3RhdGVtZW50IGJlZm9yZSB0aGUgc2VtaWNvbG9uLg0KDQpUaGUg c2VtaWNvbG9uIGRvZXMgbm90IGFwcGVhciBhbnl3aGVyZSBlbHNlIGluIHRoZSBGb3J0cmFu IHN5bnRheCBhbmQNCnRoZXJlZm9yZSB0aGUgZXhhbXBsZSBkb2VzIG5vdCBjb25mb3JtLg0K DQpBbiBlZGl0IGlzIHN1cHBsaWVkIHRvIHRoZSBJbnRyb2R1Y3Rpb24gdG8gY2xhcmlmeSB0 aGUgY2hhbmdlIGluDQpGb3J0cmFuIDIwMDguDQoNCkVESVRTOg0KDQpbeHZpXSBSZXBsYWNl DQogICAgICAgICJBIGxpbmUgaW4gdGhlIHByb2dyYW0gaXMgcGVybWl0dGVkIHRvIGJlZ2lu IHdpdGggYSBzZW1pY29sb24uIg0KICAgICAgd2l0aA0KICAgICAgICAiQSBmcmVlIGZvcm0g Y29udGludWF0aW9uIGxpbmUgaXMgcGVybWl0dGVkIHRvIGJlZ2luIHdpdGggemVybw0KICAg ICAgICAgb3IgbW9yZSBibGFua3MgZm9sbG93ZWQgYnkgYSBzZW1pY29sb24uIg0KDQpTVUJN SVRURUQgQlk6IE1hbGNvbG0gQ29oZW4NCg0KSElTVE9SWTogMTUtMTA1ICAgIG0yMDYgIEYw OC8wMTI3IHN1Ym1pdHRlZCAtIHBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0x ODcgICAgbTIwNyAgUGFzc2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNS0x NTkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTI5DQpUSVRMRTogSXMg Q0xBU1ModHlwZSkgcmVxdWlyZWQgdG8gcmVmZXIgdG8gYSBwcmlvciB0eXBlIGRlZmluaXRp b24/DQpLRVlXT1JEUzogQ0xBU1MsIHR5cGUgZGVmaW5pdGlvbg0KREVGRUNUIFRZUEU6IEVy cmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046 DQoNCkRvZXMgdGhlIENMQVNTKFQpIGRlY2xhcmF0aW9uIG9mIFggaW4gdGhlIGZvbGxvd2lu ZyBjb25mb3JtPw0KDQpyZWN1cnNpdmUgc3Vicm91dGluZSBTICggTiwgWCApDQogIGludGVn ZXIgOjogTg0KICBjbGFzcyh0KSwgb3B0aW9uYWwgOjogWA0KICB0eXBlIDo6IFQNCiAgICBp bnRlZ2VyIDo6IFENCiAgZW5kIHR5cGUgVA0KLi4uDQoNCkFOU1dFUjoNCg0KQWx0aG91Z2gg c3ViY2xhdXNlIDQuMy4xLjMgZG9lcyBub3QgcmVxdWlyZSB0aGUgPGRlcml2ZWQtdHlwZS1z cGVjPiBpbiBhDQpDTEFTUyBzcGVjaWZpZXIgdG8gcmVmZXIgdG8gYSBwcmV2aW91c2x5LWRl ZmluZWQgdHlwZSwgaXQgd2FzIGludGVuZGVkDQp0aGF0IENMQVNTIGRlY2xhcmF0aW9ucyB3 aXRoIDxkZXJpdmVkLXR5cGUtc3BlYz4gYmUgcGFyYWxsZWwgdG8gVFlQRQ0KZGVjbGFyYXRp b25zLiAgSW4gYSBUWVBFIGRlY2xhcmF0aW9uICg0LjMuMS4yKSwgdGhlIHNwZWNpZmllZCBk ZXJpdmVkDQp0eXBlIGlzIHJlcXVpcmVkIHRvIGJlIHByZXZpb3VzbHkgZGVmaW5lZCwgb3Ig YWNjZXNzZWQgYnkgdXNlIG9yIGhvc3QNCmFzc29jaWF0aW9uLiAgVGhlcmVmb3JlIHRoZSBl eGFtcGxlIG91Z2h0IG5vdCB0byBjb25mb3JtLiAgRWRpdHMgYXJlDQpwcm92aWRlZCB0byBj b3JyZWN0IHRoaXMgb3ZlcnNpZ2h0Lg0KDQpFRElUUzoNCg0KWzEyLTAwNzo2KyA0LjMuMS4z cDErXSBJbnNlcnQgYSBwYXJhZ3JhcGg6DQoNCiJXaGVyZSBhIGRhdGEgZW50aXR5IG90aGVy IHRoYW4gYSBjb21wb25lbnQgaXMgZGVjbGFyZWQgZXhwbGljaXRseSB1c2luZw0KdGhlIENM QVNTIHNwZWNpZmllciB0byBiZSBvZiBkZXJpdmVkIHR5cGUsIHRoZSBzcGVjaWZpZWQgZGVy aXZlZCB0eXBlDQpzaGFsbCBoYXZlIGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LiAgSWYgdGhl IGRhdGEgZW50aXR5IGlzIGEgZnVuY3Rpb24NCnJlc3VsdCwgdGhlIGRlcml2ZWQgdHlwZSBt YXkgYmUgc3BlY2lmaWVkIGluIHRoZSBGVU5DVElPTiBzdGF0ZW1lbnQNCnByb3ZpZGVkIHRo ZSBkZXJpdmVkIHR5cGUgaXMgZGVmaW5lZCB3aXRoaW4gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0 aW9uIG9yDQppcyBhY2Nlc3NpYmxlIHRoZXJlIGJ5IHVzZSBvciBob3N0IGFzc29jaWF0aW9u LiAgSWYgdGhlIGRlcml2ZWQgdHlwZSBpcw0Kc3BlY2lmaWVkIGluIHRoZSBGVU5DVElPTiBz dGF0ZW1lbnQgYW5kIGlzIGRlZmluZWQgd2l0aGluIHRoZSBib2R5IG9mDQp0aGUgZnVuY3Rp b24sIGl0IGlzIGFzIGlmIHRoZSBmdW5jdGlvbiByZXN1bHQgdmFyaWFibGUgd2VyZSBkZWNs YXJlZA0Kd2l0aCB0aGF0IGRlcml2ZWQgdHlwZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhl IDxkZXJpdmVkLXR5cGUtZGVmPiBvZg0KdGhlIHNwZWNpZmllZCBkZXJpdmVkIHR5cGUuIg0K DQp7VGhpcyBpcyBlc3NlbnRpYWxseSBpZGVudGljYWwgdG8gNC4zLjEuMnAxLCBleGNlcHQg Zm9yIHRoZSByZXBsYWNlbWVudA0Kb2YgIlRZUEUiIHdpdGggIkNMQVNTIiBhbmQgdGhlIGFk ZGl0aW9uIG9mICJvdGhlciB0aGFuIGEgY29tcG9uZW50Ig0KKDQuMy4xLjJwMSBkb2VzIG5v dCBtZW50aW9uIGNvbXBvbmVudHMsIGJ1dCBpdCBvdWdodCB0byBiZWNhdXNlDQpvdGhlcndp c2UgaXQgd291bGQgY29udHJhZGljdCBDNDQwKSwgYnV0IHRoYXQncyBhIGRpZmZlcmVudCBx dWVzdGlvbi59DQoNClNVQk1JVFRFRCBCWTogVmFuIFNueWRlcg0KDQpISVNUT1JZOiAxNS0x MjcgICAgbTIwNiAgRjA4LzAxMjkgc3VibWl0dGVkDQogICAgICAgICAxNS0xMjdyMSAgbTIw NiAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTE4NyAgICBtMjA3ICBQYXNz ZWQgYXMgYW1lbmRlZCBieSBKMyBsZXR0ZXIgYmFsbG90IDE1LTE1OQ0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMzANClRJVExFOiBEb2VzIGNvYXJyYXkgYWxsb2Nh dGlvbiBzeW5jIGV2ZW4gd2l0aCBzdG9wcGVkIGltYWdlcz8NCktFWVdPUkRTOiBBTExPQ0FU RSwgREVBTExPQ0FURSwgY29hcnJheSwgc3luY2hyb25pemF0aW9uLCBzdG9wcGVkDQpERUZF Q1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0K DQpRVUVTVElPTjoNCg0KRXhhbXBsZSAxOiBDb25zaWRlciB0aGUgdHJpdmlhbCBwcm9ncmFt DQoNCiAgUHJvZ3JhbSBtMjA2YzdlMQ0KICAgIFVzZSBJc29fRm9ydHJhbl9FbnYNCiAgICBJ bXBsaWNpdCBOb25lDQogICAgUmVhbCwgQWxsb2NhdGFibGUgOjogeCg6KVs6XQ0KICAgIElu dGVnZXIgOjogbWVbKl0saQ0KICAgIEludGVnZXIgc3RhdA0KICAgIG1lID0gVGhpc19JbWFn ZSgpDQogICAgSWYgKE51bV9JbWFnZXMoKTwzKSBFcnJvciBTdG9wICdOZWVkIGF0IGxlYXN0 IDMgaW1hZ2VzJw0KICAgIElmIChtZT09MSkgVGhlbg0KICAgICAgU3RvcCAnSW1hZ2UgMSBp cyBub3cgc3RvcHBpbmcnDQogICAgRW5kIElmDQogICAgQWxsb2NhdGUoeCgxMDApWypdLFN0 YXQ9c3RhdCkNCiAgICAhDQogICAgSWYgKG1lPT0yKSBQcmludCAqLCdBcnJpdmVkJyAgICAg ICAgICAgICAgICAhKioqQQ0KICAgICENCiAgICBJZiAoc3RhdD09MCkgRXJyb3IgU3RvcCAn SU5DT05DRUlWQUJMRScNCiAgICBJZiAoc3RhdC89U3RhdF9TdG9wcGVkX0ltYWdlKSBFcnJv ciBTdG9wICdCYWQgU1RBVCcNCiAgICAhDQogICAgRG8gaT0xLE51bV9JbWFnZXMoKQ0KICAg ICAgSWYgKG1lW2ldLz1pKSBFcnJvciBTdG9wICdtZSBub3QgcmlnaHQ/JyAgISoqKkINCiAg ICBFbmQgRG8NCiAgRW5kIFByb2dyYW0NCg0KUTEuIE9uIGltYWdlcyBvdGhlciB0aGFuIGlt YWdlIDEsIGRvZXMgZXhlY3V0aW9uIGV2ZXIgcmVhY2ggdGhlDQogICAgc3RhdGVtZW50IHdp dGggY29tbWVudCAiISoqKkEiPw0KDQogICAgNi43LjEuMiBFeGVjdXRpb24gb2YgYW4gQUxM T0NBVEUgc3RhdGVtZW50LCBwNCBzYXlzDQogICAgICAiV2hlbiBhbiBBTExPQ0FURSBzdGF0 ZW1lbnQgaXMgZXhlY3V0ZWQgZm9yIHdoaWNoIGFuDQogICAgICAgYWxsb2NhdGUtb2JqZWN0 IGlzIGEgY29hcnJheSwgdGhlcmUgaXMgYW4gaW1wbGljaXQNCiAgICAgICBzeW5jaHJvbml6 YXRpb24gb2YgYWxsIGltYWdlcy4gIE9uIGVhY2ggaW1hZ2UsIGV4ZWN1dGlvbiBvZiB0aGUN CiAgICAgICBzZWdtZW50ICg4LjUuMikgZm9sbG93aW5nIHRoZSBzdGF0ZW1lbnQgaXMgZGVs YXllZCB1bnRpbCBhbGwNCiAgICAgICBvdGhlciBpbWFnZXMgaGF2ZSBleGVjdXRlZCB0aGUg c2FtZSBzdGF0ZW1lbnQgdGhlIHNhbWUgbnVtYmVyDQogICAgICAgb2YgdGltZXMuIg0KDQog ICAgVGhlIHNlY29uZCBzZW50ZW5jZSBzZWVtcyB0byBzYXkgdGhhdCBleGVjdXRpb24gb24g aW1hZ2VzPjEgaXMNCiAgICBkZWxheWVkIGZvcmV2ZXIsIHNpbmNlIGltYWdlIDEgd2lsbCBu ZXZlciBleGVjdXRlIHRoYXQgQUxMT0NBVEUNCiAgICBzdGF0ZW1lbnQuDQoNCkV4YW1wbGUg MjogQ29uc2lkZXIgdGhlIHByb2dyYW0NCg0KICBQcm9ncmFtIG0yMDZjN2UyDQogICAgVXNl IElzb19Gb3J0cmFuX0Vudg0KICAgIEltcGxpY2l0IE5vbmUNCiAgICBSZWFsKHJlYWwzMiks IEFsbG9jYXRhYmxlIDo6IHgoOiw6LDosOilbOl0seSg6LDosOiw6KQ0KICAgIEludGVnZXIg OjogbWVbKl0saQ0KICAgIEludGVnZXIgc3RhdA0KICAgIG1lID0gVGhpc19JbWFnZSgpDQog ICAgSWYgKE51bV9JbWFnZXMoKTwzKSBFcnJvciBTdG9wICdOZWVkIGF0IGxlYXN0IDMgaW1h Z2VzJw0KICAgIElmIChtZT09MSkgVGhlbg0KICAgICAgQWxsb2NhdGUoeSgxMDAwLDEwMDAs MTAwMCwxMDAwKSkgICAgICAgICAgICAgICAgISoqKkMNCiAgICBFbmQgSWYNCiAgICBBbGxv Y2F0ZSh4KDEwMDAsMTAwMCwxMDAwLDEwMDApWypdLFN0YXQ9c3RhdCkgICAgICEqKipEDQog ICAgIQ0KICAgIElmIChtZT09MSAuQW5kLiBzdGF0PT0wKSBFcnJvciBTdG9wICdJbmNvbmNl aXZhYmxlIScNCiAgICAhDQogICAgSWYgKHN0YXQ9PTApIFByaW50ICosICdBTExPQ0FURSBv ayBvbiBpbWFnZScsIG1lICAhKioqRQ0KICAgICENCiAgICBEbyBpPTEsTnVtX0ltYWdlcygp DQogICAgICBJZiAobWVbaV0vPWkpIEVycm9yIFN0b3AgJ21lIG5vdCByaWdodD8nICAgICAg ICAhKioqRg0KICAgIEVuZCBEbw0KICBFbmQgUHJvZ3JhbQ0KDQpGb3IgcHVycG9zZXMgb2Yg ZGlzY3Vzc2lvbiwgbGV0IHVzIGFzc3VtZSB0aGF0IGVhY2ggaW1hZ2UgaGFzIDYNClRlcmFi eXRlcyBvZiBtZW1vcnkgYXZhaWxhYmxlIHRvIGl0IGZvciBkeW5hbWljIGFsbG9jYXRpb24u DQoNClRoZSBBTExPQ0FURSBzdGF0ZW1lbnQgY29tbWVudGVkICIhKioqQyIgd2lsbCBhbGxv Y2F0ZSA0IHRlcmFieXRlcyBvZg0KbWVtb3J5IG9uIGltYWdlIDEuICBFeGVjdXRpb24gb2Yg dGhlIEFMTE9DQVRFIHN0YXRlbWVudCBjb21tZW50ZWQNCiIhKioqRCIgd2lsbCBhdHRlbXB0 IHRvIGFsbG9jYXRlIDQgdGVyYWJ5dGVzIG9uIGVhY2ggaW1hZ2U7IHRoaXMgd2lsbA0KZmFp bCBvbiBpbWFnZSAxIGFzIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxl LCBidXQgY291bGQNCnN1Y2NlZWQgb24gb3RoZXIgaW1hZ2VzLg0KDQpRMi4gSXMgdGhlIHN1 Y2Nlc3Mgb2YgYW4gQUxMT0NBVEUgc3RhdGVtZW50IHRoZSBzYW1lIG9uIGV2ZXJ5IGltYWdl LA0KICAgIG9yIG1heSBpdCBmYWlsIG9uIHNvbWUgaW1hZ2VzIGFuZCBzdWNjZWVkIG9uIG90 aGVycz8gIFRoYXQgaXMsDQogICAgbWlnaHQgdGhlIHN0YXRlbWVudCBjb21tZW50ZWQgIiEq KipFIiBleGVjdXRlIHRoZSBQUklOVCBvbiBzb21lDQogICAgaW1hZ2VzIChidXQgbm90IGFs bCkuDQoNClEyIGNvbnRpbnVhdGlvbjoNCiAgICBJZiB0aGUgYW5zd2VyIGlzIHRoYXQgdGhl IEFMTE9DQVRFIG11c3QgZWl0aGVyIHN1Y2NlZWQgb3IgZmFpbCBvbg0KICAgIGFsbCBpbWFn ZXMsIGNhbiB0aGUgU1RBVD0gdmFsdWUgZGlmZmVyIGJ5IGltYWdlIChmb3IgZXhhbXBsZSwN CiAgICBtaWdodCBhIHByb2Nlc3NvciByZXR1cm4gYSBkaWZmZXJlbnQgU1RBVD0gY29kZSBm b3IgIm5vIG1lbW9yeSBvbg0KICAgIHRoaXMgaW1hZ2UiIGFuZCAibm8gbWVtb3J5IG9uIHNv bWUgb3RoZXIgaW1hZ2UiKS4NCg0KRXhhbXBsZSAzOiBDb25zaWRlciB0aGUgcHJvZ3JhbQ0K DQogIFByb2dyYW0gbTIwNmM3ZTMNCiAgICBVc2UgSXNvX0ZvcnRyYW5fRW52DQogICAgSW1w bGljaXQgTm9uZQ0KICAgIFJlYWwsIEFsbG9jYXRhYmxlIDo6IHgoOilbOl0NCiAgICBJbnRl Z2VyIDo6IG1lWypdLGkNCiAgICBJbnRlZ2VyIHN0YXQNCiAgICBtZSA9IFRoaXNfSW1hZ2Uo KQ0KICAgIElmIChOdW1fSW1hZ2VzKCk8MykgRXJyb3IgU3RvcCAnTmVlZCBhdCBsZWFzdCAz IGltYWdlcycNCiAgICBJZiAobWU9PTEpIFRoZW4NCiAgICAgIENhbGwgZG9fc29tZXRoaW5n X3RoYXRfdGFrZXNfYV92ZXJ5X2xvbmdfdGltZQ0KICAgIEVuZCBJZg0KICAgIEFsbG9jYXRl KHgoMTAwKVsqXSxTdGF0PXN0YXQpICAgICAgICAgICAgICAgISoqKkcNCiAgICAhDQogICAg SWYgKHN0YXQ9PTApIEVycm9yIFN0b3AgJ0lOQ09OQ0VJVkFCTEUnDQogICAgIQ0KICAgIERv IGk9MSxOdW1fSW1hZ2VzKCkNCiAgICAgIElmIChtZVtpXS89aSkgRXJyb3IgU3RvcCAnbWUg bm90IHJpZ2h0PycgICEqKipIDQogICAgRW5kIERvDQogIEVuZCBQcm9ncmFtDQoNCkxldCB1 cyBpbWFnaW5lIHRoYXQgdGhlIHByb2Nlc3NvciBvcGVyYXRlcyBzb21lIGZvcm0gb2YgInRp bWVvdXQiDQptZWNoYW5pc20sIGZvciBleGFtcGxlLCBpZiBhbiBpbWFnZSBmYWlscyB0byBy ZWFjaCBhIHN5bmNocm9uaXphdGlvbg0KcG9pbnQgd2l0aGluIGFuIGhvdXIgb2YgdGhlIGZp cnN0IGltYWdlIHJlYWNoaW5nIHRoYXQgc3RhdGVtZW50LCBhbg0KZXJyb3IgaXMgcmV0dXJu ZWQuICAoSWYgdGhlIHNsb3cgaW1hZ2Ugc3Vic2VxdWVudGx5IHJlYWNoZXMgdGhhdA0Kc3Rh dGVtZW50LCBvbmUgbWlnaHQgY29uamVjdHVyZSB0aGF0IGl0IHdpbGwgYWxzbyBnZXQgYW4g ZXJyb3IsIGJ1dA0KcHJvYmFibHkgU1RBVF9ZT1VfQVJFX1RPT19TTE9XIHJhdGhlciB0aGFu IFNUQVRfVElNRU9VVCkuDQoNCkluIHRoZSBleGFtcGxlIGFib3ZlLCBsZXQgdXMgYXNzdW1l IHRoYXQgdGhlIEFMTE9DQVRFIHN0YXRlbWVudA0KY29tbWVudGVkICIhKioqRyIgZmFpbHMs IGUuZy4gd2l0aCBhIHRpbWVvdXQgZXJyb3IgYXMgd2UgaW1hZ2luZWQgYWJvdmUuDQoNClEz LiBBZnRlciByZXNvbHV0aW9uIG9mIHF1ZXN0aW9uIDEsIHdoaWNoIGltYWdlcyBhcmUgc3lu Y2hyb25pemVkDQogICAgYWZ0ZXIgZXhlY3V0aW9uIG9mIGFuIEFMTE9DQVRFIHN0YXRlbWVu dCB0aGF0IGZhaWxzPyAgVGhhdCBpcywNCiAgICBpcyBleGVjdXRpb24gb2YgdGhlIHN0YXRl bWVudHMgY29tbWVudGVkICIhKioqQiIgKGluIFExKSwgIiEqKipGIg0KICAgIChpbiBRMikg YW5kICIhKioqSCIgKGFib3ZlKSBwZXJtaXR0ZWQsIG9yIGFyZSB0aGV5IGltcGVybWlzc2li bGUNCiAgICByZWZlcmVuY2VzIHRvIHZhcmlhYmxlcyBpbiB1bm9yZGVyZWQgc2VnbWVudHM/ DQoNCiAgICBJbiB0aGUgY2FzZSBvZiAiISoqKkIiLCBvbmUgbWlnaHQgY29uamVjdHVyZSB0 aGF0IGFsbCB0aGUNCiAgICBub24tc3RvcHBlZCBpbWFnZXMgYXJlIHN5bmNocm9uaXplZC4N Cg0KICAgIEluIHRoZSBjYXNlIG9mICIhKioqRiIgdGhlIHRleHQgb2YgdGhlIHN0YW5kYXJk IGFwcGVhcnMgdG8gcmVxdWlyZQ0KICAgIHRoYXQgaW1hZ2UgMSBoYXMgdG8gd2FpdCBmb3Ig YWxsIHRoZSBvdGhlciBpbWFnZXMsIGJ1dCBpdCBtaWdodA0KICAgIGVxdWFsbHkgYmUgY29u amVjdHVyZWQgdGhhdCB0aGF0IGlzIGEgbWlzdGFrZSBhbmQgdGhhdCBzaW5jZSBpdA0KICAg IGtub3dzIHN0cmFpZ2h0YXdheSB0aGF0IGl0IGNhbm5vdCBzYXRpc2Z5IHRoZSBtZW1vcnkg YWxsb2NhdGlvbiBpdA0KICAgIHNob3VsZCBiZSBhbGxvd2VkIHRvIHJldHVybiBzdHJhaWdo dGF3YXkgd2l0aG91dCBzeW5jaHJvbml6aW5nLA0KICAgIGkuZS4gdGhlICIhKioqRiIgaXMg bm90IGFsbG93ZWQuDQoNCiAgICBJbiB0aGUgY2FzZSBvZiAiISoqKkgiLCBpbWFnZSAxIGhh cyBzdGlsbCBub3QgZXZlbiByZWFjaGVkIHRoZQ0KICAgIEFMTE9DQVRFIHN0YXRlbWVudCAo YWZ0ZXIgYW4gaG91ciBvZiB0aGUgb3RoZXJzIHdhaXRpbmcpLCBzbyBpdA0KICAgIHdvdWxk IHNlZW0gdGhhdCBpdCBpcyBpbXBvc3NpYmxlIGZvciBpdCB0byBoYXZlIHN5bmNocm9uaXpl ZCBhcw0KICAgIHJlcXVpcmVkIGJ5IHRoZSBzdGFuZGFyZCwgYW5kIHRoZXJlZm9yZSB0aGF0 IChmb3IgaT09MSBhdCBsZWFzdCkNCiAgICB0aGUgZXhlY3V0aW9uIG9mICIhKioqSCIgaXMg bm90IGFsbG93ZWQuDQoNClE0LiBXaGVuIGFsbG9jYXRpb24gb2YgYSBjb2FycmF5IGlzIGlu dm9sdmVkLCBhbmQgYW4gZXJyb3Igb2NjdXJzDQogICAgKGUuZy4gYXMgaW4gdGhlIGV4YW1w bGVzIGFib3ZlLCBwbHVzIG90aGVyIGNhc2VzKSwgdW5kZXIgd2hhdA0KICAgIHNpdHVhdGlv bnMgZG9lcyB0aGUgY29hcnJheSBpbiBxdWVzdGlvbiBiZWNvbWUgYWxsb2NhdGVkPw0KDQog ICAgSW4gcGFydGljdWxhciwgY2FuIGEgY29hcnJheSBiZSBhbGxvY2F0ZWQgb24gc29tZSBp bWFnZXMgYnV0IG5vdA0KICAgIG90aGVycz8gIElmIHRoZSBhbnN3ZXIgaXMgdGhhdCB0aGUg Y29hcnJheSBuZXZlciBiZWNvbWVzDQogICAgYWxsb2NhdGVkLCB0aGF0IG1lYW5zIHRoYXQg aW4gdGhlIGNhc2Ugb2YgYSBzdG9wcGVkIGltYWdlLCB0aGUNCiAgICByZW1haW5pbmcgaW1h Z2VzIGNhbm5vdCBhbGxvY2F0ZSBhbnkgY29hcnJheS4NCg0KUTUuIERvIHRoZSBhbnN3ZXJz IHRvIFExLVE0IGFsc28gYXBwbHkgdG8gREVBTExPQ0FURSBzdGF0ZW1lbnRzPw0KDQpBTlNX RVI6DQoNCkExLiBJbiB0aGUgY2FzZSBvZiBzdG9wcGVkIGltYWdlcywgdGhlIHJlcXVpcmVt ZW50IGluIDYuNy4xLjIgd2FzIG9ubHkNCiAgICBpbnRlbmRlZCB0byBhcHBseSB0byB0aGUg bm9uLXN0b3BwZWQgaW1hZ2VzLiAgQW4gZWRpdCBpcyBwcm92aWRlZA0KICAgIHRvIGNvcnJl Y3QgdGhpcyBtaXN0YWtlLg0KDQpBMi4gQWxsb2NhdGlvbiBvZiBhIGNvYXJyYXkgd2FzIGlu dGVuZGVkIG9ubHkgdG8gc3VjY2VlZCBpZiBpdA0KICAgIHN1Y2NlZWRzIG9uIGFsbCBpbWFn ZXMuICBBbiBlZGl0IGlzIHByb3ZpZGVkIHRvIGFkZCB0aGlzIG1pc3NpbmcNCiAgICByZXF1 aXJlbWVudC4NCihBMiBjb250aW51YXRpb24pDQogICAgVGhlcmUgd2FzIG5vdCBpbnRlbmRl ZCB0byBiZSBhbnkgcmVxdWlyZW1lbnQgdGhhdCBhIG5vbnplcm8gU1RBVD0NCiAgICB2YWx1 ZSBiZSB0aGUgc2FtZSBvbiBlYWNoIGltYWdlLiAgTm8gZWRpdCBpcyBwcm92aWRlZCB0byBh ZGQgc3VjaA0KICAgIGEgcmVxdWlyZW1lbnQuDQoNCkEzLiBBZnRlciBleGVjdXRpb24gb2Yg YW4gQUxMT0NBVEUgc3RhdGVtZW50IHRoYXQgcmV0dXJucyBhbiBlcnJvcg0KICAgIG90aGVy IHRoYW4gU1RBVF9TVE9QUEVEX0lNQUdFLCB0aGVyZSB3YXMgbm90IGludGVuZGVkIHRvIGJl IGFueQ0KICAgIHJlcXVpcmVtZW50IGZvciBzeW5jaHJvbml6YXRpb24uICBBbiBlZGl0IGlz IHByb3ZpZGVkIHRvIGNvcnJlY3QNCiAgICB0aGlzIG1pc3Rha2UuDQoNCkE0LiBUaGUgY29h cnJheSBjYW4gYmVjb21lIGFsbG9jYXRlZCBvbiBhbiBpbWFnZSBpZiBhbmQgb25seSBpZiBp dCBjYW4NCiAgICBiZWNvbWUgYWxsb2NhdGVkIG9uIGFsbCBvdGhlciBpbWFnZXMuICBBbiBl ZGl0IGlzIHByb3ZpZGVkIHRvIGFkZA0KICAgIHRoaXMgcmVxdWlyZW1lbnQuICBUaGUgY29u c2VxdWVuY2UgaW4gdGhlIGNhc2Ugb2YgYSBzdG9wcGVkIGltYWdlDQogICAgaXMgaW5kZWVk IHRoYXQgbm8gaW1hZ2UgY2FuIHN1YnNlcXVlbnRseSBjaGFuZ2UgdGhlIGFsbG9jYXRpb24N CiAgICBzdGF0dXMgb2YgYW55IGNvYXJyYXkuDQoNCkE1LiBZZXMsIHRoZSBhbnN3ZXJzIGFs c28gYXBwbHkgdG8gREVBTExPQ0FURSBzdGF0ZW1lbnRzLg0KICAgIENvcnJlc3BvbmRpbmcg ZWRpdHMgYXJlIHN1cHBsaWVkLg0KDQpFRElUUzoNCg0KWzEyODoxNi0xN10gNi43LjEuMiBF eGVjdXRpb24gb2YgYW4gQUxMT0NBVEUgc3RhdGVtZW50LCBwNCwNCiAgQ2hhbmdlICJPbiBl YWNoIGltYWdlIg0KICB0byAgICAgIklmIG5vIGVycm9yIGNvbmRpdGlvbiBhcGFydCBmcm9t IFNUQVRfU1RPUFBFRF9JTUFHRSBvY2N1cnMsIg0KICBDaGFuZ2UgImFsbCBvdGhlciBpbWFn ZXMiDQogIHRvICAgICAiYWxsIG5vbi1zdG9wcGVkIGltYWdlcyIsDQp7QTEsQTM6IFN5bmNo cm9uaXphdGlvbiBvbmx5IGFwcGxpZXMgdG8gc3VjY2Vzc2Z1bCBhbGxvY2F0aW9ucyBhbmQg dG8NCiAgICAgICAgIGFsbG9jYXRpb25zIHRoYXQgZmFpbCBvbmx5IGR1ZSB0byBTVEFUX1NU T1BQRURfSU1BR0UufQ0KICBBcHBlbmQgYSBzZW50ZW5jZSByZXF1aXJpbmcgYWxsb2NhdGlv biBzdWNjZXNzIGNvbnNpc3RlbmN5IGZvcg0KICBjb2FycmF5cywgbWFraW5nIHRoZSB3aG9s ZSBwYXJhZ3JhcGggcmVhZDoNCiAgICAiV2hlbiBhbiBBTExPQ0FURSBzdGF0ZW1lbnQgaXMg ZXhlY3V0ZWQgZm9yIHdoaWNoIGFuDQogICAgIDxhbGxvY2F0ZS1vYmplY3Q+IGlzIGEgY29h cnJheSwgdGhlcmUgaXMgYW4gaW1wbGljaXQNCiAgICAgc3luY2hyb25pemF0aW9uIG9mIGFs bCBpbWFnZXMuICBJZiBubyBlcnJvciBjb25kaXRpb24gYXBhcnQgZnJvbQ0KICAgICBTVEFU X1NUT1BQRURfSU1BR0Ugb2NjdXJzLCBleGVjdXRpb24gb2YgdGhlIHNlZ21lbnQgZm9sbG93 aW5nIHRoZQ0KICAgICBzdGF0ZW1lbnQgaXMgZGVsYXllZCB1bnRpbCBhbGwgbm9uLXN0b3Bw ZWQgaW1hZ2VzIGhhdmUgZXhlY3V0ZWQNCiAgICAgdGhlIHNhbWUgc3RhdGVtZW50IHRoZSBz YW1lIG51bWJlciBvZiB0aW1lcy4gIFRoZSBjb2FycmF5IHNoYWxsDQogICAgIG5vdCBiZWNv bWUgYWxsb2NhdGVkIG9uIGFuIGltYWdlIHVubGVzcyBpdCBpcyBzdWNjZXNzZnVsbHkNCiAg ICAgYWxsb2NhdGVkIG9uIGFsbCBpbWFnZXMuIg0Ke0EyLEE0OiBMYXN0IHNlbnRlbmNlIGlz IHRoZSBjb25zaXN0ZW5jeSByZXF1aXJlbWVudC59DQoNClsxMzE6MTctMThdIDYuNy4zLjIg RGVhbGxvY2F0aW9uIG9mIGFsbG9jYXRhYmxlIHZhcmlhYmxlcywgcDExLA0KICBDaGFuZ2Ug Ik9uIGVhY2ggaW1hZ2UiDQogIHRvICAgICAiSWYgbm8gZXJyb3IgY29uZGl0aW9uIG90aGVy IHRoYW4gU1RBVF9TVE9QUEVEX0lNQUdFIG9jY3VycywiDQogIENoYW5nZSAiYWxsIG90aGVy IGltYWdlcyINCiAgdG8gICAgICJhbGwgbm9uLXN0b3BwZWQgaW1hZ2VzIiwNCiAgQXBwZW5k IGEgc2VudGVuY2UgcmVxdWlyaW5nIGRlYWxsb2NhdGlvbiBjb25zaXN0ZW5jeSwgbWFraW5n IHRoZQ0KICB3aG9sZSBwYXJhZ3JhcGggcmVhZDoNCiAgICAiV2hlbiBhIERFQUxMT0NBVEUg c3RhdGVtZW50IGlzIGV4ZWN1dGVkIGZvciB3aGljaCBhbg0KICAgICA8YWxsb2NhdGUtb2Jq ZWN0PiBpcyBhIGNvYXJyYXksIHRoZXJlIGlzIGFuIGltcGxpY2l0DQogICAgIHN5bmNocm9u aXphdGlvbiBvZiBhbGwgaW1hZ2VzLiAgSWYgbm8gZXJyb3IgY29uZGl0aW9uIG90aGVyDQog ICAgIHRoYW4gU1RBVF9TVE9QUEVEX0lNQUdFIG9jY3VycywNCiAgICAgZXhlY3V0aW9uIG9m IHRoZSBzZWdtZW50ICg4LjUuMikgZm9sbG93aW5nIHRoZSBzdGF0ZW1lbnQgaXMNCiAgICAg ZGVsYXllZCB1bnRpbCBhbGwgbm9uLXN0b3BwZWQgaW1hZ2VzIGhhdmUgZXhlY3V0ZWQgdGhl IHNhbWUNCiAgICAgc3RhdGVtZW50IHRoZSBzYW1lIG51bWJlciBvZiB0aW1lcy4gIElmIHRo ZSBjb2FycmF5IGlzIGEgZHVtbXkNCiAgICAgYXJndW1lbnQsIGl0cyB1bHRpbWF0ZSBhcmd1 bWVudCAoMTIuNS4yLjMpIHNoYWxsIGJlIHRoZSBzYW1lDQogICAgIGNvYXJyYXkgb24gZXZl cnkgaW1hZ2UuICBUaGUgY29hcnJheSBzaGFsbCBub3QgYmVjb21lIGRlYWxsb2NhdGVkDQog ICAgIG9uIGFuIGltYWdlIHVubGVzcyBpdCBpcyBzdWNjZXNzZnVsbHkgZGVhbGxvY2F0ZWQg b24gYWxsIGltYWdlcy4iDQoNClNVQk1JVFRFRCBCWTogTWFsY29sbSBDb2hlbg0KDQpISVNU T1JZOiAxNS0xMzMgICAgbTIwNiAgRjA4LzAxMzAgc3VibWl0dGVkDQogICAgICAgICAxNS0x MzNyMSAgbTIwNiAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTE4NyAgICBt MjA3ICBQYXNzZWQgYXMgYW1lbmRlZCBieSBKMyBsZXR0ZXIgYmFsbG90IDE1LTE1OQ0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMzENClRJVExFOiBBcmUgdGhlIGNo YW5nZXMgdG8gQ19MT0MgaW4gdGhlIDIwMTAgcmV2aXNpb24gaW50ZW50aW9uYWw/DQpLRVlX T1JEUzogQ19MT0MsIGludGVyb3BlcmFiaWxpdHkNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpT VEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFVRVNUSU9OOg0KDQpUaGUg ZGVzY3JpcHRpb24gb2YgQ19MT0MgaW4gdGhlIGludHJpbnNpYyBtb2R1bGUgSVNPX0NfQklO RElORyBwZXJtaXRzDQpub25pbnRlcm9wZXJhYmxlIGFycmF5IGFyZ3VtZW50cyB0aGF0IGFy ZSBjb250aWd1b3VzLCBwcm92aWRlZCB0aGUNCnR5cGUgYW5kIGtpbmQgYXJlIGludGVyb3Bl cmFibGUuICBUaGlzIHdhcyBub3QgcGVybWl0dGVkIGJ5IHRoZQ0KcHJldmlvdXMgcmV2aXNp b24gb2YgSVNPL0lFQyAxNTM5LTEsIHdoaWNoIHJlcXVpcmVkIGFsbCB0eXBlDQpwYXJhbWV0 ZXJzIHRvIGJlIGludGVyb3BlcmFibGUgKGFuZCBvbmx5IGV4ZW1wdGVkIGFsbG9jYXRhYmxl IGFycmF5cw0KZnJvbSB0aGUgImludGVyb3BlcmFibGUgdmFyaWFibGUiIHJlcXVpcmVtZW50 KTsgaG93ZXZlciB0aGlzIGlzIG5vdA0KbGlzdGVkIGluIHRoZSBJbnRyb2R1Y3Rpb24gYXMg YSBjaGFuZ2UuDQoNCkZvciBleGFtcGxlLCBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgaXMgYXBw YXJlbnRseSBwZXJtaXR0ZWQgYXMNCmFyZ3VtZW50cyB0byBDX0xPQyBieSB0aGUgcmVxdWly ZW1lbnRzIGluIEZvcnRyYW4gMjAwOCBidXQgbm90IGluDQpGb3J0cmFuIDIwMDM6DQogIENI QVJBQ1RFUigxMyxDX2NoYXIpLFRBUkdFVCA6OiB4KDEwMCkNCiAgQ0hBUkFDVEVSKDE0LENf Y2hhciksVEFSR0VUIDo6IHkNCiAgUkVBTChDX2Zsb2F0KSxDT05USUdVT1VTIDo6IGR1bW15 MSg6KQ0KICBJTlRFR0VSKENfaW50KSxDT05USUdVT1VTLFBPSU5URVIgOjogeig6KQ0KKHRo ZSBDT05USUdVT1VTIGF0dHJpYnV0ZSBkb2VzIG5vdCBleGlzdCBpbiBGb3J0cmFuIDIwMDMp Lg0KYW5kIGFsc28NCiAgUkVBTChDX2Zsb2F0KSA6OiBkdW1teTIoOikNCiAgSU5URUdFUihD X2ludCksUE9JTlRFUiA6OiB6Mig6KQ0Kd2hlbiBkdW1teTEgaXMgYXJndW1lbnQtYXNzb2Np YXRlZCB3aXRoIGEgY29udGlndW91cyBhcnJheSwgYW5kIHoyIGlzDQpwb2ludGVyLWFzc29j aWF0ZWQgd2l0aCBhIGNvbnRpZ3VvdXMgYXJyYXkuDQoNCldhcyB0aGlzIGNoYW5nZSBpbnRl bmRlZD8NCg0KQU5TV0VSOg0KDQpZZXMsIHRoaXMgY2hhbmdlIHdhcyBpbnRlbnRpb25hbC4g IEFuIGVkaXQgaXMgcHJvdmlkZWQgdG8gYWRkIHRoaXMgdG8NCnRoZSBJbnRyb2R1Y3Rpb24u DQoNCkVESVRTOg0KDQpbeHZpXSBJbnRyb2R1Y3Rpb24sICJJbnRyaW5zaWMgbW9kdWxlcyIg YnVsbGV0IHBvaW50LA0KICBCZWZvcmUgIlRoZSBmdW5jdGlvbiBDX1NJWkVPRiINCiAgaW5z ZXJ0IG5ldyBzZW50ZW5jZQ0KICAgICJBIGNvbnRpZ3VvdXMgYXJyYXkgdGhhdCBpcyBub3Qg aW50ZXJvcGVyYWJsZSBidXQgd2hpY2ggaGFzDQogICAgIGludGVyb3BlcmFibGUga2luZCBh bmQga2luZCB0eXBlIHBhcmFtZXRlciwgYW5kIGEgc2NhbGFyDQogICAgIGNoYXJhY3RlciB2 YXJpYWJsZSB3aXRoIGxlbmd0aD4xIGFuZCBraW5kIENfQ0hBUiwgY2FuIGJlIHVzZWQgYXMN CiAgICAgdGhlIGFyZ3VtZW50IG9mIHRoZSBmdW5jdGlvbiBDX0xPQyBpbiB0aGUgaW50cmlu c2ljIG1vZHVsZQ0KICAgICBJU09fQ19CSU5ESU5HLCBwcm92aWRlZCB0aGUgdmFyaWFibGUg aGFzIHRoZSBQT0lOVEVSIG9yIFRBUkdFVA0KICAgICBhdHRyaWJ1dGUuIg0KDQpTVUJNSVRU RUQgQlk6IE1hbGNvbG0gQ29oZW4NCg0KSElTVE9SWTogMTUtMTMyICAgIG0yMDYgIEYwOC8w MTMxIHN1Ym1pdHRlZA0KICAgICAgICAgMTUtMTMycjEgIG0yMDYgIFJldmlzZWQgZWRpdHMN CiAgICAgICAgIDE1LTEzMnIyICBtMjA2ICBSZXZpc2VkIHF1ZXN0aW9uIC0gcGFzc2VkIGJ5 IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTE4NyAgICBtMjA3ICBQYXNzZWQgYnkgSjMgbGV0 dGVyIGJhbGxvdCAxNS0xNTkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8w MTMyDQpUSVRMRTogQ2FuIGEgcHJvY2VkdXJlIHBvaW50ZXIgYmUgZGVjbGFyZWQgd2l0aCBh biBpbnRlcmZhY2UgYmxvY2s/DQpLRVlXT1JEUzogcHJvY2VkdXJlIHBvaW50ZXIsIGludGVy ZmFjZSBibG9jaw0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEoz IGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoNCkNvbnNpZGVyIHRoZSBwcm9ncmFtDQoN CiAgUFJPR1JBTSBjMTENCiAgICBJTlRFUkZBQ0UNCiAgICAgIFJFQUwgRlVOQ1RJT04gRigp DQogICAgICBFTkQgRlVOQ1RJT04NCiAgICBFTkQgSU5URVJGQUNFDQogICAgUE9JTlRFUiBG DQogICAgRVhURVJOQUwgRw0KICAgIEYgPT4gRw0KICAgIFBSSU5UICosRigpDQogIEVORCBQ Uk9HUkFNDQogIFJFQUwgRlVOQ1RJT04gRygpDQogICAgRyA9IDIwNg0KICBFTkQgRlVOQ1RJ T04NCg0KQWNjb3JkaW5nIHRvIDEyLjQuMy4yIHBhcmFncmFwaCA1LCBGIGlzIGFuIGV4dGVy bmFsIHByb2NlZHVyZSAoYW5kDQpzZWVtcyB0byBiZSBtaXNzaW5nKS4gIFRoZXJlIGlzIG5v IG1lbnRpb24gb2YgdGhlIHBvc3NpYmlsaXR5IG9mIGENCnByb2NlZHVyZSBwb2ludGVyIGlu IHRoZSBzdWJjbGF1c2Ugb24gaW50ZXJmYWNlIGJsb2Nrcy4NCg0KSXMgdGhpcyBpbnRlbmRl ZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nPw0KDQpBTlNXRVI6DQoNClllcywgdGhpcyBp cyBpbnRlbmRlZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLg0KQW4gZWRpdCBpcyBzdXBw bGllZCB0byBjb3JyZWN0IHRoZSBtaXN0YWtlIGluIDEyLjQuMy4yLg0KDQpFRElUUzoNCg0K WzI4MToyNl0gSW4gMTIuNC4zLjIgSW50ZXJmYWNlIGJsb2NrLCBwYXJhZ3JhcGggNSwNCiAg QWZ0ZXIgInNwZWNpZmljIGludGVyZmFjZSBmb3IgYW4gZXh0ZXJuYWwgcHJvY2VkdXJlIg0K ICBjaGFuZ2UgIm9yIGEgZHVtbXkgcHJvY2VkdXJlIg0KICB0byAgICAgIiwgZHVtbXkgcHJv Y2VkdXJlLCBvciBwcm9jZWR1cmUgcG9pbnRlciIuDQp7QWRkIHByb2NlZHVyZSBwb2ludGVy IGZvciB0aGUgbGlzdCBvZiB0aGluZ3MgdGhpcyBjYW4gZGVjbGFyZS59DQoNClsyODE6Mjct MjhdIFNhbWUgcGFyYWdyYXBoLA0KICBBZnRlciAiaW50ZXJmYWNlIGJvZHksIHRoZSBwcm9j ZWR1cmUgaXMgYSBkdW1teSBwcm9jZWR1cmUiDQogIGNoYW5nZSAiOyBvdGhlcndpc2UiDQog IHRvICIuICBJZiB0aGUgcHJvY2VkdXJlIGhhcyB0aGUgUE9JTlRFUiBhdHRyaWJ1dGUsIGl0 IGlzIGENCiAgICAgIHByb2NlZHVyZSBwb2ludGVyLiAgSWYgaXQgaXMgbm90IGEgZHVtbXkg cHJvY2VkdXJlIGFuZCBpcw0KICAgICAgbm90IGEgcHJvY2VkdXJlIHBvaW50ZXIsIi4NCntD b3JyZWN0IGhvdyB3ZSBlc3RhYmxpc2ggd2hhdCBpdCBpcy59DQoNClRoaXMgbWFrZXMgdGhh dCB3aG9sZSBwYXJhZ3JhcGggcmVhZDoNCg0KICBBbiBpbnRlcmZhY2UgYm9keSBpbiBhIGdl bmVyaWMgb3Igc3BlY2lmaWMgaW50ZXJmYWNlIGJsb2NrIHNwZWNpZmllcw0KICB0aGUgRVhU RVJOQUwgYXR0cmlidXRlIGFuZCBhbiBleHBsaWNpdCBzcGVjaWZpYyBpbnRlcmZhY2UgZm9y IGFuDQogIGV4dGVybmFsIHByb2NlZHVyZSwgZHVtbXkgcHJvY2VkdXJlLCBvciBwcm9jZWR1 cmUgcG9pbnRlci4gIElmIHRoZQ0KICBuYW1lIG9mIHRoZSBkZWNsYXJlZCBwcm9jZWR1cmUg aXMgdGhhdCBvZiBhIGR1bW15IGFyZ3VtZW50IGluIHRoZQ0KICBzdWJwcm9ncmFtIGNvbnRh aW5pbmcgdGhlIGludGVyZmFjZSBib2R5LCB0aGUgcHJvY2VkdXJlIGlzIGEgZHVtbXkNCiAg cHJvY2VkdXJlLiAgSWYgdGhlIHByb2NlZHVyZSBoYXMgdGhlIFBPSU5URVIgYXR0cmlidXRl LCBpdCBpcyBhDQogIHByb2NlZHVyZSBwb2ludGVyLiAgSWYgaXQgaXMgbm90IGEgZHVtbXkg cHJvY2VkdXJlIGFuZCBpcyBub3QgYQ0KICBwcm9jZWR1cmUgcG9pbnRlciwgaXQgaXMgYW4g ZXh0ZXJuYWwgcHJvY2VkdXJlLg0KDQp7Tm90ZSBjYXJlZnVsIHdvcmRpbmcgdG8gYXZvaWQg c2F5aW5nIHRoYXQgYSBkdW1teSBwcm9jZWR1cmUgaXMgbm90IGENCiBwcm9jZWR1cmUgcG9p bnRlciwgc2luY2UgYSBkdW1teSBwcm9jZWR1cmUgcG9pbnRlciBpcyBpbmRlZWQgYm90aCBh DQogZHVtbXkgcHJvY2VkdXJlIGFuZCBhIHByb2NlZHVyZSBwb2ludGVyLn0NCg0KU1VCTUlU VEVEIEJZOiBNYWxjb2xtIENvaGVuDQoNCkhJU1RPUlk6IDE1LTEzNiAgICBtMjA2ICBGMDgv MDEzMiBzdWJtaXR0ZWQgLSBwYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMTUtMTg3 ICAgIG0yMDcgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90IDE1LTE1OQ0KDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQoNCk5VTUJFUjogRjA4LzAxMzMNClRJVExFOiBJcyB1bmFsbG9jYXRlZCBh Y3R1YWwgYXNzb2NpYXRlZCB3aXRoIG5vbmFsbG9jYXRhYmxlIGR1bW15IE9LPw0KS0VZV09S RFM6IE9QVElPTkFMLCBBTExPQ0FUQUJMRQ0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRV UzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoNCkRvZXMgdGhl IGZvbGxvd2luZyBwcm9ncmFtIGNvbmZvcm0gdG8gdGhlIDIwMDggc3RhbmRhcmQ/DQoNCnBy b2dyYW0gUA0KICBpbnRlZ2VyLCBhbGxvY2F0YWJsZSA6OiBJKDopDQogIGNhbGwgcyAoIGkg KQ0KY29udGFpbnMNCiAgc3Vicm91dGluZSBTICggQSApDQogICAgaW50ZWdlciwgaW50ZW50 KGluKSwgb3B0aW9uYWwgOjogQSg6KQ0KICAgIGlmICggcHJlc2VudChhKSApIHRoZW4NCiAg ICAgIHByaW50ICosICdBID0gJywgYQ0KICAgIGVsc2UNCiAgICAgIHByaW50ICosICdBIGlz IG5vdCBwcmVzZW50Jw0KICAgIGVuZCBpZg0KICBlbmQgc3Vicm91dGluZSBTDQplbmQgcHJv Z3JhbSBQDQoNClN1YmNsYXVzZSA2LjcuMS4zIHNheXMsIGNvbmNlcm5pbmcgYW4gdW5hbGxv Y2F0ZWQgYWxsb2NhdGFibGUgdmFyaWFibGUsDQoiSXQgc2hhbGwgbm90IGJlIHN1cHBsaWVk IGFzIGFuIGFjdHVhbCBhcmd1bWVudCBjb3JyZXNwb25kaW5nIHRvIGENCm5vbmFsbG9jYXRh YmxlIGR1bW15IGFyZ3VtZW50LCBleGNlcHQgdG8gY2VydGFpbiBpbnRyaW5zaWMgaW5xdWly eQ0KZnVuY3Rpb25zLiINCg0KT24gdGhlIG90aGVyIGhhbmQsIHN1YmNsYXVzZSAxMi41LjIu MTIgc2F5cyBhIGR1bW15IGFyZ3VtZW50ICJpcyBub3QNCnByZXNlbnQgaWYgdGhlIGR1bW15 IGFyZ3VtZW50IC4uLiBkb2VzIG5vdCBoYXZlIHRoZSBBTExPQ0FUQUJMRSAuLi4NCmF0dHJp YnV0ZSwgYW5kIGNvcnJlc3BvbmRzIHRvIGFuIGFjdHVhbCBhcmd1bWVudCB0aGF0IC4uLiBo YXMgdGhlDQpBTExPQ0FUQUJMRSBhdHRyaWJ1dGUgYW5kIGlzIG5vdCBhbGxvY2F0ZWQuLi4u Ig0KDQpBTlNXRVI6DQoNClRoZSBpbnRlbnQgd2FzIHRoYXQgdGhlIHByb2dyYW0gY29uZm9y bXMsIGFuZCBwcmludHMgIkEgaXMgbm90IHByZXNlbnQiLA0KYXMgc3BlY2lmaWVkIGJ5IHN1 YmNsYXVzZSAxMi41LjIuMTIuICBFZGl0cyBhcmUgcHJvdmlkZWQgdG8gY29ycmVjdCB0aGlz DQptaXN0YWtlLg0KDQpFRElUUzoNCg0KWzEwLTAwN3IxOjEyOTo4IDYuNy4xLjMgcDEsIHNl Y29uZCBpdGVtIGluIGJ1bGxldGVkIGxpc3RdIEluc2VydA0KIm5vbm9wdGlvbmFsIiBiZWZv cmUgIm5vbmFsbG9jYXRhYmxlIi4NCg0Ke09wdGlvbmFsIGVkaXRvcmlhbCBmaWRkbGluZzp9 DQoNClsxMC0wMDdyMToxMjk6OCA2LjcuMS4zIHAxLCBzZWNvbmQgaXRlbSBpbiBidWxsZXRl ZCBsaXN0XSBEZWxldGUNCiJzdXBwbGllZCBhcyI7IHJlcGxhY2UgImNvcnJlc3BvbmRpbmci IHdpdGggInRoYXQgY29ycmVzcG9uZHMiLg0KDQpTVUJNSVRURUQgQlk6IFZhbiBTbnlkZXIN Cg0KSElTVE9SWTogMTUtMTQxICAgIG0yMDYgIEYwOC8wMTMzIHN1Ym1pdHRlZCAtIHBhc3Nl ZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0xODcgICAgbTIwNyAgUGFzc2VkIGJ5IEoz IGxldHRlciBiYWxsb3QgMTUtMTU5DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBG MDgvMDEzNA0KVElUTEU6IDxzdGF0LXZhcmlhYmxlPiBpbiBhbiBpbWFnZSBjb250cm9sIHN0 YXRlbWVudA0KS0VZV09SRFM6IHN0YXQ9LCBpbWFnZSBjb250cm9sIHN0YXRlbWVudA0KREVG RUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QN Cg0KUVVFU1RJT046DQoNCldhcyBpdCBpbnRlbmRlZCB0byBhbGxvdyA8c3RhdC12YXJpYWJs ZT4gb3IgPGVycm1zZy12YXJpYWJsZT4gaW4gYW4NCmltYWdlIGNvbnRyb2wgc3RhdGVtZW50 IHRvIGJlIGNvaW5kZXhlZD8gRm9yIGV4YW1wbGUsIHdhcyBpdCBpbnRlbmRlZA0KdGhhdCB0 aGlzIHN0YXRlbWVudA0KICAgIFNZTkMgSU1BR0VTKDEsIHN0YXQgPSBpc1syXSkNCmJlIGFs bG93ZWQ/IEl0IHNlZW1zIHVuZGVzaXJhYmxlIHRvIGludm9sdmUgaW1hZ2UgMiB3aGVuIHN5 bmNocm9uaXppbmcNCnRoZSBleGVjdXRpbmcgaW1hZ2Ugd2l0aCBpbWFnZSAxLg0KDQpBTlNX RVI6DQoNCk5vLCBpdCB3YXMgbm90IGludGVuZGVkIHRvIGFsbG93IHRoZSA8c3RhdC12YXJp YWJsZT4gb3INCjxlcnJtc2ctdmFyaWFibGU+IGluIGFuIGltYWdlIGNvbnRyb2wgc3RhdGVt ZW50IHRvIGJlIGNvaW5kZXhlZC4NCg0KQW4gZWRpdCBpcyBwcm92aWRlZCB0byBjb3JyZWN0 IHRoaXMgb3ZlcnNpZ2h0Lg0KDQpFRElUOg0KDQpbMTkwOjUrXSBBZGQgY29uc3RyYWludA0K IkM4NTFhIChSODU5KSBBIDxzdGF0LXZhcmlhYmxlPiBvciA8ZXJybXNnLXZhcmlhYmxlPiBp biBhIDxzeW5jLXN0YXQ+DQpzaGFsbCBub3QgYmUgYSBjb2luZGV4ZWQgb2JqZWN0Lg0KDQpT VUJNSVRURUQgQlk6IEpvaG4gUmVpZA0KDQpISVNUT1JZOiAxNS0xNDQgICAgbTIwNiAgRjA4 LzAxMzQgc3VibWl0dGVkIC0gcGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDE1LTE4 NyAgICBtMjA3ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNS0xNTkNCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTM1DQpUSVRMRTogVmVjdG9yIHN1YnNjcmlw dGVkIGFjdHVhbCBtYWtlcyBWQUxVRSBkdW1teSB1bmRlZmluYWJsZT8NCktFWVdPUkRTOiBW QUxVRSwgZGVmaW5hYmxlLCB2ZWN0b3Igc3Vic2NyaXB0DQpERUZFQ1QgVFlQRTogRXJyYXR1 bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0K MTIuNS4yLjRwMTggWzI5NTozLTRdIHNheXMNCiAgIklmIHRoZSBhY3R1YWwgYXJndW1lbnQg aXMgYW4gYXJyYXkgc2VjdGlvbiBoYXZpbmcgYSB2ZWN0b3INCiAgIHN1YnNjcmlwdCwgdGhl IGR1bW15IGFyZ3VtZW50IGlzIG5vdCBkZWZpbmFibGUgYW5kIHNoYWxsIG5vdCBoYXZlDQog ICB0aGUgQVNZTkNIUk9OT1VTLCBJTlRFTlQgKE9VVCksIElOVEVOVCAoSU5PVVQpLCBvciBW T0xBVElMRQ0KICAgYXR0cmlidXRlcy4iDQoNClRoaXMgd291bGQgc2VlbSB0byBiZSBhIHN0 cmFuZ2UgcmVxdWlyZW1lbnQgd2hlbiB0aGUgZHVtbXkgYXJndW1lbnQNCmhhcyB0aGUgVkFM VUUgYXR0cmlidXRlIChhbmQgc28gaXMgbm90IGFyZ3VtZW50LWFzc29jaWF0ZWQgd2l0aCB0 aGUNCmFjdHVhbCBhcmd1bWVudCBhbnl3YXkpLg0KDQpDb25zaWRlcg0KDQogIHByb2dyYW0g UDENCiAgICByZWFsIDo6IFgoMykNCiAgICBjYWxsIFMxICggWCAoIFsgMSwgMywgMiBdICkg KQ0KICBjb250YWlucw0KICAgIHN1YnJvdXRpbmUgUzEgKCBBICkNCiAgICAgIHJlYWwsIHZh bHVlIDo6IEEoOikNCiAgICAgIEEgPSAzDQogICAgICBwcmludCAqLCBBDQogICAgZW5kIHN1 YnJvdXRpbmUNCiAgZW5kIHByb2dyYW0NCg0KYW5kDQoNCiAgUFJPR1JBTSBwMg0KICAgIFJF QUwgOjogeCgzKSA9IFsgMTAsMjAsMzAgXQ0KICAgIE9QRU4oMTAsQVNZTkNIUk9OT1VTPSdZ RVMnLEZPUk09J1VORk9STUFUVEVEJykNCiAgICBDQUxMIHMyKCB4KCBbIDEsMiwyLDEgXSAp ICkNCiAgQ09OVEFJTlMNCiAgICBTVUJST1VUSU5FIHMyKGEyKQ0KICAgICAgUkVBTCxWQUxV RSxBU1lOQ0hST05PVVMgOjogYTIoOikNCiAgICAgIFJFQUQoMTAsQVNZTkNIUk9OT1VTPSdZ RVMnKSBhMg0KICAgICAgUFJJTlQgKiwncmVhZGluZy4uLicNCiAgICAgIFdBSVQoMTApDQog ICAgICBQUklOVCAqLGEyDQogICAgRU5EIFNVQlJPVVRJTkUNCiAgRU5EIFBST0dSQU0NCg0K QXJlIHRoZXNlIHR3byBwcm9ncmFtcyBzdGFuZGFyZC1jb25mb3JtaW5nPyAgSW4gcGFydGlj dWxhciwgaXMgdGhlDQphc3NpZ25tZW50IHRvIEEgcGVybWl0dGVkIGluIFMxLCBhbmQgaXMg dGhlIGR1bW15IGFyZ3VtZW50IGEyDQpwZXJtaXR0ZWQgdG8gaGF2ZSB0aGUgQVNZTkNIUk9O T1VTIGF0dHJpYnV0ZSBpbiBzMi4NCg0KQU5TV0VSOg0KDQpUaGVzZSB0d28gcHJvZ3JhbXMg d2VyZSBpbnRlbmRlZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLiAgU3ViY2xhdXNlDQox Mi41LjIuMyBzdGF0ZXMgdGhhdCBhIFZBTFVFIGR1bW15IGFyZ3VtZW50IGlzIGFzc29jaWF0 ZWQgd2l0aCBhDQpkZWZpbmFibGUgZGF0YSBvYmplY3QgYW5kIG5vdCB3aXRoIHRoZSBhY3R1 YWwgYXJndW1lbnQuICBBbiBlZGl0IGlzDQpzdXBwbGllZCB0byBjb3JyZWN0IHRoaXMgbWlz dGFrZS4NCg0KRURJVFM6DQoNClsyOTU6M10gMTIuNS4yLjQgT3JkaW5hcnkgZHVtbXkgdmFy aWFibGVzLCBwMTgNCiAgQWZ0ZXIgInZlY3RvciBzdWJzY3JpcHQiDQogIGluc2VydCAiYW5k IHRoZSBkdW1teSBhcmd1bWVudCBkb2VzIG5vdCBoYXZlIHRoZSBWQUxVRSBhdHRyaWJ1dGUi Lg0KDQpTVUJNSVRURUQgQlk6IFZhbiBTbnlkZXINCg0KSElTVE9SWTogMTUtMTQ4ICAgIG0y MDYgIEYwOC8wMTM1IHN1Ym1pdHRlZCAtIHBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAg ICAxNS0xODcgICAgbTIwNyAgUGFzc2VkIGFzIGFtZW5kZWQgYnkgSjMgbGV0dGVyIGJhbGxv dCAxNS0xNTkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwOC8wMTM2DQpUSVRM RTogQXJndW1lbnQgY29ycmVzcG9uZGVuY2Ugd2l0aCBWQUxVRSBhbmQgQVNZTkNIUk9OT1VT DQpLRVlXT1JEUzogVkFMVUUsIEFTWU5DSFJPTk9VUywgY29pbmRleGVkLCBjb250aWd1b3Vz DQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJh bGxvdA0KDQpRVUVTVElPTjoNCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyB0aHJlZSBwcm9n cmFtcyBhbmQgZGlzY3Vzc2lvbnM6DQoNCnByb2dyYW0gUDENCiAgcmVhbCwgYXN5bmNocm9u b3VzIDo6IFhbKl0NCiAgY2FsbCBTMSAoIFggWyAxIF0gKQ0KY29udGFpbnMNCiAgc3Vicm91 dGluZSBTMSAoIEEgKQ0KICAgIHJlYWwsIHZhbHVlLCBhc3luY2hyb25vdXMgOjogQQ0KICAg IGEgPSAzDQogIGVuZCBzdWJyb3V0aW5lIFMxDQplbmQgcHJvZ3JhbSBQMQ0KDQpQcm9ncmFt IFAxIGFwcGVhcnMgdG8gdmlvbGF0ZSBDMTIzOCB3aGljaCBzYXlzDQogICJBbiBhY3R1YWwg YXJndW1lbnQgdGhhdCBpcyBhIGNvaW5kZXhlZCBvYmplY3Qgd2l0aCB0aGUgQVNZTkNIUk9O T1VTDQogICBvciBWT0xBVElMRSBhdHRyaWJ1dGUgc2hhbGwgbm90IGNvcnJlc3BvbmQgdG8g YSBkdW1teSBhcmd1bWVudCB0aGF0DQogICBoYXMgZWl0aGVyIHRoZSBBU1lOQ0hST05PVVMg b3IgVk9MQVRJTEUgYXR0cmlidXRlLiINCmJ1dCB0aGUgZHVtbXkgYXJndW1lbnQgaXMgbm90 IGFzc29jaWF0ZWQgd2l0aCB0aGUgYWN0dWFsIGFyZ3VtZW50IHNvDQppdCBpcyB1bmNsZWFy IHdoeSB0aGF0IHNob3VsZCBiZSB0aGUgY2FzZS4NCg0KcHJvZ3JhbSBQMg0KICByZWFsLCBh c3luY2hyb25vdXMgOjogWCgzKQ0KICBjYWxsIFMyQSAoIFggKQ0KY29udGFpbnMNCiAgc3Vi cm91dGluZSBTMkEgKCBBICkNCiAgICByZWFsLCBhc3luY2hyb25vdXMgOjogQSg6KQ0KICAg IGNhbGwgUzJCICggQSgxOjMpICkNCiAgZW5kIHN1YnJvdXRpbmUgUzJBDQogIHN1YnJvdXRp bmUgUzJCICggQSApDQogICAgcmVhbCwgdmFsdWUsIGFzeW5jaHJvbm91cywgY29udGlndW91 cyA6OiBBKDopDQogICAgYSA9IDMNCiAgZW5kIHN1YnJvdXRpbmUgUzJCDQplbmQgcHJvZ3Jh bSBQMg0KDQpUaGlzIGFwcGVhcnMgdG8gdmlvbGF0ZSBDMTIzOSB3aGljaCBzYXlzDQogICJJ ZiBhbiBhY3R1YWwgYXJndW1lbnQgaXMgYSBub25wb2ludGVyIGFycmF5IHRoYXQgaGFzIHRo ZQ0KICAgQVNZTkNIUk9OT1VTIG9yIFZPTEFUSUxFIGF0dHJpYnV0ZSBidXQgaXMgbm90IHNp bXBseSBjb250aWd1b3VzDQogICAoNi41LjQpLCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgZHVt bXkgYXJndW1lbnQgaGFzIGVpdGhlciB0aGUNCiAgIFZPTEFUSUxFIG9yIEFTWU5DSFJPTk9V UyBhdHRyaWJ1dGUsIHRoYXQgZHVtbXkgYXJndW1lbnQgc2hhbGwgYmUgYW4NCiAgIGFzc3Vt ZWQtc2hhcGUgYXJyYXkgdGhhdCBkb2VzIG5vdCBoYXZlIHRoZSBDT05USUdVT1VTIGF0dHJp YnV0ZS4iDQpidXQgYWdhaW4sIGl0IGlzIHVuY2xlYXIgd2h5IHRoYXQgc2hvdWxkIG1hdHRl ciBmb3IgYSBWQUxVRSBkdW1teQ0KYXJndW1lbnQuDQoNCnByb2dyYW0gUDMNCiAgcmVhbCwg dGFyZ2V0IDo6IFgoMykNCiAgcmVhbCwgcG9pbnRlciwgYXN5bmNocm9ub3VzIDo6IFkoOikN CiAgeSA9PiB4DQogIGNhbGwgUzMgKCB5ICkNCmNvbnRhaW5zDQogIHN1YnJvdXRpbmUgUzMg KCBBICkNCiAgICByZWFsLCB2YWx1ZSwgYXN5bmNocm9ub3VzLCBjb250aWd1b3VzIDo6IEEo OikNCiAgICBhID0gMw0KICBlbmQgc3Vicm91dGluZSBTMw0KZW5kIHByb2dyYW0gUDMNCg0K VGhpcyBwcm9ncmFtIGFwcGVhcnMgdG8gdmlvbGF0ZSBDMTI0MCB3aGljaCBzYXlzDQogICJJ ZiBhbiBhY3R1YWwgYXJndW1lbnQgaXMgYW4gYXJyYXkgcG9pbnRlciB0aGF0IGhhcyB0aGUg QVNZTkNIUk9OT1VTDQogICBvciBWT0xBVElMRSBhdHRyaWJ1dGUgYnV0IGRvZXMgbm90IGhh dmUgdGhlIENPTlRJR1VPVVMgYXR0cmlidXRlLA0KICAgYW5kIHRoZSBjb3JyZXNwb25kaW5n IGR1bW15IGFyZ3VtZW50IGhhcyBlaXRoZXIgdGhlIFZPTEFUSUxFIG9yDQogICBBU1lOQ0hS T05PVVMgYXR0cmlidXRlLCB0aGF0IGR1bW15IGFyZ3VtZW50IHNoYWxsIGJlIGFuIGFycmF5 DQogICBwb2ludGVyIG9yIGFuIGFzc3VtZWQtc2hhcGUgYXJyYXkgdGhhdCBkb2VzIG5vdCBo YXZlIHRoZSBDT05USUdVT1VTDQogICBhdHRyaWJ1dGUuIg0KYnV0IGl0IGlzIHVuY2xlYXIg d2h5IHRoaXMgc2hvdWxkIG1hdHRlciBmb3IgYSBWQUxVRSBkdW1teSBhcmd1bWVudC4NCg0K QXJlIHRob3NlIHByb2dyYW1zIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1pbmc/ DQoNCkFOU1dFUjoNCg0KWWVzLCBhbGwgdGhvc2UgcHJvZ3JhbXMgd2VyZSBpbnRlbmRlZCB0 byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLg0KVGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhvc2Ug Y29uc3RyYWludHMgdG8gYXBwbHkgdG8gZHVtbXkgYXJndW1lbnRzDQp3aXRoIHRoZSBWQUxV RSBhdHRyaWJ1dGUsIGJlY2F1c2UgYSBWQUxVRSBkdW1teSBhcmd1bWVudCBpcyBub3QNCmFz c29jaWF0ZWQgd2l0aCB0aGUgYWN0dWFsIGFyZ3VtZW50IGJ1dCB3aXRoIGFuIGFub255bW91 cyBkZWZpbmFibGUNCmRhdGEgb2JqZWN0Lg0KDQpFZGl0cyBhcmUgc3VwcGxpZWQgdG8gY29y cmVjdCB0aGUgbWlzdGFrZXMgaW4gdGhlIGNvbnN0cmFpbnRzLg0KDQpFRElUUzoNCg0KWzI5 NTo2XSAxMi41LjIuNCBPcmRpbmFyeSBkdW1teSBhcmd1bWVudHMsIEMxMjM4LA0KICBCZXR3 ZWVuICJWT0xBVElMRSBhdHRyaWJ1dGUiIGFuZCAiLiINCiAgaW5zZXJ0ICAiLCB1bmxlc3Mg dGhlIGR1bW15IGFyZ3VtZW50IGhhcyB0aGUgVkFMVUUgYXR0cmlidXRlIi4NCg0KWzI5NTo5 XSBTYW1lIHN1YmNsYXVzZSwgQzEyMzksDQogICAgICAgIEFmdGVyICJBU1lOQ0hST05PVVMg YXR0cmlidXRlIg0KICAgICAgICBpbnNlcnQgIiwgYnV0IGRvZXMgbm90IGhhdmUgdGhlIFZB TFVFIGF0dHJpYnV0ZSwiLg0KDQpbMjk1OjEzXSBTYW1lIHN1YmNsYXVzZSwgQzEyNDAsDQog ICAgICAgICBBZnRlciAiQVNZTkNIUk9OT1VTIGF0dHJpYnV0ZSINCiAgICAgICAgIGluc2Vy dCAiLCBidXQgZG9lcyBub3QgaGF2ZSB0aGUgVkFMVUUgYXR0cmlidXRlLCIuDQoNClNVQk1J VFRFRCBCWTogVmFuIFNueWRlcg0KDQpISVNUT1JZOiAxNS0xNDkgICAgbTIwNiAgRjA4LzAx MzYgc3VibWl0dGVkDQogICAgICAgICAxNS0xNDlyNCAgbTIwNiAgRml4IGFuc3dlciBhbmQg dHlwb3MgLSBwYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMTUtMTg3ICAgIG0yMDcg IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90IDE1LTE1OQ0KDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQoNCk5VTUJFUjogRjA4LzAxMzcNClRJVExFOiBSZXN1bHQgb2YgVFJBTlNGRVIgd2hlbiBN T0xEIGlzIGFuIGFycmF5IHdpdGggZWxlbWVudCBzaXplIHplcm8NCktFWVdPUkRTOiBUUkFO U0ZFUiwgemVyby1zaXplZCBzY2FsYXINCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6 IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFVRVNUSU9OOg0KDQpDb25zaWRlciB0 aGUgZm9sbG93aW5nIGV4YW1wbGVzOg0KDQpFeGFtcGxlIDE6DQogIENIQVJBQ1RFUigwKSxQ QVJBTUVURVIgOjogbm90aGluZzEoMTAwKSA9ICcnDQogIFBSSU5UICosU0laRShUUkFOU0ZF UigxMTEwMTQsbm90aGluZzEpKQ0KDQpFeGFtcGxlIDI6DQogICBUWVBFIGVtcHR5DQogICBF TkQgVFlQRQ0KICAgISBXaGVuIHRoZSBwaHlzaWNhbCByZXByZXNlbnRhdGlvbiBvZiBlbXB0 eSgpIGhhcyBzaXplIHplcm87DQogICAhIHRoaXMgaXMgbm90IHJlcXVpcmVkIGJ1dCBkb2Vz IHNlZW0gdG8gYmUgcGVybWl0dGVkLg0KICAgVFlQRShlbXB0eSksUEFSQU1FVEVSIDo6IG5v dGhpbmcyKDEpID0gZW1wdHkoKQ0KICAgUFJJTlQgKixTSVpFKFRSQU5TRkVSKDExMTAxNCxu b3RoaW5nMikpDQoNCkV4YW1wbGUgMzoNCiAgIFRZUEUgbm9uZW1wdHkNCiAgICAgUkVBTCBj KDApDQogICBFTkQgVFlQRQ0KICAgVFlQRShub25lbXB0eSksUEFSQU1FVEVSIDo6IG5vdGhp bmczKDApID0gbm9uZW1wdHkoMC4wKQ0KICAgUFJJTlQgKixTSVpFKFRSQU5TRkVSKDExMTAx NCxub3RoaW5nMykpDQoNCkFjY29yZGluZyB0byBGb3J0cmFuIDIwMDgsIDEzLjcuMTY4LCB0 aGUgcmVzdWx0IG9mIFRSQU5TRkVSIGluIHRoaXMNCmNhc2UgaXMgYW4gYXJyYXkgb2YgcmFu ayBvbmUgd2hvc2UNCiAgInNpemUgaXMgYXMgc21hbGwgYXMgcG9zc2libGUgc3VjaCB0aGF0 IGl0cyBwaHlzaWNhbCByZXByZXNlbnRhdGlvbg0KICAgaXMgbm90IHNob3J0ZXIgdGhhbiB0 aGF0IG9mIFNPVVJDRSIuDQpIb3dldmVyLCB0aGUgc2l6ZSBvZiBhIHplcm8tbGVuZ3RoIGNo YXJhY3RlciBpcyB6ZXJvIGFuZCB0aGUgc2l6ZSBvZg0KdGhlIGFib3ZlIGRlcml2ZWQgdHlw ZXMgbWF5IGJlIHplcm8sIG5vIG1hdHRlciBob3cgbWFueSBhcnJheSBlbGVtZW50cw0KdGhl cmUgYXJlLCBzbyB0aGVzZSBleGFtcGxlcyBkbyBub3Qgc2VlbSB0byBiZSB3ZWxsLWRlZmlu ZWQuDQoNCkFsc28gY29uc2lkZXIgdGhlIGZvbGxvd2luZyBleGFtcGxlcywgd2l0aCBub3Ro aW5nMSBkZWZpbmVkIGFzIGluDQpleGFtcGxlIDEuDQoNCkV4YW1wbGUgNDoNCiAgQ0hBUkFD VEVSKDApIDo6IHNvdXJjZTEgPSAnJw0KICBQUklOVCAqLFNJWkUoVFJBTlNGRVIoc291cmNl MSxub3RoaW5nMSkpDQoNCkV4YW1wbGUgNToNCiAgQ0hBUkFDVEVSKDk5OSkgOjogc291cmNl MigwKSA9IFJFUEVBVCgnIScsOTk5KQ0KICBQUklOVCAqLFNJWkUoVFJBTlNGRVIoc291cmNl Mixub3RoaW5nMSkpDQoNCkluIHRoZXNlIGNhc2VzIHRoZSBwaHlzaWNhbCByZXByZXNlbnRh dGlvbiBvZiBhbiBlbGVtZW50IG9mIE1PTEQgaGFzDQpzaXplIHplcm8sIGJ1dCB0aGVuIHNv IGRvZXMgdGhlIHBoeXNpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBTT1VSQ0UNCmFyZ3Vt ZW50LiAgQWNjb3JkaW5nIHRvIHRoZSBxdW90ZWQgdGV4dCwgdGhhdCB3b3VsZCBtZWFuIHRo YXQgVFJBTlNGRVINCnNob3VsZCByZXR1cm4gYSB6ZXJvLXNpemVkIGFycmF5LCBpLmUuIHRo ZSBleGFtcGxlcyB3aWxsIHByaW50IHplcm8uDQoNCkV4YW1wbGUgNjoNCiAgQ0hBUkFDVEVS KCopLElOVEVOVChJTikgOjogbWF5YmVfbm90aGluZyg6KSAhIEEgZHVtbXkgYXJndW1lbnQu DQogIENIQVJBQ1RFUig5OTkpIDo6IHNvdXJjZTMoMCkgPSBSRVBFQVQoJyEnLDk5OSkNCiAg UFJJTlQgKixTSVpFKFRSQU5TRkVSKHNvdXJjZTMsbWF5YmVfbm90aGluZykpDQoNCkV4YW1w bGUgNzoNCiAgQ0hBUkFDVEVSKCopLElOVEVOVChJTikgOjogbWF5YmVfbm90aGluZyg6KSAh IEEgZHVtbXkgYXJndW1lbnQuDQogIENIQVJBQ1RFUig5OTkpIDo6IHNvdXJjZTQoMTApID0g UkVQRUFUKCchJyw5OTkpDQogIFBSSU5UICosU0laRShUUkFOU0ZFUihzb3VyY2U0LG1heWJl X25vdGhpbmcpKQ0KDQpJbiB0aGVzZSBleGFtcGxlcywgdGhlIHBoeXNpY2FsIHJlcHJlc2Vu dGF0aW9uIG9mIE1PTEQgaXMgbm90IGtub3duIGF0DQpjb21waWxlIHRpbWUsIGJ1dCBkZXBl bmRzIG9uIHRoZSBsZW5ndGggb2YgdGhlIGR1bW15IGFyZ3VtZW50LiAgVXNpbmcNCnRoZSBh bmFseXNpcyBhYm92ZSwgZXhhbXBsZSA2IHdvdWxkIHNlZW0gdG8gYmUgY29uZm9ybWluZyAo YW5kIHByaW50DQp6ZXJvKSwgd2hpbGUgZXhhbXBsZSA3IHdvdWxkIHNlZW0gdG8gYmUgY29u Zm9ybWluZyBpZiBhbmQgb25seSBpZiB0aGUNCmxlbmd0aCBvZiBtYXliZV9ub3RoaW5nIGlz IG5vbnplcm8gYXQgZXhlY3V0aW9uIHRpbWUuDQoNCldoaWNoIG9mIHRoZSBleGFtcGxlcyBh cmUgY29uZm9ybWluZz8gIElmIGFueSBvZiBleGFtcGxlcyAxLTMgYXJlDQpjb25mb3JtaW5n LCB3aGF0IHZhbHVlIGlzIHByaW50ZWQ/DQoNCkFOU1dFUjoNCg0KRXhhbXBsZSAxIGlzIG5v dCBjb25mb3JtaW5nLCBhbmQgaWYgdGhlIGRlcml2ZWQgdHlwZXMgaGF2ZSBzaXplIHplcm8N CmluIGV4YW1wbGVzIDIgYW5kIDMsIHRob3NlIGV4YW1wbGVzIGFyZSBhbHNvIG5vdCBjb25m b3JtaW5nLCBhcyBubw0KaW50ZXJwcmV0YXRpb24gaXMgZXN0YWJsaXNoZWQgZm9yIHRoZW0u ICBBbiBlZGl0IGlzIHByb3ZpZGVkIHRvDQpjbGFyaWZ5IHRoYXQgdGhleSBhcmUgbm90IHZh bGlkLg0KDQpFeGFtcGxlcyA0LTYgYXJlIGNvbmZvcm1pbmcsIGFuZCB0aGUgdmFsdWUgemVy byBpcyBwcmludGVkLg0KDQpFeGFtcGxlIDcgaXMgY29uZm9ybWluZyBpZiBhbmQgb25seSBp ZiB0aGUgbGVuZ3RoIG9mIG1heWJlX25vdGhpbmcgaXMNCm5vdCB6ZXJvLiAgVGhlIHNhbWUg ZWRpdCBjbGFyaWZpZXMgdGhhdCB0aGUgemVyby1sZW5ndGggY2FzZSBpcyBub3QNCnZhbGlk Lg0KDQpFRElUUzoNCg0KWzM5MzoxOF0gMTMuNy4xNjggVFJBTlNGRVIsIHAzIEFyZ3VtZW50 cywgTU9MRCwgYXBwZW5kDQogICJJZiB0aGUgc3RvcmFnZSBzaXplIG9mIFNPVVJDRSBpcyBn cmVhdGVyIHRoYW4gemVybyBhbmQgTU9MRCBpcyBhbg0KICAgYXJyYXksIGEgc2NhbGFyIHdp dGggdGhlIHR5cGUgYW5kIHR5cGUgcGFyYW1ldGVycyBvZiBNT0xEIHNoYWxsIG5vdA0KICAg aGF2ZSBhIHN0b3JhZ2Ugc2l6ZSBlcXVhbCB0byB6ZXJvLiIuDQp7SXQgaXMgb2sgZm9yIE1P TEQgaXRzZWxmIHRvIGhhdmUgc3RvcmFnZSBzaXplIHplcm8sIGluIHRoZSBjYXNlIHdoZXJl DQogTU9MRCBpcyBhIHplcm8tc2l6ZWQgYXJyYXkgYnV0IHRoZSBzdG9yYWdlIHNpemUgb2Yg YSBzY2FsYXIgd2l0aCBpdHMNCiB0eXBlIGFuZCB0eXBlIHBhcmFtZXRlcnMgd291bGQgYmUg Z3JlYXRlciB0aGFuIHplcm8ufQ0KDQpTVUJNSVRURUQgQlk6IE1hbGNvbG0gQ29oZW4NCg0K SElTVE9SWTogMTUtMTUyICAgIG0yMDYgIEYwOC8wMTM3IHN1Ym1pdHRlZCAtIHBhc3NlZCBi eSBKMyBtZWV0aW5nDQogICAgICAgICAxNS0xODcgICAgbTIwNyAgUGFzc2VkIGFzIGFtZW5k ZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAxNS0xNTkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K --------------000900070902070301030108--