From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 5D3953858D38 for ; Fri, 23 Sep 2022 03:07:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5D3953858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663902449; x=1695438449; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=CFIE7jcgEcHiG2HqsX1thsM+vcKbM/faY5inpDVaV2Q=; b=Wbpzu5i+51Dt61HpnABgXbeDt+ca1kLUI9i5n2jyDCipi3s3DkBQnzrT VfITgMquPai7R16OeXrDdQB/L9z5MTZ2mrjjRCaceYre3edC9sBRScu6/ 5d6Bbg1M3LsiDXzccWiMHDgCchgpgklbplPV7fdbrojNBUeLd63LCZLRV W8t+gyPG0uFA8y65HRFU/etJV0iohXmzwJ7EcCxQgDNmKSKvZJ+8pDvPY UcsOblAujtMfZH4k/buDUZMCno+G5JZDyG30TLqD5azDRlCrV0f9C+Cck SKOG+5P9hiy+5QYIkEEM2e1snmLU9vaSf6DuA1QAzNJacJPWSt9khT6wM w==; X-IronPort-AV: E=McAfee;i="6500,9779,10478"; a="287607385" X-IronPort-AV: E=Sophos;i="5.93,337,1654585200"; d="scan'208,223";a="287607385" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2022 20:07:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,337,1654585200"; d="scan'208,223";a="795355398" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga005.jf.intel.com with ESMTP; 22 Sep 2022 20:07:27 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 22 Sep 2022 20:07:27 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 22 Sep 2022 20:07:26 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 22 Sep 2022 20:07:26 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 22 Sep 2022 20:07:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eGmto3ooeB2rv91e5KyGRrqoB1zDrYfGPoX5yifD52p8zp7aRMyeya03IYF9LbJNVMGOXhC5ENxKlTTKk+D48muC+4fK8LCqB+fHWGaUSzEiLTkKcix/kB06vHVtf1JUiGq+Bjgqr60r+/nyRFaZhvqc/jFJmgwrSrxkUjwALZa1Sy7mf/ZjjqgLbZ/u+gAqhxlwppSyI6VUkSgUwxR4CYsnVvKjGIRzDD9S7paHfiBcbaa/FUHPi0v6AJlYacM87qj8OVTguv8RqVc9WaZWLq9QwqreMxS7gJobOKvPsg7e7oLYdxBP2/2N2Nm7NlRq6K7zYr3oG3VlzC+trGaUXg== 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=l9z376aQiwghBjceWQl+rSILmyxlHGcDv5gQn6G4ERE=; b=TcU0Y7/HbZRde4EBP1kDMbm0Py7CSkcPWLvZZH3OOBPveMi2JE+NfYlbc6FWT/nbnc/CN2NL+KqVWXTv8L6OVkHpuiuk50I3Or/3BPW1eIPN5NVHeiKKufzWRl2UwX4V+sawfHwxhTPMlcUmYmtowdGDEnPb/e8L6ljL6soEvn0MUGXQe1e28Xhn7tkVgoziO9mPYHI6P2+ZR/7DIi9KH3YbNOlIWM7cekyp0r4LvoBQzU2JXD7Iibr2cEe/XXWVVA4Ur4monj8oZgAmrwvUf7V2EoYxJBvUnDzXmZAzP5kowwqJVu4wzzNbe5fcJE6IhqIrodfjHjI7MQEufNOYVQ== 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 SJ0PR11MB5940.namprd11.prod.outlook.com (2603:10b6:a03:42f::18) by CH3PR11MB7276.namprd11.prod.outlook.com (2603:10b6:610:14b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.16; Fri, 23 Sep 2022 03:07:23 +0000 Received: from SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::f480:448b:57cf:d54b]) by SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::f480:448b:57cf:d54b%4]) with mapi id 15.20.5654.020; Fri, 23 Sep 2022 03:07:23 +0000 From: "Hu, Lin1" To: Hongtao Liu CC: "gcc-patches@gcc.gnu.org" , "Liu, Hongtao" Subject: RE: [PATCH] i386: Optimize code generation of __mm256_zextsi128_si256(__mm_set1_epi8(-1)) Thread-Topic: [PATCH] i386: Optimize code generation of __mm256_zextsi128_si256(__mm_set1_epi8(-1)) Thread-Index: AQHYzu4eCOSqNHnvUEyDVQglV0gAaq3sVKJw Date: Fri, 23 Sep 2022 03:07:23 +0000 Message-ID: References: <20220922071944.1472123-1-lin1.hu@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action 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: SJ0PR11MB5940:EE_|CH3PR11MB7276:EE_ x-ms-office365-filtering-correlation-id: 602493d3-a921-4a72-9cdf-08da9d10bc96 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZwntjJUWv29ZRjMGa7lyx3O7ZVKXz67bs0Y9rXw8NlcsBOP6JJDeTFP7+4DdtY3ccCOxdTDW2NwfXTHmfx6grua9QtehbDTHrw8+fZFPb9+pWe8wjqMSjvKhSq9NOiMT4ZkOfUCDQ+3lUGxDAlVSe4nCEDFGOdcQCe4/N9XvgsmJIZVutI27Q0RnGbYikp/0vLwHBMVyagpA+2a46LBrzvTUTmjFCY7lzsnFvR958vtZciz5W4nDb/Oij9c32ZZvIpZ4/oWu6zatwqIV9P4loXlMKiFDM411QUw4lX4D3UmECR6zPw0FV/cSvSStP4Io6o2sY5AJxpTSkUjGttAjEZUHz8Cwlj0juV0ypbi+MZLKnOGvgtYk9Bis3j7bCGiftyTc6qcnn7KANBetvAvjdQJ1AB6UaSb0E1fgvWOq/Tx0Lx2AYhJFD/JPldmpU9Ihjj/ELmLSHOMxH+YtYckFltNLRYTrcOBL5rUVib3k7NmsBFX8glW8K2BtH2a9jqZIlxXbYk2shsN6U3Kn6ZfNk6SHqKQ88MMVLwq4HDw/8vocXiWKMqeJsGHGfm+WMWqoBQ93OhiXVZnNMOKOx60C3ectbdJ8o+ynzR779LGrgeIYv23R46z7D4DhuiaRMAKW2KFtHyhQ7Qy/pt7Lc4MG6EiIitI7CkxwK/DbaFGfhkuHhw4ctS3YzF+dG1WskZifm571190+n8pOrjQTeiioywgNadilo7x6EtnGWnVCLVc+tzTpa0o6Pfp+Zo9tIWpBKTBF7Mg0c5SiD30ZvGej1OoWHJD08O4zJNlUeY04q2Q= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5940.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(39860400002)(136003)(376002)(346002)(451199015)(9686003)(26005)(107886003)(52536014)(41300700001)(6916009)(7696005)(99936003)(5660300002)(53546011)(6506007)(38070700005)(66446008)(4326008)(316002)(64756008)(8676002)(66556008)(76116006)(66476007)(66946007)(8936002)(83380400001)(86362001)(30864003)(122000001)(38100700002)(55016003)(33656002)(2906002)(186003)(82960400001)(478600001)(71200400001)(54906003)(84970400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QXZGWFF0S1hjdHhxUTlEbW00YnhtL0lnd0xKdzRTMHBndEhqcVVqS0dUNVFq?= =?utf-8?B?dDFlVkIrM3lkdTExZmdSQXB6WHRZUDVYdzhoaHp4YklsZUxRbmtOQ0FzS0dH?= =?utf-8?B?TFRxYWdGUXA1bGFLZ2RSSFFGS2p5OHZ0UFhMRk4wdHRpSmthVzRJcGp0QTBn?= =?utf-8?B?WjF5WUZkVkVKVmZQN3lVQ3p6MFFNQk9sc2VGM2tISHBINTlzbjVhWEcvVEky?= =?utf-8?B?S0RHTkg2MUJaM21SSm1Ib250ektNNEdrUHpMd2JleUNGNUFBbUpqM1pFTEs1?= =?utf-8?B?SWE0ZXFqZGRKWXNwenF6c25LdjQ4MWwyV3NTaVlCSDB4Q2tVb2VtVjZ2V0tp?= =?utf-8?B?VnBCc3MvMmRHd3JZNThJNGN1SFBzb3kvK3hSZ1RxQnJpQWJOVndPZEs0dFhQ?= =?utf-8?B?bFlRTkNncnFEeFVOQWZ2Y2FPV0NkL1dzLzIvekJMd1BGR0VhMmZTSndoSGlq?= =?utf-8?B?ZUFjOTQ2VFM3VCszcE14QS95aUFDUkFKYVFlMlpxYnVYVHZwL0RTRVZkU1E1?= =?utf-8?B?V2NGY0M0aEhibnlVcXphRTdBYjB3YURBbFNVVlJidlRDU0JvTHVPUW1VTnNS?= =?utf-8?B?SytxQmZ5ZCt1djRMdldvU2UvZFJ6SjlGV1QvZzB0cW1LemttMWtuVE9LckhR?= =?utf-8?B?K083amxGTDFkWUhoWUw5c3U1dXlHVmQxOTdwSGEyalRiRks5NlowYzRhbjhK?= =?utf-8?B?KzhHUm5LRmVBbFRJaUVJTHhzbzlLTEVMQjY1MGhoK0IrV3Jhc3dnbVNnL1py?= =?utf-8?B?bkY1ek9KczEzYVdUWTRqaEMvVTVUVGVZV0NLbmJWNGZmaDAzcTlVR0R6M291?= =?utf-8?B?b1h5THNMb3ZqNS9VWjNISEZzdlM3R3R6SUxRM1NSTnQxaU9aM29tM2YrSGVU?= =?utf-8?B?bVVRaCtvQkFBb3JSaEZXS3dvekhyMDQ2K1ZuQkh5eFFIbDd0VFJ1a3R2TlIr?= =?utf-8?B?d21weHNESFpPVzFnMy9jaGl0RDdxRGNYVDhQQStIdHlNWlIzNUMxU21ia0dV?= =?utf-8?B?eCtyb3BucE50L2hOalB6SlQ4WW5qbDU0RUp1U2VENGtxK2ZzNWhwRGRjUDUr?= =?utf-8?B?RlBONllHVTB3TEVSMVZkSTBKQmxtOFo3blZaVkRmWm9Ka1EyM3dNRUduOXZ5?= =?utf-8?B?MWFMTXlWeXc3aEUzY2NoeUw5UGsza1ZoSXNkK28rakFSc2xuYnN4Q2RydW5N?= =?utf-8?B?UTJTM0FSdmlYb0FVTWFHVStRSTFvTlEwbWQvVWc4SXo5TDgvTThjc2VsQTgy?= =?utf-8?B?cHNzTXRzUUQza2NKUGordlNGd2I1RzhYbUhLR1ZIY09ZaDFDNjFUalh1U3hm?= =?utf-8?B?YTNzdTFOZ1I2TzFVZHdvUzI3amNaUWJtUXo3K0ttUGxQVXVJQUt2Sk5JWFRo?= =?utf-8?B?bk1NTjF3aWpFLzE1Zjk2L1YrWEIvbkFzMlJRRGVBMmx3Z0d1RGpPR3pYZmgw?= =?utf-8?B?WmNGQmRTNUtKREZDaXhFTUVjbU8yYURPY2I4TDVzczdFSko3MGhmRStvQTNG?= =?utf-8?B?R1M2YlZ4VDFWVU14MG0zT2lmVk9zN3UrYUhMMko4NHBFd0h1ajJtYUhHdDBi?= =?utf-8?B?aUc0aUgwc25mTVMrSmJPTyt2aDJuaE5TNWx6MnhBVjMwM1orOGgzMlcxR05t?= =?utf-8?B?cXFINFc2QW5QRkpKdmMyQStjSFd3dCtNRVVEQ2c3QWhZZDVFQ2VuVFk0bWFx?= =?utf-8?B?YzhPU2Z0VmtHNTU0MDR3QUp0RWJTNjRRUDIzQ0pRNFN0SGFvR3c2RFpCQktB?= =?utf-8?B?NzdXS1FKMFZ6cEZhK2VvaUtKQzFzWWxIYTgrb05BTngzbmhOMU1Ib1FlYXdS?= =?utf-8?B?b1krYXFUT0UwMUZGOWF0TFVNbU5kTUdQdnhjcHd2UzBhOHNwcWl3MlBqcFE4?= =?utf-8?B?UUs3L0Urb2JEN1cwWTNZN2VpUGo4M25OQ0thMHJSUFhZK1IrUE1UZi8vaWQ1?= =?utf-8?B?eGYrc095L2Jhcm9GVlJVcXoxQWRMSWNjRFRGMnN1ZThmYktGQk5EczUwbFh0?= =?utf-8?B?TEFTN2hlcURuWEhXbHVRZ2JTeVhGZVFtdW1iQ3JpbXo2L3hYRlllbWk2eWI1?= =?utf-8?B?UVJqTFRSMmNRSVhMNDUzSCtDcWdxcWl4cjFKK0dFS0ZFMENaR0poeXhQQmRn?= =?utf-8?Q?On5zUY5h5i8+2umHzv1sr+DSS?= Content-Type: multipart/mixed; boundary="_002_SJ0PR11MB5940313FF0A64AFBBED6F88CA6519SJ0PR11MB5940namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5940.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 602493d3-a921-4a72-9cdf-08da9d10bc96 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2022 03:07:23.4902 (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: +3tdmnNED/g4E0Zh1w6ZM6B/a01f9WcIl/SLdsJxE9JyIQKkYOOEZ0oGbIonS3GJGvSQEKvYNCQykVI+BAkLcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7276 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-13.7 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_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP 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: --_002_SJ0PR11MB5940313FF0A64AFBBED6F88CA6519SJ0PR11MB5940namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEhvbmd0YW8NCg0KSSBoYXZlIG1vZGVmaWVkIHRoaXMgcGF0Y2ggYW5kIHJlZ3Rlc3RlZCBv biB4ODZfNjQtcGMtbGludXgtZ251Lg0KDQpCUnMuDQpMaW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCkZyb206IEhvbmd0YW8gTGl1IDxjcmF6eWxodEBnbWFpbC5jb20+IA0KU2VudDog RnJpZGF5LCBTZXB0ZW1iZXIgMjMsIDIwMjIgOTo0OCBBTQ0KVG86IEh1LCBMaW4xIDxsaW4xLmh1 QGludGVsLmNvbT4NCkNjOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsgTGl1LCBIb25ndGFvIDxo b25ndGFvLmxpdUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBpMzg2OiBPcHRpbWl6 ZSBjb2RlIGdlbmVyYXRpb24gb2YgX19tbTI1Nl96ZXh0c2kxMjhfc2kyNTYoX19tbV9zZXQxX2Vw aTgoLTEpKQ0KDQpPbiBUaHUsIFNlcCAyMiwgMjAyMiBhdCAzOjIwIFBNIEh1LCBMaW4xIHZpYSBH Y2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+IHdyb3RlOg0KPg0KPiBIaSBhbGws DQo+DQo+IFRoaXMgcGF0Y2ggYWltcyB0byBvcHRpbWl6ZSBjb2RlIGdlbmVyYXRpb24gb2YgX19t bTI1Nl96ZXh0c2kxMjhfc2kyNTYoX19tbV9zZXQxX2VwaTgoLTEpKS4gUmVkdWNlIHRoZSBudW1i ZXIgb2YgaW5zdHJ1Y3Rpb25zIHJlcXVpcmVkIHRvIGFjaGlldmUgdGhlIGZpbmFsIHJlc3VsdC4N Cj4NCj4gUmVndGVzdGVkIG9uIHg4Nl82NC1wYy1saW51eC1nbnUuIE9rIGZvciB0cnVuaz8NCj4N Cj4gQlJzLA0KPiBMaW4NCj4NCj4gZ2NjL0NoYW5nZUxvZzoNCj4NCj4gICAgICAgICBQUiB0YXJn ZXQvOTQ5NjINCj4gICAgICAgICAqIGNvbmZpZy9pMzg2L2NvbnN0cmFpbnRzLm1kIChCSCk6IE5l dyBkZWZpbmVfY29uc3RyYWludC4NCj4gICAgICAgICAqIGNvbmZpZy9pMzg2L2kzODYuY2MgKHN0 YW5kYXJkX3NzZV9jb25zdGFudF9wKTogQWRkIHJldHVybiAzLzQgd2hlbiBvcGVyYW5kIG1hdGNo ZXMgbmV3IHByZWRpY2F0ZS4NCj4gICAgICAgICAoc3RhbmRhcmRfc3NlX2NvbnN0YW50X29wY29k ZSk6IEFkZCBuZXcgYWx0ZXJuYXRpdmUgYnJhbmNoIHRvIHJldHVybiAidnBjbXBlcWQiLg0KPiAg ICAgICAgICogY29uZmlnL2kzODYvcHJlZGljYXRlcy5tZCAodmVjdG9yX2FsbF9vbmVzX3plcm9f ZXh0ZW5kX2hhbGZfb3BlcmFuZCk6IE5ldyBkZWZpbmVfcHJlZGljYXRlLg0KPiAgICAgICAgICh2 ZWN0b3JfYWxsX29uZXNfemVyb19leHRlbmRfcXVhcnRlcl9vcGVyYW5kKTogRGl0dG8uDQo+ICAg ICAgICAgKiBjb25maWcvaTM4Ni9zc2UubWQ6IEFkZCBjb25zdHJhaW50IHRvIGluc24gIm1vdjxt b2RlPl9pbnRlcm5hbCIuDQoobW92PG1vZGU+X2ludGVybmFsKTogQWRkIG5ldyBjb25zdHJhaW50 IEJILg0KUHV0IHRoZSBpbnNuIG5hbWUgYXQgZmlyc3QuDQo+DQo+IGdjYy90ZXN0c3VpdGUvQ2hh bmdlTG9nOg0KPg0KPiAgICAgICAgIFBSIHRhcmdldC85NDk2Mg0KPiAgICAgICAgICogZ2NjLnRh cmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtbG9hZC0xLmM6IE1vZGlmeSB0ZXN0Lg0KPiAgICAg ICAgICogZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMS5jOiBEaXR0by4N Cj4gICAgICAgICAqIGdjYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVkLXN0b3JlLTIuYzog RGl0dG8uDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9y ZS0zLmM6IERpdHRvLg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMS5jOiBO ZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvaTM4Ni9wcjk0OTYyLTIuYzogRGl0dG8u DQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi0zLmM6IERpdHRvLg0KPiAgICAg ICAgICogZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItNC5jOiBEaXR0by4NCj4gLS0tDQo+ICBnY2Mv Y29uZmlnL2kzODYvY29uc3RyYWludHMubWQgICAgICAgICAgICAgICAgfCAgOCArKysNCj4gIGdj Yy9jb25maWcvaTM4Ni9pMzg2LmNjICAgICAgICAgICAgICAgICAgICAgICB8IDI2ICsrKysrKyst DQo+ICBnY2MvY29uZmlnL2kzODYvcHJlZGljYXRlcy5tZCAgICAgICAgICAgICAgICAgfCA0OSAr KysrKysrKysrKysrKw0KPiAgZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZCAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDggKy0tDQo+ICAuLi4vZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQt bG9hZC0xLmMgfCAgNCArLQ0KPiAgLi4uL2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0xLmMg ICAgICAgICAgIHwgIDQgKy0NCj4gIC4uLi9pMzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMi5j ICAgICAgICAgICB8ICA0ICstDQo+ICAuLi4vaTM4Ni9hdngyNTYtdW5hbGlnbmVkLXN0b3JlLTMu YyAgICAgICAgICAgfCAgNCArLQ0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5 NDk2Mi0xLmMgICAgIHwgMTEgKysrKw0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv cHI5NDk2Mi0yLmMgICAgIHwgMTcgKysrKysNCj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3ByOTQ5NjItMy5jICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysNCj4gIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItNC5jICAgICB8IDQ5ICsrKysrKysrKysrKysr DQo+ICAxMiBmaWxlcyBjaGFuZ2VkLCAyMzUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0p ICBjcmVhdGUgbW9kZSANCj4gMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3By OTQ5NjItMS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvcHI5NDk2Mi0yLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9wcjk0OTYyLTMuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItNC5jDQo+DQo+IGRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL2kzODYvY29uc3RyYWludHMubWQgDQo+IGIvZ2NjL2NvbmZpZy9pMzg2L2NvbnN0cmFp bnRzLm1kIGluZGV4IDczNjE2ODc2MzJmLi45NWIyYjE0MmQ0MSAxMDA2NDQNCj4gLS0tIGEvZ2Nj L2NvbmZpZy9pMzg2L2NvbnN0cmFpbnRzLm1kDQo+ICsrKyBiL2djYy9jb25maWcvaTM4Ni9jb25z dHJhaW50cy5tZA0KPiBAQCAtMTY4LDYgKzE2OCw5IEBADQo+ICA7OyAgeiAgQ29uc3RhbnQgY2Fs bCBhZGRyZXNzIG9wZXJhbmQuDQo+ICA7OyAgQyAgSW50ZWdlciBTU0UgY29uc3RhbnQgd2l0aCBh bGwgYml0cyBzZXQgb3BlcmFuZC4NCj4gIDs7ICBGICBGbG9hdGluZy1wb2ludCBTU0UgY29uc3Rh bnQgd2l0aCBhbGwgYml0cyBzZXQgb3BlcmFuZC4NCj4gKzs7ICBIICBJbnRlZ2VyIFNTRSBjb25z dGFudCB0aGF0IGlzIDEyOC8yNTZiaXQgYWxsIG9uZXMNCj4gKzs7ICAgICBhbmQgemVyby1leHRh bmQgdG8gMjU2LzUxMmJpdCwgb3IgMTI4Yml0IGFsbCBvbmVzDQo+ICs7OyAgICAgYW5kIHplcm8t ZXh0ZW5kIHRvIDUxMmJpdC4NCj4gIDs7ICBNICB4ODYtNjQgbWVtb3J5IG9wZXJhbmQuDQo+DQo+ ICAoZGVmaW5lX2NvbnN0cmFpbnQgIkJmIg0KPiBAQCAtMjMzLDYgKzIzNiwxMSBAQA0KPiAgICAo YW5kIChtYXRjaF90ZXN0ICJUQVJHRVRfU1NFIikNCj4gICAgICAgICAobWF0Y2hfb3BlcmFuZCAw ICJmbG9hdF92ZWN0b3JfYWxsX29uZXNfb3BlcmFuZCIpKSkNCj4NCj4gKyhkZWZpbmVfY29uc3Ry YWludCAiQkgiDQo+ICsgICJAaW50ZXJuYWwgaW50ZWdlciBjb25zdGFudCB3aXRoIGxhc3QgaGFs Zi9xdWFydGVyIGJpdHMgc2V0IG9wZXJhbmQuIg0KPiArICAoaW9yIChtYXRjaF9vcGVyYW5kIDAg InZlY3Rvcl9hbGxfb25lc196ZXJvX2V4dGVuZF9oYWxmX29wZXJhbmQiKQ0KPiArICAgICAgICht YXRjaF9vcGVyYW5kIDAgDQo+ICsidmVjdG9yX2FsbF9vbmVzX3plcm9fZXh0ZW5kX3F1YXJ0ZXJf b3BlcmFuZCIpKSkNCj4gKw0KPiAgOzsgTkI6IFNpbWlsYXIgdG8gJ20nLCBidXQgZG9uJ3QgdXNl IGRlZmluZV9tZW1vcnlfY29uc3RyYWludCBvbiANCj4geDg2LTY0ICA7OyB0byBwcmV2ZW50IExS QSBmcm9tIGNvbnZlcnRpbmcgdGhlIG9wZXJhbmQgdG8gdGhlIGZvcm0gJyhtZW0gKHJlZyBYKSkn DQo+ICA7OyB3aGVyZSBYIGlzIGEgYmFzZSByZWdpc3Rlci4NCj4gZGlmZiAtLWdpdCBhL2djYy9j b25maWcvaTM4Ni9pMzg2LmNjIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuY2MgaW5kZXggDQo+IGRh ZGY0NTNkNmMwLi5jYTc5OWRhNWQ3ZSAxMDA2NDQNCj4gLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kz ODYuY2MNCj4gKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuY2MNCj4gQEAgLTUxODYsNyArNTE4 Niw4IEBAIHN0YW5kYXJkXzgwMzg3X2NvbnN0YW50X3J0eCAoaW50IGlkeCkNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEZtb2RlKTsgIH0NCj4NCj4gLS8qIFJldHVy biAxIGlmIFggaXMgYWxsIGJpdHMgMCBhbmQgMiBpZiBYIGlzIGFsbCBiaXRzIDENCj4gKy8qIFJl dHVybiAxIGlmIFggaXMgYWxsIGJpdHMgMCwgMiBpZiBYIGlzIGFsbCBiaXRzIDENCj4gKyAgIGFu ZCAzIGlmIFggaXMgYWxsIGJpdHMgMSB3aXRoIHplcm8gZXh0ZW5kDQo+ICAgICBpbiBzdXBwb3J0 ZWQgU1NFL0FWWCB2ZWN0b3IgbW9kZS4gICovDQo+DQo+ICBpbnQNCj4gQEAgLTUyMzQsNiArNTIz NSwxMCBAQCBzdGFuZGFyZF9zc2VfY29uc3RhbnRfcCAocnR4IHgsIG1hY2hpbmVfbW9kZSBwcmVk X21vZGUpDQo+ICAgICAgICAgfQ0KPiAgICAgIH0NCj4NCj4gKyAgaWYgKHZlY3Rvcl9hbGxfb25l c196ZXJvX2V4dGVuZF9oYWxmX29wZXJhbmQgKHgsIG1vZGUpDQo+ICsgICAgICB8fCB2ZWN0b3Jf YWxsX29uZXNfemVyb19leHRlbmRfcXVhcnRlcl9vcGVyYW5kICh4LCBtb2RlKSkNCj4gKyAgICBy ZXR1cm4gMzsNCj4gKw0KPiAgICByZXR1cm4gMDsNCj4gIH0NCj4NCj4gQEAgLTUzNDEsNiArNTM0 NiwyNSBAQCBzdGFuZGFyZF9zc2VfY29uc3RhbnRfb3Bjb2RlIChydHhfaW5zbiAqaW5zbiwgcnR4 ICpvcGVyYW5kcykNCj4gICAgICAgICAgIGdjY191bnJlYWNoYWJsZSAoKTsNCj4gICAgICAgICB9 DQo+ICAgICB9DQo+ICsgIGVsc2UgaWYgKHZlY3Rvcl9hbGxfb25lc196ZXJvX2V4dGVuZF9oYWxm X29wZXJhbmQgKHgsIG1vZGUpKQ0KPiArICAgIHsNCj4gKyAgICAgIGlmIChHRVRfTU9ERV9TSVpF IChtb2RlKSA9PSA2NCkNCj4gKyAgICAgICB7DQo+ICsgICAgICAgICBnY2NfYXNzZXJ0IChUQVJH RVRfQVZYNTEyRik7DQo+ICsgICAgICAgICByZXR1cm4gInZwY21wZXFkIFx0ICV0MCwgJXQwLCAl dDAiOw0KPiArICAgICAgIH0NCj4gKyAgICAgIGVsc2UgaWYgKEdFVF9NT0RFX1NJWkUgKG1vZGUp ID09IDMyKQ0KPiArICAgICAgIHsNCj4gKyAgICAgICAgIGdjY19hc3NlcnQgKFRBUkdFVF9BVlgp Ow0KPiArICAgICAgICAgcmV0dXJuICJ2cGNtcGVxZCBcdCAleDAsICV4MCwgJXgwIjsNCj4gKyAg ICAgICB9DQo+ICsgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQo+ICsgICAgfQ0KPiArICBlbHNl IGlmICh2ZWN0b3JfYWxsX29uZXNfemVyb19leHRlbmRfcXVhcnRlcl9vcGVyYW5kICh4LCBtb2Rl KSkNCj4gKyAgICB7DQo+ICsgICAgICBnY2NfYXNzZXJ0IChUQVJHRVRfQVZYNTEyRik7DQo+ICsg ICAgICByZXR1cm4gInZwY21wZXFkIFx0ICV4MCwgJXgwLCAleDAiOw0KPiArICAgIH0NCj4NCkNh biB3ZSBtZXJnZSAyIHZwY21wZXFkIFx0ICV4MCwgJXgwLCAleDAiOyBpbnRvIDE/DQpsaWtlDQpl bHNlIGlmICh2ZWN0b3JfYWxsX29uZXNfemVyb19leHRlbmRfaGFsZl9vcGVyYW5kICh4LCBtb2Rl KQ0KICAgICAgICAgICAgJiYgR0VUX01PREVfU0laRShtb2RlKSA9PSA2NCkpDQogIHJldHVybiAi dnBjbXBlcWQgXHQgJXQwLCAldDAsICV0MCI7DQplbHNlIGlmICgodmVjdG9yX2FsbF9vbmVzX3pl cm9fZXh0ZW5kX2hhbGZfb3BlcmFuZCAoeCwgbW9kZSkNCiAgICAgICAgICAgICYmIEdFVF9NT0RF X1NJWkUgKG1vZGUpID09IDMyKQ0KICAgICAgICAgICB8fCB2ZWN0b3JfYWxsX29uZXNfemVyb19l eHRlbmRfcXVhcnRlcl9vcGVyYW5kICh4LCBtb2RlKSkNCiAgICByZXR1cm4gInZwY21wZXFkIFx0 ICV4MCwgJXgwLCAleDAiOw0KDQo+ICAgIGdjY191bnJlYWNoYWJsZSAoKTsNCj4gIH0NCj4gZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9wcmVkaWNhdGVzLm1kIA0KPiBiL2djYy9jb25maWcv aTM4Ni9wcmVkaWNhdGVzLm1kIGluZGV4IDRmMTZiYjc0OGI1Li42NTVlYWJmNzkzYiAxMDA2NDQN Cj4gLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3ByZWRpY2F0ZXMubWQNCj4gKysrIGIvZ2NjL2NvbmZp Zy9pMzg2L3ByZWRpY2F0ZXMubWQNCj4gQEAgLTExNTksNiArMTE1OSw1NSBAQA0KPiAgICAgICAg IChtYXRjaF90ZXN0ICJJTlRFR1JBTF9NT0RFX1AgKEdFVF9NT0RFIChvcCkpIikNCj4gICAgICAg ICAobWF0Y2hfdGVzdCAib3AgPT0gQ09OU1RNMV9SVFggKEdFVF9NT0RFIChvcCkpIikpKQ0KPg0K PiArLyogUmV0dXJuIHRydWUgaWYgb3BlcmFuZCBpcyBhbiAxMjgvMjU2Yml0IGFsbCBvbmVzIHZl Y3Rvcg0KPiArICAgdGhhdCB6ZXJvLWV4dGVuZHMgdG8gMjU2LzUxMmJpdC4gICovIChkZWZpbmVf cHJlZGljYXRlIA0KPiArInZlY3Rvcl9hbGxfb25lc196ZXJvX2V4dGVuZF9oYWxmX29wZXJhbmQi DQo+ICsgIChtYXRjaF9jb2RlICJjb25zdF92ZWN0b3IiKQ0KPiArew0KPiArICBtb2RlID0gR0VU X01PREUgKG9wKTsNCj4gKyAgaWYgKEdFVF9NT0RFX0NMQVNTIChtb2RlKSAhPSBNT0RFX1ZFQ1RP Ul9JTlQNCj4gKyAgICAgIHx8IChHRVRfTU9ERV9TSVpFIChtb2RlKSAhPSAzMg0KPiArICAgICAg ICAgJiYgR0VUX01PREVfU0laRSAobW9kZSkgIT0gNjQpKQ0KPiArICAgIHJldHVybiBmYWxzZTsN Cj4gKw0KPiArICBpbnQgbmVsdHMgPSBDT05TVF9WRUNUT1JfTlVOSVRTIChvcCk7DQo+ICsgIGZv ciAoaW50IGkgPSAwOyBpICE9IG5lbHRzOyBpKyspDQo+ICsgICAgew0KPiArICAgICAgcnR4IGVs dCA9IENPTlNUX1ZFQ1RPUl9FTFQgKG9wLCBpKTsNCj4gKyAgICAgIGlmIChpIDwgbmVsdHMgLyAy DQo+ICsgICAgICAgICAmJiBlbHQgIT0gQ09OU1RNMV9SVFggKEdFVF9NT0RFX0lOTkVSIChtb2Rl KSkpDQo+ICsgICAgICAgcmV0dXJuIGZhbHNlOw0KPiArICAgICAgaWYgKGkgPj0gbmVsdHMgLyAy DQo+ICsgICAgICAgICAmJiBlbHQgIT0gQ09OU1QwX1JUWCAoR0VUX01PREVfSU5ORVIgKG1vZGUp KSkNCj4gKyAgICAgICByZXR1cm4gZmFsc2U7DQo+ICsgICAgfQ0KPiArICByZXR1cm4gdHJ1ZTsN Cj4gK30pDQo+ICsNCj4gKy8qIFJldHVybiB0cnVlIGlmIG9wZXJhbmQgaXMgYW4gMTI4Yml0IGFs bCBvbmVzIHZlY3Rvcg0KPiArICAgdGhhdCB6ZXJvIGV4dGVuZHMgdG8gNTEyYml0LiAgKi8NCj4g KyhkZWZpbmVfcHJlZGljYXRlICJ2ZWN0b3JfYWxsX29uZXNfemVyb19leHRlbmRfcXVhcnRlcl9v cGVyYW5kIg0KPiArICAobWF0Y2hfY29kZSAiY29uc3RfdmVjdG9yIikNCj4gK3sNCj4gKyAgbW9k ZSA9IEdFVF9NT0RFIChvcCk7DQo+ICsgIGlmIChHRVRfTU9ERV9DTEFTUyAobW9kZSkgIT0gTU9E RV9WRUNUT1JfSU5UDQo+ICsgICAgICB8fCBHRVRfTU9ERV9TSVpFIChtb2RlKSAhPSA2NCkNCj4g KyAgICByZXR1cm4gZmFsc2U7DQo+ICsNCj4gKyAgaW50IG5lbHRzID0gQ09OU1RfVkVDVE9SX05V TklUUyAob3ApOw0KPiArICBmb3IgKGludCBpID0gMDsgaSAhPSBuZWx0czsgaSsrKQ0KPiArICAg IHsNCj4gKyAgICAgIHJ0eCBlbHQgPSBDT05TVF9WRUNUT1JfRUxUIChvcCwgaSk7DQo+ICsgICAg ICBpZiAoaSA8IG5lbHRzIC8gNA0KPiArICAgICAgICAgJiYgZWx0ICE9IENPTlNUTTFfUlRYIChH RVRfTU9ERV9JTk5FUiAobW9kZSkpKQ0KPiArICAgICAgIHJldHVybiBmYWxzZTsNCj4gKyAgICAg IGlmIChpID49IG5lbHRzIC8gNA0KPiArICAgICAgICAgJiYgZWx0ICE9IENPTlNUMF9SVFggKEdF VF9NT0RFX0lOTkVSIChtb2RlKSkpDQo+ICsgICAgICAgcmV0dXJuIGZhbHNlOw0KPiArICAgIH0N Cj4gKyAgcmV0dXJuIHRydWU7DQo+ICt9KQ0KPiArDQo+ICA7IFJldHVybiB0cnVlIHdoZW4gT1Ag aXMgb3BlcmFuZCBhY2NlcHRhYmxlIGZvciB2ZWN0b3IgbWVtb3J5IG9wZXJhbmQuDQo+ICA7IE9u bHkgQVZYIGNhbiBoYXZlIG1pc2FsaWduZWQgbWVtb3J5IG9wZXJhbmQuDQo+ICAoZGVmaW5lX3By ZWRpY2F0ZSAidmVjdG9yX21lbW9yeV9vcGVyYW5kIg0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9pMzg2L3NzZS5tZCBiL2djYy9jb25maWcvaTM4Ni9zc2UubWQgaW5kZXggDQo+IGQ1MzVjMGFm MDQzLi5mODA0ZGJlOWI3YSAxMDA2NDQNCj4gLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZA0K PiArKysgYi9nY2MvY29uZmlnL2kzODYvc3NlLm1kDQo+IEBAIC0xMzE4LDkgKzEzMTgsOSBAQA0K Pg0KPiAgKGRlZmluZV9pbnNuICJtb3Y8bW9kZT5faW50ZXJuYWwiDQo+ICAgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlZNT1ZFIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIg0KPiAtICAgICAgICAiPXYs diAsdiAsbSIpDQo+ICsgICAgICAgICI9dix2ICx2LHYgLG0iKQ0KPiAgICAgICAgIChtYXRjaF9v cGVyYW5kOlZNT1ZFIDEgIm5vbmltbWVkaWF0ZV9vcl9zc2VfY29uc3Rfb3BlcmFuZCINCj4gLSAg ICAgICAgIiBDLDxzc2Vjb25zdG0xPix2bSx2IikpXQ0KPiArICAgICAgICAiIEMsPHNzZWNvbnN0 bTE+LEJILHZtLHYiKSldDQo+ICAgICJUQVJHRVRfU1NFDQo+ICAgICAmJiAocmVnaXN0ZXJfb3Bl cmFuZCAob3BlcmFuZHNbMF0sIDxNT0RFPm1vZGUpDQo+ICAgICAgICAgfHwgcmVnaXN0ZXJfb3Bl cmFuZCAob3BlcmFuZHNbMV0sIDxNT0RFPm1vZGUpKSBAQCAtMTMzOCw3IA0KPiArMTMzOCw3IEBA DQo+ICAgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQo+ICAgICAgfQ0KPiAgfQ0KPiAtICBbKHNl dF9hdHRyICJ0eXBlIiAic3NlbG9nMSxzc2Vsb2cxLHNzZW1vdixzc2Vtb3YiKQ0KPiArICBbKHNl dF9hdHRyICJ0eXBlIiAic3NlbG9nMSxzc2Vsb2cxLHNzZWxvZzEsc3NlbW92LHNzZW1vdiIpDQo+ ICAgICAoc2V0X2F0dHIgInByZWZpeCIgIm1heWJlX3ZleCIpDQo+ICAgICAoc2V0IChhdHRyICJt b2RlIikNCj4gICAgICAgICAoY29uZCBbKG1hdGNoX3Rlc3QgIlRBUkdFVF9BVlgiKSBAQCAtMTM0 OSw3ICsxMzQ5LDcgQEANCj4gICAgICAgICAgICAgICAgKGFuZCAobWF0Y2hfdGVzdCAiPE1PREU+ bW9kZSA9PSBWMkRGbW9kZSIpDQo+ICAgICAgICAgICAgICAgICAgICAgKG1hdGNoX3Rlc3QgIlRB UkdFVF9TU0VfUEFDS0VEX1NJTkdMRV9JTlNOX09QVElNQUwiKSkNCj4gICAgICAgICAgICAgICAg ICAoY29uc3Rfc3RyaW5nICJWNFNGIikNCj4gLSAgICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAi YWx0ZXJuYXRpdmUiICIzIikNCj4gKyAgICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAiYWx0ZXJu YXRpdmUiICI0IikNCj4gICAgICAgICAgICAgICAgICAgICAobWF0Y2hfdGVzdCAiVEFSR0VUX1NT RV9UWVBFTEVTU19TVE9SRVMiKSkNCj4gICAgICAgICAgICAgICAgICAoY29uc3Rfc3RyaW5nICJW NFNGIikNCj4gICAgICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAiYWx0ZXJuYXRpdmUiICIwIikg ZGlmZiAtLWdpdCANCj4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5h bGlnbmVkLWxvYWQtMS5jIA0KPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1 Ni11bmFsaWduZWQtbG9hZC0xLmMNCj4gaW5kZXggNjgzNzhhNTU2ZmIuLjcxMTViMGE5ZGRlIDEw MDY0NA0KPiAtLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGln bmVkLWxvYWQtMS5jDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1 Ni11bmFsaWduZWQtbG9hZC0xLmMNCj4gQEAgLTE0LDYgKzE0LDYgQEAgYXZ4X3Rlc3QgKHZvaWQp DQo+ICAgICAgY1tpXSA9IGFbaV0gKiBiW2krM107DQo+ICB9DQo+DQo+IC0vKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItbm90IA0KPiAidm1vdnVwc1xbXlxuXHJdKm1vdnY4c2ZfaW50ZXJu YWwvMiIgfSB9ICovDQo+IC0vKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIm1vdnY0c2Zf aW50ZXJuYWwvMiIgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IA0KPiArInZtb3Z1cHNcW15cblxyXSptb3Z2OHNmX2ludGVybmFsLzMiIH0gfSAqLw0KPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJtb3Z2NHNmX2ludGVybmFsLzMiIH0gfSAqLw0K PiAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2aW5zZXJ0ZjEyOCIgfSB9ICovIGRp ZmYgLS1naXQgDQo+IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4MjU2LXVuYWxp Z25lZC1zdG9yZS0xLmMgDQo+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4MjU2 LXVuYWxpZ25lZC1zdG9yZS0xLmMNCj4gaW5kZXggZDgyYWVjZmZkYTkuLjRjNzEzOTU5ZGYyIDEw MDY0NA0KPiAtLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGln bmVkLXN0b3JlLTEuYw0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngy NTYtdW5hbGlnbmVkLXN0b3JlLTEuYw0KPiBAQCAtMTcsNiArMTcsNiBAQCBhdnhfdGVzdCAodm9p ZCkNCj4gICAgICBkW2ldID0gY1tpXSAqIDIwLjA7DQo+ICB9DQo+DQo+IC0vKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92dXBzLiptb3Z2OHNmX2ludGVybmFsLzMiIH0gfSAN Cj4gKi8NCj4gLS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidm1vdnVwcy4qbW92djRz Zl9pbnRlcm5hbC8zIiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3QgInZtb3Z1cHMuKm1vdnY4c2ZfaW50ZXJuYWwvNCIgfSB9IA0KPiArKi8NCj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidm1vdnVwcy4qbW92djRzZl9pbnRlcm5hbC80IiB9IH0g Ki8NCj4gIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidmV4dHJhY3RmMTI4IiB9IH0g Ki8gZGlmZiAtLWdpdCANCj4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYt dW5hbGlnbmVkLXN0b3JlLTIuYyANCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9h dngyNTYtdW5hbGlnbmVkLXN0b3JlLTIuYw0KPiBpbmRleCBiZTEyNTI5ZThkNS4uNDk3OGMzN2Y1 MjYgMTAwNjQ0DQo+IC0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11 bmFsaWduZWQtc3RvcmUtMi5jDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMi5jDQo+IEBAIC0yMyw2ICsyMyw2IEBAIGF2eF90ZXN0 ICh2b2lkKQ0KPiAgICAgIH0NCj4gIH0NCj4NCj4gLS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3QgInZtb3ZkcXUuKm1vdnYzMnFpX2ludGVybmFsLzMiIH0gfSANCj4gKi8NCj4gLS8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidm1vdmRxdS4qbW92djE2cWlfaW50ZXJuYWwv MyIgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92ZHF1 Liptb3Z2MzJxaV9pbnRlcm5hbC80IiB9IH0gDQo+ICsqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyICJ2bW92ZHF1Liptb3Z2MTZxaV9pbnRlcm5hbC80IiB9IH0gKi8NCj4gIC8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidmV4dHJhY3QuMTI4IiB9IH0gKi8gZGlmZiAt LWdpdCANCj4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVk LXN0b3JlLTMuYyANCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5h bGlnbmVkLXN0b3JlLTMuYw0KPiBpbmRleCA5MTgwMjhkZjllZC4uZjkwOTA5OWJjYjEgMTAwNjQ0 DQo+IC0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQt c3RvcmUtMy5jDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11 bmFsaWduZWQtc3RvcmUtMy5jDQo+IEBAIC0xNyw2ICsxNyw2IEBAIGF2eF90ZXN0ICh2b2lkKQ0K PiAgICAgIGRbaV0gPSBjW2ldICogMjAuMDsNCj4gIH0NCj4NCj4gLS8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci1ub3QgInZtb3Z1cGQuKm1vdnY0ZGZfaW50ZXJuYWwvMyIgfSB9IA0KPiAq Lw0KPiAtLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2bW92dXBkLiptb3Z2MmRmX2lu dGVybmFsLzMiIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAi dm1vdnVwZC4qbW92djRkZl9pbnRlcm5hbC80IiB9IH0gDQo+ICsqLw0KPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyICJ2bW92dXBkLiptb3Z2MmRmX2ludGVybmFsLzQiIH0gfSAqLw0K PiAgLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2ZXh0cmFjdGYxMjgiIH0gfSAqLyBk aWZmIC0tZ2l0IA0KPiBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMS5j IA0KPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMS5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5lM2IwMTI0OTQyMQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjIt MS5jDQo+IEBAIC0wLDAgKzEsMTEgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsv KiB7IGRnLW9wdGlvbnMgIi1PMiAtbWF2eCIgfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLW5vdCAidm1vdmRxYSIgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMgInZwY21wZXFkXFsgXFx0XF0rJXhtbVxbMC05XF0iIDEgDQo+ICt9IH0g Ki8NCj4gKw0KPiArI2luY2x1ZGUgPGltbWludHJpbi5oPg0KPiArDQo+ICtfX20yNTZpIG1hc2so KQ0KPiArew0KPiArICByZXR1cm4gX21tMjU2X3pleHRzaTEyOF9zaTI1NihfbW1fc2V0MV9lcGk4 KC0xKSk7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9wcjk0OTYyLTIuYyANCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjk0OTYy LTIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uNGUxMGU5 MjdiYTENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9wcjk0OTYyLTIuYw0KPiBAQCAtMCwwICsxLDE3IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItTzIgLW1hdng1MTJmIiB9ICovDQo+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92ZHFhIiB9IH0gKi8NCj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidnBjbXBlcWRcWyBcXHRcXSsleG1tXFsw LTlcXSIgMSANCj4gK30gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJ2cGNtcGVxZFxbIFxcdFxdKyV5bW1cWzAtOVxdIiAxIA0KPiArfSB9ICovDQo+ICsNCj4g KyNpbmNsdWRlIDxpbW1pbnRyaW4uaD4NCj4gKw0KPiArX19tNTEyaSBtYXNrMSgpDQo+ICt7DQo+ ICsgIHJldHVybiBfbW01MTJfemV4dHNpMTI4X3NpNTEyKF9tbV9zZXQxX2VwaTgoLTEpKTsNCj4g K30NCj4gKw0KPiArX19tNTEyaSBtYXNrMigpDQo+ICt7DQo+ICsgIHJldHVybiBfbW01MTJfemV4 dHNpMjU2X3NpNTEyKF9tbTI1Nl9zZXQxX2VwaTgoLTEpKTsNCj4gK30NCj4gZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMy5jIA0KPiBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAwLi44ZDBiOTk3NDQzNQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMy5jDQo+IEBAIC0wLDAg KzEsNjQgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMg Ii1PMiAtbWF2eDUxMmYiIH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3QgInZtb3ZkcWEiIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJ2cGNtcGVxZFxbIFxcdFxdKyV5bW1cWzAtOVxdIiA0IA0KPiArfSB9ICovDQo+ICsNCj4g K3R5cGVkZWYgbG9uZyBsb25nIF9fdjhkaSBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9f ICg2NCkpKTsgDQo+ICt0eXBlZGVmIGludCBfX3YxNnNpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rv cl9zaXplX18gKDY0KSkpOyB0eXBlZGVmIA0KPiArc2hvcnQgX192MzJoaSBfX2F0dHJpYnV0ZV9f ICgoX192ZWN0b3Jfc2l6ZV9fICg2NCkpKTsgdHlwZWRlZiBjaGFyIA0KPiArX192NjRxaSBfX2F0 dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg2NCkpKTsgdHlwZWRlZiBsb25nIGxvbmcgDQo+ ICtfX201MTJpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDY0KSwgX19tYXlfYWxp YXNfXykpOw0KPiArDQo+ICtfX201MTJpDQo+ICtfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5v Y2xvbmUpKQ0KPiArZm9vMSAoKQ0KPiArew0KPiArICByZXR1cm4gX19leHRlbnNpb25fXyAoX19t NTEyaSkoX192OGRpKSB7IC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCB9OyB9DQo+ICsNCj4gK19fbTUxMmkNCj4g K19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpDQo+ICtmb28yICgpDQo+ICt7DQo+ ICsgIHJldHVybiBfX2V4dGVuc2lvbl9fIChfX201MTJpKShfX3YxNnNpKSB7IC0xLCAtMSwgLTEs IC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAt MSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDAsIDAsIDAsIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwgMCwgMCwgMCB9OyB9DQo+ICsNCj4gK19fbTUxMmkNCj4gK19fYXR0cmlidXRlX18gKChu b2lubGluZSwgbm9jbG9uZSkpDQo+ICtmb28zICgpDQo+ICt7DQo+ICsgIHJldHVybiBfX2V4dGVu c2lvbl9fIChfX201MTJpKShfX3YzMmhpKSB7IC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAtMSwgLTEsIC0xLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAtMSwgLTEsIC0xLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCAtMSwgLTEs IC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAs IDAsIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg MCwgMCwgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw LCAwLCAwLCAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDAsIDAsIDAsIDAgfTsgfQ0KPiArDQo+ICtfX201MTJpDQo+ICtfX2F0dHJpYnV0ZV9fICgobm9p bmxpbmUsIG5vY2xvbmUpKQ0KPiArZm9vNCAoKQ0KPiArew0KPiArICByZXR1cm4gX19leHRlbnNp b25fXyAoX19tNTEyaSkoX192NjRxaSkgeyAtMSwgLTEsIC0xLCAtMSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgLTEsIC0xLCAtMSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgLTEsIC0xLCAtMSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgLTEsIC0xLCAt MSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgLTEs IC0xLCAtMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt MSwgLTEsIC0xLCAtMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtMSwgLTEsIC0xLCAtMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtMSwgLTEsIC0xLCAtMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwLCAwLCAwLCAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAwLCAwLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAwLCAwLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAgfTsgfQ0KPiBkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi00LmMgDQo+IGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi00LmMNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjU1MDJjMzk5MTBiDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi00LmMNCj4gQEAg LTAsMCArMSw0OSBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0 aW9ucyAiLU8yIC1tYXZ4IiB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt bm90ICJ2bW92ZHFhIiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAidnBjbXBlcWRcWyBcXHRcXSsleG1tXFswLTlcXSIgNCANCj4gK30gfSAqLw0KPiArDQo+ ICt0eXBlZGVmIGxvbmcgbG9uZyBfX3Y0ZGkgX19hdHRyaWJ1dGVfXyAoKF9fdmVjdG9yX3NpemVf XyAoMzIpKSk7IA0KPiArdHlwZWRlZiBpbnQgX192OHNpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rv cl9zaXplX18gKDMyKSkpOyB0eXBlZGVmIA0KPiArc2hvcnQgX192MTZoaSBfX2F0dHJpYnV0ZV9f ICgoX192ZWN0b3Jfc2l6ZV9fICgzMikpKTsgdHlwZWRlZiBjaGFyIA0KPiArX192MzJxaSBfX2F0 dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgzMikpKTsgdHlwZWRlZiBsb25nIGxvbmcgDQo+ ICtfX20yNTZpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDMyKSwgX19tYXlfYWxp YXNfXykpOw0KPiArDQo+ICtfX20yNTZpDQo+ICtfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5v Y2xvbmUpKQ0KPiArZm9vMSAoKQ0KPiArew0KPiArICByZXR1cm4gX19leHRlbnNpb25fXyAoX19t MjU2aSkoX192NGRpKSB7IC0xLCAtMSwgMCwgMCB9OyB9DQo+ICsNCj4gK19fbTI1NmkNCj4gK19f YXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpDQo+ICtmb28yICgpDQo+ICt7DQo+ICsg IHJldHVybiBfX2V4dGVuc2lvbl9fIChfX20yNTZpKShfX3Y4c2kpIHsgLTEsIC0xLCAtMSwgLTEs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwg MCB9OyB9DQo+ICsNCj4gK19fbTI1NmkNCj4gK19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9j bG9uZSkpDQo+ICtmb28zICgpDQo+ICt7DQo+ICsgIHJldHVybiBfX2V4dGVuc2lvbl9fIChfX20y NTZpKShfX3YxNmhpKSB7IC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCB9OyB9DQo+ICsNCj4gK19f bTI1NmkNCj4gK19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpDQo+ICtmb280ICgp DQo+ICt7DQo+ICsgIHJldHVybiBfX2V4dGVuc2lvbl9fIChfX20yNTZpKShfX3YzMnFpKSB7IC0x LCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0xLCAtMSwgLTEsIC0xLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAwLCAwLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAgfTsgfQ0KPiAtLQ0KPiAyLjE4 LjINCj4NCg0KT3RoZXJzIExHVE0uDQoNCi0tDQpCUiwNCkhvbmd0YW8NCg== --_002_SJ0PR11MB5940313FF0A64AFBBED6F88CA6519SJ0PR11MB5940namp_ Content-Type: application/octet-stream; name="0001-i386-Optimize-code-generation-of-__mm256_zextsi128_s.patch" Content-Description: 0001-i386-Optimize-code-generation-of-__mm256_zextsi128_s.patch Content-Disposition: attachment; filename="0001-i386-Optimize-code-generation-of-__mm256_zextsi128_s.patch"; size=14899; creation-date="Fri, 23 Sep 2022 03:04:17 GMT"; modification-date="Fri, 23 Sep 2022 03:07:22 GMT" Content-Transfer-Encoding: base64 RnJvbSBkNjMwZGIyOWU3NjQxNzkzNGIxYzQxOGVhNjI1NjQ0ZTVjYTFiNmRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSHUsIExpbjEiIDxsaW4xLmh1QGludGVsLmNvbT4KRGF0ZTog VHVlLCAxMyBTZXAgMjAyMiAxNjoyODo1NCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIGkzODY6IE9w dGltaXplIGNvZGUgZ2VuZXJhdGlvbiBvZgogX19tbTI1Nl96ZXh0c2kxMjhfc2kyNTYoX19tbV9z ZXQxX2VwaTgoLTEpKQoKZ2NjL0NoYW5nZUxvZzoKCglQUiB0YXJnZXQvOTQ5NjIKCSogY29uZmln L2kzODYvY29uc3RyYWludHMubWQgKEJIKTogTmV3IGRlZmluZV9jb25zdHJhaW50LgoJKiBjb25m aWcvaTM4Ni9pMzg2LmNjIChzdGFuZGFyZF9zc2VfY29uc3RhbnRfcCk6IEFkZCByZXR1cm4gMy80 Cgl3aGVuIG9wZXJhbmQgbWF0Y2hlcyBuZXcgcHJlZGljYXRlLgoJKHN0YW5kYXJkX3NzZV9jb25z dGFudF9vcGNvZGUpOiBBZGQgbmV3IGFsdGVybmF0aXZlIGJyYW5jaAoJdG8gcmV0dXJuICJ2cGNt cGVxZCIuCgkqIGNvbmZpZy9pMzg2L3ByZWRpY2F0ZXMubWQ6CgkodmVjdG9yX2FsbF9vbmVzX3pl cm9fZXh0ZW5kX2hhbGZfb3BlcmFuZCk6IE5ldyBkZWZpbmVfcHJlZGljYXRlLgoJKHZlY3Rvcl9h bGxfb25lc196ZXJvX2V4dGVuZF9xdWFydGVyX29wZXJhbmQpOiBEaXR0by4KCSogY29uZmlnL2kz ODYvc3NlLm1kIChtb3Y8bW9kZT5faW50ZXJuYWwpOiBBZGQgbmV3IGNvbnN0cmFpbnQgQkguCgpn Y2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCglQUiB0YXJnZXQvOTQ5NjIKCSogZ2NjLnRhcmdldC9p Mzg2L2F2eDI1Ni11bmFsaWduZWQtbG9hZC0xLmM6IE1vZGlmeSB0ZXN0LgoJKiBnY2MudGFyZ2V0 L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0xLmM6IERpdHRvLgoJKiBnY2MudGFyZ2V0L2kz ODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0yLmM6IERpdHRvLgoJKiBnY2MudGFyZ2V0L2kzODYv YXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0zLmM6IERpdHRvLgoJKiBnY2MudGFyZ2V0L2kzODYvcHI5 NDk2Mi0xLmM6IE5ldyB0ZXN0LgoJKiBnY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi0yLmM6IERpdHRv LgoJKiBnY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi0zLmM6IERpdHRvLgoJKiBnY2MudGFyZ2V0L2kz ODYvcHI5NDk2Mi00LmM6IERpdHRvLgotLS0KIGdjYy9jb25maWcvaTM4Ni9jb25zdHJhaW50cy5t ZCAgICAgICAgICAgICAgICB8ICA4ICsrKwogZ2NjL2NvbmZpZy9pMzg2L2kzODYuY2MgICAgICAg ICAgICAgICAgICAgICAgIHwgMTQgKysrLQogZ2NjL2NvbmZpZy9pMzg2L3ByZWRpY2F0ZXMubWQg ICAgICAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysKIGdjYy9jb25maWcvaTM4Ni9zc2Uu bWQgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICstLQogLi4uL2djYy50YXJnZXQvaTM4Ni9h dngyNTYtdW5hbGlnbmVkLWxvYWQtMS5jIHwgIDQgKy0KIC4uLi9pMzg2L2F2eDI1Ni11bmFsaWdu ZWQtc3RvcmUtMS5jICAgICAgICAgICB8ICA0ICstCiAuLi4vaTM4Ni9hdngyNTYtdW5hbGlnbmVk LXN0b3JlLTIuYyAgICAgICAgICAgfCAgNCArLQogLi4uL2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1z dG9yZS0zLmMgICAgICAgICAgIHwgIDQgKy0KIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3ByOTQ5NjItMS5jICAgICB8IDExICsrKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3ByOTQ5NjItMi5jICAgICB8IDE3ICsrKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9wcjk0OTYyLTMuYyAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvaTM4Ni9wcjk0OTYyLTQuYyAgICAgfCA0OSArKysrKysrKysrKysrKwogMTIg ZmlsZXMgY2hhbmdlZCwgMjIzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMS5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NDk2Mi0y LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjk0 OTYyLTMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3ByOTQ5NjItNC5jCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2NvbnN0cmFpbnRzLm1k IGIvZ2NjL2NvbmZpZy9pMzg2L2NvbnN0cmFpbnRzLm1kCmluZGV4IDczNjE2ODc2MzJmLi45NWIy YjE0MmQ0MSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2NvbnN0cmFpbnRzLm1kCisrKyBi L2djYy9jb25maWcvaTM4Ni9jb25zdHJhaW50cy5tZApAQCAtMTY4LDYgKzE2OCw5IEBACiA7OyAg eiAgQ29uc3RhbnQgY2FsbCBhZGRyZXNzIG9wZXJhbmQuCiA7OyAgQyAgSW50ZWdlciBTU0UgY29u c3RhbnQgd2l0aCBhbGwgYml0cyBzZXQgb3BlcmFuZC4KIDs7ICBGICBGbG9hdGluZy1wb2ludCBT U0UgY29uc3RhbnQgd2l0aCBhbGwgYml0cyBzZXQgb3BlcmFuZC4KKzs7ICBIICBJbnRlZ2VyIFNT RSBjb25zdGFudCB0aGF0IGlzIDEyOC8yNTZiaXQgYWxsIG9uZXMKKzs7ICAgICBhbmQgemVyby1l eHRhbmQgdG8gMjU2LzUxMmJpdCwgb3IgMTI4Yml0IGFsbCBvbmVzCis7OyAgICAgYW5kIHplcm8t ZXh0ZW5kIHRvIDUxMmJpdC4KIDs7ICBNICB4ODYtNjQgbWVtb3J5IG9wZXJhbmQuCiAKIChkZWZp bmVfY29uc3RyYWludCAiQmYiCkBAIC0yMzMsNiArMjM2LDExIEBACiAgIChhbmQgKG1hdGNoX3Rl c3QgIlRBUkdFVF9TU0UiKQogICAgICAgIChtYXRjaF9vcGVyYW5kIDAgImZsb2F0X3ZlY3Rvcl9h bGxfb25lc19vcGVyYW5kIikpKQogCisoZGVmaW5lX2NvbnN0cmFpbnQgIkJIIgorICAiQGludGVy bmFsIGludGVnZXIgY29uc3RhbnQgd2l0aCBsYXN0IGhhbGYvcXVhcnRlciBiaXRzIHNldCBvcGVy YW5kLiIKKyAgKGlvciAobWF0Y2hfb3BlcmFuZCAwICJ2ZWN0b3JfYWxsX29uZXNfemVyb19leHRl bmRfaGFsZl9vcGVyYW5kIikKKyAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJ2ZWN0b3JfYWxsX29u ZXNfemVyb19leHRlbmRfcXVhcnRlcl9vcGVyYW5kIikpKQorCiA7OyBOQjogU2ltaWxhciB0byAn bScsIGJ1dCBkb24ndCB1c2UgZGVmaW5lX21lbW9yeV9jb25zdHJhaW50IG9uIHg4Ni02NAogOzsg dG8gcHJldmVudCBMUkEgZnJvbSBjb252ZXJ0aW5nIHRoZSBvcGVyYW5kIHRvIHRoZSBmb3JtICco bWVtIChyZWcgWCkpJwogOzsgd2hlcmUgWCBpcyBhIGJhc2UgcmVnaXN0ZXIuCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jYyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LmNjCmluZGV4 IGRhZGY0NTNkNmMwLi45ODBiYjA5YTRlMCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kz ODYuY2MKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuY2MKQEAgLTUxODYsNyArNTE4Niw4IEBA IHN0YW5kYXJkXzgwMzg3X2NvbnN0YW50X3J0eCAoaW50IGlkeCkKIAkJCQkgICAgICAgWEZtb2Rl KTsKIH0KIAotLyogUmV0dXJuIDEgaWYgWCBpcyBhbGwgYml0cyAwIGFuZCAyIGlmIFggaXMgYWxs IGJpdHMgMQorLyogUmV0dXJuIDEgaWYgWCBpcyBhbGwgYml0cyAwLCAyIGlmIFggaXMgYWxsIGJp dHMgMQorICAgYW5kIDMgaWYgWCBpcyBhbGwgYml0cyAxIHdpdGggemVybyBleHRlbmQKICAgIGlu IHN1cHBvcnRlZCBTU0UvQVZYIHZlY3RvciBtb2RlLiAgKi8KIAogaW50CkBAIC01MjM0LDYgKzUy MzUsMTAgQEAgc3RhbmRhcmRfc3NlX2NvbnN0YW50X3AgKHJ0eCB4LCBtYWNoaW5lX21vZGUgcHJl ZF9tb2RlKQogCX0KICAgICB9CiAKKyAgaWYgKHZlY3Rvcl9hbGxfb25lc196ZXJvX2V4dGVuZF9o YWxmX29wZXJhbmQgKHgsIG1vZGUpCisgICAgICB8fCB2ZWN0b3JfYWxsX29uZXNfemVyb19leHRl bmRfcXVhcnRlcl9vcGVyYW5kICh4LCBtb2RlKSkKKyAgICByZXR1cm4gMzsKKwogICByZXR1cm4g MDsKIH0KIApAQCAtNTM0MSw2ICs1MzQ2LDEzIEBAIHN0YW5kYXJkX3NzZV9jb25zdGFudF9vcGNv ZGUgKHJ0eF9pbnNuICppbnNuLCBydHggKm9wZXJhbmRzKQogCSAgZ2NjX3VucmVhY2hhYmxlICgp OwogCX0KICAgIH0KKyAgZWxzZSBpZiAodmVjdG9yX2FsbF9vbmVzX3plcm9fZXh0ZW5kX2hhbGZf b3BlcmFuZCAoeCwgbW9kZSkKKwkgICAmJiBHRVRfTU9ERV9TSVpFIChtb2RlKSA9PSA2NCkKKyAg ICByZXR1cm4gInZwY21wZXFkIFx0ICV0MCwgJXQwLCAldDAiOworICBlbHNlIGlmICgodmVjdG9y X2FsbF9vbmVzX3plcm9fZXh0ZW5kX2hhbGZfb3BlcmFuZCAoeCwgbW9kZSkKKwkgICAgJiYgR0VU X01PREVfU0laRSAobW9kZSkgPT0gMzIpCisJICAgfHwgdmVjdG9yX2FsbF9vbmVzX3plcm9fZXh0 ZW5kX3F1YXJ0ZXJfb3BlcmFuZCAoeCwgbW9kZSkpCisgICAgcmV0dXJuICJ2cGNtcGVxZCBcdCAl eDAsICV4MCwgJXgwIjsKIAogICBnY2NfdW5yZWFjaGFibGUgKCk7CiB9CmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL2kzODYvcHJlZGljYXRlcy5tZCBiL2djYy9jb25maWcvaTM4Ni9wcmVkaWNhdGVz Lm1kCmluZGV4IDRmMTZiYjc0OGI1Li42NTVlYWJmNzkzYiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9pMzg2L3ByZWRpY2F0ZXMubWQKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L3ByZWRpY2F0ZXMubWQK QEAgLTExNTksNiArMTE1OSw1NSBAQAogICAgICAgIChtYXRjaF90ZXN0ICJJTlRFR1JBTF9NT0RF X1AgKEdFVF9NT0RFIChvcCkpIikKICAgICAgICAobWF0Y2hfdGVzdCAib3AgPT0gQ09OU1RNMV9S VFggKEdFVF9NT0RFIChvcCkpIikpKQogCisvKiBSZXR1cm4gdHJ1ZSBpZiBvcGVyYW5kIGlzIGFu IDEyOC8yNTZiaXQgYWxsIG9uZXMgdmVjdG9yCisgICB0aGF0IHplcm8tZXh0ZW5kcyB0byAyNTYv NTEyYml0LiAgKi8KKyhkZWZpbmVfcHJlZGljYXRlICJ2ZWN0b3JfYWxsX29uZXNfemVyb19leHRl bmRfaGFsZl9vcGVyYW5kIgorICAobWF0Y2hfY29kZSAiY29uc3RfdmVjdG9yIikKK3sKKyAgbW9k ZSA9IEdFVF9NT0RFIChvcCk7CisgIGlmIChHRVRfTU9ERV9DTEFTUyAobW9kZSkgIT0gTU9ERV9W RUNUT1JfSU5UCisgICAgICB8fCAoR0VUX01PREVfU0laRSAobW9kZSkgIT0gMzIKKwkgICYmIEdF VF9NT0RFX1NJWkUgKG1vZGUpICE9IDY0KSkKKyAgICByZXR1cm4gZmFsc2U7CisKKyAgaW50IG5l bHRzID0gQ09OU1RfVkVDVE9SX05VTklUUyAob3ApOworICBmb3IgKGludCBpID0gMDsgaSAhPSBu ZWx0czsgaSsrKQorICAgIHsKKyAgICAgIHJ0eCBlbHQgPSBDT05TVF9WRUNUT1JfRUxUIChvcCwg aSk7CisgICAgICBpZiAoaSA8IG5lbHRzIC8gMgorCSAgJiYgZWx0ICE9IENPTlNUTTFfUlRYIChH RVRfTU9ERV9JTk5FUiAobW9kZSkpKQorCXJldHVybiBmYWxzZTsKKyAgICAgIGlmIChpID49IG5l bHRzIC8gMgorCSAgJiYgZWx0ICE9IENPTlNUMF9SVFggKEdFVF9NT0RFX0lOTkVSIChtb2RlKSkp CisJcmV0dXJuIGZhbHNlOworICAgIH0KKyAgcmV0dXJuIHRydWU7Cit9KQorCisvKiBSZXR1cm4g dHJ1ZSBpZiBvcGVyYW5kIGlzIGFuIDEyOGJpdCBhbGwgb25lcyB2ZWN0b3IKKyAgIHRoYXQgemVy byBleHRlbmRzIHRvIDUxMmJpdC4gICovCisoZGVmaW5lX3ByZWRpY2F0ZSAidmVjdG9yX2FsbF9v bmVzX3plcm9fZXh0ZW5kX3F1YXJ0ZXJfb3BlcmFuZCIKKyAgKG1hdGNoX2NvZGUgImNvbnN0X3Zl Y3RvciIpCit7CisgIG1vZGUgPSBHRVRfTU9ERSAob3ApOworICBpZiAoR0VUX01PREVfQ0xBU1Mg KG1vZGUpICE9IE1PREVfVkVDVE9SX0lOVAorICAgICAgfHwgR0VUX01PREVfU0laRSAobW9kZSkg IT0gNjQpCisgICAgcmV0dXJuIGZhbHNlOworCisgIGludCBuZWx0cyA9IENPTlNUX1ZFQ1RPUl9O VU5JVFMgKG9wKTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgIT0gbmVsdHM7IGkrKykKKyAgICB7Cisg ICAgICBydHggZWx0ID0gQ09OU1RfVkVDVE9SX0VMVCAob3AsIGkpOworICAgICAgaWYgKGkgPCBu ZWx0cyAvIDQKKwkgICYmIGVsdCAhPSBDT05TVE0xX1JUWCAoR0VUX01PREVfSU5ORVIgKG1vZGUp KSkKKwlyZXR1cm4gZmFsc2U7CisgICAgICBpZiAoaSA+PSBuZWx0cyAvIDQKKwkgICYmIGVsdCAh PSBDT05TVDBfUlRYIChHRVRfTU9ERV9JTk5FUiAobW9kZSkpKQorCXJldHVybiBmYWxzZTsKKyAg ICB9CisgIHJldHVybiB0cnVlOworfSkKKwogOyBSZXR1cm4gdHJ1ZSB3aGVuIE9QIGlzIG9wZXJh bmQgYWNjZXB0YWJsZSBmb3IgdmVjdG9yIG1lbW9yeSBvcGVyYW5kLgogOyBPbmx5IEFWWCBjYW4g aGF2ZSBtaXNhbGlnbmVkIG1lbW9yeSBvcGVyYW5kLgogKGRlZmluZV9wcmVkaWNhdGUgInZlY3Rv cl9tZW1vcnlfb3BlcmFuZCIKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9zc2UubWQgYi9n Y2MvY29uZmlnL2kzODYvc3NlLm1kCmluZGV4IGQ1MzVjMGFmMDQzLi5mODA0ZGJlOWI3YSAxMDA2 NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZAorKysgYi9nY2MvY29uZmlnL2kzODYvc3Nl Lm1kCkBAIC0xMzE4LDkgKzEzMTgsOSBAQAogCiAoZGVmaW5lX2luc24gIm1vdjxtb2RlPl9pbnRl cm5hbCIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vk1PVkUgMCAibm9uaW1tZWRpYXRlX29wZXJh bmQiCi0JICI9dix2ICx2ICxtIikKKwkgIj12LHYgLHYsdiAsbSIpCiAJKG1hdGNoX29wZXJhbmQ6 Vk1PVkUgMSAibm9uaW1tZWRpYXRlX29yX3NzZV9jb25zdF9vcGVyYW5kIgotCSAiIEMsPHNzZWNv bnN0bTE+LHZtLHYiKSldCisJICIgQyw8c3NlY29uc3RtMT4sQkgsdm0sdiIpKV0KICAgIlRBUkdF VF9TU0UKICAgICYmIChyZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5kc1swXSwgPE1PREU+bW9kZSkK ICAgICAgICB8fCByZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5kc1sxXSwgPE1PREU+bW9kZSkpCkBA IC0xMzM4LDcgKzEzMzgsNyBAQAogICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOwogICAgIH0KIH0K LSAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWxvZzEsc3NlbG9nMSxzc2Vtb3Ysc3NlbW92IikKKyAg WyhzZXRfYXR0ciAidHlwZSIgInNzZWxvZzEsc3NlbG9nMSxzc2Vsb2cxLHNzZW1vdixzc2Vtb3Yi KQogICAgKHNldF9hdHRyICJwcmVmaXgiICJtYXliZV92ZXgiKQogICAgKHNldCAoYXR0ciAibW9k ZSIpCiAJKGNvbmQgWyhtYXRjaF90ZXN0ICJUQVJHRVRfQVZYIikKQEAgLTEzNDksNyArMTM0OSw3 IEBACiAJICAgICAgIChhbmQgKG1hdGNoX3Rlc3QgIjxNT0RFPm1vZGUgPT0gVjJERm1vZGUiKQog CQkgICAgKG1hdGNoX3Rlc3QgIlRBUkdFVF9TU0VfUEFDS0VEX1NJTkdMRV9JTlNOX09QVElNQUwi KSkKIAkJIChjb25zdF9zdHJpbmcgIlY0U0YiKQotCSAgICAgICAoYW5kIChlcV9hdHRyICJhbHRl cm5hdGl2ZSIgIjMiKQorCSAgICAgICAoYW5kIChlcV9hdHRyICJhbHRlcm5hdGl2ZSIgIjQiKQog CQkgICAgKG1hdGNoX3Rlc3QgIlRBUkdFVF9TU0VfVFlQRUxFU1NfU1RPUkVTIikpCiAJCSAoY29u c3Rfc3RyaW5nICJWNFNGIikKIAkgICAgICAgKGFuZCAoZXFfYXR0ciAiYWx0ZXJuYXRpdmUiICIw IikKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11bmFs aWduZWQtbG9hZC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5h bGlnbmVkLWxvYWQtMS5jCmluZGV4IDY4Mzc4YTU1NmZiLi43MTE1YjBhOWRkZSAxMDA2NDQKLS0t IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1sb2FkLTEu YworKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVkLWxv YWQtMS5jCkBAIC0xNCw2ICsxNCw2IEBAIGF2eF90ZXN0ICh2b2lkKQogICAgIGNbaV0gPSBhW2ld ICogYltpKzNdOwogfQogCi0vKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92 dXBzXFteXG5ccl0qbW92djhzZl9pbnRlcm5hbC8yIiB9IH0gKi8KLS8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlciAibW92djRzZl9pbnRlcm5hbC8yIiB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci1ub3QgInZtb3Z1cHNcW15cblxyXSptb3Z2OHNmX2ludGVybmFsLzMi IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJtb3Z2NHNmX2ludGVybmFs LzMiIH0gfSAqLwogLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2aW5zZXJ0ZjEyOCIg fSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYt dW5hbGlnbmVkLXN0b3JlLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1 Ni11bmFsaWduZWQtc3RvcmUtMS5jCmluZGV4IGQ4MmFlY2ZmZGE5Li40YzcxMzk1OWRmMiAxMDA2 NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1z dG9yZS0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYXZ4MjU2LXVuYWxp Z25lZC1zdG9yZS0xLmMKQEAgLTE3LDYgKzE3LDYgQEAgYXZ4X3Rlc3QgKHZvaWQpCiAgICAgZFtp XSA9IGNbaV0gKiAyMC4wOwogfQogCi0vKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 ICJ2bW92dXBzLiptb3Z2OHNmX2ludGVybmFsLzMiIH0gfSAqLwotLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyICJ2bW92dXBzLiptb3Z2NHNmX2ludGVybmFsLzMiIH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAidm1vdnVwcy4qbW92djhzZl9pbnRlcm5hbC80 IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidm1vdnVwcy4qbW92djRz Zl9pbnRlcm5hbC80IiB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidmV4 dHJhY3RmMTI4IiB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0yLmMKaW5kZXggYmUxMjUyOWU4ZDUuLjQ5Nzhj MzdmNTI2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYt dW5hbGlnbmVkLXN0b3JlLTIuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9h dngyNTYtdW5hbGlnbmVkLXN0b3JlLTIuYwpAQCAtMjMsNiArMjMsNiBAQCBhdnhfdGVzdCAodm9p ZCkKICAgICB9CiB9CiAKLS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgInZtb3Zk cXUuKm1vdnYzMnFpX2ludGVybmFsLzMiIH0gfSAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyICJ2bW92ZHF1Liptb3Z2MTZxaV9pbnRlcm5hbC8zIiB9IH0gKi8KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgInZtb3ZkcXUuKm1vdnYzMnFpX2ludGVybmFsLzQiIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2bW92ZHF1Liptb3Z2MTZxaV9p bnRlcm5hbC80IiB9IH0gKi8KIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAidmV4dHJh Y3QuMTI4IiB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS0zLmMKaW5kZXggOTE4MDI4ZGY5ZWQuLmY5MDkwOTli Y2IxIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5h bGlnbmVkLXN0b3JlLTMuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngy NTYtdW5hbGlnbmVkLXN0b3JlLTMuYwpAQCAtMTcsNiArMTcsNiBAQCBhdnhfdGVzdCAodm9pZCkK ICAgICBkW2ldID0gY1tpXSAqIDIwLjA7CiB9CiAKLS8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3QgInZtb3Z1cGQuKm1vdnY0ZGZfaW50ZXJuYWwvMyIgfSB9ICovCi0vKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXIgInZtb3Z1cGQuKm1vdnYyZGZfaW50ZXJuYWwvMyIgfSB9ICov CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92dXBkLiptb3Z2NGRmX2lu dGVybmFsLzQiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ2bW92dXBk Liptb3Z2MmRmX2ludGVybmFsLzQiIH0gfSAqLwogLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyICJ2ZXh0cmFjdGYxMjgiIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvcHI5NDk2Mi0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9w cjk0OTYyLTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTNiMDEy NDk0MjEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9w cjk0OTYyLTEuYwpAQCAtMCwwICsxLDExIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1vcHRpb25zICItTzIgLW1hdngiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3QgInZtb3ZkcWEiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJ2cGNtcGVxZFxbIFxcdFxdKyV4bW1cWzAtOVxdIiAxIH0gfSAqLworCisjaW5jbHVk ZSA8aW1taW50cmluLmg+CisKK19fbTI1NmkgbWFzaygpCit7CisgIHJldHVybiBfbW0yNTZfemV4 dHNpMTI4X3NpMjU2KF9tbV9zZXQxX2VwaTgoLTEpKTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI5NDk2Mi0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjRlMTBlOTI3YmExCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI5NDk2Mi0yLmMKQEAgLTAsMCArMSwxNyBAQAorLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXZ4NTEyZiIgfSAqLworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAidm1vdmRxYSIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgInZwY21wZXFkXFsgXFx0XF0rJXhtbVxbMC05XF0iIDEgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZwY21wZXFkXFsgXFx0 XF0rJXltbVxbMC05XF0iIDEgfSB9ICovCisKKyNpbmNsdWRlIDxpbW1pbnRyaW4uaD4KKworX19t NTEyaSBtYXNrMSgpCit7CisgIHJldHVybiBfbW01MTJfemV4dHNpMTI4X3NpNTEyKF9tbV9zZXQx X2VwaTgoLTEpKTsKK30KKworX19tNTEyaSBtYXNrMigpCit7CisgIHJldHVybiBfbW01MTJfemV4 dHNpMjU2X3NpNTEyKF9tbTI1Nl9zZXQxX2VwaTgoLTEpKTsKK30KZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvcHI5NDk2Mi0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjhkMGI5OTc0NDM1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2kzODYvcHI5NDk2Mi0zLmMKQEAgLTAsMCArMSw2NCBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXZ4NTEyZiIgfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAidm1vdmRxYSIgfSB9ICovCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZwY21wZXFkXFsgXFx0XF0rJXltbVxbMC05XF0iIDQg fSB9ICovCisKK3R5cGVkZWYgbG9uZyBsb25nIF9fdjhkaSBfX2F0dHJpYnV0ZV9fICgoX192ZWN0 b3Jfc2l6ZV9fICg2NCkpKTsKK3R5cGVkZWYgaW50IF9fdjE2c2kgX19hdHRyaWJ1dGVfXyAoKF9f dmVjdG9yX3NpemVfXyAoNjQpKSk7Cit0eXBlZGVmIHNob3J0IF9fdjMyaGkgX19hdHRyaWJ1dGVf XyAoKF9fdmVjdG9yX3NpemVfXyAoNjQpKSk7Cit0eXBlZGVmIGNoYXIgX192NjRxaSBfX2F0dHJp YnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg2NCkpKTsKK3R5cGVkZWYgbG9uZyBsb25nIF9fbTUx MmkgX19hdHRyaWJ1dGVfXyAoKF9fdmVjdG9yX3NpemVfXyAoNjQpLCBfX21heV9hbGlhc19fKSk7 CisKK19fbTUxMmkKK19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpCitmb28xICgp Cit7CisgIHJldHVybiBfX2V4dGVuc2lvbl9fIChfX201MTJpKShfX3Y4ZGkpIHsgLTEsIC0xLCAt MSwgLTEsCisJCQkJCSAgIDAsIDAsIDAsIDAgfTsKK30KKworX19tNTEyaQorX19hdHRyaWJ1dGVf XyAoKG5vaW5saW5lLCBub2Nsb25lKSkKK2ZvbzIgKCkKK3sKKyAgcmV0dXJuIF9fZXh0ZW5zaW9u X18gKF9fbTUxMmkpKF9fdjE2c2kpIHsgLTEsIC0xLCAtMSwgLTEsCisJCQkJCSAgICAtMSwgLTEs IC0xLCAtMSwKKwkJCQkJICAgIDAsIDAsIDAsIDAsCisJCQkJCSAgICAwLCAwLCAwLCAwIH07Cit9 CisKK19fbTUxMmkKK19fYXR0cmlidXRlX18gKChub2lubGluZSwgbm9jbG9uZSkpCitmb28zICgp Cit7CisgIHJldHVybiBfX2V4dGVuc2lvbl9fIChfX201MTJpKShfX3YzMmhpKSB7IC0xLCAtMSwg LTEsIC0xLAorCQkJCQkgICAgLTEsIC0xLCAtMSwgLTEsCisJCQkJCSAgICAtMSwgLTEsIC0xLCAt MSwKKwkJCQkJICAgIC0xLCAtMSwgLTEsIC0xLAorCQkJCQkgICAgMCwgMCwgMCwgMCwKKwkJCQkJ ICAgIDAsIDAsIDAsIDAsCisJCQkJCSAgICAwLCAwLCAwLCAwLAorCQkJCQkgICAgMCwgMCwgMCwg MCB9OworfQorCitfX201MTJpCitfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKQor Zm9vNCAoKQoreworICByZXR1cm4gX19leHRlbnNpb25fXyAoX19tNTEyaSkoX192NjRxaSkgeyAt MSwgLTEsIC0xLCAtMSwKKwkJCQkJICAgIC0xLCAtMSwgLTEsIC0xLAorCQkJCQkgICAgLTEsIC0x LCAtMSwgLTEsCisJCQkJCSAgICAtMSwgLTEsIC0xLCAtMSwKKwkJCQkJICAgIC0xLCAtMSwgLTEs IC0xLAorCQkJCQkgICAgLTEsIC0xLCAtMSwgLTEsCisJCQkJCSAgICAtMSwgLTEsIC0xLCAtMSwK KwkJCQkJICAgIC0xLCAtMSwgLTEsIC0xLAorCQkJCQkgICAgMCwgMCwgMCwgMCwKKwkJCQkJICAg IDAsIDAsIDAsIDAsCisJCQkJCSAgICAwLCAwLCAwLCAwLAorCQkJCQkgICAgMCwgMCwgMCwgMCwK KwkJCQkJICAgIDAsIDAsIDAsIDAsCisJCQkJCSAgICAwLCAwLCAwLCAwLAorCQkJCQkgICAgMCwg MCwgMCwgMCwKKwkJCQkJICAgIDAsIDAsIDAsIDAgfTsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTQ5NjItNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI5NDk2Mi00LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjU1MDJjMzk5MTBiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHI5NDk2Mi00LmMKQEAgLTAsMCArMSw0OSBAQAorLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXZ4IiB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90ICJ2bW92ZHFhIiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyAidnBjbXBlcWRcWyBcXHRcXSsleG1tXFswLTlcXSIgNCB9IH0gKi8K KwordHlwZWRlZiBsb25nIGxvbmcgX192NGRpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXpl X18gKDMyKSkpOwordHlwZWRlZiBpbnQgX192OHNpIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9z aXplX18gKDMyKSkpOwordHlwZWRlZiBzaG9ydCBfX3YxNmhpIF9fYXR0cmlidXRlX18gKChfX3Zl Y3Rvcl9zaXplX18gKDMyKSkpOwordHlwZWRlZiBjaGFyIF9fdjMycWkgX19hdHRyaWJ1dGVfXyAo KF9fdmVjdG9yX3NpemVfXyAoMzIpKSk7Cit0eXBlZGVmIGxvbmcgbG9uZyBfX20yNTZpIF9fYXR0 cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDMyKSwgX19tYXlfYWxpYXNfXykpOworCitfX20y NTZpCitfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKQorZm9vMSAoKQoreworICBy ZXR1cm4gX19leHRlbnNpb25fXyAoX19tMjU2aSkoX192NGRpKSB7IC0xLCAtMSwgMCwgMCB9Owor fQorCitfX20yNTZpCitfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKQorZm9vMiAo KQoreworICByZXR1cm4gX19leHRlbnNpb25fXyAoX19tMjU2aSkoX192OHNpKSB7IC0xLCAtMSwg LTEsIC0xLAorCQkJCQkgICAgMCwgMCwgMCwgMCB9OworfQorCitfX20yNTZpCitfX2F0dHJpYnV0 ZV9fICgobm9pbmxpbmUsIG5vY2xvbmUpKQorZm9vMyAoKQoreworICByZXR1cm4gX19leHRlbnNp b25fXyAoX19tMjU2aSkoX192MTZoaSkgeyAtMSwgLTEsIC0xLCAtMSwKKwkJCQkJICAgIC0xLCAt MSwgLTEsIC0xLAorCQkJCQkgICAgMCwgMCwgMCwgMCwKKwkJCQkJICAgIDAsIDAsIDAsIDAgfTsK K30KKworX19tMjU2aQorX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBub2Nsb25lKSkKK2ZvbzQg KCkKK3sKKyAgcmV0dXJuIF9fZXh0ZW5zaW9uX18gKF9fbTI1NmkpKF9fdjMycWkpIHsgLTEsIC0x LCAtMSwgLTEsCisJCQkJCSAgICAtMSwgLTEsIC0xLCAtMSwKKwkJCQkJICAgIC0xLCAtMSwgLTEs IC0xLAorCQkJCQkgICAgLTEsIC0xLCAtMSwgLTEsCisJCQkJCSAgICAwLCAwLCAwLCAwLAorCQkJ CQkgICAgMCwgMCwgMCwgMCwKKwkJCQkJICAgIDAsIDAsIDAsIDAsCisJCQkJCSAgICAwLCAwLCAw LCAwIH07Cit9Ci0tIAoyLjE4LjIKCg== --_002_SJ0PR11MB5940313FF0A64AFBBED6F88CA6519SJ0PR11MB5940namp_--