From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by sourceware.org (Postfix) with ESMTPS id 9985F3858D28 for ; Fri, 22 Mar 2024 10:39:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9985F3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9985F3858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.7 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711103998; cv=pass; b=JMaHP/I/oLK+yfEO8jpqaDyBADEH86i3lcTdTx9zV2o/j5/ecBW2YSGIg2t8p2jvLJ8cvhJffwIgMve20zeYD6oXTbJB4TOhhkhLYf2K94IXQje6FEGUhWnfkMwL+9zydkzips6EuFHS7nnAxHUZBJHfYyS85VpqYDBl2q/OhcI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711103998; c=relaxed/simple; bh=FZeEFS9atpLki8RbrJWCRJhFl/v0frRubDnwi1J6TCs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=SE5SX7C4LHQFukG3DqDjXfYr2MHTnDVHxCGtETda73E2490brnvvsu2dsWbMHToudjhUUBG8vSyGwmY+qLtklYcpmtpqXI3sRc4+iMYwigxh9+cdSEw20qu2TFahgt9BDz8j/N9WbRWPhEISpOCBXqQEnUOQJy9rzBVB8aTQpAg= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711103988; x=1742639988; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=FZeEFS9atpLki8RbrJWCRJhFl/v0frRubDnwi1J6TCs=; b=PRRcL/pQgCckswaGz4cYMhP1hjRDxS3wDawvSJq9yq3ZXx2q6tS4NuPc 7BDGaZD0AcgjC7yS1+kXU/BZnvL2AqQGJL6t+v+gdXFLt8XQfLO4bhE4U eJg/gFq5zoeg73nic79Zt2UTIgYGuz+9gDKMwxSY0nx/vOuB9E/wI+h1N dkCKU8/bqhhWyrwjEJmGvWHKWgKYvY329BDsDUagEqVaZFnWf1vf9pFr0 Fa0UP6NkcOPfC47Knz3NLQjhhffStNDF032EftL0JE7tskPudQw9L99sA sALuurgkkNCY/lSBObDI0Y7AIyEdd/PPvcAlSQjsRcIsAl0llUglZi7WG A==; X-IronPort-AV: E=McAfee;i="6600,9927,11020"; a="31581980" X-IronPort-AV: E=Sophos;i="6.07,145,1708416000"; d="scan'208";a="31581980" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2024 03:39:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,145,1708416000"; d="scan'208";a="19335354" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Mar 2024 03:39:46 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 22 Mar 2024 03:39:45 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 22 Mar 2024 03:39:45 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Fri, 22 Mar 2024 03:39:45 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 22 Mar 2024 03:39:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aJmea/zpDZxlco6tEnmYl4+9Ji1ddX3ADc405SlxOqIupz1bpf0ThACBUdDK4KOXOeTm/T7UvGhpH8V4rDpkz19EAjPsCae4HSUmNcNVi/NG4Ax7O7AXFVDyUfErM2toH6pfNxUrXHppQaDXqG5E9T8tiHthj2tJhsXsf1lvs5V4WhSzdyZdlWOvD850gWEfFUtLiIJhS1GKz9ztaxa/hZdEIsYj3kDPsSfbMCKql6gwldmuqMl4MQUiCSUlEWb9KQIgC1OUF/usjTnqjonRYhFaeTZtmXivnX4Esao9BU9hiUbYgpLgae39KEs68O0u+qh1mP40lR1cNwE3h2ah7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FZeEFS9atpLki8RbrJWCRJhFl/v0frRubDnwi1J6TCs=; b=Zz1KAxZ6RzQpUhByrK1jgkOflcPeCN4x7oBtGkBZ+wVFzVvykHw0v95keSR5cJiyKeCfP2g68aTeoBOIT1umpMOl0TCq757xZBXqenI7nE8xh6EBXOA5LpCnOy53dxleA11dpfPKzJybYHTAd1SWwv3KaBq1w8tvThXDSHlsBLCOOTm+jvQXPdnCk8OIw30pP7bDLTT065UVhM6eTEJBPTZ3bsWTrq9/tnrJuS8E36ozlr2vgK/VC6CkJLDjU2ivroV+oI2h0nUddXLdKGBlHYg3M9Hi+xtjr3hKfhYZlw+ebYyno1/iJSDZYjw8Ynt/a8qIoBxGXJvNiKenPAFHgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by SA0PR11MB4685.namprd11.prod.outlook.com (2603:10b6:806:9e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.24; Fri, 22 Mar 2024 10:39:42 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%4]) with mapi id 15.20.7409.010; Fri, 22 Mar 2024 10:39:42 +0000 From: "Li, Pan2" To: Kito Cheng CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "rdapp.gcc@gmail.com" , "vineetg@rivosinc.com" , "palmer@rivosinc.com" Subject: RE: [PATCH v4] RISC-V: Introduce gcc attribute riscv_rvv_vector_bits for RVV Thread-Topic: [PATCH v4] RISC-V: Introduce gcc attribute riscv_rvv_vector_bits for RVV Thread-Index: AQHafCXgvBOCoUgMgUajlpOAUco/27FDiK4AgAAJbSA= Date: Fri, 22 Mar 2024 10:39:42 +0000 Message-ID: References: <20240306063823.779522-1-pan2.li@intel.com> <20240322065450.3853372-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|SA0PR11MB4685:EE_ x-ms-office365-filtering-correlation-id: 0d2622c3-4247-41bb-0f4d-08dc4a5c61ef x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tWX0qIbyBcalV97o1jBNyw2Lfb6QOMV0K71Md1ZuCI1ujWYyHEC5Hc2feOyGSxKNNud36pRu8cd3WCsM27i7b5tsRCCErSfDMQoZ60zX+8XO1trVgs9JZPU9/Ew2UJVDaa51jLhzB3Jgi5cf4NpUVr0x166ZeR+QVY5M+LO7DNnEypxTpNkC5CjasXnf6pC1KvBjElcUnM3/RZ8V7Rl0jOtd39ADrn34HDsrwyM0KgWSa5jpq1tIY06LvH1qNFw+hoLzX6Cq+V/0UId1gba1y47JBqKV2PcwxeVuEi8uuvUHLjlGEJc/6XTfWCR1041ftu2oCKX4IE8FAADShpf7fZAGKDtSFaePhJKdIWNFd+owJPHPDa0PnqbiWSOulvmKIkD7dkjVQwawOH5LSmr3xMzPKzW02iOJDIeVglk9dbt+clWdUvzLiForpiNhVx5jNlQpaU3RYyrHX0p82841UBWfGnrg2qkD4127iD3FBAkn3IJva6P+Wd+GBBwnM/0MlaKd1sJKYSLbNN956tihn6tayZnGAOuZtGX3o0K0Vesbb4K+5ZS7tQP5OlML8RqivRKWDXb1Vs/ZXq9Gz63C/v0HuPTZF70vFPYzTspoIAe/BUt9SMU7dPbVoZf3Rat7gDr3713n2Es4t5jYIiaUI0gZ4DlSL8l7GHIX+WpThur3cwZ6mBc0+6qHCHII38S/ x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UHZib1VVSGdEUlBqc21sWEdxdUNLby9zZDVZTElnenJiTkx0MnRVMnRmbXd2?= =?utf-8?B?MGtPS1JraEs0RXY0Z0tWUzlSN0tBSE5pdit3alJVQUp6cG9ydGp2VWUrUlEw?= =?utf-8?B?OVZiMzBlcm50VFpxSlQrRTB6U0JLSEdna0F5Mk9DdjR4U1U0ZGI4Q25qQTBM?= =?utf-8?B?WFZTdHlNL3o3VmxIVnJSZlo1UnZvK2toZzljRkN2Wk5va1BMQ0lmeXFsdTIz?= =?utf-8?B?Ty9zWHdXVlA3UUlybVIrdkNQaDRaVlZNSFhHckRNWWZGT1FncDFYbk5FQ1J3?= =?utf-8?B?MVJMZ0ZaUU5aZmlxZUJBaU1YWEE4OXdRWmZmcHg4ZnZ4UVl2L04weGNhLzI4?= =?utf-8?B?ai96SXpGVjJLSVUzaXBMM1puWkx4c00zemhlUVBjckV3Smo0MWpGL0ZqRU90?= =?utf-8?B?bjhMVGxvOVBwV3pZZFIvcGpqaytNMzFZQjN4b1JMTnNMd2FFdE8wSzk3QzRI?= =?utf-8?B?TGtabm1pUE9Td0l0K00zYlR0eHFzb3V3NlFjRGJPalVYY29MQXd3ZmVDSG1K?= =?utf-8?B?REUwUmdTeDFXUDROeEVaQ0NJTWR1K3NKT3ZkMWwvK1NMbjEwMVMranhOaUJi?= =?utf-8?B?a0g1cmNJS0MxZU51ejE3SUtRV0ZRVFBBOGV3dW9UMjlHYStkRExhbktGZVk1?= =?utf-8?B?UWIra1UxaUg0NjJOVkZSNlNrTHlHcE5hNms4OWhBSmRjbTEyQTY0cnJVZkNZ?= =?utf-8?B?OUVCcHdlNnM1N08wcUJlOHhacFRudFZpczQ3QXdQV1FMY0VCWm1TYTNtTEZz?= =?utf-8?B?MDYrWU8yRzRQeTNvbDNRbXlDRlkvTzRpRmhEdFlQL252ZkpYZkVPbzNRdUdO?= =?utf-8?B?WnVRdk96bXpZN1Y2SkRNZnlrMC8wd0puMzdZSDVFdGFyQms0TS80UUo4YVVo?= =?utf-8?B?UEc5UGlPamIweEdUWlJ5dzluK3R1bEw5TUxNbFl0UVM3ajc5MHkvQlZIWlhW?= =?utf-8?B?RlcrUllMQWV6ZzBITDBqdkxLbGpwQUVIcldQY2x0L0VuTG43UXZ2NnF6WGNO?= =?utf-8?B?TDlHQUdEekZ2eStrQWN0WTd2V2lCM2tCaTdJSG9MeVdiMWk4djJBNHNOTzRm?= =?utf-8?B?MHBLQjQ3U3Uwam5oY291cHdpamVES1dVVEZQNDF4RHNFQ2JqYVpVMTFiTUJu?= =?utf-8?B?TGt4NnZWWDljdDBzaTJlSUNzT2tHWmtVWitkR0tHNTdCSFFJVElYTUFaZHdx?= =?utf-8?B?RmdlVVpXZkZrZkUrYlZWYldGcEM4VThpSHJnSHN3ZUNDcmo1ODJXS3JlQnJx?= =?utf-8?B?QS9sbVpFR0x2dVVPVDFjYmZQTG03dkdMaHU5MW12b0xzam0xRTNNRlhzNDFo?= =?utf-8?B?Q0ZSZmpNbkJKejhGOEJVWGtuN0R4alRwY3RsRzFKTnRlUWc0SnArMnRxRXUy?= =?utf-8?B?ZjlCbmxMblB6OWJkZEE4Q25OVUVNeFpZWkQ0NUtMZWVmRXFJOEtzVkwyOFFT?= =?utf-8?B?U3liVzhITVVZK01wck9HZnZNclBTUEp1SlVKdUxhSm4ydnJ5MWVIRUdQdHdw?= =?utf-8?B?VW9NbUs4NlcxSVpsT01vUEZVZi9GMGozbjE4UXdLYW05UTVtZkQ3SDd1anVH?= =?utf-8?B?c1IrSStqenNFdUJlTlRNY0RNWTdIQUNKUllWZE85QXlha0c0ejRDKzlEdHNM?= =?utf-8?B?UmpPd1dKSlArZFM2djRlK3pPbkUvZ2pMd0JqWXNSdnV4cnhNRDgybFdpSThq?= =?utf-8?B?MXJoNkN5WHcvQytPL05LYXB4VmpZQjBCY2ZqYmdyU1pOekpzakZDNk5kSFQy?= =?utf-8?B?VXB0VVU1Z0toT04wcWFDbW5VSVNNL2g3UmN2MDdMeitjRlZiV1A0NFBib3l5?= =?utf-8?B?QVU5S3pjNGRBYTBmdmJGd0NoZWxMaGp2dHNJdnJRTXpFQ0Vkbml0cmo2NWt6?= =?utf-8?B?NGQ2UUUwUGdpSjFIN0ZGN3h1VzRJeU1FaTlBMitnT2lVZHdYTzRQM1hLRUda?= =?utf-8?B?SVEvR0tUdmMxNzBhNjBCejVqU2tiWE5CdlY1TWl5UFRHYzFKVGNhUHgyQWtF?= =?utf-8?B?Rjh0TmY2V0R0R04relVvNDRPZXl5WkppQ0dRNGJUdUVPUUdKK2h5QytPTisz?= =?utf-8?B?eGJVeldkNDIzb2cvNGNuYVVvdExaRVpZRzYrdjJqYUszN1k3RkFDNk03eS9D?= =?utf-8?Q?Z6DQ=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d2622c3-4247-41bb-0f4d-08dc4a5c61ef X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2024 10:39:42.0193 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jtBRlziL/fYR2mPK7ge/2cmlFyzuKhJZIeU4piIazYBqTZAqat5oNFfrB5CVIwD8+9FMSlbgrMaxfNvMK78SGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4685 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE,TXREP,URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Q29tbWl0dGVkLCB0aGFua3MgS2l0by4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBLaXRvIENoZW5nIDxraXRvLmNoZW5nQGdtYWlsLmNvbT4gDQpTZW50OiBGcmlk YXksIE1hcmNoIDIyLCAyMDI0IDY6MDYgUE0NClRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5j b20+DQpDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IGp1emhlLnpob25nQHJpdmFpLmFpOyBX YW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyByZGFwcC5nY2NAZ21haWwu Y29tOyB2aW5lZXRnQHJpdm9zaW5jLmNvbTsgcGFsbWVyQHJpdm9zaW5jLmNvbQ0KU3ViamVjdDog UmU6IFtQQVRDSCB2NF0gUklTQy1WOiBJbnRyb2R1Y2UgZ2NjIGF0dHJpYnV0ZSByaXNjdl9ydnZf dmVjdG9yX2JpdHMgZm9yIFJWVg0KDQpMR1RNLCB0aGFua3MgOikNCg0KT24gRnJpLCBNYXIgMjIs IDIwMjQgYXQgMjo1NeKAr1BNIDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+IEZyb206 IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQo+DQo+IFRoaXMgcGF0Y2ggd291bGQgbGlrZSB0 byBpbnRyb2R1Y2Ugb25lIG5ldyBnY2MgYXR0cmlidXRlIGZvciBSVlYuDQo+IFRoaXMgYXR0cmli dXRlIGlzIHVzZWQgdG8gZGVmaW5lIGZpeGVkLWxlbmd0aCB2YXJpYW50cyBvZiBvbmUNCj4gZXhp c3Rpbmcgc2l6ZWxlc3MgUlZWIHR5cGVzLg0KPg0KPiBUaGlzIGF0dHJpYnV0ZSBpcyB2YWxpZCBp ZiBhbmQgb25seSBpZiB0aGUgbXJ2di12ZWN0b3ItYml0cz16dmwsIHRoZSBvbmx5DQo+IG9uZSBh cmdzIHNob3VsZCBiZSB0aGUgaW50ZWdlciBjb25zdGFudCBhbmQgaXRzJyB2YWx1ZSBpcyB0ZXJt aW5hdGVkDQo+IGJ5IHRoZSBMTVVMIGFuZCB0aGUgdmVjdG9yIHJlZ2lzdGVyIGJpdHMgaW4genZs KmIuICBGb3IgZXhhbXBsZToNCj4NCj4gdHlwZWRlZiB2aW50MzJtMl90IGZpeGVkX3ZpbnQzMm0y X3QgX19hdHRyaWJ1dGVfXygocmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzKDEyOCkpKTsNCj4NCj4gVGhl IGFib3ZlIHR5cGUgZGVmaW5lIGlzIHZhbGlkIHdoZW4gLW1hcmNoPXJ2NjRnY196dmU2NGRfenZs NjRiDQo+IChha2EgMihtMikgKiA2NCA9IDEyOCBmb3IgdmluMzJtMl90KSwgYW5kIHdpbGwgcmVw b3J0IGVycm9yIHdoZW4NCj4gLW1hcmNoPXJ2NjRnY3ZfenZsMTI4YiBzaW1pbGFyIHRvIGJlbG93 Lg0KPg0KPiAiZXJyb3I6IGludmFsaWQgUlZWIHZlY3RvciBzaXplICcxMjgnLCBleHBlY3RlZCBz aXplIGlzICcyNTYnIGJhc2VkIG9uDQo+IExNVUwgb2YgdHlwZSBhbmQgJy1tcnZ2LXZlY3Rvci1i aXRzPXp2bCciDQo+DQo+IE1lYW53aGlsZSwgYSBwcmUtZGVmaW5lIG1hY3JvIF9fcmlzY3Zfdl9m aXhlZF92bGVuIGlzIGludHJvZHVjZWQgdG8NCj4gcmVwcmVzZW50IHRoZSBmaXhlZCB2bGVuIGlu IGEgUlZWIHZlY3RvciByZWdpc3Rlci4NCj4NCj4gRm9yIHRoZSB2aW50Km0qX3QgYmVsb3cgb3Bl cmF0aW9ucyBhcmUgYWxsb3dlZC4NCj4gKiBUaGUgc2l6ZW9mLg0KPiAqIFRoZSBnbG9iYWwgdmFy aWFibGUocykuDQo+ICogVGhlIGVsZW1lbnQgb2YgdW5pb24gYW5kIHN0cnVjdC4NCj4gKiBUaGUg Y2FzdCB0byBvdGhlciBlcXVhbGl0aWVzLg0KPiAqIENNUDogPiwgPCwgPT0sICE9LCA8PSwgPj0N Cj4gKiBBTFU6ICssIC0sICosIC8sICUsICYsIHwsIF4sID4+LCA8PCwgfiwgLQ0KPg0KPiBUaGUg Q01QIHdpbGwgcmV0dXJuIHZpbnQqbSpfdCB0aGUgc2FtZSBhcyBhYXJjaDY0IHN2ZS4gRm9yIGV4 YW1wbGU6DQo+IHR5cGVkZWYgdmludDMybTFfdCBmaXhlZF92aW50MzJtMV90IF9fYXR0cmlidXRl X18oKHJpc2N2X3J2dl92ZWN0b3JfYml0cygxMjgpKSk7DQo+IGZpeGVkX3ZpbnQzMm0xX3QgbGVz c190aGFuIChmaXhlZF92aW50MzJtMV90IGEsIGZpeGVkX3ZpbnQzMm0xX3QgYikNCj4gew0KPiAg IHJldHVybiBhIDwgYjsNCj4gfQ0KPg0KPiBGb3IgdGhlIHZmbG9hdCptKl90IGJlbG93IG9wZXJh dGlvbnMgYXJlIGFsbG93ZWQuDQo+ICogVGhlIHNpemVvZi4NCj4gKiBUaGUgZ2xvYmFsIHZhcmlh YmxlKHMpLg0KPiAqIFRoZSBlbGVtZW50IG9mIHVuaW9uIGFuZCBzdHJ1Y3QuDQo+ICogVGhlIGNh c3QgdG8gb3RoZXIgZXF1YWxpdGllcy4NCj4gKiBDTVA6ID4sIDwsID09LCAhPSwgPD0sID49DQo+ ICogQUxVOiArLCAtLCAqLCAvLCAtDQo+DQo+IFRoZSBDTVAgd2lsbCByZXR1cm4gdmZsb2F0Km0q X3QgdGhlIHNhbWUgYXMgYWFyY2g2NCBzdmUuIEZvciBleGFtcGxlOg0KPiB0eXBlZGVmIHZmbG9h dDMybTFfdCBmaXhlZF92ZmxvYXQzMm0xX3QgX19hdHRyaWJ1dGVfXygocmlzY3ZfcnZ2X3ZlY3Rv cl9iaXRzKDEyOCkpKTsNCj4gZml4ZWRfdmZsb2F0MzJtMV90IGxlc3NfdGhhbiAoZml4ZWRfdmZs b2F0MzJtMV90IGEsIGZpeGVkX3ZmbG9hdDMybTFfdCBiKQ0KPiB7DQo+ICAgcmV0dXJuIGEgPCBi Ow0KPiB9DQo+DQo+IEZvciB0aGUgdmJvb2wqX3QgdHlwZXMgb25seSBiZWxvdyBvcGVyYXRpb25z IGFyZSBhbGxvd2VkIGV4Y2VwdA0KPiB0aGUgQ01QIGFuZCBBTFUuIFRoZSBDTVAgYW5kIEFMVSBv cGVyYXRpb25zIG9uIHZib29sKl90IGlzIG5vdA0KPiB3ZWxsIGRlZmluZWQgY3VycmVudGx5Lg0K PiAqIFRoZSBzaXplb2YuDQo+ICogVGhlIGdsb2JhbCB2YXJpYWJsZShzKS4NCj4gKiBUaGUgZWxl bWVudCBvZiB1bmlvbiBhbmQgc3RydWN0Lg0KPiAqIFRoZSBjYXN0IHRvIG90aGVyIGVxdWFsaXRp ZXMuDQo+DQo+IEZvciB0aGUgdmludCp4Km0qX3QgdHVwbGUgdHlwZXMgYXJlIG5vdCBzdXBwb3Jl ZCBpbiB0aGlzIHBhdGNoIHdoaWNoIGlzDQo+IGNvbXBhdGlibGUgd2l0aCBjbGFuZy4NCj4NCj4g VGhpcyBwYXRjaCBwYXNzZWQgdGhlIGJlbG93IHRlc3RzdWl0ZXMuDQo+ICogVGhlIHJpc2N2IGZ1 bGx5IHJlZ3Jlc3Npb24gdGVzdHMuDQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICAgICAgICAg KiBjb25maWcvcmlzY3YvcmlzY3YtYy5jYyAocmlzY3ZfY3B1X2NwcF9idWlsdGlucyk6IEFkZCBw cmUtZGVmaW5lDQo+ICAgICAgICAgbWFjcm8gX19yaXNjdl92X2ZpeGVkX3ZsZW4gd2hlbiB6dmwu DQo+ICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X2hhbmRsZV9ydnZfdmVj dG9yX2JpdHNfYXR0cmlidXRlKToNCj4gICAgICAgICBOZXcgc3RhdGljIGZ1bmMgdG8gdGFrZSBj YXJlIG9mIHRoZSBSVlYgdHlwZXMgZGVjb3JhdGVkIGJ5DQo+ICAgICAgICAgdGhlIGF0dHJpYnV0 ZXMuDQo+DQo+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPg0KPiAgICAgICAgICogZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMS5jOiBOZXcgdGVzdC4N Cj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9i aXRzLTEwLmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTEuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xMi5jOiBOZXcgdGVz dC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rv cl9iaXRzLTEzLmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTQuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xNS5jOiBOZXcg dGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3Zl Y3Rvcl9iaXRzLTE2LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTcuYzogTmV3IHRlc3QuDQo+ICAgICAgICAg KiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xOC5jOiBO ZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2 X3ZlY3Rvcl9iaXRzLTIuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0zLmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAg ICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNC5jOiBO ZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2 X3ZlY3Rvcl9iaXRzLTUuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy02LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAg ICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNy5jOiBO ZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2 X3ZlY3Rvcl9iaXRzLTguYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy05LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAg ICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMuaDogTmV3 IHRlc3QuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQo+ IC0tLQ0KPiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjICAgICAgICAgICAgICAgICAgIHwg ICAzICsNCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgICAgICAgICAgICAgICAgICAgICB8 ICA4NyArKysrKysrKysrKysrLQ0KPiAgLi4uL3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0 b3JfYml0cy0xLmMgIHwgICA2ICsNCj4gIC4uLi9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVj dG9yX2JpdHMtMTAuYyB8ICA1MyArKysrKysrKysNCj4gIC4uLi9yaXNjdi9ydnYvYmFzZS9yaXNj dl9ydnZfdmVjdG9yX2JpdHMtMTEuYyB8ICA3NiArKysrKysrKysrKysNCj4gIC4uLi9yaXNjdi9y dnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTIuYyB8ICAxNCArKysNCj4gIC4uLi9yaXNj di9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTMuYyB8ICAxMCArKw0KPiAgLi4uL3Jp c2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xNC5jIHwgIDEwICsrDQo+ICAuLi4v cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE1LmMgfCAgMTAgKysNCj4gIC4u Li9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTYuYyB8ICAxMSArKw0KPiAg Li4uL3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xNy5jIHwgIDEwICsrDQo+ ICAuLi4vcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE4LmMgfCAgNDUgKysr KysrKysNCj4gIC4uLi9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMi5jICB8 ICAgNiArDQo+ICAuLi4vcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTMuYyAg fCAgIDYgKw0KPiAgLi4uL3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy00LmMg IHwgICA2ICsNCj4gIC4uLi9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNS5j ICB8ICAgNiArDQo+ICAuLi4vcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTYu YyAgfCAgIDYgKw0KPiAgLi4uL3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy03 LmMgIHwgIDc2ICsrKysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92 ZWN0b3JfYml0cy04LmMgIHwgIDc1ICsrKysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9iYXNl L3Jpc2N2X3J2dl92ZWN0b3JfYml0cy05LmMgIHwgIDc2ICsrKysrKysrKysrKw0KPiAgLi4uL3Jp c2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy5oICAgIHwgMTA4ICsrKysrKysrKysr KysrKysrKw0KPiAgMjEgZmlsZXMgY2hhbmdlZCwgNjk4IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xLmMNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3Zl Y3Rvcl9iaXRzLTEwLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTExLmMNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uvcmlz Y3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEyLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEzLmMN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE0LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9i aXRzLTE1LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE2LmMNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2 X3ZlY3Rvcl9iaXRzLTE3LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE4LmMNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMy5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy00LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9i aXRzLTUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNi5jDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92 ZWN0b3JfYml0cy03LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTguYw0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNj dl9ydnZfdmVjdG9yX2JpdHMtOS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy5oDQo+DQo+ IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWMuY2MgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LWMuY2MNCj4gaW5kZXggNzAyOWJhODgxODYuLmVkYjg2NmQ1MWU0IDEwMDY0NA0K PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWMuY2MNCj4gKysrIGIvZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi1jLmNjDQo+IEBAIC0xNDAsNiArMTQwLDkgQEAgcmlzY3ZfY3B1X2NwcF9idWls dGlucyAoY3BwX3JlYWRlciAqcGZpbGUpDQo+ICAgICAgICBidWlsdGluX2RlZmluZSAoIl9fcmlz Y3ZfdmVjdG9yIik7DQo+ICAgICAgICBidWlsdGluX2RlZmluZV93aXRoX2ludF92YWx1ZSAoIl9f cmlzY3Zfdl9pbnRyaW5zaWMiLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmlzY3ZfZXh0X3ZlcnNpb25fdmFsdWUgKDAsIDEyKSk7DQo+ICsNCj4gKyAgICAgIGlmIChy dnZfdmVjdG9yX2JpdHMgPT0gUlZWX1ZFQ1RPUl9CSVRTX1pWTCkNCj4gKyAgICAgICBidWlsdGlu X2RlZmluZV93aXRoX2ludF92YWx1ZSAoIl9fcmlzY3Zfdl9maXhlZF92bGVuIiwgVEFSR0VUX01J Tl9WTEVOKTsNCj4gICAgICB9DQo+DQo+ICAgIGlmIChUQVJHRVRfWFRIRUFEVkVDVE9SKQ0KPiBk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3Yv cmlzY3YuY2MNCj4gaW5kZXggMDJhOTI3Zjk2YjQuLjE0ZjViNjM0ZWExIDEwMDY0NA0KPiAtLS0g YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+ICsrKyBiL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YuY2MNCj4gQEAgLTU1Miw2ICs1NTIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJpc2N2X3R1 bmVfcGFyYW0gb3B0aW1pemVfc2l6ZV90dW5lX2luZm8gPSB7DQo+ICBzdGF0aWMgYm9vbCByaXNj dl9hdm9pZF9zaHJpbmtfd3JhcHBpbmdfc2VwYXJhdGUgKCk7DQo+ICBzdGF0aWMgdHJlZSByaXNj dl9oYW5kbGVfZm5kZWNsX2F0dHJpYnV0ZSAodHJlZSAqLCB0cmVlLCB0cmVlLCBpbnQsIGJvb2wg Kik7DQo+ICBzdGF0aWMgdHJlZSByaXNjdl9oYW5kbGVfdHlwZV9hdHRyaWJ1dGUgKHRyZWUgKiwg dHJlZSwgdHJlZSwgaW50LCBib29sICopOw0KPiArc3RhdGljIHRyZWUgcmlzY3ZfaGFuZGxlX3J2 dl92ZWN0b3JfYml0c19hdHRyaWJ1dGUgKHRyZWUgKiwgdHJlZSwgdHJlZSwgaW50LA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqKTsN Cj4NCj4gIC8qIERlZmluaW5nIHRhcmdldC1zcGVjaWZpYyB1c2VzIG9mIF9fYXR0cmlidXRlX18u ICAqLw0KPiAgc3RhdGljIGNvbnN0IGF0dHJpYnV0ZV9zcGVjIHJpc2N2X2dudV9hdHRyaWJ1dGVz W10gPQ0KPiBAQCAtNTc0LDcgKzU3NiwxNyBAQCBzdGF0aWMgY29uc3QgYXR0cmlidXRlX3NwZWMg cmlzY3ZfZ251X2F0dHJpYnV0ZXNbXSA9DQo+ICAgIC8qIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQg dG8gZGVjbGFyZSBhIGZ1bmN0aW9uLCBmb3JjaW5nIGl0IHRvIHVzZSB0aGUNCj4gICAgICBzdGFu ZGFyZCB2ZWN0b3IgY2FsbGluZyBjb252ZW50aW9uIHZhcmlhbnQuIFN5bnRheDoNCj4gICAgICBf X2F0dHJpYnV0ZV9fKChyaXNjdl92ZWN0b3JfY2MpKS4gKi8NCj4gLSAgeyJyaXNjdl92ZWN0b3Jf Y2MiLCAwLCAwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgTlVMTCwgTlVMTH0NCj4gKyAgeyJy aXNjdl92ZWN0b3JfY2MiLCAwLCAwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgTlVMTCwgTlVM TH0sDQo+ICsgIC8qIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gZGVjbGFyZSBhIG5ldyB0eXBl LCB0byBhcHBvaW50IHRoZSBleGFjdGx5DQo+ICsgICAgIGJpdHMgc2l6ZSBvZiB0aGUgdHlwZS4g IEZvciBleGFtcGxlOg0KPiArDQo+ICsgICAgIHR5cGVkZWYgdmludDhtMV90IGZfdmludDhtMV90 IF9fYXR0cmlidXRlX18oKHJpc2N2X3J2dl92ZWN0b3JfYml0cygyNTYpKSk7DQo+ICsNCj4gKyAg ICAgVGhlIG5ldyBjcmVhdGVkIHR5cGUgZl92aW50OG0xX3Qgd2lsbCBiZSBleGFjdGx5IDI1NiBi aXRzLiAgSXQgY2FuIGJlDQo+ICsgICAgIGJlIHVzZWQgaW4gZ2xvYmFscywgc3RydWN0cywgdW5p b25zLCBhbmQgYXJyYXlzIGluc3RlYWQgb2Ygc2l6ZWxlc3MNCj4gKyAgICAgdHlwZXMuICAqLw0K PiArICB7InJpc2N2X3J2dl92ZWN0b3JfYml0cyIsIDEsIDEsIGZhbHNlLCB0cnVlLCBmYWxzZSwg dHJ1ZSwNCj4gKyAgIHJpc2N2X2hhbmRsZV9ydnZfdmVjdG9yX2JpdHNfYXR0cmlidXRlLCBOVUxM fSwNCj4gIH07DQo+DQo+ICBzdGF0aWMgY29uc3Qgc2NvcGVkX2F0dHJpYnV0ZV9zcGVjcyByaXNj dl9nbnVfYXR0cmlidXRlX3RhYmxlICA9DQo+IEBAIC01ODcsNyArNTk5LDE3IEBAIHN0YXRpYyBj b25zdCBhdHRyaWJ1dGVfc3BlYyByaXNjdl9hdHRyaWJ1dGVzW10gPQ0KPiAgICAvKiBUaGlzIGF0 dHJpYnV0ZSBpcyB1c2VkIHRvIGRlY2xhcmUgYSBmdW5jdGlvbiwgZm9yY2luZyBpdCB0byB1c2Ug dGhlDQo+ICAgICAgIHN0YW5kYXJkIHZlY3RvciBjYWxsaW5nIGNvbnZlbnRpb24gdmFyaWFudC4g U3ludGF4Og0KPiAgICAgICBbW3Jpc2N2Ojp2ZWN0b3JfY2NdXS4gKi8NCj4gLSAgeyJ2ZWN0b3Jf Y2MiLCAwLCAwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgTlVMTCwgTlVMTH0NCj4gKyAgeyJ2 ZWN0b3JfY2MiLCAwLCAwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgTlVMTCwgTlVMTH0sDQo+ ICsgIC8qIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gZGVjbGFyZSBhIG5ldyB0eXBlLCB0byBh cHBvaW50IHRoZSBleGFjdGx5DQo+ICsgICAgIGJpdHMgc2l6ZSBvZiB0aGUgdHlwZS4gIEZvciBl eGFtcGxlOg0KPiArDQo+ICsgICAgIHR5cGVkZWYgdmludDhtMV90IGZfdmludDhtMV90IF9fYXR0 cmlidXRlX18oKHJpc2N2X3J2dl92ZWN0b3JfYml0cygyNTYpKSk7DQo+ICsNCj4gKyAgICAgVGhl IG5ldyBjcmVhdGVkIHR5cGUgZl92aW50OG0xX3Qgd2lsbCBiZSBleGFjdGx5IDI1NiBiaXRzLiAg SXQgY2FuIGJlDQo+ICsgICAgIGJlIHVzZWQgaW4gZ2xvYmFscywgc3RydWN0cywgdW5pb25zLCBh bmQgYXJyYXlzIGluc3RlYWQgb2Ygc2l6ZWxlc3MNCj4gKyAgICAgdHlwZXMuICAqLw0KPiArICB7 InJ2dl92ZWN0b3JfYml0cyIsIDEsIDEsIGZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwNCj4gKyAg IHJpc2N2X2hhbmRsZV9ydnZfdmVjdG9yX2JpdHNfYXR0cmlidXRlLCBOVUxMfSwNCj4gIH07DQo+ DQo+ICBzdGF0aWMgY29uc3Qgc2NvcGVkX2F0dHJpYnV0ZV9zcGVjcyByaXNjdl9ub25nbnVfYXR0 cmlidXRlX3RhYmxlID0NCj4gQEAgLTU1NzMsNiArNTU5NSw2NyBAQCByaXNjdl9oYW5kbGVfdHlw ZV9hdHRyaWJ1dGUgKHRyZWUgKm5vZGUgQVRUUklCVVRFX1VOVVNFRCwgdHJlZSBuYW1lLCB0cmVl IGFyZ3MsDQo+ICAgIHJldHVybiBOVUxMX1RSRUU7DQo+ICB9DQo+DQo+ICtzdGF0aWMgdHJlZQ0K PiArcmlzY3ZfaGFuZGxlX3J2dl92ZWN0b3JfYml0c19hdHRyaWJ1dGUgKHRyZWUgKm5vZGUsIHRy ZWUgbmFtZSwgdHJlZSBhcmdzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQVRUUklCVVRFX1VOVVNFRCBpbnQgZmxhZ3MsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBib29sICpub19hZGRfYXR0cnMpDQo+ICt7DQo+ICsgIGlmICgh aXNfYXR0cmlidXRlX3AgKCJyaXNjdl9ydnZfdmVjdG9yX2JpdHMiLCBuYW1lKSkNCj4gKyAgICBy ZXR1cm4gTlVMTF9UUkVFOw0KPiArDQo+ICsgICpub19hZGRfYXR0cnMgPSB0cnVlOw0KPiArDQo+ ICsgIGlmIChydnZfdmVjdG9yX2JpdHMgIT0gUlZWX1ZFQ1RPUl9CSVRTX1pWTCkNCj4gKyAgICB7 DQo+ICsgICAgICBlcnJvciAoDQo+ICsgICAgICAgIiVxcyBpcyBvbmx5IHN1cHBvcnRlZCB3aGVu ICU8LW1ydnYtdmVjdG9yLWJpdHM9enZsJT4gaXMgc3BlY2lmaWVkIiwNCj4gKyAgICAgICAicmlz Y3ZfcnZ2X3ZlY3Rvcl9iaXRzIik7DQo+ICsgICAgICByZXR1cm4gTlVMTF9UUkVFOw0KPiArICAg IH0NCj4gKw0KPiArICB0cmVlIHR5cGUgPSAqbm9kZTsNCj4gKw0KPiArICBpZiAoIVZFQ1RPUl9U WVBFX1AgKHR5cGUpIHx8ICFyaXNjdl92ZWN0b3I6OmJ1aWx0aW5fdHlwZV9wICh0eXBlKSkNCj4g KyAgICB7DQo+ICsgICAgICBlcnJvciAoIiVxcyBhcHBsaWVkIHRvIG5vbi1SVlYgdHlwZSAlcVQi LCAicmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzIiwgdHlwZSk7DQo+ICsgICAgICByZXR1cm4gTlVMTF9U UkVFOw0KPiArICAgIH0NCj4gKw0KPiArICB0cmVlIHNpemUgPSBUUkVFX1ZBTFVFIChhcmdzKTsN Cj4gKw0KPiArICBpZiAoVFJFRV9DT0RFIChzaXplKSAhPSBJTlRFR0VSX0NTVCkNCj4gKyAgICB7 DQo+ICsgICAgICBlcnJvciAoIiVxcyByZXF1aXJlcyBhbiBpbnRlZ2VyIGNvbnN0YW50IiwgInJp c2N2X3J2dl92ZWN0b3JfYml0cyIpOw0KPiArICAgICAgcmV0dXJuIE5VTExfVFJFRTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBhcmdzX2luX2JpdHMgPSB0cmVl X3RvX3Vod2kgKHNpemUpOw0KPiArICB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIHR5cGVfbW9kZV9i aXRzDQo+ICsgICAgPSBHRVRfTU9ERV9QUkVDSVNJT04gKFRZUEVfTU9ERSAodHlwZSkpLnRvX2Nv bnN0YW50ICgpOw0KPiArDQo+ICsgIGlmIChhcmdzX2luX2JpdHMgIT0gdHlwZV9tb2RlX2JpdHMp DQo+ICsgICAgew0KPiArICAgICAgZXJyb3IgKCJpbnZhbGlkIFJWViB2ZWN0b3Igc2l6ZSAlcWQs ICINCj4gKyAgICAgICAgICAgICJleHBlY3RlZCBzaXplIGlzICVxZCBiYXNlZCBvbiBMTVVMIG9m IHR5cGUgYW5kICVxcyIsDQo+ICsgICAgICAgICAgICAoaW50KWFyZ3NfaW5fYml0cywgKGludCl0 eXBlX21vZGVfYml0cywgIi1tcnZ2LXZlY3Rvci1iaXRzPXp2bCIpOw0KPiArICAgICAgcmV0dXJu IE5VTExfVFJFRTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgdHlwZSA9IGJ1aWxkX2Rpc3RpbmN0X3R5 cGVfY29weSAodHlwZSk7DQo+ICsgIFRZUEVfQVRUUklCVVRFUyAodHlwZSkNCj4gKyAgICA9IHJl bW92ZV9hdHRyaWJ1dGUgKCJSVlYgc2l6ZWxlc3MgdHlwZSIsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgIGNvcHlfbGlzdCAoVFlQRV9BVFRSSUJVVEVTICh0eXBlKSkpOw0KPiArDQo+ICsgIC8q IFRoZSBvcGVyYXRpb25zIGxpa2UgYWx1L2NtcCBvbiB2Ym9vbCpfdCBpcyBub3Qgd2VsbCBkZWZp bmVkLA0KPiArICAgICBjb250aW51ZSB0byB0cmVhdCB2Ym9vbCpfdCBhcyBpbmRpdmlzaWJsZS4g ICovDQo+ICsgIGlmICghVkVDVE9SX0JPT0xFQU5fVFlQRV9QICh0eXBlKSkNCj4gKyAgICBUWVBF X0lORElWSVNJQkxFX1AgKHR5cGUpID0gMDsNCj4gKw0KPiArICAqbm9kZSA9IHR5cGU7DQo+ICsN Cj4gKyAgcmV0dXJuIE5VTExfVFJFRTsNCj4gK30NCj4gKw0KPiAgLyogUmV0dXJuIHRydWUgaWYg ZnVuY3Rpb24gVFlQRSBpcyBhbiBpbnRlcnJ1cHQgZnVuY3Rpb24uICAqLw0KPiAgc3RhdGljIGJv b2wNCj4gIHJpc2N2X2ludGVycnVwdF90eXBlX3AgKHRyZWUgdHlwZSkNCj4gZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9y X2JpdHMtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2 X3J2dl92ZWN0b3JfYml0cy0xLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMDAuLjhiMDhiYTI4MTMwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xLmMN Cj4gQEAgLTAsMCArMSw2IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2 bCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt0 eXBlZGVmIGludCBmaXhlZF92aW50MzJtMV90IF9fYXR0cmlidXRlX18oKHJpc2N2X3J2dl92ZWN0 b3JfYml0cygxMjgpKSk7IC8qIHsgZGctZXJyb3IgIidyaXNjdl9ydnZfdmVjdG9yX2JpdHMnIGFw cGxpZWQgdG8gbm9uLVJWViB0eXBlICdpbnQnIiB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEw LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3Zl Y3Rvcl9iaXRzLTEwLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MDAuLjBmZjQ4YTI5ZjdlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xMC5jDQo+IEBA IC0wLDAgKzEsNTMgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9w dGlvbnMgIi1tYXJjaD1ydjY0Z2NfenZlMzJmX3p2bDMyYl96ZmhfenZmaCAtbWFiaT1scDY0IC1t cnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3J2 dl92ZWN0b3JfYml0cy5oIg0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDht ZjRfdCwgIDgsICB2MXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4bWYyX3Qs IDE2LCAgdjJxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG0xX3QsICAzMiwg IHY0cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtMl90LCAgNjQsICB2OHFp KQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4bTRfdCwgMTI4LCB2MTZxaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG04X3QsIDI1NiwgdjMycWkpDQo+ICsNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZtZjJfdCwgIDE2LCAgdjFoaSkNCj4gK1RF U1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZtMV90LCAgIDMyLCAgdjJoaSkNCj4gK1RFU1Rf RklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZtMl90LCAgIDY0LCAgdjRoaSkNCj4gK1RFU1RfRklY RURfVFlQRV9JTlRfQUxMICh2aW50MTZtNF90LCAgMTI4LCAgdjhoaSkNCj4gK1RFU1RfRklYRURf VFlQRV9JTlRfQUxMICh2aW50MTZtOF90LCAgMjU2LCB2MTZoaSkNCj4gKw0KPiArVEVTVF9GSVhF RF9UWVBFX0lOVF9BTEwgKHZpbnQzMm0xX3QsICAzMiwgdjFzaSkNCj4gK1RFU1RfRklYRURfVFlQ RV9JTlRfQUxMICh2aW50MzJtMl90LCAgNjQsIHYyc2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5U X0FMTCAodmludDMybTRfdCwgMTI4LCB2NHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwg KHZpbnQzMm04X3QsIDI1NiwgdjhzaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwg KHZ1aW50OG1mNF90LCAgOCwgIHYxdXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1 aW50OG1mMl90LCAxNiwgIHYydXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50 OG0xX3QsICAzMiwgIHY0dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG0y X3QsICA2NCwgIHY4dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG00X3Qs IDEyOCwgdjE2dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG04X3QsIDI1 NiwgdjMydXFpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm1mMl90 LCAgMTYsICB2MXVoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bTFfdCwg ICAzMiwgIHYydWhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtMl90LCAg IDY0LCAgdjR1aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm00X3QsICAx MjgsICB2OHVoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bThfdCwgIDI1 NiwgdjE2dWhpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm0xX3Qs ICAzMiwgdjF1c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm0yX3QsICA2 NCwgdjJ1c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm00X3QsIDEyOCwg djR1c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm04X3QsIDI1Niwgdjh1 c2kpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bWYyX3QsICAx NiwgIHYxaGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm0xX3QsICAg MzIsICB2MmhmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtMl90LCAg IDY0LCAgdjRoZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bTRfdCwg IDEyOCwgIHY4aGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm04X3Qs ICAyNTYsIHYxNmhmKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQz Mm0xX3QsICAzMiwgdjFzZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDMy bTJfdCwgIDY0LCB2MnNmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MzJt NF90LCAxMjgsIHY0c2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm04 X3QsIDI1NiwgdjhzZikNCj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCB7Y3NyclxzK1thdHhdWzAtOV0rLFxzKnZsZW5ifSB9IH0gKi8NCj4gZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2Jp dHMtMTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9y dnZfdmVjdG9yX2JpdHMtMTEuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwMC4uNzI2YzU2YjRhN2UNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTExLmMN Cj4gQEAgLTAsMCArMSw3NiBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsg ZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZsNDA5NmJfemZoX3p2ZmggLW1hYmk9bHA2NCAt bXJ2di12ZWN0b3ItYml0cz16dmwgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJyaXNjdl9y dnZfdmVjdG9yX2JpdHMuaCINCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4 bWY4X3QsICA1MTIsICAgdjY0cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDht ZjRfdCwgMTAyNCwgIHYxMjhxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG1m Ml90LCAyMDQ4LCAgdjI1NnFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4bTFf dCwgIDQwOTYsICB2NTEycWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtMl90 LCAgODE5MiwgdjEwMjRxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG00X3Qs IDE2Mzg0LCB2MjA0OHFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4bThfdCwg MzI3NjgsIHY0MDk2cWkpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt ZjRfdCwgMTAyNCwgICB2NjRoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt ZjJfdCwgMjA0OCwgIHYxMjhoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt MV90LCAgNDA5NiwgIHYyNTZoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt Ml90LCAgODE5MiwgIHY1MTJoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt NF90LCAxNjM4NCwgdjEwMjRoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZt OF90LCAzMjc2OCwgdjIwNDhoaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm1mMl90LCAyMDQ4LCAgIHY2NHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm0xX3QsICA0MDk2LCAgdjEyOHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm0yX3QsICA4MTkyLCAgdjI1NnNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm00X3QsIDE2Mzg0LCAgdjUxMnNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm04X3QsIDMyNzY4LCB2MTAyNHNpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FM TCAodmludDY0bTFfdCwgIDQwOTYsICB2NjRkaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxM ICh2aW50NjRtMl90LCAgODE5MiwgdjEyOGRpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwg KHZpbnQ2NG00X3QsIDE2Mzg0LCB2MjU2ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAo dmludDY0bThfdCwgMzI3NjgsIHY1MTJkaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9B TEwgKHZ1aW50OG1mOF90LCAgNTEyLCAgIHY2NHVxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRf QUxMICh2dWludDhtZjRfdCwgMTAyNCwgIHYxMjh1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5U X0FMTCAodnVpbnQ4bWYyX3QsIDIwNDgsICB2MjU2dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lO VF9BTEwgKHZ1aW50OG0xX3QsICA0MDk2LCAgdjUxMnVxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9J TlRfQUxMICh2dWludDhtMl90LCAgODE5MiwgdjEwMjR1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVf SU5UX0FMTCAodnVpbnQ4bTRfdCwgMTYzODQsIHYyMDQ4dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBF X0lOVF9BTEwgKHZ1aW50OG04X3QsIDMyNzY4LCB2NDA5NnVxaSkNCj4gKw0KPiArVEVTVF9GSVhF RF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtZjRfdCwgMTAyNCwgICB2NjR1aGkpDQo+ICtURVNUX0ZJ WEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm1mMl90LCAyMDQ4LCAgdjEyOHVoaSkNCj4gK1RFU1Rf RklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bTFfdCwgIDQwOTYsICB2MjU2dWhpKQ0KPiArVEVT VF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtMl90LCAgODE5MiwgIHY1MTJ1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm00X3QsIDE2Mzg0LCB2MTAyNHVoaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bThfdCwgMzI3NjgsIHYyMDQ4dWhpKQ0K PiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm1mMl90LCAyMDQ4LCAgIHY2 NHVzaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybTFfdCwgIDQwOTYsICB2 MTI4dXNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtMl90LCAgODE5Miwg IHYyNTZ1c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm00X3QsIDE2Mzg0 LCAgdjUxMnVzaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybThfdCwgMzI3 NjgsIHYxMDI0dXNpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ2NG0x X3QsICA0MDk2LCAgdjY0dWRpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50NjRt Ml90LCAgODE5MiwgdjEyOHVkaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0 bTRfdCwgMTYzODQsIHYyNTZ1ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ2 NG04X3QsIDMyNzY4LCB2NTEydWRpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxM ICh2ZmxvYXQxNm1mNF90LCAxMDI0LCAgIHY2NGhmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FU X0FMTCAodmZsb2F0MTZtZjJfdCwgMjA0OCwgIHYxMjhoZikNCj4gK1RFU1RfRklYRURfVFlQRV9G TE9BVF9BTEwgKHZmbG9hdDE2bTFfdCwgIDQwOTYsICB2MjU2aGYpDQo+ICtURVNUX0ZJWEVEX1RZ UEVfRkxPQVRfQUxMICh2ZmxvYXQxNm0yX3QsICA4MTkyLCAgdjUxMmhmKQ0KPiArVEVTVF9GSVhF RF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtNF90LCAxNjM4NCwgdjEwMjRoZikNCj4gK1RFU1Rf RklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bThfdCwgMzI3NjgsIHYyMDQ4aGYpDQo+ICsN Cj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDMybWYyX3QsIDIwNDgsICAgdjY0 c2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm0xX3QsICA0MDk2LCAg djEyOHNmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MzJtMl90LCAgODE5 MiwgIHYyNTZzZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDMybTRfdCwg MTYzODQsICB2NTEyc2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm04 X3QsIDMyNzY4LCB2MTAyNHNmKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2 ZmxvYXQ2NG0xX3QsICA0MDk2LCAgdjY0ZGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxM ICh2ZmxvYXQ2NG0yX3QsICA4MTkyLCB2MTI4ZGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRf QUxMICh2ZmxvYXQ2NG00X3QsIDE2Mzg0LCB2MjU2ZGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxP QVRfQUxMICh2ZmxvYXQ2NG04X3QsIDMyNzY4LCB2NTEyZGYpDQo+ICsNCj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge2NzcnJccytbYXR4XVswLTldKyxccyp2bGVuYn0gfSB9 ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEyLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjVjMjM0NmRmZjNlDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2 X3J2dl92ZWN0b3JfYml0cy0xMi5jDQo+IEBAIC0wLDAgKzEsMTQgQEANCj4gKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2bDEyOGIg LW1hYmk9bHA2NCAtbXJ2di12ZWN0b3ItYml0cz16dmwgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNs dWRlICJyaXNjdl9ydnZfdmVjdG9yX2JpdHMuaCINCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0JP T0xfQUxMICh2Ym9vbDFfdCwgMTI4LCB2MTZxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9CT09MX0FM TCAodmJvb2wyX3QsICA2NCwgIHY4cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfQk9PTF9BTEwgKHZi b29sNF90LCAgMzIsICB2NHFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0JPT0xfQUxMICh2Ym9vbDhf dCwgIDE2LCAgdjJxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9CT09MX0FMTCAodmJvb2wxNl90LCAg OCwgIHYxcWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfQk9PTF9BTEwgKHZib29sMzJfdCwgIDQsICB2 MXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0JPT0xfQUxMICh2Ym9vbDY0X3QsICAyLCAgdjFxaSkN Cj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7Y3NyclxzK1thdHhd WzAtOV0rLFxzKnZsZW5ifSB9IH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTMuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMt MTMuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uNzFkOGI1 OTdkYTANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTEzLmMNCj4gQEAgLTAsMCArMSwx MCBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1h cmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQo+ICsNCj4gK3ZvaWQgdGVzdCAoKSB7 DQo+ICsNCj4gKyNpZiBkZWZpbmVkIF9fcmlzY3Zfdl9maXhlZF92bGVuDQo+ICsjZXJyb3IgIl9f cmlzY3Zfdl9maXhlZF92bGVuIHNob3VsZCBub3QgYmUgZGVmaW5lZCINCj4gKyNlbmRpZg0KPiAr DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE0LmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmI2MGFlNGQyMGZmDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy0xNC5jDQo+IEBAIC0wLDAgKzEsMTAgQEANCj4gKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJp PWxwNjRkIC1PMyAtbXJ2di12ZWN0b3ItYml0cz16dmwiIH0gKi8NCj4gKw0KPiArdm9pZCB0ZXN0 ICgpIHsNCj4gKw0KPiArI2lmIF9fcmlzY3Zfdl9maXhlZF92bGVuICE9IDEyOA0KPiArI2Vycm9y ICJfX3Jpc2N2X3ZfZml4ZWRfdmxlbiBzaG91bGQgYmUgMTI4Ig0KPiArI2VuZGlmDQo+ICsNCj4g K30NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTUuYw0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uOTVlZGJiYmQzOGQNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3Zf cnZ2X3ZlY3Rvcl9iaXRzLTE1LmMNCj4gQEAgLTAsMCArMSwxMCBAQA0KPiArLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZsNTEyYiAt bWFiaT1scDY0ZCAtTzMgLW1ydnYtdmVjdG9yLWJpdHM9enZsIiB9ICovDQo+ICsNCj4gK3ZvaWQg dGVzdCAoKSB7DQo+ICsNCj4gKyNpZiBfX3Jpc2N2X3ZfZml4ZWRfdmxlbiAhPSA1MTINCj4gKyNl cnJvciAiX19yaXNjdl92X2ZpeGVkX3ZsZW4gc2hvdWxkIGJlIDUxMiINCj4gKyNlbmRpZg0KPiAr DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE2LmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmRmNzNmMjAzNzkxDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy0xNi5jDQo+IEBAIC0wLDAgKzEsMTEgQEANCj4gKw0KPiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Zf enZsMjU2YiAtbWFiaT1scDY0ZCAtbXJ2di12ZWN0b3ItYml0cz1zY2FsYWJsZSAtTzMiIH0gKi8N Cj4gKw0KPiArdm9pZCB0ZXN0ICgpIHsNCj4gKw0KPiArI2lmIGRlZmluZWQgX19yaXNjdl92X2Zp eGVkX3ZsZW4NCj4gKyNlcnJvciAiX19yaXNjdl92X2ZpeGVkX3ZsZW4gc2hvdWxkIG5vdCBiZSBk ZWZpbmVkIg0KPiArI2VuZGlmDQo+ICsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMTcuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9y X2JpdHMtMTcuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4u ZmEzOWExOGQ0N2MNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTE3LmMNCj4gQEAgLTAs MCArMSwxMCBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9u cyAiLW1hcmNoPXJ2NjRnY3ZfenZsNDA5NmIgLW1hYmk9bHA2NGQgLU8zIC1tcnZ2LXZlY3Rvci1i aXRzPXp2bCIgfSAqLw0KPiArDQo+ICt2b2lkIHRlc3QgKCkgew0KPiArDQo+ICsjaWYgX19yaXNj dl92X2ZpeGVkX3ZsZW4gIT0gNDA5Ng0KPiArI2Vycm9yICJfX3Jpc2N2X3ZfZml4ZWRfdmxlbiBz aG91bGQgYmUgNDA5NiINCj4gKyNlbmRpZg0KPiArDQo+ICt9DQo+IGRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRz LTE4LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2 X3ZlY3Rvcl9iaXRzLTE4LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMDAuLmE3NTMwZTI3ZDhmDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0xOC5jDQo+ IEBAIC0wLDAgKzEsNDUgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRn LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2bDI1NmIgLW1hYmk9bHA2NGQgLU8zIC1tcnZ2LXZl Y3Rvci1iaXRzPXp2bCIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfcnZ2X3ZlY3Rvcl9i aXRzLmgiDQo+ICsNCj4gK0RFRl9GSVhFRF9UWVBFICh2aW50MzJtMV90LCAyNTYpDQo+ICtERUZf RklYRURfVFlQRSAodmZsb2F0MzJtMV90LCAyNTYpDQo+ICtERUZfRklYRURfVFlQRSAodmJvb2wx X3QsIDI1NikNCj4gK0RFRl9GSVhFRF9UWVBFICh2Ym9vbDJfdCwgMTI4KQ0KPiArDQo+ICtmaXhl ZF92aW50MzJtMV90DQo+ICt0ZXN0XzEgKGZpeGVkX3ZpbnQzMm0xX3QgYSwgZml4ZWRfdmludDMy bTFfdCBiKQ0KPiArew0KPiArICByZXR1cm4gYSA9PSBiOw0KPiArfQ0KPiArDQo+ICtmaXhlZF92 Ym9vbDFfdA0KPiArdGVzdF8yIChmaXhlZF92aW50MzJtMV90IGEsIGZpeGVkX3ZpbnQzMm0xX3Qg YikNCj4gK3sNCj4gKyAgcmV0dXJuIGEgPT0gYjsNCj4gK30NCj4gKw0KPiArZml4ZWRfdmZsb2F0 MzJtMV90DQo+ICt0ZXN0XzMgKGZpeGVkX3ZmbG9hdDMybTFfdCBhLCBmaXhlZF92ZmxvYXQzMm0x X3QgYikNCj4gK3sNCj4gKyAgcmV0dXJuIGEgPT0gYjsNCj4gK30NCj4gKw0KPiArZml4ZWRfdmJv b2wxX3QNCj4gK3Rlc3RfNCAoZml4ZWRfdmZsb2F0MzJtMV90IGEsIGZpeGVkX3ZmbG9hdDMybTFf dCBiKQ0KPiArew0KPiArICByZXR1cm4gYSA9PSBiOw0KPiArfQ0KPiArDQo+ICtmaXhlZF92Ym9v bDJfdA0KPiArdGVzdF81IChmaXhlZF92aW50MzJtMV90IGEsIGZpeGVkX3ZpbnQzMm0xX3QgYikN Cj4gK3sNCj4gKyAgcmV0dXJuIGEgPT0gYjsgLyogeyBkZy1lcnJvciB7aW5jb21wYXRpYmxlIHR5 cGVzIHdoZW4gcmV0dXJuaW5nIHR5cGUgJ19fdmVjdG9yXCg4XCkgaW50JyBidXQgJ2ZpeGVkX3Zi b29sMl90JyB7YWthICd2Ym9vbDJfdCd9IHdhcyBleHBlY3RlZH0gfSAqLw0KPiArfQ0KPiArDQo+ ICtmaXhlZF92Ym9vbDJfdA0KPiArdGVzdF82IChmaXhlZF92ZmxvYXQzMm0xX3QgYSwgZml4ZWRf dmZsb2F0MzJtMV90IGIpDQo+ICt7DQo+ICsgIHJldHVybiBhID09IGI7IC8qIHsgZGctZXJyb3Ig e2luY29tcGF0aWJsZSB0eXBlcyB3aGVuIHJldHVybmluZyB0eXBlICdfX3ZlY3RvclwoOFwpIGlu dCcgYnV0ICdmaXhlZF92Ym9vbDJfdCcge2FrYSAndmJvb2wyX3QnfSB3YXMgZXhwZWN0ZWR9IH0g Ki8NCj4gK30NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0yLmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjZiODQxZDdiMWQ0DQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy0yLmMNCj4gQEAgLTAsMCArMSw2IEBADQo+ICsvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJp c2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt0eXBlZGVmIHZpbnQzMm0xX3QgZml4ZWRfdmludDMybTFf dCBfX2F0dHJpYnV0ZV9fKChyaXNjdl9ydnZfdmVjdG9yX2JpdHMoIjEyMyIpKSk7IC8qIHsgZGct ZXJyb3IgIidyaXNjdl9ydnZfdmVjdG9yX2JpdHMnIHJlcXVpcmVzIGFuIGludGVnZXIgY29uc3Rh bnQiIH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy0zLmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmUxYjA2NjRlYWNiDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy0zLmMNCj4gQEAgLTAsMCArMSw2IEBADQo+ICsvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0IC1PMyIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4g K3R5cGVkZWYgdmludDMybTFfdCBmaXhlZF92aW50MzJtMV90IF9fYXR0cmlidXRlX18oKHJpc2N2 X3J2dl92ZWN0b3JfYml0cygxMjgpKSk7IC8qIHsgZGctZXJyb3IgIidyaXNjdl9ydnZfdmVjdG9y X2JpdHMnIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gJy1tcnZ2LXZlY3Rvci1iaXRzPXp2bCcgaXMg c3BlY2lmaWVkIiB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTQuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNC5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5lZWYxNTY1NDExMA0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNC5jDQo+IEBAIC0wLDAgKzEsNiBAQA0KPiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Zf enZsMjU2YiAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMiIH0gKi8NCj4gKw0K PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt0eXBlZGVmIHZpbnQzMm0xX3Qg Zml4ZWRfdmludDMybTFfdCBfX2F0dHJpYnV0ZV9fKChyaXNjdl9ydnZfdmVjdG9yX2JpdHMoMTI4 KSkpOyAvKiB7IGRnLWVycm9yICJpbnZhbGlkIFJWViB2ZWN0b3Igc2l6ZSAnMTI4JywgZXhwZWN0 ZWQgc2l6ZSBpcyAnMjU2JyBiYXNlZCBvbiBMTVVMIG9mIHR5cGUgYW5kICctbXJ2di12ZWN0b3It Yml0cz16dmwnIiB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTUuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNS5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi42YjRmMTljZDlmMg0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNS5jDQo+IEBAIC0wLDAgKzEsNiBAQA0KPiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Zf enZsMTI4YiAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMiIH0gKi8NCj4gKw0K PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt0eXBlZGVmIHZpbnQzMm0yX3Qg Zml4ZWRfdmludDMybTJfdCBfX2F0dHJpYnV0ZV9fKChyaXNjdl9ydnZfdmVjdG9yX2JpdHMoMTI4 KSkpOyAvKiB7IGRnLWVycm9yICJpbnZhbGlkIFJWViB2ZWN0b3Igc2l6ZSAnMTI4JywgZXhwZWN0 ZWQgc2l6ZSBpcyAnMjU2JyBiYXNlZCBvbiBMTVVMIG9mIHR5cGUgYW5kICctbXJ2di12ZWN0b3It Yml0cz16dmwnIiB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTYuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNi5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5iYzM0NjkxN2ZlNQ0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNi5jDQo+IEBAIC0wLDAgKzEsNiBAQA0KPiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Zf enZsMjU2YiAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMiIH0gKi8NCj4gKw0K PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt0eXBlZGVmIHZpbnQzMm1mMl90 IGZpeGVkX3ZpbnQzMm1mMl90IF9fYXR0cmlidXRlX18oKHJpc2N2X3J2dl92ZWN0b3JfYml0cygy NTYpKSk7IC8qIHsgZGctZXJyb3IgImludmFsaWQgUlZWIHZlY3RvciBzaXplICcyNTYnLCBleHBl Y3RlZCBzaXplIGlzICcxMjgnIGJhc2VkIG9uIExNVUwgb2YgdHlwZSBhbmQgJy1tcnZ2LXZlY3Rv ci1iaXRzPXp2bCciIH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMtNy5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy03LmMNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjYxMWE0YmI4OGJhDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy03LmMNCj4gQEAgLTAsMCArMSw3NiBAQA0KPiAr LyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3ZfenZsMTI4Yl96ZmhfenZmaCAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAtTzMi IH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3J2dl92ZWN0b3JfYml0cy5oIg0KPiArDQo+ ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtZjhfdCwgIDE2LCAgIHYycWkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtZjRfdCwgIDMyLCAgIHY0cWkpDQo+ICtURVNU X0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtZjJfdCwgIDY0LCAgIHY4cWkpDQo+ICtURVNUX0ZJ WEVEX1RZUEVfSU5UX0FMTCAodmludDhtMV90LCAgMTI4LCAgdjE2cWkpDQo+ICtURVNUX0ZJWEVE X1RZUEVfSU5UX0FMTCAodmludDhtMl90LCAgMjU2LCAgdjMycWkpDQo+ICtURVNUX0ZJWEVEX1RZ UEVfSU5UX0FMTCAodmludDhtNF90LCAgNTEyLCAgdjY0cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVf SU5UX0FMTCAodmludDhtOF90LCAxMDI0LCB2MTI4cWkpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQ RV9JTlRfQUxMICh2aW50MTZtZjRfdCwgIDMyLCAgdjJoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9J TlRfQUxMICh2aW50MTZtZjJfdCwgIDY0LCAgdjRoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRf QUxMICh2aW50MTZtMV90LCAgMTI4LCAgdjhoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxM ICh2aW50MTZtMl90LCAgMjU2LCB2MTZoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2 aW50MTZtNF90LCAgNTEyLCB2MzJoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50 MTZtOF90LCAxMDI0LCB2NjRoaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQzMm1mMl90LCAgNjQsICB2MnNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQz Mm0xX3QsICAxMjgsICB2NHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQzMm0y X3QsICAyNTYsICB2OHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQzMm00X3Qs ICA1MTIsIHYxNnNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQzMm04X3QsIDEw MjQsIHYzMnNpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDY0bTFfdCwg IDEyOCwgIHYyZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDY0bTJfdCwgIDI1 NiwgIHY0ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDY0bTRfdCwgIDUxMiwg IHY4ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDY0bThfdCwgMTAyNCwgdjE2 ZGkpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDhtZjhfdCwgIDE2LCAg IHYydXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG1mNF90LCAgMzIsICAg djR1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bWYyX3QsICA2NCwgICB2 OHVxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDhtMV90LCAgMTI4LCAgdjE2 dXFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG0yX3QsICAyNTYsICB2MzJ1 cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bTRfdCwgIDUxMiwgIHY2NHVx aSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDhtOF90LCAxMDI0LCB2MTI4dXFp KQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm1mNF90LCAgMzIsICB2 MnVoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bWYyX3QsICA2NCwgIHY0 dWhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtMV90LCAgMTI4LCAgdjh1 aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm0yX3QsICAyNTYsIHYxNnVo aSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bTRfdCwgIDUxMiwgdjMydWhp KQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtOF90LCAxMDI0LCB2NjR1aGkp DQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybWYyX3QsICA2NCwgIHYy dXNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtMV90LCAgMTI4LCAgdjR1 c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm0yX3QsICAyNTYsICB2OHVz aSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybTRfdCwgIDUxMiwgdjE2dXNp KQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtOF90LCAxMDI0LCB2MzJ1c2kp DQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bTFfdCwgIDEyOCwgIHYy dWRpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50NjRtMl90LCAgMjU2LCAgdjR1 ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ2NG00X3QsICA1MTIsICB2OHVk aSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bThfdCwgMTAyNCwgdjE2dWRp KQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm1mNF90LCAgMzIs ICB2MmhmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtZjJfdCwgIDY0 LCAgdjRoZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bTFfdCwgIDEy OCwgIHY4aGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm0yX3QsICAy NTYsIHYxNmhmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtNF90LCAg NTEyLCB2MzJoZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bThfdCwg MTAyNCwgdjY0aGYpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDMy bWYyX3QsICA2NCwgIHYyc2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQz Mm0xX3QsICAxMjgsICB2NHNmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0 MzJtMl90LCAgMjU2LCAgdjhzZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9h dDMybTRfdCwgIDUxMiwgdjE2c2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2Zmxv YXQzMm04X3QsIDEwMjQsIHYzMnNmKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxM ICh2ZmxvYXQ2NG0xX3QsICAxMjgsICB2MmRmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FM TCAodmZsb2F0NjRtMl90LCAgMjU2LCAgdjRkZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9B TEwgKHZmbG9hdDY0bTRfdCwgIDUxMiwgIHY4ZGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRf QUxMICh2ZmxvYXQ2NG04X3QsIDEwMjQsIHYxNmRmKQ0KPiArDQo+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90IHtjc3JyXHMrW2F0eF1bMC05XSssXHMqdmxlbmJ9IH0gfSAqLw0K PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy04LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTguYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uYmI4ZDFkYTcyYjINCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3Zl Y3Rvcl9iaXRzLTguYw0KPiBAQCAtMCwwICsxLDc1IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdl96dmwyNTZiX3pmaF96dmZo IC1tYWJpPWxwNjQgLW1ydnYtdmVjdG9yLWJpdHM9enZsIC1PMyIgfSAqLw0KPiArDQo+ICsjaW5j bHVkZSAicmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLmgiDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9J TlRfQUxMICh2aW50OG1mOF90LCAgMzIsICAgdjRxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRf QUxMICh2aW50OG1mNF90LCAgNjQsICAgdjhxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxM ICh2aW50OG1mMl90LCAxMjgsICB2MTZxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2 aW50OG0xX3QsICAyNTYsICB2MzJxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50 OG0yX3QsICA1MTIsICB2NjRxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG00 X3QsIDEwMjQsIHYxMjhxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG04X3Qs IDIwNDgsIHYyNTZxaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm1m NF90LCAgNjQsICAgdjRoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZtZjJf dCwgMTI4LCAgIHY4aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDE2bTFfdCwg IDI1NiwgIHYxNmhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm0yX3QsICA1 MTIsICB2MzJoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MTZtNF90LCAxMDI0 LCAgdjY0aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDE2bThfdCwgMjA0OCwg djEyOGhpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybWYyX3QsIDEy OCwgIHY0c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybTFfdCwgIDI1Niwg IHY4c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybTJfdCwgIDUxMiwgdjE2 c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybTRfdCwgMTAyNCwgdjMyc2kp DQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybThfdCwgMjA0OCwgdjY0c2kpDQo+ ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50NjRtMV90LCAgMjU2LCAgdjRkaSkN Cj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50NjRtMl90LCAgNTEyLCAgdjhkaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50NjRtNF90LCAxMDI0LCB2MTZkaSkNCj4gK1RF U1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50NjRtOF90LCAyMDQ4LCB2MzJkaSkNCj4gKw0KPiAr VEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG1mNF90LCAgNjQsICAgdjh1cWkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bWYyX3QsIDEyOCwgIHYxNnVxaSkNCj4gK1RF U1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDhtMV90LCAgMjU2LCAgdjMydXFpKQ0KPiArVEVT VF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50OG0yX3QsICA1MTIsICB2NjR1cWkpDQo+ICtURVNU X0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bTRfdCwgMTAyNCwgdjEyOHVxaSkNCj4gK1RFU1Rf RklYRURfVFlQRV9JTlRfQUxMICh2dWludDhtOF90LCAyMDQ4LCB2MjU2dXFpKQ0KPiArDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm1mNF90LCAgNjQsICAgdjR1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm1mMl90LCAxMjgsICAgdjh1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm0xX3QsICAyNTYsICB2MTZ1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm0yX3QsICA1MTIsICB2MzJ1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm00X3QsIDEwMjQsICB2NjR1aGkpDQo+ICtU RVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm04X3QsIDIwNDgsIHYxMjh1aGkpDQo+ICsN Cj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybWYyX3QsIDEyOCwgIHY0dXNpKQ0K PiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtMV90LCAgMjU2LCAgdjh1c2kpDQo+ ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm0yX3QsICA1MTIsIHYxNnVzaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybTRfdCwgMTAyNCwgdjMydXNpKQ0KPiAr VEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtOF90LCAyMDQ4LCB2NjR1c2kpDQo+ICsN Cj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bTFfdCwgIDI1NiwgIHY0dWRpKQ0K PiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50NjRtMl90LCAgNTEyLCAgdjh1ZGkpDQo+ ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ2NG00X3QsIDEwMjQsIHYxNnVkaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bThfdCwgMjA0OCwgdjMydWRpKQ0KPiAr DQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm1mNF90LCAgNjQsICAgdjRo aSkNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bWYyX3QsIDEyOCwgICB2 OGhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtMV90LCAgMjU2LCAg djE2aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm0yX3QsICA1MTIs ICB2MzJoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bTRfdCwgMTAy NCwgIHY2NGhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtOF90LCAy MDQ4LCB2MTI4aGkpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDMy bWYyX3QsIDEyOCwgIHY0c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQz Mm0xX3QsICAyNTYsICB2OHNpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0 MzJtMl90LCAgNTEyLCB2MTZzaSkNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9h dDMybTRfdCwgMTAyNCwgdjMyc2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2Zmxv YXQzMm04X3QsIDIwNDgsIHY2NHNpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxM ICh2ZmxvYXQ2NG0xX3QsICAyNTYsICB2NGRpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FM TCAodmZsb2F0NjRtMl90LCAgNTEyLCAgdjhkaSkNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9B TEwgKHZmbG9hdDY0bTRfdCwgMTAyNCwgdjE2ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRf QUxMICh2ZmxvYXQ2NG04X3QsIDIwNDgsIHYzMmRpKQ0KPiArDQo+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90IHtjc3JyXHMrW2F0eF1bMC05XSssXHMqdmxlbmJ9IH0gfSAqLw0K PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jp c2N2X3J2dl92ZWN0b3JfYml0cy05LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzLTkuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uNzAxZjgzM2I0MWINCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcmlzY3ZfcnZ2X3Zl Y3Rvcl9iaXRzLTkuYw0KPiBAQCAtMCwwICsxLDc2IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjX3p2ZTY0ZF96dmw2NGJfemZo X3p2ZmggLW1hYmk9bHA2NCAtbXJ2di12ZWN0b3ItYml0cz16dmwgLU8zIiB9ICovDQo+ICsNCj4g KyNpbmNsdWRlICJyaXNjdl9ydnZfdmVjdG9yX2JpdHMuaCINCj4gKw0KPiArVEVTVF9GSVhFRF9U WVBFX0lOVF9BTEwgKHZpbnQ4bWY4X3QsICA4LCAgdjFxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9J TlRfQUxMICh2aW50OG1mNF90LCAxNiwgIHYycWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FM TCAodmludDhtZjJfdCwgMzIsICB2NHFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZp bnQ4bTFfdCwgIDY0LCAgdjhxaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50OG0y X3QsIDEyOCwgdjE2cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDhtNF90LCAy NTYsIHYzMnFpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQ4bThfdCwgNTEyLCB2 NjRxaSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm1mNF90LCAgMTYs ICB2MWhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm1mMl90LCAgMzIsICB2 MmhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm0xX3QsICAgNjQsICB2NGhp KQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm0yX3QsICAxMjgsICB2OGhpKQ0K PiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm00X3QsICAyNTYsIHYxNmhpKQ0KPiAr VEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQxNm04X3QsICA1MTIsIHYzMmhpKQ0KPiArDQo+ ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmludDMybWYyX3QsIDMyLCAgdjFzaSkNCj4gK1RF U1RfRklYRURfVFlQRV9JTlRfQUxMICh2aW50MzJtMV90LCAgNjQsICB2MnNpKQ0KPiArVEVTVF9G SVhFRF9UWVBFX0lOVF9BTEwgKHZpbnQzMm0yX3QsIDEyOCwgIHY0c2kpDQo+ICtURVNUX0ZJWEVE X1RZUEVfSU5UX0FMTCAodmludDMybTRfdCwgMjU2LCAgdjhzaSkNCj4gK1RFU1RfRklYRURfVFlQ RV9JTlRfQUxMICh2aW50MzJtOF90LCA1MTIsIHYxNnNpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZ UEVfSU5UX0FMTCAodmludDY0bTFfdCwgIDY0LCB2MWRpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lO VF9BTEwgKHZpbnQ2NG0yX3QsIDEyOCwgdjJkaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxM ICh2aW50NjRtNF90LCAyNTYsIHY0ZGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodmlu dDY0bThfdCwgNTEyLCB2OGRpKQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVp bnQ4bWY4X3QsICA4LCAgdjF1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4 bWY0X3QsIDE2LCAgdjJ1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bWYy X3QsIDMyLCAgdjR1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bTFfdCwg IDY0LCAgdjh1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bTJfdCwgMTI4 LCB2MTZ1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bTRfdCwgMjU2LCB2 MzJ1cWkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQ4bThfdCwgNTEyLCB2NjR1 cWkpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bWY0X3QsICAxNiwg IHYxdWhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtZjJfdCwgIDMyLCAg djJ1aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm0xX3QsICAgNjQsICB2 NHVoaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDE2bTJfdCwgIDEyOCwgIHY4 dWhpKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MTZtNF90LCAgMjU2LCB2MTZ1 aGkpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQxNm04X3QsICA1MTIsIHYzMnVo aSkNCj4gKw0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtZjJfdCwgMzIsICB2 MXVzaSkNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybTFfdCwgIDY0LCAgdjJ1 c2kpDQo+ICtURVNUX0ZJWEVEX1RZUEVfSU5UX0FMTCAodnVpbnQzMm0yX3QsIDEyOCwgIHY0dXNp KQ0KPiArVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwgKHZ1aW50MzJtNF90LCAyNTYsICB2OHVzaSkN Cj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDMybThfdCwgNTEyLCB2MTZ1c2kpDQo+ ICsNCj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bTFfdCwgIDY0LCB2MXVkaSkN Cj4gK1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bTJfdCwgMTI4LCB2MnVkaSkNCj4g K1RFU1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bTRfdCwgMjU2LCB2NHVkaSkNCj4gK1RF U1RfRklYRURfVFlQRV9JTlRfQUxMICh2dWludDY0bThfdCwgNTEyLCB2OHVkaSkNCj4gKw0KPiAr VEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtZjRfdCwgIDE2LCAgdjFoZikNCj4g K1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bWYyX3QsICAzMiwgIHYyaGYpDQo+ ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm0xX3QsICAgNjQsICB2NGhmKQ0K PiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0MTZtMl90LCAgMTI4LCAgdjhoZikN Cj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDE2bTRfdCwgIDI1NiwgdjE2aGYp DQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQxNm04X3QsICA1MTIsIHYzMmhm KQ0KPiArDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm1mMl90LCAzMiwg IHYxc2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm0xX3QsICA2NCwg IHYyc2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm0yX3QsIDEyOCwg IHY0c2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm00X3QsIDI1Niwg IHY4c2YpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQzMm04X3QsIDUxMiwg djE2c2YpDQo+ICsNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDY0bTFfdCwg IDY0LCB2MWRmKQ0KPiArVEVTVF9GSVhFRF9UWVBFX0ZMT0FUX0FMTCAodmZsb2F0NjRtMl90LCAx MjgsIHYyZGYpDQo+ICtURVNUX0ZJWEVEX1RZUEVfRkxPQVRfQUxMICh2ZmxvYXQ2NG00X3QsIDI1 NiwgdjRkZikNCj4gK1RFU1RfRklYRURfVFlQRV9GTE9BVF9BTEwgKHZmbG9hdDY0bThfdCwgNTEy LCB2OGRmKQ0KPiArDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtjc3Jy XHMrW2F0eF1bMC05XSssXHMqdmxlbmJ9IH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3JfYml0cy5oIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Jpc2N2X3J2dl92ZWN0b3Jf Yml0cy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5mZDJk MzUyZDNlMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9yaXNjdl9ydnZfdmVjdG9yX2JpdHMuaA0KPiBAQCAtMCwwICsxLDEw OCBAQA0KPiArI2lmbmRlZiBIQVZFX0RFRl9SSVNDVl9SVlZfVkVDVE9SX0JJVFNfSA0KPiArI2Rl ZmluZSBIQVZFX0RFRl9SSVNDVl9SVlZfVkVDVE9SX0JJVFNfSA0KPiArDQo+ICsjaW5jbHVkZSAi cmlzY3ZfdmVjdG9yLmgiDQo+ICsjaW5jbHVkZSAiLi4vYXV0b3ZlYy92bHMvZGVmLmgiDQo+ICsN Cj4gKyNkZWZpbmUgREVGX0ZJWEVEX1RZUEUoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIHR5cGVkZWYgVCBmaXhlZF8jI1QgX19h dHRyaWJ1dGVfXygocmlzY3ZfcnZ2X3ZlY3Rvcl9iaXRzKE4pKSk7DQo+ICsNCj4gKyNkZWZpbmUg REVGX0ZJWEVEX0dMT0JBTF9WQVIoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcDQo+ICsgIGZpeGVkXyMjVCBnbG9iYWxfZml4ZWRfIyNUIyNfIyNOIyNf Yml0c192YXI7DQo+ICsNCj4gKyNkZWZpbmUgREVGX0ZJWEVEX1NUUlVDVF9UWVBFKFQsIE4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIHN0cnVjdCBm aXhlZF8jI1QjI18jI04jI19iaXRzX3N0cnVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBmaXhlZF8j I1QgYSwgYlsyXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ICsgIH07DQo+ICsNCj4gKyNkZWZpbmUgREVGX0ZJWEVEX1VOSU9OX1RZ UEUoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ICsgIHVuaW9uIGZpeGVkXyMjVCMjXyMjTiMjX2JpdHNfdW5pb24gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g KyAgICBmaXhlZF8jI1QgYSwgYlszXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIH07DQo+ICsNCj4gKyNkZWZpbmUgREVGX0ZJ WEVEX1RZUEVfU0laRShULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ICsgIHZvaWQgdGVzdF9maXhlZF8jI1QjI18jI04jI19iaXRzX3NpemUgKCkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gKyAgICBfU3RhdGljX2Fzc2VydCAoc2l6ZW9mIChmaXhlZF8jI1QpICogOCA9 PSAoTiA8IDggPyA4IDogTiksICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgICAgICAgICAg ICAgIkZpeGVkIFJWViByZWdpc3RlciB0eXBlcyBzaG91bGQgYmUgZXF1YWwuIik7ICAgICAgICAg ICAgICBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBERUZfRklYRURfVFlQRV9DVlQoVCwgTiwg TkVXX1RZUEUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgTkVX X1RZUEUgdGVzdF9maXhlZF8jI1QjI18jI04jI19iaXRzX2N2dCAoZml4ZWRfIyNUIGEpICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ICsgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIHJl dHVybiAoTkVXX1RZUEUpIGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gKyAgfQ0KPiArDQo+ICsjZGVmaW5lIERFRl9GSVhFRF9CSU5B UlkoVCwgTiwgT1AsIE5BTUUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiArICBmaXhlZF8jI1QgdGVzdF9maXhlZF8jI1QjI18jI04jI19iaXRzX2JpbmFyeV8jI05B TUUgKGZpeGVkXyMjVCBhLCAgICAgICAgICAgIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkXyMjVCBiKSAgICAgICAgICAgIFwN Cj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgcmV0dXJuIGEgT1AgYjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiArICB9DQo+ICsNCj4gKyNkZWZpbmUgREVGX0ZJWEVEX1VOQVJZKFQsIE4sIE9QLCBOQU1FKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIGZpeGVkXyMjVCB0 ZXN0X2ZpeGVkXyMjVCMjXyMjTiMjX2JpdHNfdW5hcnlfIyNOQU1FIChmaXhlZF8jI1QgYSkgICAg ICAgICAgICAgXA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICByZXR1cm4gT1Ag YTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBERUZfRklYRURfVFlQRV9DTVAoVCwg TikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAg REVGX0ZJWEVEX0JJTkFSWShULCBOLCA9PSwgZXEpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9CSU5BUlkoVCwgTiwgIT0sIG5l KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBE RUZfRklYRURfQklOQVJZKFQsIE4sID4sICBndCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX0JJTkFSWShULCBOLCA8LCAgbHQp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERF Rl9GSVhFRF9CSU5BUlkoVCwgTiwgPj0sIGdlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfQklOQVJZKFQsIE4sIDw9LCBsZSkN Cj4gKw0KPiArI2RlZmluZSBERUZfRklYRURfVFlQRV9JTlRfQUxVKFQsIE4pICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX0JJTkFSWShU LCBOLCArLCAgYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ICsgIERFRl9GSVhFRF9CSU5BUlkoVCwgTiwgLSwgIHN1YikgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfQklOQVJZKFQs IE4sICosICBtdWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCj4gKyAgREVGX0ZJWEVEX0JJTkFSWShULCBOLCAvLCAgZGl2KSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9CSU5BUlkoVCwg TiwgJSwgIG1vZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiArICBERUZfRklYRURfQklOQVJZKFQsIE4sICYsICBhbmQpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX0JJTkFSWShULCBO LCB8LCAgaW9yKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQo+ICsgIERFRl9GSVhFRF9CSU5BUlkoVCwgTiwgXiwgIHhvcikgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfQklOQVJZKFQsIE4s ID4+LCByc2gpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gKyAgREVGX0ZJWEVEX0JJTkFSWShULCBOLCA8PCwgbHNoKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9VTkFSWShULCBOLCB+ LCBub3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiArICBERUZfRklYRURfVU5BUlkoVCwgTiwgLSwgbmVnKQ0KPiArDQo+ICsjZGVmaW5lIERFRl9G SVhFRF9UWVBFX0ZMT0FUX0FMVShULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiArICBERUZfRklYRURfQklOQVJZKFQsIE4sICssICBhZGQpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX0JJ TkFSWShULCBOLCAtLCAgc3ViKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9CSU5BUlkoVCwgTiwgKiwgIG11bCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfQklO QVJZKFQsIE4sIC8sICBkaXYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX1VOQVJZKFQsIE4sIC0sICBuZWcpDQo+ICsNCj4gKyNk ZWZpbmUgVEVTVF9GSVhFRF9UWVBFX0lOVF9BTEwoVCwgTiwgTkVXX1RZUEUpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9UWVBFIChULCBOKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBE RUZfRklYRURfVFlQRV9TSVpFIChULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX0dMT0JBTF9WQVIgKFQsIE4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERF Rl9GSVhFRF9TVFJVQ1RfVFlQRSAoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfVU5JT05fVFlQRSAoVCwgTikgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVG X0ZJWEVEX1RZUEVfQ1ZUIChULCBOLCBORVdfVFlQRSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9UWVBFX0NNUCAoVCwgTikgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZf RklYRURfVFlQRV9JTlRfQUxVIChULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gKw0KPiArI2RlZmluZSBURVNUX0ZJWEVEX1RZUEVfRkxPQVRf QUxMKFQsIE4sIE5FV19UWVBFKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAg REVGX0ZJWEVEX1RZUEUgKFQsIE4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9UWVBFX1NJWkUgKFQsIE4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBE RUZfRklYRURfR0xPQkFMX1ZBUiAoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX1NUUlVDVF9UWVBFIChULCBOKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERF Rl9GSVhFRF9VTklPTl9UWVBFIChULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfVFlQRV9DVlQgKFQsIE4sIE5FV19U WVBFKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVG X0ZJWEVEX1RZUEVfQ01QIChULCBOKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9UWVBFX0ZMT0FUX0FMVSAoVCwgTikg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArDQo+ICsj ZGVmaW5lIFRFU1RfRklYRURfVFlQRV9CT09MX0FMTChULCBOLCBORVdfVFlQRSkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBERUZfRklYRURfVFlQRSAoVCwgTikgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAg REVGX0ZJWEVEX1RZUEVfU0laRSAoVCwgTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERFRl9GSVhFRF9HTE9CQUxfVkFSIChULCBOKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICBE RUZfRklYRURfU1RSVUNUX1RZUEUgKFQsIE4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgREVGX0ZJWEVEX1VOSU9OX1RZUEUgKFQsIE4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIERF Rl9GSVhFRF9UWVBFX0NWVCAoVCwgTiwgTkVXX1RZUEUpDQo+ICsNCj4gKyNlbmRpZg0KPiAtLQ0K PiAyLjM0LjENCj4NCg==