From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7396F1C3BE2; Tue, 18 Mar 2025 07:56:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742284596; cv=none; b=fvgr2h/v3+Q6alDL3tZO0pTjn3cH5cHHa6kwfc/az1M9VaA3Umz7/OPJr25w5n6yJOl8/StFJyjlnIQlNdJHx6B9gI8p9xG1cPKduQVl0UW6gM9QevWNkSFMU9bTEdZEy+Je03JtziOXhGMw0M4e5f+X1h9kHcEz+0qb4Np2z8s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742284596; c=relaxed/simple; bh=HZ5+hnFMBpwL2QyLfAGqalrEdx5WtHS6kKuBe72//Jw=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=m2LlUC3nMzWRrSWdIgc4ygPh8bRWHaRmFqFpbdP/qnw/M8DXS4Hf8iiCKhQehhNgvr1SUMAAXxKmA4bFFL1S7hBDgLD0WE09pebC0YC1LL5JrOw8VoPv+fIAeCbQVlC7R0BxfwOvYIBSe3O7u5Q1ymUpEpp0Bxr1OZ9QqgPexEM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=UF1yvJxP; arc=none smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="UF1yvJxP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742284594; x=1773820594; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=HZ5+hnFMBpwL2QyLfAGqalrEdx5WtHS6kKuBe72//Jw=; b=UF1yvJxP57Ri5MzGIdEhjMgQJJEEcAgmtRReva7ucbYJa4sF7zhR8al2 Ld7Ly8QDZmE49lKeBBOXA1Bys0l3Lr7c88NinUy7FixOGksabISSegsWC sMvsF9d1Wwjqt73FMuMudG3iScdfy1/BE8SDvctsdyUFH6BivdCl5IuAs alOO2NTcX+MZ5EWiET1S6L2VFpHKYpj6gHJqwCKcTYgPSyXBMC15hGmtp AqGaisECiFz+SGoWi1n6iylR3AXMny/4FfXsnlowE1SRMoOmcmWMBEEmg YaWtRIa6T2UCajfX4i/VpELl8BwGV8YMuY5TCTsxNPPRrmNehzAK/Zfps A==; X-CSE-ConnectionGUID: qGm07RRvQKKU98+etkh4sg== X-CSE-MsgGUID: rdGK6tmlQoeTAK7g+xEyMA== X-IronPort-AV: E=McAfee;i="6700,10204,11376"; a="30992695" X-IronPort-AV: E=Sophos;i="6.14,256,1736841600"; d="scan'208";a="30992695" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2025 00:56:34 -0700 X-CSE-ConnectionGUID: 18HruwBBQAaQoQ4F/LyUSA== X-CSE-MsgGUID: 8pX/jfdkQ4uEHMG1p3JDAA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,256,1736841600"; d="scan'208";a="122199799" Received: from jkrzyszt-mobl2.ger.corp.intel.com (HELO [10.245.246.143]) ([10.245.246.143]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2025 00:56:32 -0700 Message-ID: Subject: Re: [RFC PATCH] block: Make request_queue lockdep splats show up earlier From: Thomas =?ISO-8859-1?Q?Hellstr=F6m?= To: Ming Lei Cc: Jens Axboe , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Date: Tue, 18 Mar 2025 08:56:18 +0100 In-Reply-To: References: <20250317171156.2954-1-thomas.hellstrom@linux.intel.com> Organization: Intel Sweden AB, Registration Number: 556189-6027 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.54.3 (3.54.3-1.fc41) Precedence: bulk X-Mailing-List: linux-block@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gVHVlLCAyMDI1LTAzLTE4IGF0IDA5OjE4ICswODAwLCBNaW5nIExlaSB3cm90ZToKPiBPbiBN b24sIE1hciAxNywgMjAyNSBhdCAwNjoxMTo1NVBNICswMTAwLCBUaG9tYXMgSGVsbHN0csO2bSB3 cm90ZToKPiA+IEluIHJlY2VudCBrZXJuZWxzLCB0aGVyZSBhcmUgbG9ja2RlcCBzcGxhdHMgYXJv dW5kIHRoZQo+ID4gc3RydWN0IHJlcXVlc3RfcXVldWU6OmlvX2xvY2tkZXBfbWFwLCBzaW1pbGFy IHRvIFsxXSwgYnV0IHRoZXkKPiA+IHR5cGljYWxseSBkb24ndCBzaG93IHVwIHVudGlsIHJlY2xh aW0gd2l0aCB3cml0ZWJhY2sgaGFwcGVucy4KPiA+IAo+ID4gSGF2aW5nIG11bHRpcGxlIGtlcm5l bCB2ZXJzaW9ucyByZWxlYXNlZCB3aXRoIGEga25vd24gcmlzYyBvZgo+ID4ga2VybmVsCj4gPiBk ZWFkbG9jayBkdXJpbmcgcmVjbGFpbSB3cml0ZWJhY2sgc2hvdWxkIElNSE8gYmUgYWRkcmVzc2Vk IGFuZAo+ID4gYmFja3BvcnRlZCB0byAtc3RhYmxlIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHku Cj4gPiAKPiA+IEluIG9yZGVyIHRvIGhhdmUgdGhlc2UgbG9ja2RlcCBzcGxhdHMgc2hvdyB1cCBl YXJsaWVyLAo+ID4gcHJlZmVycmFibHkgZHVyaW5nIHN5c3RlbSBpbml0aWFsaXphdGlvbiwgcHJp bWUgdGhlCj4gPiBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZTo6aW9fbG9ja2RlcF9tYXAgYXMgR0ZQX0tF Uk5FTCByZWNsYWltLQo+ID4gdGFpbnRlZC4gVGhpcyB3aWxsIGluc3RlYWQgbGVhZCB0byBsb2Nr ZGVwIHNwbGF0cyBsb29raW5nIHNpbWlsYXIKPiA+IHRvIFsyXSwgYnV0IHdpdGhvdXQgdGhlIG5l ZWQgZm9yIHJlY2xhaW0gKyB3cml0ZWJhY2sKPiA+IGhhcHBlbmluZy4KPiA+IAo+ID4gWzFdOgo+ ID4gW8KgIDE4OS43NjIyNDRdCj4gPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KPiA+IFvCoCAxODkuNzYyNDMyXSBXQVJOSU5HOiBwb3NzaWJs ZSBjaXJjdWxhciBsb2NraW5nIGRlcGVuZGVuY3kKPiA+IGRldGVjdGVkCj4gPiBbwqAgMTg5Ljc2 MjQ0MV0gNi4xNC4wLXJjNi14ZSsgIzYgVGFpbnRlZDogR8KgwqDCoMKgIFUKPiA+IFvCoCAxODku NzYyNDUwXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiAtLQo+ID4gW8KgIDE4OS43NjI0NTldIGtzd2FwZDAvMTE5IGlzIHRyeWluZyB0byBh Y3F1aXJlIGxvY2s6Cj4gPiBbwqAgMTg5Ljc2MjQ2N10gZmZmZjg4ODExMGNlYjcxMCAoJnEtPnFf dXNhZ2VfY291bnRlcihpbykjMjYpeysrKyt9LQo+ID4gezA6MH0sIGF0OiBfX3N1Ym1pdF9iaW8r MHg3Ni8weDIzMAo+ID4gW8KgIDE4OS43NjI0ODVdCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBsb2NrOgo+ID4gW8KgIDE4OS43NjI0 OTRdIGZmZmZmZmZmODM0Yzk3YzAgKGZzX3JlY2xhaW0peysuKy59LXswOjB9LCBhdDoKPiA+IGJh bGFuY2VfcGdkYXQrMHhiZS8weGIwMAo+ID4gW8KgIDE4OS43NjI1MDddCj4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHdoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9uIHRoZSBuZXcg bG9jay4KPiA+IAo+ID4gW8KgIDE4OS43NjI1MTldCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHRoZSBleGlzdGluZyBkZXBlbmRlbmN5IGNoYWluIChpbiByZXZlcnNlIG9yZGVyKSBp czoKPiA+IFvCoCAxODkuNzYyNTI5XQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAt PiAjMiAoZnNfcmVjbGFpbSl7Ky4rLn0tezA6MH06Cj4gPiBbwqAgMTg5Ljc2MjU0MF3CoMKgwqDC oMKgwqDCoCBmc19yZWNsYWltX2FjcXVpcmUrMHhjNS8weDEwMAo+ID4gW8KgIDE4OS43NjI1NDhd wqDCoMKgwqDCoMKgwqAga21lbV9jYWNoZV9hbGxvY19scnVfbm9wcm9mKzB4NGEvMHg0ODAKPiA+ IFvCoCAxODkuNzYyNTU4XcKgwqDCoMKgwqDCoMKgIGFsbG9jX2lub2RlKzB4YWEvMHhlMAo+ID4g W8KgIDE4OS43NjI1NjZdwqDCoMKgwqDCoMKgwqAgaWdldF9sb2NrZWQrMHgxNTcvMHgzMzAKPiA+ IFvCoCAxODkuNzYyNTczXcKgwqDCoMKgwqDCoMKgIGtlcm5mc19nZXRfaW5vZGUrMHgxYi8weDEx MAo+ID4gW8KgIDE4OS43NjI1ODJdwqDCoMKgwqDCoMKgwqAga2VybmZzX2dldF90cmVlKzB4MWIw LzB4MmUwCj4gPiBbwqAgMTg5Ljc2MjU5MF3CoMKgwqDCoMKgwqDCoCBzeXNmc19nZXRfdHJlZSsw eDFmLzB4NjAKPiA+IFvCoCAxODkuNzYyNTk3XcKgwqDCoMKgwqDCoMKgIHZmc19nZXRfdHJlZSsw eDJhLzB4ZjAKPiA+IFvCoCAxODkuNzYyNjA1XcKgwqDCoMKgwqDCoMKgIHBhdGhfbW91bnQrMHg0 Y2QvMHhjMDAKPiA+IFvCoCAxODkuNzYyNjEzXcKgwqDCoMKgwqDCoMKgIF9feDY0X3N5c19tb3Vu dCsweDExOS8weDE1MAo+ID4gW8KgIDE4OS43NjI2MjFdwqDCoMKgwqDCoMKgwqAgeDY0X3N5c19j YWxsKzB4MTRmMi8weDIzMTAKPiA+IFvCoCAxODkuNzYyNjMwXcKgwqDCoMKgwqDCoMKgIGRvX3N5 c2NhbGxfNjQrMHg5MS8weDE4MAo+ID4gW8KgIDE4OS43NjI2MzddwqDCoMKgwqDCoMKgwqAgZW50 cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NzYvMHg3ZQo+ID4gW8KgIDE4OS43NjI2NDdd Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0+ICMxICgmcm9vdC0+a2VybmZzX3J3 c2VtKXsrKysrfS17MzozfToKPiA+IFvCoCAxODkuNzYyNjU5XcKgwqDCoMKgwqDCoMKgIGRvd25f d3JpdGUrMHgzZS8weGYwCj4gPiBbwqAgMTg5Ljc2MjY2N13CoMKgwqDCoMKgwqDCoCBrZXJuZnNf cmVtb3ZlKzB4MzIvMHg2MAo+ID4gW8KgIDE4OS43NjI2NzZdwqDCoMKgwqDCoMKgwqAgc3lzZnNf cmVtb3ZlX2RpcisweDRmLzB4NjAKPiA+IFvCoCAxODkuNzYyNjg1XcKgwqDCoMKgwqDCoMKgIF9f a29iamVjdF9kZWwrMHgzMy8weGEwCj4gPiBbwqAgMTg5Ljc2MjcwOV3CoMKgwqDCoMKgwqDCoCBr b2JqZWN0X2RlbCsweDEzLzB4MzAKPiA+IFvCoCAxODkuNzYyNzE2XcKgwqDCoMKgwqDCoMKgIGVs dl91bnJlZ2lzdGVyX3F1ZXVlKzB4NTIvMHg4MAo+ID4gW8KgIDE4OS43NjI3MjVdwqDCoMKgwqDC oMKgwqAgZWxldmF0b3Jfc3dpdGNoKzB4NjgvMHgzNjAKPiA+IFvCoCAxODkuNzYyNzMzXcKgwqDC oMKgwqDCoMKgIGVsdl9pb3NjaGVkX3N0b3JlKzB4MTRiLzB4MWIwCj4gPiBbwqAgMTg5Ljc2Mjc1 Nl3CoMKgwqDCoMKgwqDCoCBxdWV1ZV9hdHRyX3N0b3JlKzB4MTgxLzB4MWUwCj4gPiBbwqAgMTg5 Ljc2Mjc2NV3CoMKgwqDCoMKgwqDCoCBzeXNmc19rZl93cml0ZSsweDQ5LzB4ODAKPiA+IFvCoCAx ODkuNzYyNzczXcKgwqDCoMKgwqDCoMKgIGtlcm5mc19mb3Bfd3JpdGVfaXRlcisweDE3ZC8weDI1 MAo+ID4gW8KgIDE4OS43NjI3ODFdwqDCoMKgwqDCoMKgwqAgdmZzX3dyaXRlKzB4MjgxLzB4NTQw Cj4gPiBbwqAgMTg5Ljc2Mjc5MF3CoMKgwqDCoMKgwqDCoCBrc3lzX3dyaXRlKzB4NzIvMHhmMAo+ ID4gW8KgIDE4OS43NjI3OThdwqDCoMKgwqDCoMKgwqAgX194NjRfc3lzX3dyaXRlKzB4MTkvMHgz MAo+ID4gW8KgIDE4OS43NjI4MDddwqDCoMKgwqDCoMKgwqAgeDY0X3N5c19jYWxsKzB4MmEzLzB4 MjMxMAo+ID4gW8KgIDE4OS43NjI4MTVdwqDCoMKgwqDCoMKgwqAgZG9fc3lzY2FsbF82NCsweDkx LzB4MTgwCj4gPiBbwqAgMTg5Ljc2MjgyM13CoMKgwqDCoMKgwqDCoCBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdlCj4gPiBbwqAgMTg5Ljc2MjgzM10KPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgLT4gIzAgKCZxLT5xX3VzYWdlX2NvdW50ZXIoaW8pIzI2KXsr KysrfS17MDowfToKPiA+IFvCoCAxODkuNzYyODQ1XcKgwqDCoMKgwqDCoMKgIF9fbG9ja19hY3F1 aXJlKzB4MTUyNS8weDI3NjAKPiA+IFvCoCAxODkuNzYyODU0XcKgwqDCoMKgwqDCoMKgIGxvY2tf YWNxdWlyZSsweGNhLzB4MzEwCj4gPiBbwqAgMTg5Ljc2Mjg2MV3CoMKgwqDCoMKgwqDCoCBibGtf bXFfc3VibWl0X2JpbysweDhhMi8weGJhMAo+ID4gW8KgIDE4OS43NjI4NzBdwqDCoMKgwqDCoMKg wqAgX19zdWJtaXRfYmlvKzB4NzYvMHgyMzAKPiA+IFvCoCAxODkuNzYyODc4XcKgwqDCoMKgwqDC oMKgIHN1Ym1pdF9iaW9fbm9hY2N0X25vY2hlY2srMHgzMjMvMHg0MzAKPiA+IFvCoCAxODkuNzYy ODg4XcKgwqDCoMKgwqDCoMKgIHN1Ym1pdF9iaW9fbm9hY2N0KzB4MmNjLzB4NjIwCj4gPiBbwqAg MTg5Ljc2Mjg5Nl3CoMKgwqDCoMKgwqDCoCBzdWJtaXRfYmlvKzB4MzgvMHgxMTAKPiA+IFvCoCAx ODkuNzYyOTA0XcKgwqDCoMKgwqDCoMKgIF9fc3dhcF93cml0ZXBhZ2UrMHhmNS8weDM4MAo+ID4g W8KgIDE4OS43NjI5MTJdwqDCoMKgwqDCoMKgwqAgc3dhcF93cml0ZXBhZ2UrMHgzYzcvMHg2MDAK PiA+IFvCoCAxODkuNzYyOTIwXcKgwqDCoMKgwqDCoMKgIHNobWVtX3dyaXRlcGFnZSsweDNkYS8w eDRmMAo+ID4gW8KgIDE4OS43NjI5MjldwqDCoMKgwqDCoMKgwqAgcGFnZW91dCsweDEzZi8weDMx MAo+ID4gW8KgIDE4OS43NjI5MzddwqDCoMKgwqDCoMKgwqAgc2hyaW5rX2ZvbGlvX2xpc3QrMHg2 MWMvMHhmNjAKPiA+IFvCoCAxODkuNzYzMjYxXcKgwqDCoMKgwqDCoMKgIGV2aWN0X2ZvbGlvcysw eDM3OC8weGNkMAo+ID4gW8KgIDE4OS43NjM1ODRdwqDCoMKgwqDCoMKgwqAgdHJ5X3RvX3Nocmlu a19scnV2ZWMrMHgxYjAvMHgzNjAKPiA+IFvCoCAxODkuNzYzOTQ2XcKgwqDCoMKgwqDCoMKgIHNo cmlua19vbmUrMHgxMGUvMHgyMDAKPiA+IFvCoCAxODkuNzY0MjY2XcKgwqDCoMKgwqDCoMKgIHNo cmlua19ub2RlKzB4YzAyLzB4MTQ5MAo+ID4gW8KgIDE4OS43NjQ1ODZdwqDCoMKgwqDCoMKgwqAg YmFsYW5jZV9wZ2RhdCsweDU2My8weGIwMAo+ID4gW8KgIDE4OS43NjQ5MzRdwqDCoMKgwqDCoMKg wqAga3N3YXBkKzB4MWU4LzB4NDMwCj4gPiBbwqAgMTg5Ljc2NTI0OV3CoMKgwqDCoMKgwqDCoCBr dGhyZWFkKzB4MTBiLzB4MjYwCj4gPiBbwqAgMTg5Ljc2NTU1OV3CoMKgwqDCoMKgwqDCoCByZXRf ZnJvbV9mb3JrKzB4NDQvMHg3MAo+ID4gW8KgIDE4OS43NjU4ODldwqDCoMKgwqDCoMKgwqAgcmV0 X2Zyb21fZm9ya19hc20rMHgxYS8weDMwCj4gPiBbwqAgMTg5Ljc2NjE5OF0KPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcg dGhpczoKPiA+IAo+ID4gW8KgIDE4OS43NjcwODldIENoYWluIGV4aXN0cyBvZjoKPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZxLT5xX3VzYWdlX2NvdW50ZXIoaW8pIzI2IC0t PiAmcm9vdC0+a2VybmZzX3J3c2VtCj4gPiAtLT4gZnNfcmVjbGFpbQo+ID4gCj4gPiBbwqAgMTg5 Ljc2Nzk3MV3CoCBQb3NzaWJsZSB1bnNhZmUgbG9ja2luZyBzY2VuYXJpbzoKPiA+IAo+ID4gW8Kg IDE4OS43Njg1NTVdwqDCoMKgwqDCoMKgwqAgQ1BVMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIENQVTEKPiA+IFvCoCAxODkuNzY4ODQ5XcKgwqDCoMKgwqDCoMKgIC0tLS3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAtLS0tCj4gPiBbwqAgMTg5Ljc2 OTEzNl3CoMKgIGxvY2soZnNfcmVjbGFpbSk7Cj4gPiBbwqAgMTg5Ljc2OTQyMV3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2Nr KCZyb290LQo+ID4gPmtlcm5mc19yd3NlbSk7Cj4gPiBbwqAgMTg5Ljc2OTcxNF3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2Nr KGZzX3JlY2xhaW0pOwo+ID4gW8KgIDE4OS43NzAwMTZdwqDCoCBybG9jaygmcS0+cV91c2FnZV9j b3VudGVyKGlvKSMyNik7Cj4gPiBbwqAgMTg5Ljc3MDMwNV0KPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqKiogREVBRExPQ0sgKioqCj4gPiAKPiA+IFvCoCAxODkuNzcxMTY3XSAx IGxvY2sgaGVsZCBieSBrc3dhcGQwLzExOToKPiA+IFvCoCAxODkuNzcxNDUzXcKgICMwOiBmZmZm ZmZmZjgzNGM5N2MwIChmc19yZWNsYWltKXsrLisufS17MDowfSwgYXQ6Cj4gPiBiYWxhbmNlX3Bn ZGF0KzB4YmUvMHhiMDAKPiA+IFvCoCAxODkuNzcxNzcwXQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzdGFjayBiYWNrdHJhY2U6Cj4gPiBbwqAgMTg5Ljc3MjM1MV0gQ1BVOiA0IFVJ RDogMCBQSUQ6IDExOSBDb21tOiBrc3dhcGQwIFRhaW50ZWQ6IEfCoMKgwqDCoAo+ID4gVcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCA2LjE0LjAtcmM2LXhlKyAjNgo+ID4gW8KgIDE4OS43NzIzNTNd IFRhaW50ZWQ6IFtVXT1VU0VSCj4gPiBbwqAgMTg5Ljc3MjM1NF0gSGFyZHdhcmUgbmFtZTogQVNV UyBTeXN0ZW0gUHJvZHVjdCBOYW1lL1BSSU1FIEI1NjBNLQo+ID4gQSBBQywgQklPUyAyMDAxIDAy LzAxLzIwMjMKPiA+IFvCoCAxODkuNzcyMzU0XSBDYWxsIFRyYWNlOgo+ID4gW8KgIDE4OS43NzIz NTVdwqAgPFRBU0s+Cj4gPiBbwqAgMTg5Ljc3MjM1Nl3CoCBkdW1wX3N0YWNrX2x2bCsweDZlLzB4 YTAKPiA+IFvCoCAxODkuNzcyMzU5XcKgIGR1bXBfc3RhY2srMHgxMC8weDE4Cj4gPiBbwqAgMTg5 Ljc3MjM2MF3CoCBwcmludF9jaXJjdWxhcl9idWcuY29sZCsweDE3YS8weDFiNwo+ID4gW8KgIDE4 OS43NzIzNjNdwqAgY2hlY2tfbm9uY2lyY3VsYXIrMHgxM2EvMHgxNTAKPiA+IFvCoCAxODkuNzcy MzY1XcKgID8gX19wZnhfc3RhY2tfdHJhY2VfY29uc3VtZV9lbnRyeSsweDEwLzB4MTAKPiA+IFvC oCAxODkuNzcyMzY4XcKgIF9fbG9ja19hY3F1aXJlKzB4MTUyNS8weDI3NjAKPiA+IFvCoCAxODku NzcyMzY4XcKgID8gcmV0X2Zyb21fZm9ya19hc20rMHgxYS8weDMwCj4gPiBbwqAgMTg5Ljc3MjM3 MV3CoCBsb2NrX2FjcXVpcmUrMHhjYS8weDMxMAo+ID4gW8KgIDE4OS43NzIzNzJdwqAgPyBfX3N1 Ym1pdF9iaW8rMHg3Ni8weDIzMAo+ID4gW8KgIDE4OS43NzIzNzVdwqAgPyBsb2NrX3JlbGVhc2Ur MHhkNS8weDJjMAo+ID4gW8KgIDE4OS43NzIzNzZdwqAgYmxrX21xX3N1Ym1pdF9iaW8rMHg4YTIv MHhiYTAKPiA+IFvCoCAxODkuNzcyMzc4XcKgID8gX19zdWJtaXRfYmlvKzB4NzYvMHgyMzAKPiA+ IFvCoCAxODkuNzcyMzgwXcKgIF9fc3VibWl0X2JpbysweDc2LzB4MjMwCj4gPiBbwqAgMTg5Ljc3 MjM4Ml3CoCA/IHRyYWNlX2hhcmRpcnFzX29uKzB4MWUvMHhlMAo+ID4gW8KgIDE4OS43NzIzODRd wqAgc3VibWl0X2Jpb19ub2FjY3Rfbm9jaGVjaysweDMyMy8weDQzMAo+ID4gW8KgIDE4OS43NzIz ODZdwqAgPyBzdWJtaXRfYmlvX25vYWNjdF9ub2NoZWNrKzB4MzIzLzB4NDMwCj4gPiBbwqAgMTg5 Ljc3MjM4N13CoCA/IF9fbWlnaHRfc2xlZXArMHg1OC8weGEwCj4gPiBbwqAgMTg5Ljc3MjM5MF3C oCBzdWJtaXRfYmlvX25vYWNjdCsweDJjYy8weDYyMAo+ID4gW8KgIDE4OS43NzIzOTFdwqAgPyBj b3VudF9tZW1jZ19ldmVudHMrMHg2OC8weDkwCj4gPiBbwqAgMTg5Ljc3MjM5M13CoCBzdWJtaXRf YmlvKzB4MzgvMHgxMTAKPiA+IFvCoCAxODkuNzcyMzk1XcKgIF9fc3dhcF93cml0ZXBhZ2UrMHhm NS8weDM4MAo+ID4gW8KgIDE4OS43NzIzOTZdwqAgc3dhcF93cml0ZXBhZ2UrMHgzYzcvMHg2MDAK PiA+IFvCoCAxODkuNzcyMzk3XcKgIHNobWVtX3dyaXRlcGFnZSsweDNkYS8weDRmMAo+ID4gW8Kg IDE4OS43NzI0MDFdwqAgcGFnZW91dCsweDEzZi8weDMxMAo+ID4gW8KgIDE4OS43NzI0MDZdwqAg c2hyaW5rX2ZvbGlvX2xpc3QrMHg2MWMvMHhmNjAKPiA+IFvCoCAxODkuNzcyNDA5XcKgID8gaXNv bGF0ZV9mb2xpb3MrMHhlODAvMHgxNmIwCj4gPiBbwqAgMTg5Ljc3MjQxMF3CoCA/IG1hcmtfaGVs ZF9sb2NrcysweDQ2LzB4OTAKPiA+IFvCoCAxODkuNzcyNDEyXcKgIGV2aWN0X2ZvbGlvcysweDM3 OC8weGNkMAo+ID4gW8KgIDE4OS43NzI0MTRdwqAgPyBldmljdF9mb2xpb3MrMHgzNGEvMHhjZDAK PiA+IFvCoCAxODkuNzcyNDE1XcKgID8gbG9ja19pc19oZWxkX3R5cGUrMHhhMy8weDEzMAo+ID4g W8KgIDE4OS43NzI0MTddwqAgdHJ5X3RvX3Nocmlua19scnV2ZWMrMHgxYjAvMHgzNjAKPiA+IFvC oCAxODkuNzcyNDIwXcKgIHNocmlua19vbmUrMHgxMGUvMHgyMDAKPiA+IFvCoCAxODkuNzcyNDIx XcKgIHNocmlua19ub2RlKzB4YzAyLzB4MTQ5MAo+ID4gW8KgIDE4OS43NzI0MjNdwqAgPyBzaHJp bmtfbm9kZSsweGEwOC8weDE0OTAKPiA+IFvCoCAxODkuNzcyNDI0XcKgID8gc2hyaW5rX25vZGUr MHhiZDgvMHgxNDkwCj4gPiBbwqAgMTg5Ljc3MjQyNV3CoCA/IG1lbV9jZ3JvdXBfaXRlcisweDM2 Ni8weDQ4MAo+ID4gW8KgIDE4OS43NzI0MjddwqAgYmFsYW5jZV9wZ2RhdCsweDU2My8weGIwMAo+ ID4gW8KgIDE4OS43NzI0MjhdwqAgPyBiYWxhbmNlX3BnZGF0KzB4NTYzLzB4YjAwCj4gPiBbwqAg MTg5Ljc3MjQzMF3CoCA/IHRyYWNlX2hhcmRpcnFzX29uKzB4MWUvMHhlMAo+ID4gW8KgIDE4OS43 NzI0MzFdwqAgPyBmaW5pc2hfdGFza19zd2l0Y2guaXNyYS4wKzB4Y2IvMHgzMzAKPiA+IFvCoCAx ODkuNzcyNDMzXcKgID8gX19zd2l0Y2hfdG9fYXNtKzB4MzMvMHg3MAo+ID4gW8KgIDE4OS43NzI0 MzddwqAga3N3YXBkKzB4MWU4LzB4NDMwCj4gPiBbwqAgMTg5Ljc3MjQzOF3CoCA/IF9fcGZ4X2F1 dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDEwLzB4MTAKPiA+IFvCoCAxODkuNzcyNDQwXcKgID8g X19wZnhfa3N3YXBkKzB4MTAvMHgxMAo+ID4gW8KgIDE4OS43NzI0NDFdwqAga3RocmVhZCsweDEw Yi8weDI2MAo+ID4gW8KgIDE4OS43NzI0NDNdwqAgPyBfX3BmeF9rdGhyZWFkKzB4MTAvMHgxMAo+ ID4gW8KgIDE4OS43NzI0NDRdwqAgcmV0X2Zyb21fZm9yaysweDQ0LzB4NzAKPiA+IFvCoCAxODku NzcyNDQ2XcKgID8gX19wZnhfa3RocmVhZCsweDEwLzB4MTAKPiA+IFvCoCAxODkuNzcyNDQ3XcKg IHJldF9mcm9tX2ZvcmtfYXNtKzB4MWEvMHgzMAo+ID4gW8KgIDE4OS43NzI0NTBdwqAgPC9UQVNL Pgo+ID4gCj4gPiBbMl06Cj4gPiBbwqDCoMKgIDguNzYwMjUzXQo+ID4gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPiBbwqDCoMKgIDguNzYw MjU0XSBXQVJOSU5HOiBwb3NzaWJsZSBjaXJjdWxhciBsb2NraW5nIGRlcGVuZGVuY3kKPiA+IGRl dGVjdGVkCj4gPiBbwqDCoMKgIDguNzYwMjU1XSA2LjE0LjAtcmM2LXhlKyAjNyBUYWludGVkOiBH wqDCoMKgwqAgVQo+ID4gW8KgwqDCoCA4Ljc2MDI1Nl0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gLS0KPiA+IFvCoMKgwqAgOC43NjAyNTdd ICh1ZGV2LXdvcmtlcikvNjc0IGlzIHRyeWluZyB0byBhY3F1aXJlIGxvY2s6Cj4gPiBbwqDCoMKg IDguNzYwMjU5XSBmZmZmODg4MTAwZTM5MTQ4ICgmcm9vdC0+a2VybmZzX3J3c2VtKXsrKysrfS17 MzozfSwKPiA+IGF0OiBrZXJuZnNfcmVtb3ZlKzB4MzIvMHg2MAo+ID4gW8KgwqDCoCA4Ljc2MDI2 NV0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnV0IHRhc2sgaXMgYWxyZWFkeSBo b2xkaW5nIGxvY2s6Cj4gPiBbwqDCoMKgIDguNzYwMjY2XSBmZmZmODg4MTEwZGM3NjgwICgmcS0+ cV91c2FnZV9jb3VudGVyKGlvKSMyNyl7KysrK30tCj4gPiB7MDowfSwgYXQ6IGJsa19tcV9mcmVl emVfcXVldWVfbm9tZW1zYXZlKzB4MTIvMHgzMAo+ID4gW8KgwqDCoCA4Ljc2MDI3Ml0KPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgd2hpY2ggbG9jayBhbHJlYWR5IGRlcGVuZHMgb24g dGhlIG5ldyBsb2NrLgo+ID4gCj4gPiBbwqDCoMKgIDguNzYwMjcyXQo+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB0aGUgZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJz ZSBvcmRlcikgaXM6Cj4gPiBbwqDCoMKgIDguNzYwMjczXQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAtPiAjMiAoJnEtPnFfdXNhZ2VfY291bnRlcihpbykjMjcpeysrKyt9LXswOjB9 Ogo+ID4gW8KgwqDCoCA4Ljc2MDI3Nl3CoMKgwqDCoMKgwqDCoCBibGtfYWxsb2NfcXVldWUrMHgz MGEvMHgzNTAKPiA+IFvCoMKgwqAgOC43NjAyNzldwqDCoMKgwqDCoMKgwqAgYmxrX21xX2FsbG9j X3F1ZXVlKzB4NmIvMHhlMAo+ID4gW8KgwqDCoCA4Ljc2MDI4MV3CoMKgwqDCoMKgwqDCoCBzY3Np X2FsbG9jX3NkZXYrMHgyNzYvMHgzYzAKPiA+IFvCoMKgwqAgOC43NjAyODRdwqDCoMKgwqDCoMKg wqAgc2NzaV9wcm9iZV9hbmRfYWRkX2x1bisweDIyYS8weDQ0MAo+ID4gW8KgwqDCoCA4Ljc2MDI4 Nl3CoMKgwqDCoMKgwqDCoCBfX3Njc2lfc2Nhbl90YXJnZXQrMHgxMDkvMHgyMzAKPiA+IFvCoMKg wqAgOC43NjAyODhdwqDCoMKgwqDCoMKgwqAgc2NzaV9zY2FuX2NoYW5uZWwrMHg2NS8weGMwCj4g PiBbwqDCoMKgIDguNzYwMjkwXcKgwqDCoMKgwqDCoMKgIHNjc2lfc2Nhbl9ob3N0X3NlbGVjdGVk KzB4ZmYvMHgxNDAKPiA+IFvCoMKgwqAgOC43NjAyOTJdwqDCoMKgwqDCoMKgwqAgZG9fc2NzaV9z Y2FuX2hvc3QrMHhhNy8weGMwCj4gPiBbwqDCoMKgIDguNzYwMjkzXcKgwqDCoMKgwqDCoMKgIGRv X3NjYW5fYXN5bmMrMHgxYy8weDE2MAo+ID4gW8KgwqDCoCA4Ljc2MDI5NV3CoMKgwqDCoMKgwqDC oCBhc3luY19ydW5fZW50cnlfZm4rMHgzMi8weDE1MAo+ID4gW8KgwqDCoCA4Ljc2MDI5OV3CoMKg wqDCoMKgwqDCoCBwcm9jZXNzX29uZV93b3JrKzB4MjI0LzB4NWYwCj4gPiBbwqDCoMKgIDguNzYw MzAyXcKgwqDCoMKgwqDCoMKgIHdvcmtlcl90aHJlYWQrMHgxZDQvMHgzZTAKPiA+IFvCoMKgwqAg OC43NjAzMDRdwqDCoMKgwqDCoMKgwqAga3RocmVhZCsweDEwYi8weDI2MAo+ID4gW8KgwqDCoCA4 Ljc2MDMwNl3CoMKgwqDCoMKgwqDCoCByZXRfZnJvbV9mb3JrKzB4NDQvMHg3MAo+ID4gW8KgwqDC oCA4Ljc2MDMwOV3CoMKgwqDCoMKgwqDCoCByZXRfZnJvbV9mb3JrX2FzbSsweDFhLzB4MzAKPiA+ IFvCoMKgwqAgOC43NjAzMTJdCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0+ICMx IChmc19yZWNsYWltKXsrLisufS17MDowfToKPiA+IFvCoMKgwqAgOC43NjAzMTVdwqDCoMKgwqDC oMKgwqAgZnNfcmVjbGFpbV9hY3F1aXJlKzB4YzUvMHgxMDAKPiA+IFvCoMKgwqAgOC43NjAzMTdd wqDCoMKgwqDCoMKgwqAga21lbV9jYWNoZV9hbGxvY19scnVfbm9wcm9mKzB4NGEvMHg0ODAKPiA+ IFvCoMKgwqAgOC43NjAzMTldwqDCoMKgwqDCoMKgwqAgYWxsb2NfaW5vZGUrMHhhYS8weGUwCj4g PiBbwqDCoMKgIDguNzYwMzIyXcKgwqDCoMKgwqDCoMKgIGlnZXRfbG9ja2VkKzB4MTU3LzB4MzMw Cj4gPiBbwqDCoMKgIDguNzYwMzIzXcKgwqDCoMKgwqDCoMKgIGtlcm5mc19nZXRfaW5vZGUrMHgx Yi8weDExMAo+ID4gW8KgwqDCoCA4Ljc2MDMyNV3CoMKgwqDCoMKgwqDCoCBrZXJuZnNfZ2V0X3Ry ZWUrMHgxYjAvMHgyZTAKPiA+IFvCoMKgwqAgOC43NjAzMjddwqDCoMKgwqDCoMKgwqAgc3lzZnNf Z2V0X3RyZWUrMHgxZi8weDYwCj4gPiBbwqDCoMKgIDguNzYwMzI5XcKgwqDCoMKgwqDCoMKgIHZm c19nZXRfdHJlZSsweDJhLzB4ZjAKPiA+IFvCoMKgwqAgOC43NjAzMzJdwqDCoMKgwqDCoMKgwqAg cGF0aF9tb3VudCsweDRjZC8weGMwMAo+ID4gW8KgwqDCoCA4Ljc2MDMzNF3CoMKgwqDCoMKgwqDC oCBfX3g2NF9zeXNfbW91bnQrMHgxMTkvMHgxNTAKPiA+IFvCoMKgwqAgOC43NjAzMzZdwqDCoMKg wqDCoMKgwqAgeDY0X3N5c19jYWxsKzB4MTRmMi8weDIzMTAKPiA+IFvCoMKgwqAgOC43NjAzMzhd wqDCoMKgwqDCoMKgwqAgZG9fc3lzY2FsbF82NCsweDkxLzB4MTgwCj4gPiBbwqDCoMKgIDguNzYw MzQwXcKgwqDCoMKgwqDCoMKgIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDc2LzB4 N2UKPiA+IFvCoMKgwqAgOC43NjAzNDJdCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC0+ICMwICgmcm9vdC0+a2VybmZzX3J3c2VtKXsrKysrfS17MzozfToKPiA+IFvCoMKgwqAgOC43 NjAzNDVdwqDCoMKgwqDCoMKgwqAgX19sb2NrX2FjcXVpcmUrMHgxNTI1LzB4Mjc2MAo+ID4gW8Kg wqDCoCA4Ljc2MDM0N13CoMKgwqDCoMKgwqDCoCBsb2NrX2FjcXVpcmUrMHhjYS8weDMxMAo+ID4g W8KgwqDCoCA4Ljc2MDM0OF3CoMKgwqDCoMKgwqDCoCBkb3duX3dyaXRlKzB4M2UvMHhmMAo+ID4g W8KgwqDCoCA4Ljc2MDM1MF3CoMKgwqDCoMKgwqDCoCBrZXJuZnNfcmVtb3ZlKzB4MzIvMHg2MAo+ ID4gW8KgwqDCoCA4Ljc2MDM1MV3CoMKgwqDCoMKgwqDCoCBzeXNmc19yZW1vdmVfZGlyKzB4NGYv MHg2MAo+ID4gW8KgwqDCoCA4Ljc2MDM1M13CoMKgwqDCoMKgwqDCoCBfX2tvYmplY3RfZGVsKzB4 MzMvMHhhMAo+ID4gW8KgwqDCoCA4Ljc2MDM1NV3CoMKgwqDCoMKgwqDCoCBrb2JqZWN0X2RlbCsw eDEzLzB4MzAKPiA+IFvCoMKgwqAgOC43NjAzNTZdwqDCoMKgwqDCoMKgwqAgZWx2X3VucmVnaXN0 ZXJfcXVldWUrMHg1Mi8weDgwCj4gPiBbwqDCoMKgIDguNzYwMzU4XcKgwqDCoMKgwqDCoMKgIGVs ZXZhdG9yX3N3aXRjaCsweDY4LzB4MzYwCj4gPiBbwqDCoMKgIDguNzYwMzYwXcKgwqDCoMKgwqDC oMKgIGVsdl9pb3NjaGVkX3N0b3JlKzB4MTRiLzB4MWIwCj4gPiBbwqDCoMKgIDguNzYwMzYyXcKg wqDCoMKgwqDCoMKgIHF1ZXVlX2F0dHJfc3RvcmUrMHgxODEvMHgxZTAKPiA+IFvCoMKgwqAgOC43 NjAzNjRdwqDCoMKgwqDCoMKgwqAgc3lzZnNfa2Zfd3JpdGUrMHg0OS8weDgwCj4gPiBbwqDCoMKg IDguNzYwMzY2XcKgwqDCoMKgwqDCoMKgIGtlcm5mc19mb3Bfd3JpdGVfaXRlcisweDE3ZC8weDI1 MAo+ID4gW8KgwqDCoCA4Ljc2MDM2N13CoMKgwqDCoMKgwqDCoCB2ZnNfd3JpdGUrMHgyODEvMHg1 NDAKPiA+IFvCoMKgwqAgOC43NjAzNzBdwqDCoMKgwqDCoMKgwqAga3N5c193cml0ZSsweDcyLzB4 ZjAKPiA+IFvCoMKgwqAgOC43NjAzNzJdwqDCoMKgwqDCoMKgwqAgX194NjRfc3lzX3dyaXRlKzB4 MTkvMHgzMAo+ID4gW8KgwqDCoCA4Ljc2MDM3NF3CoMKgwqDCoMKgwqDCoCB4NjRfc3lzX2NhbGwr MHgyYTMvMHgyMzEwCj4gPiBbwqDCoMKgIDguNzYwMzc2XcKgwqDCoMKgwqDCoMKgIGRvX3N5c2Nh bGxfNjQrMHg5MS8weDE4MAo+ID4gW8KgwqDCoCA4Ljc2MDM3N13CoMKgwqDCoMKgwqDCoCBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdlCj4gPiBbwqDCoMKgIDguNzYwMzgw XQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvdGhlciBpbmZvIHRoYXQgbWlnaHQg aGVscCB1cyBkZWJ1ZyB0aGlzOgo+ID4gCj4gPiBbwqDCoMKgIDguNzYwMzgwXSBDaGFpbiBleGlz dHMgb2Y6Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcm9vdC0+a2VybmZz X3J3c2VtIC0tPiBmc19yZWNsYWltIC0tPiAmcS0KPiA+ID5xX3VzYWdlX2NvdW50ZXIoaW8pIzI3 Cj4gPiAKPiA+IFvCoMKgwqAgOC43NjAzODRdwqAgUG9zc2libGUgdW5zYWZlIGxvY2tpbmcgc2Nl bmFyaW86Cj4gPiAKPiA+IFvCoMKgwqAgOC43NjAzODRdwqDCoMKgwqDCoMKgwqAgQ1BVMMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENQVTEKPiA+IFvCoMKgwqAgOC43NjAz ODVdwqDCoMKgwqDCoMKgwqAgLS0tLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIC0tLS0KPiA+IFvCoMKgwqAgOC43NjAzODVdwqDCoCBsb2NrKCZxLT5xX3VzYWdlX2NvdW50 ZXIoaW8pIzI3KTsKPiA+IFvCoMKgwqAgOC43NjAzODddwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9jayhmc19yZWNsYWltKTsK PiA+IFvCoMKgwqAgOC43NjAzODhdwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9jaygmcS0KPiA+ID5xX3VzYWdlX2NvdW50ZXIo aW8pIzI3KTsKPiA+IFvCoMKgwqAgOC43NjAzOTBdwqDCoCBsb2NrKCZyb290LT5rZXJuZnNfcndz ZW0pOwo+ID4gW8KgwqDCoCA4Ljc2MDM5MV0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqKiogREVBRExPQ0sgKioqCj4gPiAKPiA+IFvCoMKgwqAgOC43NjAzOTFdIDYgbG9ja3Mg aGVsZCBieSAodWRldi13b3JrZXIpLzY3NDoKPiA+IFvCoMKgwqAgOC43NjAzOTJdwqAgIzA6IGZm ZmY4ODgxMjA5YWM0MjAgKHNiX3dyaXRlcnMjNCl7LisuK30tezA6MH0sCj4gPiBhdDoga3N5c193 cml0ZSsweDcyLzB4ZjAKPiA+IFvCoMKgwqAgOC43NjAzOThdwqAgIzE6IGZmZmY4ODgxMGM4MGY0 ODggKCZvZi0+bXV0ZXgjMil7Ky4rLn0tezM6M30sCj4gPiBhdDoga2VybmZzX2ZvcF93cml0ZV9p dGVyKzB4MTM2LzB4MjUwCj4gPiBbwqDCoMKgIDguNzYwNDAyXcKgICMyOiBmZmZmODg4MTI1ZDFk MzMwIChrbi0+YWN0aXZlIzEwMSl7LisuK30tezA6MH0sCj4gPiBhdDoga2VybmZzX2ZvcF93cml0 ZV9pdGVyKzB4MTNmLzB4MjUwCj4gPiBbwqDCoMKgIDguNzYwNDA2XcKgICMzOiBmZmZmODg4MTEw ZGM3YmIwICgmcS0+c3lzZnNfbG9jayl7Ky4rLn0tezM6M30sCj4gPiBhdDogcXVldWVfYXR0cl9z dG9yZSsweDE0OC8weDFlMAo+ID4gW8KgwqDCoCA4Ljc2MDQxMV3CoCAjNDogZmZmZjg4ODExMGRj NzY4MCAoJnEtCj4gPiA+cV91c2FnZV9jb3VudGVyKGlvKSMyNyl7KysrK30tezA6MH0sIGF0Ogo+ ID4gYmxrX21xX2ZyZWV6ZV9xdWV1ZV9ub21lbXNhdmUrMHgxMi8weDMwCj4gPiBbwqDCoMKgIDgu NzYwNDE2XcKgICM1OiBmZmZmODg4MTEwZGM3NmI4ICgmcS0KPiA+ID5xX3VzYWdlX2NvdW50ZXIo cXVldWUpIzI3KXsrKysrfS17MDowfSwgYXQ6Cj4gPiBibGtfbXFfZnJlZXplX3F1ZXVlX25vbWVt c2F2ZSsweDEyLzB4MzAKPiA+IFvCoMKgwqAgOC43NjA0MjFdCj4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHN0YWNrIGJhY2t0cmFjZToKPiA+IFvCoMKgwqAgOC43NjA0MjJdIENQVTog NyBVSUQ6IDAgUElEOiA2NzQgQ29tbTogKHVkZXYtd29ya2VyKSBUYWludGVkOgo+ID4gR8KgwqDC oMKgIFXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNi4xNC4wLXJjNi14ZSsgIzcKPiA+IFvCoMKg wqAgOC43NjA0MjRdIFRhaW50ZWQ6IFtVXT1VU0VSCj4gPiBbwqDCoMKgIDguNzYwNDI1XSBIYXJk d2FyZSBuYW1lOiBBU1VTIFN5c3RlbSBQcm9kdWN0IE5hbWUvUFJJTUUgQjU2ME0tCj4gPiBBIEFD LCBCSU9TIDIwMDEgMDIvMDEvMjAyMwo+ID4gW8KgwqDCoCA4Ljc2MDQyNl0gQ2FsbCBUcmFjZToK PiA+IFvCoMKgwqAgOC43NjA0MjddwqAgPFRBU0s+Cj4gPiBbwqDCoMKgIDguNzYwNDI4XcKgIGR1 bXBfc3RhY2tfbHZsKzB4NmUvMHhhMAo+ID4gW8KgwqDCoCA4Ljc2MDQzMV3CoCBkdW1wX3N0YWNr KzB4MTAvMHgxOAo+ID4gW8KgwqDCoCA4Ljc2MDQzM13CoCBwcmludF9jaXJjdWxhcl9idWcuY29s ZCsweDE3YS8weDFiNwo+ID4gW8KgwqDCoCA4Ljc2MDQzN13CoCBjaGVja19ub25jaXJjdWxhcisw eDEzYS8weDE1MAo+ID4gW8KgwqDCoCA4Ljc2MDQ0MV3CoCA/IHNhdmVfdHJhY2UrMHg1NC8weDM2 MAo+ID4gW8KgwqDCoCA4Ljc2MDQ0NV3CoCBfX2xvY2tfYWNxdWlyZSsweDE1MjUvMHgyNzYwCj4g PiBbwqDCoMKgIDguNzYwNDQ2XcKgID8gaXJxZW50cnlfZXhpdCsweDNhLzB4YjAKPiA+IFvCoMKg wqAgOC43NjA0NDhdwqAgPyBzeXN2ZWNfYXBpY190aW1lcl9pbnRlcnJ1cHQrMHg1Ny8weGMwCj4g PiBbwqDCoMKgIDguNzYwNDUyXcKgIGxvY2tfYWNxdWlyZSsweGNhLzB4MzEwCj4gPiBbwqDCoMKg IDguNzYwNDUzXcKgID8ga2VybmZzX3JlbW92ZSsweDMyLzB4NjAKPiA+IFvCoMKgwqAgOC43NjA0 NTddwqAgZG93bl93cml0ZSsweDNlLzB4ZjAKPiA+IFvCoMKgwqAgOC43NjA0NTldwqAgPyBrZXJu ZnNfcmVtb3ZlKzB4MzIvMHg2MAo+ID4gW8KgwqDCoCA4Ljc2MDQ2MF3CoCBrZXJuZnNfcmVtb3Zl KzB4MzIvMHg2MAo+ID4gW8KgwqDCoCA4Ljc2MDQ2Ml3CoCBzeXNmc19yZW1vdmVfZGlyKzB4NGYv MHg2MAo+ID4gW8KgwqDCoCA4Ljc2MDQ2NF3CoCBfX2tvYmplY3RfZGVsKzB4MzMvMHhhMAo+ID4g W8KgwqDCoCA4Ljc2MDQ2Nl3CoCBrb2JqZWN0X2RlbCsweDEzLzB4MzAKPiA+IFvCoMKgwqAgOC43 NjA0NjddwqAgZWx2X3VucmVnaXN0ZXJfcXVldWUrMHg1Mi8weDgwCj4gPiBbwqDCoMKgIDguNzYw NDcwXcKgIGVsZXZhdG9yX3N3aXRjaCsweDY4LzB4MzYwCj4gPiBbwqDCoMKgIDguNzYwNDcyXcKg IGVsdl9pb3NjaGVkX3N0b3JlKzB4MTRiLzB4MWIwCj4gPiBbwqDCoMKgIDguNzYwNDc1XcKgIHF1 ZXVlX2F0dHJfc3RvcmUrMHgxODEvMHgxZTAKPiA+IFvCoMKgwqAgOC43NjA0NzldwqAgPyBsb2Nr X2FjcXVpcmUrMHhjYS8weDMxMAo+ID4gW8KgwqDCoCA4Ljc2MDQ4MF3CoCA/IGtlcm5mc19mb3Bf d3JpdGVfaXRlcisweDEzZi8weDI1MAo+ID4gW8KgwqDCoCA4Ljc2MDQ4Ml3CoCA/IGxvY2tfaXNf aGVsZF90eXBlKzB4YTMvMHgxMzAKPiA+IFvCoMKgwqAgOC43NjA0ODVdwqAgc3lzZnNfa2Zfd3Jp dGUrMHg0OS8weDgwCj4gPiBbwqDCoMKgIDguNzYwNDg3XcKgIGtlcm5mc19mb3Bfd3JpdGVfaXRl cisweDE3ZC8weDI1MAo+ID4gW8KgwqDCoCA4Ljc2MDQ4OV3CoCB2ZnNfd3JpdGUrMHgyODEvMHg1 NDAKPiA+IFvCoMKgwqAgOC43NjA0OTRdwqAga3N5c193cml0ZSsweDcyLzB4ZjAKPiA+IFvCoMKg wqAgOC43NjA0OTddwqAgX194NjRfc3lzX3dyaXRlKzB4MTkvMHgzMAo+ID4gW8KgwqDCoCA4Ljc2 MDQ5OV3CoCB4NjRfc3lzX2NhbGwrMHgyYTMvMHgyMzEwCj4gPiBbwqDCoMKgIDguNzYwNTAyXcKg IGRvX3N5c2NhbGxfNjQrMHg5MS8weDE4MAo+ID4gW8KgwqDCoCA4Ljc2MDUwNF3CoCA/IHRyYWNl X2hhcmRpcnFzX29mZisweDVkLzB4ZTAKPiA+IFvCoMKgwqAgOC43NjA1MDZdwqAgPyBoYW5kbGVf c29mdGlycXMrMHg0NzkvMHg0ZDAKPiA+IFvCoMKgwqAgOC43NjA1MDhdwqAgPyBocnRpbWVyX2lu dGVycnVwdCsweDEzZi8weDI4MAo+ID4gW8KgwqDCoCA4Ljc2MDUxMV3CoCA/IGlycWVudHJ5X2V4 aXRfdG9fdXNlcl9tb2RlKzB4OGIvMHgyNjAKPiA+IFvCoMKgwqAgOC43NjA1MTNdwqAgPyBjbGVh cl9iaGJfbG9vcCsweDE1LzB4NzAKPiA+IFvCoMKgwqAgOC43NjA1MTVdwqAgPyBjbGVhcl9iaGJf bG9vcCsweDE1LzB4NzAKPiA+IFvCoMKgwqAgOC43NjA1MTZdwqAgPyBjbGVhcl9iaGJfbG9vcCsw eDE1LzB4NzAKPiA+IFvCoMKgwqAgOC43NjA1MThdwqAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9o d2ZyYW1lKzB4NzYvMHg3ZQo+ID4gW8KgwqDCoCA4Ljc2MDUyMF0gUklQOiAwMDMzOjB4N2FhM2Jm MmY1NTA0Cj4gPiBbwqDCoMKgIDguNzYwNTIyXSBDb2RlOiBjNyAwMCAxNiAwMCAwMCAwMCBiOCBm ZiBmZiBmZiBmZiBjMyA2NiAyZSAwZgo+ID4gMWYgODQgMDAgMDAgMDAgMDAgMDAgZjMgMGYgMWUg ZmEgODAgM2QgYzUgOGIgMTAgMDAgMDAgNzQgMTMgYjggMDEKPiA+IDAwIDAwIDAwIDBmIDA1IDw0 OD4gM2QgMDAgZjAgZmYgZmYgNzcgNTQgYzMgMGYgMWYgMDAgNTUgNDggODkgZTUgNDgKPiA+IDgz IGVjIDIwIDQ4IDg5Cj4gPiBbwqDCoMKgIDguNzYwNTIzXSBSU1A6IDAwMmI6MDAwMDdmZmMxZTM2 OTdkOCBFRkxBR1M6IDAwMDAwMjAyCj4gPiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAwMQo+ID4g W8KgwqDCoCA4Ljc2MDUyNl0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDAw MDAwMyBSQ1g6Cj4gPiAwMDAwN2FhM2JmMmY1NTA0Cj4gPiBbwqDCoMKgIDguNzYwNTI3XSBSRFg6 IDAwMDAwMDAwMDAwMDAwMDMgUlNJOiAwMDAwN2ZmYzFlMzY5YWUwIFJESToKPiA+IDAwMDAwMDAw MDAwMDAwMWMKPiA+IFvCoMKgwqAgOC43NjA1MjhdIFJCUDogMDAwMDdmZmMxZTM2OTgwMCBSMDg6 IDAwMDA3YWEzYmYzZjUxYzggUjA5Ogo+ID4gMDAwMDdmZmMxZTM2OThiMAo+ID4gW8KgwqDCoCA4 Ljc2MDUyOF0gUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDIwMiBSMTI6 Cj4gPiAwMDAwMDAwMDAwMDAwMDAzCj4gPiBbwqDCoMKgIDguNzYwNTI5XSBSMTM6IDAwMDA3ZmZj MWUzNjlhZTAgUjE0OiAwMDAwNjEzY2NmMjFmMmYwIFIxNToKPiA+IDAwMDA3YWEzYmYzZjRlODAK PiA+IFvCoMKgwqAgOC43NjA1MzNdwqAgPC9UQVNLPgo+ID4gCj4gPiBDYzogSmVucyBBeGJvZSA8 YXhib2VAa2VybmVsLmRrPgo+ID4gQ2M6IGxpbnV4LWJsb2NrQHZnZXIua2VybmVsLm9yZwo+ID4g Q2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKPiA+IENjOiBNaW5nIExlaSA8bWluZy5s ZWlAcmVkaGF0LmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9t YXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gwqBibG9jay9ibGstY29y ZS5jIHwgNiArKysrKysKPiA+IMKgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmMKPiA+ IGluZGV4IGQ2YzRmYTM5NDNiNS4uNGFhNDM5MzA5NDA2IDEwMDY0NAo+ID4gLS0tIGEvYmxvY2sv YmxrLWNvcmUuYwo+ID4gKysrIGIvYmxvY2svYmxrLWNvcmUuYwo+ID4gQEAgLTQ1NSw2ICs0NTUs MTIgQEAgc3RydWN0IHJlcXVlc3RfcXVldWUgKmJsa19hbGxvY19xdWV1ZShzdHJ1Y3QKPiA+IHF1 ZXVlX2xpbWl0cyAqbGltLCBpbnQgbm9kZV9pZCkKPiA+IMKgCWxvY2tkZXBfaW5pdF9tYXAoJnEt PnFfbG9ja2RlcF9tYXAsICImcS0KPiA+ID5xX3VzYWdlX2NvdW50ZXIocXVldWUpIiwKPiA+IMKg CQkJICZxLT5xX2xvY2tfY2xzX2tleSwgMCk7Cj4gPiDCoAo+ID4gKwkvKiBQcmltZSBpb19sb2Nr ZGVwX21hcCBhcyByZWNsYWltIHRhaW50ZWQgKi8KPiAKPiBNYXliZSBpdCBpcyBtb3JlIHJlYWRh YmxlIHRvIGNoYW5nZSB0bzoKPiAKPiDCoC8qIFRlYWNoIGxvY2tkZXAgYWJvdXQgbG9jayBvcmRl cmluZyB3cnQuIHF1ZXVlIGZyZWV6ZSBsb2NrICovCgpPSywgSSdsbCByZXNwaW4gYXMgYSBub24t UkZDIHBhdGNoIHdpdGggdGhhdCB1cGRhdGVkLgoKPiAKPiA+ICsJZnNfcmVjbGFpbV9hY3F1aXJl KEdGUF9LRVJORUwpOwo+ID4gKwlyd3NlbV9hY3F1aXJlX3JlYWQoJnEtPmlvX2xvY2tkZXBfbWFw LCAwLCAwLCBfUkVUX0lQXyk7Cj4gPiArCXJ3c2VtX3JlbGVhc2UoJnEtPmlvX2xvY2tkZXBfbWFw LCBfUkVUX0lQXyk7Cj4gPiArCWZzX3JlY2xhaW1fcmVsZWFzZShHRlBfS0VSTkVMKTsKPiAKPiBM b29rcyBmaW5lLCBlc3BlY2lhbGx5IHRoaXMgYXBwcm9hY2ggaGFzIGJlZW4gdXNlZCB3aWRlbHkg aW4gdHJlZToKPiAKPiBSZXZpZXdlZC1ieTogTWluZyBMZWkgPG1pbmcubGVpQHJlZGhhdC5jb20+ IAoKT25lIGNhdmVhdCB0aG91Z2guIElmIHRoaXMgaXMgbWVyZ2VkLCBwZW9wbGUgd2lsbCBwcm9i YWJseSBzdGFydCBzZWVpbmcKdGhlIGxvY2tkZXAgc3BsYXQgYXMgYSByZWdyZXNzaW9uIGFuZCBi aXNlY3RzIHdpbGwgcG9pbnQgdG8gdGhpcyBjb21taXQKZGVtYW5kaW5nIHRoZSBwb3RlbnRpYWwg ZGVhZGxvY2socykgdG8gYmUgZml4ZWQuCgpJcyB0aGVyZSBhIGxpbmUgb2Ygc2lnaHQgdG8gZml4 IHRoZSByZWFsIGRlYWRsb2NrPwoKVGhhbmtzLApUaG9tYXMKCgo+IAo+IAo+IFRoYW5rcywKPiBN aW5nCj4gCgo=