From owner-sc22wg5@open-std.org Fri Feb 10 22:21:17 2006 Return-Path: X-Original-To: sc22wg5-domo2 Delivered-To: sc22wg5-domo2@open-std.org Received: by open-std.org (Postfix, from userid 521) id 3CA101AE01; Fri, 10 Feb 2006 22:21:17 +0000 (UTC) X-Original-To: sc22wg5@open-std.org Delivered-To: sc22wg5@open-std.org Received: from dkuug.dk (ptah.dkuug.dk [195.215.30.66]) by open-std.org (Postfix) with ESMTP id AE6E11AD4E for ; Fri, 10 Feb 2006 22:21:13 +0000 (UTC) Received: from scsfmr002.sc.intel.com (fmr22.intel.com [143.183.121.14]) by dkuug.dk (8.12.10/8.9.2) with ESMTP id k1AMKZZb084939 for ; Fri, 10 Feb 2006 23:20:43 +0100 (CET) (envelope-from stan.whitlock@intel.com) Received: from scsfmr101.sc.intel.com (scsfmr101.sc.intel.com [10.3.253.10]) by scsfmr002.sc.intel.com (8.12.10/8.12.10/d: major-outer.mc,v 1.1 2004/09/17 17:50:56 root Exp $) with ESMTP id k1AMKSYd026103; Fri, 10 Feb 2006 22:20:28 GMT Received: from fmsmsxvs042.fm.intel.com (fmsmsxvs042.fm.intel.com [132.233.42.128]) by scsfmr101.sc.intel.com (8.12.10/8.12.10/d: major-inner.mc,v 1.2 2004/09/17 18:05:01 root Exp $) with SMTP id k1AMFXOv022431; Fri, 10 Feb 2006 22:15:41 GMT Received: from fmsmsx331.amr.corp.intel.com ([132.233.42.156]) by fmsmsxvs042.fm.intel.com (SAVSMTP 3.1.7.47) with SMTP id M2006021014202810023 ; Fri, 10 Feb 2006 14:20:28 -0800 Received: from fmsmsx312.amr.corp.intel.com ([132.233.42.227]) by fmsmsx331.amr.corp.intel.com with Microsoft SMTPSVC(6.0.3790.211); Fri, 10 Feb 2006 14:20:28 -0800 Received: from hdsmsx402.amr.corp.intel.com ([10.127.2.62]) by fmsmsx312.amr.corp.intel.com with Microsoft SMTPSVC(6.0.3790.211); Fri, 10 Feb 2006 14:20:26 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C62E90.30657BBC" Subject: RE: J3 06-006A for meeting #175 - Fotran interpretation status updated for letter ballot #12 Date: Fri, 10 Feb 2006 17:20:24 -0500 Message-ID: X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: J3 06-006A for meeting #175 - Fotran interpretation status updated for letter ballot #12 Thread-Index: AcYujt9WV0RlsbkPTUacrBckzoQehwAARlkA From: "Whitlock, Stan" To: "Whitlock, Stan" , "x3j3" , "WG5" Cc: "Whitlock, Stan" X-OriginalArrivalTime: 10 Feb 2006 22:20:26.0563 (UTC) FILETIME=[3166D930:01C62E90] X-Scanned-By: MIMEDefang 2.52 on 10.3.253.10 Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multi-part message in MIME format. ------_=_NextPart_001_01C62E90.30657BBC Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C62E90.30657BBC" ------_=_NextPart_002_01C62E90.30657BBC Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Let me try that again with the correct attachment /Stan =20 ________________________________ From: Whitlock, Stan=20 Sent: Friday, February 10, 2006 5:11 PM To: x3j3; WG5 Cc: cc Subject: J3 06-006A for meeting #175 - Fotran interpretation status updated for letter ballot #12 =20 Mallory - please add the attached 06-006A to the meeting #175 papers. Thanks /Stan =20 J3 and WG5 - 06-006A is the latest Fortran interpretation status after J3 letter ballot #12. It will be used at meeting #175. Thanks /Stan =20 ------_=_NextPart_002_01C62E90.30657BBC Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Let me try that again with the = correct attachment  =             &= nbsp;           = /Stan

 


From: = Whitlock, Stan
Sent: Friday, February = 10, 2006 5:11 PM
To: x3j3; WG5
Cc: cc
Subject: J3 06-006A for = meeting #175 - Fotran interpretation status updated for letter ballot = #12

 

Mallory - please add the attached 06-006A to the = meeting #175 papers.  Thanks          &= nbsp;           &n= bsp;      /Stan

 

J3 and WG5 - 06-006A is the latest Fortran = interpretation status after J3 letter ballot #12.  It will be used at meeting = #175.  Thanks           &= nbsp;  /Stan

 

<attached was USTAG agenda = m175.txt>

------_=_NextPart_002_01C62E90.30657BBC-- ------_=_NextPart_001_01C62E90.30657BBC Content-Type: text/plain; name="06-006A m175.txt" Content-Transfer-Encoding: base64 Content-Description: 06-006A m175.txt Content-Disposition: attachment; filename="06-006A m175.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEoz LzA2LTAwNkEudHh0DQoNCiAgICAgIE91dHN0YW5kaW5nIEZvcnRyYW4gSW50ZXJwcmV0YXRpb25z LCBGZWJydWFyeSAxMCwgMjAwNg0KDQogICAgICAgICAgICAgICAgICAgICBTdGFuIFdoaXRsb2Nr IGZvciAvaW50ZXJwDQoNCj4gc2VlIDA1LTAxNSBhbmQgMDUtMDE2IGZvciBjbG9zZWQgRjk1IGFu ZCBGMjAwMyBpbnRlcnBzIHJlc3BlY3RpdmVseQ0KPiBpbmNsdWRlcyBpbnRlcnBzIHBhc3NlZCBi eSBtZWV0aW5nICMxNzQgTEIjMTIgezA2LTExMS8wNi0xMzN9DQoNCltrZWVwIHRoaXMgdGV4dCBk b2N1bWVudCB0byA3MCBjaGFyYWN0ZXJzIHBlciBsaW5lXS4uLi4uLi4uLi4uLi4uLi4uLi4NCg0K VGFibGUgb2YgQ29udGVudHMNCg0KUGFydCAwIGNvbnRhaW5zIHRoZSBzdW1tYXJ5IHN0YXR1cyBv ZiBhbGwgb2YgdGhlIEZvcnRyYW4NCiAgICAgICBpbnRlcnByZXRhdGlvbnMNCg0KUGFydCAxIGNv bnRhaW5zIHRoZSBpbnRlcnByZXRhdGlvbiBwcm9jZXNzaW5nIHJ1bGVzIGZyb20gMDAtMTQyDQoN ClBhcnQgMiBjb250YWlucyBhY3RpdmUgRjk1IGludGVycHJldGF0aW9uczoNCg0KICAgICAgIC0g dGhlIHJlbWFpbmluZyBGOTUgaW50ZXJwIG51bWJlcnMgc3RhcnQgd2l0aCBGOTUvDQogICAgICAg LSB0aGUgRjk1IGludGVycHMgdGhhdCBhcmUgbnVtYmVyZWQgMS0zMiBhbmQgNjYtMTAzDQogICAg ICAgLSB0aGUgRjkwIGludGVycHMgdGhhdCBhcmUgbnVtYmVyZWQgRjkwLy4uLiBhbmQgYmVpbmcN CiAgICAgICAgIGludGVycHJldGVkIGFnYWluc3QgRjk1DQogICAgICAgLSB0aGVyZSBhcmUgbm8g bW9yZSBKYXBhbmVzZSBGOTUgaW50ZXJwcyB3aXRoIHRoZWlyIEpQLS4uLg0KICAgICAgICAgbnVt YmVycw0KDQpQYXJ0IDMgY29udGFpbnMgYWN0aXZlIEYyMDAzIGludGVycHJldGF0aW9ucyAocHJl Zml4ZWQgd2l0aCAiRjAzLyIpDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClBhcnQgMDogU3VtbWFyeSBTdGF0 dXMgb2YgdGhlc2UgRm9ydHJhbiBJbnRlcnByZXRhdGlvbnMNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KDQpO b3RlIE46DQogICAgIGQgPT0gZG9uZSB7aWYgUyA9IEMxIHwgQzIgfCBUMSB0aGVuIGRvbmUgaXMg YXNzdW1lZH0NCiAgICAgKiA9PSBhY3RpdmUNCiAgICAgVyA9PSB3b3VsZCBnbyBpbiBGOTUgQ29y cmlnZW5kdW0gMyBpZiB0aGVyZSB3ZXJlIG9uZQ0KDQpTdGF0dXMgUzogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEZWZlY3QgVHlwZSBUOg0KICAgICAgIFAgPT0gSjMgY29uc2lkZXJhdGlv biBpbiBwcm9ncmVzcyAgICAgICAgICAgQyA9PSBDbGFyaWZpY2F0aW9uDQogICAgICAgTSAgICBQ YXNzZWQgYnkgSjMgbWVldGluZyAgICAgICAgICAgICAgICAgICBFICAgIEVycmF0dW0NCiAgICAg ICBCICAgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90ICAgICAgICAgICAgIEkgICAgSW50ZXJw cmV0YXRpb24NCiAgICAgICBXICAgIFBhc3NlZCBieSBXRzUgYmFsbG90DQogICAgICAgQzEgICBJ bmNsdWRlZCBpbiBGOTUgY29ycmlnZW5kdW0gMSAoc2VlIE4xNDIyKQ0KICAgICAgIEMyICAgSW5j bHVkZWQgaW4gRjk1IGNvcnJpZ2VuZHVtIDIgKHNlZSBOMTQ3MykNCiAgICAgICBUMSAgIEluY2x1 ZGVkIGluIEYwMyBjb3JyaWdlbmR1bSAxIChzZWUgTjE2MzYvTjE2NDApDQogICAgICAgWCAgICBF eGNsdWRlZCBmb3IgdGhlIHJlYXNvbnMgZ2l2ZW4NCg0KTiAgUyBUIG51bWJlciAgICAgdGl0bGUN Ci0gIC0gLSAtLS0tLS0gICAgIC0tLS0tDQoNCiogIFggICBGOTUvMDAzMSAgIEFzc29jaWF0aW9u IG9mIHBvaW50ZXIgZnVuY3Rpb24gcmVzdWx0IHdpdGgNCiAgICAgICAgICAgICAgICAgICAgSU5U RU5UKE9VVCkgZHVtbXkgYXJndW1lbnQgKHN1YnN1bWVkIGJ5IDAwMDA3NCkNCiogIFAgSSBGOTUv MDA3NCAgIFRBUkdFVCBkdW1teSBhcmd1bWVudHMgYW5kIFBPSU5URVIgZXhwcmVzc2lvbnMNCiog IFAgICBGOTUvMDA5OCAgIEFyZSBkdW1teSBmdW5jdGlvbnMgcmV0dXJuaW5nIGFzc3VtZWQtbGVu Z3RoDQogICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlciBsZWdhbD8NCiogIFAgRSBGOTUvMDEw MiAgIG1hc2stZXhwciBldmFsdWF0ZWQgb25seSBvbmNlDQoqICBQIEUgRjkwLzAxNDUgICBFeHBy ZXNzaW9ucyBpbiA8dHlwZS1zcGVjPiBvZiBhIEZVTkNUSU9OIHN0YXRlbWVudA0KDQogIFQxIEkg RjAzLzAwMDEgICBHZW5lcmljIHR5cGUtYm91bmQgcHJvY2VkdXJlcw0KICBUMSBJIEYwMy8wMDAy ICAgQ29tcG9uZW50IHZhbHVlIGZvciBwb2ludGVyIGNvbXBvbmVudHMNCiogIFAgICBGMDMvMDAw MyAgIFJlZmVyZW5jaW5nIGRlZmVycmVkIGJpbmRpbmdzDQoqICBQIEUgRjAzLzAwMDQgICBUeXBl LWJvdW5kIHByb2NlZHVyZXMgYW5kIHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgICAgICBhc3Nv Y2lhdGlvbiBzdGF0dXMNCiAgVDEgRSBGMDMvMDAwNSAgIEFyZ3VtZW50IGFzc29jaWF0aW9uIGFu ZCB0aGUgVEFSR0VUIGF0dHJpYnV0ZQ0KICBUMSBFIEYwMy8wMDA2ICAgSW50cmluc2ljIGFzc2ln bm1lbnQgYW5kIGFsbG9jYXRhYmxlIGNvbXBvbmVudHMNCiAgVDEgRSBGMDMvMDAwNyAgIEZpbmFs aXphdGlvbiBvZiBzdHJ1Y3R1cmUgY29uc3RydWN0b3JzIGluDQogICAgICAgICAgICAgICAgICAg IHNwZWNpZmljYXRpb25zDQogICBCIEUgRjAzLzAwMDggICBQb2ludGVyIGFzc2lnbm1lbnQgYW5k IGFycmF5cw0KICBUMSBFIEYwMy8wMDA5ICAgVkFMVUUgYXR0cmlidXRlIGZvciBwYXNzZWQtb2Jq ZWN0IGR1bW15IGFyZ3VtZW50cw0KICBUMSBFIEYwMy8wMDEwICAgVW5saW1pdGVkIHBvbHltb3Jw aGljIHBvaW50ZXIvYWxsb2NhdGFibGUgZHVtbXkNCiAgICAgICAgICAgICAgICAgICAgYXJndW1l bnRzDQogIFQxIEUgRjAzLzAwMTEgICBBbGxvY2F0aW5nIG9iamVjdHMgb2YgYWJzdHJhY3QgdHlw ZXMNCiAgIEIgRSBGMDMvMDAxMiAgIFByb2NlZHVyZSBwb2ludGVycyBhbmQgdGhlIEVYVEVSTkFM IGF0dHJpYnV0ZQ0KICBUMSBFIEYwMy8wMDEzICAgVkFMVUUgYXR0cmlidXRlIGZvciBwb2x5bW9y cGhpYyBkdW1teSBhcmd1bWVudHMNCiAgVDEgRSBGMDMvMDAxNCAgIEF1dG9tYXRpYyBhcnJheXMg aW4gaW50ZXJmYWNlIGJvZGllcw0KICBUMSBFIEYwMy8wMDE1ICAgVEFSR0VUIGF0dHJpYnV0ZSBm b3IgYXNzb2NpYXRlIG5hbWVzDQogIFQxIEUgRjAzLzAwMTYgICBJbnZva2luZyB0eXBlLWJvdW5k IHByb2NlZHVyZXMgdmlhIGFycmF5IG9iamVjdHMNCiogIFAgRSBGMDMvMDAxNyAgIER1bW15IHBy b2NlZHVyZSBwb2ludGVycyBhbmQgUFJFU0VOVA0KICAgQiBDIEYwMy8wMDE4ICAgTXVsdGlwbGUg aWRlbnRpY2FsIHNwZWNpZmljIHByb2NlZHVyZXMgaW4NCiAgICAgICAgICAgICAgICAgICAgdHlw ZS1ib3VuZCBnZW5lcmljIGludGVyZmFjZXMNCiAgIEIgRSBGMDMvMDAxOSAgIE11bHRpcGxlIGlk ZW50aWNhbCBzcGVjaWZpYyBwcm9jZWR1cmVzIGluDQogICAgICAgICAgICAgICAgICAgIGdlbmVy aWMgaW50ZXJmYWNlIGJsb2Nrcw0KICAgQiBFIEYwMy8wMDIwICAgS2luZHMgb2YgaW50cmluc2lj IHR5cGUgcGFyYW1ldGVycw0KKiAgUCBFIEYwMy8wMDIxICAgV2hhdCBraW5kIG9mIHRva2VuIGlz IGEgc3RvcCBjb2RlPw0KKiAgUCBJIEYwMy8wMDIyICAgQ29leGlzdGVuY2Ugb2YgSUVFRSBhbmQg bm9uLUlFRUUga2luZHMNCiAgIEIgRSBGMDMvMDAyMyAgIElFRUVfU0VUL0dFVF9VTkRFUkZMT1df TU9ERQ0KKiAgUCBJIEYwMy8wMDI0ICAgREVBTExPQ0FURSBhbmQgYXJyYXkgcG9pbnRlcnMNCiAg IEIgRSBGMDMvMDAyNSAgIEFic3RyYWN0IHR5cGVzIGluIENMQVNTIElTIHR5cGUgZ3VhcmQNCiAg ICAgICAgICAgICAgICAgICAgc3RhdGVtZW50cw0KICAgQiBFIEYwMy8wMDI2ICAgSW50cmluc2lj IHR5cGVzIGluIENMQVNTIElTIHR5cGUgZ3VhcmQNCiAgICAgICAgICAgICAgICAgICAgc3RhdGVt ZW50cw0KICAgQiBFIEYwMy8wMDI3ICAgQXNzdW1lZCBjaGFyYWN0ZXIgbGVuZ3RoIGluIHR5cGUg Z3VhcmQNCiAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50cw0KICAgQiBFIEYwMy8wMDI4ICAg Q29tbWFzIGluIGNvbXBsZXggbmFtZWxpc3Qgb3V0cHV0DQogICBCIEUgRjAzLzAwMjkgICBOZWdh dGl2ZSB6ZXJvIGFuZCBpbnRyaW5zaWMgZnVuY3Rpb25zDQoqICBQIEUgRjAzLzAwMzAgICBJRUVF IGRpdmlkZSBieSB6ZXJvDQogIFQxIEkgRjAzLzAwMzEgICBJRUVFIGludmFsaWQNCiAgVDEgSSBG MDMvMDAzMiAgIFNpZ24gYml0IG9mIElFRUUgTmFODQogIFQxIEkgRjAzLzAwMzMgICBJRUVFX1ZB TFVFKCkNCiogIFAgRSBGMDMvMDAzNCAgIElFRUVfTE9HQigpDQogIFQxIEkgRjAzLzAwMzUgICBJ RUVFX05FWFRfQUZURVIoKQ0KICBUMSBJIEYwMy8wMDM2ICAgSUVFRV9SRU0oKQ0KICBUMSBJIEYw My8wMDM3ICAgSUVFRV9SSU5UKCkNCiAgVDEgSSBGMDMvMDAzOCAgIElFRUVfU0NBTEIoKQ0KKiAg UCBFIEYwMy8wMDM5ICAgSFlQT1QoKQ0KICBUMSBJIEYwMy8wMDQwICAgMi4wKzIuMCBhbmQgSUVF RQ0KICBUMSBJIEYwMy8wMDQxICAgSUVFRSBoYWx0aW5nIGFuZCBleGNlcHRpb25zDQoqICBQIEUg RjAzLzAwNDIgICBJRUVFIGZ1bm55IHZhbHVlcyBhbmQgU3RhbmRhcmQgcmVhbCBnZW5lcmljDQog ICAgICAgICAgICAgICAgICAgIGludHJpbnNpYyBwcm9jZWR1cmVzDQogIFQxIEUgRjAzLzAwNDMg ICBQYXNzZWQtb2JqZWN0IGFyZ3VtZW50cyBhbmQgcHJvY2VkdXJlDQogICAgICAgICAgICAgICAg ICAgIHBvaW50ZXIgY29tcG9uZW50cw0KICBUMSBFIEYwMy8wMDQ0ICAgSW1wbGljaXQgaW50ZXJm YWNlcyBhbmQgY29uZmxpY3RpbmcNCiAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlcw0KICAg QiBFIEYwMy8wMDQ1ICAgRmluYWxpemF0aW9uIGFuZCBhc3N1bWVkLXNpemVkDQogICAgICAgICAg ICAgICAgICAgIGFyZ3VtZW50cyB3aXRoIElOVEVOVChPVVQpDQoqICBQIEUgRjAzLzAwNDYgICBV bmxpbWl0ZWQgcG9seW1vcnBoaWMgcG9pbnRlcnMgaW4NCiAgICAgICAgICAgICAgICAgICAgY29t bW9uIGJsb2Nrcw0KKiAgUCBFIEYwMy8wMDQ3ICAgUG9seW1vcnBoaWMgYXJndW1lbnRzIHRvIGlu dHJpbnNpYw0KICAgICAgICAgICAgICAgICAgICBwcm9jZWR1cmVzDQoqICBQIEkgRjAzLzAwNDgg ICBDb250cm9sIGVkaXQgZGVzY3JpcHRvcnMgaW4gVUREVElPDQoqICBQIEkgRjAzLzAwNDkgICBT ZXBhcmF0b3JzIGluIGxpc3QtZGlyZWN0ZWQgb3V0cHV0DQogICAgICAgICAgICAgICAgICAgIGlu dm9sdmluZyBVRERUSU8NCiogIFAgSSBGMDMvMDA1MCAgIFF1ZXN0aW9ucyBhYm91dCBpbnRlcm5h bCBmaWxlcw0KKiAgUCBJIEYwMy8wMDUxICAgUmVwZWF0IHNwZWNpZmllcnMgYW5kIFVERFRJTw0K ICBUMSBJIEYwMy8wMDUyICAgQURWQU5DRT0gc3BlY2lmaWVyIGluIGNoaWxkIGRhdGENCiAgICAg ICAgICAgICAgICAgICAgdHJhbnNmZXIgc3RhdGVtZW50cw0KKiAgUCBFIEYwMy8wMDUzICAgVGhl IEJJTkQgYXR0cmlidXRlIGZvciBDX1BUUiBhbmQgQ19GVU5QVFINCiAgVDEgRSBGMDMvMDA1NCAg IERlbm9ybWFsIGlucHV0cyB0byBFWFBPTkVOVCwgRlJBQ1RJT04sDQogICAgICAgICAgICAgICAg ICAgIGFuZCBTRVRfRVhQT05FTlQNCiAgVDEgRSBGMDMvMDA1NSAgIERlbm9ybWFsIGlucHV0cyB0 byBTUEFDSU5HIGFuZCBSUlNQQUNJTkcNCiAgIEIgSSBGMDMvMDA1NiAgIE51bGwgaW5wdXQgdmFs dWVzIGFuZCBsaXN0LWRpcmVjdGVkIFVERFRJTw0KICAgQiBFIEYwMy8wMDU3ICAgTmFtZWxpc3Qg SS9PIGFuZCBVRERUSU8NCiAgIEIgSSBGMDMvMDA1OCAgIFJlY3Vyc2l2ZSBuYW1lbGlzdCBvdXRw dXQNCiogIFAgRSBGMDMvMDA1OSAgIFN0cnVjdHVyZSBjb21wb25lbnRzIGluIG5hbWVsaXN0IGlu cHV0DQogICBCIEUgRjAzLzAwNjAgICBEZWZhdWx0IGluaXRpYWxpemF0aW9uIG9mIElOVEVOVChP VVQpLA0KICAgICAgICAgICAgICAgICAgICBhc3N1bWVkLXNpemUgYXJyYXlzIHtzdWJzdW1lZCBi eQ0KICAgICAgICAgICAgICAgICAgICBGMDMvMDA0NX0NCiAgIEIgRSBGMDMvMDA2MSAgIFBvbHlt b3JwaGlzbSBhbmQgZXhwbGljaXQtc2hhcGUgb3INCiAgICAgICAgICAgICAgICAgICAgYXNzdW1l ZC1zaXplIGR1bW15IGFyZ3VtZW50cw0KICAgQiBFIEYwMy8wMDYyICAgRmluYWxpemF0aW9uIG9m IGFycmF5IGNvbnN0cnVjdG9ycw0KKiAgUCBFIEYwMy8wMDYzICAgUHJvY2VkdXJlIHBvaW50ZXJz IGluIEJMT0NLIERBVEEgcHJvZ3JhbQ0KICAgICAgICAgICAgICAgICAgICB1bml0cw0KKiAgUCBF IEYwMy8wMDY0ICAgUmVjdXJzaXZlIGRlY2xhcmF0aW9uIG9mIHByb2NlZHVyZSBpbnRlcmZhY2Vz DQoqICBQICAgRjAzLzAwNjUgICBSZWxhdGlvbmFsIGVxdWl2YWxlbmNlDQogICBCIEkgRjAzLzAw NjYgICBQcmVjaXNpb24gb2Ygb3BlcmF0aW9uDQogICBCIEkgRjAzLzAwNjcgICBBY2N1cmFjeSBv ZiBjb252ZXJzaW9uIG9mIHJlYWwgbGl0ZXJhbCBjb25zdGFudHMNCiAgIEIgRSBGMDMvMDA2OCAg IEZpcnN0IGNoYXJhY3RlciBvZiBuYW1lbGlzdCBvdXRwdXQgcmVjb3Jkcw0KICAgQiBFIEYwMy8w MDY5ICAgUHJvY2VkdXJlIHBvaW50ZXJzIGluIGRlZmluZWQgYXNzaWdubWVudA0KICAgQiBFIEYw My8wMDcwICAgQ2FuIGNoaWxkIEkvTyBzdGF0ZW1lbnRzIGJlIGFkdmFuY2luZyBJL08NCiAgICAg ICAgICAgICAgICAgICAgc3RhdGVtZW50cz8NCiogIFAgSSBGMDMvMDA3MSAgIFN1YnJvdXRpbmUv ZnVuY3Rpb24gYW1iaWd1aXR5IGluIGdlbmVyaWNzDQogICBCIEUgRjAzLzAwNzIgICBEZWZhdWx0 IGluaXRpYWxpemF0aW9uIGZvciAiYXV0b21hdGljIiBjb21wb25lbnRzDQoNCkhlcmUgaXMgdGhl IGNvbXBsZXRlIGluZGV4IHRvIHRoZSBGOTUgaW50ZXJwczoNCg0KTiAgUyBUIG51bWJlciAgICAg dGl0bGUNCi0gIC0gLSAtLS0tLS0gICAgIC0tLS0tDQoNCmQgIFAgSSAwMDAwMDBlICAgIFJlamVj dGVkIE1pbm9yIGVkaXRzIGFuZCBjb3JyZWN0aW9ucw0KICBDMSBJIDAwMDAwMSAgICAgVmlzaWJp bGl0eSBvZiBhIGRhdGEgb2JqZWN0IHdpdGggc3RhdGVtZW50IHNjb3BlDQogIEMyIEkgMDAwMDAy ICAgICBGcmVlIHNvdXJjZSBmb3JtIHJlcXVpcmVtZW50IGZvciBibGFuayBpbiBQUklOVA0KICAg ICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQNCiAgQzEgSSAwMDAwMDMgICAgIEFiaWxpdHkgdG8g b3ZlcmxvYWQgdGhlIGNoYXJhY3RlciBvcGVyYXRvciAvLw0KZCAgVyBJIDAwMDAwNCAgICAgVmFs dWUgcmV0dXJuZWQgYnkgTUFYVkFML01JTlZBTA0KICBDMSBJIDAwMDAwNSAgICAgVmFsdWUgcmV0 dXJuZWQgYnkgU0VMRUNURURfUkVBTF9LSU5EDQpkICBXIEkgMDAwMDA2ICAgICBDaGFyYWN0ZXIg bGVuZ3RoIHNwZWNpZmljYXRpb24gb2YgYSBmdW5jdGlvbiByZXN1bHQNCiAgQzIgSSAwMDAwMDcg ICAgIE9wdGlvbmFsIGludHJpbnNpYyBmdW5jdGlvbiBhcmd1bWVudHMNCmQgIFcgSSAwMDAwMDgg ICAgIE9wdGlvbmFsIGFyZ3VtZW50cyB0byBNQVgvTUlODQogIEMyIEkgMDAwMDA5ICAgICBJTlRF TlQgb2YgTU9MRCBhcmd1bWVudCB0byBUUkFOU0ZFUg0KICBDMiBFIDAwMDAxMCAgICAgTWVhbmlu ZyBvZiBlbWJlZGRlZCBibGFua3MgaW4gbmFtZWxpc3QgaW5wdXQgbmFtZQ0KICBDMiBFIDAwMDAx MSAgICAgRyBlZGl0aW5nIHR5cG8NCiAgQzIgRSAwMDAwMTIgICAgIEV2YWx1YXRpb24gb2YgSW50 cmluc2ljIFByb2NlZHVyZXMNCiAgIFggICAwMDAwMTMgICAgIEZvcm1hdCBvZiB6ZXJvIGluIGxp c3QtZGlyZWN0ZWQgYW5kIG5hbWVsaXN0IG91dHB1dA0KICAgICAgICAgICAgICAgICAgICB7cmVt b3ZlZCBjb21wbGV0ZWx5IC0gcXVlc3Rpb25zIGR1cGxpY2F0ZWQgaW4NCiAgICAgICAgICAgICAg ICAgICAgIDAwMDA2NyBpbiBDMn0NCiAgQzIgICAwMDAwMTQgICAgIEZvcm1hdCBvZiBjb21wbGV4 IG51bWJlcnMgaW4gbGlzdC1kaXJlY3RlZCBhbmQNCiAgICAgICAgICAgICAgICAgICAgbmFtZWxp c3Qgb3V0cHV0DQogIEMyICAgMDAwMDE1ICAgICBDb21tYXMgaW4gbGlzdC1kaXJlY3RlZCBvdXRw dXQNCiAgIFggICAwMDAwMTYgICAgIENvbXBsZXRlbHkgcmVtb3ZlZCAtIGR1cGxpY2F0ZSBvZiAw MDAwNzENCmQgIFcgSSAwMDAwMTcgICAgIENoYXJhY3RlcmlzdGljcyBvZiBhbiBhcnJheSBmdW5j dGlvbiByZXN1bHQNCiAgQzIgRSAwMDAwMTggICAgIEVMRU1FTlRBTCBwcm9jZWR1cmVzIHdpdGgg bm8gYXJndW1lbnRzDQogIEMyIEUgMDAwMDE5ICAgICBSZXN1bHQgb2YgTlVMTCBpbnRyaW5zaWMg YXNzb2NpYXRlZCB3aXRoDQogICAgICAgICAgICAgICAgICAgIENIQVJBQ1RFUigqKSBkdW1teSBh cmd1bWVudA0KICBDMiBFIDAwMDAyMCAgICAgRXhlY3V0aW9uIG9mIGEgV0hFUkUgc3RhdGVtZW50 IHdpdGhpbiBhIFdIRVJFDQogICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdA0KICBDMiBFIDAw MDAyMSAgICAgUmVzdHJpY3Rpb25zIG9uIDxnZW5lcmljLXNwZWM+IG9uIEVORCBJTlRFUkZBQ0UN CiAgQzIgRSAwMDAwMjIgICAgIFVzZSBvZiBOVUxMKCkgYXMgaW5pdGlhbGl6YXRpb24NCmQgIFcg SSAwMDAwMjMgICAgIFRlcm1pbmF0aW9uIG9mIHRoZSBwcmV2aW91cyByZWNvcmQgYnkgYSBXUklU RQ0KICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQNCiAgQzIgRSAwMDAwMjQgICAgIFRlcm1p bmF0aW9uIG9mIGEgcGFydGlhbCByZWNvcmQgYnkgYSBDTE9TRSwNCiAgICAgICAgICAgICAgICAg IEJBQ0tTUEFDRSwgRU5ERklMRSwgb3IgUkVXSU5EIHN0YXRlbWVudA0KICBDMiBFIDAwMDAyNSAg ICAgTGlzdC1kaXJlY3RlZCBpbnB1dDogdHlwZXMgb2YgdmFyaWFibGVzDQogICAgICAgICAgICAg ICAgICAgIGNvcnJlc3BvbmRpbmcgdG8gcmVwZWF0ZWQgdmFsdWVzDQogIEMyIEkgMDAwMDI2ICAg ICBMaXN0LWRpcmVjdGVkIGlucHV0OiB0eXBlcyBvZiB2YXJpYWJsZXMNCiAgICAgICAgICAgICAg ICAgICAgY29ycmVzcG9uZGluZyB0byByZXBlYXRlZCB2YWx1ZXMNCiAgQzIgQyAwMDAwMjcgICAg IFNlcXVlbnRpYWwgZm9ybWF0dGVkIEkvTzogcG9zaXRpb24gb2YgdGhlIGxlZnQgdGFiDQogIEMy IEMgMDAwMDI4ICAgICBJbXBsaWNpdGx5IFR5cGVkIFN0YXRlbWVudCBGdW5jdGlvbiBDaGFyYWN0 ZXIgRHVtbXkNCiAgQzIgQyAwMDAwMjkgICAgIEFzc29jaWF0aW9uIG9mIGEgcG9pbnRlciBhY3R1 YWwgYXJndW1lbnQgd2l0aCBhDQogICAgICAgICAgICAgICAgICAgIGR1bW15IGFyZ3VtZW50DQpX IFQxIEUgMDAwMDMwICAgICBPcmRlcmluZyByZXF1aXJlbWVudHMgb24gZGVmaW5pdGlvbiBvZg0K ICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uIGZ1bmN0aW9ucw0KKiAgWCAgIDAwMDAz MSAgICAgQXNzb2NpYXRpb24gb2YgcG9pbnRlciBmdW5jdGlvbiByZXN1bHQgd2l0aA0KICAgICAg ICAgICAgICAgICAgICBJTlRFTlQoT1VUKSBkdW1teSBhcmd1bWVudCAoc3Vic3VtZWQgYnkgMDAw MDc0KQ0KICBDMiAgIDAwMDAzMiAgICAgSXMgdGhlIFRSQU5TRkVSIGZ1bmN0aW9uIHJlc3VsdCB1 bmRlZmluZWQ/DQogIEMyIEUgMDAwMDY2ICAgICBFcnJvcnMgaW4gcHJvY2Vzc2luZyBkYXRhIHRy YW5zZmVyIHN0YXRlbWVudHMNCiAgQzIgRSAwMDAwNjcgICAgIFdyaXRpbmcgemVyb3MNCmQgIFcg SSAwMDAwNjggICAgIEFzdGVyaXNrcyBhcyBJL08gdW5pdHMNCiAgQzEgRSAwMDAwNjkgICAgIFdo YXQgaXMgYSBudW1lcmljIGNoYXJhY3Rlcj8NCiAgQzEgRSAwMDAwNzAgICAgIEFzeW1tZXRyeSBi ZXR3ZWVuIGNvbnN0YW50IHNwZWNpZmljYXRpb24gYW5kDQogICAgICAgICAgICAgICAgICAgIGlu aXRpYWxpemF0aW9uIGV4cHJlc3Npb25zDQogIEMyIEUgMDAwMDcxICAgICBDaGFyYWN0ZXIgYXJy YXkgY29uc3RydWN0b3JzDQogIEMxIEUgMDAwMDcyICAgICBSZXNvbHZpbmcgZ2VuZXJpYyBwcm9j ZWR1cmUgcmVmZXJlbmNlcw0KICBDMiAgIDAwMDA3MyAgICAgSXMgcGFkZGluZyBhbGxvd2VkIGlu IHN0b3JhZ2Ugc2VxdWVuY2VzPw0KKiAgUCBJIDAwMDA3NCAgICAgVEFSR0VUIGR1bW15IGFyZ3Vt ZW50cyBhbmQgUE9JTlRFUiBleHByZXNzaW9ucw0KICBDMiAgIDAwMDA3NSAgICAgRGVmaW5lZCBh c3NpZ25tZW50IGFuZCBJTlRFTlQoSU4pIGR1bW15IGFyZ3VtZW50cw0KICAgICAgICAgICAgICAg ICAgICBpbiBQVVJFIHByb2NlZHVyZXMNCiAgQzEgRSAwMDAwNzYgICAgIElOVEVOVChJTikgZHVt bXkgYXJndW1lbnRzIGFuZCBpbXBsaWVkIERPIGxvb3BzDQogIEMxIEUgMDAwMDc3ICAgICBJTlRF TlQoSU4pIGR1bW15IGFyZ3VtZW50cyBhbmQgTlVMTElGWQ0KVyBUMSBFIDAwMDA3OCAgICAgUmVz b2x2aW5nIGdlbmVyaWMgcHJvY2VkdXJlIHJlZmVyZW5jZXMNCiAgQzEgRSAwMDAwNzkgICAgIFBv aW50ZXIgQXNzaWdubWVudCBhbmQgQWxsb2NhdGFibGUgQXJyYXlzDQogIEMxIEUgMDAwMDgwICAg ICBIb3N0IGFzc29jaWF0aW9uIGFuZCB0aGUgRVhURVJOQUwgYXR0cmlidXRlDQogIEMyIEUgMDAw MDgxICAgICBEZWZpbml0aW9uIHN0YXR1cyBvZiBkZXJpdmVkLXR5cGUgb2JqZWN0cyB3aXRoDQog ICAgICAgICAgICAgICAgICAgIHBvaW50ZXIgY29tcG9uZW50cw0KICBDMSBFIDAwMDA4MiAgICAg VXNhZ2Ugb2YgQk9aIGxpdGVyYWwgY29uc3RhbnRzDQogIEMxIEUgMDAwMDgzICAgICBTY29wZSBv ZiBhcnJheS1jb25zdHJ1Y3RvciBpbXBsaWVkLURPIHZhcmlhYmxlDQogIEMxIEUgMDAwMDg0ICAg ICBFdmVudHMgdGhhdCBjYXVzZSB2YXJpYWJsZXMgdG8gYmUgZGVmaW5lZA0KICBDMiBFIDAwMDA4 NSAgICAgUHVibGljIGNvbXBvbmVudHMgb2YgcHJpdmF0ZSB0eXBlcw0KICBDMiBFIDAwMDA4NiAg ICAgRGVmaW5pdGlvbiBzdGF0dXMgcmVxdWlyZW1lbnRzIGZvciBkZWZpbmVkDQogICAgICAgICAg ICAgICAgICAgIG9wZXJhdGlvbnMNCiAgQzIgRSAwMDAwODcgICAgIE1PRCBhbmQgTU9EVUxPIGlu dHJpbnNpYyBmdW5jdGlvbnMgd2l0aCB6ZXJvIGRpdmlzb3INCiAgQzIgRSAwMDAwODggICAgIElO VFJJTlNJQyBzdGF0ZW1lbnQgYW5kIGF0dHJpYnV0ZQ0KICBDMiBDIDAwMDA4OSAgICAgUnVsZXMg YWxsb3dpbmcgZHVwbGljYXRlIG5hbWVzDQogIEMyIEUgMDAwMDkwICAgICBXaGF0IGRvIGBQcmlv ciBTcGVjaWZpY2F0aW9uJyBhbmQgYGRlZmluZWQNCiAgICAgICAgICAgICAgICAgICAgcHJldmlv dXNseScgbWVhbj8NCiAgQzIgRSAwMDAwOTEgICAgIERlZmluaXRpb24gb2YgInByZXNlbnQiIGlz IGRlZmVjdGl2ZQ0KICBDMiBFIDAwMDA5MiAgICAgVmFsdWVzIG9mIHRoZSBQQUQ9IFNwZWNpZmll ciBpbiB0aGUgSU5RVUlSRQ0KICAgICAgICAgICAgICAgICAgICBTdGF0ZW1lbnQNCiAgQzIgRSAw MDAwOTMgICAgIEFsbG9jYXRhYmxlIGFycmF5cyBhcyBhY3R1YWwgYXJndW1lbnRzDQogIEMyIEUg MDAwMDk0ICAgICBOVUxMIGludHJpbnNpYyBpbiBpbml0aWFsaXphdGlvbiBleHByZXNzaW9ucw0K ICBDMiBFIDAwMDA5NSAgICAgTmFtZXMgb2YgZnVuY3Rpb25zLCByZXN1bHRzIGFuZCBlbnRyeSBw b2ludHMNClcgVDEgRSAwMDAwOTYgICAgIEVuZC1vZi1yZWNvcmQgYW5kIFBBRA0KICBDMiBFIDAw MDA5NyAgICAgT3BlbiBTY3JhdGNoIEZpbGUgRXhhbXBsZQ0KKiAgUCAgIDAwMDA5OCAgICAgQXJl IGR1bW15IGZ1bmN0aW9ucyByZXR1cm5pbmcgYXNzdW1lZC1sZW5ndGgNCiAgICAgICAgICAgICAg ICAgICAgY2hhcmFjdGVyIGxlZ2FsPw0KZCAgVyBFIDAwMDA5OSAgICAgU1RBVD0gdmFyaWFibGUg cmVxdWlyZW1lbnRzIGluIEFMTE9DQVRFDQpkICBXIEUgMDAwMTAwICAgICBUQVJHRVQgYXR0cmli dXRlIGFuZCBzdHJ1Y3R1cmUgY29tcG9uZW50cw0KZCAgVyBFIDAwMDEwMSAgICAgR2VuZXJpYyBy ZXNvbHV0aW9uDQoqICBQIEUgMDAwMTAyICAgICBtYXNrLWV4cHIgZXZhbHVhdGVkIG9ubHkgb25j ZQ0KZCAgVyBFIDAwMDEwMyAgICAgRGVyaXZlZCB0eXBlIG5hbWUgRE9VQkxFUFJFQ0lTSU9ODQpk ICBXIEkgMDAwMTA0ICAgICBSZXByZXNlbnRhdGlvbiBtZXRob2Qgb2YgcmVzdWx0IG9mIFJFQUwN CmQgIFcgSSBGOTAvMDAwMDQ5IENoYXJhY3RlcmlzdGljcyBvZiBmdW5jdGlvbiByZXN1bHRzDQpk ICBXIEkgRjkwLzAwMDA3MCBDaGFyYWN0ZXJpc3RpY3Mgc3BlY2lmaWVkIGJ5IGludGVyZmFjZSBi b2RpZXMNCmQgIFcgSSBGOTAvMDAwMDk2IERlZmluaXRpb24gb2YgIkRlY2xhcmF0aW9uIg0KICBD MSBJIEY5MC8wMDAxMDAgQVNTT0NJQVRFRCBpbnRyaW5zaWMgYW5kIHplcm8tc2l6ZWQgb2JqZWN0 cw0KZCAgVyBJIEY5MC8wMDAxNDAgVEFSR0VUIGF0dHJpYnV0ZSBmb3IgYSBkZXJpdmVkLXR5cGUg b2JqZWN0IHdpdGggYQ0KICAgICAgICAgICAgICAgICAgICBwb2ludGVyIGNvbXBvbmVudA0KKiAg UCBFIEY5MC8wMDAxNDUgRXhwcmVzc2lvbnMgaW4gPHR5cGUtc3BlYz4gb2YgYSBGVU5DVElPTiBz dGF0ZW1lbnQNCiAgQzIgQyBGOTAvMDAwMTY0IFVzZSBvZiBPTkxZIHdpdGggbXVsdGlwYXJ0IGRl ZmluaXRpb25zDQogIEMxIEkgRjkwLzAwMDE3OSBETyB2YXJpYWJsZSB3aXRoIFBPSU5URVIgYXR0 cmlidXRlDQpkICBXIEkgRjkwLzAwMDE4MCBVbmFtYmlndW91cyBnZW5lcmljIHJlZmVyZW5jZXMN CiAgQzEgSSBGOTAvMDAwMTg1IFdoYXQgaXMgdGhlIGFsbG9jYXRpb24gc3RhdHVzIG9mIGFuIGFy cmF5IGFmdGVyIGFuDQogICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb24gZmFpbHVyZT8NCiAg QzIgSSBGOTAvMDAwMTkwIFN1Ym9iamVjdHMgb2YgY29uc3RhbnRzIGluIGEgREFUQSBzdGF0ZW1l bnQNCiAgQzIgSSBGOTAvMDAwMTkxIEludGVyYWN0aW9uIG9mIFNFUVVFTkNFIGRlcml2ZWQgdHlw ZXMgYW5kIHJlbmFtZQ0KICBDMSBJIEY5MC8wMDAxOTQgU3RhdGVtZW50cyBiZXR3ZWVuIFNFTEVD VCBDQVNFIGFuZCBDQVNFDQogIEMyIEMgRjkwLzAwMDE5NiBJbmFjY2Vzc2liaWxpdHkgb2YgaW50 cmluc2ljIHByb2NlZHVyZXMNCiAgQzIgICBGOTAvMDAwMTk3IFJlbGF0aW9uc2hpcCBvZiBORUFS RVNUIGFuZCBTUEFDSU5HDQogIEMyIEUgRjkwLzAwMDIwNCBNZWFuaW5nIG9mICJzYW1lIHZhcmlh YmxlIiBkZXNjcmlwdGlvbiBvZiBNVkJJVFMNCiAgQzIgRSBGOTAvMDAwMjA1IFJlc3RyaWN0aW9u cyBvbiBFWFRFUk5BTA0KZCAgVyBJIEY5MC8wMDAyMDYgQ29sbGF0aW5nIHNlcXVlbmNlIGluY29u c2lzdGVuY2llcw0KVyBUMSBFIEY5MC8wMDAyMDcgSW50ZWdlciBiaXQtbW9kZWwgaW5jb25zaXN0 ZW5jeQ0KZCAgVyBJIEY5MC8wMDAyMDggbm9uYWR2YW5jaW5nIG91dHB1dCBmb2xsb3dlZCBieSBs aXN0IGRpcmVjdGVkIG91dHB1dA0KICBDMiBFIEY5MC8wMDAyMDkgU1RPUHxQQVVTRSBpbiBJL08g c3RhdGVtZW50DQpkICBXIEkgRjkwLzAwMDIxMCBub25hZHZhbmNpbmcgd3JpdGUgZm9sbG93ZWQg YnkgbGlzdCBkaXJlY3RlZCB3cml0ZQ0KICBDMiBFIEY5MC8wMDAyMTEgTXVsdGlwbGUgTU9EVUxF IFBST0NFRFVSRSBzcGVjcw0KICBDMiBDIEY5MC8wMDAyMTIgRVFVSVZBTEVOQ0Ugb2YgRGF0YSBP YmplY3RzIG9mIERpZmZlcmVudCBUeXBlcyBvcg0KICAgICAgICAgICAgICAgICAgICBLaW5kcw0K ICBDMiBFIEpQLTA0ICAgICAgQ29uc3RydWN0aW9uIG9mIGRlcml2ZWQtdHlwZSB2YWx1ZXMNCiAg QzIgSSBKUC0wNSAgICAgIENvbnN0cnVjdGlvbiBvZiBhcnJheSB2YWx1ZXMNCiAgQzIgRSBKUC0w NiAgICAgIFR5cGUgZGVjbGFyYXRpb24gc3RhdGVtZW50cw0KICBDMiBFIEpQLTA4ICAgICAgVHlw ZSBkZWNsYXJhdGlvbiBzdGF0ZW1lbnRzDQogIEMyICAgSlAtMTIgICAgICBCb3VuZHMgb2YgZWFj aCBkaW1lbnNpb24gb2YgYW4gYXJyYXkgcG9pbnRlcg0KICBDMiBFIEpQLTE2ICAgICAgTXVsdGlw bGUgb2NjdXJyZW5jZSBvZiBuYW1lbGlzdC1ncm91cC1uYW1lIGluDQogICAgICAgICAgICAgICAg ICAgIE5BTUVMSVNUIHN0YXRlbWVudA0KZCAgVyBJIEpQLTE3ICAgICAgTXVsdGlwbGUgb2NjdXJy ZW5jZSBvZiBuYW1lbGlzdCBncm91cCBvYmplY3QgaW4NCiAgICAgICAgICAgICAgICAgICAgbmFt ZWxpc3QgZ3JvdXANCmQgIFcgRSBKUC0yNCAgICAgIFRoZSBibmYgdGVybSBzaGFyZWQtdGVybS1k by1jb25zdHJ1Y3QNCiAgQzIgRSBKUC0zMSAgICAgIFNpZ25zIG9mIGxpdGVyYWwgY29uc3RhbnRz DQogICBYICAgSlAtMzkgICAgICBXaXRoZHJhd24gYnkgc3VibWl0dGVyDQoNCg0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KUGFydCAxOiBJbnRlcnByZXRhdGlvbiBQcm9jZXNzaW5nIFJ1bGVzDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQoNCjAuIEFsbCBpbnRlcnByZXRhdGlvbnMgYXJlIGxpc3RlZCBpbiBKMyBzdGFuZGluZyBk b2N1bWVudCAwMDYuDQoNCjEuIEludGVycHJldGF0aW9ucyBhcmUgcHJvY2Vzc2VkIGJ5IHRoZSBK My9pbnRlcnAgZ3JvdXAgYW5kIGdpdmVuIGENCiAgIG51bWJlci4gIFRoZSBpbnRlcnByZXRhdGlv biBpcyBtYXJrZWQgIkozIGNvbnNpZGVyYXRpb24gaW4NCiAgIHByb2dyZXNzIi4gIEFuIGFuc3dl ciBpcyBmb3JtdWxhdGVkIGFuZCBwcmVzZW50ZWQgdG8gSjMgaW4gYQ0KICAgbWVldGluZyBwYXBl ci4NCg0KMi4gSjMgdm90ZXMgb24gdGhlIGFuc3dlciBhdCBhIEozIG1lZXRpbmc7IGEgc2ltcGxl IG1ham9yaXR5IHZvdGUNCiAgIG1hcmtzIHRoZSBhbnN3ZXIgYXMgInBhc3NlZCBieSBKMyBtZWV0 aW5nIi4NCg0KMy4gQmV0d2VlbiBKMyBtZWV0aW5ncyB0aGUgY2hhaXIgb2YgL2ludGVycCBzZW5k cyBhIEozIGxldHRlciBiYWxsb3QNCiAgIHRvIEozIHRvIGFwcHJvdmUgaW50ZXJwIGFuc3dlcnMg dGhhdCBoYXZlIGJlZW4gInBhc3NlZCBieSBKMw0KICAgbWVldGluZyIuICBUaGUgbGV0dGVyIGJh bGxvdCBydW5zIGZvciAzMCBkYXlzLiAgTm90IHZvdGluZyBvbg0KICAgdGhyZWUgb2YgZm91ciBj b25zZWN1dGl2ZSBKMyBsZXR0ZXIgYmFsbG90cyBpcyBncm91bmRzIHRvDQogICB0ZXJtaW5hdGUg SjMgbWVtYmVyc2hpcC4gIEFuIGludGVycCBhbnN3ZXIgcGFzc2VzIGJ5IGEgMi8zcmRzDQogICB2 b3RlOyBhIG5vIHZvdGUgbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhbiBleHBsYW5hdGlvbiBvZiB0 aGUNCiAgIGNoYW5nZXMgbmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgbWVtYmVyJ3Mgdm90ZSB0byB5 ZXMuDQoNCiAgIEozL2ludGVycCByZXNlcnZlcyB0aGUgcmlnaHQgdG8gcmVjYWxsIGFuIGludGVy cCBhbnN3ZXIgZm9yIG1vcmUNCiAgIHN0dWR5IGV2ZW4gaWYgdGhlIGFuc3dlciBwYXNzZXMuDQoN CjQuIFRoZSBjaGFpciBvZiBKMy9pbnRlcnAgZ2F0aGVycyBhbGwgaW50ZXJwIGFuc3dlcnMgdGhh dCBhcmUgbWFya2VkDQogICAicGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QiIGFuZCBmb3J3YXJk cyB0aGVtIHRvIHRoZSBXRzUNCiAgIGNvbnZlbm9yLiAgVGhlIFdHNSBjb252ZW5vciBob2xkcyBh IGJhbGxvdCBvZiBpbmRpdmlkdWFsIG1lbWJlcnM7DQogICBhIG5vIHZvdGUgbXVzdCBiZSBhY2Nv bXBhbmllZCBieSBhbiBleHBsYW5hdGlvbiBvZiB0aGUgY2hhbmdlcw0KICAgbmVjZXNzYXJ5IHRv IGNoYW5nZSB0aGUgbWVtYmVyJ3Mgdm90ZSB0byB5ZXMuICBUaGUgYW5zd2VycyB0aGF0DQogICBw YXNzIHRoaXMgYmFsbG90IGJlY29tZSAiV0c1IGFwcHJvdmVkIi4NCg0KICAgSjMvaW50ZXJwIHJl c2VydmVzIHRoZSByaWdodCB0byByZWNhbGwgYW4gaW50ZXJwIGFuc3dlciBmb3IgbW9yZQ0KICAg c3R1ZHkgZXZlbiBpZiB0aGUgYW5zd2VyIHBhc3Nlcy4NCg0KNS4gIldHNSBhcHByb3ZlZCIgYW5z d2VycyBhcmUgcHJvY2Vzc2VkIGludG8gYSBjb3JyaWdlbmR1bSBkb2N1bWVudA0KICAgYnkgdGFr aW5nIHRoZSBlZGl0cyBmcm9tIHRoZSBpbnRlcnAgYW5zd2VycyBhbmQgcHV0dGluZyB0aGVtIGlu DQogICB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IElTTy4gIEEgV0c1IHZvdGUgaXMgbWFkZSBvbiBm b3J3YXJkaW5nIHRoZQ0KICAgY29ycmlnZW5kdW0gdG8gU0MyMi4gIEludGVycHMgc28gZm9yd2Fy ZGVkIGFyZSBtYXJrZWQNCiAgICJDb3JyaWdlbmR1bSIuDQoNCjYuIEozL2ludGVycCBjcmVhdGVz IGEgZWRpdCBmb3IgdGhlIG5leHQgRm9ydHJhbiBTdGFuZGFyZCBpZiBvbmUgaXMNCiAgIG5lZWRl ZCBmb3IgYWxsIGludGVycHMgbWFya2VkICJDb3JyaWdlbmR1bSIuDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUGFydCAyOiBBY3RpdmUgRjk1IGludGVycHJldGF0aW9ucw0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KDQpOVU1CRVI6IEY5NS8wMDMxDQpUSVRMRTogQXNzb2NpYXRpb24gb2YgcG9p bnRlciBmdW5jdGlvbiByZXN1bHQgd2l0aCBJTlRFTlQoT1VUKSBkdW1teQ0KICAgICAgIGFyZ3Vt ZW50DQpLRVlXT1JEUzogUG9pbnRlciBhc3NvY2lhdGlvbiwgZHVtbXkgYXJndW1lbnQgYXNzb2Np YXRpb24sIGludGVudA0KICAgICAgICAgIGF0dHJpYnV0ZQ0KREVGRUNUIFRZUEU6IEludGVycHJl dGF0aW9uDQpTVEFUVVM6IFN1YnN1bWVkIGJ5IGludGVycCAjNzQNCg0KUVVFU1RJT046ICBDb25z aWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW0uDQoNCiAgICAgIFBST0dSQU0gUA0KICAgICAgICBJ TlRFR0VSLCBUQVJHRVQgOjogVA0KDQogICAgICAgIENBTEwgU1VCKEZQVFIoKSkNCiAgICAgIENP TlRBSU5TDQogICAgICAgIEZVTkNUSU9OIEZQVFIoKQ0KICAgICAgICAgIElOVEVHRVIsIFBPSU5U RVIgOjogRlBUUg0KDQogICAgICAgICAgRlBUUiA9PiBUDQogICAgICAgIEVORCBGVU5DVElPTiBG UFRSDQogICAgICAgIFNVQlJPVVRJTkUgU1VCKElPKQ0KICAgICAgICAgIElOVEVHRVIsIElOVEVO VChPVVQpIDo6IElPDQoNCiAgICAgICAgICBJTyA9IDE3DQogICAgICAgIEVORCBTVUJST1VUSU5F IFNVQg0KICAgICAgRU5EIFBST0dSQU0gUA0KDQpBY2NvcmRpbmcgdG8gMTIuNC4xIFsyMDA6MzAt MzJdLA0KDQogICAgIklmIGEgZHVtbXkgYXJndW1lbnQgaXMgbm90IGEgcG9pbnRlciBhbmQgdGhl IGNvcnJlc3BvbmRpbmcNCiAgICAgYWN0dWFsIGFyZ3VtZW50IGlzIGEgcG9pbnRlciwgdGhlIGFj dHVhbCBhcmd1bWVudCBzaGFsbCBiZQ0KICAgICBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIGEg dGFyZ2V0IGFuZCB0aGUgZHVtbXkgYXJndW1lbnQNCiAgICAgYmVjb21lcyBhcmd1bWVudCBhc3Nv Y2lhdGVkIHdpdGggdGhhdCB0YXJnZXQuIg0KDQpBY2NvcmRpbmcgdG8gMTIuNC4xIFsyMDE6MTkt MjFdLA0KDQogICAgIklmIGEgZHVtbXkgYXJndW1lbnQgaGFzIElOVEVOVChPVVQpIG9yIElOVEVO VChJTk9VVCksIHRoZSBhY3R1YWwNCiAgICAgYXJndW1lbnQgc2hhbGwgYmUgZGVmaW5hYmxlLiIN Cg0KQWNjb3JkaW5nIHRvIDUuMS4yLjMgWzUzOjI5LTMxXSwNCg0KICAgICJUaGUgSU5URU5UKE9V VCkgYXR0cmlidXRlIHNwZWNpZmllcyB0aGF0LiAuIC4gYW55IGFjdHVhbA0KICAgICBhcmd1bWVu dCB0aGF0IGJlY29tZXMgYXNzb2NpYXRlZCB3aXRoIHN1Y2ggYSBkdW1teSBhcmd1bWVudA0KICAg ICBzaGFsbCBiZSBkZWZpbmFibGUuIg0KDQpUaGUgZGVmaW5pdGlvbiBvZiAiZGVmaW5hYmxlIiBz dXBwbGllZCBpbiBBbm5leCBBICh0aGUgdGVybSBkb2VzIG5vdA0KYXBwZWFyIHRvIGJlIGRlZmlu ZWQgaW4gbm9ybWF0aXZlIHRleHQpIGlzOg0KDQogICAgIkEgdmFyaWFibGUgaXMgPDxkZWZpbmFi bGU+PiBpZiBpdHMgdmFsdWUgbWF5IGJlIGNoYW5nZWQgYnkgdGhlDQogICAgIGFwcGVhcmFuY2Ug b2YgaXRzIDxuYW1lPiBvciA8ZGVzaWduYXRvcj4gb24gdGhlIGxlZnQgb2YgYW4NCiAgICAgPGFz c2lnbm1lbnQgc3RhdGVtZW50Pi4iDQoNCkFjY29yZGluZyB0byB0aGlzIGRlZmluaXRpb24sICJk ZWZpbmFibGUiIGlzIGEgcHJvcGVydHkgb2YgdmFyaWFibGVzDQpvbmx5LiAgSW4gdGhlIGV4YW1w bGUgYWJvdmUsIHRoZSBhY3R1YWwgYXJndW1lbnQgaXMgbm90IGEgdmFyaWFibGUuDQpIb3dldmVy LCB0aGUgYWN0dWFsIGFyZ3VtZW50IGlzIHBvaW50ZXIgYXNzb2NpYXRlZCB3aXRoIGFuIG9iamVj dA0KdGhhdCBpcyBkZWZpbmFibGUuICBUaGUgdGV4dCBjaXRlZCBmcm9tIDUuMS4yLjMgcmVmZXJz IHRvIHRoZQ0KImFjdHVhbCBhcmd1bWVudCB0aGF0IGJlY29tZXMgYXNzb2NpYXRlZCB3aXRoIHRo ZSBkdW1teSBhcmd1bWVudCIsDQpidXQgdGhlIGZpcnN0IHBpZWNlIG9mIHRleHQgY2l0ZWQgZnJv bSAxMi40LjEgbWFrZXMgaXQgY2xlYXIgdGhhdA0Kd2hlbiB0aGUgYWN0dWFsIGFyZ3VtZW50IGlz IGEgcG9pbnRlciwgaXQgaXMgdGhlIHRhcmdldCB3aXRoIHdoaWNoDQppdCBpcyBhc3NvY2lhdGVk IHRoYXQgYmVjb21lcyBhcmd1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGR1bW15DQphcmd1bWVu dCwgYW5kIG5vdCB0aGUgYWN0dWFsIGFyZ3VtZW50IGl0c2VsZi4NCg0KV2FzIGl0IHRoZSBpbnRl bnQgb2YgdGhlIGNvbW1pdHRlZSB0aGF0IHRoaXMgcHJvZ3JhbSBzaG91bGQgbm90IGJlDQpzdGFu ZGFyZC1jb25mb3JtaW5nPw0KDQpBTlNXRVI6DQoNClRoZSBwcm9ncmFtIGRvZXMgbm90IGNvbmZv cm0gdG90aGUgc3RhbmRhcmQuDQoNClNlZSB0aGUgYW5zd2VyIHRvIEY5NSBpbnRlcnByZXRhdGlv biAjMDAwMDc0Lg0KDQpFRElUUzogTm9uZQ0KDQpTVUJNSVRURUQgQlk6IEhlbnJ5IFpvbmdhcm8N Cg0KSElTVE9SWTogOTgtMTc3ICAgICAgbTE0NiAgIEY5NS8wMDMxIFN1Ym1pdHRlZA0KICAgICAg ICAgV0c1L04xNDE0ICAgICAgICAgIERyYWZ0IGFuc3dlcg0KICAgICAgICAgMDAtMjYwICAgICAg bTE1NCAgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwMC0zMjkgICAgICBtMTU1ICAg RmFpbGVkIEozIGxldHRlciBiYWxsb3QNCiAgICAgICAgIDAxLTIwMCAgICAgIG0xNTcgICBQYXNz ZWQgYnkgSjMgbWVldGluZyAxMC0yDQogICAgICAgICAwMS0yNzUgICAgICBtMTU4ICAgRmFpbGVk IEozIGxldHRlciBiYWxsb3QNCiAgICAgICAgIDA0LTQxN3IxICAgIG0xNzAgICBTdWJzdW1lZCBi eSBpbnRlcnAgIzc0DQogICAgICAgICAwNS0xODAgICAgICBtMTcyICAgRjk1IGludGVycCAwMDAw NzQgZmFpbGVkIFdHNSBiYWxsb3QgTjE2MTcNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEY5 NS8wMDc0DQpUSVRMRTogVEFSR0VUIGR1bW15IGFyZ3VtZW50cyBhbmQgUE9JTlRFUiBleHByZXNz aW9ucw0KS0VZV09SRFM6IFRBUkdFVCwgUE9JTlRFUiwgZHVtbXkgYXJndW1lbnRzDQpERUZFQ1Qg VFlQRTogSW50ZXJwcmV0YXRpb24NClNUQVRVUzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVz cw0KICAgICAgICBzZWUgYWxzbyBGOTUgaW50ZXJwIDAwMDAzMQ0KDQpRVUVTVElPTjoNCg0KQ29u c2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtLg0KDQpQUk9HUkFNIHF1ZXN0aW9uYWJsZQ0KICBS RUFMLFRBUkdFVCA6OiB4DQogIENBTEwgczEoZih4KSkNCiAgQ0FMTCBzMihmKHgpKQ0KICBDQUxM IHMzKGYoeCkpDQpDT05UQUlOUw0KICBGVU5DVElPTiBmKGEpDQogICAgUkVBTCxQT0lOVEVSIDo6 IGYNCiAgICBSRUFMLFRBUkdFVCA6OiBhDQogICAgZiA9PiBhDQogIEVORCBGVU5DVElPTg0KICBT VUJST1VUSU5FIHMxKHZhcmlhYmxlKQ0KICAgIHZhcmlhYmxlID0gNDIgICAgICAgICAgICAgICAg ICAhIHN0YXRlbWVudCAxDQogIEVORCBTVUJST1VUSU5FDQogIFNVQlJPVVRJTkUgczIodmFyaWFi bGUpDQogICAgSU5URU5UKE9VVCkgdmFyaWFibGUNCiAgICB2YXJpYWJsZSA9IDQyICAgICAgICAg ICAgICAgICAgISBzdGF0ZW1lbnQgMg0KICBFTkQgU1VCUk9VVElORQ0KICBTVUJST1VUSU5FIHMz KHRhcmcpDQogICAgUkVBTCxUQVJHRVQgOjogdGFyZw0KICAgIFJFQUwsUE9JTlRFUiA6OiBwDQog ICAgcCA9PiB0YXJnDQogICAgUFJJTlQgKixBU1NPQ0lBVEVEKHAseCkgICAgICAgICEgc3RhdGVt ZW50IDMNCiAgRU5EIFNVQlJPVVRJTkUNCkVORA0KDQpJcyB0aGlzIHByb2dyYW0gc3RhbmRhcmQt Y29uZm9ybWluZywgYW5kIGlmIHNvLCB3aGF0IHZhbHVlIGlzDQpwcmludGVkPw0KDQpUaGUgcmVh bCBxdWVzdGlvbiBpcyB3aGV0aGVyIGFuIGV4cHJlc3Npb24gYXJndW1lbnQgdGhhdCBpcyBhIHBv aW50ZXINCmZ1bmN0aW9uIHJlZmVyZW5jZSBpcyB0cmVhdGVkIGFzIGEgdmFyaWFibGUgKGRhdGEt b2JqZWN0KSBhcmd1bWVudA0Kd2l0aCB0aGUgdmFyaWFibGUgYmVpbmcgdGhlIHRhcmdldCBvZiB0 aGUgcG9pbnRlciBleHByZXNzaW9uLiAgKE9yDQp3aGV0aGVyIGl0IGlzIGRlcmVmZXJlbmNlZCBh cyB1c3VhbCBpbiB0aGUgYWJzZW5jZSBvZiBQT0lOVEVSIGR1bW15DQphcmd1bWVudHMpLg0KDQpS ZSAoc3RhdGVtZW50IDEpLCB0aGUgcXVlc3Rpb24gaXMgd2hldGhlciBWQVJJQUJMRSBpcyBkZWZp bmFibGUgd2hlbg0KYXJndW1lbnQtYXNzb2NpYXRlZCB3aXRoICJGKCkiLg0KDQpSZSAoc3RhdGVt ZW50IDIpLCBpZiB0aGUgcHJldmlvdXMgYW5zd2VyIHdhcyBZZXMgKFZBUklBQkxFIGlzDQpkZWZp bmFibGUpLCB0aGVuIHByZXN1bWFibHkgaXQgY2FuIGJlIG1hZGUgSU5URU5UKE9VVCkuICBBIHJh bmRvbQ0Kc2FtcGxlIG9mIDQgY29tcGlsZXJzIHJldmVhbGVkIHRoYXQgdGhleSBjb25zaWRlcmVk IGl0IG5vdCB0byBiZQ0KZGVmaW5hYmxlLg0KDQpSZSAoc3RhdGVtZW50IDMpLCB0aGUgcXVlc3Rp b24gaXMgd2hldGhlciBQIGlzIHBvaW50ZXItYXNzb2NpYXRlZA0Kd2l0aCBYLCBub3QgcG9pbnRl ci1hc3NvY2lhdGVkIHdpdGggWCwgb3IgcHJvY2Vzc29yLWRlcGVuZGVudC4gIE9mDQp0aGUgc2Ft ZSByYW5kb20gc2FtcGxlIDMgdGhvdWdodCBpdCB3YXMgYXNzb2NpYXRlZCB3aXRoIFgsIDEgdGhv dWdodA0Kbm90Lg0KDQpBTlNXRVI6DQoNCjEuIFRoZSBjYWxsIHRvIHMxIGlzIG5vdCBzdGFuZGFy ZCBjb25mb3JtaW5nLiAxMi41LjIuMSBzYXlzOg0KDQonQSBkdW1teSBkYXRhIG9iamVjdCB3aG9z ZSBpbnRlbnQgaXMgbm90IHNwZWNpZmllZCBpcyBzdWJqZWN0IHRvIHRoZQ0KbGltaXRhdGlvbnMg b2YgdGhlIGRhdGEgZW50aXR5IHRoYXQgaXMgdGhlIGFzc29jaWF0ZWQgYWN0dWFsDQphcmd1bWVu dC4gIFRoYXQgaXMsIGEgcmVmZXJlbmNlIHRvIHRoZSBkdW1teSBkYXRhIG9iamVjdCBtYXkgb2Nj dXINCmlmIHRoZSBhY3R1YWwgYXJndW1lbnQgaXMgZGVmaW5lZCBhbmQgdGhlIGR1bW15IGRhdGEg b2JqZWN0IG1heSBiZQ0KZGVmaW5lZCBpZiB0aGUgYWN0dWFsIGFyZ3VtZW50IGlzIGRlZmluYWJs ZS4nDQoNCkhlcmUgdGhlIGFjdHVhbCBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIHJlc3VsdCwgd2hp Y2ggaXMgbm90DQpkZWZpbmFibGUuICBGb3IgZXhhbXBsZSwgaXQgaXMgbm90IHBlcm1pdHRlZCBv biB0aGUgbGVmdC1oYW5kIHNpZGUNCm9mIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50LCBzaW5jZSBp dCBpcyBub3QgYSB2YXJpYWJsZS4gIChCZWluZw0KImRlZmluZWQiIG9yICJ1bmRlZmluZWQiIGlz IGZ1bmRhbWVudGFsbHkgYSBjb25jZXB0IHRoYXQgYXBwbGllcyBvbmx5DQp0byB2YXJpYWJsZXMu KQ0KDQoyLiBUaGUgY2FsbCB0byBzMiBpcyBub3Qgc3RhbmRhcmQgY29uZm9ybWluZy4gMTIuNC4x LjEgc2F5czoNCg0KJ0lmIGEgZHVtbXkgYXJndW1lbnQgaGFzIElOVEVOVChPVVQpIG9yIElOVEVO VChJTk9VVCksIHRoZSBhY3R1YWwNCmFyZ3VtZW50IHNoYWxsIGJlIGRlZmluYWJsZS4nDQoNCkFn YWluIHRoZSBhY3R1YWwgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiByZXN1bHQsIHdoaWNoIGlzIG5v dA0KZGVmaW5hYmxlLg0KDQozLiBUaGUgY2FsbCB0byBzMyBpcyBzdGFuZGFyZCBjb25mb3JtaW5n IGFuZCB0aGUgcG9pbnRlciBhc3NpZ25tZW50DQppbiBzMyBjYXVzZXMgcCBhbmQgeCB0byBiZWNv bWUgYXNzb2NpYXRlZC4gVGhpcyBtYXkgYmUgZGVkdWNlZCBmcm9tDQoxMi40LjEuMSwgd2hpY2gg c2F5cyBbMjAwOjM4LTQyXToNCg0KJ0lmIHRoZSBkdW1teSBhcmd1bWVudCBoYXMgdGhlIFRBUkdF VCBhdHRyaWJ1dGUgYW5kIGlzIGVpdGhlciBzY2FsYXINCm9yIGlzIGFuIGFzc3VtZWQtc2hhcGUg YXJyYXksIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhY3R1YWwgYXJndW1lbnQNCmhhcyB0aGUgVEFS R0VUIGF0dHJpYnV0ZSBidXQgaXMgbm90IGFuIGFycmF5IHNlY3Rpb24gd2l0aCBhIHZlY3Rvcg0K c3Vic2NyaXB0ICgxKSBBbnkgcG9pbnRlcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBhY3R1YWwgYXJn dW1lbnQgYmVjb21lDQphc3NvY2lhdGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZHVtbXkgYXJn dW1lbnQgb24gaW52b2NhdGlvbiBvZiB0aGUNCnByb2NlZHVyZSAuLi4nDQoNCkVESVRTOiBOb25l Lg0KDQoNClNVQk1JVFRFRCBCWTogIE1hbGNvbG0gQ29oZW4NCg0KSElTVE9SWTogOTktMTk4ICAg ICAgbTE1MCAgIEY5NS8wMDc0IHN1Ym1pdHRlZA0KICAgICAgICAgV0c1L04xNDE0ICAgICAgICAg IERyYWZ0IGFuc3dlcg0KICAgICAgICAgMDAtMjYwICAgICAgbTE1NCAgIFBhc3NlZCBieSBKMyBt ZWV0aW5nDQogICAgICAgICAwMC0zMjkgICAgICBtMTU1ICAgRmFpbGVkIEozIGxldHRlciBiYWxs b3QNCiAgICAgICAgIDA0LTMxMSAgICAgIG0xNjggICBQYXNzZWQgYnkgSjMgbWVldGluZyB2b3Rl IC0gYWx0ZXJuYXRlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlciByZW1vdmVk DQogICAgICAgICAwNC00MTdyMSAgICBNMTcwICAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3Qg IzgNCiAgICAgICAgIDA1LTE4MCAgICAgIG0xNzIgICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNw0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjk1LzAwOTgNClRJVExFOiBBcmUgZHVtbXkgZnVu Y3Rpb25zIHJldHVybmluZyBhc3N1bWVkLWxlbmd0aCBjaGFyYWN0ZXIgbGVnYWw/DQpLRVlXT1JE UzogRFVNTVkgRlVOQ1RJT04sIEFTU1VNRUQtTEVOR1RIIENIQVJBQ1RFUg0KREVGRUNUIFRZUEU6 IEludGVycHJldGF0aW9uDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0K UVVFU1RJT046DQoNCkFyZSBkdW1teSBmdW5jdGlvbnMgcmV0dXJuaW5nIGFzc3VtZWQtbGVuZ3Ro IGNoYXJhY3RlciBsZWdhbD8NCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQog ICAgICAgIGNoYXJhY3Rlcio1IGYNCiAgICAgICAgZXh0ZXJuYWwgZg0KICAgICAgICAgIGNhbGwg c3MzKGYpDQogICAgICAgIGVuZA0KICAgICAgICBzdWJyb3V0aW5lIHNzMyhmZikNCiAgICAgICAg Y2hhcmFjdGVyKigqKSBmZiwgYSoxMA0KICAgICAgICBleHRlcm5hbCBmZg0KICAgICAgICAgIGEg PSBmZigpLy8nOTk5OTk5OTknDQogICAgICAgICAgcHJpbnQgKiwgJzwnLCBhLCAnPicNCiAgICAg ICAgZW5kDQogICAgICAgIGZ1bmN0aW9uIGYoKQ0KICAgICAgICBjaGFyYWN0ZXIqKCopIGYNCiAg ICAgICAgICBmID0gJzEyMycNCiAgICAgICAgZW5kDQoNClRoZSBpc3N1ZSBpcyB0aGUgY2FsbCB0 byB0aGUgZHVtbXkgZnVuY3Rpb24gJ2ZmJyBpbiBzdWJyb3V0aW5lICdzczMnLg0KU29tZSBjb21w aWxlcnMgaXNzdWUgYW4gZXJyb3IgbWVzc2FnZS4gT3RoZXJzIHByaW50IHRoZSByZXN1bHQ6DQoN CiA8MTIzICA5OTk5OT4NCg0KVGhlcmUgYXBwZWFyIHRvIGJlIHR3byByZWxldmFudCwgY29udHJh ZGljdG9yeSBwYXNzYWdlcyBpbiB0aGUgRjk1DQpzdGFuZGFyZC4gUmVmZXIgdG8gc2VjdGlvbiA1 LjEuMS41LiA8PiBtZWFucyBpdGFsaWNzLCBbXSBtZWFucw0Kb2Jzb2xlc2NlbnQgZm9udC4NCg0K VGhlIHRoaXJkIGNvbnN0cmFpbnQgc2F5cyAiQSBmdW5jdGlvbiBuYW1lIHNoYWxsIG5vdCBiZSBk ZWNsYXJlZCB3aXRoDQphbiBhc3RlcmlzayA8Y2hhci1sZW4tcGFyYW0tdmFsdWU+IFt1bmxlc3Mg aXQgaXMgdGhlIG5hbWUgb2YgdGhlDQpyZXN1bHQgb2YgYW4gZXh0ZXJuYWwgZnVuY3Rpb24gb3Ig dGhlIG5hbWUgb2YgYSBkdW1teSBmdW5jdGlvbi5dDQoNCkJlZm9yZSBub3RlIDUuNiBvbiB0aGUg bmV4dCBwYWdlLCB0aGUgdGhpcmQgYnVsbGV0IHNheXM6DQooMykgW0luIGFuIGV4dGVybmFsIGZ1 bmN0aW9uLCB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gcmVzdWx0IG1heSBiZQ0Kc3BlY2lmaWVk IHdpdGggYSBjaGFyYWN0ZXIgbGVuZ3RoIHBhcmFtZXRlciB2YWx1ZSBvZiAqOyBpbiB0aGlzIGNh c2UsDQphbnkgc2NvcGluZyB1bml0IGludm9raW5nIHRoZSBmdW5jdGlvbiBzaGFsbCBkZWNsYXJl IHRoZSBmdW5jdGlvbg0KbmFtZSB3aXRoIGEgY2hhcmFjdGVyIGxlbmd0aCBwYXJhbWV0ZXIgdmFs dWUgb3RoZXIgdGhhbiAqIG9yIGFjY2Vzcw0Kc3VjaCBhIGRlZmluaXRpb24gYnkgaG9zdCBvciB1 c2UgYXNzb2NpYXRpb24uIFdoZW4gdGhlIGZ1bmN0aW9uIGlzDQppbnZva2VkLCB0aGUgbGVuZ3Ro IG9mIHRoZSByZXN1bHQgdmFyaWFibGUgaW4gdGhlIGZ1bmN0aW9uIGlzIGFzc3VtZWQNCmZyb20g dGhlIHZhbHVlIG9mIHRoaXMgdHlwZSBwYXJhbWV0ZXIuXQ0KDQpBY2NvcmRpbmcgdG8gdGhlIHN0 YW5kYXJkLCB0aGUgdXNlIGluIHRoZSBleGFtcGxlIHByb2dyYW0gaXMgbGVnYWwsDQpiZWNhdXNl ICdmZicgaXMgdGhlIG5hbWUgb2YgYSBkdW1teSBmdW5jdGlvbi4gQnV0IGl0IHNlZW1zIGNsZWFy IHRoYXQNCnRoZSBzdGFuZGFyZCBpbnRlbmRlZCB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHZhcmlh YmxlIHJldHVybmVkIGJ5DQphIGNoYXJhY3RlciBmdW5jdGlvbiBiZSBrbm93biBhdCBjb21waWxl IHRpbWU7IGl0IGlzIG5vdCBrbm93biBpbiB0aGUNCmNhc2Ugd2hlcmUgdGhlIGZ1bmN0aW9uIGlz IGEgZHVtbXkgZnVuY3Rpb24uDQoNCkFOU1dFUjoNCg0KDQoNCkVESVRTOg0KDQpTVUJNSVRURUQg Qlk6IExhcnJ5IE1lYWRvd3MNCg0KSElTVE9SWTogMDItMTU3ICAgIG0xNjAgIEY5NS8wMDk4IFN1 Ym1pdHRlZA0KICAgICAgICAgMDQtNDE3cjEgIG0xNzAgIER1cGxpY2F0ZSBvZiBpbnRlcnAgIzYN CiAgICAgICAgIDA1LTE4MCAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNyAtIG5vdCBh IGR1cGxpY2F0ZSBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgIEY5NSBpbnRlcnAgMDAwMDA2 DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGOTUvMDEwMg0KVElUTEU6IG1hc2stZXhwciBl dmFsdWF0ZWQgb25seSBvbmNlDQpLRVlXT1JEUzogV0hFUkUNCkRFRkVDVCBUWVBFOiBFcnJhdHVt DQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNCklz IGEgbWFzay1leHByIHJlcXVpcmVkIHRvIGJlIGV2YWx1YXRlZCBpbiBhIFdIRVJFIHN1Y2ggYXM6 DQoNCiAgICAgIFdIRVJFICggKC8gLlRSVUUuLCAuVFJVRS4gLykgKQ0KICAgICAgICBBID0gQSAr IDENCiAgICAgIEVMU0UgV0hFUkUgKE1BU0tGKCkpDQogICAgICAgIEEgPSBNQVgNCiAgICAgIEVO RCBXSEVSRQ0KDQp3aGVyZSBhbiBvcHRpbWl6aW5nIGNvbXBpbGVyIG1pZ2h0IG5vdGljZSB0aGF0 IHRoZSBFTFNFV0hFUkUNCmJyYW5jaCB3aWxsIG5ldmVyIGJlIGV4ZWN1dGVkID8NCg0KUGFnZSAx MTIsIGxpbmUgMzggc2F5cyBvZiB0aGUgbWFzayBleHByZXNzaW9uIGluIEVMU0VXSEVSRSBzdGF0 ZW1lbnRzDQoNCiJUaGUgbWFzay1leHByZXNzaW9uIGlzIGV2YWx1YXRlZCBvbmx5IG9uY2UuIg0K DQpBTlNXRVI6DQoNCk5vLCBpdCBpcyBub3QgcmVxdWlyZWQgdG8gZXZhbHVhdGUgdGhlIG1hc2st ZXhwciBpbiBhIFdIRVJFLiBBbiBlZGl0DQppcyBzdXBwbGllZCB0byBjb3JyZWN0IHRoaXMgb3Zl cnNpZ2h0Lg0KDQpFRElUUzoNCg0KWzExMjozMC0zMV0gIENoYW5nZSAib25seSBvbmNlIiB0byAi YXQgbW9zdCBvbmNlIg0KDQpbMTEyOjM4XSAgQ2hhbmdlICJvbmx5IG9uY2UiIHRvICJhdCBtb3N0 IG9uY2UiDQoNClNVQk1JVFRFRCBCWTogTWF0dGhpanMgdmFuIFdhdmVyZW4NCg0KSElTVE9SWTog MDMtMjM5ICAgIG0xNjUgIEY5NS8wMTAyIFBhc3NlZCBieSBKMyBtZWV0aW5nIHZvdGUNCiAgICAg ICAgIDA0LTQxN3IxICBtMTcwICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAjOA0KICAgICAg ICAgMDUtMTgwICAgIG0xNzIgIEZhaWxlZCBXRzUgYmFsbG90IE4xNjE3DQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KTlVNQkVSOiBGOTAvMDE0NQ0KVElUTEU6IEV4cHJlc3Npb25zIGluIDx0eXBlLXNwZWM+ IG9mIGEgRlVOQ1RJT04gc3RhdGVtZW50DQpLRVlXT1JEUzogZXhwcmVzc2lvbiAtIHNwZWNpZmlj YXRpb24sIGV4cHJlc3Npb24gLSBpbml0aWFsaXphdGlvbiwNCiAgICAgICAgICBGVU5DVElPTiBz dGF0ZW1lbnQsIGhvc3QgYXNzb2NpYXRpb24sIHVzZSBhc3NvY2lhdGlvbg0KREVGRUNUIFRZUEU6 IEVycmF0dW0NClNUQVRVUzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0KDQpRVUVTVElP TjoNCg0KVGhlIHN5bnRheCBydWxlIFIxMjE3IHNob3dzIHRoYXQgdGhlIHR5cGUgYW5kIHR5cGUg cGFyYW1ldGVycyBvZiBhDQpmdW5jdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBGVU5DVElP TiBzdGF0ZW1lbnQgKDEyLjUuMi4yKS4NCg0KKGEpIElmIGEgPHR5cGUtc3BlYz4gYXBwZWFycyBp biBhIEZVTkNUSU9OIHN0YXRlbWVudCwgY2FuIHRoZQ0KaW5pdGlhbGl6YXRpb24gYW5kIHNwZWNp ZmljYXRpb24gZXhwcmVzc2lvbnMgb2YgdGhhdCA8dHlwZS1zcGVjPg0KaW52b2x2ZSBuYW1lcyBv ZiBlbnRpdGllcyB0aGF0IGFyZSBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uIG9yDQphcmUg YWNjZXNzaWJsZSB0aGVyZSBieSBob3N0IG9yIHVzZSBhc3NvY2lhdGlvbj8NCg0KKGIpIFNlY3Rp b24gNS4xIHN0YXRlczoNCg0KICAgICAgIlRoZSA8c3BlY2lmaWNhdGlvbi1leHByPiAoNy4xLjYu Mikgb2YgYSA8dHlwZS1wYXJhbS12YWx1ZT4NCiAgICAgICAoNS4xLjEuNSkgb3IgYW4gPGFycmF5 LXNwZWM+ICg1LjEuMi40KSBtYXkgYmUgYSBub25jb25zdGFudA0KICAgICAgIGV4cHJlc3Npb24g cHJvdmlkZWQgdGhlIHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbiBpcyBpbiBhbg0KICAgICAgIGlu dGVyZmFjZSBib2R5ICgxMi4zLjIuMSkgb3IgaW4gdGhlIHNwZWNpZmljYXRpb24gcGFydCBvZiBh DQogICAgICAgc3VicHJvZ3JhbS4iDQoNCkFzIGEgRlVOQ1RJT04gc3RhdGVtZW50IGlzIG5vdCBw YXJ0IG9mIHRoZSBzcGVjaWZpY2F0aW9uIHBhcnQgb2YgYQ0Kc3VicHJvZ3JhbSwgdGhpcyB0ZXh0 IGluIHRoZSBzdGFuZGFyZCBhcHBlYXJzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4NCkZVTkNUSU9O IHN0YXRlbWVudHMgdGhhdCBhcmUgaW4gaW50ZXJmYWNlIGJsb2NrcyBhbmQgb25lcyB0aGF0IGFy ZQ0Kbm90LiBUaGlzIHRleHQgc2VlbXMgdG8gcHJvaGliaXQgc3VjaCBleGFtcGxlcyBhczoNCg0K ICAgICAgICAgSU5URUdFUiBJDQogICAgICAgICAgLi4uDQogICAgICAgICBDT05UQUlOUw0KICAg ICAgICAgICBDSEFSQUNURVIqKEkrMSkgRlVOQ1RJT04gRigpDQogICAgICAgICAgICAgIC4uLg0K ICAgICAgICAgICAgICBDT01NT04gLy8gSQ0KICAgICAgICAgICAgICAuLi4NCg0Kd2hlcmUgaXQg Y2FuIGJlIGNvbmZ1c2luZyBhcyB0byB3aGljaCBJIGlzIGJlaW5nIHJlZmVyZW5jZWQgaW4gdGhl DQpGVU5DVElPTiBzdGF0ZW1lbnQuICBXaGlsZSBob3N0IGFzc29jaWF0aW9uIGRvZXMgbm90IGFw cGx5IHRvDQppbnRlcmZhY2UgYm9kaWVzLCBmb3IgY29uc2lzdGVuY3kgc2hvdWxkIHRoZSB0ZXh0 IHF1b3RlZCBmcm9tIFNlY3Rpb24NCjUuMSBoYXZlIGJlZW4gIi4uLiBpcyBpbiB0aGUgc3BlY2lm aWNhdGlvbiBwYXJ0IG9mIGFuIGludGVyZmFjZSBib2R5DQooMTIuMy4yLjEpIG9yIGluIHRoZSBz cGVjaWZpY2F0aW9uIHBhcnQgb2YgYSBzdWJwcm9ncmFtLiI/DQoNCihjKSBTZWN0aW9uIDcuMS42 LjEgc3RhdGVzOg0KDQogICAgICAiSWYgYW4gaW5pdGlhbGl6YXRpb24gZXhwcmVzc2lvbiBpbmNs dWRlcyBhIHJlZmVyZW5jZSB0byBhbg0KICAgICAgIGlucXVpcnkgZnVuY3Rpb24gZm9yIGEgdHlw ZSBwYXJhbWV0ZXIgb3IgYW4gYXJyYXkgYm91bmQgb2YgYW4NCiAgICAgICBvYmplY3Qgc3BlY2lm aWVkIGluIHRoZSBzYW1lIDxzcGVjaWZpY2F0aW9uLXBhcnQ+LCB0aGUgdHlwZQ0KICAgICAgIHBh cmFtZXRlciBvciBhcnJheSBib3VuZCBtdXN0IGJlIHNwZWNpZmllZCBpbiBhIHByaW9yDQogICAg ICAgc3BlY2lmaWNhdGlvbiBvZiB0aGUgPHNwZWNpZmljYXRpb24tcGFydD4uIg0KDQpXYXMgdGhp cyB0ZXh0IGludGVuZGVkIHRvIGFwcGx5IHRvIEZVTkNUSU9OIHN0YXRlbWVudHMgZXZlbiB0aG91 Z2gNCnRoZXkgYXJlIG5vdCBwYXJ0IG9mIGFueSA8c3BlY2lmaWNhdGlvbi1wYXJ0PiwgdGh1cyBk aXNhbGxvd2luZw0KZnJhZ21lbnRzIHN1Y2ggYXM6DQoNCiAgICAgIElOVEVHRVIgKEtJTkQ9S0lO RChYKSkgRlVOQ1RJT04gRigpDQogICAgICAgIElOVEVHRVIoS0lORD1LSU5EKDApKSBYDQogICAg ICAgIC4uLg0KDQpTaW1pbGFyIHRleHQgYXBwZWFycyBpbiBTZWN0aW9uIDcuMS42LjIuDQoNCkFO U1dFUjoNCg0KKGEpIEEgc3BlY2lmaWNhdGlvbiBleHByZXNzaW9uIGluIHRoZSA8dHlwZS1zcGVj PiBvZiBhIEZVTkNUSU9ODQpzdGF0ZW1lbnQgbWF5IGludm9sdmUgbmFtZXMgb2YgZW50aXRpZXMg dGhhdCBhcmUgZGVjbGFyZWQgd2l0aGluIHRoZQ0KZnVuY3Rpb24gb3IgYXJlIGFjY2Vzc2libGUg dGhlcmUgYnkgaG9zdCBvciB1c2UgYXNzb2NpYXRpb24sIGJ1dCBhbg0KaW5pdGlhbGl6YXRpb24g ZXhwcmVzc2lvbiBpbiBzdWNoIGEgPHR5cGUtc3BlYz4gbWF5IG9ubHkgaW52b2x2ZQ0KbmFtZXMg dGhhdCBhcmUgYWNjZXNzaWJsZSBieSBob3N0IG9yIHVzZSBhc3NvY2lhdGlvbi4NCg0KKGIpIE5v LiAgSXQgd2FzIG5vdCB0aGUgaW50ZW50IG9mIHRoZSBzdGFuZGFyZCB0byBkaXN0aW5ndWlzaCBi ZXR3ZWVuDQp0aGUgdHdvIHR5cGVzIG9mIEZVTkNUSU9OIHN0YXRlbWVudHMgY2l0ZWQuICBBcyBl bGFib3JhdGVkIGluIHRoZQ0KZGlzY3Vzc2lvbiBvZiBwYXJ0IChhKSwgdGhlIHN0YW5kYXJkIGlu dGVuZGVkIHRvIGFsbG93IHRoZQ0KPHR5cGUtc3BlYz4gZXhwcmVzc2lvbiBvZiBhIEZVTkNUSU9O IHN0YXRlbWVudCB0byBiZSBhIG5vbmNvbnN0YW50DQpleHByZXNzaW9uLiAgVGhlIHNlbnRlbmNl IGNpdGVkIGlzIGNvcnJlY3RlZCB3aXRoIGEgc3VwcGxpZWQgZWRpdC4NCg0KKGMpIFllcywgdGhl IHRleHQgY2l0ZWQgZnJvbSA3LjEuNi4xIHdhcyBpbnRlbmRlZCB0byBhcHBseSB0bw0KRlVOQ1RJ T04gc3RhdGVtZW50cy4gIFRoZSBzZW50ZW5jZSBxdW90ZWQgYW5kIHRoZSBjb3JyZXNwb25kaW5n DQpzZW50ZW5jZSBpbiA3LjEuNi4yIGFyZSBjb3JyZWN0ZWQgd2l0aCBzdXBwbGllZCBlZGl0cy4g IFRoZSBjb2RlDQpmcmFnbWVudCBpcyBub3Qgc3RhbmRhcmQgY29uZm9ybWluZy4NCg0KRGlzY3Vz c2lvbjoNCg0KKGEpIEFuIGluaXRpYWxpemF0aW9uIGV4cHJlc3Npb24gaXMgYSBjb25zdGFudCBl eHByZXNzaW9uIHdpdGggYW4NCmFkZGl0aW9uYWwgcnVsZSByZWxhdGluZyB0byBleHBvbmVudGlh dGlvbiAoNy4xLjYuMSkuICBTaW5jZSBpdCBpcyBhDQpjb25zdGFudCBleHByZXNzaW9uLCB0aGUg b25seSBuYW1lcyBpdCBjYW4gY29udGFpbiBhcmUgdGhlIG5hbWVzIG9mDQpuYW1lZCBjb25zdGFu dHMsIHN0cnVjdHVyZSBjb25zdHJ1Y3RvcnMsIGludHJpbnNpYyBwcm9jZWR1cmVzLCBhbmQNCnZh cmlhYmxlcyB3aG9zZSB0eXBlIHBhcmFtZXRlcnMgb3IgYm91bmRzIGFyZSBpbnF1aXJlZCBhYm91 dC4NCg0KICAgICogTmFtZWQgY29uc3RhbnQNCg0KICAgICAgU2VjdGlvbiA1LjEuMi4xIHN0YXRl czoNCg0KICAgICAgICJBIG5hbWVkIGNvbnN0YW50IG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4g YW55IC4uLiBjb250ZXh0DQogICAgICAgIHVubGVzcyBpdCBoYXMgYmVlbiBkZWZpbmVkIGluIGEg cHJpb3IgUEFSQU1FVEVSIHN0YXRlbWVudCBvcg0KICAgICAgICB0eXBlIGRlY2xhcmF0aW9uIHN0 YXRlbWVudCB1c2luZyB0aGUgUEFSQU1FVEVSIGF0dHJpYnV0ZSwgb3INCiAgICAgICAgbWFkZSBh Y2Nlc3NpYmxlIGJ5IHVzZSBhc3NvY2lhdGlvbiBvciBob3N0IGFzc29jaWF0aW9uLiINCg0KICAg ICAgU2luY2UgdGhlIEZVTkNUSU9OIHN0YXRlbWVudCBpcyB0aGUgZmlyc3Qgc3RhdGVtZW50IG9m IHRoZQ0KICAgICAgc2NvcGluZyB1bml0LCB0aGVyZSBjYW4gYmUgbm8gcHJpb3IgUEFSQU1FVEVS IHN0YXRlbWVudCBvciB0eXBlDQogICAgICBkZWNsYXJhdGlvbiBzdGF0ZW1lbnQgdXNpbmcgdGhl IFBBUkFNRVRFUiBhdHRyaWJ1dGUsIHNvIHRoZQ0KICAgICAgZmlyc3QgY2xhdXNlIGRvZXMgbm90 IGFwcGx5LiBBIG5hbWVkIGNvbnN0YW50IGNhbiBhcHBlYXIgaW4gYQ0KICAgICAgPHR5cGUtc3Bl Yz4gb2YgYSBmdW5jdGlvbiBzdGF0ZW1lbnQgaWYgaXQgaXMgYWNjZXNzaWJsZSB3aXRoaW4NCiAg ICAgIHRoZSBmdW5jdGlvbiBieSBob3N0IG9yIHVzZSBhc3NvY2lhdGlvbi4NCg0KICAgICogU3Ry dWN0dXJlIGNvbnN0cnVjdG9yDQoNCiAgICAgIFJ1bGUgUjUwMiBzaG93cyB0aGF0IHRoZSBvbmx5 IG9wcG9ydHVuaXRpZXMgZm9yIGV4cHJlc3Npb25zIHRvDQogICAgICBhcHBlYXIgaW4gPHR5cGUt c3BlYz5zIGFyZSBpbiBhIDxraW5kLXNlbGVjdG9yPiBvciBpbiBhDQogICAgICA8Y2hhci1zZWxl Y3Rvcj4uICBIb3dldmVyLCBhIHN0cnVjdHVyZSBjb25zdHJ1Y3RvciBjYW4gbm90DQogICAgICBh cHBlYXIgaW4gYSA8a2luZC1zZWxlY3Rvcj4gYmVjYXVzZSBydWxlIFI1MDUgc2hvd3MgdGhhdCBh DQogICAgICA8a2luZC1zZWxlY3Rvcj4gbXVzdCBiZSBhbiBpbnRlZ2VyIGV4cHJlc3Npb24uICBT aW1pbGFybHksIFI1MDYNCiAgICAgIHNob3dzIHRoYXQgYW55IGluaXRpYWxpemF0aW9uIGV4cHJl c3Npb24gaW4gYSA8Y2hhci1zZWxlY3Rvcj4NCiAgICAgIG11c3QgYmUgdHlwZSBpbnRlZ2VyLiAg VGhlcmVmb3JlLCBhIHN0cnVjdHVyZSBjb25zdHJ1Y3RvciBjYW4NCiAgICAgIG5vdCBhcHBlYXIg aW4gYW4gaW5pdGlhbGl6YXRpb24gZXhwcmVzc2lvbiBpbiB0aGUgPHR5cGUtc3BlYz4NCiAgICAg IG9mIGEgRlVOQ1RJT04gc3RhdGVtZW50Lg0KDQogICAgKiBJbnRyaW5zaWMgcHJvY2VkdXJlDQoN CiAgICAgIFRoZSBpbnRyaW5zaWMgcHJvY2VkdXJlIG5hbWVzIG9yIGNsYXNzZXMgb2YgaW50cmlu c2ljDQogICAgICBwcm9jZWR1cmVzIHRoYXQgbWF5IGFwcGVhciBpbiBhbiBpbml0aWFsaXphdGlv biBleHByZXNzaW9uIGFyZQ0KICAgICAgZ2l2ZW4gaW4gNy4xLjYuMS4NCg0KICAgICogVmFyaWFi bGVzIHdob3NlIHR5cGUgcGFyYW1ldGVycyBvciBib3VuZHMgYXJlIGlucXVpcmVkIGFib3V0DQoN CiAgICAgIFRoZSB0ZXh0IGZyb20gc2VjdGlvbiA3LjEuNi4xIGFzIGNpdGVkIGluIHF1ZXN0aW9u IChjKSB3YXMNCiAgICAgIGludGVuZGVkIHRvIGFwcGx5IHRvIGluaXRpYWxpemF0aW9uIGV4cHJl c3Npb25zIGluIHRoZQ0KICAgICAgPHR5cGUtc3BlYz4gb2YgYSBGVU5DVElPTiBzdGF0ZW1lbnQu ICBXaXRoIHRoZSBjb3JyZWN0aW9uDQogICAgICBzdXBwbGllZCwgdGhpcyBtZWFucyB0aGF0IGlm IGEgdmFyaWFibGUgYXBwZWFycyBhcyB0aGUgYXJndW1lbnQNCiAgICAgIHRvIGFuIGlucXVpcnkg aW50cmluc2ljIGluIHRoZSA8dHlwZS1zcGVjPiBvZiBhIEZVTkNUSU9ODQogICAgICBzdGF0ZW1l bnQsIHRoZSBmdW5jdGlvbiBtdXN0IGJlIGEgbW9kdWxlIHByb2NlZHVyZSBvciBhbg0KICAgICAg aW50ZXJuYWwgcHJvY2VkdXJlLCBhbmQgdGhlIHZhcmlhYmxlIG11c3QgZXhpc3QgaW4gKGJlDQog ICAgICBhY2Nlc3NpYmxlIGZyb20pIHRoZSBob3N0IHNjb3BpbmcgdW5pdC4NCg0KUnVsZSBSNTAy IGRlZmluZXMgPHR5cGUtc3BlYz4uICBUaGUgb25seSBvcHBvcnR1bml0eSBmb3IgYQ0KPHR5cGUt c3BlYz4gdG8gY29udGFpbiBhIDxzcGVjaWZpY2F0aW9uLWV4cHI+IGlzIHdoZW4gdGhlIGRhdGEg dHlwZQ0KaXMgY2hhcmFjdGVyICg8dHlwZS1wYXJhbS12YWx1ZT4gbWF5IGJlIGEgPHNwZWNpZmlj YXRpb24tZXhwcj4pLg0KU2VjdGlvbiA3LjEuNi4yIHN0YXRlcyB0aGF0IGEgc3BlY2lmaWNhdGlv biBleHByZXNzaW9uIGlzIGENCnJlc3RyaWN0ZWQgZXhwcmVzc2lvbiB0aGF0IGlzIHNjYWxhciwg b2YgdHlwZSBpbnRlZ2VyLCBhbmQgZWFjaA0Kb3BlcmF0aW9uIG11c3QgYmUgaW50cmluc2ljLiAg SW4gYWRkaXRpb24sIHJ1bGUgKDIpIG9mIDcuMS42LjIgc3RhdGVzDQp0aGF0IGEgcHJpbWFyeSBv ZiBhIHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbiBjYW4gYmUgYSBkdW1teSBhcmd1bWVudA0KdGhh dCBoYXMgbmVpdGhlciB0aGUgT1BUSU9OQUwgbm9yIElOVEVOVChPVVQpIGF0dHJpYnV0ZS4gIFRo ZQ0KZm9sbG93aW5nIGNvZGUgZnJhZ21lbnQgZGVtb25zdHJhdGVzIGEgdXNlIG9mIHN1Y2ggYSBk dW1teSBhcmd1bWVudDoNCg0KICAgICAgICAgICAgICBDSEFSQUNURVIqKE4rMSkgRlVOQ1RJT04g UyhOKQ0KICAgICAgICAgICAgICBJTlRFR0VSLCBJTlRFTlQoSU4pIDo6IE4NCg0KUnVsZSAoMikg YWxzbyBzdGF0ZXMgdGhhdCB0aGUgcHJpbWFyeSBjYW4gYmUgYSBzdWJvYmplY3Qgb2Ygc3VjaCBh DQpkdW1teSBhcmd1bWVudC4gIFNlY3Rpb24gNi4xLjIgaW5kaWNhdGVzIHRoYXQgYSBzdHJ1Y3R1 cmUgY29tcG9uZW50DQptdXN0IG5vdCBiZSByZWZlcmVuY2VkIG9yIGRlZmluZWQgYmVmb3JlIHRo ZSBkZWNsYXJhdGlvbiBvZiB0aGUNCnBhcmVudCBvYmplY3QuICBTaW1pbGFyIHJ1bGVzIGFyZSBu ZWVkZWQgdG8gcHJldmVudCBhIHN1YnN0cmluZyBmcm9tDQpiZWluZyByZWZlcmVuY2VkIGFoZWFk IG9mIHRoZSBkZWNsYXJhdGlvbiBvZiBpdHMgcGFyZW50LCBhbmQgYW4gYXJyYXkNCmVsZW1lbnQg b3IgYXJyYXkgc2VjdGlvbiBmcm9tIGJlaW5nIHJlZmVyZW5jZWQgYWhlYWQgb2YgdGhlDQpkZWNs YXJhdGlvbiBvZiB0aGUgYXJyYXkuICBFZGl0cyBhcmUgcHJvdmlkZWQgdG8gc3VwcGx5IHRoZXNl IHJ1bGVzLg0KU2luY2UgYSBzdWJvYmplY3QgY2FuIG5vdCBiZSByZWZlcmVuY2VkIGJlZm9yZSBp dHMgcGFyZW50IG9iamVjdCBpcw0KZGVjbGFyZWQgYW5kIHRoZSBGVU5DVElPTiBzdGF0ZW1lbnQg aXMgdGhlIGZpcnN0IHN0YXRlbWVudCBvZiB0aGUNCnN1YnByb2dyYW0sIHRoZSBwYXJlbnQncyBk ZWNsYXJhdGlvbiBjb3VsZCBub3QgaGF2ZSBvY2N1cnJlZC4gIFRodXMgYQ0Kc3Vib2JqZWN0IG11 c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4gdGhlIDx0eXBlLXNwZWM+IG9uIGEgRlVOQ1RJT04NCnN0 YXRlbWVudCBmb3Igb2JqZWN0cyBkZWNsYXJlZCB3aXRoaW4gdGhlIGZ1bmN0aW9uLg0KDQpSdWxl ICgzKSBzdGF0ZXMgdGhhdCBhIHByaW1hcnkgY2FuIGJlIGEgdmFyaWFibGUgdGhhdCBpcyBpbiBh IGNvbW1vbg0KYmxvY2suICBUaGUgZm9sbG93aW5nIGNvZGUgZnJhZ21lbnQgZGVtb25zdHJhdGVz IGEgdXNlIG9mIHN1Y2ggYQ0KY29tbW9uIGJsb2NrIG1lbWJlcjoNCg0KICAgICAgICAgICAgICBD SEFSQUNURVIqKE4rMSkgRlVOQ1RJT04gUygpDQogICAgICAgICAgICAgIC4uLg0KICAgICAgICAg ICAgICBDT01NT04gTg0KDQpBcyBpbiBydWxlICgyKSwgcnVsZSAoMykgYWxsb3dzIGEgc3Vib2Jq ZWN0IG9mIHN1Y2ggYSB2YXJpYWJsZSBidXQNCmZvciB0aGUgc2FtZSByZWFzb25zIGFzIGFib3Zl LCBzdWNoIGEgc3Vib2JqZWN0IGRlc2lnbmF0b3IgY2FuIG5vdA0KYXBwZWFyIGluIHRoZSA8dHlw ZS1zcGVjPiBleHByZXNzaW9uIG9mIGEgRlVOQ1RJT04gc3RhdGVtZW50Lg0KDQpSdWxlICg0KSBz dGF0ZXMgdGhhdCBhIHByaW1hcnkgbWF5IGJlIGEgdmFyaWFibGUgdGhhdCBpcyBhY2Nlc3NpYmxl DQpieSB1c2UgYXNzb2NpYXRpb24gb3IgaG9zdCBhc3NvY2lhdGlvbi4gIFRoZSBmb2xsb3dpbmcg Y29kZSBmcmFnbWVudHMNCmRlbW9uc3RyYXRlIHVzZXMgb2Ygc3VjaCB2YXJpYWJsZXM6DQoNCiAg ICAgICAgICAgICAgUFJPR1JBTSBNQUlODQogICAgICAgICAgICAgIElOVEVHRVIgOjogTiA9IDIx DQogICAgICAgICAgICAgIC4uLg0KICAgICAgICAgICAgICBDT05UQUlOUw0KICAgICAgICAgICAg ICAgIENIQVJBQ1RFUihMRU4gPSAyKk4pIEZVTkNUSU9OIFNTKEspICAgICEgTiBpcyBob3N0DQog ICAgICAgICAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISAg YXNzb2NpYXRlZC4NCiAgICAgICAgICAgICAgICBFTkQgRlVOQ1RJT04NCiAgICAgICAgICAgICAg RU5EIFBST0dSQU0NCg0KICAgIGFuZA0KDQogICAgICAgICAgICAgIE1PRFVMRSBNT0QNCiAgICAg ICAgICAgICAgSU5URUdFUiBLDQogICAgICAgICAgICAgIERBVEEgSyAvMjAvDQogICAgICAgICAg ICAgIEVORCBNT0RVTEUNCg0KICAgICAgICAgICAgICBDSEFSQUNURVIqKEsqMikgRlVOQ1RJT04g Q0hFQ0soU1RSKSAgICAgICEgSyBpcyB1c2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAhICBhc3NvY2lhdGVkLg0KICAgICAgICAgICAgICBV U0UgTU9EDQogICAgICAgICAgICAgIC4uLg0KICAgICAgICAgICAgICBFTkQgRlVOQ1RJT04NCg0K UnVsZSAoNCkgYWxzbyBzdGF0ZXMgdGhhdCB0aGUgcHJpbWFyeSBjYW4gYmUgYSBzdWJvYmplY3Qg b2Ygc3VjaCBhDQp1c2Ugb3IgaG9zdCBhc3NvY2lhdGVkIHZhcmlhYmxlLg0KDQpBIHN0cnVjdHVy ZSBjb25zdHJ1Y3RvciBjYW4gbm90IGFwcGVhciBpbiBhIEZVTkNUSU9OIDx0eXBlLXNwZWM+DQpz cGVjaWZpY2F0aW9uIGV4cHJlc3Npb24gYmVjYXVzZSB0aGUgZXhwcmVzc2lvbiBtdXN0IGJlIG9m IHR5cGUNCmludGVnZXIgYW5kIGFueSBvcGVyYXRpb25zICh3aGljaCBtaWdodCB5aWVsZCBhbiBp bnRlZ2VyIHZhbHVlIGZyb20NCm9uZSBvciBtb3JlIHN0cnVjdHVyZSBjb25zdHJ1Y3RvcnMpIG11 c3QgYmUgaW50cmluc2ljLg0KDQpPdGhlciBydWxlcyBvZiA3LjEuNi4yIHN0YXRlIHdoaWNoIGlu dHJpbnNpYyBwcm9jZWR1cmUgbmFtZXMgb3INCmNsYXNzZXMgb2YgaW50cmluc2ljIHByb2NlZHVy ZXMgbWF5IGFwcGVhciBpbiBhIHNwZWNpZmljYXRpb24NCmV4cHJlc3Npb24uDQoNClNlY3Rpb24g Ny4xLjYuMiBhbHNvIHN0YXRlczoNCg0KICAgICAgICBBIHZhcmlhYmxlIGluIGEgc3BlY2lmaWNh dGlvbiBleHByZXNzaW9uIG11c3QgaGF2ZSBpdHMgdHlwZQ0KICAgICAgICBhbmQgdHlwZSBwYXJh bWV0ZXJzLCBpZiBhbnksIHNwZWNpZmllZCBieSBhIHByZXZpb3VzDQogICAgICAgIGRlY2xhcmF0 aW9uIGluIHRoZSBzYW1lIHNjb3BpbmcgdW5pdCwgb3IgYnkgdGhlIGltcGxpY2l0IHR5cGUNCiAg ICAgICAgcnVsZXMgY3VycmVudGx5IGluIGVmZmVjdCBmb3IgdGhlIHNjb3BpbmcgdW5pdCwgb3Ig YnkgaG9zdCBvcg0KICAgICAgICB1c2UgYXNzb2NpYXRpb24uDQoNClRoZSBkaXNjdXNzaW9uIGFi b3ZlIHJlZ2FyZGluZyBzcGVjaWZpY2F0aW9uIGV4cHJlc3Npb25zIGhhcyBhbHJlYWR5DQpydWxl ZCBvdXQgInByZXZpb3VzIGRlY2xhcmF0aW9ucyIgc28gdGhlIGZpcnN0IGNsYXVzZSBvZiB0aGUg Y2l0ZWQNCnNlbnRlbmNlIGRvZXMgbm90IGFwcGx5LiAgVGhlIG90aGVyIGNsYXVzZXMgYXBwbHkg ZXF1YWxseSB0byBhDQpGVU5DVElPTiBzdGF0ZW1lbnQgPHR5cGUtc3BlYz4gYW5kIHRvIHR5cGUg ZGVjbGFyYXRpb24gc3RhdGVtZW50cw0KaW5zaWRlIHRoZSBmdW5jdGlvbi4NCg0KKGIpIFdoZW4g dGhlIGRpc2N1c3Npb24gZm9yIHBhcnQgKGEpIGlzIGFwcGxpZWQgdG8gdGhlIGNvZGUgZnJhZ21l bnQNCnByb3ZpZGVkLCBpdCBtZWFucyB0aGF0IHRoZSAnSScgcmVmZXJlbmNlZCBpbiB0aGUgPHR5 cGUtc3BlYz4gb2YgdGhlDQpGVU5DVElPTiBzdGF0ZW1lbnQgaXMgdGhlIGNvbW1vbiBibG9jayBt ZW1iZXIuDQoNCkVESVRTOg0KMS4gU2VjdGlvbiA1LjEsIGluIHRoZSBmaXJzdCBzZW50ZW5jZSBv ZiB0aGUgcGFyYWdyYXBoIHRoYXQgc3RhcnRzDQogICAiVGhlIDxzcGVjaWZpY2F0aW9uLWV4cHI+ ICg3LjEuNi4yKSIgWzQwOjM5LTQxXSwNCg0KICAgIGNoYW5nZSAiaW4gYW4gaW50ZXJmYWNlIGJv ZHkgKDEyLjMuMi4xKSBvciBpbiB0aGUgc3BlY2lmaWNhdGlvbg0KICAgICAgICAgICAgcGFydCBv ZiBhIHN1YnByb2dyYW0iDQoNCiAgICAgICB0byAgImNvbnRhaW5lZCBpbiBhbiBpbnRlcmZhY2Ug Ym9keSAoMTIuMy4yLjEpLCBpcyBjb250YWluZWQNCiAgICAgICAgICAgIGluIHRoZSBzcGVjaWZp Y2F0aW9uIHBhcnQgb2YgYSBzdWJwcm9ncmFtLCBvciBpcyBpbiB0aGUNCiAgICAgICAgICAgIDx0 eXBlLXNwZWM+IG9mIGEgRlVOQ1RJT04gc3RhdGVtZW50ICgxMi41LjIuMikiDQoNCjIuIFNlY3Rp b24gNi4xLjEsIGFkZCB0byB0aGUgZW5kIG9mIHRoZSBwYXJhZ3JhcGggYmVmb3JlIHRoZSBleGFt cGxlcw0KWzYyOjI5XQ0KDQogICAgIkEgc3Vic3RyaW5nIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQg b3IgZGVmaW5lZCBiZWZvcmUgdGhlDQogICAgIGRlY2xhcmF0aW9uIG9mIHRoZSB0eXBlIGFuZCB0 eXBlIHBhcmFtZXRlcnMgb2YgdGhlIHBhcmVudCBzdHJpbmcsDQogICAgIHVubGVzcyB0aGUgdHlw ZSBhbmQgdHlwZSBwYXJhbWV0ZXJzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZQ0KICAgICBpbXBsaWNp dCB0eXBpbmcgcnVsZXMgb2YgdGhlIHNjb3BlLiINCg0KMy4gU2VjdGlvbiA2LjIuMiwgYWRkIGFm dGVyIHRoZSBzZW50ZW5jZSAiQW4gYXJyYXkgc2VjdGlvbiBpcyBhbg0KYXJyYXkuIiBbNjQ6MTZd DQogICAgICAgICAgICJBbiBhcnJheSBlbGVtZW50IG9yIGFycmF5IHNlY3Rpb24gbXVzdCBub3Qg YmUgcmVmZXJlbmNlZA0KICAgICAgICAgICAgb3IgZGVmaW5lZCBiZWZvcmUgdGhlIGRlY2xhcmF0 aW9uIG9mIHRoZSBhcnJheSBib3VuZHMuIg0KDQo0LiBTZWN0aW9uIDcuMS42LjEsIGluIHRoZSBw YXJhZ3JhcGggYWZ0ZXIgdGhlIGNvbnN0cmFpbnRzIFs3ODoyMS0yMl0NCg0KICAgIGNoYW5nZSAi b2JqZWN0IHNwZWNpZmllZCBpbiB0aGUgc2FtZSA8c3BlY2lmaWNhdGlvbi1wYXJ0PiwgdGhlDQog ICAgICAgICAgICAgdHlwZSBwYXJhbWV0ZXIgb3IgYXJyYXkgYm91bmQgbXVzdCBiZSBzcGVjaWZp ZWQgaW4NCiAgICAgICAgICAgICBhIHByaW9yIHNwZWNpZmljYXRpb24gb2YgdGhlIDxzcGVjaWZp Y2F0aW9uLXBhcnQ+LiINCg0KICAgIHRvICAgICAib2JqZWN0IGRlY2xhcmVkIGluIHRoZSBzYW1l IHNjb3BpbmcgdW5pdCwgdGhlIHR5cGUNCiAgICAgICAgICAgIHBhcmFtZXRlciBvciBhcnJheSBi b3VuZCBtdXN0IGJlIHNwZWNpZmllZCBpbiBhDQogICAgICAgICAgICBzcGVjaWZpY2F0aW9uIHBy aW9yIHRvIHRoZSBpbml0aWFsaXphdGlvbiBleHByZXNzaW9uLiINCg0KNS4gU2VjdGlvbiA3LjEu Ni4yLCBpbiB0aGUgMm5kIHBhcmFncmFwaCBhZnRlciB0aGUgY29uc3RyYWludA0KWzc5OjI4LTI5 XQ0KDQogICAgY2hhbmdlICJlbnRpdHkgc3BlY2lmaWVkIGluIHRoZSBzYW1lIDxzcGVjaWZpY2F0 aW9uLXBhcnQ+LCB0aGUNCiAgICAgICAgICAgICB0eXBlIHBhcmFtZXRlciBvciBhcnJheSBib3Vu ZCBtdXN0IGJlIHNwZWNpZmllZCBpbg0KICAgICAgICAgICAgIGEgcHJpb3Igc3BlY2lmaWNhdGlv biBvZiB0aGUgPHNwZWNpZmljYXRpb24tcGFydD4uIg0KDQogICAgdG8gICAgICJlbnRpdHkgZGVj bGFyZWQgaW4gdGhlIHNhbWUgc2NvcGluZyB1bml0LCB0aGUgdHlwZQ0KICAgICAgICAgICAgcGFy YW1ldGVyIG9yIGFycmF5IGJvdW5kIG11c3QgYmUgc3BlY2lmaWVkIGluIGENCiAgICAgICAgICAg IHNwZWNpZmljYXRpb24gcHJpb3IgdG8gdGhlIHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbi4iDQoN ClNVQk1JVFRFRCBCWTogSmFuaWNlIEMuIFNoZXBoZXJkDQoNCkhJU1RPUlk6IDkzLTE5MyAgIG0x MjYgRjkwLzAxNDUgc3VibWl0dGVkDQogICAgICAgICA5NC0wMjNyMSBtMTI4IHJlc3BvbnNlLCBh cHByb3ZlZCB1Yw0KICAgICAgICAgOTQtMTE2cjEgbTEyOSBYM0ozIGJhbGxvdCBmYWlsZWQgMjIt MQ0KICAgICAgICAgOTQtMzM2ICAgbTEzMSByZXZpc2VkIHJlc3BvbnNlLCBhcHByb3ZlZCB1LmMN CiAgICAgICAgIDk1LTAzNHIxIG0xMzIgWDNKMyBiYWxsb3QgZmFpbGVkIDE1LTUNCiAgICAgICAg IDk1LTI4MSAgIG0xMzUgcmV2aXNlZCByZXNwb25zZSwgcmV3b3JkZWQgZWRpdCAzLCBXRzUNCiAg ICAgICAgICAgICAgICAgICAgICAgICBhcHByb3ZlZCAoTjExNjEpDQogICAgICAgICA5Ni0gICAg ICBtMTM2IFgzSjMgYmFsbG90IGZhaWxlZCAxNS0xLCBXRzUgYXBwcm92YWwgcmVtb3ZlZC4NCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpQYXJ0IDI6IEZvcnRyYW4gMjAwMyBJbnRl cnByZXRhdGlvbiBSZXF1ZXN0cw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpOVU1CRVI6IEYwMy8wMDAzDQpU SVRMRTogUmVmZXJlbmNpbmcgZGVmZXJyZWQgYmluZGluZ3MNCktFWVdPUkRTOiBUeXBlLWJvdW5k IHByb2NlZHVyZSwgZGVmZXJyZWQgYmluZGluZw0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRV UzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcyAtIEVkaXQgc3Vic3VtZWQgYnkgaW50ZXJw IEYwMy8wMDA0DQoNClFVRVNUSU9OOg0KDQpJIHRob3VnaHQgdGhhdCB0aGUgaW50ZW50IHdhcyB0 aGF0IGl0IHdvdWxkIGJlDQppbXBvc3NpYmxlIHRvIHJlZmVyZW5jZSBhIGRlZmVycmVkIGJpbmRp bmcuICBIb3dldmVyLCBpdA0KZG9lc24ndCBhcHBlYXIgdG8gbWUgdGhhdCB0aGlzIGludGVudCB3 YXMgYWNoaWV2ZWQuDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW0gKFNvcnJ5LCBidXQg SSBkb24ndCBoYXZlDQphbnkgY29tcGlsZXJzIHVwIHRvIHN5bnRheC1jaGVja2luZyB0aGlzKS4N Cg0KICBtb2R1bGUgZGVmZXINCg0KICAgIHR5cGUsIGFic3RyYWN0IDo6IHQNCiAgICBjb250YWlu cw0KICAgICAgcHJvY2VkdXJlIChzdWIpLCBub3Bhc3MsIGRlZmVycmVkIDo6IGRlZmVycmVkX3By b2MNCiAgICBlbmQgdHlwZSB0DQogICAgdHlwZSwgZXh0ZW5kcyh0KSA6OiB0Mg0KICAgIGNvbnRh aW5zDQogICAgICBwcm9jZWR1cmUgOjogZGVmZXJyZWRfcHJvYyA9PiBzdWIyDQogICAgZW5kIHR5 cGUgdDINCg0KICBjb250YWlucw0KICAgIHN1YnJvdXRpbmUgc3ViDQogICAgICB3cml0ZSAoKiwq KSAnSGVsbG8uJw0KICAgIGVuZCBzdWJyb3V0aW5lIHN1Yg0KICAgIHN1YnJvdXRpbmUgc3ViMg0K ICAgICAgd3JpdGUgKCosKikgJ0dvb2RieWUuJw0KICAgIGVuZCBzdWJyb3V0aW5lIHN1YjINCiAg ZW5kIG1vZHVsZSBkZWZlcg0KICBwcm9ncmFtIHANCiAgIHVzZSBkZWZlcg0KICAgY2xhc3ModCks IHBvaW50ZXIgOjogeA0KDQogICBudWxsaWZ5KHgpDQogICBjYWxsIHglZGVmZXJyZWRfcHJvYw0K DQogIGVuZCBwcm9ncmFtIHANCg0KSXMgdGhpcyBhIHZhbGlkIHByb2dyYW0/ICBJZiBub3QsIHdo YXQgcmVzdHJpY3Rpb24gb2YgdGhlDQpzdGFuZGFyZCBkb2VzIGl0IHZpb2xhdGU/DQoNCk5vdGUg dGhhdCB4JWRlZmVycmVkX3Byb2MgZG9lcyBub3QgcmVxdWlyZSB0aGUgdmFsdWUgb2YgeCAoNC41 LjcpDQphbmQgdGh1cyBpcyBub3QgYSByZWZlcmVuY2UgdG8geCAoMi41LjYpLiAgVGhlcmVmb3Jl LCBbODM6MjMtMjRdDQpkb2VzIG5vdCBwcm9oaWJpdCB0aGlzLiAgTm9yIGlzIGl0IGNsZWFyIHRo YXQgdGhlcmUgaXMgYW4gaW50ZW50DQp0byBwcm9oaWJpdCBpbnZvY2F0aW9uIG9mIHR5cGUtYm91 bmQgcHJvY2VkdXJlcyBmb3IgZGlzYXNzb2NpYXRlZA0KcG9pbnRlciBvYmplY3RzOyBleGNlcHQg aW4gdGhlIGNhc2Ugb2YgZGVmZXJyZWQgYmluZGluZ3MsIHRoaXMNCnNlZW1zIHdlbGwtZGVmaW5l ZCBhbmQgcG90ZW50aWFsbHkgdXNlZnVsLg0KDQpCZWNhdXNlIHggaXMgZGlzYXNzb2NpYXRlZCwg aXRzIGR5bmFtaWMgdHlwZSBpcyB0aGUgc2FtZQ0KYXMgaXRzIGRlY2xhcmVkIHR5cGUsIHRodXMg bWFraW5nIHRoZSBpbnRlcnByZXRhdGlvbiBvZg0KeCVub25kZWZlcnJlZF9wcm9jIHJlYXNvbmFi bHkgY2xlYXIuDQoNCkFOU1dFUjoNCg0KTm8sIHRoaXMgd2FzIG5vdCBpbnRlbmRlZCB0byBiZSBh IHZhbGlkIHByb2dyYW0uDQpBbiBlZGl0IGlzIHN1cHBsaWVkIHRvIGNsYXJpZnkgdGhpcyBzaXR1 YXRpb24uDQoNCkVESVRTOg0KDQpTZWUgdGhlIGVkaXQgaW4gRjAzLzAwMDQuDQoNClNVQk1JVFRF RCBCWTogUmljaGFyZCBNYWluZQ0KDQpISVNUT1JZOiAwNC0zMjIgICAgbTE2OSAgRjAzLzAwMDMg U3VibWl0dGVkDQogICAgICAgICAwNC0zMjJyMSAgbTE2OSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcN CiAgICAgICAgIDA0LTQxOHIxICBtMTcwICBTdWJzdW1lZCBieSBpbnRlcnAgRjAzLzAwMDQNCiAg ICAgICAgIDA1LTE4MCAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNyAtIHRoZSBlZGl0 IGlzDQogICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3VtZWQgYnkgRjAzLzAwMDQNCg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDA0DQpUSVRMRTogVHlwZS1ib3VuZCBwcm9jZWR1 cmVzIGFuZCB1bmRlZmluZWQgYXNzb2NpYXRpb24gc3RhdHVzDQpLRVlXT1JEUzogVHlwZS1ib3Vu ZCBwcm9jZWR1cmUsIGR5bmFtaWMgdHlwZQ0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzog SjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0KDQpRVUVTVElPTjoNCg0KSXQgYXBwZWFycyB0 aGF0IHRoZSBkeW5hbWljIHR5cGUgaXMgdW5kZWZpbmVkIGZvciBhIHBvaW50ZXIgd2l0aA0KdW5k ZWZpbmVkIGFzc29jaWF0aW9uIHN0YXR1cy4gIFRoaXMgaW1wYWN0cyB0eXBlLWJvdW5kDQpwcm9j ZWR1cmVzLiBDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW0uDQoNCiAgbW9kdWxlIHVuZGVm aW5lZA0KDQogICAgdHlwZSA6OiB0DQogICAgY29udGFpbnMNCiAgICAgIHByb2NlZHVyZSwgbm9w YXNzIDo6IG5vbmRlZmVycmVkX3Byb2MgPT4gc3ViDQogICAgZW5kIHR5cGUgdA0KICAgIHR5cGUs IGV4dGVuZHModCkgOjogdDINCiAgICBjb250YWlucw0KICAgICAgcHJvY2VkdXJlLCBub3Bhc3Mg Ojogbm9uZGVmZXJyZWRfcHJvYyA9PiBzdWIyDQogICAgZW5kIHR5cGUgdDINCg0KICBjb250YWlu cw0KICAgIHN1YnJvdXRpbmUgc3ViDQogICAgICB3cml0ZSAoKiwqKSAnSGVsbG8uJw0KICAgIGVu ZCBzdWJyb3V0aW5lIHN1Yg0KICAgIHN1YnJvdXRpbmUgc3ViMg0KICAgICAgd3JpdGUgKCosKikg J0dvb2RieWUuJw0KICAgIGVuZCBzdWJyb3V0aW5lIHN1YjINCiAgZW5kIG1vZHVsZSB1bmRlZmlu ZWQNCg0KICBwcm9ncmFtIHANCiAgICB1c2UgdW5kZWZpbmVkDQogICAgY2xhc3ModCksIHBvaW50 ZXIgOjogeA0KICAgIGNhbGwgeCVub25kZWZlcnJlZF9wcm9jDQogIGVuZCBwcm9ncmFtIHANCg0K SXMgdGhpcyBhIHZhbGlkIHByb2dyYW0/ICBJZiBub3QsIHdoYXQgcmVzdHJpY3Rpb24gb2YgdGhl DQpzdGFuZGFyZCBkb2VzIGl0IHZpb2xhdGU/ICBJZiBzbywgd2hhdCBkb2VzIGl0IHByaW50Lg0K DQpOb3RlIHRoYXQgeCVub25kZWZlcnJlZF9wcm9jIGRvZXMgbm90IHJlcXVpcmUgdGhlIHZhbHVl IG9mIHggKDQuNS43KQ0KYW5kIHRodXMgaXMgbm90IGEgcmVmZXJlbmNlIHRvIHggKDIuNS42KS4g IFRoZXJlZm9yZSwgWzgzOjIzLTI0XQ0KZG9lcyBub3QgcHJvaGliaXQgdGhpcy4NCg0KSWYgeCB3 ZXJlIGRpc2Fzc29jaWF0ZWQsIGl0cyBkeW5hbWljIHR5cGUgd291bGQgYmUgdCBhbmQgdGhlDQpp bnRlcnByZXRhdGlvbiBvZiB0aGlzIHdvdWxkIGJlIHJlYXNvbmFibHkgY2xlYXIuDQoNCkhvd2V2 ZXIsIHRoZSBzdGFuZGFyZCBkb2VzIG5vdCBhcHBlYXIgdG8gc3BlY2lmeSB0aGUgZHluYW1pYyB0 eXBlDQpvZiB4IHdoZW4gaXRzIGFzc29jaWF0aW9uIHN0YXR1cyBpcyB1bmRlZmluZWQuICBOb3Ig Y2FuIEkgZmluZA0KYW55IHByb2hpYml0aW9uIHRoYXQgYXBwbGllcyB0byB0aGlzIGNhc2UuDQoN CkFOU1dFUjoNCg0KTm8sIHRoZSBwcm9ncmFtIGlzIG5vdCB2YWxpZCwgYmVjYXVzZSB0aGUgc3Rh bmRhcmQgZG9lcyBub3QgZXN0YWJsaXNoDQphbiBpbnRlcnByZXRhdGlvbiBvZiBpdC4gIEFuIGVk aXQgaXMgc3VwcGxpZWQgdG8gY2xhcmlmeSB0aGlzLg0KDQpGdXJ0aGVybW9yZSwgdGhlIGNhc2Ug d2l0aCBhIGRpc2Fzc29jaWF0ZWQgcG9pbnRlciB3YXMgbm90IGludGVuZGVkIHRvDQpiZSB2YWxp ZC4gIEFuIGVkaXQgaXMgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRElT Q1VTU0lPTjoNCg0KQWNjZXNzIHRvIG9iamVjdC1ib3VuZCBwcm9jZWR1cmVzIChhLmsuYS4gcHJv Y2VkdXJlIHBvaW50ZXINCmNvbXBvbmVudHMpIGFsd2F5cyByZXF1aXJlIHRoZXJlIHRvIGJlIGFu IG9iamVjdC4gIEFjY2VzcyB0bw0KdHlwZS1ib3VuZCBwcm9jZWR1cmVzIG9mIGFuIG9iamVjdCB3 YXMgaW50ZW5kZWQgdG8gcmVxdWlyZSB0aGlzIHRvbywNCmJ1dCB0aGUgZWZmZWN0IG9mIHRoZSBO T1BBU1MgYXR0cmlidXRlIG9uIHRoaXMgd2FzIG92ZXJsb29rZWQuDQoNCkVESVRTOg0KDQpBbGwg ZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMjY2OjI0K10gSW5zZXJ0IG5ldyBjb25zdHJhaW50 DQoiQzEyMjRhIChSMTIxOSkgSWYgPGRhdGEtcmVmPiBpcyBhIHBvaW50ZXIsIGl0IHNoYWxsIGJl IGFzc29jaWF0ZWQuDQpJZiA8ZGF0YS1yZWY+IGlzIGFsbG9jYXRhYmxlLCBpdCBzaGFsbCBiZSBh bGxvY2F0ZWQuIg0KDQpTVUJNSVRURUQgQlk6IFJpY2hhcmQgTWFpbmUNCg0KSElTVE9SWTogMDQt MzIzICAgIG0xNjkgIEYwMy8wMDA0IFN1Ym1pdHRlZA0KICAgICAgICAgMDQtMzIzcjEgIG0xNjkg IFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNC00MThyMSAgbTE3MCAgUGFzc2VkIEoz IGxldHRlciBiYWxsb3QgIzkNCiAgICAgICAgIDA1LTE4MCAgICBtMTcyICBGYWlsZWQgV0c1IGJh bGxvdCBOMTYxNw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMDgNClRJVExFOiBQ b2ludGVyIGFzc2lnbm1lbnQgYW5kIGFycmF5cw0KS0VZV09SRFM6IHBvaW50ZXIgYXNzaWdubWVu dCwgYXJyYXksIGRhdGEtcmVmDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQg YnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KVGhlcmUgYXBwZWFycyB0byBiZSBu byBleHBsaWNpdCByZXF1aXJlbWVudCB0aGF0IHRoZQ0KPHZhcmlhYmxlPnMgaW4gUjczNiBhbmQg Ujc0MSBiZSBzY2FsYXIuICBJZiBkYXRhLXBvaW50ZXItb2JqZWN0DQphbmQgcHJvYy1jb21wb25l bnQgcmVmIHdlcmUgZGF0YS1yZWZzLCB0aGVuIEM2MTQgd291bGQgcHJvaGliaXQNCnRoZSA8dmFy aWFibGU+cyBmcm9tIGJlaW5nIGFycmF5cy4gIEhvd2V2ZXIsIGFsdGhvdWdoIHRoZSBzeW50YXgN Cmxvb2tzIGxpa2UgYSBzcGVjaWFsIGNhc2Ugb2YgYSBkYXRhLXJlZiwgbm90aGluZyBhcHBlYXJz IHRvIHNheQ0KdGhhdCBSNzM2IGFuZCBSNzQxIGFjdHVhbGx5IGNvbnN0aXR1dGUgZGF0YS1yZWZz Lg0KDQpUaGUgc3RhbmRhcmQgZ2l2ZXMgbm8gaW50ZXJwcmV0YXRpb24gYXMgdG8gd2hhdCB0aGUg bWVhbmluZw0Kd291bGQgYmUgaW4gdGhlIGNhc2Ugb2YgYW4gYXJyYXkuDQoNCkV2ZW4gd2hlbiB2 YXJpYWJsZSBpcyBhIHNjYWxhciwgdGhlIHN0YW5kYXJkIGRvZXMgbm90IGFwcGVhciB0bw0KZGVm aW5lIHdoYXQgdGhlIHByb3BlcnRpZXMgKHN1Y2ggYXMgdHlwZSBhbmQgc2hhcGUpIG9mIGENCmRh dGEtcG9pbnRlci1vYmplY3Qgb3IgcHJvYy1wb2ludGVyLW9iamVjdCBhcmUgaW4gdGhlIGNhc2Ug d2hlcmUNCnRoZSBzeW50YXggaGFzIGEgIiUiLiAgQWxsIHdlIGhhdmUgaXMgYSBzeW50YXggd2l0 aCBubw0KZXN0YWJsaXNoZWQgbWVhbmluZy4NCg0KUTEuIElzIHRoZSA8dmFyaWFibGU+IGluIFI3 MzYgb3IgUjc0MSBhbGxvd2VkIHRvIGJlIGFuIGFycmF5Pw0KDQpRMi4gSXMgdGhlIGludGVycHJl dGF0aW9uIG9mIHRoZSBmb3JtcyBpbiBSNzM2IGFuZCBSNzQxIHRoZQ0KICAgIHNhbWUgYXMgdGhh dCBvZiBhIGRhdGEtcmVmPw0KDQpBTlNXRVI6DQoNCkExLiBOby4gIFRoZSBzdGFuZGFyZCBwcm92 aWRlcyBubyBpbnRlcnByZXRhdGlvbiBvZiB3aGF0IHN1Y2gNCiAgICBhIGZvcm0gd291bGQgbWVh bi4gIFRoZXJlZm9yZSwgYnkgdGhlIGZpcnN0IHNlbnRlbmNlIG9mDQogICAgMS41LCBpdCBpcyBu b3Qgc3RhbmRhcmQtY29uZm9ybWluZy4gIEVkaXRzIGFyZSBwcm92aWRlZCB0bw0KICAgIG1ha2Ug dGhpcyBwcm9oaWJpdGlvbiBtb3JlIGRpcmVjdC4NCg0KQTIuIFllcy4NCg0KRURJVFM6DQoNCkFs bCBlZGl0cyByZWZlciB0byAwNC0wMDcuDQoNClsxNDM6MTIsMjQsMzUsMzddIEluc2VydCAiPHNj YWxhci0+IiBiZWZvcmUgIjx2YXJpYWJsZT4iLCBmb3VyIHRpbWVzLg0KDQpTVUJNSVRURUQgQlk6 IFJpY2hhcmQgTWFpbmUNCg0KSElTVE9SWTogMDQtMzMzICAgIG0xNjkgIEYwMy8wMDA4IFN1Ym1p dHRlZA0KICAgICAgICAgMDQtMzMzcjEgIG0xNjkgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAg ICAgICAwNC00MThyMSAgbTE3MCAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzkNCiAgICAgICAg IDA0LTQyMSAgICBtMTcwICBSZXZpc2VkIC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAg IDA1LTE0NiAgICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTANCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDEyDQpUSVRMRTogIFByb2NlZHVyZSBwb2ludGVycyBhbmQg dGhlIEVYVEVSTkFMIGF0dHJpYnV0ZQ0KS0VZV09SRFM6IFByb2NlZHVyZSBwb2ludGVycywgRVhU RVJOQUwNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIg YmFsbG90DQoNClFVRVNUSU9OOg0KDQpJcyB0aGUgZm9sbG93aW5nIHByb2dyYW0gdW5pdCBzdGFu ZGFyZCBjb25mb3JtaW5nPw0KDQogIFNVQlJPVVRJTkUgU1VCICggUlBQICkNCiAgICBSRUFMLCBF WFRFUk5BTCwgUE9JTlRFUiA6OiBSUFANCiAgICBFWFRFUk5BTCA6OiBQUA0KICAgIFBPSU5URVIg OjogUFANCiAgICBQUk9DRURVUkUoUkVBTCksIFBPSU5URVIgOjogUFBQID0+IE5VTEwoKQ0KICBF TkQgU1VCUk9VVElORSBTVUINCg0KVGhlIGxhc3Qgc2VudGVuY2Ugb2YgIjUuMS4yLjYgRVhURVJO QUwgYXR0cmlidXRlIiBhcHBlYXJzIHRvIGluZGljYXRlDQp0aGF0IGl0IGlzIGFsbG93ZWQ6DQoN CiAgIkEgcHJvY2VkdXJlIHRoYXQgaGFzIGJvdGggdGhlIEVYVEVSTkFMIGFuZCBQT0lOVEVSIGF0 dHJpYnV0ZXMgaXMgYQ0KICBwcm9jZWR1cmUgcG9pbnRlci4iDQoNClRoYXQgdGhlIHRpdGxlIG9m IHN1YmNsYXVzZSAxMi4yLjEuMiBpcyAiQ2hhcmFjdGVyaXN0aWNzIG9mIGR1bW15DQpwcm9jZWR1 cmVzIGFuZCBkdW1teSBwcm9jZWR1cmUgcG9pbnRlcnMiIHN1Z2dlc3RzIHRoYXQgaXQgaXMgYWxs b3dlZC4NClRoYXQgc3ViY2xhdXNlIGNvbnRpbnVlcyAiLi4uIHdoZXRoZXIgaXQgaXMgYSBwb2lu dGVyLCAuLi4iIHNvIGl0IHdhcw0KY2xlYXJseSBlbnZpc2lvbmVkIHRoYXQgYXQgbGVhc3QgZHVt bXkgcHJvY2VkdXJlcyBjb3VsZCBoYXZlIHRoZQ0KUE9JTlRFUiBhdHRyaWJ1dGUuDQoNCkMxMjE2 IFsyNjQ6MzBdIGFwcGVhcnMgdG8gcmVxdWlyZSBQUFAgdG8gYmUgYWxsb3dlZDoNCg0KIkMxMjE2 IChSMTIxNCkgSWYgPT4gYXBwZWFycyBpbiA8cHJvYy1kZWNsPiwgdGhlIHByb2NlZHVyZSBlbnRp dHkNCiAgICAgICBzaGFsbCBoYXZlIHRoZSBwb2ludGVyIGF0dHJpYnV0ZS4iDQoNCk9uIHRoZSBv dGhlciBoYW5kLCBBIGNvbnNwaXJhY3kgb2YgQzUxMiBbNzI6MjgtMjldDQoNCiJDNTEyIChSNTAx KSBJZiB0aGUgUE9JTlRFUiBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkLCB0aGUgQUxMT0NBVEFCTEUs DQogICAgICBUQVJHRVQsIEVYVEVSTkFMLCBvciBJTlRSSU5TSUMgYXR0cmlidXRlIHNoYWxsIG5v dCBiZQ0KICAgICAgc3BlY2lmaWVkLiINCg0KdGhlIHNlY29uZCBzZW50ZW5jZSBvZiBzdWJjbGF1 c2UgNS4xLjIuNiBbODA6MzgtNDBdDQoNCiAgIlRoaXMgW0VYVEVSTkFMXSBhdHRyaWJ1dGUgbWF5 IGFsc28gYmUgc3BlY2lmaWVkIGJ5IC4uLiBhDQogIDxwcm9jZWR1cmUtZGVjbGFyYXRpb24tc3Rt dD4uLi4iDQoNCnRoZSBmaXJzdCBwYXJhZ3JhcGggb2Ygc3ViY2xhdXNlIDUuMiBbODU6MTVmZl0N Cg0KICAiVGhlIGNvbWJpbmF0aW9uIG9mIGF0dHJpYnV0ZXMgdGhhdCBtYXkgYmUgc3BlY2lmaWVk IGZvciBhDQogICBwYXJ0aWN1bGFyIGVudGl0eSBpcyBzdWJqZWN0IHRvIHRoZSBzYW1lIHJlc3Ry aWN0aW9ucyAuLi4NCiAgIHJlZ2FyZGxlc3Mgb2YgdGhlIG1ldGhvZCBvZiBzcGVjaWZpY2F0aW9u LiAgVGhpcyBhbHNvIGFwcGxpZXMgdG8NCiAgIHRoZSBQUk9DRURVUkUsIEVYVEVSTkFMIGFuZCBJ TlRSSU5TSUMgc3RhdGVtZW50cy4iDQoNCmFuZCB0aGUgbGFzdCBzZW50ZW5jZSBvZiB0aGUgZmly c3QgcGFyYWdyYXBoIG9mIDEyLjMuMi4zIFsyNjQ6OF0NCg0KICAiSXQgW3RoZSBwcm9jZWR1cmUg ZGVjbGFyYXRpb24gc3RhdGVtZW50XSBzcGVjaWZpZXMgdGhlIEVYVEVSTkFMDQogIGF0dHJpYnV0 ZS4uLi4iDQoNCmFwcGVhcnMgdG8gY29tcGxldGVseSB3aXBlIG91dCBwcm9jZWR1cmUgcG9pbnRl cnMgKFBQUCBiZWNhdXNlIG9mIHRoZQ0KZmlyc3QgcGFyYWdyYXBoIG9mIDEyLjMuMi4zKS4NCg0K QzUyMSBbNzM6Ni03XSBhbmQgQzU2OCBbOTE6NV0gYWxzbyBhcHBlYXIgdG8gcHJvaGliaXQgUlBQ IGFuZCBQUDoNCg0KIkM1MjEgKFI1MDQpIFRoZSA8ZnVuY3Rpb24tbmFtZT4gc2hhbGwgYmUgdGhl IG5hbWUgb2YgYW4gZXh0ZXJuYWwNCiAgICAgIGZ1bmN0aW9uLCBhIGZ1bmN0aW9uIGR1bW15IHBy b2NlZHVyZXssIG9yIGEgc3RhdGVtZW50DQogICAgICBmdW5jdGlvbn0uIg0KDQoiQzU2OCAoUjU0 MSkgQSA8cHJvYy1lbnRpdHktbmFtZT4gc2hhbGwgYWxzbyBiZSBkZWNsYXJlZCBpbiBhDQogICAg ICA8cHJvY2VkdXJlLWRlY2xhcmF0aW9uLXN0bXQ+LiINCg0KQnV0IHRoZW4gdGhlIGZpcnN0IHBh cmFncmFwaCBhZnRlciBSMTIxMCAoZGVmaW5pbmcgdGhlIEVYVEVSTkFMDQpzdGF0ZW1lbnQpIFsy NjQ6MV0gYXBwZWFycyB0byBhbGxvdyBSUFAgYW5kIFBQOg0KDQogICJFYWNoIDxleHRlcm5hbC1u YW1lPiBzaGFsbCBiZSB0aGUgbmFtZSBvZiAuLi4gYSBwcm9jZWR1cmUNCiAgIHBvaW50ZXIuLi4u Ig0KDQpUaGVyZSBpcyBhbHNvIGEgcHJvYmxlbSB3aXRoIHByb3RlY3RlZCBwcm9jZWR1cmUgcG9p bnRlcnMuICBDNTM1DQpjbGVhcmx5IGVudmlzaW9ucyB0aGVpciBleGlzdGVuY2U6DQoNCiJDNTM1 IChSNTAxKSBUaGUgUFJPVEVDVEVEIGF0dHJpYnV0ZSBpcyBwZXJtaXR0ZWQgb25seSBmb3IgYSBw cm9jZWR1cmUNCiAgICAgIHBvaW50ZXIuLi4uIg0KDQp3aGlsZSBDNTM2IHByb2hpYml0cyB0aGVp ciBleGlzdGVuY2U6DQoNCiJDNTM2IChSNTAxKSBJZiB0aGUgUFJPVEVDVEVEIGF0dHJpYnV0ZSBp cyBzcGVjaWZpZWQsIHRoZSBFWFRFUk5BTCAuLi4NCiAgICAgIGF0dHJpYnV0ZSBzaGFsbCBub3Qg YmUgc3BlY2lmaWVkLiINCg0KQU5TV0VSOg0KDQpUaGUgZGlzY3Vzc2lvbiBvZiBwcm9jZWR1cmUg cG9pbnRlcnMgaXMgaW5kZWVkIGluY29uc2lzdGVudC4NCg0KVGhlIHByb2dyYW0gdW5pdCBpcyBp bnRlbmRlZCB0byBiZSBzdGFuZGFyZCBjb25mb3JtaW5nLiAgSXQgd2FzIGFuDQpvdmVyc2lnaHQg ZHVyaW5nIHRoZSBkZXZlbG9wbWVudCBvZiB0aGUgcHJvY2VkdXJlIHBvaW50ZXIgZmFjaWxpdHkN CnRoYXQgdGhlIEVYVEVSTkFMIGF0dHJpYnV0ZSB3YXMgbm90IHJlbW92ZWQgZnJvbSBDNTEyLCB0 aGF0DQoicHJvY2VkdXJlIHBvaW50ZXIiIHdhcyBub3QgYWRkZWQgdG8gQzUyMSwgdGhhdCBDNTM1 IGFuZCBDNTM2DQpjb250cmFkaWN0IG9uZSBhbm90aGVyLCBhbmQgdGhhdCBhbiBleHRlcm5hbCBz dGF0ZW1lbnQgYW5kIHNwZWNpZnlpbmcNCnRoZSBFWFRFUk5BTCBhdHRyaWJ1dGUgaW4gYSB0eXBl IGRlY2xhcmF0aW9uIHN0YXRlbWVudCB3ZXJlIG5vdA0KYWxsb3dlZCBpbiBDNTY4LiAgSXQgaXMg bm90IGhlbHBmdWwgdGhhdCB0aGUgbGFzdCBzZW50ZW5jZSBvZiB0aGUNCmZpcnN0IHBhcmFncmFw aCBvZiBzdWJjbGF1c2UgNS4yIHJlZmVycyB0byAiUFJPQ0VEVVJFIC4uLiBzdGF0ZW1lbnRzIg0K KHdoaWNoIGNvdWxkIGJlIGNvbmZ1c2VkIHdpdGggdGhlIFBST0NFRFVSRSBzdGF0ZW1lbnQgaW4g YW4gaW50ZXJmYWNlDQpibG9jaykgd2hlcmUgaXQgc2hvdWxkIHJlZmVyIHRvICJwcm9jZWR1cmUg ZGVjbGFyYXRpb24gLi4uDQpzdGF0ZW1lbnRzLiINCg0KRURJVFM6DQoNCkRlbGV0ZSAiLCBFWFRF Uk5BTCIgZnJvbSBDNTEyIFs3MjoyOF0uDQoNCkluc2VydCAiLCBhIHByb2NlZHVyZSBwb2ludGVy IiBhZnRlciAiZHVtbXkgcHJvY2VkdXJlIiBpbiBDNTIxIFs3Mzo3XS4NCg0KUmVwbGFjZSBDNTM2 IFs3OjM1LTM2XToNCg0KIkM1MzYgKFI1MDEpIElmIHRoZSBQUk9URUNURUQgYXR0cmlidXRlIGlz IHNwZWNpZmllZCwgdGhlIElOVFJJTlNJQyBvcg0KICAgICAgUEFSQU1FVEVSIGF0dHJpYnV0ZSBz aGFsbCBub3QgYmUgc3BlY2lmaWVkLiAgSWYgdGhlIFBST1RFQ1RFRA0KICAgICAgYW5kIEVYVEVS TkFMIGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZCwgdGhlIFBPSU5URVIgYXR0cmlidXRlDQogICAg ICBzaGFsbCBhbHNvIGJlIHNwZWNpZmllZC4iDQoNClJlcGxhY2UgdGhlIGxhc3Qgc2VudGVuY2Ug b2YgdGhlIGZpcnN0IHBhcmFncmFwaCBvZiBzdWJjbGF1c2UgNS4yDQpbODY6MV0gYnkgIlRoaXMg YWxzbyBhcHBsaWVzIHRvIHByb2NlZHVyZSBkZWNsYXJhdGlvbiBzdGF0ZW1lbnRzLCBhbmQNCnRv IEVYVEVSTkFMIGFuZCBJTlRSSU5TSUMgc3RhdGVtZW50cy4iDQoNClJlcGxhY2UgQzU2OCBbOTE6 NV06DQoNCiJDNTY4IChSNTQxKSBUaGUgRVhURVJOQUwgYXR0cmlidXRlICg1LjEuMi42KSBzaGFs bCBiZSBleHBsaWNpdGx5DQogICAgICBzcGVjaWZpZWQgZm9yIGEgPHByb2MtZW50aXR5LW5hbWU+ LiINCg0KU1VCTUlUVEVEIEJZOiAgVmFuIFNueWRlcg0KDQpISVNUT1JZOiAgMDQtMzU4ICAgIG0x NjkgIEYwMy8wMDEyIFN1Ym1pdHRlZA0KICAgICAgICAgIDA0LTM1OHIyICBtMTY5ICBSZXZpc2Vk DQogICAgICAgICAgMDQtNDE4cjEgIG0xNzAgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90ICM5DQog ICAgICAgICAgMDQtNDAxcjIgIG0xNzAgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAg MDUtMTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMA0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQoNCk5VTUJFUjogRjAzLzAwMTcNClRJVExFOiBEdW1teSBwcm9jZWR1cmUgcG9pbnRlcnMg YW5kIFBSRVNFTlQNCktFWVdPUkRTOiBEdW1teSBwcm9jZWR1cmUgcG9pbnRlcnMsIFBSRVNFTlQN CkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jl c3MNCg0KUVVFU1RJT046DQoNCkRvZXMgdGhlIGZvbGxvd2luZyBwcm9ncmFtIGNvbmZvcm0gdG8g dGhlIDIwMDMgc3RhbmRhcmQ/DQoNCiAgcHJvY2VkdXJlKHJlYWwpLCBwb2ludGVyIDo6IEYgPT4g bnVsbCgpDQogIGNhbGwgcyAoIGYgKQ0KICBjb250YWlucw0KICAgIHN1YnJvdXRpbmUgUyAoIEYg KQ0KICAgICAgcHJvY2VkdXJlKHJlYWwpLCBvcHRpb25hbCwgcG9pbnRlciA6OiBGDQogICAgICBw cmludCAqLCBwcmVzZW50KGYpDQogICAgZW5kIHN1YnJvdXRpbmUgUw0KICBlbmQNCg0KQU5BTFlT SVM6DQoNClRoZSBzZWNvbmQgcGFyYWdyYXBoIG9mIDEyLjQuMS4zIHJlcXVpcmVzIHRoYXQgaWYg dGhlIGR1bW15IGFyZ3VtZW50DQpkb2VzIG5vdCBoYXZlIHRoZSBQT0lOVEVSIGF0dHJpYnV0ZSBh bmQgdGhlIGFjdHVhbCBhcmd1bWVudCBkb2VzLCB0aGUNCmFjdHVhbCBhcmd1bWVudCBzaGFsbCBi ZSBhc3NvY2lhdGVkLiAgSXQgaXMgbm90IGNsZWFyIGluIDEzLjcuOTENCndoZXRoZXIgdGhlIGFy Z3VtZW50IG9mIFBSRVNFTlQgaGFzIG9yIGhhcyBub3QgdGhlIFBPSU5URVIgYXR0cmlidXRlLg0K DQpBTlNXRVI6DQoNClRoZSBwcm9ncmFtIGNvbmZvcm1zIHRvIHRoZSAyMDAzIHN0YW5kYXJkLiAg QW4gZWRpdCBpcyBzdXBwbGllZCB0bw0KcmVtb3ZlIGFueSBwb3NzaWJpbGl0eSBvZiBhIGNvbnRy YWRpY3RvcnkgcmVhZGluZyBvZiB0aGUgcmVsYXRpb24NCmJldHdlZW4gMTIuNC4xLjMgYW5kIDEz LjcuOTEuDQoNCkVESVRTOg0KDQpJbiB0aGUgc2Vjb25kIHBhcmFncmFwaCBvZiAxMi40LjEuMyBb MjcxOjE2XSByZXBsYWNlICJhbiBhc3NvY2lhdGVkIg0KYnkgImEiLg0KDQpBdCB0aGUgZW5kIG9m IHRoYXQgcGFyYWdyYXBoLCBpbnNlcnQgYSBuZXcgc2VudGVuY2U6DQoNCiJFeGNlcHQgaW4gcmVm ZXJlbmNlcyB0byBpbnRyaW5zaWMgaW5xdWlyeSBmdW5jdGlvbnMsIGlmIHRoZSBhY3R1YWwNCmFy Z3VtZW50IGlzIGEgcG9pbnRlciBpdCBzaGFsbCBiZSBhc3NvY2lhdGVkLiINCg0KU1VCTUlUVEVE IEJZOiBWYW4gU255ZGVyDQoNCkhJU1RPUlk6IDA0LTQwMiAgICBtMTcwICBGMDMvMDAxNyBTdWJt aXR0ZWQNCiAgICAgICAgIDA0LTQwMnIyICBtMTcwICBQYXNzZWQgSjMgbWVldGluZw0KICAgICAg ICAgMDUtMTQ2ICAgIG0xNzEgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMA0KDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMTgNClRJVExFOiBNdWx0aXBsZSBpZGVudGljYWwgc3Bl Y2lmaWMgcHJvY2VkdXJlcyBpbiB0eXBlLWJvdW5kIGdlbmVyaWMNCiAgICAgICBpbnRlcmZhY2Vz DQpLRVlXT1JEUzogVHlwZS1ib3VuZCBnZW5lcmljcw0KREVGRUNUIFRZUEU6IENsYXJpZmljYXRp b24NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT04gMToNCg0K RG9lcyB0aGUgZm9sbG93aW5nIHByb2dyYW0gdW5pdCBjb25mb3JtIHRvIHRoZSAyMDAzIHN0YW5k YXJkPw0KDQogIG1vZHVsZSBNDQogICAgdHlwZSBUDQogICAgY29udGFpbnMNCiAgICAgIHByb2Nl ZHVyZSBNeUFkZA0KICAgICAgZ2VuZXJpYyA6OiBvcGVyYXRvcigrKSA9PiBteUFkZA0KICAgIGVu ZCB0eXBlIFQNCiAgICB0eXBlIFgNCiAgICBjb250YWlucw0KICAgICAgcHJvY2VkdXJlLCBwYXNz KGIpIDo6IE15QWRkDQogICAgICBnZW5lcmljIDo6IG9wZXJhdG9yKCspID0+IG15QWRkDQogICAg ZW5kIHR5cGUgWA0KICBjb250YWlucw0KICAgIGludGVnZXIgZnVuY3Rpb24gTXlBZGQgKCBBLCBC ICkNCiAgICAgIHR5cGUodCksIGludGVudChpbikgOjogQQ0KICAgICAgdHlwZSh4KSwgaW50ZW50 KGluKSA6OiBCDQogICAgZW5kIGZ1bmN0aW9uIE15QWRkDQogIGVuZCBtb2R1bGUgTQ0KDQpRVUVT VElPTiAyOg0KDQpEb2VzIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbSB1bml0IGNvbmZvcm0gdG8gdGhl IDIwMDMgc3RhbmRhcmQ/DQoNCiAgbW9kdWxlIE0NCiAgICBpbnRlcmZhY2Ugb3BlcmF0b3IoKykN CiAgICAgIHByb2NlZHVyZSBNeUFkZA0KICAgIGVuZCBpbnRlcmZhY2UNCiAgICB0eXBlIFQNCiAg ICBjb250YWlucw0KICAgICAgcHJvY2VkdXJlIE15QWRkDQogICAgICBnZW5lcmljIDo6IG9wZXJh dG9yKCspID0+IG15QWRkDQogICAgZW5kIHR5cGUgVA0KICBjb250YWlucw0KICAgIGludGVnZXIg ZnVuY3Rpb24gTXlBZGQgKCBBLCBCICkNCiAgICAgIHR5cGUodCksIGludGVudChpbikgOjogQQ0K ICAgICAgcmVhbCwgaW50ZW50KGluKSA6OiBCDQogICAgZW5kIGZ1bmN0aW9uIE15QWRkDQogIGVu ZCBtb2R1bGUgTQ0KDQpRVUVTVElPTiAzOg0KDQpJZiB0aGUgaW50ZXJmYWNlIGJsb2NrIGFuZCB0 eXBlIGRlZmluaXRpb24gYXJlIGV4Y2hhbmdlZCBpbiBRVUVTVElPTg0KMiwgZG9lcyB0aGUgcHJv Z3JhbSB1bml0IGNvbmZvcm0gdG8gdGhlIDIwMDMgc3RhbmRhcmQ/DQoNCkFOQUxZU0lTOg0KDQpU aGUgT1BFUkFUT1IoKykgYmluZGluZ3MgdG8gdGhlIHR5cGVzIFQgYW5kIFggY29uc3RydWN0IGEg c2luZ2xlDQpnZW5lcmljIE9QRVJBVE9SKCspIGludGVyZmFjZSB0aGF0IGlzIGEgbG9jYWwgZW50 aXR5IG9mIG1vZHVsZSBNLg0KVGhleSBkbyBub3QgY29uc3RydWN0IHNlcGFyYXRlIE9QRVJBVE9S KCspIGdlbmVyaWMgaW50ZXJmYWNlcyB0aGF0DQphcmUgc2VwYXJhdGUgbG9jYWwgZW50aXRpZXMg b2YgdGhlIHR5cGVzLg0KDQoxNi4yLjMgKFJlc3RyaWN0aW9ucyBvbiBnZW5lcmljIGRlY2xhcmF0 aW9ucykgc3BlY2lmaWVzIHRoYXQgaXQNCiJjb250YWlucyB0aGUgcnVsZXMgdGhhdCBzaGFsbCBi ZSBzYXRpc2ZpZWQgYnkgZXZlcnkgcGFpciBvZiBzcGVjaWZpYw0KcHJvY2VkdXJlcyB0aGF0IGhh dmUgdGhlIHNhbWUgZ2VuZXJpYyBpZGVudGlmaWVyIHdpdGhpbiBhIHNjb3BpbmcNCnVuaXQuIg0K DQpJdCBpcyBjbGVhciB0aGF0IGlmIGRpZmZlcmVudCBmdW5jdGlvbnMgd2l0aCBpZGVudGljYWwg aW50ZXJmYWNlcw0Kd2VyZSBib3VuZCB0byB0aGUgdHlwZXMgdGhhdCB0aGV5IHdvdWxkIGJlIGEg InBhaXIgb2Ygc3BlY2lmaWMNCnByb2NlZHVyZXMiIGFuZCB0aGUgcmVzdWx0aW5nIE9QRVJBVE9S KCspIGludGVyZmFjZSB3b3VsZCB0aGVyZWZvcmUNCmJlIHByb2hpYml0ZWQgYnkgMTYuMi4zLg0K DQpJdCBpcyBub3QgY2xlYXIgd2hldGhlciB0aGUgZ2VuZXJpYyBiaW5kaW5ncyBiaW5kIHNlcGFy YXRlIHNwZWNpZmljDQpwcm9jZWR1cmVzIHRvIHRoZSBPUEVSQVRPUigrKSBnZW5lcmljLCBvciBv bmx5IHJlZHVuZGFudGx5IGJpbmQgdGhlDQpzYW1lIHByb2NlZHVyZS4gIElmIHRoZSBmb3JtZXIs IHRoZSBwcm9ncmFtIHVuaXRzIGFyZSBub3Qgc3RhbmRhcmQNCmNvbmZvcm1pbmcgYmVjYXVzZSB0 aGV5IHZpb2xhdGUgdGhlIHByb3Zpc2lvbnMgb2YgMTYuMi4zLiAgSWYgdGhlDQpsYXR0ZXIsIHRo ZXkgYXBwZWFyIHRvIGJlIHN0YW5kYXJkIGNvbmZvcm1pbmcuDQoNCkMxMjA5IChpbiAxMi4zLjIu MSkgcHJvaGliaXRzIGEgcHJvY2VkdXJlIHRvIGJlIGJvdW5kIHRvIGEgZ2VuZXJpYw0KaW50ZXJm YWNlIG1vcmUgdGhhbiBvbmNlIGluIGEgc2NvcGluZyB1bml0LCBidXQgb25seSBieSB3YXkgb2Yg YQ0KUFJPQ0VEVVJFIHN0YXRlbWVudCBpbiBhIGdlbmVyaWMgaW50ZXJmYWNlIGJsb2NrLiAgVGhl cmUgaXMgbm90aGluZw0Kb2J2aW91c2x5IGVxdWl2YWxlbnQgaW4gNC41LjQsIG5vciBhbnl0aGlu ZyB0aGF0IHNwZWNpZmllcyB0aGF0IEMxMjA5DQphcHBsaWVzIHRvIGdlbmVyaWMgYmluZGluZ3Mg dG8gdHlwZXMuICBJdCBhbHNvIGRvZXMgbm90IGFwcGx5IGJldHdlZW4NCmEgZ2VuZXJpYyBpbnRl cmZhY2UgYmxvY2sgYW5kIGEgZ2VuZXJpYyBpbnRlcmZhY2UgcHJldmlvdXNseQ0Kc3BlY2lmaWVk IGJ5IGEgZ2VuZXJpYyBiaW5kaW5nIHRvIGEgdHlwZSAocXVlc3Rpb24gMyksIHNpbmNlIHRoZQ0K bGF0dGVyIHNwZWNpZmljIGJpbmRpbmcgaXMgYWNjb21wbGlzaGVkIGJ5IGEgY29uc3BpcmFjeSBv ZiBhDQo8cHJvYy1iaW5kaW5nLXN0bXQ+IGFuZCBhIDxnZW5lcmljLSBiaW5kaW5nPiwgbm90IGJ5 IGENCjxwcm9jZWR1cmUtc3RtdD4uDQoNCkFOU1dFUjoNCg0KVGhlIHByb2dyYW0gdW5pdHMgY29u Zm9ybSB0byB0aGUgMjAwMyBzdGFuZGFyZC4gIE11bHRpcGxlIGJpbmRpbmdzIG9mDQp0aGUgc2Ft ZSBwcm9jZWR1cmUgdG8gYSBnZW5lcmljIGlkZW50aWZpZXIgdXNpbmcgYSA8Z2VuZXJpYy1iaW5k aW5nPg0KaW4gYSB0eXBlIGRlZmluaXRpb24gb3IgYnkgYSB0eXBlIGRlZmluaXRpb24gYW5kIGEg Z2VuZXJpYyBpbnRlcmZhY2UNCmJsb2NrIGRvIG5vdCBiaW5kIGEgInBhaXIgb2Ygc3BlY2lmaWMg cHJvY2VkdXJlcyIgdG8gdGhlIGdlbmVyaWMNCmludGVyZmFjZS4gSW5kZWVkLCB0aGUgZm9sbG93 aW5nIHR5cGUgZGVmaW5pdGlvbiBpcyBsZWdhbDoNCg0KICB0eXBlIFoNCiAgY29udGFpbnMNCiAg ICBwcm9jZWR1cmUgOjogTXlBZGQNCiAgICBnZW5lcmljIDo6IG9wZXJhdG9yKCspID0+IG15QWRk LCBvcGVyYXRvcigrKSA9PiBteUFkZA0KICBlbmQgdHlwZSBaDQoNCkVESVRTOiBOb25lLg0KDQpT VUJNSVRURUQgQlk6ICBWYW4gU255ZGVyDQoNCkhJU1RPUlk6ICAwNC00MDUgICAgbTE3MCAgRjAz LzAwMTggU3VibWl0dGVkDQogICAgICAgICAgMDQtNDA1cjEgIG0xNzAgIFBhc3NlZCBieSBKMyBt ZWV0aW5nDQogICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90 ICMxMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMTkNClRJVExFOiBNdWx0aXBs ZSBpZGVudGljYWwgc3BlY2lmaWMgcHJvY2VkdXJlcyBpbiBnZW5lcmljIGludGVyZmFjZQ0KICAg ICAgIGJsb2Nrcw0KS0VZV09SRFM6IFR5cGUtYm91bmQgZ2VuZXJpY3MNCkRFRkVDVCBUWVBFOiBF cnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFVRVNUSU9OIDE6 DQoNCkRvZXMgdGhlIGZvbGxvd2luZyBwcm9ncmFtIGNvbmZvcm0gdG8gdGhlIDIwMDMgc3RhbmRh cmQ/DQoNCiAgcHJvZ3JhbSBQDQogICAgaW50ZXJmYWNlIFgNCiAgICAgIHN1YnJvdXRpbmUgUyAo IEEgKQ0KICAgICAgICBpbnRlZ2VyIDo6IEENCiAgICAgIGVuZCBzdWJyb3V0aW5lIFMNCiAgICAg IHByb2NlZHVyZSBTDQogICAgZW5kIGludGVyZmFjZSBYDQogIGVuZCBwcm9ncmFtIFANCg0KQU5B TFlTSVM6DQoNCjE2LjIuMyAoUmVzdHJpY3Rpb25zIG9uIGdlbmVyaWMgZGVjbGFyYXRpb25zKSBz cGVjaWZpZXMgdGhhdCBpdA0KImNvbnRhaW5zIHRoZSBydWxlcyB0aGF0IHNoYWxsIGJlIHNhdGlz ZmllZCBieSBldmVyeSBwYWlyIG9mIHNwZWNpZmljDQpwcm9jZWR1cmVzIHRoYXQgaGF2ZSB0aGUg c2FtZSBnZW5lcmljIGlkZW50aWZpZXIgd2l0aGluIGEgc2NvcGluZw0KdW5pdC4iDQoNCkl0IGlz IG5vdCBjbGVhciB3aGV0aGVyIHRoZSBpbnRlcmZhY2UgYm9keSBhbmQgdGhlIHByb2NlZHVyZQ0K c3RhdGVtZW50IGJpbmQgc2VwYXJhdGUgc3BlY2lmaWMgcHJvY2VkdXJlcyB0byB0aGUgZ2VuZXJp Yw0KaWRlbnRpZmllciwgb3Igb25seSByZWR1bmRhbnRseSBiaW5kIHRoZSBzYW1lIHByb2NlZHVy ZS4gIElmIHRoZQ0KZm9ybWVyLCB0aGUgcHJvZ3JhbSBpcyBub3Qgc3RhbmRhcmQgY29uZm9ybWlu ZyBiZWNhdXNlIGl0IHZpb2xhdGVzDQp0aGUgcHJvdmlzaW9ucyBvZiAxNi4yLjMuICBJZiB0aGUg bGF0dGVyLCBpdCBhcHBlYXJzIHRvIGJlIHN0YW5kYXJkDQpjb25mb3JtaW5nLg0KDQpDMTIwOSAo aW4gMTIuMy4yLjEpIHByb2hpYml0cyBhIHByb2NlZHVyZSB0byBiZSBib3VuZCB0byBhIGdlbmVy aWMNCmludGVyZmFjZSBtb3JlIHRoYW4gb25jZSBpbiBhIHNjb3BpbmcgdW5pdCwgYnV0IG9ubHkg Ynkgd2F5IG9mIGENClBST0NFRFVSRSBzdGF0ZW1lbnQgaW4gYSBnZW5lcmljIGludGVyZmFjZSBi bG9jay4NCg0KVGhlcmUgaXMgYSBnZW5lcmFsIHJ1bGUgdGhhdCBub3RoaW5nIHNoYWxsIGJlIGRl Y2xhcmVkIG1vcmUgdGhhbg0Kb25jZS4gSXQgYXBwZWFycyB0aGF0IGEgcHJvY2VkdXJlIHN0YXRl bWVudCB3aXRoaW4gYW4gaW50ZXJmYWNlIGJsb2NrDQppcyBub3QgYSBkZWNsYXJhdGlvbjogIDUu MS4yLjYgKEV4dGVybmFsIGF0dHJpYnV0ZSkgc3BlY2lmaWVzIHRoYXQNCnRoZSBleHRlcm5hbCBh dHRyaWJ1dGUgbWF5IGJlIHNwZWNpZmllZCBieSBhbiBFWFRFUk5BTCBzdGF0ZW1lbnQsIGENCjxw cm9jZWR1cmUtIGRlY2xhcmF0aW9uLXN0bXQ+IG9yIGFuIGludGVyZmFjZSBib2R5IHRoYXQgaXMg bm90IGluIGFuDQphYnN0cmFjdCBpbnRlcmZhY2UgYmxvY2suICBBIHByb2NlZHVyZSBzdGF0ZW1l bnQgaW4gYW4gaW50ZXJmYWNlDQpibG9jayBhcHBhcmVudGx5IGRvZXMgbm90IHNwZWNpZnkgdGhl IGV4dGVybmFsIGF0dHJpYnV0ZS4gIFRoZQ0KcHJvY2VkdXJlIHNwZWNpZmllZCBieSB0aGUgUFJP Q0VEVVJFIHN0YXRlbWVudCBpbiB0aGUgYWJvdmUgZXhhbXBsZQ0KaXMgY2xlYXJseSBhbiBleHRl cm5hbCBwcm9jZWR1cmUgd2l0aCBhbiBleHBsaWNpdCBpbnRlcmZhY2UsIHNvIGl0DQpzYXRpc2Zp ZXMgdGhlIHJlcXVpcmVtZW50cyBvZiBDMTIwNy4NCg0KQU5TV0VSOg0KDQpUaGUgcHJvZ3JhbSBj b25mb3JtcyB0byB0aGUgMjAwMyBzdGFuZGFyZC4gIE11bHRpcGxlIGJpbmRpbmdzIG9mIHRoZQ0K c2FtZSBwcm9jZWR1cmUgdG8gYSBnZW5lcmljIGlkZW50aWZpZXIgdXNpbmcgYW4gaW50ZXJmYWNl IGJvZHkgYW5kIGENCnByb2NlZHVyZSBzdGF0ZW1lbnQgZG8gbm90IGJpbmQgYSAicGFpciBvZiBz cGVjaWZpYyBwcm9jZWR1cmVzIiB0bw0KdGhlIGdlbmVyaWMgaW50ZXJmYWNlLg0KDQpFbmZvcmNp bmcgQzEyMDkgaXMgbW9yZSBib3RoZXIgZm9yIHByb2Nlc3NvcnMgdGhhbiBzaW1wbHkgYWxsb3dp bmcNCm11bHRpcGxlIGJpbmRpbmdzIG9mIGEgcGFydGljdWxhciBzcGVjaWZpYyBwcm9jZWR1cmUg dG8gYSBnZW5lcmljDQppbnRlcmZhY2UuICBJdCBpcyB1bmhlbHBmdWwgdG8gdXNlcnMsIGFuZCBj YW4gYmUgaHVydGZ1bCBpZiB0aGUNCm11bHRpcGxlIGJpbmRpbmdzIGFyZSBzcGVjaWZpZWQgYnkg aW5kZXBlbmRlbnQgZ2VuZXJpYyBpbnRlcmZhY2VzIGFuZA0KYnJvdWdodCBpbnRvIGEgc2NvcGlu ZyB1bml0IGJ5IHVzZSBhc3NvY2lhdGlvbiBmcm9tIGRpZmZlcmVudA0KbW9kdWxlcy4gIFRoZXJl IHdhcyBubyBlcXVpdmFsZW50IGNvbnN0cmFpbnQgaW4gRm9ydHJhbiA5MCwgYWx0aG91Z2gNCnNv bWV0aGluZyBsaWtlIGl0IHdhcyBhZGRlZCBieSBpbnRlcnAgRjkwLzAwMDAwNy4gIFRoZSBjb25z dHJhaW50DQphZGRlZCB0aGVyZSBhcHBsaWVkIG9ubHkgdG8gYSBzaW5nbGUgc3BlY2lmaWNhdGlv biBwYXJ0LiAgSXQncyBub3QNCmNsZWFyIHdoZXRoZXIgdGhhdCBtZWFudCAiZGVjbGFyZWQgaW4g dGhlIHNhbWUgc3BlY2lmaWNhdGlvbiBwYXJ0IiBvcg0KImFjY2Vzc2libGUgaW4gdGhlIHNhbWUg c3BlY2lmaWNhdGlvbiBwYXJ0LiIgIFdoZW4gaXQgd2FzIHB1dCBpbnRvDQpGb3J0cmFuIDk1LCBp dCBjbGVhcmx5IGFwcGxpZWQgdG8gYWxsIGFjY2Vzc2libGUgZ2VuZXJpYyBpbnRlcmZhY2VzDQp3 aXRoIGEgcGFydGljdWxhciA8Z2VuZXJpYy1zcGVjPi4gIEdpdmVuIHRoZSBtdWx0aXR1ZGUgb2Yg bmV3IHdheXMgdG8NCmJyaW5nIHNwZWNpZmljIHByb2NlZHVyZXMgaW50byBhIGdlbmVyaWMgaW50 ZXJmYWNlIGluIEZvcnRyYW4gMjAwMywNCmFuZCB0aGF0IG1hbnkgb2YgdGhvc2Ugd2F5cyBhbGxv dyBhIHNwZWNpZmljIHByb2NlZHVyZSB0byBiZSBib3VuZCB0bw0KYSBnZW5lcmljIGlkZW50aWZp ZXIgbW9yZSB0aGFuIG9uY2UsIHRoaXMgY29uc3BpY3VvdXNseSBsb25lbHkNCmNvbnN0cmFpbnQg c2hvdWxkIGJlIHJlbW92ZWQuICBFZGl0cyBhcmUgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzDQpv dmVyc2lnaHQuDQoNCkVESVRTOg0KDQpSZW1vdmUgQzEyMDkgZnJvbSAxMi4zLjIuMS4NCg0KU1VC TUlUVEVEIEJZOiAgVmFuIFNueWRlcg0KDQpISVNUT1JZOiAwNC00MDYgICAgbTE3MCAgRjAzLzAw MTkgU3VibWl0dGVkDQogICAgICAgICAwNC00MDZyMSAgbTE3MCAgUGFzc2VkIEozIG1lZXRpbmcN CiAgICAgICAgIDA1LTE0NiAgICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTANCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDIwDQpUSVRMRTogS2luZHMgb2YgaW50cmlu c2ljIHR5cGUgcGFyYW1ldGVycw0KS0VZV09SRFM6IHR5cGUgcGFyYW1ldGVyLCBraW5kLCBpbnRy aW5zaWMgdHlwZQ0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxl dHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoNClExLiBXaGF0IGFyZSB0aGUga2luZHMgb2YgdGhl IHR5cGUgcGFyYW1ldGVycyBmb3IgaW50cmluc2ljIHR5cGVzPw0KDQogICAgSW4gbW9zdCBjb250 ZXh0cywgaXQgZG9lc24ndCBtYXR0ZXIuIEZvcnRyYW4gOTUgZGlkIG5vdCBldmVuDQogICAgaGF2 ZSB0aGUgY29uY2VwdCBvZiB0aGUga2luZCBvZiBhIHR5cGUgcGFyYW1ldGVyIG9yIGEgY29udGV4 dA0KICAgIGluIHdoaWNoIHN1Y2ggYSB0aGluZyBjb3VsZCBiZSBkZXRlY3RlZCBpbiBhDQogICAg c3RhbmRhcmQtY29uZm9ybWluZyBwcm9ncmFtLiAgRm9ydHJhbiAyMDAzIGFkZGVkIHRoZSBjb25j ZXB0DQogICAgaW4gc3VwcG9ydCBvZiBkZXJpdmVkIHR5cGVzLiBJdCBhbHNvIGFkZGVkIGEgc3lu dGF4IHdoaWNoDQogICAgZXhwb3NlcyB0aGUgcXVlc3Rpb24gZm9yIGludHJpbnNpYyB0eXBlcy4N Cg0KUTIuIFdoYXQgaXMgdGhlIEtJTkQgb2YgYSB0eXBlIHBhcmFtZXRlciBpbnF1aXJ5Pw0KDQpR My4gRm9yIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSBwcm9ncmFtDQoNCiAgICAgIHByb2dyYW0gd2hh dF9raW5kDQogICAgICAgIGNoYXJhY3RlciBjDQogICAgICAgIHdyaXRlICgqLCopIGtpbmQoYyVr aW5kKSA9PSBraW5kKDApDQogICAgICAgIHdyaXRlICgqLCopIGtpbmQoYyVsZW4pID09IGtpbmQo MCkNCiAgICAgIGVuZA0KDQogICAgQXJlIGJvdGggd3JpdGUgc3RhdGVtZW50cyBndWFyYW50ZWVk IHRvIHByaW50IC50cnVlLiAobWVhbmluZw0KICAgIHRoYXQgdGhlIGMla2luZCBhbmQgYyVsZW4g YXJlIG9mIGRlZmF1bHQga2luZCkgb3Igbm90Pw0KDQpGb3IgS0lORCBwYXJhbWV0ZXJzLCBhbHRo b3VnaCBJIGNhbid0IGZpbmQgaXQgZXhwbGljaXRseSBzdGF0ZWQsDQpJIHNlZSBmYWlybHkgc3Ry b25nIGV2aWRlbmNlIHRoYXQgYWxsIGludHJpbnNpYyBraW5kIHBhcmFtZXRlcnMNCmFyZSBpbnRl bmRlZCB0byBiZSBkZWZhdWx0IGludGVnZXJzLiAgVGhpcyBldmlkZW5jZSBpcyBpbiB0aGUNCmlu dHJpbnNpYyBmdW5jdGlvbnMuICBUaGUgS0lORCBpbnRyaW5zaWMgZnVuY3Rpb24gYW5kIGFsbCB0 aGUNCnNlbGVjdGVkXypfa2luZCBmdW5jdGlvbnMgYXJlIHNwZWNpZmllZCB0byByZXR1cm4gZGVm YXVsdA0KaW50ZWdlcnMsIHdoaWNoIHdvdWxkIG1ha2UgZm9yIHNvbWUgc3RyYW5nZW5lc3MgaWYg dGhlIGtpbmQNCnBhcmFtZXRlcnMgd2VyZSBub3QgZGVmYXVsdCBpbnRlZ2VyLCBpbiBwYXJ0aWN1 bGFyIGlmIHRoZSBLSU5EDQppbnRyaW5zaWMgY291bGQgbm90IHJldHVybiB0aGUga2luZCBvZiBp dHMgYXJndW1lbnQgYmVjYXVzZSB0aGF0DQpraW5kIGNvdWxkIG5vdCBiZSByZXByZXNlbnRlZCBp biBhIGRlZmF1bHQgaW50ZWdlci4NCg0KVGhlcmUgYWxzbyBzZWVtcyBubyBvYnZpb3VzIGJlbmVm aXQgdG8gaGF2aW5nIHRoZSBraW5kIG9mIHRoZQ0KaW50cmluc2ljIGtpbmQgcGFyYW1ldGVycyBi ZSBhbnl0aGluZyBvdGhlciB0aGFuIGRlZmF1bHQuIEluDQpwcmFjdGljZSwgdGhlIG51bWJlciBv ZiBzdXBwb3J0ZWQgdmFsdWVzIGZvciBraW5kIGlzIHNtYWxsIGFuZA0Kd291bGQgaGF2ZSBubyB0 cm91YmxlIGJlaW5nIHJlcHJlc2VudGVkIGluIGEgZGVmYXVsdCBpbnRlZ2VyOw0KbGFyZ2UgYXJy YXlzIG9mIGtpbmQgdmFsdWVzIGFyZSByYXJlLCBzbyB0aGVyZSBpc24ndCBtdWNoDQpiZW5lZml0 IGluIHVzaW5nIHJlcHJlc2VudGF0aW9ucyBzbWFsbGVyIHRoYW4gZGVmYXVsdC4NCg0KRm9yIGNo YXJhY3RlciBsZW5ndGgsIEkgc2VlIG5vIHNpbWlsYXIgZXZpZGVuY2UuICBJbmRlZWQsIHRoZQ0K TEVOIGludHJpbnNpYyBzZWVtcyB0byBzdWdnZXN0IHRoYXQgbGVuZ3RocyBtaWdodCBiZSBvdGhl ciB0aGFuDQpkZWZhdWx0IGludGVnZXIuIEkgYmVsaWV2ZSB0aGF0IHRoZXJlIHdhcyBjbGVhciBp bnRlbnQgdG8NCmZhY2lsaXRhdGUgKGJ1dCBub3QgcmVxdWlyZSkgc3VwcG9ydCBmb3IgY2hhcmFj dGVyIGxlbmd0aHMNCmxvbmdlciB0aGFuIGNvdWxkIGJlIGV4cHJlc3NlZCBieSBhIGRlZmF1bHQg aW50ZWdlci4NCg0KSW4gbW9zdCBjb250ZXh0cywgaXQgZG9lc24ndCBkaXJlY3RseSBtYXR0ZXIg d2hhdCB0aGUga2luZCBvZg0KbGVuZ3RoIGlzLiAgUGFyYW1ldGVyIHNwZWNpZmljYXRpb25zIGlu IHR5cGUtc3BlY3MgZG9uJ3QgaGF2ZSB0bw0KbWF0Y2ggaW4ga2luZC4gU28gdGhlIHVzZXIgY291 bGQgc3BlY2lmeSBhbmQgZG8gYXJpdGhtZXRpYyBvbg0KbGVuZ3RocyB1c2luZyB3aGF0ZXZlciBr aW5kIHdhcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGFudGljaXBhdGVkDQpwcm9ibGVtIHNpemVzLiBU aGUgbGltaXQgb24gbWF4aW11bSBjaGFyYWN0ZXIgbGVuZ3RoIGlzDQpwcm9jZXNzb3ItZGVwZW5k ZW50IGFueXdheSBhbmQgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lDQphcyBIVUdFKHdoYXRl dmVyKSAodGhvdWdoIGl0IGlzIGEgYml0IGhhcmQgdG8gaW1hZ2luZSBob3cgaXQNCmNvdWxkIHVz ZWZ1bGx5IGJlIGxhcmdlcikuDQoNClRoZSBvbmx5IGNvbnRleHQgaW4gd2hpY2ggSSBjYW4gc2Vl IHRoYXQgbWlnaHQgbWF0dGVyIGlzIGluIGENCnR5cGUgcGFyYW1ldGVyIGlucXVpcnkgKDYuMS4z KS4gIFdlIGRvbid0IGFwcGVhciB0byBoYXZlIGRlZmluZWQNCnRoZSBraW5kIG9mIGEgdHlwZSBw YXJhbWV0ZXIgaW5xdWlyeS4gIEFsdGhvdWdoIHdlIGRpZG4ndCBzYXksIEkNCmFtIGFzc3VtaW5n IHRoYXQgYSB0eXBlIHBhcmFtZXRlciBpbnF1aXJ5IG91Z2h0IHRvICJyZXR1cm4iIHRoZQ0Ka2lu ZCBvZiB0aGUgdHlwZSBwYXJhbWV0ZXIgaXQgaXMgaW5xdWlyaW5nIGFib3V0LiBPdGhlcndpc2Us DQp0aGVyZSB3b3VsZCBiZSBubyB3YXkgdG8gaW5xdWlyZSBhYm91dCB0aGUgdHlwZSBwYXJhbWV0 ZXIgdmFsdWVzDQpvZiBzb21lIGRlcml2ZWQgdHlwZSB2YXJpYWJsZXMgKGlmIHRoZSB2YWx1ZXMg ZGlkbid0IGZpdCBpbiBhDQpkZWZhdWx0IGludGVnZXIpLiAgV2UgcHJvYmFibHkgb3VnaHQgdG8g ZXhwbGljaXRseSBzYXksIHRob3VnaC4NCg0KQU5TV0VSOg0KDQpRMS4gVGhlIGtpbmQgcGFyYW1l dGVycyBvZiBhbGwgdGhlIGludHJpbnNpYyB0eXBlcyBhcmUgb2YNCiAgICBkZWZhdWx0IGludGVn ZXIga2luZC4gVGhlIGtpbmQgcGFyYW1ldGVyIG9mIHRoZSBpbnRyaW5zaWMNCiAgICBjaGFyYWN0 ZXIgbGVuZ3RoIHBhcmFtZXRlciBpcyBwcm9jZXNzb3ItZGVwZW5kZW50Lg0KDQogICAgVGhlIHN1 cHBvcnQgZm9yIHRoaXMgYW5zd2VyIGlzIGFzIGRlc2NyaWJlZCBpbiB0aGUgcXVlc3Rpb24uDQog ICAgRWRpdHMgYXJlIHByb3ZpZGVkIHRvIG1ha2UgdGhpcyBhbnN3ZXIgZXhwbGljaXQuDQoNClEy LiBUaGUga2luZCBwYXJhbWV0ZXIgb2YgYSB0eXBlIGlucXVpcnkgaXMgdGhlIHNhbWUgYXMgdGhh dCBvZg0KICAgIHRoZSB0eXBlIHBhcmFtZXRlciBpbnF1aXJlZCBhYm91dC4gU2VlIHBhZ2UgMTIz LCBsaW5lcyAzNS0zNi4NCg0KUTMuIFRoZSBmaXJzdCB3cml0ZSBzdGF0ZW1lbnQgaXMgZ3VhcmFu dGVlZCB0byBwcmludCBhIC50cnVlLiB2YWx1ZTsNCiAgICBpdCBpcyBwcm9jZXNzb3IgZGVwZW5k ZW50IHdoZXRoZXIgdGhlIHNlY29uZCBvbmUgcHJpbnRzIGEgLnRydWUuDQogICAgb3IgLmZhbHNl LiB2YWx1ZS4NCg0KRURJVFM6DQoNCkFsbCBlZGl0cyBhcHBseSB0byAwNC0wMDcuDQoNCkF0IFsz NjoxNF0sIFszNzozMF0sIFszOToxNV0sIFs0MDoxNF0sIGFuZCBbNDQ6Ml0sIGluc2VydCB0aGUN CmZvbGxvd2luZyBzZW50ZW5jZSBiZWZvcmUgIlRoZSBraW5kIjoNCiAgICBUaGUga2luZCB0eXBl IHBhcmFtZXRlciBpcyBvZiB0eXBlIGRlZmF1bHQgaW50ZWdlci4NCg0KQXQgWzQwOjEwXSwgYmVm b3JlICJpdHMiLCBpbnNlcnQgIml0cyBraW5kIGlzIHByb2Nlc3Nvci1kZXBlbmRlbnQNCmFuZCIu DQoNClNVQk1JVFRFRCBCWTogUmljaGFyZCBNYWluZQ0KDQpISVNUT1JZOiAwNC00MDggICAgbTE3 MCAgRjAzLzAwMjAgU3VibWl0dGVkDQogICAgICAgICAwNC00MDhyMSAgbTE3MCAgUGFzc2VkIGJ5 IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJh bGxvdCAjMTANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDIxDQpUSVRMRTogV2hh dCBraW5kIG9mIHRva2VuIGlzIGEgc3RvcCBjb2RlPw0KS0VZV09SRFM6IFNUT1AsIHRva2VuDQpE RUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNz DQoNClFVRVNUSU9OOg0KDQpUaGUgPHN0b3AtY29kZT4sIHdoZW4gaXQgaXMgYSBzdHJpbmcgb2Yg PGRpZ2l0PnMsIGRvZXMgbm90IGFwcGVhciB0bw0KYmUgc3BlY2lmaWVkIGJ5IHRoZSBzdGFuZGFy ZCB0byBiZSBhbnkgcGFydGljdWxhciBraW5kIG9mIHRva2VuLiAgT3INCmluZGVlZCB3aGV0aGVy IGl0IGlzIG9uZSB0b2tlbiBwZXIgPGRpZ2l0PiBvciBvbmUgcGVyIDxzdG9wLWNvZGU+Lg0KDQpU aGUgYW5zd2VyIHRvIHRoZXNlIHF1ZXN0aW9ucyBkZXRlcm1pbmVzIHdoZXRoZXIgYmxhbmtzIGFy ZSBhbGxvd2VkLA0KZGlzYWxsb3dlZCwgb3Igb3B0aW9uYWwsIGluIHRoZSBtaWRkbGUgb2YgYSBT VE9QIHN0YXRlbWVudCBpbiBmcmVlDQpmb3JtLg0KDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHN0 YXRlbWVudHM6DQooMSkgU1RPUCAxMjMNCigyKSBTVE9QMTIzDQooMykgU1RPUCAxIDIgMw0KDQpX aGljaCwgaWYgYW55LCBvZiB0aGVzZSBzdGF0ZW1lbnRzIGFyZSBzdGFuZGFyZC1jb25mb3JtaW5n Pw0KDQpBTlNXRVI6DQoNCk9ubHkgc3RhdGVtZW50ICgxKSB3YXMgaW50ZW5kZWQgdG8gYmUgc3Rh bmRhcmQtY29uZm9ybWluZy4NCkVkaXRzIGFyZSBzdXBwbGllZCB0byBjbGFyaWZ5IHRoZSBzaXR1 YXRpb24uDQoNCkVESVRTOg0KDQpbMTcwOjIzXSBSZXBsYWNlIHdpdGggIjw8b3I+PiA8aW50LWxp dGVyYWwtY29uc3RhbnQ+Ig0KDQpbMTcwOjI0K10gSW5zZXJ0IG5ldyBjb25zdHJhaW50DQogIkM4 MzRhIChSODUwKSBUaGUgPGludC1saXRlcmFsLWNvbnN0YW50PiBzaGFsbCBub3QgaGF2ZSBhDQog ICAgICAgIDxraW5kLXBhcmFtPiBhbmQgc2hhbGwgbm90IGhhdmUgbW9yZSB0aGFuIDUgPGRpZ2l0 PnMuIg0KDQpbMTcwOjI3XSBBZnRlciAic2lnbmlmaWNhbnQiIGluc2VydA0KICAiYW5kIGFsbCBz dG9wIGNvZGVzIGFyZSBwZXJtaXNzaWJsZSBldmVuIGlmIG5vdCByZXByZXNlbnRhYmxlIGluIHRo ZQ0KICAgZGVmYXVsdCBpbnRlZ2VyIHR5cGUiDQoNClNVQk1JVFRFRCBCWTogTWFsY29sbSBDb2hl bg0KDQpISVNUT1JZOiAwNC00MTYgIG0xNzAgIEYwMy8wMDIxIFN1Ym1pdHRlZCAtIFBhc3NlZCBi eSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNDYgIG0xNzEgIEZhaWxlZCBKMyBsZXR0ZXIgYmFs bG90ICMxMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMjINClRJVExFOiBDb2V4 aXN0ZW5jZSBvZiBJRUVFIGFuZCBub24tSUVFRSBraW5kcw0KS0VZV09SRFM6IElFRUUsIGtpbmQN CkRFRkVDVCBUWVBFOiBJbnRlcnByZXRhdGlvbg0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGlu IHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpJcyBpdCBhbGxvd2VkIGZvciBhIHByb2Nlc3NvciB0 byBoYXZlIG9uZSBvciBtb3JlIHJlYWwga2luZHMgZm9yIHdoaWNoDQp0aGVyZSBpcyBubyBJRUVF IHN1cHBvcnQsIHdoaWxlIGFsc28gaGF2aW5nIHJlYWwga2luZHMgZm9yIHdoaWNoIHRoZXJlDQpp cyBJRUVFIHN1cHBvcnQ/DQoNCk11Y2ggb2YgdGhlIElFRUUgbWF0ZXJpYWwgYXBwZWFycyB0byBh c3N1bWUgdGhhdCBhIHByb2Nlc3NvciBjb3VsZA0Kc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCBib3Ro IElFRUUgYW5kIG5vbi1JRUVFIGtpbmRzLiAgSSB0aG91Z2h0IHRoaXMNCndhcyB0aGUgaW50ZW50 LiAgSG93ZXZlciwgdGhlIGZpcnN0IHNlbnRlbmNlIG9mIHRoZSBzZWNvbmQgcGFyYWdyYXBoDQpp biBzZWN0aW9uIDE0IHNheXMgdGhhdCBpZiBJRUVFX0VYQ0VQVElPTlMgb3IgSUVFRV9BUklUSE1F VElDIGlzDQphY2Nlc3NpYmxlIGluIGEgc2NvcGluZyB1bml0LCB0aGVuIElFRUVfT1ZFUkZMT1cg YW5kDQpJRUVFX0RJVklERV9CWV9aRVJPIGFyZSBzdXBwb3J0ZWQgaW4gdGhlIHNjb3BpbmcgdW5p dCBmb3IgKkFMTCoNCltlbXBoYXNpcyBtaW5lXSBraW5kcyBvZiByZWFsIGFuZCBjb21wbGV4IGRh dGEuICBUaGlzIHNheXMgdG8gbWUNCnRoYXQgaWYgdGhlcmUgaXMgYW55IGtpbmQgb2YgcmVhbCBm b3Igd2hpY2ggdGhlIHByb2Nlc3NvciBjYW5ub3QNCnN1cHBvcnQgSUVFRV9PVkVSRkxPVyBvciBJ RUVFX0RJVklERV9CWV9aRVJPLCB0aGVuIHByZXR0eSBtdWNoIG5vbmUNCm9mIHRoZSBJRUVFIHN0 dWZmIGNhbiBiZSB1c2VkIG9uIHRoYXQgcHJvY2Vzc29yIGF0IGFsbDsgdGhlcmUNCmlzbid0IG11 Y2ggb2YgdGhlIElFRUUgc3R1ZmYgdGhhdCBjYW4gYmUgdXNlZCB3aXRob3V0IElFRUVfQVJJVEhN RVRJQw0Kb3IgSUVFRV9FWENFUFRJT05TLiAgVGhpcyBzZWVtcyBkcmFjb25pYW4gYW5kIHVuaW50 ZW5kZWQuDQoNCkkgc3BlY3VsYXRlIHRoYXQgdGhpcyBjb25kaXRpb24gaXMgaW50ZW5kZWQgdG8g YXBwbHkgdG8gYWxsIElFRUUNCnJlYWwga2luZHMgcmF0aGVyIHRoYW4gdG8gYWxsIHJlYWwga2lu ZHMuDQoNCkFOU1dFUjoNCg0KWWVzLCB0aGlzIGlzIGFsbG93ZWQuDQoNClRoZSByZXF1aXJlbWVu dCB0aGF0IElFRUVfT1ZFUkZMT1cgYW5kIElFRUVfRElWSURFX0JZX1pFUk8gYmUNCnN1cHBvcnRl ZCBmb3IgYWxsIGtpbmRzIG9mIHJlYWwgYW5kIGNvbXBsZXggZGF0YSB3aXRoaW4gdGhhdA0Kc2Nv cGluZyB1bml0IHdhcyBpbnRlbnRpb25hbC4NCg0KU3VwcG9ydCBvZiB0aGVzZSB0d28gZmxhZ3Mg bWVhbnMgdGhhdCB0aGUgZXhjZXB0aW9ucyBjYW4gYmUgZGV0ZWN0ZWQsDQplaXRoZXIgYnkgYSBz dWJzZXF1ZW50IHVzZSBvZiBJRUVFX0dFVF9GTEFHIG9yIGJ5IHByb2dyYW0gdGVybWluYXRpb24N Cih0aGlzIGlzIG5vdCB1bmRlciBwcm9ncmFtIGNvbnRyb2wgdW5sZXNzIElFRUVfU1VQUE9SVF9I QUxUSU5HIGlzIHRydWUNCmZvciB0aG9zZSBmbGFncykuDQoNCldoZXRoZXIgdGhlIGZsYWdzIGFy ZSBzdXBwb3J0ZWQgb3V0c2lkZSBvZiBhIHJvdXRpbmUgd2hpY2ggdXNlcw0KSUVFRV9FWENFUFRJ T05TIG9yIElFRUVfQVJJVEhNRVRJQyBpcyBwcm9jZXNzb3IgZGVwZW5kZW50Lg0KDQpFRElUUzoN Cg0KTm9uZS4NCg0KU1VCTUlUVEVEIEJZOiBSaWNoYXJkIE1haW5lDQoNCkhJU1RPUlk6IDA0LTQx OSAgICBtMTcwICBGMDMvMDAyMiBTdWJtaXR0ZWQNCiAgICAgICAgIDA0LTQxOXIxICBtMTcwICBQ YXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIEZhaWxlZCBKMyBs ZXR0ZXIgYmFsbG90ICMxMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMjMNClRJ VExFOiBJRUVFX1NFVC9HRVRfVU5ERVJGTE9XX01PREUNCktFWVdPUkRTOiBJRUVFLCB1bmRlcmZs b3cgbW9kZQ0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRl ciBiYWxsb3QNCg0KUVVFU1RJT046DQoNCklzIGl0IGFsbG93ZWQgZm9yIHRoZSBhcmd1bWVudCBv ZiBJRUVFX1NFVF9VTkRFUkZMT1dfTU9ERSBvcg0KSUVFRV9HRVRfVU5ERVJGTE9XX01PREUgdG8g YmUgYW4gYXJyYXk/DQoNClRoZXJlIGFwcGVhcnMgdG8gYmUgbm8gcmVzdHJpY3Rpb24gYWdhaW5z dCBhcnJheXMgaW4gdGhlc2UNCnByb2NlZHVyZXMuICBGb3IgSUVFRV9TRVRfVU5ERVJGTE9XX01P REUsIGl0IGlzIGlsbC1kZWZpbmVkDQp3aGF0IGFuIGFycmF5IHdvdWxkIG1lYW4uICBUaGUgd29y ZGluZyBpbXBsaWVzIGEgc2NhbGFyLCBpbg0KdGhhdCBpdCB0YWxrcyBhYm91dCBiZWluZyB0cnVl IG9yIGZhbHNlLCBidXQgdGhlIHJlc3RyaWN0aW9uDQp0byBzY2FsYXJzIGlzIG5vdCBleHBsaWNp dC4gRm9yIElFRUVfR0VUX1VOREVSRkxPV19NT0RFLCBpdA0KY291bGQgYmUgZGVmaW5lZCwgYnV0 IHNlZW1zIGEgbGl0dGxlIHNpbGx5IGFuZCBub25wYXJhbGxlbC4NCg0KVGhlIHNpbWlsYXIgcHJv Y2VkdXJlcyBmb3Igcm91bmRpbmcgbW9kZSBkbyBleHBsaWNpdGx5DQpzcGVjaWZ5IHRoYXQgdGhl aXIgYXJndW1lbnRzIGFyZSBzY2FsYXIuDQoNCkFOU1dFUjoNCg0KTm8sIGFycmF5cyBhcmUgbm90 IGFsbG93ZWQgZm9yIHRoZXNlIGFyZ3VtZW50cy4gIEVkaXRzIGFyZSBwcm92aWRlZA0KdG8gY29y cmVjdCB0aGlzIGVycm9yLg0KDQpFRElUUzoNCg0KWzM3NDoyMV0gQWRkICJzY2FsYXIgYW5kIiBh ZnRlciAic2hhbGwgYmUiDQpbMzgwOjEzXSBBZGQgInNjYWxhciBhbmQiIGFmdGVyICJzaGFsbCBi ZSINCg0KU1VCTUlUVEVEIEJZOiBSaWNoYXJkIE1haW5lDQoNCkhJU1RPUlk6IDA0LTQyMCAgbTE3 MCAgRjAzLzAwMjMgU3VibWl0dGVkIC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA1 LTE0NiAgbTE3MSAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzEwDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KTlVNQkVSOiAgRjAzLzAwMjQNClRJVExFOiBERUFMTE9DQVRFIGFuZCBhcnJheSBwb2ludGVy cw0KS0VZV09SRFM6IERFQUxMT0NBVEUsIGFycmF5IHBvaW50ZXJzDQpERUZFQ1QgVFlQRTogIElu dGVycHJldGF0aW9uDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVF U1RJT046DQoNCldlIGN1cnJlbnRseSBzYXkgdGhhdCBvbmUgY2FuIGRlYWxsb2NhdGUgYW4gYXJy YXkgcG9pbnRlciBpZiBpdA0KcG9pbnRzIHRvIHRoZSAid2hvbGUgb2YgYW4gb2JqZWN0IHRoYXQg d2FzIGNyZWF0ZWQgYnkgYWxsb2NhdGlvbiIuDQpXaGF0IGV4YWN0bHkgZG9lcyAid2hvbGUiIG1l YW4gaW4gdGhpcyBydWxlPw0KDQpTcGVjaWZpY2FsbHksIGlzIHRoZSBmb2xsb3dpbmcgYWxsb3dl ZDoNCg0KUkVBTCwgRElNRU5TSU9OKDopLCBQT0lOVEVSIDo6IGEsIGINCkFMTE9DQVRFKGEoMTox MCkpDQpiPT5hKDE6MTApDQpERUFMTE9DQVRFKGIpDQoNCkFOU1dFUjoNCg0KWWVzLCB0aGlzIGlz IGFsbG93ZWQsIHNpbmNlICJ3aG9sZSIgbWVhbnMgdGhhdCBiIGlzDQpBU1NPQ0lBVEVEIHdpdGgg YWxsIGVsZW1lbnRzIG9mIGFuIGFycmF5IHRoYXQgd2FzIEFMTE9DQVRFZC4NCkluIHRoZSBnaXZl biBleGFtcGxlLCBBU1NPQ0lBVEVEKGEsYikgaXMgLlRSVUUuLCB0aGVyZWZvcmUgZWl0aGVyDQph IG9yIGIgY2FuIGJlIHVzZWQgdG8gREVBTExPQ0FURSB0aGUgbWVtb3J5Lg0KDQpFRElUUzogIE5v bmUNCg0KU1VCTUlUVEVEIEJZOiBBbGVrc2FuZGFyIERvbmV2DQoNCkhJU1RPUlk6IDA0LTM3OCAg ICBtMTcwICBGMDMvMDAyNCBTdWJtaXR0ZWQNCiAgICAgICAgIDA0LTM3OHIxICBtMTcwICBQYXNz ZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIEZhaWxlZCBKMyBsZXR0 ZXIgYmFsbG90ICMxMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMjUNClRJVExF OiBBYnN0cmFjdCB0eXBlcyBpbiBDTEFTUyBJUyB0eXBlIGd1YXJkIHN0YXRlbWVudHMNCktFWVdP UkRTOiBBQlNUUkFDVCwgQ0xBU1MgSVMsIHR5cGUgZ3VhcmQsIFNFTEVDVCBUWVBFDQpERUZFQ1Qg VFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVT VElPTjoNCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQogICAgICBQUk9HUkFN IGZvbw0KDQogICAgICAgIFRZUEUsIEFCU1RSQUNUIDo6IGJhc2UNCiAgICAgICAgICBJTlRFR0VS IGkNCiAgICAgICAgRU5EIFRZUEUNCiAgICAgICAgVFlQRSwgRVhURU5EUyhiYXNlKSA6OiBjaGls ZA0KICAgICAgICAgIElOVEVHRVIgag0KICAgICAgICBFTkQgVFlQRQ0KICAgICAgICBDTEFTUygq KSwgUE9JTlRFUiA6OiB4DQogICAgICAgIFRZUEUoY2hpbGQpLCBUQVJHRVQgOjogYzENCg0KICAg ICAgICB4ID0+IGMxDQogICAgICAgIFNFTEVDVCBUWVBFICh4KQ0KICAgICAgICAgIENMQVNTIElT IChiYXNlKQ0KICAgICAgICAgICAgUFJJTlQgKiwgJ0NsYXNzIGlzIGJhc2UnDQogICAgICAgICAg Q0xBU1MgREVGQVVMVA0KICAgICAgICAgICAgUFJJTlQgKiwgJ0NsYXNzIGlzIG5vdCBiYXNlJw0K ICAgICAgICBFTkQgU0VMRUNUDQoNCiAgICAgIEVORA0KDQpDb25zdHJhaW50IEM0MDEgc2VlbXMg dG8gcHJvaGliaXQgdGhlIGFic3RyYWN0IHR5cGUgImJhc2UiIGZyb20NCmFwcGVhcmluZyBpbiBh IENMQVNTIElTIHR5cGUgZ3VhcmQgc3RhdGVtZW50LCB0aHVzIHByb2hpYml0aW5nIHRoaXMNCnBy b2dyYW0uICBUaGVyZSBzZWVtcyB0byBiZSBubyByZWFzb24gdG8gcHJvaGliaXQgdGhpcywgYW5k IGFsbG93aW5nDQppdCBzZWVtcyB0byBiZSB1c2VmdWwgaW4gc29tZSBzaXR1YXRpb25zLg0KDQpX YXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1pbmc/DQoNCkFO U1dFUjoNCg0KWWVzLCB0aGlzIHByb2dyYW0gd2FzIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNv bmZvcm1pbmcuICBFZGl0cyBhcmUNCnByb3ZpZGVkIHRvIGNvcnJlY3QgdGhpcyBvdmVyc2lnaHQu DQoNCkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KWzE2MjoxN10gQ2hhbmdl ICI8dHlwZS1zcGVjPiIgdG8gIjxkZXJpdmVkLXR5cGUtc3BlYz4iLg0KWzE2MjoxOV0gQWZ0ZXIg Ijx0eXBlLXNwZWM+IiwgaW5zZXJ0ICJvciA8ZGVyaXZlZC10eXBlLXNwZWM+Ii4NClsxNjI6MjBd IEFmdGVyICI8dHlwZS1zcGVjPiIsIGluc2VydCAib3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuDQpb MTYyOjIxXSBBZnRlciAiPHR5cGUtc3BlYz4iLCBpbnNlcnQgIm9yIDxkZXJpdmVkLXR5cGUtc3Bl Yz4iLg0KDQpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNC00MTEgICAgbTE3 MCAgRjAzLzAwMjUgU3VibWl0dGVkDQogICAgICAgICAwNC00MTFyMSAgbTE3MCAgUGFzc2VkIGJ5 IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJh bGxvdCAjMTANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDI2DQpUSVRMRTogSW50 cmluc2ljIHR5cGVzIGluIENMQVNTIElTIHR5cGUgZ3VhcmQgc3RhdGVtZW50cw0KS0VZV09SRFM6 IENMQVNTIElTLCB0eXBlIGd1YXJkLCBTRUxFQ1QgVFlQRSwgaW50cmluc2ljIHR5cGUNCkRFRkVD VCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFV RVNUSU9OOg0KDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW06DQoNCiAgICAgIFBST0dS QU0gZm9vDQoNCiAgICAgICAgQ0xBU1MoKiksIFBPSU5URVIgOjogeA0KICAgICAgICBJTlRFR0VS LCBUQVJHRVQgOjogaQ0KDQogICAgICAgIHggPT4gaQ0KICAgICAgICBTRUxFQ1QgVFlQRSAoeCkN CiAgICAgICAgICBDTEFTUyBJUyAoSU5URUdFUikNCiAgICAgICAgICAgIFBSSU5UICosICdIb3cg Y2FuIElOVEVHRVIgYmUgYSBjbGFzcz8nDQogICAgICAgIEVORCBTRUxFQ1QNCg0KICAgICAgRU5E DQoNClRoZSBkZXNjcmlwdGlvbiBvZiBhIENMQVNTIElTIHR5cGUgZ3VhcmQgc3RhdGVtZW50IHJl ZmVycyB0byBhbg0KZXh0ZW5zaW9uIG9mIHRoZSB0eXBlIHNwZWNpZmllZC4gIFRoaXMgbWFrZXMg bm8gc2Vuc2UgZm9yDQpub25leHRlbnNpYmxlIHR5cGVzLiAgQzgxNSBkaXNhbGxvd3MgYWxsIG5v bmV4dGVuc2libGUgZGVyaXZlZCB0eXBlcywNCmJ1dCBub3RoaW5nIGRpc2FsbG93cyBpbnRyaW5z aWMgdHlwZXMsIHdoaWNoIGFyZSBhbHNvIG5vbmV4dGVuc2libGUuDQoNCldhcyB0aGlzIHByb2dy YW0gaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZz8NCg0KQU5TV0VSOg0KDQpObywg dGhpcyBwcm9ncmFtIHdhcyBub3QgaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZy4g IEVkaXRzDQphcmUgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRURJVFM6 DQoNCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcuICBOb3RlIHRoYXQgdGhlc2UgZWRpdHMgYXJl IHRoZSBzYW1lIGFzIHRoZQ0KZWRpdHMgcHJvcG9zZWQgZm9yIEYwMy8wMDI1Lg0KDQpbMTYyOjE3 XSBDaGFuZ2UgIjx0eXBlLXNwZWM+IiB0byAiPGRlcml2ZWQtdHlwZS1zcGVjPiIuDQpbMTYyOjE5 XSBBZnRlciAiPHR5cGUtc3BlYz4iLCBpbnNlcnQgIm9yIDxkZXJpdmVkLXR5cGUtc3BlYz4iLg0K WzE2MjoyMF0gQWZ0ZXIgIjx0eXBlLXNwZWM+IiwgaW5zZXJ0ICJvciA8ZGVyaXZlZC10eXBlLXNw ZWM+Ii4NClsxNjI6MjFdIEFmdGVyICI8dHlwZS1zcGVjPiIsIGluc2VydCAib3IgPGRlcml2ZWQt dHlwZS1zcGVjPiIuDQoNClNVQk1JVFRFRCBCWTogUm9iIEphbWVzDQoNCkhJU1RPUlk6IDA0LTQx MiAgICBtMTcwICBGMDMvMDAyNiBTdWJtaXR0ZWQNCiAgICAgICAgIDA0LTQxMnIxICBtMTcwICBQ YXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBs ZXR0ZXIgYmFsbG90ICMxMA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMjcNClRJ VExFOiBBc3N1bWVkIGNoYXJhY3RlciBsZW5ndGggaW4gdHlwZSBndWFyZCBzdGF0ZW1lbnRzDQpL RVlXT1JEUzogQ0hBUkFDVEVSLCBhc3N1bWVkIGxlbmd0aCwgdHlwZSBndWFyZCwgU0VMRUNUIFRZ UEUNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFs bG90DQoNClFVRVNUSU9OOg0KDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW06DQoNCiAg ICAgIFBST0dSQU0gZm9vDQogICAgICAgIENIQVJBQ1RFUiwgVEFSR0VUIDo6IGMNCiAgICAgICAg Q0xBU1MoKiksIFBPSU5URVIgOjogcA0KDQogICAgICAgIHAgPT4gYw0KICAgICAgICBTRUxFQ1Qg VFlQRSAocCkNCiAgICAgICAgICBUWVBFIElTIChDSEFSQUNURVIoKikpDQogICAgICAgICAgICBQ UklOVCAqLCAnQ2hhcmFjdGVyIG9mIGxlbmd0aCAnLCBMRU4ocCkNCiAgICAgICAgRU5EIFNFTEVD VA0KICAgICAgRU5EDQoNCkNvbnN0cmFpbnQgQzgxNCBzYXlzIHRoYXQsIGluIGEgdHlwZSBndWFy ZCBzdGF0ZW1lbnQsIHRoZSA8dHlwZS1zcGVjPg0Kc2hhbGwgc3BlY2lmeSB0aGF0IGVhY2ggbGVu Z3RoIHR5cGUgcGFyYW1ldGVyIGlzIGFzc3VtZWQuDQoNCkNvbnN0cmFpbnQgQzQxNiBkb2VzIG5v dCBsaXN0IGEgdHlwZSBndWFyZCBzdGF0ZW1lbnQgYXMgYSBjb250ZXh0IGluDQp3aGljaCAiKiIg Y2FuIGJlIHVzZWQgYXMgYSBsZW5ndGggdHlwZSBwYXJhbWV0ZXIgZm9yIGEgY2hhcmFjdGVyLg0K DQpXYXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1pbmc/DQoN Cg0KQU5TV0VSOg0KDQpZZXMsIHRoaXMgcHJvZ3JhbSB3YXMgaW50ZW5kZWQgdG8gYmUgc3RhbmRh cmQtY29uZm9ybWluZy4gIEVkaXRzIGFyZQ0Kc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJz aWdodC4NCg0KDQpFRElUUzoNCg0KQWxsIGVkaXRzIHJlZmVyIHRvIDA0LTAwNy4NCg0KWzQxOjld ICAgUmVtb3ZlICJvciIuDQpbNDE6OStdICBBZGQgYSBuZXcgbGlzdCBpdGVtOg0KICAgICAgICAg IigzLjUpIGluIHRoZSA8dHlwZS1zcGVjPiBvZiBhIHR5cGUgZ3VhcmQgc3RhdGVtZW50ICg4LjEu NSksDQogICAgICAgICBvciINCls0MTozMytdIEFkZCBhIG5ldyBsaXN0IGl0ZW06DQogICAgICAg ICAiKDMuNSkgSWYgdXNlZCBpbiB0aGUgPHR5cGUtc3BlYz4gb2YgYSB0eXBlIGd1YXJkIHN0YXRl bWVudCwNCiAgICAgICAgIHRoZSBhc3NvY2lhdGluZyBlbnRpdHkgYXNzdW1lcyBpdHMgbGVuZ3Ro IGZyb20gdGhlIHNlbGVjdG9yLiINCg0KDQpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNU T1JZOiAwNC00MTMgICAgbTE3MCAgRjAzLzAwMjcgU3VibWl0dGVkDQogICAgICAgICAwNC00MTNy MSAgbTE3MCAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgICBtMTcxICBQ YXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYw My8wMDI4DQpUSVRMRTogQ29tbWFzIGluIGNvbXBsZXggbmFtZWxpc3Qgb3V0cHV0DQpLRVlXT1JE UzogTmFtZWxpc3QsIGNvbXBsZXggZm9ybWF0dGluZywgY29tbWEsIHNlbWljb2xvbg0KREVGRUNU IFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVF U1RJT046DQoNClRoZSA3dGggcGFyYWdyYXBoIGluIDEwLjkuMiBmb3IgbGlzdCBkaXJlY3RlZCBv dXRwdXQgc2F5czoNCg0KIkNvbXBsZXggY29uc3RhbnRzIGFyZSBlbmNsb3NlZCBpbiBwYXJlbnRo ZXNlcyB3aXRoIGENCnNlcGFyYXRvciBiZXR3ZWVuIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFy dHMsIGVhY2gNCnByb2R1Y2VkIGFzIGRlZmluZWQgYWJvdmUgZm9yIHJlYWwgY29uc3RhbnRzLiBU aGUgc2VwYXJhdG9yDQppcyBhIGNvbW1hIGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZSBpcyBQT0lO VDsgaXQgaXMgYQ0Kc2VtaWNvbG9uIGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZSBpcyBDT01NQS4i DQoNClRoZXJlIGFyZSBzaW1pbGFyIHdvcmRzIGluIG1vc3Qgb3RoZXIgcGxhY2VzIHdoZXJlIGNv bXBsZXgNCmZvcm1hdHRpbmcgaXMgZGVzY3JpYmVkLg0KDQpUaGUgc2Vjb25kIHBhcmFncmFwaCBv ZiAxMC4xMC4xLjMgTmFtZWxpc3QgZ3JvdXAgb2JqZWN0IGxpc3QNCml0ZW1zIHNheXM6DQoNCiJX aGVuIHRoZSBuZXh0IGVmZmVjdGl2ZSBpdGVtIGlzIG9mIHR5cGUgY29tcGxleCwgdGhlIGlucHV0 DQpmb3JtIG9mIHRoZSBpbnB1dCB2YWx1ZSBjb25zaXN0cyBvZiBhIGxlZnQgcGFyZW50aGVzaXMN CmZvbGxvd2VkIGJ5IGFuIG9yZGVyZWQgcGFpciBvZiBudW1lcmljIGlucHV0IGZpZWxkcw0Kc2Vw YXJhdGVkIGJ5IGEgY29tbWEgYW5kIGZvbGxvd2VkIGJ5IGEgcmlnaHQgcGFyZW50aGVzaXMuICIN Cg0KT3RoZXIgcGxhY2VzIGNvcnJlY3RseSBkZXNjcmliZSBuYW1lbGlzdCBjb21wbGV4IG91dHB1 dCBhcw0KaGF2aW5nIGEgc2VwYXJhdG9yLCBlaXRoZXIgYSBjb21tYSBvciBhIHNlbWljb2xvbiwg ZGVwZW5kaW5nDQpvbiB0aGUgZGVjaW1hbCBlZGl0IG1vZGUuDQoNClNob3VsZCB0aGUgbmFtZWxp c3QgdmVyc2lvbiBiZSByZXdvcmRlZCB0byBzYXkgImNvbW1hIG9yDQpzZW1pY29sb24iPw0KDQpB TlNXRVI6DQoNClllcy4gIEVkaXRzIGFyZSBzdXBwbGllZCB0byBjb3JyZWN0IHRoaXMgb3ZlcnNp Z2h0Lg0KSW4gYWRkaXRpb24sIGEgc2ltaWxhciBpc3N1ZSBleGlzdHMgZm9yIGxpc3QgZGlyZWN0 ZWQgaW5wdXQgb2YNCnVuZGVsaW1pdGVkIGNoYXJhY3RlciB2YWx1ZXMgYW5kIG5hbWVsaXN0IG91 dHB1dCBvZiBjaGFyYWN0ZXINCnZhbHVlcy4NCg0KRURJVFM6DQoNCkFsbCBlZGl0cyByZWZlciB0 byAwNC0wMDcuDQoNClsyNDA6MTNdIFJlcGxhY2UgImNvbW1hIiB3aXRoICJjb21tYSAoaWYgdGhl IGRlY2ltYWwgZWRpdCBtb2RlIGlzDQogICAgICAgICBQT0lOVCksIHNlbWljb2xvbiAoaWYgdGhl IGRlY2ltYWwgZWRpdCBtb2RlIGlzIENPTU1BKSINCg0KWzI0NDoyOV0gUmVwbGFjZSAiY29tbWEi IHdpdGggInNlcGFyYXRvciIuDQpbMjQ0OjMwXSBCZWZvcmUgIlRoZSBmaXJzdCIsIGFkZCB0aGUg Zm9sbG93aW5nIHNlbnRlbmNlOg0KICAgICAgICAgICBUaGUgc2VwYXJhdG9yIGlzIGEgY29tbWEg aWYgdGhlIGRlY2ltYWwgZWRpdCBtb2RlIGlzDQogICAgICAgICAgIFBPSU5UOyBpdCBpcyBhIHNl bWljb2xvbiBpZiB0aGUgZGVjaW1hbCBlZGl0IG1vZGUgaXMNCiAgICAgICAgICAgQ09NTUEuDQpb MjQ0OjMyXSBSZXBsYWNlICJjb21tYSIgd2l0aCAic2VwYXJhdG9yIi4NClsyNDQ6MzNdIFJlcGxh Y2UgImNvbW1hIiB3aXRoICJzZXBhcmF0b3IiLg0KDQpbMjQ1OjRdIGFmdGVyICJjb21tYSwiIGlu c2VydCAiIHNlbWljb2xvbiwiDQoNClNVQk1JVFRFRCBCWTogRGljayBIZW5kcmlja3Nvbg0KDQpI SVNUT1JZOiAwNC00MDkgICAgbTE3MCAgRjAzLzAwMjggU3VibWl0dGVkDQogICAgICAgICAwNC00 MDlyMSAgbTE3MCAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgICBtMTcx ICBGYWlsZWQgaW50ZXJwIGxldHRlciBiYWxsb3QgIzEwDQogICAgICAgICAwNS0xNjQgICAgbTE3 MSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE3MCAgICBtMTcyICBGYWlsZWQg SjMgbGV0dGVyIGJhbGxvdCAjMTENCiAgICAgICAgIDA1LTI1NyAgICBtMTczICBQYXNzZWQgYnkg SjMgbWVldGluZw0KICAgICAgICAgMDYtMTMzICAgIG0xNzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIg YmFsbG90DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDAyOQ0KVElUTEU6IE5lZ2F0 aXZlIHplcm8gYW5kIGludHJpbnNpYyBmdW5jdGlvbnMNCktFWVdPUkRTOiBOZWdhdGl2ZSB6ZXJv LCBJRUVFLCBpbnRyaW5zaWMgZnVuY3Rpb25zDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVT OiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KNC40LjIgc3RhdGVz DQogICJQcm9jZXNzb3JzIHRoYXQgZGlzdGluZ3Vpc2ggYmV0d2VlbiBwb3NpdGl2ZSBhbmQgbmVn YXRpdmUgemVyb3MNCiAgIHNoYWxsIHRyZWF0IHRoZW0gYXMgZXF1aXZhbGVudCAuLi4gYXMgYWN0 dWFsIGFyZ3VtZW50cyB0byBpbnRyaW5zaWMNCiAgIHByb2NlZHVyZXMgb3RoZXIgdGhhbiB0aG9z ZSBmb3Igd2hpY2ggaXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQNCiAgIHRoYXQgbmVnYXRpdmUg emVybyBpcyBkaXN0aW5ndWlzaGVkIg0KDQpRMS4gRG9lcyB0aGlzIG1lYW4gdGhhdCBUUkFOU0ZF UigtMC4wLDQyKSBpcyByZXF1aXJlZCB0byBnaXZlIHRoZSBzYW1lDQogICAgYW5zd2VyIGFzIFRS QU5TRkVSKCswLjAsNDIpPyAgVGhlIGRlZmluaXRpb24gb2YgVFJBTlNGRVIgaGFzIG5vDQogICAg ZXhwbGljaXQgbWVudGlvbiBvZiBuZWdhdGl2ZSB6ZXJvLg0KDQpRMi4gRG9lcyB0aGlzIG1lYW4g dGhhdCBNRVJHRSgrMC4wLC0wLjAsZmxhZykgYWx3YXlzIHJldHVybnMgKzAuMD8NCg0KUTMuIERv ZXMgdGhpcyBtZWFuIHRoYXQgU1BSRUFEKC0wLjAsMikgaGFzIHRoZSB2YWx1ZSBbKzAuMCwrMC4w XQ0KICAgIGluc3RlYWQgb2YgWy0wLjAsLTAuMF0/DQoNClE0LiBEb2VzIHRoaXMgbWVhbiB0aGF0 IFJFU0hBUEUoWy0wLjBdLFsxXSkgaGFzIHRoZSB2YWx1ZSBbKzAuMF0NCiAgICBpbnN0ZWFkIG9m IFstMC4wXT8NCg0KUTUuIERvZXMgdGhpcyBtZWFuIHRoYXQgU0VUX0VYUE9ORU5UKC0wLjAsMTAp IGlzICswLjAgbm90IC0wLjA/DQoNClE2LiBEb2VzIHRoaXMgbWVhbiB0aGF0IGlmIGEgUkVBTCB2 YXJpYWJsZSBYIGhhcyBhIG5lZ2F0aXZlIHplcm8NCiAgICB2YWx1ZSwgUkVBTCh4LC4uLikgaGFz IGEgcG9zaXRpdmUgemVybyB2YWx1ZT8NCg0KUTcuIERvZXMgdGhpcyBtZWFuIHRoYXQgQ01QTFgo MCwtMC4wKSBoYXMgdGhlIHZhbHVlICgrMC4wLCswLjApDQogICAgaW5zdGVhZCBvZiAoKzAuMCwt MC4wKT8NCg0KUTguIERvZXMgdGhpcyBtZWFuIHRoYXQgaWYgYSBjb21wbGV4IHZhcmlhYmxlIEMg aGFzIGEgbmVnYXRpdmUgemVybw0KICAgIGltYWdpbmFyeSBwYXJ0LCB0aGF0IEFJTUFHKEMpIHJl dHVybnMgKzAuMCBpbnN0ZWFkIG9mIC0wLjA/DQoNClE5LiBJbiBhbnkgb3RoZXIgaW50cmluc2lj IGZ1bmN0aW9uLCBpZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUNCiAgICBpbnRyaW5zaWMgd291bGQg aW1wbHkgYSBkaWZmZXJlbnQgcmVzdWx0IGZvciBuZWdhdGl2ZSB6ZXJvIHRoYW4NCiAgICBmb3Ig cG9zaXRpdmUgemVybywgZG9lcyB0aGlzIG1lYW4gdGhhdCB0aGUgZnVuY3Rpb24gcmV0dXJucyB0 aGUNCiAgICBwb3NpdGl2ZSB6ZXJvIGFuc3dlciBmb3IgYSBuZWdhdGl2ZSB6ZXJvIGFyZ3VtZW50 Pw0KDQpBTlNXRVI6DQoNClExLiAgTm8uICBUaGUgZGVmaW5pdGlvbiBvZiBUUkFOU0ZFUiBleHBs aWNpdGx5IHN0YXRlcyB0aGF0IGl0cyByZXN1bHQNCiAgICAgaGFzIHRoZSBzYW1lIHBoeXNpY2Fs IHJlcHJlc2VudGF0aW9uIGFzIGl0cyBmaXJzdCBhcmd1bWVudC4gIFRoaXMNCiAgICAgd291bGQg bm90IGJlIHBvc3NpYmxlIGlmICJlcXVpdmFsZW50IiBtZWFudCB0aGF0IHRoZSBleGFjdCBzYW1l DQogICAgIHJlc3VsdCBoYWQgdG8gYmUgcHJvZHVjZWQuDQoNClEyLiAgTm8sIHRoaXMgd291bGQg Y29udHJhZGljdCB0aGUgZGVmaW5pdGlvbiBvZiBNRVJHRS4NCg0KUTMuICBOby4gIFNQUkVBRCAi cmVwbGljYXRlcyIgaXRzIGFyZ3VtZW50LCB3aGljaCBtZWFucyB0aGF0IHRoZSB2YWx1ZQ0KICAg ICBvZiBlYWNoIGNvcHkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsLCBub3QganVzdCBjb21w YXJlIGVxdWFsLg0KICAgICBBcyB3aXRoIFRSQU5TRkVSLCB0aGlzIHdvdWxkIG5vdCBiZSBwb3Nz aWJsZSB3aXRoIHRoZSBzdWdnZXN0ZWQNCiAgICAgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHRleHQg aW4gNC40LjIuDQoNClE0Ky4gIE5vLiAgQXMgd2l0aCB0aGUgcHJldmlvdXMgcXVlc3Rpb25zLCB0 aGlzIHdvdWxkIHJlcXVpcmUgYW4NCiAgICAgIG92ZXJseSBzdHJpY3QgaW50ZXJwcmV0YXRpb24g b2YgdGhlIHRlcm0gImVxdWl2YWxlbnQiLA0KICAgICAgY29udHJhZGljdGluZyB0aGUgY2xlYXIg aW50ZW50IG9mIHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbi4NCg0KRElTQ1VTU0lPTjoNCg0KVGhl IHRlcm0gImVxdWl2YWxlbnQiIGluIHRoZSBxdW90ZWQgdGV4dCBpbiA0LjQuMiByZWZlcnMgdG8g dGhlDQpjb25jZXB0IG9mIG1hdGhlbWF0aWNhbCBlcXVpdmFsZW5jZSwgbm90IHBoeXNpY2FsIG9y IGNvbXB1dGF0aW9uYWwNCmVxdWl2YWxlbmNlLiAgQSBjbGFyaWZ5aW5nIGVkaXQgaXMgc3VwcGxp ZWQuDQoNCkVESVRTOg0KDQpbMzg6Ml0gQmVmb3JlICJlcXVpdmFsZW50IiBpbnNlcnQgIm1hdGhl bWF0aWNhbGx5Ii4NCg0KU1VCTUlUVEVEIEJZOiBNYWxjb2xtIENvaGVuDQoNCkhJU1RPUlk6IDA0 LTQyMiAgbTE3MCAgRjAzLzAwMjkgU3VibWl0dGVkIC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAg ICAgICAgIDA1LTE0NiAgbTE3MSAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzEwDQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KTlVNQkVSOiAgRjAzLzAwMzANClRJVExFOiAgSUVFRSBkaXZpZGUgYnkgemVy bw0KS0VZV09SRFM6IElFRUUtNzU0LCBkaXZpZGUtYnktemVybw0KREVGRUNUIFRZUEU6IEVycmF0 dW0NClNUQVRVUzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0KDQpRVUVTVElPTjoNCg0K SXMgaW5maW5pdHkgLyAwLjAgYSBkaXZpZGUgYnkgemVybyBleGNlcHRpb24/DQpJcyBOYU4gLyAw LjAgYSBkaXZpZGUgYnkgemVybyBleGNlcHRpb24/DQoNCkZvcnRyYW4gMjAwMyBkZWZpbmVzIChp biAxNC4yKSBpbmZpbml0eSAvIHplcm8gYW5kIE5hTiAvIHplcm8NCmNhc2VzIGFzIElFRUVfRElW SURFX0JZX1pFUk8uICBJRUVFLTc1NCBkZWZpbmVzIChpbiA2LjEgYW5kIDYuMikNCnRob3NlIHR3 byBhcyB1bmV4Y2VwdGlvbmFsLg0KDQpBTlNXRVI6DQoNCk9uIGFuIElFRUUtY29uZm9ybWFudCBw cm9jZXNzb3IsIHRoZXNlIGNhc2VzIGRvIG5vdCByYWlzZSBleGNlcHRpb25zDQooc2VlIGNsYXVz ZXMgNi4xIGFuZCA2LjIgb2YgSUVFRS03NTQpLg0KDQpUaGUgZGVmaW5pdGlvbnMgaW4gMTQuMiB3 ZXJlIGludGVuZGVkIHRvIGRlc2NyaWJlIElFRUUgZXhjZXB0aW9ucyB3aXRoDQpzdWZmaWNpZW50 IGxhdGl0dWRlIHRvIGFsbG93IHVzZSBvbiBuZWFyLUlFRUUgYW5kIG5vbi1JRUVFIG1hY2hpbmVz Lg0KSG93ZXZlciwgdGhlIGRlZmluaXRpb24gb2YgSUVFRV9ESVZJREVfQllfWkVSTyBpcyBub3Qg Y29uc2lzdGVudCB3aXRoDQp0aGUgSUVFRSBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkLg0KDQpGdXJ0 aGVybW9yZSwgdGhlIGRlZmluaXRpb24gb2YgdGhlIElFRUVfT1ZFUkZMT1cgZmxhZyBpcyBhbHNv IG5vdA0KY29uc2lzdGVudCB3aXRoIHRoZSBJRUVFIHN0YW5kYXJkLCBiZWNhdXNlIHRoaXMgZXhj ZXB0aW9uIGlzIG5vdA0KcmFpc2VkIGZvciBvcGVyYXRpb25zIG9uIGluZmluaXRlIG9wZXJhbmRz Lg0KDQpFZGl0cyBhcmUgcHJvdmlkZWQgdG8gZml4IHRoZXNlIGluY29uc2lzdGVuY2llcy4NCg0K RURJVFM6DQoNClBhZ2UgYW5kIGxpbmUgbnVtYmVycyByZWZlciB0byAwNC0wMDcuDQoNClszNjU6 MTMtMTVdIENsYXVzZSAxNC4yLCBsaW5lcyAzIGFuZCA1LiBBZnRlciAiYXNzaWdubWVudCIgYWRk DQoid2l0aCBmaW5pdGUgb3BlcmFuZHMiLCB0d2ljZS4NCg0KWzM2NToxOF0gQ2xhdXNlIDE0LjIs IGxpbmUgOC4gIENoYW5nZSAibm9uemVybyBudW1lcmF0b3IiIHRvDQoiZmluaXRlIG5vbnplcm8g bnVtZXJhdG9yIi4NCg0KU1VCTUlUVEVEIEJZOiBGcmVkIFR5ZGVtYW4NCg0KSElTVE9SWTogMDUt MTA5ICAgIG0xNzEgIEYwMy8wMDMwIFN1Ym1pdHRlZA0KICAgICAgICAgMDUtMTA5cjEgIG0xNzEg IFJldmlzZWQgdG8gaW5jbHVkZSBJRUVFX09WRVJGTE9XLA0KICAgICAgICAgICAgICAgICAgICAg ICAgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNzAgICAgbTE3MiAgUGFzc2Vk IEozIGxldHRlciBiYWxsb3QgIzExDQogICAgICAgICBOMTYyMiAgICAgbTE3MiAgRmFpbGVkIFdH NSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6ICBGMDMvMDAzNA0KVElU TEU6ICBJRUVFX0xPR0IoKQ0KS0VZV09SRFM6IElFRUUtNzU0LCBsb2diKCkNCkRFRkVDVCBUWVBF OiBFcnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJ T046DQoNCldoYXQgaXMgbG9nYihkZW5vcm1hbCk/ICBJcyBpdCBvZiB0aGUgaGFyZHdhcmUgcmVw cmVzZW50YXRpb24sDQpvciBpcyBpdCBhcyBpZiB0aGUgaGFyZHdhcmUgaGFkIGFuIHVuYm91bmRl ZCBleHBvbmVudCByYW5nZT8NCg0KV2hhdCBpcyBsb2diKE5hTik/ICBsb2diKC1JTkYpPyAgbG9n YigrSU5GKT8NCg0KbG9nYigpIHNob3VsZCBiZSBkZWZpbmVkIGFzIGlmIHRoZSBoYXJkd2FyZSBy ZXByZXNlbnRhdGlvbiBoYWQNCmFuIHVuYm91bmRlZCBleHBvbmVudCByYW5nZS4NCg0KbG9nYihO YU4pIHNob3VsZCBiZSB0aGUgc2FtZSBOYU47IHNoYWxsIGJlIGEgTmFOLg0KDQpsb2diKC1JTkYp IHNoYWxsIGJlICtJTkYNCg0KbG9nYigrSU5GKSBzaGFsbCBiZSArSU5GDQoNCkFOU1dFUjoNCg0K VGhlIGZpcnN0IHBhcmFncmFwaCBvZiAxNC44IHN0YXRlcyAiQ29tcGxldGUgY29uZm9ybWFuY2Ug d2l0aCB0aGUNCklFRUUgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCBpcyBub3QgcmVxdWlyZWQsIGJ1 dCAuLi4gdGhlIGZ1bmN0aW9ucw0KY29weXNpZ24sIHNjYWxiLCBsb2diLCBuZXh0YWZ0ZXIsIHJl bSwgYW5kIHVub3JkZXJlZCBzaGFsbCBiZQ0KcHJvdmlkZWQgYnkgdGhlIGZ1bmN0aW9ucyBJRUVF X0NPUFlfU0lHTiwgSUVFRV9TQ0FMQiwgSUVFRV9MT0dCLA0KSUVFRV9ORVhUX0FGVEVSLCBJRUVF X1JFTSwgYW5kIElFRUVfVU5PUkRFUkVELiINCg0KQ2FzZSAoaSkgb2YgMTQuMTAuMTIgY29ycmVj dGx5IHNwZWNpZmllcyB0aGF0IGlmIHRoZSB2YWx1ZSBvZiBYIGlzDQpkZW5vcm1hbCwgaXRzIHVu Ymlhc2VkIGV4cG9uZW50IGlzIHJldHVybmVkOyBob3dldmVyLCB0aGUgbm90ZSB0aGVyZQ0KaXMg d3JvbmcgaW4gdGhpcyBjYXNlLiBBbiBlZGl0IGlzIHN1cHBsaWVkLg0KDQpGb3IgY29uc2lzdGVu Y3kgd2l0aCB0aGUgSUVFRSBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkLCBhbiBlZGl0IGlzDQphbHNv IHN1cHBsaWVkIGZvciB0aGUgY2FzZSB3aGVyZSBYIGlzIGluZmluaXRlLg0KDQpFRElUUzoNCg0K UGFnZSBhbmQgbGluZSBudW1iZXJzIHJlZmVyIHRvIDA0LTAwNy4NCg0KWzM3NjoxNV0uIFN1YmNs YXVzZSAxNC4xMC4xMiwgUmVzdWx0IFZhbHVlLCBsaW5lIDIuIEFmdGVyICJOb3RlOiIgYWRkDQoi aWYgWCBpcyBub3JtYWwsIi4NCg0KWzM3NjoxNytdLiBTdWJjbGF1c2UgMTQuMTAuMTIsIFJlc3Vs dCBWYWx1ZS4gQWRkIGV4dHJhIGNhc2U6DQoiQ2FzZSAoaWlpKSBJZiBJRUVFX1NVUFBPUlRfSU5G KFgpIGlzIHRydWUgYW5kIFggaXMgaW5maW5pdGUsIHRoZQ0KICAgICAgICAgICAgcmVzdWx0IGlz ICtpbmZpbml0eS4iIC4NCg0KU1VCTUlUVEVEIEJZOiBGcmVkIFR5ZGVtYW4NCg0KSElTVE9SWTog MDUtMTEzICAgIG0xNzEgIEYwMy8wMDM0IFN1Ym1pdHRlZA0KICAgICAgICAgMDUtMTEzcjEgIG0x NzEgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNzAgICAgbTE3MiAgUGFzc2Vk IEozIGxldHRlciBiYWxsb3QgIzExDQogICAgICAgICBOMTYyMiAgICAgbTE3MiAgRmFpbGVkIFdH NSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6ICBGMDMvMDAzOQ0KVElU TEU6ICBIWVBPVCgpDQpLRVlXT1JEUzogSUVFRS03NTQsIGh5cG90KCkNCkRFRkVDVCBUWVBFOiBF cnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046 DQoNCldoYXQgaXMgSFlQT1QoTmFOLGluZmluaXR5KT8gSFlQT1QoTmFOLGZpbml0ZSk/DQoNCkhZ UE9UKFgsWSkgd2hlbiBYIGFuZC9vciBZIGlzIGFuIGluZmluaXR5IChldmVuIGlmIHRoZSBvdGhl ciBpcw0KYSBOYU4pIHNoYWxsIGJlICtpbmZpbml0eS4gIFJlYXNvbjogaHlwb3QoKSwgd2hlbiBv bmUgb2YgdGhlDQphcmd1bWVudHMgaXMgYW4gaW5maW5pdHksIGlzICtpbmZpbml0eSBpbmRlcGVu ZGVudCBvZiB0aGUNCnZhbHVlIG9mIHRoZSBvdGhlciBhcmd1bWVudC4gIFNvLCBpZiB0aGUgTmFO IGFyZ3VtZW50IGlzDQpyZXBsYWNlZCBieSB6ZXJvLCBhbnkgZmluaXRlIG51bWJlciwgb3IgYW55 IGluZmluaXR5LA0KaHlwb3QoaW5maW5pdHksTmFOKSBpcyBzdGlsbCBpbmZpbml0eS4NCg0KSFlQ T1QoWCxZKSB3aGVuIFggYW5kL29yIFkgaXMgYSBOYU4gKGFuZCBuZWl0aGVyIGlzIGluZmluaXRl KQ0Kc2hhbGwgYmUgYSBOYU4sIGFuZCBzaG91bGQgb25lIG9mIHRoZSBOYU4gYXJndW1lbnRzLg0K DQpBTlNXRVI6DQoNClRoZSBIWVBPVCBleGFtcGxlIGluIG5vdGUgMTQuMTcgaWxsdXN0cmF0ZXMg dGhlIHVzZSBvZiB0aGUgZmVhdHVyZXMNCm9mIHRoaXMgc2VjdGlvbiB0byBwcm92aWRlIHJlbGlh YmxlIHNvZnR3YXJlIHRoYXQgaXMgZmFzdCBpbiB0aGUNCnVuY29tcGxpY2F0ZWQgY2FzZS4gIFdl IGRpZCBub3QgY29uc2lkZXIgd2hhdCB3b3VsZCBoYXBwZW4gaWYgb25lDQpvZiB0aGUgYXJndW1l bnRzIGlzIGEgTmFOIGFuZCBoYXZlIHRoZXJlZm9yZSBlZGl0ZWQgdGhlIHRleHQgc2xpZ2h0bHku DQoNCkRJU0NVU1NJT046DQoNCkluIGZhY3QsIGlmIGVpdGhlciBYIG9yIFkgaXMgYSBOYU4sIHRo ZSBmaXJzdCBleGVjdXRhYmxlIHN0YXRlbWVudA0Kd2lsbCBzZXQgSFlQT1QgdG8gYSBOYU4gd2l0 aG91dCBzaWduYWxpbmcgYW4gZXhjZXB0aW9uLiBUaGUgc2xvd2VyDQpjb2RlIGluIHRoZSBJRiBj b25zdHJ1Y3Qgd2lsbCB0aGVyZWZvcmUgbm90IGJlIGV4ZWN1dGVkIGFuZCBhIE5hTg0Kd2lsbCBi ZSByZXR1cm5lZCwgd2hpY2ggaXMgY29uc2lzdGVudCB3aXRoIHRoZSB3YXkgTmFOcyBhcmUgaGFu ZGxlZA0KYnkgaW50cmluc2ljIG9wZXJhdG9ycywgc2VlIHBhcmFncmFwaCAzIG9mIHNlY3Rpb24g Ni4yIG9mIHRoZQ0KSUVFRSBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkLg0KDQpFRElUUzoNCg0KUGFn ZSBhbmQgbGluZSBudW1iZXJzIHJlZmVyIHRvIDA0LTAwNy4NCg0KWzM4OToxMl0uIFN1YmNsYXVz ZSAxNC4xMSwgTm90ZSAxNC4xNywgZmluYWwgcGFyYWdyYXBoLCBsaW5lIDIuDQpCZWZvcmUgImV4 Y2VwdGlvbiIgYWRkICJvdmVyZmxvdyBvciB1bmRlcmZsb3ciLg0KDQpbMzg5OjE2K10uIFN1YmNs YXVzZSAxNC4xMSwgTm90ZSAxNC4xNywgYXQgdGhlIGVuZCBvZiB0aGUgZmluYWwNCnBhcmFncmFw aCwgYWRkICJUaGlzIEhZUE9UIGZ1bmN0aW9uIGRvZXMgbm90IGhhbmRsZSBpbmZpbml0ZSBhcmd1 bWVudHMNCmluIHRoZSBzYW1lIHdheSB0aGF0IHRoZSBoeXBvdCBmdW5jdGlvbiBpbiB0aGUgQyBJ bnRlcm5hdGlvbmFsDQpTdGFuZGFyZCBkb2VzLiINCg0KU1VCTUlUVEVEIEJZOiBGcmVkIFR5ZGVt YW4NCg0KSElTVE9SWTogMDUtMTE4ICAgIG0xNzEgIEYwMy8wMDM5IFN1Ym1pdHRlZA0KICAgICAg ICAgMDUtMTE4cjMgIG0xNzEgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNzAg ICAgbTE3MiAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzExDQogICAgICAgICBOMTYyMiAgICAg bTE3MiAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6 ICBGMDMvMDA0Mg0KVElUTEU6ICBJRUVFIGZ1bm55IHZhbHVlcyBhbmQgU3RhbmRhcmQgcmVhbCBn ZW5lcmljIGludHJpbnNpYyANCiAgICAgICAgcHJvY2VkdXJlcw0KS0VZV09SRFM6IElFRUUtNzU0 LCByZWFsIG1hdGggbGlicmFyeQ0KREVGRUNUIFRZUEU6IEVycmF0dW0gDQpTVEFUVVM6IEozIGNv bnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNCklzIGFuIGluZmluaXRlIHJl c3VsdCBmcm9tIGFuIGluZmluaXRlIGFyZ3VtZW50IHRvIGEgcmVhbCBtYXRoDQpmdW5jdGlvbiBl eGNlcHRpb25hbCAocmFpc2VzIGFuIGV4Y2VwdGlvbik/DQoNCklzIGEgTmFOIHJlc3VsdCBmcm9t IGEgTmFOIGFyZ3VtZW50IHRvIGEgcmVhbCBtYXRoIGZ1bmN0aW9uDQpleGNlcHRpb25hbCAocmFp c2VzIGFuIGV4Y2VwdGlvbik/DQoNCldoYXQgYXJlIHRoZSByZXN1bHRzICh2YWx1ZSBhbmQgZXhj ZXB0aW9ucykgZm9yIHRoZSBmb2xsb3dpbmcNCihzZWN0aW9uIDEzLjcuKikgcmVhbCBtYXRoIGxp YnJhcnkgZnVuY3Rpb25zIFtzdWdnZXN0ZWQgcmVzdWx0cw0KZm9yIG1vc3QgYXJlIGluY2x1ZGVk OyBubyBleGNlcHRpb24gaGFwcGVucyB1bmxlc3Mgc3BlY2lmaWVkXToNCg0KIEFCUygtMC4wKSBy ZXR1cm5zICswLjANCiBBQlMoKy8taW5maW5pdHkpIHJldHVybnMgK2luZmluaXR5DQogQUJTKE5h TikgcmV0dXJucyBhIE5hTg0KDQogQUNPUyh4KSwgd2hlcmUgfHh8PjEsIHJldHVybnMgYSBOYU4g YW5kIHJhaXNlcyBpbnZhbGlkDQogQUNPUyhOYU4pIHJldHVybnMgYSBOYU4NCg0KIEFJTlQoLTAu MCkgcmV0dXJucyAtMC4wDQogQUlOVChOYU4pIHJldHVybnMgYSBOYU4NCiBBSU5UKCtpbmZpbml0 eSkgcmV0dXJucyAraW5maW5pdHkNCiBBSU5UKC1pbmZpbml0eSkgcmV0dXJucyAtaW5maW5pdHkN Cg0KIEFOSU5UKC0wLjApIHJldHVybnMgLTAuMA0KIEFOSU5UKE5hTikgcmV0dXJucyBhIE5hTg0K IEFOSU5UKCtpbmZpbml0eSkgcmV0dXJucyAraW5maW5pdHkNCiBBTklOVCgtaW5maW5pdHkpIHJl dHVybnMgLWluZmluaXR5DQoNCiBBU0lOKHgpLCB3aGVyZSB8eHw+MSwgcmV0dXJucyBhIE5hTiBh bmQgcmFpc2VzIGludmFsaWQNCiBBU0lOKE5hTikgcmV0dXJucyBhIE5hTg0KDQogQVRBTigtMC4w KSByZXR1cm5zIC0wLjANCiBBVEFOKCtpbmZpbml0eSkgcmV0dXJucyArcGkvMg0KIEFUQU4oLWlu ZmluaXR5KSByZXR1cm5zIC1waS8yDQogQVRBTihOYU4pIHJldHVybnMgYSBOYU4NCiBBVEFOMihO YU4seCkgcmV0dXJucyBhIE5hTg0KIEFUQU4yKHksTmFOKSByZXR1cm5zIGEgTmFODQogQVRBTjIo Ky8tMC4wLCAtMC4wKSByZXR1cm5zICsvLXBpIChhbmQgbm90IHJhaXNlIGludmFsaWQpDQogQVRB TjIoKy8tMC4wLCArMC4wKSByZXR1cm5zICsvLTAuMCAoYW5kIG5vdCByYWlzZSBpbnZhbGlkKQ0K IEFUQU4yKCsvLTAuMCwgeCkgcmV0dXJucyArLy1waSBmb3IgeCA8IDAuMA0KIEFUQU4yKCsvLTAu MCwgeCkgcmV0dXJucyArLy0wLjAgZm9yIHggPiAwLjANCiBBVEFOMih5LCArLy0wLjApIHJldHVy bnMgLXBpLzIgZm9yIHkgPCAwLjAgDQogICAgICAoYW5kIG5vdCByYWlzZSBkaXZpZGUgYnkgemVy bykNCiBBVEFOMih5LCArLy0wLjApIHJldHVybnMgK3BpLzIgZm9yIHkgPiAwLjAgDQogICAgICAo YW5kIG5vdCByYWlzZSBkaXZpZGUgYnkgemVybykNCiBBVEFOMigrLy15LCAtaW5maW5pdHkpIHJl dHVybnMgKy8tcGkgZm9yIGZpbml0ZSB5ID4gMC4wDQogQVRBTjIoKy8teSwgK2luZmluaXR5KSBy ZXR1cm5zICsvLTAuMCBmb3IgZmluaXRlIHkgPCAwLjANCiBBVEFOMigrLy1pbmZpbml0eSwgeCkg cmV0dXJucyArLy1waS8yIGZvciBmaW5pdGUgeA0KIEFUQU4yKCsvLWluZmluaXR5LCAtaW5maW5p dHkpIHJldHVybnMgKy8tM3BpLzQgDQogICAgICAoYW5kIG5vdCByYWlzZSBpbnZhbGlkKQ0KIEFU QU4yKCsvLWluZmluaXR5LCAraW5maW5pdHkpIHJldHVybnMgKy8tcGkvNCANCiAgICAgIChhbmQg bm90IHJhaXNlIGludmFsaWQpDQoNCiBDRUlMSU5HKCsvLWluZmluaXR5KSByZXR1cm5zICsvLWlu ZmluaXR5DQogQ0VJTElORygtMC4wKSByZXR1cm5zIC0wLjANCiBDRUlMSU5HKE5hTikgcmV0dXJu cyBhIE5hTg0KDQogQ09TKCsvLTAuMCkgcmV0dXJucyAxDQogQ09TKE5hTikgcmV0dXJucyBhIE5h Tg0KIENPUygrLy1pbmZpbml0eSkgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCg0K IENPU0goKy8tMC4wKSByZXR1cm5zIDENCiBDT1NIKE5hTikgcmV0dXJucyBhIE5hTg0KIENPU0go Ky8taW5maW5pdHkpIHJldHVybnMgYSAraW5maW5pdHkgRElNKE5hTix5KSByZXR1cm5zIGEgTmFO DQoNCiBESU0oeCxOYU4pIHJldHVybnMgYSBOYU4NCiBESU0oKy8tMC4wLCArLy0wLjApIHJldHVy bnMgYSArMC4wDQogRElNKCtpbmZpbml0eSwgLWluZmluaXR5KSByZXR1cm5zIGEgTmFOIGFuZCBy YWlzZXMgaW52YWxpZA0KIERJTSgraW5maW5pdHksICtpbmZpbml0eSkgcmV0dXJucyArMC4wDQog RElNKC1pbmZpbml0eSwgLWluZmluaXR5KSByZXR1cm5zICswLjANCiBESU0oLWluZmluaXR5LCAr aW5maW5pdHkpIHJldHVybnMgKzAuMA0KDQogRFBST0QoTmFOLHkpIHJldHVybnMgYSBOYU4NCiBE UFJPRCh4LE5hTikgcmV0dXJucyBhIE5hTg0KIERQUk9EKCsvLTAuMCwgKy8taW5maW5pdHkpIHJl dHVybnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogRFBST0QoKy8taW5maW5pdHksICsvLTAu MCkgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCiBEUFJPRCgrLy1pbmZpbml0eSwg Ky8taW5maW5pdHkpIHJldHVybnMgYW4gaW5maW5pdHkgd2l0aCBpdHMgc2lnbg0KIGJlaW5nIHRo ZSBYT1Igb2YgdGhlIGFyZ3VtZW50cywgYW5kIHJhaXNlcyBubyBleGNlcHRpb25zLg0KIERQUk9E KCsvLTAuMCwgKy8tMC4wKSByZXR1cm5zIGEgemVybyB3aXRoIGl0cyBzaWduDQogYmVpbmcgdGhl IFhPUiBvZiB0aGUgYXJndW1lbnRzLCBhbmQgcmFpc2VzIG5vIGV4Y2VwdGlvbnMuDQoNCiBFWFAo TmFOKSByZXR1cm5zIGEgTmFODQogRVhQKCsvLTAuMCkgcmV0dXJucyAxDQogRVhQKC1pbmZpbml0 eSkgcmV0dXJucyArMC4wDQogRVhQKCtpbmZpbml0eSkgcmV0dXJucyAraW5maW5pdHkNCg0KIEVY UE9ORU5UKCsvLTAuMCkgcmV0dXJucyAwIFtzaG91bGQgYmUgLUhVR0UoMCldIGFuZCByYWlzZXMg aW52YWxpZA0KIEVYUE9ORU5UKE5hTikgcmV0dXJucyBIVUdFKDApIGFuZCByYWlzZXMgaW52YWxp ZA0KIEVYUE9ORU5UKCsvLUlORikgcmV0dXJucyBIVUdFKDApIGFuZCByYWlzZXMgaW52YWxpZA0K IEVYUE9ORU5UKGRlbm9ybWFsKSByZXR1cm5zIHRoZSB2YWx1ZSBhcyBpZiB0aGUgbnVtYmVyIHdl cmUNCiAgICAgICAgIG5vcm1hbGl6ZWQgYW5kIHRoZSBleHBvbmVudCByYW5nZSB3ZXJlIHVuYm91 bmRlZA0KIElmIC9lLyBpcyBub3QgcmVwcmVzZW50YWJsZSBhcyBhIGRlZmF1bHQgaW50ZWdlciwg aW52YWxpZCBpcyByYWlzZWQNCiAgIGFuZCBzaWduKC9lLykqSFVHRSgwKSBzaG91bGQgYmUgcmV0 dXJuZWQuDQoNCiBGTE9PUihOYU4pIHJldHVybnMgYSBOYU4NCiBGTE9PUigtMC4wKSByZXR1cm5z IC0wLjANCiBGTE9PUigrLy1pbmZpbml0eSkgcmV0dXJucyArLy0gaW5maW5pdHkNCg0KIEZSQUNU SU9OKC0wLjApIHJldHVybnMgLTAuMA0KIEZSQUNUSU9OKE5hTikgcmV0dXJucyBhIE5hTg0KIEZS QUNUSU9OKGRlbm9ybWFsKSByZXR1cm5zIHRoZSB2YWx1ZSBhcyBpZiB0aGUgbnVtYmVyIHdlcmUN CiAgICAgICAgIG5vcm1hbGl6ZWQgYW5kIHRoZSBleHBvbmVudCByYW5nZSB3ZXJlIHVuYm91bmRl ZA0KIEZSQUNUSU9OKCsvLWluZmluaXR5KSByZXR1cm5zICsvLSBpbmZpbml0eQ0KDQogSU5UKE5h TikgcmV0dXJucyBhbiB1bnNwZWNpZmllZCB2YWx1ZSBhbmQgcmFpc2VzIGludmFsaWQNCiBJTlQo Ky8taW5maW5pdHkpIHJldHVybnMgYW4gdW5zcGVjaWZpZWQgdmFsdWUgYW5kIHJhaXNlcw0KICAg IGludmFsaWQNCiBJTlQoKy8tbGFyZ2UpLCB3aGVyZSBsYXJnZSBjYW5ub3QgYmUgcmVwcmVzZW50 ZWQgYXMgYW4gaW50ZWdlciwNCiAgICByZXR1cm5zIGFuIHVuc3BlY2lmaWVkIHZhbHVlIGFuZCBy YWlzZXMgaW52YWxpZA0KDQogTE9HKCsvLTAuMCkgcmV0dXJucyAtaW5maW5pdHkgYW5kIHJhaXNl cyBkaXZpZGUtYnktemVybw0KIExPRyhOYU4pIHJldHVybnMgYSBOYU4NCiBMT0coMS4wKSByZXR1 cm5zICswLjANCiBMT0coeCksIGZvciB4IDwgMCwgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGlu dmFsaWQNCiBMT0IoK2luZmluaXR5KSByZXR1cm5zICtpbmZpbml0eQ0KDQogTE9HMTAoKy8tMC4w KSByZXR1cm5zIC1pbmZpbml0eSBhbmQgcmFpc2VzIGRpdmlkZS1ieS16ZXJvDQogTE9HMTAoTmFO KSByZXR1cm5zIGEgTmFODQogTE9HMTAoMS4wKSByZXR1cm5zICswLjANCiBMT0cxMCh4KSwgZm9y IHggPCAwLCByZXR1cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIExPRzEwKCtpbmZpbml0 eSkgcmV0dXJucyAraW5maW5pdHkNCg0KIE1BWChOYU4sTmFOKSByZXR1cm5zIGEgTmFODQogTUFY KE5hTix5KSByZXR1cm5zIHkgW3NvbWUgc2F5IGl0IHNob3VsZCBiZSBOYU5dDQogTUFYKHgsTmFO KSByZXR1cm5zIHggW3NvbWUgc2F5IGl0IHNob3VsZCBiZSBOYU5dDQogTUFYKC0wLjAsKzAuMCkg cmV0dXJucyArMC4wDQogTUFYKC0wLjAsLTAuMCkgcmV0dXJucyAtMC4wDQogTUFYKCtpbmZpbml0 eSx5KSByZXR1cm5zICtpbmZpbml0eQ0KIE1BWCgtaW5maW5pdHkseSkgcmV0dXJucyB5DQoNCiBN SU4oTmFOLE5hTikgcmV0dXJucyBhIE5hTg0KIE1JTihOYU4seSkgcmV0dXJucyB5IFtzb21lIHNh eSBpdCBzaG91bGQgYmUgTmFOXQ0KIE1JTih4LE5hTikgcmV0dXJucyB4IFtzb21lIHNheSBpdCBz aG91bGQgYmUgTmFOXQ0KIE1JTigtMC4wLCswLjApIHJldHVybnMgLTAuMA0KIE1JTigtMC4wLC0w LjApIHJldHVybnMgLTAuMA0KIE1JTigtaW5maW5pdHkseSkgcmV0dXJucyAtaW5maW5pdHkNCiBN SU4oK2luZmluaXR5LHkpIHJldHVybnMgeQ0KDQogTU9EKE5hTix5KSByZXR1cm5zIGEgTmFODQog TU9EKHgsTmFOKSByZXR1cm5zIGEgTmFODQogTU9EKCsvLWluZmluaXR5LHkpIHJldHVybnMgYSBO YU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogTU9EKCsvLWluZmluaXR5LCsvLWluZmluaXR5KSByZXR1 cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIE1PRCh4LCsvLTAuMCkgcmV0dXJucyBhIE5h TiBhbmQgcmFpc2VzIGludmFsaWQNCiBNT0QoKy8tMC4wLCsvLTAuMCkgcmV0dXJucyBhIE5hTiBh bmQgcmFpc2VzIGludmFsaWQNCg0KIE1PRFVMTyhOYU4seSkgcmV0dXJucyBhIE5hTg0KIE1PRFVM Tyh4LE5hTikgcmV0dXJucyBhIE5hTg0KIE1PRFVMTygrLy1pbmZpbml0eSx5KSByZXR1cm5zIGEg TmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIE1PRFVMTygrLy1pbmZpbml0eSwrLy1pbmZpbml0eSkg cmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCiBNT0RVTE8oeCwrLy0wLjApIHJldHVy bnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogTU9EVUxPKCsvLTAuMCwrLy0wLjApIHJldHVy bnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQoNCiBORUFSRVNUKE5hTix5KSByZXR1cm5zIGEg TmFODQogTkVBUkVTVCh4LE5hTikgcmV0dXJucyBhIE5hTg0KIE5FQVJFU1QoeCwrLy0wLjApIHJl dHVybnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkICBbd2h5Pz8/XQ0KIE5FQVJFU1QoK2luZmlu aXR5LCtudW0pIHJldHVybnMgK2luZmluaXR5ID8/Pw0KIE5FQVJFU1QoK2luZmluaXR5LC1udW0p IHJldHVybnMgK21heGltdW0gZmluaXRlIG51bWJlcg0KIE5FQVJFU1QoLWluZmluaXR5LCtudW0p IHJldHVybnMgLW1heGltdW0gZmluaXRlIG51bWJlcg0KIE5FQVJFU1QoLWluZmluaXR5LC1udW0p IHJldHVybnMgLWluZmluaXR5ID8/Pw0KDQogTklOVChOYU4pIHJldHVybnMgYW4gdW5zcGVjaWZp ZWQgdmFsdWUgYW5kIHJhaXNlcyBpbnZhbGlkDQogTklOVCgrLy1pbmZpbml0eSkgcmV0dXJucyBh biB1bnNwZWNpZmllZCB2YWx1ZSBhbmQgcmFpc2VzDQogICAgIGludmFsaWQNCiBOSU5UKCsvLWxh cmdlKSwgd2hlcmUgbGFyZ2UgY2Fubm90IGJlIHJlcHJlc2VudGVkIGFzIGFuDQogICAgIGludGVn ZXIsIHJldHVybnMgYW4gdW5zcGVjaWZpZWQgdmFsdWUgYW5kIHJhaXNlcyBpbnZhbGlkDQoNCiBS UlNQQUNJTkcoTmFOKSByZXR1cm5zIGEgTmFODQogUlJTUEFDSU5HKCsvLWluZmluaXR5KSByZXR1 cm5zICsvLWluZmluaXR5IA0KICAgICAgICAgIFtkaWZmZXJzIGZyb20gY3VycmVudCBGMjAwM10N CiBSUlNQQUNJTkcoKy8tMC4wKSByZXR1cm5zICswLjANCiBSUlNQQUNJTkcoKy8tZGVub3JtYWwp IHJldHVybnMgPz8/DQoNCiBTQ0FMRShOYU4seSkgcmV0dXJucyBhIE5hTg0KIFNDQUxFKCsvLWlu ZmluaXR5LHkpIHJldHVybnMgKy8taW5maW5pdHkNCiBTQ0FMRSgtMC4wLHkpIHJldHVybnMgLTAu MA0KDQogU0VUX0VYUE9ORU5UKE5hTix5KSByZXR1cm5zIGEgTmFODQogU0VUX0VYUE9ORU5UKCsv LWluZmluaXR5LHkpIHJldHVybnMgKy8taW5maW5pdHkNCiBTRVRfRVhQT05FTlQoLTAuMCx5KSBy ZXR1cm5zIC0wLjANCiBTRVRfRVhQT05FTlQoZGVub3JtYWwseSkgcmV0dXJucyA/Pz8NCg0KIFNJ R04oTmFOLHkpLCB3aGVyZSAwIDwgeSwgcmV0dXJucyB0aGUgc2FtZSBOYU4sIA0KICAgICAgYnV0 IHdpdGggdGhlIHNpZ24gYml0IGNsZWFyZWQuDQogU0lHTihOYU4seSksIHdoZXJlIHkgPCAwLCBy ZXR1cm5zIHRoZSBzYW1lIE5hTiwgDQogICAgICBidXQgd2l0aCB0aGUgc2lnbiBiaXQgc2V0Lg0K DQogU0lOKE5hTikgcmV0dXJucyBhIE5hTg0KIFNJTigrLy1pbmZpbml0eSkgcmV0dXJucyBhIE5h TiBhbmQgcmFpc2VzIGludmFsaWQNCiBTSU4oLTAuMCkgcmV0dXJucyAtMC4wDQoNCiBTSU5IKE5h TikgcmV0dXJucyBhIE5hTg0KIFNJTkgoKy8taW5maW5pdHkpIHJldHVybnMgKy8tIGluZmluaXR5 DQogU0lOSCgtMC4wKSByZXR1cm5zIC0wLjANCg0KIFNQQUNJTkcoTmFOKSByZXR1cm5zIGEgTmFO DQogU1BBQ0lORygrLy1pbmZpbml0eSkgcmV0dXJucyAraW5maW5pdHkNCiBTUEFDSU5HKC0wLjAp IHJldHVybnMgVElOWSgrMC4wKQ0KIFNQQUNJTkcoZGVub3JtYWwpIHJldHVybnMgVElOWSgrMC4w KSA/Pz8NCg0KIFNRUlQoTmFOKSByZXR1cm5zIGEgTmFODQogU1FSVCgraW5maW5pdHkpIHJldHVy bnMgK2luZmluaXR5DQogU1FSVCgtMC4wKSByZXR1cm5zIC0wLjANCiBTUVJUKHgpLCB3aGVyZSB4 IDwgMC4wLCByZXR1cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KDQogVEFOKE5hTikgcmV0 dXJucyBhIE5hTg0KIFRBTigrLy1pbmZpbml0eSkgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGlu dmFsaWQNCiBUQU4oLTAuMCkgcmV0dXJucyAtMC4wDQoNCiBUQU5IKE5hTikgcmV0dXJucyBhIE5h Tg0KIFRBTkgoKy8taW5maW5pdHkpIHJldHVybnMgKy8tMS4wDQogVEFOSCgtMC4wKSByZXR1cm5z IC0wLjANCg0KDQoxMy43IFszMDA6MTMtMTVdIGluY29ycmVjdGx5IHJlcXVpcmVzIGFuIGluZmlu aXRlIHJlc3VsdCBvciBhDQpOYU4gcmVzdWx0IHRvIGFsd2F5cyBzaWduYWwgc29tZSBJRUVFIGV4 Y2VwdGlvbi4NCg0KQ29uc2lkZXIgY2hhbmdpbmcgWzMwMDoxM10gImluZmluaXRlIHJlc3VsdCIg dG8gImluZmluaXRlIHJlc3VsdA0KKGZyb20gZmluaXRlIGFyZ3VtZW50cykiLiAgUmVhc29uOiBJ RUVFLTc1NCBtYXRoZW1hdGljYWwNCm9wZXJhdGlvbnMgb24gaW5maW5pdHkgdGhhdCBwcm9kdWNl IGFuIGluZmluaXR5IGFyZQ0KdW5leGNlcHRpb25hbC4NCg0KQ29uc2lkZXIgY2hhbmdpbmcgWzMw MDoxNF0gIk5hTiByZXN1bHQiIHRvICJOYU4gcmVzdWx0IChmcm9tDQpub24tTmFOIGFyZ3VtZW50 cykiLiAgUmVhc29uOiBJRUVFLTc1NCBtYXRoZW1hdGljYWwgb3BlcmF0aW9ucw0Kb24gcXVpZXQg TmFOIG9wZXJhbmRzIHRoYXQgcHJvZHVjZSBhIHF1aWV0IE5hTiByZXN1bHQgYXJlDQp1bmV4Y2Vw dGlvbmFsLg0KDQpDb25zaWRlciBhZGRpbmcgdG8gMTMuNyBbMzAwOjE1K10gc29tZXRoaW5nIGFs b25nIHRoZSBsaW5lcyBvZjoNCiJVbmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZSwgYSBtYXRoIGZ1 bmN0aW9uIHdpdGggTmFODQphcmd1bWVudChzKSBzaGFsbCByZXR1cm4gYSBOYU4sIHdoaWNoIHNo b3VsZCBiZSBvbmUgb2YgdGhlIE5hTg0KYXJndW1lbnRzLiIgIFRoaXMgYWxsb3dzIG5vdCBoYXZp bmcgdG8gc3BlY2lmeSB0aGUgcmVzdWx0cyBmb3INCmVhY2ggc3BlY2lmaWMgbWF0aCBmdW5jdGlv bi4NCg0KQ29uc2lkZXIgYWRkaW5nIHRoZSBhYm92ZSBzdWdnZXN0ZWQgY2FzZXMgdG8gZWFjaCBv ZiB0aGUgMTMuNy4qDQpmdW5jdGlvbnMsIHBlcmhhcHMsIHdpdGggYSBib2xkIGZhY2UgSUVFRSBz dWItaGVhZGluZy4NCg0KQU5TV0VSOg0KDQpUaGUgcGVudWx0aW1hdGUgc2VudGVuY2VzIG9mIDEz Ljcgd2FzIGludGVuZGVkIGZvciB0aGUgY2FzZQ0Kd2hlcmUgYWxsIGFyZ3VtZW50cyBvbiBlbnRy eSBoYXZlIG5vcm1hbCBvciBkZW5vcm1hbCB2YWx1ZXMgIA0KYW5kIGVkaXRzIGFyZSBzdXBwbGll ZCB0byBjb3JyZWN0IHRoaXMuIA0KDQpUbyBzcGVjaWZ5IHRoZSByZXN1bHRzIG9mIGFsbCB0aGUg aW50cmluc2ljcyBmb3Igbm9uLW5vcm1hbA0KdmFsdWVzIGlzIGJleW9uZCB0aGUgc2NvcGUgb2Yg YW4gaW50ZXJwcmV0YXRpb24uIFBlcmhhcHMgdGhpcyANCnNob3VsZCBiZSBjb25zaWRlcmVkIGZv ciBhbiBleHRlbnNpb24gdGhhdCBpcyBhZG9wdGVkIGZvciB0aGUgDQpuZXh0IHJldmlzaW9uIG9m IHRoZSBzdGFuZGFyZC4gTWVhbndoaWxlLCBndWlkYW5jZSBpcyBwcm92aWRlZA0KYnkgdGhlIHNl Y29uZCBhbmQgdGhpcmQgcGFyYWdyYXBocyBvZiAxNC44LCB3aGljaCBzdGF0ZQ0KDQoiVGhlIGlu cXVpcnkgZnVuY3Rpb24gSUVFRV9TVVBQT1JUX05BTiBpcyBwcm92aWRlZCB0byBpbnF1aXJlIA0K d2hldGhlciB0aGUgcHJvY2Vzc29yIHN1cHBvcnRzIElFRUUgTmFOcy4gV2hlcmUgdGhlc2UgYXJl IHN1cHBvcnRlZCwgDQp0aGVpciBiZWhhdmlvciBmb3IgdW5hcnkgYW5kIGJpbmFyeSBvcGVyYXRp b25zLCBpbmNsdWRpbmcNCnRob3NlIGRlZmluZWQgYnkgaW50cmluc2ljIGZ1bmN0aW9ucyBhbmQg YnkgZnVuY3Rpb25zIGluIGludHJpbnNpYyANCm1vZHVsZXMsIHNoYWxsIGJlIGNvbnNpc3RlbnQg d2l0aCB0aGUgc3BlY2lmaWNhdGlvbnMgaW4gdGhlIElFRUUNCkludGVybmF0aW9uYWwgU3RhbmRh cmQuDQoNClRoZSBpbnF1aXJ5IGZ1bmN0aW9uIElFRUVfU1VQUE9SVF9JTkYgaXMgcHJvdmlkZWQg dG8gaW5xdWlyZSB3aGV0aGVyIA0KdGhlIHByb2Nlc3NvciBzdXBwb3J0cyBJRUVFIGluZmluaXRp ZXMuIFdoZXJlIHRoZXNlIGFyZSBzdXBwb3J0ZWQsIA0KdGhlaXIgYmVoYXZpb3IgZm9yIHVuYXJ5 IGFuZCBiaW5hcnkgb3BlcmF0aW9ucywgaW5jbHVkaW5nDQp0aG9zZSBkZWZpbmVkIGJ5IGludHJp bnNpYyBmdW5jdGlvbnMgYW5kIGJ5IGZ1bmN0aW9ucyBpbiBpbnRyaW5zaWMgDQptb2R1bGVzLCBz aGFsbCBiZSBjb25zaXN0ZW50IHdpdGggdGhlIHNwZWNpZmljYXRpb25zIGluIHRoZSBJRUVFDQpJ bnRlcm5hdGlvbmFsIFN0YW5kYXJkLiAiDQoNCg0KRURJVFM6DQoNClBhZ2UgYW5kIGxpbmUgbnVt YmVycyByZWZlciB0byAwNC0wMDcuDQoNClszMDA6MTMmMTRdIFN1YmNsYXVzZSAxMy43LiBJbiB0 aGUgcGVudWx0aW1hdGUgc2VudGVuY2UsIHJlcGxhY2UNCiJJZiIgYnkgIklmIHRoZSB2YWx1ZXMg b2YgYWxsIGlucHV0IGFyZ3VtZW50cyBhcmUgbm9ybWFsIG9yDQpkZW5vcm1hbCBhbmQiIGFuZCBy ZXBsYWNlICJpZiIgYnkgImlmIHRoZSB2YWx1ZXMgb2YgYWxsIGlucHV0IA0KYXJndW1lbnRzIGFy ZSBub3JtYWwgb3IgZGVub3JtYWwgYW5kIg0KDQpTVUJNSVRURUQgQlk6IEZyZWQgVHlkZW1hbg0K DQpISVNUT1JZOiAwNS0xMjFyMSAgbTE3MSAgRjAzLzAwNDIgU3VibWl0dGVkDQoNCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA0NQ0KVElUTEU6IEZpbmFsaXphdGlvbiBhbmQgYXNzdW1l ZC1zaXplIGFyZ3VtZW50cyB3aXRoIElOVEVOVChPVVQpDQpLRVlXT1JEUzogZmluYWxpemF0aW9u LCBJTlRFTlQoT1VUKSwgYXNzdW1lZCBzaXplLCBkdW1teSBhcmd1bWVudA0KREVGRUNUIFRZUEU6 IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046 DQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToNCg0KTU9EVUxFIG0NCiAgVFlQRSB0 DQogICAgSU5URUdFUiA6OiBpDQogIENPTlRBSU5TDQogICAgRklOQUwgOjogZmluYWxpemVUDQog IEVORCBUWVBFDQpDT05UQUlOUw0KICBFTEVNRU5UQUwgU1VCUk9VVElORSBmaW5hbGl6ZVQoZikN CiAgICBUWVBFKHQpLCBJTlRFTlQoSU5PVVQpIDo6IGYNCiAgICBmJWkgPSAxMA0KICBFTkQgU1VC Uk9VVElORQ0KRU5EIE1PRFVMRQ0KDQpTVUJST1VUSU5FIHh5eiAoZCkNCiAgVVNFIG0NCiAgVFlQ RSh0KSwgSU5URU5UKE9VVCkgOjogZCgqKQ0KRU5EIFNVQlJPVVRJTkUNCg0KUFJPR1JBTSBmb28N CiAgVVNFIG0NCiAgRVhURVJOQUwgeHl6DQogIFRZUEUodCkgOjogYSgxMCkgPSB0KDUpDQogIENB TEwgeHl6KGEoMikpDQpFTkQgUFJPR1JBTQ0KDQo0LjUuNS4yIG9mIEZvcnRyYW4gMjAwMyBzdGF0 ZXM6DQogICAgV2hlbiBhIHByb2NlZHVyZSBpcyBpbnZva2VkLCBhIG5vbnBvaW50ZXIsIG5vbmFs bG9jYXRhYmxlIG9iamVjdA0KICAgIHRoYXQgaXMgYW4gYWN0dWFsIGFyZ3VtZW50IGFzc29jaWF0 ZWQgd2l0aCBhbiBJTlRFTlQoT1VUKSBkdW1teQ0KICAgIGFyZ3VtZW50IGlzIGZpbmFsaXplZC4N Cg0KRm9yIGFzc3VtZWQtc2l6ZSBhcmd1bWVudHMsIHRoaXMgc2l0dWF0aW9uIGlzIHNpbWlsYXIg dG8gdGhhdCBvZg0KZGVmYXVsdCBpbml0aWFsaXphdGlvbiB3aXRoIElOVEVOVChPVVQpLiAgRGVm YXVsdCBpbml0aWFsaXphdGlvbiBpcw0KcHJvaGliaXRlZCBmb3IgSU5URU5UKE9VVCksIGFzc3Vt ZWQtc2l6ZSBkdW1teSBhcmd1bWVudHMgYnkgQzU0NC4gIEENCnNpbWlsYXIgcmVzdHJpY3Rpb24g b24gZmluYWxpemF0aW9uIG1heSBoYXZlIGJlZW4gb3Zlcmxvb2tlZC4NCg0KV2FzIHRoaXMgcHJv Z3JhbSBpbnRlbmRlZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nPw0KDQpBTlNXRVI6DQoNCk5v LCB0aGlzIHByb2dyYW0gd2FzIG5vdCBpbnRlbmRlZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5n LiAgQW4gZWRpdA0KaXMgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRElT Q1VTU0lPTjoNCg0KVGhlIHVuc3RhdGVkIHBoaWxvc29waHkgb2YgYXNzdW1lZC1zaXplIGFycmF5 cyBpbiB0aGUgc3RhbmRhcmQgaXMgdGhhdA0Kbm8gYWN0aW9uIGlzIGFsbG93ZWQgb24gYW4gYXNz dW1lZC1zaXplIGFycmF5IHdoaWNoIHdvdWxkIG5lZWQgdG8gYmUNCmFwcGxpZWQgZWxlbWVudGFs bHkgdG8gdGhlIHdob2xlIGFycmF5LiAgVGhhdCBpcyB3aHkgbm8gd2hvbGUgYXJyYXkNCmFzc2ln bm1lbnQgaXMgYWxsb3dlZCwgZm9yIGV4YW1wbGUuDQoNCkluIGFjY29yZGFuY2Ugd2l0aCB0aGlz IHBoaWxvc29waHksDQooMSkgdHlwZXMgd2l0aCB1bHRpbWF0ZSBhbGxvY2F0YWJsZSBjb21wb25l bnRzIGFsc28gbmVlZCB0byBiZQ0KICAgIGV4Y2x1ZGVkIGZyb20gYmVpbmcgSU5URU5UKE9VVCkg YXNzdW1lZC1zaXplLCBhcyBwcm9jZWR1cmUNCiAgICBpbnZvY2F0aW9uIGluIHRoaXMgY2FzZSBy ZXF1aXJlcyBkZWFsbG9jYXRpb24gb2YgYWxsIHRoZQ0KICAgIGFsbG9jYXRlZCBjb21wb25lbnRz Lg0KDQooMikgcG9seW1vcnBoaWMgSU5URU5UKE9VVCkgYXNzdW1lZC1zaXplIGFycmF5cyBzaG91 bGQgYWxzbyBiZQ0KICAgIGV4Y2x1ZGVkLCBhcyB0aGV5IG1pZ2h0IGhhdmUgZmluYWxpc2F0aW9u LCBkZWZhdWx0IGluaXRpYWxpc2F0aW9uDQogICAgb3IgYWxsb2NhdGFibGUgY29tcG9uZW50cy4N Cg0KVGhpcyBpbnRlcnAgc3Vic3VtZXMgRm9ydHJhbiAyMDAzIGludGVycCAjMDA2MC4NCg0KRURJ VFM6DQoNCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcuDQoNCls4MDo5XSAgQmVmb3JlICJvZiBh IHR5cGUiLCBpbnNlcnQNCiAgICAgICAgInBvbHltb3JwaGljLCBvZiBhIGZpbmFsaXphYmxlIHR5 cGUsIG9mIGEgdHlwZSB3aXRoIGFuDQogICAgICAgICB1bHRpbWF0ZSBhbGxvY2F0YWJsZSBjb21w b25lbnQsIG9yIi4NCg0KU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMNCg0KSElTVE9SWTogMDUtMTM2 ICAgIG0xNzEgIEYwMy8wMDQ1IFN1Ym1pdHRlZCwgcGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAg ICAgIDA1LTE3MCAgICBtMTcyICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTENCiAgICAgICAg IE4xNjIyICAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYyOQ0KICAgICAgICAgMDUtMjU2 ICAgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNi0xMzMgICAgbTE3NSAg UGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYw My8wMDQ2DQpUSVRMRTogVW5saW1pdGVkIHBvbHltb3JwaGljIHBvaW50ZXJzIGluIGNvbW1vbiBi bG9ja3MNCktFWVdPUkRTOiBVbmxpbWl0ZWQgcG9seW1vcnBoaWMgcG9pbnRlciwgY29tbW9uIGJs b2NrDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHBy b2dyZXNzDQoNClFVRVNUSU9OOg0KDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW06DQoN CiAgICAgIFBST0dSQU0gZm9vDQogICAgICAgIENPTU1PTiAvYmxrMS8geA0KICAgICAgICBDTEFT UygqKSwgUE9JTlRFUiA6OiB4DQogICAgICAgIENBTEwgc3ViDQogICAgICBFTkQgUFJPR1JBTQ0K DQogICAgICBTVUJST1VUSU5FIHN1Yg0KICAgICAgICBDT01NT04gL2JsazEvIHgNCiAgICAgICAg Q0xBU1MoKiksIFBPSU5URVIgOjogeA0KICAgICAgRU5EIFNVQlJPVVRJTkUNCg0KVGhlcmUgYXBw ZWFycyB0byBiZSBub3RoaW5nIHByb2hpYml0aW5nIGFuIHVubGltaXRlZCBwb2x5bW9ycGhpYw0K cG9pbnRlciBmcm9tIGFwcGVhcmluZyBpbiBhIGNvbW1vbiBibG9jaywgYnV0IHRoZSBmb2xsb3dp bmcgYXBwZWFycyBpbg0KRm9ydHJhbiAyMDAzIGF0IFsxMDA6MTBdOg0KICAgIEEgZGF0YSBwb2lu dGVyIHNoYWxsIGJlIHN0b3JhZ2UgYXNzb2NpYXRlZCBvbmx5IHdpdGggZGF0YSBwb2ludGVycw0K ICAgIG9mIHRoZSBzYW1lIHR5cGUgYW5kIHJhbmsuDQoNCkFuZCBhdCBbNzU6MjMtMjVdOg0KICAg IEFuIG9iamVjdCBkZWNsYXJlZCB3aXRoIHRoZSBDTEFTUygqKSBzcGVjaWZpZXIgaXMgYW4gdW5s aW1pdGVkDQogICAgcG9seW1vcnBoaWMgb2JqZWN0LiAgQW4gdW5saW1pdGVkIHBvbHltb3JwaGlj IGVudGl0eSBpcyBub3QNCiAgICBkZWNsYXJlZCB0byBoYXZlIGEgdHlwZS4gIEl0IGlzIG5vdCBj b25zaWRlcmVkIHRvIGhhdmUgdGhlIHNhbWUNCiAgICBkZWNsYXJlZCB0eXBlIGFzIGFueSBvdGhl ciBlbnRpdHksIGluY2x1ZGluZyBhbm90aGVyIHVubGltaXRlZA0KICAgIHBvbHltb3JwaGljIGVu dGl0eS4NCg0KSXQgYXBwZWFycyB0aGF0IGl0IGlzIG5vdCBzdGFuZGFyZCBjb25mb3JtaW5nIHRv IGhhdmUgYW4gdW5saW1pdGVkDQpwb2x5bW9ycGhpYyBwb2ludGVyIHRoYXQgaXMgc3RvcmFnZSBh c3NvY2lhdGVkIHdpdGggYW55dGhpbmcgZWxzZSwNCmluY2x1ZGluZyBhbm90aGVyIHVubGltaXRl ZCBwb2x5bW9ycGhpYyBwb2ludGVyLiAgU28sIHdoaWxlIGl0IGlzDQphcHBhcmVudGx5IHN0YW5k YXJkLWNvbmZvcm1pbmcgdG8gaGF2ZSBhbiB1bmxpbWl0ZWQgcG9seW1vcnBoaWMNCnBvaW50ZXIg aW4gYSBjb21tb24gYmxvY2ssIGEgY29tbW9uIGJsb2NrIHdpdGggdGhlIHNhbWUgbmFtZSBjYW5u b3QgYmUNCmFjY2Vzc2VkIGluIGFueSBvdGhlciBzY29waW5nIHVuaXQuDQoNClRoaXMgaW50ZXJw cmV0YXRpb24gYWxzbyBzZWVtcyB0byBiZSBzdXBwb3J0ZWQgYnkgcGFydHMgb2Ygc2VjdGlvbiAx Ng0Kb2YgdGhlIHN0YW5kYXJkLg0KDQpBdCBbNDE2OjctMjRdOg0KICAgIEluIGEgc3RvcmFnZSBh c3NvY2lhdGlvbiBjb250ZXh0DQogICAgLi4uDQogICAgICAoOCkgQSBwb2ludGVyIG9jY3VwaWVz IGEgc2luZ2xlIHVuc3BlY2lmaWVkIHN0b3JhZ2UgdW5pdCB0aGF0IGlzDQogICAgICAgICAgZGlm ZmVyZW50IGZyb20gdGhhdCBvZiBhbnkgbm9ucG9pbnRlciBvYmplY3QgYW5kIGlzDQogICAgICAg ICAgZGlmZmVyZW50IGZvciBlYWNoIGNvbWJpbmF0aW9uIG9mIHR5cGUsIHR5cGUgcGFyYW1ldGVy cywgYW5kDQogICAgICAgICAgcmFuay4NCg0KQXQgWzQxNzoxMi0xM106DQogICAgQWxsIHNjb3Bp bmcgdW5pdHMgdGhhdCBhY2Nlc3MgbmFtZWQgY29tbW9uIGJsb2NrcyB3aXRoIHRoZSBzYW1lDQog ICAgbmFtZSBzaGFsbCBzcGVjaWZ5IGFuIGlkZW50aWNhbCBzZXF1ZW5jZSBvZiBzdG9yYWdlIHVu aXRzLg0KDQpBbmQgYXQgWzQxNzoxNC0xN106DQogICAgRm9yIGFueSB0d28gYmxhbmsgY29tbW9u IGJsb2NrcywgdGhlIGluaXRpYWwgc2VxdWVuY2Ugb2Ygc3RvcmFnZQ0KICAgIHVuaXRzIG9mIHRo ZSBsb25nZXIgYmxhbmsgY29tbW9uIGJsb2NrIHNoYWxsIGJlIGlkZW50aWNhbCB0byB0aGUNCiAg ICBzZXF1ZW5jZSBvZiBzdG9yYWdlIHVuaXRzIG9mIHRoZSBzaG9ydGVyIGNvbW1vbiBibG9jay4g IElmIHR3bw0KICAgIGJsYW5rIGNvbW1vbiBibG9ja3MgYXJlIHRoZSBzYW1lIGxlbmd0aCwgdGhl eSBzaGFsbCBoYXZlIHRoZSBzYW1lDQogICAgc2VxdWVuY2Ugb2Ygc3RvcmFnZSB1bml0cy4NCg0K V2FzIGl0IGludGVuZGVkIHRoYXQgYW4gdW5saW1pdGVkIHBvbHltb3JwaGljIHBvaW50ZXIgc2hv dWxkIGJlDQphbGxvd2VkIGluIGEgY29tbW9uIGJsb2NrPyAgSWYgeWVzLCB0aGVuIHdhcyBpdCBp bnRlbmRlZCB0aGF0IHN1Y2ggYQ0KY29tbW9uIGJsb2NrIHNob3VsZCBiZSBhY2Nlc3NpYmxlIGlu IG1vcmUgdGhhbiBvbmUgc2NvcGluZyB1bml0Pw0KDQpBTlNXRVI6DQoNCk5vLiAgQW4gZWRpdCBp cyBwcm92aWRlZCB0byBjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0Lg0KDQpFRElUUzoNCg0KQWxsIGVk aXRzIHJlZmVyIHRvIDA0LTAwNy4NCg0KWzk4OjIwXSAgQmVmb3JlICJhbiBhbGxvY2F0YWJsZSB2 YXJpYWJsZSIsIGluc2VydA0KICAgICAgICAgImEgcG9seW1vcnBoaWMgcG9pbnRlciwiLg0KDQpT VUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNS0xMzcgICAgbTE3MSAgRjAzLzAw NDYgU3VibWl0dGVkLCBwYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTcwICAgIG0x NzIgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMQ0KICAgICAgICAgTjE2MjIgICAgIG0xNzIg IEZhaWxlZCBXRzUgYmFsbG90IE4xNjI5DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMv MDA0Nw0KVElUTEU6IFBvbHltb3JwaGljIGFyZ3VtZW50cyB0byBpbnRyaW5zaWMgcHJvY2VkdXJl cw0KS0VZV09SRFM6IHBvbHltb3JwaGlzbSwgaW50cmluc2ljIHByb2NlZHVyZXMNCkRFRkVDVCBU WVBFOiBFcnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVF U1RJT046DQoNClRoZSBkZXNjcmlwdGlvbnMgb2YgdGhlIGludHJpbnNpYyBwcm9jZWR1cmVzIG9m dGVuIHVzZSB0aGUgdGVybSAidHlwZSINCndpdGhvdXQgcXVhbGlmaWNhdGlvbi4gIEl0IGlzIHVu Y2xlYXIgd2hldGhlciB0aGV5IG1lYW4gImRlY2xhcmVkDQp0eXBlIiBvciAiZHluYW1pYyB0eXBl Ii4gIElmIHRoZXkgbWVhbiAiZHluYW1pYyB0eXBlIiwgdGhlbiB0aGlzIHdvdWxkDQphcHBlYXIg dG8gYWxsb3cgdW5saW1pdGVkIHBvbHltb3JwaGljIGFyZ3VtZW50cyB0byBpbnRyaW5zaWMNCnBy b2NlZHVyZXMgbGlrZSBBQlMgYW5kIFNJTi4gIFJlc29sdXRpb24gb2YgZ2VuZXJpYyBpbnRyaW5z aWMNCnByb2NlZHVyZXMgaW4gdGhpcyBjYXNlIHdvdWxkIGNyZWF0ZSBhbiB1bmR1ZSAoYW5kIGxp a2VseSB1bmludGVuZGVkKQ0KYnVyZGVuIG9uIHRoZSBwcm9jZXNzb3IsIGFuZCB0aGUgZGVjbGFy ZWQgdHlwZSBvZiB0aGUgcmVzdWx0IG9mIHN1Y2ggYQ0KZnVuY3Rpb24gY2FsbCB3b3VsZCBiZSB1 bmNsZWFyIGFzIHdlbGwuDQoNClF1ZXN0aW9uIDE6DQpBcmUgdGhlIGFyZ3VtZW50cyBvZiB0aGUg aW50cmluc2ljIGZ1bmN0aW9ucyBBTExPQ0FURUQsIEFTU09DSUFURUQsDQpMQk9VTkQsIFNIQVBF LCBTSVpFLCBhbmQgVUJPVU5EIHBlcm1pdHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCg0KUXVlc3Rp b24gMjoNCihhKSBJcyB0aGUgQVJSQVkgYXJndW1lbnQgb2YgdGhlIGludHJpbnNpYyBmdW5jdGlv biBDU0hJRlQgcGVybWl0dGVkDQogICAgdG8gYmUgcG9seW1vcnBoaWM/DQpJZiBzbzoNCihiKSBJ ZiB0aGUgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlzIHRoZSByZXN1bHQgcG9seW1vcnBoaWM/ ICBXaGF0DQogICAgYXJlIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVz dWx0Pw0KDQpRdWVzdGlvbiAzOg0KKGEpIEFyZSB0aGUgQVJSQVkgYW5kIEJPVU5EQVJZIGFyZ3Vt ZW50cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uDQogICAgRU9TSElGVCBwZXJtaXR0ZWQgdG8g YmUgcG9seW1vcnBoaWM/DQpJZiBzbzoNCihiKSBJZiBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIGlz IHBvbHltb3JwaGljLCB0aGVuIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9seW1vcnBoaWM/DQoo YykgRG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGVpciB0eXBlcyByZWZlciB0byB0aGVpciBkZWNs YXJlZCB0eXBlcw0KICAgIG9yIGR5bmFtaWMgdHlwZXM/DQooZCkgSWYgZWl0aGVyIGFyZ3VtZW50 IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3JwaGljPyBXaGF0DQogICAgYXJl IHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0Pw0KDQpRdWVzdGlv biA0Og0KKGEpIEFyZSB0aGUgQSBhbmQgTU9MRCBhcmd1bWVudHMgb2YgdGhlIGludHJpbnNpYyBm dW5jdGlvbg0KICAgIEVYVEVORFNfVFlQRV9PRiBwZXJtaXR0ZWQgdG8gYmUgcG9seW1vcnBoaWM/ DQpJZiBzbzoNCihiKSBJZiBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIGlzIHBvbHltb3JwaGljLCBt dXN0IHRoZSBvdGhlciBiZQ0KICAgIHBvbHltb3JwaGljPw0KKGMpIERvIHRoZSByZXF1aXJlbWVu dHMgb24gdGhlaXIgdHlwZXMgcmVmZXIgdG8gdGhlaXIgZGVjbGFyZWQgdHlwZXMNCiAgICBvciBk eW5hbWljIHR5cGVzPw0KDQpRdWVzdGlvbiA1Og0KKGEpIEFyZSB0aGUgVFNPVVJDRSBhbmQgRlNP VVJDRSBhcmd1bWVudHMgb2YgdGhlIGludHJpbnNpYyBmdW5jdGlvbg0KICAgIE1FUkdFIHBlcm1p dHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBvZiB0aGVzZSBhcmd1 bWVudHMgaXMgcG9seW1vcnBoaWMsIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9seW1vcnBoaWM/ DQooYykgRG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGUgdHlwZXMgb2YgdGhlIGFyZ3VtZW50cyBy ZWZlciB0byB0aGVpcg0KICAgIGRlY2xhcmVkIHR5cGVzIG9yIGR5bmFtaWMgdHlwZXM/DQooZCkg SWYgZWl0aGVyIGFyZ3VtZW50IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3Jw aGljPw0KICAgIFdoYXQgYXJlIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUg cmVzdWx0Pw0KDQpRdWVzdGlvbiA2Og0KQXJlIHRoZSBGUk9NIGFuZCBUTyBhcmd1bWVudHMgb2Yg dGhlIGludHJpbnNpYyBmdW5jdGlvbiBNT1ZFX0FMTE9DDQpwZXJtaXR0ZWQgdG8gYmUgcG9seW1v cnBoaWM/DQoNClF1ZXN0aW9uIDc6DQooYSkgQXJlIHRoZSBBUlJBWSBhbmQgVkVDVE9SIGFyZ3Vt ZW50cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uIFBBQ0sNCiAgICBwZXJtaXR0ZWQgdG8gYmUg cG9seW1vcnBoaWM/DQpJZiBzbzoNCihiKSBJZiBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIGlzIHBv bHltb3JwaGljLCBtdXN0IHRoZSBvdGhlciBiZQ0KICAgIHBvbHltb3JwaGljPw0KKGMpIERvIHRo ZSByZXF1aXJlbWVudHMgb24gdGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgcmVmZXIgdG8gdGhl aXINCiAgICBkZWNsYXJlZCB0eXBlcyBvciBkeW5hbWljIHR5cGVzPw0KKGQpIElmIGVpdGhlciBh cmd1bWVudCBpcyBwb2x5bW9ycGhpYywgaXMgdGhlIHJlc3VsdCBwb2x5bW9ycGhpYz8NCiAgICBX aGF0IGFyZSB0aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMgb2YgdGhlIHJlc3VsdD8NCg0K UXVlc3Rpb24gODoNCihhKSBBcmUgdGhlIFNPVVJDRSBhbmQgUEFEIGFyZ3VtZW50cyBvZiB0aGUg aW50cmluc2ljIGZ1bmN0aW9uIFJFU0hBUEUNCiAgICBwZXJtaXR0ZWQgdG8gYmUgcG9seW1vcnBo aWM/DQpJZiBzbzoNCihiKSBJZiBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIGlzIHBvbHltb3JwaGlj LCBtdXN0IHRoZSBvdGhlciBiZQ0KICAgIHBvbHltb3JwaGljPw0KKGMpIERvIHRoZSByZXF1aXJl bWVudHMgb24gdGhlIHR5cGVzIG9mIHRoZSBhcmd1bWVudHMgcmVmZXIgdG8gdGhlaXINCiAgICBk ZWNsYXJlZCB0eXBlcyBvciBkeW5hbWljIHR5cGVzPw0KKGQpIElmIGVpdGhlciBhcmd1bWVudCBp cyBwb2x5bW9ycGhpYywgaXMgdGhlIHJlc3VsdCBwb2x5bW9ycGhpYz8NCiAgICBXaGF0IGFyZSB0 aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMgb2YgdGhlIHJlc3VsdD8NCg0KUXVlc3Rpb24g OToNCihhKSBBcmUgdGhlIEEgYW5kIEIgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rp b24gU0FNRV9UWVBFX0FTDQogICAgcGVybWl0dGVkIHRvIGJlIHBvbHltb3JwaGljPw0KSWYgc286 DQooYikgSWYgb25lIG9mIHRoZXNlIGFyZ3VtZW50cyBpcyBwb2x5bW9ycGhpYywgbXVzdCB0aGUg b3RoZXIgYmUNCiAgICBwb2x5bW9ycGhpYz8NCihjKSBEbyB0aGUgcmVxdWlyZW1lbnRzIG9uIHRo ZWlyIHR5cGVzIHJlZmVyIHRvIHRoZWlyIGRlY2xhcmVkIHR5cGVzDQogICAgb3IgZHluYW1pYyB0 eXBlcz8NCg0KUXVlc3Rpb24gMTA6DQooYSkgSXMgdGhlIFNPVVJDRSBhcmd1bWVudCBvZiB0aGUg aW50cmluc2ljIGZ1bmN0aW9uIFNQUkVBRCBwZXJtaXR0ZWQNCiAgICB0byBiZSBwb2x5bW9ycGhp Yz8NCklmIHNvOg0KKGIpIElmIHRoZSBhcmd1bWVudCBpcyBwb2x5bW9ycGhpYywgaXMgdGhlIHJl c3VsdCBwb2x5bW9ycGhpYz8gIFdoYXQNCiAgICBhcmUgdGhlIGRlY2xhcmVkIGFuZCBkeW5hbWlj IHR5cGVzIG9mIHRoZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDExOg0KKGEpIElzIHRoZSBTT1VSQ0Ug YXJndW1lbnQgb2YgdGhlIGludHJpbnNpYyBmdW5jdGlvbiBUUkFOU0ZFUg0KICAgIHBlcm1pdHRl ZCB0byBiZSBwb2x5bW9ycGhpYz8NCihiKSBJcyB0aGUgTU9MRCBhcmd1bWVudCBvZiB0aGUgaW50 cmluc2ljIGZ1bmN0aW9uIFRSQU5TRkVSIHBlcm1pdHRlZA0KICAgIHRvIGJlIHBvbHltb3JwaGlj Pw0KSWYgdGhlIGFuc3dlciB0byAoYikgaXMgeWVzOg0KKGMpIElmIHRoZSBNT0xEIGFyZ3VtZW50 IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3JwaGljPw0KICAgIFdoYXQgYXJl IHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0Pw0KDQpRdWVzdGlv biAxMjoNCihhKSBJcyB0aGUgTUFUUklYIGFyZ3VtZW50IG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rp b24gVFJBTlNQT1NFDQogICAgcGVybWl0dGVkIHRvIGJlIHBvbHltb3JwaGljPw0KSWYgc286DQoo YikgSWYgdGhlIGFyZ3VtZW50IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3Jw aGljPyAgV2hhdA0KICAgIGFyZSB0aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMgb2YgdGhl IHJlc3VsdD8NCg0KUXVlc3Rpb24gMTM6DQooYSkgQXJlIHRoZSBWRUNUT1IgYW5kIEZJRUxEIGFy Z3VtZW50cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uDQogICAgVU5QQUNLIHBlcm1pdHRlZCB0 byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBvZiB0aGVzZSBhcmd1bWVudHMg aXMgcG9seW1vcnBoaWMsIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9seW1vcnBoaWM/DQooYykg RG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGUgdHlwZXMgb2YgdGhlIGFyZ3VtZW50cyByZWZlciB0 byB0aGVpcg0KICAgIGRlY2xhcmVkIHR5cGVzIG9yIGR5bmFtaWMgdHlwZXM/DQooZCkgSWYgZWl0 aGVyIGFyZ3VtZW50IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3JwaGljPw0K ICAgIFdoYXQgYXJlIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0 Pw0KDQpRdWVzdGlvbiAxNDoNCkFyZSBhbnkgb2YgdGhlIG90aGVyIGFyZ3VtZW50cyBvZiBhbnkg aW50cmluc2ljIHByb2NlZHVyZSBwZXJtaXR0ZWQgdG8NCmJlIHBvbHltb3JwaGljPw0KDQpBTlNX RVI6DQoNCkFuc3dlciAxOg0KWWVzLg0KDQpBbnN3ZXIgMjoNCihhKSBZZXMuDQooYikgSW4gdGhp cyBjYXNlLCB0aGUgcmVzdWx0IGlzIHBvbHltb3JwaGljLiAgSWYgdGhlIGFyZ3VtZW50IGlzDQog ICAgdW5saW1pdGVkIHBvbHltb3JwaGljLCB0aGVuIHRoZSByZXN1bHQgaXMgdW5saW1pdGVkIHBv bHltb3JwaGljDQogICAgYW5kIGl0cyBkeW5hbWljIHR5cGUgaXMgdGhlIHNhbWUgYXMgdGhhdCBv ZiB0aGUgYXJndW1lbnQuDQogICAgT3RoZXJ3aXNlLCB0aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMg dHlwZXMgb2YgdGhlIHJlc3VsdCBhcmUgdGhlDQogICAgc2FtZSBhcyB0aG9zZSBvZiB0aGUgYXJn dW1lbnQuDQoNCkFuc3dlciAzOg0KKGEpIFllcy4NCihiKSBZZXMuDQooYykgVGhlIHJlcXVpcmVt ZW50cyBhcHBseSB0byBib3RoIHRoZSBkZWNsYXJlZCB0eXBlIGFuZCB0aGUgZHluYW1pYw0KICAg IHR5cGUuDQooZCkgSW4gdGhpcyBjYXNlLCB0aGUgcmVzdWx0IGlzIHBvbHltb3JwaGljLiAgSWYg dGhlIGFyZ3VtZW50cyBhcmUNCiAgICB1bmxpbWl0ZWQgcG9seW1vcnBoaWMsIHRoZW4gdGhlIHJl c3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBoaWMNCiAgICBhbmQgaXRzIGR5bmFtaWMgdHlwZSBp cyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBhcmd1bWVudHMuDQogICAgT3RoZXJ3aXNlLCB0aGUg ZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMgb2YgdGhlIHJlc3VsdCBhcmUgdGhlDQogICAgc2Ft ZSBhcyB0aG9zZSBvZiB0aGUgYXJndW1lbnRzLg0KDQpBbnN3ZXIgNDoNCihhKSBZZXMuDQooYikg Tm8uDQooYykgVGhlIHJlcXVpcmVtZW50cyByZWZlciB0byB0aGUgZHluYW1pYyB0eXBlLg0KDQpB bnN3ZXIgNToNCihhKSBZZXMuDQooYikgWWVzLg0KKGMpIFRoZSByZXF1aXJlbWVudHMgcmVmZXIg dG8gYm90aCB0aGUgZGVjbGFyZWQgdHlwZSBhbmQgdGhlIGR5bmFtaWMNCiAgICB0eXBlLg0KKGQp IEluIHRoaXMgY2FzZSwgdGhlIHJlc3VsdCBpcyBwb2x5bW9ycGhpYy4gIElmIHRoZSBhcmd1bWVu dHMgYXJlDQogICAgdW5saW1pdGVkIHBvbHltb3JwaGljLCB0aGVuIHRoZSByZXN1bHQgaXMgdW5s aW1pdGVkIHBvbHltb3JwaGljDQogICAgYW5kIGl0cyBkeW5hbWljIHR5cGUgaXMgdGhlIHNhbWUg YXMgdGhhdCBvZiB0aGUgYXJndW1lbnRzLg0KICAgIE90aGVyd2lzZSwgdGhlIGRlY2xhcmVkIGFu ZCBkeW5hbWljIHR5cGVzIG9mIHRoZSByZXN1bHQgYXJlIHRoZQ0KICAgIHNhbWUgYXMgdGhvc2Ug b2YgdGhlIGFyZ3VtZW50cy4NCg0KQW5zd2VyIDY6DQpZZXMuDQoNCkFuc3dlciA3Og0KKGEpIFll cy4NCihiKSBZZXMuDQooYykgVGhlIHJlcXVpcmVtZW50cyByZWZlciB0byBib3RoIHRoZSBkZWNs YXJlZCB0eXBlIGFuZCB0aGUgZHluYW1pYw0KICAgIHR5cGUuDQooZCkgSW4gdGhpcyBjYXNlLCB0 aGUgcmVzdWx0IGlzIHBvbHltb3JwaGljLiAgSWYgdGhlIGFyZ3VtZW50cyBhcmUNCiAgICB1bmxp bWl0ZWQgcG9seW1vcnBoaWMsIHRoZW4gdGhlIHJlc3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBo aWMNCiAgICBhbmQgaXRzIGR5bmFtaWMgdHlwZSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBh cmd1bWVudHMuDQogICAgT3RoZXJ3aXNlLCB0aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMg b2YgdGhlIHJlc3VsdCBhcmUgdGhlDQogICAgc2FtZSBhcyB0aG9zZSBvZiB0aGUgYXJndW1lbnRz Lg0KDQpBbnN3ZXIgODoNCihhKSBZZXMuDQooYikgWWVzLg0KKGMpIFRoZSByZXF1aXJlbWVudHMg cmVmZXIgdG8gYm90aCB0aGUgZGVjbGFyZWQgdHlwZSBhbmQgdGhlIGR5bmFtaWMNCiAgICB0eXBl Lg0KKGQpIEluIHRoaXMgY2FzZSwgdGhlIHJlc3VsdCBpcyBwb2x5bW9ycGhpYy4gIElmIHRoZSBh cmd1bWVudHMgYXJlDQogICAgdW5saW1pdGVkIHBvbHltb3JwaGljLCB0aGVuIHRoZSByZXN1bHQg aXMgdW5saW1pdGVkIHBvbHltb3JwaGljDQogICAgYW5kIGl0cyBkeW5hbWljIHR5cGUgaXMgdGhl IHNhbWUgYXMgdGhhdCBvZiB0aGUgYXJndW1lbnRzLg0KICAgIE90aGVyd2lzZSwgdGhlIGRlY2xh cmVkIGFuZCBkeW5hbWljIHR5cGVzIG9mIHRoZSByZXN1bHQgYXJlIHRoZQ0KICAgIHNhbWUgYXMg dGhvc2Ugb2YgdGhlIGFyZ3VtZW50cy4NCg0KQW5zd2VyIDk6DQooYSkgWWVzLg0KKGIpIE5vLg0K KGMpIFRoZSByZXF1aXJlbWVudHMgcmVmZXIgdG8gdGhlIGR5bmFtaWMgdHlwZS4NCg0KQW5zd2Vy IDEwOg0KKGEpIFllcy4NCihiKSBJbiB0aGlzIGNhc2UsIHRoZSByZXN1bHQgaXMgcG9seW1vcnBo aWMuICBJZiB0aGUgYXJndW1lbnQgaXMNCiAgICB1bmxpbWl0ZWQgcG9seW1vcnBoaWMsIHRoZW4g dGhlIHJlc3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBoaWMNCiAgICBhbmQgaXRzIGR5bmFtaWMg dHlwZSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBhcmd1bWVudC4NCiAgICBPdGhlcndpc2Us IHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0IGFyZSB0aGUNCiAg ICBzYW1lIGFzIHRob3NlIG9mIHRoZSBhcmd1bWVudC4NCg0KQW5zd2VyIDExOg0KKGEpIFllcy4N CihiKSBOby4NCihjKSBOL0EuDQoNCkFuc3dlciAxMjoNCihhKSBZZXMuDQooYikgSW4gdGhpcyBj YXNlLCB0aGUgcmVzdWx0IGlzIHBvbHltb3JwaGljLiAgSWYgdGhlIGFyZ3VtZW50IGlzDQogICAg dW5saW1pdGVkIHBvbHltb3JwaGljLCB0aGVuIHRoZSByZXN1bHQgaXMgdW5saW1pdGVkIHBvbHlt b3JwaGljDQogICAgYW5kIGl0cyBkeW5hbWljIHR5cGUgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0 aGUgYXJndW1lbnQuDQogICAgT3RoZXJ3aXNlLCB0aGUgZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlw ZXMgb2YgdGhlIHJlc3VsdCBhcmUgdGhlDQogICAgc2FtZSBhcyB0aG9zZSBvZiB0aGUgYXJndW1l bnQuDQoNCkFuc3dlciAxMzoNCihhKSBZZXMuDQooYikgWWVzLg0KKGMpIFRoZSByZXF1aXJlbWVu dHMgcmVmZXIgdG8gYm90aCB0aGUgZGVjbGFyZWQgdHlwZSBhbmQgdGhlIGR5bmFtaWMNCiAgICB0 eXBlLg0KKGQpIEluIHRoaXMgY2FzZSwgdGhlIHJlc3VsdCBpcyBwb2x5bW9ycGhpYy4gIElmIHRo ZSBhcmd1bWVudHMgYXJlDQogICAgdW5saW1pdGVkIHBvbHltb3JwaGljLCB0aGVuIHRoZSByZXN1 bHQgaXMgdW5saW1pdGVkIHBvbHltb3JwaGljDQogICAgYW5kIGl0cyBkeW5hbWljIHR5cGUgaXMg dGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgYXJndW1lbnRzLg0KICAgIE90aGVyd2lzZSwgdGhlIGRl Y2xhcmVkIGFuZCBkeW5hbWljIHR5cGVzIG9mIHRoZSByZXN1bHQgYXJlIHRoZQ0KICAgIHNhbWUg YXMgdGhvc2Ugb2YgdGhlIGFyZ3VtZW50cy4NCg0KQW5zd2VyIDE0Og0KTm8uDQoNCkVESVRTOg0K DQpbMjkyOjE4K10gSW5zZXJ0IGEgbmV3IHN1YmNsYXVzZSAxMy4yIGFuZCByZS1udW1iZXIgc3Vi c2VxdWVudA0Kc3ViY2xhdXNlczoNCg0KMTMuMiAgUG9seW1vcnBoaWMgaW50cmluc2ljIGZ1bmN0 aW9uIGFyZ3VtZW50cyBhbmQgcmVzdWx0cw0KDQpUYWJsZSAxMy4xIHNwZWNpZmllcyB0aGUgaW50 cmluc2ljIGZ1bmN0aW9ucyB0aGF0IGFyZSBhbGxvd2VkIHRvIGhhdmUNCnBvbHltb3JwaGljIGFy Z3VtZW50cywgYW5kIHRoZSBhcmd1bWVudHMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZQ0KcG9seW1v cnBoaWMuDQoNCiAgVGFibGUgMTMuMTogIFBvbHltb3JwaGljIGludHJpbnNpYyBmdW5jdGlvbiBh cmd1bWVudHMNCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQogIHwgIEZ1bmN0aW9uIG5hbWUgICAgfCAgQXJndW1lbnRzIHBl cm1pdHRlZCB0byBiZSBwb2x5bW9ycGhpYyAgfA0KICA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgfCAgQUxMT0NBVEVEICAg ICAgICB8ICBBUlJBWSwgU0NBTEFSICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogIHwgIEFT U09DSUFURUQgICAgICAgfCAgUE9JTlRFUiwgVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAg fA0KICB8ICBDU0hJRlQgICAgICAgICAgIHwgIEFSUkFZICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwNCiAgfCAgRU9TSElGVCAgICAgICAgICB8ICBBUlJBWSwgQk9VTkRBUlkgICAg ICAgICAgICAgICAgICAgICAgICB8DQogIHwgIEVYVEVORFNfVFlQRV9PRiAgfCAgQSwgTU9MRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICB8ICBMQk9VTkQgICAgICAgICAgIHwg IEFSUkFZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgfCAgTUVSR0UgICAg ICAgICAgICB8ICBUU09VUkNFLCBGU09VUkNFICAgICAgICAgICAgICAgICAgICAgICB8DQogIHwg IE1PVkVfQUxMT0MgICAgICAgfCAgRlJPTSwgVE8gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfA0KICB8ICBQQUNLICAgICAgICAgICAgIHwgIEFSUkFZLCBWRUNUT1IgICAgICAgICAgICAg ICAgICAgICAgICAgIHwNCiAgfCAgUkVTSEFQRSAgICAgICAgICB8ICBTT1VSQ0UsIFBBRCAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8DQogIHwgIFNBTUVfVFlQRV9BUyAgICAgfCAgQSwgQiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICB8ICBTSEFQRSAgICAgICAgICAg IHwgIFNPVVJDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgfCAgU0laRSAg ICAgICAgICAgICB8ICBBUlJBWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQog IHwgIFNQUkVBRCAgICAgICAgICAgfCAgU09VUkNFICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfA0KICB8ICBUUkFOU0ZFUiAgICAgICAgIHwgIFNPVVJDRSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwNCiAgfCAgVFJBTlNQT1NFICAgICAgICB8ICBNQVRSSVggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogIHwgIFVCT1VORCAgICAgICAgICAgfCAgQVJS QVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICB8ICBVTlBBQ0sgICAgICAg ICAgIHwgIFZFQ1RPUiwgRklFTEQgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQoNClRoZSBpbnRyaW5zaWMgZnVuY3Rpb25zIHNob3duIGluIHRhYmxlIDEzLjIgaGF2ZSBhIHBv bHltb3JwaGljIHJlc3VsdA0KaWYgYW5kIG9ubHkgaWYgdGhlIHNwZWNpZmllZCBhcmd1bWVudCBp cyBwb2x5bW9ycGhpYy4gIFdoZXJlIHRoZQ0KcmVzdWx0IGlzIHNwZWNpZmllZCB0byBoYXZlIHRo ZSBzYW1lIHR5cGUgYW5kIHR5cGUgcGFyYW1ldGVycyBhcyB0aGUNCmFyZ3VtZW50IHNwZWNpZmll ZCBpbiB0YWJsZSAxMy4yLCB0aGUgcmVzdWx0IGhhcyB0aGUgc2FtZSBkeW5hbWljDQp0eXBlIGFz IHRoZSBzcGVjaWZpZWQgYXJndW1lbnQuICBJZiB0aGUgc3BlY2lmaWVkIGFyZ3VtZW50IGlzDQp1 bmxpbWl0ZWQgcG9seW1vcnBoaWMgdGhlIHJlc3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBoaWM7 IG90aGVyd2lzZQ0KaXQgaGFzIHRoZSBzYW1lIGRlY2xhcmVkIHR5cGUgYXMgdGhlIHNwZWNpZmll ZCBhcmd1bWVudC4gIElmIGFub3RoZXINCmFyZ3VtZW50IGlzIHJlcXVpcmVkIHRvIGhhdmUgdGhl IHNhbWUgdHlwZSBhcyB0aGUgc3BlY2lmaWVkIGFyZ3VtZW50LA0KaXQgc2hhbGwgYmUgcG9seW1v cnBoaWMgaWYgYW5kIG9ubHkgaWYgdGhlIHNwZWNpZmllZCBhcmd1bWVudCBpcw0KcG9seW1vcnBo aWMsIGFuZCBoYXZlIHRoZSBzYW1lIGR5bmFtaWMgdHlwZSBhcyB0aGUgc3BlY2lmaWVkDQphcmd1 bWVudC4gIElmIHRoZSBzcGVjaWZpZWQgYXJndW1lbnQgaXMgdW5saW1pdGVkIHBvbHltb3JwaGlj LCB0aGUNCm90aGVyIGFyZ3VtZW50IHNoYWxsIGFsc28gYmUgdW5saW1pdGVkIHBvbHltb3JwaGlj OyBvdGhlcndpc2UsIGl0DQpzaGFsbCBoYXZlIHRoZSBzYW1lIGRlY2xhcmVkIHR5cGUgYXMgdGhl IHNwZWNpZmllZCBhcmd1bWVudC4NCg0KICBUYWJsZSAxMy4yOiAgUG9seW1vcnBoaWMgaW50cmlu c2ljIGZ1bmN0aW9uIHJlc3VsdHMNCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KICAgfCAgRnVuY3Rpb24gbmFtZSAgfCAgQXJndW1lbnQgdGhhdCBk ZXRlcm1pbmVzICB8DQogICB8ICAgICAgICAgICAgICAgICB8ICByZXN1bHQgY2hhcmFjdGVyaXN0 aWNzICAgIHwNCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KICAgfCAgIENTSElGVCAgICAgICAgfCAgQVJSQVkgICAgICAgICAgICAgICAgICAgICB8 DQogICB8ICAgRU9TSElGVCAgICAgICB8ICBBUlJBWSAgICAgICAgICAgICAgICAgICAgIHwNCiAg IHwgICBNRVJHRSAgICAgICAgIHwgIFRTT1VSQ0UgICAgICAgICAgICAgICAgICAgfA0KICAgfCAg IFBBQ0sgICAgICAgICAgfCAgQVJSQVkgICAgICAgICAgICAgICAgICAgICB8DQogICB8ICAgUkVT SEFQRSAgICAgICB8ICBTT1VSQ0UgICAgICAgICAgICAgICAgICAgIHwNCiAgIHwgICBTUFJFQUQg ICAgICAgIHwgIFNPVVJDRSAgICAgICAgICAgICAgICAgICAgfA0KICAgfCAgIFRSQU5TUE9TRSAg ICAgfCAgTUFUUklYICAgICAgICAgICAgICAgICAgICB8DQogICB8ICAgVU5QQUNLICAgICAgICB8 ICBWRUNUT1IgICAgICAgICAgICAgICAgICAgIHwNCiAgID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpI SVNUT1JZOiAwNS0xMzggICAgbTE3MSAgRjAzLzAwNDcgU3VibWl0dGVkIC0gY29udGFpbmVkIHRo ZSBxdWVzdGlvbnMvYW5zd2Vycw0KICAgICAgICAgMDUtMTM4cjEgIG0xNzEgIENvbnRhaW5lZCB0 aGUgZWRpdHMsIHBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNzAgICAgbTE3MiAg UGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzExDQogICAgICAgICBOMTYyMiAgICAgbTE3MiAgRmFp bGVkIFdHNSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDQ4 DQpUSVRMRTogQ29udHJvbCBlZGl0IGRlc2NyaXB0b3JzIGluIFVERFRJTw0KS0VZV09SRFM6IENv bnRyb2wgZWRpdCBkZXNjcmlwdG9yDQpERUZFQ1QgVFlQRTogSW50ZXJwcmV0YXRpb24NClNUQVRV UzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0KDQpRVUVTVElPTjoNCg0KQ29uc2lkZXIg dGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQpNT0RVTEUgbQ0KDQogIFRZUEUgdA0KICAgIElOVEVH RVIgOjogaSA9IDANCiAgQ09OVEFJTlMNCiAgICBQUk9DRURVUkUsIFBSSVZBVEUgOjogcHdmDQog ICAgR0VORVJJQyA6OiBXUklURShGT1JNQVRURUQpID0+IHB3Zg0KICBFTkQgVFlQRQ0KDQpDT05U QUlOUw0KDQogIFJFQ1VSU0lWRSBTVUJST1VUSU5FIHB3ZihkdHYsIHVuaXQsIGlvdHlwZSwgdmxp c3QsIGlvc3RhdCwgaW9tc2cpDQogICAgQ0xBU1ModCksICAgICAgICAgSU5URU5UKElOKSAgICA6 OiBkdHYNCiAgICBJTlRFR0VSLCAgICAgICAgICBJTlRFTlQoSU4pICAgIDo6IHVuaXQNCiAgICBD SEFSQUNURVIoTEVOPSopLCBJTlRFTlQoSU4pICAgIDo6IGlvdHlwZQ0KICAgIElOVEVHRVIsICAg ICAgICAgIElOVEVOVChJTikgICAgOjogdmxpc3QoOikNCiAgICBJTlRFR0VSLCAgICAgICAgICBJ TlRFTlQoT1VUKSAgIDo6IGlvc3RhdA0KICAgIENIQVJBQ1RFUihMRU49KiksIElOVEVOVChJTk9V VCkgOjogaW9tc2cNCiAgICBXUklURSh1bml0LCAnKGkxLCAvKScpIGR0diVpDQogICAgV1JJVEUo dW5pdCwgJyh0MSwgYTIpJykgJ0FCJw0KICBFTkQgU1VCUk9VVElORSBwd2YNCg0KRU5EIE1PRFVM RQ0KDQpQUk9HUkFNIGZvbw0KICBVU0UgbQ0KICBJTVBMSUNJVCBOT05FDQogIFRZUEUodCkgOjog YQ0KICBhJWkgPSAzDQogIFBSSU5UICosICd4eXonLCBhDQplbmQgcHJvZ3JhbQ0KDQo5LjUuMy43 LjIgc3RhdGVzOg0KICBBIHJlY29yZCBwb3NpdGlvbmluZyBlZGl0IGRlc2NyaXB0b3IsIHN1Y2gg YXMgVEwgYW5kIFRSLCB1c2VkIG9uDQogIHVuaXQgYnkgYSBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0 YXRlbWVudCBzaGFsbCBub3QgY2F1c2UgdGhlIHJlY29yZA0KICBwb3NpdGlvbiB0byBiZSBwb3Np dGlvbmVkIGJlZm9yZSB0aGUgcmVjb3JkIHBvc2l0aW9uIGF0IHRoZSB0aW1lIHRoZQ0KICB1c2Vy LWRlZmluZWQgZGVyaXZlZC10eXBlIGlucHV0L291dHB1dCBwcm9jZWR1cmUgd2FzIGludm9rZWQu DQoNClRoZSB0ZXJtICJyZWNvcmQgcG9zaXRpb24iIGlzIHVzZWQsIGJ1dCBpdCBkb2Vzbid0IGFw cGVhciB0byBiZQ0KZGVmaW5lZCBhbnl3aGVyZS4gIERlcGVuZGluZyBvbiB0aGUgaW50ZXJwcmV0 YXRpb24sIHRoZSBhYm92ZSBwcm9ncmFtDQptaWdodCBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLCBv ciBpdCBtaWdodCBub3QgYmUuDQoNCklmICJyZWNvcmQgcG9zaXRpb24iIGlzIHRha2VuIHRvIG1l YW4gInRoZSBwb3NpdGlvbiB3aXRoaW4gdGhlIGN1cnJlbnQNCnJlY29yZCIsIHJlZ2FyZGxlc3Mg b2Ygd2hpY2ggcmVjb3JkIGlzIHRoZSBjdXJyZW50IHJlY29yZCwgdGhlbiB0aGUNCnJlY29yZCBw b3NpdGlvbiBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBVRERUSU8gcHJvY2VkdXJlIGlzIGJlZm9y ZSB0aGUNCmZvdXJ0aCBjaGFyYWN0ZXIgb2YgdGhlIHJlY29yZC4gIFRoZSBmaXJzdCBjaGlsZCBk YXRhIHRyYW5zZmVyDQpzdGF0ZW1lbnQgYmVnaW5zIGEgbmV3IHJlY29yZCwgYW5kIHRoZSBzZWNv bmQgY2hpbGQgZGF0YSB0cmFuc2Zlcg0Kc3RhdGVtZW50IHdyaXRlcyB0byB0aGUgZmlyc3QgY2hh cmFjdGVyIG9mIHRoZSBuZXcgcmVjb3JkLiAgVGhpcyB3b3VsZA0KYmUgYmVmb3JlIHRoZSAicmVj b3JkIHBvc2l0aW9uIiBhdCB0aGUgdGltZSB0aGUgVUREVElPIHByb2NlZHVyZSB3YXMNCmludm9r ZWQsIGFuZCB0aGUgcHJvZ3JhbSB3b3VsZCBub3QgYmUgc3RhbmRhcmQtY29uZm9ybWluZy4NCg0K SWYgInJlY29yZCBwb3NpdGlvbiIgaXMgdGFrZW4gdG8gbWVhbiBhIGNvbWJpbmF0aW9uIG9mIHRo ZSByZWNvcmQgYW5kDQp0aGUgcG9zaXRpb24gd2l0aGluIHRoYXQgcmVjb3JkIChlc3NlbnRpYWxs eSBtYWtpbmcgaXQgbWVhbiB0aGUgc2FtZQ0KdGhpbmcgYXMgImZpbGUgcG9zaXRpb24iKSwgdGhl biB0aGUgYWJvdmUgcHJvZ3JhbSBpcyBzdGFuZGFyZC0NCmNvbmZvcm1pbmcsIHNpbmNlIHRoZSBj b250cm9sIGVkaXQgZGVzY3JpcHRvciBkb2Vzbid0IGNhdXNlIHRoZSBmaWxlDQp0byBiZSBwb3Np dGlvbmVkIGJlZm9yZSB0aGUgcmVjb3JkIHBvc2l0aW9uIHdoZW4gdGhlIFVERFRJTyBwcm9jZWR1 cmUNCndhcyBpbnZva2VkLg0KDQpXaGF0IGlzIHRoZSBtZWFuaW5nIG9mICJyZWNvcmQgcG9zaXRp b24iLCBhbmQgaXMgdGhlIGFib3ZlIHByb2dyYW0NCnN0YW5kYXJkLWNvbmZvcm1pbmc/DQoNCkFO U1dFUjoNCg0KVGhlIHRlcm0gInJlY29yZCBwb3NpdGlvbiIgbWVhbnMgdGhlIHNhbWUgYXMgdGhl IHRlcm0gImZpbGUgcG9zaXRpb24iLg0KVGhlIHByb2dyYW0gaXMgc3RhbmRhcmQtY29uZm9ybWlu Zy4NCg0KVGhlIFBSSU5UIHN0YXRlbWVudCBwcmludHMNCg0KIHh5ei4zDQpBQg0KDQp3aGVyZSB0 aGUgZmlyc3QgcmVjb3JkIHN0YXJ0cyB3aXRoIGEgc3BhY2UgYW5kIHRoZSAiLiIgcmVwcmVzZW50 cyAwIG9yDQptb3JlIHNwYWNlcy4NCg0KRURJVFM6IE5vbmUNCg0KU1VCTUlUVEVEIEJZOiBSb2Ig SmFtZXMNCg0KSElTVE9SWTogMDUtMTM5ICAgIG0xNzEgIEYwMy8wMDQ4IFN1Ym1pdHRlZA0KICAg ICAgICAgMDUtMTM5cjEgIG0xNzEgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0x NzAgICAgbTE3MiAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzExDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KTlVNQkVSOiBGMDMvMDA0OQ0KVElUTEU6IFNlcGFyYXRvcnMgaW4gbGlzdC1kaXJlY3RlZCBv dXRwdXQgaW52b2x2aW5nIFVERFRJTw0KS0VZV09SRFM6IGxpc3QtZGlyZWN0ZWQgb3V0cHV0LCBz ZXBhcmF0b3JzLCBVRERUSU8NCkRFRkVDVCBUWVBFOiBJbnRlcnByZXRhdGlvbg0KU1RBVFVTOiBK MyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpDb25zaWRlciB0aGUg Zm9sbG93aW5nIHByb2dyYW06DQoNCk1PRFVMRSBtDQogIFRZUEUgdA0KICAgIElOVEVHRVIgaQ0K ICBFTkQgVFlQRQ0KICBJTlRFUkZBQ0UgV1JJVEUoRk9STUFUVEVEKQ0KICAgIE1PRFVMRSBQUk9D RURVUkUgZm9ybWF0dGVkV3JpdGVUDQogIEVORCBJTlRFUkZBQ0UNCkNPTlRBSU5TDQogIFNVQlJP VVRJTkUgZm9ybWF0dGVkV3JpdGVUKGR0diwgdW5pdCwgaW90eXBlLCB2X2xpc3QsIGlvc3RhdCwg aW9tc2cpDQogICAgQ0xBU1ModCksICAgICAgICAgSU5URU5UKElOKSAgICA6OiBkdHYNCiAgICBJ TlRFR0VSLCAgICAgICAgICBJTlRFTlQoSU4pICAgIDo6IHVuaXQNCiAgICBDSEFSQUNURVIoTEVO PSopLCBJTlRFTlQoSU4pICAgIDo6IGlvdHlwZQ0KICAgIElOVEVHRVIsICAgICAgICAgIElOVEVO VChJTikgICAgOjogdl9saXN0KDopDQogICAgSU5URUdFUiwgICAgICAgICAgSU5URU5UKE9VVCkg ICA6OiBpb3N0YXQNCiAgICBDSEFSQUNURVIoTEVOPSopLCBJTlRFTlQoSU5PVVQpIDo6IGlvbXNn DQoNCiAgICBXUklURSh1bml0LCAqKSBkdHYlaSwgJ2EnDQogIEVORCBTVUJST1VUSU5FDQpFTkQg TU9EVUxFDQoNClBST0dSQU0gZm9vDQogIFVTRSBtDQogIFRZUEUodCkgOjogdDEgPSB0KDUpDQog IE9QRU4oMTAsIEZJTEU9J2Zvby50eHQnLCBBQ0NFU1M9J1NFUVVFTlRJQUwnLCBGT1JNPSdGT1JN QVRURUQnLCAmDQogICAgICAgREVMSU09J05PTkUnKQ0KICBXUklURSgxMCwgKiksICd4eXonLCB0 MSwgJ3p5eCcNCkVORCBQUk9HUkFNDQoNCjEwLjkuMiBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzIHRo YXQgY2hhcmFjdGVyIHNlcXVlbmNlcyBwcm9kdWNlZCBmb3INCmxpc3QtZGlyZWN0ZWQgb3V0cHV0 IGFyZSBub3Qgc2VwYXJhdGVkIGZyb20gZWFjaCBvdGhlciBieSB2YWx1ZQ0Kc2VwYXJhdG9ycyB3 aGVuIHRoZSBkZWxpbWl0ZXIgbW9kZSBpcyBOT05FLiAgVGhlIGltcGxpY2F0aW9uIG9mIHRoaXMN CmlzIG9idmlvdXMgd2hlbiB0aGUgYWRqYWNlbnQgZWZmZWN0aXZlIG91dHB1dCBsaXN0IGl0ZW1z IGFyZSBib3RoIG9mDQpjaGFyYWN0ZXIgdHlwZS4gIEJ1dCB3aGVuIHVzZXItZGVmaW5lZCBkZXJp dmVkLXR5cGUgaW5wdXQvb3V0cHV0DQppcyBpbnZvbHZlZCwgaXQgaXMgbXVjaCBsZXNzIGNsZWFy IHdoZXRoZXIgYSBzZXBhcmF0b3Igc2hvdWxkIGJlDQppbmNsdWRlZCBpbiB0aGUgb3V0cHV0Lg0K DQpJbiB0aGUgZXhhbXBsZSBnaXZlbiwgaXQgaXMgdW5jbGVhciB3aGV0aGVyIHRoZSBvdXRwdXQg c2hvdWxkIGJlOg0KIHh5eiA1IGF6eXgNCm9yOg0KIHh5eiA1IGEgenl4DQoNCjEuIFNob3VsZCBh IHNlcGFyYXRvciBiZSBpbnNlcnRlZCBiZXR3ZWVuIHR3byBub24tZGVsaW1pdGVkIGNoYXJhY3Rl cg0KICAgc2VxdWVuY2VzIHdoZW4gb25lIG9mIHRoZSBjaGFyYWN0ZXIgc2VxdWVuY2VzIGlzIHdy aXR0ZW4gYnkgYSBjaGlsZA0KICAgZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnQsIGFuZCB0aGUgb3Ro ZXIgaXMgd3JpdHRlbiBieSBhIHBhcmVudCBkYXRhDQogICB0cmFuc2ZlciBzdGF0ZW1lbnQsIHdo ZXJlIGJvdGggc3RhdGVtZW50cyBhcmUgbGlzdC1kaXJlY3RlZD8NCg0KMi4gU2hvdWxkIGEgc2Vw YXJhdG9yIGJlIGluc2VydGVkIGJldHdlZW4gdHdvIG5vbi1kZWxpbWl0ZWQgY2hhcmFjdGVyDQog ICBzZXF1ZW5jZXMgd2hlbiB0aGUgY2hhcmFjdGVyIHNlcXVlbmNlcyBhcmUgd3JpdHRlbiBieSB0 d28gZGlmZmVyZW50DQogICBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudHMsIHdoZXJlIGJv dGggc3RhdGVtZW50cyBhcmUNCiAgIGxpc3QtZGlyZWN0ZWQ/DQoNCjMuIFNob3VsZCBhIHNlcGFy YXRvciBiZSBpbnNlcnRlZCBiZXR3ZWVuIHR3byBjaGFyYWN0ZXIgc2VxdWVuY2VzIHdoZW4NCiAg IG9uZSBvZiB0aGUgY2hhcmFjdGVyIHNlcXVlbmNlcyBpcyB3cml0dGVuIGJ5IGEgY2hpbGQgZGF0 YSB0cmFuc2Zlcg0KICAgc3RhdGVtZW50LCBhbmQgdGhlIG90aGVyIGlzIHdyaXR0ZW4gYnkgYSBw YXJlbnQgZGF0YSB0cmFuc2Zlcg0KICAgc3RhdGVtZW50LCB3aGVyZSBvbmUgb2YgdGhlIHN0YXRl bWVudHMgaXMgbGlzdC1kaXJlY3RlZCBhbmQgdGhlDQogICBvdGhlciBpcyBmb3JtYXQtZGlyZWN0 ZWQ/DQoNCjQuIFNob3VsZCBhIHNlcGFyYXRvciBiZSBpbnNlcnRlZCBiZXR3ZWVuIHR3byBjaGFy YWN0ZXIgc2VxdWVuY2VzIHdoZW4NCiAgIHRoZSBjaGFyYWN0ZXIgc2VxdWVuY2VzIGFyZSB3cml0 dGVuIGJ5IHR3byBkaWZmZXJlbnQgY2hpbGQgZGF0YQ0KICAgdHJhbnNmZXIgc3RhdGVtZW50cywg d2hlcmUgb25lIG9mIHRoZSBzdGF0ZW1lbnRzIGlzIGxpc3QtZGlyZWN0ZWQNCiAgIGFuZCB0aGUg b3RoZXIgaXMgZm9ybWF0LWRpcmVjdGVkPw0KDQpBTlNXRVI6DQoNCjEpIE5vLiBJdCBpcyB0aGUg aW50ZW50IG9mIHRoZSBzdGFuZGFyZCB0aGF0IHdoZW4gYm90aCB0aGUgcGFyZW50DQogICBhbmQg Y2hpbGQgZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnRzIGFyZSBib3RoIGxpc3QtZGlyZWN0ZWQNCiAg IG91dHB1dCBzdGF0ZW1lbnRzLCBvciBib3RoIGFyZSBuYW1lbGlzdCBvdXRwdXQgc3RhdGVtZW50 cywgdGhlDQogICBwcm9jZXNzb3IgdHJlYXRzIHRoZSBmaXJzdCBsaXN0IGl0ZW0gYXBwZWFyaW5n IGluIGEgY2hpbGQgZGF0YQ0KICAgdHJhbnNmZXIgc3RhdGVtZW50IGFzIGlmIHRoYXQgbGlzdCBp dGVtIGhhZCBpbW1lZGlhdGVseQ0KICAgZm9sbG93ZWQgdGhlIGxhc3QgbGlzdCBpdGVtIHByb2Nl c3NlZCBieSB0aGUgcGFyZW50IGRhdGENCiAgIHRyYW5zZmVyIHN0YXRlbWVudCwgYXMgbG9uZyBh cyBubyBvdGhlciBkYXRhIHRyYW5zZmVycyB0byB0aGF0DQogICB1bml0IG9jY3VycmVkIGluIGJl dHdlZW4gdGhlIHByb2Nlc3Npbmcgb2YgdGhvc2UgdHdvIGxpc3QgaXRlbXMuDQogICBUaGVyZWZv cmUsIGluIHRoaXMgY2FzZSwgdGhlIHR3byBjaGFyYWN0ZXIgc2VxdWVuY2VzIGFyZQ0KICAgY29u c2lkZXJlZCBhZGphY2VudC4NCg0KMikgTm8uIEl0IGlzIHRoZSBpbnRlbnQgb2YgdGhlIHN0YW5k YXJkIHRoYXQgd2hlbiB0d28gZGlmZmVyZW50DQogICBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0YXRl bWVudHMgYXJlIGJvdGggbGlzdC1kaXJlY3RlZCBvdXRwdXQNCiAgIHN0YXRlbWVudHMsIG9yIGJv dGggbmFtZWxpc3Qgb3V0cHV0IHN0YXRlbWVudHMsIHRoZXkgd3JpdGUgdG8gdGhlDQogICBzYW1l IHVuaXQsIGFuZCBubyBvdGhlciBkYXRhIHRyYW5zZmVycyB0byB0aGF0IHVuaXQgb2NjdXINCiAg IGluIGJldHdlZW4gdGhlIHR3byBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudHMsIHRoZSBw cm9jZXNzb3INCiAgIHRyZWF0cyB0aGUgZmlyc3QgbGlzdCBpdGVtIGFwcGVhcmluZyBpbiB0aGUg c2Vjb25kIGNoaWxkIGRhdGENCiAgIHRyYW5zZmVyIHN0YXRlbWVudCBhcyBpZiB0aGF0IGxpc3Qg aXRlbSBoYWQgaW1tZWRpYXRlbHkgZm9sbG93ZWQNCiAgIHRoZSBsYXN0IGxpc3QgaXRlbSBwcm9j ZXNzZWQgYnkgdGhlIGZpcnN0IGNoaWxkIGRhdGEgdHJhbnNmZXINCiAgIHN0YXRlbWVudC4gIFRo ZXJlZm9yZSwgaW4gdGhpcyBjYXNlLCB0aGUgdHdvIGNoYXJhY3RlciBzZXF1ZW5jZXMNCiAgIGFy ZSBjb25zaWRlcmVkIGFkamFjZW50Lg0KDQozKSBJdCBpcyBwcm9jZXNzb3IgZGVwZW5kZW50IHdo ZXRoZXIgb3Igbm90IGEgc2VwYXJhdG9yIGFwcGVhcnMNCiAgIGJldHdlZW4gdHdvIHN1Y2ggY2hh cmFjdGVyIHNlcXVlbmNlcy4gIEluIHNlY3Rpb24gMTAuOS4yLCB0aGUNCiAgIHBocmFzZSAiYWRq YWNlbnQgdW5kZWxpbWl0ZWQgY2hhcmFjdGVyIHNlcXVlbmNlcyIgcmVmZXJzIHRvDQogICBjaGFy YWN0ZXIgc2VxdWVuY2VzIHByb2R1Y2VkIGJ5IGxpc3QgZGlyZWN0ZWQgb3V0cHV0LiAgV2hlbiBv bmUgb2YNCiAgIHRoZSBzZXF1ZW5jZXMgaXMgd3JpdHRlbiBieSBhIGNoaWxkIG9yIHBhcmVudCBv dXRwdXQgc3RhdGVtZW50DQogICB0aGF0IGlzIG5vdCBsaXN0IGRpcmVjdGVkLCB0aGUgZXhjZXB0 aW9uIGRlc2NyaWJlZCBpbiB0aGUgZmlyc3QNCiAgIHBhcmFncmFwaCBvZiAxMC45LjIgZG9lcyBu b3QgYXBwbHkuIFRoZSBvdGhlciBydWxlcyBmb3IgaW5zZXJ0aW5nDQogICBvcHRpb25hbCBibGFu a3MgYXJvdW5kIHZhbHVlcyBpbiBsaXN0IGRpcmVjdGVkIG91dHB1dCBhbGxvdyB0aGUNCiAgIHBy b2Nlc3NvciB0byBpbnNlcnQgb3B0aW9uYWwgbGVhZGluZyBhbmQgdHJhaWxpbmcgYmxhbmtzIGFy b3VuZCBhDQogICBsaXN0IGl0ZW0uICBUaGUgc3RhbmRhcmQgZG9lcyBub3Qgc3BlY2lmeSB3aGVu IG9wdGlvbmFsIGJsYW5rcyBhcmUNCiAgIHdyaXR0ZW47IHRoZXJlZm9yZSwgd2hlbiB0d28gYWRq YWNlbnQgbGlzdCBpdGVtcyAodGhlIHZhbHVlcw0KICAgdGhlcmVvZikgYXJlIHdyaXR0ZW4gdG8g YW4gb3V0cHV0IHJlY29yZCwgYW5kIG9ubHkgb25lIG9mIHRoZW0gd2FzDQogICB3cml0dGVuIGJ5 IGxpc3QgZGlyZWN0ZWQgSS9PLCB0aGUgc3RhbmRhcmQgZG9lcyBub3Qgc3BlY2lmeQ0KICAgd2hl dGhlciBvciBub3QgYW55IG9wdGlvbmFsIGJsYW5rcyBhcHBlYXIgYmV0d2VlbiB0aG9zZSB2YWx1 ZXMgaW4NCiAgIHRoZSBvdXRwdXQgcmVjb3JkLg0KDQo0KSBJdCBpcyBwcm9jZXNzb3IgZGVwZW5k ZW50IHdoZXRoZXIgb3Igbm90IGEgc2VwYXJhdG9yIGFwcGVhcnMNCiAgIGJldHdlZW4gdHdvIHN1 Y2ggY2hhcmFjdGVyIHNlcXVlbmNlcy4gIFNlZSBhbnN3ZXIgMy4NCg0KRURJVFM6IE5vbmUNCg0K U1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMNCg0KSElTVE9SWTogMDUtMTQwICAgIG0xNzEgIEYwMy8w MDQ5IFN1Ym1pdHRlZA0KICAgICAgICAgMDUtMTQwcjEgIG0xNzEgIFBhc3NlZCBieSBKMyBtZWV0 aW5nDQogICAgICAgICAwNS0xNzAgICAgbTE3MiAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzEx DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA1MA0KVElUTEU6IFF1ZXN0aW9ucyBh Ym91dCBpbnRlcm5hbCBmaWxlcw0KS0VZV09SRFM6IGludGVybmFsIGZpbGUsIGRhdGEgdHJhbnNm ZXINCkRFRkVDVCBUWVBFOiBJbnRlcnByZXRhdGlvbg0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9u IGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpRdWVzdGlvbiAxOg0KDQpGb3J0cmFuIDIwMDMg ZG9lcyBub3Qgc2VlbSB0byBwcm9oaWJpdCB0aGlzIGtpbmQgb2YgcmVjdXJzaXZlIGludGVybmFs DQpJL08uICBXYXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1p bmc/ICBJZiBzbywNCnRoZW4gd2hhdCBkb2VzIHRoZSBwcm9ncmFtIHByaW50Pw0KDQpNT0RVTEUg bTENCiAgQ0hBUkFDVEVSKDIwKSA6OiBpZmlsZSA9ICcnDQpDT05UQUlOUw0KICBDSEFSQUNURVIo MykgRlVOQ1RJT04gZm9vKCkNCiAgICBXUklURShpZmlsZSwgKikgJ1FXRVJUWScNCiAgICBmb28g PSAnYWJjJw0KICBFTkQgRlVOQ1RJT04NCkVORCBNT0RVTEUNCg0KUFJPR1JBTSBleDENCiAgVVNF IG0xDQogIFdSSVRFKGlmaWxlLCAqKSAneHl6JywgZm9vKCksICd6eXgnDQogIFBSSU5UICosIGlm aWxlDQpFTkQgUFJPR1JBTQ0KDQpRdWVzdGlvbiAyOg0KDQpGb3J0cmFuIDIwMDMgZG9lcyBub3Qg c2VlbSB0byBwcm9oaWJpdCB0aGlzIGtpbmQgb2YgcmVjdXJzaXZlIGludGVybmFsDQpJL08uICBX YXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1pbmc/ICBJZiBz bywNCnRoZW4gd2hhdCBkb2VzIHRoZSBwcm9ncmFtIHByaW50Pw0KDQpNT0RVTEUgbTINCiAgQ0hB UkFDVEVSKDIwKSA6OiBpZmlsZSA9ICdhYmMgZGVmIGdoaSBqa2wgbW5vICcNCiAgQ0hBUkFDVEVS KDMpIDo6IGNoYXINCkNPTlRBSU5TDQogIENIQVJBQ1RFUigzKSBGVU5DVElPTiBmb28oKQ0KICAg IFJFQUQoaWZpbGUsICopIGNoYXINCiAgICBmb28gPSAnYWJjJw0KICBFTkQgRlVOQ1RJT04NCkVO RCBNT0RVTEUNCg0KUFJPR1JBTSBleDINCiAgVVNFIG0yDQogIFdSSVRFKGlmaWxlLCAqKSAneHl6 JywgZm9vKCksICd6eXgnDQogIFBSSU5UICosIGlmaWxlDQogIFBSSU5UICosIGNoYXINCkVORCBQ Uk9HUkFNDQoNClF1ZXN0aW9uIDM6DQoNCkZvcnRyYW4gMjAwMyBkb2VzIG5vdCBhcHBlYXIgdG8g cHJvaGliaXQgbW9kaWZ5aW5nIGEgY2hhcmFjdGVyDQp2YXJpYWJsZSB3aGVuIGl0IGlzIGJlaW5n IHVzZWQgYXMgYW4gaW50ZXJuYWwgZmlsZSBpbiBhIGRhdGEgdHJhbnNmZXINCnN0YXRlbWVudCB0 aGF0IGlzIGN1cnJlbnRseSBleGVjdXRpbmcuICBXYXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRv DQpiZSBzdGFuZGFyZC1jb25mb3JtaW5nPyAgSWYgc28sIHRoZW4gd2hhdCBkb2VzIHRoZSBwcm9n cmFtIHByaW50Pw0KDQpNT0RVTEUgbTMNCiAgQ0hBUkFDVEVSKDIwKSA6OiBpZmlsZSA9ICcnDQpD T05UQUlOUw0KICBDSEFSQUNURVIoMykgRlVOQ1RJT04gZm9vKCkNCiAgICBpZmlsZSA9ICdiYWQg dGhpbmcgdG8gZG8/Jw0KICAgIGZvbyA9ICdhYmMnDQogIEVORCBGVU5DVElPTg0KRU5EIE1PRFVM RQ0KDQpQUk9HUkFNIGV4Mw0KICBVU0UgbTMNCiAgV1JJVEUoaWZpbGUsICopICd4eXonLCBmb28o KSwgJ3p5eCcNCiAgUFJJTlQgKiwgaWZpbGUNCiAgUFJJTlQgKiwgZmxhZw0KRU5EIFBST0dSQU0N Cg0KUXVlc3Rpb24gNDoNCg0KRm9ydHJhbiAyMDAzIGRvZXMgbm90IGFwcGVhciB0byBwcm9oaWJp dCByZWZlcmVuY2luZyBhIGNoYXJhY3Rlcg0KdmFyaWFibGUgd2hlbiBpdCBpcyBiZWluZyB1c2Vk IGFzIGFuIGludGVybmFsIGZpbGUgaW4gYSBkYXRhIHRyYW5zZmVyDQpzdGF0ZW1lbnQgdGhhdCBp cyBjdXJyZW50bHkgZXhlY3V0aW5nLiAgV2FzIHRoaXMgcHJvZ3JhbSBpbnRlbmRlZCB0bw0KYmUg c3RhbmRhcmQtY29uZm9ybWluZz8gIElmIHNvLCB0aGVuIHdoYXQgZG9lcyB0aGUgcHJvZ3JhbSBw cmludD8NCg0KTU9EVUxFIG00DQogIENIQVJBQ1RFUigyMCkgOjogaWZpbGUgPSAnJw0KICBMT0dJ Q0FMIDo6IGZsYWcgPSAuRkFMU0UuDQpDT05UQUlOUw0KICBDSEFSQUNURVIoMykgRlVOQ1RJT04g Zm9vKCkNCiAgICBJRiAoaWZpbGUgPT0gJyB4eXonKSBUSEVODQogICAgICBmbGFnID0gLlRSVUUu DQogICAgRU5EIElGDQogICAgZm9vID0gJ2FiYycNCiAgRU5EIEZVTkNUSU9ODQpFTkQgTU9EVUxF DQoNClBST0dSQU0gZXg0DQogIFVTRSBtNA0KICBXUklURShpZmlsZSwgKikgJ3h5eicsIGZvbygp LCAnenl4Jw0KICBQUklOVCAqLCBpZmlsZQ0KICBQUklOVCAqLCBmbGFnDQpFTkQgUFJPR1JBTQ0K DQpBTlNXRVI6DQoNClRCRC4NCg0KRURJVFM6DQoNClRCRC4NCg0KU1VCTUlUVEVEIEJZOiBSb2Ig SmFtZXMNCg0KSElTVE9SWTogMDUtMTQxICBtMTcxICBGMDMvMDA1MCBTdWJtaXR0ZWQNCg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDUxDQpUSVRMRTogUmVwZWF0IHNwZWNpZmllcnMg YW5kIFVERFRJTw0KS0VZV09SRFM6IHJlcGVhdCBzcGVjaWZpZXIsIFBPUz0sIFVERFRJTw0KREVG RUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0K DQpRVUVTVElPTjoNCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQpNT0RVTEUg bQ0KDQogIFRZUEUgdA0KICAgIElOVEVHRVIgOjogaQ0KICAgIElOVEVHRVIgOjogag0KICBFTkQg VFlQRQ0KDQogIElOVEVHRVIgOjogaXBvcw0KDQogIElOVEVSRkFDRSBSRUFEKEZPUk1BVFRFRCkN CiAgICBNT0RVTEUgUFJPQ0VEVVJFIGZvcm1hdHRlZFJlYWRUDQogIEVORCBJTlRFUkZBQ0UNCg0K Q09OVEFJTlMNCg0KICBTVUJST1VUSU5FIGZvcm1hdHRlZFJlYWRUIChkdHYsIHVuaXQsIGlvdHlw ZSwgdmxpc3QsIGlvc3RhdCwgaW9tc2cpDQogICAgQ0xBU1MoVCksIElOVEVOVChJTk9VVCkgOjog ZHR2DQogICAgSU5URUdFUiwgSU5URU5UKElOKSA6OiB1bml0DQogICAgQ0hBUkFDVEVSKCopLCBJ TlRFTlQoSU4pIDo6IGlvdHlwZQ0KICAgIElOVEVHRVIsIElOVEVOVChJTikgOjogdmxpc3QoOikN CiAgICBJTlRFR0VSLCBJTlRFTlQoT1VUKSA6OiBpb3N0YXQNCiAgICBDSEFSQUNURVIoKiksIElO VEVOVChJTk9VVCkgOjogaW9tc2cNCg0KICAgIFJFQUQodW5pdCwgKikgZHR2JWkNCiAgICBJTlFV SVJFKHVuaXQsIFBPUz1pcG9zKQ0KICAgIFJFQUQodW5pdCwgKikgZHR2JWoNCiAgRU5EIFNVQlJP VVRJTkUNCg0KRU5EIE1PRFVMRQ0KDQpQUk9HUkFNIGZvbw0KICBVU0UgbQ0KICBUWVBFKHQpIDo6 IGENCiAgT1BFTigxMCwgRklMRT0nZmlsZS50eHQnLCBBQ0NFU1M9J3N0cmVhbScsIEZPUk09J2Zv cm1hdHRlZCcpDQogIFdSSVRFKDEwLCAnKEEpJykgJzIqMyA1Jw0KICBSRVdJTkQoMTApDQogIFJF QUQoMTAsICopIGENCiAgUFJJTlQgKiwgYSVpLCBhJWosIGlwb3MNCkVORCBQUk9HUkFNDQoNCjEw Ljkgb2YgRm9ydHJhbiAyMDAzIHN0YXRlcyB0aGF0IHRoZSByKmMgZm9ybSBvZiBsaXN0LWRpcmVj dGVkIGlucHV0DQppcyBlcXVpdmFsZW50IHRvIHIgb2NjdXJyZW5jZXMgb2YgYy4gIFNvLCB3aGVu IHRoZSByZWFkIGlzIHBlcmZvcm1lZCwNCml0IGlzIGFzIGlmIHRoZSBpbnB1dCByZWNvcmQgY29u dGFpbnMgdHdvIG9jY3VycmVuY2VzIG9mIHRoZSBudW1iZXIgMy4NCg0KVGhlIGZpcnN0IGNoaWxk IHJlYWQgc3RhdGVtZW50IHJlYWRzIHRoZSBmaXJzdCAzLCBhbmQgZG9lcyBub3QgYWR2YW5jZQ0K dGhlIGZpbGUgcG9zaXRpb24gdG8gdGhlIG5leHQgcmVjb3JkIChiZWNhdXNlIGl0IGlzIGEgY2hp bGQgZGF0YQ0KdHJhbnNmZXIgc3RhdGVtZW50KS4gIEl0IGFwcGVhcnMgdGhhdCB0aGUgc2Vjb25k IHJlYWQgc3RhdGVtZW50IHNob3VsZA0KcmVhZCB0aGUgc2Vjb25kIDMuICBCdXQgdGhlIGZpbGUg cG9zaXRpb24gYmV0d2VlbiB0aGUgY2hpbGQgcmVhZA0Kc3RhdGVtZW50cyBpcyB1bmNsZWFyLg0K DQpXaGF0IGRvZXMgdGhlIGFib3ZlIHByb2dyYW0gcHJpbnQ/DQoNCkFOU1dFUjoNCg0KVGhlIHN0 YW5kYXJkIGRvZXMgbm90IHNwZWNpZnkgdGhlIGJlaGF2aW9yIG9mIGEgcHJvY2Vzc29yIHdoZW4g YSBsaXN0DQpkaXJlY3RlZCBpbnB1dCByZWNvcmQgY29udGFpbnMgYSByKmMgY29uc3RhbnQsIGFu ZCB0aGF0IGVudGlyZSBzZXQNCm9mIGlucHV0IHZhbHVlcyBpcyBub3QgY29tcGxldGVseSBjb25z dW1lZCBieSBvbmUgbGlzdCBkaXJlY3RlZA0KaW5wdXQgc3RhdGVtZW50LiBJbiBwYXJ0aWN1bGFy LCB0aGUgZmlsZSBwb3NpdGlvbiBmb3Igc3VjaCBhbiBpbnB1dA0KZmlsZSB3aGVuIHRoZSBwcm9j ZXNzb3IgaXMgaW4gdGhlIG1pZGRsZSBvZiBjb25zdW1pbmcgYW4gcipjIHZhbHVlLA0KYW5kIGEg Y2hpbGQgaW5wdXQgc3RhdGVtZW50IGlzIGludm9rZWQsIGlzIG5vdCBkZWZpbmVkLiAgVGhpcyB3 YXMgYW4NCm92ZXJzaWdodC4gIEVkaXRzIGFyZSBzdXBwbGllZCB0byBwcm9oaWJpdCByKmMgY29u c3RhbnRzIGlzIHRoaXMNCmNhc2UuDQoNCkVESVRTOg0KDQpbMjM5OjE4XSBpbnNlcnQgdGhpcyBw YXJhZ3JhcGggYmVmb3JlIHRoZSBwYXJhZ3JhcGggdGhhdCBzdGFydHMgb24NCiAgICAgICAgIFsy Mzk6MThdIChqdXN0IGFmdGVyIG5vdGUgMTAuMjgpDQogICAgIldoZW4gYSBsaXN0IGl0ZW0gaW4g YSBsaXN0IGRpcmVjdGVkIGlucHV0IHN0YXRlbWVudCBjb25zdW1lcyB0aGUNCiAgICAgZmlyc3Qg dmFsdWUgb2YgYW4gPHIqYz4gY29uc3RhbnQsIHRoYXQgaW5wdXQgc3RhdGVtZW50IHNoYWxsDQog ICAgIGNvbnN1bWUgYWxsIDxyPiB2YWx1ZXMgb2YgdGhhdCA8cipjPiBjb25zdGFudCBiZWZvcmUg Y2F1c2luZyBhbnkNCiAgICAgY2hpbGQgaW5wdXQgc3RhdGVtZW50IHRvIGJlIGludm9rZWQgYW5k IGJlZm9yZSB0ZXJtaW5hdGluZyBpZiBhDQogICAgIHBhcmVudCBpbnB1dCBzdGF0ZW1lbnQgaXMg YWN0aXZlLiINCg0KU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMNCg0KSElTVE9SWTogMDUtMTQyICAg IG0xNzEgIEYwMy8wMDUxIFN1Ym1pdHRlZA0KICAgICAgICAgMDUtMTQycjIgIG0xNzEgIFBhc3Nl ZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNS0xNzAgICAgbTE3MiAgRmFpbGVkIEozIGxldHRl ciBiYWxsb3QgIzExDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA1Mw0KVElUTEU6 IFRoZSBCSU5EIGF0dHJpYnV0ZSBmb3IgQ19QVFIgYW5kIENfRlVOUFRSDQpLRVlXT1JEUzogQklO RCBhdHRyaWJ1dGUsIENfUFRSLCBDX0ZVTlBUUiwgcHJpdmF0ZSBjb21wb25lbnRzDQpERUZFQ1Qg VFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFV RVNUSU9OOg0KDQoxLiBEbyB0aGUgZGVyaXZlZCB0eXBlcyBDX1BUUiBhbmQgQ19GVU5QVFIgaGF2 ZSB0aGUgQklORA0KYXR0cmlidXRlPw0KDQpUaGlzIGFmZmVjdHMgd2hldGhlciBhbiBvYmplY3Qg b2Ygb25lIG9mIHRoZXNlIHR5cGVzIGlzIHBlcm1pdHRlZA0KZGlyZWN0bHkgaW4gQ09NTU9OLiAg QzU4OSwgcC4gOTggc3RhdGVzICJJZiBhIGNvbW1vbi1ibG9jay1vYmplY3QgaXMNCm9mIGEgZGVy aXZlZCB0eXBlLCBpdCBzaGFsbCBiZSBhIHNlcXVlbmNlIHR5cGUgKDQuNS4xKSBvciBhDQp0eXBl IHdpdGggdGhlIEJJTkQgYXR0cmlidXRlIGFuZCBpdCBzaGFsbCBoYXZlIG5vIGRlZmF1bHQNCmlu aXRpYWxpemF0aW9uLiINCg0KSXQgYWxzbyBhZmZlY3RzIHdoZXRoZXIgdGhlIHR5cGVzIGFyZSBl eHRlbnNpYmxlLiA0LjUuNiBzdGF0ZXMNCiJBIG5vbnNlcXVlbmNlIGRlcml2ZWQgdHlwZSB0aGF0 IGRvZXMgbm90IGhhdmUgdGhlIEJJTkQgYXR0cmlidXRlIGlzDQphbiBleHRlbnNpYmxlIHR5cGUu Ig0KDQoyLiAxNS4yLjIgc3RhdGVzIHRoYXQgQ19QVFIgYW5kIENfRlVOUFRSIGFyZSBkZXJpdmVk IHR5cGVzIHdpdGgNCnByaXZhdGUgY29tcG9uZW50cy4gQXJlIHVzZXItZGVmaW5lZCBkZXJpdmVk IHR5cGVzIHdpdGggdGhlIEJJTkQNCmF0dHJpYnV0ZSBwZXJtaXR0ZWQgdG8gaGF2ZSBwcml2YXRl IGNvbXBvbmVudHM/DQoNCkFOU1dFUjoNCg0KMS4gWWVzLCBpdCB3YXMgaW50ZW5kZWQgdGhhdCB0 aGVzZSB0eXBlcyBoYXZlIHRoZSBCSU5EIGF0dHJpYnV0ZS4NCkFuIGVkaXQgbWFrZXMgdGhpcyBj bGVhci4NCg0KMi4gQSB1c2VyLWRlZmluZWQgZGVyaXZlZCB0eXBlIHdpdGggdGhlIEJJTkQgYXR0 cmlidXRlIGlzIHBlcm1pdHRlZA0KdG8gaGF2ZSBwcml2YXRlIGNvbXBvbmVudHMuDQoNCkRJU0NV U1NJT046DQoNCjEuIEl0IHdhcyBpbnRlbmRlZCB0aGF0IHRoZSBiZWhhdmlvdXIgb2YgdGhlc2Ug dHlwZXMgYmUgc2ltaWxhciB0bw0KdGhhdCBvZiB1c2VyLWRlY2xhcmVkIGRlcml2ZWQgdHlwZXMg aW4gYWxsIHJlc3BlY3RzIGV4Y2VwdCB0aGF0DQp0aGV5IGludGVyb3BlcmF0ZSB3aXRoIEMgcG9p bnRlciB0eXBlcyByYXRoZXIgdGhhbiBDIHN0cnVjdCB0eXBlcy4NCkFzIHdlbGwgYXMgdGhlIHR3 byBjYXNlcyBjaXRlZCBpbiB0aGUgcXVlc3Rpb24sIHRoZXJlIGFyZSBzcGVjaWFsDQpjb25kaXRp b25zIGluIGEgcG9pbnRlciBhc3NpZ25tZW50IHN0YXRlbWVudCAoNy40LjIpIGlmIGVpdGhlciB0 aGUNCnBvaW50ZXIgb3IgdGhlIHRhcmdldCBoYXMgdGhlIEJJTkQgYXR0cmlidXRlLiBBbHNvLCB0 aGVyZSBpcyBhDQpyZXN0cmljdGlvbiBvbiB0eXBlcyB3aXRoIHRoZSBCSU5EIGF0dHJpYnV0ZSBp biBhIFNFTEVDVCBUWVBFDQpzdGF0ZW1lbnQgKDguMS41KS4NCg0KMi4gVGhlIHJ1bGVzIGZvciB0 aGUgaW50ZXJvcGVyYWJpbGl0eSBvZiBhIEMgc3RydWN0IHR5cGUgd2l0aCBhDQpGb3J0cmFuIGRl cml2ZWQgdHlwZSBhcmUgbGVzcyByZXN0cmljdGl2ZSB0aGFuIHRoZSBydWxlcyBpbg0KNC41LjEu MyB0aGF0IGRldGVybWluZSB3aGV0aGVyIHR3byBzZXBhcmF0ZWx5IGRlY2xhcmVkIEZvcnRyYW4N CnR5cGVzLCBib3RoIHdpdGggdGhlIEJJTkQgYXR0cmlidXRlLCBhcmUgdGhlIHNhbWUuIEZvciB0 aGUgdHlwZXMNCnRvIGJlIHRoZSBzYW1lLCB0aGUgbmFtZXMgb2YgY29ycmVzcG9uZGluZyBjb21w b25lbnRzIG11c3QgYWdyZWUgYW5kDQphbGwgY29tcG9uZW50cyBtdXN0IGJlIHB1YmxpYy4gSXQg Zm9sbG93cyB0aGF0IHR3byB0eXBlcyBtYXkgYmUNCmRpZmZlcmVudCBhbHRob3VnaCB0aGV5IGJv dGggaW50ZXJvcGVyYXRlIHdpdGggdGhlIHNhbWUgQyBzdHJ1Y3QNCnR5cGUuDQoNCkVESVRTOg0K DQpQYWdlIGFuZCBsaW5lIG51bWJlcnMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMzk3OjNdIFN1YmNs YXVzZSAxNS4yLjIuIEF0IHRoZSBlbmQgb2YgdGhlIGZpcnN0IHBhcmFncmFwaCBhZGQNCiJFYWNo IGhhcyB0aGUgQklORCBhdHRyaWJ1dGUgYnV0IGlzIG5vdCBpbnRlcm9wZXJhYmxlIHdpdGggYW55 IEMNCnN0cnVjdCB0eXBlLiINCg0KU1VCTUlUVEVEIEJZOiBKb2huIFJlaWQNCg0KSElTVE9SWTog MDUtMTUxICAgIG0xNzEgIEYwMy8wMDUzIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAw NS0xNzAgICAgbTE3MiAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzExDQogICAgICAgICBOMTYy MiAgICAgbTE3MiAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpO VU1CRVI6IEYwMy8wMDU2DQpUSVRMRTogTnVsbCBpbnB1dCB2YWx1ZXMgYW5kIGxpc3QtZGlyZWN0 ZWQgVUREVElPDQpLRVlXT1JEUzogbnVsbCB2YWx1ZSwgVUREVElPDQpERUZFQ1QgVFlQRTogSW50 ZXJwcmV0YXRpb24NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJ T046DQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToNCg0KICAgICAgTU9EVUxFIG0N CiAgICAgICAgUFJJVkFURQ0KICAgICAgICBUWVBFLCBQVUJMSUMgOjogdA0KICAgICAgICAgIElO VEVHRVIgaQ0KICAgICAgICAgIElOVEVHRVIgag0KICAgICAgICBDT05UQUlOUw0KICAgICAgICAg IFBST0NFRFVSRSwgUFJJVkFURSA6OiByZWFkRm9ybWF0dGVkID0+IHJlYWRGb3JtYXR0ZWRUDQog ICAgICAgICAgR0VORVJJQyA6OiBSRUFEKEZPUk1BVFRFRCkgPT4gcmVhZEZvcm1hdHRlZA0KICAg ICAgICBFTkQgVFlQRQ0KICAgICAgQ09OVEFJTlMNCiAgICAgICAgU1VCUk9VVElORSByZWFkZm9y bWF0dGVkVChkdHYsIHVuaXQsIGlvdHlwZSwgdl9saXN0LCBpb3N0YXQsIGlvbXNnKQ0KICAgICAg ICAgIENMQVNTKHQpLCAgICAgSU5URU5UKElOT1VUKSA6OiBkdHYNCiAgICAgICAgICBJTlRFR0VS LCAgICAgIElOVEVOVChJTikgICAgOjogdW5pdA0KICAgICAgICAgIENIQVJBQ1RFUigqKSwgSU5U RU5UKElOKSAgICA6OiBpb3R5cGUNCiAgICAgICAgICBJTlRFR0VSLCAgICAgIElOVEVOVChJTikg ICAgOjogdl9saXN0KDopDQogICAgICAgICAgSU5URUdFUiwgICAgICBJTlRFTlQoT1VUKSAgIDo6 IGlvc3RhdA0KICAgICAgICAgIENIQVJBQ1RFUigqKSwgSU5URU5UKElOT1VUKSA6OiBpb21zZw0K ICAgICAgICAgIFJFQUQgKHVuaXQsICopIGR0diVpDQogICAgICAgICAgUkVBRCAodW5pdCwgKikg ZHR2JWoNCiAgICAgICAgRU5EIFNVQlJPVVRJTkUNCiAgICAgIEVORCBNT0RVTEUNCg0KICAgICAg UFJPR1JBTSBwDQogICAgICAgIFVTRSBtDQogICAgICAgIElOVEVHRVIgaQ0KICAgICAgICBUWVBF KHQpIHgsIHksIHoNCiAgICAgICAgeCVpID0gMTANCiAgICAgICAgeCVqID0gMTUNCiAgICAgICAg eSVpID0gMjANCiAgICAgICAgeSVqID0gMjUNCiAgICAgICAgeiVpID0gMzANCiAgICAgICAgeiVq ID0gMzUNCiAgICAgICAgaSA9IDEwMA0KICAgICAgICBSRUFEICgqLCopIHgsIHksIHosIGkNCiAg ICAgICAgUFJJTlQgKiwgeCwgeSwgeiwgaQ0KICAgICAgRU5EIFBST0dSQU0NCg0KVGhlIGZvbGxv d2luZyBpcyBnaXZlbiBhcyBpbnB1dCB0byB0aGlzIHByb2dyYW06DQoNCjEwNDQgMjE2NyAzOTc3 IC8NCjEgMiAzDQoNCg0KMTAuOS4xLjEgb2YgRm9ydHJhbiAyMDAzIChOdWxsIHZhbHVlcykgc3Rh dGVzOg0KDQogICAgQSBzbGFzaCBlbmNvdW50ZXJlZCBhcyBhIHZhbHVlIHNlcGFyYXRvciBkdXJp bmcgZXhlY3V0aW9uIG9mIGENCiAgICBsaXN0LWRpcmVjdGVkIGlucHV0IHN0YXRlbWVudCBjYXVz ZXMgdGVybWluYXRpb24gb2YgZXhlY3V0aW9uIG9mDQogICAgdGhhdCBpbnB1dCBzdGF0ZW1lbnQg YWZ0ZXIgdGhlIGFzc2lnbm1lbnQgb2YgdGhlIHByZXZpb3VzIHZhbHVlLg0KDQpJZiBhIGNoaWxk IGRhdGEgdHJhbnNmZXIgc3RhdGVtZW50IGVuY291bnRlcnMgYSBzbGFzaCBhcyBhIHZhbHVlDQpz ZXBhcmF0b3IsIGl0IGlzIHVuY2xlYXIgd2hldGhlciB0aGlzIHN0YXRlbWVudCBhcHBsaWVzIHRv IGp1c3QgdGhlDQpjaGlsZCBzdGF0ZW1lbnQsIG9yIHRvIHRoZSBwYXJlbnQgZGF0YSB0cmFuc2Zl ciBzdGF0ZW1lbnQgYXMgd2VsbC4NClRoZSBzaWduaWZpY2FuY2UgZm9yIGFueSBzdWJzZXF1ZW50 IGNoaWxkIHN0YXRlbWVudCBpcyBhbHNvIHVuY2xlYXIuDQoNCldoYXQgaXMgdGhlIGJlaGF2aW91 ciBvZiB0aGlzIHByb2dyYW0gd2hlbiBpdCBpcyBnaXZlbiB0aGUgc3BlY2lmaWVkDQppbnB1dD8N Cg0KDQpBTlNXRVI6DQoNCldoZW4gYSBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudCBlbmNv dW50ZXJzIGEgc2xhc2ggYXMgYSB2YWx1ZQ0Kc2VwYXJhdG9yLCBvbmx5IHRoYXQgZGF0YSB0cmFu c2ZlciBzdGF0ZW1lbnQgZW5jb3VudGVycyB0aGUgc2xhc2guDQpOb25lIG9mIGl0cyBwYXJlbnQg ZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnRzIGVuY291bnRlcnMgdGhlIHNsYXNoLg0KT25seSB0aGUg ZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnQgdGhhdCBlbmNvdW50ZXJzIHRoZSBzbGFzaCBpcw0KdGVy bWluYXRlZC4NCg0KVGhlIHByb2dyYW0gYWJvdmUgc2hvdWxkIHByaW50IHRoZSBmb2xsb3dpbmc6 DQogMTA0NC4yMTY3LjM5NzcuMjUuMS4yLjMNCndoZXJlICIuIiByZXByZXNlbnRzIGEgdmFsdWUg c2VwYXJhdG9yLg0KDQoNCkVESVRTOg0KDQpOb25lLg0KDQoNClNVQk1JVFRFRCBCWTogUm9iIEph bWVzDQoNCkhJU1RPUlk6IDA1LTE3MSAgICBtMTcyICBGMDMvMDA1NiBTdWJtaXR0ZWQNCiAgICAg ICAgIDA1LTIxOCAgICBtMTczICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDYtMTMz ICAgIG0xNzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K TlVNQkVSOiBGMDMvMDA1Nw0KVElUTEU6IE5hbWVsaXN0IEkvTyBhbmQgVUREVElPDQpLRVlXT1JE UzogbmFtZWxpc3QsIFVERFRJTw0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2Vk IGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoNCkNhbiBuYW1lbGlzdCBJL08gZXZl ciBpbnZva2UgYSB1c2VyLWRlZmluZWQgZGVyaXZlZC10eXBlIEkvTw0KcHJvY2VkdXJlPw0KDQox MC4xMC4xLjIgb2YgRm9ydHJhbiAyMDAzIChOYW1lbGlzdCBpbnB1dCB2YWx1ZXMpIGltcGxpZXMg dGhhdA0KbmFtZWxpc3QgaW5wdXQgY2Fubm90IGludm9rZSBhIHVzZXItZGVmaW5lZCBkZXJpdmVk LXR5cGUgSS9PDQpwcm9jZWR1cmUuICBJdCBzYXlzIHRoYXQsIGZvciBhIGRlcml2ZWQtdHlwZSB2 YXJpYWJsZSwgInRoZSBlZmZlY3QgaXMNCmFzIGlmIHRoZSB2YXJpYWJsZSByZXByZXNlbnRlZCB3 ZXJlIGV4cGFuZGVkIGludG8gYSBzZXF1ZW5jZSBvZiBzY2FsYXINCmxpc3QgaXRlbXMgb2YgaW50 cmluc2ljIGRhdGEgdHlwZXMiLCB3aGljaCB3b3VsZCBwcmVjbHVkZSBhbnkNCmRlcml2ZWQtdHlw ZSBJL08uDQoNCkhvd2V2ZXIsIHRoZSBzYW1lIHNlbnRlbmNlIHNheXMgdGhhdCB0aGlzIGlzIGRv bmUgImluIHRoZSBzYW1lIHdheQ0KdGhhdCBmb3JtYXR0ZWQgaW5wdXQvb3V0cHV0IGxpc3QgaXRl bXMgYXJlIGV4cGFuZGVkICg5LjUuMikiLCB3aGljaA0Kd291bGQgcmVzdWx0IGluIHNvbWUgZWZm ZWN0aXZlIGxpc3QgaXRlbXMgb2YgZGVyaXZlZCB0eXBlLg0KDQo5LjUuMy42IGFuZCA5LjUuMy43 LjIgYWxzbyBpbXBseSB0aGF0IGEgdXNlci1kZWZpbmVkIGRlcml2ZWQtdHlwZSBJL08NCnByb2Nl ZHVyZSBjb3VsZCBiZSBpbnZva2VkIGZvciBhIG5hbWVsaXN0IGdyb3VwIG9iamVjdC4NCg0KDQpB TlNXRVI6DQoNClllcywgbmFtZWxpc3QgSS9PIGNhbiBpbnZva2UgYSB1c2VyLWRlZmluZWQgZGVy aXZlZC10eXBlIEkvTw0KcHJvY2VkdXJlLiAgRWRpdHMgYXJlIHByb3ZpZGVkIHRvIGNvcnJlY3Qg dGhpcyBwcm9ibGVtLg0KDQoNCkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0K DQpbMjQ0OjhdICAgUmVtb3ZlICJvZiBpbnRyaW5zaWMgZGF0YSB0eXBlcyIuDQoNClsyNDQ6MTBd ICBSZW1vdmUgImludHJpbnNpYyIuDQoNCg0KU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMNCg0KSElT VE9SWTogMDUtMTcyICAgIG0xNzIgIEYwMy8wMDU3IFN1Ym1pdHRlZA0KICAgICAgICAgMDUtMjE5 ICAgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAwNi0xMzMgICAgbTE3NSAg UGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYw My8wMDU4DQpUSVRMRTogUmVjdXJzaXZlIG5hbWVsaXN0IG91dHB1dA0KS0VZV09SRFM6IFVERFRJ TywgbmFtZWxpc3QsIG91dHB1dA0KREVGRUNUIFRZUEU6IEludGVycHJldGF0aW9uDQpTVEFUVVM6 IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNClFVRVNUSU9OOg0KDQpDb25zaWRlciB0aGUg Zm9sbG93aW5nIHByb2dyYW06DQoNCiAgICAgIE1PRFVMRSBtb2QNCiAgICAgICAgUFJJVkFURQ0K ICAgICAgICBUWVBFLCBQVUJMSUMgOjogbm9kZQ0KICAgICAgICAgIElOVEVHRVIgOjogdmFsdWUg PSAwDQogICAgICAgIENPTlRBSU5TDQogICAgICAgICAgUFJPQ0VEVVJFLCBQUklWQVRFIDo6IG5v ZGVGb3JtYXR0ZWRXcml0ZSA9PiB3cml0ZXJvdXRpbmUNCiAgICAgICAgICBHRU5FUklDIDo6IFdS SVRFKEZPUk1BVFRFRCkgPT4gbm9kZUZvcm1hdHRlZFdyaXRlDQogICAgICAgIEVORCBUWVBFDQog ICAgICBDT05UQUlOUw0KICAgICAgICBTVUJST1VUSU5FIHdyaXRlcm91dGluZShkdHYsIHVuaXQs IGlvdHlwZSwgdmxpc3QsIGlvc3RhdCwgaW9tc2cpDQogICAgICAgICAgQ0xBU1Mobm9kZSksIElO VEVOVChJTikgOjogZHR2DQogICAgICAgICAgSU5URUdFUiwgSU5URU5UKElOKSA6OiB1bml0DQog ICAgICAgICAgQ0hBUkFDVEVSKExFTj0qKSwgSU5URU5UKElOKSA6OiBpb3R5cGUNCiAgICAgICAg ICBJTlRFR0VSLCBJTlRFTlQoSU4pIDo6IHZsaXN0KDopDQogICAgICAgICAgSU5URUdFUiwgSU5U RU5UKE9VVCkgOjogaW9zdGF0DQogICAgICAgICAgQ0hBUkFDVEVSKExFTj0qKSwgSU5URU5UKElO T1VUKSA6OiBpb21zZw0KDQogICAgICAgICAgUkVBTCBhDQogICAgICAgICAgTkFNRUxJU1QgL2lu bmVyLyBhDQogICAgICAgICAgYSA9IDQuMA0KICAgICAgICAgIFdSSVRFKHVuaXQsIE5NTD1pbm5l cikNCiAgICAgICAgRU5EIFNVQlJPVVRJTkUNCiAgICAgIEVORCBNT0RVTEUNCg0KICAgICAgUFJP R1JBTSBmb28NCiAgICAgICAgVVNFIG1vZA0KICAgICAgICBUWVBFKG5vZGUpIDo6IGEoMikNCiAg ICAgICAgTkFNRUxJU1QgL291dGVyLyBhDQogICAgICAgIGEoMSkldmFsdWUgPSAxDQogICAgICAg IGEoMikldmFsdWUgPSAyDQogICAgICAgIFdSSVRFKCosIE5NTD1vdXRlcikNCiAgICAgIEVORCBQ Uk9HUkFNDQoNCklzIHRoZSBmb2xsb3dpbmcgb3V0cHV0IHN0YW5kYXJkLWNvbmZvcm1pbmcgZm9y IHRoZSBhYm92ZSBwcm9ncmFtPyAgSWYNCm5vdCwgcGxlYXNlIGdpdmUgYW4gZXhhbXBsZSBvZiBz dGFuZGFyZC1jb25mb3JtaW5nIG91dHB1dC4NCg0KICZPVVRFUg0KIEE9ICZJTk5FUg0KIEE9NC4w MDAwMDAwMDANCiAvLCAgJklOTkVSDQogQT00LjAwMDAwMDAwMA0KIC8NCiAvDQoNCkFOU1dFUjoN Cg0KWWVzDQoNCkVESVRTOg0KDQpOb25lDQoNClNVQk1JVFRFRCBCWTogUm9iIEphbWVzDQoNCkhJ U1RPUlk6IDA1LTE3MyAgICBtMTcyICBGMDMvMDA1OCBTdWJtaXR0ZWQNCiAgICAgICAgIDA1LTIy MCAgICBtMTczICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDYtMTMzICAgIG0xNzUg IFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBG MDMvMDA1OQ0KVElUTEU6IFN0cnVjdHVyZSBjb21wb25lbnRzIGluIG5hbWVsaXN0IGlucHV0DQpL RVlXT1JEUzogTmFtZWxpc3QsIFVERFRJTywgY29tcG9uZW50DQpERUZFQ1QgVFlQRTogRXJyYXR1 bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpD b25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW06DQoNCiAgICAgIE1PRFVMRSBtDQogICAgICAg IFBSSVZBVEUNCiAgICAgICAgVFlQRSwgUFVCTElDIDo6IHQNCiAgICAgICAgICBJTlRFR0VSIDo6 IGkNCiAgICAgICAgICBJTlRFR0VSIDo6IGoNCiAgICAgICAgQ09OVEFJTlMNCiAgICAgICAgICBQ Uk9DRURVUkUsIFBSSVZBVEUgOjogcmVhZEZvcm1hdHRlZCA9PiByZWFkRm9ybWF0dGVkVA0KICAg ICAgICAgIEdFTkVSSUMgOjogUkVBRChGT1JNQVRURUQpID0+IHJlYWRGb3JtYXR0ZWQNCiAgICAg ICAgRU5EIFRZUEUNCiAgICAgIENPTlRBSU5TDQogICAgICAgIFNVQlJPVVRJTkUgcmVhZGZvcm1h dHRlZFQoZHR2LCB1bml0LCBpb3R5cGUsIHZfbGlzdCwgaW9zdGF0LCBpb21zZykNCiAgICAgICAg ICBDTEFTUyh0KSwgICAgIElOVEVOVChJTk9VVCkgOjogZHR2DQogICAgICAgICAgSU5URUdFUiwg ICAgICBJTlRFTlQoSU4pICAgIDo6IHVuaXQNCiAgICAgICAgICBDSEFSQUNURVIoKiksIElOVEVO VChJTikgICAgOjogaW90eXBlDQogICAgICAgICAgSU5URUdFUiwgICAgICBJTlRFTlQoSU4pICAg IDo6IHZfbGlzdCg6KQ0KICAgICAgICAgIElOVEVHRVIsICAgICAgSU5URU5UKE9VVCkgICA6OiBp b3N0YXQNCiAgICAgICAgICBDSEFSQUNURVIoKiksIElOVEVOVChJTk9VVCkgOjogaW9tc2cNCiAg ICAgICAgICBSRUFEICh1bml0LCAqKSBkdHYlaQ0KICAgICAgICAgIGR0diVqID0gZHR2JWkgKiAy DQogICAgICAgIEVORCBTVUJST1VUSU5FDQogICAgICBFTkQgTU9EVUxFDQogICANCiAgICAgIFBS T0dSQU0gcA0KICAgICAgICBVU0UgbQ0KICAgICAgICBUWVBFKHQpIDo6IHgNCiAgICAgICAgTkFN RUxJU1QgL25tbC8geA0KICAgICAgICBSRUFEICgqLCBubWwpDQogICAgICAgIFBSSU5UICosIHgl aSwgeCVqDQogICAgICBFTkQgUFJPR1JBTQ0KDQpRdWVzdGlvbiAxOg0KSXMgdGhlIGZvbGxvd2lu ZyBpbnB1dCB2YWxpZCBmb3IgdGhlIGFib3ZlIHByb2dyYW0/DQoNCiZubWwNCiB4JWkgPSAxMDAN Ci8NCg0KUXVlc3Rpb24gMjoNCklmIHRoZSBpbnB1dCBpcyB2YWxpZCwgd2hhdCBpcyB0aGUgb3V0 cHV0IG9mIHRoZSBwcm9ncmFtLCB3aGVuIHVzaW5nDQp0aGlzIGlucHV0Pw0KDQpBTlNXRVI6DQoN CjEuIE5vLCB0aGlzIGlucHV0IGlzIG5vdCB2YWxpZCBmb3IgdGhlIGdpdmVuIHByb2dyYW0uICBU aGUgbmFtZSBvZiBhDQpjb21wb25lbnQgb2YgYSBzdHJ1Y3R1cmUgc2hvdWxkIG5vdCBhcHBlYXIg aW4gbmFtZWxpc3QgaW5wdXQgaWYgdGhhdA0Kc3RydWN0dXJlIHdvdWxkIGJlIHByb2Nlc3NlZCBi eSBhIHVzZXItZGVmaW5lZCBkZXJpdmVkLXR5cGUgSS9PDQpwcm9jZWR1cmUuICBFZGl0cyBhcmUg c3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KMi4gTi9BDQoNCkVESVRTOg0K DQpbMjQzOjI0LTI3XQ0KUmVwbGFjZQ0KICAgICJJZiB0aGUgbmFtZWxpc3QgZ3JvdXAgb2JqZWN0 IG5hbWUgaXMgdGhlIG5hbWUgb2YgYSB2YXJpYWJsZSBvZiBkZXJpdmVkDQogICAgIHR5cGUsIHRo ZSBuYW1lIGluIHRoZSBpbnB1dCByZWNvcmQgbWF5IGJlIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUg dmFyaWFibGUNCiAgICAgb3IgdGhlIGRlc2lnbmF0b3Igb2Ygb25lIG9mIGl0cyBjb21wb25lbnRz LCBpbmRpY2F0ZWQgYnkgcXVhbGlmeWluZyB0aGUNCiAgICAgdmFyaWFibGUgbmFtZSB3aXRoIHRo ZSBhcHByb3ByaWF0ZSBjb21wb25lbnQgbmFtZS4iDQp3aXRoDQogICAgIklmIHRoZSBuYW1lbGlz dCBncm91cCBvYmplY3QgaXMgYSB2YXJpYWJsZSBvZiBkZXJpdmVkIHR5cGUsIHRoZSBuYW1lIGlu DQogICAgIHRoZSBpbnB1dCByZWNvcmQgbWF5IGJlIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZS4g IElmIHRoZSB2YXJpYWJsZSB3b3VsZA0KICAgICBub3QgYmUgcHJvY2Vzc2VkIGJ5IGEgdXNlci1k ZWZpbmVkIGRlcml2ZWQtdHlwZSBpbnB1dC9vdXRwdXQgcHJvY2VkdXJlLA0KICAgICB0aGUgbmFt ZSBpbiB0aGUgaW5wdXQgcmVjb3JkIG1heSBhbHNvIGJlIHRoZSBkZXNpZ25hdG9yIG9mIG9uZSBv ZiBpdHMNCiAgICAgY29tcG9uZW50cywgdXNpbmcgdGhlIHN5bnRheCBvZiBvYmplY3QgZGVzaWdu YXRvcnMuIg0KDQpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNS0xNzQgICAg bTE3MiAgRjAzLzAwNTkgU3VibWl0dGVkDQogICAgICAgICAwNS0yMjEgICAgbTE3MyAgUGFzc2Vk IGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBGYWlsZWQgSjMgbGV0dGVy IGJhbGxvdCAjMTIgLSB0eXBvIGZpeGVkDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMv MDA2MA0KVElUTEU6IERlZmF1bHQgaW5pdGlhbGl6YXRpb24gb2YgSU5URU5UKE9VVCksIGFzc3Vt ZWQtc2l6ZSBhcnJheXMNCktFWVdPUkRTOiBkZWZhdWx0IGluaXRpYWxpemF0aW9uLCBJTlRFTlQo T1VUKSwgYXNzdW1lZCBzaXplLCBwb2x5bW9ycGhpc20NCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpT VEFUVVM6IFBhc3NlZCAgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KQ29uc2lk ZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQogICAgICBNT0RVTEUgbQ0KICAgICAgICBUWVBF IGJhc2UNCiAgICAgICAgICBJTlRFR0VSIEkNCiAgICAgICAgRU5EIFRZUEUNCiAgICAgICAgVFlQ RSwgRVhURU5EUyhiYXNlKSA6OiBjaGlsZA0KICAgICAgICAgIElOVEVHRVIgOjogaiA9IDUNCiAg ICAgICAgRU5EIFRZUEUNCiAgICAgIENPTlRBSU5TDQogICAgICAgIFNVQlJPVVRJTkUgc3ViKGIp DQogICAgICAgICAgQ0xBU1MoYmFzZSksIElOVEVOVChPVVQpIDo6IGIoKikNCiAgICAgICAgRU5E IFNVQlJPVVRJTkUNCiAgICAgIEVORCBNT0RVTEUNCg0KICAgICAgUFJPR1JBTSBmb28NCiAgICAg ICAgVVNFIG0NCiAgICAgICAgVFlQRShjaGlsZCkgOjogYygzKQ0KICAgICAgICBjJWkgPSAxMg0K ICAgICAgICBjJWogPSA0Nw0KICAgICAgICBDQUxMIHN1YihjKQ0KICAgICAgICBQUklOVCAqLCBj JWoNCiAgICAgIEVORCBQUk9HUkFNDQoNCkM1NDQgcHJldmVudHMgbm9ucG9seW1vcnBoaWMsIElO VEVOVChPVVQpLCBhc3N1bWVkLXNpemUgYXJyYXlzIGZyb20NCmhhdmluZyBkZWZhdWx0IGluaXRp YWxpemF0aW9uLiAgVGhlIHBvbHltb3JwaGljIGNhc2UsIGhvd2V2ZXIsIGlzIG5vdA0KY2hlY2th YmxlIGF0IGNvbXBpbGUgdGltZSwgc28gaXQgY2Fubm90IGJlIGEgY29uc3RyYWludC4NCg0KV2Fz IGl0IGludGVuZGVkIHRoYXQgdGhlIGR5bmFtaWMgdHlwZSBvZiBhbiBJTlRFTlQoT1VUKSwgYXNz dW1lZC1zaXplDQphcnJheSBjb3VsZCBoYXZlIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24/ICBJZiBz bywgd2hhdCBkb2VzIHRoZSBhYm92ZQ0KcHJvZ3JhbSBwcmludD8NCg0KQU5TV0VSOg0KDQpObywg dGhpcyB3YXMgbm90IGludGVuZGVkLg0KDQpUaGlzIGludGVycCBpcyBzdWJzdW1lZCBieSBGb3J0 cmFuIDIwMDMgaW50ZXJwICMgNDUsDQp3aGljaCBjb250YWlucyBlZGl0cyBtYWtpbmcgdGhlIGFi b3ZlIGV4YW1wbGUgbm9uLWNvbmZvcm1pbmcuDQoNCkVESVRTOg0KDQpOb25lDQoNClNVQk1JVFRF RCBCWTogUm9iIEphbWVzDQoNCkhJU1RPUlk6IDA1LTE3NSAgICBtMTcyICBGMDMvMDA2MCBTdWJt aXR0ZWQNCiAgICAgICAgIDA1LTIyMiAgICBtMTczICBFZGl0IHByb3ZpZGVkDQogICAgICAgICAw NS0yMjJyMSAgbTE3MyAgU3Vic3VtZWQgYnkgMDA0NSAtIFBhc3NlZCAgYnkgSjMgbWVldGluZw0K ICAgICAgICAgMDYtMTMzICAgIG0xNzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA2MQ0KVElUTEU6IFBvbHltb3JwaGlzbSBhbmQg ZXhwbGljaXQtc2hhcGUgb3IgYXNzdW1lZC1zaXplIGR1bW15IGFyZ3VtZW50cw0KS0VZV09SRFM6 IHBvbHltb3JwaGlzbSwgYXNzdW1lZCBzaXplLCBhY3R1YWwgYXJndW1lbnQsIGR1bW15IGFyZ3Vt ZW50DQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJh bGxvdA0KDQpRVUVTVElPTjoNCg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOg0KDQog ICAgICBNT0RVTEUgbQ0KICAgICAgICBUWVBFIHQxDQogICAgICAgICAgSU5URUdFUiA6OiBpDQog ICAgICAgIEVORCBUWVBFDQogICAgICBDT05UQUlOUw0KICAgICAgICBTVUJST1VUSU5FIGFiYyAo YikNCiAgICAgICAgICBDTEFTUyh0MSkgOjogYigqKQ0KICAgICAgICAgIEVYVEVSTkFMIHh5eg0K ICAgICAgICAgIENBTEwgeHl6KGIoMikpDQogICAgICAgIEVORCBTVUJST1VUSU5FDQogICAgICBF TkQgTU9EVUxFDQoNCiAgICAgIFNVQlJPVVRJTkUgeHl6KGQpDQogICAgICAgIFVTRSBtDQogICAg ICAgIFRZUEUodDEpIDo6IGQoMiwzKQ0KICAgICAgRU5EIFNVQlJPVVRJTkUNCg0KICAgICAgUFJP R1JBTSBmb28NCiAgICAgICAgVVNFIG0NCiAgICAgICAgVFlQRSwgRVhURU5EUyh0MSkgOjogdDIN CiAgICAgICAgICBJTlRFR0VSIDo6IGoNCiAgICAgICAgRU5EIFRZUEUNCiAgICAgICAgVFlQRSh0 MikgYSgxMCkNCiAgICAgICAgQ0FMTCBhYmMoYSgyKSkNCiAgICAgIEVORCBQUk9HUkFNDQoNCkR1 cmluZyB0aGUgZXhlY3V0aW9uIG9mICJ4eXoiLCB0aGUgZHVtbXkgYXJndW1lbnQgImQiIGlzIHNl cXVlbmNlDQphc3NvY2lhdGVkIHdpdGggdGhlIGFzc29jaWF0ZWQgYWN0dWFsIGFyZ3VtZW50ICh3 aGljaCBpcyB0cnVlIGlmICJkIg0KaGFzIGVpdGhlciBleHBsaWNpdCBzaGFwZSBvciBhc3N1bWVk IHNpemUpLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlDQplbnRpdHkgdGhhdCBpcyBhcmd1bWVudCBh c3NvY2lhdGVkIHdpdGggImQiIG11c3QgYmUgY29udGlndW91cy4NCg0KVGhlIGR1bW15IGFyZ3Vt ZW50ICJiIiBvZiB0aGUgbW9kdWxlIHN1YnJvdXRpbmUgImFiYyIgaXMgcG9seW1vcnBoaWMsDQph bmQgaXRzIGR5bmFtaWMgdHlwZSBpbiB0aGlzIGNhc2UgaXMgZGlmZmVyZW50IHRoYW4gaXRzIGRl Y2xhcmVkIHR5cGUuDQpJbiB0aGlzIHNjb3BpbmcgdW5pdCwgInh5eiIgaGFzIGFuIGltcGxpY2l0 IGludGVyZmFjZSwgc28gd2Uga25vdyBpdA0KZG9lc24ndCBoYXZlIGFueSBwb2x5bW9ycGhpYyBh cmd1bWVudHMuICBTbywgdGhlIGR1bW15IGFyZ3VtZW50IG9mDQoieHl6IiBtdXN0IGJlIG5vbnBv bHltb3JwaGljLCBhbmQgaGF2ZSB0aGUgc2FtZSBkZWNsYXJlZCB0eXBlIGFzIHRoZQ0KYWN0dWFs IGFyZ3VtZW50IChiKDIpKS4NCg0KVGhpcyBpbXBsaWVzIHRoYXQgd2Ugb25seSB3YW50IHRvIHBh c3MgdGhlIHBhcmVudCBwb3J0aW9uIG9mIGIoMikuDQpCdXQgdGhlIGR1bW15IGFyZ3VtZW50IG9m ICJ4eXoiIG1heSBiZSBhbiBleHBsaWNpdC1zaGFwZSBvcg0KYXNzdW1lZC1zaXplIGFycmF5IChp biB0aGlzIGNhc2UsIGl0IGlzIGFuIGV4cGxpY2l0LXNoYXBlIGFycmF5KS4NCg0KVGhpcyBtZWFu cyB0aGF0IHdlIGhhdmUgdG8gcGFzcyBhIGNvbnRpZ3VvdXMgYXJyYXkgdG8gInh5eiIuICBUaGlz DQp3b3VsZG4ndCBiZSBhIHByb2JsZW0gaWYgdGhlIGR5bmFtaWMgdHlwZSBvZiAiYiIgd2FzIHRo ZSBzYW1lIGFzIHRoZQ0KZGVjbGFyZWQgdHlwZSwgYnV0IGluIHRoaXMgY2FzZSBpdCBpcyBub3Qu ICBUaGUgcGFyZW50IHBvcnRpb24gb2YgImIiDQooZnJvbSBlbGVtZW50IDIgdG8gdGhlIGVuZCBv ZiB0aGUgYXJyYXkpIG11c3QgYmUgY29waWVkIGludG8gYQ0KdGVtcG9yYXJ5IGFycmF5Lg0KDQpU aGUgY29tcGlsZXIgY2Fubm90IHBvc3NpYmx5IGtub3cgaG93IGJpZyAiYiIgaXMgYmVjYXVzZSBp dCBpcyBhbg0KYXNzdW1lZC1zaXplIGFycmF5LCBzbyBpdCBpcyBpbXBvc3NpYmxlIHRvIG1ha2Ug c3VjaCBhIGNvcHkuDQoNCldhcyB0aGlzIHByb2dyYW0gaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQt Y29uZm9ybWluZz8NCg0KQU5TV0VSOg0KDQpObywgdGhpcyBwcm9ncmFtIHdhcyBub3QgaW50ZW5k ZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZy4gIEVkaXRzDQphcmUgcHJvdmlkZWQgdG8gY29y cmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRURJVFM6DQoNCkFsbCBlZGl0cyByZWZlciB0byAwNC0w MDcuDQoNClsyNzA6MjddICBDaGFuZ2UgImFzc3VtZWQtc2hhcGUgb3IgcG9pbnRlciIgdG8gImFz c3VtZWQtc2hhcGUsDQogICAgICAgICAgcG9pbnRlciwgb3IgcG9seW1vcnBoaWMiLg0KDQpTVUJN SVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNS0xNzYgICAgbTE3MiAgRjAzLzAwNjEg U3VibWl0dGVkDQogICAgICAgICAwNS0yMjMgICAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcN CiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdA0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwNjINClRJVExFOiBGaW5hbGl6YXRpb24gb2Yg YXJyYXkgY29uc3RydWN0b3JzDQpLRVlXT1JEUzogRmluYWxpemF0aW9uLCBhcnJheSBjb25zdHJ1 Y3Rvcg0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBi YWxsb3QNCg0KUVVFU1RJT046DQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToNCg0K ICAgICAgTU9EVUxFIG0NCiAgICAgICAgVFlQRSB0DQogICAgICAgICAgSU5URUdFUiBpDQogICAg ICAgIENPTlRBSU5TDQogICAgICAgICAgRklOQUwgOjogZmluYWxpemVUDQogICAgICAgIEVORCBU WVBFDQogICAgICBDT05UQUlOUw0KICAgICAgICBTVUJST1VUSU5FIGZpbmFsaXplVChvYmopDQog ICAgICAgICAgVFlQRSh0KSA6OiBvYmooOikNCiAgICAgICAgICBQUklOVCAqLCAnRmluYWxpemlu ZyBhIHJhbmstMSBhcnJheSBvZiB0eXBlIHQnDQogICAgICAgIEVORCBTVUJST1VUSU5FDQogICAg ICBFTkQgTU9EVUxFDQoNCiAgICAgIFBST0dSQU0gZm9vDQogICAgICAgIFVTRSBtDQogICAgICAg IFRZUEUodCkgOjogYQ0KICAgICAgICBhJWkgPSA1DQogICAgICAgIFBSSU5UICosICgvIChhLCBp PTEsNSkgLykNCiAgICAgIEVORCBQUk9HUkFNDQoNCklmIHRoZSBQUklOVCBzdGF0ZW1lbnQgaW4g dGhlIG1haW4gcHJvZ3JhbSB3YXMgcHJpbnRpbmcgYSBmdW5jdGlvbg0KcmVzdWx0IG9yIGEgc3Ry dWN0dXJlIGNvbnN0cnVjdG9yLCByYXRoZXIgdGhhbiBhbiBhcnJheSBjb25zdHJ1Y3RvciwNCml0 IGlzIGNsZWFyIHRoYXQgdGhlIG9iamVjdCBzaG91bGQgYmUgZmluYWxpemVkIGFmdGVyIHRoYXQg UFJJTlQNCnN0YXRlbWVudC4NCg0KSG93ZXZlciwgZm9yIGFycmF5IGNvbnN0cnVjdG9ycywgdGhp cyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgdGhlIGNhc2UuDQpJbiB0aGUgbWFpbiBwcm9ncmFtIGFi b3ZlLCBzaG91bGQgdGhlIGVudGl0eSBjcmVhdGVkIGJ5IHRoZSBhcnJheQ0KY29uc3RydWN0b3Ig YmUgZmluYWxpemVkIGFmdGVyIGV4ZWN1dGlvbiBvZiB0aGUgUFJJTlQgc3RhdGVtZW50Pw0KDQpB TlNXRVI6DQoNClllcywgdGhlIGFycmF5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBmaW5hbGl6ZWQu ICBFZGl0cyBhcmUgcHJvdmlkZWQgdG8NCmNvcnJlY3QgdGhpcyBvdmVyc2lnaHQuDQoNCkVESVRT Og0KDQpUaGlzIGVkaXQgcmVmZXJzIHRvIDA0LTAwNy4NCls1OToyN10gIFJlcGxhY2UgYm90aCBv Y2N1cnJlbmNlcyBvZiAic3RydWN0dXJlIiB3aXRoICJzdHJ1Y3R1cmUgDQogICAgICAgICBvciBh cnJheSIuDQoNClRoaXMgZWRpdCByZWZlcnMgdG8gdGhlIGVkaXQgaW50cm9kdWNlZCBieSBpbnRl cnByZXRhdGlvbiBGMDMvMDAwNy4NCiAgICAgICAgIFJlcGxhY2UgdGhlIGZpcnN0IG9jY3VycmVu Y2Ugb2YgInN0cnVjdHVyZSIgd2l0aCAic3RydWN0dXJlDQogICAgICAgICBvciBhcnJheSIuDQoN ClNVQk1JVFRFRCBCWTogUm9iIEphbWVzDQoNCkhJU1RPUlk6IDA1LTE3NyAgICBtMTcyICBGMDMv MDA2MiBTdWJtaXR0ZWQNCiAgICAgICAgIDA1LTIyNCAgICBtMTczICBQYXNzZWQgYnkgSjMgbWVl dGluZw0KICAgICAgICAgMDYtMTMzICAgIG0xNzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90 DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA2Mw0KVElUTEU6IFByb2NlZHVyZSBw b2ludGVycyBpbiBCTE9DSyBEQVRBIHByb2dyYW0gdW5pdHMNCktFWVdPUkRTOiBQcm9jZWR1cmUg cG9pbnRlciwgY29tbW9uIGJsb2NrLCBibG9jayBkYXRhDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0K U1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpJdCBp cyBjbGVhciB0aGF0IHByb2NlZHVyZSBwb2ludGVycyBhcmUgcGVybWl0dGVkIGluIGNvbW1vbiBi bG9ja3MuDQpIb3dldmVyLCBkdWUgdG8gdGhlIHJlc3RyaWN0aW9ucyBvbiBCTE9DSyBEQVRBIHBy b2dyYW0gdW5pdHMsIGl0IHNlZW1zDQp0aGF0IHN1Y2ggYSBjb21tb24gYmxvY2sgY2FuIG5vdCBh cHBlYXIgaW4gYSBCTE9DSyBEQVRBIHByb2dyYW0gdW5pdC4NCg0KV2FzIGl0IGludGVuZGVkIHRo YXQgY29tbW9uIGJsb2NrcyBjb250YWluaW5nIHByb2NlZHVyZSBwb2ludGVycyBjb3VsZA0KYmUg aW5pdGlhbGl6ZWQgaW4gYSBCTE9DSyBEQVRBIHByb2dyYW0gdW5pdD8NCg0KQU5TV0VSOg0KDQpZ ZXMsIGl0IHdhcyBpbnRlbmRlZCB0aGF0IGNvbW1vbiBibG9ja3MgY29udGFpbmluZyBwcm9jZWR1 cmUgcG9pbnRlcnMNCmNvdWxkIGJlIGluaXRpYWxpemVkIGluIGEgQkxPQ0sgREFUQSBwcm9ncmFt IHVuaXQuICBFZGl0cyBhcmUgcHJvdmlkZWQNCnRvIGNvcnJlY3QgdGhpcyBvdmVyc2lnaHQuDQoN CkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMjUzOjEyXSAgQWZ0ZXIg ImRlcml2ZWQtdHlwZSBkZWZpbml0aW9ucyIsIGluc2VydA0KICAgICAgICAgICIsIGFic3RyYWN0 IGludGVyZmFjZSBibG9ja3MsIi4NCg0KWzI1MzoxNF0gIEJlZm9yZSAiYW5kIHR5cGUgZGVjbGFy YXRpb24iLCBpbnNlcnQNCiAgICAgICAgICAicHJvY2VkdXJlIGRlY2xhcmF0aW9uIHN0YXRlbWVu dHMsIi4NCg0KWzI1NDozXSAgIEFmdGVyICJzcGVjaWZpZXJzIiwgaW5zZXJ0DQogICAgICAgICAg ImlmIGl0IGRlY2xhcmVzIGEgZGF0YSBvYmplY3QiLg0KDQpbMjU0OjFdICAgQXBwZW5kIGEgbmV3 IHNlbnRlbmNlOg0KICAgICAgICAgICAgICBBIHByb2NlZHVyZSBkZWNsYXJhdGlvbiBzdGF0ZW1l bnQgc2hhbGwgbm90IGRlY2xhcmUgYW4NCiAgICAgICAgICAgICAgZXh0ZXJuYWwgcHJvY2VkdXJl Lg0KDQpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNS0xNzggICAgbTE3MiAg RjAzLzAwNjMgU3VibWl0dGVkDQogICAgICAgICAwNS0yMjUgICAgbTE3MyAgUGFzc2VkIGJ5IEoz IG1lZXRpbmcNCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBGYWlsZWQgSjMgbGV0dGVyIGJhbGxv dCAjMTINCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDY0DQpUSVRMRTogUmVjdXJz aXZlIGRlY2xhcmF0aW9uIG9mIHByb2NlZHVyZSBpbnRlcmZhY2VzDQpLRVlXT1JEUzogcHJvY2Vk dXJlLCBpbnRlcmZhY2UNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVy YXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcg cHJvZ3JhbToNCg0KICAgICAgUFJPR1JBTSBmb28NCiAgICAgICAgUFJPQ0VEVVJFKHN1YikgOjog cA0KICAgICAgICBJTlRFUkZBQ0UNCiAgICAgICAgICBTVUJST1VUSU5FIHN1YihwMikNCiAgICAg ICAgICAgIElNUE9SVCBwDQogICAgICAgICAgICBQUk9DRURVUkUocCkgOjogcDINCiAgICAgICAg ICBFTkQgU1VCUk9VVElORQ0KICAgICAgICBFTkQgSU5URVJGQUNFDQogICAgICBFTkQgUFJPR1JB TQ0KDQpDMTIxMiBhcHBlYXJzIHRvIHByb2hpYml0IHRoZSBjYXNlIG9mIGFuIGludGVyZmFjZSBu YW1lIGluIGEgcHJvY2VkdXJlDQpkZWNsYXJhdGlvbiBzdGF0ZW1lbnQgYmVpbmcgdGhlIG5hbWUg b2Ygc29tZXRoaW5nIGRlY2xhcmVkIGluIGEgbGF0ZXINCnByb2NlZHVyZSBkZWNsYXJhdGlvbiBz dGF0ZW1lbnQuICBCdXQgaXQgZG9lcyBub3QgYXBwZWFyIHRvIHByb2hpYml0DQp0aGUgY2FzZSBv ZiBhbiBpbnRlcmZhY2UgbmFtZSBiZWluZyB0aGUgbmFtZSBvZiBzb21ldGhpbmcgZGVjbGFyZWQg aW4NCmEgbGF0ZXIgaW50ZXJmYWNlIGJvZHkuDQoNCkluIHRoZSBhYm92ZSBwcm9ncmFtLCB0aGUg Y2hhcmFjdGVyaXN0aWNzIG9mIHAgcmVseSBvbiB0aGUNCmNoYXJhY3RlcmlzdGljcyBvZiBzdWIu ICBUaGUgY2hhcmFjdGVyaXN0aWNzIG9mIHN1YiwgaW4gdHVybiwgcmVseSBvbg0KdGhlIGNoYXJh Y3RlcmlzdGljcyBvZiBwLg0KDQpJcyB0aGlzIHByb2dyYW0gc3RhbmRhcmQtY29uZm9ybWluZz8N Cg0KQU5TV0VSOg0KDQpObywgdGhpcyBwcm9ncmFtIGlzIG5vdCBzdGFuZGFyZC1jb25mb3JtaW5n LiAgVGhlIGludGVyZmFjZSBuYW1lIGluIGENCnByb2NlZHVyZSBkZWNsYXJhdGlvbiBzdGF0ZW1l bnQgc2hvdWxkIG5vdCBiZSBwZXJtaXR0ZWQgdG8gYmUgZGVjbGFyZWQNCmluIGEgbGF0ZXIgaW50 ZXJmYWNlIGJvZHkuICBBbiBlZGl0IGlzIHN1cHBsaWVkIHRvIGNvcnJlY3QgdGhpcw0Kb3ZlcnNp Z2h0Lg0KDQpFRElUUzoNCg0KQWxsIGVkaXRzIHJlZmVyIHRvIDA0LTAwNy4NClsyNjQ6MjJdICBC ZWZvcmUgIml0IHNoYWxsIiwgaW5zZXJ0ICJvciA8aW50ZXJmYWNlLWJvZHk+Ii4NCg0KU1VCTUlU VEVEIEJZOiBSb2IgSmFtZXMNCg0KSElTVE9SWTogMDUtMTc5ICAgIG0xNzIgIEYwMy8wMDY0IFN1 Ym1pdHRlZA0KICAgICAgICAgMDUtMjI2ICAgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQog ICAgICAgICAwNi0xMzMgICAgbTE3NSAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzEyDQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA2NQ0KVElUTEU6IHJlbGF0aW9uYWwgZXF1aXZh bGVuY2UNCktFWVdPUkRTOiB0cmFuc2Zvcm1hdGlvbiwgcmVsYXRpb25hbCBlcXVpdmFsZW5jZSwg bWF0aGVtYXRpY2FsIHZhbHVlDQpERUZFQ1QgVFlQRTogSW50ZXJwcmV0YXRpb24NClNUQVRVUzog SjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0KDQpRVUVTVElPTjoNCg0KR2l2ZW4NCiAgUkVB TCBYDQogIFggPSAuLi4gc29tZSB2YWx1ZSAuLi4NCm1heQ0KICBJRiggWCszLjAgLkVRLiAzLjAg KS4uLg0KYmUgdHJhbnNmb3JtZWQgaW50bw0KICBJRiggWCAuRVEuIDAuMCApLi4uDQpieSB0aGUg cHJvY2Vzc29yPw0KDQpSZWZlcmVuY2VzIGFyZSB0byBKMy8wNC0wMDcuDQoNCjcuMS44LjMgRXZh bHVhdGlvbiBvZiBudW1lcmljIGludHJpbnNpYyBvcGVyYXRpb25zIGhhcyBhIGRpc2N1c3Npb24g b2YNCiJtYXRoZW1hdGljYWxseSBlcXVpdmFsZW50IiwgIm1hdGhlbWF0aWNhbCB2YWx1ZSIgYW5k ICJjb21wdXRhdGlvbmFsDQpyZXN1bHRzIi4NCg0KNy4xLjguNSBFdmFsdWF0aW9uIG9mIHJlbGF0 aW9uYWwgaW50cmluc2ljIG9wZXJhdGlvbnMgaGFzICJUd28NCnJlbGF0aW9uYWwgaW50cmluc2lj IG9wZXJhdGlvbnMgYXJlIHJlbGF0aW9uYWxseSBlcXVpdmFsZW50IGlmIHRoZWlyDQpsb2dpY2Fs IHZhbHVlcyBhcmUgZXF1YWwgZm9yIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgdGhlaXIgcHJpbWFy aWVzLiINCg0KInZhbHVlcyIgaW4gdGhhdCBjb250ZXh0IGlzIGFtYmlndW91cyB0byBtZS4gIElz IGl0IHRoZSBpbmZpbml0ZSBzZXQNCm9mIG1hdGhlbWF0aWNhbCB2YWx1ZXMgb3IgaXMgaXQgdGhl IGZpbml0ZSBzZXQgb2YgaGFyZHdhcmUNCnJlcHJlc2VudGFibGUgKGNvbXB1dGF0aW9uYWwpIHZh bHVlcz8NCg0KTXkgYnJpZWYgc2NhbiBvZiBGMjAwMyBmaW5kcyB0aGF0ICJ2YWx1ZXMiIHdpdGhv dXQgYW55IGFkamVjdGl2ZXMNCm1lYW5zIHdoYXQgdGhlIGhhcmR3YXJlIGNhbiByZXByZXNlbnQu DQoNCkFzc3VtaW5nICJ2YWx1ZXMiIGluIDcuMS44LjUgbWVhbnMgd2hhdCB0aGUgaGFyZHdhcmUg Y2FuIHJlcHJlc2VudCwNCnRoZW4gSSBjb25jbHVkZSB0aGF0IHRoZSB0cmFuc2Zvcm1hdGlvbiBj YW5ub3QgYmUgZG9uZS4gIEhvd2V2ZXIsIE5vdGUNCjcuMjIgc2hvd3MgIkkgPiBKIiB0cmFuc2Zv cm1lZCBpbnRvICJKLUkgPCAwIjsgd2hpY2ggaXMgbm90IHRydWUgZm9yDQp0aGUgZmluaXRlIHNl dCBvZiBoYXJkd2FyZSB2YWx1ZXMgKGR1ZSB0byB1bmRlZmluZWQgYmVoYXZpb3Igb2YNCm92ZXJm bG93KSwgYnV0IGlzIHRydWUgZm9yIHRoZSBpbmZpbml0ZSBzZXQgb2YgbWF0aGVtYXRpY2FsIHZh bHVlcy4NCg0KSSBiZWxpZXZlIHRoYXQgInBvc3NpYmxlIHZhbHVlcyIgc2hvdWxkIGJlIGNoYW5n ZWQgdG8gZWl0aGVyOg0KICBwb3NzaWJsZSBtYXRoZW1hdGljYWwgdmFsdWVzIA0Kb3INCiAgcG9z c2libGUgY29tcHV0YXRpb25hbCB2YWx1ZXMgDQoNCkFOU1dFUjoNCg0KRElTQ1VTU0lPTjoNCg0K RURJVFM6DQoNClNVQk1JVFRFRCBCWTogRnJlZCBUeWRlbWFuDQoNCkhJU1RPUlk6IDA1LTE5MiBt MTczIEYwMy8wMDY1IFN1Ym1pdHRlZA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAw NjYNClRJVExFOiBQcmVjaXNpb24gb2Ygb3BlcmF0aW9uDQpLRVlXT1JEUzogcHJlY2lzaW9uLCBv cGVyYXRpb24NCkRFRkVDVCBUWVBFOiBJbnRlcnByZXRhdGlvbg0KU1RBVFVTOiBQYXNzZWQgYnkg SjMgbGV0dGVyIGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KR2l2ZW4NCiAgUkVBTCBYDQogIFggPSAu Li4gc29tZSB2YWx1ZSAuLi4NCiAgSUYoIChYKzMuMCkgLkVRLiAzLjAgKS4uLiAgDQptYXkgdGhl IFgrMy4wIGJlIGNvbXB1dGVkIHdpdGggbW9yZSByYW5nZSBhbmQvb3IgcHJlY2lzaW9uIHRoYW4g dGhhdA0Kb2YgUkVBTD8gIEluIG90aGVyIHdvcmRzLCBpcyBQUkVDSVNJT04oWCkgLkVRLiBQUkVD SVNJT04oWCszLjApIGFsd2F5cw0KdHJ1ZTsgb3IgaXMgUFJFQ0lTSU9OKFgpIC5MVC4gUFJFQ0lT SU9OKFgrMy4wKSBzb21ldGltZXMgdHJ1ZT8NCg0KUmVmZXJlbmNlcyBhcmUgdG8gSjMvMDQtMDA3 Lg0KDQoyLjQuMS4xIEludHJpbnNpYyB0eXBlIGhhcyAiVGhlIGtpbmQgdHlwZSBwYXJhbWV0ZXIg aW5kaWNhdGVzIC4uLiB0aGUNCmRlY2ltYWwgcHJlY2lzaW9uIGFuZCBleHBvbmVudCByYW5nZSBm b3IgdGhlIHJlYWwgYW5kIGNvbXBsZXggdHlwZXMsDQouLi4iDQoNCjcuMS40LjIgVHlwZSwgdHlw ZSBwYXJhbWV0ZXJzLCBhbmQgc2hhcGUgb2YgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24NCmhh cyBpbiAoNCkgIkZvciBhbiBleHByZXNzaW9uIHgxIG9wIHgyIHdoZXJlIG9wIGlzIGEgbnVtZXJp YyBpbnRyaW5zaWMNCmJpbmFyeSBvcGVyYXRvciB3aXRoIGJvdGggb3BlcmFuZHMgb2YgdGhlIHNh bWUgdHlwZSBhbmQga2luZCB0eXBlDQpwYXJhbWV0ZXJzLCAuLi4sIHRoZSBraW5kIHR5cGUgcGFy YW1ldGVyIG9mIHRoZSBleHByZXNzaW9uIGlzDQppZGVudGljYWwgdG8gdGhhdCBvZiBlYWNoIG9w ZXJhbmQuIg0KDQpTaW5jZSBYIGFuZCAzLjAgYXJlIHRoZSBzYW1lIHR5cGUgYW5kIGhhdmUgdGhl IHNhbWUga2luZCB0eXBlDQpwYXJhbWV0ZXJzLCA3LjEuNC4yICg0KSBhcHBlYXJzIHRvIHJlcXVp cmUgdGhlIFgrMy4wIGhhdmUganVzdCB0aGUNCnJhbmdlIGFuZCBwcmVjaXNpb24gb2YgUkVBTDsg bm8gbW9yZSwgbm8gbGVzcyAob3RoZXJ3aXNlLCB0aGUNCnByZWNpc2lvbiBpcyBub3QgaWRlbnRp Y2FsKS4gIEJ1dCwgc2V2ZXJhbCBtZW1iZXJzIG9mIHRoZSBKMyBlbWFpbA0KbGlzdCBoYXZlIHNh aWQgdGhhdCB0aGUgIisiIG1heSBiZSBkb25lIHdpdGggbW9yZSBwcmVjaXNpb247IHVzaW5nDQpl aXRoZXIgMS40KDYpIG9yIDcuMS44LjMgYXMgdGhlIHJlYXNvbi4NCg0KUGVyaGFwcyBzb21ldGhp bmcgYWxvbmUgdGhlIGxpbmVzIG9mICJUaGUgdmFsdWVzIG9mIGZsb2F0aW5nIG9wZXJhbmRzDQph bmQgb2YgdGhlIHJlc3VsdHMgb2YgZmxvYXRpbmcgZXhwcmVzc2lvbnMgbWF5IGJlIHJlcHJlc2Vu dGVkIGluDQpncmVhdGVyIHByZWNpc2lvbiBhbmQgcmFuZ2UgdGhhbiB0aGF0IHJlcXVpcmVkIGJ5 IHRoZSBraW5kIHR5cGUNCnBhcmFtZXRlcjsgdGhlIGtpbmQgdHlwZSBwYXJhbWV0ZXIgaXMgbm90 IGNoYW5nZWQgdGhlcmVieS4iIHNob3VsZCBiZQ0KYWRkZWQgdG8gNy4xLjQuMig0KS4NCg0KUVVF U1RJT046DQoNCklzIFBSRUNJU0lPTihYKSAuRVEuIFBSRUNJU0lPTihYKzMuMCkgYWx3YXlzIHRy dWU/IA0KDQpBTlNXRVI6DQoNClllcywgdGhhdCBpcyB0aGUgZGVmaW5pdGlvbiBvZiBQUkVDSVNJ T04uICBUaGUgUFJFQ0lTSU9OIGludHJpbnNpYyBoYXMNCm5vdGhpbmcgdG8gZG8gd2l0aCB0aGUg cHJlY2lzaW9uIGluIHdoaWNoIHRoZSBjb21wdXRhdGlvbiBYKzMuMCBpcw0KY29tcHV0ZWQuICA3 LjEuNC4yICg0KSBvbmx5IGRlc2NyaWJlcyB0aGUgcHJlY2lzaW9uIG9mIHRoZSBlbmQgcmVzdWx0 DQpvZiB0aGUgY29tcHV0YXRpb24uDQoNClRoZSB3ZWFzZWwgd29yZHMgaW4gMS40ICg2KSBhbGxv dyB0aGUgcHJvY2Vzc29yIHRvIGNvbXB1dGUgdGhpcyBleHByZXNzaW9uDQppbiBoaWdoZXIgcHJl Y2lzaW9uIHRoYW4gUkVBTC4NCg0KRURJVFM6DQoNCk5vbmUNCg0KU1VCTUlUVEVEIEJZOiBGcmVk IFR5ZGVtYW4NCg0KSElTVE9SWTogMDUtMTkzICAgIG0xNzMgIEYwMy8wMDY2IFN1Ym1pdHRlZA0K ICAgICAgICAgMDUtMTkzcjEgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAw Ni0xMzMgICAgbTE3NSAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQpOVU1CRVI6IEYwMy8wMDY3DQpUSVRMRTogQWNjdXJhY3kgb2YgY29udmVyc2lvbiBvZiBy ZWFsIGxpdGVyYWwgY29uc3RhbnRzDQpLRVlXT1JEUzogY29udmVyc2lvbiwgYWNjdXJhY3kNCkRF RkVDVCBUWVBFOiBJbnRlcnByZXRhdGlvbg0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJh bGxvdA0KDQpRVUVTVElPTjoNCg0KVGhlIGZvbGxvd2luZyBpcyBpbmRlcGVuZGVudCBvZiBJRUVF LTc1NC4NCg0KRm9ydHJhbiAyMDAzIDEwLjYuMS4yLjYgY292ZXJzIGNvbnZlcnNpb25zIGJldHdl ZW4gImRlY2ltYWwgdmFsdWVzIg0KYW5kICJpbnRlcm5hbCB2YWx1ZXMiIGFuZCBoYXMgc29tZSBz dHJvbmcgcmVxdWlyZW1lbnRzLg0KDQpBcmUgdGhlcmUgZXF1aXZhbGVudCByZXF1aXJlbWVudHMg b24gYWNjdXJhY3kgZm9yIGNvbnZlcnNpb25zIG9mIHJlYWwNCmxpdGVyYWwgY29uc3RhbnRzPyAg U2VjdGlvbnMgNC4xLjIgYW5kIDQuNC4yIHNlZW1zIGxpa2UgdGhlIHBsYWNlcyB0bw0KZmluZCB0 aGVtIChpZiB0aGV5IGV4aXN0KS4NCg0KV2hhdCByb3VuZGluZyBtb2RlIGlzIHVzZWQgZm9yIGNv bnZlcnNpb25zIG9mIHJlYWwgbGl0ZXJhbCBjb25zdGFudHM/DQpJcyB0aGUgc2FtZSByb3VuZGlu ZyBtb2RlIHVzZWQgZm9yIGFsbCBzdWNoIGNvbnZlcnNpb25zPw0KDQpUaGUgZm9sbG93aW5nIGZv dXIgcXVlc3Rpb25zIGFyZSBhYm91dCBwb3NpdGl2ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZQ0Kd291 bGQgYXBwbHkgdG8gbmVnYXRpdmUgdmFsdWVzLg0KDQpNdXN0IGFsbCAiZGVjaW1hbCB2YWx1ZXMi IGluIHRoZSByYW5nZSBzbWFsbGVzdCBub24temVybyBmaW5pdGUNCmludGVybmFsIHZhbHVlICh3 aGljaCBjb3VsZCBiZSBhIGRlbm9ybWFsKSB0byBsYXJnZXN0IGZpbml0ZSBpbnRlcm5hbA0KdmFs dWUsIGUuZy4gMC4xLCBiZSBjb252ZXJ0ZWQ/DQoNCk11c3QgYWxsICJkZWNpbWFsIHZhbHVlcyIg aW4gdGhlIHJhbmdlIHplcm8gdG8gc21hbGxlc3Qgbm9uLXplcm8NCmZpbml0ZSBpbnRlcm5hbCB2 YWx1ZSwgZS5nLiAxLjBlLTk5OTk5OTk5OSwgYmUgY29udmVydGVkPw0KDQpNdXN0IGFsbCAiZGVj aW1hbCB2YWx1ZXMiIGxhcmdlciB0aGFuIHRoZSBsYXJnZXN0IGZpbml0ZSBpbnRlcm5hbA0KdmFs dWUsIGUuZy4gOS45ZSs5OTk5OTk5OTk5OSwgYmUgY29udmVydGVkIGlmIGluZmluaXR5IGlzIGFu IGludGVybmFsDQp2YWx1ZT8gIFdoYXQgZG9lcyBuZWFyZXN0IHJvdW5kaW5nIG1lYW4gZm9yIHRo ZXNlIGNhc2VzPw0KDQpXaGF0IHJlcXVpcmVtZW50cyBleGlzdCBmb3IgImRlY2ltYWwgdmFsdWVz IiBsYXJnZXIgdGhhbiB0aGUgbGFyZ2VzdA0KZmluaXRlIGludGVybmFsIHZhbHVlIGlmIGluZmlu aXR5IGlzIG5vdCBhbiBpbnRlcm5hbCB2YWx1ZT8NCg0KQU5TV0VSOg0KDQpUaGVyZSBhcmUgbm8g cmVxdWlyZW1lbnRzIG9uIGFjY3VyYWN5IGZvciBjb252ZXJzaW9ucyBvZiByZWFsIGxpdGVyYWwN CmNvbnN0YW50cy4NCg0KVGhlIHN0YW5kYXJkIGRvZXMgbm90IHNwZWNpZnkgdGhlIHJvdW5kaW5n IG1vZGUgdXNlZCBmb3IgY29udmVyc2lvbnMNCm9mIHJlYWwgbGl0ZXJhbCBjb25zdGFudHMsIG5v ciBkb2VzIGl0IHJlcXVpcmUgdGhlIHNhbWUgcm91bmRpbmcgbW9kZQ0KdG8gYmUgdXNlZCBmb3Ig YWxsIGNvbnZlcnNpb25zLg0KDQpXaGV0aGVyIGFsbCBkZWNpbWFsIHZhbHVlcyBpbiBhbnkgcmFu Z2UgY2FuIGJlIGNvbnZlcnRlZCBpcyBub3QNCnN0YW5kYXJkaXplZC4NCg0KVGhlcmUgYXJlIG5v IHJlcXVpcmVtZW50cyBmb3IgImRlY2ltYWwgdmFsdWVzIiBsYXJnZXIgdGhhbiB0aGUgbGFyZ2Vz dA0KZmluaXRlIGludGVybmFsIHZhbHVlIHdoZXRoZXIgaW5maW5pdHkgaXMgYW4gaW50ZXJuYWwg dmFsdWUgb3Igbm90Lg0KDQpFRElUUzoNCg0KTm9uZQ0KDQpTVUJNSVRURUQgQlk6IEZyZWQgVHlk ZW1hbg0KDQpISVNUT1JZOiAwNS0yMDYgICAgbTE3MyAgRjAzLzAwNjcgU3VibWl0dGVkDQoJIDA1 LTIwNnIxICBtMTczICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDYtMTMzICAgIG0x NzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVS OiBGMDMvMDA2OA0KVElUTEU6IEZpcnN0IGNoYXJhY3RlciBvZiBuYW1lbGlzdCBvdXRwdXQgcmVj b3Jkcw0KS0VZV09SRFM6IG5hbWVsaXN0LCBvdXRwdXQsIFVERFRJTw0KREVGRUNUIFRZUEU6IEVy cmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoN ClRoZSBsYXN0IHNlbnRlbmNlIG9mIDEwLjEwLjIuMiBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzOg0K ICAgIEV4Y2VwdCBmb3IgY29udGludWF0aW9uIG9mIGRlbGltaXRlZCBjaGFyYWN0ZXIgc2VxdWVu Y2VzLCBlYWNoDQogICAgb3V0cHV0IHJlY29yZCBiZWdpbnMgd2l0aCBhIGJsYW5rIGNoYXJhY3Rl ci4NCg0KSWYgYSBuYW1lbGlzdCBvdXRwdXQgc3RhdGVtZW50IGNhdXNlcyBhIHVzZXItZGVmaW5l ZCBkZXJpdmVkLXR5cGUNCm91dHB1dCBwcm9jZWR1cmUgdG8gYmUgY2FsbGVkLCB3YXMgaXQgaW50 ZW5kZWQgdG8gYmUgc3RhbmRhcmQtDQpjb25mb3JtaW5nIGZvciB0aGF0IHByb2NlZHVyZSB0byBj cmVhdGUgYSBuZXcgcmVjb3JkIChwZXJoYXBzIGJ5IHVzaW5nDQp0aGUgc2xhc2ggZWRpdCBkZXNj cmlwdG9yKSB0aGF0IGRvZXMgbm90IGJlZ2luIHdpdGggYSBibGFuayBjaGFyYWN0ZXI/DQoNCkFO U1dFUjoNCg0KWWVzLCB0aGlzIHNpdHVhdGlvbiB3YXMgaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQt Y29uZm9ybWluZy4gIEV4cGxpY2l0IGZvcm1hdHRpbmcNCmluIHVzZXItZGVmaW5lZCBkZXJpdmVk LXR5cGUgb3V0cHV0IGlzIG5vdCByZXF1aXJlZCB0byBvdXRwdXQgYSBsZWFkaW5nIGJsYW5rDQpp biB0aGlzIGNhc2UuICBBbiBlZGl0IGlzIHByb3ZpZGVkIHRvIGNvcnJlY3QgdGhpcyBvdmVyc2ln aHQuDQoNCkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMjQ3OjMzXSBC ZWZvcmUgImNvbnRpbnVhdGlvbiIsIGluc2VydCAibmV3IHJlY29yZHMgY3JlYXRlZCBieQ0KICAg ICAgICAgZXhwbGljaXQgZm9ybWF0dGluZyB3aXRoaW4gYSB1c2VyLWRlZmluZWQgZGVyaXZlZC10 eXBlDQogICAgICAgICBvdXRwdXQgcHJvY2VkdXJlIG9yIGJ5Ii4NCg0KU1VCTUlUVEVEIEJZOiBS b2IgSmFtZXMNCg0KSElTVE9SWTogMDUtMjI3ICAgIG0xNzMgIEYwMy8wMDY4IFN1Ym1pdHRlZA0K ICAgICAgICAgMDUtMjI3cjEgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAgICAw Ni0xMzMgICAgbTE3NSAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCiANCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KTlVNQkVSOiBGMDMvMDA2OQ0KVElUTEU6IFByb2NlZHVyZSBwb2ludGVycyBpbiBkZWZp bmVkIGFzc2lnbm1lbnQNCktFWVdPUkRTOiBwcm9jZWR1cmUgcG9pbnRlciwgZGVmaW5lZCBhc3Np Z25tZW50DQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVy IGJhbGxvdA0KDQpRVUVTVElPTjoNCg0KSW4gMTIuMy4yLjEuMSBvZiBGb3J0cmFuIDIwMDMsIGF0 IFsyNjI6OC05XSwgdGhlIGZvbGxvd2luZyBpcyBzdGF0ZWQNCmFib3V0IHRoZSBkdW1teSBhcmd1 bWVudHMgb2YgYSBmdW5jdGlvbiB0aGF0IGRlZmluZXMgYW4gb3BlcmF0aW9uOg0KICAgIFRoZSBk dW1teSBhcmd1bWVudHMgc2hhbGwgYmUgbm9ub3B0aW9uYWwgZHVtbXkgZGF0YSBvYmplY3RzIGFu ZA0KICAgIHNoYWxsIGJlIHNwZWNpZmllZCB3aXRoIElOVEVOVCAoSU4pLg0KDQpUaGlzIGNsZWFy bHkgc3RhdGVzIHRoYXQgYSBkdW1teSBhcmd1bWVudCBvZiBzdWNoIGEgZnVuY3Rpb24gY2Fubm90 IGJlDQphIHByb2NlZHVyZSBwb2ludGVyLiAgVGhlIHNhbWUgaXMgbm90IHN0YXRlZCBmb3IgdGhl IGR1bW15IGFyZ3VtZW50cw0Kb2YgYSBzdWJyb3V0aW5lIHRoYXQgZGVmaW5lcyBhc3NpZ25tZW50 Lg0KDQpXYXMgaXQgaW50ZW5kZWQgdGhhdCBwcm9jZWR1cmUgcG9pbnRlcnMgc2hvdWxkIGJlIGFs bG93ZWQgaW4gZGVmaW5lZA0KYXNzaWdubWVudCwgYnV0IG5vdCBpbiBkZWZpbmVkIG9wZXJhdGlv bnM/DQoNCkFOU1dFUjoNCg0KTm8uICBJdCB3YXMgbm90IGludGVuZGVkIHRoYXQgcHJvY2VkdXJl IHBvaW50ZXJzIHNob3VsZCBiZSBhbGxvd2VkIGluDQplaXRoZXIgZGVmaW5lZCBhc3NpZ25tZW50 IG9yIGRlZmluZWQgb3BlcmF0aW9ucy4gIEFuIGVkaXQgaXMgcHJvdmlkZWQNCnRvIGNvcnJlY3Qg dGhpcyBvdmVyc2lnaHQuDQoNCkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0K DQpbMjYzOjZdICBSZXBsYWNlICJFYWNoIGFyZ3VtZW50IHNoYWxsIGJlIG5vbm9wdGlvbmFsLiIg d2l0aA0KICAgICAgICAgIlRoZSBkdW1teSBhcmd1bWVudHMgc2hhbGwgYmUgbm9ub3B0aW9uYWwg ZHVtbXkgZGF0YSBvYmplY3RzLiINCg0KU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMNCg0KSElTVE9S WTogMDUtMjI4ICAgIG0xNzMgIEYwMy8wMDY5IFBhc3NlZCBieSBKMyBtZWV0aW5nDQogICAgICAg ICAwNi0xMzMgICAgbTE3NSAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDcwDQpUSVRMRTogQ2FuIGNoaWxkIEkvTyBzdGF0ZW1lbnRz IGJlIGFkdmFuY2luZyBJL08gc3RhdGVtZW50cz8NCktFWVdPUkRTOiBVRERUSU8sIEFEVkFOQ0U9 DQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxv dA0KDQpbMTc1OjMwLTMxXSBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzOg0KICAgIEFuIGFkdmFuY2lu ZyBpbnB1dC9vdXRwdXQgc3RhdGVtZW50IGFsd2F5cyBwb3NpdGlvbnMgYSByZWNvcmQgZmlsZQ0K ICAgIGFmdGVyIHRoZSBsYXN0IHJlY29yZCByZWFkIG9yIHdyaXR0ZW4sIHVubGVzcyB0aGVyZSBp cyBhbiBlcnJvcg0KICAgIGNvbmRpdGlvbi4NCg0KU2luY2UgYSBjaGlsZCBJL08gc3RhdGVtZW50 IGRvZXMgbm90IHBvc2l0aW9uIGEgZmlsZSBhZnRlciB0aGUgbGFzdA0KUmVjb3JkIFsxOTQ6MTld WzE5OTo4LTldLCB0aGlzIGltcGxpZXMgdGhhdCBhIGNoaWxkIEkvTyBzdGF0ZW1lbnQgY2Fubm90 IA0KYmUgYW4gYWR2YW5jaW5nIEkvTyBzdGF0ZW1lbnQuDQoNClsxODk6Ni05XSBvZiBGb3J0cmFu IDIwMDMgc3RhdGVzOg0KICAgIFRoZSBBRFZBTkNFPSBzcGVjaWZpZXIgZGV0ZXJtaW5lcyB3aGV0 aGVyIGFkdmFuY2luZyBpbnB1dC9vdXRwdXQNCiAgICBvY2N1cnMgZm9yIHRoaXMgaW5wdXQvb3V0 cHV0IHN0YXRlbWVudC4gSWYgWUVTIGlzIHNwZWNpZmllZCwNCiAgICBhZHZhbmNpbmcgaW5wdXQv b3V0cHV0IG9jY3Vycy4gSWYgTk8gaXMgc3BlY2lmaWVkLCBub25hZHZhbmNpbmcNCiAgICBpbnB1 dC9vdXRwdXQgb2NjdXJzICg5LjIuMy4xKS4gSWYgdGhpcyBzcGVjaWZpZXIgaXMgb21pdHRlZCBm cm9tDQogICAgYW4gaW5wdXQvb3V0cHV0IHN0YXRlbWVudCB0aGF0IGFsbG93cyB0aGUgc3BlY2lm aWVyLCB0aGUgZGVmYXVsdA0KICAgIHZhbHVlIGlzIFlFUy4NCg0KVGhpcyBjbGVhcmx5IHN0YXRl cyB0aGF0IGFueSBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudCBpcyBhbiBhZHZhbmNpbmcNCkkvTyBz dGF0ZW1lbnQgaWYgdGhlIHZhbHVlICdOTycgaXMgbm90IHNwZWNpZmllZCBmb3IgdGhlIEFEVkFO Q0U9DQpzcGVjaWZpZXIuDQoNClRoZXNlIHR3byBzdGF0ZW1lbnRzIHNlZW0gdG8gY29udHJhZGlj dCBlYWNoIG90aGVyLiANCg0KUVVFU1RJT046DQoNCklmIGEgY2hpbGQgSS9PIHN0YXRlbWVudCBk b2VzIG5vdCBoYXZlIGFuIEFEVkFOQ0U9IHNwZWNpZmllciB3aXRoIHRoZQ0KdmFsdWUgJ05PJywg aXMgaXQgYW4gYWR2YW5jaW5nIEkvTyBzdGF0ZW1lbnQ/DQoNCkRJU0NVU1NJT046DQoNClRoZSBh bnN3ZXIgdG8gdGhpcyBxdWVzdGlvbiBhZmZlY3RzIHRoZSB2YWx1ZSBmb3IgdGhlIElPU1RBVCB2 YXJpYWJsZQ0KZm9yIGNoaWxkIFJFQUQgc3RhdGVtZW50cyBpbiBzb21lIHNpdHVhdGlvbnMuICBG b3IgZXhhbXBsZSwgaW4gdGhlDQpmb2xsb3dpbmcgcHJvZ3JhbSwgdGhlIHZhbHVlIG9mICJzdGF0 MSIgc2hvdWxkIGJlIGVxdWFsIHRvIElPU1RBVF9FT0YNCmlmIHRoZSBjaGlsZCBSRUFEIHN0YXRl bWVudCBpcyBhZHZhbmNpbmcsIGJ1dCBpdCBzaG91bGQgYmUgZXF1YWwgdG8NCklPU1RBVF9FT1Ig aWYgdGhlIHN0YXRlbWVudCBpcyBub25hZHZhbmNpbmcuDQoNCiAgICAgIE1PRFVMRSBtDQogICAg ICAgIFRZUEUgdA0KICAgICAgICAgIENIQVJBQ1RFUigyKSA6OiB4KDIpDQogICAgICAgIENPTlRB SU5TDQogICAgICAgICAgUFJPQ0VEVVJFIDo6IHJlYWRUDQogICAgICAgICAgR0VORVJJQyA6OiBS RUFEKEZPUk1BVFRFRCkgPT4gcmVhZFQNCiAgICAgICAgRU5EIFRZUEUNCiAgICAgIENPTlRBSU5T DQogICAgICAgIFNVQlJPVVRJTkUgcmVhZFQoZHR2LCB1bml0LCBpb3R5cGUsIHZfbGlzdCwgaW9z dGF0LCBpb21zZykNCiAgICAgICAgICBDTEFTUyh0KSwgSU5URU5UKElOT1VUKSA6OiBkdHYNCiAg ICAgICAgICBJTlRFR0VSLCBJTlRFTlQoSU4pIDo6IHVuaXQNCiAgICAgICAgICBDSEFSQUNURVIo KiksIElOVEVOVChJTikgOjogaW90eXBlDQogICAgICAgICAgSU5URUdFUiwgSU5URU5UKElOKSAg Ojogdl9saXN0KDopDQogICAgICAgICAgSU5URUdFUiwgSU5URU5UKE9VVCkgOjogaW9zdGF0DQog ICAgICAgICAgQ0hBUkFDVEVSKCopLCBJTlRFTlQoSU5PVVQpIDo6IGlvbXNnDQogICAgICAgICAg UkVBRCAodW5pdCwgJygyYTIpJywgSU9TVEFUPWlvc3RhdCkgZHR2JXgNCiAgICAgICAgRU5EIFNV QlJPVVRJTkUNCiAgICAgIEVORCBNT0RVTEUNCg0KICAgICAgUFJPR1JBTSBwDQogICAgICAgIFVT RSBtDQogICAgICAgIFVTRSwgSU5UUklOU0lDIDo6IElTT19GT1JUUkFOX0VOVg0KICAgICAgICBU WVBFKHQpIHQxDQogICAgICAgIENIQVJBQ1RFUigzKSA6OiBjID0gJzEyMycNCiAgICAgICAgSU5U RUdFUiBzdGF0MQ0KICAgICAgICBSRUFEIChjLCAqLCBJT1NUQVQ9c3RhdDEpIHQxDQogICAgICAg IFBSSU5UICosIChzdGF0MSA9PSBJT1NUQVRfRU9SKSwgKHN0YXQxID09IElPU1RBVF9FT0YpDQog ICAgICBFTkQgUFJPR1JBTQ0KDQpBTlNXRVI6DQoNCk5vLCBzdWNoIGEgY2hpbGQgSS9PIHN0YXRl bWVudCBpcyBub3QgYWR2YW5jaW5nLiAgRWRpdHMgYXJlIHByb3ZpZGVkDQp0byBjb3JyZWN0IHRo aXMgaW5jb25zaXN0ZW5jeS4NCg0KRURJVFM6DQoNCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcu DQoNClsxODk6N10gIEFmdGVyICJ0aGlzIiBpbnNlcnQgIiBub25jaGlsZCIuDQoNClsxODk6OV0g IFJlcGxhY2UgImZyb20gYW4iIHdpdGggImZyb20gYSBub25jaGlsZCIuDQoNClsxODk6OV0gIEFm dGVyICJZRVMuIiBJbnNlcnQNCiAgICAgICAgICIgIEEgY2hpbGQgaW5wdXQvb3V0cHV0IHN0YXRl bWVudCBpcyBhIG5vbmFkdmFuY2luZyBpbnB1dC9vdXRwdXQNCiAgICAgICAgICBzdGF0ZW1lbnQs IGFuZCBhbnkgQURWQU5DRT0gc3BlY2lmaWVyIGlzIGlnbm9yZWQuIg0KDQpTVUJNSVRURUQgQlk6 IFJvYiBKYW1lcw0KDQpISVNUT1JZOiAwNS0yMjkgICAgbTE3MyAgRjAzLzAwNzAgU3VibWl0dGVk DQogICAgICAgICAwNS0yMjlyMSAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAg IDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAtIHR5cG9zIGZpeGVk DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA3MQ0KVElUTEU6IFN1YnJvdXRpbmUv ZnVuY3Rpb24gYW1iaWd1aXR5IGluIGdlbmVyaWNzDQpLRVlXT1JEUzogc3Vicm91dGluZSwgZ2Vu ZXJpYywgaW1wbGljaXQNCkRFRkVDVCBUWVBFOg0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGlu IHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQogUTEuIElzIHRoZSBmb2xsb3dpbmcgZ2VuZXJpYyBh bGxvd2VkPw0KIA0KICAgICBpbnRlcmZhY2UgcQ0KICAgICAgIHN1YnJvdXRpbmUgcXIoZikNCiAg ICAgICAgIGltcGxpY2l0IHJlYWwoZikNCiAgICAgICAgIGV4dGVybmFsIGYNCiAgICAgICBlbmQg c3Vicm91dGluZQ0KICAgICAgIHN1YnJvdXRpbmUgcWMoZikNCiAgICAgICAgIGltcGxpY2l0IGNv bXBsZXgoZikNCiAgICAgICAgIGV4dGVybmFsIGYNCiAgICAgICBlbmQgc3Vicm91dGluZQ0KICAg ICBlbmQgaW50ZXJmYWNlIHENCg0KICAgICBUaGUgdW5jZXJ0YWlubHkgYXJpc2VzIGJlY2F1c2Ug aXQgaXMgbm90IGVzdGFibGlzaGVkDQogICAgIHdoZXRoZXIgRiBpcyBhIHN1YnJvdXRpbmUgb3Ig YSBmdW5jdGlvbi4gSWYgZWl0aGVyIEYNCiAgICAgd2VyZSBhIHN1YnJvdXRpbmUsIHRoZW4gaXQg d291bGQgYmUgY2xlYXIgdGhhdCB0aGUNCiAgICAgZ2VuZXJpYyB3YXMgZGlzYWxsb3dlZC4gT25l IG1pZ2h0IGJlIGFibGUgdG8gdXNlIHRoaXMNCiAgICAgdG8gZGVkdWNlIHRoYXQgYm90aCBGcyBt dXN0IGJlIGZ1bmN0aW9ucy4gVGhpcyBzZWVtcw0KICAgICBsaWtlIGFuIG9ic2N1cmUgZGVkdWN0 aW9uIHRvIGRlbWFuZCBvZiB0aGUgY29tcGlsZXIuDQoNCiBRMi4gQ29uc2lkZXIgdGhlIGZvbGxv d2luZyAib2J2aW91c2x5IiBhbGxvd2VkIGdlbmVyaWMNCiANCiAgICAgbW9kdWxlIG0NCiAgICAg ICBpbnRlcmZhY2UgcQ0KICAgICAgICAgc3Vicm91dGluZSBxcihmKQ0KICAgICAgICAgICByZWFs LCBleHRlcm5hbCA6OiBmDQogICAgICAgICBlbmQgc3Vicm91dGluZQ0KICAgICAgICAgc3Vicm91 dGluZSBxYyhmKQ0KICAgICAgICAgICBjb21wbGV4LCBleHRlcm5hbCA6OiBmDQogICAgICAgICBl bmQgc3Vicm91dGluZQ0KICAgICAgIGVuZCBpbnRlcmZhY2UgcQ0KICAgICBlbmQgbW9kdWxlIG0N Cg0KICAgICBJcyB0aGUgZm9sbG93aW5nIG1haW4gcHJvZ3JhbSB2YWxpZD8NCiAgICANCiAgICAg cHJvZ3JhbSBtYWluDQogICAgICAgdXNlIG0NCiAgICAgICBleHRlcm5hbCBmZg0KICAgICAgIGNh bGwgcShmZikNCiAgICAgZW5kDQogICAgIA0KICAgICBBZ2FpbiwgdGhlIHByb2JsZW0gaXMgdGhh dCBpdCBpcyB1bmNsZWFyIHdoZXRoZXIgb2Ygbm90DQogICAgIGZmIGlzIGEgZnVuY3Rpb24gb3Ig c3Vicm91dGluZS4gSWYgaXQgaXMgYSBzdWJyb3V0aW5lLA0KICAgICB0aGVuIHRoZSBjYWxsIGlz IGFtYmlndW91cy4gT25lIG1pZ2h0IHRodXMgZGVkdWNlIHRoYXQNCiAgICAgZmYgbXVzdCBiZSBh IGZ1bmN0aW9uLCBhbmQgdGhlcmVmb3JlIG9mIHR5cGUgcmVhbCwNCiAgICAgYnV0IHRoaXMgc2Vl bXMgbGlrZSBhbiBvYnNjdXJlIGRlZHVjdGlvbiB0byBkZW1hbmQgb2YNCiAgICAgdGhlIGNvbXBp bGVyLg0KDQpBTlNXRVI6DQoNCiBJJ20gbm90IHN1cmUuIEJ1dCBwcmVzdW1hYmx5IGVpdGhlciB0 aGUgY29tcGlsZXIgaXMgcmVxdWlyZWQNCiB0byBtYWtlIHRoZSBtZW50aW9uZWQgZGVkdWN0aW9u cyBvciB0aGUgY29kZSBtdXN0IGJlDQogbm9uY29uZm9ybWluZy4gSWYgdGhlIGNvZGUgaXMgaW50 ZW5kZWQgdG8gYmUgbm9uY29uZm9ybWluZywNCiBlZGl0cyB0byBzYXkgc28gbWlnaHQgYmUgbmVl ZGVkLg0KDQpFRElUUzoNCg0KIFRvIGJlIHN1cHBsaWVkDQoNClNVQk1JVFRFRCBCWTogUmljaGFy ZCBNYWluZQ0KDQpISVNUT1JZOiAwNS0yNjUgICAgbTE3NCAgRjAzLzAwNzEgU3VibWl0dGVkDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDA3Mg0KVElUTEU6IERlZmF1bHQgaW5pdGlh bGl6YXRpb24gZm9yICJhdXRvbWF0aWMiIGNvbXBvbmVudHMNCktFWVdPUkRTOiBQYXJhbWV0ZXJp emVkIERlcml2ZWQgVHlwZSwgRGVmYXVsdCBJbml0aWFsaXphdGlvbg0KREVGRUNUIFRZUEU6IEVy cmF0dW0NClNUQVRVUzogUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QNCg0KUVVFU1RJT046DQoN CkNvbnNpZGVyDQogIFRZUEUgdChsZW4pDQogICAgSU5URUdFUixMRU4gOjogbGVuDQogICAgQ0hB UkFDVEVSKGxlbikgOjogY3ZhbHVlID0gInh5eiINCiAgRU5EIFRZUEUNCg0KICBTVUJST1VUSU5F IHMobikNCiAgICBUWVBFKHQobikpIHgNCiAgICAuLi4NCg0KICBUWVBFIHQyKGxlbjIpDQogICAg VFlQRSh0KGxlbjIpKSA6OiB0dmFsdWUgPSB0KDEwLCJmcmVkIG51cmtlIikNCiAgRU5EIFRZUEUN Cg0KICBTVUJST1VUSU5FIHMyKG4pDQogICAgVFlQRSh0KG4pKSA6OiB5DQogICAgLi4uDQoNClRo ZSB0eXBlIGRlZmluaXRpb24gZm9yIFQgYXBwZWFycyB0byBjb25mb3JtIHRvIHRoZSBzdGFuZGFy ZDsgaXQNCmFsbG93cyBhbiAiYXV0b21hdGljIiBjb21wb25lbnQgdG8gYmUgZGVmYXVsdCBpbml0 aWFsaXplZC4gIEhvd2V2ZXIsDQp0aGUgZGVjbGFyYXRpb24gb2YgdGhlIGxvY2FsIHZhcmlhYmxl IFggaW4gc3Vicm91dGluZSBTIHdpbGwNCmluaXRpYWxpemUgdGhlIGNvbXBvbmVudCBkaWZmZXJl bnRseSBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIE4sIGZvcg0KZXhhbXBsZSwgZ2l2aW5nIHRo ZSBDVkFMVUUgY29tcG9uZW50IHRoZSB2YWx1ZSAiIiwgIngiLCAieHkiLCAieHl6IiwNCiJ4eXog IiBmb3IgTiBiZWluZyAwLCAxLCAyLCAzLCA0IHJlc3BlY3RpdmVseS4NCg0KUTEuIFdhcyBpdCBp bnRlbmRlZCB0aGF0ICJhdXRvbWF0aWMiIGNvbXBvbmVudHMgY2FuIGJlDQogICAgZGVmYXVsdC1p bml0aWFsaXplZD8NCg0KSWYgdGhlIGFuc3dlciBpcyAiWWVzIiwgdGhlIHR5cGUgZGVmaW5pdGlv biBmb3IgVDIgYWxzbyBhcHBlYXJzIHRvDQpjb25mb3JtIHRvIHRoZSBzdGFuZGFyZC4gIEhvd2V2 ZXIsIHRoZSBkZWNsYXJhdGlvbiBvZiBZIGluIFMyIHdpbGwgbm90DQp3b3JrIGlmIE4gaGFzIGFu eSB2YWx1ZSBvdGhlciB0aGFuIDEwIGF0IHJ1biB0aW1lLiAgVGhpcyBpcw0Kc3VycHJpc2luZzsg IHRoZXJlIGFwcGVhcnMgdG8gYmUgbm8gb3RoZXIgc2l0dWF0aW9uIHdoZXJlIHRoZSBydW50aW1l DQp2YWx1ZSBvZiBhIGxlbmd0aCB0eXBlIHBhcmFtZXRlciBjYW4gcmVuZGVyIGEgZGVjbGFyYXRp b24gaW52YWxpZC4NCklzIHRoaXMgc2l0dWF0aW9uIGludGVudGlvbmFsPw0KDQpBTlNXRVI6DQoN ClExLiBObywgdGhpcyB3YXMgbm90IGludGVuZGVkLiAgQW4gZWRpdCBpcyBzdXBwbGllZCB0byBm aXggdGhpcy4NCg0KUTIuIE5vdCBhcHBsaWNhYmxlLg0KDQpFRElUUzoNCg0KSW4gNC41LjMgQ29t cG9uZW50cywgaW1tZWRpYXRlbHkgYmVmb3JlIFI0NDUNCjxwcm9jLWNvbXBvbmVudC1kZWYtc3Rt dD4sIGluc2VydCBhIG5ldyBjb25zdHJhaW50OiBbNTA6NDArXQ0KIkM0NDdhIChSNDQwKSBJZiA8 Y29tcG9uZW50LWluaXRpYWxpemF0aW9uPiBhcHBlYXJzLCBldmVyeSB0eXBlDQogICAgICAgICAg ICAgIHBhcmFtZXRlciBhbmQgYXJyYXkgYm91bmQgb2YgdGhlIGNvbXBvbmVudCBzaGFsbCBiZSBh bg0KICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBleHByZXNzaW9uLiINCg0KU1VCTUlUVEVE IEJZOiBNYWxjb2xtIENvaGVuDQoNCkhJU1RPUlk6IDA1LTI4NSAgICBtMTc0ICBGMDMvMDA3MiBT dWJtaXR0ZWQNCgkgMDUtMjg1cjEgIG0xNzQgIFJldmlzZWQgZWRpdA0KICAgICAgICAgMDYtMTMz ICAgIG0xNzUgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90DQo= ------_=_NextPart_001_01C62E90.30657BBC--