From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.6261.1651717471957729345 for ; Wed, 04 May 2022 19:24:32 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=KP80Wnv/; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: bob.c.feng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1651717471; x=1683253471; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=fMKaIixL9tLjacA7DjYd4p60ZAoP1Dl+MN2fLVeZNic=; b=KP80Wnv/4goazx1ESbIZf/hVshxlGAHLTktEvpBGF8vX0pRqW63vTy8Z v/nJM+QomOmrnejN4YWEEMFrGfoDW8nbX2DcXAIs7jHi4fUet7H4H3EA8 JV3wFOloFvAn8wcWbKehHZDdPByP5ah1fBlhHudF/sFvJB1yLXYhlVqTf 7UQxbwq5TQM0P88YS8jZxnAMNpCuoPqIEMJQVEgRw7+TnX9rK1zywh4cH wT+5xj+n7kXmL2G8+y0I9dx041CC5DvocDzL+cGg/yLQTg6MoxIYWrtR0 NoOcjU/lYMS5WLtDA8i5VYzNa8poc5YOIVVvMRP8ZUyrswVrGb6jpLrzg g==; X-IronPort-AV: E=McAfee;i="6400,9594,10337"; a="268115833" X-IronPort-AV: E=Sophos;i="5.91,199,1647327600"; d="scan'208";a="268115833" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2022 19:24:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,199,1647327600"; d="scan'208";a="517303174" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 04 May 2022 19:24:30 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 4 May 2022 19:24:29 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 4 May 2022 19:24:29 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) 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.2308.27; Wed, 4 May 2022 19:24:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kiIas37EMqhZyvSp0S7RXw37GzgRJiA+jPAFFPIVaKqOYYoA/uPVLENWWirfmdCHglBLLPSfm1wC8Qe6B2aliOq2uVTebUpv9xugZCK4CtA99utILzf7IxSPTr68hBZyaLIorr+MZrZzOgs1jTFW+0rYjENqA2JG45ZxXRrVQJIYcn+ApKloAmDacXwXX5hZDIC/kewL3RFHbIAByxe++qM0dpp8t73nKrNe2/OYuyHC8iW64U/3Fm5z25/niZHcrfAzzI90D3p6HJ6C47Y0qOFNvYoDQOG1DzUE55H0geVLmPIPiHwuDVrwLWB7ecxW+MFibcGIQ+M5IobRq5zsmg== 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=fMKaIixL9tLjacA7DjYd4p60ZAoP1Dl+MN2fLVeZNic=; b=L6LQpNpNFtrl0NjliRgZnX2TOYIZOGa64ceDpP/Jm48k1mTD/rAZb2NafAKXcIhpqNylI9HLmLQA+bsOlMUcJkI0cS6TpzUH8wBKSjFkhNS91Bc/2kso3byGznCUtYym6yu1001+bLSHZtnyLuYAbrpamEA1++9/lr5LsPD797LvSCLfnsvvQtqvZHpLC2C7CRPxVR+7sQOMpMrH91cyR4pKri02fP4fy9SkuuMA0KAQjbi+D1sT+MP2bh84U0a4qgZ/x46Q6YmJdWSyjg52FB/cQmoqMhnMM8GEB9JkP5RsxihluYSRFtHM+3sMTqM2VnA5qmuqclrlaM+Q8VcVYA== 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 PH7PR11MB5863.namprd11.prod.outlook.com (2603:10b6:510:135::11) by DM4PR11MB6018.namprd11.prod.outlook.com (2603:10b6:8:5e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.23; Thu, 5 May 2022 02:24:20 +0000 Received: from PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::bdfa:2a87:8b69:fb8c]) by PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::bdfa:2a87:8b69:fb8c%8]) with mapi id 15.20.5186.028; Thu, 5 May 2022 02:24:20 +0000 From: "Bob Feng" To: "Chen, Christine" , "devel@edk2.groups.io" CC: "Gao, Liming" Subject: Re: [PATCH 1/1] BaseTools: Add FMMT Python Tool Thread-Topic: [PATCH 1/1] BaseTools: Add FMMT Python Tool Thread-Index: AQHYWv52jEfEjXrJaEGvhlfSOPEqUK0PmFRQ Date: Thu, 5 May 2022 02:24:20 +0000 Message-ID: References: <20220428124937.409-1-yuwei.chen@intel.com> In-Reply-To: <20220428124937.409-1-yuwei.chen@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.401.20 dlp-product: dlpe-windows 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-office365-filtering-correlation-id: a312a4e1-d85e-43fa-ecf1-08da2e3e5cba x-ms-traffictypediagnostic: DM4PR11MB6018:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OPZH+Pf0EFxfTsY1gyeVXRvpgqD3PFrNhG8ymrQhTi/6K0k8jrdE5VahLJb1uP9n8IRKzmYC7quXK8G7bDnfeSiH1GpuGrRzYbkntk5xVeATAxBDVxZiCZh/ycYuv7ehzh4oLLvTslBlMqg1VlbLVc5YLTY/FdP9Xpnf7HOO3y+zydo36uCCeX1DP1NzfKcA+zmGdZ5trmjOyJIak++PEViv5IY2/KeVPiNemJ34Nl5+RJZEEaD68ABhtRWMsDP1lmyqDASn0bfNxKIVQag1EE0rwNCbB9YU0f6RlrgOKDx7+H2r6X13dWMcU04QTnp5JCA+jmzqm3CHjvyutR/KZ+8Z7vgb5NBnSF9OqQNFc+cNR7aUJkFylZeg40flfrqzVBLi0ZAclb3GJ3TlALuNVkUan75D+OGdUB9jtL7OdbZx1neVQAzK5Mn5AXxLWTgEh+GwFFpJLhO422E1xIFdIQLwROCTcuh8fdvmjMxeD6xEnpIE8hzrQuQGfKUlY7Y+EiaN9UbGNZUVGhSEhZzwSvKquVmTTuJuCjYT8iUgejriimeHO4+IWdrlA61gVGtUMvDVqn/6Cuw0Ydf7yxW/MAQsb2wCE+9c1Y2oRS949oyI6hRM05z1YF4nERW6eNpkcJejUM1WzQ6Wke2bHtXiuE35Gq9+LkY8e4zBbx+DLn8j5qyslguSewhUKE7caax+UbFJJ1vRHUrSmFbBJFtK2vT3ViPpJinxisWk1PP/YvRKbL059YHhW+MHFrfnS/MAXeWKd++KWiwXE2Ve0xbHzUVxm2yRnkderNAPx2mQEy0aWNkHvN7Qc0SG8lc4Lb542jjfTJ2gwYt/4Vfxu3ymxt57fZV2cnHhLJMUMwglIg5yNuzWc8HIHcy/C8Zu+m3ZA90eDBEimr9DLV2grRdl2or6mruPPl0OTmVTavWcI8b+HOCvEwWKyahWQ99uQHtY x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB5863.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(76116006)(66556008)(66946007)(66476007)(52536014)(86362001)(9686003)(33656002)(5660300002)(8936002)(66446008)(30864003)(64756008)(26005)(82960400001)(8676002)(71200400001)(38070700005)(122000001)(4326008)(38100700002)(316002)(966005)(110136005)(55016003)(19627235002)(7696005)(6506007)(53546011)(508600001)(2906002)(186003)(83380400001)(21314003)(559001)(579004)(357404004)(14943795004)(134885004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S05aWFRRd2R4Q052bEx1RkgxNWhXNFQ1OGtVRHhPN24xQkY5MDQwSituRDJL?= =?utf-8?B?RjlWbDdQMEZhL21yc0FHV0w2RzVPQlEyaWcyaVM2VmQ4Rjg2OS9Kd1czNFli?= =?utf-8?B?bEk0MVBHSW9WY1hZQmJ4YTBaWVFvbFZmZWI4eVZ1SHE5bGZWVnJubnhzNFJZ?= =?utf-8?B?VlVlNXhYMnpzVUZjM3AzRkkwUEY5enl5REllOGtaSjVEOCtBQ2doOHF5RUV3?= =?utf-8?B?NE9jVFlXREpaVE11bUxoUzBzMThBS0JFeEIvUmRDL2ZTYUJMOHRuRFhWWkh1?= =?utf-8?B?MUllVHRzei9saTlPT2dVQ1NIbHVXVERQaHZDUTNHd2RUd294dnJqV2NEWi9B?= =?utf-8?B?ZVVic1FWakd3MWJ4NVgxbHBTUENYZzUveC9mMVlrU3lvcnhIUXNORmZOQ0t5?= =?utf-8?B?Y0M4WEVueUlBaGp1MXVSTnBnYlBzeTJxTnJUVXQ2aUJtZFY0bURwVXNCcWlu?= =?utf-8?B?NjdQYkNZTVJxRWU0eE9yTEl0ZEJ6U3JCaFJJcUE0WXJybWRITk4zUmpsNHlu?= =?utf-8?B?LzYyZjB3RmFSUVhxdzhhdktpeDdLaHQ3dktXdm9OL3p2LytUOHJlUTBPS2Ex?= =?utf-8?B?QWViSHA2Szh2YlVLZC9Ja25BdHJ1YWc0Z3U0S0pDaW1LUGJTdmphTEVnRmNm?= =?utf-8?B?bVkvUHJBSzRBc2VwQ2t5WWtYY2NlUnE5eWJZRFZtQVh5aE5kWkd2d3oxc0kz?= =?utf-8?B?dllmS0NvYTBhYmtVd21rUnFzcUd6Y0NKa3NuSlpQN2VFMExtRXJiUktpM05v?= =?utf-8?B?UDhhY0ppSjdQS2RBUEJmNStvanhrdG1vKy9Iemt6T3p2SmdqaUUvRGE1MmtF?= =?utf-8?B?em5ZcUNmUkx3MzV3akZMQmc2TENPWmsySnNPY2ZndVlLZFFpSG9BS0JlOWJi?= =?utf-8?B?T3ZTeWh5Y3BGaU8wbHhlV3ZqQU4zeDNzc1dNTDcvZkNkb0dqd3FyTDM2YllV?= =?utf-8?B?aFlkUXF6cFVyOHZpWW0rMGV3SUw4a1ZNWXMrWEJyZlN6Tlpua2RYNEVIMEVC?= =?utf-8?B?Y3FNL0Q5eHZJaks3ZG1aaVc5WGRXaFRWbWFaTXVuUFlBSXRxQ2s4S0dKaVQy?= =?utf-8?B?OG44ejF0VlpxenRNMkVFREFrM0FYWlVyKy9MWUVEOUpDNzZXTDBJd05scGdw?= =?utf-8?B?Y2FoN2RjVEFrSUI5MW5XTkhLWk9rL2VXU2RtMEs2L2trNzBzR1IvNDZEZWUr?= =?utf-8?B?NFlJWmthMVNHbHA3d3psVTNITXFSZ2tGK2hlZXNhMngzMTNjWHVlcndBSG5j?= =?utf-8?B?bUkra0kxRGVxVGlnakVwZXVKTE9FSGhyT253QUJLWi9ONnRRWXQ4NnZ2OFlh?= =?utf-8?B?bjhWQmI5bXZrRGJyWmc3Ny9LK2paTVFFWFR5clpER3hKM0tScFlDbjAvQ0Z0?= =?utf-8?B?N0J3Q2h5R1E0MGJyWUxjdUVBKzAzZ1RPR3ZpMEZUdGpRZndOVm5CRWFOZFky?= =?utf-8?B?Tnk2a1Z3TTZJekdtVE9GUXFVVXNLa28ybS9SVEEraXI3UFZmSVpYMWVRWGF6?= =?utf-8?B?eDFQZE1KZytPRlM0d0xIUThaWlp0eXNwNURXZ285ZC8wNHZQaTl2eE1HY2NS?= =?utf-8?B?U3UrZC9mc0xvcHVOSmtFYTkwUmpkT0lmZlBWaXVvVU4zNkR5MmdFUXpQTTNI?= =?utf-8?B?RjdtQWh3QUdKR3ErSXpjL1lVQ3BWN3hTa2hha3paa3BiUXAvUmtjWHdKYVF1?= =?utf-8?B?T250d2w2M2ZLM0NmbkQzdU1WenZCY1FsSlZWYm5ZdVBkSVR1dnNUWXJNWTNT?= =?utf-8?B?c3VsRXhySGdHQmgrM05wZ1JtVjRjZ1VreXFlbjFkN0FjZmJUTks3T2dIYjg5?= =?utf-8?B?YzYvNFFLaG83YmthNWF2d3pZd2JNZDZkNzZxYVo3OEFldDlqa2lYMWRYeVkw?= =?utf-8?B?ZGdGYXNqalVDWnd1UHIvTytkY2hTUlFsUDRQRmw0czl5SkJSWmxMTlBIeDBD?= =?utf-8?B?eFpjMXJqczhBOGxwS3lSZWpDQkxyaEZqYUR1UXRscjA5TnRVYVJsaXZBT2gz?= =?utf-8?B?blIyWVdBb1dZRkVsNVpQRGlnbXNTV0pWTHlCQ1lQVEgxNXZwT0pJUlBQSlY1?= =?utf-8?B?R3RPQysrQjY4K0Q5aFZTV0pIeDZpTWVkSXptQWhWaTU0SUlVcWhmOStpYWJC?= =?utf-8?B?V01yZG5sb0I2U3FpUmFZN2c3YnF0MkxQYmNiYUFwenVsVVNBbzU3bWFVMTlq?= =?utf-8?B?cnJGQ3owSDNUQzVtWXhVT3hUSFhlNXAxYWxKSUZvaDlxUDE2UXFRaWNmd3ZE?= =?utf-8?B?cmNOL3pGZC9MZXEyM2dLSlZ4SGtJNCtKWHhzQWRiZXB2bmNnY21UdUpJVU9o?= =?utf-8?B?dml0VnNwK1RoaHpydVg2djc4R0VlVU5wRE5tS25ZY01kOEQza0M1UT09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB5863.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a312a4e1-d85e-43fa-ecf1-08da2e3e5cba X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2022 02:24:20.4794 (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: yU3SZLikNTYrIad48VdcQpSvQ7DcaL3pqvEmDG/9vsPhQxbypSamw7rsJ7UaUwIgWZu97t62xvIgA6h7jgbOkA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6018 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRl bC5jb20+IA0KU2VudDogVGh1cnNkYXksIEFwcmlsIDI4LCAyMDIyIDg6NTAgUE0NClRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47 IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQpTdWJqZWN0OiBbUEFUQ0gg MS8xXSBCYXNlVG9vbHM6IEFkZCBGTU1UIFB5dGhvbiBUb29sDQoNClRoZSBGTU1UIHB5dGhvbiB0 b29sIGlzIHVzZWQgZm9yIGZpcm13YXJlIGZpbGVzIG9wZXJhdGlvbiwgd2hpY2ggaGFzDQp0aGUg RnYvRkZzLWJhc2VkICdWaWV3JyYnQWRkJyYnRGVsZXRlJyYnUmVwbGFjZScgb3BlcmF0aW9uIGZ1 bmN0aW9uOg0KDQoxLlBhcnNlIGEgRkQoRmlybXdhcmUgRGV2aWNlKSAvIEZWKEZpcm13YXJlIFZv bHVtZSkgLyBGRlMoRmlybXdhcmUgRmlsZXMpDQoyLkFkZCBhIG5ldyBGRlMgaW50byBhIEZWIGZp bGUgKGJvdGggaW5jbHVkZWQgaW4gYSBGRCBmaWxlIG9yIG5vdCkNCjMuUmVwbGFjZSBhbiBGRlMg aW4gYSBGViBmaWxlIHdpdGggYSBuZXcgRkZTIGZpbGUNCjQuRGVsZXRlIGFuIEZGUyBpbiBhIEZW IGZpbGUgKGJvdGggaW5jbHVkZWQgaW4gYSBGRCBmaWxlIG9yIG5vdCkNCjUuRXh0cmFjdCB0aGUg RkZTIGZyb20gYSBGViBmaWxlIChib3RoIGluY2x1ZGVkIGluIGEgRkQgZmlsZSBvciBub3QpDQoN ClRoaXMgdmVyc2lvbiBvZiBGTU1UIFB5dGhvbiB0b29sIGRvZXMgbm90IHN1cHBvcnQgUEVJTSBy ZWJhc2UgZmVhdHVyZSwNCnRoaXMgZmVhdHVyZSB3aWxsIGJlIGFkZGVkIGluIGZ1dHVyZSB1cGRh dGUuDQoNCkN1cnJlbnRseSB0aGUgRk1NVCBDIHRvb2wgaXMgc2F2ZWQgaW4gZWRrMi1zdGFnaW5n IHJlcG8sIGJ1dCBpdHMNCnF1YWxpdHkgYW5kIGNvZGluZyBzdHlsZSBjYW4ndCBtZWV0IHRoZSBF ZGsyIHF1YWxpdHksIHdoaWNoIGlzIGhhcmQgdG8NCm1haW50YWluIChIYXJkL0R1cGxpY2F0ZSBD b2RlOyBSZWdyZXNzaW9uIGJ1Z3M7IFJlc3RyaWN0IHVzYWdlKS4NCg0KVGhlIG5ldyBQeXRob24g dmVyc2lvbiBrZWVwcyBzYW1lIGZ1bmN0aW9ucyB3aXRoIG9yaWdpbiBDIHZlcnNpb24uIEl0DQpo YXMgaGlnaGVyIHF1YWxpdHkgYW5kIGJldHRlciBjb2Rpbmcgc3R5bGUsIGFuZCBpdCBpcyBtdWNo IGVhc2llciB0bw0KZXh0ZW5kIG5ldyBmdW5jdGlvbnMgYW5kIHRvIG1haW50YWluLg0KDQpSRUY6 IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0Nw0KUkZD IExpbms6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzgyODc3DQpTdGFn aW5nIExpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1zdGFnaW5nL3RyZWUv UHlGTU1UDQoNCkNjOiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+DQpDYzogTGltaW5n IEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KU2lnbmVkLW9mZi1ieTogWXV3ZWkgQ2hl biA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQotLS0NCiBCYXNlVG9vbHMvQmluV3JhcHBlcnMvUG9z aXhMaWtlL0ZNTVQgICAgICAgICAgfCAgMTQgKw0KIEJhc2VUb29scy9CaW5XcmFwcGVycy9XaW5k b3dzTGlrZS9GTU1ULmJhdCAgICB8ICAgNCArDQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1N VC9GTU1ULnB5ICAgICAgICAgIHwgMTUzICsrKysrDQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24v Rk1NVC9GbW10Q29uZi5pbmkgICAgIHwgIDExICsNCiAuLi4vUHl0aG9uL0ZNTVQvSW1nL0Zpcm13 YXJlVm9sdW1lRm9ybWF0LnBuZyAgfCBCaW4gMCAtPiAyOTUxNSBieXRlcw0KIC4uLi9Tb3VyY2Uv UHl0aG9uL0ZNTVQvSW1nL05vZGVUcmVlRm9ybWF0LnBuZyB8IEJpbiAwIC0+IDc5OTA2IGJ5dGVz DQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9SRUFETUUubWQgICAgICAgIHwgMTg0ICsr KysrDQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9fX2luaXRfXy5weSAgICAgIHwgICA2 ICsNCiAuLi4vUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVjdC5weSAgfCAzODAg KysrKysrKysrKysNCiBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvQmlvc1RyZWUu cHkgfCAxOTggKysrKysrDQogLi4uL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Jpb3NUcmVlTm9k ZS5weSAgIHwgMTk0ICsrKysrKw0KIC4uLi9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UT3Bl cmF0aW9uLnB5ICB8IDE5NyArKysrKysNCiAuLi4vU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1N VFBhcnNlci5weSAgICAgfCAgODcgKysrDQogLi4uL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Z2 SGFuZGxlci5weSAgICAgIHwgNjQxICsrKysrKysrKysrKysrKysrKw0KIC4uLi9Tb3VyY2UvUHl0 aG9uL0ZNTVQvY29yZS9HdWlkVG9vbHMucHkgICAgICB8IDE3OSArKysrKw0KIC4uLi9Tb3VyY2Uv UHl0aG9uL0ZNTVQvdXRpbHMvRm1tdExvZ2dlci5weSAgICB8ICAzMSArDQogLi4uL1NvdXJjZS9Q eXRob24vRk1NVC91dGlscy9GdkxheW91dFByaW50LnB5IHwgIDU1ICsrDQogLi4uL1B5dGhvbi9G aXJtd2FyZVN0b3JhZ2VGb3JtYXQvQ29tbW9uLnB5ICAgIHwgIDg1ICsrKw0KIC4uLi9GaXJtd2Fy ZVN0b3JhZ2VGb3JtYXQvRmZzRmlsZUhlYWRlci5weSAgICB8ICA2NiArKw0KIC4uLi9QeXRob24v RmlybXdhcmVTdG9yYWdlRm9ybWF0L0Z2SGVhZGVyLnB5ICB8IDExMiArKysNCiAuLi4vRmlybXdh cmVTdG9yYWdlRm9ybWF0L1NlY3Rpb25IZWFkZXIucHkgICAgfCAxMTAgKysrDQogLi4uL1B5dGhv bi9GaXJtd2FyZVN0b3JhZ2VGb3JtYXQvX19pbml0X18ucHkgIHwgICA2ICsNCiAyMiBmaWxlcyBj aGFuZ2VkLCAyNzEzIGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA3NTUgQmFzZVRvb2xz L0JpbldyYXBwZXJzL1Bvc2l4TGlrZS9GTU1UDQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VUb29s cy9CaW5XcmFwcGVycy9XaW5kb3dzTGlrZS9GTU1ULmJhdA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBC YXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL0ZNTVQucHkNCiBjcmVhdGUgbW9kZSAxMDA2NDQg QmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9GbW10Q29uZi5pbmkNCiBjcmVhdGUgbW9kZSAx MDA2NDQgQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9JbWcvRmlybXdhcmVWb2x1bWVGb3Jt YXQucG5nDQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQv SW1nL05vZGVUcmVlRm9ybWF0LnBuZw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMvU291 cmNlL1B5dGhvbi9GTU1UL1JFQURNRS5tZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMv U291cmNlL1B5dGhvbi9GTU1UL19faW5pdF9fLnB5DQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VU b29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVjdC5weQ0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvQmlvc1Ry ZWUucHkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9j b3JlL0Jpb3NUcmVlTm9kZS5weQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMvU291cmNl L1B5dGhvbi9GTU1UL2NvcmUvRk1NVE9wZXJhdGlvbi5weQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBC YXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1NVFBhcnNlci5weQ0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5 DQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9H dWlkVG9vbHMucHkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgQmFzZVRvb2xzL1NvdXJjZS9QeXRob24v Rk1NVC91dGlscy9GbW10TG9nZ2VyLnB5DQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VUb29scy9T b3VyY2UvUHl0aG9uL0ZNTVQvdXRpbHMvRnZMYXlvdXRQcmludC5weQ0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VGb3JtYXQvQ29tbW9u LnB5DQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJl U3RvcmFnZUZvcm1hdC9GZnNGaWxlSGVhZGVyLnB5DQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJhc2VU b29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJlU3RvcmFnZUZvcm1hdC9GdkhlYWRlci5weQ0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VG b3JtYXQvU2VjdGlvbkhlYWRlci5weQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBCYXNlVG9vbHMvU291 cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VGb3JtYXQvX19pbml0X18ucHkNCg0KZGlmZiAtLWdp dCBhL0Jhc2VUb29scy9CaW5XcmFwcGVycy9Qb3NpeExpa2UvRk1NVCBiL0Jhc2VUb29scy9CaW5X cmFwcGVycy9Qb3NpeExpa2UvRk1NVA0KbmV3IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAw MDAwMDAwMC4uODZiMmM2NTU1Y2FjDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMvQmlu V3JhcHBlcnMvUG9zaXhMaWtlL0ZNTVQNCkBAIC0wLDAgKzEsMTQgQEANCisjIS91c3IvYmluL2Vu diBiYXNoDQorI3B5dGhvbiBgZGlybmFtZSAkMGAvUnVuVG9vbEZyb21Tb3VyY2UucHkgYGJhc2Vu YW1lICQwYCAkKg0KKw0KKyMgSWYgYSAke1BZVEhPTl9DT01NQU5EfSBjb21tYW5kIGlzIGF2YWls YWJsZSwgdXNlIGl0IGluIHByZWZlcmVuY2UgdG8gcHl0aG9uDQoraWYgY29tbWFuZCAtdiAke1BZ VEhPTl9DT01NQU5EfSA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCisgICAgcHl0aG9uX2V4ZT0ke1BZ VEhPTl9DT01NQU5EfQ0KK2ZpDQorDQorZnVsbF9jbWQ9JHtCQVNIX1NPVVJDRTotJDB9ICMgc2Vl IGh0dHA6Ly9teXdpa2kud29vbGVkZ2Uub3JnL0Jhc2hGQVEvMDI4IGZvciBhIGRpc2N1c3Npb24g b2Ygd2h5ICQwIGlzIG5vdCBhIGdvb2QgY2hvaWNlIGhlcmUNCitkaXI9JChkaXJuYW1lICIkZnVs bF9jbWQiKQ0KK2NtZD0ke2Z1bGxfY21kIyMqL30NCisNCitleHBvcnQgUFlUSE9OUEFUSD0iJGRp ci8uLi8uLi9Tb3VyY2UvUHl0aG9uOiRkaXIvLi4vLi4vU291cmNlL1B5dGhvbi9GTU1UOiRkaXIv Li4vLi4vU291cmNlL1B5dGhvbiR7UFlUSE9OUEFUSDorOiIkUFlUSE9OUEFUSCJ9Ig0KK2V4ZWMg IiR7cHl0aG9uX2V4ZTotcHl0aG9ufSIgLW0gJGNtZC4kY21kICIkQCINCmRpZmYgLS1naXQgYS9C YXNlVG9vbHMvQmluV3JhcHBlcnMvV2luZG93c0xpa2UvRk1NVC5iYXQgYi9CYXNlVG9vbHMvQmlu V3JhcHBlcnMvV2luZG93c0xpa2UvRk1NVC5iYXQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAwMDAuLjI1OWQ2Y2Q2ZGRlYQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRv b2xzL0JpbldyYXBwZXJzL1dpbmRvd3NMaWtlL0ZNTVQuYmF0DQpAQCAtMCwwICsxLDQgQEANCitA c2V0bG9jYWwNCitAc2V0IFRvb2xOYW1lPSV+bjAlDQorQHNldCBQWVRIT05QQVRIPSVQWVRIT05Q QVRIJTslQkFTRV9UT09MU19QQVRIJVxTb3VyY2VcUHl0aG9uOyVCQVNFX1RPT0xTX1BBVEglXFNv dXJjZVxQeXRob25cRk1NVA0KK0AlUFlUSE9OX0NPTU1BTkQlIC1tICVUb29sTmFtZSUuJVRvb2xO YW1lJSAlKg0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvRk1NVC5w eSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvRk1NVC5weQ0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uMTA4MDBlNzc2YTcyDQotLS0gL2Rldi9udWxsDQor KysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL0ZNTVQucHkNCkBAIC0wLDAgKzEsMTUz IEBADQorIyBAZmlsZQ0KKyMgIEZpcm13YXJlIE1vZHVsZSBNYW5hZ2VtZW50IFRvb2wuDQorIw0K KyMgIENvcHlyaWdodCAoYykgMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KKyMNCisjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KKyMNCisjIw0KKw0KKyMgSW1wb3J0IE1vZHVsZXMNCisjDQoraW1wb3J0IGFyZ3Bh cnNlDQorZnJvbSBjb3JlLkZNTVRPcGVyYXRpb24gaW1wb3J0ICoNCisNCitwYXJzZXIgPSBhcmdw YXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0nJycNCitWaWV3IHRoZSBCaW5hcnkgU3Ry dWN0dXJlIG9mIEZEL0ZWL0Zmcy9TZWN0aW9uLCBhbmQgRGVsZXRlL0V4dHJhY3QvQWRkL1JlcGxh Y2UgYSBGZnMgZnJvbS9pbnRvIGEgRlYuDQorJycnKQ0KK3BhcnNlci5hZGRfYXJndW1lbnQoIi0t dmVyc2lvbiIsIGFjdGlvbj0idmVyc2lvbiIsIHZlcnNpb249JyUocHJvZylzIFZlcnNpb24gMS4w JywNCisgICAgICAgICAgICAgICAgICAgIGhlbHA9IlByaW50IGRlYnVnIGluZm9ybWF0aW9uLiIp DQorcGFyc2VyLmFkZF9hcmd1bWVudCgiLXYiLCAiLS1WaWV3IiwgZGVzdD0iVmlldyIsIG5hcmdz PScrJywNCisgICAgICAgICAgICAgICAgICAgIGhlbHA9IlZpZXcgZWFjaCBGViBhbmQgdGhlIG5h bWVkIGZpbGVzIHdpdGhpbiBlYWNoIEZWOiAnLXYgaW5wdXRmaWxlIG91dHB1dGZpbGUsIGlucHV0 ZmlsZXR5cGUoLkZkLy5Gdi8uZmZzLy5zZWMpJyIpDQorcGFyc2VyLmFkZF9hcmd1bWVudCgiLWQi LCAiLS1EZWxldGUiLCBkZXN0PSJEZWxldGUiLCBuYXJncz0nKycsDQorICAgICAgICAgICAgICAg ICAgICBoZWxwPSJEZWxldGUgYSBGZnMgZnJvbSBGVjogJy1kIGlucHV0ZmlsZSBUYXJnZXRGdk5h bWUoT3B0aW9uYWwpIFRhcmdldEZmc05hbWUgb3V0cHV0ZmlsZVwNCisgICAgICAgICAgICAgICAg ICAgICAgICBJZiBub3QgZ2l2ZW4gVGFyZ2V0RnZOYW1lLCBhbGwgdGhlIGV4aXN0ZWQgdGFyZ2V0 IEZmcyB3aWxsIGJlIGRlbGV0ZWQnIikNCitwYXJzZXIuYWRkX2FyZ3VtZW50KCItZSIsICItLUV4 dHJhY3QiLCBkZXN0PSJFeHRyYWN0IiwgbmFyZ3M9JysnLA0KKyAgICAgICAgICAgICAgICAgICAg aGVscD0iRXh0cmFjdCBhIEZmcyBJbmZvOiAnLWUgaW5wdXRmaWxlIFRhcmdldEZ2TmFtZShPcHRp b25hbCkgVGFyZ2V0RmZzTmFtZSBvdXRwdXRmaWxlXA0KKyAgICAgICAgICAgICAgICAgICAgICAg IElmIG5vdCBnaXZlbiBUYXJnZXRGdk5hbWUsIHRoZSBmaXJzdCBmb3VuZCB0YXJnZXQgRmZzIHdp bGwgYmUgZXh0cmFjdGVkJyIpDQorcGFyc2VyLmFkZF9hcmd1bWVudCgiLWEiLCAiLS1BZGQiLCBk ZXN0PSJBZGQiLCBuYXJncz0nKycsDQorICAgICAgICAgICAgICAgICAgICBoZWxwPSJBZGQgYSBG ZnMgaW50byBhIEZWOictYSBpbnB1dGZpbGUgVGFyZ2V0RnZOYW1lIG5ld2Zmc2ZpbGUgb3V0cHV0 ZmlsZSciKQ0KK3BhcnNlci5hZGRfYXJndW1lbnQoIi1yIiwgIi0tUmVwbGFjZSIsIGRlc3Q9IlJl cGxhY2UiLCBuYXJncz0nKycsDQorICAgICAgICAgICAgICAgICAgICBoZWxwPSJSZXBsYWNlIGEg RmZzIGluIGEgRlY6ICctciBpbnB1dGZpbGUgVGFyZ2V0RnZOYW1lKE9wdGlvbmFsKSBUYXJnZXRG ZnNOYW1lIG5ld2Zmc2ZpbGUgb3V0cHV0ZmlsZVwNCisgICAgICAgICAgICAgICAgICAgICAgICBJ ZiBub3QgZ2l2ZW4gVGFyZ2V0RnZOYW1lLCBhbGwgdGhlIGV4aXN0ZWQgdGFyZ2V0IEZmcyB3aWxs IGJlIHJlcGxhY2VkIHdpdGggbmV3IEZmcyBmaWxlKSciKQ0KK3BhcnNlci5hZGRfYXJndW1lbnQo Ii1sIiwgIi0tTGF5b3V0RmlsZU5hbWUiLCBkZXN0PSJMYXlvdXRGaWxlTmFtZSIsIG5hcmdzPScr JywNCisgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBvdXRwdXQgZmlsZSB3aGljaCBzYXZl cyBCaW5hcnkgbGF5b3V0OiAnLWwgeHh4LnR4dCcvJy1sIHh4eC5qc29uJ1wNCisgICAgICAgICAg ICAgICAgICAgICAgICBJZiBvbmx5IHByb3ZpZGUgZmlsZSBmb3JtYXQgYXMgJ3R4dCcsIFwNCisg ICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmlsZSB3aWxsIGJlIGdlbmVyYXRlZCB3aXRoIGRl ZmF1bHQgbmFtZSAoTGF5b3V0XydJbnB1dEZpbGVOYW1lJy50eHQpLiBcDQorICAgICAgICAgICAg ICAgICAgICAgICAgQ3VycmVudGx5IHN1cHBvcnRzIHR3byBmb3JtYXRzOiBqc29uLCB0eHQuIE1v cmUgZm9ybWF0cyB3aWxsIGJlIGFkZGVkIGluIHRoZSBmdXR1cmUiKQ0KK3BhcnNlci5hZGRfYXJn dW1lbnQoIi1jIiwgIi0tQ29uZmlnRmlsZVBhdGgiLCBkZXN0PSJDb25maWdGaWxlUGF0aCIsIG5h cmdzPScrJywNCisgICAgICAgICAgICAgICAgICAgIGhlbHA9IlByb3ZpZGUgdGhlIHRhcmdldCBG bW10Q29uZi5pbmkgZmlsZSBwYXRoOiAnLWMgQzpcQ29kZVxGbW10Q29uZi5pbmknIFwNCisgICAg ICAgICAgICAgICAgICAgICAgICBGbW10Q29uZiBmaWxlIHNhdmVzIHRoZSB0YXJnZXQgZ3VpZHRv b2wgdXNlZCBpbiBjb21wcmVzcy91bmNvbXByZXNzIHByb2Nlc3MuXA0KKyAgICAgICAgICAgICAg ICAgICAgICAgIElmIGRvIG5vdCBwcm92aWRlLCBGTU1UIHRvb2wgd2lsbCBzZWFyY2ggdGhlIGlu cHV0ZmlsZSBmb2xkZXIgZm9yIEZtbXRDb25mLmluaSBmaXJzdGx5LCBpZiBub3QgZm91bmQsXA0K KyAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBGbW10Q29uZi5pbmkgc2F2ZWQgaW4gRk1NVCB0 b29sJ3MgZm9sZGVyIHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0LiIpDQorDQorZGVmIHByaW50X2Jh bm5lcigpOg0KKyAgICBwcmludCgiIikNCisNCitjbGFzcyBGTU1UKCk6DQorICAgIGRlZiBfX2lu aXRfXyhzZWxmKSAtPiBOb25lOg0KKyAgICAgICAgc2VsZi5maXJtd2FyZV9wYWNrZXQgPSB7fQ0K Kw0KKyAgICBkZWYgU2V0Q29uZmlnRmlsZVBhdGgoc2VsZiwgY29uZmlnZmlsZXBhdGg6c3RyKSAt PiBzdHI6DQorICAgICAgICBvcy5lbnZpcm9uWydGbW10Q29uZlBhdGgnXSA9IG9zLnBhdGguYWJz cGF0aChjb25maWdmaWxlcGF0aCkNCisNCisgICAgZGVmIFNldERlc3RQYXRoKHNlbGYsIGlucHV0 ZmlsZTpzdHIpIC0+IHN0cjoNCisgICAgICAgIG9zLmVudmlyb25bJ0ZtbXRDb25mUGF0aCddID0g JycNCisgICAgICAgIHNlbGYuZGVzdF9wYXRoID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJz cGF0aChpbnB1dGZpbGUpKQ0KKyAgICAgICAgb2xkX2VudiA9IG9zLmVudmlyb25bJ1BBVEgnXQ0K KyAgICAgICAgb3MuZW52aXJvblsnUEFUSCddID0gc2VsZi5kZXN0X3BhdGggKyBvcy5wYXRoc2Vw ICsgb2xkX2Vudg0KKw0KKyAgICBkZWYgQ2hlY2tGZnNOYW1lKHNlbGYsIEZmc05hbWU6c3RyKSAt PiBzdHI6DQorICAgICAgICB0cnk6DQorICAgICAgICAgICAgcmV0dXJuIHV1aWQuVVVJRChGZnNO YW1lKQ0KKyAgICAgICAgZXhjZXB0Og0KKyAgICAgICAgICAgIHJldHVybiBGZnNOYW1lDQorDQor ICAgIGRlZiBHZXRGdk5hbWUoc2VsZiwgRnZOYW1lOnN0cikgLT4gc3RyOg0KKyAgICAgICAgdHJ5 Og0KKyAgICAgICAgICAgIHJldHVybiB1dWlkLlVVSUQoRnZOYW1lKQ0KKyAgICAgICAgZXhjZXB0 Og0KKyAgICAgICAgICAgIHJldHVybiBGdk5hbWUNCisNCisgICAgZGVmIFZpZXcoc2VsZiwgaW5w dXRmaWxlOiBzdHIsIGxheW91dGZpbGVuYW1lOiBzdHI9Tm9uZSwgb3V0cHV0ZmlsZTogc3RyPU5v bmUpIC0+IE5vbmU6DQorICAgICAgICAjIFZpZXdGaWxlKGlucHV0ZmlsZSwgUk9PVF9UWVBFLCBs b2dmaWxlLCBvdXRwdXRmaWxlKQ0KKyAgICAgICAgc2VsZi5TZXREZXN0UGF0aChpbnB1dGZpbGUp DQorICAgICAgICBmaWxldHlwZSA9IG9zLnBhdGguc3BsaXRleHQoaW5wdXRmaWxlKVsxXS5sb3dl cigpDQorICAgICAgICBpZiBmaWxldHlwZSA9PSAnLmZkJzoNCisgICAgICAgICAgICBST09UX1RZ UEUgPSBST09UX1RSRUUNCisgICAgICAgIGVsaWYgZmlsZXR5cGUgPT0gJy5mdic6DQorICAgICAg ICAgICAgUk9PVF9UWVBFID0gUk9PVF9GVl9UUkVFDQorICAgICAgICBlbGlmIGZpbGV0eXBlID09 ICcuZmZzJzoNCisgICAgICAgICAgICBST09UX1RZUEUgPSBST09UX0ZGU19UUkVFDQorICAgICAg ICBlbGlmIGZpbGV0eXBlID09ICcuc2VjJzoNCisgICAgICAgICAgICBST09UX1RZUEUgPSBST09U X1NFQ1RJT05fVFJFRQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBST09UX1RZUEUgPSBS T09UX1RSRUUNCisgICAgICAgIFZpZXdGaWxlKGlucHV0ZmlsZSwgUk9PVF9UWVBFLCBsYXlvdXRm aWxlbmFtZSwgb3V0cHV0ZmlsZSkNCisNCisgICAgZGVmIERlbGV0ZShzZWxmLCBpbnB1dGZpbGU6 IHN0ciwgVGFyZ2V0RmZzX25hbWU6IHN0ciwgb3V0cHV0ZmlsZTogc3RyLCBGdl9uYW1lOiBzdHI9 Tm9uZSkgLT4gTm9uZToNCisgICAgICAgIHNlbGYuU2V0RGVzdFBhdGgoaW5wdXRmaWxlKQ0KKyAg ICAgICAgaWYgRnZfbmFtZToNCisgICAgICAgICAgICBEZWxldGVGZnMoaW5wdXRmaWxlLCBzZWxm LkNoZWNrRmZzTmFtZShUYXJnZXRGZnNfbmFtZSksIG91dHB1dGZpbGUsIHNlbGYuR2V0RnZOYW1l KEZ2X25hbWUpKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBEZWxldGVGZnMoaW5wdXRm aWxlLCBzZWxmLkNoZWNrRmZzTmFtZShUYXJnZXRGZnNfbmFtZSksIG91dHB1dGZpbGUpDQorDQor ICAgIGRlZiBFeHRyYWN0KHNlbGYsIGlucHV0ZmlsZTogc3RyLCBGZnNfbmFtZTogc3RyLCBvdXRw dXRmaWxlOiBzdHIsIEZ2X25hbWU6IHN0cj1Ob25lKSAtPiBOb25lOg0KKyAgICAgICAgc2VsZi5T ZXREZXN0UGF0aChpbnB1dGZpbGUpDQorICAgICAgICBpZiBGdl9uYW1lOg0KKyAgICAgICAgICAg IEV4dHJhY3RGZnMoaW5wdXRmaWxlLCBzZWxmLkNoZWNrRmZzTmFtZShGZnNfbmFtZSksIG91dHB1 dGZpbGUsIHNlbGYuR2V0RnZOYW1lKEZ2X25hbWUpKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAg ICAgICBFeHRyYWN0RmZzKGlucHV0ZmlsZSwgc2VsZi5DaGVja0Zmc05hbWUoRmZzX25hbWUpLCBv dXRwdXRmaWxlKQ0KKw0KKyAgICBkZWYgQWRkKHNlbGYsIGlucHV0ZmlsZTogc3RyLCBGdl9uYW1l OiBzdHIsIG5ld2Zmc2ZpbGU6IHN0ciwgb3V0cHV0ZmlsZTogc3RyKSAtPiBOb25lOg0KKyAgICAg ICAgc2VsZi5TZXREZXN0UGF0aChpbnB1dGZpbGUpDQorICAgICAgICBBZGROZXdGZnMoaW5wdXRm aWxlLCBzZWxmLkNoZWNrRmZzTmFtZShGdl9uYW1lKSwgbmV3ZmZzZmlsZSwgb3V0cHV0ZmlsZSkN CisNCisgICAgZGVmIFJlcGxhY2Uoc2VsZixpbnB1dGZpbGU6IHN0ciwgRmZzX25hbWU6IHN0ciwg bmV3ZmZzZmlsZTogc3RyLCBvdXRwdXRmaWxlOiBzdHIsIEZ2X25hbWU6IHN0cj1Ob25lKSAtPiBO b25lOg0KKyAgICAgICAgc2VsZi5TZXREZXN0UGF0aChpbnB1dGZpbGUpDQorICAgICAgICBpZiBG dl9uYW1lOg0KKyAgICAgICAgICAgIFJlcGxhY2VGZnMoaW5wdXRmaWxlLCBzZWxmLkNoZWNrRmZz TmFtZShGZnNfbmFtZSksIG5ld2Zmc2ZpbGUsIG91dHB1dGZpbGUsIHNlbGYuR2V0RnZOYW1lKEZ2 X25hbWUpKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBSZXBsYWNlRmZzKGlucHV0Zmls ZSwgc2VsZi5DaGVja0Zmc05hbWUoRmZzX25hbWUpLCBuZXdmZnNmaWxlLCBvdXRwdXRmaWxlKQ0K Kw0KKw0KK2RlZiBtYWluKCk6DQorICAgIGFyZ3M9cGFyc2VyLnBhcnNlX2FyZ3MoKQ0KKyAgICBz dGF0dXM9MA0KKw0KKyAgICB0cnk6DQorICAgICAgICBmbW10PUZNTVQoKQ0KKyAgICAgICAgaWYg YXJncy5Db25maWdGaWxlUGF0aDoNCisgICAgICAgICAgICBmbW10LlNldENvbmZpZ0ZpbGVQYXRo KGFyZ3MuQ29uZmlnRmlsZVBhdGhbMF0pDQorICAgICAgICBpZiBhcmdzLlZpZXc6DQorICAgICAg ICAgICAgaWYgYXJncy5MYXlvdXRGaWxlTmFtZToNCisgICAgICAgICAgICAgICAgZm1tdC5WaWV3 KGFyZ3MuVmlld1swXSwgYXJncy5MYXlvdXRGaWxlTmFtZVswXSkNCisgICAgICAgICAgICBlbHNl Og0KKyAgICAgICAgICAgICAgICBmbW10LlZpZXcoYXJncy5WaWV3WzBdKQ0KKyAgICAgICAgZWxp ZiBhcmdzLkRlbGV0ZToNCisgICAgICAgICAgICBpZiBsZW4oYXJncy5EZWxldGUpID09IDQ6DQor ICAgICAgICAgICAgICAgIGZtbXQuRGVsZXRlKGFyZ3MuRGVsZXRlWzBdLGFyZ3MuRGVsZXRlWzJd LGFyZ3MuRGVsZXRlWzNdLGFyZ3MuRGVsZXRlWzFdKQ0KKyAgICAgICAgICAgIGVsc2U6DQorICAg ICAgICAgICAgICAgIGZtbXQuRGVsZXRlKGFyZ3MuRGVsZXRlWzBdLGFyZ3MuRGVsZXRlWzFdLGFy Z3MuRGVsZXRlWzJdKQ0KKyAgICAgICAgZWxpZiBhcmdzLkV4dHJhY3Q6DQorICAgICAgICAgICAg aWYgbGVuKGFyZ3MuRXh0cmFjdCkgPT0gNDoNCisgICAgICAgICAgICAgICAgZm1tdC5FeHRyYWN0 KGFyZ3MuRXh0cmFjdFswXSxhcmdzLkV4dHJhY3RbMl0sYXJncy5FeHRyYWN0WzNdLCBhcmdzLkV4 dHJhY3RbMV0pDQorICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgZm1tdC5FeHRy YWN0KGFyZ3MuRXh0cmFjdFswXSxhcmdzLkV4dHJhY3RbMV0sYXJncy5FeHRyYWN0WzJdKQ0KKyAg ICAgICAgZWxpZiBhcmdzLkFkZDoNCisgICAgICAgICAgICBmbW10LkFkZChhcmdzLkFkZFswXSxh cmdzLkFkZFsxXSxhcmdzLkFkZFsyXSxhcmdzLkFkZFszXSkNCisgICAgICAgIGVsaWYgYXJncy5S ZXBsYWNlOg0KKyAgICAgICAgICAgIGlmIGxlbihhcmdzLlJlcGxhY2UpID09IDU6DQorICAgICAg ICAgICAgICAgIGZtbXQuUmVwbGFjZShhcmdzLlJlcGxhY2VbMF0sYXJncy5SZXBsYWNlWzJdLGFy Z3MuUmVwbGFjZVszXSxhcmdzLlJlcGxhY2VbNF0sYXJncy5SZXBsYWNlWzFdKQ0KKyAgICAgICAg ICAgIGVsc2U6DQorICAgICAgICAgICAgICAgIGZtbXQuUmVwbGFjZShhcmdzLlJlcGxhY2VbMF0s YXJncy5SZXBsYWNlWzFdLGFyZ3MuUmVwbGFjZVsyXSxhcmdzLlJlcGxhY2VbM10pDQorICAgICAg ICBlbHNlOg0KKyAgICAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkNCisgICAgZXhjZXB0IEV4 Y2VwdGlvbiBhcyBlOg0KKyAgICAgICAgcHJpbnQoZSkNCisNCisgICAgcmV0dXJuIHN0YXR1cw0K Kw0KKw0KK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6DQorICAgIGV4aXQobWFpbigpKQ0KZGlm ZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvRm1tdENvbmYuaW5pIGIvQmFz ZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9GbW10Q29uZi5pbmkNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLmFhMjQ0NGYxMWIzOA0KLS0tIC9kZXYvbnVsbA0KKysr IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9GbW10Q29uZi5pbmkNCkBAIC0wLDAgKzEs MTEgQEANCisjIyBAZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBGTU1U IGRlcGVuZGVudCBleHRlcm5hbCB0b29sIGd1aWQuDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIx LSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisjIw0KK2EzMTI4MGFkLTQ4 MWUtNDFiNi05NWU4LTEyN2Y0Yzk4NDc3OSBUSUFOTyBUaWFub0NvbXByZXNzDQorZWU0ZTU4OTgt MzkxNC00MjU5LTlkNmUtZGM3YmQ3OTQwM2NmIExaTUEgTHptYUNvbXByZXNzDQorZmMxYmNkYjAt N2QzMS00OWFhLTkzNmEtYTQ2MDBkOWRkMDgzIENSQzMyIEdlbkNyYzMyDQorZDQyYWU2YmQtMTM1 Mi00YmZiLTkwOWEtY2E3MmE2ZWFlODg5IExaTUFGODYgTHptYUY4NkNvbXByZXNzDQorM2Q1MzIw NTAtNWNkYS00ZmQwLTg3OWUtMGY3ZjYzMGQ1YWZiIEJST1RMSSBCcm90bGlDb21wcmVzcw0KZGlm ZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvSW1nL0Zpcm13YXJlVm9sdW1l Rm9ybWF0LnBuZyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvSW1nL0Zpcm13YXJlVm9s dW1lRm9ybWF0LnBuZw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYzgwNmEwMTMzNDEzYTRhYTAzN2YxZDQzZDgw MDAwNTQ2YTUyNDYNCkdJVCBiaW5hcnkgcGF0Y2gNCmxpdGVyYWwgMjk1MTUNCnpjbWNHJGJ5U3Ba enhJc3toOyprUS1RQSVCKGhic35mYkB7a3IyXjd9bEZ+VkpOYXVpM0JQfF82Y1h6fFVkeVQoKw0K ekA0Y1YqeHUwamZZcD9iR0h4OEZxbyVLREE8OHd9IXh+a2tXT21hKiNHXys/NUAtbXVlWCFvSUxY IWt5I0tMKS1iDQp6Kkw9eDxoVn5weUxGU2RWWFg/JnVmUlhsayghdCRlV1FVQVdzNmEmejRoYjgy YShGaGJ1WGY4ajhNMzMxVHhtS0wNCnohSCpIOyN4XjstVTBocVhWNiYxamZnY3VISG82KHd0UG05 P3s1LSowMXZHfXEqVD9jZDMoU2pnb29lVnQjMkkoSw0KenNIPFFOaHpJb0h0aWoxaGFWYmc1JmJJ fSlrYF5WYGpuKUBfM1k8NldafG1yQDZGJnVeKCsxJiFGMX02QS1+ME9zDQp6b21RYWA3eG0/Vm4x VypQLSVzLWpueWtQdj0oSVBnRmBCNU8oSEF7cDt4UFl5WUtfZyt7XnR5N153N1dPWVRLdTANCnpB XlE4dHBNK21lT3M3eWd1KlF6b2ZrcHBCODkwI0NIIXZhWV45Pko0ZHhtZDRLNSZAQnZqI3R8fEl5 aSp7KWFiZQ0KentJJkd+dTMzU1klWmh3IW9yOzEyKi12QGtga19BPUI+dU10X0A3P2wtQEo/ZVo+ TV43aX5TT3Y9Wjd8SGU1KjlCDQp6Ki1KZms7KChBcE9oPERCcFcwMEtWVC1kYChfPTUrUmIkNVlB bntabmkhcjROdl9uTyYyP2FrRyliV3UwS0N+X2UNCno1aFh+IWRxYT4wTmklS3hOKVYrO0I8dE5S KGwtRFgkakc2V3o+ND40dHo5MXFlKWdmRTRnKD9ZQ1UtdSptV013KQ0KellaOW5kVjNIQjRTUThu TyQ3TTcpR35vJVcoSkVBYk8pfnJebTslOHdxR1prNjZ0TXBeU3VzSlIpMU9LIUBLYWw9DQp6RmtH X1QxKFMjV2R1bXo0c2RzfT47MnNTanFqYjYlPCM+aH5ePHludjUzelZmVDI0YnsqN3k7ZzlqTz00 V0IwNDENCno9JEZKMXVjP25uJEQ8Y308fGtDQmtMc3NGcUBMflA1YEpXXj83ZHJaKkdPUipRYHVg NSV5NCRNIStreGkoITdeVw0KelhxSHtNTCl4IzM1en14PGBhVjh5azdOfERQYztHeC02Q0F5LTQj VnheQyRuKlIoUzIjPGZrTlJuOEs2QyEyNjxPDQp6YkoheV80fT9TQnVpczxLd2VhbzU2PW5IdyY1 eVM+MTVDZWkpT15MbUhWcl4qXlUmSTwtQmRCUDxBbUZYKTFfMF4NCnpwaG9VRGpfYUVwdnFsUUQo dWlsPGhqIV4/byVfXmRONn12KkZifWNPJmc9VX4zT0lgMklIVlk+cm9idC1DNXtMXw0KektZNzg2 OFVhfEooY340TWZZMyooVEgobkIyR1AwUCtCeHEmRFNiWTkpTCpsMkhmcFc2VUBlZWY8R01+QFlv QXYkDQp6Zzd0bH5LcV5SYlBtWnZwQXVYMGZ2U1JtYGxfdCZsSXA/WWdxaUFoUzRiP1NSWFB4Nmp7 Xks9eWBUbDUtYj4mbyUNCnojOX1RREFDPW5eVz9TRW5AdGF5MjlfY0goUWopKCVrTTg9PFF0M2Zz PElDX3xpUWR7SiFhNG1uS1JAK09Ub1psTA0KeiYzZ0tXLTZeVmYjeTY2OFMhanFJb29kbj9nU0pD TyohelN6SzBme3lUUlFhUGF8SWkmdH5ARH5nZnJmIyhwdGtgDQp6WWZuY0xqMllSczVpKCoxZyYw WlM8ZFpsM1JEQ31YKWVvMypAa2AmXyQqcn1za25WPSVITjxQWklzY2pALW5yUlUNCnpyKUJDS0d9 KzliKDVDPTB2e0Aqe3htekRrUDQjQm9XVFd8NlokbCNoUyR3IVZzO2RvM2ZHe2xQWX0oJHVYdEty aw0Kel43T0FxMVNBWHZhU2VVellgV1JJZklweV5uQyFIOC1gX2JvWC1TZChfV0pxUF98QjBiXkN4 RnxBb0wrTTtDQVZtDQp6bX0xa0AyZkFhS2tXPilkYmB2eXVEOTI5a2gxa1Nsa2pQX1luQnp1bnB6 RjIycylrYWZWSF41R21HIz5gcnhUKzUNCnomN1g3VGlKK15gKyFNeWkmNTRBJjNgTUZuWDA9Ulpv Mzd+NXBeUm1mNUkhMUBVK3twblBAV2k7U1huV3VEfUpJWQ0KenJePHVASShxTVdOeigqYEYjcGRH fElUNzNqP31JUj9ARmN3UmNTMHlSanNVeWpeeXtRNytEYylCcT1zdztmeVl5DQp6K2Z3VmwrVm0q fT1CKGU5dytSb1k7STtLIyg+enhWMikpOH5KJTk0KTxodElsQFVqSn5aM1o1OWM2cztuej49R2sN CnpuVW5MKGdBXjNXWTxmTENMMWBMSSNZWGN6eEwqST4qRXJWNTlRTHVIVi09SjBtMGVFRGpzMTUl TkgrSDloVzY1Mw0Kenoza1hzak52emkoWDtzWWB6fW8ldyRMcn1SY2c9bistaXJjdjZ1d3VOWm41 RV5WWX5oR1FqIUVfN1pZYzMxMnJ6DQp6KXg2VnNMJEVmTXNoXjhuVlhNT3JJPDhqVnMmIXBhSSFi ai1kfGBqdkliSytzaTsmIVQyX0ZfJl9ITmg8dzleTDgNCnp1PyRoeW40ZCR3ZFZXWn4rTkVmJj0h MkJQNn49bn1mUSpjKyF+fHlHQEItOE1EVGgpMCpSQyNFTiN1IV5uVkgkbQ0KenpnaCkzbC00fEpV MkdBXmheYUN4ejZNdi1aaG1nLV5aNyZiel9fX2sxYTdwPnhIQnx2IXViWCV0cn0rZXV4ZG0kDQp6 ckBVWiFDYipZOVJqQWEqQFlzdmhvcjMjSyo+bT9lJXk/VHU0fnt1Vl9qPyFaYFFfYWR2QnVjRkl9 dnpfN158MWwNCnpzIyozSitBSFBJTlg4OylRaUx3eTYtWjJTJCYtalpfM0dLWVpHPHMreXtkU2l5 RWRzZnFzSH0zVld+R31jaGNlcA0KeitieiFOOFAwdiQ3Ym1URFQhTX5zSX5QfEpeQX0lZVVmYExu Z29UQkB5U1hfMEowYGY3P3N8JSlNPHlIWjgxbEFzDQp6RF9uRlghZTBtTlU8fXVpT2xndDlvNT5W bXB8I0ZYNCMmen1RYDMrTzdHPSVBN3k2fncwI1lMJC0qe2E9bj9LIVYNCnp6cUw1eUgqd3VzWkU5 T3w2YU1uX2dsKD9IQj05QDVXS2d1OSN7WkNfQyhfezd6dU4qSDVTY2w3LTkxOFNifXJXTQ0Kekt1 fX40WVptYCRlJDQyLUh5WF4qQVJ5cW5TVXdQJlUxSUwyNjVqcWByfkFsI2R8eU48Kl9EQHo1PClF eks0a3N5DQp6P2Nxe3EyT05HYUxJK0dpKiNXWT9ud1hpYDBZTXl7cVR+fH0/e291KT4wY09yKjRB cTAwcHMmQWQyZj1XZFVDTiQNCnozKTxSdGlKYXo1JEJaUlVPYlU1ZClTTUlrUEA1fHBtMFVPPnBI dmQ/bnJxdXZZVzVSSSZ3VT51UWdLR3xMeDNYNg0KekhRS183Jk1TRCgjamdgKlFyI2U9OHwlKzJ0 K0J6JGBZbSlFO199dFFnUH1TMTliRW8oSlY5SCNzZ3FkVmZoa3RQDQp6NH0hM01ZOXQxfipFdkQ0 bFJ+TSk9LXVvNzNOcF5fPF8jU2tvd2JXQXBaVilfKVNJYGtjNjZsaWs0P19hSjY5UCENCnpkQXlP RTxARGBIQGEqend0PSoxXm9NRDV6TjVDPz1aJW97TT8mSmdiZ2w0TUd4MD1neGI/XzBwYjhiMytA V21oWA0Kej5aR1VrYit0czNUayZuJFctbjUwRW1WUFY0cmJQe3NZPGUpOX5ibnBuIVNReyliRlVO JFM+aG5QV0QyQ1FrdnNADQp6aik9PkxXdGZPcTwoJDE4TTt7SillUCFSSjh3QGlreiktIW9faz8x Q0pJbmpneVBPaHAxQSVNRGdVTWZ0Q1MkSn4NCnpzfno9SWV1RVdYP35JTTt4MTZJUG18JEl6VnNj clVRQS0xcHZwO1NHT2JsYSMld0I3cE4rXmZuSmMjYT9qVClCOA0KenIpS2hlXmtzWnAkOS0+UilB TSNBNWEpYEFvYzZ3e21LTVNKZTFNZWVTfDZFelNtRWYmLWx+Q1RAI2UwQCZ2bVg3DQp6Sl93cCV2 emkkNXI8PTdrbGpNflZgfGY+elQ1WSspKlh2WDJSQUNPJC19WSotNzwxVWJUfD5PfEBsOz9pWT1g TjQNCnooOU9BJVdVQVp6Tk8hNkFpOzNsJG9TcylybHk7NUxoZy19d2RkelI7JT1icnVLVjhKdklw Un5zc2B9ZkFVWWcqJQ0KemdfJEghLSZZU3x7OHA5b0loQVY4OzJ+WlM7YFJDRm9iKHBOZHRadXgy MTUyNW5eSmg7IWgzeG5Fc342e0R8IWVXDQp6QDFvWFd3a1BCRWdiQl5vJlE1TkBpT2V1KzJPTz1i PE1VfmlYTWAjWkthMmQ/ZTJIKTNeamR5Y1NpXihGPFQtKH0NCnpVOWJRd3FDQH5ANCUjVCZNMkB+ STtgSUhUPGZBVFQ+dXRxMGUhQEE+QnFRNitsYm9wTHV8MFl5Vlp5YFRKdCFDWQ0Kelplek59NHd6 PTk0fj5lKXsmezhaLSFwaV88Xz5RKl5FMXhPYEs4cmZQTWk/ZU1GTz1abWhedH1GPVRuV3E9Y1BD DQp6P25URypNKXpJdiVnZm9pcEZPPzNBJlplZGdgMlo/JCNhNiModypLRTxQJDBXVTNmbyUhcWts UD5UKW4oQDR8YnYNCnpDKkQ2JkNpR3tXKWdXfnVEQG5XU08pYnpLaFh5QzJFeVRlKig1NjRaYkE4 T2VRVUJ9OWBGQmxQKzAwbGJISjZLbg0KemNXNW9BckgmTyZpeSRkRWBpPSRSfDEyV0VrfHJsNzgt M3teQnFvTXI5d0lhPjU/a2Q4OWU2RlpoKkh2VElycTtFDQp6TXRwRkg7NThrPEI1UXxhMlZMWUN2 S2MwSTFRYWNNK0NJNmVlXlRJRnY8V05CaEQ3USkzY3Z6bmNNNkQ5dU41PTENCnp7aHQqVW8mfj9U QX0mN3xGeHs4OTZ2NSE+Nlh2cTJjYkZCR2xCSlZiS3MzNClGS0A0PmAjM3lRYipQTDxvP0Z1Uw0K em4pYHdLSkp0JHcpWUREZE96IUU7UV5fJXdXMVdvQnI/SXF5QXFGbGpsIUx1MytOXkNaQ1Y1NEw+ cUJCbzxEcD87DQp6Uz1yZzJyPjZ9bnRFeH4tPzdkejtteXRZYGxwRTVoSXxVVS1vPUpMXlEhJCRE eEtvYEJqLXJvTzx2V01+MTtpKSUNCnpORChxfEx6a3t5Zl4wNmhwQEo3ZWNYc31JPUNfWEdwRUNi ZyM/fHdkYHAjO0Qod1NOa0d1JWdBRHx3Iztod1olMg0Keig8WXs4PngzYlRwIVhHZT5AY0JpSU9H bE1XMTkpLWpQOTRKbGNHUE96fElAQ25OSHF9VTVXUFBLNmROQmw7dXR0DQp6XlheNl9tflhvb2Nv ayE7ZVZIY0M5YENrVT0pSW43d0I4eU5WTT5eMnUtOXclRCtXeWxJSXREYytSe0wqNVcwYCENCno+ V0dASzdXUW5KRXhnVUJDQDlYcVpTKHc7YTRPVmh3WTliTmNISFFFOEQrTn1mcnAkVXhZc192NTl7 ZXM5M0MwRA0Keng0bmBWX3lwJW5HKG1nTGhZdDdSN3soKzRaM2hLeFJZZnVTYFdJPFEybV5DJSVU PD85JVJOME4wIVRAPjNne3g1DQp6OXZVY3tXcTRhRkdoVGJ+WFRWUn53c291TzlzeWxnTH1TcTVR byNBSD1icUBga050ZFReLTFrYUtCK2Q3VERyeDINCnppeXZ5UyFLME93T2F+VXgrWTdpOVdEKz5w akJRTERIaEZNR2lzX2daP3k5c3txVWlnVWFqVH1WZGh4QzdVQih3WA0KendSXmR6c3ZLN2UrWGVJ MiUzTWx+VlpWaylNPnxxUVR6X3xXRkslZFheXlJjREtHcyVOaipOVWt2X3U/M1hrT3F0DQp6WUd3 RnBobmF8VmpDcyRYbkpUdDBDajlDd3kkPEdyWFduYkVNQXRlODUxZUthXjsxQUJfRklSKHUkbEFn X3lYRFUNCnopOGIpZlI3PnlNblgwO1hmdGJIdFRlbjgzcWZibDxvNDZBaFNOMXYrNExBTSpaP2NZ KSNLMHZKSXVhQnIpPzFJeQ0KejY0aihMekh1PUsrKnRSMD1oND5ISnFDdHJrTFdvRkU1PmYzWS1v Q1ZZbzl4YXcxUz82WVdUYDlWXj1oPFFGclF9DQp6SEFJSE1nLV48SUolK3FCSCVyU0ZibEgxeHhW KTs5alRASz9nUVo7X3VrKDJ3U3BXbTtoRHVlKzJ0Sng9aDBOeVcNCnpJKSFxKmB5SGxKcm5SZT9o dSlYPjclTnowY0R1UTA2bjE3WkkxTnFKKDB2ZCojRzN0LSFpbU1mTFU4Q1VHZCl3Xg0Kem9GcFVf Xnh6cjlNZGJgQjE8RXAlbGg+N3w5Zzt7O3MhVEo3Kz43bnFQVTkhIWJuJTkqeUU7V3AwaTh+XlA1 V0pMDQp6VnlZe2Yxa19oV1YleilMWCV7d3pyJn1hSzROTX1aUDFJWCkjdHZzTk55QTxQZTgoekJB Ris0UTZMYDc/MThqfSoNCnpidT16Z1RpSnkjeW5LNWpSc0BOXncoZkU+Yn1JJHItckU+MClJdE5B dDg0SnZObV8lQVI0PjdLYDxBVV9vISpaYg0Kej4qYmQ+M05ISzxKVngkQ09qe05IT14rZzAwZnx2 XjNNJWImd1g4aHVGKDM4eVotPyVrOyRWXlI1WGNsYkIhWmpEDQp6dD1VWSY/Ny1YOTxBRmteZEVP JX5fI1AmLXIqQTJRKm9vT1E1fDZRM214cURgJUFBaXY0RkJMUT5CSig9dE93TWINCnozPDc1amta VVEpaiVNcyl2UTsycWpZcEB4QDh7PjdYRVNuRVFXM0J8bFFQKFBZVkBGUmxSemxsRX5BTnVLMGxM Xw0KeipKWntGMmdMJTJYMmlocFkzOVNEbCQ2PE5lZGIqb1F6OD9fbnhOZHVvWU1YPzNsaWQ5UE1Z UGRSbkpDYT1KK1lDDQp6a25QRWxKU1NCVUl2IWVBRz53ezxtcT1QIytReF9XVEBQYXRudkI5NlVl K2tFUWElQXpDTl9pM1lpI3tUY09DblgNCnphKEpFQVJadyFre0xpeD8zWShkLUR6YDZAalFsb19x LU1OPkNmX3QmVU5oNy1QV1Z+bzlrKStoOT9zZHMxc3NAdg0KelNnYU1ue0tiPTdJdDRuTWxHOGlB Ki10dig4czNBJUNFcXt0Ozg9TzxrTjwxVlUyR0NueDZ9MDNNTzFOSEhZPFVUDQp6TT48WmxpdyZ0 MWhqRDd2ZWI/fUdrZF42Nz96eilDQzBvKEJjfiR8QDB0amtvJD1VczBeU21kJVlHIz1rOE15N14N CnpIRmdzfil5Xm0+WTB9a3o7cncqdEwqdSl+NTlQX19RNTAme048YCYlTVA9NnhJYFhWeSg9KX16 Q3o7IUhPZyN1Zg0KejlyTVAoPz11cT4pIT1PXzVUO1huKlpFdkZCUy13QHFDPjNaU2dpaWhje0U2 WTBXTVdMVE07cWNONnxWb1JBMmlpDQp6OFd2PEp4YG1TIVpRUFUxYTJHK2lpKmUkWnd1alZkNml2 T3Y7cCkpI3t+UnM1KX4xWVAxaVRPRihma2Jtb35eTkINCno1eDE/bFE2P2hMJHhEP2BPTXhmaGo5 STNWKExYZDt3SWp5MCVzZGVgQzMqY1ZrJFYte1hDWnppdE1MKH1oR3EmVw0KelI2T1kyelhEdWBK aWBqPTxyJGVmckN4bUZDbHtId1JEMFJsQ0RhTl9TZW1KX3BGUnsheW1sZChVIzhycmNQPF5xDQp6 ZUNARGBCa2BxRC0qRmNIVWdDR14qRnQpJDBjaFJebmowKl45TG8lMyFMUHk1WmA4YUw3a35DKW0m bmJAVlNiUnMNCnpSKUxZdnQwej1gUW5wUDVsWlhBYWpMWitPVzZQemJDQ2BubDVSYEIqVzdaMFpJ V2J9WjNyIWJEc2pHU3NafTNxdw0KekArPngkbk4hNGYyXyRUeHBQSGBCcCsqelp3SWpheT1rWEl4 Wn5ifGJQakNAYFJsaVROU3l7djFoeGQzWSlfTWIwDQp6YmchSFlMN3E9fClLKTY2WD9sM0JDPTsp MUpUaWAqTiUmNkFmNTJ7dTV+OURaIVdlKUcwTnJPWG1fKnBgcz05PDMNCnpDPnl2KnY0QmUyXj1M JlFBY1dVeEc+Y3c1UGRjJEZATFc8I18wXjc7e25kTkZlS3hldVY0fFAwZlBuTzd7RnRWcQ0Kek88 YC1qYj41THZQQ3pEPE03O2RFJStxJko4OXdEKjYjQ3h3eVdKNUtHRWBDZUpTT0pOcW5vbzxoeGJ1 eVQtSWU1DQp6Jmx2S0FeemcqR2xJaURhejklWF9nVDxMWSsqcz1Bdl4yPWg0b20lJFNTVTcya21n WVJydCVkKkZyeTlpdXtqZ3UNCnp5OUdFbUg2T1FhSyZQbSk+Yn5eM09WIyk9bzljVHJVcnQ+IUYy OEpiJHhkSEwlKmxeRWVDRkQ5JlE7d1ZhR1JqIQ0Kej91VXJKOEVzR18hY0hRPWNHSTtQbWV7PiUk O09wYTlmajBNbEBwO2YjN04hJWs7aXA/X2xuU2tab1Fgblg4N0RoDQp6JksmOVA1OTM8RHohPSpt Jj9ycE1TbUsyWURxJkRUVD9BVEVkdlJGO3MoPTwjTyV2XzNEfkd2OUshb00oX2Z2a0gNCnpqK0ok NTklISNJMjRBKmhXSEotNF9DdHJ3NkU1OTJiI0xSV2M+UHR1MnNjTj1iMklqZWg9bEJeYkJafTxu aXNZJA0KejlhKk1TS31IPE1qRXpqciVrc1p7KG0oNHhuRD10d3FoQG8lQXdHVSYrcEMmNj5wRWAw QFlDIzxTO0hAQDVUVFFuDQp6P0NlWTR7a3VpeEVIYy1tQHhqZk50dn4jPWRqVm1FUzhxeVktZiVI dzE+dF9gT0kpP3xMRkREVEZmY3wtKl5kVzUNCnpQbkFfR2VET1Z2U1Y/SiZXZE1PZERQO2FuejJX YUl8SEMzYGU7QFBPNW8mT1M+c1Nzb0FqRy09dDN4eHc5eDFzPg0KelZtIzFiPlAmUnE1bXBKTj0x O0RROCM2aUI7ZlA/KHlrKXp0b3JRaSo9TVkmd2xOKDhOSnEpLV5YPT8qZmR2RE9EDQp6YChKR3V4 LWBHYU5tc201cS13NFglcGVfQEArWTMpOEg/OF9gcyk/PXJRVlotaF5WY2AqdilrR0piUD9kVUk1 I3gNCnpgODRfMkh7dFlKdXJoZmVDP05DNDB4TyROJVMpVFU/eUl9dnM8NUskYl5UTFMldVlqVVN8 YilWM3wwRGFDa3tvUw0KemcobmZHPVZMfjc2eyUrfmtyRmQpTE1hNzRvJGl3SllBczwmPWw+PUMk YW8/cTxUWTc0YVFWZTg1czAzNm5LNXNBDQp6WmxGNFUlOEsmNSh2OT47SzZCZ2h2cFpGal9mfEk/ VithVjJPeHR3dmowcFVETX5ZXzdyMEQlQT1DQmNEP0EtSF8NCnphTXw2WVcwazA1N1JXS0ZYKCkm aGAyckVIUldOOyRqMXcjNnk/a310S3ZacU81cGRCP2JOe1ZwcExMclhxQ2d9Uw0Kekxya2stI0g4 RkNYKH5UdURyM0BDem43O04zcl9XKDhDdylKMFNvX2hhVlBMdUZXNzZHPXpRVkA/KGF7cUIkb3It DQp6K1ZNTjIlQURyQmlffFBzcEgyR1pQcmR3QlRFaW9XOE9RZVhgaTVTYipsYHxZUHIpV1Q3VmB9 eHtvSG9Hdnp7fVcNCnpYKHNtSXRBNEs0RkQwP0w/Q3Z3dW1pSih+eH5WIVVxT043OFd0UCZaSDdg aytrJm9JeSM2Jlp3PH5wfHFqb3dXJA0Kem5BRlV+X3dZNGYycT9kUC1UQXs8Xk1uMT5oKCorI2xE UXBJJElRRFhCS00/ezY2SVRpVj8jcVdNNU4ofUQmVTkzDQp6anxNJXpfMEEkJnk4RzY1IVdyJlBu ZDVjJiFPVko5ZHJaUCZANTVmajJJcldJUX0+LSZ2cGRDQW9vWkVJI3dre2ENCnpneCNSNHthaTE1 bEl2cUleaSFTVz0ocWpVS2MxdjI3ZFA3WjhDZ2J0Y05ueWMwKk8/RzRMajtMdy16NnV7ZChUKQ0K eitGJlRRM1owZVFCYXQzNDdjO0toQHs+fHY+RSYycT5yNlZNZ258ZFgzWHtOeWQ+YFhDWnVFXjN2 Z3woSTtjI35kDQp6YkBgTG51WHBKcStoX0dZTWYrKjVRPGs+UnpjJUt+Umd7eHZsb2ZKS18qYzY0 eG42c255TjlDRDAla1dCdHowenENCnpge1Q4S3c0Mi1XUiteMyVFRzBXKjx+SH5ZNV4tITgkcGdy d01GX15kd0tlbE5HQSgpMjE7R35aNS1pdTZPUEAoKw0KemwzP09RQnVHdyVLdnk1MDZ5M0QyRWFs b2srOHc3YjBLLVBJajE1YVNgKkR0Q1NGNVA/KHAtVVRZSEhIR0hKYV5SDQp6NGU5TFNBSjNoLUwj WGwjfEFmVFdkPzJQQmRpcn1iSiMqdWYwSCpkZTMwSntybHAmSmo/d1dEMV5LfGAxNVVDZVINCnp1 QSNIQXZBT3p8NHE+Z0t2aisxN3ojdCh6TikwZztHRTdvMFEqVXVrc2RQKjBfNWljWEdaOWZ2PT5+ WDhqT088Qw0KeklhTzZydmdYMVNjKXRwQU5XSztkeFpLIV9RQ1YkXkItYUdWPFI5aj8jTV5GNEh6 VWJ0d2tsTGBkZkJjbG9fQWR1DQp6e1AyQ0ZfOX45K1AmOHhOamd5OHFHdXIzbCU3KWxXcyY8MHkj Qjw1NDwtQ0VfQHgpZGVUVSM/a0V0cGJiPnBmSlENCnpIcG1uUk1tbGhUXjBzRm5PXmo7cmk0ZTxm YlcxIyZoOCkqKHpDQ216X19uPTdXKTxPTXEjLTxCKColQmFqdzhiRw0Kejh0fF92cUZTO2N0fFhq UVBJTFZFVV9YdkF5NDUkbm1YZDBuNGlFQnJoJm12ZUN+dSp4NlR5P0BUaFEmZk80cFVwDQp6LVNP SFY3WDFXUEJiOU0+PUtldkhPNnExMk0/cUN9NFVvJSRQSzJ9X3thQCQlTDBFV0N1cW1CPGprVUVx ZkdRZUUNCnpzeHMpeXMrKmstYTxMUz8wJmBYN15GcUElOzxefjh5VyhxYHlLNGpkc0Z3MSU2YG55 WFlXNX4+bDs+YWZEQ1l+ag0KenoweFJwcFBRaDI4MUkobiU8RHM1RV49eWJ2VW5pc1VEKWxKKjFO QihNSUBUaEZ3JTgpZU5uZnh1NFEyRypBd19EDQp6YHBYNj1gflR4Y2E8eE5nR2xBbEx0WE5rcFVG em5iLTlOSFIyJHNtIShDKz1USFNkZjBHYCokd0N7MTxKenFoMUQNCnpeSUQrPnZTd2FIXkxsSkF2 fjZqZThWMCEySjNmR00+SkUwSHBDSmN0NDtBXjVDSXF2Iyt5Um0qRGs+JVZSYjdYXg0KemFFT1cz MFQ1NVUxbWRZTEFDcl4hKz4pdilEKjtgNVh3S2lWMXYzaXM5d3VDcG1MOVU/ZF9Ja0VxJWVlT2Vw aj4pDQp6OHJqKG1KQ0RoSiM9cl58KVNeTzZEPUo7OzY/THdBVUs8cmJHWXJPS0pYNXh2OD12bTVz YkdfYlZyVURfNElEPDwNCnorVipsKklVcUk3alFuTktXQ0ZPdj1Ja3BJezx3dEE+IyFEN3J8TiRB PGBBSEs8O3F6bW1HUDxDWkNlTEVGKGAzdg0Kemdja1BecE5fa2JvdyhCc1RkMzdNS0sje200UV5l ZUJHZzVKXnFRNHtwKT1wVCVDZilCbipZQUtwPCE9WkBZOEVRDQp6V3Z+NlBtKXo/NnVwR0pRbkFG ckFQdm5UMjZqZ049ND1NPi0mX1R7PihFO1E0VnJuUXlqdGF4WiRZQDR8QXJ9PHQNCnpGaX5jXysl JTZZVGxWdHV5OEtGQSUrVm9faWs8dnghM2FWNCNOfWw9RyVwd3pkRTc8ZUNAZ3RrUSk1OHdkKy1Y ZA0KekZAaVMyTjtjPyZHR05GdjFmLW5DWVgkR0d3X3B0aEdjWW0xUUxtUygmWX15WjJxaXg7TjU/ QXdoR3A5ekZscUwhDQp6XmB7aDttY3w9S2ZVdiUxWFZid2E+UmVvNkJVeTtyKTE7Kkl4XzVuT1or MyE3T2NzQyZse1l+PF54bngpRlBCKSQNCnpUKHdPc1ZFPShHNmo2PFojPElmRUBzcEs8PE5aTFky KjAzVTQ7NEQ/N21VQmI8SE9YUTllZFNPVklGMU1UVEVKMQ0Keik4NUZBJmsrTldWSXdNIXEtbmw2 Plchb2xCTSR0dnUmPDdpc0k7JDgkMUxDa1RzJU1uKy1pUmE7T19oeDh2MXBNDQp6eXRWO0BQZCU3 SHE1ZCZJU31EY00mYzJjckxjUD9FQlh0Nk5gIUVSUmJBQStJZGg+WmJCVmNZbTMhVX4jVkppLUUN CnpAeVglZ0EhSlN5NytmamhVYzZgKzcjUDRRKFQ3YWBNeFVmLXNPNWpKWDx3MyNqXyFzazk1Knst PHFRVmcjaz43OA0KemdreGZtY0laMSlTbjd9a24xQyNnNz1aZ0B7dEFvPyE8RSVVUV9HezM/aD9+ aClUUXVuZiMtZnZ3SHU4Nzk1fTZXDQp6I0g1ZUIyVmZibCVMa0YocU1VKEIrY0RPM3VRanFWcWxU cUByeSQlMVpgR01aMyQ9QFcmQUBRbTYtYFgyQCRtNCgNCnprQUE8biNlTjw3WnFRNU9ueWQ5QElR a25wP2M8KElNa3NOX2R1fFZ8aiFjVCpJNkJNbFhlS2MrcFB5JDs5ckEqJQ0KellzIzNJbkJSSGRW LWhlYkE5eDZaTGhuNkM2O21LQXJTbjtqMz9PPzFWTGQwKWBmc1c0Vit8aTR2Q2hzO04odH1MDQp6 enhPUkZEdGJmcDhRMUxWWj1qKGM0ezUxTXlhdWN+djwmfk4hcm0xdStNcz5sbWZNdUxVPiMzcmUx OEg+MDk5fG4NCnp5KGpNdEVWfWZpcktPTXtaRkZaPmY4QDY1QHZrUXxYdWBLZHBvaGRqdnk7Kz9V e2tzSCFobik8bFl1QloxOSZAdQ0Kenp1cjJEdEVzOTI/akk9aDdhaD1fMTJjMVMwKWFMWU9fdz95 KSQpJiY0UEQmczwhYTM+REVOS28reTNSNT02JUliDQp6R3pRZHgzJmBfJTRgMVhUWCZnS1BmQFFk TTVOUWtHMDB7QCZpbGJAZXRHPjx8eCZSI1hqPD9Ae21VKlIpYTtMcVENCnp5UHtDRztOb15xSmUm UHwlan1fVmYzbT1nfE1qa2FxJnp5JGNocipmRiUxeSRMc2JNTUJ5ZURgQX1QUCZ3dlV0dA0KekFu bzgyWUxiYHFke3pTfGZBMTZ9KEhgdVMqM0pGJUlLWXRWSTlMO0p1JGlpUzRfcEQ9bkdJRUBSaz9l MHxCRDRjDQp6WWpqeCtTMFpDM3lKTTdASCpSdzhVdXtyIXomRW8lXl96UnpoS0FjMFM1S3JhS0Ut eykmIShDNFRCbXxmQEhReGYNCnpldntWdWZOekZ8Kzt0M2FfMXpzYjJ4cEQmYWZCMF9KcU9SIVlj TDk3QFBPcGkzVU9pYjNKUW1waGEoeGNhVHp4Jg0Kek91JEd4Pkw1X047SU5HNzxmVyVFOVY1WW9r eyZBZEFYP2hZRT5vfVdLYShMK3psI1NxKXcpIzEzdTUlPVdtYk0wDQp6PGs7SXl3QF9PYU5MLSQ/ byhVd1R5c25YKVAqPVpla1cyYUY3SU44RnVgNTcrRjF+cXw0MHNvcUFybFBEbC1xMzYNCnpKLVYj dkAydVZOOy1mTyQ+UTNFRlJHcXp6K1JMfEMpU0V2NzJJKlpWUjdMeGhnc0RFZTkoekVSeExENi1M dWJCYw0Kej17c2dILSRpdD5adSRLbTBlQWt7SVhTUXtyWFh+N1YwYGQ9PzIwNjc/fjA7O2FAc2Bp VT0rQzBSWCNQZ1J1Z2hhDQp6anAyKnt1RkUmekBHTSl0RFFxSTgjbVVaNE5xX2ZJQTd0SjFrSV47 Znp8KXFaYH5nT2VxSGpmN3JNMiNWck5EaGcNCnpCPCteaWota2khdn1iVSYqOWZ8XnF6djRLXigx cEIpbERvUihlPnMoJkNKQkV6NGlBI3tPaHBgciFMSWs1Iz5TJA0KejdvM1Q1QXc/O0lyflF7MHt0 YW5AbVZLbVhmRyFRaWxMWkVTMlJDOGMkPEJUU1Z+QG5XQ3tQWVk0bDJWd0JrMmJzDQp6V1UmYUAq Z3I1WWIkVkM2SGczViVBJmkkfHIkbG4waD9YPH5lanhSa0RCVyUzYmprTDsmJSYzK0gxIyh0X1RR PH4NCnpQcGtXTHN5RnY9a3BCOHdNQ01KNDYxZDYtcENidE9LRn1MTTU5N0xYdF5BJnBSd1J3OThx ISFGXjhndUJXcVNKVg0KenJ+QFY2OGlOX0QpR3M7WGtDejBUc1gtVUhRMU1pXnNjIyN9Z0JqVlpU bFpwZV9NTjgzbFllJXRLYFNnJkB1dzlaDQp6SVFtXmspZzRkPDxJLWBYRGpQSW11T29WM2stZno+ fDMwWkFJfChrKFc8fFY2cmZpMnc/JmJWUD1FfEdZdCEzb0ANCno/Tk5Wb01xbTk0P2E/fihSeVc3 SzttVTxRTTUtWj12bkJwP2Z+YWNSVTBYdFotcSY+RDtMdTRZKjY1cTA9Kl57Tg0Kekp+el9rZUQz WmB3MH4wJWVtRWc/U1NMRn1SPnUqU2BnfSZUd000ZU1IV0lmTztSSihTdSloMVlkU2NFNUZ0VGJG DQp6aURUdUpyQSF5JmY9K15nTHxgVHRTVDE/MzF9TWAjbW9UT2cycWVgMl9reUpWUH56ZCZ5fDc4 K3pDWktyWElIdjwNCnopVUZ8UkJOfCE/MTZYcFYmZEp5KTttSHtyRkIjRF5iN29EWT56Jj47aj1r K1VUeUlWSDhJR1RKZ0VuMntKPlh2TA0KemRnalRkemdkO3E2PkdBN01FbEBNKndDZEF2S1YmU2B8 Q1g9dDAlcGVod1lHPmZnRXpxRCVBUDE2cD9ZNWdeN3NVDQp6TGY+NypKUyZrfV82XjIwZHk5SWJE cCU3SkVzdVcrd0ghV15sRWVTcU5LaW9tajxeM0tsY2tVaHpuS2lmWjAqPjQNCnpFXyEpeT1fRXdo PFN3SUBgY0lSRDJOX31hMz5MR0wySypaNkQ3ezg2dEVVcjZBZj5yVzdhMHZzRXx8eGJrPXRgIQ0K enpVa3Eha0NvJXVMYUNyMkQwISFHTTRkVkJuYHYqJC01ckl3I0E+UiEkUz1ZJVlxTjZwOHlsWm1g MmtuJUluWjtLDQp6NygzeGBFZSh4ZHpYRzI/Xj0+JmJ1fnAyc1p4Zz40blJmT1ZwVm8jY0kpSmxE ekxJJS0xI2YkM0JfO2ZoI0QkdT0NCnowU1BXZ0RebHE4JV5reWApP1VSZTJySnllcD0pPF5ILUpk T0hBJHFSc3FQTnw5YVEjTSliWG44M084Zmg0VkopcA0KeldDQFpSS090OH57I2RQNDZ+RjNBJENM dDBlcnwoUkxHZ0NDZzE8JkFpZVpfWShfbmxjTGNSTkBwdntIMyNNWkBvDQp6LXVTLXxtSSswfEhQ XlZAa2dVcjZpOEp4V0FEPWtTMT5hRT14O0ctO0k8VjV0P2gwSDRaSm1Ze1gha05abXAzbGoNCnpI UDF+S1k4UFpid05hPDY3Kj4jOHErMTI9TkwkJVkpTCtrKE9td2FxYEd3V05oM3t2ZVFZNXJlb28j MEc3bXFWVQ0Kelp9NGdmeDI9dHVVVykqJDhMZiF4Vip2ck13YnRKST4/SVRYV3lSPCpefXZKXm5k Pkx2JlZBb1c8b2E5QU54fENeDQp6SEk/eFJOMkRhOEsjNXd+I15EUjdWeVBDdUpCdWpremhpaW8y MiZYJEcyX1BTUTImOyRTZGs+b3MtWSo8QXJqQFQNCnpCZ1pZcWsmc1pObUZsNXdZP21gK2VMdTEz U3VIK3prQX5UWXFqU3ghOE9oVDUqZGxSY3QpKlkoUz15ISo8dnIhVQ0KenYmdV45MWBKZlEqJDYq cFFWQy11OTFLJCpDfE9xZ2d6QmxnclN7I2Q2fWtQOGprJDNfTmpEKCpiWFckQjE8YFpUDQp6TSE8 R0ZzfXZTLTcmMEwlaGE2bG4yKSZvTHdlODwycXY5QXZwQUZGR0ItRGg+dGhyJDJvQTdqb3NYcE5P cjErNTcNCno1ankkJkZUflEjaG9Gfl5gdGteKFcxYn1GQSg7aSlCQ1MyTGIoWUcwK3JPTElkPUxp Qyg3b0p7ZEVtQFIhK2Ztfg0KelVLLS1yYEcrNm0+UCNDWF5eZ0d3RmdGV2RiN05mWXp3N3EhWDg5 K2ApY3o7UG9OY0ltc3hUez9HRXhDQFlkVi16DQp6UU5NckxQa2MwTXE2MSZpZUFuJmY8MUVAaEJw MlV+dD8qdlhGbEQhIWxPMSF0MERHYiR6bnxyIUl1KEBvRFlWQiYNCnpuPmc7SnppU2xeSUNhcDV3 e2g1I2VHV1ZCJEoyPVN4fkFFPFpTOWpNYFE3Qk8jSUFBRygxIUx5VDIzfiQqdypveg0KekBvYDAh LTtweEklMz5taUx2SigqSzN7QUhUWloxckBzMmJ4UGRpN2h0Jlc2Y3tpUnpQTWxLJmZWVDFealdi ZWBtDQp6U0NSOD82Skd0O0BxLT5IeD0mKCV5PEwhI3k4NzFJNHVFaHBTVFphO2BfTV5yS3JXdlpr XkN7WDFpJCplJkIte1kNCno2bistdENMa2NeN1d3YWx2TVJ4WVlwd0E5ZV9ERXtfcXFNY2VRUSh6 akgoJXNaQEVjLXxOaX1VZCVQNlRuYjMyOQ0Kem4pPyFZODs4RnclXzcoKFQ0WFpuVk5eNXIjMDBj dD58cGFuXnopUVdZLXdAZnpjNyRWUTR0TmhtNVY4TihTZFBTDQp6ZW1qZ1gyJXZXcCUjSD0tezVp K0FkR2J5eWQtSS1rI3IkZWQwczgoKXBsbDg7Q25xRjctOC1DJiYrPFp5NjUjVjUNCnpgbXVDY21V fXd+ZyloNTd1NzEpfG1qWm9eckZ7OX5Jd1RkcEFEflg2V0tBe1Q0Tm52R2cmaHNmWWI2dVN3aGYh ag0KekhvaiVWO3Yle0laIypHMVFVbUR7S0RrKE54TzVBYm4mSkhocip4RmF6WFpqKSFFIztHSCNa fWotVzI9bWlIVG5vDQp6WDJ+ND9vdTd6a05pO2o9RzJ2TU9Ea0ItR0NeQTBUb3xoUTN2WExmQTY7 bVctMSUtPj4xLXFlTDxxO149MkZ9VHwNCnpPeDFFTTAjNHUrPChFU3U3SF89bSRSY1JFTD9qJnJK WCRFNDY5QjVFcEdMRyVFX2VVVUk9a21XJSh4Q3B3TShXTw0KemAwPkIxSlJgKylaRGl1RkMhRjdG di1ve25Oc31MakxtZ2FBQzZAbjdVMChHJiUjVHRlXyVTJnBMK1E/U0tvRj0tDQp6RHRtbHN0JiRw Y2tVeXRiQCMjUDBXYUg/Q28xO2FrRX5adms2I0FhT0FJY3QpNHBVNiYqU0BZNWByRXdIUChubSQN CnpnbjdOWEtEJVA0KCZNKnFSLShYYTBFU0ZqeXR3bGU/KChoYlEoK0olSEkoKGVXVj98VU5fJCVz KX5JX000MWM8cA0KemRsNStZVlVmb0N4NHo2e3VBJVl2NzNgfFFhMjIoSCNQZTdhdi00PGJDZFRA d1RDPkdCeX58REx0aFc7N1RYYm9YDQp6LTUmM0ZPWCUxaV5kUTJHblohUWBzMCZNY0d4aj03P04k M1JLRjBAU0x8VTg/XlUrcTBpJkMtaXhaI2F9KFAlNzENCnpvQnh8U2Y0WCpYSGpeZCRiXiVCSiRD JXBnLV8oP2t0QVUyPzx2KXEoNzBnZGp1P0owZElweTAwcGctWG1geDJYZw0KejI5eUtwY25kMmxL RCUqdFY2cFg/ZT5wPkU/Q1lCYz1fJWsoOzdDKkR7d054a09DKH0oJGt7NChUTT5QSWBMQXFlDQp6 M1Q3Oyl7RFlpUyNkO1hpenV4VUpMJFNOb0B+WXN3e2t7K1c3b3QqZ1ZvXnMoRE1sdlIoV19ufDtW O3ohaFJwczQNCno9KjgpRzV7WVJacmRsc3NCNytHKWt0biZlbT9KZGpgMmMxVEohSVduc1BAZSl2 KyMxZHt4R09rYHx6ckt0NUhgOA0KejZFJU8oXmJ+KEVVWGslaVgjPk4+TGM5SF9sbntjTihwVDRQ JEU7RU51LTdVRXRqRnpnUDV3I31OZWxzWiV5SFQtDQp6SHw3WUFyaEArRkxrZy1XeVFmNDZ1N20m Xk4pSFQ3TmRRPX0wQE1JeG9qZUshTWQ7ZHNfPWBvPGA3d30zVU9gY3MNCnpTcTliVmAwV1QpYXs7 aDt4VHpRc1pZeitwTWooYz5BRlE9RFNVMWFQOF9eU3B3XipldHluMztZKnVtSkN4TEIpMA0KelZK IShOVnNxfWh1WlZ5P2lfJEVUUEozajJka3lRa1NmbERXKmJKS3VuJHIlfDhVZE45Tjk9I0IjRmZx M0pYbDI1DQp6d1lqQDtFXjQ/UWJzJU1eeHxnPnpVWC1tb058JG9kN35kclpKcm9DWSlKNytlU1dQ eTJSVntuVCU2XzVBIUlSSm8NCnppOD1VPVpNPXMpY1lQIUxzQUIpZVg1dU1+e2sxaDhaQV5XRT9E a1F9LXUkK0dfTyFhUm1Re2RPYEBoWEx3cG01Qw0Kek5VMEUqYlN3YUE9eTxwN2ghbjJ7Z2R6Xm02 aGpkTk9zYTRCJD94ZWtkLTZPYjtYSEFiWCQhdWpXWX5OY1I5Zno/DQp6QXttJl5FNXk9PSZgSk5D dHJzVmgqaSZpRi0/V2xHKE9gNmBtRUxfSlFVZ3dCYVBzOSNuMCYxP3Z+Jkd6emRqbUkNCnp6O3gr UElYMCopIUhlM0IzalhjdXglaWBzJDFUU3ptSWhafEE3fnAtYnRGc0lFM0YzSjR8c0VDSk8rM05Q bVQ7cg0KeihgOHVmbSR1aWFoMk4+e15RaGU9fE1oTFZwMD9oKUREOThwUGktNk48NnFCUkFiVz5S fDVZdmM8Nk03JEt3YDZWDQp6eWtFUjQ7dlFCUz0kXiVTXiFJX2xoKzJgQitxdl9XYit+KkctS3FB bD8kIWQ3PlpaZUs7T3htTmtZTXZGcDJxNGANCnoqX1g5eGhBNExOdFFRKSZNNVg5OHtDY31oMWNN YXJ5JTgrcSNXbm1vJFF5bXk7KWZtY3xGWmQ/NiNsT158RTc9Jg0KemluRnImcnFPNWl7Q21uLW1B SkUxTiFnbGYjR35GUUxGfHFVZGJ1alJfVj8+SiMld0goKkY5aWtfb3d9fV8qVWFiDQp6SGMzMHBO MkNIN15GUGZsVmA/OExraD0wLWVFS0NnTGt9I3NlaDVJbDhJT0RLenJ6UFlsKENlQSohcEE0IVk3 Rk8NCnpjTkszaG5eVWJXc0c9RTVvRmhoTFIwMU5GPHhxTUxJbiVmdFBgZVVvV2o1YGNqNDVId1pe Y3AhYDsoQEF3bj5SNw0KekVFakdRNX01RFVJOSR+SWgqfj9nY0kpUWRlVVgzQkNqMmFXez40VntE Q0l5PFRII0N+Ozl0KEZQRn1Uc3QheGMjDQp6ZXdZdSVqJU80VklraFprY1dhKEBgbmJCb2NzOElo anViYk1HZGc/KXoqOTBtNjQ4RDZBVkRgMSktJUZrVFhPQkINCnpQfGQ3SHpDZmdTKlJMO2hBTkh6 X3J+cCFIczZ5MFpPQCshaF5kbTxgN21aJVpvZjckI01EdF9BbzRlbHRgJnVMag0KemxUQX4pYEow ezZ7QUZtaD5yPDk7QVMyb3ZhPnUpNFoxVGtib01jJjh2ZERTQiN7SEQlQ0JTOHxeb0M+Vyh7fCpw DQp6UmxXZXNfd2YwUSRnKmxPQzdYUjgmNDE3KyUyZ142M185KClyPTEzeXVQfDFHNDFlb31eWC1a I0JHUlFyMm9hS1ENCnpkI18kK0Jne0swXlVwN1c0K2F7MXI7JFBMOFNzal9HJGl8YkxnSXNWUiEw UUFTdXpyUV87e3YhXkdud1I5OUt0KA0KemJ6T1k3SEFAQGBvKzBMY0ZYaWt6bmt7ZVI5STVWfHEt PW1HUDt0UDJtTEB3aSh4bm9xNjwlQ2I3Nlc5fWZOeUBLDQp6RjR1RFdXWEB5P0EyQTd+RyYqVn1F dVp+elRST3R0K2Q3NVFeeXhLVnRRQHEjVWJnNUlwSzgmQSgwT3BMKUZxPjQNCnpFck1xQW5yfkxX dlN2SmZIU2UxV0BQVXlqO1VaMkF0OztRN01qM24oSDttPVp5RkxIWDxeSyhTWkw3bkcheWZNdA0K ejxsS0k+N05wRHw7PnMhVGBwSnk5TUpIZUAlfXM8UGdvdUIrVD9YdGdfWiFvSm8qcF96TW9hRV8m SWJWM3RAQFlpDQp6Q1olc2xQfThFK1lQMVhHYlFTe3VLSFVtfGZsTWQ2SjRAcmdAflFyYkpmIThw RDM1ckJ6c0xyVCMoWVQ3dTx2RWANCnpqVXRWejxxX2ZOJSZSXkV1YWNhWWFCcUY4S1UyVUpfYTVZ fihuYz95VCUzJWstTWJqQ1lneUc0NGlHKiN1UUApdQ0KekN+RW8wKyE/d1hmRl9tU0BeVkA5VVJH KFVKeVpvJCNacThqdHZjPnhiNTBNfipiUzhEdmRoJWYzek94aTRQUVFBDQp6NE42UTBtNUtGUExC UW9oXzNIfEM2TXpFJiRROTA0aStaTCpJeFUpcVNraEd5MUA8PjNPe0kwbUY1eDR+PG88OGUNCnpK fW9gXmtaa25Nal5LXkBwZjIlSzskQm5jTDVQZEQheSRgXzlqUEs+Q09MJUU7K35HPUdkSFo+K0VS dkVVYEQ8Sg0Kej1XcXEkI3UreitSPW5xUnskXlQ3YnRGI0leejF2VUYwUG5qdSViWUM2UnspUVZv TTJoYEtYXyRITEsmfkZgRjQmDQp6UHMoJWxaJGBZcXJnfmxoN3g7bTRRayNFfXtKc09tVDQ7M2l4 aHd5dFRxejBlMFhfb2BKQCRYV0B8ZTkmPEJiRTUNCnopdStqSl5VJmVLVkRCeWFWV1pvRTxWfH5V N3k1VDJAMFglQjtBWVR0dnJRU18xKzJkVmgrIzQpclc3JXojfmc9Tw0Kemg5e0JEX1Iodjtfe31F UlExSTF7KVN+UWtEfXg5JHlnI2NXSjRCcHhFU0NmR1Jhdkh8QlcxM2FOWlRVTkkta2UxDQp6LVpw Sll3MSFVNyZlYEhJVkR+S2dmTldZYGZ+UFI1ZUZoQkpGIVhAO0RSaS1PQEl+Xnh7Oz89KEpxbEtL QVApejkNCnpQZSkzTyVRUEAkWUZQOFhEK14lJUg8cmtoVihWbT00fHNsbkpofGFPN2VPO3g3TG0l RkB2PXZHZUYlKkY5ITRQXg0KenlSKk5KJWZST2xFY005eWxIYlNKUjMle0N4KFhmO15kdiR6OCQp Q0g7JD9Cb1lALUxNbnB4eGNkZUN0NDxOKXhgDQp6ZWFYU0U5U2ohVDlLSXlMPFc3NzR4NWFRKE9X XnBWYWBFbjI3SFYmU0VRaHxAcHU0UlFnek9sZkNxODIjaHg2d1INCnoyOGstamNVWTVwcG05aDNM O3QjKDJHUSM2bFdzYEBwKHFCfDc8KWVGWW1GQmdwQHdCUnQwUlBmRFhZRnAlRlV6UQ0Kem59NkB1 cD9KK1M5MiNoZGlWJT05X0pAZkgkS2ptQSQmXlc0Plcxen5acmgzWSVQfH5OMVUpRWFSK3ZiNEcy U3UkDQp6SF5DJTB7YTFxTihpRigrKHcjO3wrcmQkcjY4VTNSYnVpflFYRnojJFU1MSEmLVRwZFo0 U20lWl4hKG11JVEtZDYNCno4Q1Nxe2lBXlRBTStTYmFgSy1IbFRrNldqSUdfd2Q5Qzc5azFwSzBl WGptJTBeSUlhTTt8JFhCU3tkfEJyRmRxdw0KeiNvZmhhOSY+emVodEp2MDUpWXBXbDs9KjZWan1m UmlYcW9+fE5XTURkckw7YmFKSnQ3JDFtX1opMntpN0w4IUNpDQp6ZyFIP1Y5aFlmRXpaPmIyLSQ8 K2I8QXp0QShqVXdzSGReTztAfjQjMmNETE5yU2B5WFRidTh2ITw3Ni1ZRCE7Pm0NCnpqQiYkRGUj ZEp7bUhNKnB3YlVVRCpQZjhBJUByTldIQDdBelR4UXhnNm1HIVNUTUYlJCRsV1dEbFU0VktPJFE3 Iw0Kemo8dFZtbntrPHZDaXZRYWxKRms7ZXh3NU5EfTdHZW8/TTElYXluUCtkb0c5Xkg9fDgyYXpu OV9XcmdNSkZtITZBDQp6NEBWRUlpPz43Jkxqek9HcjU0YVo3ZXp0OHc2TnsqLVZnYzIkWHZKNGVa UV8hSTg8c2BueTl2K0ZvXktXZ3Q4czINCnpPZVFLQjtLQk85V0Z8RHRJK1ltKWlzZ15LdFJOdXI1 MVZ9am9VbWdQJEdRMWRpaUhud3V7YFY2SVJvakVRdHF1WA0KelpGI21YcCp0c3lnQkc/NXN9dns8 Nio+PjRUbytkZSpaUTNycF98OWJNbXttOzRCIXg8OTlsQE8qRXRAPWJVUm9NDQp6JnsmSG87fGAx TWV9TmhIOClPQUNBdG87XlhJfEJvJmExcFBweUxDQGBIJCh0PDc7b3U8fVktU2k1K1NVQFQ7ZGgN Cnolck9tUWJ5e19JWiUrRSY9WiZ6Pncrd2Jye1RHOGItK0l+cnhKXk5UWF5oVVpRX3hRSFBOQFJZ UmJ2PU9BYVAwPA0KeiEpSytnSFMkRmUqbGZiTypDfCticVc0VXxUMHhEeyhaPiVrM3ArS2NfOWJN a003ZVMlPWFjR2xGYW1yekl2WXJ5DQp6eSFDVVM0TUkxJW1re1NadFg/bmc2Xng2QmVBTmgwQlJZ Ny1sVypDfGRAIVV7dEo/JmZSfHN7NGlPXjdMcz4mYSoNCnp7bFIlTkI+ZUkwKCRJZSNvM0NGMCQw bj8jezVJRHw+c1VsX241NDFnQGdJJTtEe2lSeT0/angheCUxMVdFbjgtSw0KejE3YH12azt8Rmdq O3trPzJCQjtyPGBleFNwdD5geD4wR18/PFEwbmxOP3JTSDMmSlR7QiFzYF8leUFwP3JBQDltDQp6 SnAkY2dBWig2SitsVCN8YUklNntIVWA1fkRPTHBBY0Q/M3YmZzlVeUs1VH1TO1J4UHZBd0J8S3Br NmpLcHw3aj4NCnpjbW9kTTVnfjdnaiZ9PWFlVXx6a0hwdSQ5e1VCZHlGeiU4TGRZe0cpR0FWNFVH QWUxbilqTTRVYDl2cVdkQFhIZQ0KenZuKmZ+I1pwfF9uQyVkLXxKQGVrWDZ5N3MlWmRxYU9jUCNz WjJBP35efnBIaCU9KjE7T2wmRlRuKlB5VWA8eC10DQp6YnkwX1lsUDhCTTxvdlJBPUJGWmF3fCR2 Wjh+U3l+QjsobW14WWJzSEA8XnBuWmJZa3peX0wzPCl2OFB9VmNueTwNCno8QmUlND8lSVhVZCpO REd3VjZTXyR2JnlKTWNmMXZoIVckIXNlZ1ZfYW9IfE52I3oxPD1kLWNoSGdsb0JXcnxiQQ0Kek1L UG9zKzdgMlltUi0qMD8yJVJke0Z8cnxKWTZzITRkZlBReiY+WTElIVotKHl0UUV9TH52bDhwVWx7 WGtKI352DQp6O3NIM1gxfU5yaChZOUhybX5CN2pUT0ErO0QkO3sxcSk5VU1vIVgjcD51UnU8ZlVR SXVzKTIhZHtSfVRvI0RRSHkNCno+N2wzc2k+VjU+cGZCdzhzZFpYIz9gcUBXczxRJjtAXzMwR0Uq c2hQdUszWSNiMUNWdmQyezxYTnArZWRKdTdEbg0KeiMkTkgoY1A9eCVMKClnZmxAflUoTjc/Ykgt R1piaF5lbnJANiVwTSUkPWxXVmspXy1ZST5jJm4oWXA+THlpcn5ADQp6Y2haKyg1ZytjWXdWRXVA XlUzJTRNelpKbHktRE59NCVteztIdEgmVXJ9VVFUVGl1NUxUNWV5YTx7ZFQtPGghJT0NCnoqJj5F Vk9ucSZhZCQwNVQyLTZ+OTk7MCk/TzhodF5XNFhJVldFXislMVFqTFRtdzlgdUdOMVRyUVlDN1Rj Zl9rSw0KekhHXjBuK2Y5dVc8Sn1yXis9Y0l5JGBVU0lSZFJDZSMzOVB9RFQmM15yY2t1Z3Q0aE16 Ny1WKX5WWVdRcnZlSE1pDQp6Zk4yRyhie284XnA9ISN4I2t+QHlRZCRvKHV3eHYqMzdePlpIdXpH Sz8tfTB9ZShFa1VReHtndDVRdjJHSX05S3MNCnohRkErUFZ0dEsmbjVJVE5xYlE8JHsoTnkqSUl2 T35yJHlVUiRMSHF9WUFfMjBfOSZ2NWNDX3BCe3JzSHZ7SU5+fA0KekI3TSNzSX1BKzFSfFhISzhO Tnw8cnR6N1c1MSYyUUZfeFROcmklKGslXnJCSFRMXkk3b3xlMj9HclRrJlkqWXZZDQp6MHxWRnc2 a0clKDZ0WHxTSSE8R1UoSGsyVnEwNGdYVipPVy1gVnhndGloSzV3ISs0YlIlZTVXNGZjUlVCdXR9 PTMNCnotKUgjenteRUgwcyYkPytyVkZiKl80aG1EVkJFNGYmKmYpbXspWjghMmd2PF4zPj9YZXBN IVc5djx7Q2gqJk1DWg0KekVGN3l7Sk9oZE9HNVMpWigkdH1CeCM/enhKWnBGQWp7RW9DNmE8cDtn RWA1WDJnODxZdl5VenBSVWI+Y3hBYyYtDQp6a1BOJVU3MD84RV99V19nNHlSM35PREVSMGNXViZf eU1OKW1TZjdUWm1KWUVKSjsoWHphTn0xezg/bEp9IyhzbTsNCnpXfHYxNUlTI2RPOWRzVmIrYEsl fG1LTFlRYHY3T1dZOSkxQGJkcnBUeEE0VWVsVyQ+a0cxbWIoQUV6Y0UtXzt7dw0KelZ2OU1nOCN5 Jl9DMUtVWHZ7MyZ2c2pJbks/UDlrIUt3NkRvaSYwPEt3U3VZbUleY300ZXBKMUI7Pzwxd14wUiFD DQp6Jk96KWQ+fmtYWEVCdCpZVU5ZbE5ne2BPakdETUB0QHZCXk1SIW8hTDI5Q2Z6SlNeTShQSlU4 aU8xTVQhaG81bEYNCnpgJHB4QXpSUXFCO0N4dkF0KVJlTD1EeTdxMHpBfkYldmRtJSpDMkc5UXJj V3hhWnRvdkg4QVVJRCkramshKyYjYA0KenU4UE45eno8QVdaSkVQRUwodnZtdUo+RzwmdyNYRXpQ dTNrOXVPeHAzPHh+KEcyJlRrRWY1aDVqN3VWRC1tJCpWDQp6cilCOT52UExSPXA3JXhCKys+PkpZ YDNZbT0xY2JGe2hJZW87XyU9dmVSTEFOaDtXe2tQTyp+amg5WW09KGpwdGENCnpKIzw1dzQkIzEy PndsTURpP1ErcUNIPGNpWEZob3p3WF9kViU8WF42Y3VTUktGWmlabmI1cSZmIzQ5cCsmYH5jRA0K ekwqaT0/NF50b3dEV0A2Wlp2WH1YeFZfOHArTjFiLVk+Ji0lKXsqfmIpZnA4bEM3PFBvdk4tSzBm QlpUJEA+VTUoDQp6d352WVE5KWcrbU1OakpaTzt5cHlVUXk/RGduV1c7YVNqMFBKNE93SiQqdEtU P2NyLX17SGxDK00/MCNGIz5pOCgNCnpqKFglPGRwNGpjQlpOfVFQST19Ry13LXhec1I7eDhYMj9B SnskZClLcFMmSUw9REtgdTNFJH1jRW41Zk9MMT5XVg0KelNgOGFeTCgkblFOZFB7cnJWQy04VGxJ aVRvakZUb3MyfWZCT2lGc2NYc1gpfCNuNT8+Z1B+JlozI1Y9JShfK2xRDQp6bVFkSUpDXiVeViQ4 O1U7bGRzV28yVmJFTkdNSGNmNUJAbXRGTXImeSh8bnpiY0tPd2R6QFppQzQodXdKWTdKLXcNCnp4 K0tzMjAoTjMzQDhFK1V8S2RPVG9OZlpkRGF+NiVFUDx0ciRJdG5KekU0MShsb2JPQFdOQXdmdHJa P3deTlFjUQ0KenNJdGVIYEJJOHd2Y1pxfDI7S2clX1hheHxmej54UHtkWlpqX3JOTD50XzsoJjtP SDFAcWYjZWRwUE9DNkk7N2F+DQp6e0dDPFhjPEBufFN7WDEqWiVrX2lfZylDQ1ZLPFV2Q1okaklE THJXWChmSjNlU3kpaDU9cSFFKktwOUAhckY5b20NCnpnWl52NzQhc0UrR1haeDxZRDlpK0V8eiFY cDZyfkQrQyNlWWF9KDNxSnw4dGVXYTc0YENnYitvVmlUJT5UNzlZQw0KejwhQmNXbSojZ0kpUTsk PlAoLV5wdDltPnVHd1BVSnM7JURtYzxJUFYmTlczR3MyJjwxT0p+RkgoejUjJFZRMEZXDQp6R0g7 XmZ5cihhPz54cm0mO3VoMmhLcXA+RC1BdEZBVD5pZlJNNHFhZ00jX0lDU182YWphU1kxSFR+cUB8 WkM3YVoNCnp0YVotcU9PYUxtJXQ2b1o5WU9uPUUoMTBAREVoYUJRXkJ7bTtKKlhIWE8lXlctKntB MXtRKT1kZlA8Wj8hQWpwdA0KejdvOVNyJkhiK2NLcF9KfURLWlB7fEhjakxBJFR+ZTU9emhjSHpR OFJjeHkjNF9KdXQ4TzUkKjFUYyU0VHVoYTd6DQp6OH0mVGpoO3daXnQ2MzhIbnk5MlBSZ1NzZ0R8 JmB2JSF9T3NXTjhLKlRsfnlxV1ZKVnUwNiR5clNfVVg1UUpAT3gNCnpUO0RwZzA/ckcyelokekVH ViVCWmc/QkNjT3c4ZjB5PDdgWDZ1IzEpUzZYa3ApTX1GMnVDPyNLU2IpZTNFcmswbA0KelZqTT1R dzM3fEJLMHwpLU5OI2FMQ1MybCZfYEJoeylieW9uTmF9b2AjUEF4XyFuSW92USorM0pYMntWZnBy JlZqDQp6QEBEfG5fWk40T3s5RHZFN3Z7JmJYZz1aRVUxMGorVDA2RCUtezkydlpGQzx9Y3h0eyZ3 fTZBJD5mXnZ0LUlJVXoNCnpYN3MkWWU8aiYjKjhGQ0FMcVBzQiFSQEVFJiY0SHJtLW5JMTgwe1NH dHE5KHs5PDE2KkJNaCQtMmh8VGR0fU10TA0KelZOUFVrdTc4dERfTCVvMGBEbTVsSCREaFpDfDQt UnItTkg0Kj1iaEw3VGM8QUt6bVFTUGAlS0IkXk82ZHBhZn4hDQp6dnV3ZUl7fDk/JE1TSHdkc19X YT1KTXQoQkNKbShaY2VsPTNGfX0kYGI0cSg9NVEqZTt1bHMqZHBefTtfdEUtMUENCnp2MTtDWiF6 M1VxS1RVa2FQLS1tcjlsVnsjbDZLfkBpZGBrMzh8Y3ZZU3VqdlU0cHVnPl5UKUQzeHdGT1o4aW53 Kg0KekpxNDhOIVAyekFfTGU+e0hSWnJ5dng3c3hGQkVqTy10QEt0PTROK3lfYVZSd3A+c1dVKTVu Y2g2IV9qbXZYc0VnDQp6JSQhK1Y5MEJsODBVPTkjVWklbn1NWSp7X0d7X0EoKUlLJTxtNyM2XiRe ISo/NCRhTEMlekRpNGRkXkt3JF4qTX0NCnpYa0h2ZUhKezVvTkIhfDQxZlp0Tyg4O0N6bnxxR3xe NWM+dj1JNzl1eF9tVyEkQWdJVjRYfmt9PFBSI3YpRSl9dg0KenwxYyVVT1pIbzFudnAlRXQlJVZP Z0wmTkAydEE3KiojYkdKRzFPJmU7PnM1PF8qb2g/KmwwVj18Q0xyWj87dkBCDQp6Rlg7NDJDZkZS OUt2cX4lR3MxdFFDS2xTZE9oPSVzNFh3cmRueHYpR0RqdHZTYEpgO0xKdVlkZzUyOXQ3LWZaWl8N CnpoSUpLZDdCPEB4PSY3Y1FjTFNfY1VqJGJSYk5oIyYxM3VKaThVbHpMV2k3NFApXj5FWHpwa1dQ cDt8QkpoYilPRw0KeiMmRWkoOCFwdmRzcFh5Vj1pJHtVcDBoQWdpNWheV2J+MT9IezlwVkQ5WUB9 Z3NwJntPP29HZX5kTjx6fkpLbntYDQp6K249JiN1dzR4fVFyPl44Mk82bipkcXc7bUVaNypWYnoy bzttQ1ZuTkQ8elZUNiVNPmI7JWFVM3cxcFold2tJZTYNCnplbWkqV0NnPk57dmNTVX5MfHRePHlu amw2aWplQ2FAPzErX2Y5aEhtNiM1R0Z2bGNLWFk5Jj99UlFtTmx5WS1wUg0KekFNI15IRzR7RT1W TUlYeTFLQzZMOX5gTkh4SUwwUEc3NE9xS0pMRTcyRW5jSzZTSzJrWWNtRDIzQXE3NSFzU0N2DQp6 T0kwVikrOWIlOF5hazhOV3o2ZC1rPExkPSs8JHpESDx6Mz57ZClANDJsKVdKMkE+R0g4cCk3WFEk d1cmISomMygNCnpoNj1YMFFtd1dYOVhIajVsMUB0WUdYVmhHKS1abiN3TnBQUXAoTmkqdGNDJn09 QHNfOU45e21ePG4zK0hRemx3VA0Kejh4fFpaVnxWKC13ZDRHUGFQTjtSKjZaPTlCXmRWaENnZShN XmpXMysyamR9a3UxXk93dXlRWGhKanAzMmhIUHNmDQp6NkRJemI/PjdhQStIZTRebk4wJUZVeHs8 V19pNnckMFRCbjZ6QUV8dTcyanwkU0RwUWt7JSY0UCQhNGdMc3M4VjcNCnp7ZTNgaHYpSVIpfDZJ QjUpTE9YWmJFYU9XeEJ6eUszcCp7S0w3YEJ7TTU+UjlwYGpzP0chNkdmMnIlKHF5ITJMag0KejVf NWc9K08kaSRrOyUtMU0+K3JwdjJGVVU7b0FFb0NvZCtJNEFRZDFQeFQrYVRIcl9RKFhjeHRUODJf M1JPNSVhDQp6Jk88VH1xWnQ1X3FXYUJnPmFPK3ImWUAxX3UkNCNANktyNXJgdGdaIz9UWTRLdk55 MC1Tbz1XIVhtMnotcVopRHINCno4Xm0yY0dPWVhTNDZ1eWhQNF5QKj1tJklOSzJHMjxAQXtnU1J5 dGBYM2hZTTFkS15mVEwrfV5OTFpeeztFTnBmQQ0KenprM0U/aUEpY2xKemtWLVNORzNgb0M5NGR2 RWllMjRUbkN9ZkFiNFNDdHkqUnxIZDNGc3leK1Rve0RZZXZKcT0wDQp6ZCopMnYteE5LbT96b01K JE8wOGs1SSVxTEFgb0MrdTJAKVVXZ253UDx1QFA0IVVHJlBZalZUJCkoJmtYdElsNTANCnpKfTFX TjM/dU5QMkZfMldZVzs9Y1pObUR7SExsKVJRUnorfUFwKHw3UGZoV3FSO2psRU9pK0ghYXo9SWJS KEZVbQ0KekZeUW5iPVZeYUdvVmklcDVANWRhc1hOJnlPK3NweyMrT05mbnJRYXQ/VUJzfS1fZ3xB YjkxJGoyYWQyam50Kz1NDQp6bmpDeigxSnNIYWpvUzB8YHQ+NjtlU0xqQGheMipBaCpWcEc4SVkj Y0YqQThAdT5pWTxHVn03RGZxUCllK0F8U2cNCnpxczxDKCtkbmJzKjV5aUtmY3Ymb0ZtK0N5MUJU YDYpQkBKcUc2KXt+ejNmZVd1JXBtXz9FKGszM1Jjdz5VWVFtQQ0Kekk4V0JtKT5ieiRmdkR5bWQm cSt4QH1zUUEyYzxmX3NHVSlKdnJSfjw5YHlEOUlXPmBHJD98YHZDZX1NMnBmSE0jDQp6aGVlQnkw MENgWFZeRUchc1FlazxZfmVSPTQoUX5xQFUwWHpneS1wXkxqZjBgX3dLWCszUVVed3pYcnFjSjVW ST0NCnolTEZwaUZYZXBzclk0MXFgK3dUfCVCWiY5Wl9VYiZ3cGMwZHIzNEFaLUtCKlB2YGAkMXlM LWBLck56QmlAblhlRg0KeiZ8KFNEO3ZQSVdNTmB+YlQ7fFozfElENFc/d3kmdCo4TW89M285aCZK P0ZnZGV4SlNmdippR3dNSTl1eD1yOyFGDQp6OTZ9MUhOOzNpZGdPQDxUSThiK04xJmpAM2NzX0Up MXEhSE10RXMqOF9peWVtZUp2ZSs0UnFmTDQqKmdjTDR0eFENCnomaSs2b3skZHZhZmp+fmg3eSVO a1Y4WUpPM2lKTllXRChGSzsxJmpNKDwkJWs+STR1PGhpNmMjYG1YalErYFl8cA0KelF+O0ZwYDM4 YE9YI3JHeGNYVntmYktRMFRhIXNfejE3aUM4S3gmKElgSXxNQDN6Z0ckNGBxRGNOaUgxc0J0RCNl DQp6cFJgaERuODx8Xmc8QnF9QjNFTjdeaj1OTFReWkJJcnBKMz5ZcC09REVaOWFETHdlJmVtUXBI KG5nOE84ZnxOfGINCnpINHpWRj10V0dBansoWXYlRWwkQnd0RFl8NU5DZH4hYyV+Uk5Gc1BMcElr YXh7RmJFK20yZSptTkNFR0xPLSVTWA0Kem9keGQ5MldwT152dStNQihPdCF8WDV9S0hwRjQ0YWY2 TWJyQTlUM2pxO25TeGFeYzJVak5LdXRtLUV0QG9wXnNaDQp6KFBWNCliQEtiaVM4cmp6R3ckUD9l Y1hJdHcpcTh7ViRqPWV5RHhZb1VWfURMSk82UG5gcz9ob24zNldYbWNXNUsNCnplQz9tKnpzSjM9 PW9XRjB7Zj0+JEAoU1E/WD5pfVdwclk4fV5jKW5ISGt6PzM5WGNFNTl4VSV6dDhZY1RHZXMpQg0K ekgyWU1Qd0ohMTEyYkEjJkwpWW5BSERCfVU3dTxzQ3U9LVNDIWdkYT9Hb2BUO3dtQG8tOUpSa0Zi al5Ddmk5bDYzDQp6NThuR0ltfVJ9fE03fFVIJmI4X3oqeW52MWFxN2lNcUw3eDJGfm1zKHJ3fk42 SmFmOSp7PkNuRUViWFI4ditkNFQNCnohSD93WTNHSzU7KlchQThuU2pXWk1lUW9uRFo0dFM5ITl8 ZDlLN312V1BBPWhzPnE+Tm85M21MIXpSOF5gUUZ9WQ0KelRJIWVBamFRVjFNMl5gKWk8UD5nc1RH ei1VZEpgN0J7IT4/JlBUQno5TiNJWjdRfSpFb3JRRCp5d2BtNDZldzwzDQp6ODcpK0BAPihNXlV0 YFBmSFc4fXwlaT08Tj94Y2BOcnBDYVRgfW59ZUBVKiV5OHUoayZsaTQ+VUNjOyVgVm10PDANCnpZ MTlrb2BUPit7JVl7RDhoST1FfVA0fnFLKnpKYmtYPXBYb1dCPXRWOF85RnE+bEw5aVZJN2oxbnU5 MXdCTWteKw0KekVsWDE1QEFwNm53N1ItX1BrKD1ZWlNEQj4/d3J9ejRARGY3ST0kWWtXQ0l8eGFJ RjRKPkF1bmM0ND0tSnl9bVp1DQp6VkJ+dV9LUHU8VDY2RWAyLXFtYGIkaD1HRnVNYUd7YyN9NyRq SDlrQHFaNVFMVEhBekw+VnBUKnheLSZ+eXNqQ0YNCnpMNz98WihrMWR6Nms/dFpuQlhGeHF4SDE4 NEVee0M9d1k+KyE0QnU5cjxRdSFlTnNJampEMVJ3TUMtZ0UkfmwhZQ0KemRaX0hNe3MoRDIkK0F3 JCQma0JrRSZncWJ6cG9JKUpONWticlU4WGVYXi1YdndwMEckWXBkIVJjfFpRZGZ5KT5xDQp6P0JJ IzR0OD4qbCtOMExzTGItdTJAYERXKzdNczJFXm9+Q0R3OWVZK0RpbSY5aT10KjVNMT88ZC1MRjJV KE47dmUNCnpgfDB2MDhsSmhFLTQzaGo3TTkzckNSeVkpcnVGej4xX2E3fG5YNmZsNkhVUCp7Y2Fw QGNPfVVaQDxnb3hDRkt8VA0KeiVGNDxPdk51YWZISkk3U1MyRkR5JiltQjBsamJoS3dRbig1QV5m dnhaZnFMT3tqb3RMRjF+SUAydVVnfEh8YChtDQp6V3dkflE9NGxtIVl0U2ZfLXFFUzVNeHhXWDUr XllqQSElZD9WSSU8LUwqQXhGaDFwejxTc2FtSXRWdyRVKktTcEkNCnotK0ExfSk+WSRvdD10Qmk3 YEVCSE0pKTA0UGdkRyFDM3xXOTx7a1hUUnFkLWw+TUR5aDVKd3ZAc098ZlUoS0pHOw0KenB5OEsw OFJ0M1crTW1KZmsqUGBPYWd1b0YkOW5aPzxTeyt5ZUtTS0NRJm9kRW1hUlhzSSRYWl5INDc9X0dp eXx+DQp6MDBPckArIVNJM0AyKFB9Nzk2eHA+SjA5NTZDKF92T0s1OFQmPjR9QmMjS34rKylFXjVH KG1haVllRWBRdz4xak8NCnpmeXJ0N2lLXkk8b3gmNntMbmozYz53RVFRK0oqPyU9dHJaa197R3kk bGttPTlPSEh5X3BRUU9lT2NvRXxlUn4jNg0KeitxPXBzPiM3JihJXj18bih8WFpkSEZ8cCFSQ1Qm NzxDNVAmTGhvQnpWKFQ0ZXArSChhU0lhM1ZAYTd+Pz5XOykjDQp6VEVLfH5jY21gN0Zpb3N2UEVM Q0lPazZYaUgkY2g+QSNnIWclbCgoVHdnczlOY0wyeFo/dFZWcVJYOEJmaTcqQmINCnokbjhpMmMo Xi1FT2lXb2YzKVBuV19ea21iU2syWktlVmFNUkR3emRkezlUN1B0RHpmUFRjPzU3bV9XU0dOOSU3 eg0KekZCK3tTNU5VeFlATnJWZzV5PzB1dn0xeldNdzF5dW11eDxxVyQ7OzNQY2RSeXFGMmp5Xj9f Si1pYXA3TWE3K35SDQp6cil3TiM7Z0NgUStSLWI4JUpZezRgcDY/KVAxQ0R0bVp2VG03SzBMUGg0 czNtTlJzVkt2fnghdmJ1QT1FeW83c24NCnp4QGQ5WXhaUTkmRyVgVkIjKV5gJmNULWlSLWlycjgp IXRVUj1mJXdSI2ErZm1hRis2a3p3KSF0VCEmdXg/VndISw0KenVDUlFDRjxwMT8hckRoTDhRfndF I3cxMUoxcHp6WmxqSXhVcWNAUGt0O29RO0ZtdjNyeTY8bENFcVQ0PW1wenpNDQp6bHlJRkIzKThX eyVlcDE7QDNIcmJ7T249XlVYSCExRkY2b3Q2Wkh8QDJvTy0xdWchTU15SzRqWTRyPn5jKndxKT0N Cno1PzRMe2B1dipoUkEySVEpNGtFclNTKjlHdW5YXzFjT0ZUbSNeK1FxMFNfTjhhUDVfczFhJjs2 aSM1UipiYkZTKg0KeiNEYn5kclE7QWEmZVZXRnFkNnBzdkpkM0RrP0tKfVVrbnZAcjMpPSM0Zm1V YndVS3ZzYE98QV9BS2tway1fQFgqDQp6YSplTDc/U1BNa0wzI010ZiolejE+cX5GbV5PKDMkbjV1 bFkjX3pnbT9rcThTaSp2fXRhb2QpUl9mNTdYdSZ+STQNCnpNZX5oaSoheXQtZTJAY0dxdHA7WCk0 Sm5oZXBAYVdWUz5yK1JsfWk1Z1dMKHhuU2QxWXlHfGw1SnxaQHJpQldCQA0Keml1MjU0OGImJSRp Z31IUCs8fHVZPVdeVU85fVVPe2UwYjxTPG5oNHBxJkkmJUF8TlA8Vik0OG5gd24lemFNczExDQp6 TnwldkZyfU5AWEtSei1KSyhJdlZsQWIlR0huIWFReV4jJXIpQG4qUlM7R3RWT1EmX2xZSHB5QT9J ZVcmWEE3QWsNCnp8QlVTcVNESStVJm54KkNwKV9KT3QpM1pzWVM5QGYoTl89LUlue3RBZTBZZms8 MH5fMTE0ZTwxbjt2bE9MMnVZTQ0KensoKDsmLWl4QGtlbEkqXjhBYW1lV1c1SSpzJn5Ta1B5M3Yx PlpqRU9ed2cyfWlJQGBMSEdycDV7YD83Jmx8PWlCDQp6MldLWWckaHo7KkEpbnBMQXFGRGhXfkok fkV0K0tANUx6WXwqYkJDYHtHWXlgTUt6fXBQKk1PSCVgSWxeKVNLRFgNCnpGTW8wPiR1Szg9cSph anBeUlR1LSl6emUxI0VvfSVJV353KTt6Jl8tUyR1WG1PKlE+VmAtalNlanNvIUBlXnVKPA0Kekg9 SGlwIStPQXY0JTFZOSk3PHdvKWU/VDxyJXZqJjcmcUx4VCtmeFJqfkQ3dz17IXZ5Wn5vMCM2fG1S anBHSFR1DQp6bmg5VngrV1ZnaElNPFAlRWFXYChjSUlIKVJvJFhEUzk5KHQrb0JATDRJSHhfSUYp dnhZK3tPZDZsfVEqJVpIZCsNCnpNWS09anFiOU9Gd2BtYjNfbzgqT3hpP3BCVT84fSF7bzdAKHVO M3hsTys9TSVgKF9WU0RaeTJPaDghfncrayYrbQ0KeiVaV20xejRuTWZPPyg0QThHOCEtb2FeRile YkM2PkxrK0V7XnVuVWNqKDw4b2skbTxhaiU1ZGxvZiQ/RDIrLV5JDQp6OW9qeCV2K0xKPUo9eio4 UXE3cGs3YEZhYVNtU2gycVlUJD0lajU3XjJ2Tk0tLTcmeHtXLTdGV1RkJHMmNGV8ND8NCnp0UVNR Z01+TiRMKmptNHlRdThzI3s2VyRganhuPkUxaFZgQzZMNzN9OVN6Vm54d289cnJfU1BHYlYjV3Rq I14wZQ0KemhGVCNFJV8tXnslY2hKKExMJEgzc35mbDlFZVYlYjF0aXJlTldneHcoeVM5RmgxME9G YEREU34oQFEjQTtFO2FPDQp6WHtlKm8leUl2LWJyd1g/UX5ZcmxFXkplWGxEdzk1ND58aCZHMGp4 M0prYHE4d2F2ME0pNmMxNiZVUiNlKGJJKWQNCnpfNClPWFNvLUpmUGdmWihBR2UyUi1ZVlpCSisq IU5QNXB7Km4jUGRUJCU1Q2NadWZ5K0xaSlhMbHRPT2d7YkwpQg0Kek43VjlpJip4YWNjPSEwfEFr bk9II0dnS2kzeCFtRjJHb0M8KCNyWD92JF9fajxfdnFseSNoQS0rVGB4N2hyR2Q3DQp6Wk9XbEJH RiEyYWQxO3EmNF5Za0pTMFpPYUFlX20pIXA1VnxDYihHLXRQKH5kTkVQUFJ5PCRYMiZ8Y0FlNUF9 YkkNCnopOFE2RkFpZ0x3aWNwP3NgMTxVNHVnNT9fJH1CQ2hHRjIkaEpEPnNQPEZJQGJycyZJO1Z7 PlE3RHMpKUJCcGYoQw0KenNwTSpRYH54VmFIREdmMTVZI31DbWtAcjRkSUkkfVU+KjZMQVFrfnc1 QmFsJiZYfWhxQnV2TiVtTSNnOF9AYV8hDQp6PVNkRCYtJWRDKWFHQkt5KUk0VlkwTSQmKEMjXlJV b3swSkZVMH5jZjVgSn03dnRVOTdDYDxmdFN3QkJvPWUwMDYNCnp1Tz9Gc3ZmI2RMeVVrKTk3K1Er X15zRiVUbylXYDVMfVBhOHZOJVhJO0F3KX5Le25KbTthVmBnak89N01SYHEjTg0Kem9vfVEkZGp8 PTZNUTVzYVVmRXhaJEFeJSU4eXY0PUFuUnxmUCFAWWttblohQitEX2t9aGk0fHYyPWFnQE00YkBa DQp6WFNadklVNEdgVih1d05gSH17TztjRG1+YVdiSzR6KT1gT1J4Xyg1emJELUQjY0pJe1M0c0tQ a0w3NDZsTEA7QVcNCnpEc3NnUFZWeUItKnZyM2FkNX5CLSk8N0FfO1UwQkBXTlRuMFV1dCF9KUg7 c3gkfXdMfCQ2fEM4TWF8N34mZndvKQ0KekY9SjlhZF9WeF5KbE8qfm1remd0JiQkNjIkSnBgaDdI LUJOTVNNMzJCX0huVUl4PXolRm9mMG50UEYjajlXV1grDQp6SCs3TnQ/YjxhU0dSIyRgKzluaXJ0 MDkrZjRhRl4kPlhzaWhuUUomViohbDs4UUFxeGZ6OHpHMnM/OERkRVZUMXUNCnppeXVjdVlmVFE1 Pko9RXttKkdYQ0hyeV4pM2N6SW91cHFxKXVzc1JEYiRhPmdSbWAqQHd3aVZldVA8STVGPkxEMA0K eiVAT1VTdTtmMWQlUHZwYy1FMSUyUiV+IWRrPShQalQ9czQjYVlpZH5gP3VgSUM0Y3xeT0J4S0t3 S0c5NzYkVDIhDQp6ZEsoQmp4JXB8elFub1k8VVdpLUkmc21vV05RYGlvPHFATjl7azArPjN6M2V4 ejMzI3x1cGNQUGU5cHFjamJOa2kNCnpRfW11dV9lX3AxR1cpPn0zZX5MfmN3WD56KEBXQV9wdDtW e1Z+YFlvUFZ3bHttUCtMeDJhWHglPihudVA+dXtDdQ0KejxzcC0rSThfaVc3O0gjO19jeHAwM1hF K2tHY2EwIUl1SWlqJW5JVV8yVGFnVTRuVSFyYSprdmM7T05lNSEje0FBDQp6I2pJTWNIT3ZAfUAw MXFzSzRoKGElSn0/JWp6dyU/KVdlYHNxO01eNVlHQkk7XjtLPHYlPlhKcmpxPGliK2FAVz0NCnpU MnVsaTNlUG1LRkBaaS1rSjhmOHRofF9oPnAzej9yWWwlb0xsPkk4IX1BKkliJnN9MC1AeUh1PU98 XlJZWkUycA0KelBAVilxPHVUaTNab15aVTVJSktlUiNPbXxPMnhmcDdCeUUoUSlXKSFzdkp3UDh8 WT1tcilOd2VKTiolNGJhUH5VDQp6O3E2RzZGbD1KU0ArVjJTUUJmfj4kbE9ue2okYkUlZTREMVZu cXllJjkmPlBYXn4mezRaJHEzJDNnTChyUFM/ZFoNCno8Rmt9bGJDN2xvJUcmaWtxQUVIJVh6eGVT SGspI3JTKDw5djskPW00ZkE/dT5TITNULXdRZ2t4aTNWTFFqeHlWeQ0KelBXUnhQdjRhR1FgY2VN dT9uMz5OYm88fEVHaT4jUnRgbUFrY3A7TFQ7biZmVXEpdW1CXyVxYn56fSVLb2RVcDVoDQp6cXAh VDRMSz88S0ooKXhIJSlrY1AhTjFxYy1zd0tySnlNaHYlfWFHOWBXcXw4QH5GYmNjI1YxRyR9b215 NG5ycnwNCnomZGtScmw2U0kkN2heVEZvSG84S0VUNmN6d2FrbUxHeGBac2NEakR8WGVfRiFGbEJV Z2VAZ0UtPitIP3U1P2ckTQ0Kend9KFZoQU1PbExrdkYmbkA8JkFGPGd2Z2J5WGohKiNRdztwYUN3 I25ZXmI3dGUrZFBlditVanJ7PkVnd0dueU85DQp6P24oVEBqdXomZ3lyNlhfVjBKUGRTTGM2ZStA aFl1UiN1SCQ+QiFFeyshbHNVZ3cqNnhyclFfODV5UCZgPDw9UUMNCnpAfldUKHVPQmt+ND5mZ095 cVYkZ3EhQWB2SExuWiRwRWxIKzdjNGtQO3t8PDx5QWU3dDtxeG5vVUszUXJPTzJPaQ0KemB9MVVU LTlFTkloPjt6aiUkSSQ/b30zeHRwYktCdVNuKGw1YHhoRSklV25qKipkKHBpVDM2I0tKa3o+VDFF ZmNsDQp6V09PJCNAIUdqPHljfHVUR0l3cElyYU1KV3t2PDdMdGdZeEMyfGk1c0d2Zk1kWTwpKD5y R00lV09eY1JJK3V3ITsNCnpzQ21wP2dsJC0rK2szcT47PmxoK3ZMOyQ2M3gmRiRFVXFPa1IpKSUh bF9DVDI0OEpyVSVXODkjZlopWUpYSTFTTA0Keih+MU9Iak8rKHRCO0BgPlpMKDdOJGQ+Nk4kJnMw IT8ya3BkaHVXK2VYaTExZ3JQcGREQk49KGN2K182e0dEMilwDQp6cF9lUT4xV1U/O1M4XiRHYmlj QE85QnBqfWomYlJYaHV7OG1xIzdPbEgxOUptfDc4SUFQK3h9RlQ3TnokQmM7aSENCnpTcEprZUdH JWNuS19rYV5fQSpuNzc3bktXbE0lZm9qKXJhYj57WSF6WG5xT1IzeDFSVi1Ia2c2ZX5jJWF5T302 ZQ0Kei1EKDlRN149VFc4dEctYCFnJSZBNmt+YChpTiN1akApfUN2KWszPmA8Q21wKSo0SzZjblN4 fShzSVV0SDt3dXhmDQp6eERIPj9oWTMjdCtAcEtpT2VmXkM0eD82ZCRGU3pWaUBaYyNGZXZDMXgm KyY2P2hlNXZoeD5vXyMlSkpsbXh5aGkNCnp1QyhSTTJZTmlFJXRvK1doTDcoc3Y4JkxgZClRUWxz SDlMRm1KWiE5aTVYYiFKVTMpRlZST3c3XmAxJTdRRUZTQw0Kek1ePWtaWWREcG5wb3pOc0k3MVVG KDxkKGYkTis9blM1RlApWl5PQ2hgQ1BPRHotKj5vKjQ2eGhHcFM4WTtYUSorDQp6IV9JdTd5ZXJz bHEwSndUOU4wUEBwVHZle0ZAVjd0YWtMZSV4ST1oPTwzaClobD5nOU5OM05lPURZbiZSXzskM1EN CnpxVHRnNCthSD17Qks7IzA9RGlGMnoySElQJnYwS1UqUWxKOFlsS3dDVXotK0hAY2wlcD9aKy0j S0JjcSE7cmI5ZA0KempYMj58bytBWiFOK2IwYXdgbEFePkBoTyFIKCQxfDN6aDBvdT1VJHR0enl0 SEQ3V3ZXalM4fGNGJTwpZVBxYi18DQp6T3h8ellhOzIwb1lUU2JeJGYqcHVQNmB7PUArUi1jTkA9 XmZvdHx9Zkk/eDB1OVllTFdOQzZofGomUFFXbllzQ14NCnpPQCg0P3UmMHdHSEQ+KX1mOUA0eTRI NyY1YSl2fEN2M0okK0VBdzdEUzgoamVnXjg0NiFST3gzRm9fVHN2JDBnUQ0Kei04YXlFeGM0a3hy amJKb3NIWE9Be19tTTlhemJuXnAmIy1hK1NNUUBUdjU5Yjd6ZlNiRmBKQEZMM3xjKD9+TXc2DQp6 UiRxTSRMckwqPDVTYntuVUFefWNFalFYPlBEdFRmJkg9bUl1U2FsN0ZKY2s7Jj0yV3ZCcmdqRmA5 TT1vSXR2YVkNCno4S15rdVVLPGlCM144flNLSUg9e1dLMCEzcFNHTzBNTlNlLUE0YGpYdytaNWpS eFZ0QlYlSiZ2SCtRUkxLSn1vIQ0Kekk7Kyt2ZD57ISUrd2g1cDFUT3MxWGZhQXFRdCNOJld2Myli WTNgej9yQmwwU05Ne1VIT0Nqdz4qQmw+WjRZR1lnDQp6aS1fezQpQ0xBKmYyX0VQI1puLXx0QWNQ Qj9hUClmNnpgUmFQMWBzNyg2cHg9Pz52KyoySytISEZFa3crPD5JbkUNCno4ckIlRj5lZVdGYjZj MkEzPElub0h9bTtfYWB8MVomNzMwKkFCTSg/ZzshQVloYztwS2g4PjV7QEBERnlaUVlvSw0Kems7 KTUmQ1dmREllSzVDI0tMfXJpeXU2JDw2RjtIail1VlBRLX5uT3ghKHQ2VHVqJGg2dDw5O2JXQmYr QEdocyFNDQp6a15lWTEpT0g8U3dQNmh0ejdAcyNmSz5Caj9XIW8pRWQpcFcqQDlMISN5NU01SHdg ey1wM0khSFooUShjWHxINnUNCnpBenAqR0V8dE8oYH0rMXxJXil0KEVpaHIwYm0jMW5OMVFZQUhL elNIQks4PkJ2KnRWSGJ1Y35jZyVebWpTaUB3bA0Kel87ITFYS18kPloqY3dlTVRucDY8cVkzK0ti eFRjbmtUK2ZIRHAwe18oSG51RGh+fWZrM18tYGRzO1pIV2c8QXRvDQp6XyFkJjQ7S0wpa3JLVmJN Xy0lVkA4byo4bCEodFhZa0xiZWVuKTZNKXU9R3hVcnMqaEphKWUjKSRFcHJ6ZSpnWDMNCnpSOHRl fWJ+IUd4bjxZQFZXJF5FTDRPZTd4RkxpbkBzTnYxM2lPX3EhSDcmQjQ8d1lWRXhwb3dGOWVXP3Mm S0x3Kw0KekY2MV5OXlFQKzdOJHZkYWAra2IpSEt5ekJJYzRla3YlZ3QwTComRE1iZ31CfTdadjVm KVpzWVdRRE9oa0IofjZsDQp6PT1wU2xyc2ZUfjJXe1pqLSMqPmgqTSF2NntRd3NzKzZwaWROO3lF N1B3fH5vUSVLaDxoPzR8OGxfRW1kYXBVWGsNCnpIRzNqa05AYTE4ZjFYJWRfaiEpU281YiY1UGZk O19uZ0omYio+IUhiYCsraSUhWn5FOV4zNFY3am5OMm52bGYxKA0KekRfKFowQHo/Yzg1Q2RGfnc8 X2ZPTFVeLXRTYEhQTih6NG9qXiozKXVScFd4d2tke2VKJC1PdyVlRkYkeiFASistDQp6YilsaDU1 cERpQz1ZRDkjc2lYfT9mfmx0YnIzSk8kXyNgUCQ4Umt6Mjl1c3BJQXNkYnNaYCl8KEskUT8kUGE3 MVINCnpiVCVXeWNYT05HVj59YUBeN3o5IV5MOFVvVX5vbVpfZ1pyLWdXWC1gaE9MM1hyQE5KPVRv TzxpcllhUitLaH1Mcg0Kekx9IX1TPDx4NVRUekNCSHlwbDEwP0RSVnFQJjU3a0liJSg2JGlUWVA8 VH1YYz1vYyZsSGVKZ3tzK30+VGJHOWEyDQp6b3pucnxFPDlwcGxTTCEqRHFNJGR8SWp4VCRGaGFL R3hkWDVJQE99a0UlaV4mVlo7RVRHZjh9eU9ZKXVTPzF7YVENCnpefEM9I1VEIyZ+S0hjTW80fGpU JXgzcURHP1FlSEshYktRKjUmZ3h0eT54fU40aitOQ2VxM3lBc3tFP25DKVpyUQ0KenVrenY5cXQ8 cUE1VEBNM3tufEYrTjBpRSlKNEN5Oz8rRE4peHQhNis7Vlp4Z0dxMVFGYGIxYTxSRiV+PEckNzZo DQp6bDJYdTU+aXdTZkhkRlo1Y0ZsRj9VQTcpPF5EJHw5ajV+Vj5ZM1JSRWspMCM+bHB9OFMhZ3I1 U19KJUxee1hzeVcNCnolY3FpN3NNNXB3WSpyXm9WaFkpa0Y7PV5PPGJBUSZncGB5aWtNbSZgRD1T Jj1GSSN0TGFtazFVOVpXPUNXdTh5eg0KekgrfGpWNGBiV0leTDh2PTRoYD5sS3x6dWBGNy08Uykk O3VjZXN9OXNWVzR1bChpK0E1cjNraEk2dkhKKFdjPHspDQp6dzdoLWIqPklKZHExOU9UVz9YWV5H RCN3Q3U1bV4wKFd9KmNCNUdyTXljVTdhMCtCeFVmaHNMRTtsWTFreyR6KiQNCno9emxnfT5nT2Bw LTBnXkRiVUgkV3E4P3pxQnAyMGQhYTAxbmtrI1dPekJpPyFWb2dibEQrOEs1Ymx0M1JGdzdpQg0K ekBRT35kQGE5eGxJSUQ8ZEViczBjSUxtYFY9ISZaU3gxQD5NO2d+e1MrUEhpVl9DemJsaStVLX1m ZUVfJiF1bEB9DQp6N09VZDElezU1PD9xI1QkaF5xMzVoIWcpbyV8eyEhXygwQ2dvcyooVyhSK0wh PjZVKEV4QFd5YWB5YUJ2XjZuY2ANCnoofj01fUhzMCk3SUNzWVUqZT9rUzVBVGg+JU56NzZZTDQ1 Z0J7cjJxLXxFZi1sVXVoUWpoUD40ZyNqYGVaTHthVQ0KeiooNkkxU2FMcGI0TDBNWGdfSUMtTilI fDZxTUheflY/Wn1Xc0h2WTc0Y25sUWdTYl9hREF5VEhzdWM7WHM3MkNADQp6SDh0Qnd3aC1SUiQw Y19FZnkjMmZTeit6UW97RCktPmtgd0c/OFJNbmYkY2kydF85UyFvdjshZVVyI3h8S15KTWUNCnpS JTFfUGBKQkRxSXQobTFZeVkqQHIoIWw+ZmFUaylVK2g4VntpdFh+YlRadFhROz8jdGFTVSZ9RnRs ZD1CbWhnMg0Kej58TEIoe2xqNkYkajVGZlBLOFQyIXB1I0BMO0pzZkdVVzNMJjB5P1hBMmVVI1Bz Um1aeFYqbWArUD9KYj1vTGc3DQp6Xl5FZDREVyVfb0opNGE/SSYmMWYofTx2KmApQD4qe08zRHE/ e2Q1V3RBWnVZOEhaeyh2YUBFMCVzeEY/RlBTdTUNCnopYWI1QyFLRCM8RGA7WjZJezRhXnAtMDVu P3hFMUgqJiR5TD10P1A5YkNzRD94Yz5LcWo8RzxNa1FFfDNsRGJ7Mg0KenwydTh6TVJXYlFQVyl6 I08jWWBkdG1IOEpHbnFkRExgVihUKlRrWWskP0RLZW5aVldZMWNocnsxfSM/Xmh7Ym4rDQp6ek1r dndsVCZnPT48QUxXKz5VO3w+Y21JZ3RERkRJSEsrSz5tKzBVbmBLLUArYTw9IUNAdEl9azt3Syo0 dU5adCsNCno4eHA9NnJ5fGRiQ3s2QSRYVlVeIXJ8QHQqOG88bFgmfjxRTi0pcF4qWSg0R2R5MWNo cHpNRD1lXmZnaHdIQDE3cA0KeiNaPmkqY19wfXhIXzNKRVYtPy1vcFdqdVc+VCk0cng5cn5jc3ZY MTdHbWREQFBKRl9JY2VrV1JWZ2BALTFFN0AhDQp6O0QpfD85en5pQypLIyRkU09Jc01GIVc1ZU9O dCpVeldZR0l7OHJuMEtVOGEzSzFWV2wlUnA9SDJfZlpjdlVaQTMNCnp0ZXdGNzYwcVcjUnpzR3pn aD8qZ2lGKFljZSEyKnNgYHJmb3E+aUJ3cispd25fTGk7SzBOaVdvOT43bDJaNEoxMw0KeiMhQTJo MHhqcGhXK2pySUVaNlQ9NExzS1g4WklgdEVWWEA4ZUxfZnhPJGV9MV5vJH1SbCghc14lfkIlcCg1 d0pxDQp6IVQzU15gZ0VuQnBuJSk3P1ZsUDFweU5qPzBKNEl9ajcwdUBxcTRne1Ipey1EdzRZTFRS aVpuKUU3dEFVeTB8WTINCnpUaXk0MEJ8bExeIyNSYUk1SlRQeWhSfXkoJi1PUmpoSTQrU29oIWw0 WF9Bez1TJj92O3c2ZCMyS3VGZnk7SjZOSA0KekJLZTRgLSN3cEJ0I1BsRStEKTRxYHBFbTY2P0dI aiNDJiVPXjhvVU0+XkFzeUkyU1hrN2hnLTh2YiZPSllFcH1zDQp6NT9GY1VWX1F9dGlxVUIydU9+ YGZ5eHg1ZmRjY1ZsVlZkb2tlcDB5fTtVSmg1TllkVHVpNHgzM2U2O1E5VWp9T3gNCnp4JD0/ZHVh b1doPW0yYllUajFocCoqNXV9V09zYEl1S2Rpfj5fJnVQRSVrJTBQUX5uMXtISDFneU5qdnxuenth ag0KempjYjQ7ZVcoT1Y3K3AzLW5ROVFHKXE7e3xsX319Si1tWGpXQ1VmNWJ7T2t+KSlxTyF7bik4 Q3g5bCF0YkZkVmlUDQp6SWo2eGg0dnJYTEg1Wm9JNCRBIzNlXldTc2sxTFBYWDVqTjUrYzRFNTZB KypFanM8fSsmLUNfVyZnfXNHc0MmUSoNCnowMFAwR183ZCp4N3cwS3dCMTJ3KlE0SWNeQ3k+WHV6 cGYjPkgkVTI2WXEjZ0JCSXlSQHE9Mk0yV0AxZEZuV3RkRA0Kek5WazF0X3k7bVQtays/dzI7MTEk YH4pYFArN1VgaDJxREg/T19XYGlXWFFCcXFSU2w+NHY/R2ZJTTIoQHZycT1GDQp6RGpmOTstRFU2 QmtCU0dUaFo1aF9rMj1ue1Mkbz9+bk1hKTB6XjhrJmt8XktadERxeHk9TCU9PmJPQT5ZTHVXcU4N Cnp3UmpmeUlXaW5pe1p7WmMjVEwmVi0mI35pcShNezs1WTxkZ1VhfDkxdDF0VzVNXm9KNjgoK3s3 Xzw3cX4zR01vMA0Kekp0QFc3aklSUENRM0tfdmFHfUp1bHYqaDxFSz1oblA1MSRAYkJ2R30zWjdz bHJJaCVMNDB9JTxyPkVNfjVwaC1ADQp6KF4/YX14U3I7Kj5+YyhBSHBRbWM9VXt0NTZRMWw/cGhq eHVAMC17JlQkSXhBQU53cWc9dEwtZj5XSyYpJWlLSFcNCno2WE5MSm9SWG5RV0MqPWolJGljM0Ik cmpJRCtvdjVUJXNrN15kWEc9ZT93I0xiVmNrOCFRcE5HKkdxZzN5bktsYQ0KenpLY1Z7SHRYISEz V0tybGBPaHAte2g0SnhANHooeW9wO2V8KitWVSUyXzF0ekE4SCsybSYoNzM8bjhoeWp9RCFCDQp6 PmlPJnFlKWU2QkZtZVYmPH42V0I0Y3hYPmBGKmVuTUVZTGpZQ0B6bEphe1JpYyRjUFFGN3F9VXl1 T3xQcFp3JGUNCnp5aXtBYmY1TD1QWCplNkpOeD01TGVjaC1HNytkTCp6RWRgKiMkXlA+UXNJMFkt QmwtOFU5fGM8MSkxRXB7KjhjOw0KemErXzkhSikqT2RPQDM9NzhET2tKMEItITU+dUxgbmZHN2pJ cTFkNT5YXmxfMjdhWFNlUWBLJU8rOyQpJjBnJW1PDQp6QX5KQzd0fDxTTUcqfTdHTjZZJDdDRGlL Qj8yNDFER1B5eGJNdG88V2pMRyFLJHcpN0lgPz03QmItbl8tSHhfMnwNCnpVPmhiSk9pelpKcU5l QTdRUyhIbiMjMSkxd2s5VDVCS1kqdXJGTjdJNEkhJm0pO3hJYTYhRD1QV0RrbU02UjRScg0Kempr KkVwfDdtWjBAZGtzPTlreHk9MUc8RiZvM0k7VTBgKklWTGVUcnk9SH5nK2g1KGl8YXNuZHR7YCk1 JGJDJjFODQp6SCFnakZeaV5nNjckS3xZOCFORGN2UFhxelM5NWEpUzY1ZG5GUFZiSFUlPnpMbH14 U3gzezxQQ3MhQj50Ty14T2QNCnpRJjdNTFBEQVZwOWA3dno7WFl6dVI2emgmNFAqaDFuOUghS0Ji PD1vezRIRiUxZG9qQklWclk4eCZ8dzYmdUBXdg0KejBDK3pzMEUtNDMlMDtoUDBre054MG9YTDQ5 fmE+bUsreWRRbVZ2SzMtVTJyWDlBPV5iMkA0IU5TcFpLNjlKZF92DQp6ems1MTlaQkd7bVNebzxg dUdgYnpmOVR9S0drKmFAREplZEdrIyhZSWpzPW9Ib2JkZXB7KGskUHl7MSFxJGYpKmENCno2dm1g VndgdVhQKWFIVEJ6d3BgZFBHJkFFN2p1c1lfQTA1KSp3cDU2LTh8SE4hVkhEdD9YITclVlJWOF4p eFUwRA0Kel58cDVGTzd6UjheU2JabUE2ZSMzWXwkbVJhcH0zTzg7UEo0ZS1ofEYyeU1EXj5lV2Up bzJ6ZENxIWEobj85PiNmDQp6X21KcG5JVm8/OTZ6YHtyK3xvd35PJlExPDUlfSoxYFpjKT1yNmRx bXJUY1JAKV42KitgZnlVXkI3e35xYFpPfUYNCnpAfE9eSSpsNDUmV35efW96eHdyTkdDKXl0Yk5l fDFXVHZtYmlXcXF1PjVFPGh5YH55TXViKSl7JmhEUSNxVG0odA0Kek1aJVJVTDghYSFZMnAlVHps Z3VsTktDc0x1dnVxOy19JG5aTmAyOyZ7P19DbyRqSHFXUD5WV3FkYjdFWnlHKDZjDQp6QW49ZERS P2BJe1RvRnhyKTd7MnghenojTF5FQ1B+RyVmdzV5bjtHTkhjfGdmdHpNR2k2JkI8MWxtJkg7cFJV cmENCnpNWH1gZ20tYkxMNlRoWCojSV5rfHxMTndlR3EyNkRnc3NqX2t0ZUchJmdgVFMwbnZkY0pp Ozs/c2E4eDVjNFNnVQ0KelB2IW8/ZyUjfnp5MnE7Zm9rckZZWVd7NkpFJmsjJk1eQnc/VDJWYDh5 fUNxVWwmPjdZWjI7NV5MPittSjloPHBxDQp6elNydipENWA4SiV7JGgwX040fVFUbm8qODIjZUNv Mz5lc1pnUHZjRXxBUGZqUkpsZHJNQ35DX1JIQ0ZrJmVDTWINCnpzdCY+PjhOKHdtZkhOdUlsOWpB ZHlIYnpieH00aXFpMyQmd3IrYzFjUkZRQyFralIoI3BhQHJXP2xTbnhlZG4/Rw0KeiNDQnBIMjFH MXdQVFNZdHQqP0RmYDVsOFVSeTFobnZzYnN9ZE4qalVFYHQ7MDdRdiEwTDdvO0E8ZCRUTndtISZv DQp6Y0s1T3E3YSg7JHhhUSEpbmN8VCFCfmY2YiQ8JDVnYTcrPHYrfHpxRlRmSDh5PE1BY3pYeEN6 KHhGdlM9YzdzZW0NCnp1eDZRMGslYkpPI1ckfmdgUXkjUmxfWHNDQEJ5XiNlLVJNJUM7MW9kc31f RHk2PSZhRSFESCZ5WmV9UG9sX3MmXg0KenR0Jj1aNi1MZV9pVkc9bWY9bz5ONntuUmwpeiVUalRk R081WEVnIWdjcEV+VEtqME8hPWxXZ01kSyl3PzQ/RH0xDQp6eiFuRnV2emteNHNaP0BvWlFiPyVS V2NaMWtzQFUzY2tCT2sxTzk4P3lrNnZkVTFXMlBmT0B0RiYoRzZWbSowakQNCnpiMStnVygxQ3Jm NXhMdmxKTjZUPWFERn1NKmk1cChJRyhueF8qOTNZKXMmb3o8SX5LfU9EWkQxe31GLVI0fHRvUw0K ejJweWRZJTEwaDRRbHxeZyZhfi1hTTJNQ19rN2Bzdk9rJnYqVmI+Nil7djZAbzNsYktMRiZtPFR3 K1J8PmBYQUpzDQp6PHlDUjc4O0VYdmlxUjhgRWR2RGo7emlIcERVZVNBYiFnUTUzZjFGPW0pSiM2 X3tWYDVBRGMoezV3MElJPU5OTCYNCnoyUzxeKSU0YklnQF8wejZDT29gezxLPDBeKlJNeV9KSiE+ UHpRO2h1VXowVSFvaz84JHphYXp8Sn09RF4oQS1NZg0KejwtN0s8JEc2T3JYQ0xGJmctWCV0VyFs SElRYT0pNGlReStBPT1ze3phPzN5Qz85dFhoSXpeYCZfKFZjcSl4RXBODQp6IVQ2azdVN1QpX0FW T2RNKXpPMXAjRVJmPGdZKjRDMG8ofWNXd0VCc0ZNbSRVRV8xKik4NHRaRzgySD5pbHtBdzkNCnpU WShGXyVBbmpAMUxnSWF6YlNNKGJnSzM+Nz9IXlFsbXlVQ1EhaCs2Y3VAQjtPJm1qMU98e1I5a1Mq ODdDQ0A/Pw0KelJ3UkN1Rm5vMm9JWUJAQiVma0xSO3Q3bXRDYjM0S2lrR2NuZEo2YXg5eG8tXl9P dD9KZExnfDFhaiRpZnBse1ZeDQp6Yil3Xm4yVlZWLXRAVnRDKkE0NF8za19RX3JneXYwUDY1WlpT T0lacmtlajsoM3d7Pz5DLVIjVmN1XjFYQlNrYj0NCnpiRmwtVXJNNXB2dHE0PTdacXx5eVk8e1ZI RGVRNnxjNzVVfXJfby0tJjMxKTFUUXxRJUVBaHVJWFpkPzxgI2RIag0KemJXcytuNStBbztrPjUo Kz43U0FoPDRoRmJpX0NTcmlBJnN6MGdSb3AxLWsyeV5KUT4mZTw+IXIrNDVAIWJxUlNEDQp6dXQz aX4tPUpWN0ZARTlTR1djQktye3Q0K1YoNGJaI0pgP3UoQThhYVVqdmhzRVM8PGZ6TVJebGkpYDd+ NUhPIz0NCno4QGUoM3RtTnFWV3Fgd1hWIXFHPEpUWS1aMiUzdF4mXnF1diRKQGhjPDxFPTR4KFdR SFZhdW1LJFYzZS1lYHVCQQ0KelRGV3JINjFUYkppMSVmcV9EdDdGb0dzc3t2flJRZjVFcS1hYHg3 SElYd0o9ZlFmX3JvQEJiRGJqVys1QT0xMz9NDQp6c3REK3N8R1diRzVBPEpDPyl+WThQQlk0JF8x alNgO3dncS1tckFyVmpjKlhKMGtUMFlMJD9UXih0cjE2e3RLYEENCnp8RWhLV2dQWj5Vcn5scyNt VlpyTT13cGkmcHkla2Izfn5TezZKREJxbW83MS14SWE7UXlRK0ErPWNoKmh1RFNFQw0KY3YjK0ha M1QwPShVOXZ2Rk9FVHskJGZgaSMoazgrRzRaZShPbWpEMCYNCg0KbGl0ZXJhbCAwDQpIY21WP2Qw MDAwMQ0KDQpkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9JbWcvTm9k ZVRyZWVGb3JtYXQucG5nIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9JbWcvTm9kZVRy ZWVGb3JtYXQucG5nDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjMzNTY1M2VjZTE2MDVjZDBjNTNiZDJjYzJiYzIx ZDU3ZDIxM2RhZQ0KR0lUIGJpbmFyeSBwYXRjaA0KbGl0ZXJhbCA3OTkwNg0KemNtY2U4ZzskaGN4 VjM/U0JPKU0hTkdURW1HbjlsI3twZ2shaEVDfkp4PG5rMjdMWHlPaz93OThubjY7IXEkQzlpDQp6 WF8pVmY7PVQ3VF8rfkFhT0wjcitpNnsyK29WX1BOPjZzTTRqZTlwUFQpMDNXQlEzNlM7UX03fWck dEtGdVVgY30NCnp4andEVDVCfEZOUWJrSmlMT35EWjNpdDx9blRVZU9nJHU9RGtRMml6O05TVDYo dWtLQUY1R0l5e2tobX5tdH1Jew0KejB5YVpOVHR2LVBaKyF+Q08yUEVGZUc0MWclaDlWVVA5Nzs4 Y2F3bENsYGlVUFIyRWs+VEA9R1d4PVA/YzdNSCZZDQp6U0JnbUwrcWN+Ji0yJU8oT0ZsaiRkYlJz PnI3d0gqSlRfO1JZUD80JWBhU21DaG9gTHkmOEIpIVBtPHBNfE5UaGMNCnpIcXtKN0ZlNz5AQyN+ SGt3YCYkdkZ9RUBINyZjVG0kYERsdXIkTS1EUWtVc2lXbV8+PkZgMzl6e0ZAd1FpTVNqQQ0Kemg4 dHhEcFY5b0c8eEkrfik8TmE1VVI+YVBkUV5aWWVYJnVxUmA5Wk4rQ0E1NXE5VlVgRGJiXkQocnhM fSNeLW9qDQp6TjRRcCpKKC0/c08wSTVnMSZlK3w5ajJxaGVzNTtmQi1aP0o2eTRHJGYjUVNge3Ih WldHRiRVfk1aYXllJWcpWFkNCnpsMCg1KDZvZSluK05sYSRIbTdZREk+SyRvJVBlZVgoTWEyJDxL P3khNipqZyRKYSpJVCZrSi1gZXRlQnpJeT4xPg0KejxUZEhJSig5MUBZdih2MFY7dCYkZ3BmQGVW U1AmQkApNDdVKl9OSEE9UHgyVVkrcGUhIWJ1X2BCWHleMG9PRi0oDQp6ZShHWStQTnotfGNUTyRk dU5ORCkte0xoeTxMJDVKN1M9cV4qUSZsaiVCKztxXiE2JTdhaWZnVj1IRzBlTlImJUoNCnpGZko9 QUU0ZzkoOCZDRl4pNTI7dmpON1d6YkR0aiRMaXBeTy1keCNPRHtPUWcoZXViPlFUPT1+bDYoaGxy KXtZew0KejBIXik/QS0pejxXb351JlBgfC0qMUg4JnYtKlhFJlFEUGItakohPD1RKGZzI15TQTB0 ekRQbm8wb1RgTEV1enlEDQp6fE5FaTROP0o3ZUIzMzZ5amo2RW5ONGlZcFdYfnU1KTBIPmh3Skwy dFgrLXJgSVQlTj9YdDNVVVR+ZTNzT1clM14NCnpHRnB6KlkqUTAzcn18SCM9NGtUI208fElDNSla KSVtPX0hZTxqKG00SmJGSTFaN1Y2K185TTVUcnBwUk40Jmt2Rw0KelUqTnRneFlhQHUrbzVTdkpy ZEZUWiNkPCopSUBPak9SSH5MdiVqbX1PSz8mQW9VQVRvUU9ta2JMT3ozZFImczdQDQp6KHN2I2l5 MEteIT11QXdNVFA+a2pieXNJTCs2KCZBcS11fFR1UlJWWj9zbStqQU5uYHMjbiRJKF5VVGxsbWFw RXQNCnpgK2E3Ki1NYCN3I0NfdCs9ayM+O0BVNzFva0ZLMz5mY1A2ZmBpRjJCQ1hVTnU/bk9fKyVG SitrUW0tJn1HS3goPA0KelE2X2o2VyZBJUllNDdkJHp0TTFQVFMpdzFgdCkhcXNYKHZaVUVaaj5F VFFRbEAlZlRGV0dZYF9xRjY9PiRuLXQ/DQp6ITVSaHxrPHA4bz12clY+VjE4JmNQcyNjOGglYWBj cTgqb2Rlb25pdSFMYiMob040ekskRV54WWlIKU5xQkpaOSoNCnojMFVGMmtZPj5JVytQSGpYdj1R SVJJJFFsOylpWVJQb0MleEFCdSlVJExPY35OelB3UHhwZ3kmaks9I1EjVjROaQ0KenhXcjxSIUtJ bWlTMUYpKXpfR3l2UHZaUWp3Rk4oZmh0SW4yWn5VQXwjUTJUXjxFVEFhJjVkbypHJX5EM29FdV4l DQp6ISZmKihqbm1xWDg1RXtUdik7V05vQyM2blRfNFRSeHp+WXomcH4/bD19PHxQJXx5a3glPnco JD5IYlc/aT80Qz0NCnpNeEl1ayZBejFQXlR8ezA9QnpNbWVyTmtOans3WFhpWlVuc3A7UWVxeSkx amNSKy1ESV45ZH4hV29ZWDBBMSRYJQ0KejEoUUVNKFlFSykqfVd8ekJRc3sreyt2Slp7TEQ+IXB9 OzQha0FKVCUmQTdgd0ExJHx2d3drS3BSPS07Y0dwJjMwDQp6P2AtX3ZOPUNsNFo5SHx4UiVuK0Rw cGcqV2E/N0VabVN5OVZmJUE4WC0pZjJuelYhUV5xVV8kbT94M1FzbWV4M3cNCnpmQjM3WXpzfFdL Kz4lVU5TWGR4OUo+Szg5RTJwbjV2bVQzSjRofSR9cl5DdDQ3ai0jZWcwbHw5QylAVD1zeHpBaw0K emxWflFAJnM3NSVhKnFRWDhlTWsoRSRWZXlQbSp2VyNwNCZqSzApeFllN1JePSkmfnleOD5vKE5x JiZFTks5VSFjDQp6JD5IZ2Jjc3U4Yk8xcGkjTGkkPmBlIzJ6M2RPcD1MVzQtZUtKWT1id3JTeVE7 WlFCR3B0bVA9WHpjQ2cyTWJubVANCnpEZGc/Pi1tRFlWdiRkNjM0N04zOXBjMlhxbmw1USV0SSN1 V1ExM3tKb3YmJGNkOUtjRkN1ZCYqJnVMPmFSYDJkKA0KelluVXdaLTlPOWNscTxTdnZKe0BMVTNw WUY3JV9OdXc4b345ckliUiYxMENeNWB7emVrTTxZa2E/WEN1fDxEPCN9DQp6VmtRdU87Mjd6Syhz Yjh7NTY+VUxFXjlWO3g+YjZneD9fMj9YY3V1JkRqKjwwK2VZNTw/S3tjeWNZUUQ8X3Q+bzgNCnpL ZFM1X21hKSMoRHQpMWwhKFFXPl9IVCRwdDxLSSl7JnhmdktXMFNiKHg7cThibWF8I2k7NWx4cFJZ N1Y+ZS1XNw0KenloYGdhUFY2M25fR2kzWmc5OCYyUT85bDNHWGpGfWJGMWB9RUF5UUJ0VXlzfEhO dUt9JF81MUVmPiRkOFlLRF9QDQp6TEwkeHxPMnwkNF8+cFVLJTRPIWEtNiM0LWFsQ2R0Y3h+K3tJ PWw0cWlPeSpiZzIyNVEhKT1Bfm5TaENHWkRaSVQNCnpgKk81TF5pblhMcFdUemFVbSVUU0U8VWAt V3o9IyM4aWxHRFkrRjkpUXdzUnxpazNfaElWXzB0aG4zeUxiZnNwIQ0KeiZRWitqc1c7TmZkOX17 QiVZaXd9UjB8eURzckMhfTIhKGlfPmU2MUpjPkxndlk0ZCswV1VIWFFUOH1YYGk4fT57DQp6XmxT V3xwVnpxVXtGd1RFeXhEa01pNlEwKzZXcUg/YTw+dWp0d1ooaTxtYTlUWjcqVktAQmpSLSNPdjYo KHNDI1YNCnpZWFVhbUVhXlNsWDVDSnhvVjBYfHB8UjV8Xk54Uk9SckNqdVdlbCFlKGNQI1VUODln eSExSFMmcEZRcFQ8VEA5Qw0Kek8kUHlQMTRKYiF2M0VET3VxTU5DUG5+a0t0TCMmLXghPjxUZWY1 WXg5OUNaWl5afVIyYE5Gb0E1T0x6UmxVNG49DQp6ITNyREMjeHY1PnRIN3lgKVBwRnF1XjZySVR2 KWRxeEhnYXgjRDhgJHVNMllUUkc5R0RHSWt9OCF8VWprTSFtWmUNCnp1a3xROSo1IUB5JC14JEAl Zj0qeWJ6YVgrZzRwdztKOHtkazgyb0hJUWxOWUcoe1o2KzJeanBGPjUkYCV0VUY4Xg0KejFxbWFn b0djMTQ+YGhVUmwrZ3E8TFgrNH0tKHpefjU7NChpR3RWZTsrZnA4IU42Ry08QnB0V0tzSXo9V19Q MzFlDQp6Wk5jUjgqcStBWHZWe1JUdyU8T0JiPD1tKj5WQ2M5VTtMPTUxSXxybj1mfkc2dyNKaD0/ OEp2RjVOTVYyJisrUXsNCnpRMnJoYW1DTk1wa003dntRK0B7N29hZ3pnQW9vdiZPSHI+UmRUajcq Pyl3PW5jMTBFWj1YOzUzeU4+U3ZZIUJvfQ0KejdFaXxZbEpXWHpAITk1RT4oUWQ3YGgmUzNSKj14 OUJaI2ZYTj9MVllya3dQQ3crdCFAfDIqMVZuUDt0Qz1MOFA8DQp6Vjg1QUEqd3lEPDFDLWxwX3xA KV8+Kj8+MkRHSXh+U3EwfkJJcUkxQjdSX1FLQihGc2liX3FPSipXTUstWlJBRSsNCnoqeHQ0cCoh U1V8TmhLQVF4YndCbXJwaG81LUVJdmMraD9ZZ2piZEl6dF9BYGxzbEc8eiokMkYzPSh1empeR0te Sw0Kej5sb21OSSg8SyVrI3Jkbm1vez48cyEja2JISD1BfjE1dkVIPDZsNFZrNj1sOTtDZ2tWJDlC VEllUFl2dm5Ge2VnDQp6UEdnblJCOzZXczVpP2t2OzBIdGgmd2xIeEd+SzN+QGppd3R1Kyg9VjBq JElQVUxDQDRvQS1VdW1nRiQreU5ee3cNCnp6RlBnKHNhfktuMjZEPCo/NUVvfnVyM3NRNEdQeTw9 OzIkVTlJMGAjIXBAeFpEKTNHJUNeJis+WXNNd3RqclJ7ag0Kej9TKVR3QmU4YVYjXjlKe0BxPT9r I1RmcFlCQyhHVUYwLTkjRkIleCY8TVhifEdyIUgoc34/WWxwTTEjfTlOWEZFDQp6UTxxLUJlT0xh LV4ka0JscDxpKWNEaFArOGx9cnlvSHNfSUlWPTBYXk5yRlEzZ0FTNnJ5OVdrdEtfVGlwfDdSb2oN CnpFIUBmSkpnbnZwK2k4NU4xbCtjKGFPZWgwd1VwPk9ocHokUnBkQiU3WGAtTnFKTCVuWnQkezQl aGE7Jkg1WnZeKw0Kek18OT9VMW93NjlWbW4mYE5HfGpIN01wWXVNK15JU0dxQV9LZG5mPGJDRiMh VUNJUkJBMW4hRzw9RykjWWhqYmM7DQp6M0h+NF5BKD04dV43P1VsdzNPdUkrIXshX2dObDF3WSRY TXBka1JVV3d8cEErRjZtXzc4Kys9cUlUOW5fUngtayQNCnpXO0llVVUxJXxoQ142fjh1SW14d0ok fShga0JjNUpqR2dyVUh2c2UrIS1fUilvJTROYURjJHRGND5STng2PHIhbg0Kel91e2VxKnloaiZ1 IWt2fHR1c0VAcFQ3JjJgJT9VUE1IflJBYVBAaXxRKWg0fT9UUilVJTJENV8rdiN9O0BWb3ViDQp6 aU9UJm0ma1doOXk0OWN6eG9DSHY3dD9pYTE9OFdQOHtMbjRVbk9+TjJrZClAWT1QV1I2QzUxTyZH WCNwe35WU3INCnpJR2g/QF40b1hSXnRofnN5QV9nenJtJnhVKG5ST2lPTUNhNj9fWjMoaSVaSENp VyFQbVlkQE15SksoTDI2eiozVA0Kem5EVFhBQT1DTU9gdHBaTnlsJDs/XzVPXntqTWVIYF4tRDlY aT1XfF8qQjk1aklBX3tjTkJfXl5MRkEmQyVkTlVUDQp6R00pVl8hNlBeb3V1ZUVEYD94RmxafSlG ZSNZYVN4N2BNRDlgdHk3S3tMdj87Q05mKzlgK0wlfHlufT1KdStzQHMNCnpkfTM2RWp7OGM2eW4q TCgyPGwmVWsqeTMpd3RJXzVzMzR+KGJaRWxCUFE1RUJjWWQ8Wj1yIzIrc3gkQzwwbWp6Wg0Kem5y bl55UXVUIWJ7eDdGRXQ3ZlpZT285WT5HVnVhRyhEKDgrUFBnSkZtR1M+Z0k/bkNATiFLTCNvUSpa d3BwdXRJDQp6aXl4QlFPQHFPSHt+ZHJSenpQV2BOZGhLX3R3NmthZUtqI04oVmR5KFptKVk5LU09 S2cteX1oJXlISF8wSGE4PEENCnpta3dZVlgwYlFQJDNOdDJNI19WS0BISlFWPEQ9UW5pYiklfE45 cz91RiN4JkR2UWZsNHtfaTZ5RDBQcz42TWM/aA0Kejtia0B4SlQ5SHwoTTZ1PWpyOElGZ01xUWZq ZFUzUTVETU5zeUE9OX0mK0BUemZ1dDtMY3h+I18lWVYxJmVUUSVYDQp6dnU0cnZYWWh2c2I8fjNI Pn42JiFEJX0rMT1Tdy0xYT0/NmlfVVkraVdqYEBLajMhJD43Zk4hTU9eZipNLUcye00NCnpucHFD I3QpU3JBS1czaUVKdiM8Q08yXlcyXihqVHJRT2JrIVhUcW57aX1OJWRfalppZElPVyFebXRlOVE0 dSZKcA0KenVtOD0hcitCX34wJkclXyVWUmotVEN+Mm1MLW90MDduam12ZEdEUVhTY3loP1dNdCVz X3BoZEZYRXg7dkE2V3tqDQp6LWdFe2YhN1preHt8JXk3b1UhV1J2Xk1PTmAjZ1chRX15Pmtea2s9 KFJXVlV1VnR0ZiVVc0J7ZSZGPHlhbWArKDANCnoqOGlCJWxYRClnYjFTdFBOWEgpezZOOGlBezVQ TDxuaDYoWVRzQDBSdVJpaGN2Qm1pPztUS0NwSWMjTSt8SzI5QA0KejZ3UEBXJUQtWEhANFdzQ0Fr PHZBWnB9Q0tZISYyYyY8TERNYDUqSDNgXk5lM3E0Q285Q2NvMU9uQC10VT1idyVzDQp6dGVTNG12 Ql5ubno3UDY0VDhEXlNAb3Y2eStCKiVWYHZfMU1pbSpPPj0hWU1TbihqWEBwVG90VGs4JG57WXVn UX0NCnpNOE4oKSVXX0x+MkRhJV5jSUFILTwtYW59KCRZZHpAM0ZzVSpTS2gzdj9kTTBhQk4rUzV6 fGo5IX1EWHt2KndFUw0KeiVuPVZEd210WVlkdTlYYjA4bX1scmwrU25JbT1WSE5APCskUD5ILUFo T0N8MUJRS3Vjck5EPVVeOylqb09hclQrDQp6cGpSeXdoUUJfSWBUUiVfMTtNNylyJEBpMU49ensp K0t6bG0wR0hzKEApcy04eW1Ga14pYyVkdXpKO25MKTNOdX0NCnoySVkmNzczPVkxJVdzYn5hQDRZ UW8hNW9SKGpEJnF0QXsqPk83bEp3RWR0RFFxV3gtJmZgS2htPSpYT3o/UzxCfQ0KeiU4dy1yI3Bm RkAmQk5DLWZHSFUrUyZOV2ticFlrKHVIQkhTT0RxSDF2UFRua3F3S18jK3trVGVweD8yMlFDIWFa DQp6ZTFHM2xVUyhqX0U2cHBEdVA3X3dEdWJEaTdOdXl7eGZjNmlTUGxLSTV4eTleOXRwaCtrQWlE eFVQWWh+MmREUFcNCno1aWJ4PiY5Z0YzMUdnYFp6OFVXcHI2Q0d4PWtxalMlaDhATFFnVWVlYFd1 ZXdqPUdlb148cFNud08hJVUpMWdNRQ0KelhhSiFgTiNSLV9JfEkmOFh2IUA0bjQye2QraTlrYE5W cXk5IWQ8Jlk+cXg2ank4QDlsblFTIUFoJmV7RnFIXkprDQp6K0dAb1F7JSkjNipvI2p2MlRoeVZB NGdaXkVAQmNYdDtuQilFVmUoU3A/X0hVWVlRTVFnI3kqZ1hST0BaUUp3eHYNCnp1b2NTV2BWSmV1 Q1VnT3Z5az5XS2FNYDQocDsxO0AjXjtRWDQxWGooVlVCKUctQCF4KTh2OSFjYnEhOTJJTXxGVA0K eiZvVmtNTX52PnRMOHJefGlnOFFYblB5PCtXVSlPZzB4KVN+JXErPzJrNSNZQ3cqJk0mbEBZQmNK OU1SZTxDZmY7DQp6I3M4RVFgbnlIVEEoJlN2RXVvNkNBYD94dDNjT3Zqcjw5I1hRQ3B9fHpFfjsw eER9MXBaVndAJFB9RDNhUnd7UDUNCnpLbVh8TzspdS0hUihrOHk3VGhzU3RqZn5HbFU5aEtKajcj T2ZIdHdpTFZFO3YqfXRnZ1llaldKTFo9WEBYNXw2TA0KelBtM09xRDV4QjRtblBlZSQkVSg9Z2d5 emBEN0R4WWYrQjtUb0NaTFR0WUJxdGtFN1crd20mUXlWUHNIZ3VvSkpwDQp6bUxDNGFERW9SbjhK ZClBQGBRUkwoJXRzRWtKKjA2YmlHRnskVmBXb2hzRkxzR0pxUjhmbSY4eHVnOzM4YENeQUMNCno0 OE9YVWJHKVJQdnUhJmFpSnk1bjlIWXxlNz5ibChJQD5UcSp8KWE2ZlJJdU1ZY0pQdGVNRUxmcz1e WWtUfm4xZg0Kel9rQFQ9T0dIKnh2TS0oRGluZXlpSGpeaDIxX0VqPkU0R0ZNQlZQQWliMVhganIq Q1p6KWFFV3hFRStINy1yVnJGDQp6ZzNGLVIoYypZUnEtQCVzd1Uha2A4LXdIRkA9QkM5blIlQU9t QWxkNlM1NmdidmA1RkleZTcrMGdXJlIoOVIyO2gNCnorZU00UzVUQXhSMn52dWBaO3JeJXMmYnRg NldGX0VPRlFwTEtBRzU3MXZubnBeT35CaGV0RjlEZGlnaHFUczA4Wg0KenN4UzAoYlZZdkJZO3Ny aCV4QFZ2elZ7fHFeSktyKyR7REUkKkZmQklHNGMle3VKQU9TJXhaQytMX2NHTzM4cndZDQp6TlAt MitDO3F+QTdCRT83Vl9MM2F3MkEreHorVkBLZUM2WlNXWUVtMj5kNX1ZSlpqQDc+emhxNGB8KzNh JUtNNzUNCnp5SWt+Q0xZYEd0KHs8SUxCV1NTRkkpWnUoNHt6QkhDNURFPWA5SCErYHE8e188dTEh VHc8KG8xI1coSX4hNnpZMg0KejtBaGlwQz1WYEdEc0lBVng8aUhAJGghKHlSKEdxa3F3JkkrZEgl KXtsY2VSU3pWP3pYdjxndW9PM0lTPSMqdFdHDQp6dWM3VCZpNzdiTnBPWE57b2llPks3emRwYzNO R154I15td15JQE94Mlh6YHtENnFqNkkoT30wWnZATGNUK0s5K1gNCnpIaSh+Q1VvfnhOayg3WHRG c3dVbyN+fHEkKXZUM0woQ0pyNkRIPTZMO2ZufX14Xk91aDM0QHVQK3RpYmB1anxAUw0Keip8UWFe RkQoKyhhPF97WEVqPSgqVjRySjBFNXozVGd3Z1VmcDBfdU49WTFYeXBiTVdKR3ooJStiflhTJmFS SnBhDQp6WjFBcCRnKGQhNk9ZNnB7Yjl1cHs2TkNnYFpSKjZ0YVBJWnVnUnV9KHh8NXFvX19geXlk Z1NZTjZwfHRSRiRARHMNCnpoIyFRKkJ2ITFlKEpIK3ZvdkRFWWVgWFNYU0V7d3UxNnQ5JkFTMiop bFVDaUtTUXNXXzVQUHhLRDlATjtVXnJqOQ0KejdCcF9GTykpNHA1X34+VyZgWF56TDRoVzE2U3Vg YzNufE88VjlUSUdzQk44TXJNUSpkSEJeaiF1eTdmQkk3aEUyDQp6NjBlYWcwNipXcF4od30wZDkx JjRKSFJ4O0d6aSZBJWdpSCpofmFYZDdMOFA5PTgzcyZuNSp9OUxqc0k7ODRVUXANCnpEV0hVNUA7 WkdWSVBVY3Ngd0hQeCFOZFNRQ0w/MX5ZMm1oPTlDaTlSSzE0dnkqQDZwP3B0STRGV2MkUHVea0FH Qw0KenYxaGV3NlAxTikwTGspJDc5YGNze1hNS0E7V2dYNmM8bX5+UCpUX2ZDZSFMPiZoQzxMPXd9 YipaP25oVj9wJnF4DQp6dTZQQWVfLXx6aFU1IXk4VlBNejFEJVJUTzIqRFR+bUAoQVZYdlNSTlla Z19QZEgoek9aXzZnIStWUmNlV3l9by0NCnpEVmc7V2BCJmJUQC1LPjFaeHM0e1BMcUZSJjhsNm9V Zn0rRilsR3FHdmt+aChsQj5iU1l5YlZme1J6OXFZVnlZfg0KenN6Nm0lSkN2KFlgK0lHfmdNXkNa ZDdrfndRbTshU2dUaSo0VTVSKnhjQlNuYCNmMHJrVD1TY01fQVFBe0lJVj45DQp6c0U8Y0psOFFV QU5YTU1YRCFfQC1uNHlsa3RWbkBib2x5UXhVKm50MypYeHRGXzYjYGkrWlRve3BzMUxsUGJ7UHEN Cno+JmVZO3VXSHc7Nm15S0RpS0VFaXlqcSV+Vm57K2M/fitgc3xLRjVIY3xtcXs+e2U4SyllSWFD LT0ldWJFZkFaQA0KemgrYyM7a1JORitGYTB1OFE1bCM0Tz85aXNvU2U9fGc1aXZjaTlZQjtpPDtR UCMwR2tMZFEoJFRRTUMwanw5VDleDQp6REI3V1IjNCE9K09fX355WlFhVmFeaVRqSGV4KzlsOz5E dTVOfjlKe0V8K0dCYyhPbSU2VUM2eXNGZ0tmQVI1TXkNCnp5OGVPbDMlWGg/UWFMVzxkR1d2OEte TzFQKyh2eE93cj4+N3QwWn1ecylKUF5pcD9oYmcoMit7T3p0NUAwdmFkQQ0KeisxY09YKm5vX0dj fjM/S0B4P15xTGt7SDRKTDllYWEoOSFyRWAleEx6Q1NXezMqS0tuTm16dWQ4VDJqckYtTH5NDQp6 KUVON0BLMkV2MT5LZW5YRkhiWk53MkFLWXI5djRscmpeaDlFdUUkQitvenB7QXw/R05KLTVFYVct ZXtweUBaOW0NCnpKeVg3UVMkbiNvUk91JkxMNnxAeHNrcllZP0w4SlJeUnZ6IzJDaXo7ZmxWZXpK KHMzWCVkPHl5WjhsSjVvYCN9ZA0Kem49N3BqNl5uTyt7KUx1M3pyZGd7STJUOXkrPz1JY293XlFY YTVlT3ZmYjZoQV9TSTkpUU1kXlRJYzJsVnlZJkclDQp6ZVd3IztGM0h7NzRgc0w+azlldztXanxO blJzZElmcyRBVH1uZzBObGg+Q35yRStuVj1IeH1rbHw4Yk42RDx7eTENCnpTSlNhPyZJJH49b1E1 Qn4tZlZLIU9La00jSjBYKFltfUNjcnMyZnJVQm03OFdIQEtRTHlNOzYlMGMhWmZJPnBHaQ0Keitf Vi1jXlRgK0xabShtPEh7ekswRllGVCFqPjNIZEF4RjNSRm90eSpOQ3tyQ1l0S21UXjcmMF5Fa2Aj ISZzPCtYDQp6aFhfUTg/byFSUjJ8cmhNUTBAXmB6YWdseFFDVmo7VGlAbDd0UCZWVlB7RGNEdj5t d2s5N0szfW42KERRUGohfCoNCnozNTlxbXRMblN0YF48NGAzel5teytXJlBtXzJXdFE3PDJrajky IURWeDwmSTRRcGhlUWQwJCowZDViWlVNOW9ecQ0KelZ3VGNHKVNzRmIlKUdqSTVHfiN0NEx1NGRu cW5hbDt6fUUkJWxLbyNjPXQlajdffVpMV1hgP0d0azZLYmRpLSprDQp6JWFAMWA9SjBkfnlfRmZl cylCaWhAZDZJZlYhVV99cT99KkJnY3x6Pm56anAmYCR6WDY/ZTdCIystPXp9PyZkNXkNCnpWXiZa cSgwZ0hSN2BoTEMyZml+USZ8cWh7PGZqaUcoT1R4WD89TUFpeDlOKlgrWkVfaG1BJjZIdyY7dHtv fUd0cQ0KejtfPmFAdHs3NU80fmheYnRvMGMmajZqbzg/MkBtJXNCVDMmSD88P1VJK15+Z2VrX280 cjw7Xik5K3AkcHAld1MjDQp6STw+b2BlV0goWCR7e2BQQX1zbzh5Q35CNGdiKzh1MU92bThJWHlf XmYxYn5hRV9XTTI8WClZWF4ocE9nVzJpdSQNCnpsaFFuWl5eMGZ5bklJKn45YT4+I3ZoK3FESHpx WTBsY3okQD5rSD9rWGRfdDswWFZIPUtZWER2ZXI2c15QMVpeUQ0Kek9HQm92ZVE0O2NkbDFmJiNy cStzMl5kVH0rcVIhQmBfRXxXQilsZSFoJEMmeXdYPDV9UmlCI0o0eHpYJj97OUl7DQp6bkpeTW8o M29+WjV6RW1JbH1LPkI5OHNyZk1ybWNwZlJKfTZYT3MpZjd7Mn08P1R9JCk5QjcpcE5QemktSXpu LXgNCnotYXhxX2Y5aXtYbWpjUlg5aXB2UWN5Rm9jV1JkSWQ0ZE99ZWJ7NlNhcj0lTUFubnE/NkY1 WkpeaGpwYkdJe0t8Yg0KekRyJnR0en0yMSQpTENOOHlpPSFtRC17XylRMVEtYEd5VX5uZk5YU0VG K3tQIygtTDFwciFRSE5sI0NBP05gSl9kDQp6WSlxQWIxcypCaHEoUCZOcTFeSytINXdzP3BzZGtr cVVDQlJ2KSs+aVcwPmEpY3AxcTRDM29UPWppJUxAZmlHeFYNCnpXK1hna15pTVBvYUxoeXFSbEg/ a3QtQERybUZOTDhUK2d5fTh8NmYhTG4lcSVWRippWXg7MmpLcmp8QlNSNDl+eg0Kej9WVjshX2pM X21sVXc7Mm5IbC1XRV49cDtlITZfekhjRWRuRXZQY2tBUjdLT1hyUmM/QXxBQFhaYloxNXNTNC0l DQp6WX5xPHNvYyMzcmJJMipAeDBBPW0/QWdqKVhwQDA0WGJ3bHI9KXFTfTl8RmAjY1g5VkdwREBj P0lacUV0ckwrVUoNCno0KCRGTWpXcGdUK3J5VFVXO0RyTUU8QzV8eT99eTIzczBPNnIlVlM9byph dzx3aWBFbCtQOzBZbFRUaD10KDI+RA0KeigjJm0mYjVzPDdPMVVae0tqdSZrKnVMZ0xEZmhwe2NE Xyo0RFM5YmRIVFRBOG9+cnxfKldVY25MdkpPb3soPGRDDQp6V2Ftdj0pUj9LPyl0YzM0Qkp2Z0p5 fjV8a2VZfTJjJC0oJmktNnVBJmNDJilBYnxnWj0qYG8kVl5PTytuYiFoMiUNCnopTHZqJGM0K0Zr cDRXO1VPQVFQJTd7SFZDRytHTGxmPUBvJFNAMjF+VDIqa000Nmc1d0NmbHt1cXg3SWg3RH5tJQ0K ekwmT0U2MkFMbDw7OGRfXnRAOSRxQGo/VlZ1YnhtdEMlQl5USjhQbEQ4eVMralRPa3h2SFBBVHVw Mz1UZFV3UzxvDQp6Km1gUVhMSFBHJXFxTTR3KUoxcz02JT5gKUh+KTYpVk97MSpYO2I8Zz9XVCYj QjBwSkUkUGwkUCpgTHJ1SlRoOFENCnpvSjZuVjsxREgyTzRnSyNlLXEhQnlmWF53Wmp4NyRTTFNL bktpdDs7VkE2UD03SmB3RmBGSiFBX0twV2NGUE1aTw0Kek13ZFp3bG4rVm9SU3dle1gyZHglTV8z QEYhdStKV1dLdllhT0k9NXRPdT9YSUJkZ31nZk1YO1E5eS0/Z21obzUrDQp6cmU8WiVgT3JOYkYq PXJCaG1gcE5KZE85VDZ9P1R1JXphbmUtUjh2NVozT0tZd0Y3SXs5OTU+VHtBMWE0SW0hKV8NCnpH dzFAXip9eCNScGcqSVleXnY3VEJJKXNLVks1RVg3TF9VNXstRDRSVj5wQEN4UnpkdHIkd3d+aWpr az9Rd0Jjbw0KenE5VzNERj0mcCVgNXIyUkBTWFRZI2kxQjJkaWxTJndxb0AoYVlpc25VISNDZDNs dU1XYTxuODhwRmQ4PSVGdiVBDQp6eisyNl9zR2ZEY1EqKntMI3FDa2xsZ0EpU0RDTFcmX3Fidz9w Pmg1XkNHNnhYPExCNWdwbFhWUlJnPE1LRmxaVTwNCnpBbTFHYypnOHpTRipwUihpclI8NDl0O3Yj VGM7WU88dCQhO2Q9PTkjeD4qOF9jblYkYTg8MC19PU9XQ0lfM3hAOQ0KemZvblBjWCheMF8xX3Jy OW5PVikzMG90VThzX1Y0ZTB5Q1ZJRjhmdU1JRE54WT0kQT8yJVQrZkJLWEVxQUdpemh3DQp6KzdI TT9DTEk+cmlhTWhkUE99OyRlI2pNUWp1VjVYYDM7WG9xfDl5OXtpeHopX2Rpa0FLZmVMX1FefkRG dmJBKikNCnorNygxIVZTWSloZ2ptNmdydTQpRGVeWXc1Mj5JPjx2SG9hNWwhS2tNQShKZEdoNzQz K1NHeztaJXZSZmNSaVFLXw0KejFgdWwwcE1xZDdBVFZlVWVpPiQrQ1NCVV8wdmgkVW9tSWc9K1Mj RDxMYWtuJWpwNW9lWEN8WkxYU1BhVkNETldvDQp6UnlHV2JwKyg8eyVabHIpNFQrNWRrdU1rUkZy MUpgMH4mNFdxOVNmPDF2JGh5OGZlTF9HUlZISip5P0lJSl8kVCENCno2bGBVdUVqXnM7WHgoaGdJ dDhDQCFiIzZzcnQ8eExvI09zSkdfO3t0UT5nTVMzcn5lcyV5JEV+OCo8OWpseyZfVA0KeihVamBl eFg5M1FrKHQkMVI8XmEoNjJrX3lXaj4lfis3Y25UOD0pRWorcl5saHJSY1pPTFRhXk1sX3diV00+ PnNCDQp6alhjVjZpQGBIPzh3ZiNCTHYhNCtgZUlCfEhnRDcjRE83O0s9dj00KHMpMVFnUlReQj40 IWA/Zj5sRzMqZnVZcDcNCnpIJmQ2QDlFZzBsZD5ANFd4MSQmKkJ4RGkkViQ1aV5eQzx4fWk+Q09W ZjUwOXlZNnIldm5PSWA0VjlhelE+VFFDbQ0Kem56Zy1gdjV9dlRCS19AMSk0dzQkO0Y3PmFRK35D RWg1VFg9Vz1FK049T1Apez0/MW5ESj5fK0Z2akk8JjYhYTBKDQp6SWtBayh3QVRRRlV9bHhvakw4 QmFNZ3BTKnNaRi1gUno0STlWPz0lU0cpbjEmKWg5bHlwdFBDdyM4RDV6dVVpPXkNCnozVVhOV3h6 UmRoT1JWKXVrbFpEdnZ1XktIYnJpfSkzbGJoXy1iM3VWKGZqKWFoSUZBeTtyWCFMelR7MDNJbU44 ZQ0KelFJbEN1M2QwbkFoK0tSQFglUTdXSURQXmcyJGJkbEU2JCp1eXFPMzM5YSM+RUNaOXA5cGlO OUspeUMmbj5TT2NNDQp6V2RlQj5ubEZHREZeZSZ8UVZfbWdxVFZmZnJSX0owNENWKSloZHFZTiFF fVRYdDFUXlVYO0E3NWVVV01aJTR4KVINCno3e3BeXk09Yy1fQjVVJEhMKkUkfWdxfkpSbzIqYT4t aSZGe3Y/RzV9LTdESnFQVENuezdOej5wMHJabEk0fjdteg0KekFxd0Q8TVJ5YClMemlJcmFDeiVI VyRiKV5PI1MhXjgzT3w9ZksrbHFCeEo5UUhDe2QmcVd9aVZtQ3xAfCFnYD9nDQp6d2Y5djRhPGYj Rk8lZ14reW8zWko5VyhtSyRuZnwlMUZRem9QI2p6aXl6XlUwbFc2Tno2NiNOfFh6ZilrPUpPY3IN Cnp6fUFGclk1Zm5QcEFie2tyJFdTY0pNUE58YkJTZ05fZDkqUkJCPlpaWXJBV2tVeXJqUz5YZWJV Ung0NDB6YlohdA0Kekt1YCV2I1VqR2RQNX1SVW0kUj81d09vXlhvO0NXJkJ4T0p2STF9QXhXZHsr bGwzeSpZX01sIW0rR2YyYjNsOGUlDQp6MHAmdkhvKjFlaD5LeVozPF9ZaElUfTxDbml1ZXN1M0lT PEBIKj98OzU/ZEplO1ErZSZYfHQjZzhPb2pXViFPKG4NCnpxZEZaXnpBNXh1PXxBbF5YKkd6MyZN KjQrOE1Memo1T3RsN3JVQVRuRXlOWFhnX15nNk8mZCV6a2x5NGorT3BjPg0Kelp7R1khQSUpNFM9 QF9RKUV3YGhEO3BAO2dYU0FDMiQlfFBuI2gzalFhMz5oZCg5a0chXkFjYHJlT21fOz58M3VXDQp6 VDY+cVVKRVJQI0B+TUY+Jn09MjNtME1Zaz05b2E2KnkmP1RRNGU5WEJGJTV7MWFuNiNxNXZ3bzwy e1V5QWFSfmcNCnprdV5wbD1+ZFAyYFpmYzk4WCF2MDE1d1AtS2toMnMhcj5zJmRjfj85QXRsJF5E Z21OaSQxSEJYbXIqZiZfRk1kcg0KelN9RlBCST5RdCN2N3xJJmZ8dzcrNlR8TE1oRlIoZ1BaSlI2 VSVIbmcxNEI1VmFlKW95KXQhR1RtITZqbWE9MGo5DQp6TGVYSElVYCVlM0dXU05zb1NDJnVGeTRk fDc9cGxUWD1MV05VR2lrRXFAM1ZSKDRrfTBlJnhzNXxMJXNvR2YlY0ANCnpiPSE2c1F0I2VGb04p eVFHTmpIMWhBX2dkQXNEZjZXN3I+OzRSNDBwXzhnV1laN3cwMDJVPTFZa3I2ezYyNWJldw0KejVs cG97KDxMcDBrdTgtN1M7Uk59fDVDfDhyVEk7KUgmX2x2MSpnI2hWZnBCNTMkRD9qe1o3K2U2UUQ0 M1NgMVFHDQp6ZVlYZX5SYCZ1amVYSzdeSD9zfmBvdGRaMWk3SDs5dUxVdUIwZWkrNG1RanRnVk92 NX1INjRFdSZHdlEobEZwTl4NCnpWMFV3UWdQYk47R3VmPnlJKC1VV0cqPiE+ZWtRYSN5PS1ZPUkk SkJGe3hfXyk5RSp6WkVtY0NGaFY5JUBBfDtDOw0KejBkdzg5aS1QbE5FXzJffUd1bjxyR0xFZX4o aD4oe1JYeW9LND54bCkqM1kybnJkPVdSbUZDcDR0ISo/PV9zJS0mDQp6PlE9YCVxPks9PSY7Y3Vz dC11alh5dG83N1N+M1kpQj9RU3p0cD4maTB0fkgzK3RST01YcmpefW5fdGU4dUZkTFYNCnp7IVV0 QSFtSkEhTSlSKDY1WGNDYGRDJC1TUk5uJXgjdz1uQDRnSSspKms0QHc8cTZyT2BDfHF4N3ZnTXs5 WExpcw0Kem0rWUJZUzw5QUo1Kk40PjRCbXJsMGo9VDZLRX5JMjxQZjwwbGZsUVlHa2ZEK3A8S21V Q0hXd2NadEg9PVAxfWpjDQp6OHdCbnlhOWtUSm9kI3AqZnZfITR1d305XlIxeUV2diU1JUVQP2dO TCNEbSFmd2sxdHgway13fkZZI0Uke3ZAcksNCnpqXncmQ1U1TSR2MWRNaG9jPVBlQCN9dVBeVzty ditNRSFSMXlGaHx6d3B5NSliPkhTMUFCNG09MWxFcC1mcjBvTQ0KemVxRjl5JHc0STM/dy1qT1M4 QjBAQVM+TWYqalVIcTwhQkxfKlpNSGUzZFFvPnZMYnBHI1ZpVEJ4QkZyVUZyMSEyDQp6XiQ1Q1U8 X1JQIU9PNUFpI2ZlMTxfTkpIRk1wMSR4OX4jfkFVP3V8PjQ9QT9pLVomK3o+R1RiR1dGWjN+O21M aD8NCnpAMSV6ZkgyZ0NgSE5nK3R7aEYqVnNTeHlqb2hwKW84dzk3UGkwUjUtJF5MLV5fZzA9bEZ2 PHQ0dHJoSjZvRHJ3ag0Kek5DQEooY1AwUERmbDsxMTw8NXp8a3EwTSkkU25lJVUjUlZ4UX0rZSEq bzEtKHA5T1dDYWJ6cEVxNDVtRkZvS3xIDQp6MGNRV08lTHMobWJ6Jnx3YHVPS0ZPZjIrX1QyQT43 aEFOPX01SUo7KjA7MmRHYlk4MllxP051RjdmQistT1l9dEsNCnpTbWNCdTNJdl9HJjtyT0lqTW5p TktufkZlPlNGZmRDYzBUSmozZj9uWnlIVTNUbmUwKW4hKzhsN0NKN2I0MDApYQ0KenhgOXw4P1F3 NT0yKyNBVUo5JWojaFl3TEt0b2tCOCp2Jl51V35RQjByRD43RUZHeFpAdGA0SHJLRktDYSt8Qkpm DQp6RzVadm93VCpETEx1fmhQIzZJSnU+ZHpJbjImZDcmMip5cS1fem8te3pUV2MlNn1nTXx7YmA1 bHliOCgpbm4/WmYNCnpSTFJkUXtCbT5wKWUmfTdSRHhCP3k/SWhfRUdrI1p6b0NFSXJYbntqY1hK R3haVjIqKFI9alFXY2wyNiMrVzkrVA0KeikwdmkqX31XNDBeRy1DdWk0QytOeCEqU349ejR+QzVH PkNrb2V7NWU7akxneEVjZXBOOVY9PiFfanxFT2lkPCl1DQp6OUlVKElyU0ZZPHNDVCVHNHBrPjVC ZXN3aXZNKzVKJS0ofW1jdkJpMjRzaX5ta0FyYmJffnIzb3xLWmZebjdVeUUNCnoob35UfkUzdSs0 e2V2RFdEWGI9aWN1YmgjITc4R2xTaW19Xj9pOUVXUHVLSnFsS0V1JTtkKW9ta216R0VoOXskZQ0K eit1Q3c9NVckTkRyU0BzOWJkQTdRQkZTTmtIUGhRfmtaVzIkXzlyKUgtOCkrNTkzbE1hITZtO0V5 fmZiYztAemJ1DQp6e3BoX3l1JmwpeEhHe3BROHlFQHsyT3U4cEt1RFIodkg8fUQkTEsybmVhd3Yl ZWAtZy1gelNlSGgqWEBjb2JnX0oNCnpNQFh+YmVmbkYyN2hFT3IwQEBHbnQ3V0RBbUNVND81cStP MnI8SC0kYXpNbFM8aDNfZUFkMCtFVkJWaVBGKnE9dw0KenghS1hwN3hgZFBOeGY3JiRCbT5PMWBO an1KUD5qZyVea1B1MEkqWitRXmlrQEF+ViFaZHZ8d3Q+QX03SmdtU1R3DQp6Z3YmPHRRVnBPdWpS XnZwJSpJI1ZuTzh8KGQkSWY4XklxLThWZihYKyFsdyVqaGQoSXh4N3VsSDBuP3grbCMwS2ANCnpz LVVgVXM2Y21PT05iVFJ0aFN9Nik3aj5rJVMrPipXU3xfT3BMVTJoVzQ7LXE9VSFwYnByfjhWZGdG T0ZiNXReOQ0KenQ1PTZ8fEZuezhIeWI3ZGtKbjJKNnFBSCh6a2wpRjBOalJHalZJZWRgX3YwUWhy ZzNXezNaZDlYOS02TzFhcVV0DQp6VUhWcG1IdmNyMExra2ZyQWU+c1FIKThQVU5XSF9mbXJHbVRV TF88RHBDZ1lWUiNXPFFBcHJrYUE5UUR6P21TWDUNCnpAUVVSJG9uKj5QbkEwalZwUVUjRmVzTGQ9 Wm1QcUNqeWsqbXFoO0VPWkQrcjR2KkVaMGNQfkBfZHN1cztsUUhTbA0Kejl+djtZSjxDPGUyeFFU I0pMbX14elI3QGZ5V01gLXctKE58a3p1NFBFfW58X3hQS3AhQntacyhEdm16X18hRkMjDQp6bnB6 RmZafUR4eD9iVXw4JX1tNDgqOTUqbnVkUDxIWCMhMWZPSWFeTmFFd2kjXkNqUEFnbmZra1B8SyFT ZCpzSTENCnpXLVctIzRUSj5YYnp4JDspK2BOMns2MnhwNks0JF8yYypZcGM0aSQjTzVAb1A8fGlQ YV8lS3F7NUshPGBJbjF+SA0KelZJNFJ2X2NhfWhZTHVCUFB5MVFIKlhJPnFhX15teDF1KCspdEdj I1BpLXE2NXNrdi0tR0l+VUEzY0J5d0hAX296DQp6OEFRZ21IelZQMTI1dTVJYUdWWXRHcGNxR3JM RlZuc1ordn57MSZ4fE5edXpTWVJjcjdmUjsjT0lFPlUjKUtER3ANCnpaS3dFXzY2VkpOYCZIcGlE RVo/eVQhWSgoakgoN2xmOGN4aCEhYDF4UzcwWD8kOTxWOVpsfFV3bV41SXolYiYobw0Kem9iXjtw b2JMNmJQQWkra3JpTUpZRzQxVHBUSCRebzFFMngwJFQ3aDd7UDlCJGNhfVU5YjJtVjE4Yl5QTD1D I3Y5DQp6clE0SjJDdWdNNj1PIyZTZUxTUnVDXmpzNmU/OThsZnc+PlNfP1M5WFQxOTBKdDJfXzRa M0k5PXheOSZyaz9zYFMNCnpJTjJgc2ReK1EmS2VoJTt1ejBvZjIqMV53dkBvR0BkUGNfNTNHezh1 NUh6WTxFLXk4akJuaz97S2c8UShyUD9hUA0KengkS1JEdEAkYXlVT1JQPiswJnxhJXNBZlo2YHNt MVkqQFg9Wk1vcTMrQ1ozKXolOH5yYEtlT0s0Zl5NIzx5QDdYDQp6dWB3fUtTdnU4QDgobDFneUUp ZX4wY35OcFA9QipndTdyQH1VSncrJSY3N0hhX2NKO1RUcmszZlEpRlhJcXQoUGUNCnoxS0ttKThg cWt5JFowbkxIPUNpSENfcDlBTXxFNCV1cmhGWUFJeDRXNm9fVyorazMzPzs8eTYySilVUXVmfURv dA0KekRTc1kraSpPRTQ1RCQxTl8tS15FaGYye3E+I1lJI15KbnMhPiVHOC0+VF82NzMzciYpLXRY VUVeQjs/ZyR+Mn1lDQp6ZXZOLXxjKSRrYGItJUJVNm1CTl5vVm9FanQqVCpsWnpCWiRPSjFEXnY+ OVgwQGNyLWg1UH07UGZwQjdvPmt8cCMNCnpTU0c7R2BKRj5CPEYmNl9fPn0zbzx+d3hyK2M8OGs/ WHdBITZ8MzNmKUh1VlNfWTNTViF1M21HYEM4PlU5PjV0Vg0KemFuI3djd2VKVyg5Qj5pZ3w1LU11 cW9zOV4wUkl9fHA1YHJRRFV6LW8xV05SdzcmRUtwcCF9NzAlJmNeYjRoPFgqDQp6OThVbThLK053 ZEwwIU9gSlo4Q0dPTSQzMzktRnZJPVBEMnVKT2szfjItZD1Md1p2MTJOR3swWiRwY1E8R0FxTU0N CnptYWBVKURsfml6Zn5uVVdeWntJO3E4Q1p+LXxzLT0+WCFRLTVRbXNrRD9DMjlCMVByJihjQHMm ZSt1d2k+aWppQw0KelRIZjlgb3olMzlXbUtmajtlM2FQKD1zbXJtd0lEYWI7eUZSUj9oXnMjUHsx TT81WTU+P1NRN1lzYTxzaSRHejZJDQp6WkBTez9vMkdGIWd1cUpzN00+dmQ1cHJxTSthfjNiNyt0 M0ZYQ1piRDRoTjBXN2hmajxaKH04Q3NeNkVgQzJwXnoNCnoxKjNOQF4wa2AxTU0jNDxCciRHNCF3 OUE+O1dGKShTdCg4enIkcHJsWGU7bGNxZmFjViQ1TGZuMUU0U29saj88Mw0Kejw1MGRmRTkrVzcj bG8oSy1yfkFxPkx3PkVkdCswQyswRUBYQWQ/fTJicDx5e3h8aU5HaDI5NU9HUVdmYSgrQ0NtDQp6 czwheSZnQzhlTVRgd3Baa3d+TElhJE9Kb3FfJTg5MWlFfmV7RzN7ak4qTVhfXkFAODNvMHZOPHBH THM3Mio8PHMNCnprKDhvSWx2RXp5O0dIJS1tYk9oQGV0NGYpRWZhQi0zYEVCRTVaPnUhMkYxa25x XzZ6fS1yVndFP3klfl9uMH5NfQ0KemQqK2w8QSU7cCR5QGN2KSZYJUhmT0o0KU5aOypTNzVIRV9C WXU1KHdOVFFse3R2dVJRYUt3Qj5hKURgI20mTUM0DQp6Zm88dDtVdGV1UGN3ZnU2Nj1rSD93YERg MHcpLW9Pdy1YYmNPPStPb3B5M0heMVhsPGcmSENyKEtEa1dlVEwtTUMNCnpCc1Y/cztAQDhBQj1J SjhEdl9YKjQlOVVOUVZDUUx6NUM5bUA5RVF8IWtvITtVbERDSyFvZ01lZE1ZaDM5Wlp9MA0Kekx0 XjN2aiYjbEl2MWc1NDQ8WWI2LWdEeGJ0ezhiVDw1KCpaQXx4U3hpJTN6N3JhMTMmSm0xOCNSJVUw bT5jYiFMDQp6VzkyNWZfMHdUNnUwPFZPYilyWWtTNUJITXtYJEI2eC0kT3dDbT12LXMwckpRQypr PHdJQVNjRHoxcV8kdDY3VjkNCno+R1l3PlV7PS03IUR+YWcoVXBWR1VgQ3V0S2p7SSN2KUFLO0RT ZTNSN0E7WW1PUUFMX1hwSHMlRmw2XzhNQE81dA0KenlSSzJZZWdRbkVxYDw2UiplVmV7dD5jSCRo JUYydGh9UXg+OVohemo1YUF0dGBDUnFmdyYrVXgjTTFaVEgrWE5XDQp6QC1hM1p0K0hUWUF2UnEx T3hGMDBGTStoblctc00lVSEzLUplIXltRjkhQCYpamc1Pj8yezhOc3lLbVp1MHY0dnQNCno8O0U1 K081Yi0oUEVJfUBhKzslX2RzNTAoKFNJfEJgc0xtQExkJVcobmtYb0FIWk5pRmFQLT1WR2JUTUg2 bX45JQ0KenQ+KXQ4dEY5Q0ZecV8xbm8kbmg/UlQxaXhuUGVDRWtkUlBVNDNObjV0KjJZPm9TTU1K OzFYb2cxUmBpQT9uciQ0DQp6TEM5Y2k7Yz42UEpXakVhNnVWYChIa199UXJkdUlkSW5Wd0Bscy1v S1Mma1Z3MjcwaT8+Nj02QG5FRlJDNUVzYH4NCnpRb3NuYEg2fGVudVEkLUhEeFpBUHMhfHhfQygr c29HV2ohT2RmN3V3bERyPnBCMW1wJT5HZ2kldU4qLUxxVEY+VQ0Kel5LaVVaQVlYV1N4cU0oQyhD PVp5PDxRYS1RVF9BPlYoJCpqajZJRElCWStJdT9xVUNDaz92Tmdec1RDSUJ7NHJHDQp6djRCYUF3 R0xKK1kmZ25jKEpaPloqK2Q5eTwkRlIpeURodyl2bjNDaFk8ckF9dTRzPS00fH45TUN0SURfODV2 WXANCnpmUX48Xjt3Rj1CTyZSVmstUkVpPlo9ej51cjRRaWdeWUhWMGZAZjFjM2J6KDU/QGNKfWQ1 WGJOMWNmMjw2V31ocQ0Kem5MdWEtLS0rWHozfClNWV8xWkxXSXQ3Oyp1UyMlVmBwRX57UnRZb180 PF5tTSg9I3F6bE5BPmk8LUpueHhZKUhnDQp6P1lYMFhlVzszLTQ4QSt0Nn4pcnRZOCsjI3NHVDIz JD83ZmBvVH1yRFc5WV4qOGRfSnpmcW5EJSg3QCV7TiFuPmkNCnowR0NeRjVqbV9sPT49WG0xcWh3 WiQ5Q2xzUkA/Tm8wdHB9KTFxbiQ1UW93ZXYmX3pNbFB+a0p6WCtJTFU8cHZZMg0Kekx6dDczVTA+ Yn5QUUBZMlowZHIkaU8kdDNYQ0A9dT50YnY2Q0YhS2lXMjRhcGx6M2k/MFhsNE88VyNZamIlVz1q DQp6RGA4MnhUKnd1QTdGYG9XPnd3ST8mTXFKMkQ3U1ZobSNWaktAIX54Nj1CYz5EXlRNcyYxT1Jg eSlfcmUlQ0NRPHINCno3SnpeJTBNaUBeKHN8WG1aemE1ITdNTSVqVnFSTWwhaylhdUsyK0l6MGwx R0Zxc0MjMmF+eldANXRrbzEjJmxgNQ0KejthSjNMWEtjck52O0goQ0xtWm47d2tXKD8kc0xCTitl VTd7dzdBYGhZMj1OSEs5eTF4SXppUXFxQFRPZDI/fGI0DQp6ZUFlNnhuTn43T2FGQkUqX001c1NB d0c4bEJVd3xiSkRadjB6M1JpJmJ0VnQhKnZkY2IrSEshd3V3UFNJeEUpbSMNCnpvR2RkOV5hPn1C PEBjOEFfb3JYTlR1UDBsJSR5a3ZDMnB5RVZLYEF6RXpRcW81ciNsc3Y5VUt7d3slKUxFVj54ag0K emt6eiFBKWJRPXdIKGVZXkBfRTtKKX0xNmdeVH5aUnlZM3BjJFVONzlEMWhaPndZZEBzZSQ4eG14 aiQ0ZyRvYnw+DQp6V21hfUZXI0E7THc9MEAkbGlednlhdVVLWmQzMjcwaU9Jc0JzeVYoc2ptaHk+ WG1OTUMkUmZ6RUN5KFdCd1h9cyQNCno9bU9NR2IoT1UmO1ktc1VLMEZQcjNaY1Y9JGdAfl8oMCl8 I0BsUUBjaUJpZkZnPUBPRjBZU3QmOUtpd209JVhKdQ0KenMwMXtVfEdVVWE5ajUoRlAzZXxvOzM2 X3JCRktIPjQhRk9uT21BcnNrR3NMTTZgSXJHbnw1U0Rtb2JWPEJmWEZLDQp6P2dIVDkwPiZeclV9 RT8zNnUpKEtOSEt7MikkO2N3V3loa2Q+cTZUZDU4VmhHWT9TcE01ZH5OYiFHbW44N29tU3gNCnoh Tnk5clQ1KClMeiZQaWYqaml3RSk4U2hxMWVrSVphdHt7emltN0wyJFBFaUpRZTh8V19RTFImRHpt KisxfUJAdg0KelI3RCF1ekxgTyV7X0ZIKkhqU01Hd0M9KDxzYXNVMVlYRVJuVm5XVU1IIy04fnc8 S1JlPjV0OE8xOXRYVmRsS2NYDQp6Sj8yV3xucjs9cCVkaXJmYShGSXFCdHpgWWh+e0Qtc2olMUIr bDBJRWVXNSs+JE1OKVNlfD5Le0wodXZBRj5eWHwNCnpsK0dXOyhEKERCWCs3RnxUI3w7ZWwkJnVS NzIlKS1gJlZuakFeUzZ1NyZsNC11IzJMbD45KUpKZVg1eXgmRWcrcw0Kemh+aHBjOWBnMGtkV1p+ OzVDTGV0K2ZfKCExKXhuRWpAcmhrSDJHaF5Jd2wqWHUzUGhKdEN6YS0yN3VBdT97KU9oDQp6RWpm T1cqcWNvUjhXJnFFRDJHbDxyRVpaQ3lwSVF9NGlKJSR0NUJsdzd6YnJwKnsoZWg1PU84Y2skSWY5 bFRVMXUNCnp0NlgyKnFPdUlmZSh5QT88VFVONz5XcE1PSFZaVyZaT21yR1JRR0kkUiZAOSVgI3Zj RkBJTE9wWmxsVG5iYig/KA0Kej1RNSsjRzg9NlBCT0BhblUwI1kkeEptdzRzYVkrdmRkQEZ1JnEy ezdJOGtfKCN3NGZqPz5SdCMqJTk4TFc1SlBlDQp6VypMPC0/WX5Ha2kjMztvKnd0O2xeSiRaUWot IUNxMF4rfEw7aEFPc1VSdyFjNy14VXBqaDZLJDA8figjTU9WVEcNCnpnT29Xe3kycSNrMHo+PiNo VEVsNWpvem9gKjdkRVNKRlV9MVdKQ2MqMCo3OGR2ZUg3Z0R8OTIpaSoyVyN4fHwmQA0Kej9KUzFD Xkc5aF8+MG44VihMaiQ/NFV7RV5YMkItcUlFXypTejElam49UXNYVVRDNkd5NUY+cVpwNj00SyMl eVNhDQp6YXV+OGlqQ30md2U7Oylzdm9+Njc+fFlEaW1zTUF2bUU3NDF0JDhvfkZ+PH0hMGpNaDJo dEJ8cVJ5aj4pVzNzdygNCnpZXiRNKGYxQ0QhNEZuM1NAYEx4JWM/ai13S2xYSWZ3I1ooa2F0bH1E YH40Yjc3PDNpQU9VZFBBU2dYRVluKVZhYw0KejhzSXlpe1QjZndpT2F+c3MmdXY4cGQhUTdrR3BT STdwVUJiIVhMR2VScmFjdk04Q3ZVbTxASE9yYzctWXEkZ1JkDQp6NHYraCNYbnl6Sj90QkpWd3ZK QSMtKTAzNXo8bXk8MWduQ2c7Pi1+IUlGOEslT2MpYzNhNmxAUCUwKiFUbDY3ZkENCno4S19BciZI SEp3dTwtUzdeJlR6LXo4SDhyPUxLNVl7P0NSV3toJm5ydHsmMUBNTkdadWorcTV3MTVFM0RRe1Fk cg0KejFka2VrZXtJaUI0JHNKRyQ5e3I8amd1THp7VHhqcXhfMnFTbT5pe1YhQ3NBJTd1XmhCY2lz VTZBQTxCMEdtKXp6DQp6YjZOX1JLJWs4SkQkR3khTjZKT3piRngpO09AQng3S1hKT2liaWBHQypJ REc1Uk5UVHhLITFIWDgpTThEPWxofGANCnpOIzRrNGpgbSlpWSFCZTlYWGZmUjNULXleIWdBMj4/ TTh8PXlnP3tDOCsqV0syKFpUTnJ8T05IMWIhe1coP0hkPg0KemVHZXx6PDk3VkJRV3IhYU9hMyFQ PFUwe0B4fkI8fGZWbj5KUHZpWWR4UTh3aTJHa2lxdFAjZyVNPHBpcXorcDhUDQp6UF9TITJGPyhl OFpzOCtmbWspJF48JVdvUz5Raj1ZT20qQTE5eWdBd2slYkBBRnxyNF4/b1lYWmI9P3NBaVpgI3AN Cno5aztaJUdUMDcmbFpsaDdlNm1PNSpJbn5LWHRxNzFDM1kyWHFJfWdhTDFyPGBGTTdmWiplZjxH Y2F1VmtWOUxLRw0Kek8he3tHci1nYTAockFAczc8PDt4ZmViWkt3a0JkQzQ+KHoqT2UqNV8+fmor c0FTZndlKm4wU3VgNmgqKkk/QX1ODQp6fDI3ZVJsYDhtWD5+R0dAVkRDbUlAQnJ4PjtPI1E4UXJu MSUoSz53QTFAMUFxSzMwMUFTayY+Sl9FUUZjbmFZY14NCnppMCU7d0puVGdJJUZvRnk7NiFePy14 WDBoSHY/T3VabEoyVUs3UT1iRUhNZS17fUUmQ082YUA9PFk7dFhUKm5WNg0KenNnbCZhaCFDS05u blFEUnI/U34/KEhFTF8xTnFIajU8VzQkbnhSXmpsSjk8VU1QIWgwZHVEcE5eKGc+cUMjNTJeDQp6 aEplTSkzV3RabHNUMnRiZj9DM0JhZVI1NDRtRjhANyN+I2JiTjhOMXJNfDE3QntyOVVtbk9PV0Fq aShqKFY3RDcNCnoxZWZ4Rj9lKG9wV2szKCkhMihJeVM/dkFyP08pQT1KQnYxZk5FIU03biU9JUFB OGIjRWA5UWpUWF9ufjV1LVV7Yg0KeitEejs0MjdjbUdkJThEcWBkRWI0YmdtXyF6PHc0elZJeHFt RWgjQlptJl4pUk5gNCpCWCZRKiNxN04/dF53TTk/DQp6cFgtVz1KIz17ZTAjVyFhVFVCYTs9anM+ Vyk0R1dRWm14dHB5T0w2SzdabzExPDN1fVdpMkxFK2ZWTFNGc0syNV4NCnpAViRLTGd1Wm9sYmQy dShAaDR3I2x7Q3FhcztkS3BmZi1LVj9xaztoRypZR2o7cj05eUg2UkB7aFl9I3xUdFRTdA0Kem1U TyZIT0JQZGg/MG9eSjJgX3RxWE1Xfj1OPSg/SmkxU1JHT3dHKCFkfC1FRlAmWSpzPjNZZjIpWkNU cyl+Z0orDQp6Qn5VWTttaXxXQHBsZV8pazN3fGViYiFSe3JsM3pgdyFjMCRoI2lmUEhZT0pWayFH ZEVgLVM7P3g7QWN7cUI1U3sNCnpAUXUkXj4yJCYwLSY4JV87O29yQkxPIShBRUlvVT1MVEFVS2g9 MHxHY25jbT5AaU4lITNhcnI/Ry1QUEowP0tmMw0KeiRmen1OaWBzZk48TzNqTD0lXkdLR30ma2c1 bVZ4VjJ+SCRJN01kdzBNI3ImWFRDdGgjbn5yeGBhYylKJSRvUW88DQp6YzxzOWtaSDlyV1hLJl9Q JEBDWlFKKCpCPkZBQD5zWXpmJEpIOSo7Vm44cD9eRGQ3eXRQKiswbEpOSWFiIW9VQT0NCnpycmB0 MXY2Qzx1eyo4Tnh2QyQkNWVFa0E/PWYjUigmQEBVRC1YX0thQnhpZXxud2J8byRse2VII15odnYy NzxRbg0KelYqXjhDNG5WLSl8ODl8RDc7KUVHM1VyMEkxOENUUk11fkU+a3NTSXs1fVgxMD50Rn1p KGl2PTNNRHBAVFZVbkRADQp6eXBIKzI+UUBTOzBDbVEodVk9bi0jVHxfc3t0WHt1aGItakEwZGVp ZDZKWWd8STJuMylebkp8PT5zVnQlU1YoVSgNCno/aUl0MDU8eVRjRyUzMzxfTXtYOCtKUjNnbENH djA1KTxMU0Q/eD9tZDtOfldJPyMpMzBZIzAhaSlocy0/ajBqUQ0KemtNJThJcitOVXFCTV58eldB PG01QXJ0YSk+cW9Ce2hIS256Qm15NGo0KXFCR21wcE5yYFNYVkZRNXQkJVFvMyo2DQp6eWM/RkhA IzVOU3M7dihQIUBxQm4yKXUpe3JYQXF8eDw/Z3VHYUVwRil7MEQxSFA1MXg2bSRWMXRtOENSNW05 e3ANCnozQXVeOCp8RTBrVTNUUVpmZm9KPHsxbnxJJm0qSj9peFVzbFduQWRfPGdyNjJlRFhjNDJD b3hIcGdLSD9Ea1orWQ0KemxBdlIhJklWciVwYlpwcFNZPipWMGlYd0VyQSpSKEhUenp7MCtqLSF7 eVMxU1olbHl2MkZIP0o1KitRSmZDb3NsDQp6MUopd14xa30yeCVGKnt7S2w2YXpOSmZiMiZwdnla bzBodThNeTxMKSM8PlU5dkgqSCZeWV80QWt4QWl1PkhFOSYNCnorZyZXYFBicmtWJEBYSFErfXB0 bG8oflJjIU02Klh5X2ZyLWJZKVQ0JVpOb1BLdylXJlVeX0pTdkR1IyQmPjhpbw0Kek8xTytZKEl2 WGE4WChlfTs1PT9JVHxoPUdBaXB0d3hBXjFzYi1PWmdhb1hVdlM4MyhQQks4Rkx4SDxyZCtQY1ZM DQp6MFFyemRVMFBPbEpTQmhyNGFSUWF1JTVuP2YrSypObWw3bVVUJDI7THZRR19BKzRzTURyT1ph JFpHUHJAPmlVNzkNCnppM0AhMUt5Klh8K01AYD9ZZVkqK150e1Y5R18hR1UtMEgwVEJpPmhCSXRR dClhJEl1PUxKLT4kXlV8JjZpTmw8QA0KelBZYjt7Qz9WUiZEdXJRTWVsK29rPkRMSGBjIT1lX04h MUYkbUlRYTI5ajxgPl9fbWJ4OD0jbHhFMEItbnRoKk5QDQp6QHNOUioqc3doX0JMalk4XiVmbkR3 PnNRZCF0MytINlhjVChVQHlPcG9QVFg8PFpDVHJMJEUtMG81K2hfPGgxcjINCno+eW5eZFcqJllG eisxZiEqKDt6QE9USnZ6V29BND1BZlM3NXR7U00hZEc+KjVZfiMwSmhyNE9SWGZQJDt6O1VVXg0K eldBNzdKb0ckdjApWW5EU2J4elJoWCFpQDdLQ1dHXzFOQFZjQjl9U2tMRjhUWjtMUUdMMUlQUVN3 b0BTYSM9MnBODQp6M0pnS1ZWRV43JSROV2kodUk7Zks7Y0kkI0h3QzlCPlJmbmpDenI5ZF9FWExp SGpAR2JXJEIjZSNIeWlYQH1US0kNCnphQHZuZD9reE17Ozk9SlNqd2pDPjZsY1NyPXt9NSZ4ZER8 MFkrdlJEUCgkdClRbzFkS1p7KnxfWX0qRW8pOzBwcA0KekAhOEJsQl5BR082JHFSKTM8YDBzKmxx PT1xQURsPW1icmgtYF41Zzk4VHFQX2ojS2RmUllEfDBZTkdGaE90NCMoDQp6P05yVGkhclAhYkol WkJAPkUlJDleQiV1fGYmVzUxaUdwaG4qUVNoPEcjc2VxS0wzaENtdUgoTmlsRXklTVhJNGcNCnp3 N2dHKXlRQ054OUpIV3lse04zNmRxPTFKNG1qOH0lfTt8dmthRnNFP09sJno0XlBgWTNVQyspWHhz fEt7Qkxjdg0KemtTTTtBTCYzSk4hO00/aDA1KCtkX0ZvKD4paE5fRU9gPiN9YlNUaG9ecXl7bjxi WlBoam4jS01sKSVsbm1YQTYzDQp6YDFsYU01JkQ+ejElTGAzWSZJPjQwcCVxekxMdWw1UV59e3lF UmsyWjh3PyFSU3V1PiRwSGIhRzxjYFMtJj1MUGANCnpjeF5MWEgtXj41S0RIVyRaM2J6KDI2VnJe Y3YmLWFjR2A4R2ZZO35EYjBreGRNazd5P1Y7XlhgK182SU10TCp6Rw0KenlWX08qe19NO09AS0NH PFFjMX5QdG1TeGQrR0YjIz9NRylITEtTWHczJmYrUChxPns5akp5WWE/blpKeUZYaWh4DQp6UD80 bk9HfnMlUXpEWndWSyRecnZHV0ozI2EhYkslSW98NU5aVzlLbV8wMFNsMjNONEVzSCNvQDlxZ35k e3JpIVkNCnpDKzs5cE9uZGEoVVlPI1lAdG5zM2VJITd8bCMlSWJ5N3NKdG9BWTNIZHVPcFh2aUxX dW5uX2ByZUwoRWlnUWFMew0Kej1BTE0/S3hKSTtXOGhlJXRBKndQa1QhRHlZJHJ1Rjsjd2ZqXkd6 Zz5kRDR8PSs1MHMqRjNNdCFuS2ZnK1F+X3opDQp6aVQ9O0FGVFImb2xwNUxAenU7T1hFPDFOdktQ QCk0TV58QGBIYmxyb2ZPX2Jsa3AlV31ZVWt5ST01TF5nWml4fCENCnopXlE5RjkmYlk5VH4raH07 I3dRNSVVPHlRP0k8TlJaNCpnRlVwY249Wn1JOFoqPVBfJjJFSDBqJHw8NShHOypLQQ0Kej9RQV55 N309cSRJP0Q8UnFuaDBLVjVBUT5GJHV8Z3pER2M2ODYpdTA9ayN8cCgwO2EtMmkqdzlZMWtXZ2dj RUF6DQp6Kl99NzFyO2ZSWTBAWjl5OG0yayRXdW1ANDM9XjJjS0tySGd6LVljflFzdTJrV1E/TzBz SXoqMlVnJDZsRjdqJFYNCnpnbTteb14zRlhAcVZTSEkjN3F2NnNoVThGZWI3ZmJaWEFFaWR9c01W a3ExNkl1UlExO3lzS1VMOUFEPzdTTmJBaw0KemVfPHVSYShXdnBldG9nKjt7cXNabEZsfnEhZStq I3xIUGdEQXk/TWdXOzRsTW9SbDVRQDZrcUZSI3dKXmA7SGNADQp6aXw4bVNxTy1Nb2FZYXFBXyN9 dz9jLT5uWlZGXzAxK1Z6I2hrfEd4YXc1QSslbThSc1J3P3l0RmVpX3d8RzY1PmANCnpkUSpubz92 Q0oyRE9DSmh0ZEpMdyZkZm5KbGJXOXc+aXZYZ2R3JSE1Yn4xeGNvZy0oUnpAcnVUN3pCZiEpVUlX fg0Keit9e0luWkBHdG1iM3lSSDckPkJxVUhidlAwXihYbDBDbVExKDlHSXpjeDhJYSVJJElWcXpn e2VvVU84YEE0VGBFDQp6ZDN6amZTYEs1SmVQT3hKVyhUXmRkKWBTQWxnVHhwM2FxeUd5blQtfGZX dlFqa1hUJmFwd0k2ZU1mfXVeLV5XRCUNCnpUO0BqI2M3NGZCSzhZOWhtOzBPN1FvXmVfe3FVdVpg ZD89LV58U2pudDw2NmYpemw+aXxNYEt1S18wIyg7ZEtVZg0KelR5dSolVihMX3wlNX0+S0Q2OC0z NE16WEtlY09RI3F1UnlSYSR9emYpc2spJlBfc3xfSmtIODBEc3ZjciFQSnkyDQp6QmhNRiZaK353 PClfJj9gdVZDRlpEViFqZ3VFY2dXVFMxQjJYOGE+ekgjUXcwUGQmbVFfVGlCd09tcl4rKXpmYzQN CnpeR3BxVDA9U0RVdFNVMnhPYU8maForSTVkYEdIbTwmfkAjLVVrPj1EakpsMDU3X21wZ3hheHxf WjdeZUUqZkJYYQ0KejVfRFJ5UnVlTF4tI3txRl9DX2wpRmxvQjxaYiNHeXB6dj1wZjVXTkFwI2dC UHFPPWs1K3NZNTVlSVZkSms7RTsoDQp6PEIwODBmdXFjampNdkFTMDw5KSsqUnJTWGlwIWJHO01V SXRXRXQkdnsrc3R5fEJ0NCNqJShfRHxOcUFWVkZDZyYNCnpxP0gobW47P3lwKGxDJF5XclRFaEM9 d3pQNkc8Zjs5VX4rSjkwTGduckc/Um8zPCpnfHI5PCp9QUsle31mOWl1Qg0KeiZkI34tYC08MT1j XlImVnVNJldJYnRrPiFaMk8tZkI/aEV7XmVFPHRfMX4qVntwZWdmS25jeHtQaitYPj8zJn1oDQp6 MzIhRSQrPU1aOTFIZmR5SS1KLWw7PHhfb297cnhxM2lEcU08a3x5VnhwakxxKSMyRn09RTNYRnpA Rk5FX1QlWiQNCnpkYDhmTS0zcG9ydD1wfjNSP2NYSWdTVm5fKlNZRzMtRVRRYl4/K1JKM3NsY1A4 KFFkY0coQmpxYCRQIzRMaH5tQA0Kejd0UE1sQGlxZnh6aEBMaiR4Yy1ae21ARy1HZVduUWp5NTR3 bmQkUClvX0MrZ04yJU9SSW4pPkVzcDZNYFBubjQ8DQp6QigoSzhuYCQhSGczaTw1dlZTPmI/dXlt fTApO3t9ZX5ZYTRMfTJNQUBPVS18MXh9JVVnP3cySjkqX35VVlgpcSgNCnpZQGskS29vRzF2SVp7 bSRgWlRzfj84fHlNOEF8NzBIXjFXUyNjaGxiLXFWQF91VDJyOT5Qbn1yNW9ATHxFWSpZVg0KejBg QiU3eD93MjwmN3g+YXotd3YmTEhnYVdoakk+RFhzbSY1ZlE5WU9fT1NXcEB1PGJNY0ladkgmZDFt MHlvUExRDQp6YjVvSWNwYistJk8pMFo3UXFkamU2YmJnc21KIyEpUH5uT2BKfnt8Nj97WVghc25y WShrX1JGQyQtVGh8VjlqPXkNCno0OW91MHNgJDdZRyV7UFR4b1hndFRIbkhlemUyNUo7WmZtenJL VTZjRCUxO1gqZm9BeyleSGU5Vkx1PWVlNVdtRw0KemVDMFE+e0clfHFNPHBgV01uZE1uSVgmT2dH cTt+T096d1hOXntpY1J2byt1cEtDd1Ryc3Qyb1Q7XjA9anNEQFpKDQp6PDskM19gY1hidEJqbVJB XzRSJEExZUQ4X0R1Pk9qQ1V8I304S00rS2x0Zlc4LT43I3JIPnAkXll8XnNHMjg5IXwNCnpIZFJt czh3WXt3PzglPiNldUxMQCsqNVk4alFuPldMRVd3ME5+eXd5c1YwZns1KVUzaUpJaC1jYmJpUipy N2E3Nw0KelZTKVAhaStLclNwbDEpPiFvMlE0XkJtakxwfnVvYmpJfEB9T0M/fHp5UCl3UStCKEpI QkZEO0UzaU1Ub2NYVkctDQp6LTA5bXdtVEh+bFIpbSVHQkArN2NDO1J5SG0xRnpSRmpxSSViVU9e U0Z4WShWWUg0YTN2Jnx4aXJsWk4oZVdyWE8NCnprT3NrUF9EaiUmcjBNRUh4b1I2e1AxKlhoblNG WEZYSXx8S09ZN2c5ajVlb2kqYmskOHpCT0U0elFwK057bENUSQ0KeksyaClkP0JLVH5ibz5iMURL TUgwbytoTz15Z2dZX1hRJT1NN3goemstdilvPEo1S2JBPW89QGAocjVob1l4TWleDQp6XyttX1FZ aWNZWURBQyVTeUV4QzgtdkVfalBoPGB7VnNHIUgqMn5UOEsyZDZ8YXNpMn0tNlglVCE8QSY8MVI2 Nk4NCnopfGh5eWZ6K3RGRmt4NlJxUF8mWVNHJihycD0/Iz1wZ2tic2NndFRIdUFzeTZsZSgqOFZn bX5hTDJCa1MydnJnTw0KekZRYkw+Sjdudl9GfG10el83U1ooWVgkfWVfKTRSYT4xKjhxbzhrWXRu QGtoIy1JWjx3NCVxb0R5WUYlVkpDOHVlDQp6PHpJbUxPIzdaYjQmfEt6Z1JvKHtYMFk5WiVNdmNo eVVSemVfYzxNOSlufGZwVnVtWElkKm4td2oqYykmVEswdD8NCnp0I2RIWnVifDxZYXF7bFNJIWFZ Z1hsTUlMNGZ6NXZrbS1xWk44aDVeNH5nYj8yUk0mV045IVMzWG9WU3pQRX56IQ0KeiFtM1g7Ryp2 fVk/ciQtIyZ+NT5yRylNblclanJaOGhMOWkxUXFnXmh6IV5PdkAhLXdCZ1FzYVF5aV8kNTZNV20t DQp6KVhrMDdFPFIoSURiVSZITGBLV1BxcUhDPUdMb1YhSUhnNn5TWFhiemMxRy1UZF4xPk4qSWZV NDJjYzxzOTJXPWsNCnpDdVl5fU90JHo2ZnBsT1lZbmVHQXk1NnYqdTFOUihVcj88LWJgRyNRUFQ+ QHZZVj8tbm9nN1glc2tfczxZK3YqdA0Kej1BTylkdjEqTyY1P0MyNEwwVEk5WXh5R0o7aFZVby1g IVQjdmVGSShMWTNiKzA5SjRob1B+ZDxjazEkQU9JazVGDQp6YkNNMnU/fXlCVFAtfFlVUCtxdEUr Ti0kXkRENEVSaDgzNGBVe1dsKDMyK0YhJkdHKncqKGJeSSs0eiNkYzgzT1INCnpDbjc+bDRmTF94 PzkqO2p5KXwqRyNxTGgocUh+fVJINz9IKHVwTU5PSEUxXnxIaSsxQElEcW05Sm9TPF9aY3xlag0K ejNaOCZDVjNWX0NEa2t9KmB2MERLak15ZH1JZHstZiNSQndPWSpmMWVJI3RxYCFGantAbTtOQkNO bEU4YT5lVX5ZDQp6ODx0e2x0dk1BVUF8aDJCNHB+JjRNbzlFXikwI0N9d2dSK0wzKlhISmpwRlEo I3ltOzB6WVZAUEJUY190SzVtQnANCnooR2szRipBJUB6T1IxQS17Snt4aW9tdHB8T0FHPHpiNW0/ UG41MFFkKmJzb2IjT19YVk9nTHlEaSZLLTZyOU9mMQ0Kel9xWSlLeTF6bkRQQSgmQEFtUUk8cnZn Mkx6a1BxZW96ezF0O0Zqej5jXiphd0N7bX1WKnNDO2Mwe0UlbW5hQkgqDQp6SS12NSNjWExWT1J3 e1plbm99PEkjKEpHZ15pdFJoT3s8SH1ZaWRxMyZ4RTAoc3AqLU0lMWJyYFVjYE5YLXVUJlMNCnpe WDRwX055RiU2SiMzK0VBfihiM042KmI8RUkkQTVCdiYmZWdtdyMqem92Z0pEIVMrS0s2bldGe2cm MEJaNT1lcg0KekNxVHh3d1RCbWMhWnlVa1c0MzhjcUtvNn4zQSRMezlgV0hkUFdIPkpoelB3IW9i LTZ6bFUrNWxrZFgwY3NOb2ZgDQp6PUhzM1J7JCVjIWpXWS1MKDFpTmtpMncqd2xeTFZNMWJzZTc3 QVBtfmZkPWQqXz9fdCZZO0tjTHFlKGEkPSlYUGANCno+RWM2JVVDbCM2VEBoZGRZWUhHSklWQUpH Mj1yTFlQb2o4Y140bkpfYlJHMk4tZEMqYEZ8IzUtUztVdEo+ZTBidA0KemxuUitaQj10aGI/V2ZU fiFqPHg8MC1hQTJBbGYrbzAqdEw7Pz9CKkVQc3oyV3MkcGRXSE9AO3hPazFrMyZ1fHZoDQp6cH1j X0N1JTJAMGduUUAxd2ZuYDF5UkdJU0daRmxtbFNoKG1JbWdXMDN7dVIkTko7Sl91JGZFKyo9WGJx NztKfHoNCnota29lN3hGKTh8RiFNMTM8azxUZ0BHQ3JPdjNZKXo2bGBlfV9eYWBrK2otWTdaI1NM Q2x8OEtVcURpO3c/N08wJg0Kel8zak81O19VPEIpdy1IRmNnI2FlUiFPKCtmVkpRSzdiOU10TU1z MiVnfFB0TSVCRGdVPzt6bEd3RCZOWWJZIXJ5DQp6YXp9WEQmLUdARSMoO2NLO1NCRX1YVyo3elZA KnRUO2ZjeXEtK0dWKEVycnJ3KE9VWFpRfTNkO2BJKVJISS1VaVgNCnpEUithbV95KTtMWnZuIW5v PkZMQ1JVTjJ2Q1pzX3xIeDdjTUJkRXYqXjItPFFuVXptQDwhMzlwZUw7K01Cemx8TQ0KejV1X3pr WCQ3MVUzK2wza1MqZldYOVUpVytEQ1BaMl5jOH1ST0NAZUZocmR2cHpDOTFndm1tSUwwKnA3X0VP N2dODQp6UyNYZXZyYXgzQHlCKl9xU3s1WUdDJUleREVVXkpKRmcmTEVIeyRsPEVFZH58U0xJSHsk X0QqQ0ZZfntRI2g2JGkNCnpMJXRVTUtxJUcxX2koKyMoTW9RcEp1ZXc1QFpEOXspKmohMDVDTmRU cnc/USNkej9ROzw3Wj1IIVNaRHlYbntPZg0KejRYUDktZnwkQSkpSypIJSpRTUluU1IkQmQxX3VX dnBuP0VZe35Sb1BEQVFQVDxZdCtLaH5VWnE0ZjlfUkBkdjhFDQp6ekI3RjkxSiZrTW8weWZMQjUx eTEzc3xwRVk0I2NmcnZZSk9tU0RDckAwIyFGRj5LaVpENEF8NUgxaWdlR2pAWUsNCnp4UVYmaTlw IWkteHxQTzw9a0glMkUlX0ZFbzQoU2pqb1I/NzdSeUJGa0I+S3g0S3pSe1dlLSN3NCh2bWZuP1Zy dQ0KejVNKFlzWTs/Y244R191OTI4Rk5GNm9NTHFCLUQ4eUUlWE9GUGIkTTJHezh6SlJSIzYtNGYo K1JKdWJgbXVpIUR3DQp6TV8jKHRqR1phJmYzMlNHY25gIyZsQ0QzKlBOSDlAZjNMOUQoSHU2fkhJ V3dNV2wtfXllSz1yYnBFMmsyWEtYUXgNCnpLS3w+QytGNkZPO0dZPD0yKEYrbWoyJDZOb3FHbFpr VXBUPEtQVHMjQj8qS2FyX2A5KilxcDtzJUgtM3RoNyYhNg0KemJQLVRpbjJNM1QpODU4MTFZdVU/ M0lMSmVuQn1VcEJkOF5vMGFRdm88PEIpJHJEP3JmQVMzSm5LSmVWMjJrTGpODQp6X31gdkJOMzkj XlkzbUB4T1ooVlg/RndveEdDSWwzS2YteV5pWm4zY0BiYVp7QEdYJGFuXjRsUSZJVG9GK3l6eXQN CnoqejNsWDA/ZV44fEdFWnVhS1p+RGxpbVlSZkFjK1lDOTwhXmd0aFlRWEleTGtOJFZJPzRIaX1N WTZkU1ZKOT1TZA0Kej9eVl5UdHVYSG0memJyU3NQeHgmcTRTIzdHPyNieCYzZWtMTzt0ckBVZD1x ckpgaGAoKklre3g7P0hTUSskYT9TDQp6SDktdTNUWCtTdU1Hb3g0WFYxRGxmVmVwbXB7dGxlKXI3 cXZGO0l6MURpLSNGcVhqblNOTU9fWSplfFRrelQ2d0wNCnoxJEF2SmwpTyQ0RiN9KkFgdTgzZTgh SDhVKz04YiswS3JnWHMlcktvT0xedTF5YFlyJm1fZ3Z4MTxjMXNqKntOTA0Kenc0bGIjNCM/Zz1n N2YqbCZ4KzBrbiY4JShoPmRVd3c9cW5FdXZoPG0hLXM5KzkqS09DcDt0VWhCVyh4MzJEcUhYDQp6 NWtGcUlVeEYjO1VjR2JRe0gzfnFScDAhUmtAbzE9IX11ZSZua2tBS3RjKncoYHxKQTZBYFBHZjQ+ Z1Y9Z3hvKygNCnpIen5KQVIyZ0NwKn1TSyhGRl59NWpTNlU5blpUMnktVHckTkhSaGJSNGpKYjYq cWBOcWRkd2VDejFgP3o9KTd3WA0Kel9+VH1sYD9iRlJmdjF5ZWpVOzcwK2psKDQpaDNlcUBrJFRE JkIwfFJkSyEzeTd6U15GQnlMblNtVkdoblRLcSVLDQp6cil6Zl9ZZiF8KiZEZVZOMSZYQ3sjPUJC WVBfWSh0K0dQSDlabDNLZyk+QmQlJDN0RFhMZmM7OyZ0OElsNXV1ZWwNCnozNUNDOyplOVJ+OVE5 SzlUNFRLJj0kTDNvTE9UUiNgdXpZY1ZoQyNyQjdgQ3BsWGVaZU1WJEt4bExPZEBqIytxJg0KelQp ITNTbUZlT1lwTCo3anB6ZFBKZ082d356Z2hZZG0kO1IrV3wkRCtAajkhX2NqSEZCSV9ESFhQVF96 OHQpTUZQDQp6MmV+SS1LfmNTWHg4RUcpbHpFKzdANzNJZVBoeC07QFVKe25tezhLblklU0FITE9D ViMxfmZEOGl5S3A+JWFMI0YNCnptc0lwbCVTbkJVND9sQipteyM/N1Z7VVhDKUNUd01We0d5QDUp aWZqM2pIZ1daakV1REclRnQkaCspM1J8NX58bw0KeiFZfFgjaFAzem10ZkZreWxtWnxiWSMqUGp7 dDVifkBjYGVfNU97T0t1PismPyUre099c2h7YEtFdF9+Sj5CZDlmDQp6amsrSlA+bCUwXilDUU4h eVp2cClme2VGcGd+O31eUnpTTDA+JkklQCsxQ1VnSWZEfXVgVW9QRkxzMnklSE8oeGYNCnp4fCNe PkdpSHpgYjkwd1o8QUtJVlg4ZzhvMklUN3BaPiFoOWc4TE1WXys+KHVXbGJBPWRtckVtdW1MZSlB ZkE8Mw0KekF5NTN+dSNJY1RSZGdFd3NydjZNeHAqZWRmUiZxTiFQaylte35GeDtwd3Y8N1JHanZC S0BNdDxnMzV+SHdGTTRhDQp6Vjk4UlhgWUZrdUBoSld1bVQhUFIreklUNGtiPkQlJStCUTdaekVi fGFuZXNRKGIyfWh4KiRYK0syPEtEPllaN2ANCnp0PHxQeUBhQGRGR29Ie0pSUnpsRXtaTjFZMDtv NjdeYHNkeHkjIUs7QUEzQ2pSTz9ITW9uMz5GWW1abVJkVzxpKg0Kejg4JjA5eDwzTGlSS3A3ZXVa MndpckU1MT5teXRCbTFhOFdPY3UwQzkpVVh1flU1US1kbk9pcCowYHNOMlRhfnlHDQp6VGs8OD91 TXVFPyV3YE93QUJ7Y1Z3X1I+UDM3UkNHUUYtJU96XkI5cjtgQiYjOyhnfmNvfHlYay0ocUBNVEYt TngNCnpvMXZ2d0x0UCF5VGs7ITEoIVJQUWVIazNfSDxARjhgeWw8NlRKSCpSUStBRUEybXN1WTM+ MykmO2U+RlpuZDR7YA0Kek83Ym9ZUnA2PHNMVkclcHdYcDwxantaQEY5JnxRQW9qYEU1YUlROVNx MXZQaXhoYmQ0bDFmMF5WJWhTP1JhT1pYDQp6ajQjUHgtOzVYaHJuMSVlSHJOPFA+d3dAbj11JWZP dEJCM3tRU3B0byhyfWRvVy1rR08rYHhDZj4oaHtNY2MlfDINCnp0JFVuJGZXbmNhbGV4cFFxaXRv aTwhVmB5JlVEPUt7XlNWSTFtfGVxZXpffDNsaF9DKHh7I0VfWHteU3gzYG91RQ0KekRVSVkpKG43 QlJtcV5YfXBKWUloJW0rbytXM2ArV0krQHIrIVRYVjM0VSZofTAkem4xTXZhcmBtenBEVi01XiRC DQp6UGJkUj1iJTItcHVwT0s4MXVydXBsOXNqKEElZzh3UiR3eCpndEo0anF1ZiEmUytnRD0/eTlT ayRCT1JwenQwTD8NCno7WCtwZns4NGtqOFlQOzNSUkJtbVFXYC1sPkUrKEFqWE4wLTItcE5FTGZH KHVOYnF7ZG9GTTVNUDd4bGIpUmdxPA0KekRxd2VQV2ZwI0UreT5SQntJX3BgZ3k2R2BLWD5ANl85 dlNfRW19TXR5YzYwUDF2SSo7eUZXIXBNKG5iMk5EcFVGDQp6ZWZPenEhMzlFWE5lSkBATD1GJVRO eyY4R08yMnl9NWk3KFVec0RRUUduQDd+enZnUXZaTnhaR0pvNnEld2l+Z2ENCnooeT1NfGZVSnRI K0E2UUM/KkZ6YTEhR1AhZ350VjZiTmFnailEQilQO2RIeHdRa35LSy1yJWRXLTNhTjVpaUx8YA0K ek5HdmZKN1dvOSZnS2kqSUl5VH1ARFIqZ29VeXBJWlo8K0k2QUNGNSt0byNjI0R8fnp0UE51Sl9m JURSakV8eCR6DQp6ZHNtc2Elb0k/Z0VqT2xwKDVLTXp2JEhuNHBoYS1OXkBjJDt3Ky1sYnAhSTR3 OVpuVF82YU1Ufj1MTGtnISRSbCMNCnptSnoyRXJAdWMyTm5ZPnNpez55PFJSTXxQb0BSbDh0QExX WDNBUCZ3Vnl3P1Y9d3FzPWMtbG1LVndEM0dTRTl6KA0Kej8mNzFHMz1ZPHk5VilueDhUJWk8Q0w7 WlBHaipUWjUjbn1QLUplMDtifms3amh0TnxLcClJSj9gaXBUaiZHMkhFDQp6QyNwbEFgRWlqcjtZ XjFyc01pKytzPnlaI1dVXmBOUTVtIVhNbkkkfERTN3czaUhNfThwbz9GKDsmdk1zanR3YmsNCno+ YD5VK2RYOSFkUkw0UU1zVlUpbFlHek1gYU9pT3s3UGlCSnZxbkRoR1VRKn1Zd0pDfkl1R3p+JTs9 QW1vYTk+WQ0KenBsaEkjTk4xRnxrQmklU1lgcHFUa3QyJipnYW4kUnRycF9TZk5WUzVgU1AmJWNL eiFXcEJVU307R0NSOyVFKCNSDQp6Xl9Zak41Wl42ZTRGO289UUM2TmxveG5JfD5PQ1hkOylTKCFy eDhkcWZySEtwOFBlYU0+X3NiUk98RChLYWBSQEsNCnpXQEk/QmgmXjJ7ZHV2YUlxek9EbkxyaH5Z Xnt2b0ZHRUE0PkE9eXl4UCEqYHw/QTtGK3M9Q1d7O2VFNjF6TjlOPw0KejllX0xWTWsxQjtEKkVe MEVkOTZ2WWgpaHV0NStwbCRkZyVkPil7Xzc/SzIrMyY0MnRkeGlMSFdhYHJoOUN4aXdLDQp6ZGls ZE9CfWsxMzsjQklATjViOXU1cy17PSQ7Mit4dEx2S1FJR1ltPz84RykrMGM4WHIqe0pOX0dnMFFm djhLR3ANCnoyOXFTYTlRYSoxXzs2MkM9N3BDeVBOJFZFUSEyeW5TQmp9SCtfLUdeYDNqfEUjJjJa ZUBVZiQjNEhYKDchdzY0ag0Kem5QM2VmN19hN3k0MEZeZ2xkPnd8cmJrKEc0YEQlZXpASjwmY1lH cDN1aF8/YyRafXZlb0BnSEFpamRSN2Q+fHNCDQp6UEVKR1klejc5ZjR+WCs8Y0dFNDF1bGpgSihw ekhgdEFYc1Q2cH1MPFFlRHpYe3V+NSEpd1B+RWA+IT9je0M7I3INCnpJO1F4V2R5KHdJY3dNejJK KTRnMmI2Pz1nQFN2R0piKHlaeEFtY2k+WFlkQFkwY3tFNCZgeF5QT0V7S0wtJFRtPg0KelZII098 K2l0bX5MckZvRSMkMypORSo3O3pPTDJzZnwzRU9FKWgxPHJ6b3lebU50e0VGTSZTczQzOFFEI18x M2kkDQp6YGF7aD5aRjhtPig3c21JQ0Q9P2hGfWtAVHY0QDM0diVXdlBHTyNCJWhQVzhtRX14aV98 TmE3aztgUDJrRzVgJlYNCnpiVEN3YmdYYGhXazZLVXQrN2V8MyMpdSQqejNHZCZlNnZ7clo5Tks8 M0ZFYyVuSSFTb28hKU5nLS1IZGh2RWdFVQ0KentDcz9fZmJqZ20xYXZOZmFQM3V+a1NPRFdzMkp8 dXVxZyYha0xsQ2VSbGJwWiNJdn1ZdipxbTZjMjY3ZmBKbj80DQp6VndQSUBCKm19S2JqVlo8WSEz Z3AkSytZYWMmWmEjRVApWUpSSDB5bThDYjRSPkhMNWhDO1IkLVEldCFiQyRjdiENCnopd3ZPa0V6 aXFLaUomYHtSV1BLMUVofWVMNUg4cTtVX1cpN2FGR2xnYHVCc2U1d0JvS2VvWFNrazxxQFpPKUJy LQ0KeiUmKS00X0NZNWpmRngpfGU8VXd8dXAkYU1DS0BaKEMtOHpBPW1Pc0pXV0ErI3ohdUB4VmBL ZHxpSnxKWFo5eGBADQp6MkV6SCpiZigqKSZmWFIhZUZHX1k5aTlCJVhJQjd5UmRCV0BuRmslc2Z6 OTkrWHgwKSglIUdQPTdFTGhHTkJIcH0NCnpnXlUpZUtnWFlPR3AjdHlibjU4cSpSSyFMQndZV357 RXNlbEJ2az11VVUmSiNoIzN6UCV+ci0yWU9QeHlyKmJ9Pg0KejNxPFdQSmlYI2o+MGdkNXJiZ2Zr dE0qMVdPMGZ9ZEx7VzlDUj9WeyUlTCN1K2lZNkRGQEZRUWZVXit5e0FEVTtYDQp6UiM2NkN2Sk8r UVEkY0RuSW0ob1hvYzY/UF91QV9efEtVTD8pSUlAP1RwZnR7SH1ZZT13KiNaVHwzTFRhNHZAYlMN CnpYUTJrLThIeClwaSNpWTg4fj9UZz0yRFhMbUFOSV50Xk4mVnMjR3VCRnB6YXJvQk5FfC1XKzFI MkNadGRtT1Qocw0KelpnU2VOWX1uUkFMY29yRExHbykzPVF7XmFgP1JXOyt3ZEpMSUlLeEdnN1gj UCZQfSpAUiQ2SXEwQF5NOCNKendyDQp6dG4xeFBXOCNsbUk0KWU1PCZIe2dsWXZqYU5vYlVXWlRB WG0zcFZEVlBHU0ZMM3JrQUlWIyVFPytsMk0kP1ppc3ENCnojWEh5NU9tSkRLIXphRXlUUGpuWlJJ LUFUUClLSi1peX1MeyNiO342eT51cFUwe1MjYkdzbi03bkdzSlh5TE5qbw0KekxNWSshUj5aKDli MUlAQlA5QTgkKmx5SVhEZWkpI1Q2TnApNHpLfmVvM1JySExaRjhnbXs/eHwzOENWfWFObHA8DQp6 PSoyenlBOzQlYUVZbWF2bk9rK3NgNXcqUjs7OGNlYEkxNXZXIV8pcU9vSGFKekpvZSsqbHY/dEpJ ZDdPSzd7Vn4NCnpwcU9JVmE4WX1pMHFQVE0qUkJhJlVQaTkkSDY7ek03PD9KKlI2TDxCbVFCYGB4 LXxCZ0lKZmk9anU3QFdaZy15aQ0Kel57VSp5bUt2P0hXOVlBPUIqRHNLVz5mb0JHNT9EVzkzZmhg WEt9NGRpZXcwfEg0fD1AUiFYRHc2bFdOPCslWGM2DQp6KnVYNWIwK2llSz9TMHBKR1VaMClfOWpE dEJGUEtIQX4lezdUeWI0NW0wPjw5dGxmWTlyfWUrNUFXX2t+QTl2R2gNCnpSe2hFTGtmRHMqPkVE a0RrSyYzSXdtLWdoeFJkYVp2cW5wOWBYJGVwLTBzKjZMPTRSdVo+azNVZURgcGtwZD1LNg0KenR8 Kz52SU1SX20/c2poOG59VmdXTXxaMiUmaGhlPk9UMjJOYEM5YkZWWW48fkh+JUh3dVBhdms7aF84 YTFIeEZzDQp6Qz9wciZvN0IqRVlpT3wmcUM/K2lqM2RKPDhzajMpQjIqWFJudTRNdD1ta0IjbjxW IXlTbUYwKTFXM1VhRVl5SjYNCnpfVDJNXm9Za1R8aT4+OGZEakRNMSZ0RTZqKj5oQnwyS2duVUoo KFg5KlhLUnU4eGpDNnpZPGdzJTc3PzVJRlIqJg0Kei09Pn05KD47JFRLdVptNWlmPUtUMW9rZ3c+ ZkNvKT9HYWdUbG5PMVI9RmAzRjN5TlVPSEA1b3JFJH5rJChkTGtmDQp6KFRDWUdDcDlBSzlkYXAj Y09ZezBfN2Y4WHUoZj8yX2hfTSt1KDhzdTx8PGZ2b3pLbW0/aHloIUJzciZkdGtKR2YNCnoycyN6 czh3OG9BQ3ZaRXJ0UGpjP2kwNW9KZn5WVyhJfV97O0t7Qy1tPVRJIWRlV1Y8QHVAQitnOXpPZCFI PGg3Ng0KelVaMnJHXk85X2c7TFFuVjVTY1gqeHkmakx2WD9AclFiO0krSC0hN3c/QE5tITRmRnxI Jik+Ukc5QHhII1ZBJUtqDQp6UiEjX2V4amk2dXAyTDBXRnQ+UEMyeGlpKCYhbCh+PEJTNG03PTB4 c3d2a24zU2t7QEt1Uk5qckAzS0h2Kj9NM0ANCnpjLUlGaWI+cU5sd09VaVZTIzg1XlVFNC0xO1A4 aXhLUClsOHc9SDR0LWZUUjh5U3QxSjYxRCFNaUVIfHYwQ189eA0KekZ6NkYtT344azVyPUI2K2dF ST0lQjd4PVUqdTR+YDBRN1B6aDMyMGNjUnhwI3NAS3gwRnAhaVI0PiE9bSNyTG0yDQp6YEtHNn4m WTQjJC0+e1RpYkNFcypSdVlwTiQwSGZUZ0ImeFVJTENBfjIwMXA/MyZebjkmU04jQGZOMjRlT0tJ WE8NCnpgSERZYDJyVW4mJHVAbEh3TUc8QlJEV2xCPH5USkMmbDdvXmBnb0E9YG8lbDtpVzBOXjdH PGlAazN7OUxOVUd2VA0KejNvVW99JlclPFJxb3tQJlNnSiRZWV5XSG91NEw8ejZrbzs4Z1B8a2py OGdYVXo4YFA1UUgoeHN1Kll8KEdyfCVDDQp6I185KWltNUFeeEk8NDVpMVEwbDtjU2VLc2F3MmVS Szx5ODNDMmdAe1pMN2dCaGshUjJFdnJtbUVRJjMjK1MkfnENCnpDYlVLJUQkPGo8JVU+MjBCR3Fo YUMqNDdGQSNMUC14ViNZNW4yKzYjd2lAJlI4by1JellnKSM2MXFHc1VKQFg+Vg0KeiVaYFhyNGNt ek9WdGZrWWlyQyphSVE1JDtPfXpXeUl4OUcmKEtPXkBsZ2FCKFBBJTAxUVRoWS1MMmhhM2wofE9Q DQp6TjMpaCRLMHd4N0d1WXFrbFFJQElWTks9TGBScDhRXnZYXi12Tkd6KzRnXz82PS1uZWVmZW1B VEx8JVNlVGo3S00NCnppKHo/O0Q8KmBWUHY4TXtoTDNmP2hCTUEkcFdmdWdFanVATmBLRmBpSkZN cE9ZYDJhdGVKWSN4aX1AVWlKTndjZQ0Kek5gako4WkUqZTFqWmthXkJXbm44REA+bCpBZiVzZCNe Y2wycGo0dkp5MW1JbD1OJU9hPiEjJlZIelBZczUkdUw3DQp6IW1WKEAhWVkpQzFFSTF0eDQtNmpw e1VEWkJYWnBOSklIOTloRXdiXzdhPW5XcjApM21mNVQxdVImJG03NngkQVANCnp3cFNCTC1XNkx3 aHd1PzFZTF9jMTBvQ0dWYCY2cDBWbXM4TjsyWUtxNWxxT0FUPSRGVXpsRkRjPW1WZHV5TUM2Xw0K ek9GJG08QlEtMk1SQz8ybkhATDM8dXFsdCVjRzJhfFZaUmJ4RXVeXzJAaUt6Kj1mP15FZVhrWH1I aHNuSTxUJjQhDQp6KDBJVzMrKU0zSUhVa0Y4aERnKDVRTD4qc2tVfnY3VWVScH4tXmlUWHVlSXg4 Ynl2SFQ+aHUkfGlfT2Vvb1NmdG4NCnp7LWFLZSRrPkVlRjspfFp5PSg2TG04VXJuNyhWSXRpc2wy Rmo9TTlSYD95fHMpbFR8cmFFTGQlZDZffm0/MUlWPw0KemxlezlYMWh6NUxmdzdsRHpURmxUWn0p JksjME5eMHQyZTFjZT5+TzUpay1SOzFNaUlOVCFDN1BGMEEyLUsjWi0xDQp6d3dUPE17cSVFYzNX T1BqMntHVSNGcVRHVnh3aHQkKTg4SU5eTlg+MyUlLVc4OCpeektURXg+ajIpflY5VVRRYCoNCnpH MXU4JnhRSSlMSVhFVSs3cUdLX0U/ZVRgcFMjVi0ta2piMGcxMFBUUUEyY25IMVZZdDg9c0o1RH5o KzBPYUw1Nw0KemU/flN5a0s3VUQte1dwU2h+NEV7UmhvRUpGU0o8UmJXalA8IygmMVZgP2psfCZJ RyF3K1QpYjs5OXROO3tSYDZWDQp6Xm1IIThVQ2c4d0VnRWZDPFFzZW1zJWR7Z18mZkBQTTJrK3RX eHZhNnJtNWUqMCohUkpJWnkkSXEmamxMKSRabzINCnphJGlwTEAyaVhSTlNaLSRDO3xxb1Q9TmJW VWp8RW5VJUJkc29rKiV2SE5ZYkE4QFIqYkVeP0wjTjhKOUllfmtNSA0KekZ3OUI2SyNCZGBZbTMx dEZkQXNISTNNRWR5Tjc9U0E9RzVuRGp1b3c9V0ReTTwmbGE0WHQ9O0lzUiQ/ISUhRlk2DQp6eEFG QEx6Nzl2YkY4QDdsVy0hfGl5JWApb1JDZy0hPHlsVjJLLXMyV05edWkzQ3soJHdQaFphXiRweldS XkhsM0YNCnpjJlpCViV7KHRtJElUR3E4PUA/SkY4PktLQXAxZ3drYl9vOz8jPDcqeXNeWHE8QGkh bllkalQwVHx6JVBndzQ8Rw0KenRvSVYpXkBvMGdWdm9sNGI3YEg/QUsrQ2NNYE8pV0gkQl4jKkd0 LU03fH0rVVhSVTdoP35UQj0pNSh0MF4hKCVQDQp6LUY9b1IwY0I5NiVpU2dNe149ZFYmM0I8S19V RD1Dd002PWJ1dEpZeUB2SnNAJWo+SjY2WWxrXlFrM1VjKWgzZWENCno2LUcqNXBhTjRvdG18KTc1 fjlfNnEqUTNOSU1NZkUzQU07aTBvfjI+SHhoPGpZUEVIKWUoJjY1YEV1fjtXTnZ0Yw0KeiV5Xjhu ODl2UT0mRDxUfDk2fC10V3txVU8lc0lLMTVrNFhRdj4tZURuO0trRGlRamx7cU4oLWk5X3lGdypP Qi1BDQp6QmlCRU43d2hBU1dGN0dJSHxrcFN7N1JAYGZHO2tObDxrP05oXjZaK0BuXyZQRm1QSUg+ WjF8U1MqcGVWdlVgKEgNCnphVll3IXFlbjBaQCFjS2NTR3BCNzNBPThSdk4wIUN1cjRheCp+Jnxl ekY2YiVeKU0jP2hGSTNlWl9VaFdFMzdhIw0KekJGazxVe1ArYH41fClPZmtTRmNXPnYtSSg/S2xW JWAzOzk3by1nb3UyP1dZYmI2OXNDTUN9XnckJGp6VW8hWSYhDQp6cz8mfXJMPSU7QlNrUnZZTUNh dl97fmo/dnF1ViQqSml6JEF6UkRuR0lfJkZpZCg4UTxWRTQrZjJJP15yZVA8Wm0NCno3YXpFdHp0 TntJdig1RUxIZTEyfU8qNl5sPm1HZitySjRFcXRGNFV3ZzNjV31JT2BXO1d9MjVxKWplQ3FWMTh6 Iw0KenEtQnc9a0lzJHR3aCQqYSV7eFpOaVlGSlV1STdxNyZ4KGtrTDVQIThhcWFuSHJQZnh0QUYl fXFCWUptMCRzWVZMDQp6SlB9eTV2IzBsUSZvKTEre2R0LXRAWnotSj1gJmpBMl8+UU5SKWBBQChY NUxwTEJ9Vkhxfjw7cTdTWndGIXgkO3wNCnojUjBFeXRhbDFrT25VUEBNanZITXN+SEx5RFBDYVJo Q0IyWmVycWBVNlhtRDMyNUhwSHNXPjlYSXtpTyg5ekRKRQ0Kent+bDQhVXoyY04hSGpsa0NqK1VB WGZmP1hyM1goaD1kb0JBRUsoOFBKN1Iofmh9SiNWdzgxUitRb2Q0bnBlYytwDQp6S1M/QDlnQz4/ fmBRR352WXgzM183aWQ8S2B6TTJwLWlpJTJfalM+dE4rUlpieml5JElqczljbUp1TythaHVRKUkN Cno3aj40R2pzWn5iTTVSVTk9ZUdxaHNgUWFqNXt1Wl9VZDYtZnFyMnJaPVZZUEBySENPcTlwZjhC MHh3QFkwUXxVRw0Kek0hP1prPGhnSlBlfDhndXhldnl7clltZVozWFpUKENSP2FvTGl+M0g8IU9x I3xMSCF7Mnw5QyYlYUhpeGxqQ1hZDQp6SzV9NV8xZyk1X3Q9aHtVeE5OSk89aX0oKSVJcEhGcDQq RnNJJDZ8SiZpTlYob3d6SD1CJiVCNTl4dW1pXm8jLUcNCnpsNENaaG10RV8hbz5COVN8N20kMEle Y3ltZHZHNyY/T18/YCM3X04oUy1jc0YyJDN8eFZhVkZTcyRvUj8pWCF3ZQ0KemVNdHxWaE12S3BY NjtBKUgjSSl7MWk2czklREFKMjZjb19YMyktSCEqbTBlWlohUVZGdnlYVl49an0hWj8hcGxxDQp6 RFk5MUZGWSpOcGxDe2JTcEpaaW4yJlZhc2BTc1hgWDg+Jmt7Tnp5QVkzamMxUDRHXj1RMHpDXjI9 Mzx1UXw2aDMNCnpKP2F7WDI8MVp6UkpRUmsoUVBBPDtnJTxsMXZ4Tlk7SDRfJng+Mj1lQTVzJT1w N2RubE87Wj81Vk98T000MzBvSg0KekkoX1V7WjBxRUx2cWxvMXpNeSgtam9OQ2s/RCE5RUE5dmVR bDB0TE5AJCs2OTdSN0lTQXtPajlEUU0hbXVPcUkrDQp6MT1CZ3MpdVY/NlQ0TE9xO2lXNHMjMVRh eThwTF40cWE2SFQ3IUBAUnI+aSZFMU1zUT1Tc0YxUW5VSCQrVlhKRCkNCnotcTgpOGdOUWVvYCMw WjdKemEqPkVSaTU8XnY2TiglO3olJlJNRFg9dWBHdGhXVmdxZWJOKjtDQUBsNXlWWVkwQg0Kek0j K2l6MFRsWkVUYSFqMjtSNHBfI1ojUWFYRSlUPSQwQlJYMnI1UTR0IzA5Pl42dXYzZiZNNGFiQWQz RWhDIVB8DQp6NCU1QXteSHhtJSY1PiZUcE8yTDlOSGdSNWRsWnJARSkteCZtRnxyLSpIKlZSNGBM YVM8PEMxVzdoZyZ+cE8rSy0NCnpCR297WUBhUHY0RWE5fTRnRUhIR05kTEVfQj9qREp6MWBwVD1I KHB5N05nYGJpdnZSK1dxaHB3OHRZcHNNKkFOTg0KelV6JTY7b1BDQiYma159V1QqMmZiVC1yREZ2 eWBtQyQpVEkyTmsxKUlrayNzM3BuUmNMd2pNJVR3OCVKez8pKHR7DQp6cTM5NkpwJHNtS3peR1lp TnFqTkVXc3Nmaml2Sk5kaG5PMUg3QH1hNTV+SXozcU9MPXQhUURnVUJVaEdrSTZ6NFANCnp7TWZ1 TkhlT0k3ZH5OUWJraT5XYSpyP31UYS19YzFgRnArI1d0Vm5mTmU9JGtWfFokaVNNSH53PUk7ZXJN d25SNw0Kend8c0RmQypUYUpGcTUjSEFMe0tiOEEzYkxJTjwmLXY7ZiZOdV5uSEUrOFVxUTZpOCpR fEw/SSNTVio0QWUwYCV6DQp6dDRhKTEjQk08M1FLTlpmODJYfF48akE9R0h3TXl6cStXfDZWXjFI LUsma3h4XiY/U288Q3s0STZTNz9ZT3x3MSYNCnpMZzMlcE9Rakk/WWBHIXVedX5ZITBMPUNrMW1p a1RWcmJoejVJaC0yezxuKSFJKztBSGJSbypSUFBKPGdVbSUydQ0KemE1U31CNishISZOZyhtdEg4 WVJVWEp2Q1lWUkRYYDJUSip1V1AlQX1WR25OP1BRRnlwKG9KYEJ3RHhPUGR+K0doDQp6MTFhYj81 NEZEOHRUO3B0I2EmMGIoMih2NXtgY2Bga18jdVZBdFg8PXBqPVZ9akw/amlNYGojSWIjVUFwIXN4 ai0NCno9aHdyPVd1KypAZFRpPCo/NXA/UnZucz1+YFFnVUVGPy1CWFVOYWxBQnJOfWw/M0REanVv TmtUTnElWVQ3M0Z+aA0KekVVOXFuY30qRlorPGhyR2dIO0RMaHllJWVXSzlmbDNQYGM5R2ZAcVYt UyV8YTdCPXRTIXJkbERRbndffnZSTkcrDQp6MEYmZlYoSktOSVdMJnRgYmhlS0pGMzZCbSZhJSlu RWx3UHxVWUFiYnB7fWRiRW12JSNsflc7YVY9M0FXSVRJOX4NCno4MH1TYlV+PkZPfDlJNEskPS1R YmllTU1seWB1YWA3MislS1JkSmI9NWxmeXNNWCNiaEFsR0JOVTxoUFFASlc7Ng0KellWO2EwTyVs MTRZKjk8cTs2OG5kKElsUCE0RklIaVJuS3cyNV5BPS1UU09UT058MmViZzB4bHNgSk19JUBPYGdL DQp6bUgrPXYqY0NnKT4pNiYqRzc0VDludGJhfklCLTE4R2Z6O1dNQl5uZVdMJT1GNmtpeHMzPnZB bU1IcjwjYXtGJTUNCnpTVjQlNnJWakp7OW9YV2g3PmU7eF81PTctaWd8anBTRH1AV0dtQWFtUSYy N2hMP1loNSY7S3tBel4yPkBDeG4jNg0KenpmSiNHc3AxNzV4ZmZpPD5rKXc8N0ZuPTdaejg2Kj5u P1VDfEg7e3k4d1ojTCN5Z0tHLWtlfEFYIWNfQ0llcEQ0DQp6IWpQUUBBK1diJUdoSS1EP2JHI25q QEoqM3V4TmZ5aU1lSGo+MjF4TFV2PlB5PU1rRHt4IyhheXMmUSphdlFvVmwNCnpwZz9VNXN4Sl4t c19YNXBTO3h1Y3R9MWNCTlpSc007QzFRPmpsZmtTNGNQbSs2Y3dlQ21RMlg+KnZNJEdEVXUydQ0K enJmUDFvWSRlUk8hZz5yKzFnd25pbUFFfGwkTVRHeT5tP2pvUyUlWVJhPjVEZjVVWHt6QUNPRDF7 QnZSekhZMTZ0DQp6THgwJU5KKHxXI013bDB5WTFvO0xKUEpuRUtCTTA5ZXJFMUFadjRkTXR1Sz93 O0U0bC1Gcl9VXm1wUXl3RjdfJVQNCno4ejkmfGM8K2okSz8xdDZXT3kkY2Rhb2tURV9DRGAjcCl3 R29ifDg5RUk1Mk85M0UpUXtLJFpKOWxiTjJ7YW1pJQ0KejNXTHB5TktQOENBZ2MmQEEoYH1CcTFp dnMkSmZXYk8wYitmVEUtcTFqTloxaVFnbkQkVT5gbUx3PkIzaiNAejUoDQp6ZTwwXkF7JENKTExC OTFtPEQ0Qylyblk3ekNvUz58eEVKQW0lR0B8bWxQdT1OcCRxZClDSXtCeWktWHlLTGJoS2ENCnpi bV92cmVnQUJIQihvY049PU5oa2BMVzNQPmlgPTx7emsxREliNzttJitBYjI5bHE9ezxUdjN9aWR+ fWhQaWwzcA0KenhjfjEpPSR7cV57dkBfKztJVjhNczNeMjgmY1k7dmJkMVReUD09R1FENmEpZllQ K15uZ0hLfjZMMmVUY0JNdGktDQp6bWt9TVJXNiE5fjcqeDYwc3dHbVF3Z3hVY1NgTmxVI15sNUlT cTdmVzd7TiZRck5VR0dMIW5idW4hKks5Zk9vYHANCnpvRFlBKUteY1YqNHZFT1dGSl4yTHJOdyU0 RiNJK3hVQyhXXzV0IW9PY2dHcy11aSl7dU1fWTtwd09FUk9fP25oaA0KekNOK15qKmVVfChIfUAx fER1bFhRTzUlZVR1T15keVRmTzQyODgpJjFlfDFGRUZydClAVE9Td1BAYXZncCE1UiNTDQp6OyhP cjIodUkyJE8pblcze31AeCVxVyNGM2xtPHJfNj4lcCFQTl5RNGsqTUlmUG59SjxRLVVPMjJNWWZO WSomc0INCnpEeEdBP09iIWs9VnsxVm9fNThraCkja3JZQTtGK1hnOyh1VClmI1VDZUA4QSNGcWxw UGR7SkM5ajApdnpuTzVPMQ0KemJDTDFlO0gyI2xtRSY+ez9wQ0lGYkVYMzJqdyF0SSZJKFZ8cU5Q Yz1eQX5CKm9iRldIeGsxRnY9X2pEcm1zTjFLDQp6ZkpgZX4tcGIzRmFBZ1EtO1AzRnstYHR4e2g3 eGZ1PU1qdEF6R21rOFJOeU1nbCpRLUQycDsjZThDQ3BZWWhmbHQNCnpJPmB9KDIzYjJ4PXteYkFr Z3gmPEBKY2dlJGU5TDIzVEB8QzYmfEszbEB7Knw1JUhLMU1jWnlDbjhfVEdyfFRVKw0KekZ+NUxV ZyUxViU4JTBCVip8fmtoJUR1dCVIQzcxRXp5WE5aNDtRZF5QRn4hSHlValdvXkIkRHYxQH1xZ3Iw VDd3DQp6PFhVZDlZZEhgTVYlZ2pUc1V3WWVtLUNGMGQ5QmBBQkNhUTJFfSQxMVYhNE9mNjFLYm1I Pk5PZ1ZFMiM3a0lqISkNCnprOyNGJGdJXypYNShxeCZMWXVObzVCJUk4MGhzcnJvRjl2bEZpSDBu aW52ajM+Mk89IzUyJE02OG9YVCpSYjUqRA0Kejx3VEFvMmVXUCh1e1dhZWF0clRUXlhMO2F3SUIr YzAxUkV+Vl9idCs9Vlk7MXc4UFY+SiVsQiZ2TzxGeDxEYF4yDQp6ezgtMWEhKmZhSD5SYUZmVFVO VWkycUNnYz1yZDchQml7TSlyQD99IUdXUlJhUCMmPjYtMGg1fl5xSUQoKSE+ME8NCnpYak9pQDhs WlBnaTNfb0JPSGxjOTVBTEpQVnNGV09ZMlRVZj04cVVHKDNYPVpfSk9jV2h0flZ7NkZTcCordyk5 Kg0Kejcjfi15JkRCUyE8UmxANGJHVCR8M0YlPUlxQyY9JWI1NjUqZnBAO0BBY1A5TCRkPnBnb3ot eEVyKnpBSzk8Tj9ZDQp6KmY9JTdVRXshe2x8SDFGamoja1ZDQD1vQzhOYjF8TT9+UmdUSGgrN3t8 fkZLX21WJV8jamtwPjhSelJ7IUYmWHMNCnoyT0gqTjheYUEmUEdXK1JjVTBCTTFxeV48bXgpe0RS YHVGNT5tKFhNYEArKX1qJVA7aSZSNDdWWTdoeHFreUh2ZQ0KejlEJShzM0Z8eXxtYyRNbHpPfjxU WG9kRyZfemxPb216JlZZPFBfI1cwfm1ScWxnKGMxbmAqaSplbTN2cEUoYlcrDQp6YXhETGVTancw YXBiOGFMb1EwdjszKHdZY0c7aDNrNDBuclB7SkRuMT1GX2JfJnE8czRnNGE9ZjNffU0mITkoSUkN Cno3eitZO2ZTV2U7U2MpPjJAX18wJlEmXjFJNVg5OTBQJGRqXl5ZSX4pckl3XjlUPyZ6VlRpLV5a P2pnbmcrSnMqYQ0Kenw5YiZaWT9JdD81bCh8VUlkcm5MckBAX0J8OF96VFl0VzlaUkpYWiNeVWx3 ZFRxSEIqbU5DWG5XVXlJMEsxMjdpDQp6V1o0XyE7KndNQ2NkeGhrTEBlYmdYbWdDJGNJZVhaPyR3 NTtKfEBDM1IkI1NURzNUI3VTIUE9JCRkRWVXUjF5ZD0NCnpPeStHUzNOK2stO15SbSY0dTF4PFll SyRkJGteRipDK0xFcDVTY3pkV3pMTExoYnhDOCNMa21HSSNpTSpYOEtIdw0KemplSGV8RjYjZXtJ MCtCN3ZvR29WYiF8YCFIa3d6UURENEFJK253XnBwZktCOT5fZEBBNERUKCVKOCpqWk13dUhHDQp6 N0Yle3coY0NldzFfX292ck1BT2FJX3VgTT1WcVM3VT9WVCFFfGg7Kk11SmZnc35Za19NUyN2OU5f NyNUTlR5ZUANCnpoVDxTMVNCSF5yUnxsZz5ZRCRyZF5iV1dMUTJCVzxjN00rLThNcDVZUVJXaHlT QGBnSXImaHRGQFU9QkQjcjZYNw0KelBIbiVVeDJeVXFOQGh+KyF1XilKVnVtS2syOFlkSGMqdzlC RjdUI2FUaSMzdVA3Uj03S2A4ISQ7TTVCcGk9TTl2DQp6bG9KdjZtTlo5fU44a34zZlpRJkdKWkJC cUx4flJaVWxQbkI/djghSVJobkEqZVFqbnE9T2NrdjRFPTM5WVA5ZjQNCnp4MH0xRVVFfnJWTSh3 bjxRcSpPRHhebGpgT0FHMGJxSmNCdkl5SXg9ZCg1N3c3PmxoJlRzdCZHYyQmZi1DKlV9VA0KejdT aSF8NWEzQHwwJk1QWkAhZXNnbnJxV1Y/JnpwWXZZSkElJVV2U2o/QWpTdjA/VWU8MnRlP2FSJH5O PjJUPUBpDQp6aztXSz1APzF8M1QpclpSczlWJmVMXjt2bmE8SEZealg8V2xOKW0pPytaY0VvQVEo MDtnNTQ1N25Acio5YV8maXANCnokfjFXTik2OX1tMjl8MyF5WjJ6dStrOEYqMUFKX0xscX5fUDhi NkJFYShHbGhLO2sxK2EmK1JjNWR1e2pqYkVETQ0KenhlPXd3PG55Y1ltRStDSDcwNSlfeyoqIStI OHh4aEFxQCghKWVXKUB3bmEhe0ZyNVdvIUgkb3s1anZAI0ZZYTVlDQp6b3FiWXt3V1p2YmVXYDY9 RT5fakE2KSFJIStoQ3U+PTttTUJCLWhqSXI2XmJhJTFqSWxPezBEenJSRE83MEE/Tj4NCnpIQjVr aj4lSms5JHJrTCQjQU5kMURUOz1CJChOPk5MWkF5PlMqIWRWMndWUT9YV2E1Xmh2NnErWEhLP24t LU14UQ0KekcxaCVPQzlPOXlDJUlmNXQqNEJJZHopJGdoPi1aPGhebkhBRlYxbGI5bGpOPDN4SSRO aHhwSGpQSSUyd0tfcU1RDQp6cG5FNzRvc2FVPTltQEl0XzApP09AcXM1VjlyPz5iNjNtayN2JVZS JFowdnN0VjUlYjRGZn5AbkxGRFZTYlZZYlgNCnpwaTMjS1hESV8tPCFwUCVZKmhHZEAmKWQ8RzF9 eXQwI0I4MihIK35uYXhtK3xGbD8jVyRsSWh3Mz05UmZgJVd2WA0KeldxUX5manlhVDt6eTNOakpT c2xsY1V0NkleVmJqYSRmdFR0UkEwfSZTY3g0K3tVSGNYYl43bjRrcXFXRih6ZkJTDQp6RzhQMzQj IU1MJFBATURpPVRBcGZqbEAyYm9mTlJlK2Z5Vk15UyhkLVhBfjV9VlNONmNwbEFBJVA9X3A0WXFu fmENCnp3RWUqJmBFbkolUmI3RlZYOW1NQD8me2IpMGxlTFlCQWRUdDtgaE4we2EpXyVhQkJJZ3Ba USp8TzYzO1ElOX07VA0Kem5gaWdWO0FYJnxyQG9SU05pcTgySz9RK0NNVCQ8WXppZiVHcmJ3fSNA XjJRWTk3YnR7V3g4MzRnc3QqdyNYYF5oDQp6a1cjMURWWCRxc0VmOEwlJnA1JmVrbUpYdVBXVk0z b3ZGbz8mb3JnMkxpPDtSRSRfNCNgbjw8JGhJMHRqX31Mbj0NCnpSZTg+NylWbj5IcCtzeE1tSjRA bzZGYHN1am0lUnctSnt5Q0F9dCRPPzJHYnJvX1MwJUA2YkV8TlVPNzNKQVg0bw0KenpDJTZMbGpg THIzVnxDcihgMWkrMCtaelYyfkx2WUZpKkYmI0dffDB3QU1uXyZBdylAR254R3JWfGdfeU0tMDwy DQp6eTFPN288aFV6RURXeEN9aEtZSF5nMWpvemJtakYlJSR5TnYyKUJnR2ZtZmFTOXQrTDh4KjU0 JFlgVyluVEQ5eSQNCnpwPnF4VWQybEM5N1RVNWpOOH1JQmBBZzNzeGxgVHtPZjQtcExhMW5QU0lU WCNPQk52fHJUY1Fec24lb3FWKHVZSg0Kemt6JWt2X0xnZHdfV3l1dVB+PSE2I2E7KllEfjlUJmJg dmlfZmwhWEFaXmtXLThGUnV+OSh3aytvY2sxMkdUX0phDQp6TV4/ZXpCcnFwdEtMSHdMdDFYLTF3 WmBNaiM9aE1hYD9+PDdPK310YTh5RHRueWpqJXIyZj1UV096ezJEb1gwIzUNCnpCVXUoTDthOXM+ O1o+b1poUVo5MVB4cl88OUE0bGVyPU5GNFFwMF4xOTk/UkF6MjBHQ2U/Qm4rYjlRUHhhODIrYA0K eko1dmArdj4yLV5Re35Hdzx3VCs+WXB0MjFDSGk2Tko1TzRnWTdnND16SH56fHlTakYtR1ZKM09y IWokU19IO0p3DQp6JXY2MmFVZz9kdSp1S21qY3hGfDJBQVNAeW1iX3VxVDIpZEsoYFFSUlJrNUgt eChGbDFOZD1MfCEtX2MoX29SY3wNCnpEI2szUERrN0lUYnRYb1o1KWlLJHZaVU81M0hfbnJeNEFs UDIyTEt3RH0tKCQwWm1Ra3h6TitSOWthfk5YdW1hPQ0KenkobG56VFclNXJENG1NMyFNQ353emNv dWRIalZaaDZxWkR4VHBkQWtLQHk7QnpKWn4jVF52OWs0WWdoV0tuI34tDQp6Rnd+ZGBqVlVlekA7 RkZKRGRSb2crYVAlRFRFdXB+bkJmZT9vOEVPdmxiV21mUUJzVU4zO2BIeHYlek5PWEtvMGANCnp5 bW5mI3ViP3V7Sk9eNWQrRiVBKCEpRGtmY0pxYXx6KkVqUXBtOHRyM0NOU0RMOHJhP0RqNDE3eD95 TGNZQz9mJg0KenA4SmBQRCQmN19tSGlZRm17Nz1aPFdEMUNEfHJRPXYtSng7ZVhhXjlsKlMrXiVn SkJsXnpmbmxOaDEpYmtNMzsoDQp6RXU0WHFSXj9Pb0RhNHlqSSlyIy1eY0EwVnF0K2c3TXZUQCso VUc8ZjQpSzl5LUJyc1lpVTtXPHg8RWE7PmRwVUANCnptUj4kLVBmb3NJV3oocjUoNTx3eFBiam1v OyMtWE9PSSFDVFJzNURffDJFUVJ7bylKM2RzU1kpMF9mNCZzdTBoRQ0KenVxckxIMEBASHBqRSRN VWtCd1RsZiRyOTdibWdmQFQ0clhpdkskazs3QjB7Ti16M2UqWDQpcyMxa09eZz1he35jDQp6djFZ U19sOVJEYEZzTDR+eGVuTCtjQE57MkQwY3hGdklmJGkxQT5NLXFfRmhALWZJcykybDljWUIzZ3Br K2ZUcmwNCnopVzw8NU43ZXN1bFIjKVFLTE9aX3lNUFQpMmxQLSkoMiZ9PyYhYShFe1hDKE1eSlZl Yk01UD15Tm91a0Y4NH1xWg0KelIwS19kMjZZX1JSOTdLOSk5P3BwIShHNnRzUmVMfFQ4TyM+eF5L MD41bjJaPDtDdUczSCsjWERUblQ3TyoxdkkyDQp6VkFeVjFBaXkyYDBYbz02Jn0yOTtGfUByP0RO QGxJOGRMMDZmZytMJlB3fSZrXzRgK3A3MkZ0JWpzMTwxT1VQfEsNCnpjS35IJTM8JlJrTClPY0c8 VX5reGFkZHBKPklVWW14JmhhazgmSDVBdnNgTF58Mk9kWDJvT3NEO2NGcUArM3B2Zg0KelMyWHx+ XiZPSUVxeiRndyhAVztQSCE1VmVScz1VeXI/RjxGPzVMMlgwc347RmhkP0l4NUopd35Bc2BCKm1m aGM3DQp6VTQ9d3lQQF9MXiFleSp4LUYmekxiZENOJlA9VVpUQWo9Uk0jZGBxMHd7ZUl8PUxUQXEh dnNxdUwle3U1bFd0QWUNCno/SCgydDR+JXtgKXlLXm18RWspPlVjVkNiP2Z3Nzs9QFVTN0AmeDk2 UHZBdj0zPm9ZSVFmUkk1V0tCKiR3Ml47Mw0KeiZ+YXlGIzBgKmUrYHgjK2lRU0B1S1hyWGprTmxy Ji1FVSlkaWFscGhkaTIhMmZ2IztXIyY9KjN0aXp3NDx8ZTcoDQp6akx1UENCNzJUYGNLRGZoQDkr RngyQSNsSnotaWZrcEdJbkZZcy1qfGt8Z05KWjcwZUE8fUhVI0JUJVIkanI4NDQNCnpfXjw9ZHRa XkV4VGV2TilrVEwkWlNzWTl+ZEBRYiRjSGBwJF9kaXhHa20oSDcxPHhYYHl6e1dgWVY4UTRWalBv TQ0KenQpRFRqYSM8OTdRMVhUT0hqWWx+ZzlsSTdTMHVfTGw1PlQjWHxeY3xjZ3xvVTlTRkBQbT1E MWxfeWZFSEpeekgrDQp6WE5jezxeSDklYmgpeyVCeFEyQjt1ND1YXk08KncpX0AoSWxHcVV0PTdI OyFCSyozQ2BrMjdWU3syOXs5Nmo+YXENCnpkKlokZSVeZTBxRkYlNUAtRng8KnI+dlZwYHk+KEQw UlJBfVVBRk5UJXAtPzRYNUxJTzhPbkw2bGhZQjBgO0wyRw0Kek05JGZOS2BFcG95Ql91cnY9QT0m XmlgK2UoQCQwI0VgYXpyNSV2USNCPnktOEZYR0FwOEY5Y3UtaFVIJHdhUmJFDQp6PF5gQjBBKVpP PSomLWNVS25CdH0rIUlldWFWRz1aLTNST2ZuWl9QR3skTm5NQUslWCVaX2c8XmVRZX1LNm1UR1MN Cno8PH5ZSGJQKzJjTyo9SE40MjxnfVpMc3k2eHprMjVCbzlgP0JWZz1zK0tVaiNuRElNcEdRIT18 IXN6Nn5GdHp3PQ0KejhXSyREYk9kWklPbGZEVHA0SiV3MyZlSTlPbHgkekF7RmpIP2crYWFoXmI3 fDdjTXU1djVpMHF7cVAqcjtJRDtADQp6WTAjezxHPmIyZVRHND5NWjJ0IXVrbE1sU3QrblVCUS1y bkViLUt1XmcqP0pqJWBmQmx3MlYhbSMmfDA7cWsoaXgNCno3bmgpVEF4M3QwJW99SysxP1RCYVBB UysoZStSRCsxRzdGLT9BdXswRzV0ZGQpVFBYMWhha0ozVHZSOTByTTxeWQ0KeisjQlpaJUtSM0Nf XyhhYW8mI149U2NrWTd7QTh+TWVHfHpiOXokfnZPKHZTK0AhOG8xeUFYXj9eSiZxYUB+aylmDQp6 T0l2MW0mczFlam51fHE7YHx7RyNlaChwb0RRTU8mWUlFQW1lTysoNF5NPnZ8N21gVHxOTT50O3Zw WiptTDQtS2MNCnpxc2FZPWdEZCVFUkAqX2tDSzdRb055ei1xRTJ+KyhePndpNjFUWi1RbWRjMnUh Z1h8eCEtX2hPZFcwO0YtT1RPcA0KekhEQzsyIUBTKUF0MUlBc1BEJkRrM0lpR21rYjJBYWJNXkZX NmhMS29nMUJ9P1F3fEpZPCthbmgrYjd7IT1YK30kDQp6RnV2Wn4rKzFpcElTek8pMilSVH1EOy1h RiNoJiZMVlBlclRlTUNJJGBGaWQ5PiY8K0BnKzE7cmVaQ1dvMXF2Nz0NCnozKF93eFVGfT47Szh9 bCNmeCZkOUoqTUg9WEBrREFFRDNASmE0YEtaRVo7MyVPfklzUWFYX1R7aV5YKF5FcTdHVw0KelZH ZG5XaUJaTWowUUMoVjBkJHc7JXRYfT1NKGk9U0ZvaVk9PV5nUSRmPnhANyVUWjErTDd4eTIkOHQl blVlUEF+DQp6X2h4ZHZTOC1hNik8diNSNXNzeSM7a1Q8S1krMnlsNXI4UTE9dVpTbT9JfGBmZSoj K1dpaUgwJHxNckJ0YWFRKkUNCnpfZjkmQmojQmxgVVZ+dFJZKXExe3g/Q3pRSWNZKHx2VG9faHZC OUM3VishZWx2YmtqLVFnanVRcFM4UVh6e3AmZQ0Kek9WNT4xNDhWTU5GaTRXQF9DRVojPGo3cTtH fT1xbTUrLUBIeCMwSHxQP054TEBFXmlPbnRlPGB3WSgtQyNIYXxJDQp6PUMyRWFAQ0UqTFlZMz9G d0wyLW83dzRrUG45M0xnb0xnbztHYTxYbGo9I1RnRzh2NGFrMSY0OWxIKjVhJGRuYmUNCnomVSZN TGkzZDlfdXQ0dGxZNypkVGp2O0AlT1FiWDNkTnhoUEI9aHAwVHsmVndXc2FXMmJYYnJycms/QVc9 WFNlLQ0KenU4eXNJWHRvX04qMmI0PEYyWDIpYGR4Z2RWen0qfFpuMXdDaFc5fE1KbFphOzN6N3o9 eV5pKS1BdCt+RTItPU5zDQp6TS17OXFAe0ptUiU5XzxFVXl8dUdnYlI3NHlrKjZaJXZVWERVT244 bCk0MXxISChVbStmeVdFcEgpVnM0NTZ5VGcNCno5Ryl0RTVRNVl7WlhzYW1hXzZ9O2lVNiV8dipx Z0ZAanQoS2dUUD85UiUwZzB0UkwtNjJTMXtMWSs4VW9AYFVYQw0KeitrTjFCaWN1N1FoSm1Jd0kx SGwkcm0pUCFPN0ViSHtXMzJ6XyNxM1R7bEZzXy09Z3RAX3ojOGd7JkZCbDYwTThxDQp6PWpaIVF4 V15kNzNQYztqV2FzPlhhMzdzNlcweFh5JWNBdHdEQmtPO0shWHBGbiRlJDVadExSeDs8fVpgYFlk bDwNCno3bEYxO3VzPChoPEh3TkxYUGRNXmpCMEtiRXlwZTB1QVpKVkNQR0EwUmEmbjZWezNCejIz UnomSzhsPSNzKzxgRg0KelFgSz9hNHZsazh3OW5iQXhOJThIbkh6TzBCSktnN0czXmdaNDkpIWI8 fVhVcEg2WXRpVVZFJVloPkRle3Z8ZGEqDQp6amQrNWtLe0RCeSheNUwoJSQ0dyV1MG5ZcitiOUY0 d185Z0MtIWM2d1o2NEtWNHsrcXF2cmtYYTRxWXozYWZ2P2UNCnp2IU1OQThXQHJJKDFuTV5TP0FY Nzkyb2V4eWB4bjwrO145ODw+S2U+KE96b35QTzkmdCMzOTJNbzJYck1QPyRCQg0Kek9kLUo8eFlX OEgxUlJhfEU+a1Z3LWBUUjxocXgjfTw9UUAkKEEhYCslJUU5Jl53N1FDYDBrWCZtI2Rha0h1R1Ny DQp6R1I+QWlHQmlPcyhWRldoYkFqSWFlVWBrTzMoZFI4T2VNOT1qY1ohRWJnV19temx6V0F6SWNl Zl4+fDVuKTd6KVANCno/YE59IUpnQlBPIy1HYD9ObGgpa0E7WEVuNUklbyE3emh5eEcobCNke0Zn akQkZU1wMUAxKGl8cWl9WkJQPjtyIw0KejJRIzJEWloxJXdgRG1scjZSKUc5SytNNiRCPWdOQzlM UjYkS20/SEI/VHw4ZWkjQyR8bDNVZSZ4cihVdmxiTn08DQp6cUxCOGAtXkF7MWUha3dvKllXMTY3 QjNIU3h5eVkzV1M/PDVqalJCWDQ1SSEzOUBDZUMwaUFCRHYpQGdIclh1ezENCnpXaTt9YXg3dk5E Qmx3JFgxfTNUJnVJJmZve3E0YEFScmp8UjhJdlMwcShEPSpWOz5MdFhnUkY7QXQ9PiVxTHdtWg0K emZ6S3l4V0c4djw7a3BhdGtwcmpoNElyUzMldjNgOzYrZnx2dCZYMDR5QTE4bXVqfiUzaEpeKUZS KzlTKHNqZWxxDQp6Q2t4QCpFKzlDc1FyS1V9Xn1LaGdOPlZJeGA/fGx3bmcrSFFXT0I7bVA5c19v dTlkRGFzVHVwKiVrd29YKXooVHANCnpAOGExN00mM0UkczZjZVQ7V294KzFGJVQzOGgyelFOX2d5 YyZ5MnxVdVJoWXooc341SkQtakhCd2NyJTIwYlVNfg0KemgkY1R9XjkkTm1Ee01VbF5YWj1MRU47 S0xRO3ppI2Z0ZGp0dW9ZY3lGbT0xcllfOCZJdEl4OTV2SEJOYUF7cW1uDQp6PXI3V2hQMGhGbGE4 Z09mJmU4OVYoNnNuOzlYKVBZR2x3Rm1tOFRYUmo+JldDdzVmLWJDakVEVGJia2lvYTNBdlUNCnpU Z3N7d29YWTNPLU5zIyl2ZUA5Tk1ZO29vKUBURTtAKkt3e2JPWmlRaktfVHBTQ2tMPmhpSHx2bkhT KnR3RlBlWA0Kelg3PTskPFIjcGxYNWF0WG9MNnlaWGkyaG5kMzZMQ0toXkZ3TC1afnZiVio3flJL QVpmaVNveHJ5aXx8PCRQZWg7DQp6e0xETz04PWFaIXZyRTdgX3pWNDAyPiN+aEY8YnRSaW8wXiMy OWZ+JmJNbXREa0hkPXFVe1VzPEUmVSlpfEc4NnYNCnpvVnhiZHRAal94PTRFSCpucG09SD4yS2Mj PWchSD1QS0Rrb0JvR21qOFo/d2ZNRTlpI2I7JXM+dUhtZXVKdlFrNA0KenJEJCNlU1pWfDZsa0tY KnBBO2I1PnhwSFMxRlU2YnVVMHZxXl5wTzxvVCZEbXprM3FUOD9YdE1VTStBbnQ+d1NjDQp6eXpx Rk1jOFkzWjN5XiN9VClpdG9uXj4wc0BXenU/QDdYKT8pfm0+SFVsY2U0fEFmLVh1ZjBsS2Z1VHBL RkEwNDENCnpReDQrUHdoSFVGdyhFb3A1YU1OdGYhNVZ8VT5uWnhjOEpkeHEwfkpWYFpWX3lJR0co O1c9fn56NDF4ZFk4STtocg0KejB4d1JpZ1g0JTc7SkZvVU9rVip2QX5hUD5eUXBXd0t5c0llcVle N2gyZm5QSkZxQCNsKjByUkI2MmlDbit3SFhsDQp6eiYxRHJwfDd+RU4/IXpINXBLdyFKdmJYSy1p cjImO2RBamVsRX4/Ykl3Uj5tQV5RWEAzQF9STiNAcXsoQkMhS08NCnpeS3c0MXp7YHtqZU96KkBN T35uYlBhMU5DOWFNJGxRTjB4PGpiTl5WeFMhfHc3WitIamYkeSpUKzxgY3tVZ0IkUg0Keng2az59 LV5LSDdPfVheT3o7WjFXe3RIdj1iJGpOVUU2X2c2S3Emd2hpfWQ5Tnw3fmpiUzBsWClWMkV6KmBm O2RnDQp6dDwmd213U0A+aEZkSlN6aW8kNjZ2QStEc0FoITR8N0BhWXdBbVd1PklOMU9+Y0lqe2pn SGpEWWtRc1lEOz4tJGMNCnpJPiVmQzVzaXwjcSVueWZ5PVFEWUhsRDIod2xpbE1HXz9PZzh1TDZ8 ZkZtKUo0KnBJWjh9P3tWVDk8VDMyY3pNfQ0Keno8YHNOVSt9JlFfOzlJa08jSFhSUCooZXpETmZ4 fFdBWGRKOTJFWXRadl55MEhXeVVUNDNyWVJyaFFkQ09QezxLDQp6QVVybD94OSFDKjsmVDZ1ayZp Izs+dmE0T1U+fjxeZzwhSmF5JThoKWFPcF43RUJFeVpAYn58PzN9aj9NeXRCRzcNCnpvTl87KUgy Q1JhMEk5aUV4NHpJSnJJVUZBJGw/Qn5EYmIhZzt3LUQqKENvJGd6V2FyciZUfEdaeHJZMmVGSkps bg0KejEpZTAzZmZvQ0BaTiQxQTdHQCtUKldgZGpjXnZtek5nU31QKUl7Qjcta09fYFVwIUQmbyta ZW8zN05+d2lUODFqDQp6TnI/ZiVQU299VmxITFM7WSM8PSpVU3F5TEdoQXs8Qz17c1RkVUdZOWUt K0MoQiFZPEFqNDZgNjVpJTcxY1lHRHsNCnpuTj1BIU5DRGVeb3F2SCUyOGYyVXlkNyV1YVprVnJe MllzPnhDPmRBdkIpVVFaWFBoYVhKITR6MEY7LVRJfjtFVw0KempMZzN7PF4xPU9TVVJjNG8pMXRx JEYzSU8zfDdAVSU1cmM2MDVqbk0qdT1aOXA0KiVZSSRHbDxiK1J2OS1ufXhLDQp6NTAyRHRMRUdf NiQ7b3loS1ZueXtAaCQ5TTEmIT4reSt8bEMjeWcjP3o/azRRKTsoSXo7ZHJlKElNJmkmWk9me0kN Cnp7KGhidjNjJj1Sb3ttYytXU0skZWBxX0U1UEpvKE4qPGRQUmZtWHM5a1ooMikkb3djQFc9VHlW dUd9SFFkbmxiag0Kem9GVG9IIUd+ak8kK1IqJDB7RUtaNWRKN25vfWMrPj0zZXxgKypje2AlfTdv ZkVgM2twcWVjQ2JBQHFZM3o9ajA1DQp6e3BFUSo9MmVHfHZiUjE3NFpuZGlYeEZeZmhIMmsma00h ZjF1eSVBMGVEQiVZITAoPXpDaGgkOyRTPHk+Sj5qLVkNCnpaXjwybmNBNHEmYDR3PTBldDtiUT1I KWdZcGdBT1pESGFgfDc8VG9RYlMrQlpkKVklMUNmU2lOe3Nqb25JZSReNw0KemY3ODMpU35tKmxy JnF6YWpyV0khRDVGeVF6RCNoO18/Mj1qVj1+VW1HPmE2MFNMWE9TdTAtTz1BNSs2QjdiRSM3DQp6 aFlPJUdAMUBJJXNlSHRuaEJCP2A9WG1eMCYkUSZ7UE9RSFJ7XzY8PVkjOSRGR2U9JmNWbkUxNmxD SiEkcEteeEYNCnorTzJ8MyQyfmB0KmF5ampILTdieXsydThuNUlQYkVhU0d0anY7KmlmaTQhTEQx TTZfMmNkdkF+X2tzeDt4bnRuPg0KejVtYzRqeik9TUxmfFdJQiRPNEUkd3wobERVKG5XcD5ndXRk aiU/cXBXI25wU3h7WGtrTUsxNDk+fGcxTGZtYTtXDQp6ekBaQk1qS0EqPGglbWwmcHlmRVA2SVFN Jl5QcXAkcnghe1RLazBZZ2I8ekhSSlk4aSNSOSk5SzBCTTFkP2l4VHINCnp4fS14U2g2Vnx4VFMp O1dNNUdpSGw8cm5hUUJ0SF5OK2d3JWx2Ym91PmYyWUpfdyVSQm9PfGNvYkk7eXE/WH1tcw0Keit3 UGtjVm9GKnY9YUJ5TTFnODRyTzVCUlBwaSlDIypHYHJLcXU/RC1eZTk0PGBjR0JhWWFBITR6ZD1L RXNKbmVKDQp6ZCV9WmwwMjZtIyorNiNsOXlGeiE4ZDg8LVhFKSUrVCkjZylpdWQ/VWhAbj1PS3Bt cE42WXwodmg5K35BZjY2aX0NCnpDK311Jlg/UjRiVyNeO3U+QX0+Izdycm4xVz90ZlBfdWtxODN6 PnI9b2w9ejRvej09JjsrYHhuM0wzSFlhfXtxKw0KekQjNlI9NFo1MmQoUzVpdmEkalFBej14RnlO LXF+em54dk5EZiF6b0FYT0VYWGRTYitnOEJ6bVl6WGFiYEJvcH4oDQp6eXotJi0jUUVwZmZ8RHo7 RC19TEZjaUpmKEMzZXEpcmhzQ3NtM1ZoRyh5cmhpNXstZ1F1fThlVHt+bGNzJC1NcGUNCnohMisx b3RsVFUjb04xOG5iY1dAOWtOWlFobTRBalBlKmFuXyU9O0hPJmdQdXJ2KUF5Ry1VbWZOY2pBYUxF cGwkUw0KejlScERpa2FOOUlIV2xxJlgkUylGIU93U0dLeGN6M257dUxzdmkkQ0ZrSDJUTUYzPz1o THpIYjVAdiFxe0M3bSNaDQp6MWY+KWFETERQZiMoX3h2TEktRj5afXchQ01kK09tQWVWRDxjWGlA Ql4xVztLUzMxT25LST01b2hBb00jZ1hoUnINCnp5b2hvU3hRJk5qKFJ0bVdBI3c2Zno2SXVGKD0z RjA3QlNeOWxWOz00NHZCKEk/Q1F7JHk4Y2twaXpSODNoezE+Zg0KelQwOF9OMWtxIz1CfGd2SEtU YT8hUjxtKD8wMSZVIUkyRGEtZHsmNzBBclVRalN1PiU9TVd0VmdlWj1QXzxOZX5lDQp6amlQKEE/ T3BKRlpVM2phVCFndDdaNUZjZUhzYFNANFF2S0E0KFpYK0tpKX5qcmhjXmZPd3EyKEs+TV9hcis9 KlMNCnpuUSpWSmVSY2pNV21HPlgwQHtoNVphMGhkKD8lX1FvZXlQd3ZIcz5QK2FoUk5OWStYV2wp KThNWilwMiVmVnwqQQ0Kemt0KCN8Z2dudzZrPlRtRDdJdytieHA8NTRFKlpETHF0b0xEZlF3WUx2 fUZ8X2BVKSZidTMwQ20oNE1+U3tGKz89DQp6el56YCZkWkt0QUxlKSFta3wzbmdUZVpLfkZeaWZq TjNjMj87WDRwXiQhTWJVYnc+cEQwQjc0WGkmQikmKD99RDANCnpJdWdaWm9OJmhESnZnelRuXl4x LWQweFA4ZylEMlkzOSlIRW1GQngqbjlMQyskNkVubmU2aFhSKDd9WCYhX1h1Ug0KendqaSoqeSFS aUNSN1JTc3p9WDAmQClzeXdrbT1qZzluMiRlO3tEJWFeOT9MdiFIQnd5eU02QXdHN2hAeXdoNCZM DQp6eUJ3RCg1e3FVNHtJZWlnJWBDKk45aW0hMTE7IT8ocns5IWNCWFB0JWwtKzVXNUVKV040MHd0 Jj1vWCM0alokOXYNCnp7Km18QW1tKk4la1FSYjkkQ0NBN3YkdX49R2l7OHUydmpOYCZmSWQkOyFx SlBhMns8LUFQT3I0M0JNe3k/QGQ+Ug0KejU0JWNlcFYhOXFieFlhTF8zJFZ4d3NqcFFZc0RBKV98 KGRPLXgmbEMwS2ZKT3xDOGtnbmxNQ0NgV35eaXpUcD96DQp6cUB8fGQmKF9JTnNANWVmTHg/cW1f amEoVDA5XkQ1P1lzPTRkfiRrXklaNm16dzdRJWY3UUV2YHVsM0s4cnIkKTQNCno5UkJRTkRpSmlv S00xQk08TCZQKDcpZTF+K2R2WWEySytGIyViUzJwQ1ZhMHt5ZEBKU2lmbWc+KmJIWllaak5VXw0K ektGTFV2b2JRSCtjN0cmZmxwYVRocH0qIWFPPXA9PDVqZVI3eCExVWFBVX1VVShza0lOcl84bzdS fFZNUD9Md0p5DQp6I24xNj9neWB3cjJmPXZaS3Z9bGZeS31IQ3J1MWg0Uz93UF5oPVJZVTZxJEV5 Jm1pVm8ra0FjQngrMW8tRCtNQz8NCnpkaCN8Pjg1RXs/N1crNX0kWnopbF95azkoZH5aQTFLNyVX TytTe2gqZyo+P2RXem1WVSpoUG1sSjZGayNSQEIzcA0KelM1TXsyI34lKTlzSGhrbnopckRXQitD TnNFaDtsa2dmOTMqK1NCfC1kcGlJR3VRWiYpMyVwV1A4fH1VJXA7cGUjDQp6PkhzZmdLUnYpSVRW P0BAVn1LQ1B6fk9ve1VleCVxX2NPemAwWDV9NzNrWD42QSNyXzNBcTheQ2ZZKkp2XmNnR3UNCno8 eDsxJllkRTchZExHZzNMUiMtdm1tZENCamtgU1cpV0YkPGhfMnBIKDVGcCNsKk5vK3N9c05UdytT NGQ0SHhOPg0Kej9hQkhRZX4oYi1sMi1fUjEqckJQQjZrVkxyeF8+akhSTFlTbEEpMng2QT5vQTYz Sjh2WWdwYFFvQUhSU0NqNDUlDQp6RlZJMmxncmVYPll6K1c7O0hMYlFDKk58KEp7RWZxWTM0WntS TVhuT1dkU0N3T3xzYklJZ3BRUj87YTtpWE9ofVINCnp2ME44PlgmbjU3c31KOCQ9Pz1sPGJrJHQ2 OGwtcD5vZUQ5VEg4bmBtdiEjc3AwdT1ZWT1EQGtKKDtaYDwyKjghOw0KejJRSCkxSWI8dV9QciRg SF9yfTUqOyRaIUgxVG0zcnJuWW08NjErdXd7eXVvbTBFX1Byaj49b0teSTtgLTxTa3BjDQp6RWxT aVJ6ZyNnRGxsUTxyQCFVSUc1RmgjMzZtO1FHclZpXjliaXNGdjN3X3Q9clkkaDExeTc3Q0FGYk1u UHhCSSgNCnprb0lpfU5FVmxhYFkjSiUwM0xaY2w5dCZINT04an5vQGVUeW5kYWZsdGI+OUkmWHE9 dVQpWSh8TXhWfStVQmNrPg0KelReZWojc180X2dycUd2Y2RFYXAyYklPc3hSUTA+IUowUDBQaUIw QyVoRmhTfVFWSEE0ZmxMK0ZyJG0wTVIxPU83DQp6bFY4RWBtN0M2PVltcG9jYDIpeHdtX1k4bSY7 NF5YQXtMJTtQSGpBKyo4cCEqT1J5fW0+Y147cngwUzlgSSlsSlENCno+WWomVVU8bUkrWGthNVkr WWRiMXU5YiZoWGVPQnhIKkYjQyV+XlZKUjFDWSRxdmpWbCpSQWdPTjB9YyQmUyhPQA0KemF8aGg4 bzlHMzItaC1aLUF3TlcqTkFzJU9rMlFQMio2NE94OSlQU1FZYEM4VGB0NWwteiQ4fnstZ00zWV5h RCZwDQp6bDt+XndAIXg7IWt2Pz1SYShSbD8zb3pTZiU2YmBZSWFBKzlIXkkxTlZXI0VqcTA5JVkm aXxZUGt9eVF+YlMqQzkNCnpIYElhOSo0TX51azRJal9Ofj8ke0AlcHxaemRla2tMSzRFdmoyTmZ+ S25hQTRZfDBGZjliJFNySDtDY2V5aFB3Ug0Kel5oK0VKdHx8PjFlbiNBTUpAeDx4cyhsIyEzbW9n ZGg/bG9UX3RMJkl1UXR2KFpUYkwkUXxtZ2ZYJSQrP21BTXM/DQp6a3ZiNmFMODJIbjVoV1FQeFJ6 JEIkQUY2UztxTERmTyYmUzw3KDNjbXp2RjJwP2N3fTdVTF5eZDlEbjZsO0VGPVMNCnp4N34+LWUt LWdtKXNobDAoM0dsc2dBbWVqaEdDI0JCST4/NVphTTFfRW8jfWM/RkRhJT1PQnFXXnlrbCZFbWlm bw0KelYoVX5QPV9JdEFafjl4fUM0Ozd+OD9reXhAazhPensyJChIa2hKVztmNzR2bjFAWWlrQDJ7 PTJ7S3k+QlMyYGRQDQp6NzUpeTluVFVpXnJCPk9SeDBifDUjKzFhd3tYTjhoQDNmVW4yekNRXmN3 KD0tUDBSV3N2NTdeQXtFKihueFJWUXMNCno0TVlwPUBvWUZlazkmJH5RQChJTmglIWVzX25AOStX TnhMO0MxZjRZKCVTVV53I0llamo9JjZ7OGUtZUooYnU3Vw0Kejd3O3tUVikjQ1hqYVBTUkJzISs8 WGJuNjh7ZDFybmVIOD5BSGN3eD41OVZuOz0jQFMhXmojQHdDJDA+ZVlZanQ5DQp6QVBxazBVTyhg UD09ZUwxKHYpcURVaEZEeWQ7TnM0YjlWPD8xbExZbW4+SWlAdklhYUtyZXpqTSVydWFgITtmeVcN CnpOXjhBdENyQzU8PFUjendfJSN4d0VRZkB8a00kRHlVU0BqbFp6cFhuNFoqTHxENHFZI0IhWElT bTslTU0+aEBrMQ0KenBYWXF5U2pqb31YMWY8akdFQkl1TWlfZ2pELUl2UnNqem0tNEt9N3BlfiRk NDFARzk/SlZFPWo5XmFyRVNMY3BeDQp6RHc9ZUpkZ0xYfXsrYiFyWn0oMzZ7Q2VsI21pODE2LWw9 PWdMWD00PmFsZGZTX2ZRYipjaCtiK3lzdWZkaFJQYzcNCnpfYXxQMW1HSVdGQE1wKnFacjcyR3lZ anYxUXBtR15AQHA1aW10SCQ8UUFBXnBaU3xvVzItWn5yM1Y0dzQjTX1eaw0KeipzajE0O3xnRyZa KlA1a0ZNJnYzYnxUNFBeWUBleikwMEgyN2pDO2ItP1RSbXBwTjYhKDctI01Qcjs/cjNoOGtODQp6 b1kocGdIUX5jXilPd0lFdlF6I2ZpY2cqbCNxUH5QcyMlP3t3ZmMmOHRsO2R7KDhDRHpxYGI9S3kh OWpST2xwUkYNCnplQHZCRi1BRGo0dUhRbyZOSXZYOypmPFV2a0NPK0s8dG1OY1VZNEpkb29WME4k dHpIWmFsY0YrMCFAJXA0Jm9QWg0KemdePHw9em4rIWx2TCFfRz8xV0E8PCp5SGpRVGQmM2NOK0Fh UWhtOEVmfX4jWXRsJlB0XnF6PHs5YTxwSkkwVlcxDQp6VVNOT08rUG9FKiYhY0dARzwzclQ1V0xs SiE1LUlidWhCdHFrNzFKcy1ZQlowRHh8cT1lJmNvcWY9ezFQPyo1Z00NCnotZE88PXBVdzlIdSE2 VkgtJDVrYyQ3el4obDg2JmNvdTBeZEwrbFNuODVnaCNxPnMwQ1BkUHcwU3YwWXNke15QJA0KekVR ZVFhdzl5YGFtVWtfbDc+bH5XdXE+dGpxYi12NmFBd19GQE11MlZafm5rdCh6RSNfLVNueiljP1k3 RD9XQH01DQp6QUxRRTd4UTZ7PFIhcX49RE9IKT9yOE97KntMMypfUyFOWiRBYSU0fC1IViFITmU/ Zzw3cyEpOCYmWHl4YzhfVnINCnpRbl8+SWpsbCVUOUtFNGZGUEpHfWRhXl9uVkNHXy1jbkxIeUlD djszM14kKjQkKU8hN3A1e3NZUip3Vz9fJkdVdQ0KeldtZ21yPyQ1PDVDaHlfPmpnWnQ3Z05uJWN5 NEYpV2w3bnlOTFAwI09uYj15M2ZIaHJzUHhDQ31ETTtNJTdfViZqDQp6UGB0O3dSc1hPYFJKKk99 WXxuRSlOSXVnYXs2O2l8WUVOPGUoYG5iPmFDeERFVWxpcWdnVSRfV3ZIeDJaR2VQUWANCnpfeiUh SHlhbiR0TzlTPGFgRzFweDs0SF4jQH4qKWdlRWFlWnFUP2Y1dHpqdlRrIXRVaSokZSYmY311bGRY YFVjRw0Kei0tbXUkWkUjSSpRODwjR0p+LUxTMGFId35aR1I1S1QjZEEhYUNXRlAleiVCYXY4dXFq R2tQKiVCaCV0czVKIyRTDQp6T1lhZEJUNzJXQSFHQzM9dERAaiRCYSkycDJ4cnkkY1NKSHp1NyRY clghU1BeZW9iKyU/dEkmYmAtaEBiazlPM3MNCnpqdUEkKGNvNkczdiojS0tjZ0U+QWw+JUV4SCZS dzcyZDA2PFYpTiQkI1AqSXlmM18/JU1KSnYlMVMteStoPD8jWQ0KemstUWs9ZmxEby1SbGtOc3Bu MiQmWUw5YShTZEppKih2WGIwOTZ4Pj9POT8+ZDxFYUIpYmwrJWEqdDFsbSopd0t1DQp6K0M5VzFJ UHZ1b15afC1HRmUoV3ZLJkFpMEd2WmRZTjVTNWQ3eGM2clB2S0ZaalQxZGVOfikxOShZQEJESndW VDANCnpieHVwelZPRlQ/LSZXe2Zke3h4RzhBWE5rJTdQbTk0dX4+Ji13TUN5LXQ/dH5mVlh6cUZH PlAoeTFFb0tueDJoYg0KekArJnV3NzlCMiRsRUp5S2RhcW5pdXp0RyZ0WUE7fGkoU2pXNnMrVVpw SyNkN2RVenpZM0MwQjJUbUBCPGJ8K21HDQp6SXhCU3ApZGc9a2JBa3hWbik+Wl5wKV5gTj1PYkBG ajdSV1dMQnAjcGIyT1R8TnRiNEM2YUIkenlIMDcrRCEjMzQNCnotKkZEc09+bW94LWskJjFHX0l6 M1V4dVpOJikoezk7VyNVU0lIbEsraWRXNnpUP0lHVWByX01SRG13OTMtNXYkdA0KenI+fFFaUUhp UmpLOX1QJCVhYUxANyEqO3toNnJKNSE9PSMmUGh7NkshYjBFJm9QPUo+MVYyZFV2dUsrMGZ3T0NF DQp6RlM+e01ncUhoVl9jKSlwcSoyVDFnPDw/Wj01IUZBbyFpMnhDKVh8elduXkxZI3wkVF47cldY OXxKV0lkcDNaKFkNCnopYURSfnhEMWR6WG1odXM1UT8/ZmloWThJLT9jM1codz9XfHgzJWhmVj5G N05vUGhiKnYwWSVgZkgjX1pyMVFNcQ0Kem94VmwkMmpscXlHbypAaSZtVWA9a0U+IVVrUFFGVXdl M24/cFhnO3lDVmk0bitxZUZMbyRWcD5Ja1RmPm5ASH5+DQp6TzM0RUViVzBGQD5qeClLSWVzQmgq YiRLdGBkUz0oTzlqUElaeFMqT0FtLUdhYUV7QmFLNFJlNENULWglMjZaWCMNCno3fnstQHY7R3s4 THhvMEBjSGR6NFR7LVAoKmh1PEJ3SzNJa3lNVUJVanxHdz0/e2w7Mlh1NjskQnt0RCVEdXIrWg0K elh1OVUlRUFlNnNwb1E8O2AxdEgoaysrUE5kUSVsakRHbzxVeEFgKz9PRjlVYHhZYDVfVituTzYo cDYtWHI5blI2DQp6VU9JMjQmcUYyJkpeZ0hwQjtQbGwwU0FuUnZBKmdlUyR6aXQtWDdudlI/Nnpg ODh0STFPPnFibytuUVMlJk1md14NCnpaMyRJS3tSR1ZaZTlnOS1LaHdVaXsmfjVgWG1Ufk52RXlN R0RJNDgkYEB9fEVtZ0hGKll3TSMkeEA+dWxxdV97Vw0KelRqIzZJWXY8Ny1VaCpCbUxtPWZmRXla c2E5cldSK0A2WGpEeW0wT3JiI3ByOSFSRkw5OXBPS3p0e04razcoN0FEDQp6e1p6TjcjXkpBUFl1 LVg3WS0wM2taI2hyeDBeXyNBNXdXPCN5YCtzcEolVztsKjVHJEB2V0JDMTMxZVBNe3VQZjkNCnp0 eTBpOGRRNnZYV1ZjQHlXV3hxWSZzR0h1X09aNzhsRkJeT0JKKGs4elE9NXR7aHB+NXdfQTIjbjli I2Y0QT5pVw0Kem1uZXUoUkMyJD0qcU9QJWwoe0FVMWQtUiEqMGhhNmNFYVIhdlM8U3t6aSsyJFFz NGN+MSpNJDdSOz5GWkJ8ZCYoDQp6TTwlbUt1Q2ohSU5iUHs3Pk0lajN0Ryk8MmljYnhpbnUkRHd4 Uzg+TzRFYz47KGgpRD10PGZ9cHtNIUtCQ0E/bCMNCnpKKHZZIXR1Nm1RRyVIc0A8fmtwQGNvPzxC JmJBJG0zenMydFg0PHBhZ0NEQClGcVJrX0l8cyh8bTxTdFpfX34lOw0Kemxpa0liNThUZlExWmF9 Unt3e3pJRmRAQ0M0bmVINyFORVZuezZedXthI0xAZ1BoelNWVU8xTlVTdmBYMktpTSNhDQp6TFdf WXk9bjc5NyE0RXJ1SUcrPTs9bjVvUXQ1OHN1enc/QChURG85MHlQZnklZz9NRTUmZ3QqI19WRyY3 RHZBbkANCnpnRmdhd3tKVUk/KyVYM0o+MEtMWmx9ajdqWDxnN3NkRiFKT2loaVkmUUJlO2N0MlMp JGk9K2ViNDxibnZScnBeMA0KemlnWkJKK3w3TTFqJDJtSlB9aUJYIyMhdTdQayhYYUdndHVsSTJC NmM1KmJiTjEoY2oxSEgme2MjMVNaM292ZntsDQp6QkExK1dvbUooIUNQbHpgWGxFSWhgYGlNZkZ+ QXk+ISshWClnIUl6KExiMlB9OWxTZkpVZG1Bb0EhTyVzRVVIMX4NCnpie3o7PFZXd1AmcUdTeVMj TVg1dyMlSF4oNzgteChPNmVaKWxUVipfLUVQOT13WmtXU3F3UGZgYWBSJl9rfEAxQA0KelhoOEIy Sks7Mnxzdj1fMHskRzRMQCZVSzMhLVV7enVAT0FOX34oeSVlJUVMIXg+X3x3b0VMb15KMzdHaigo fHspDQp6KEY5MD1vISp1NWpkVnBoJV97ISVWV3A1OTk8O082Slo1SjN0JWNeUldYQCNheGMlWTBe Q2l5SCQtKHp4JGFeMVMNCnpYITxKUitqb2VJYlpFWXRJQnZnQm5sI0xWNC1Oak5LVUducXVvMHtz UX0/eVRvSmZ3MypoJnV2aFFHNlBOKiVnfA0KejU5IzV5QklKTHlESk0rZ3UoSUUpPXh0YzlAK3p7 RXB2RGs/TWd5KzQ1Nn1JSHRwdE1SVUFBOVpsSlZHa2BMN0ZwDQp6SH5jXmR2I2VMPGkwa3NAWUV4 X0pXIWsqOEkjUklJdGxaaUcpbDJHMTliR2daWE5wdUw5XnJqekpPbEckUnopfmINCnopck4oR203 S1JJe2xsIUJjST1gay1pcHtePW84Q1pleUIxdHdlfEp0eEg2QUQmUDlncTVUQ007KWc/S1BrY3Nn JQ0KeiViTVpMRGxta3VPfCN6KCE2V1FDNng/ZXgqOW9VVG80RTkyO2p6LWtocyE0YiNANVFqUD5V OSV6TGlVRkd+YXY/DQp6ZVVKOS1Edn4zTiRCIWFwcEh0TEAzLUlXMz17bTVLSzxNREtwd1dKK3pI YXomKUVoRmlpYkhxRGQkdCpxNDZrR2ENCnpmPWlQKmBlPkFXaUZuYlJxYHc8PkAmSXRMcHBnQlkj NUNzakFWSnljVHV8cmJpaz1CZEdAcmRaZVJ8e2NfJCp5RQ0KekhVSWEjJT4hVzY0MTNpSEU8S2ZG dypYbmd4Oyt0YzhxOXQ3TiZlQlU3eU5SSDNJbXxac1F0O140Wj5HbXBwQUI8DQp6WiltWShncXYt NWl7VHdidEl6QXM9QldnRiElcV5MKkFNa0ZaNn0rYXRXaitMdjxQSS0rYlBCcC1TUVU9Tz8rKTcN CnooQVFRX156VExUPkhtNjlHaCZgNGpDVmJANXg4TjR1eXhFbm16Z2kwITYhcz5mb3NofG9WNn1f V0EobEo0NHZiVg0KemNZelhURHlTS2NNV1J8MEgxMmk7YWVRODBZRCVZe3dxKUFEVC01N1Y7Szsr c3l5P1IrQzMwd3txNzAjVFoxKEV2DQp6SlBkVHROMkNoTCtiOTFCX0tDJjIzd05OWDVMJWpaeE1O fTltPkJPVGYkLWU3YXhIOFc1ZG5KLTk9VkB5QCtOflINCnpTJXt1elNzYHJsWldWOFNqb3J8QCRQ OzZ8LUNqST1vTUFvYnpAPEU1SWBYTEFqSnR8ayZJMzdiS2Q/RWV5Pzc0SQ0Kem0mbGZMJmR6TVZZ Vl5mTkx9X3xXdGNhZkByZyl8fDh6Zm15JX1AcDB7Qno3JHIhUmdQMG5BZjNBMHprND9rPD5zDQp6 NTA0bXJ5OW4hJCZMWExfaC1hSj9MNlJuNFV6WU4wSGVeeFcoYiQqazJIPGNCPlgxOVZ0eWRQQXJr OztubUpHK1UNCnprYENJfXooVzVqKEU0JlRNWnt2dGRYZFU4KXlFNWJkc3k3XlNqYGVTP1RFPjJO MipBdDd3KHptPVYhOGM/JXxVUw0Kem9vdlBpYGhVIyhFcEBRQWw/PjlERyN2dXB5WjU2bFdgJWtI Ulc2dz5OQyVfWmI+Sn49YDJVIW1tSz5RSEgwLSZVDQp6RjhmPEx0aTleZkxESytMe24ybHQoLS1j LXEyRHs2bCUmX183M2ZHZjYoJkUwamU/QXV1fj04TlorJEwkJWlSQW4NCnpuYjx8SztyblloOGlU UGp0fHVMP3R8enRsJEspO2ZjR2RUTVJRe25mK0Umb09vJkBRaWAtK2wzZm80ViErWXZRdA0KemxJ WDZCNzttTlJaJlJXVSYmVnhIbXFtK3hwRWYmdnR0KXNmYEhIRylZUGFtSUpST241PjFWY3UrXzxU OV8/a3JjDQp6Z04zeWw1OWArdFExISVhNEN7OHk8a1V5ZmkjSGVDQmshNm50allUUlM7SFlNaWNe dUkleyMzOWAoaDYhPVpPRiUNCnpjTHpaT1IjR2l6d31hU1dGKmZQODMyY0ZROElwKDcjMmImUXBS YylyPDtnKVNzZD9idiQ4bCt2YFpLdj5zJVoofA0KeiVxN0oqc0QyRzI+VX00Zys7UiR4JShRdlNA dE0yWUR5Nz50MXV3OHJzQWVKSms4YWlEfDVERW4rXjJXV3BfYGc/DQp6UUdlVj1zT3NoO1p0fVNh M1ReX0VacDs0OzkhKiE2UX1+Y2tWNmB1bnYySCE0ZmYkYj16M1khQyhaYFN7UzBXOV4NCnpOfHpB KDZ5JFMwcTlhciNnal5seloqfXV9e05FST9RNW5qRTNYPCR+MyQ0UklLc2lKdHg9S1l0emYoVGpp Ym9mfQ0KenxKSWdZQ1RpVFlnRDNGLXRMfnc9c1Q2UEBRV1hUYjNudU5jYnpnO3RodHRibElaWXNt WDlqaTlncD88P1N1Xi0tDQp6WHgqbjVKaz9nYitCWWZoRTBeJjV3OX4kdXVGZTZ0dHxxWHVFZEhv MFpPZkEyQUFWQ1p4a1h2Nnw0IyhIJWB4YG0NCnohVXJvfiEkVDs7ZDN8QUZIfXJidTF6ZHhUa1Rx NXtFd3hpXlZKSVk9MEd7KDM1SHZRdTRLQHhBLWNxK1dxJWBqdg0KemZBJHchd0Q9RjVzSlpzRjJo cjt9aE9nb2k+NkBvJTdue3BEPDxNeHNJaTZ7O1BjdUdxXiQ4bztpLSslfCpOeSZBDQp6NH02K31R JmFIRCUyKD9GNlEwQnNWY35EenRKTVFUbzx4RnxIaztXIzExPTBQVWxNTTRPOXJmN1hkRUEmNmt7 RmQNCnpXKGlCJlRQZD4wb3MoMk85VUtAQ2QjT1BIQTB5V1FFeilyeVU/TCElI1p4fW9TRUFmPD41 LUpBUUk3VyRDWjw7YA0KemY5Yz4rX304c2x0TSYxSVU1UEFSMEl0VG18MjtmPmJSME5PUkQ5bzBV NW41d3R7Y3BoM3U9N09eaXFfWSRTT3NODQp6SGJXQ1pOJU1nRT5gVyhxQEFXXk5HKklgQ1NyPnFp aGZ6K0lMQTVue2xHKUdsME00JipkPkE8WDlJKWtram16LXcNCno3am12UFZgME9zYmpYWktqT2N4 dldyMUgjXyZFfWVtaXF1X1VmKX10NVB4Y1c+b1Q5IyojYDsqSXl2S0A9WFI3fg0KejhmWHJIJGpz JlI/K1MyWE96ejFCQjcyRnpwQWFqMSNmM1ZlZHR8WTFGRzlrTWFGPnhrRyQ5SnZWOCVCKnd4M0R7 DQp6ZzZeYlkyMzAoUlArSSEkOz53enVpdiZ8UGxicU83dGNYM3YkQihzRz1XaillKyNMI2NVJUVv QGBCVUh2bTNTVU4NCnpsNks0anUrR01PN3I4M0l0eHhAJGJLTSFCdGNsJjwtO1dLTHFTfHlzezst WFhjbn1oNFBZV3huc0VtcShrSHNtdQ0Kekc2fmMkTClgNzN2NDVkdWhiIU4kKCoqTFJsb01fdzxj KUN6IXQpalN3V1JwPFRWTWtxZl9PSWdXME5AbTtOdTJXDQp6JVZ8a2BwVlF9al58Mj5EMnVAZmU4 fjlrcWhjO25+JDVFR3QkUVRPcyZjbEJ6VFREP1BBSVcjVyNLXl5Ka1YhfX0NCnp6K2ctdTRQT0tn Mmk9NmduJHBqR3lqZnZFeHZqQXpeU3hre25mekJtczBGPkAreFp1YXYkTXUyTGJ6akFrcVY1eQ0K el42UTxvRFg3NHxvZnBJNVJGJiskN2xKU2Jpc1Zfc1FveCpXclNvcU1MRTUxMV55Q24hQUB+QnND LXhMPVkoR1J4DQp6dj9USEU1RFhOeCopP1NgS29FdW0tPDNnbDZKKzVQZjAoTCNQS0NxRElDNWNp dXJFUHVKKGN0eWMpZGJOYDRsXlENCnpLYD1TRjV+WH0rdzNPWCFTSUljcjt5fkdPMHgyPHBDZn5Z UWh+bUpvbmc1cF8oKkVyXiQoODRUYU5reV5JJlRpaQ0Keno8YTFNTERBckU/WmdIczM/RFZZdHJA QUVBZnwoaGVJOUI7TElMRVlRRk0oJkokRGdGdiVPWXptYlh5ZnpNWEd5DQp6dDRseWtKTldtO2VG dGlsSVVheXB6fHUyI0Q/ZCRDcGcpTUNvYmBSeDAhPE5fM1gyXiRsT2U+YlIwUylaMUZCVGMNCnpk ITdKUlBlNikoV1dYOUYwUXplYz1jakN+YlI+aj92fG5ZfnRSaG18NFA7QExsOUxaKCUlJHEwcGpm c2MzX1FWTQ0KejVJfEZ6Z0M+Ymp7ViFZRlViKXlDWDUpKXlHO0dZN3ZBbihVa154SyQwdkltJGdI VjI8QTFKXzFmWk9DVGo0eWtVDQp6b012bXhPT2xRekszfUl0O0NXc0puVVV5KDJXcWplSEArNj9X Nk4kcCUpRVBkNSUmO0VkV2IpISRmI0U7aVV4UlINCnpRSVVGfE19RURwKGFAQTs0WWpxcUtpZklA cmZvN2BGezEpdStybXJZZV44YCtrNEI8dEtnT0lmPE8kbyl6N30odg0KemtJb1pFMjVlRjUhMGQ0 K0YwcTtFaGcjeEtadj48UiZ5K3YjYDd5OXpHPVoxIXsrUXU3SEJ3QSRGVilyJGlCZSFzDQp6bCk+ OWdmeWpvYDIzTEJaOU5fZ084ayQmNVF3Rj9nRklAY15RYiFzbE8lQXZXZyhSNHdvVjwtclVEKUg5 JlNmQEUNCnpOJFp6Z2l2YVVQaGcqfWxTPUs0K0F0SjxVIyQ/cDdvRXwhZU8hJHMmNyt0Jj44eWVt N3V8IU0mM1gmV3huPiNpTQ0KekNiXkY7bE00OW1JdlJqfmchRlVnT3s3MjZUSihuRDAjYSprQEtE eUVrK3w9O0ZIaTZFTWRIRDU4NjxDfWo1d1glDQp6ej12Z0NCPjV0dFRpWU0xa3ZBSUFgdj1eWXpX ZUooI35AeysxanFzVStoeio7VG91e1QmQyhKO3M7PGtjajRxMUANCnp5N0NNMDF1RSgxPXtyaVNK fDtJYVdkckNERVo7MD80bHl7bU4zOHkjJihSY1U4OFo5TCEmUDc7c051VmBTY19QUA0KejViUVhy b3lCMiZydklUM1ZVR1NTSyhpfUAjKzA1fWBNTUh8NUM2ZD9zN0NMTTFCTCNgZkl+Y2gjfVEyOTh9 MGdzDQp6RGRIKVYlS2wyT1V1MkxSTDVrcEBLPW56eXlqa1pINnY1K2M1ZjZ2RWBXQUQxWitNVFNC YF5CMExNdk0tckpoQiUNCnozIzcoWmhyfm5Ram9uLTlgNFYhP2NvXlNLc25mZGBUNC11PSlEciNf WF9lQzJvV2dwWnJfMjdzQjZGVH0tcTYzaw0KelBCVExxY21rPkcwUHdtSl5XI3hDLU81ezRzaClv aDRpUnJpdCV4bkp7RHdRYyQ1NyZWYEp6KHgxVVlRbTY3QXZDDQp6dnBeRVNMcFpGOWVST0pXRXw9 Z0w/OVIqcGtYVkh7UTc0ZGdZUSV+aio3MmZeRXBzclhLMlg2UytpQzYpTT07PyENCnpVYV4tfkZB flhwd1BJUEIxc20xQmlvayNRND51NGEpU2olZkByRGtHISVXYilAQyZpRVlmJFpVMkQjKiVKP3Q3 TA0KemVQWk4kdkA7Z2wlfn47QXNyO2FhazloNCNLVlJKZXBKR0w4blA8am11PlNtSkVSbE0/eyZA RlIxQDVmOyNESyh+DQp6bEchallrZ2YoNj8+PXhzSl9EQFZkXm1UcHFFI252KkVuN3VgWTI5K3J7 UHRxK1o/dT8rQk5nUDxnKUpJQWspckwNCnphZ1NDRiFjanF5Q3g+TmdDKT8pPVE0KjxnVH5AYXpp ISlMbz5xLV4zVDlgU09ZNDlCU2A4fT1JYWprNTReNjxvRA0Keip3MWZEKyskXkBlJEQ3XlVHSmdm LXJ6KW80eWhYRkEoRzJFU3Y/OUR7bk9jIWt7SkVvc0hfZUNhQWlxV0FFMzxEDQp6Pnc2MT9lZ20+ XjU1NTRRQitFYUNCXzFMQTdpS1o0PWhYRjYlSHVOTTU0eGd+TD9gSzBkQDRwLUApKl5OKDVFaSEN Cno3QCtTcyNvJT5DSnpeIXYpcU9pTTBKYVQ3ZVg0X0RnYiQtUD80aUNET0c7clN3dCkhJHw1fGQ7 Nj9sRG9MdVl1fg0Kej9qP2lOKE9kRzgkTEJCbCZ4JmAoSV81c040JkVzO0NgdVAtd2pAaiE0IzZp TWJEVylNcnVBa0hDYjFOcXh3Tk17DQp6QGJVRHxGVyVEPG1UViU5Jm11aW5GenRkJURqbm5pd29l SG08fVN+IW1uVFZqbXMkbjZTV083cGI7UF9sI3RiNGcNCno5aD19IWspWEkqYGg8YDRlUGJwRXZ4 JX13Mkk3SkhpRG0yfFhjOHZreHxFakdpeT5ieSZiPHh+ZDhmIXdrdjMyUA0KekU2ZyRWTEs0fUJr VE1lYVBfZ0VNWl8pNm8tSSptaDU3LV4qdEN6SCs+ZCp6QDNBVnwlaCUhMU5PZyt6SD5eTjU1DQp6 bmRaQSVSbWVRbiYwZnwmZEw3PDArUWFTVFMrbEI4RypUaHsrfEBOXklzNEc0JENaUDlwWCNCMThA MWhFNX0oMTwNCnpZOzMxOD0lVl5reDVUMz41TFlzdmQ7V0xONGRAa3VaJkZhVFBrOWNUNmxOWGR3 JCUxaHo9UE5nKyhqbSt0QEJ3Wg0KekwrcHpfbVZ2ZWhnPFJDdmx2Y3Y7PFc/RW5iXz09b1RgPnVX SjJPVj5BMHlWUENZM3BPVn0pdWxQSWFtKCojdGFnDQp6I3sqSEs+WWF+JWpQe2smI2kpPilmSCFz djRORmlTe2BzXzR0KUItKlA7UlNAWig7Rzd6SGshPz1UMEteemlYcloNCnpVWTNrdURDbEc+PEZz PGh8OCZCP0pKY2AwaylxVnRAJUQwNUZNO1JmSntDYmlfZHo1OHkkbD5OUHp0QS1TKSNERQ0Kekl0 PUElcGBEKzVsS2R3Rj5HPEcxIT97YXV5b1NKaWc7ezNtPGtXTClQaH0xQlYyNytpVEZlLStPVFpK Vz54JVZ5DQp6O200QT9NKStjMGd+SmYhZlNtcSRvY3NXYC1eazY0eGEqSGZOYFl4O21EVX49YFY5 ZDslM0pARTd3fn0hUHohUT8NCnpMODg/SzNjVWI9KVZNU3A0Pjk3RWVDKkRVbkxAZz9ndHNIWXpW N1J0alR4QVN7O3o+SDNyNlAxcEx1dFMxY1dWSg0KemIrSDBCJmpWd3dwdE9STSZ1N35uO2g3RWZ6 bldhaUJ+Ri1MK2VZZF50anhPPCkjdi1PaHVYRiYyTG1SVEBMXzNjDQp6UGo1cnBMbVpSP3dXdTRW YEdBbXQ3XkU8S159YGd7WVV3dmBVazglcGN6MlRFRik2N3B7XiRrQjdfNWtub3F3P0wNCnplWEdR NHo7VUE2Z2BlaXQwJjx1eFp6SnNUUVozWkVFKz9WV3AjPXhPWXdiTU5WYDc7aipWWEc4JHZSdy1H PH5uJg0KeklReyluPzM1QCUoTmJrVEUjMUpoVHtWVnpffGQoeTgjJWcoV1N9cVVPRXxSZEtJJms4 eD9afU1ReEduaVVDezIyDQp6WC1JPWdtb3dOUXBMQiN5Z2lPIXlkPm43NEY/UEJaYlhIeENHaHRj MyoyYEBWKDZ+Y1oqNDwhbSZnYDtLdzRkRCUNCno8WUVqOzQqViswO3xNLXJyUVc7ZSZkRT9eazVM VD4jNjh4IXRUWGE4Z1kxXn4pKFNtNXdRVDZ8JFVNc2JBZXMjfg0KenFackY8bUZXdnprbUZHQ3sz LUxPYihJaDN3RlY4M3s3aVRBZz1JcFVGYyN+X2hWbTM9M3RuMDduYTZrbj9kRzEmDQp6Xl58NWtR U3J8cmV6SElSQVhjRi1CUyt7VD9heTN6TzhxOCtGPms+VV88SUVFY1klcmIxMGtjclUmKWI8THI5 djsNCnppSDtxdkpxZl5BKmwkVGJpPFkqYlNmdklrVXYzTkFXWlJsX2pCemVKcWZxTTlwfU59O3J9 dEtDKjhhUj9FKWhJQQ0KeitSfVVnalpZaDtxNyQhJiUqOWlraks3dUlzSUEhO3VGemNMdShxfT9l ekNmKHEqZCVqV209JWE0IVl9Tns7e24rDQp6YCV2d3QlbGpuYUVSKUUwbyYwcHFmMCpwaiVGdyRN OEM2VFd6UTc3ZFFWV0BOUEJpekZ2PzdoZm1NZHBwWTt8KmYNCnpkVmNAfkE5fndyNSRFMXlvdSop OG40aT9GLS19ezhtNTBFNG13Q347JWo2fGo2JnlqQ3tZJStRX209Sz9sJndCaA0KelNJJVkxcT89 fm1eS299PmRfO0JCR0k8NTgxd3xOJCMlUjFiUTQ9M3JoZ2V0Kkk8QXc5ezNUTHQoMj97OCVvd25F DQp6YitUcVYocGAwSlo1UkZrOWw8UCNPNSpIazhrRFokaDBEaWRTS2cpVSNWVE1MPT1fZzFvQntE VTJAVShyNTQrfm0NCnp0ZDl9SFRlKjZWRXxBSU5NbUBjNFhLWD5FZj56M3FfQigyaTR4SXg/KmNH OW5Ud0lwSHhGcXYrJjtGN3YhIVJaPg0KejIkKSNEdkNhTnNjM0JSOD88ZGwmZz9KPH1paiU1OVot V1V+UHk3bSp6VyhPaiVaYVNvPChsJnNDQUg/K0ImTU1mDQp6P3ltbnYmdz9tfEtqKTJFKUI4JChY alREOEFnenY9PWZAT0BfM21kU1R2SCkxUmh3SlQ4bm9gWjRyaEgpfDJhaUENCnpXWnkqV2JiYytf PSReJDwkQXU+PHl6TTxAVU9nUUFZcmhPeU44TWphP0l2b3hYSk9MKz8mMj1xcUY4fj03NXpvcw0K ejxIaHUkbik9cSE9fVIjYUdzfFNoWFdhd1N1WjJjXnZxYzRZP2hkPlQ4KnBLckU9UlIhZUFqYS0t XmctUU9ybiV7DQp6YXhhdVFeKFBVWFNSYlJAUztTUURKTV4/eHdMZiZ5ZEVUNWgqakJ5KHk8aTQ2 NFk5MXI1WiY2c3RkUUk/RCRXdngNCnpIentxNUsxKjU3TkJiS214Y0NCaXtFdkNIR1M4JF9ZOXtH P2xRZWBVJlk7Xz9OWm9vam0rNC1RTGNZWD0zUFE1Xg0KemM8MDtZUUA2TmtCbV9tfXJLTlQjJUV5 MFY4b1dHc0Q+cF5gX14ycXo5TEx6TXh6TyMrdmNqTk1FKFFBSigwYX4jDQp6a1AqdkkqO0NWIyZ5 VzRlcj95fmNSJV4qSDY5djFCMlN9NEwhWFd0SUQqYCghXl5KbXpofGpXdkN4cD0+PzZETyoNCno1 Uzl2NSZ4VkpnSTFvNENrfCV0YihsNUBFKXgwaVUtVTgyb1lNPlpRRj9OMiVFP1dmO3EkcmgrODNU aEROIzAtKg0KemA4bThxeShvM1F1WEAyUWluN0xzLSpWXjZeOzUyU3pCd0lIPCQpZnRNUT9KZ25e c21FXj57SCZ6dmNRQ0ROdVB2DQp6OEEmZ00reVdvSTMrcC1LajxMNEoyPlJKJSthN2JFbmd+eTVS ZHNORSo3c2Z0eFY9ZXNRMSFzdzRkKD09anFtUmQNCnohI1d9bmhYN1cxQjUxOzBgJl5hMEcrJiZD VE5sOXUrc1M/fkh7dz5VU0JjRDxmPXtyZVBZe1dZSCREa2lObyFZcw0KekJSRDB2Ukpmc3dibism Y0p6OVF3PWNpbj9PcGNLVk1HTk1GQWZNJk84TDghdm02ZXEqMnNJJT1KSzxTKEI3WH1oDQp6VlI7 RXQlZURAVjUtZygqMEBiN3JeZlo+TzlhbCRRO3Y/eSQlcGpmajNWNHF3ZndRJjl0VWV0T1p5dGlG Mn4zI04NCnpNaEI3JnVNPWUkPWwpWDlOSVZmYXd4bHN7ejdsbEZ1SXFzYDl9bk5nVEtgMF9FVXBu dlk9SXM+YHhecyFxcnRaeA0Kei13fS1YN1AhVUJHPFJ4N1RIYm8yJDJIVjFpWEk5V2srPj96bFRH MF8qQWFEc259LThrMHtGRUxJQ2J5Wk03d2xODQp6SGdXeFYlQn52ZzNLZyV7LUAqRkB6SV5lS0F7 LUpWK0x7VnFFbj9XSU5sTXphUFB9NnJ6UUJJSGhCT2t0YmlLbzgNCnotXlQ9JjtLRDxGU2M0Xkto KU9KKW9jNU1tbjE7UUhRN3chN0p2MlFFUlBuMXs/K0p+UkpIIWwhZzxRcUdLVmh3JA0KeitSTDxa SGJmblo7YiF1ciRpQEkmVn1YT2Q/dXxpWjZ2dCtuSSZiMjdNRT4xdXAxVHIqNjFnaHFhNT02bT02 dHo9DQp6aXZkd2dZT0xBPUFfdThua0dXWTtHcipvJHphaW0kRnJRI3s4KX1+R0hITFNHa01wQDYj SygtZGNSMm9lTXV4ODsNCno4I0JSbkFJTDI0O2haVVZYNXwqRFZiNX1FbiZEeE1nTHF5QzsmMlkl cjxRKExERkp3eWs7MGFgTEU+Q3AqOz1ZSw0KempsJD19ZGNRLVRjbEkkIWttWDZKSl9HbHY4I3Er OVg+PUhQZD9lb0ljJntlJSUoTkdDOThaZFNuKE5rTzAkKnRyDQp6ajF5RzRkXn1XYmtXUkU0Nl5+ NklUZCkhRntYQntlQiN3USRrfXBOaXo/T3ojI3EzKX1DVCZDKWdvVVpnR3xMamMNCnpgZ1REKl9P UzE1TSNFdUI3Jm5uZmAmWH5RRnMyb2J2S3twbiZRNH1wRTA2e18+RU81K09DUjt1MjZfbGNZM1Zx UA0KenR2eWBNSnxvK0VEamFFWl4/IWF8QHQ9eiE9ejQrVklZVDZTY2d8JjdlK2dUMSVVJVlEOVJ+ ait3fnpPSzheYjRfDQp6ZipwQ35janVaZlExbE0+NmRLVj5BKXdSXzY2bHxkXikkS0gkP2dveiNC ZUR9dVNafHNvMV9UMFNgZUomSjF7fWsNCnp0TTBuUGJWJWFVelI1PTBZSmJAMG1GVCpHe2QzYHpH K3xgQVczdFpvMGd8KlozfUU1cHt8Ykx7MG8jYm9DNlFfPw0KekoodTF8bz1Ad1lMdzJsblZIbnde RXxxailpemd9JTUrOVNIJm9SPHRfVX1kSkcoRT81YUBgcDVgdTI2Syl4aWx7DQp6Y1Z5YndNZmVM ZGAzYHUwQmhDS25ifVZrcD91JFRZX2tALWNZb2FLPiFPdl9scEdOeG9nZGA7LXpWfT1GZmI7eTAN Cno5Wkx5TlA/Q29XNUk/QGNTOEpIbT9QbnVlLTV4STtYODdDYld9ITViZGRZXkolNEhEJEk4dVN3 Zn5jUkpWOT93JQ0Kekc/Ym9CRUlpazAwT0dfbndGdCp+dW5LbWdIMVF5e3huV0paWTNmRW9jP0g+ dSppIzRHQEFhYSsmNnU5ZyRgMlo5DQp6K3l7SWxJYXN8Vj1pTVpkYVN9X2NAUkBFZShHMFgpYGR0 dyRjWXV8SW5wTG00PWZ+bU5KWFE1c3NIYzIleUtNUW8NCnp1OWZhOE1QViRLd29qa3xqdURNbmF3 VWM3d1JOIzMjYU0xNFJsUTEzbiFBVzkmWj04IUx1fiY5NlYkI3wpVjtSWA0KenkoKWliUUlwUCQ0 JUFAVClydEBMKnYmMHEzTz9yVmdMJkxvTHhHSDlhNmA0KXIxdiZ6QkRfT3t2fTYlP0BPeDVIDQp6 KHlibmxeYlp6M1htITYoYlhnIX4jYkAxXjx4RC1WUUx5RCtsa1N8ejtKTEFQeUZiNXV6SChNZ0Ym QzVjMUJPeyMNCnplXiZBPCVSe3x3NUp+QnBIXyY2RUlfVl91aGAzRUpUNjx2N2slK2Y0RkRvbWxO RVc8am4qJkdRe2wmY3Y8RT17OQ0KemhIIyFjang+bURTZ0h7MXR8a1dCclZ4dklpZHJPeHsxVDtD UHY8TDl4JDR3SyNObE1eVjl4biQ3PkNFeVV1YXtoDQp6MWMmcGsqQyZzLXUhZipebUQ8ZD9kOTEt ezBIfUFVJG1AWkE8Sl9OcHtSOSgyTndAU0Fga09pd0ZHRCF7NzF8QGYNCnpxeUNkUFlBPj1ZZl9a ZlhkS0lRN0stQnhNZHowUGVAIyhtR2tqWWlVRzU8bVVMMTRaYGNkRmByVCVpbiRLUz0qOA0KekV6 bmdRZDAjemFkTjdpdUg7M3FVVitIPH1SJFpxI1ckVzVlb0Q1bmRId2p6LS09K3lFcG4wVjtkeU8j ZjNxdVkqDQp6Mz8+a24+VmkpPkpoRXIkNl9HYzxvJTY4cT5EaCtoaUJYfDdFPUxBMm8+Wk5ERSN+ JjtqT2F1UTNCU3ljTU5uI3gNCnpUKkVmeVVmRnVqVWxQQDsjXkRxd3tVQyp9Kjs0dlc7KGJhfUhm NEBBVGlDaSFlcWpsNz5ORFgrTihpISZvdFM3KQ0Kel5OTnJYR0RrTT11cykqNTIjRlo8JmJebWdg YChRYHZjRSZJKm9JWHAhfHx0Yi1vPXoqe0NheHAtPkRCYkpGbWh+DQp6QyZrYjc5QSFkXl4jSFgk RzVeTTRpODs2YHgrQUFBa1ZFS3xIPXZOTT5JYipFMzhjcjNTWnc7dD5oPFJzRWMzNTkNCno9bzQy KXIjcFlkZmNVKXk8a3V6YW4kQWQySyVqKE48R30tPCk8fDYyOGQrckxKSU17UjNrYTEtYmQjfChS eEZyUA0KejdvQ3tIIz5LcjlqTW8pYD10eSkoVWU8WXlgendefVdfYV5fNilXdWQmZU5CXm9MfWI5 RXp9JHZaN2hqOD5eNDJSDQp6OEhLTjJ7RnJqYnRNMkhYUztKJW0wSXhnSCg7JChTWjh8QjxtYD57 VzE4PTMzcHA7e3UmaGhxYzgrcDJVVFItfXQNCnphTDBTNT1VNlJUcz48cyluSDljdj4oTHRWSTg3 LSV4bEMkUz4wSV8oZWA+aXAyQUp9ckQ3QjxwSSs7Jip3fUlxYw0KelVEazgkYX4tZ1ooJmNGNl4x Yil+NldNRkp6KnFeQz5NOC03RS1jIWYya01SPD4pUndWPWhtV2piSnhtQk9HU3A+DQp6PXpvUyVx OTBgQ18zci0xSXwodnh5JEx8PC1+WTdFZlltSGRnVDU8Kmxqem1GZlJXQmRjT2NwS3JAbX1DNTMj RTMNCnplej9mV0khLXFSeEpoVnAqdnQ4eDBfa3FLMlZBZmxRKTdJMFYkZ3dSN0YtdUVvclgqfjMw IVItSWMhSWw1K2Elbw0Kel50cjh7I3AwUEhaRkNVdjFWfV5PY0klYUZJaEBBJVEqK3QkVlFHY1p6 QW0tZVI1cmU2biFkNkBfNmh5eChJNzhrDQp6SztVaUIwTFJlQCNRb1J2UHcyTlcmT0JObWArRmla cDxtLXdXZTZ8UDFpRl5KSkZTOUY8Q24+RjRhZllXc3NmOSENCnpOMnpNcilfeU90N2BuWCk4KVA4 LS10bVVYez9qbEtyc2wzdlM4dFgmeUQxSHBTSDlvOG9keGw9UU4/KGlEWjlaUQ0KenlPJlFvbXdX T3BmM1BpQzRIe1F0bFhPcUZNaUNSRyh0VHBkWShmViM0ZyopVD93VCM4bl49MF5lMkM8UC0lK2Y8 DQp6Si02XmlGcnpAdlFwSSstTHhtR2wjZWx7cCp2emg5PEM7bTM2SCgtelVMNWN0KExBU04jdmpJ UVNqPEUlRzUmR2ANCnpvcTFjJU5GdURNRGZnfj1NI18rRF85TFgxa1IjKmEwNzJ4U0h6ITRzPEBn ayoxdlMpQmhEOCFybHAxUENkaitlbA0KekVreGM7OCgyT2otQWg4UlVVej4rJHkqPUNFblZISl4r dTZldEZYKChkbiNHbHVpNihwUFVASCoweXhNZXtHJT50DQp6RlplMU4oLVo7I05AZEcoS0xKfHU7 KlZ1WiZEPUEyaE9yekV0Jig1WE5WQyZ7eylVSD8mJGNWVkB6cEAlSWxecj0NCnp6NjBnP0pYK205 P3w1JWpiVzR5VWE4MUlEb0heRnczMVl9N25CTFhoLVAoOUJ5QzdwKDBNISZ3b1VXbGc2ZD8wUw0K elohbz5RVnVCJURiZD10aiYtX1RgT3lLRCFoWVpYIURSQzFFQWAyRX0pbEtAYGl8WE9hOFIrVWFr I2RgPCVjPn11DQp6bHVSWFZDTXxpc15CbChreG0+QkhnWiNPYEY8MXFtbj5fJmBgQDkxUGN+enJq Yn5TSzlVbFVTUiU2eHRYbWxoKzUNCnppeUs7O14mOEg5YzVPejBhNVdCRj03eTtnKnZOUWRIYXt4 Zz02dXkwe3tHfGdRKmFUQERjX087JUhQQz9WYmZwTw0Kelo+MTBCUGBwdDRKQkhyRndhd3NJOE18 NHFaeUBYfiQldyQ2JDhqMWZjWi0jYWlncjNCVVp9JlctIX5DJnpjaXw/DQp6JXRrVChlNXYpWits cF9sKkB8PllKcz42TmwqQzVUdVY+dzVuNjFKTzNIRmxHb0c/fElRRTdzOUojQFc8RFRoP2oNCnp2 V09ndlU4PnVZbU8qeWRlI2hJWl9IPGF9PDV+Qk5aRW1xJGx7Q1AhYj47bXRJY1g2OExxaEp0bUIy TFE0OEteVQ0Kej1vOz9HSVFhbmclXkwxeCFuIXB9Uz5QViRXTF5ncWF6dlNje0JHNnIpa2FXV0Va TFQxM3NXam5aUnJKZ3UpKzlhDQp6ZGR+ZDZvb2M9c0hhPHl8LXU3dG1ZRSg0eVFLYzlmUT9ldnI9 ZGl3YF58UHJoSFd7TilDM2Z9KElRYFc+SU0tV24NCno5WUw2TUh6MSpSYEViZz5pKDg1eyFXUC16 czZ3NXhEdit5fmxecGcoezQ3VjhZXz4ofXI9N3RNU1REbTVhP00kPA0KeitZO19uYitAT0ptQWtV NTFyZmZDTEkrO3xqS05hdjd8NHZ6TkR2SEVeNClTLSE2eml2NnI4YTNgSiV7VkJnfjw/DQp6VGlP dGpBZ25Sa1N3R1Zue2FDVTFpSnw2ZVEoI1hvMUJDS28lamRnNnpMcklibGYzZGBwMnJpKStPeFM1 Plc9cWsNCnpqY25PMEZDPC16ejNkaGshRilCJW1tKzI4eU9PMEUoNmxCPFpfdiVHJWg8IzVAdVBT aElDSXRzeDFNZWFQYzhRMQ0Kej44PGFIWXRKYGBNIWtxPUA3Nl5KPTJePmUqKy0/aV4wSnNlMzx+ NEVyY3NgTklLP1R6ZEcoYEt3UEwzJUI+dU5TDQp6OU8hZ01hPDt6cElQQ0QhLWomcmBfZk4reFEl MjIrQktTKDAqYTslUytaMjckIXpQfEtVaGUlJGZoUDdAdmItS1kNCnpiamBQNndBK2BNZnVuWFc2 O1FORVUjO1JObTZSTGx0JXFjNT5lZUBiX1UpWmdyeHw1SjNZe1dMc3pYZUApe315ZQ0Kekw0fDZg X1hTPXM8WEMmVjk7blNtZVlPXj53MTJAU0JaOEc5RT4mbl8rRDVRKkF3fTIhTTg9X1BvN0hYJGI1 fCNqDQp6SVdAZURTIUcqI0ZaX2FTek02V2hpK01GUWs4K05rIWVxTjVDN0VlLWQha29+MT8kSTsw WFEwTGN5fVZfVE05SEgNCnpiNHZPeUM1Q1UzXiVPODAoVWZwYkY8JUtweT9jY3okRkp7aSY1aTk1 RDVNLXhle0U+c2w5KD5DQTxfSk5tTWl4ZA0KemdaMDlyR3w4djwjUjJeY2JfUTkmTz8wPkhAfGZa Pl4mXmdgeVAtdH4oKjdFPGtxeTI2SHd3PG1hMTcxc3YhdCNRDQp6e3hEVTFvVlgpOU1DSjUoPE1O TkhvZUhqZCRGK18+T2g0N2QkWC1YR2wqJVEwRWxIMmFYUCl8QVNpOX5hSTgpVm4NCnpOWEl9XnlB YFFWZCpJeDw2flFFSiEkcFVgYW5kTGxuYU9wUVNBZChaMHw3WVlpUk5qcHM3byRJJnRyI1g7Jjk5 cw0Kem9UR0tTYzhkZ1M4ZTQzUF82e0x2IytEclhjenNjIVlZaF97Uigkc1JARTZMfWRBV0Y7LSpj NHxyTDx4Kj12I3I4DQp6WmlASk1vbXIyTFRNRlFTR1lTa0VPeVl+bkE/bjM3amkhSG96aEVQZkBh ekN7PVlUU0txUmZFRz0pVWU8XiRBYUkNCnpyVnEjR1A8YTdeNztFKXVlUiojczZJfiZ1dmZ4YWRK ZTU/WD1wNENyUjNMfFNWNHE3bU4+d0FkVj9nVW9gTS1oWA0Keis0dktFWDU8PiVCSzd2STEzaXAy SFZYSlBnITZDWk5kNHA8NDAqYDxMe0ZlIURkTGo7a3BTbUpSKCFfJip3PHhCDQp6Zjt7Tz0qaFZ4 U0E8UUFrVntVPFopQGZMI0dfVGlaSik1VER5bVM5ST8lQzlBdDVCOFE+IXIhV21XfkgreGtkdjgN CnpZdEZNWGRXbFRtNGFgdDwmQEY1bEp+eEhgKHtaXn5FKkMzQChGeVozSWgpOWM8fkY1fmg+MUY1 NV5oYG4pa3VIWg0KekVvfV94MHA+PUVZVnY8R0E8c3NWYGZTa3F7MWljSVJ9OHR2Rk19akxha2NC fmYofW1FLWBsLShPPyE2eUcxalZtDQp6Pj4te2EtLVcmZ2h1IWY7SDlhK3lFcT1EaWoxbDE8WnpY fDVvek5yKnZVTUYhYj57c25abGVGQDc/PEEhbGQ1SHYNCnpuQWtvMklecnl3Xlk7UW1YXnN8NTNa YDRpZEVVRzgxWU9HNDV0KWctZFRvI2lXa1NWd0NXMVhOTms+RFRnYUQ7Zw0KekRgYmVtKCUrfFY0 MmB7YXNaQHdoSzhOPTRmNzF8M0BfM248X1R3JH1nMSpib1pATjFzJDg9X1R4TWFGV1NfTCQ1DQp6 Rz08YVRkZFhHfD0lV1JnYWFwd1BZP2ckMXM/PmF+d1pFWSU4P3V0QnJqR1VUay0mekxBeERnUU1s I2h+bClBTTsNCnotJVNsPEo7MCgrV0MqTmNQUkF7WGpnb2NRYGopSHJRPmohP2dSaklRUGx9NzBX UHtNczsqOUQ9cEZuQzROe2pTSw0KemtxPCV9Y0hZPWx2Z15TakNFSzRrKVBuQXowO1RNT20tJGhF SXBqPzxMaVlEfW92fG89PCttNzdAJWBkaEFIfnVhDQp6ZmhFfGt4MXY8YXgqcTEkNkQrRjhoPz1u ZmYla3w/U2JnNyRRMWwoJnY5ciZWViRJRjVmKDdDNSZaeWthbX5pczUNCnpNQlE9K15uWDREcEl4 UVRveUNPYmw/d2ZEWCNCcFl6XzB1S3huN1BxdnFUZmh4cnNVQHc0RldudyVOZn0keV54Zg0KeiVs bnEmd3R0IXg5V0lQZ1Y7TnIrJl57c00jbDRleTdyI15wKlY+VmY2ISVadEMySSQqXnlwen0qMXpg KFh5Znx5DQp6QCNGU0pMWF89YDAkaCR8TSotYXJGaz0zbD9CODVRN2JuIWNZPVdfYDElRE8hQVF+ YVVCT0h+cWstTjtUVE5+dHQNCnpDRz4oWERyWH0pPkBpTTg2Z1NhMVRXYmZCUGBwd2g5ait+dnww WmBBY2coKXRJWGpOaWwleFFeRWZWSXxpWWctbw0KelEtMTV5U14hfW4tQFV8VFhWZlVNd1JFP3ps Kl9lVnlANStPIzZvRTxKe3tXdTRzUlVGIXBgJiQ9aVkjKU1ZNjlZDQp6dE1LMkRneURGakQ7OHRr ezhQJHFSME4pXnF2RFFsOGJxfkEtUmloOXhXZjZLZFIwJSQxdSFxT3BzMUMyUSNBTlANCnoqYzBX PExwUl5HczJlMmpLV3M/ZXVQc3c9TlcjNzZBPUtZWSZaX1AwQFpZZEhGWWM8UlU+cF4lX3UhRHFn YjNDYQ0KendaNnk8NHFpRTFpbkghNSleWHs2O2BjKiFFVkdLXyshVVdBUEMtMVkjeThuYD9tRCRi UjkyRzg2LWdiQnZwelhSDQp6PTRjT0o4ZSlxNlpePGYjRDRgYDgofW1wZHgkbFdBPn5yU1JjQ0g0 UDtuTG19ITB3bjF2I2E/d2smX3M8TmZ9NVQNCno+JnpgZytVKyZ3UUNKWW48PTdYJTRzckNJbE5s PCpGOTdvVU9qLWhJcnIzYSluKlY+cjZtPWVKbz1NMyNMM18mWQ0KemkmfDQ0PDBgYmo2dmJGdVpI dlY1dipUbH1ZNndZTCh6dmorb01wVUpGYTdQKFphMHBBKjs0Z3BHMmtpUFlIMUU3DQp6JWtIUyow Ql9FUXdJbD9pTFJOdD9yP1VGdSpQeyElWnVRSjMqYkVvJXMkWFV1XzJVYnk+azQpYHt8SDUtOSle PW4NCnpidDhwQUclOUslNTA0a1dgaDhASCs9NWFmdm47OCMhKSsmKXtNTk9EaHd1XntvJGdeb2xQ ZmBhZFRFO0Z6WklKbQ0KentQK19rVEhfOT89XzM8RTxvaENMSHMyZlNnSWNIdzg5cWdJSnJeQTUy VWRmK3h0LWB6bnpscCtLNikzYCpVQGs5DQp6PFN3QWtAaVFqYkNSSCs9NlVzPlBOaTxHUWwhJU1R YCoqK2NYSHh7bWE7XiV+Y1ojK1dTQUE5I0M1c3pnNWY3KE0NCnpsZDtGVSl+ZmU4d2opK1YrZ0FS e09fNVdfQlJwNDY7ckBCN3NhVkFUT2NJbVl0QjhWKHV4PikqRkZwS0cta1VHKg0KemJqPzt0azQm aDhrcz1hSSNiJkJBVEJFSVp1YnhhSU5hdmkkR3xZbzlVdSZ2O15VSHdVJSs1MVMmKW42cTFub09q DQp6TVBvP09yUnFPWiRsYHRpQ3xvTmYlfT82UnEhekApVV5iaTZsKS0yVENfWFleWHlVKzdgUSlp dCQ9eUlfSGVPJHwNCnp1c1VxQnV5bk5YO0RDNCM+ZSV7aGo2b05zQH5SfTdANiN2VEB8ZHVEO2Zo fS1uPCZydzZWe3JLQnwkT2dHb0JwTA0KeklUfncrU3xecXUxdFhnTzJGPF5oPitsQFVVQjJZN0ZK Z2B8cmFFZHhmLTtlX0EjO2MwN3lsQGVtSUNkbGZ4Nj9TDQp6WHdySWUpdEFeTWNBPnxqWkNTWiQ+ UnpeeWFkTTRNeFFQfmF0V1hUSjM1bzBEfDFIKX5zb1ZnRUVXOS1XUHI0RG8NCnpidiMybTljbVNp ZUN1b2lvS1kmcmAhT0hSNkZiPigye085fWJRMzswUlozb3U2Qn4mbzlMMHgtT0hKaD0+XiUkeg0K enIodn5XUkhATFVralkoXm17K3hVcn5lQkdCVWNAJTNJXkBBMEp7I0EzYXA0TiRJPSYjVVhwdjdL I1JmUj1qX2kpDQp6dmxEMVJwOS1LLXl0fn5FUWx5MF5FTEFIbypwSk5hcSU3SVhLbU9eQ2FgTm1Q JG8kb0JqKyl9b3ktcHdiLT5OIyoNCnpZVGt9PmN2ZihFaW9fUnRMUm4xdkNYNmFTe29AdVlmS1gl JDhgRnRONGx+RjNqZDhHMSYyMShfKmBWTFNiSGlPXw0KekxzPmdTTWcmJUl4Z1hWc2srRzwxYUxR eUk7Ky0oeF9LKGJvYTxwUmxIfkkrbj5wT2QqSmM4Zm1YKVRNZ1YlcDRkDQp6KFVTJSYkJnV1KFZV bXdYOWU/VUI+KCFTUSM1cHs2aHpNSD16bzxUKExAZE85Q0FQUUVDJSo3ZnQ8YU8/JTNVWFANCnpt eGtlbUxPZS1iRCVPODFPT2RQdjU2eUZOSUpzd3IpLXI/Qm4jTXs7Rzx1fUpxdClUKUhpe2Eqenly VmNMJHRSbg0KelUoZ3JIRy0rSCglViNRRk5+THoxUVFrb1M5Nmdzdmw7JTZXIT1lemZUVnc2RyZF TmstYmpkMylFQzFpflc1SGBRDQp6R2NPQShjTzwxfTVHa05sYWtRe2ZnfldaTUglVD1gQ3lFQWJP Z35GbSh4aUFtKXxRN1FyZWt3VmBaZT0pQEVQSkoNCnohIUYwMGlJcWo5PEZJbXg8LVRDWkc1Oyt2 dFUxWCtyTkpRaChaKlUmVDVMOzhfVG9heFF3IVkoVWRXdFZEQnd1Wg0KekFANkdCbl8qYDxmWnU7 Zkt5WWNkc1Z6LUxqVTNsTG1ZPzEjbn07VnkjT259aV56ellaMD4mVVFAUEVtSFZyYkpQDQp6UWU5 YiVsQ3B5KnApX0JBem9rYH4pRT9ZVSFnQzRyI29SZWZuV2M0JGFZKTRMamY1SWsocDclO3lBb3Eq YXRAU0QNCnpfX2FhK2JhYSQ7RFB+NEojKnJmfjZ8JVFlM3chYjNaKWVsdT16WCVGcmZYNXBvWlR+ bF9HSW1wekA+Mjs+JW8mcQ0KenhqKkxxRVktWm5BQ3JjZU4tflZgeD12Q2xgOTFheEoyXnphYHlR elVXbnBCZ29vRTNBU09pIXIqcj5BPzFNNTczDQp6TiZuNWs5RGZkR0RuLW4qdXRRVzRWe1gtSVlk b1I2Tnp2dzQ9biRuK2ZBeTRyTV56JE9EWSt0JXVafUhJUE1xMloNCnp6V30yUlJZT3lubSZ4fHVw STdsR05ud2V1NGBoek5GOV5GfFI5O1F+WmA0LVkoekV0MG0zPHpaUXpaT0JVemxoZQ0Kej8pPCgh c1dZJTA+K29UakM/PWZ0bHYwMyVuMUFBS19GZHZWdFhmNHJNWDhCYTlJMD4yejlITlpEOW5UOHJS fmkhDQp6aHhEKXkqT054ZChCfk1pbyhTM2c4KEFAYDlySGB3JmNgZ3dAUmMqJDJLSlVKdzNedm9k K3JrWUpNYilMKHY9NUUNCnpaN0oqQj1DNGsmQG1QJW09fipydURGa3Z5YUEwRVI7akF6cSlUdFFY YzhwI3ZJaHVTTV43aH0lYFpqJCoyVTNjeQ0KekorQlJMV149PzVAMkErOWt3cUVaREQqcSQ2e3s2 U0FDJCQqcWYoUUNQSy19cDQ+MiMoTlQ3X0VZSmRibEwlQFBiDQp6RWdtTzt1dlVwdkQjX2t3Mz0p bzU7czNWb2BeX1FmdV5qMVhLbFYrMDVtQX1zdU11cVprcnNWRCFRIW0qV1R+MFkNCnpPJXlzdSFf V2Z3OWMoUFB0eHN6NiFiPFZtXnBBTTR5azdgZG9jWihHcTErKkRuSE9jbFZlUX17NyZSZmsmZjNF RQ0KekAxNW5OTmdrPDtCN1JSZlV3ZE9oeCVvVWJLYjJ0Z3N7ZFArOU1ZUExOITBDJD5sRG5LP05U PCRjKUR0PHs4Wi04DQp6ZWsoa3NKNGM/RVJHbG0+OUYtSFdoQzkjVUhCV05zanM7OFEmOTtBb0R0 Mmo0Mm5gQi1qcn5jRl44PFZHb0VtMTYNCno5YEF4PGNfJHxtWWdta3tHNSZMQF5OZ1hvPks7RWM+ OTtOcWlWZD0mTVcoeURNfSMzYTY0NXB1X15mRDRMVmIxbw0KejNOQV9pNVA4cnlDQTdkYjByaHs2 aTtYQXNNXnR0OVhGbG1PRVlnd1FPJCE9dSk3WjRAWDZvZylvU2RVYWVAeDB6DQp6NUtLfmVAR2Al aGJ+KkwkbClOXml4Yk9yPF9OJW07TztDOHUoPWxNXiRmNmVIRD15N3U/SiU5ZyV1RHVubn40JmQN Cnp1M044UCozeyp4WGEzUXBmUkBDSHJEMz8qbTFIWDd3eUZMJk94TFlzdWVnNTB2I350ZHdec2x+ Pm1vQXVHJH1Ueg0KeiNJRW1DRm43ZGZePkQ3LUgtLUFEbnopITRJbU9KLUdpMnxBZ3pOdl9HMFAw b3d8eWZOQHFWaG5eTF5kK0A9P1dXDQp6bUFIKEZKT2Q2dkQze3xOI1M1eEtfOW93bGcrNyV4RGV9 JFVoYUxCRipvWnI+N1JsRjRJLSlmd1J0M3FEOHF0KHsNCno8UDxLRj19UEoxI3IjYGpTLUMtQkx1 cm0oaWVnTSgocFFQPD5XVVBwIzdETm5AWjQzJEVaJUgwYCRSNl5zfGEoWA0Kemx3e34mR0I1TGM4 cz11TyZeVEd2MEorU1ZtQWlrfFhTXm10MGtCLSRAQUpxRGQoWW9CQFpZZks2dlA1NE89Xm8yDQp6 NlBkcEdybU1pQDV+UzM7SyMhUmBhKGQlTCl7bCtTQUdfOUlsbD5nZV9EJVNYZFR4dWw8ckdze1BH TGJvKnVhTmcNCnpqNy1XPlpJQkZ9aTVLNmtQa1NOVU00bTdJP0Z3IUk2aS10YldMJW9oRCtDaTV0 Nk8mRElrVXw/P2N0QT1ofig7UA0KelYrLW1YKGR6VzVoWGY7Jl5zSUNzXn5jMTAhTUcmRnJ7XiZj RFNJIVJxbHUqd24zUmlHdlAxMjBjNF5valVqRG11DQp6Nn0kNXRsQzgzTChseiM1QFl3TVoqWHgl MipxZXp0MX5yclQpWSkhNUNpKU9jQEEwaiVAWlJJRnA8YW1MUW5GezMNCnp3UEhkVXNMX0VtaS18 c29vTjNNMGlKM1RtK09+X3NVVTF3PGUzdG17alI/aDB0YWZ8JHIyWDdaQTRfZklLdHh0bg0KemJy YykxPDBkWH5YI3R3WXRUcGAmSS1LKURhPndOcUN6P0FmaTIpZm53NjNIa1RgNGFGT2woKj5SRyhX dzFVdVpuDQp6TG50c3wlTXVmMDlgb05CcT9NdENpfnJyV1M3JXxIc0E3SD1aUmdFRjJNODN9VnRy cXklMEYkdCN1SFNHNSsjWGMNCnpjV3Y/YHdvKWEkak9TUGB1JClkUUZAVjdtUEVNKiRTQE0hIWp8 K2RUcFViUU1GYSExem55dz8lLXhWZWlxTzFIZg0KeiR2YTZoJXE2cj5meDZRUjw+WStiR044JXMp fVlSeUF1MyZ2I2loV1JNUGI/PGx8KmcqPjdpcnhIckF9RmNVPGNXDQp6cmM5WExyZEl+KXk2VF9S dHZtWDk7PHpKanNVT2tYe0xBaGB7b1FLdEY4R2huVUh7PSkxU140enZlZj1iJUY+Yy0NCnpKREtz XnYpYTdVV219WHFIQzd6JSt6KSt1NClqNlg5Nmg8Wk1fZzdKbysoWDMobypwQyQ2PSs2VD8tdXBg Rjk3Xw0Kem8rMFo/QG1YTXNCPkRqc3pvS1FwOzM+PFg1JlZBQUVSU0UoQ148ciVVbUsxajh2ej5a fDN9a1IyUT5BKWVQVlFqDQp6KGo1Wj9xKF5zMWdQOz05REozWX5VRDYkK0w+OzIybG5PfGZiYz12 PUJocEM2ZCM+TiNgPiU2anlaN0FaSm0+alQNCno0KXNASUdOVGU/NC1ASntpei1KMHNYUWwtdCVZ VFBZMmEqTkczSDV1NGhMT3d1O0xrc25TR0xvcHhFeW00KFBVfQ0KenVIP0l6SVFWeTZYdDJ9ZkRf WWxUb0YlS2Q9bUA0dEhuKCoyR3s/JGk8WFIjbWBqc0RIZX43PXh4aHZHT0F9JmpCDQp6VFIoYTlI WkZ9Um9Zb2hlUHcrblJRODhFdHBTM2Ziez8qKUFfT0slX0xhQk1OI1pxUSszaUhXbFhORj5GOVhQ dksNCno7ckhLYmQlNygrbFpEe2s4ViZ5Mz0kSF5VYUlsTEsoe3srKWRxVjAqTEw7MkJHJENmQD9C NmNadTNZU3g3M2NrTg0Kekh9OSNDNnxxSigtflNGeT85NDYrYUFhMyomQXpxXlhtQ3J4P3FlSERW Y1Zkc21kK14qOStCWW45aWpYNztYYjVjDQp6bUtlSjBOUjFyaiVORkpnQT5RQl5hSSljejdoLWxP bklVIX4zVTR9PGA1eyE2YDA/TXg/ZEVvJmJ5PFMjbFF5eEMNCnooLUtQS0RhKSh9YWluMlFgdipV MVlhdlplUD11NCt0PDVJeXVOX21haCQ5akBgSGAmK0U2bTZ4MytiKzkqMkxyfA0KemxEdWhmd05C I3QwZ2srTGZAVGhxR3EzK15Ldz9RMWRiZ2U3YHJ8KzkxXnFVaG1Ubm0jWEk4QEo0TmNVU24pZWRw DQp6aF9aMGAhNFhIYCU1dkh8JjtHWXZvMl85JWMkKjUqKmM7UyRhMHM7fClYM0B6cT9uYGFYRVVh U28lUV93dWg5NHINCnpAPn1gak9kdGhiUXVKV1hzIWA/Kjl5Z0txVkFDeSt6JEZGVF4/NXpvK3p0 QWI5VEcwSVBzaU0rblA5PzZxR2tROw0KenJaOGgjVXFAM25SPD8qTGlmfGVqQkJ3blZFK3BQdmB4 MGpHemI7PkpqaDNQYG9Ie1JWMXRZeitOYjMlcHk3fVpTDQp6NTBpJDA0KCNgNz5YQSYrbHNaRHRG PmZpTz0mNWpFcUZaQTR7bCY7b0lYKjliRiZYPWtjRHlFJGV4fDlYVTs/QiENCnpMS2dLQF51SFNa TE5FRjE+bjMtKVIkbSYwZXFte3paRXhPO2kwRnU4U28pJkpTK3A5cE1qcUVKOCkreH53UFQqTw0K enxEPHZrdyEkNFU5YjlybGZ5Rm5pRUcrQHhvUCtCYEl0KigwVGB1fXREUV5eelc+fV5GaXA/PkdJ WkRrNlJnbkw/DQp6QjBha3Z1Q3hCKkd3VGA0RVE3RzMmXiFPVTJXY3QzRGBFdiF0WnglaSoqUHoy b34lQTdOKXRHezhfN2hCPjRmfCENCnpLJGJ5a3k9Ml5ISXclcmskeXlRa2EjUVpWZ0p+cyF4WnUp KiFnRHtKOHw4IVd1eXJHZlpGLWYxX1JYQ2lASWIqMA0KeiNkZWUtSk4lNntYQzQ+MiYyaz8rTTxf aSYzcyRgOCZEeTQkQCtRbi1mRGZlcnAwViFYOUIwO0ZzODVAQjQ4WHRNDQp6fE1jJl4zNWFKaElJ JXZnIT1FUXJDKXF+JDhCYXVXZE0mX3dZdmFmKGVgI3F2KV4mTjJHYmxfSllrUjFmSFNpVm4NCnpQ NVpBRlliQ1MxZzctYCZpY19teU9IPDMlUUE7ZktqbCNxTDdPTUIod35mdCspRiU4fStvdnU1SzdN PmI5R3VFdA0Kekd1cUJxdzYyfk1XVGduKikqP09AN0RZNVomOWh0YnA8XjQ/ZmZLP1hsSVFyXkJC NnJvQnxfR00zKEE0TlZwZGxsDQp6KVlmcj0hS0IhfiRDcTk3Qm9DMSV7KTRPeCk5ZGYrTGI8SVY0 dD02YS0zYEB0KXp9PzhSPT91QCRSdyZ5Yz4qXngNCnptU0Y1TnEwTmBCVz9KalVed2kwWVJkYm5W T2I4VSU9M0h6cnRZajgwRSVgVD9WSiY7JnUoV3pDeHl6STR2eyV4bg0KeiR4cHxhPllwSiopPyM5 fSNHWHhJbnJmT01UQUFDS2xseFI4OWB3eTAjWnJVUGh1RiFmZ3EoWUdsU0lqaSZwU2owDQp6SSF1 PzchI0I0eVFDWC1LJkhvKXQpenM5KTtEPH08O0IjTlZYNFExU2dIVlFGYGQyfXRVVUgwYC1eRnZQ eVVCNUINCnp5cytpQW9wTyVhQmhrMigmezJ3QjF3a3xwJjFHaV9rSG1aVSZDNV8lSCk0YDJgbWRF Q15NNzBSTW01amh2N3FKNg0KelUyNU9hcTx0KiMoWSs2WkA3cHZfOX5HQ3FSY0dne0cyOytrQ0xn OzhtbG9kOFFfNTkkcmZebSRKP2c8a1BzRyZuDQp6V2NxQ2xJOzRLNzFgJGRtN2VAIX51fEJ2TTxe SysqdkJVQ1BpMkI0ISVSN1QmJHtJPkVjeSFjfnc2V3ZTY1g3WXcNCnpaUmlXTkRTdjJHMypMfjlE czJtWnVONyk8JEd8bFJ7bWYlbUZvb3hfO2NFckZUSj1CNjF5ZUk2cmpEQSotczdiXg0KeldNKUEo aX1maksjcCRScj9Qa2JudzM7NiVofXc7eEIyU3hkcSgoKTBsfXBwO3c1Vn1qdFo9cH58MEpqcWMo TkZtDQp6alBWOEBwYEFiWXpNdEtYMUB1UnFgPjFiUE1hVz4jajwoVj1ZY0E3SjcpeGFeLXFITHdg eDE7OWB7QVItcWpoaE8NCnpoPW1ZUUR1P3RCdSlzQEkhVyg7cSh1VjhVa2NoO01GT2VFTjl7VWRP Rkk+Ozw5JGdyM04+RkRQPih0NlgwKXxDUw0Kel5HRCYtSCVqc203aX5jKElER29fLT8mNFdOTjBq a1huKk50eF8ycmE7akheZExveERISXtvZmFxPEVzP2BfKnl3DQp6ejZVKj91UXV0JU9lc25hVT4o VFpKNG9kTkNEN1hBQ2o+aC0lWFRPdUlLJWplUmxDNFlPYUtkWXNpcEFtK1dyeEoNCno5a3doVm9P cUgrZEp+PGs/WnJrVzc1KnB3dDJSPHdIQEFDYHcyVk1DU3U5dUppZHx7bCQzVHVeNilTJV9lbXR6 fA0KemZsMk0/ZSZobnlvUWR0MENIQ2JqJENObHI5SjhTKHpqJmJuUT5vY3ErbWY/b3dhZGVETzt3 K28wOFk3YWxWcU42DQp6S3YmV3RHN3s8WUxkfHU8R0FlciU5Sj5qZ2Jiamo/fEV8MjJMP35+Tit5 WColRFJQNjl3M35CYD15PGYzd1E5VkgNCnpzemVeVmZFeFZSa28hWkN1TDNQN18kZHx0I051ZCQ8 YyFOMns3SU9HNkVkcFBHfHh0VU8oTHphfEtScmYzOVRkUg0KelZ+Mk5mNG51ek1kaF4pdiRXaTRn ay1ic2hYXzFNSm0tejVqbT1hRmpqJG5hMz4kbXZOfDMzSEQzaUZ1T24wdmEzDQp6P0YrTSlQdVo8 flQyS0V6OWtXMmBZUkJZNzsjdmxjaTtQNWpCc2l3Vl4lcHAzbW08ZnJnZzxqemY/bXspMTIle2sN CnpKNmZNOVRHZ3dKU1hmMzhYajNRa0EpJSpNNGdJYT9uQD5fQCRlZDRqbHt7KVY+bHxxbUxNK31m Nms0OGFFZ2ljOw0Kek8pU2NIWWReVzQ+cDFJWkYtcktBWmpyNHohR3k8NDRBRypDaEBnbyM4SUtX PHJaKUtSKHBFJV5XMEFZcTlJbnV3DQp6cGhuSmhge2ZVWSYpdCRWdyp4VHZfVSZedHs0TVkqb3BH fmRaQSNpbG9LWGpHbU09Sip5WkxXQCM0NVNwcX5wIUgNCnppbn1gNHl0XyFrd2Z2OSpVfmp5ZXlJ QHpTRmQmYXQ7NDApdiZlPSVsJFF6eDgrR1RRVCNeY3hDMkQqMVQzaWFCUg0KejRiZ1FicTkhVCFC I0xrRT5ZYEt3bTB9QSpJazhWQDUqVH15U3tHN0BEVTxXSzlOMFhSViUyYjtmWmNIQHhBeTFvDQp6 ZSZwIUFVWSZFfnA1QH4xRmozNiRLSjwtbyhIbC1qQ1A7LUZaTTE1R2l0SHFSY0hxP3VqfnR8RWNm YFJIcSk4QnENCnokOXh7Vj1uYSRpQlRRIV9fdmg0NiFkbHNSWWRIY0JaRGdMRWNiLWQ1S2o+Mzcz PTQ7fGdsYTNeOTx4R1dxWSFZTg0KekE1I3hWKWl+Wk5ofmFCc0M1ZXJBNn45dz1IQnYhNFZaRj9J dmFnTDY7WFJsXlRwX1hRPWlSaFBaJEpUK2shbUZeDQp6N3lIe1FxJlllcyQkbkZqYyVzZllzYnlo YnZDKnM2UHomWkF0O0ZhO0pJMHlYMlJLbDNUU0I8WCspKH5tPGdkVmUNCno5TFk4ajRtUCZzQSl0 VyNGZ1EzazJON3EwZFRCQUY8MHRUdV45MF5WTW4jI0twTHpOQzVePHpOLXphSCklNlRlVQ0KekRh aTNRKXNEUH1mZDghRjRAR2dZR3QzTyN3LVQ5Q1NTWl4hQCFqSCE0eCs7UmA2c3JmQDg/eHNVd1M5 I1Q9JiEjDQp6SjBHdV9qWVlzczc5Uj95PyhuMmh7VH1jZWtzSX49UComOylgbGpgb3t7SD9iSzxC JnBIUExKVFNtYG5BUGczWEoNCnpycmtlN0tkMHd5MzxQSTg5NSpAUFBQM29IJGU3M0M5MWtNcXZD I1B1PWBjPipuaEA5WGtzWHpnJHNsfDVBPkpMUw0KelJBPTA/cTNUNU1XfE9CTyp+fm9YTiZNUHdJ ZVYldGZqS1FyKHhQY31eXjlhXzlEUGdKNmtRY2VjfTxeQl4yQHhGDQp6am9uVVktNU9uWDhAcVFA OSZabypvSUU2SypRO09BZHZPcEpDaj1MZyFnWDwxZCk+fG1ZTzF4RVJkby0xKFRVPmsNCnppdHJ5 aCpDNjBZey13YVo0ZXVqfXF1Q2poK1Z6QW1eTlc+cS1JPldzbl5fPSVvTjA/OW08MisrUzskfTxO USEydw0Kej9EfVNhXlUmLXtQeHxjTVYhUFNSXzA9cDslJlkrX3JsaWtXdTB1VzArMUNSXyhDQXZ5 cWdZU3dNWjJeeUA0d3IrDQp6I054KEY8N28hJmh9YCRSOFFqJjdRPlF6U09MK209VTN2ZzhzaCRa JSRERH5KVzE5aSkmYFdDciRufFRXaWdDTkQNCnpOUD04YkE8SmlvNnNucmN4REVKcmUrbVAzQnpe K3haWFh+SHReO09xZ1RWYmhiIV94NiUwZkZvKWE+YXluXjlHZg0KemVVez1EXjtKR05NcmxZQFNV RkkkSyVBQ1lWOGdIcG1ecmRQenEobjdkMlo7NUp6RyoxMUdKdjZ6fTdXbk0rSFJlDQp6SmNvRU5m UXQ0VV4wbH5GaXN6cjliOEE+KzRCUylyMzdCZD4tYDsyUTBmdTUjbUFFPXVjdXE2K3RaY1kkTTUo Nz4NCnphIWdKayVib0Z9b1g0Vythc244Vk8jYD5MZXk9fjFCUWw1bSFqTShDSjQ2OGpMaHR6Knpf UXJ7PmJMOG0hLU58LQ0KejtRY0otXzRAJkUpdGojYU13I2A2RzZENUtfV0JMNzhHKT5qd3Q/WnE8 M0EzfD9UVz9NY29jS0V3dX49MlZxNnIyDQp6SUNsaWQweGU4ezA3KUNEMikhWCUjNWNmSEc2VFkx dip6SGQ4OS1nIWhKdE4/b19CZFJwY2JieHNoMERaK2NfWSgNCnomN1NUciZqUVpFaihPMUVoZHd+ alM9KUVfVFlteFl5YVEmWFBJcX5EO3tPTis4Z3QjbDN4RHJ+NCglNSE7U15YXg0KenlpWVZ3eT97 fGA4ZHcxSkFlaUlsRkkka2NsbD5IXlk8MileLStMckheZ0UhYkhNRlM0NUhwd3BgZkBgJC1vP3FM DQp6JHc3U19nOzBLeiUyRz5vYSQ9aGxZRl55K29rZXBLbUFmdz4pLUAycGBRMW10NkZZJksocjtJ RERCbElFM29AZXcNCnpQTD5pPXRZZjhNaD53bVhPcGNAVCQ8T00wak84c0ZiS3NEM1lgJXc9MlEx OUtuaFJKMW1HSmVRTmlqJTJmbl9xNA0KemFsQVM5LTMrTUk9SFJTPUErcSZuLWhvWnk5KF8xWEAx OG9uY3BhUXthQlgpUEN8bH5qT2RXLXIxM3IlalVgPj0hDQp6OEY5K2ZeNUlUYUo2LWBwYFVheFN7 cUliPmZQMWRVJjU7YHVxNGghQVgqU1BAUkhTJnxjUlkjLXVhTlAxSHclPGINCnpiUGA/KypiV0Vi Q1hjXjl7Y0c2VFIyaDhiNTlST3BxTmYxWD5ObSlNP2NyTyF1K1htTzdiaVdWJSohZHs7K2NHKQ0K enV+QnBNZU9kQiUhMiRJLWhRVGByQ19WfkskaCpgfTBXMHdHcDdXbjZ6LTlLcXpYNHl3cEtnU2xM JkxwbHUjZjVLDQp6elJNRzNhVGY4PXBgTFdxOFRqUXpSSHNYeFk1ak8+cU1zSTIoJElQVSo9ITVr eWo5PCtueFYrWSh4b1J5aHVOQmUNCnp6R3Vtc0BVYXVYK2VBdCphUEQ+WFQ+P1ZwNzBuPnNxI0Je X2tsZVReYjZac25pSDwwcnJQdHF5cVM4cCVxYmAxSg0KemJFYmc5dXlWS1lOZEUqMWlKPT5TcUop SSQxOEBfYlZjWT0wa2wmT3dhT2A2flZYYzImTno7fEFmP20wJm42aDkjDQp6XzZidEpZQWtGNCQq ZDByVHIxWE8hUDk1cUQqakkqaSZDXzJ0fUl9fHp0K14kV0hVJWU8R2VKdjEzfkFwOERXVHMNCnpA anV1Ny0xbVY7KyRfKyhIYEdpQ3dEZDc/WFhVPkc9e3txUyhpeCtibzAxVjxHNil3WktTTkE3Qz1W MyNIU3BhfQ0KeiFZTShobHRDZU9sWHVzanNwPnw7QjRCUil7ciRaIUxtSXoyaH5laX5AJFR8I2hX dWxAd241TTgmcDstREFOUGUtDQp6Q35yfEorcjRfQTJmI3VPKlRKTyZ4dkpaPGx7JU8tNShWNkA3 KWRoNWJmZ0EmY3VIeW5jfmlKbXZCflYqS3RWNTYNCno0JU9iYzRiUX1tI0hgWld1aTFkQ2YtOFdz KSpMT0pIeSlDM1M1c1R5NHUqaHFBIz9YOFYyZF5yemM7aUhpaTJxYQ0KemIrQz8kM098Mztnby0j ZUBWLTRFNV5qKnozd0VDe2NHekZLN2wtIS1KLUAxcW1zeXN5d3ptNi00YG9ZYj5LPk16DQp6KUBh cF45biNmP2dNSiU+QypLO1hZZ0VtfkBMbzthbUFLT3U/c1dweDQtZ0lIMFIkfHloTDAlaXlFV1Ap LWRNRnENCnptJFBWU28jJHBTUHw5Zl94aFFmS191aGxyVDQ8PEtxa25GTC1nKllLTHRSaVpSeDNQ MWgkRGUrKTBTbGt2JW40Ow0KelJhKXhDYGZDWld4REdNMHQpZHEkQStHWT9MZEIzeXBGZzRlekNZ QTxxKyNwNDc1NkpfI1pLelNjSCpQSigtI3c1DQp6U1FlMjEtaUpBZXJSZmc/Tl5ePW9iNjglRlRM Nmw4cF97eHAlSStRfWhJZjg+PHpsNVg1SjR3VklgIXJHV0MrWEgNCnpvNWIhQyFNI1YwUkMpO1pi YlF3ZmR9Yj1ZR3NlJjNCWE4yJF9Ec245RndOZVo8YTdhfXt4JCtGcGt4fWx7PS1oMw0KeiFFU2xJ NW56YGZHSi1HKEo4T3ZlR0lJc0F7RXNNVmkjLXV9dktEXm1afDxNa0pAe2xeQWdiJkBQeTgxNTR8 SHQ2DQp6QmJ2Z3VBcHkpKHdgSXlLcTB9SnNsYyVHUit3fks5ZCo7UG4xK2ZlQCsoOUQ8WEN4bDgp JDUhTU9QSnIqaHAqVkINCnojcSY4amk7NjEhI2NSelU5Tn1+OW88U3xTYTtkSEpRVGtYO1c4M3dW Y15sPj49fF97I0dhTG81VFk+Rm9CMnZpaQ0KemcmYldSS15TM3V6PTszWSRIWU1qJi0+KCs1Zmpe PEc4Z2c4PzFrITlnVlIkQy1OY1pQcFQzRlQrWUdrR0ZNNkw2DQp6QX5tcXolSiohXyQ8M3shV0R9 K3pPfipzWFFOTW16clhQaWFEOXt2ZWRAejVzKE1CLSo1YmliPlJ8TGIzPjQ5O3QNCnohfFg7IU07 fWRsckE3MCs4cm89JmM1dyY5e2pYI3FaOEhNN01tMH1UeDI4WTh8QjMkbkJaVjhMKTI1MGl3QFpv VQ0KejFvXmJLXi1pOWFvezhlKT1rPHN3KFFDKjBEZG9EdCp0QDRzNjQmSG96VTtWTXJzRX00MTFF ViswaGU/JCZlPDA2DQp6SzxHNDI5YDJ6OXtPMTZXWGRqemkrdXlIc0RPZjAwX1J0STxuRXBJfjdU QD40R0NpeEB7cm5pbio+UEdjcDIzfDsNCnpJLThXeHt6IzVsMThOU0c4c3omdGVCVGA/QWRIa2Vu Pk1aVzlyWm9NK200OXJFTmNHaGR8YEhDX2JlIz4wcCVoWA0Kei16JjstNTxzJnFkZFlGMmdkKn5j WUpESkAlUjteODVJdWt9ZGtSNm1pa2VAXzl7YztCe3t8WnJAMX5CVjRAe08yDQp6czJ7eW91cGk3 KFV0cWdscXYjPXAoJXdTckg1YUZ4TDgqPXhTWFllQnhFMndRd2EySTk4elhmMUtpJWZpdnBpKCoN CnpuTXc4SkVSZSFEbHJ2R0ZnN2dWVHNieFlERVhWbHU0V19PcHE0ISFyeUt7QTRDc15TOGIhTFRg UkNJZHxKaVphZg0KenF3a2FCSmBeQ3M+NG5CaVBSI0pNYmBkKX1HYyhGemF0eil1M3tAfmExPkw8 P3lXV2d2ezApMklIQEtSN1lETG11DQp6enhVZ0dINlFHWnRANE09Zz9id0skUmNwUnZyeGg0b3gm WTRffTZSZkJPOzJ3cXQtKWo5Y1dgSj1eMzIjUV8wdj0NCnpZdVM+LSEkcDs0e01uIylgTmtkYj5K Xjg2MTglQEdQe35mIVdfWkcoQl9WSGI0X2AlXylqSTh0bTVGI1hVITRUMw0KeiY0ISVXWkAwU0Yw JmtVPl8tSkl0MipqQmQ4NWNffGQteSlmPVhyWHNKSHxCZHwxPmByX2k5T2ZUKU9jTVhHJShVDQp6 NjtTcExLfSRsTkgrUWxoLWNLUi1ZTW0kRHtNQF9mUHxFfEB6VFBeZzlIXylAVWpjVDhEV1d5d28+ Jm9WLVVRUWgNCnpBQFR5KDE3aDw+KTZBdUpVPU5DZGoqVFRWVTgpOEJYNCNWcVhDb3t4NkshOThh cik1PHd1XnFJa0AzaWQwVShjew0KemZJWmxSIUAtczYkUTt1O29EdnV8UiM9ZV9QYCRhO19eQXZS bGZ4VT03QEpBWT02V3QqX2wlOGUhYColU3s9TGQqDQp6UjR5KzAzckx4a1dua2xVN0lpcktXNENf bXU5bWdmdVNyV3FaZzFrJncqNkJ2c3x1ZHkpQ2Q8TlFvVDFlPFdwSkoNCnotYCRfPWk8X0FWe01N PkBHKyR7QSRqY3ZyRFFXcjNSYTg2OzdnVVFHTU1Ve0hXe1cleF9UQTxIRFpOO0A8dVV4VA0Keipv Pl8yP1o4SmI2fHFoTDc0KTJxNkdMMUQ+Pz5vJk49SzcmVmR4YVUtVU5hNWNNZCQzemRALWF1UTxg dGpSRk9zDQp6O0xPZ2hJUT52VVV8e3g/U1hsY2QxPHE+ZCghQmMlOW4wQHNQY3E4ekcyeiFabDMl NkdBYmxxMkEpeWJ4elBeQW0NCnpsQjZidlh+IX1OYkhKbVBuaGhrSCFLO351e3Y7ZmdMNmFINGJ8 ZVlzX3lWNDViY0wpIWVGQSNPRVBaVWgwUX1BRw0Kek8/QiZtV0JZe3ByJko2Wjd8TlRlbFklYTlA aE4kYEM0V0M8P0tIY2ozYTRyd1ZmRmU/MDZBa1JeMmFCZStEJFN4DQp6ak4oUnFaPmJZQjV3Ky07 KnIjbXA9U3VSS0xjZU5pTTAjQ3JjUipqakt9MyliPktZQTNYSXlreVYoJGFKeSFtLXwNCnoyVWlD Z3stPjtTO2MlKiZrWHVxUVh8WF9vUjJqWE5uYERPO148NWlNZT4zezZrbk1JRntoXj0hMyEzd2t0 Zjc8Sw0KelRPSGtEY2dkT3lmc0VpT3UlV3RFaSg+I1otfntHYSFSZ259Sz9WfXRycGxoOFVDSzlt KDZXNjVPKlR5TWBwWXV8DQp6PFU/PzgxbFBzS21WaChPPnhQa35MVjQxNWUkR3ZzLXRZMSMwcElY SV9rfVE9ZE8lKTJWYEtObWBYRy1LYWNyWl8NCnpiOV5ALWp9a1lgTUw8bVpZdXZjbU1jfXM3Wmt5 dlpLMUo2Izkqd0EkOHhgXmR0fkI1IXZvTTlidHsrfGhHPk45Rg0KelhhQU5+XnJtMUM+KTI2ZjBt al5KX0MpdH1vX2BkMzBaTlRCO29HT0BlfVUtdzg4Rkh8VnAwTkEyOHZmfHNqU2khDQp6eU1rfGla I3RtTHNFQldYfDNSamxraFJhdHVoKTItYDdOfXgmTHhpKC16aG98K2t0LWZLJDBWTkhzJk1rPl5D MUQNCnphRVoyRDJvMHZSTkd3V1RMaFUpXjhZZEBkP1E7Zk5PRVZ4RXRFMmlXYzMoRjJUfWBfTXtO YjxmeTk3Q2V6JEdNNA0KelJPRns7aEZCaS1lUXZSPWhXRytQdjl5P0RyQjYhUndpfl92PWlfUTZh QW0mfExRK24kJUZfT1BpTG9EVj8/K0BlDQp6Z2B3SyEtbDhhRGFfbTM1T3BPQXticX58KyVGLUVO V25CSkoxeno9QXBRdmlWeWhZajxxITMpayM+enh9KiRsUXsNCnpZKTNzSD5AQmkwKiZrTFNJYiZs eno5bF89KzIyO0FlVmg2TF50e2x6SjYrU2VqPVFyYDEmfXpWeVU+RmpDfkduWQ0KelcjWmdGQ00r YSRKPCZKVSlaUGB3T0chNnxxd05SOzw9Q0N0N1FpZkxjeCN5VG1AKTduPGN+OGt0WlgyR0VmIVQ8 DQp6MmNpIWlWLXdNP0J1N3NeSHVxYi00WFd0cGsqKnJNIUNANVA1M0xZVz88dT4mKHVtMWB5QHpF NnJOayNDQ3Q2ZDQNCno1UG5obCQ8JjZRT1EmPmcjMHZDMUFIaDExRjhgaj4+JnVwWlg/Y3R3K1Ao RjtFYGl1SFElekl6bSY+dyRwOyVqKQ0KeiFWdClGOW52bjhvJnV0S2V4T25SJkplaVFJdWtFSXQm PUgpQ1pzYmwxME1jc3VHaz04cFpDOz9oITRUZ2kmbHp1DQp6RGp1WlRId3ledDdxNkkpcWQrfHRw QnxkN28hZF5WZlc4Qz97WnImP0VNVzIoVjxeUX0oaGdpPyUtKDJaYFdsQGUNCnpJNDx4Y0g+YT00 TTY+JXNqd1krQDsrQEEoTTl4cTBIc3VJQyg+eFRLMD8hYlReeW5IbF9LQVJQSCkoYzNMMVNtdg0K eiQkN3Emaj89TU5xUXVTUnBgOVh3JTNlbmEpYCFHeEQlNjd+UkthZD48USFqO1hvUzAlKDgtN2p7 ZU4/N3hFVElBDQp6RXpCNDAyZ3s8UFBeb1ctPCtVP0U1R0lGbyM2SDt2dDJvVWNpTzskNWI3QS16 NjF4TT5nLSZwMGhobUgtI1QjNXANCnojKDlpY0JHJGg7ZjI+biZxN3F5SFhNOV90I2hDbD90dmM1 SnFvYThsVVN3dClUcTw8Oz42WDdla0N0P2x4Q2BYVg0KejB+RVRfaTt6Vl8lXz9XQDZQcEJldVhu YmtrbWcpeUpEIXJTLVc0K1dVc2g0MyY+NFJHKntRUSNHSSF3cGhOPHV0DQp6QEY2cTYpPWZBQ2lo VlBubD5hZzwmZ28xZk51JDlKRypEKFYodDtScjM2UXImentvdW0yQkFPc0M+SVpwdilPITgNCnoo QTlnJmt1fWZfRjJrPCk+OSgqWGxuT21GMWM8JiVNSEFEcW98QnJnY1J5TDRYe1VQejdOcz1fR3Nv MnNJUENsaQ0KekRVVVVoQ3o4fVRNTkIwN3pBN31lJWB1bGI4ZG15STJhZ19CSnB3V3xVYFhKa3Ao QC1wQ00reTAyQ1NGbm8yfChSDQp6bnkkfkNIUG5zbld2PiRrPShsenFlZ2xRQSUjJUh1NiElYjVU XjRjTWJ8RjIxN181UjVsa09MakJmIXE8dlM0RDsNCnp3PXszMDQoIzxvRXgmdyRLS0xpSiFHKmt6 SFFFUF9meis/IXtSLUpweH5yOSFwbT80a3o7a3xhbyV6QkA1SGJlPA0KejhWWTk4RVVtJmpEJSRn QXBhcjxZKDFaRTNWUEFEKCpiVXltbmloOHE2cTdUQEshYkI/YypoI2NLNEVIViR+TXcwDQp6T1pa NT1UPipIKDVZJjVifEYkVEx5YDdQaz8+KzZQenwzbmIreT1IJTw9a2NNRW8/JlMxdndwTS1qX1Vh QXg8ZzsNCnptQXI2ZnlvSUF9SXZ3ZHVDIzBBKCZ9eDt4JXRZRCNoN0Vzd0dFKHhHNkhFZHUtbyRk KU1uWHBsdVc/YV8oe3psZw0KenZeOCN8ZkxybEhVKkxtbXE/RTIqQmNwP2ppK3xEOz5rcko1cHF+ TDVGQGFkb0NUK3dIbUFeMj09bFRPZjNeTnNoDQp6STZDT2lmNlQ8ZUlzeGlFcj4jfGFiKjA7JTBt WUBVUUE4b35wTGBRdnJKVXQ0bDw7UTFKcDVDY0A/blg9c0teSD4NCnpAI14tQWg2VWkhNFcyeV9o N05YaWFUalQoa0M1OTQ2bXU1RUlzdUcrSVE5ZjxlO31oZWZhdmdyWXwjMHNBKHU1Iw0KelNPdklI YEomMy17T3FqMis7V21UdkFWa1lYWjFAO0tPN1MwYTg8OzBRUWx9e3U5fDY7X0E1dnRkLUdlX2Q+ QD0mDQp6WkEha2piOzszYTlaQXg9eDFqJF4/KWVlZGZjRU1FcEBIaXEoP0QpP0JzUERrQUl3Zzla V0xJYlBtciN2KzJ6SzwNCnpOXzhSb0FUYVd9ZHs1IW0zaTFneVQrJE8oKXhaTi1xOSF8cjFDazFs NSN5fEdGOSk4MGIqYDJ4e1I1ZlV2QVY+bg0KekB9am9WPUtIeEp7Tk0lWDdSMWVLVCMzenZJSTVf eTg0MSY7VX1YVz9iQjlvUEcqSG1eQSNoLTU8aGQ4YEFDJDUzDQp6bXhARW1HOVpWKGMqYjhaO2Mk bU1zfiNOTGNgTzM5TVE/aFEmMDhDOUt0ekVwUUtIRTBMd2c5bD08ZDdeeDNsUUwNCnpPTHp+T3dU fHw0Mjc/bE5EXmwzU0oyMXE5WX0ya1k7fkZBRzlGUCR8UCk9SEU7aUw2WE47V2g8diZpaCQxUj50 Xg0KekljOzs5IVZHeG9qJDw9MWpRLXV0Y1QlJH0mUnBpM1dTbkNXaSY0Mkx1dktvdDBtRn1gbi07 bTxuIXAlbHhlNXJ8DQp6ZW8yY0E8UHc5MmFCMDNfMkU7Y0hKPCN1bjBmcXJGUjg0aiQ8ISFaNUUt LU8lWmFRNWV4T3QmJFVqMVoqSEQpUyoNCnpwdERgVkFrQlM2RUdQdDZmdTAoJkZRS0VkNWhNb01G Yndpa3EjJTJOcGlPaiQzaFNxVDVuVGA4LTlpcCZkWjVAQg0Kei0mKkpXMC0zWVcyUHEtPGZaYihM MDJ6WmlTYmhMeDBSOVR2QilgUiNfVEdZbGhqalYzUlZfX0xnYFBHSyRYKUphDQp6bHg2OFZhMCYw RUVnX0puZnh9ekhXdT5HN2BYQ3tfTVBlK0QrfDZZKms5bVhtNzhsdCF2fEVCZlZfPjNwPERATGoN CnpPel9IYTN8ME96NDMzYz1yfV88PWFNZ0xOcE0hN1AzVGxsZUNBTStZWEFoSkxibTxwV1AyMncj QyZfYD8oUT1lcQ0KekpAPzR5UXhYOV9mNT9UM2hpbzRiNDEwbVFGbCZBSXRXciFrdH1+dnEoNkB4 fWFFWHdeNSklS09sKGVGaGNec3UhDQp6SyYxSz1uMDgqaTJrIXhteEZ5akNwJnRrS0BNcW0zS19S blZLWUw8MDJOJGU3Q2FxI0JsTmdXZUF6OG5gbGx5LWkNCnpgP0MxMXpETEQhelBndlp3bkRNS0Uh O1N6UFhCUWQ+fWF6IWokX2FfU09MWCVKIStUOGZZbnZENH5hVjc3LT9fRA0KekMoeytVMytCX1ct fjQ4bzFJT3hRTXZ6X3lMTU9iZ0doPS0jWkZ8VTFpZiU0cjAhRnFhNEFLU1lHcj1CcDR3UztqDQp6 cE9pYiZmakxsQl5waTReSFk1WU1eVzNeYlY8eCNpKEdnSF5JZiFAMmoxZXRoQyZ4bmNGcXdubnt+ YWJneXIkZkINCnplRk42ZGYtYTk8dEVJWGdAWnNYKl8mb3djRmZVSn4hNlNCOSY5bFAwaGw2X3lO V1VhUj5XPnNJJnZzMzx3U3ZYYQ0KemtNXktySXhXamo1dGFlWm4wXjc+NlZWZWVwKiZCPEN2JF5G dWpaJWxUeW5jWlZeTj9rb2RBaFJEOzhtflZnQEtKDQp6eWxIQjxLMjZVZFEyQUJxZV5GOGZWPGNt eDJyVy0pNFZWdEZgcnA5TE9wYzVKdyR+fD9pKyEkN2xlJStEaExgPWANCnomVlc0Mj4pV3h1aHJs OTJzPWpyeUwzJnt6MXNYQEtTSEomUS18R3Q4PFUkXlJtd2AmbyVIO0ZOK1MrKE5IQC19RQ0KejJD d24rRWh3Q3JoamQ+fGB4dTZYQ1hUSkh0bmsxZElQVUwmO0RWKjctT3RjfWpNNTUkVnR2NDA1WkQ4 WHlYeHFUDQp6MVo2KjYpOylLU2MwQ0s0ZGclVDNwdW0wdlE+NX0mIzFhTyN7UCh0dWduYGZDNFpi b3BGc0NQUWVpRmBvfDVyWiYNCnoqbTIyTUxFbUxCMH4mPkVIcE5KRXI+e2BfVUhmQGJ6OVlWaj9u dDt7Qio4cVhjTF9KeUA5NSteNThlKmo3diNxZg0KejVMIyh3YUo1UTA8JDszPHNAVHk4OVB6Sm9g UDxzQ3M3emFFZjRsV3NtbmlESTJMYGFmTlI4XmUkVUhKa0FwKk0mDQp6MCNJdHNVajh1I3koail5 NFZZd1lOJGdXQ0VgYl5mKT5BekFkIWpEMVR8VjI+S1c8aTdjfG4jXks5I0hfOHZYamYNCnpnVzYz fkFael4hOXs4S0ZjbWE4XzkwTUpSc0RTJUomfDd8SjZYMVpJRCNWfFI1KnBmMTREWjcwQTRVfWYh JVIwaQ0Keip4SzRiZHU5ZTgybSRlQ05lNV5tYDErMHlHK3ApQWklOV8lMj91Um9KMDhwKyVsN25w WU9hQUN7IXAkQ20qRGtDDQp6SHM5a2N1a21TUW5ZLWA7RnNJTUJRTmdWUC1NcTA5OHxYdXxxTyMh dF5sYDZ0NyY/YWpKQ3FzXjFnfGMjVGtCZDYNCnpwUntoUjhzQGV7bGwxMDBSPU9VSntYJWo+c35X RT9mN2pIMV5VZHxMTFMhNTsyQENVbmNXTjBxPnZiVkxVN0ZAfQ0Kenc9SEh+PVAhKnhqIyFiTSkt cmg2PmMke21LdFRYbmk+UUo3YzVZd1ZgcGp4e0pOSS1XMzU0RVhkY1NrXks7NWFLDQp6SHZ4OGJa PHZDUFFnMz14YSV3QE1ndDN4RW9gNEJwdUJMYChoLW12bVE4RCktYTQ4UGdoclorM0FPfVlOJmJk VG8NCnplKzBIUDxyZzU9PlFlVl5uPSl7YkBtc3VAeFYzaGQremEmRmxzeGdBYDJkc1l5M0o/ZWBG WCUjUWFmdD84emtjZQ0KelVDOTtye318aD9BWkQ/KmFwTnElNDQ7b0czJUZSMGpoN2lmRkxlTXRh U3ZedC1NZ2lNRU5HPWlqTmcwKWQrfWM7DQp6QjM3LUd5TURqUk4pSWE1ai0+a3VZZUIlJHI3bUF2 XmlBOD4kcF89ZTVBTSVaeX1nZ1dOTy1LQjdNVm9pWGB+OD4NCnoqNylJamFGZiVoSGJkM3JXfU1h S3Z+KWQjSDdadk1FYSs3JVF7fmZeUFhsWERzPj0kKzl6IyFhbDh4KXcwKz5FaA0Kei1IYjR8c1JE P18qQ154KHpWan51b3hqYmNqayZtLSlQREIlX0RgJClAVCl4bno1JVEkVkFlLWp5YlFTaW9Sbk82 DQp6cG07SmVNRVFjaVZDUGJvdyspSzU5LXomJCF1TDQ4QSVITkNuPmR4cDsjKksyTWZvZHhpN34r WFYqT0VqU3NYJDkNCnpUPUZqPUtaKjFuOHAmQGF0JkVHdilCfl4jM0BtJlh2Mkd+aEVCMypqQChv fWlNZiRKZDUoYm5TajQjSkpmcHMxOQ0KeiVUKy1Vc2lTSk4kOUVSXnROPChuZWcqPH1AQHF+P3Q5 R31EeHxYIyY8Km5sd3NBTS1WM1c3ZEowV3JCNCEhKzBrDQp6O3pZWmsxeClZNT0rUTRJYDFkWmVf LUohVCRuSHdpYDd2fj8ycTYhR0ZwNFl3KCVNZ3IkOVdmXnomM24oZz9HfmgNCnp3KjQpJEErU1R5 OTE+Q2V2Xm8/U3hiXjY7cTVWJms9UVdmPDVWRXc8UEMkVDYxRyRvMmpvPjdhRztRMUtZXnxebw0K emM7RSl+b343NEBsfnl5ZyYmKSR2dmk3OCl7TGB3Vz1AbCh3RjJBaThKUmY2P2FtYn5+MWFkblE0 eUdLNntzell3DQp6OCYteWZARTg+bFB+RyhlZXE9OG1TNldBJWMhP31KMDheQCVrSEVpazJkdW0j enZFdWx1ZGBqV3dEIUhuX1BsfWwNCnpoTT0pY095fEArbVYwKCYzPSlXeiYzfVR1ODkyVzBjR21u LWNqc1U3dT9FOFJyJT1HbyZ5aCY0N3NqNEBma35ndw0KekhiSGdXKXlVdmRjKVUqR2YjVVZkNUs0 cXtpPWV4UntZSioyej5EJnZxX21MKzBKXkVxcjZiQjdAakEpKW96O1ZuDQp6LTdIeUBOSCNEcTBZ ZSRjYnFxP2lSYHRUe1JiNUd2K1N4PG8lY3J+cyhAKm1TX1BvOTRLT3VpQiQmRWlQSC0jYkINCnpY TSQ3dHVtIztURnJlPlZkan5NKXMzWiFJPVVlMFNYUmA4fEd3SDYyJFctN01lI1hyUV5UenQ+a2ZG dThSKHNZdw0KekxUVWd3X35LYzliZXk4KCFMNU1LaWdSbCRTcnhLXiMtSG96SVVSWng/P3JGRTJS MSZsSHl0QlVYbmI4czBPb2lHDQp6MCh0ZigkV0M1QDR6VjV9cmZvTm1ONVk3PGYkNzxYe2IyclBr aihRSHdjd0NmPUJTdTVgMVlyfHRnYn01ZkQ9fEINCnpCWjJHMCtyU2E9bWglUnVmZ3FlT3ZabkhF Xzg4amRpcDErbHdibz1HUjlkVS1gbCVrWG98SClLSFZENktXaCpSeg0Kenl9fHYwS0dYfVFmQzFO SkJldVhyZUZ3Xj9nZkpsSUB3Y2ZiN2NGNjNVPyNlRGxlaSVhUk0hbTtIcDt5ZXB4PSY8DQp6bEdg STkyUGAmbzVRUEYzXiFmbXBJbUtveVokcmFXY3hmU3cxbEw+fD4/P0Q5KCleaFgpWCFka01xaFRm TCVeZ1QNCnpES145YW4mbGY4UmJUWWk+d3pgR24lIXR6N0VLTGJ4bWg7YVFIPW5mK1d7XkpNPm5j Ukc7K2J4KkkzVDNBQ3IxPg0KenRBP0x0NElIaSsqP3hueD9nN3U1QXQ1bWxHZzd6OzRAIyZzdG9M O00yX0NWeC1nTH1kPGNfTW5eQCVfRkUrZz9NDQp6T3U+LUQ3dzw2bW9ePW5uUEwwfGh1Tzc9Wiho eEEhY3dCUW9EbEcmOTl4KUQpeHQ9b3NJeVpWTFBpUjZCQm08OHsNCnpHJmowP21tSUs+OCZEdWRi Tms1NSFhO1NDPFptdn1rKkBvbCRuTDFqP0JXakFmYjNJeVZfc1hpRGRfPmhYQnJIdQ0KemxJYlEq XzUtdng2ISVEay11UU5yK0piX2FDKVBaMyp1QjxNQi1ndyhgfGF6RSphPF9TMXdlTVpBT28ldyhM KUtsDQp6LWRrPVRVKlZ5MVdCNXNuODVfWG5hVjwkfTZDWHk/RFhmRVBXaVV3ak5PJj9ydDhiaSRk JmN3NldOTl8zJiQkRSQNCno9YVowS2p1TjlaXzRASmZCZnd+YDRSNH5ULVQ7KHB5PWQkV25tSU9Q cHg4KUMmT0ZIb00mLX0+ODt7YzMtQntHVg0KelNwYWpUWntRVEV1SWNzREptM1FyXn4/U1V2fGlB NUcmRURsenZKYzQwfDBxZHdoa2tuWVJzaHN6ZnBlRS1paTFzDQp6O2xpNlZaQldre0VfWVk8cGUm eCFYQ3BKayU1OEJFQTNkVnY1NDYmKllzNkxoMDIhNFFpVGVpdnRRcURle2QwZE4NCnpyN1p8Unha ZVB6ZE9xSkhhc0x3Rnt0YT5nO05AOGA7az1TTjwxZVNXPTJncUpfYUtTREFAUE9+SmoySkR5PmZF Iw0KemUrNTlkdk85ITFgS0t5JXh0VVdjK0thM082PHphT0M+KmoyK1YjKm9FQ144UTk0ZFhLMW0q PHxWPjNebDI3QU1EDQp6NiVtRihQJGdJcTgrZWhLK3pZQUI/Tm5DbUt+bFNVSGQ5cH5EQCQjTWdD OXM3WTdFZU1JO3I8Tyo/TFlxbGFtWU0NCnp2SGBkZSpGamNfITBvQjtlczJyeU4tJWx1bzZiQnNB PV9BPS1ubVp9JV5gTiQ/emA0fVJxRjgydUIpVj4pfVFFPw0KenJXaXV5bTFeQkUlZDRrdXYtZEQl dmpAaVREZVFCdFIjKkBWbH19I3dueCtSO0haRjhTMXwqMz1FMnlGaTdXPE1KDQp6JS1TSSs7Xlpk JXJ0TlNPeGNRejBBQT5IdlZPUXtgVStnM2J2Pj9Dd0BSJDhAbzUqbkVCZlZQQTdqaCtsSFI4PVQN CnozRFVoY214JSNuPW9VTU1Ha3ZVYkhWX0M4WDEhT1JvLUBhKWIrTWxgMUY8Z3skVCplMWRpKSQq ZlE1bXwpUFFETw0KemUkYXkzNU5STFQxSyVnKlVjcE4ra2xKVSQ4O04+dzM4d2pWen5sY2kxa0NM LTY5Tl5NSTEpJEVGd2tMbTg+O2c0DQp6RSl7aHZTVj8xQ1JTZG9ncEExVHFQSkhIcUZJP1N9e0RB a0xVI1ZyanllI05HPWpfOGdfa3JqI2A8fVRGMiQ1TkYNCnp3R1RnPD9AbzZNWFMkQDxkOGh0JC1K dyNRY0BvYDQtKj47e2w3cmtTe2ZzdzFyNHlyeXdBLWslUExkQypkencxPw0Keio3djJmUXtxSUdD eTQzN3lBJHl8ZGkodEw2YklwWntsWV4+Nld0JntaVGtaISMqPFYhSilRZD8rSHRxQklRPmM8DQp6 S300ZWxFN35ZJllnViFVNHFEQ3lSfTV8YE9LbigxKnokVDZWeHdEcklAcCQqZkozWENyfEctSCF1 Km9NYkE4NCQNCnpEZiF7fTdWSzg0M0QjVmgkfVRhPktyISRRYUp1fkJhUzEhYTxMfW1ZXkx6IVA2 c2g1RWRLZ2wzTFZxUEZTXmBRfA0KentufD02IUFLXyVlcnJiYV5zcVB+ZnsweSNOR1NSPWg9YU5k bGBhWkcmI3JheEBEeDcmcWJuM3ckI1N1PGRkV1NwDQp6OGB2ZHRQSE9nTyF7aFdsVmNwPmBmNndm a18qb2ZFPj85fk5mJktkVzclPz54YGlDNEBOYCFpQFdyRkxNQ0shKzkNCnpvMlp3aT1GWn5OISNw SV5DRVhwIUJGdnhqY243bmJyN0RRXnNfNjc7LUxHdkxaLT5MQl90YmJzaiFXQXIoR3NxJQ0Kendf TVJxZHtHKTFgQmBsKi1tQ1lkWFRua0BqZSkkfVppNHJPNStmVnRidCpPVTMmZXZTNFZsPEM7KUUx PTRYfEpnDQp6JXxDSllxUzhqYUZKPEhMTGp0LUJkfUgzMip7c3Npeih1VjU8JFN8YGB7aVd8Zml8 ekQhT3ojfjZwVFcxMWhpcX4NCnpJeUBld0Q7YGVqI1MyWHJKQlE4NygkenhkYkt6KjF7RGIpaWE9 PnpWP3FeRko2fkM8dUYwUzwrMkcjNEoxR2h0QQ0KejJfaFd4PElgUENCfnxsNXU4VzEmdytzWHE0 bERPQHVqJE5iKSEqMiREWVpuNi05P2JPU2hGbzJXJG9me0p7Z0hsDQp6S28xdjJCJFdtVFFfNm0x eDA0bTNVQF9VTj5SVCZKIzVgMipZNkRIcGokTk9DOVF0SmwyM2RKXiVZJFR6UzRXV3ANCnoldGVX YlRPalJxOXFWbmwzKXV0PmRVUSlmX31TViNabjEyPkN9RzE0I2E9QzdgYHE5KUo8fWlSViNDRiNp c1BffQ0KekVUWFdEaEFjWUYxXjc8dChHbCsoYHF4I15COEZAfHt6QUpPdUArMUFfamd3dSZFSCYo YU0+M2UhITN4NyNUOWJ6DQp6cGBHQ0wmWWYxSGclXzlhd3BoZEB2WWV6YkZTSztzV0AxNTx5V3BQ NVpuMU5mRXdPe01PMzk2RlU/cjs3VmxPdzsNCnozc0ImWiNeTFRUKkI8PUU4YVYtMStqY0dhTmFw YipMPjVlPW1JPlBxciFxN2tlXy1zOWZnamtqcjczOUs2V31nOw0KelBfI0RLdDFaSnIjZkkzcldY TEJsb2ZpU3BiRylNPGtIUUsmMVJtam83a1R9KGdAJipuWExXbE1rS0g2cEB+UWBHDQp6RXl5Z2xN XyRGOElGJDJYNVJeWT1QN245ZUBWLVlYO3MtMn04ako2ZHhecDVeaGs4Qms7dlM/dVlZaF9sJTB3 YHYNCno4UXdmb2l0RCpALTU4NjJ4JkVvMT9UbX57WTFiO2VVeFVsdkZnN0s5d2ZOdThadTZpVmdT dz9wZj5ZYiZFfWp+eA0Kekt5Z3duQFlUT0AqXjdPQmNyWndTTnZHTENBaktkMGRibW5yUmsldGJH MDw9UU8rMXlGUFZXQCZvfSR7QntHTE9ADQp6K2Y7X3U1RHpmVzMqZ3tPdD8qbE1JNH07cTx6WCh3 V35KMjBPK2BuYjwyTDJIYStpQnlKYWN6bE09NjwtM19ZTz4NCnp3OWs/c3RzfCZ0XmtOWSU8Tn1k KTZ5SXJDSHs9Q2FDbHw8Vyo8N28/djZyY2MtamxQc0s2NyFRPmA3VX5rfkAoVw0KentIe1F7MS1L K3YqKkwxVVhjMXxnaCo7WVdXeUxOTTF3c1Q1T2tpP0c2P04/S3lCOEhvXj5Kb3plJnIhciNKbUZY DQp6SnFmZ1ZraFUwK3krXn1fJkJ9OUcqbDFUSWZySW1EMVFEWnxVYWdffjRlcE4wV2tAKWEzKiF7 OHdSZ15pZDBUWUsNCnotYDIrSDFZciM3ajk+LVE3UiR0Z1p+YSUxaTROPjg/c2ZlN0l4V3AlR0BM fm88YmwlUzEwKntBWT5SVX1sNU0kaQ0KemwofkI3R2d+ZiZUbitAelhzPiswV3REZjJufEgrXnY5 K3A8P3ZgY0txbE18PGw/ZE5SYkxPfUtNPzd7UkB9OFEtDQp6RGI+KH4wQlVFVSY8b0MwPTVvNVY2 ZnxzZjk5I0ApKm1oVmJfZW1TR0ZQU191Wio0RkomQ0RtKHpWelZCe2Q7WiQNCno+JXF+R01MdGgl JCk3a2M8Pi07KTNGRGVRT2xxSFhFI3IrbjRDPX1RU0BNeXZmVlRyPFRLX3Y7dSlXJUxYPTN4bQ0K emRsajlYQz1YX2o0T004JkRwfnpGaF9La35XPGNLPHsjRTBWKT05dk8pRUdWWWYkPDBaQkN2I0FX NGJXMmViYT1jDQp6T2xaRX5CVykzMVA3clJtVlFSdDdBO01XQFlaJXRebSVzQ2p7azdNalBxPzt3 JjcjUkFuKEN7M1pVVG52THZwNCoNCnpzeVFgVzxfY3FXblk/VVEzPmJgOVR4TWxsKG4jciZwTU1X Yll6cFZtPXJqPUBaNypGJjVTVVR+bU1KWENvQkhuVw0KelhqYEpBVDV5ZiExQm9ZfCtUTnBfOzEz ZmRKYmEjPmpaUD99PkdFLUkyKCpke1hnMXVYISt6KmY7YHlFaXRVIVIxDQp6WWJFY0VKdGY7cGk/ MipZaEtLPmlySkIrey1XXkY4KWE2b0QwPTJxfT5aRXZfSjEoKHhfc0MhQG1+MXxseGQtOWYNCnpT T1RAWHIxQmgtYmJYWFJUNV9oT1RAZ3tEcCg4dzVXKWFXWl5BN15GX3U+ZSNHM2E0RVYwPFpeak8t MnxhfUs/cg0KekZvKG1vQCQ2dyFSQ087IWt7bTJ7ei1fYF9zOGNiMUBVOzYydnM3ZE40TFZgKHRa eSlrdzBxUyFRITExVVolQ185DQp6dGJFejFfNDY7Jio7SFk+bWwwMWIxYk9nb2tBeXtGQjE+dWgq WGxKZmhteUtaK0UkJHJYZHNAcTxCPU92ZyN1RzgNCnpeIz1PR0RrZzNuZ2RleDxWUH1zY2QmQnMl QEp7O2BhNVMyP0xXfVNXS2BfKH1eb0N7ITMoMTZ7c2E2O2hHNG98cA0KeiRzJFZnSHgzbzRqa18+ aj1OUDxWZTRUS1E/JUxIbio3YylLNTdjR2ptQnVOa1lLeSRBaUt5Uk1oP0ZKfGhyS3BVDQp6dU51 MUhKUGJRTz5pKC1GQUkzezBPVUopKlN1aik5bmppYUl6cWpqfDEzRG9oSkQ8TClFO2NmaHZYeEA9 PEMkMkcNCnokT3xuVjU+MiFTMThkfl9WQ1g1e1lzbzQ0V2RXeWt8RSt+a3ZPSzU1K2pgLUdCZHJs eSZXUTEqP2tETEBwRzxWIQ0KenkxNXIlNEVsITFnJSlGK3V3c3lieUkkZTlEJSU7dkxCMy1KeUM8 a2VoKFdDb0RpKEBuMHhxbWBAJiowUj47U1ZhDQp6akVANnJue0gjKiZ+X1JyayRefiRJOC08cks0 d1BpWUsjcCkzJlVKMXMqNXdkN24+Iz1QTl5fcV5fdHw/LWkkUykNCnomK1YzbCt9cV8tWVRmIzU7 LW9NRSshcmQ/MDtkZSVrLUI4Sz1Kaz0hKCYyPERnZGIhK1E5fEpqLUFCR3BmX3tUag0Kei1qQH1H KjZsP01DVD9WRCY7TT0/X0syPzNeZDNlUkRzZ31iSiQ1RmdNQkB4UTwjLTU+bEoyalhafD9kfkM9 bipWDQp6T2UlayUzdlBIbiZaeTU2d2ZpV3MwdmcqUzd3T3c+MX5lQWV0bjY7KTNJJTN8ZCszQnRT eihEUEpOcVJDUjZuYTQNCnp3LVRebiYhRX0obHFvfHRTUSpPPTBCZClOKkxzKmwzMGErSDdnUlVp VyQlfmJvKjc+fmJmWnZTK1AkWX1pOCtMaQ0KemFqUUgjOUUtcmVASyEybTErKHZNbjFHJTxzRGR1 XkxWVjlsREx3UURyKV9RODlQbis+QkFsMGZUR29DP0w2NzVeDQp6UmBjcko1MyQlViUxeW0tejxt WUxsVHFfaVY4XntLTj1zcVIkJihULTUpdmtxSUZudERaTUExVk1PSGp4I3wjZ3ANCno8PWp6RmhZ SGBVOSZPOC1mRGFuYC1ZNGRUYGZ1b2o2TXtFSCRjWUF3WUNCfTkzUTdwdm5ZISU2a1I5STRwZVFz OQ0KejhnWGZZK1UlOStRSWZVcnYtUk1QOHhqK0w5NmZ8MFRLRXxVVz1zSXkkIW9MOykqLVUraVck dlhWaGpkd2IxK0I8DQp6Q3Y8bnZhNntJPzBRJHprXiZyPiNSIWZWKWl7XyNFJkkpMWozRCVQekVk K09fX253QjlsQDB2eGZeT0JqKygtQVMNCnoyZm9HMVcqQzQ/WX5nPiQpN3Zgc0hqNVZXR0UpNEc0 U04odTNzezgpTTJOciFXLUpDQUB5fDxrMj9zPW90cWtYcw0KelJyeHpVRGNkZGFSQ0cjK1MxeUZP VG9vZz5IZmtuZkgkPCFHRjYyYEp0UWdkLW4kJmNkVDA/NEFhSnt5OEhhZiU2DQp6dEJDQ0dTdjw/ ViEmMz9CKlUkN2pITXg7JnF0UH40ezJjJm8+alFfX1pzX3FjMGlvaikqcj4+bk5XbkZnTGNnVj4N CnpecEZVek5KQktvIWBKJFU8VT9JKUxgLXh6TGV7NmRQcn5BVCg3OUojYURBPTU8QWk3WD4tOyNB PlN0PmU0eVJ9LQ0KenMoeHZneFBRV2lOJHNOWlI8cERaejRXfFhMSX5UYVBoa087OTRkZTxGZXo/ OD1qUVIoOVhoQ01qZ2tFN09QZSt7DQp6cVBzTlJRMnslUFAtUyF1a0NxXkpoX3d0X0R8Vkc8RSFD ZFhrUjxiLUxiVWRSdipINENqPmlPPWI2QVVfV2t0X2cNCnpOPVc9NDtrRTF7WjhTRTR7ZU14JTBr fGo0bUlZTjNjNG4jRTljdXlMJCorPmBjNHhEVVUma3VqdkdzUD48fSYoTA0KemlCPCRkYV5+THZ4 KjV4Z3krKz9AS3xHP0xCOChmdWJqRjYtZEZTNWlzYE1+YkR6PiR2dnpQZ2kjYz15fW0/NTZ+DQp6 ZXFkV2lkYjUmVlNSTU85T1pgSHdHVl9aSWBkUil7bm9COV9zRG5VVFNAM2hxQzNie2liS09UKWdM cUNBSXVXREUNCnoxeX07JTxtOXFhJlomZjg1enclRF4xZShiJTV8Jl5vdX5PVyRjSGVAVUlTYSpU aWQpTURhfGB0ZHhQeVdTUmxjSw0KekEhYzU4ZzFBQzx7eyhOJiUqZS1mUlhPV1pDOH5+VHwxazhr QjVDZjA8PmFFLUBZKktEfDI5UkViajFSeEw9aDhyDQp6PitmQjBSUT94Vjh+aT1ZYCtjb21OVXok cWAlRjhRYFhPPTVrSG9ifU0kMGg4ciZpdTE2WEFyQVI1dmN6N0xNXlcNCnpfbDBNaFl1NGR9YThA REZrbEdxKHpFaWZaYG4+TFc2RTdaUjR3MiMmNj9yWmNPR2dlVlE0eUxtbz1KPkw3P19ZWQ0Kemg7 KDM+enk0RFhFSitianNuYEl2KXdLNHE/aig+aiQ4dXIoR2sqWXJlVDhXcSEoKUVwTyRxZWxJWSZ5 TT0kV2YoDQp6VnchY2FpSlRNVTkxMnVXUTUycHc9MlB6YUxoYisreUw4c0JGdCMxKjQoViVGQWRT bElWN3xiUCg4RipAV3UkSm4NCnpSYUlzXnlBbk13ck5qMnNWVUk/OzheSWNEWlN5az5rQVRHeW1G JnglaH1CUVJ6bV5iWWsrZ2NZTjZPV2BqVXlpIw0KejlgTH11c0Y/NTBOdG9Jc0otSUxiMVdvSUJ1 P01FajA2WmxtTExATiFpIVZNKl5lPTEtN3drOHkmN0QrWFViR3FjDQp6cSR6QVVCUUtTM2NESytG WnYqYyMzbnZ5ZSVjU0Q5SW1CWH14PSVMbTduRF9TQylDc3NvbF4kOzA3ZmFsPFh7Qj8NCnp7OEh1 T2EwaHU/MVB0anAwbyNmUUFYM251QFYzb21YIVZ6NS1TO3s1Z0ZSLWB5bkJ9R0RZNyl6OFdkaWFP ejE/JA0KeiNXdmckNjJGbWsrYzhgZGhrciptd1RUT00mJGtkT19sNUxWK34wQE4lTzE/Y0JIXkVA MzI+VnhvMndfZktIXmJPDQp6RCkjMlZhaSlyX0IxMVdIPDlyS1k2P2Z9T1ZlcUR6WVR0USQkIWZ1 JF50WjRJRWYmN0FVYWdiSHtCNW1IeyFDPnINCno/IUdLREJwYmo0aG1PfDJwSkRRRSlKZ0Z1UXl7 ViReYlh1UkxZUU5aKlEyVEF1ayh3UURgPmlqTilffHtfWWJ9Zw0KekJ9UlVkdXYoZzVMalRfTD0m MSFaQjBaNCFuKW1CdElabkcpTS17WGluSWk3VlZyK01sJlVrODBpXj91SHNeZUZpDQp6WGxgOT8t JE1XXl4/S3Z5cj1wdjxTMHRAPnlZbEBVbEZufFYhcEY0TUt0UyF4QSRHcH5MSE9XJlB2YW8yOUAo QkgNCnpRUHMlSVQ7OVMoez9tUCo9UW5jfEQ1Si18dzZGP0ZLWlRqT0dKelhMSVVZKlJ1MmNjYXtE eF4kUVAzXnY5bmY9Yw0KelNOMVpaVklVSypQU0RvYVBoXi13MTBHYU5jI0RYKzVFXjQlSHE0LUZe JTkwKFAmPGJlV3F2RFhzZzA/aVdWXllyDQp6Qnc5MG40QzRxLTxPbWMwWGNlJGpaPUhHeyN9K216 WjNSUUY0ajckXnpYQURLVGo0dig7Q3pFYFdAQUx4em0qaU8NCnoodkxwR3h8WSstTHttWHg+QUR3 YUhUVjNKQEhOQUFMSk81I0poKzlFNyg9QyYxIzVSKnR2LTBUI2hEViFkXl5wcA0KekQ9S0k7dkU2 cHJFdV8mRmtMM2I1bHNAdTM4YFB9PmtvQzZod0A5KWJqe1gyIVo9emsrZWpvUlpfVVEjUD9pfVh7 DQp6cmI5YThjWVMjXytnS2loPUw9YEkmcGdfM1BoNXBLVG5sJGp7K28kQnFidj1ybHp2OGJmejRU byZ+NFlFV3s2STsNCnpNJlZUbzF5TmlPbWpSaiE3Mk5mTDMpfSpBcyhMSnlVKE5FJEJ2cSp7aDVv QnJoRm9QP2ZNYk53T2lyZT0hSkp1Rw0KenNIMTlTZ24yLU5gcFA8eHVUc2tfeksqbDw+RzszRGEt Uil3VVl2UCMlUjhEeyVXNE0zPXBARSZZcEM1WTxeM1ltDQp6aU5yeThCSk8hNkdze1Nwbjx+cChD a2ZSa2dWVFNQbjF4R2B1LVZIPD0zVklxRy1kSnF6NyUtd1hsX055Q2AwcUINCnpaTSVXa1E+OTAq RSUxSHkyUiklbHB5PWRxZkJVV2JrdEZvTHs4Rm5WPlZHMFg/MlhiPEprci13SWMqN1BVKSFLRQ0K el8jKmFyYVlhMFUrbDxhSl5pQ1YqRGspJFhtQyklfD1XcFdrd2VQbylFay1hPzJkZzZQVk02R1ZY fjNgb2olJU07DQp6NjxacytvZl9nRUhJbkluenxKZHhfZFJWRkNuSjdxXitFMz9NJWZMT1p9bn5T PT5eeytzelBTI3BfZj4lMlMlamUNCnpxcCNYRVpqWHVkZCNqdWxyPmxiR0V2ampIaE1qPiZ6TUNv bjU4dFJRVnZfSkEpVmUwXl55SSE5ZXJecjh4YHl9aQ0KejBefDJXVGZZc0FfPktrN3hqO1drejBo ZzA7Xm9aflFtZ1JzOF45Q1J6aj9tfkZnQSVhOWZDVjVfKVBpIXFrYD5nDQp6WiM0JVdMfWRre18t JWZ+RGdVOVhkMGNhTEh1V0kzMlZjLXxiU2deSGtMPDQ2UnEyb1MxMCVULTJEZVEjZkkwcmENCnp0 NndSJk9yRWAhNjhIaH49SFQmN2EwRUYlWENFczZENjx8RFB2PWZ1WTlafFdnPlJjezxiYytRS1g5 MCVVMklTSw0KejdrfnJENG0mN3hGQVgmeyRVLSkzN3Iqaj5BeVNeQWNGPnJsTiNQNTNnP01XdUA7 MGdoWEp3SG15ekhQQW0mJGczDQp6YDEkMThgZTQyejZjWGB7Sns0JGpJMnVmMl9nWkBWMEVAeTt1 UT4kKHNMfDt1QyYySzI2TWBfb3EldmFiaDhKMW4NCnoxYUwtVkpRKTZkT3s1SENsXilpcTFxbFEq QGxYNDZRRjstZCMqelcjVHllOWhWKVAmRypSRVoyaGUreEs0NjFpUw0Kek9lKjZ+NiltZWs9RTtf OHV1azdVJiMqSDV2UkBRWDNXeXg1R0lmaTUhYmRgYzcrLUBpelQ4KmZkTzVXPGE8Pmg9DQp6R3pO P2h0JS07UHFvelJvdjhqcDRiVDFmbWV7YVNoIXY+VVY5YTVMLTBvYG9+YVA/SUE5WiFPLVVgYTtZ eX5NKDcNCno+MmRnME9tbEk0ck0kZlMxM29HYDk7N30ybEhxcCU+flRRSXJ9aHghSlBRRGs9QDZ9 MC0qKSZRIVhzenhNP1prYw0Kekp4c3g+RmJvRk1TT19Vc0JJUnV6YjtZWTlndmc+LUpmdjAmMExg QGAoaVkpcD55ZkRXX0BIY2JWc290WSFqTzRzDQp6MDhJMlp0Z0JucykqMnV6ZHt0e0s7UDNCTTIo RXs8MDxAJjdAb2xyMTVgK3BDOHNPakpzQE1oPypBZGZnKTxYQl4NCnohSlc0YV9sbUVfbTd9Iy1e KElCPzBpRkIkQV42aCorLXooUzZXTHgzRyNaM1klWndeWmVrdk11NmFqcmg5WW1ROQ0KejctNTR+ KFVGSD9mLUpfWU1nUmp0Pz5QajZaMVIrd19CRTh9O0hAYWVAVWwrYHIqU35qVlgqPzR1TmxlaXtQ cDhWDQp6bVZiTihefDEjKGgrLWxEK29LLVBGbWlDYmFOTkFmVnxEPCkhM1NfSDRqfkV6NU14ekd0 MEU1cXM/KHxJYXw7V2INCnpPYmV3S0wtUChuXzQpTUsmb04oRTJDdG5Ib1p7VWY4NCEzd0phe3Vz dStGRGRFJHVkVU4wM2U8SFpvfTEhRX5BTA0KenFIYF5CXzVEOTAxcXI4ZnZkMVh1YGZSQHhNNyFv Y2BjTll3KFR5elYycGQ+TzBqJUs2a2FZPSpoUmA9e0dKbUV9DQp6U1FIUGxISCFzNmdtczliWFZG Pn0wRjVkVCV9YHJxTChnN2o1ZHJxTmZXeSlOPCt3b2k/Q1clWGVrJH5xP0ZTQXINCnpQJTJ6enRn cGZ1Wlc5OCpkOE9yNDFXWnp2bX4/PHJAO1lFK19+a1g1UVVAbCZidkBzTW5CPSNEIzh7ZU0jVG90 Rg0KemYyXjFXVXd8PWpHWntNX0tDNllPRU02SUAtUjtheHl5Z3YpeiV3Pko7UXJUcU18R3x7TlBB Znp0aEBkWj4tITh+DQp6dntsaTsybzgtaUhURUhmZklwUV4rdz19eSR4T1ElKj5AOURfY3xyVUFR IXQ4YDNDX29yMCRRdnU0SXN0U08tR3cNCnpfS0tnYjRRTVFsT3FoIyY4NyEzZil5JGd1KGBCWjFN QVVVITFVSD1IZ197RVZNSn1iJkEmdGRjKDF7dHVwSnZoMA0KejJ5ZCtxSWV6O3A9e1g9bz8wLV5R NWUxWkRxRiRFV0x3aztXYWZybSZ7KlUjTytVP3Y4SkIrWTIoMmk7X2g2RjlGDQp6UHQyLXApZThj PCRtWUxWaFR+YkpEWj8tdTx5SzBgPHh+QENxdWtLOS1afkN1dShRaS03QXN5Z2JPJWd8PG9vfEYN CnpEYCVtPDVwSllXbXJsQj9TS05ZcVJAUlhXTVUmZ3YraDV5eHE7ayNISlUxOD9zUjRaUj4pVVkr KGFjN21jR3BzSQ0KelhvJkhGTWRxaFBHeG4pSyVJQkRnZnQ0Umg1QDdTMVRWbyNTbSt9fmMwdDIy dztsWkRAUnloN1c7OHRAemVMZn1uDQp6ezR6M0V7OWI5WEJwS3ZAVWhRNW1wajJ7M3NqTnVad0Uh SCtISTFYNWg0eGVSXjFCZTlgJlh5ZG53bkpFX1Y1OHANCnomQHVFZXdvNm09e2xYOWJWflJ9QDdY UyFjekxZJClwJWUoc3F+RVVSO0llWkZKPTZ8PzRBWXkxUVZrYiFFRTtfRw0KelRAbHdHQW8zaVM8 Q1lIKVc0P1JpIzJBciE3KTUyPy1NRkQ/UCpVQDNqPzRrVj0rNlAmNnIjait3dUU1e3pDdUx8DQp6 ajdTKXlSKj5RclBKVkhIJXJDNkkhZj82PTd6Y24kV1Bub1Vqa3lLdD5PRmVQeXR5fTtSOUApYU8x UlhTZlYrWTcNCnoqTDlBVVR7aWp0TVMwZGNLT0NLSHByLSt4U3p5PkdNaThlaF45JGBtME1PKUle NCMpNnw5ZnEwWTwjK3hwRFJwKw0Kek19IT5HLUhXXzBwK0MwfCN3UiNhUkJrIXNwSkNpLWVGT21H XkA1bnFmTEtAenNIV3ZGSXBDamwwTVZqU1EhPE8mDQp6cGJQTVUtTDdxdkpNc1hUPjdjbWxefTda ISVzNUBJVXhDK0N1a01sRDBHP3YmTUcyUyltJXItc0tyd1VzQ0xSeUUNCnojNDcpSklve0BHYyQm KlNRcTdNKz4pX3p2I3QwKGZMTlp3PWo8JGJnR2Z6NnZVMF9RWHIwbUBpejhWSDdIMXNoTA0KeklS NChgXlBROEQ/K3JBN0hfWU8jeiYpbGNuWnspJmJQVWxwJE9OaGMtUFJMPjU4TyEjOEdRcHtDbCF5 UT03VWVADQp6en18bn0oYHRvTWZyYlc5S3daanE4byoqRGxrLTsrZ1ArVSlLS3U1YS1YajZTJGA4 JSkyQj1DYCUjWF5Vc0prO3INCnphMGVtI1hNakUkSH1BSlhMY3h+YHhzdVA4cn50fnd6ZERqa0t9 TnRlQ0lKOGRLZk1xKTRjb0VLWjNVQCppO3FwYA0KelBCJV59PCZYfWBSODx3NXZvTnRTUnJmOTxK MUdLUyRsdyo7Z15wX0FhejdKcUYzOW4/KE5BV35UN09pPHJTNCtxDQp6bzNXQ3cxUDV9SHdNbSp1 a01APGtrPDAmNl9xSH1ELUIka25kRz1ZNmlyfW1CckAkMlkrRDFoZzJgSFNGbz9VVjQNCnpXcGkm aW5XKX1wVERqemNXSTIjOWhzX19yemU0Q1lzLVVecF5WKkd2am8xND4lNmM4QDQmVm5ydypWaDcz dCtINg0KejdMfkNHa1BQVndfXzdfIXIoTzloeHt8OzF2Yj1aYVcmeD8hNzRkWTJJLUBkQ2d1Pyp3 Njh3N1VAVDJXMEBQbV9ZDQp6b3spYDFRckk8alJjRlZJNzElfmZvX19eTV8haXx8KCt3IU40an0w Xk01I2BYPElye1cyWndybFA0MSFNVnI4aikNCnpEN3AxKi16UiRmJTNzdmM1Y3BDc1R5OEE8WCs9 WGg4KkphLShzZC1gMD8xfmEpQSoxQXE1WkY9UEpYJGBLfHh3Sw0KenkoJUl2MUJ9Nzh0VTxTKS1i ZTw7M0xifVZMMWJ3IXNMVFNnR15UbTZVK1MwcjBeMio9aUprfEZMfGYkdSpYZEozDQp6e3RefFNw eCk9NXZ8Um8qTCR8cXRJc3hpU2NISy1haChQSEIyIVBNe3tmOUNMOFE4cUx4S1Imdjwqc1Qlezw1 MFANCnoxbmY0SnprR3ZncmBjZVNVZy1ZYGNGfjUlKSVKPHRIUUVGUXNSPjlsVD5rM2ZmQkFONG1u ZmdJIzZyMXtya2ZuSA0KejN3JV4wNzxjZnZ4VEtGJVRMeUBITyp9cGF0aUBSLV52WHxLQVZDJnsy KmhRfV5kRj1KRSN1aX4lVU02dCRnN01jDQp6NCZJdWIqVHhhPFJ3c1V3ZFhqYjVZJnI8dzZAYitx djxqdUNmSWJ9TXhxfEpNazxLTGpAY0l1MzVSaypMd2c0WFQNCnpaPTVHOXs7IzwrfEEoQEQtKmB3 IWgjXn4lWjdlQ2ZrKDh5V0VIaCtAMi0meD43TWkzS1BvIyMzVmk1QSFEfnpWZA0KemtYPDdwTXYq MDNXWH4zJkA7VUZHPztyOD9nUClBb3l6Y3dEJmlnI0NgIzZyYiNKVkpAQFNaWHFFPWtpSEopZ31V DQp6YUNmJj1FOV4jeXlrUGY+V0Q1fXQyKTJ4b01QTCNieisqJjZIKz9DMFkySit0P3YmYDMpRzNp PGg1WjRXUG9hS2cNCnpHTGBnVTVFNGBobkNGMDNydm8ya25WSGYzX2p1e017PFgpQGczdiZNNnI/ b2NEWEV2TktzfEU0WS1BRF47IWd4fA0KeiRKfnQmVUl8e0F2RUEtYWxfZUUyKCVAUENLOzR8T0s1 fWllY0NMb2RBVEllWkpMUWljVno1TXRAKV8pJEphbTNSDQp6ZlU9ViFPcXJvJVp4eXdLeWI5YERn TDwrQmV1LVYtTzJDPEYoS2M9bF9BQUhkQk5FOEpxRHNWSXEyfmh+cjB2T1oNCnorPU5nY0tqX31T WSZlcXVRdnQzRyUqZUd3UCpsZmhXKHI9RExLcmFFTGB9cHxnUDVfbUROPGBZSF4oaDhnei1ESA0K eihCaGdvUng2RilnSCYlejFnak97KXw5ek9tJTNqVHtZTyo3Um5LeS0+RDRTYiVZMmZraXB4S2Az TkJ7WnM1Mm0/DQp6SkFiQSQtUXdmKV9EO3F7S3RmbnVOdzJ3U3hkSjx4NTxPKmE4M1NPdnlYaHky OWNaciowbilFVC1mSW9PWjxmfnUNCnpkTHl5b3wyVEl+RUtqY14+PGR1aGJWbUhUR3NGfVY+YSpf bSVPbC1LRW1lTXhgd28rbXN1X2k9IWdDVWM1YUFGbw0KelI5O1MyVCQzVktAb1JEdytyS1dhVncj aDF5RzBvLVVsTWlCSXB3Rm94U0wod0AzSjdBOTU1Nio7UD5uYXEoVXBgDQp6X0tVSGxwfX58Rl5p RlpgQnFBQzNrNHlMemQ7diZTSCFyNiRYRS1rcDg7UkNiQkVoKDY8dHwjbW5qZ0k8WFFURTcNCnp6 UmpEZDNofkoxSGckbEU2SnNBNXN5U09vISRqdGdycWlLPz4lKV4obzVmYClZS1pTJDFnTmhmWDxv JCoyayZtcg0KekNjdjZ1YiM8b0A9K14oJHYwMG89bjNTOWtJVW5RR0x2TiQ8KD4hXyMlfVlRQmBS cmVQRzs9cXNTMWVCNkVpNWs3DQp6Q00kZTdjM1g+WWZRNys4TUNkVzxeQW8wP2klcSlmVytvO1ZG MUg9N3NEeVUocnhmfVgrWU8jSzd4bTM3aT8wXlUNCnprKFRvVnlqaXJweVFMJGpPPjN6ZDFuWklJ P0g1SmJRTDtMNk1wWHN5X1UxeFNHdGstRT99NDRWJmZWU0p1VXk2Qw0KelZaMFFMXjlFTH1RK3Jt aTAraEtDTy0qWVg1TGpSakUhUyhvPiVQVl5DPzhuOExENXl5ejRSc2BZe0s2RnZ+eHEkDQp6cXlV JUQkclZmIVFTbG0hc1FmXlV3RGJBVkdrZ05rbF5nO0AjX1dfNCVINGkhKmgpRTA4Zys2KWRjWUht YGBqemANCnpxNkozekI3NCN7IzI0dTg/U3E/JDczZzJJcXkmOHNRTndAT1dxQVF7eFhxO2goVjly TXRvRF4lc3RwR3FyVCUySQ0KellgJkZ9R2liTVgrMkNzd2ZsPG58QzNEKllgcCooKj5VNDZhYEdY WHF6fX19JXM8b3FmalVyKFY1aiRCNjktSFliDQp6P1Ixd1NJX2tLKj52VzJwSCRiPFAhNSNfPWA4 WmJsTEU7SXhGQE9yZXVmTlZreGxWN0klNzhtSTRZPzgpZjhsaTkNCnpLamszQTt9TERRPDZNUm16 VjwqIWtORTxLPVRePn50cG4leWV1b1JiO2FAUUZMfVlMS2tIbUlLZnk1ZWgqIXRzeA0KempATXZB dENZSTBeQl9qT3NHbXpubnFwJEFeN3t0N3tpaz08b3JmQWxgenMjeDcxQ0RJYjRmfG90VTtoPXkj OzNDDQp6NXo/MEZORm9FZ1IhYXozZUdQdDU+Q2pmNyNleDRMNyVLYm44UHlPbmNvdlI8KjgoMWpT YEt3UFZqVjhzbldpRCYNCnpVOElNSEpASHxhMkNCTGVhNmohRnpvOzZ0ZnJRZEUzM1RAbHEqQDJ2 SENAd0poPHEqViRhKjh9PilzXlhAKjFmVA0KekgqQ0lKa01QcCFjNXVXQHBgWVNEQCkyakpDalo4 SkxIQl9XOVdjfEtja2p4ampKci1HNldTMXI5fDEzeWhAWXt2DQp6R242ZkxtRVdjVjFsOTh2NEBW bmdYbipHLS1nPV8mKzMmKHo8UyZPRXQxQSZxQCpvdTYteyR6a154fHNaSmxPK2oNCnpEQF5xTTV3 dHJXSUQ2T3lsOHR7RS0rU31xV1gkSU0odz5fIXRJc1JHJXBmVFkmY3RgUVQjYUFxTylnIz54TEV9 Uw0KekUteW9BbStVMGxmI0FLTyhNJFJOM2hreFgqZ007V2dNX3BTIVczRz9oazhiIUtmM35VYnwl N3xlSlBsOWBVQks4DQp6USNfLVdkVWJBfnFFczszUktQMCRFUzY/JEUlb0FMZSR3ITwjb2VeRylX bGIjTVdLfXxqWGIpUXVKSzJzSEx6UDcNCnpEQGVMMFI8NmhgdE5gKF8kampUbDM0Z3NVWFgyPXB3 PUNZaGcwbXNKUTdaIWk0SzYyblBrUj9VZSM5cjZvbSpUSA0KekZmM05mSXIhVSVhK3R1a3dUbWc2 Kjl7eFFUbXsoLTUhNTc8RFkxMTJDe1JWI0NIciZWWCVVQWRfV3QmPXcqRkxnDQp6c0k8RUtQPVI2 U3FGLUlPSFZBdjs5SllxZ0ZEblBIXmlgWVhVRXVxQ3lII3dAX3tiPUBfcFQoYmQ9OWFFNkRrKmwN Cnoqa1MlNUQ+OG9NdmtLWUQ1VisqaEpIUktKbD5oIUBTWHQzNEJQQD8qX1FlJUc/Q2duZmkzaHlw TjljQ3RndlpgaA0KekIhcjVfPDtCRDMyVVFCakpJY0JDJipzektsQjJNO2NsMkBRdiowQWRHNi1x NyopelkrNjs3TEp2TT5IZVc/TU1yDQp6aWNgJnNLaktFSWVoQkFVXkJ+SiE/LSFBa3E4aUdxeWV8 cDRKI0F7S2tBIzNHRHZ4K0NYOEo4Kzh+fTFgRyl7aiUNCnpaMilOP19BcCEhNExlbk1wTEx6byo1 dWJQJEkhfF5eb18pbDdeV3F5MHUtX2ZWWUhQJVFKUzZHKylWcjklMTI+Sg0Kej5pWjUrRSN2ZShU T2dNR1pFTldKTllRcElxKiZnaldkQ3xqN1M1T1lrWkdValJQYWhMdFJ4PkRwVDB0d01rOChWDQp6 dkhod0ROb3JAXnFYQ1VqJSlfekJRI30mMnZPSTUqeWh2IX1zdTlWbEUtSUZiTiUpLT9zTUskTD8+ TmcpYDN2YFINCnpfSTRJQUpHPXg+Zzs3TEFza19YXz4xZUdCMFAhPW5RNFQhbTlwQ1doQFJEbWlz ejIySENaKF5fNkQwbVRsTkpsTQ0KemViVUgyPV51SnIzalp3P0owfklWcnA5flVYLWVnb3RqfmFC eUFpLWYxI0J3KFZQPHFlZ3slY1QxSUo5N0BuTFN4DQp6X1gtZXdYbyMheSNSRFFxTlR0QzY8bGpQ eTw/KU1FM0V4ZT5vYkE5ODx7bDx6UyF+ezNAfFA/Ujk1cTtuIXVUNDUNCnprNj16dFF4NUwqTUJN M29WdlolcCgoKU9mP3NzIW05aFBSIU5DO2R1OCRvaE1kUlRjPjQta3lpVnlqdXk0NyRAfA0Kel8h WD9ZdF4qYU5NeX5+bSEqQjkjclE4ZnFVVW58RGh6MH0kKWxecTBFRDFsNFFAIV43biZISGE5JT5u a3E2PFhADQp6blVfRnt5YUUpbUdGdXwoXm85X2p2Ry0zXlRKJCNAKXRDUCY9YTlkYWsrQEI8Umdv WHUtYj0xOzxBMWEoSEY3YGkNCnowQVNZenJMQ3ZuYGJuUGBWYjk2KlJCKzxFK0JUWnMzc3lMcnk+ dWM+U0psc291e1ROZyp1PXY+bXxNSHw+WS08QA0KenFuWHVeP2JmYUQ3d1hDMnVqYUM9QFNpYGl7 cClndEh2XyMqNWZVVG4+SGhxaGdiLSVOblFGUyE+IWUrKUg8SjclDQp6MzhTdXplS1VURDlsWE0r bztoTiZmaEM9X0prJD0zJXBnTGdLfDlUPEEpQV9PKUZlb25WMFRrMmdicmMwcnpxKUwNCnpuKXFv c093UWBXVXUwaDU8bzJfb08heW1TO3BnfmFhT35JM3tzSHkkX1NzJE1TfllYaC1AJU1DNEBkMGgm czxGTg0KelZteENrWihPYn15Nj8/Wlo9QD0rXz54MHZJRDkyZUBYbVZNciR4VVI0e2JVVThZWD81 K1YtX00wMUl8bTh3VE1JDQp6VCk4I0pvXmtoMmhPelhGcW5FMz5KbUpibHY4bTczJF9ZNVh4T3Vk UW9yaFhUQENxQUpGOW5AcHllWDVMZCgjVGANCnphVTYzMjEoX3RpQnxYck14WTZHSk0lbW1ydVlZ K198OCZjSXo3ZmN9aFhXREstT0ZqV0pHP2pWdlNvWl9hNmpidw0KekNoVkNwM01VPmwlX3FkQ0ts fD0wUFJDWnRjfU55JllYTXgxTCZnfXx2ZWpfYXY4eT96RSE/N31JSEBJamFJYXFRDQp6JTMzOyh4 PHcyVDxQaDlCc2xwdTV6UGJlb0h7YXdecXp8NntlQXJRRFgtQjhoSkYhK1BEVSkyTmd+XkBxOGJl K1UNCnpmYH5FNUBGPndNJU9oLTF7aUVpIWNySStwNXI9OSRnSikoUlRZc2YwSjRZZ2wpXkI1LU0k Zkx0KlchQ3ZsRXh5aw0KekE/fFhJYSkxaCNpZUsoUz5DZVpKIzMhMzdPMzE4ck0yam9TdHh9fSM4 PSZybzxDfVU4KzVFZGFXY0tucWk7ZENvDQp6cClzWVlsY1ZPNXdvKE84QWtnNGNKSW03enlNJXJ1 c2lxMUYjSVVvTFBabXFXSnEkaTBJWWx7a0BubzUoKkBMY3ANCnpLU1ZXcCNSWSRMaGtuc3tINi1Z JHBIVFc1MWY4cnlhcUtzXkZvezMhcSRJSEc/cTlVYDQocHt4SHU3X3lXMHhkfQ0KelhlZG1je2A4 a2ZjNzJWRXErMSs9Q3F8U2ghUjxvQSZ5WXRQWThMUkFIeFAyaTEjP2IkaSk2dlVaTD8wTHNIWDNm DQp6Y0pTMVFXNW4rZVdSVXBvbVIjMllldyRGK0ZhdkFXZjxvaiNGS3B1bEluUWtaPzF4S14+O00+ RUZuKi1pOHIkJDQNCnpaT3FyNyM7c1ctcmxzO2tiV2F9QlBQSVVURUwrJUdhV0hUUHIjT1U/WlRP bHpSXmRvI0RVI2RHV1VpeV87NEZ6dA0KemFwPSVnZXEqYmBKcGJwXntudUIhN0grYXwyZzEtZzkt TV5kb2ItSzVQV0RUekpVZXEqSWZ9WDw0YF8yYyhgWCowDQp6NjtMIStoJD1oWDZ4P3QtU3cmb09g SlF+cT1EN3coNHNZJVZIV1BLT3s1QGluaDdfJHlSJTdAQTJJTVk8dCN2dzsNCnoqb0pONFgwaSRx RnYyWlg2YV9TaEk9TW1Ke1JMaCVmMF52QWU3eHY3Y3d2WjRoblRzK1FMPGtCREQqOG92R3pzeQ0K eiZyMz5lcUAqQktNZk4mVyo+bXQjLXp0MyU7fiRZUCslK2Y0KCFyODkkeHcmQkRTZEtJMFl6NDBL cmduMmQ0dCt7DQp6bCVzQE9PczVaQHJydnQhcz8xXjsrJUpiK2JGR3V2P1hsTDJZOTgmMkJyZ0Bk PTUhS153QjU5YXJ7XzNqPHdmaXMNCnp0SF4hc2ZBaEhlSUR8Q0N5bldvbThyMGo+SkYoZz91YXBQ QmxQQDRAeWNIQDtsciV8KkxJcSt8KmN8elMmVTs/Mg0KekxubT1EM3laQygoYVNjdm4kV2lkMFYo MnA5PW1NYl5eZ0EwNVpkJkdhO04+cEdBSTRjYUZRPWF5V1VjdipUQWRpDQp6SDFLWiF1e305SVBf aDIkQkxYNlhsalhecEszO1p0K2o0MmI5cVhWTXhHZUliZDFYNnh6KTZeZjdJKlZWSUNWTFMNCnpn TXF7R3FALTVZMn19Z1VpRCliez1MRnsrRUVFe0w9WEhxNHorO1p+OEBmWDFkNXxqe0FzcjhoYSFT WDI+YmkpSQ0KemJXfT1idWl+d0hORmlMWlh2Q3U1SD08UjRkOEVHVGl8JW5vVXhPeUg1KCg7WjJ4 PUJVKnFKS315N2VgOHcpbGh2DQp6KyZENXA+Z3srb09JMlhsaEFqZ0FQcFhOZk9LX3NtNWFqX1hh O3paVFUhJXEmQylyaU4hRUs3ITB4O3I7bWF7a0sNCno2ejNIbjJaeWJURSRCYSFTVE1wMjIxV0Be UlpacEcpM0xsJUNEZTdHPEhqeUtDJntURilMMnU9O01ee0tCKHxUeg0KejB+dHtxSkwwIUkoQEhR KWw3PnxuQzRiX2NHUmo4JVlFM05MUVVOLVdVbmsrYUB+Qjd6SFAjWn1PJGpMeytYYmZHDQp6elVt PV42MUFgaHs7djglXjlQMlBibnMpXms0OXx+WFVSYSM1MzNLUl4tO3B3YXJscTgrQEU4TzUqRDFN RkYxJncNCnpSMSkqTD5hbHo4YVclKX1tKlZQY3JqQmpUKX15UUsqanV7ZVYpNXQkPzFkNjxiQGct aTwmR287OERgKD1GeiF1ZA0KektUKyo4bWl5U0VHNX11PmFjNzxEPjx4VGFTfSEmKj5ycUxAMmda Ym5NQEE5ck04KTdTZztjbzxsM0puWilBQV5IDQp6JiNjcnBubjY0KzJaR0VSRHUxd2Akbk04K25E ajtlQ3NlUDlxO1BaQ2BjVWAmS203WFYqN2pFSUhyclE8V3ZqWDINClJCYXQyT1Z8MjxDVFZtaThg OURISW8mbz4+DQoNCmxpdGVyYWwgMA0KSGNtVj9kMDAwMDENCg0KZGlmZiAtLWdpdCBhL0Jhc2VU b29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvUkVBRE1FLm1kIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRo b24vRk1NVC9SRUFETUUubWQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MDAuLmEzMWU0MzRkZWQ1NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9Q eXRob24vRk1NVC9SRUFETUUubWQNCkBAIC0wLDAgKzEsMTg0IEBADQorIyBGTU1UDQorIyMgT3Zl cnZpZXcNCitUaGlzIEZNTVQgdG9vbCBpcyB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRo ZSBlZGsyIEZNTVQgdG9vbCB3aGljaCBsb2NhdGVzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvZWRrMi1zdGFnaW5nL3RyZWUvRmNlRm1tdC4NCitUaGlzIGltcGxlbWVudGF0aW9uIGhh cyB0aGUgc2FtZSB1c2FnZSBhcyB0aGUgZWRrMiBGTU1ULCBidXQgaXQncyBtb3JlIHJlYWRhYmxl IGFuZCByZWxhaWFibGUuDQorDQorIyBGTU1UIFVzZXIgR3VpZGUNCisNCisjIyMjIExhc3QgdXBk YXRlZCBBcHJpbCAyOCwgMjAyMg0KKw0KK0ltcG9ydGFudCBDaGFuZ2VzIGFuZCBVcGRhdGVzOg0K Kw0KKy0gT2N0IDEzLCAyMDIxIEluaXRpYWwgRHJhZnQgb2YgRk1NVCBQeXRob24gVG9vbA0KKy0g QXByIDI4LCAyMDIyIE9wdGltaXplIGZ1bmN0aW9ucyAmIENvbW1hbmQgbGluZQ0KKw0KKyMjIyMg Tm90ZToNCisNCistIEZNTVQgUHl0aG9uIFRvb2wga2VlcHMgc2FtZSBmdW5jdGlvbiB3aXRoIG9y aWdpbiBGTU1UIEMgVG9vbC4gSXQgaXMgbXVjaCBlYXNpZXIgdG8gbWFpbnRhaW4gYW5kIGV4dGVu ZCBvdGhlciBmdW5jdGlvbnMuDQorDQorIyMjIyBLbm93biBpc3N1ZToNCisNCistIEN1cnJlbnRs eSwgRk1NVCBQeXRob24gdG9vbCBkb2VzIG5vdCBzdXBwb3J0IFBFSU0gcmViYXNlIGZlYXR1cmUs IHRoaXMgZmVhdHVyZSB3aWxsIGJlIGFkZGVkIGluIGZ1dHVyZSB1cGRhdGUuDQorDQorIyAxLiBJ bnRyb2R1Y3Rpb24NCisNCisjIyAxLjEgIE92ZXJ2aWV3DQorDQorVGhlIEZpcm13YXJlIERldmlj ZSBpcyBhIHBlcnNpc3RlbnQgcGh5c2ljYWwgcmVwb3NpdG9yeSB0aGF0IGNvbnRhaW5zIGZpcm13 YXJlIGNvZGUgYW5kL29yIGRhdGEuIFRoZSBmaXJtd2FyZSBjb2RlIGFuZC9vciBkYXRhIHN0b3Jl ZCBpbiBGaXJtd2FyZSBWb2x1bWVzLiBEZXRhaWwgbGF5b3V0IG9mIEZpcm13YXJlIFZvbHVtZXMg aXMgZGVzY3JpYmVkIGluIOKAnEZpZ3VyZSAxLiBUaGUgRmlybXdhcmUgVm9sdW1lIEZvcm1hdOKA nS4NCisNCishW10oSW1nL0Zpcm13YXJlVm9sdW1lRm9ybWF0LnBuZykNCisNCivigIsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWd1cmUgMS4gVGhl IEZpcm13YXJlIFZvbHVtZSBGb3JtYXQNCisNCitJbiBmaXJtd2FyZSBkZXZlbG9wbWVudCwgYmlu YXJ5IGZpbGUgaGFzIGl0cyBmaXJtd2FyZSBsYXlvdXQgZm9sbG93aW5nIHRoZSBQbGF0Zm9ybS1J bml0aWFsaXphdGlvbiBTcGVjaWZpY2F0aW9uLiBUaHVzLCBvcGVyYXRpb24gb24gRlYgZmlsZSAv IEZGUyBmaWxlIChGaXJtd2FyZSBGaWxlKSBpcyBhbiBlZmZpY2llbnQgYW5kIGNvbnZlbmllbnQg d2F5IGZvciBmaXJtd2FyZSBmdW5jdGlvbiB0ZXN0aW5nIGFuZCBkZXZlbG9waW5nLiBGTU1UIFB5 dGhvbiB0b29sIGlzIHVzZWQgZm9yIGZpcm13YXJlIGZpbGVzIG9wZXJhdGlvbi4NCisNCisjIyAx LjIgIFRvb2wgQ2FwYWJpbGl0aWVzDQorDQorVGhlIEZNTVQgdG9vbCBpcyBjYXBhYmxlIG9mOg0K Kw0KKy0gUGFyc2UgYSBGRCAoRmlybXdhcmUgRGV2aWNlKSAvIEZWIChGaXJtd2FyZSBWb2x1bWUp IC8gRkZTIChGaXJtd2FyZSBGaWxlcykNCisNCistIEFkZCBhIG5ldyBGRlMgaW50byBhIEZWIGZp bGUgKGJvdGggaW5jbHVkZWQgaW4gYSBGRCBmaWxlIG9yIG5vdCkNCisNCistIFJlcGxhY2UgYW4g RkZTIGluIGEgRlYgZmlsZSB3aXRoIGEgbmV3IEZGUyBmaWxlDQorDQorLSBEZWxldGUgYW4gRkZT IGluIGEgRlYgZmlsZSAoYm90aCBpbmNsdWRlZCBpbiBhIEZEIGZpbGUgb3Igbm90KQ0KKw0KKy0g IEV4dHJhY3QgdGhlIEZGUyBmcm9tIGEgRlYgZmlsZSAoYm90aCBpbmNsdWRlZCBpbiBhIEZEIGZp bGUgb3Igbm90KQ0KKw0KKyMjIDEuMyAgUmVmZXJlbmNlcw0KKw0KK3wgRG9jdW1lbnQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCit8IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQorfCBVRUZJIFBsYXRmb3JtIEluaXRp YWxpemF0aW9uIChQSSkgIFNwZWNpZmljYXRpb24gfA0KKw0KKyMgMi4gRk1NVCBQeXRob24gVG9v bCBVc2FnZQ0KKw0KKyMjIDIuMSAgUmVxdWlyZWQgRmlsZXMNCisNCisjIyMgMi4xLjEgIEluZGVw ZW5kZW50IHVzZQ0KKw0KK1doZW4gaW5kZXBlbmRlbnQgdXNlIHRoZSBGTU1UIFB5dGhvbiBUb29s LCB0aGUgZm9sbG93aW5nIGZpbGVzIGFuZCBzZXR0aW5ncyBhcmUgcmVxdWlyZWQ6DQorDQorLSBH dWlkVG9vbCBleGVjdXRhYmxlIGZpbGVzIHVzZWQgZm9yIERlY29tcHJlc3MvQ29tcHJlc3MgRmly bXdhcmUgZGF0YS4NCisNCistIEVudmlyb25tZW50IHZhcmlhYmxlcyBwYXRoIHdpdGggR3VpZFRv b2wgcGF0aCBzZXR0aW5nLg0KKw0KKyMjIyAyLjEuMiAgVXNlIHdpdGggQnVpbGQgU3lzdGVtDQor DQorV2hlbiB1c2UgdGhlIEZNTVQgUHl0aG9uIFRvb2wgd2l0aCBCdWlsZCBTeXN0ZW06DQorDQor LSAgSWYgb25seSB1c2UgRWRrMiBiYXNlZCBHdWlkVG9vbCwgZG8gbm90IG5lZWQgb3RoZXIgcHJl cGFyYXRpb24uDQorDQorLSBJZiB1c2Ugb3RoZXIgY3VzdG9taXplZCBHdWlkVG9vbCwgbmVlZCBw cmVwYXJlIHRoZSBjb25maWcgZmlsZSB3aXRoIEd1aWRUb29sIGluZm8uIFRoZSBzeW50YXggZm9y IEd1aWRUb29sIGRlZmluaXRpb24gc2hvd24gYXMgZm9sbG93Og0KKw0KKyAgKioqVG9vbHNHdWlk IFNob3J0TmFtZSBDb21tYW5kKioqDQorDQorICAtLSBFeGFtcGxlOiAgKioqM2Q1MzIwNTAtNWNk YS00ZmQwLTg3OWUtMGY3ZjYzMGQ1YWZiIEJST1RMSSBCcm90bGlDb21wcmVzcyoqKg0KKw0KKyMj IDIuMiAgU3ludGF4DQorDQorIyMjIDIuMi4xICBTeW50YXggZm9yIFBhcnNlIGZpbGUNCisNCisg ICoqKi12IDwgSW5wdXRmaWxlID4gPCBPdXRwdXRmaWxlID4gLWwgPCBMb2dGaWxlVHlwZSA+IC1j IDwgQ29uZmlnRmlsZVBhdGggPioqKg0KKw0KKy0gUGFyc2UgKklucHV0ZmlsZSosIHNob3cgaXRz IGZpcm13YXJlIGxheW91dCB3aXRoIGxvZyBmaWxlLiAqT3V0cHV0ZmlsZSogaXMgb3B0aW9uYWws IGlmIGlucHV0cywgdGhlICpJbnB1dGZpbGUqIHdpbGwgYmUgZW5jYXBzdWxhdGVkIGludG8gKk91 dHB1dGZpbGUqIGZvbGxvd2luZyB0aGUgcGFyc2VkIGZpcm13YXJlIGxheW91dC4gKiItbCBMb2dG aWxlVHlwZSIqIGlzIG9wdGlvbmFsLCBpdCBkZWNpZGVzIHRoZSBmb3JtYXQgb2YgbG9nIGZpbGUg d2hpY2ggc2F2ZXMgQmluYXJ5IGxheW91dC4gQ3VycmVudGx5IHN1cHBvcnRzOiBqc29uLCB0eHQu IE1vcmUgZm9ybWF0cyB3aWxsIGJlIGFkZGVkIGluIHRoZSBmdXR1cmUuICoiLWMgQ29uZmlnRmls ZVBhdGggIiogaXMgb3B0aW9uYWwsIHRhcmdldCBGbW10Q29uZi5pbmkgZmlsZSBjYW4gYmUgc2Vs ZWN0ZWQgd2l0aCB0aGlzIHBhcmFtZXRlci4gSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0IEZtbXRD b25mLmluaSBmaWxlIHdpbGwgYmUgdXNlZC4NCistIEV4OiBweSAtMyBGTU1ULnB5IC12IHRlc3Qu ZmQNCisNCisjIyMgMi4yLjIgIFN5bnRheCBmb3IgQWRkIGEgbmV3IEZGUw0KKw0KKyAgKioqLWEg IDwgSW5wdXRmaWxlID4gPCBUYXJnZXRGdk5hbWUvVGFyZ2V0RnZHdWlkID4gPCBOZXdGZnNGaWxl ID4gPCBPdXRwdXRmaWxlID4qKioNCisNCistIEFkZCB0aGUgKk5ld0Zmc0ZpbGUqIGludG8gKklu cHV0ZmlsZSouICpUYXJnZXRGdk5hbWUvVGFyZ2V0RnZHdWlkKiAoTmFtZSBvciBHdWlkKSBpcyB0 aGUgVGFyZ2V0RnYgd2hpY2ggKk5ld0Zmc0ZpbGUqIHdpbGwgYmUgYWRkZWQgaW50by4NCistIEV4 OiBweSAtMyBGTU1ULnB5IC1hIE92bWYuZmQgNjkzODA3OWItYjUwMy00ZTNkLTlkMjQtYjI4MzM3 YTI1ODA2IE5ld0FkZC5mZnMgb3V0cHV0LmZkDQorDQorIyMjIDIuMi4zICBTeW50YXggZm9yIERl bGV0ZSBhbiBGRlMNCisNCisgICoqKi1kICA8IElucHV0ZmlsZSA+IDwgVGFyZ2V0RnZOYW1lL1Rh cmdldEZ2R3VpZCA+IDwgVGFyZ2V0RmZzTmFtZSA+IDwgT3V0cHV0ZmlsZSA+KioqDQorDQorLSBE ZWxldGUgdGhlIEZmcyBmcm9tICpJbnB1dGZpbGUqLiBUYXJnZXRGZnNOYW1lIChHdWlkKSBpcyB0 aGUgVGFyZ2V0RmZzIHdoaWNoIHdpbGwgYmUgZGVsZXRlZC4gKlRhcmdldEZ2TmFtZS9UYXJnZXRG dkd1aWQqIGlzIG9wdGlvbmFsLCB3aGljaCBpcyB0aGUgcGFyZW50IG9mIFRhcmdldEZmcyouKg0K Ky0gRXg6IHB5IC0zIEZNTVQucHkgLWQgT3ZtZi5mZCA2OTM4MDc5Yi1iNTAzLTRlM2QtOWQyNC1i MjgzMzdhMjU4MDYgUzNSZXN1bWUyUGVpIG91dHB1dC5mZA0KKw0KKyMjIyAyLjIuNCAgU3ludGF4 IGZvciBSZXBsYWNlIGFuIEZGUw0KKw0KK+KAiwkqKiotciAgPCBJbnB1dGZpbGUgPiA8IFRhcmdl dEZ2TmFtZS9UYXJnZXRGdkd1aWQgPiA8IFRhcmdldEZmc05hbWUgPiA8IE5ld0Zmc0ZpbGUgPiA8 IE91dHB1dGZpbGUgPioqKg0KKw0KKy0gUmVwbGFjZSB0aGUgRmZzIHdpdGggdGhlIE5ld0Zmc0Zp bGUuIFRhcmdldEZmc05hbWUgKEd1aWQpIGlzIHRoZSBUYXJnZXRGZnMgd2hpY2ggd2lsbCBiZSBy ZXBsYWNlZC4gKlRhcmdldEZ2TmFtZS9UYXJnZXRGdkd1aWQqIGlzIG9wdGlvbmFsLCB3aGljaCBp cyB0aGUgcGFyZW50IG9mIFRhcmdldEZmcyouKg0KKy0gRXg6IHB5IC0zIEZNTVQucHkgLXIgT3Zt Zi5mZCA2OTM4MDc5Yi1iNTAzLTRlM2QtOWQyNC1iMjgzMzdhMjU4MDYgUzNSZXN1bWUyUGVpIE5l d1MzUmVzdW1lMlBlaS5mZnMgb3V0cHV0LmZkDQorDQorIyMjIDIuMi41ICBTeW50YXggZm9yIEV4 dHJhY3QgYW4gRkZTDQorDQorICAqKiotZSAgPCBJbnB1dGZpbGUgPiA8IFRhcmdldEZ2TmFtZS9U YXJnZXRGdkd1aWQgPiA8IFRhcmdldEZmc05hbWUgPiA8IE91dHB1dGZpbGUgPioqKg0KKw0KKy0g RXh0cmFjdCB0aGUgRmZzIGZyb20gdGhlIElucHV0ZmlsZS4gVGFyZ2V0RmZzTmFtZSAoR3VpZCkg aXMgdGhlIFRhcmdldEZmcyB3aGljaCB3aWxsIGJlIGV4dHJhY3RlZC4gKlRhcmdldEZ2TmFtZS9U YXJnZXRGdkd1aWQqIGlzIG9wdGlvbmFsLCB3aGljaCBpcyB0aGUgcGFyZW50IG9mIFRhcmdldEZm cyouKg0KKy0gRXg6IHB5IC0zIEZNTVQucHkgLWUgT3ZtZi5mZCA2OTM4MDc5Yi1iNTAzLTRlM2Qt OWQyNC1iMjgzMzdhMjU4MDYgUzNSZXN1bWUyUGVpIG91dHB1dC5mZA0KKw0KKyMgMy4gRk1NVCBQ eXRob24gVG9vbCBEZXNpZ24NCisNCitGTU1UIFB5dGhvbiBUb29sIHVzZXMgdGhlIE5vZGVUcmVl IHNhdmVzIHdob2xlIEZpcm13YXJlIGxheW91dC4gRWFjaCBOb2RlIGhhdmUgaXRzIERhdGEgZmll bGQsIHdoaWNoIHNhdmVzIHRoZSBGaXJtd2FyZUNsYXNzKEZEL0ZWL0ZGUy9TRUNUSU9OL0JJTkFS WSkgRGF0YS4gQWxsIHRoZSBwYXJzZS9hZGQvZGVsZXRlL3JlcGxhY2UvZXh0cmFjdCBvcGVyYXRp b25zIGFyZSBiYXNlZCBvbiB0aGUgTm9kZVRyZWUgKGFkanVzdGluZyB0aGUgbGF5b3V0IGFuZCBk YXRhKS4NCisNCisjIyAzLjEgIE5vZGVUcmVlDQorDQorQSB3aG9sZSBOb2RlVHJlZSBzYXZlcyBh bGwgdGhlIEZpcm13YXJlIGluZm8uDQorDQorLSBQYXJlbnQgJiBDaGlsZCByZWxhdGlvbnNoaXAg ZmlndXJlZCBvdXQgdGhlIEZpcm13YXJlIGxheW91dC4NCisNCistIEVhY2ggTm9kZSBoYXZlIHNl dmVyYWwgZmllbGRzLiDigJhEYXRh4oCZIGZpZWxkIHNhdmVzIGFuIEZpcm13YXJlQ2xhc3MgaW5z dGFuY2Ugd2hpY2ggY29udGFpbnMgYWxsIHRoZSBkYXRhIGluZm8gb2YgdGhlIGluZm8uDQorDQor IyMjIDMuMS4xICBOb2RlVHJlZSBGb3JtYXQNCisNCitUaGUgTm9kZVRyZWUgd2lsbCBiZSBjcmVh dGVkIHdpdGggcGFyc2UgZnVuY3Rpb24uIFdoZW4gcGFyc2UgYSBmaWxlLCBhIFJvb3QgTm9kZSB3 aWxsIGJlIGluaXRpYWxpemVkIGZpcnN0bHkuIFRoZSBEYXRhIHNwbGl0IGFuZCBUcmVlIGNvbnN0 cnVjdGlvbiBwcm9jZXNzIGlzIGRlc2NyaWJlZCB3aXRoIGFuIEZEIGZpbGUgc2hvd24gYXMg4oCY RmlndXJlIDIuIFRoZSBOb2RlVHJlZSBmb3JtYXTigJk6DQorDQorLSBBIFJvb3QgTm9kZSBpcyBp bml0aWFsaXplZC4NCisNCistIFVzZSB0aGUg4oCYRlYgU2lnbmF0dXJl4oCZIGFzIEZWIGtleSB0 byBzcGxpdCBXaG9sZSBGRCBEYXRhLiDigJhGVjDigJksIOKAmEZWMeKAmSwg4oCYRlYy4oCZ4oCm IE5vZGUgY3JlYXRlZC4NCisNCistIEFmdGVyIEZWIGxldmVsIE5vZGUgY3JlYXRlZCwgdXNlIHRo ZSDigJhGZnMgRGF0YSBTaXpl4oCZIGFzIEZGUyBrZXkgdG8gc3BsaXQgZWFjaCBGViBEYXRhLiDi gJhGZnMw4oCZLi4uTm9kZSBjcmVhdGVkLg0KKw0KKy0gQWZ0ZXIgRkZTIGxldmVsIE5vZGUgY3Jl YXRlZCwgdXNlIHRoZSDigJhTZWN0aW9uIERhdGEgU2l6ZeKAmSBhcyBTZWN0aW9uIGtleSB0byBz cGxpdCBlYWNoIEZmcyBEYXRhLiDigJhTZWN0aW9uMOKAmS4uLk5vZGUgY3JlYXRlZC4NCisNCist IElmIHNvbWUgb2YgU2VjdGlvbiBpbmNsdWRlcyBvdGhlciBTZWN0aW9ucywgY29udGludWUgdXNl IHRoZSDigJhTZWN0aW9uIERhdGEgU2l6ZeKAmSBhcyBTZWN0aW9uIGtleSB0byBzcGxpdCBlYWNo IFNlY3Rpb24gRGF0YS4NCisNCistIEFmdGVyIGFsbCBOb2RlIGNyZWF0ZWQsIHRoZSB3aG9sZSBO b2RlVHJlZSBzYXZlcyBhbGwgdGhlIGluZm8uIChDYW4gYmUgdXNlZCBpbiBvdGhlciBmdW5jdGlv bnMgb3IgcHJpbnQgdGhlIHdob2xlIGZpcm13YXJlIGxheW91dCBpbnRvIGxvZyBmaWxlKQ0KKw0K KyFbXShJbWcvTm9kZVRyZWVGb3JtYXQucG5nKQ0KKw0KK+KAiyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpZ3VyZSAyLiBUaGUgTm9kZVRy ZWUgZm9ybWF0DQorDQorIyMjIDMuMS4yICBOb2RlIEZhY3RvcnkgYW5kIFByb2R1Y3QNCisNCitB cyAzLjEuMSwgRWFjaCBOb2RlIGlzIGNyZWF0ZWQgYnkgZGF0YSBzcGxpdCBhbmQgcmVjb2duaXRp b24uIFRvIGV4dGVuZCB0aGUgTm9kZVRyZWUgdXNhZ2UsIEZhY3RvcnkgcGF0dGVybiBpcyB1c2Vk IGluIE5vZGUgY3JlYXRlZCBwcm9jZXNzLg0KKw0KK0VhY2ggTm9kZSBoYXZlIGl0cyBGYWN0b3J5 IHRvIGNyZWF0ZSBQcm9kdWN0IGFuZCB1c2UgUHJvZHVjdCBQYXJzZXJEYXRhIGZ1bmN0aW9uIHRv IGRlYWwgd2l0aCB0aGUgZGF0YS4NCisNCisjIyAzLjIgIEd1aWRUb29sDQorDQorVGhlcmUgYXJl IHR3byB3YXlzIHRvIHNldCB0aGUgR3VpZFRvb2wuIE9uZSBmcm9tIENvbmZpZyBmaWxlLCBhbm90 aGVyIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLg0KKw0KK0N1cnJlbnQgR3VpZFRvb2wgZmly c3QgY2hlY2sgaWYgaGFzIENvbmZpZyBmaWxlLg0KKw0KKy0gSWYgaGF2ZSwgbG9hZCB0aGUgY29u ZmlnIEd1aWRUb29sIEluZm9ybWF0aW9uLg0KKw0KKy0gRWxzZSBnZXQgZnJvbSBlbnZpcm9ubWVu dCB2YXJpYWJsZXMuDQorDQorIyMjIDMuMi4xICBHZXQgZnJvbSBDb25maWcgZmlsZQ0KKw0KKy0g Q29uZmlnIGZpbGUgc2hvdWxkIGluIHNhbWUgZm9sZGVyIHdpdGggRk1NVC5weSBvciB0aGUgcGF0 aCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuDQorDQorLSBDb250ZW50IHNob3VsZCBmb2xsb3cg dGhlIGZvcm1hdDoNCisNCisgICoqKlRvb2xzR3VpZCBTaG9ydE5hbWUgQ29tbWFuZCoqKg0KKw0K KyMjIyAzLjIuMiAgR2V0IGZyb20gRW52aXJvbm1lbnQgVmFyaWFibGVzDQorDQorLSBUaGUgR3Vp ZFRvb2wgQ29tbWFuZCB1c2VkIG11c3QgYmUgc2V0IGluIGVudmlyb25tZW50IHZhcmlhYmxlcy4N CisNCisjIyMgMy4yLjMgIEVkazIgQmFzZWQgR3VpZFRvb2wNCisNCit8ICoqKkd1aWQqKiogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICoqKlNob3J0TmFtZSoqKiB8ICoqKkNvbW1h bmQqKiogICAgICAgICB8DQorfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gfA0KK3wgKioq YTMxMjgwYWQtNDgxZS00MWI2LTk1ZTgtMTI3ZjRjOTg0Nzc5KioqIHwgKioqVElBTk8qKiogICAg IHwgKioqVGlhbm9Db21wcmVzcyoqKiAgIHwNCit8ICoqKmVlNGU1ODk4LTM5MTQtNDI1OS05ZDZl LWRjN2JkNzk0MDNjZioqKiB8ICoqKkxaTUEqKiogICAgICB8ICoqKkx6bWFDb21wcmVzcyoqKiAg ICB8DQorfCAqKipmYzFiY2RiMC03ZDMxLTQ5YWEtOTM2YS1hNDYwMGQ5ZGQwODMqKiogfCAqKipD UkMzMioqKiAgICAgfCAqKipHZW5DcmMzMioqKiAgICAgICAgfA0KK3wgKioqZDQyYWU2YmQtMTM1 Mi00YmZiLTkwOWEtY2E3MmE2ZWFlODg5KioqIHwgKioqTFpNQUY4NioqKiAgIHwgKioqTHptYUY4 NkNvbXByZXNzKioqIHwNCit8ICoqKjNkNTMyMDUwLTVjZGEtNGZkMC04NzllLTBmN2Y2MzBkNWFm YioqKiB8ICoqKkJST1RMSSoqKiAgICB8ICoqKkJyb3RsaUNvbXByZXNzKioqICB8DQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUNCmRpZmYgLS1naXQgYS9CYXNlVG9vbHMvU291cmNlL1B5dGhv bi9GTU1UL19faW5pdF9fLnB5IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9fX2luaXRf Xy5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uNTNlNTY5ZGUz YjBhDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL19f aW5pdF9fLnB5DQpAQCAtMCwwICsxLDYgQEANCisjIyBAZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVz ZWQgdG8gZGVmaW5lIHRoZSBGTU1UIGRlcGVuZGVudCBleHRlcm5hbCB0b29sLg0KKyMNCisjIENv cHlyaWdodCAoYykgMjAyMS0sIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQor IyMNClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9T b3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVjdC5weSBiL0Jhc2VUb29s cy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9CaW5hcnlGYWN0b3J5UHJvZHVjdC5weQ0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uNDg0MTY5MWMxODhhDQotLS0gL2Rl di9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvQmluYXJ5RmFj dG9yeVByb2R1Y3QucHkNCkBAIC0wLDAgKzEsMzgwIEBADQorIyMgQGZpbGUNCisjIFRoaXMgZmls ZSBpcyB1c2VkIHRvIGltcGxlbWVudCBvZiB0aGUgdmFyaW91cyBiaWFucnkgcGFyc2VyLg0KKyMN CisjIENvcHlyaWdodCAoYykgMjAyMS0sIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQorIyMNCitmcm9tIHJlIGltcG9ydCBUDQoraW1wb3J0IGNvcHkNCitpbXBvcnQgb3MNCitp bXBvcnQgc3lzDQorZnJvbSBGaXJtd2FyZVN0b3JhZ2VGb3JtYXQuQ29tbW9uIGltcG9ydCAqDQor ZnJvbSBjb3JlLkJpb3NUcmVlTm9kZSBpbXBvcnQgKg0KK2Zyb20gY29yZS5CaW9zVHJlZSBpbXBv cnQgKg0KK2Zyb20gY29yZS5HdWlkVG9vbHMgaW1wb3J0IEdVSURUb29scw0KK2Zyb20gdXRpbHMu Rm1tdExvZ2dlciBpbXBvcnQgRm1tdExvZ2dlciBhcyBsb2dnZXINCisNCitST09UX1RSRUUgPSAn Uk9PVCcNCitST09UX0ZWX1RSRUUgPSAnUk9PVF9GVl9UUkVFJw0KK1JPT1RfRkZTX1RSRUUgPSAn Uk9PVF9GRlNfVFJFRScNCitST09UX1NFQ1RJT05fVFJFRSA9ICdST09UX1NFQ1RJT05fVFJFRScN CisNCitGVl9UUkVFID0gJ0ZWJw0KK0RBVEFfRlZfVFJFRSA9ICdEQVRBX0ZWJw0KK0ZGU19UUkVF ID0gJ0ZGUycNCitGRlNfUEFEID0gJ0ZGU19QQUQnDQorRkZTX0ZSRUVfU1BBQ0UgPSAnRkZTX0ZS RUVfU1BBQ0UnDQorU0VDVElPTl9UUkVFID0gJ1NFQ1RJT04nDQorU0VDX0ZWX1RSRUUgPSAnU0VD X0ZWX0lNQUdFJw0KK0JJTkFSWV9EQVRBID0gJ0JJTkFSWScNCitGdl9jb3VudCA9IDANCisNCisj IyBBYnN0cmFjdCBmYWN0b3J5DQorY2xhc3MgQmluYXJ5RmFjdG9yeSgpOg0KKyAgICB0eXBlOmxp c3QgPSBbXQ0KKw0KKyAgICBkZWYgQ3JlYXRlX1Byb2R1Y3QoKToNCisgICAgICAgIHBhc3MNCisN CitjbGFzcyBCaW5hcnlQcm9kdWN0KCk6DQorICAgICMjIFVzZSBHdWlkVG9vbCB0byBkZWNvbXBy ZXNzIGRhdGEuDQorICAgIGRlZiBEZUNvbXByZXNzRGF0YShzZWxmLCBHdWlkVG9vbCwgU2VjdGlv bl9EYXRhOiBieXRlcywgRmlsZU5hbWUpIC0+IGJ5dGVzOg0KKyAgICAgICAgZ3VpZHRvb2wgPSBH VUlEVG9vbHMoKS5fX2dldGl0ZW1fXyhzdHJ1Y3Qyc3RyZWFtKEd1aWRUb29sKSkNCisgICAgICAg IGlmIG5vdCBndWlkdG9vbC5pZmV4aXN0Og0KKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiR3Vp ZFRvb2wge30gaXMgbm90IGZvdW5kIHdoZW4gZGVjb21wcmVzc2luZyB7fSBmaWxlLlxuIi5mb3Jt YXQoZ3VpZHRvb2wuY29tbWFuZCwgRmlsZU5hbWUpKQ0KKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiUHJvY2VzcyBGYWlsZWQ6IEd1aWRUb29sIG5vdCBmb3VuZCEiKQ0KKyAgICAgICAgRGVj b21wcmVzc2VkRGF0YSA9IGd1aWR0b29sLnVucGFjayhTZWN0aW9uX0RhdGEpDQorICAgICAgICBy ZXR1cm4gRGVjb21wcmVzc2VkRGF0YQ0KKw0KKyAgICBkZWYgUGFyc2VyRGF0YSgpOg0KKyAgICAg ICAgcGFzcw0KKw0KK2NsYXNzIFNlY3Rpb25GYWN0b3J5KEJpbmFyeUZhY3RvcnkpOg0KKyAgICB0 eXBlID0gW1NFQ1RJT05fVFJFRV0NCisNCisgICAgZGVmIENyZWF0ZV9Qcm9kdWN0KCk6DQorICAg ICAgICByZXR1cm4gU2VjdGlvblByb2R1Y3QoKQ0KKw0KK2NsYXNzIEZmc0ZhY3RvcnkoQmluYXJ5 RmFjdG9yeSk6DQorICAgIHR5cGUgPSBbUk9PVF9TRUNUSU9OX1RSRUUsIEZGU19UUkVFXQ0KKw0K KyAgICBkZWYgQ3JlYXRlX1Byb2R1Y3QoKToNCisgICAgICAgIHJldHVybiBGZnNQcm9kdWN0KCkN CisNCitjbGFzcyBGdkZhY3RvcnkoQmluYXJ5RmFjdG9yeSk6DQorICAgIHR5cGUgPSBbUk9PVF9G RlNfVFJFRSwgRlZfVFJFRSwgU0VDX0ZWX1RSRUVdDQorDQorICAgIGRlZiBDcmVhdGVfUHJvZHVj dCgpOg0KKyAgICAgICAgcmV0dXJuIEZ2UHJvZHVjdCgpDQorDQorY2xhc3MgRmRGYWN0b3J5KEJp bmFyeUZhY3RvcnkpOg0KKyAgICB0eXBlID0gW1JPT1RfRlZfVFJFRSwgUk9PVF9UUkVFXQ0KKw0K KyAgICBkZWYgQ3JlYXRlX1Byb2R1Y3QoKToNCisgICAgICAgIHJldHVybiBGZFByb2R1Y3QoKQ0K Kw0KK2NsYXNzIFNlY3Rpb25Qcm9kdWN0KEJpbmFyeVByb2R1Y3QpOg0KKyAgICAjIyBEZWNvbXBy ZXNzIHRoZSBjb21wcmVzc2VkIHNlY3Rpb24uDQorICAgIGRlZiBQYXJzZXJEYXRhKHNlbGYsIFNl Y3Rpb25fVHJlZSwgd2hvbGVfRGF0YTogYnl0ZXMsIFJlbF9XaG9sZV9PZmZzZXQ6IGludD0wKSAt PiBOb25lOg0KKyAgICAgICAgaWYgU2VjdGlvbl9UcmVlLkRhdGEuVHlwZSA9PSAweDAxOg0KKyAg ICAgICAgICAgIFNlY3Rpb25fVHJlZS5EYXRhLk9yaURhdGEgPSBTZWN0aW9uX1RyZWUuRGF0YS5E YXRhDQorICAgICAgICAgICAgc2VsZi5QYXJzZXJTZWN0aW9uKFNlY3Rpb25fVHJlZSwgYicnKQ0K KyAgICAgICAgIyBHdWlkZWQgRGVmaW5lIFNlY3Rpb24NCisgICAgICAgIGVsaWYgU2VjdGlvbl9U cmVlLkRhdGEuVHlwZSA9PSAweDAyOg0KKyAgICAgICAgICAgIFNlY3Rpb25fVHJlZS5EYXRhLk9y aURhdGEgPSBTZWN0aW9uX1RyZWUuRGF0YS5EYXRhDQorICAgICAgICAgICAgRGVDb21wcmVzc0d1 aWRUb29sID0gU2VjdGlvbl9UcmVlLkRhdGEuRXh0SGVhZGVyLlNlY3Rpb25EZWZpbml0aW9uR3Vp ZA0KKyAgICAgICAgICAgIFNlY3Rpb25fVHJlZS5EYXRhLkRhdGEgPSBzZWxmLkRlQ29tcHJlc3NE YXRhKERlQ29tcHJlc3NHdWlkVG9vbCwgU2VjdGlvbl9UcmVlLkRhdGEuRGF0YSwgU2VjdGlvbl9U cmVlLlBhcmVudC5EYXRhLk5hbWUpDQorICAgICAgICAgICAgU2VjdGlvbl9UcmVlLkRhdGEuU2l6 ZSA9IGxlbihTZWN0aW9uX1RyZWUuRGF0YS5EYXRhKSArIFNlY3Rpb25fVHJlZS5EYXRhLkhlYWRl ckxlbmd0aA0KKyAgICAgICAgICAgIHNlbGYuUGFyc2VyU2VjdGlvbihTZWN0aW9uX1RyZWUsIGIn JykNCisgICAgICAgIGVsaWYgU2VjdGlvbl9UcmVlLkRhdGEuVHlwZSA9PSAweDAzOg0KKyAgICAg ICAgICAgIFNlY3Rpb25fVHJlZS5EYXRhLk9yaURhdGEgPSBTZWN0aW9uX1RyZWUuRGF0YS5EYXRh DQorICAgICAgICAgICAgc2VsZi5QYXJzZXJTZWN0aW9uKFNlY3Rpb25fVHJlZSwgYicnKQ0KKyAg ICAgICAgIyBTRUNfRlYgU2VjdGlvbg0KKyAgICAgICAgZWxpZiBTZWN0aW9uX1RyZWUuRGF0YS5U eXBlID09IDB4MTc6DQorICAgICAgICAgICAgZ2xvYmFsIEZ2X2NvdW50DQorICAgICAgICAgICAg U2VjX0Z2X0luZm8gPSBGdk5vZGUoRnZfY291bnQsIFNlY3Rpb25fVHJlZS5EYXRhLkRhdGEpDQor ICAgICAgICAgICAgU2VjX0Z2X1RyZWUgPSBCSU9TVFJFRSgnRlYnKyBzdHIoRnZfY291bnQpKQ0K KyAgICAgICAgICAgIFNlY19Gdl9UcmVlLnR5cGUgPSBTRUNfRlZfVFJFRQ0KKyAgICAgICAgICAg IFNlY19Gdl9UcmVlLkRhdGEgPSBTZWNfRnZfSW5mbw0KKyAgICAgICAgICAgIFNlY19Gdl9UcmVl LkRhdGEuSE9mZnNldCA9IFNlY3Rpb25fVHJlZS5EYXRhLkRPZmZzZXQNCisgICAgICAgICAgICBT ZWNfRnZfVHJlZS5EYXRhLkRPZmZzZXQgPSBTZWNfRnZfVHJlZS5EYXRhLkhPZmZzZXQgKyBTZWNf RnZfVHJlZS5EYXRhLkhlYWRlci5IZWFkZXJMZW5ndGgNCisgICAgICAgICAgICBTZWNfRnZfVHJl ZS5EYXRhLkRhdGEgPSBTZWN0aW9uX1RyZWUuRGF0YS5EYXRhW1NlY19Gdl9UcmVlLkRhdGEuSGVh ZGVyLkhlYWRlckxlbmd0aDpdDQorICAgICAgICAgICAgU2VjdGlvbl9UcmVlLmluc2VydENoaWxk KFNlY19Gdl9UcmVlKQ0KKyAgICAgICAgICAgIEZ2X2NvdW50ICs9IDENCisNCisgICAgZGVmIFBh cnNlclNlY3Rpb24oc2VsZiwgUGFyVHJlZSwgV2hvbGVfRGF0YTogYnl0ZXMsIFJlbF9XaG9sZV9P ZmZzZXQ6IGludD0wKSAtPiBOb25lOg0KKyAgICAgICAgUmVsX09mZnNldCA9IDANCisgICAgICAg IFNlY3Rpb25fT2Zmc2V0ID0gMA0KKyAgICAgICAgIyBHZXQgdGhlIERhdGEgZnJvbSBwYXJlbnQg dHJlZSwgaWYgZG8gbm90IGhhdmUgdGhlIHRyZWUgdGhlbiBnZXQgaXQgZnJvbSB0aGUgd2hvbGVf ZGF0YS4NCisgICAgICAgIGlmIFBhclRyZWUuRGF0YSAhPSBOb25lOg0KKyAgICAgICAgICAgIERh dGFfU2l6ZSA9IGxlbihQYXJUcmVlLkRhdGEuRGF0YSkNCisgICAgICAgICAgICBTZWN0aW9uX09m ZnNldCA9IFBhclRyZWUuRGF0YS5ET2Zmc2V0DQorICAgICAgICAgICAgV2hvbGVfRGF0YSA9IFBh clRyZWUuRGF0YS5EYXRhDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIERhdGFfU2l6ZSA9 IGxlbihXaG9sZV9EYXRhKQ0KKyAgICAgICAgIyBQYXJzZXIgYWxsIHRoZSBkYXRhIHRvIGNvbGxl Y3QgYWxsIHRoZSBTZWN0aW9uIHJlY29yZGVkIGluIGl0cyBQYXJlbnQgU2VjdGlvbi4NCisgICAg ICAgIHdoaWxlIFJlbF9PZmZzZXQgPCBEYXRhX1NpemU6DQorICAgICAgICAgICAgIyBDcmVhdGUg YSBTZWN0aW9uTm9kZSBhbmQgc2V0IGl0IGFzIHRoZSBTZWN0aW9uVHJlZSdzIERhdGENCisgICAg ICAgICAgICBTZWN0aW9uX0luZm8gPSBTZWN0aW9uTm9kZShXaG9sZV9EYXRhW1JlbF9PZmZzZXQ6 XSkNCisgICAgICAgICAgICBTZWN0aW9uX1RyZWUgPSBCSU9TVFJFRShTZWN0aW9uX0luZm8uTmFt ZSkNCisgICAgICAgICAgICBTZWN0aW9uX1RyZWUudHlwZSA9IFNFQ1RJT05fVFJFRQ0KKyAgICAg ICAgICAgIFNlY3Rpb25fSW5mby5EYXRhID0gV2hvbGVfRGF0YVtSZWxfT2Zmc2V0K1NlY3Rpb25f SW5mby5IZWFkZXJMZW5ndGg6IFJlbF9PZmZzZXQrU2VjdGlvbl9JbmZvLlNpemVdDQorICAgICAg ICAgICAgU2VjdGlvbl9JbmZvLkRPZmZzZXQgPSBTZWN0aW9uX09mZnNldCArIFNlY3Rpb25fSW5m by5IZWFkZXJMZW5ndGggKyBSZWxfV2hvbGVfT2Zmc2V0DQorICAgICAgICAgICAgU2VjdGlvbl9J bmZvLkhPZmZzZXQgPSBTZWN0aW9uX09mZnNldCArIFJlbF9XaG9sZV9PZmZzZXQNCisgICAgICAg ICAgICBTZWN0aW9uX0luZm8uUk9mZnNldCA9IFJlbF9PZmZzZXQNCisgICAgICAgICAgICBpZiBT ZWN0aW9uX0luZm8uSGVhZGVyLlR5cGUgPT0gMDoNCisgICAgICAgICAgICAgICAgYnJlYWsNCisg ICAgICAgICAgICAjIFRoZSBmaW5hbCBTZWN0aW9uIGluIHBhcmVudCBTZWN0aW9uIGRvZXMgbm90 IG5lZWQgdG8gYWRkIHBhZGRpbmcsIGVsc2UgbXVzdCBiZSA0LWJ5dGVzIGFsaWduIHdpdGggcGFy ZW50IFNlY3Rpb24gc3RhcnQgb2Zmc2V0DQorICAgICAgICAgICAgUGFkX1NpemUgPSAwDQorICAg ICAgICAgICAgaWYgKFJlbF9PZmZzZXQrU2VjdGlvbl9JbmZvLkhlYWRlckxlbmd0aCtsZW4oU2Vj dGlvbl9JbmZvLkRhdGEpICE9IERhdGFfU2l6ZSk6DQorICAgICAgICAgICAgICAgIFBhZF9TaXpl ID0gR2V0UGFkU2l6ZShTZWN0aW9uX0luZm8uU2l6ZSwgU0VDVElPTl9DT01NT05fQUxJR05NRU5U KQ0KKyAgICAgICAgICAgICAgICBTZWN0aW9uX0luZm8uUGFkRGF0YSA9IFBhZF9TaXplICogYidc eDAwJw0KKyAgICAgICAgICAgIGlmIFNlY3Rpb25fSW5mby5IZWFkZXIuVHlwZSA9PSAweDAyOg0K KyAgICAgICAgICAgICAgICBTZWN0aW9uX0luZm8uRE9mZnNldCA9IFNlY3Rpb25fT2Zmc2V0ICsg U2VjdGlvbl9JbmZvLkV4dEhlYWRlci5EYXRhT2Zmc2V0ICsgUmVsX1dob2xlX09mZnNldA0KKyAg ICAgICAgICAgICAgICBTZWN0aW9uX0luZm8uRGF0YSA9IFdob2xlX0RhdGFbUmVsX09mZnNldCtT ZWN0aW9uX0luZm8uRXh0SGVhZGVyLkRhdGFPZmZzZXQ6IFJlbF9PZmZzZXQrU2VjdGlvbl9JbmZv LlNpemVdDQorICAgICAgICAgICAgaWYgU2VjdGlvbl9JbmZvLkhlYWRlci5UeXBlID09IDB4MTQ6 DQorICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5WZXJzaW9uID0gU2VjdGlvbl9JbmZvLkV4 dEhlYWRlci5HZXRWZXJzaW9uU3RyaW5nKCkNCisgICAgICAgICAgICBpZiBTZWN0aW9uX0luZm8u SGVhZGVyLlR5cGUgPT0gMHgxNToNCisgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLlVpTmFt ZSA9IFNlY3Rpb25fSW5mby5FeHRIZWFkZXIuR2V0VWlTdHJpbmcoKQ0KKyAgICAgICAgICAgIGlm IFNlY3Rpb25fSW5mby5IZWFkZXIuVHlwZSA9PSAweDE5Og0KKyAgICAgICAgICAgICAgICBpZiBT ZWN0aW9uX0luZm8uRGF0YS5yZXBsYWNlKGInXHgwMCcsIGInJykgPT0gYicnOg0KKyAgICAgICAg ICAgICAgICAgICAgU2VjdGlvbl9JbmZvLklzUGFkU2VjdGlvbiA9IFRydWUNCisgICAgICAgICAg ICBTZWN0aW9uX09mZnNldCArPSBTZWN0aW9uX0luZm8uU2l6ZSArIFBhZF9TaXplDQorICAgICAg ICAgICAgUmVsX09mZnNldCArPSBTZWN0aW9uX0luZm8uU2l6ZSArIFBhZF9TaXplDQorICAgICAg ICAgICAgU2VjdGlvbl9UcmVlLkRhdGEgPSBTZWN0aW9uX0luZm8NCisgICAgICAgICAgICBQYXJU cmVlLmluc2VydENoaWxkKFNlY3Rpb25fVHJlZSkNCisNCitjbGFzcyBGZnNQcm9kdWN0KEJpbmFy eVByb2R1Y3QpOg0KKyAgICAjIFBhcnNlckZGcyAvIEdldFNlY3Rpb24NCisgICAgZGVmIFBhcnNl ckRhdGEoc2VsZiwgUGFyVHJlZSwgV2hvbGVfRGF0YTogYnl0ZXMsIFJlbF9XaG9sZV9PZmZzZXQ6 IGludD0wKSAtPiBOb25lOg0KKyAgICAgICAgUmVsX09mZnNldCA9IDANCisgICAgICAgIFNlY3Rp b25fT2Zmc2V0ID0gMA0KKyAgICAgICAgIyBHZXQgdGhlIERhdGEgZnJvbSBwYXJlbnQgdHJlZSwg aWYgZG8gbm90IGhhdmUgdGhlIHRyZWUgdGhlbiBnZXQgaXQgZnJvbSB0aGUgd2hvbGVfZGF0YS4N CisgICAgICAgIGlmIFBhclRyZWUuRGF0YSAhPSBOb25lOg0KKyAgICAgICAgICAgIERhdGFfU2l6 ZSA9IGxlbihQYXJUcmVlLkRhdGEuRGF0YSkNCisgICAgICAgICAgICBTZWN0aW9uX09mZnNldCA9 IFBhclRyZWUuRGF0YS5ET2Zmc2V0DQorICAgICAgICAgICAgV2hvbGVfRGF0YSA9IFBhclRyZWUu RGF0YS5EYXRhDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIERhdGFfU2l6ZSA9IGxlbihX aG9sZV9EYXRhKQ0KKyAgICAgICAgIyBQYXJzZXIgYWxsIHRoZSBkYXRhIHRvIGNvbGxlY3QgYWxs IHRoZSBTZWN0aW9uIHJlY29yZGVkIGluIEZmcy4NCisgICAgICAgIHdoaWxlIFJlbF9PZmZzZXQg PCBEYXRhX1NpemU6DQorICAgICAgICAgICAgIyBDcmVhdGUgYSBTZWN0aW9uTm9kZSBhbmQgc2V0 IGl0IGFzIHRoZSBTZWN0aW9uVHJlZSdzIERhdGENCisgICAgICAgICAgICBTZWN0aW9uX0luZm8g PSBTZWN0aW9uTm9kZShXaG9sZV9EYXRhW1JlbF9PZmZzZXQ6XSkNCisgICAgICAgICAgICBTZWN0 aW9uX1RyZWUgPSBCSU9TVFJFRShTZWN0aW9uX0luZm8uTmFtZSkNCisgICAgICAgICAgICBTZWN0 aW9uX1RyZWUudHlwZSA9IFNFQ1RJT05fVFJFRQ0KKyAgICAgICAgICAgIFNlY3Rpb25fSW5mby5E YXRhID0gV2hvbGVfRGF0YVtSZWxfT2Zmc2V0K1NlY3Rpb25fSW5mby5IZWFkZXJMZW5ndGg6IFJl bF9PZmZzZXQrU2VjdGlvbl9JbmZvLlNpemVdDQorICAgICAgICAgICAgU2VjdGlvbl9JbmZvLkRP ZmZzZXQgPSBTZWN0aW9uX09mZnNldCArIFNlY3Rpb25fSW5mby5IZWFkZXJMZW5ndGggKyBSZWxf V2hvbGVfT2Zmc2V0DQorICAgICAgICAgICAgU2VjdGlvbl9JbmZvLkhPZmZzZXQgPSBTZWN0aW9u X09mZnNldCArIFJlbF9XaG9sZV9PZmZzZXQNCisgICAgICAgICAgICBTZWN0aW9uX0luZm8uUk9m ZnNldCA9IFJlbF9PZmZzZXQNCisgICAgICAgICAgICBpZiBTZWN0aW9uX0luZm8uSGVhZGVyLlR5 cGUgPT0gMDoNCisgICAgICAgICAgICAgICAgYnJlYWsNCisgICAgICAgICAgICAjIFRoZSBmaW5h bCBTZWN0aW9uIGluIEZmcyBkb2VzIG5vdCBuZWVkIHRvIGFkZCBwYWRkaW5nLCBlbHNlIG11c3Qg YmUgNC1ieXRlcyBhbGlnbiB3aXRoIEZmcyBzdGFydCBvZmZzZXQNCisgICAgICAgICAgICBQYWRf U2l6ZSA9IDANCisgICAgICAgICAgICBpZiAoUmVsX09mZnNldCtTZWN0aW9uX0luZm8uSGVhZGVy TGVuZ3RoK2xlbihTZWN0aW9uX0luZm8uRGF0YSkgIT0gRGF0YV9TaXplKToNCisgICAgICAgICAg ICAgICAgUGFkX1NpemUgPSBHZXRQYWRTaXplKFNlY3Rpb25fSW5mby5TaXplLCBTRUNUSU9OX0NP TU1PTl9BTElHTk1FTlQpDQorICAgICAgICAgICAgICAgIFNlY3Rpb25fSW5mby5QYWREYXRhID0g UGFkX1NpemUgKiBiJ1x4MDAnDQorICAgICAgICAgICAgaWYgU2VjdGlvbl9JbmZvLkhlYWRlci5U eXBlID09IDB4MDI6DQorICAgICAgICAgICAgICAgIFNlY3Rpb25fSW5mby5ET2Zmc2V0ID0gU2Vj dGlvbl9PZmZzZXQgKyBTZWN0aW9uX0luZm8uRXh0SGVhZGVyLkRhdGFPZmZzZXQgKyBSZWxfV2hv bGVfT2Zmc2V0DQorICAgICAgICAgICAgICAgIFNlY3Rpb25fSW5mby5EYXRhID0gV2hvbGVfRGF0 YVtSZWxfT2Zmc2V0K1NlY3Rpb25fSW5mby5FeHRIZWFkZXIuRGF0YU9mZnNldDogUmVsX09mZnNl dCtTZWN0aW9uX0luZm8uU2l6ZV0NCisgICAgICAgICAgICAjIElmIFNlY3Rpb24gaXMgVmVyc2lv biBvciBVSSB0eXBlLCBpdCBzYXZlcyB0aGUgdmVyc2lvbiBhbmQgVUkgaW5mbyBvZiBpdHMgcGFy ZW50IEZmcy4NCisgICAgICAgICAgICBpZiBTZWN0aW9uX0luZm8uSGVhZGVyLlR5cGUgPT0gMHgx NDoNCisgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLlZlcnNpb24gPSBTZWN0aW9uX0luZm8u RXh0SGVhZGVyLkdldFZlcnNpb25TdHJpbmcoKQ0KKyAgICAgICAgICAgIGlmIFNlY3Rpb25fSW5m by5IZWFkZXIuVHlwZSA9PSAweDE1Og0KKyAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuVWlO YW1lID0gU2VjdGlvbl9JbmZvLkV4dEhlYWRlci5HZXRVaVN0cmluZygpDQorICAgICAgICAgICAg aWYgU2VjdGlvbl9JbmZvLkhlYWRlci5UeXBlID09IDB4MTk6DQorICAgICAgICAgICAgICAgIGlm IFNlY3Rpb25fSW5mby5EYXRhLnJlcGxhY2UoYidceDAwJywgYicnKSA9PSBiJyc6DQorICAgICAg ICAgICAgICAgICAgICBTZWN0aW9uX0luZm8uSXNQYWRTZWN0aW9uID0gVHJ1ZQ0KKyAgICAgICAg ICAgIFNlY3Rpb25fT2Zmc2V0ICs9IFNlY3Rpb25fSW5mby5TaXplICsgUGFkX1NpemUNCisgICAg ICAgICAgICBSZWxfT2Zmc2V0ICs9IFNlY3Rpb25fSW5mby5TaXplICsgUGFkX1NpemUNCisgICAg ICAgICAgICBTZWN0aW9uX1RyZWUuRGF0YSA9IFNlY3Rpb25fSW5mbw0KKyAgICAgICAgICAgIFBh clRyZWUuaW5zZXJ0Q2hpbGQoU2VjdGlvbl9UcmVlKQ0KKw0KK2NsYXNzIEZ2UHJvZHVjdChCaW5h cnlQcm9kdWN0KToNCisgICAgIyMgIFBhcnNlckZ2IC8gR2V0RmZzDQorICAgIGRlZiBQYXJzZXJE YXRhKHNlbGYsIFBhclRyZWUsIFdob2xlX0RhdGE6IGJ5dGVzLCBSZWxfV2hvbGVfT2Zmc2V0OiBp bnQ9MCkgLT4gTm9uZToNCisgICAgICAgIEZmc19PZmZzZXQgPSAwDQorICAgICAgICBSZWxfT2Zm c2V0ID0gMA0KKyAgICAgICAgIyBHZXQgdGhlIERhdGEgZnJvbSBwYXJlbnQgdHJlZSwgaWYgZG8g bm90IGhhdmUgdGhlIHRyZWUgdGhlbiBnZXQgaXQgZnJvbSB0aGUgd2hvbGVfZGF0YS4NCisgICAg ICAgIGlmIFBhclRyZWUuRGF0YSAhPSBOb25lOg0KKyAgICAgICAgICAgIERhdGFfU2l6ZSA9IGxl bihQYXJUcmVlLkRhdGEuRGF0YSkNCisgICAgICAgICAgICBGZnNfT2Zmc2V0ID0gUGFyVHJlZS5E YXRhLkRPZmZzZXQNCisgICAgICAgICAgICBXaG9sZV9EYXRhID0gUGFyVHJlZS5EYXRhLkRhdGEN CisgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgRGF0YV9TaXplID0gbGVuKFdob2xlX0RhdGEp DQorICAgICAgICAjIFBhcnNlciBhbGwgdGhlIGRhdGEgdG8gY29sbGVjdCBhbGwgdGhlIEZmcyBy ZWNvcmRlZCBpbiBGdi4NCisgICAgICAgIHdoaWxlIFJlbF9PZmZzZXQgPCBEYXRhX1NpemU6DQor ICAgICAgICAgICAgIyBDcmVhdGUgYSBGZnNOb2RlIGFuZCBzZXQgaXQgYXMgdGhlIEZGc1RyZWUn cyBEYXRhDQorICAgICAgICAgICAgaWYgRGF0YV9TaXplIC0gUmVsX09mZnNldCA8IDI0Og0KKyAg ICAgICAgICAgICAgICBGZnNfVHJlZSA9IEJJT1NUUkVFKCdGcmVlX1NwYWNlJykNCisgICAgICAg ICAgICAgICAgRmZzX1RyZWUudHlwZSA9IEZGU19GUkVFX1NQQUNFDQorICAgICAgICAgICAgICAg IEZmc19UcmVlLkRhdGEgPSBGcmVlU3BhY2VOb2RlKFdob2xlX0RhdGFbUmVsX09mZnNldDpdKQ0K KyAgICAgICAgICAgICAgICBGZnNfVHJlZS5EYXRhLkhPZmZzZXQgPSBGZnNfT2Zmc2V0ICsgUmVs X1dob2xlX09mZnNldA0KKyAgICAgICAgICAgICAgICBGZnNfVHJlZS5EYXRhLkRPZmZzZXQgPSBG ZnNfVHJlZS5EYXRhLkhPZmZzZXQNCisgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLkZyZWVf U3BhY2UgPSBEYXRhX1NpemUgLSBSZWxfT2Zmc2V0DQorICAgICAgICAgICAgICAgIFBhclRyZWUu aW5zZXJ0Q2hpbGQoRmZzX1RyZWUpDQorICAgICAgICAgICAgICAgIFJlbF9PZmZzZXQgPSBEYXRh X1NpemUNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBGZnNfSW5mbyA9IEZm c05vZGUoV2hvbGVfRGF0YVtSZWxfT2Zmc2V0Ol0pDQorICAgICAgICAgICAgICAgIEZmc19UcmVl ID0gQklPU1RSRUUoRmZzX0luZm8uTmFtZSkNCisgICAgICAgICAgICAgICAgRmZzX0luZm8uSE9m ZnNldCA9IEZmc19PZmZzZXQgKyBSZWxfV2hvbGVfT2Zmc2V0DQorICAgICAgICAgICAgICAgIEZm c19JbmZvLkRPZmZzZXQgPSBGZnNfT2Zmc2V0ICsgRmZzX0luZm8uSGVhZGVyLkhlYWRlckxlbmd0 aCArIFJlbF9XaG9sZV9PZmZzZXQNCisgICAgICAgICAgICAgICAgRmZzX0luZm8uUk9mZnNldCA9 IFJlbF9PZmZzZXQNCisgICAgICAgICAgICAgICAgaWYgRmZzX0luZm8uTmFtZSA9PSBQQURWRUNU T1I6DQorICAgICAgICAgICAgICAgICAgICBGZnNfVHJlZS50eXBlID0gRkZTX1BBRA0KKyAgICAg ICAgICAgICAgICAgICAgRmZzX0luZm8uRGF0YSA9IFdob2xlX0RhdGFbUmVsX09mZnNldCtGZnNf SW5mby5IZWFkZXIuSGVhZGVyTGVuZ3RoOiBSZWxfT2Zmc2V0K0Zmc19JbmZvLlNpemVdDQorICAg ICAgICAgICAgICAgICAgICBGZnNfSW5mby5TaXplID0gbGVuKEZmc19JbmZvLkRhdGEpICsgRmZz X0luZm8uSGVhZGVyLkhlYWRlckxlbmd0aA0KKyAgICAgICAgICAgICAgICAgICAgIyBpZiBjdXJy ZW50IEZmcyBpcyB0aGUgZmluYWwgZmZzIG9mIEZ2IGFuZCBmdWxsIG9mIGInXHhmZicsIGRlZmlu ZSBpdCB3aXRoIEZyZWVfU3BhY2UNCisgICAgICAgICAgICAgICAgICAgIGlmIHN0cnVjdDJzdHJl YW0oRmZzX0luZm8uSGVhZGVyKS5yZXBsYWNlKGInXHhmZicsIGInJykgPT0gYicnOg0KKyAgICAg ICAgICAgICAgICAgICAgICAgIEZmc19UcmVlLnR5cGUgPSBGRlNfRlJFRV9TUEFDRQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgIEZmc19JbmZvLkRhdGEgPSBXaG9sZV9EYXRhW1JlbF9PZmZzZXQ6 XQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIEZmc19JbmZvLlNpemUgPSBsZW4oRmZzX0luZm8u RGF0YSkNCisgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuRnJlZV9TcGFjZSA9 IEZmc19JbmZvLlNpemUNCisgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAg ICAgIEZmc19UcmVlLnR5cGUgPSBGRlNfVFJFRQ0KKyAgICAgICAgICAgICAgICAgICAgRmZzX0lu Zm8uRGF0YSA9IFdob2xlX0RhdGFbUmVsX09mZnNldCtGZnNfSW5mby5IZWFkZXIuSGVhZGVyTGVu Z3RoOiBSZWxfT2Zmc2V0K0Zmc19JbmZvLlNpemVdDQorICAgICAgICAgICAgICAgICMgVGhlIGZp bmFsIEZmcyBpbiBGdiBkb2VzIG5vdCBuZWVkIHRvIGFkZCBwYWRkaW5nLCBlbHNlIG11c3QgYmUg OC1ieXRlcyBhbGlnbiB3aXRoIEZ2IHN0YXJ0IG9mZnNldA0KKyAgICAgICAgICAgICAgICBQYWRf U2l6ZSA9IDANCisgICAgICAgICAgICAgICAgaWYgRmZzX1RyZWUudHlwZSAhPSBGRlNfRlJFRV9T UEFDRSBhbmQgKFJlbF9PZmZzZXQrRmZzX0luZm8uSGVhZGVyLkhlYWRlckxlbmd0aCtsZW4oRmZz X0luZm8uRGF0YSkgIT0gRGF0YV9TaXplKToNCisgICAgICAgICAgICAgICAgICAgIFBhZF9TaXpl ID0gR2V0UGFkU2l6ZShGZnNfSW5mby5TaXplLCBGRlNfQ09NTU9OX0FMSUdOTUVOVCkNCisgICAg ICAgICAgICAgICAgICAgIEZmc19JbmZvLlBhZERhdGEgPSBQYWRfU2l6ZSAqIGInXHhmZicNCisg ICAgICAgICAgICAgICAgRmZzX09mZnNldCArPSBGZnNfSW5mby5TaXplICsgUGFkX1NpemUNCisg ICAgICAgICAgICAgICAgUmVsX09mZnNldCArPSBGZnNfSW5mby5TaXplICsgUGFkX1NpemUNCisg ICAgICAgICAgICAgICAgRmZzX1RyZWUuRGF0YSA9IEZmc19JbmZvDQorICAgICAgICAgICAgICAg IFBhclRyZWUuaW5zZXJ0Q2hpbGQoRmZzX1RyZWUpDQorDQorY2xhc3MgRmRQcm9kdWN0KEJpbmFy eVByb2R1Y3QpOg0KKyAgICB0eXBlID0gW1JPT1RfRlZfVFJFRSwgUk9PVF9UUkVFXQ0KKw0KKyAg ICAjIyBDcmVhdGUgRGF0YVRyZWUgd2l0aCBmaXJzdCBsZXZlbCAvZnYgSW5mbywgdGhlbiBwYXJz ZXIgZWFjaCBGdi4NCisgICAgZGVmIFBhcnNlckRhdGEoc2VsZiwgV2hvbGVGdlRyZWUsIHdob2xl X2RhdGE6IGJ5dGVzPWInJywgb2Zmc2V0OiBpbnQ9MCkgLT4gTm9uZToNCisgICAgICAgICMgR2V0 IGFsbCBGdiBpbWFnZSBpbiBGZCB3aXRoIG9mZnNldCBhbmQgbGVuZ3RoDQorICAgICAgICBGZF9T dHJ1Y3QgPSBzZWxmLkdldEZ2RnJvbUZkKHdob2xlX2RhdGEpDQorICAgICAgICBkYXRhX3NpemUg PSBsZW4od2hvbGVfZGF0YSkNCisgICAgICAgIEJpbmFyeV9jb3VudCA9IDANCisgICAgICAgIGds b2JhbCBGdl9jb3VudA0KKyAgICAgICAgIyBJZiB0aGUgZmlyc3QgRnYgaW1hZ2UgaXMgdGhlIEJp bmFyeSBGdiwgYWRkIGl0IGludG8gdGhlIHRyZWUuDQorICAgICAgICBpZiBGZF9TdHJ1Y3RbMF1b MV0gIT0gMDoNCisgICAgICAgICAgICBCaW5hcnlfbm9kZSA9IEJJT1NUUkVFKCdCSU5BUlknKyBz dHIoQmluYXJ5X2NvdW50KSkNCisgICAgICAgICAgICBCaW5hcnlfbm9kZS50eXBlID0gQklOQVJZ X0RBVEENCisgICAgICAgICAgICBCaW5hcnlfbm9kZS5EYXRhID0gQmluYXJ5Tm9kZShzdHIoQmlu YXJ5X2NvdW50KSkNCisgICAgICAgICAgICBCaW5hcnlfbm9kZS5EYXRhLkRhdGEgPSB3aG9sZV9k YXRhWzpGZF9TdHJ1Y3RbMF1bMV1dDQorICAgICAgICAgICAgQmluYXJ5X25vZGUuRGF0YS5TaXpl ID0gbGVuKEJpbmFyeV9ub2RlLkRhdGEuRGF0YSkNCisgICAgICAgICAgICBCaW5hcnlfbm9kZS5E YXRhLkhPZmZzZXQgPSAwICsgb2Zmc2V0DQorICAgICAgICAgICAgV2hvbGVGdlRyZWUuaW5zZXJ0 Q2hpbGQoQmluYXJ5X25vZGUpDQorICAgICAgICAgICAgQmluYXJ5X2NvdW50ICs9IDENCisgICAg ICAgICMgQWRkIHRoZSBmaXJzdCBjb2xsZWN0ZWQgRnYgaW1hZ2UgaW50byB0aGUgdHJlZS4NCisg ICAgICAgIEN1cl9ub2RlID0gQklPU1RSRUUoRmRfU3RydWN0WzBdWzBdKyBzdHIoRnZfY291bnQp KQ0KKyAgICAgICAgQ3VyX25vZGUudHlwZSA9IEZkX1N0cnVjdFswXVswXQ0KKyAgICAgICAgQ3Vy X25vZGUuRGF0YSA9IEZ2Tm9kZShGdl9jb3VudCwgd2hvbGVfZGF0YVtGZF9TdHJ1Y3RbMF1bMV06 RmRfU3RydWN0WzBdWzFdK0ZkX1N0cnVjdFswXVsyXVswXV0pDQorICAgICAgICBDdXJfbm9kZS5E YXRhLkhPZmZzZXQgPSBGZF9TdHJ1Y3RbMF1bMV0gKyBvZmZzZXQNCisgICAgICAgIEN1cl9ub2Rl LkRhdGEuRE9mZnNldCA9IEN1cl9ub2RlLkRhdGEuSE9mZnNldCtDdXJfbm9kZS5EYXRhLkhlYWRl ci5IZWFkZXJMZW5ndGgNCisgICAgICAgIEN1cl9ub2RlLkRhdGEuRGF0YSA9IHdob2xlX2RhdGFb RmRfU3RydWN0WzBdWzFdK0N1cl9ub2RlLkRhdGEuSGVhZGVyLkhlYWRlckxlbmd0aDpGZF9TdHJ1 Y3RbMF1bMV0rQ3VyX25vZGUuRGF0YS5TaXplXQ0KKyAgICAgICAgV2hvbGVGdlRyZWUuaW5zZXJ0 Q2hpbGQoQ3VyX25vZGUpDQorICAgICAgICBGdl9jb3VudCArPSAxDQorICAgICAgICBGdl9udW0g PSBsZW4oRmRfU3RydWN0KQ0KKyAgICAgICAgIyBBZGQgYWxsIHRoZSBjb2xsZWN0ZWQgRnYgaW1h Z2UgYW5kIHRoZSBCaW5hcnkgRnYgaW1hZ2UgYmV0d2VlbiB0aGVtIGludG8gdGhlIHRyZWUuDQor ICAgICAgICBmb3IgaSBpbiByYW5nZShGdl9udW0tMSk6DQorICAgICAgICAgICAgaWYgRmRfU3Ry dWN0W2ldWzFdK0ZkX1N0cnVjdFtpXVsyXVswXSAhPSBGZF9TdHJ1Y3RbaSsxXVsxXToNCisgICAg ICAgICAgICAgICAgQmluYXJ5X25vZGUgPSBCSU9TVFJFRSgnQklOQVJZJysgc3RyKEJpbmFyeV9j b3VudCkpDQorICAgICAgICAgICAgICAgIEJpbmFyeV9ub2RlLnR5cGUgPSBCSU5BUllfREFUQQ0K KyAgICAgICAgICAgICAgICBCaW5hcnlfbm9kZS5EYXRhID0gQmluYXJ5Tm9kZShzdHIoQmluYXJ5 X2NvdW50KSkNCisgICAgICAgICAgICAgICAgQmluYXJ5X25vZGUuRGF0YS5EYXRhID0gd2hvbGVf ZGF0YVtGZF9TdHJ1Y3RbaV1bMV0rRmRfU3RydWN0W2ldWzJdWzBdOkZkX1N0cnVjdFtpKzFdWzFd XQ0KKyAgICAgICAgICAgICAgICBCaW5hcnlfbm9kZS5EYXRhLlNpemUgPSBsZW4oQmluYXJ5X25v ZGUuRGF0YS5EYXRhKQ0KKyAgICAgICAgICAgICAgICBCaW5hcnlfbm9kZS5EYXRhLkhPZmZzZXQg PSBGZF9TdHJ1Y3RbaV1bMV0rRmRfU3RydWN0W2ldWzJdWzBdICsgb2Zmc2V0DQorICAgICAgICAg ICAgICAgIFdob2xlRnZUcmVlLmluc2VydENoaWxkKEJpbmFyeV9ub2RlKQ0KKyAgICAgICAgICAg ICAgICBCaW5hcnlfY291bnQgKz0gMQ0KKyAgICAgICAgICAgIEN1cl9ub2RlID0gQklPU1RSRUUo RmRfU3RydWN0W2krMV1bMF0rIHN0cihGdl9jb3VudCkpDQorICAgICAgICAgICAgQ3VyX25vZGUu dHlwZSA9IEZkX1N0cnVjdFtpKzFdWzBdDQorICAgICAgICAgICAgQ3VyX25vZGUuRGF0YSA9IEZ2 Tm9kZShGdl9jb3VudCwgd2hvbGVfZGF0YVtGZF9TdHJ1Y3RbaSsxXVsxXTpGZF9TdHJ1Y3RbaSsx XVsxXStGZF9TdHJ1Y3RbaSsxXVsyXVswXV0pDQorICAgICAgICAgICAgQ3VyX25vZGUuRGF0YS5I T2Zmc2V0ID0gRmRfU3RydWN0W2krMV1bMV0gKyBvZmZzZXQNCisgICAgICAgICAgICBDdXJfbm9k ZS5EYXRhLkRPZmZzZXQgPSBDdXJfbm9kZS5EYXRhLkhPZmZzZXQrQ3VyX25vZGUuRGF0YS5IZWFk ZXIuSGVhZGVyTGVuZ3RoDQorICAgICAgICAgICAgQ3VyX25vZGUuRGF0YS5EYXRhID0gd2hvbGVf ZGF0YVtGZF9TdHJ1Y3RbaSsxXVsxXStDdXJfbm9kZS5EYXRhLkhlYWRlci5IZWFkZXJMZW5ndGg6 RmRfU3RydWN0W2krMV1bMV0rQ3VyX25vZGUuRGF0YS5TaXplXQ0KKyAgICAgICAgICAgIFdob2xl RnZUcmVlLmluc2VydENoaWxkKEN1cl9ub2RlKQ0KKyAgICAgICAgICAgIEZ2X2NvdW50ICs9IDEN CisgICAgICAgICMgSWYgdGhlIGZpbmFsIEZ2IGltYWdlIGlzIHRoZSBCaW5hcnkgRnYsIGFkZCBp dCBpbnRvIHRoZSB0cmVlDQorICAgICAgICBpZiBGZF9TdHJ1Y3RbLTFdWzFdICsgRmRfU3RydWN0 Wy0xXVsyXVswXSAhPSBkYXRhX3NpemU6DQorICAgICAgICAgICAgQmluYXJ5X25vZGUgPSBCSU9T VFJFRSgnQklOQVJZJysgc3RyKEJpbmFyeV9jb3VudCkpDQorICAgICAgICAgICAgQmluYXJ5X25v ZGUudHlwZSA9IEJJTkFSWV9EQVRBDQorICAgICAgICAgICAgQmluYXJ5X25vZGUuRGF0YSA9IEJp bmFyeU5vZGUoc3RyKEJpbmFyeV9jb3VudCkpDQorICAgICAgICAgICAgQmluYXJ5X25vZGUuRGF0 YS5EYXRhID0gd2hvbGVfZGF0YVtGZF9TdHJ1Y3RbLTFdWzFdK0ZkX1N0cnVjdFstMV1bMl1bMF06 XQ0KKyAgICAgICAgICAgIEJpbmFyeV9ub2RlLkRhdGEuU2l6ZSA9IGxlbihCaW5hcnlfbm9kZS5E YXRhLkRhdGEpDQorICAgICAgICAgICAgQmluYXJ5X25vZGUuRGF0YS5IT2Zmc2V0ID0gRmRfU3Ry dWN0Wy0xXVsxXStGZF9TdHJ1Y3RbLTFdWzJdWzBdICsgb2Zmc2V0DQorICAgICAgICAgICAgV2hv bGVGdlRyZWUuaW5zZXJ0Q2hpbGQoQmluYXJ5X25vZGUpDQorICAgICAgICAgICAgQmluYXJ5X2Nv dW50ICs9IDENCisNCisgICAgIyMgR2V0IHRoZSBmaXJzdCBsZXZlbCBGdiBmcm9tIEZkIGZpbGUu DQorICAgIGRlZiBHZXRGdkZyb21GZChzZWxmLCB3aG9sZV9kYXRhOiBieXRlcz1iJycpIC0+IGxp c3Q6DQorICAgICAgICBGZF9TdHJ1Y3QgPSBbXQ0KKyAgICAgICAgZGF0YV9zaXplID0gbGVuKHdo b2xlX2RhdGEpDQorICAgICAgICBjdXJfaW5kZXggPSAwDQorICAgICAgICAjIEdldCBhbGwgdGhl IEVGSV9GSVJNV0FSRV9GSUxFX1NZU1RFTTJfR1VJRF9CWVRFIEZWIGltYWdlIG9mZnNldCBhbmQg bGVuZ3RoLg0KKyAgICAgICAgd2hpbGUgY3VyX2luZGV4IDwgZGF0YV9zaXplOg0KKyAgICAgICAg ICAgIGlmIEVGSV9GSVJNV0FSRV9GSUxFX1NZU1RFTTJfR1VJRF9CWVRFIGluIHdob2xlX2RhdGFb Y3VyX2luZGV4Ol06DQorICAgICAgICAgICAgICAgIHRhcmdldF9pbmRleCA9IHdob2xlX2RhdGFb Y3VyX2luZGV4Ol0uaW5kZXgoRUZJX0ZJUk1XQVJFX0ZJTEVfU1lTVEVNMl9HVUlEX0JZVEUpICsg Y3VyX2luZGV4DQorICAgICAgICAgICAgICAgIGlmIHdob2xlX2RhdGFbdGFyZ2V0X2luZGV4KzI0 OnRhcmdldF9pbmRleCsyOF0gPT0gRlZIX1NJR05BVFVSRToNCisgICAgICAgICAgICAgICAgICAg IEZkX1N0cnVjdC5hcHBlbmQoW0ZWX1RSRUUsIHRhcmdldF9pbmRleCAtIDE2LCB1bnBhY2soIlEi LCB3aG9sZV9kYXRhW3RhcmdldF9pbmRleCsxNjp0YXJnZXRfaW5kZXgrMjRdKV0pDQorICAgICAg ICAgICAgICAgICAgICBjdXJfaW5kZXggPSBGZF9TdHJ1Y3RbLTFdWzFdICsgRmRfU3RydWN0Wy0x XVsyXVswXQ0KKyAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgY3Vy X2luZGV4ID0gdGFyZ2V0X2luZGV4ICsgMTYNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAg ICAgICAgICBjdXJfaW5kZXggPSBkYXRhX3NpemUNCisgICAgICAgIGN1cl9pbmRleCA9IDANCisg ICAgICAgICMgR2V0IGFsbCB0aGUgRUZJX0ZJUk1XQVJFX0ZJTEVfU1lTVEVNM19HVUlEX0JZVEUg RlYgaW1hZ2Ugb2Zmc2V0IGFuZCBsZW5ndGguDQorICAgICAgICB3aGlsZSBjdXJfaW5kZXggPCBk YXRhX3NpemU6DQorICAgICAgICAgICAgaWYgRUZJX0ZJUk1XQVJFX0ZJTEVfU1lTVEVNM19HVUlE X0JZVEUgaW4gd2hvbGVfZGF0YVtjdXJfaW5kZXg6XToNCisgICAgICAgICAgICAgICAgdGFyZ2V0 X2luZGV4ID0gd2hvbGVfZGF0YVtjdXJfaW5kZXg6XS5pbmRleChFRklfRklSTVdBUkVfRklMRV9T WVNURU0zX0dVSURfQllURSkgKyBjdXJfaW5kZXgNCisgICAgICAgICAgICAgICAgaWYgd2hvbGVf ZGF0YVt0YXJnZXRfaW5kZXgrMjQ6dGFyZ2V0X2luZGV4KzI4XSA9PSBGVkhfU0lHTkFUVVJFOg0K KyAgICAgICAgICAgICAgICAgICAgRmRfU3RydWN0LmFwcGVuZChbRlZfVFJFRSwgdGFyZ2V0X2lu ZGV4IC0gMTYsIHVucGFjaygiUSIsIHdob2xlX2RhdGFbdGFyZ2V0X2luZGV4KzE2OnRhcmdldF9p bmRleCsyNF0pXSkNCisgICAgICAgICAgICAgICAgICAgIGN1cl9pbmRleCA9IEZkX1N0cnVjdFst MV1bMV0gKyBGZF9TdHJ1Y3RbLTFdWzJdWzBdDQorICAgICAgICAgICAgICAgIGVsc2U6DQorICAg ICAgICAgICAgICAgICAgICBjdXJfaW5kZXggPSB0YXJnZXRfaW5kZXggKyAxNg0KKyAgICAgICAg ICAgIGVsc2U6DQorICAgICAgICAgICAgICAgIGN1cl9pbmRleCA9IGRhdGFfc2l6ZQ0KKyAgICAg ICAgY3VyX2luZGV4ID0gMA0KKyAgICAgICAgIyBHZXQgYWxsIHRoZSBFRklfU1lTVEVNX05WREFU QV9GVl9HVUlEX0JZVEUgRlYgaW1hZ2Ugb2Zmc2V0IGFuZCBsZW5ndGguDQorICAgICAgICB3aGls ZSBjdXJfaW5kZXggPCBkYXRhX3NpemU6DQorICAgICAgICAgICAgaWYgRUZJX1NZU1RFTV9OVkRB VEFfRlZfR1VJRF9CWVRFIGluIHdob2xlX2RhdGFbY3VyX2luZGV4Ol06DQorICAgICAgICAgICAg ICAgIHRhcmdldF9pbmRleCA9IHdob2xlX2RhdGFbY3VyX2luZGV4Ol0uaW5kZXgoRUZJX1NZU1RF TV9OVkRBVEFfRlZfR1VJRF9CWVRFKSArIGN1cl9pbmRleA0KKyAgICAgICAgICAgICAgICBpZiB3 aG9sZV9kYXRhW3RhcmdldF9pbmRleCsyNDp0YXJnZXRfaW5kZXgrMjhdID09IEZWSF9TSUdOQVRV UkU6DQorICAgICAgICAgICAgICAgICAgICBGZF9TdHJ1Y3QuYXBwZW5kKFtEQVRBX0ZWX1RSRUUs IHRhcmdldF9pbmRleCAtIDE2LCB1bnBhY2soIlEiLCB3aG9sZV9kYXRhW3RhcmdldF9pbmRleCsx Njp0YXJnZXRfaW5kZXgrMjRdKV0pDQorICAgICAgICAgICAgICAgICAgICBjdXJfaW5kZXggPSBG ZF9TdHJ1Y3RbLTFdWzFdICsgRmRfU3RydWN0Wy0xXVsyXVswXQ0KKyAgICAgICAgICAgICAgICBl bHNlOg0KKyAgICAgICAgICAgICAgICAgICAgY3VyX2luZGV4ID0gdGFyZ2V0X2luZGV4ICsgMTYN CisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBjdXJfaW5kZXggPSBkYXRhX3Np emUNCisgICAgICAgICMgU29ydCBhbGwgdGhlIGNvbGxlY3QgRnYgaW1hZ2Ugd2l0aCBvZmZzZXQu DQorICAgICAgICBGZF9TdHJ1Y3Quc29ydChrZXk9bGFtYmRhIHg6eFsxXSkNCisgICAgICAgIHRt cF9zdHJ1Y3QgPSBjb3B5LmRlZXBjb3B5KEZkX1N0cnVjdCkNCisgICAgICAgIHRtcF9pbmRleCA9 IDANCisgICAgICAgIEZ2X251bSA9IGxlbihGZF9TdHJ1Y3QpDQorICAgICAgICAjIFJlbW92ZSB0 aGUgRnYgaW1hZ2UgaW5jbHVkZWQgaW4gYW5vdGhlciBGdiBpbWFnZS4NCisgICAgICAgIGZvciBp IGluIHJhbmdlKDEsRnZfbnVtKToNCisgICAgICAgICAgICBpZiB0bXBfc3RydWN0W2ldWzFdK3Rt cF9zdHJ1Y3RbaV1bMl1bMF0gPCB0bXBfc3RydWN0W2ktMV1bMV0rdG1wX3N0cnVjdFtpLTFdWzJd WzBdOg0KKyAgICAgICAgICAgICAgICBGZF9TdHJ1Y3QucmVtb3ZlKEZkX1N0cnVjdFtpLXRtcF9p bmRleF0pDQorICAgICAgICAgICAgICAgIHRtcF9pbmRleCArPSAxDQorICAgICAgICByZXR1cm4g RmRfU3RydWN0DQorDQorY2xhc3MgUGFyc2VyRW50cnkoKToNCisgICAgRmFjdG9yeVRhYmxlOmRp Y3QgPSB7DQorICAgICAgICBTRUNUSU9OX1RSRUU6IFNlY3Rpb25GYWN0b3J5LA0KKyAgICAgICAg Uk9PVF9TRUNUSU9OX1RSRUU6IEZmc0ZhY3RvcnksDQorICAgICAgICBGRlNfVFJFRTogRmZzRmFj dG9yeSwNCisgICAgICAgIFJPT1RfRkZTX1RSRUU6IEZ2RmFjdG9yeSwNCisgICAgICAgIEZWX1RS RUU6IEZ2RmFjdG9yeSwNCisgICAgICAgIFNFQ19GVl9UUkVFOiBGdkZhY3RvcnksDQorICAgICAg ICBST09UX0ZWX1RSRUU6IEZkRmFjdG9yeSwNCisgICAgICAgIFJPT1RfVFJFRTogRmRGYWN0b3J5 LA0KKyAgICB9DQorDQorICAgIGRlZiBHZXRUYXJnZXRGYWN0b3J5KHNlbGYsIFRyZWVfdHlwZTog c3RyKSAtPiBCaW5hcnlGYWN0b3J5Og0KKyAgICAgICAgaWYgVHJlZV90eXBlIGluIHNlbGYuRmFj dG9yeVRhYmxlOg0KKyAgICAgICAgICAgIHJldHVybiBzZWxmLkZhY3RvcnlUYWJsZVtUcmVlX3R5 cGVdDQorDQorICAgIGRlZiBHZW5lcmF0ZV9Qcm9kdWN0KHNlbGYsIFRhcmdldEZhY3Rvcnk6IEJp bmFyeUZhY3RvcnksIFRyZWUsIERhdGE6IGJ5dGVzLCBPZmZzZXQ6IGludCkgLT4gTm9uZToNCisg ICAgICAgIE5ld19Qcm9kdWN0ID0gVGFyZ2V0RmFjdG9yeS5DcmVhdGVfUHJvZHVjdCgpDQorICAg ICAgICBOZXdfUHJvZHVjdC5QYXJzZXJEYXRhKFRyZWUsIERhdGEsIE9mZnNldCkNCisNCisgICAg ZGVmIERhdGFQYXJzZXIoc2VsZiwgVHJlZSwgRGF0YTogYnl0ZXMsIE9mZnNldDogaW50KSAtPiBO b25lOg0KKyAgICAgICAgVGFyZ2V0RmFjdG9yeSA9IHNlbGYuR2V0VGFyZ2V0RmFjdG9yeShUcmVl LnR5cGUpDQorICAgICAgICBpZiBUYXJnZXRGYWN0b3J5Og0KKyAgICAgICAgICAgIHNlbGYuR2Vu ZXJhdGVfUHJvZHVjdChUYXJnZXRGYWN0b3J5LCBUcmVlLCBEYXRhLCBPZmZzZXQpDQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUNCmRpZmYgLS1naXQgYS9CYXNlVG9vbHMvU291cmNlL1B5dGhv bi9GTU1UL2NvcmUvQmlvc1RyZWUucHkgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2Nv cmUvQmlvc1RyZWUucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAu LjM2M2UzNWU0ZDA0Ng0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRo b24vRk1NVC9jb3JlL0Jpb3NUcmVlLnB5DQpAQCAtMCwwICsxLDE5OCBAQA0KKyMjIEBmaWxlDQor IyBUaGlzIGZpbGUgaXMgdXNlZCB0byBkZWZpbmUgdGhlIEJpb3MgbGF5b3V0IHRyZWUgc3RydWN0 dXJlIGFuZCByZWxhdGVkIG9wZXJhdGlvbnMuDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxLSwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisjIw0KK2ltcG9ydCBjb2xsZWN0 aW9ucw0KK2Zyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KK2Zyb20g dXRpbHMuRm1tdExvZ2dlciBpbXBvcnQgRm1tdExvZ2dlciBhcyBsb2dnZXINCisNCitST09UX1RS RUUgPSAnUk9PVCcNCitST09UX0ZWX1RSRUUgPSAnUk9PVF9GVl9UUkVFJw0KK1JPT1RfRkZTX1RS RUUgPSAnUk9PVF9GRlNfVFJFRScNCitST09UX1NFQ1RJT05fVFJFRSA9ICdST09UX1NFQ1RJT05f VFJFRScNCisNCitGVl9UUkVFID0gJ0ZWJw0KK0RBVEFfRlZfVFJFRSA9ICdEQVRBX0ZWJw0KK0ZG U19UUkVFID0gJ0ZGUycNCitGRlNfUEFEID0gJ0ZGU19QQUQnDQorRkZTX0ZSRUVfU1BBQ0UgPSAn RkZTX0ZSRUVfU1BBQ0UnDQorU0VDVElPTl9UUkVFID0gJ1NFQ1RJT04nDQorU0VDX0ZWX1RSRUUg PSAnU0VDX0ZWX0lNQUdFJw0KK0JJTkFSWV9EQVRBID0gJ0JJTkFSWScNCisNCitSb290VHlwZSA9 IFtST09UX1RSRUUsIFJPT1RfRlZfVFJFRSwgUk9PVF9GRlNfVFJFRSwgUk9PVF9TRUNUSU9OX1RS RUVdDQorRnZUeXBlID0gW0ZWX1RSRUUsIFNFQ19GVl9UUkVFXQ0KK0Zmc1R5cGUgPSBGRlNfVFJF RQ0KK1NlY1R5cGUgPSBTRUNUSU9OX1RSRUUNCisNCitjbGFzcyBCSU9TVFJFRToNCisgICAgZGVm IF9faW5pdF9fKHNlbGYsIE5vZGVOYW1lOiBzdHIpIC0+IE5vbmU6DQorICAgICAgICBzZWxmLmtl eSA9IE5vZGVOYW1lDQorICAgICAgICBzZWxmLnR5cGUgPSBOb25lDQorICAgICAgICBzZWxmLkRh dGEgPSBOb25lDQorICAgICAgICBzZWxmLkNoaWxkID0gW10NCisgICAgICAgIHNlbGYuRmluZGxp c3QgPSBbXQ0KKyAgICAgICAgc2VsZi5QYXJlbnQgPSBOb25lDQorICAgICAgICBzZWxmLk5leHRS ZWwgPSBOb25lDQorICAgICAgICBzZWxmLkxhc3RSZWwgPSBOb25lDQorDQorICAgIGRlZiBIYXND aGlsZChzZWxmKSAtPiBib29sOg0KKyAgICAgICAgaWYgc2VsZi5DaGlsZCA9PSBbXToNCisgICAg ICAgICAgICByZXR1cm4gRmFsc2UNCisgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgcmV0dXJu IFRydWUNCisNCisgICAgZGVmIGlzRmluYWxDaGlsZChzZWxmKSAtPiBib29sOg0KKyAgICAgICAg UGFyVHJlZSA9IHNlbGYuUGFyZW50DQorICAgICAgICBpZiBQYXJUcmVlOg0KKyAgICAgICAgICAg IGlmIFBhclRyZWUuQ2hpbGRbLTFdID09IHNlbGY6DQorICAgICAgICAgICAgICAgIHJldHVybiBU cnVlDQorICAgICAgICByZXR1cm4gRmFsc2UNCisNCisgICAgIyBGdlRyZWUuaW5zZXJ0Q2hpbGQo KQ0KKyAgICBkZWYgaW5zZXJ0Q2hpbGQoc2VsZiwgbmV3Tm9kZSwgcG9zOiBpbnQ9Tm9uZSkgLT4g Tm9uZToNCisgICAgICAgIGlmIGxlbihzZWxmLkNoaWxkKSA9PSAwOg0KKyAgICAgICAgICAgIHNl bGYuQ2hpbGQuYXBwZW5kKG5ld05vZGUpDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIGlm IG5vdCBwb3M6DQorICAgICAgICAgICAgICAgIExhc3RUcmVlID0gc2VsZi5DaGlsZFstMV0NCisg ICAgICAgICAgICAgICAgc2VsZi5DaGlsZC5hcHBlbmQobmV3Tm9kZSkNCisgICAgICAgICAgICAg ICAgTGFzdFRyZWUuTmV4dFJlbCA9IG5ld05vZGUNCisgICAgICAgICAgICAgICAgbmV3Tm9kZS5M YXN0UmVsID0gTGFzdFRyZWUNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBu ZXdOb2RlLk5leHRSZWwgPSBzZWxmLkNoaWxkW3Bvcy0xXS5OZXh0UmVsDQorICAgICAgICAgICAg ICAgIG5ld05vZGUuTGFzdFJlbCA9IHNlbGYuQ2hpbGRbcG9zXS5MYXN0UmVsDQorICAgICAgICAg ICAgICAgIHNlbGYuQ2hpbGRbcG9zLTFdLk5leHRSZWwgPSBuZXdOb2RlDQorICAgICAgICAgICAg ICAgIHNlbGYuQ2hpbGRbcG9zXS5MYXN0UmVsID0gbmV3Tm9kZQ0KKyAgICAgICAgICAgICAgICBz ZWxmLkNoaWxkLmluc2VydChwb3MsIG5ld05vZGUpDQorICAgICAgICBuZXdOb2RlLlBhcmVudCA9 IHNlbGYNCisNCisgICAgIyBsYXN0Tm9kZS5pbnNlcnRSZWwobmV3Tm9kZSkNCisgICAgZGVmIGlu c2VydFJlbChzZWxmLCBuZXdOb2RlKSAtPiBOb25lOg0KKyAgICAgICAgaWYgc2VsZi5QYXJlbnQ6 DQorICAgICAgICAgICAgcGFyZW50VHJlZSA9IHNlbGYuUGFyZW50DQorICAgICAgICAgICAgbmV3 X2luZGV4ID0gcGFyZW50VHJlZS5DaGlsZC5pbmRleChzZWxmKSArIDENCisgICAgICAgICAgICBw YXJlbnRUcmVlLkNoaWxkLmluc2VydChuZXdfaW5kZXgsIG5ld05vZGUpDQorICAgICAgICBzZWxm Lk5leHRSZWwgPSBuZXdOb2RlDQorICAgICAgICBuZXdOb2RlLkxhc3RSZWwgPSBzZWxmDQorDQor ICAgIGRlZiBkZWxldGVOb2RlKHNlbGYsIGRlbGV0ZWtleTogc3RyKSAtPiBOb25lOg0KKyAgICAg ICAgRmluZFN0YXR1cywgRGVsZXRlVHJlZSA9IHNlbGYuRmluZE5vZGUoZGVsZXRla2V5KQ0KKyAg ICAgICAgaWYgRmluZFN0YXR1czoNCisgICAgICAgICAgICBwYXJlbnRUcmVlID0gRGVsZXRlVHJl ZS5QYXJlbnQNCisgICAgICAgICAgICBsYXN0VHJlZSA9IERlbGV0ZVRyZWUuTGFzdFJlbA0KKyAg ICAgICAgICAgIG5leHRUcmVlID0gRGVsZXRlVHJlZS5OZXh0UmVsDQorICAgICAgICAgICAgaWYg cGFyZW50VHJlZToNCisgICAgICAgICAgICAgICAgaW5kZXggPSBwYXJlbnRUcmVlLkNoaWxkLmlu ZGV4KERlbGV0ZVRyZWUpDQorICAgICAgICAgICAgICAgIGRlbCBwYXJlbnRUcmVlLkNoaWxkW2lu ZGV4XQ0KKyAgICAgICAgICAgIGlmIGxhc3RUcmVlIGFuZCBuZXh0VHJlZToNCisgICAgICAgICAg ICAgICAgbGFzdFRyZWUuTmV4dFJlbCA9IG5leHRUcmVlDQorICAgICAgICAgICAgICAgIG5leHRU cmVlLkxhc3RSZWwgPSBsYXN0VHJlZQ0KKyAgICAgICAgICAgIGVsaWYgbGFzdFRyZWU6DQorICAg ICAgICAgICAgICAgIGxhc3RUcmVlLk5leHRSZWwgPSBOb25lDQorICAgICAgICAgICAgZWxpZiBu ZXh0VHJlZToNCisgICAgICAgICAgICAgICAgbmV4dFRyZWUuTGFzdFJlbCA9IE5vbmUNCisgICAg ICAgICAgICByZXR1cm4gRGVsZXRlVHJlZQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBs b2dnZXIuZXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSB0YXJnZXQgdHJlZScpDQorICAgICAgICAg ICAgcmV0dXJuIE5vbmUNCisNCisgICAgZGVmIEZpbmROb2RlKHNlbGYsIGtleTogc3RyLCBGaW5k bGlzdDogbGlzdCkgLT4gTm9uZToNCisgICAgICAgIGlmIHNlbGYua2V5ID09IGtleSBvciAoc2Vs Zi5EYXRhIGFuZCBzZWxmLkRhdGEuTmFtZSA9PSBrZXkpIG9yIChzZWxmLnR5cGUgPT0gRkZTX1RS RUUgYW5kIHNlbGYuRGF0YS5VaU5hbWUgPT0ga2V5KToNCisgICAgICAgICAgICBGaW5kbGlzdC5h cHBlbmQoc2VsZikNCisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuQ2hpbGQ6DQorICAgICAgICAg ICAgaXRlbS5GaW5kTm9kZShrZXksIEZpbmRsaXN0KQ0KKw0KKyAgICBkZWYgR2V0VHJlZVBhdGgo c2VsZik6DQorICAgICAgICBCaW9zVHJlZVBhdGggPSBbc2VsZl0NCisgICAgICAgIHdoaWxlIHNl bGYuUGFyZW50Og0KKyAgICAgICAgICAgIEJpb3NUcmVlUGF0aC5pbnNlcnQoMCwgc2VsZi5QYXJl bnQpDQorICAgICAgICAgICAgc2VsZiA9IHNlbGYuUGFyZW50DQorICAgICAgICByZXR1cm4gQmlv c1RyZWVQYXRoDQorDQorICAgIGRlZiBwYXJzZXJUcmVlKHNlbGYsIFRhcmdldERpY3Q6IGRpY3Q9 Tm9uZSwgSW5mbzogbGlzdD1Ob25lLCBzcGFjZTogaW50PTAsIFBhckZ2SWQ9IiIpIC0+IE5vbmU6 DQorICAgICAgICBLZXkgPSBsaXN0KFRhcmdldERpY3Qua2V5cygpKVswXQ0KKyAgICAgICAgaWYg VGFyZ2V0RGljdFtLZXldWyJUeXBlIl0gaW4gUm9vdFR5cGU6DQorICAgICAgICAgICAgSW5mby5h cHBlbmQoIkltYWdlIEZpbGU6IHt9Ii5mb3JtYXQoS2V5KSkNCisgICAgICAgICAgICBJbmZvLmFw cGVuZCgiRmlsZXNOdW06IHt9Ii5mb3JtYXQoVGFyZ2V0RGljdC5nZXQoS2V5KS5nZXQoJ0ZpbGVz TnVtJykpKQ0KKyAgICAgICAgICAgIEluZm8uYXBwZW5kKCJcbiIpDQorICAgICAgICBlbGlmIFRh cmdldERpY3RbS2V5XVsiVHlwZSJdIGluIEZ2VHlwZToNCisgICAgICAgICAgICBzcGFjZSArPSAy DQorICAgICAgICAgICAgaWYgVGFyZ2V0RGljdFtLZXldWyJUeXBlIl0gPT0gU0VDX0ZWX1RSRUU6 DQorICAgICAgICAgICAgICAgIEluZm8uYXBwZW5kKCJ7fUNoaWxkIEZWIG5hbWVkIHt9IG9mIHt9 Ii5mb3JtYXQoc3BhY2UqIiAiLCBLZXksIFBhckZ2SWQpKQ0KKyAgICAgICAgICAgICAgICBzcGFj ZSArPSAyDQorICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgSW5mby5hcHBlbmQo IkZ2SWQ6IHt9Ii5mb3JtYXQoS2V5KSkNCisgICAgICAgICAgICAgICAgUGFyRnZJZCA9IEtleQ0K KyAgICAgICAgICAgIEluZm8uYXBwZW5kKCJ7fUZ2TmFtZUd1aWQ6IHt9Ii5mb3JtYXQoc3BhY2Uq IiAiLCBUYXJnZXREaWN0LmdldChLZXkpLmdldCgnRnZOYW1lR3VpZCcpKSkNCisgICAgICAgICAg ICBJbmZvLmFwcGVuZCgie31BdHRyaWJ1dGVzOiB7fSIuZm9ybWF0KHNwYWNlKiIgIiwgVGFyZ2V0 RGljdC5nZXQoS2V5KS5nZXQoJ0F0dHJpYnV0ZXMnKSkpDQorICAgICAgICAgICAgSW5mby5hcHBl bmQoInt9VG90YWwgVm9sdW1lIFNpemU6IHt9Ii5mb3JtYXQoc3BhY2UqIiAiLCBUYXJnZXREaWN0 LmdldChLZXkpLmdldCgnU2l6ZScpKSkNCisgICAgICAgICAgICBJbmZvLmFwcGVuZCgie31GcmVl IFZvbHVtZSBTaXplOiB7fSIuZm9ybWF0KHNwYWNlKiIgIiwgVGFyZ2V0RGljdC5nZXQoS2V5KS5n ZXQoJ0ZyZWVTaXplJykpKQ0KKyAgICAgICAgICAgIEluZm8uYXBwZW5kKCJ7fVZvbHVtZSBPZmZz ZXQ6IHt9Ii5mb3JtYXQoc3BhY2UqIiAiLCBUYXJnZXREaWN0LmdldChLZXkpLmdldCgnT2Zmc2V0 JykpKQ0KKyAgICAgICAgICAgIEluZm8uYXBwZW5kKCJ7fUZpbGVzTnVtOiB7fSIuZm9ybWF0KHNw YWNlKiIgIiwgVGFyZ2V0RGljdC5nZXQoS2V5KS5nZXQoJ0ZpbGVzTnVtJykpKQ0KKyAgICAgICAg ZWxpZiBUYXJnZXREaWN0W0tleV1bIlR5cGUiXSBpbiBGZnNUeXBlOg0KKyAgICAgICAgICAgIHNw YWNlICs9IDINCisgICAgICAgICAgICBpZiBUYXJnZXREaWN0LmdldChLZXkpLmdldCgnVWlOYW1l JykgIT0gImInJyI6DQorICAgICAgICAgICAgICAgIEluZm8uYXBwZW5kKCJ7fUZpbGU6IHt9IC8g e30iLmZvcm1hdChzcGFjZSoiICIsIEtleSwgVGFyZ2V0RGljdC5nZXQoS2V5KS5nZXQoJ1VpTmFt ZScpKSkNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBJbmZvLmFwcGVuZCgi e31GaWxlOiB7fSIuZm9ybWF0KHNwYWNlKiIgIiwgS2V5KSkNCisgICAgICAgIGlmICJGaWxlcyIg aW4gbGlzdChUYXJnZXREaWN0W0tleV0ua2V5cygpKToNCisgICAgICAgICAgICBmb3IgaXRlbSBp biBUYXJnZXREaWN0W0tleV1bIkZpbGVzIl06DQorICAgICAgICAgICAgICAgIHNlbGYucGFyc2Vy VHJlZShpdGVtLCBJbmZvLCBzcGFjZSwgUGFyRnZJZCkNCisNCisgICAgZGVmIEV4cG9ydFRyZWUo c2VsZixUcmVlSW5mbzogZGljdD1Ob25lKSAtPiBkaWN0Og0KKyAgICAgICAgaWYgVHJlZUluZm8g aXMgTm9uZToNCisgICAgICAgICAgICBUcmVlSW5mbyA9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3Qo KQ0KKw0KKyAgICAgICAgaWYgc2VsZi50eXBlID09IFJPT1RfVFJFRSBvciBzZWxmLnR5cGUgPT0g Uk9PVF9GVl9UUkVFIG9yIHNlbGYudHlwZSA9PSBST09UX0ZGU19UUkVFIG9yIHNlbGYudHlwZSA9 PSBST09UX1NFQ1RJT05fVFJFRToNCisgICAgICAgICAgICBrZXkgPSBzdHIoc2VsZi5rZXkpDQor ICAgICAgICAgICAgVHJlZUluZm9bc2VsZi5rZXldID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3Qo KQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW3NlbGYua2V5XVsiTmFtZSJdID0ga2V5DQorICAgICAg ICAgICAgVHJlZUluZm9bc2VsZi5rZXldWyJUeXBlIl0gPSBzZWxmLnR5cGUNCisgICAgICAgICAg ICBUcmVlSW5mb1tzZWxmLmtleV1bIkZpbGVzTnVtIl0gPSBsZW4oc2VsZi5DaGlsZCkNCisgICAg ICAgIGVsaWYgc2VsZi50eXBlID09IEZWX1RSRUUgb3IgIHNlbGYudHlwZSA9PSBTRUNfRlZfVFJF RToNCisgICAgICAgICAgICBrZXkgPSBzdHIoc2VsZi5EYXRhLkZ2SWQpDQorICAgICAgICAgICAg VHJlZUluZm9ba2V5XSA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KCkNCisgICAgICAgICAgICBU cmVlSW5mb1trZXldWyJOYW1lIl0gPSBrZXkNCisgICAgICAgICAgICBpZiBzZWxmLkRhdGEuRnZJ ZCAhPSBzZWxmLkRhdGEuTmFtZToNCisgICAgICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiRnZO YW1lR3VpZCJdID0gc3RyKHNlbGYuRGF0YS5OYW1lKQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tl eV1bIlR5cGUiXSA9IHNlbGYudHlwZQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIkF0dHJp YnV0ZXMiXSA9IGhleChzZWxmLkRhdGEuSGVhZGVyLkF0dHJpYnV0ZXMpDQorICAgICAgICAgICAg VHJlZUluZm9ba2V5XVsiU2l6ZSJdID0gaGV4KHNlbGYuRGF0YS5IZWFkZXIuRnZMZW5ndGgpDQor ICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiRnJlZVNpemUiXSA9IGhleChzZWxmLkRhdGEuRnJl ZV9TcGFjZSkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJPZmZzZXQiXSA9IGhleChzZWxm LkRhdGEuSE9mZnNldCkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJGaWxlc051bSJdID0g bGVuKHNlbGYuQ2hpbGQpDQorICAgICAgICBlbGlmIHNlbGYudHlwZSA9PSBGRlNfVFJFRToNCisg ICAgICAgICAgICBrZXkgPSBzdHIoc2VsZi5EYXRhLk5hbWUpDQorICAgICAgICAgICAgVHJlZUlu Zm9ba2V5XSA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KCkNCisgICAgICAgICAgICBUcmVlSW5m b1trZXldWyJOYW1lIl0gPSBrZXkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJVaU5hbWUi XSA9ICd7fScuZm9ybWF0KHNlbGYuRGF0YS5VaU5hbWUpDQorICAgICAgICAgICAgVHJlZUluZm9b a2V5XVsiVmVyc2lvbiJdID0gJ3t9Jy5mb3JtYXQoc2VsZi5EYXRhLlZlcnNpb24pDQorICAgICAg ICAgICAgVHJlZUluZm9ba2V5XVsiVHlwZSJdID0gc2VsZi50eXBlDQorICAgICAgICAgICAgVHJl ZUluZm9ba2V5XVsiU2l6ZSJdID0gaGV4KHNlbGYuRGF0YS5TaXplKQ0KKyAgICAgICAgICAgIFRy ZWVJbmZvW2tleV1bIk9mZnNldCJdID0gaGV4KHNlbGYuRGF0YS5IT2Zmc2V0KQ0KKyAgICAgICAg ICAgIFRyZWVJbmZvW2tleV1bIkZpbGVzTnVtIl0gPSBsZW4oc2VsZi5DaGlsZCkNCisgICAgICAg IGVsaWYgc2VsZi50eXBlID09IFNFQ1RJT05fVFJFRSBhbmQgc2VsZi5EYXRhLlR5cGUgPT0gMHgw MjoNCisgICAgICAgICAgICBrZXkgPSBzdHIoc2VsZi5EYXRhLk5hbWUpDQorICAgICAgICAgICAg VHJlZUluZm9ba2V5XSA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KCkNCisgICAgICAgICAgICBU cmVlSW5mb1trZXldWyJOYW1lIl0gPSBrZXkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJU eXBlIl0gPSBzZWxmLnR5cGUNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJTaXplIl0gPSBo ZXgobGVuKHNlbGYuRGF0YS5PcmlEYXRhKSArIHNlbGYuRGF0YS5IZWFkZXJMZW5ndGgpDQorICAg ICAgICAgICAgVHJlZUluZm9ba2V5XVsiRGVjb21wcmVzc2VkU2l6ZSJdID0gaGV4KHNlbGYuRGF0 YS5TaXplKQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIk9mZnNldCJdID0gaGV4KHNlbGYu RGF0YS5IT2Zmc2V0KQ0KKyAgICAgICAgICAgIFRyZWVJbmZvW2tleV1bIkZpbGVzTnVtIl0gPSBs ZW4oc2VsZi5DaGlsZCkNCisgICAgICAgIGVsaWYgc2VsZiBpcyBub3QgTm9uZToNCisgICAgICAg ICAgICBrZXkgPSBzdHIoc2VsZi5EYXRhLk5hbWUpDQorICAgICAgICAgICAgVHJlZUluZm9ba2V5 XSA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KCkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXld WyJOYW1lIl0gPSBrZXkNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJUeXBlIl0gPSBzZWxm LnR5cGUNCisgICAgICAgICAgICBUcmVlSW5mb1trZXldWyJTaXplIl0gPSBoZXgoc2VsZi5EYXRh LlNpemUpDQorICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiT2Zmc2V0Il0gPSBoZXgoc2VsZi5E YXRhLkhPZmZzZXQpDQorICAgICAgICAgICAgVHJlZUluZm9ba2V5XVsiRmlsZXNOdW0iXSA9IGxl bihzZWxmLkNoaWxkKQ0KKw0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5DaGlsZDoNCisgICAg ICAgICAgICBUcmVlSW5mb1trZXldLnNldGRlZmF1bHQoJ0ZpbGVzJyxbXSkuYXBwZW5kKCBpdGVt LkV4cG9ydFRyZWUoKSkNCisNCisgICAgICAgIHJldHVybiBUcmVlSW5mbw0KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1N VC9jb3JlL0Jpb3NUcmVlTm9kZS5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29y ZS9CaW9zVHJlZU5vZGUucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MDAuLmQwZjc2YTFlZTcyOQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9Q eXRob24vRk1NVC9jb3JlL0Jpb3NUcmVlTm9kZS5weQ0KQEAgLTAsMCArMSwxOTQgQEANCisjIyBA ZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBCSU9TIFRyZWUgTm9kZS4N CisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KKyMjDQorZnJvbSBGaXJtd2FyZVN0b3JhZ2VGb3JtYXQuRnZIZWFkZXIgaW1wb3J0 ICoNCitmcm9tIEZpcm13YXJlU3RvcmFnZUZvcm1hdC5GZnNGaWxlSGVhZGVyIGltcG9ydCAqDQor ZnJvbSBGaXJtd2FyZVN0b3JhZ2VGb3JtYXQuU2VjdGlvbkhlYWRlciBpbXBvcnQgKg0KK2Zyb20g RmlybXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KK2Zyb20gdXRpbHMuRm1tdExv Z2dlciBpbXBvcnQgRm1tdExvZ2dlciBhcyBsb2dnZXINCitpbXBvcnQgdXVpZA0KKw0KK1NlY3Rp b25IZWFkZXJUeXBlID0gew0KKyAgICAweDAxOidFRklfQ09NUFJFU1NJT05fU0VDVElPTicsDQor ICAgIDB4MDI6J0VGSV9HVUlEX0RFRklORURfU0VDVElPTicsDQorICAgIDB4MDM6J0VGSV9TRUNU SU9OX0RJU1BPU0FCTEUnLA0KKyAgICAweDEwOidFRklfU0VDVElPTl9QRTMyJywNCisgICAgMHgx MTonRUZJX1NFQ1RJT05fUElDJywNCisgICAgMHgxMjonRUZJX1NFQ1RJT05fVEUnLA0KKyAgICAw eDEzOidFRklfU0VDVElPTl9EWEVfREVQRVgnLA0KKyAgICAweDE0OidFRklfU0VDVElPTl9WRVJT SU9OJywNCisgICAgMHgxNTonRUZJX1NFQ1RJT05fVVNFUl9JTlRFUkZBQ0UnLA0KKyAgICAweDE2 OidFRklfU0VDVElPTl9DT01QQVRJQklMSVRZMTYnLA0KKyAgICAweDE3OidFRklfU0VDVElPTl9G SVJNV0FSRV9WT0xVTUVfSU1BR0UnLA0KKyAgICAweDE4OidFRklfRlJFRUZPUk1fU1VCVFlQRV9H VUlEX1NFQ1RJT04nLA0KKyAgICAweDE5OidFRklfU0VDVElPTl9SQVcnLA0KKyAgICAweDFCOidF RklfU0VDVElPTl9QRUlfREVQRVgnLA0KKyAgICAweDFDOidFRklfU0VDVElPTl9NTV9ERVBFWCcN Cit9DQorSGVhZGVyVHlwZSA9IFsweDAxLCAweDAyLCAweDE0LCAweDE1LCAweDE4XQ0KKw0KK2Ns YXNzIEJpbmFyeU5vZGU6DQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lOiBzdHIpIC0+IE5v bmU6DQorICAgICAgICBzZWxmLlNpemUgPSAwDQorICAgICAgICBzZWxmLk5hbWUgPSAiQklOQVJZ IiArIHN0cihuYW1lKQ0KKyAgICAgICAgc2VsZi5IT2Zmc2V0ID0gMA0KKyAgICAgICAgc2VsZi5E YXRhID0gYicnDQorDQorY2xhc3MgRnZOb2RlOg0KKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFt ZSwgYnVmZmVyOiBieXRlcykgLT4gTm9uZToNCisgICAgICAgIHNlbGYuSGVhZGVyID0gRUZJX0ZJ Uk1XQVJFX1ZPTFVNRV9IRUFERVIuZnJvbV9idWZmZXJfY29weShidWZmZXIpDQorICAgICAgICBN YXBfbnVtID0gKHNlbGYuSGVhZGVyLkhlYWRlckxlbmd0aCAtIDU2KS8vOA0KKyAgICAgICAgc2Vs Zi5IZWFkZXIgPSBSZWZpbmVfRlZfSGVhZGVyKE1hcF9udW0pLmZyb21fYnVmZmVyX2NvcHkoYnVm ZmVyKQ0KKyAgICAgICAgc2VsZi5GdklkID0gIkZWIiArIHN0cihuYW1lKQ0KKyAgICAgICAgc2Vs Zi5OYW1lID0gIkZWIiArIHN0cihuYW1lKQ0KKyAgICAgICAgaWYgc2VsZi5IZWFkZXIuRXh0SGVh ZGVyT2Zmc2V0Og0KKyAgICAgICAgICAgIHNlbGYuRXh0SGVhZGVyID0gRUZJX0ZJUk1XQVJFX1ZP TFVNRV9FWFRfSEVBREVSLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyW3NlbGYuSGVhZGVyLkV4dEhl YWRlck9mZnNldDpdKQ0KKyAgICAgICAgICAgIHNlbGYuTmFtZSA9ICB1dWlkLlVVSUQoYnl0ZXNf bGU9c3RydWN0MnN0cmVhbShzZWxmLkV4dEhlYWRlci5Gdk5hbWUpKQ0KKyAgICAgICAgICAgIHNl bGYuRXh0RW50cnlPZmZzZXQgPSBzZWxmLkhlYWRlci5FeHRIZWFkZXJPZmZzZXQgKyAyMA0KKyAg ICAgICAgICAgIGlmIHNlbGYuRXh0SGVhZGVyLkV4dEhlYWRlclNpemUgIT0gMjA6DQorICAgICAg ICAgICAgICAgIHNlbGYuRXh0RW50cnlFeGlzdCA9IDENCisgICAgICAgICAgICAgICAgc2VsZi5F eHRFbnRyeSA9IEVGSV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZLmZyb21fYnVmZmVyX2NvcHko YnVmZmVyW3NlbGYuRXh0RW50cnlPZmZzZXQ6XSkNCisgICAgICAgICAgICAgICAgc2VsZi5FeHRU eXBlRXhpc3QgPSAxDQorICAgICAgICAgICAgICAgIGlmIHNlbGYuRXh0RW50cnkuRXh0RW50cnlU eXBlID09IDB4MDE6DQorICAgICAgICAgICAgICAgICAgICBudW1zID0gKHNlbGYuRXh0RW50cnku RXh0RW50cnlTaXplIC0gOCkgLy8gMTYNCisgICAgICAgICAgICAgICAgICAgIHNlbGYuRXh0RW50 cnkgPSBSZWZpbmVfRlZfRVhUX0VOVFJZX09FTV9UWVBFX0hlYWRlcihudW1zKS5mcm9tX2J1ZmZl cl9jb3B5KGJ1ZmZlcltzZWxmLkV4dEVudHJ5T2Zmc2V0Ol0pDQorICAgICAgICAgICAgICAgIGVs aWYgc2VsZi5FeHRFbnRyeS5FeHRFbnRyeVR5cGUgPT0gMHgwMjoNCisgICAgICAgICAgICAgICAg ICAgIG51bXMgPSBzZWxmLkV4dEVudHJ5LkV4dEVudHJ5U2l6ZSAtIDIwDQorICAgICAgICAgICAg ICAgICAgICBzZWxmLkV4dEVudHJ5ID0gUmVmaW5lX0ZWX0VYVF9FTlRSWV9HVUlEX1RZUEVfSGVh ZGVyKG51bXMpLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyW3NlbGYuRXh0RW50cnlPZmZzZXQ6XSkN CisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLkV4dEVudHJ5LkV4dEVudHJ5VHlwZSA9PSAweDAz Og0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5FeHRFbnRyeSA9IEVGSV9GSVJNV0FSRV9WT0xV TUVfRVhUX0VOVFJZX1VTRURfU0laRV9UWVBFLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyW3NlbGYu RXh0RW50cnlPZmZzZXQ6XSkNCisgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAg ICAgICAgIHNlbGYuRXh0VHlwZUV4aXN0ID0gMA0KKyAgICAgICAgICAgIGVsc2U6DQorICAgICAg ICAgICAgICAgIHNlbGYuRXh0RW50cnlFeGlzdCA9IDANCisgICAgICAgIHNlbGYuU2l6ZSA9IHNl bGYuSGVhZGVyLkZ2TGVuZ3RoDQorICAgICAgICBzZWxmLkhlYWRlckxlbmd0aCA9IHNlbGYuSGVh ZGVyLkhlYWRlckxlbmd0aA0KKyAgICAgICAgc2VsZi5IT2Zmc2V0ID0gMA0KKyAgICAgICAgc2Vs Zi5ET2Zmc2V0ID0gMA0KKyAgICAgICAgc2VsZi5ST2Zmc2V0ID0gMA0KKyAgICAgICAgc2VsZi5E YXRhID0gYicnDQorICAgICAgICBpZiBzZWxmLkhlYWRlci5TaWduYXR1cmUgIT0gMTIxMzYxMzY2 MzoNCisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoJ0ludmFsaWQgRnYgSGVhZGVyISBGdiB7fSBz aWduYXR1cmUge30gaXMgbm90ICJfRlZIIi4nLmZvcm1hdChzdHJ1Y3Qyc3RyZWFtKHNlbGYuSGVh ZGVyKSwgc2VsZi5IZWFkZXIuU2lnbmF0dXJlKSkNCisgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIlByb2Nlc3MgRmFpbGVkOiBGdiBIZWFkZXIgU2lnbmF0dXJlISIpDQorICAgICAgICBzZWxm LlBhZERhdGEgPSBiJycNCisgICAgICAgIHNlbGYuRnJlZV9TcGFjZSA9IDANCisgICAgICAgIHNl bGYuTW9kQ2hlY2tTdW0oKQ0KKw0KKyAgICBkZWYgTW9kQ2hlY2tTdW0oc2VsZikgLT4gTm9uZToN CisgICAgICAgICMgRnYgSGVhZGVyIFN1bXMgdG8gMC4NCisgICAgICAgIEhlYWRlciA9IHN0cnVj dDJzdHJlYW0oc2VsZi5IZWFkZXIpWzo6LTFdDQorICAgICAgICBTaXplID0gc2VsZi5IZWFkZXJM ZW5ndGggLy8gMg0KKyAgICAgICAgU3VtID0gMA0KKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoU2l6 ZSk6DQorICAgICAgICAgICAgU3VtICs9IGludChIZWFkZXJbaSoyOiBpKjIgKyAyXS5oZXgoKSwg MTYpDQorICAgICAgICBpZiBTdW0gJiAweGZmZmY6DQorICAgICAgICAgICAgc2VsZi5IZWFkZXIu Q2hlY2tzdW0gPSAweDEwMDAwIC0gKFN1bSAtIHNlbGYuSGVhZGVyLkNoZWNrc3VtKSAlIDB4MTAw MDANCisNCisgICAgZGVmIE1vZEZ2RXh0KHNlbGYpIC0+IE5vbmU6DQorICAgICAgICAjIElmIHVz ZWQgc3BhY2UgY2hhbmdlcyBhbmQgc2VsZi5FeHRFbnRyeS5Vc2VkU2l6ZSBleGlzdHMsIHNlbGYu RXh0RW50cnkuVXNlZFNpemUgbmVlZCB0byBiZSBjaGFuZ2VkLg0KKyAgICAgICAgaWYgc2VsZi5I ZWFkZXIuRXh0SGVhZGVyT2Zmc2V0IGFuZCBzZWxmLkV4dEVudHJ5RXhpc3QgYW5kIHNlbGYuRXh0 VHlwZUV4aXN0IGFuZCBzZWxmLkV4dEVudHJ5Lkhkci5FeHRFbnRyeVR5cGUgPT0gMHgwMzoNCisg ICAgICAgICAgICBzZWxmLkV4dEVudHJ5LlVzZWRTaXplID0gc2VsZi5IZWFkZXIuRnZMZW5ndGgg LSBzZWxmLkZyZWVfU3BhY2UNCisNCisgICAgZGVmIE1vZEZ2U2l6ZShzZWxmKSAtPiBOb25lOg0K KyAgICAgICAgIyBJZiBGdiBTaXplIGNoYW5nZWQsIHNlbGYuSGVhZGVyLkZ2TGVuZ3RoIGFuZCBz ZWxmLkhlYWRlci5CbG9ja01hcFtpXS5OdW1CbG9ja3MgbmVlZCB0byBiZSBjaGFuZ2VkLg0KKyAg ICAgICAgQmxvY2tNYXBOdW0gPSBsZW4oc2VsZi5IZWFkZXIuQmxvY2tNYXApDQorICAgICAgICBm b3IgaSBpbiByYW5nZShCbG9ja01hcE51bSk6DQorICAgICAgICAgICAgaWYgc2VsZi5IZWFkZXIu QmxvY2tNYXBbaV0uTGVuZ3RoOg0KKyAgICAgICAgICAgICAgICBzZWxmLkhlYWRlci5CbG9ja01h cFtpXS5OdW1CbG9ja3MgPSBzZWxmLkhlYWRlci5Gdkxlbmd0aCAvLyBzZWxmLkhlYWRlci5CbG9j a01hcFtpXS5MZW5ndGgNCisNCisgICAgZGVmIE1vZEV4dEhlYWRlckRhdGEoc2VsZikgLT4gTm9u ZToNCisgICAgICAgIGlmIHNlbGYuSGVhZGVyLkV4dEhlYWRlck9mZnNldDoNCisgICAgICAgICAg ICBFeHRIZWFkZXJEYXRhID0gc3RydWN0MnN0cmVhbShzZWxmLkV4dEhlYWRlcikNCisgICAgICAg ICAgICBFeHRIZWFkZXJEYXRhT2Zmc2V0ID0gc2VsZi5IZWFkZXIuRXh0SGVhZGVyT2Zmc2V0IC0g c2VsZi5IZWFkZXJMZW5ndGgNCisgICAgICAgICAgICBzZWxmLkRhdGEgPSBzZWxmLkRhdGFbOkV4 dEhlYWRlckRhdGFPZmZzZXRdICsgRXh0SGVhZGVyRGF0YSArIHNlbGYuRGF0YVtFeHRIZWFkZXJE YXRhT2Zmc2V0KzIwOl0NCisgICAgICAgIGlmIHNlbGYuSGVhZGVyLkV4dEhlYWRlck9mZnNldCBh bmQgc2VsZi5FeHRFbnRyeUV4aXN0Og0KKyAgICAgICAgICAgIEV4dEhlYWRlckVudHJ5RGF0YSA9 IHN0cnVjdDJzdHJlYW0oc2VsZi5FeHRFbnRyeSkNCisgICAgICAgICAgICBFeHRIZWFkZXJFbnRy eURhdGFPZmZzZXQgPSBzZWxmLkhlYWRlci5FeHRIZWFkZXJPZmZzZXQgKyAyMCAtIHNlbGYuSGVh ZGVyTGVuZ3RoDQorICAgICAgICAgICAgc2VsZi5EYXRhID0gc2VsZi5EYXRhWzpFeHRIZWFkZXJF bnRyeURhdGFPZmZzZXRdICsgRXh0SGVhZGVyRW50cnlEYXRhICsgc2VsZi5EYXRhW0V4dEhlYWRl ckVudHJ5RGF0YU9mZnNldCtsZW4oRXh0SGVhZGVyRW50cnlEYXRhKTpdDQorDQorY2xhc3MgRmZz Tm9kZToNCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJ1ZmZlcjogYnl0ZXMpIC0+IE5vbmU6DQor ICAgICAgICBzZWxmLkhlYWRlciA9IEVGSV9GRlNfRklMRV9IRUFERVIuZnJvbV9idWZmZXJfY29w eShidWZmZXIpDQorICAgICAgICAjIHNlbGYuQXR0cmlidXRlcyA9IHVucGFjaygiPEIiLCBidWZm ZXJbMjE6MjJdKVswXQ0KKyAgICAgICAgaWYgc2VsZi5IZWFkZXIuRkZTX0ZJTEVfU0laRSAhPSAw IGFuZCBzZWxmLkhlYWRlci5BdHRyaWJ1dGVzICE9IDB4ZmYgYW5kIHNlbGYuSGVhZGVyLkF0dHJp YnV0ZXMgJiAweDAxID09IDE6DQorICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdFcnJvciBGZnMg SGVhZGVyISBGZnMge30gSGVhZGVyIFNpemUgYW5kIEF0dHJpYnV0ZXMgaXMgbm90IG1hdGNoZWQh Jy5mb3JtYXQodXVpZC5VVUlEKGJ5dGVzX2xlPXN0cnVjdDJzdHJlYW0oc2VsZi5IZWFkZXIuTmFt ZSkpKSkNCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlByb2Nlc3MgRmFpbGVkOiBFcnJv ciBGZnMgSGVhZGVyISIpDQorICAgICAgICBpZiBzZWxmLkhlYWRlci5GRlNfRklMRV9TSVpFID09 IDAgYW5kIHNlbGYuSGVhZGVyLkF0dHJpYnV0ZXMgJiAweDAxID09IDE6DQorICAgICAgICAgICAg c2VsZi5IZWFkZXIgPSBFRklfRkZTX0ZJTEVfSEVBREVSMi5mcm9tX2J1ZmZlcl9jb3B5KGJ1ZmZl cikNCisgICAgICAgIHNlbGYuTmFtZSA9IHV1aWQuVVVJRChieXRlc19sZT1zdHJ1Y3Qyc3RyZWFt KHNlbGYuSGVhZGVyLk5hbWUpKQ0KKyAgICAgICAgc2VsZi5VaU5hbWUgPSBiJycNCisgICAgICAg IHNlbGYuVmVyc2lvbiA9IGInJw0KKyAgICAgICAgc2VsZi5TaXplID0gc2VsZi5IZWFkZXIuRkZT X0ZJTEVfU0laRQ0KKyAgICAgICAgc2VsZi5IZWFkZXJMZW5ndGggPSBzZWxmLkhlYWRlci5IZWFk ZXJMZW5ndGgNCisgICAgICAgIHNlbGYuSE9mZnNldCA9IDANCisgICAgICAgIHNlbGYuRE9mZnNl dCA9IDANCisgICAgICAgIHNlbGYuUk9mZnNldCA9IDANCisgICAgICAgIHNlbGYuRGF0YSA9IGIn Jw0KKyAgICAgICAgc2VsZi5QYWREYXRhID0gYicnDQorICAgICAgICBzZWxmLlNlY3Rpb25NYXhB bGlnbm1lbnQgPSBTRUNUSU9OX0NPTU1PTl9BTElHTk1FTlQgICMgNC1hbGlnbg0KKw0KKyAgICBk ZWYgTW9kQ2hlY2tTdW0oc2VsZikgLT4gTm9uZToNCisgICAgICAgIEhlYWRlckRhdGEgPSBzdHJ1 Y3Qyc3RyZWFtKHNlbGYuSGVhZGVyKQ0KKyAgICAgICAgSGVhZGVyU3VtID0gMA0KKyAgICAgICAg Zm9yIGl0ZW0gaW4gSGVhZGVyRGF0YToNCisgICAgICAgICAgICBIZWFkZXJTdW0gKz0gaXRlbQ0K KyAgICAgICAgSGVhZGVyU3VtIC09IHNlbGYuSGVhZGVyLlN0YXRlDQorICAgICAgICBIZWFkZXJT dW0gLT0gc2VsZi5IZWFkZXIuSW50ZWdyaXR5Q2hlY2suQ2hlY2tzdW0uRmlsZQ0KKyAgICAgICAg aWYgSGVhZGVyU3VtICYgMHhmZjoNCisgICAgICAgICAgICBIZWFkZXIgPSBzZWxmLkhlYWRlci5J bnRlZ3JpdHlDaGVjay5DaGVja3N1bS5IZWFkZXIgKyAweDEwMCAtIEhlYWRlclN1bSAlIDB4MTAw DQorICAgICAgICAgICAgc2VsZi5IZWFkZXIuSW50ZWdyaXR5Q2hlY2suQ2hlY2tzdW0uSGVhZGVy ID0gSGVhZGVyICUgMHgxMDANCisNCitjbGFzcyBTZWN0aW9uTm9kZToNCisgICAgZGVmIF9faW5p dF9fKHNlbGYsIGJ1ZmZlcjogYnl0ZXMpIC0+IE5vbmU6DQorICAgICAgICBpZiBidWZmZXJbMDoz XSAhPSBiJ1x4ZmZceGZmXHhmZic6DQorICAgICAgICAgICAgc2VsZi5IZWFkZXIgPSBFRklfQ09N TU9OX1NFQ1RJT05fSEVBREVSLmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyKQ0KKyAgICAgICAgZWxz ZToNCisgICAgICAgICAgICBzZWxmLkhlYWRlciA9IEVGSV9DT01NT05fU0VDVElPTl9IRUFERVIy LmZyb21fYnVmZmVyX2NvcHkoYnVmZmVyKQ0KKyAgICAgICAgaWYgc2VsZi5IZWFkZXIuVHlwZSBp biBTZWN0aW9uSGVhZGVyVHlwZToNCisgICAgICAgICAgICBzZWxmLk5hbWUgPSBTZWN0aW9uSGVh ZGVyVHlwZVtzZWxmLkhlYWRlci5UeXBlXQ0KKyAgICAgICAgZWxpZiBzZWxmLkhlYWRlci5UeXBl ID09IDA6DQorICAgICAgICAgICAgc2VsZi5OYW1lID0gIkVGSV9TRUNUSU9OX0FMTCINCisgICAg ICAgIGVsc2U6DQorICAgICAgICAgICAgc2VsZi5OYW1lID0gIlNFQ1RJT04iDQorICAgICAgICBp ZiBzZWxmLkhlYWRlci5UeXBlIGluIEhlYWRlclR5cGU6DQorICAgICAgICAgICAgc2VsZi5FeHRI ZWFkZXIgPSBzZWxmLkdldEV4dEhlYWRlcihzZWxmLkhlYWRlci5UeXBlLCBidWZmZXJbc2VsZi5I ZWFkZXIuQ29tbW9uX0hlYWRlcl9TaXplKCk6XSwgKHNlbGYuSGVhZGVyLlNFQ1RJT05fU0laRS1z ZWxmLkhlYWRlci5Db21tb25fSGVhZGVyX1NpemUoKSkpDQorICAgICAgICAgICAgc2VsZi5IZWFk ZXJMZW5ndGggPSBzZWxmLkhlYWRlci5Db21tb25fSGVhZGVyX1NpemUoKSArIHNlbGYuRXh0SGVh ZGVyLkV4dEhlYWRlclNpemUoKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBzZWxmLkV4 dEhlYWRlciA9IE5vbmUNCisgICAgICAgICAgICBzZWxmLkhlYWRlckxlbmd0aCA9IHNlbGYuSGVh ZGVyLkNvbW1vbl9IZWFkZXJfU2l6ZSgpDQorICAgICAgICBzZWxmLlNpemUgPSBzZWxmLkhlYWRl ci5TRUNUSU9OX1NJWkUNCisgICAgICAgIHNlbGYuVHlwZSA9IHNlbGYuSGVhZGVyLlR5cGUNCisg ICAgICAgIHNlbGYuSE9mZnNldCA9IDANCisgICAgICAgIHNlbGYuRE9mZnNldCA9IDANCisgICAg ICAgIHNlbGYuUk9mZnNldCA9IDANCisgICAgICAgIHNlbGYuRGF0YSA9IGInJw0KKyAgICAgICAg c2VsZi5PcmlEYXRhID0gYicnDQorICAgICAgICBzZWxmLk9yaUhlYWRlciA9IGInJw0KKyAgICAg ICAgc2VsZi5QYWREYXRhID0gYicnDQorICAgICAgICBzZWxmLklzUGFkU2VjdGlvbiA9IEZhbHNl DQorICAgICAgICBzZWxmLlNlY3Rpb25NYXhBbGlnbm1lbnQgPSBTRUNUSU9OX0NPTU1PTl9BTElH Tk1FTlQgICMgNC1hbGlnbg0KKw0KKyAgICBkZWYgR2V0RXh0SGVhZGVyKHNlbGYsIFR5cGU6IGlu dCwgYnVmZmVyOiBieXRlcywgbnVtczogaW50PTApIC0+IE5vbmU6DQorICAgICAgICBpZiBUeXBl ID09IDB4MDE6DQorICAgICAgICAgICAgcmV0dXJuIEVGSV9DT01QUkVTU0lPTl9TRUNUSU9OLmZy b21fYnVmZmVyX2NvcHkoYnVmZmVyKQ0KKyAgICAgICAgZWxpZiBUeXBlID09IDB4MDI6DQorICAg ICAgICAgICAgcmV0dXJuIEVGSV9HVUlEX0RFRklORURfU0VDVElPTi5mcm9tX2J1ZmZlcl9jb3B5 KGJ1ZmZlcikNCisgICAgICAgIGVsaWYgVHlwZSA9PSAweDE0Og0KKyAgICAgICAgICAgIHJldHVy biBHZXRfVkVSU0lPTl9IZWFkZXIoKG51bXMgLSAyKS8vMikuZnJvbV9idWZmZXJfY29weShidWZm ZXIpDQorICAgICAgICBlbGlmIFR5cGUgPT0gMHgxNToNCisgICAgICAgICAgICByZXR1cm4gR2V0 X1VTRVJfSU5URVJGQUNFX0hlYWRlcihudW1zLy8yKS5mcm9tX2J1ZmZlcl9jb3B5KGJ1ZmZlcikN CisgICAgICAgIGVsaWYgVHlwZSA9PSAweDE4Og0KKyAgICAgICAgICAgIHJldHVybiBFRklfRlJF RUZPUk1fU1VCVFlQRV9HVUlEX1NFQ1RJT04uZnJvbV9idWZmZXJfY29weShidWZmZXIpDQorDQor Y2xhc3MgRnJlZVNwYWNlTm9kZToNCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJ1ZmZlcjogYnl0 ZXMpIC0+IE5vbmU6DQorICAgICAgICBzZWxmLk5hbWUgPSAnRnJlZV9TcGFjZScNCisgICAgICAg IHNlbGYuRGF0YSA9IGJ1ZmZlcg0KKyAgICAgICAgc2VsZi5TaXplID0gbGVuKGJ1ZmZlcikNCisg ICAgICAgIHNlbGYuSE9mZnNldCA9IDANCisgICAgICAgIHNlbGYuRE9mZnNldCA9IDANCisgICAg ICAgIHNlbGYuUk9mZnNldCA9IDANCisgICAgICAgIHNlbGYuUGFkRGF0YSA9IGInJw0KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRo b24vRk1NVC9jb3JlL0ZNTVRPcGVyYXRpb24ucHkgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9G TU1UL2NvcmUvRk1NVE9wZXJhdGlvbi5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwMDAwMC4uYzJjYzJlMjQ2NzQwDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMv U291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1NVE9wZXJhdGlvbi5weQ0KQEAgLTAsMCArMSwxOTcg QEANCisjIyBAZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBmdW5jdGlv bnMgdG8gb3BlcmF0ZSBiaW9zIGJpbmFyeSBmaWxlLg0KKyMNCisjIENvcHlyaWdodCAoYykgMjAy MS0sIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorIyMNCitmcm9tIGNvcmUu Rk1NVFBhcnNlciBpbXBvcnQgKg0KK2Zyb20gY29yZS5GdkhhbmRsZXIgaW1wb3J0ICoNCitmcm9t IHV0aWxzLkZ2TGF5b3V0UHJpbnQgaW1wb3J0ICoNCitmcm9tIHV0aWxzLkZtbXRMb2dnZXIgaW1w b3J0IEZtbXRMb2dnZXIgYXMgbG9nZ2VyDQorDQorZ2xvYmFsIEZ2X2NvdW50DQorRnZfY291bnQg PSAwDQorDQorIyBUaGUgUk9PVF9UWVBFIGNhbiBiZSAnUk9PVF9UUkVFJywgJ1JPT1RfRlZfVFJF RScsICdST09UX0ZGU19UUkVFJywgJ1JPT1RfU0VDVElPTl9UUkVFJw0KK2RlZiBWaWV3RmlsZShp bnB1dGZpbGU6IHN0ciwgUk9PVF9UWVBFOiBzdHIsIGxheW91dGZpbGU6IHN0cj1Ob25lLCBvdXRw dXRmaWxlOiBzdHI9Tm9uZSkgLT4gTm9uZToNCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGlu cHV0ZmlsZSk6DQorICAgICAgICBsb2dnZXIuZXJyb3IoIkludmFsaWQgaW5wdXRmaWxlLCBjYW4g bm90IG9wZW4ge30uIi5mb3JtYXQoaW5wdXRmaWxlKSkNCisgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiUHJvY2VzcyBGYWlsZWQ6IEludmFsaWQgaW5wdXRmaWxlISIpDQorICAgICMgMS4gRGF0YSBQ cmVwYXJlDQorICAgIHdpdGggb3BlbihpbnB1dGZpbGUsICJyYiIpIGFzIGY6DQorICAgICAgICB3 aG9sZV9kYXRhID0gZi5yZWFkKCkNCisgICAgRm1tdFBhcnNlciA9IEZNTVRQYXJzZXIoaW5wdXRm aWxlLCBST09UX1RZUEUpDQorICAgICMgMi4gRGF0YVRyZWUgQ3JlYXRlDQorICAgIGxvZ2dlci5k ZWJ1ZygnUGFyc2luZyBpbnB1dGZpbGUgZGF0YS4uLi4uLicpDQorICAgIEZtbXRQYXJzZXIuUGFy c2VyRnJvbVJvb3QoRm1tdFBhcnNlci5XaG9sZUZ2VHJlZSwgd2hvbGVfZGF0YSkNCisgICAgbG9n Z2VyLmRlYnVnKCdEb25lIScpDQorICAgICMgMy4gTG9nIE91dHB1dA0KKyAgICBJbmZvRGljdCA9 IEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuRXhwb3J0VHJlZSgpDQorICAgIGxvZ2dlci5kZWJ1Zygn QmluYXJ5VHJlZSBjcmVhdGVkLCBzdGFydCBwYXJzaW5nIEJpbmFyeVRyZWUgZGF0YS4uLi4uLicp DQorICAgIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUucGFyc2VyVHJlZShJbmZvRGljdCwgRm1tdFBh cnNlci5CaW5hcnlJbmZvKQ0KKyAgICBsb2dnZXIuZGVidWcoJ0RvbmUhJykNCisgICAgR2V0Rm9y bWF0dGVyKCIiKS5Mb2dQcmludChGbW10UGFyc2VyLkJpbmFyeUluZm8pDQorICAgIGlmIGxheW91 dGZpbGU6DQorICAgICAgICBpZiBvcy5wYXRoLnNwbGl0ZXh0KGxheW91dGZpbGUpWzFdOg0KKyAg ICAgICAgICAgIGxheW91dGZpbGVuYW1lID0gbGF5b3V0ZmlsZQ0KKyAgICAgICAgICAgIGxheW91 dGZpbGVmb3JtYXQgPSBvcy5wYXRoLnNwbGl0ZXh0KGxheW91dGZpbGUpWzFdWzE6XS5sb3dlcigp DQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIGxheW91dGZpbGVuYW1lID0gIkxheW91dF97 fXt9Ii5mb3JtYXQob3MucGF0aC5iYXNlbmFtZShpbnB1dGZpbGUpLCIue30iLmZvcm1hdChsYXlv dXRmaWxlLmxvd2VyKCkpKQ0KKyAgICAgICAgICAgIGxheW91dGZpbGVmb3JtYXQgPSBsYXlvdXRm aWxlLmxvd2VyKCkNCisgICAgICAgIEdldEZvcm1hdHRlcihsYXlvdXRmaWxlZm9ybWF0KS5kdW1w KEluZm9EaWN0LCBGbW10UGFyc2VyLkJpbmFyeUluZm8sIGxheW91dGZpbGVuYW1lKQ0KKyAgICAj IDQuIERhdGEgRW5jYXBzdWxhdGlvbg0KKyAgICBpZiBvdXRwdXRmaWxlOg0KKyAgICAgICAgbG9n Z2VyLmRlYnVnKCdTdGFydCBlbmNhcHN1bGF0aW5nIGRhdGEuLi4uLi4nKQ0KKyAgICAgICAgRm1t dFBhcnNlci5FbmNhcHN1bGF0aW9uKEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUsIEZhbHNlKQ0KKyAg ICAgICAgd2l0aCBvcGVuKG91dHB1dGZpbGUsICJ3YiIpIGFzIGY6DQorICAgICAgICAgICAgZi53 cml0ZShGbW10UGFyc2VyLkZpbmFsRGF0YSkNCisgICAgICAgIGxvZ2dlci5kZWJ1ZygnRW5jYXBz dWxhdGVkIGRhdGEgaXMgc2F2ZWQgaW4ge30uJy5mb3JtYXQob3V0cHV0ZmlsZSkpDQorDQorZGVm IERlbGV0ZUZmcyhpbnB1dGZpbGU6IHN0ciwgVGFyZ2V0RmZzX25hbWU6IHN0ciwgb3V0cHV0Zmls ZTogc3RyLCBGdl9uYW1lOiBzdHI9Tm9uZSkgLT4gTm9uZToNCisgICAgaWYgbm90IG9zLnBhdGgu ZXhpc3RzKGlucHV0ZmlsZSk6DQorICAgICAgICBsb2dnZXIuZXJyb3IoIkludmFsaWQgaW5wdXRm aWxlLCBjYW4gbm90IG9wZW4ge30uIi5mb3JtYXQoaW5wdXRmaWxlKSkNCisgICAgICAgIHJhaXNl IEV4Y2VwdGlvbigiUHJvY2VzcyBGYWlsZWQ6IEludmFsaWQgaW5wdXRmaWxlISIpDQorICAgICMg MS4gRGF0YSBQcmVwYXJlDQorICAgIHdpdGggb3BlbihpbnB1dGZpbGUsICJyYiIpIGFzIGY6DQor ICAgICAgICB3aG9sZV9kYXRhID0gZi5yZWFkKCkNCisgICAgRm1tdFBhcnNlciA9IEZNTVRQYXJz ZXIoaW5wdXRmaWxlLCBST09UX1RSRUUpDQorICAgICMgMi4gRGF0YVRyZWUgQ3JlYXRlDQorICAg IGxvZ2dlci5kZWJ1ZygnUGFyc2luZyBpbnB1dGZpbGUgZGF0YS4uLi4uLicpDQorICAgIEZtbXRQ YXJzZXIuUGFyc2VyRnJvbVJvb3QoRm1tdFBhcnNlci5XaG9sZUZ2VHJlZSwgd2hvbGVfZGF0YSkN CisgICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQorICAgICMgMy4gRGF0YSBNb2RpZnkNCisgICAg Rm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kTm9kZShUYXJnZXRGZnNfbmFtZSwgRm1tdFBhcnNl ci5XaG9sZUZ2VHJlZS5GaW5kbGlzdCkNCisgICAgIyBDaG9vc2UgdGhlIFNwZWNmaWMgRGVsZXRl RmZzIHdpdGggRnYgaW5mbw0KKyAgICBpZiBGdl9uYW1lOg0KKyAgICAgICAgZm9yIGl0ZW0gaW4g Rm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdDoNCisgICAgICAgICAgICBpZiBpdGVtLlBh cmVudC5rZXkgIT0gRnZfbmFtZSBhbmQgaXRlbS5QYXJlbnQuRGF0YS5OYW1lICE9IEZ2X25hbWU6 DQorICAgICAgICAgICAgICAgIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuRmluZGxpc3QucmVtb3Zl KGl0ZW0pDQorICAgIFN0YXR1cyA9IEZhbHNlDQorICAgIGlmIEZtbXRQYXJzZXIuV2hvbGVGdlRy ZWUuRmluZGxpc3QgIT0gW106DQorICAgICAgICBmb3IgRGVsZXRlX0ZmcyBpbiBGbW10UGFyc2Vy Lldob2xlRnZUcmVlLkZpbmRsaXN0Og0KKyAgICAgICAgICAgIEZmc01vZCA9IEZ2SGFuZGxlcihO b25lLCBEZWxldGVfRmZzKQ0KKyAgICAgICAgICAgIFN0YXR1cyA9IEZmc01vZC5EZWxldGVGZnMo KQ0KKyAgICBlbHNlOg0KKyAgICAgICAgbG9nZ2VyLmVycm9yKCdUYXJnZXQgRmZzIG5vdCBmb3Vu ZCEhIScpDQorICAgICMgNC4gRGF0YSBFbmNhcHN1bGF0aW9uDQorICAgIGlmIFN0YXR1czoNCisg ICAgICAgIGxvZ2dlci5kZWJ1ZygnU3RhcnQgZW5jYXBzdWxhdGluZyBkYXRhLi4uLi4uJykNCisg ICAgICAgIEZtbXRQYXJzZXIuRW5jYXBzdWxhdGlvbihGbW10UGFyc2VyLldob2xlRnZUcmVlLCBG YWxzZSkNCisgICAgICAgIHdpdGggb3BlbihvdXRwdXRmaWxlLCAid2IiKSBhcyBmOg0KKyAgICAg ICAgICAgIGYud3JpdGUoRm1tdFBhcnNlci5GaW5hbERhdGEpDQorICAgICAgICBsb2dnZXIuZGVi dWcoJ0VuY2Fwc3VsYXRlZCBkYXRhIGlzIHNhdmVkIGluIHt9LicuZm9ybWF0KG91dHB1dGZpbGUp KQ0KKw0KK2RlZiBBZGROZXdGZnMoaW5wdXRmaWxlOiBzdHIsIEZ2X25hbWU6IHN0ciwgbmV3ZmZz ZmlsZTogc3RyLCBvdXRwdXRmaWxlOiBzdHIpIC0+IE5vbmU6DQorICAgIGlmIG5vdCBvcy5wYXRo LmV4aXN0cyhpbnB1dGZpbGUpOg0KKyAgICAgICAgbG9nZ2VyLmVycm9yKCJJbnZhbGlkIGlucHV0 ZmlsZSwgY2FuIG5vdCBvcGVuIHt9LiIuZm9ybWF0KGlucHV0ZmlsZSkpDQorICAgICAgICByYWlz ZSBFeGNlcHRpb24oIlByb2Nlc3MgRmFpbGVkOiBJbnZhbGlkIGlucHV0ZmlsZSEiKQ0KKyAgICBp ZiBub3Qgb3MucGF0aC5leGlzdHMobmV3ZmZzZmlsZSk6DQorICAgICAgICBsb2dnZXIuZXJyb3Io IkludmFsaWQgZmZzZmlsZSwgY2FuIG5vdCBvcGVuIHt9LiIuZm9ybWF0KG5ld2Zmc2ZpbGUpKQ0K KyAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJQcm9jZXNzIEZhaWxlZDogSW52YWxpZCBmZnMgZmls ZSEiKQ0KKyAgICAjIDEuIERhdGEgUHJlcGFyZQ0KKyAgICB3aXRoIG9wZW4oaW5wdXRmaWxlLCAi cmIiKSBhcyBmOg0KKyAgICAgICAgd2hvbGVfZGF0YSA9IGYucmVhZCgpDQorICAgIEZtbXRQYXJz ZXIgPSBGTU1UUGFyc2VyKGlucHV0ZmlsZSwgUk9PVF9UUkVFKQ0KKyAgICAjIDIuIERhdGFUcmVl IENyZWF0ZQ0KKyAgICBsb2dnZXIuZGVidWcoJ1BhcnNpbmcgaW5wdXRmaWxlIGRhdGEuLi4uLi4n KQ0KKyAgICBGbW10UGFyc2VyLlBhcnNlckZyb21Sb290KEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUs IHdob2xlX2RhdGEpDQorICAgIGxvZ2dlci5kZWJ1ZygnRG9uZSEnKQ0KKyAgICAjIEdldCBUYXJn ZXQgRnYgYW5kIFRhcmdldCBGZnNfUGFkDQorICAgIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuRmlu ZE5vZGUoRnZfbmFtZSwgRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdCkNCisgICAgIyBD cmVhdGUgbmV3IGZmcyBUcmVlDQorICAgIHdpdGggb3BlbihuZXdmZnNmaWxlLCAicmIiKSBhcyBm Og0KKyAgICAgICAgbmV3X2Zmc19kYXRhID0gZi5yZWFkKCkNCisgICAgTmV3Rm1tdFBhcnNlciA9 IEZNTVRQYXJzZXIobmV3ZmZzZmlsZSwgUk9PVF9GRlNfVFJFRSkNCisgICAgU3RhdHVzID0gRmFs c2UNCisgICAgIyAzLiBEYXRhIE1vZGlmeQ0KKyAgICBpZiBGbW10UGFyc2VyLldob2xlRnZUcmVl LkZpbmRsaXN0Og0KKyAgICAgICAgZm9yIFRhcmdldEZ2IGluIEZtbXRQYXJzZXIuV2hvbGVGdlRy ZWUuRmluZGxpc3Q6DQorICAgICAgICAgICAgVGFyZ2V0RmZzUGFkID0gVGFyZ2V0RnYuQ2hpbGRb LTFdDQorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCdQYXJzaW5nIG5ld2Zmc2ZpbGUgZGF0YS4u Li4uLicpDQorICAgICAgICAgICAgaWYgVGFyZ2V0RmZzUGFkLnR5cGUgPT0gRkZTX0ZSRUVfU1BB Q0U6DQorICAgICAgICAgICAgICAgIE5ld0ZtbXRQYXJzZXIuUGFyc2VyRnJvbVJvb3QoTmV3Rm1t dFBhcnNlci5XaG9sZUZ2VHJlZSwgbmV3X2Zmc19kYXRhLCBUYXJnZXRGZnNQYWQuRGF0YS5IT2Zm c2V0KQ0KKyAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgIE5ld0ZtbXRQYXJzZXIu UGFyc2VyRnJvbVJvb3QoTmV3Rm1tdFBhcnNlci5XaG9sZUZ2VHJlZSwgbmV3X2Zmc19kYXRhLCBU YXJnZXRGZnNQYWQuRGF0YS5IT2Zmc2V0K1RhcmdldEZmc1BhZC5EYXRhLlNpemUpDQorICAgICAg ICAgICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQorICAgICAgICAgICAgRmZzTW9kID0gRnZIYW5k bGVyKE5ld0ZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuQ2hpbGRbMF0sIFRhcmdldEZmc1BhZCkNCisg ICAgICAgICAgICBTdGF0dXMgPSBGZnNNb2QuQWRkRmZzKCkNCisgICAgZWxzZToNCisgICAgICAg IGxvZ2dlci5lcnJvcignVGFyZ2V0IEZ2IG5vdCBmb3VuZCEhIScpDQorICAgICMgNC4gRGF0YSBF bmNhcHN1bGF0aW9uDQorICAgIGlmIFN0YXR1czoNCisgICAgICAgIGxvZ2dlci5kZWJ1ZygnU3Rh cnQgZW5jYXBzdWxhdGluZyBkYXRhLi4uLi4uJykNCisgICAgICAgIEZtbXRQYXJzZXIuRW5jYXBz dWxhdGlvbihGbW10UGFyc2VyLldob2xlRnZUcmVlLCBGYWxzZSkNCisgICAgICAgIHdpdGggb3Bl bihvdXRwdXRmaWxlLCAid2IiKSBhcyBmOg0KKyAgICAgICAgICAgIGYud3JpdGUoRm1tdFBhcnNl ci5GaW5hbERhdGEpDQorICAgICAgICBsb2dnZXIuZGVidWcoJ0VuY2Fwc3VsYXRlZCBkYXRhIGlz IHNhdmVkIGluIHt9LicuZm9ybWF0KG91dHB1dGZpbGUpKQ0KKw0KK2RlZiBSZXBsYWNlRmZzKGlu cHV0ZmlsZTogc3RyLCBGZnNfbmFtZTogc3RyLCBuZXdmZnNmaWxlOiBzdHIsIG91dHB1dGZpbGU6 IHN0ciwgRnZfbmFtZTogc3RyPU5vbmUpIC0+IE5vbmU6DQorICAgIGlmIG5vdCBvcy5wYXRoLmV4 aXN0cyhpbnB1dGZpbGUpOg0KKyAgICAgICAgbG9nZ2VyLmVycm9yKCJJbnZhbGlkIGlucHV0Zmls ZSwgY2FuIG5vdCBvcGVuIHt9LiIuZm9ybWF0KGlucHV0ZmlsZSkpDQorICAgICAgICByYWlzZSBF eGNlcHRpb24oIlByb2Nlc3MgRmFpbGVkOiBJbnZhbGlkIGlucHV0ZmlsZSEiKQ0KKyAgICAjIDEu IERhdGEgUHJlcGFyZQ0KKyAgICB3aXRoIG9wZW4oaW5wdXRmaWxlLCAicmIiKSBhcyBmOg0KKyAg ICAgICAgd2hvbGVfZGF0YSA9IGYucmVhZCgpDQorICAgIEZtbXRQYXJzZXIgPSBGTU1UUGFyc2Vy KGlucHV0ZmlsZSwgUk9PVF9UUkVFKQ0KKyAgICAjIDIuIERhdGFUcmVlIENyZWF0ZQ0KKyAgICBs b2dnZXIuZGVidWcoJ1BhcnNpbmcgaW5wdXRmaWxlIGRhdGEuLi4uLi4nKQ0KKyAgICBGbW10UGFy c2VyLlBhcnNlckZyb21Sb290KEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUsIHdob2xlX2RhdGEpDQor ICAgIGxvZ2dlci5kZWJ1ZygnRG9uZSEnKQ0KKyAgICB3aXRoIG9wZW4obmV3ZmZzZmlsZSwgInJi IikgYXMgZjoNCisgICAgICAgIG5ld19mZnNfZGF0YSA9IGYucmVhZCgpDQorICAgIG5ld0ZtbXRQ YXJzZXIgPSBGTU1UUGFyc2VyKG5ld2Zmc2ZpbGUsIEZWX1RSRUUpDQorICAgIGxvZ2dlci5kZWJ1 ZygnUGFyc2luZyBuZXdmZnNmaWxlIGRhdGEuLi4uLi4nKQ0KKyAgICBuZXdGbW10UGFyc2VyLlBh cnNlckZyb21Sb290KG5ld0ZtbXRQYXJzZXIuV2hvbGVGdlRyZWUsIG5ld19mZnNfZGF0YSkNCisg ICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQorICAgIFN0YXR1cyA9IEZhbHNlDQorICAgICMgMy4g RGF0YSBNb2RpZnkNCisgICAgbmV3X2ZmcyA9IG5ld0ZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuQ2hp bGRbMF0NCisgICAgbmV3X2Zmcy5EYXRhLlBhZERhdGEgPSBHZXRQYWRTaXplKG5ld19mZnMuRGF0 YS5TaXplLCBGRlNfQ09NTU9OX0FMSUdOTUVOVCkgKiBiJ1x4ZmYnDQorICAgIEZtbXRQYXJzZXIu V2hvbGVGdlRyZWUuRmluZE5vZGUoRmZzX25hbWUsIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuRmlu ZGxpc3QpDQorICAgIGlmIEZ2X25hbWU6DQorICAgICAgICBmb3IgaXRlbSBpbiBGbW10UGFyc2Vy Lldob2xlRnZUcmVlLkZpbmRsaXN0Og0KKyAgICAgICAgICAgIGlmIGl0ZW0uUGFyZW50LmtleSAh PSBGdl9uYW1lIGFuZCBpdGVtLlBhcmVudC5EYXRhLk5hbWUgIT0gRnZfbmFtZToNCisgICAgICAg ICAgICAgICAgRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdC5yZW1vdmUoaXRlbSkNCisg ICAgaWYgRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdCAhPSBbXToNCisgICAgICAgIGZv ciBUYXJnZXRGZnMgaW4gRm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdDoNCisgICAgICAg ICAgICBGZnNNb2QgPSBGdkhhbmRsZXIobmV3Rm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5DaGlsZFsw XSwgVGFyZ2V0RmZzKQ0KKyAgICAgICAgICAgIFN0YXR1cyA9IEZmc01vZC5SZXBsYWNlRmZzKCkN CisgICAgZWxzZToNCisgICAgICAgIGxvZ2dlci5lcnJvcignVGFyZ2V0IEZmcyBub3QgZm91bmQh ISEnKQ0KKyAgICAjIDQuIERhdGEgRW5jYXBzdWxhdGlvbg0KKyAgICBpZiBTdGF0dXM6DQorICAg ICAgICBsb2dnZXIuZGVidWcoJ1N0YXJ0IGVuY2Fwc3VsYXRpbmcgZGF0YS4uLi4uLicpDQorICAg ICAgICBGbW10UGFyc2VyLkVuY2Fwc3VsYXRpb24oRm1tdFBhcnNlci5XaG9sZUZ2VHJlZSwgRmFs c2UpDQorICAgICAgICB3aXRoIG9wZW4ob3V0cHV0ZmlsZSwgIndiIikgYXMgZjoNCisgICAgICAg ICAgICBmLndyaXRlKEZtbXRQYXJzZXIuRmluYWxEYXRhKQ0KKyAgICAgICAgbG9nZ2VyLmRlYnVn KCdFbmNhcHN1bGF0ZWQgZGF0YSBpcyBzYXZlZCBpbiB7fS4nLmZvcm1hdChvdXRwdXRmaWxlKSkN CisNCitkZWYgRXh0cmFjdEZmcyhpbnB1dGZpbGU6IHN0ciwgRmZzX25hbWU6IHN0ciwgb3V0cHV0 ZmlsZTogc3RyLCBGdl9uYW1lOiBzdHI9Tm9uZSkgLT4gTm9uZToNCisgICAgaWYgbm90IG9zLnBh dGguZXhpc3RzKGlucHV0ZmlsZSk6DQorICAgICAgICBsb2dnZXIuZXJyb3IoIkludmFsaWQgaW5w dXRmaWxlLCBjYW4gbm90IG9wZW4ge30uIi5mb3JtYXQoaW5wdXRmaWxlKSkNCisgICAgICAgIHJh aXNlIEV4Y2VwdGlvbigiUHJvY2VzcyBGYWlsZWQ6IEludmFsaWQgaW5wdXRmaWxlISIpDQorICAg ICMgMS4gRGF0YSBQcmVwYXJlDQorICAgIHdpdGggb3BlbihpbnB1dGZpbGUsICJyYiIpIGFzIGY6 DQorICAgICAgICB3aG9sZV9kYXRhID0gZi5yZWFkKCkNCisgICAgRm1tdFBhcnNlciA9IEZNTVRQ YXJzZXIoaW5wdXRmaWxlLCBST09UX1RSRUUpDQorICAgICMgMi4gRGF0YVRyZWUgQ3JlYXRlDQor ICAgIGxvZ2dlci5kZWJ1ZygnUGFyc2luZyBpbnB1dGZpbGUgZGF0YS4uLi4uLicpDQorICAgIEZt bXRQYXJzZXIuUGFyc2VyRnJvbVJvb3QoRm1tdFBhcnNlci5XaG9sZUZ2VHJlZSwgd2hvbGVfZGF0 YSkNCisgICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQorICAgIEZtbXRQYXJzZXIuV2hvbGVGdlRy ZWUuRmluZE5vZGUoRmZzX25hbWUsIEZtbXRQYXJzZXIuV2hvbGVGdlRyZWUuRmluZGxpc3QpDQor ICAgIGlmIEZ2X25hbWU6DQorICAgICAgICBmb3IgaXRlbSBpbiBGbW10UGFyc2VyLldob2xlRnZU cmVlLkZpbmRsaXN0Og0KKyAgICAgICAgICAgIGlmIGl0ZW0uUGFyZW50LmtleSAhPSBGdl9uYW1l IGFuZCBpdGVtLlBhcmVudC5EYXRhLk5hbWUgIT0gRnZfbmFtZToNCisgICAgICAgICAgICAgICAg Rm1tdFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdC5yZW1vdmUoaXRlbSkNCisgICAgaWYgRm1t dFBhcnNlci5XaG9sZUZ2VHJlZS5GaW5kbGlzdCAhPSBbXToNCisgICAgICAgIFRhcmdldE5vZGUg PSBGbW10UGFyc2VyLldob2xlRnZUcmVlLkZpbmRsaXN0WzBdDQorICAgICAgICBUYXJnZXRGdiA9 IFRhcmdldE5vZGUuUGFyZW50DQorICAgICAgICBpZiBUYXJnZXRGdi5EYXRhLkhlYWRlci5BdHRy aWJ1dGVzICYgRUZJX0ZWQjJfRVJBU0VfUE9MQVJJVFk6DQorICAgICAgICAgICAgVGFyZ2V0Tm9k ZS5EYXRhLkhlYWRlci5TdGF0ZSA9IGNfdWludDgoDQorICAgICAgICAgICAgICAgIH5UYXJnZXRO b2RlLkRhdGEuSGVhZGVyLlN0YXRlKQ0KKyAgICAgICAgRmluYWxEYXRhID0gc3RydWN0MnN0cmVh bShUYXJnZXROb2RlLkRhdGEuSGVhZGVyKSArIFRhcmdldE5vZGUuRGF0YS5EYXRhDQorICAgICAg ICB3aXRoIG9wZW4ob3V0cHV0ZmlsZSwgIndiIikgYXMgZjoNCisgICAgICAgICAgICBmLndyaXRl KEZpbmFsRGF0YSkNCisgICAgICAgIGxvZ2dlci5kZWJ1ZygnRXh0cmFjdCBmZnMgZGF0YSBpcyBz YXZlZCBpbiB7fS4nLmZvcm1hdChvdXRwdXRmaWxlKSkNCisgICAgZWxzZToNCisgICAgICAgIGxv Z2dlci5lcnJvcignVGFyZ2V0IEZmcyBub3QgZm91bmQhISEnKQ0KZGlmZiAtLWdpdCBhL0Jhc2VU b29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UUGFyc2VyLnB5IGIvQmFzZVRvb2xzL1Nv dXJjZS9QeXRob24vRk1NVC9jb3JlL0ZNTVRQYXJzZXIucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMDAwMDAuLmU3NmFjNTExODUwOQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIv QmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0ZNTVRQYXJzZXIucHkNCkBAIC0wLDAg KzEsODcgQEANCisjIyBAZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBp bnRlcmZhY2Ugb2YgQmlvcyBQYXJzZXIuDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIxLSwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKyMgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisjIw0KK2Zyb20gRmlybXdhcmVTdG9y YWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KK2Zyb20gY29yZS5CaW5hcnlGYWN0b3J5UHJvZHVj dCBpbXBvcnQgUGFyc2VyRW50cnkNCitmcm9tIGNvcmUuQmlvc1RyZWVOb2RlIGltcG9ydCAqDQor ZnJvbSBjb3JlLkJpb3NUcmVlIGltcG9ydCAqDQorZnJvbSBjb3JlLkd1aWRUb29scyBpbXBvcnQg Kg0KK2Zyb20gdXRpbHMuRm1tdExvZ2dlciBpbXBvcnQgRm1tdExvZ2dlciBhcyBsb2dnZXINCisN CitjbGFzcyBGTU1UUGFyc2VyOg0KKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZTogc3RyLCBU WVBFOiBzdHIpIC0+IE5vbmU6DQorICAgICAgICBzZWxmLldob2xlRnZUcmVlID0gQklPU1RSRUUo bmFtZSkNCisgICAgICAgIHNlbGYuV2hvbGVGdlRyZWUudHlwZSA9IFRZUEUNCisgICAgICAgIHNl bGYuRmluYWxEYXRhID0gYicnDQorICAgICAgICBzZWxmLkJpbmFyeUluZm8gPSBbXQ0KKw0KKyAg ICAjIyBQYXJzZXIgdGhlIG5vZGVzIGluIFdob2xlVHJlZS4NCisgICAgZGVmIFBhcnNlckZyb21S b290KHNlbGYsIFdob2xlRnZUcmVlPU5vbmUsIHdob2xlX2RhdGE6IGJ5dGVzPWInJywgUmVsb2Zm c2V0OiBpbnQ9MCkgLT4gTm9uZToNCisgICAgICAgIGlmIFdob2xlRnZUcmVlLnR5cGUgPT0gUk9P VF9UUkVFIG9yIFdob2xlRnZUcmVlLnR5cGUgPT0gUk9PVF9GVl9UUkVFOg0KKyAgICAgICAgICAg IFBhcnNlckVudHJ5KCkuRGF0YVBhcnNlcihzZWxmLldob2xlRnZUcmVlLCB3aG9sZV9kYXRhLCBS ZWxvZmZzZXQpDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIFBhcnNlckVudHJ5KCkuRGF0 YVBhcnNlcihXaG9sZUZ2VHJlZSwgd2hvbGVfZGF0YSwgUmVsb2Zmc2V0KQ0KKyAgICAgICAgZm9y IENoaWxkIGluIFdob2xlRnZUcmVlLkNoaWxkOg0KKyAgICAgICAgICAgIHNlbGYuUGFyc2VyRnJv bVJvb3QoQ2hpbGQsICIiKQ0KKw0KKyAgICAjIyBFbmNhcHVzbGF0aW9uIGFsbCB0aGUgZGF0YSBp biB0cmVlIGludG8gc2VsZi5GaW5hbERhdGENCisgICAgZGVmIEVuY2Fwc3VsYXRpb24oc2VsZiwg cm9vdFRyZWUsIENvbXByZXNzU3RhdHVzOiBib29sKSAtPiBOb25lOg0KKyAgICAgICAgIyBJZiBj dXJyZW50IG5vZGUgaXMgUm9vdCBub2RlLCBza2lwIGl0Lg0KKyAgICAgICAgaWYgcm9vdFRyZWUu dHlwZSA9PSBST09UX1RSRUUgb3Igcm9vdFRyZWUudHlwZSA9PSBST09UX0ZWX1RSRUUgb3Igcm9v dFRyZWUudHlwZSA9PSBST09UX0ZGU19UUkVFIG9yIHJvb3RUcmVlLnR5cGUgPT0gUk9PVF9TRUNU SU9OX1RSRUU6DQorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCdFbmNhcHN1bGF0ZWQgc3VjY2Vz c2Z1bGx5IScpDQorICAgICAgICAjIElmIGN1cnJlbnQgbm9kZSBkbyBub3QgaGF2ZSBIZWFkZXIs IGp1c3QgYWRkIERhdGEuDQorICAgICAgICBlbGlmIHJvb3RUcmVlLnR5cGUgPT0gQklOQVJZX0RB VEEgb3Igcm9vdFRyZWUudHlwZSA9PSBGRlNfRlJFRV9TUEFDRToNCisgICAgICAgICAgICBzZWxm LkZpbmFsRGF0YSArPSByb290VHJlZS5EYXRhLkRhdGENCisgICAgICAgICAgICByb290VHJlZS5D aGlsZCA9IFtdDQorICAgICAgICAjIElmIGN1cnJlbnQgbm9kZSBkbyBub3QgaGF2ZSBDaGlsZCBh bmQgRXh0SGVhZGVyLCBqdXN0IGFkZCBpdHMgSGVhZGVyIGFuZCBEYXRhLg0KKyAgICAgICAgZWxp ZiByb290VHJlZS50eXBlID09IERBVEFfRlZfVFJFRSBvciByb290VHJlZS50eXBlID09IEZGU19Q QUQ6DQorICAgICAgICAgICAgc2VsZi5GaW5hbERhdGEgKz0gc3RydWN0MnN0cmVhbShyb290VHJl ZS5EYXRhLkhlYWRlcikgKyByb290VHJlZS5EYXRhLkRhdGEgKyByb290VHJlZS5EYXRhLlBhZERh dGENCisgICAgICAgICAgICBpZiByb290VHJlZS5pc0ZpbmFsQ2hpbGQoKToNCisgICAgICAgICAg ICAgICAgUGFyVHJlZSA9IHJvb3RUcmVlLlBhcmVudA0KKyAgICAgICAgICAgICAgICBpZiBQYXJU cmVlLnR5cGUgIT0gJ1JPT1QnOg0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5GaW5hbERhdGEg Kz0gUGFyVHJlZS5EYXRhLlBhZERhdGENCisgICAgICAgICAgICByb290VHJlZS5DaGlsZCA9IFtd DQorICAgICAgICAjIElmIGN1cnJlbnQgbm9kZSBpcyBub3QgU2VjdGlvbiBub2RlIGFuZCBtYXkg aGF2ZSBDaGlsZCBhbmQgRXh0SGVhZGVyLCBhZGQgaXRzIEhlYWRlcixFeHRIZWFkZXIuIElmIGRv IG5vdCBoYXZlIENoaWxkLCBhZGQgaXRzIERhdGEuDQorICAgICAgICBlbGlmIHJvb3RUcmVlLnR5 cGUgPT0gRlZfVFJFRSBvciByb290VHJlZS50eXBlID09IEZGU19UUkVFIG9yIHJvb3RUcmVlLnR5 cGUgPT0gU0VDX0ZWX1RSRUU6DQorICAgICAgICAgICAgaWYgcm9vdFRyZWUuSGFzQ2hpbGQoKToN CisgICAgICAgICAgICAgICAgc2VsZi5GaW5hbERhdGEgKz0gc3RydWN0MnN0cmVhbShyb290VHJl ZS5EYXRhLkhlYWRlcikNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBzZWxm LkZpbmFsRGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKHJvb3RUcmVlLkRhdGEuSGVhZGVyKSArIHJvb3RU cmVlLkRhdGEuRGF0YSArIHJvb3RUcmVlLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICAgICBp ZiByb290VHJlZS5pc0ZpbmFsQ2hpbGQoKToNCisgICAgICAgICAgICAgICAgICAgIFBhclRyZWUg PSByb290VHJlZS5QYXJlbnQNCisgICAgICAgICAgICAgICAgICAgIGlmIFBhclRyZWUudHlwZSAh PSAnUk9PVCc6DQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5GaW5hbERhdGEgKz0gUGFy VHJlZS5EYXRhLlBhZERhdGENCisgICAgICAgICMgSWYgY3VycmVudCBub2RlIGlzIFNlY3Rpb24s IG5lZWQgdG8gY29uc2lkZXIgaXRzIEV4dEhlYWRlciwgQ2hpbGQgYW5kIENvbXByZXNzZWQgU3Rh dHVzLg0KKyAgICAgICAgZWxpZiByb290VHJlZS50eXBlID09IFNFQ1RJT05fVFJFRToNCisgICAg ICAgICAgICAjIE5vdCBjb21wcmVzc2VkIHNlY3Rpb24NCisgICAgICAgICAgICBpZiByb290VHJl ZS5EYXRhLk9yaURhdGEgPT0gYicnIG9yIChyb290VHJlZS5EYXRhLk9yaURhdGEgIT0gYicnIGFu ZCBDb21wcmVzc1N0YXR1cyk6DQorICAgICAgICAgICAgICAgIGlmIHJvb3RUcmVlLkhhc0NoaWxk KCk6DQorICAgICAgICAgICAgICAgICAgICBpZiByb290VHJlZS5EYXRhLkV4dEhlYWRlcjoNCisg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkZpbmFsRGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKHJv b3RUcmVlLkRhdGEuSGVhZGVyKSArIHN0cnVjdDJzdHJlYW0ocm9vdFRyZWUuRGF0YS5FeHRIZWFk ZXIpDQorICAgICAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuRmluYWxEYXRhICs9IHN0cnVjdDJzdHJlYW0ocm9vdFRyZWUuRGF0YS5IZWFkZXIpDQor ICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgICAgICBEYXRhID0gcm9vdFRy ZWUuRGF0YS5EYXRhDQorICAgICAgICAgICAgICAgICAgICBpZiByb290VHJlZS5EYXRhLkV4dEhl YWRlcjoNCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkZpbmFsRGF0YSArPSBzdHJ1Y3Qy c3RyZWFtKHJvb3RUcmVlLkRhdGEuSGVhZGVyKSArIHN0cnVjdDJzdHJlYW0ocm9vdFRyZWUuRGF0 YS5FeHRIZWFkZXIpICsgRGF0YSArIHJvb3RUcmVlLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAg ICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkZpbmFsRGF0YSAr PSBzdHJ1Y3Qyc3RyZWFtKHJvb3RUcmVlLkRhdGEuSGVhZGVyKSArIERhdGEgKyByb290VHJlZS5E YXRhLlBhZERhdGENCisgICAgICAgICAgICAgICAgICAgIGlmIHJvb3RUcmVlLmlzRmluYWxDaGls ZCgpOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUgPSByb290VHJlZS5QYXJlbnQN CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkZpbmFsRGF0YSArPSBQYXJUcmVlLkRhdGEu UGFkRGF0YQ0KKyAgICAgICAgICAgICMgSWYgY29tcHJlc3NlZCBzZWN0aW9uDQorICAgICAgICAg ICAgZWxzZToNCisgICAgICAgICAgICAgICAgRGF0YSA9IHJvb3RUcmVlLkRhdGEuT3JpRGF0YQ0K KyAgICAgICAgICAgICAgICByb290VHJlZS5DaGlsZCA9IFtdDQorICAgICAgICAgICAgICAgIGlm IHJvb3RUcmVlLkRhdGEuRXh0SGVhZGVyOg0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5GaW5h bERhdGEgKz0gc3RydWN0MnN0cmVhbShyb290VHJlZS5EYXRhLkhlYWRlcikgKyBzdHJ1Y3Qyc3Ry ZWFtKHJvb3RUcmVlLkRhdGEuRXh0SGVhZGVyKSArIERhdGEgKyByb290VHJlZS5EYXRhLlBhZERh dGENCisgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgIHNlbGYuRmlu YWxEYXRhICs9IHN0cnVjdDJzdHJlYW0ocm9vdFRyZWUuRGF0YS5IZWFkZXIpICsgRGF0YSArIHJv b3RUcmVlLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICAgICBpZiByb290VHJlZS5pc0ZpbmFs Q2hpbGQoKToNCisgICAgICAgICAgICAgICAgICAgIFBhclRyZWUgPSByb290VHJlZS5QYXJlbnQN CisgICAgICAgICAgICAgICAgICAgIHNlbGYuRmluYWxEYXRhICs9IFBhclRyZWUuRGF0YS5QYWRE YXRhDQorICAgICAgICBmb3IgQ2hpbGQgaW4gcm9vdFRyZWUuQ2hpbGQ6DQorICAgICAgICAgICAg c2VsZi5FbmNhcHN1bGF0aW9uKENoaWxkLCBDb21wcmVzc1N0YXR1cykNCmRpZmYgLS1naXQgYS9C YXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5IGIvQmFzZVRvb2xz L1NvdXJjZS9QeXRob24vRk1NVC9jb3JlL0Z2SGFuZGxlci5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYzgxNTQxZWMxOGIxDQotLS0gL2Rldi9udWxsDQorKysg Yi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5DQpAQCAtMCww ICsxLDY0MSBAQA0KKyMjIEBmaWxlDQorIyBUaGlzIGZpbGUgaXMgdXNlZCB0byB0aGUgaW1wbGVt ZW50YXRpb24gb2YgQmlvcyBsYXlvdXQgaGFuZGxlci4NCisjDQorIyBDb3B5cmlnaHQgKGMpIDIw MjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KKyMjDQoraW1wb3J0IG9z DQorZnJvbSBjb3JlLkJpb3NUcmVlIGltcG9ydCAqDQorZnJvbSBjb3JlLkd1aWRUb29scyBpbXBv cnQgR1VJRFRvb2xzDQorZnJvbSBjb3JlLkJpb3NUcmVlTm9kZSBpbXBvcnQgKg0KK2Zyb20gRmly bXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KK2Zyb20gdXRpbHMuRm1tdExvZ2dl ciBpbXBvcnQgRm1tdExvZ2dlciBhcyBsb2dnZXINCisNCitFRklfRlZCMl9FUkFTRV9QT0xBUklU WSA9IDB4MDAwMDA4MDANCisNCitkZWYgQ2hhbmdlU2l6ZShUYXJnZXRUcmVlLCBzaXplX2RlbHRh OiBpbnQ9MCkgLT4gTm9uZToNCisgICAgIyBJZiBTaXplIGluY3JlYXNlIGRlbHRhLCB0aGVuIHNo b3VsZCBiZTogc2l6ZV9kZWx0YSA9IC1kZWx0YQ0KKyAgICBpZiB0eXBlKFRhcmdldFRyZWUuRGF0 YS5IZWFkZXIpID09IHR5cGUoRUZJX0ZGU19GSUxFX0hFQURFUjIoKSkgb3IgdHlwZShUYXJnZXRU cmVlLkRhdGEuSGVhZGVyKSA9PSB0eXBlKEVGSV9DT01NT05fU0VDVElPTl9IRUFERVIyKCkpOg0K KyAgICAgICAgVGFyZ2V0VHJlZS5EYXRhLlNpemUgLT0gc2l6ZV9kZWx0YQ0KKyAgICAgICAgVGFy Z2V0VHJlZS5EYXRhLkhlYWRlci5FeHRlbmRlZFNpemUgLT0gc2l6ZV9kZWx0YQ0KKyAgICBlbGlm IFRhcmdldFRyZWUudHlwZSA9PSBTRUNUSU9OX1RSRUUgYW5kIFRhcmdldFRyZWUuRGF0YS5PcmlE YXRhOg0KKyAgICAgICAgT3JpU2l6ZSA9IFRhcmdldFRyZWUuRGF0YS5IZWFkZXIuU0VDVElPTl9T SVpFDQorICAgICAgICBPcmlTaXplIC09IHNpemVfZGVsdGENCisgICAgICAgIFRhcmdldFRyZWUu RGF0YS5IZWFkZXIuU2l6ZVswXSA9IE9yaVNpemUgJSAoMTYqKjIpDQorICAgICAgICBUYXJnZXRU cmVlLkRhdGEuSGVhZGVyLlNpemVbMV0gPSBPcmlTaXplICUgKDE2Kio0KSAvLygxNioqMikNCisg ICAgICAgIFRhcmdldFRyZWUuRGF0YS5IZWFkZXIuU2l6ZVsyXSA9IE9yaVNpemUgLy8gKDE2Kio0 KQ0KKyAgICBlbHNlOg0KKyAgICAgICAgVGFyZ2V0VHJlZS5EYXRhLlNpemUgLT0gc2l6ZV9kZWx0 YQ0KKyAgICAgICAgVGFyZ2V0VHJlZS5EYXRhLkhlYWRlci5TaXplWzBdID0gVGFyZ2V0VHJlZS5E YXRhLlNpemUgJSAoMTYqKjIpDQorICAgICAgICBUYXJnZXRUcmVlLkRhdGEuSGVhZGVyLlNpemVb MV0gPSBUYXJnZXRUcmVlLkRhdGEuU2l6ZSAlICgxNioqNCkgLy8oMTYqKjIpDQorICAgICAgICBU YXJnZXRUcmVlLkRhdGEuSGVhZGVyLlNpemVbMl0gPSBUYXJnZXRUcmVlLkRhdGEuU2l6ZSAvLyAo MTYqKjQpDQorDQorZGVmIE1vZGlmeUZmc1R5cGUoVGFyZ2V0RmZzKSAtPiBOb25lOg0KKyAgICBp ZiB0eXBlKFRhcmdldEZmcy5EYXRhLkhlYWRlcikgPT0gdHlwZShFRklfRkZTX0ZJTEVfSEVBREVS KCkpIGFuZCBUYXJnZXRGZnMuRGF0YS5TaXplID4gMHhGRkZGRkY6DQorICAgICAgICBFeHRlbmRT aXplID0gVGFyZ2V0RmZzLkRhdGEuSGVhZGVyLkZGU19GSUxFX1NJWkUgKyA4DQorICAgICAgICBO ZXdfSGVhZGVyID0gRUZJX0ZGU19GSUxFX0hFQURFUjIoKQ0KKyAgICAgICAgTmV3X0hlYWRlci5O YW1lID0gVGFyZ2V0RmZzLkRhdGEuSGVhZGVyLk5hbWUNCisgICAgICAgIE5ld19IZWFkZXIuSW50 ZWdyaXR5Q2hlY2sgPSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIuSW50ZWdyaXR5Q2hlY2sNCisgICAg ICAgIE5ld19IZWFkZXIuVHlwZSA9IFRhcmdldEZmcy5EYXRhLkhlYWRlci5UeXBlDQorICAgICAg ICBOZXdfSGVhZGVyLkF0dHJpYnV0ZXMgPSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIuQXR0cmlidXRl cyB8IDB4MDEgICMgc2V0IHRoZSBBdHRyaWJ1dGUgd2l0aCBGRlNfQVRUUklCX0xBUkdFX0ZJTEUg KDB4MDEpDQorICAgICAgICBOZXdTaXplID0gMA0KKyAgICAgICAgTmV3X0hlYWRlci5TaXplWzBd ID0gTmV3U2l6ZSAlICgxNioqMikgICAgIyBtaW51cyB0aGUgZGVsdGEgc2l6ZSBvZiBIZWFkZXIN CisgICAgICAgIE5ld19IZWFkZXIuU2l6ZVsxXSA9IE5ld1NpemUgJSAoMTYqKjQpIC8vKDE2Kioy KQ0KKyAgICAgICAgTmV3X0hlYWRlci5TaXplWzJdID0gTmV3U2l6ZSAvLyAoMTYqKjQpDQorICAg ICAgICBOZXdfSGVhZGVyLlN0YXRlID0gVGFyZ2V0RmZzLkRhdGEuSGVhZGVyLlN0YXRlDQorICAg ICAgICBOZXdfSGVhZGVyLkV4dGVuZGVkU2l6ZSA9IEV4dGVuZFNpemUNCisgICAgICAgIFRhcmdl dEZmcy5EYXRhLkhlYWRlciA9IE5ld19IZWFkZXINCisgICAgICAgIFRhcmdldEZmcy5EYXRhLlNp emUgPSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIuRkZTX0ZJTEVfU0laRQ0KKyAgICAgICAgVGFyZ2V0 RmZzLkRhdGEuSGVhZGVyTGVuZ3RoID0gVGFyZ2V0RmZzLkRhdGEuSGVhZGVyLkhlYWRlckxlbmd0 aA0KKyAgICAgICAgVGFyZ2V0RmZzLkRhdGEuTW9kQ2hlY2tTdW0oKQ0KKyAgICBlbGlmIHR5cGUo VGFyZ2V0RmZzLkRhdGEuSGVhZGVyKSA9PSB0eXBlKEVGSV9GRlNfRklMRV9IRUFERVIyKCkpIGFu ZCBUYXJnZXRGZnMuRGF0YS5TaXplIDw9IDB4RkZGRkZGOg0KKyAgICAgICAgTmV3X0hlYWRlciA9 IEVGSV9GRlNfRklMRV9IRUFERVIoKQ0KKyAgICAgICAgTmV3X0hlYWRlci5OYW1lID0gVGFyZ2V0 RmZzLkRhdGEuSGVhZGVyLk5hbWUNCisgICAgICAgIE5ld19IZWFkZXIuSW50ZWdyaXR5Q2hlY2sg PSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIuSW50ZWdyaXR5Q2hlY2sNCisgICAgICAgIE5ld19IZWFk ZXIuVHlwZSA9IFRhcmdldEZmcy5EYXRhLkhlYWRlci5UeXBlDQorICAgICAgICBOZXdfSGVhZGVy LkF0dHJpYnV0ZXMgPSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIuQXR0cmlidXRlcyAtIDEgICMgcmVt b3ZlIHRoZSBGRlNfQVRUUklCX0xBUkdFX0ZJTEUgKDB4MDEpIGZyb20gQXR0cmlidXRlDQorICAg ICAgICBOZXdfSGVhZGVyLlNpemVbMF0gPSAoVGFyZ2V0RmZzLkRhdGEuU2l6ZSAtIDgpICUgKDE2 KioyKSAgICAjIG1pbnVzIHRoZSBkZWx0YSBzaXplIG9mIEhlYWRlcg0KKyAgICAgICAgTmV3X0hl YWRlci5TaXplWzFdID0gKFRhcmdldEZmcy5EYXRhLlNpemUgLSA4KSAlICgxNioqNCkgLy8oMTYq KjIpDQorICAgICAgICBOZXdfSGVhZGVyLlNpemVbMl0gPSAoVGFyZ2V0RmZzLkRhdGEuU2l6ZSAt IDgpIC8vICgxNioqNCkNCisgICAgICAgIE5ld19IZWFkZXIuU3RhdGUgPSBUYXJnZXRGZnMuRGF0 YS5IZWFkZXIuU3RhdGUNCisgICAgICAgIFRhcmdldEZmcy5EYXRhLkhlYWRlciA9IE5ld19IZWFk ZXINCisgICAgICAgIFRhcmdldEZmcy5EYXRhLlNpemUgPSBUYXJnZXRGZnMuRGF0YS5IZWFkZXIu RkZTX0ZJTEVfU0laRQ0KKyAgICAgICAgVGFyZ2V0RmZzLkRhdGEuSGVhZGVyTGVuZ3RoID0gVGFy Z2V0RmZzLkRhdGEuSGVhZGVyLkhlYWRlckxlbmd0aA0KKyAgICAgICAgVGFyZ2V0RmZzLkRhdGEu TW9kQ2hlY2tTdW0oKQ0KKyAgICAgICAgaWYgc3RydWN0MnN0cmVhbShUYXJnZXRGZnMuUGFyZW50 LkRhdGEuSGVhZGVyLkZpbGVTeXN0ZW1HdWlkKSA9PSBFRklfRklSTVdBUkVfRklMRV9TWVNURU0z X0dVSURfQllURToNCisgICAgICAgICAgICBOZWVkQ2hhbmdlID0gVHJ1ZQ0KKyAgICAgICAgICAg IGZvciBpdGVtIGluIFRhcmdldEZmcy5QYXJlbnQuQ2hpbGQ6DQorICAgICAgICAgICAgICAgIGlm IHR5cGUoaXRlbS5EYXRhLkhlYWRlcikgPT0gdHlwZShFRklfRkZTX0ZJTEVfSEVBREVSMigpKToN CisgICAgICAgICAgICAgICAgICAgIE5lZWRDaGFuZ2UgPSBGYWxzZQ0KKyAgICAgICAgICAgIGlm IE5lZWRDaGFuZ2U6DQorICAgICAgICAgICAgICAgIFRhcmdldEZmcy5QYXJlbnQuRGF0YS5IZWFk ZXIuRmlsZVN5c3RlbUd1aWQgPSBNb2RpZnlHdWlkRm9ybWF0KCI4YzhjZTU3OC04YTNkLTRmMWMt OTkzNS04OTYxODVjMzJkZDMiKQ0KKw0KKyAgICBpZiB0eXBlKFRhcmdldEZmcy5EYXRhLkhlYWRl cikgPT0gdHlwZShFRklfRkZTX0ZJTEVfSEVBREVSMigpKToNCisgICAgICAgIFRhclBhcmVudCA9 IFRhcmdldEZmcy5QYXJlbnQNCisgICAgICAgIHdoaWxlIFRhclBhcmVudDoNCisgICAgICAgICAg ICBpZiBUYXJQYXJlbnQudHlwZSA9PSBGVl9UUkVFIGFuZCBzdHJ1Y3Qyc3RyZWFtKFRhclBhcmVu dC5EYXRhLkhlYWRlci5GaWxlU3lzdGVtR3VpZCkgPT0gRUZJX0ZJUk1XQVJFX0ZJTEVfU1lTVEVN Ml9HVUlEX0JZVEU6DQorICAgICAgICAgICAgICAgIFRhclBhcmVudC5EYXRhLkhlYWRlci5GaWxl U3lzdGVtR3VpZCA9IE1vZGlmeUd1aWRGb3JtYXQoIjU0NzNDMDdBLTNEQ0ItNGRjYS1CRDZGLTFF OTY4OUU3MzQ5QSIpDQorICAgICAgICAgICAgVGFyUGFyZW50ID0gVGFyUGFyZW50LlBhcmVudA0K Kw0KK2RlZiBQYWRTZWN0aW9uTW9kaWZ5KFBhZFNlY3Rpb24sIE9mZnNldCkgLT4gTm9uZToNCisg ICAgIyBPZmZzZXQgPiAwLCBTaXplIGRlY3JlYXNlOyBPZmZzZXQgPCAwLCBTaXplIGluY3JlYXNl Ow0KKyAgICBDaGFuZ2VTaXplKFBhZFNlY3Rpb24sIE9mZnNldCkNCisgICAgUGFkU2VjdGlvbi5E YXRhLkRhdGEgPSAoUGFkU2VjdGlvbi5EYXRhLlNpemUgLSBQYWRTZWN0aW9uLkRhdGEuSGVhZGVy TGVuZ3RoKSAqIGInXHhmZicNCisNCitkZWYgTW9kaWZ5U2VjdGlvblR5cGUoVGFyZ2V0U2VjdGlv bikgLT4gTm9uZToNCisgICAgIyBJZiBTZWN0aW9uIFNpemUgaXMgaW5jcmVhc2VkIGxhcmdlciB0 aGFuIDB4RkZGRkZGLCBuZWVkIG1vZGlmeSBTZWN0aW9uIEhlYWRlciBmcm9tIEVGSV9DT01NT05f U0VDVElPTl9IRUFERVIgdG8gRUZJX0NPTU1PTl9TRUNUSU9OX0hFQURFUjIuDQorICAgIGlmIHR5 cGUoVGFyZ2V0U2VjdGlvbi5EYXRhLkhlYWRlcikgPT0gdHlwZShFRklfQ09NTU9OX1NFQ1RJT05f SEVBREVSKCkpIGFuZCBUYXJnZXRTZWN0aW9uLkRhdGEuU2l6ZSA+PSAweEZGRkZGRjoNCisgICAg ICAgIE5ld19IZWFkZXIgPSBFRklfQ09NTU9OX1NFQ1RJT05fSEVBREVSMigpDQorICAgICAgICBO ZXdfSGVhZGVyLlR5cGUgPSBUYXJnZXRTZWN0aW9uLkRhdGEuSGVhZGVyLlR5cGUNCisgICAgICAg IE5ld1NpemUgPSAweEZGRkZGRg0KKyAgICAgICAgTmV3X0hlYWRlci5TaXplWzBdID0gTmV3U2l6 ZSAlICgxNioqMikgICAgIyBtaW51cyB0aGUgZGVsdGEgc2l6ZSBvZiBIZWFkZXINCisgICAgICAg IE5ld19IZWFkZXIuU2l6ZVsxXSA9IE5ld1NpemUgJSAoMTYqKjQpIC8vKDE2KioyKQ0KKyAgICAg ICAgTmV3X0hlYWRlci5TaXplWzJdID0gTmV3U2l6ZSAvLyAoMTYqKjQpDQorICAgICAgICBOZXdf SGVhZGVyLkV4dGVuZGVkU2l6ZSA9IFRhcmdldFNlY3Rpb24uRGF0YS5TaXplICsgNA0KKyAgICAg ICAgVGFyZ2V0U2VjdGlvbi5EYXRhLkhlYWRlciA9IE5ld19IZWFkZXINCisgICAgICAgIFRhcmdl dFNlY3Rpb24uRGF0YS5TaXplID0gVGFyZ2V0U2VjdGlvbi5EYXRhLkhlYWRlci5TRUNUSU9OX1NJ WkUNCisgICAgICAgICMgQWxpZ24gdGhlIEhlYWRlcidzIGFkZGVkIDQgYml0IHRvIDgtYWxpZ25t ZW50IHRvIHByb21pc2UgdGhlIGZvbGxvd2luZyBGZnMncyBhbGlnbiBjb3JyZWN0bHkuDQorICAg ICAgICBpZiBUYXJnZXRTZWN0aW9uLkxhc3RSZWwuRGF0YS5Jc1BhZFNlY3Rpb246DQorICAgICAg ICAgICAgUGFkU2VjdGlvbk1vZGlmeShUYXJnZXRTZWN0aW9uLkxhc3RSZWwsIC00KQ0KKyAgICAg ICAgZWxzZToNCisgICAgICAgICAgICBTZWNQYXJlbnQgPSBUYXJnZXRTZWN0aW9uLlBhcmVudA0K KyAgICAgICAgICAgIFRhcmdldF9pbmRleCA9IFNlY1BhcmVudC5DaGlsZC5pbmRleChUYXJnZXRT ZWN0aW9uKQ0KKyAgICAgICAgICAgIE5ld1BhZFNlY3Rpb24gPSBTZWN0aW9uTm9kZShiJ1x4MDBc eDAwXHgwMFx4MTknKQ0KKyAgICAgICAgICAgIFNlY1BhcmVudC5pbnNlcnRDaGlsZChOZXdQYWRT ZWN0aW9uLCBUYXJnZXRfaW5kZXgpDQorICAgICMgSWYgU2VjdGlvbiBTaXplIGlzIGRlY3JlYXNl ZCBzbWFsbGVyIHRoYW4gMHhGRkZGRkYsIG5lZWQgbW9kaWZ5IFNlY3Rpb24gSGVhZGVyIGZyb20g RUZJX0NPTU1PTl9TRUNUSU9OX0hFQURFUjIgdG8gRUZJX0NPTU1PTl9TRUNUSU9OX0hFQURFUi4N CisgICAgZWxpZiB0eXBlKFRhcmdldFNlY3Rpb24uRGF0YS5IZWFkZXIpID09IHR5cGUoRUZJX0NP TU1PTl9TRUNUSU9OX0hFQURFUjIoKSkgYW5kIFRhcmdldFNlY3Rpb24uRGF0YS5TaXplIDwgMHhG RkZGRkY6DQorICAgICAgICBOZXdfSGVhZGVyID0gRUZJX0NPTU1PTl9TRUNUSU9OX0hFQURFUigp DQorICAgICAgICBOZXdfSGVhZGVyLlR5cGUgPSBUYXJnZXRTZWN0aW9uLkRhdGEuSGVhZGVyLlR5 cGUNCisgICAgICAgIE5ld19IZWFkZXIuU2l6ZVswXSA9IChUYXJnZXRTZWN0aW9uLkRhdGEuU2l6 ZSAtIDQpICUgKDE2KioyKSAgICAjIG1pbnVzIHRoZSBkZWx0YSBzaXplIG9mIEhlYWRlcg0KKyAg ICAgICAgTmV3X0hlYWRlci5TaXplWzFdID0gKFRhcmdldFNlY3Rpb24uRGF0YS5TaXplIC0gNCkg JSAoMTYqKjQpIC8vKDE2KioyKQ0KKyAgICAgICAgTmV3X0hlYWRlci5TaXplWzJdID0gKFRhcmdl dFNlY3Rpb24uRGF0YS5TaXplIC0gNCkgLy8gKDE2Kio0KQ0KKyAgICAgICAgVGFyZ2V0U2VjdGlv bi5EYXRhLkhlYWRlciA9IE5ld19IZWFkZXINCisgICAgICAgIFRhcmdldFNlY3Rpb24uRGF0YS5T aXplID0gVGFyZ2V0U2VjdGlvbi5EYXRhLkhlYWRlci5TRUNUSU9OX1NJWkUNCisgICAgICAgICMg QWxpZ24gdGhlIEhlYWRlcidzIGFkZGVkIDQgYml0IHRvIDgtYWxpZ25tZW50IHRvIHByb21pc2Ug dGhlIGZvbGxvd2luZyBGZnMncyBhbGlnbiBjb3JyZWN0bHkuDQorICAgICAgICBpZiBUYXJnZXRT ZWN0aW9uLkxhc3RSZWwuRGF0YS5Jc1BhZFNlY3Rpb246DQorICAgICAgICAgICAgUGFkU2VjdGlv bk1vZGlmeShUYXJnZXRTZWN0aW9uLkxhc3RSZWwsIC00KQ0KKyAgICAgICAgZWxzZToNCisgICAg ICAgICAgICBTZWNQYXJlbnQgPSBUYXJnZXRTZWN0aW9uLlBhcmVudA0KKyAgICAgICAgICAgIFRh cmdldF9pbmRleCA9IFNlY1BhcmVudC5DaGlsZC5pbmRleChUYXJnZXRTZWN0aW9uKQ0KKyAgICAg ICAgICAgIE5ld1BhZFNlY3Rpb24gPSBTZWN0aW9uTm9kZShiJ1x4MDBceDAwXHgwMFx4MTknKQ0K KyAgICAgICAgICAgIFNlY1BhcmVudC5pbnNlcnRDaGlsZChOZXdQYWRTZWN0aW9uLCBUYXJnZXRf aW5kZXgpDQorDQorZGVmIE1vZGlmeUZ2RXh0RGF0YShUcmVlTm9kZSkgLT4gTm9uZToNCisgICAg RnZFeHREYXRhID0gYicnDQorICAgIGlmIFRyZWVOb2RlLkRhdGEuSGVhZGVyLkV4dEhlYWRlck9m ZnNldDoNCisgICAgICAgIEZ2RXh0SGVhZGVyID0gc3RydWN0MnN0cmVhbShUcmVlTm9kZS5EYXRh LkV4dEhlYWRlcikNCisgICAgICAgIEZ2RXh0RGF0YSArPSBGdkV4dEhlYWRlcg0KKyAgICBpZiBU cmVlTm9kZS5EYXRhLkhlYWRlci5FeHRIZWFkZXJPZmZzZXQgYW5kIFRyZWVOb2RlLkRhdGEuRXh0 RW50cnlFeGlzdDoNCisgICAgICAgIEZ2RXh0RW50cnkgPSBzdHJ1Y3Qyc3RyZWFtKFRyZWVOb2Rl LkRhdGEuRXh0RW50cnkpDQorICAgICAgICBGdkV4dERhdGEgKz0gRnZFeHRFbnRyeQ0KKyAgICBp ZiBGdkV4dERhdGE6DQorICAgICAgICBJbmZvTm9kZSA9IFRyZWVOb2RlLkNoaWxkWzBdDQorICAg ICAgICBJbmZvTm9kZS5EYXRhLkRhdGEgPSBGdkV4dERhdGEgKyBJbmZvTm9kZS5EYXRhLkRhdGFb VHJlZU5vZGUuRGF0YS5FeHRIZWFkZXIuRXh0SGVhZGVyU2l6ZTpdDQorICAgICAgICBJbmZvTm9k ZS5EYXRhLk1vZENoZWNrU3VtKCkNCisNCitkZWYgTW9kaWZ5RnZTeXN0ZW1HdWlkKFRhcmdldEZ2 KSAtPiBOb25lOg0KKyAgICBpZiBzdHJ1Y3Qyc3RyZWFtKFRhcmdldEZ2LkRhdGEuSGVhZGVyLkZp bGVTeXN0ZW1HdWlkKSA9PSBFRklfRklSTVdBUkVfRklMRV9TWVNURU0yX0dVSURfQllURToNCisg ICAgICAgIFRhcmdldEZ2LkRhdGEuSGVhZGVyLkZpbGVTeXN0ZW1HdWlkID0gTW9kaWZ5R3VpZEZv cm1hdCgiNTQ3M0MwN0EtM0RDQi00ZGNhLUJENkYtMUU5Njg5RTczNDlBIikNCisgICAgVGFyZ2V0 RnYuRGF0YS5Nb2RDaGVja1N1bSgpDQorICAgIFRhcmdldEZ2LkRhdGEuRGF0YSA9IGInJw0KKyAg ICBmb3IgaXRlbSBpbiBUYXJnZXRGdi5DaGlsZDoNCisgICAgICAgIGlmIGl0ZW0udHlwZSA9PSBG RlNfRlJFRV9TUEFDRToNCisgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLkRhdGEgKz0gaXRlbS5E YXRhLkRhdGEgKyBpdGVtLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAg ICBUYXJnZXRGdi5EYXRhLkRhdGEgKz0gc3RydWN0MnN0cmVhbShpdGVtLkRhdGEuSGVhZGVyKSsg aXRlbS5EYXRhLkRhdGEgKyBpdGVtLkRhdGEuUGFkRGF0YQ0KKw0KK2NsYXNzIEZ2SGFuZGxlcjoN CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIE5ld0ZmcywgVGFyZ2V0RmZzKSAtPiBOb25lOg0KKyAg ICAgICAgc2VsZi5OZXdGZnMgPSBOZXdGZnMNCisgICAgICAgIHNlbGYuVGFyZ2V0RmZzID0gVGFy Z2V0RmZzDQorICAgICAgICBzZWxmLlN0YXR1cyA9IEZhbHNlDQorICAgICAgICBzZWxmLlJlbWFp bl9OZXdfRnJlZV9TcGFjZSA9IDANCisNCisgICAgIyMgVXNlIGZvciBDb21wcmVzcyB0aGUgU2Vj dGlvbiBEYXRhDQorICAgIGRlZiBDb21wcmVzc0RhdGEoc2VsZiwgVGFyZ2V0VHJlZSkgLT4gTm9u ZToNCisgICAgICAgIFRyZWVQYXRoID0gVGFyZ2V0VHJlZS5HZXRUcmVlUGF0aCgpDQorICAgICAg ICBwb3MgPSBsZW4oVHJlZVBhdGgpDQorICAgICAgICBzZWxmLlN0YXR1cyA9IEZhbHNlDQorICAg ICAgICB3aGlsZSBwb3M6DQorICAgICAgICAgICAgaWYgbm90IHNlbGYuU3RhdHVzOg0KKyAgICAg ICAgICAgICAgICBpZiBUcmVlUGF0aFtwb3MtMV0udHlwZSA9PSBTRUNUSU9OX1RSRUUgYW5kIFRy ZWVQYXRoW3Bvcy0xXS5EYXRhLlR5cGUgPT0gMHgwMjoNCisgICAgICAgICAgICAgICAgICAgIHNl bGYuQ29tcHJlc3NTZWN0aW9uRGF0YShUcmVlUGF0aFtwb3MtMV0sIE5vbmUsIFRyZWVQYXRoW3Bv cy0xXS5EYXRhLkV4dEhlYWRlci5TZWN0aW9uRGVmaW5pdGlvbkd1aWQpDQorICAgICAgICAgICAg ICAgIGVsc2U6DQorICAgICAgICAgICAgICAgICAgICBpZiBwb3MgPT0gbGVuKFRyZWVQYXRoKToN CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLkNvbXByZXNzU2VjdGlvbkRhdGEoVHJlZVBh dGhbcG9zLTFdLCBwb3MpDQorICAgICAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuQ29tcHJlc3NTZWN0aW9uRGF0YShUcmVlUGF0aFtwb3MtMV0sIE5v bmUpDQorICAgICAgICAgICAgcG9zIC09IDENCisNCisgICAgZGVmIENvbXByZXNzU2VjdGlvbkRh dGEoc2VsZiwgVGFyZ2V0VHJlZSwgcG9zOiBpbnQsIEd1aWRUb29sPU5vbmUpIC0+IE5vbmU6DQor ICAgICAgICBOZXdEYXRhID0gYicnDQorICAgICAgICB0ZW1wX3NhdmVfY2hpbGQgPSBUYXJnZXRU cmVlLkNoaWxkDQorICAgICAgICBpZiBUYXJnZXRUcmVlLkRhdGE6DQorICAgICAgICAgICAgIyBV cGRhdGUgY3VycmVudCBub2RlIGRhdGEgYXMgYWRkaW5nIGFsbCB0aGUgaGVhZGVyIGFuZCBkYXRh IG9mIGl0cyBjaGlsZCBub2RlLg0KKyAgICAgICAgICAgIGZvciBpdGVtIGluIHRlbXBfc2F2ZV9j aGlsZDoNCisgICAgICAgICAgICAgICAgaWYgaXRlbS50eXBlID09IFNFQ1RJT05fVFJFRSBhbmQg bm90IGl0ZW0uRGF0YS5PcmlEYXRhIGFuZCBpdGVtLkRhdGEuRXh0SGVhZGVyOg0KKyAgICAgICAg ICAgICAgICAgICAgTmV3RGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5IZWFkZXIpICsg c3RydWN0MnN0cmVhbShpdGVtLkRhdGEuRXh0SGVhZGVyKSArIGl0ZW0uRGF0YS5EYXRhICsgaXRl bS5EYXRhLlBhZERhdGENCisgICAgICAgICAgICAgICAgZWxpZiBpdGVtLnR5cGUgPT0gU0VDVElP Tl9UUkVFIGFuZCBpdGVtLkRhdGEuT3JpRGF0YSBhbmQgbm90IGl0ZW0uRGF0YS5FeHRIZWFkZXI6 DQorICAgICAgICAgICAgICAgICAgICBOZXdEYXRhICs9IHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRh LkhlYWRlcikgKyBpdGVtLkRhdGEuT3JpRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAg ICAgICAgICAgIGVsaWYgaXRlbS50eXBlID09IFNFQ1RJT05fVFJFRSBhbmQgaXRlbS5EYXRhLk9y aURhdGEgYW5kIGl0ZW0uRGF0YS5FeHRIZWFkZXI6DQorICAgICAgICAgICAgICAgICAgICBOZXdE YXRhICs9IHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkhlYWRlcikgKyBzdHJ1Y3Qyc3RyZWFtKGl0 ZW0uRGF0YS5FeHRIZWFkZXIpICsgaXRlbS5EYXRhLk9yaURhdGEgKyBpdGVtLkRhdGEuUGFkRGF0 YQ0KKyAgICAgICAgICAgICAgICBlbGlmIGl0ZW0udHlwZSA9PSBGRlNfRlJFRV9TUEFDRToNCisg ICAgICAgICAgICAgICAgICAgIE5ld0RhdGEgKz0gaXRlbS5EYXRhLkRhdGEgKyBpdGVtLkRhdGEu UGFkRGF0YQ0KKyAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgTmV3 RGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5IZWFkZXIpICsgaXRlbS5EYXRhLkRhdGEg KyBpdGVtLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICMgSWYgbm9kZSBpcyBGRlNfVFJFRSwg dXBkYXRlIFBhZCBkYXRhIGFuZCBIZWFkZXIgaW5mby4NCisgICAgICAgICAgICAjIFJlbWFpbl9O ZXdfRnJlZV9TcGFjZSBpcyB1c2VkIGZvciBtb3ZlIG1vcmUgZnJlZSBzcGFjZSBpbnRvIGxzdCBs ZXZlbCBGdi4NCisgICAgICAgICAgICBpZiBUYXJnZXRUcmVlLnR5cGUgPT0gRkZTX1RSRUU6DQor ICAgICAgICAgICAgICAgIE5ld19QYWRfU2l6ZSA9IEdldFBhZFNpemUobGVuKE5ld0RhdGEpLCA4 KQ0KKyAgICAgICAgICAgICAgICBTaXplX2RlbHRhID0gbGVuKE5ld0RhdGEpIC0gbGVuKFRhcmdl dFRyZWUuRGF0YS5EYXRhKQ0KKyAgICAgICAgICAgICAgICBDaGFuZ2VTaXplKFRhcmdldFRyZWUs IC1TaXplX2RlbHRhKQ0KKyAgICAgICAgICAgICAgICBEZWx0YV9QYWRfU2l6ZSA9IGxlbihUYXJn ZXRUcmVlLkRhdGEuUGFkRGF0YSkgLSBOZXdfUGFkX1NpemUNCisgICAgICAgICAgICAgICAgc2Vs Zi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UgKz0gRGVsdGFfUGFkX1NpemUNCisgICAgICAgICAgICAg ICAgVGFyZ2V0VHJlZS5EYXRhLlBhZERhdGEgPSBiJ1x4ZmYnICogTmV3X1BhZF9TaXplDQorICAg ICAgICAgICAgICAgIFRhcmdldFRyZWUuRGF0YS5Nb2RDaGVja1N1bSgpDQorICAgICAgICAgICAg IyBJZiBub2RlIGlzIEZWX1RSRUUsIHVwZGF0ZSBQYWQgZGF0YSBhbmQgSGVhZGVyIGluZm8uDQor ICAgICAgICAgICAgIyBDb25zdW1lIFJlbWFpbl9OZXdfRnJlZV9TcGFjZSBpcyB1c2VkIGZvciBt b3ZlIG1vcmUgZnJlZSBzcGFjZSBpbnRvIGxzdCBsZXZlbCBGdi4NCisgICAgICAgICAgICBlbGlm IFRhcmdldFRyZWUudHlwZSA9PSBGVl9UUkVFIG9yIFRhcmdldFRyZWUudHlwZSA9PSBTRUNfRlZf VFJFRSBhbmQgbm90IHBvczoNCisgICAgICAgICAgICAgICAgaWYgc2VsZi5SZW1haW5fTmV3X0Zy ZWVfU3BhY2U6DQorICAgICAgICAgICAgICAgICAgICBpZiBUYXJnZXRUcmVlLkRhdGEuRnJlZV9T cGFjZToNCisgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRUcmVlLkRhdGEuRnJlZV9TcGFj ZSArPSBzZWxmLlJlbWFpbl9OZXdfRnJlZV9TcGFjZQ0KKyAgICAgICAgICAgICAgICAgICAgICAg IE5ld0RhdGEgKz0gc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UgKiBiJ1x4ZmYnDQorICAgICAg ICAgICAgICAgICAgICAgICAgVGFyZ2V0VHJlZS5DaGlsZFstMV0uRGF0YS5EYXRhICs9IHNlbGYu UmVtYWluX05ld19GcmVlX1NwYWNlICogYidceGZmJw0KKyAgICAgICAgICAgICAgICAgICAgZWxz ZToNCisgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRUcmVlLkRhdGEuRGF0YSArPSBzZWxm LlJlbWFpbl9OZXdfRnJlZV9TcGFjZSAqIGInXHhmZicNCisgICAgICAgICAgICAgICAgICAgICAg ICBOZXdfRnJlZV9TcGFjZSA9IEJJT1NUUkVFKCdGUkVFX1NQQUNFJykNCisgICAgICAgICAgICAg ICAgICAgICAgICBOZXdfRnJlZV9TcGFjZS50eXBlID0gRkZTX0ZSRUVfU1BBQ0UNCisgICAgICAg ICAgICAgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZS5EYXRhID0gRnJlZVNwYWNlTm9kZShiJ1x4 ZmYnICogc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UpDQorICAgICAgICAgICAgICAgICAgICAg ICAgVGFyZ2V0VHJlZS5pbnNlcnRDaGlsZChOZXdfRnJlZV9TcGFjZSkNCisgICAgICAgICAgICAg ICAgICAgIHNlbGYuUmVtYWluX05ld19GcmVlX1NwYWNlID0gMA0KKyAgICAgICAgICAgICAgICBp ZiBUYXJnZXRUcmVlLnR5cGUgPT0gU0VDX0ZWX1RSRUU6DQorICAgICAgICAgICAgICAgICAgICBT aXplX2RlbHRhID0gbGVuKE5ld0RhdGEpICsgc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UgLSBs ZW4oVGFyZ2V0VHJlZS5EYXRhLkRhdGEpDQorICAgICAgICAgICAgICAgICAgICBUYXJnZXRUcmVl LkRhdGEuSGVhZGVyLkZ2TGVuZ3RoICs9IFNpemVfZGVsdGENCisgICAgICAgICAgICAgICAgVGFy Z2V0VHJlZS5EYXRhLk1vZEZ2RXh0KCkNCisgICAgICAgICAgICAgICAgVGFyZ2V0VHJlZS5EYXRh Lk1vZEZ2U2l6ZSgpDQorICAgICAgICAgICAgICAgIFRhcmdldFRyZWUuRGF0YS5Nb2RFeHRIZWFk ZXJEYXRhKCkNCisgICAgICAgICAgICAgICAgTW9kaWZ5RnZFeHREYXRhKFRhcmdldFRyZWUpDQor ICAgICAgICAgICAgICAgIFRhcmdldFRyZWUuRGF0YS5Nb2RDaGVja1N1bSgpDQorICAgICAgICAg ICAgIyBJZiBub2RlIGlzIFNFQ1RJT05fVFJFRSBhbmQgbm90IGd1aWRlZCBzZWN0aW9uLCB1cGRh dGUgUGFkIGRhdGEgYW5kIEhlYWRlciBpbmZvLg0KKyAgICAgICAgICAgICMgUmVtYWluX05ld19G cmVlX1NwYWNlIGlzIHVzZWQgZm9yIG1vdmUgbW9yZSBmcmVlIHNwYWNlIGludG8gbHN0IGxldmVs IEZ2Lg0KKyAgICAgICAgICAgIGVsaWYgVGFyZ2V0VHJlZS50eXBlID09IFNFQ1RJT05fVFJFRSBh bmQgVGFyZ2V0VHJlZS5EYXRhLlR5cGUgIT0gMHgwMjoNCisgICAgICAgICAgICAgICAgTmV3X1Bh ZF9TaXplID0gR2V0UGFkU2l6ZShsZW4oTmV3RGF0YSksIDQpDQorICAgICAgICAgICAgICAgIFNp emVfZGVsdGEgPSBsZW4oTmV3RGF0YSkgLSBsZW4oVGFyZ2V0VHJlZS5EYXRhLkRhdGEpDQorICAg ICAgICAgICAgICAgIENoYW5nZVNpemUoVGFyZ2V0VHJlZSwgLVNpemVfZGVsdGEpDQorICAgICAg ICAgICAgICAgIGlmIFRhcmdldFRyZWUuTmV4dFJlbDoNCisgICAgICAgICAgICAgICAgICAgIERl bHRhX1BhZF9TaXplID0gbGVuKFRhcmdldFRyZWUuRGF0YS5QYWREYXRhKSAtIE5ld19QYWRfU2l6 ZQ0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UgKz0gRGVs dGFfUGFkX1NpemUNCisgICAgICAgICAgICAgICAgICAgIFRhcmdldFRyZWUuRGF0YS5QYWREYXRh ID0gYidceDAwJyAqIE5ld19QYWRfU2l6ZQ0KKyAgICAgICAgICAgIFRhcmdldFRyZWUuRGF0YS5E YXRhID0gTmV3RGF0YQ0KKyAgICAgICAgaWYgR3VpZFRvb2w6DQorICAgICAgICAgICAgZ3VpZHRv b2wgPSBHVUlEVG9vbHMoKS5fX2dldGl0ZW1fXyhzdHJ1Y3Qyc3RyZWFtKEd1aWRUb29sKSkNCisg ICAgICAgICAgICBpZiBub3QgZ3VpZHRvb2wuaWZleGlzdDoNCisgICAgICAgICAgICAgICAgbG9n Z2VyLmVycm9yKCJHdWlkVG9vbCB7fSBpcyBub3QgZm91bmQgd2hlbiBkZWNvbXByZXNzaW5nIHt9 IGZpbGUuXG4iLmZvcm1hdChndWlkdG9vbC5jb21tYW5kLCBUYXJnZXRUcmVlLlBhcmVudC5EYXRh Lk5hbWUpKQ0KKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlByb2Nlc3MgRmFpbGVk OiBHdWlkVG9vbCBub3QgZm91bmQhIikNCisgICAgICAgICAgICBDb21wcmVzc2VkRGF0YSA9IGd1 aWR0b29sLnBhY2soVGFyZ2V0VHJlZS5EYXRhLkRhdGEpDQorICAgICAgICAgICAgaWYgbGVuKENv bXByZXNzZWREYXRhKSA8IGxlbihUYXJnZXRUcmVlLkRhdGEuT3JpRGF0YSk6DQorICAgICAgICAg ICAgICAgIE5ld19QYWRfU2l6ZSA9IEdldFBhZFNpemUobGVuKENvbXByZXNzZWREYXRhKSwgU0VD VElPTl9DT01NT05fQUxJR05NRU5UKQ0KKyAgICAgICAgICAgICAgICBTaXplX2RlbHRhID0gbGVu KENvbXByZXNzZWREYXRhKSAtIGxlbihUYXJnZXRUcmVlLkRhdGEuT3JpRGF0YSkNCisgICAgICAg ICAgICAgICAgQ2hhbmdlU2l6ZShUYXJnZXRUcmVlLCAtU2l6ZV9kZWx0YSkNCisgICAgICAgICAg ICAgICAgaWYgVGFyZ2V0VHJlZS5OZXh0UmVsOg0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0 VHJlZS5EYXRhLlBhZERhdGEgPSBiJ1x4MDAnICogTmV3X1BhZF9TaXplDQorICAgICAgICAgICAg ICAgICAgICBzZWxmLlJlbWFpbl9OZXdfRnJlZV9TcGFjZSA9IGxlbihUYXJnZXRUcmVlLkRhdGEu T3JpRGF0YSkgKyBsZW4oVGFyZ2V0VHJlZS5EYXRhLlBhZERhdGEpIC0gbGVuKENvbXByZXNzZWRE YXRhKSAtIE5ld19QYWRfU2l6ZQ0KKyAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAg ICAgICAgICAgVGFyZ2V0VHJlZS5EYXRhLlBhZERhdGEgPSBiJycNCisgICAgICAgICAgICAgICAg ICAgIHNlbGYuUmVtYWluX05ld19GcmVlX1NwYWNlID0gbGVuKFRhcmdldFRyZWUuRGF0YS5PcmlE YXRhKSAtIGxlbihDb21wcmVzc2VkRGF0YSkNCisgICAgICAgICAgICAgICAgVGFyZ2V0VHJlZS5E YXRhLk9yaURhdGEgPSBDb21wcmVzc2VkRGF0YQ0KKyAgICAgICAgICAgIGVsaWYgbGVuKENvbXBy ZXNzZWREYXRhKSA9PSBsZW4oVGFyZ2V0VHJlZS5EYXRhLk9yaURhdGEpOg0KKyAgICAgICAgICAg ICAgICBUYXJnZXRUcmVlLkRhdGEuT3JpRGF0YSA9IENvbXByZXNzZWREYXRhDQorICAgICAgICAg ICAgZWxpZiBsZW4oQ29tcHJlc3NlZERhdGEpID4gbGVuKFRhcmdldFRyZWUuRGF0YS5PcmlEYXRh KToNCisgICAgICAgICAgICAgICAgTmV3X1BhZF9TaXplID0gR2V0UGFkU2l6ZShsZW4oQ29tcHJl c3NlZERhdGEpLCBTRUNUSU9OX0NPTU1PTl9BTElHTk1FTlQpDQorICAgICAgICAgICAgICAgIHNl bGYuUmVtYWluX05ld19GcmVlX1NwYWNlID0gbGVuKENvbXByZXNzZWREYXRhKSArIE5ld19QYWRf U2l6ZSAtIGxlbihUYXJnZXRUcmVlLkRhdGEuT3JpRGF0YSkgLSBsZW4oVGFyZ2V0VHJlZS5EYXRh LlBhZERhdGEpDQorICAgICAgICAgICAgICAgIHNlbGYuTW9kaWZ5VGVzdChUYXJnZXRUcmVlLCBz ZWxmLlJlbWFpbl9OZXdfRnJlZV9TcGFjZSkNCisgICAgICAgICAgICAgICAgc2VsZi5TdGF0dXMg PSBUcnVlDQorDQorICAgIGRlZiBNb2RpZnlUZXN0KHNlbGYsIFBhclRyZWUsIE5lZWRlZF9TcGFj ZTogaW50KSAtPiBOb25lOg0KKyAgICAgICAgIyBJZiBoYXZlIG5lZWRlZCBzcGFjZSwgd2lsbCBm aW5kIGlmIHRoZXJlIGhhdmUgZnJlZSBzcGFjZSBpbiBwYXJlbnQgdHJlZSwgbWVhbndoaWxlIHVw ZGF0ZSB0aGUgbm9kZSBkYXRhLg0KKyAgICAgICAgaWYgTmVlZGVkX1NwYWNlID4gMDoNCisgICAg ICAgICAgICAjIElmIGN1cnJlbnQgbm9kZSBpcyBhIEZ2IG5vZGUNCisgICAgICAgICAgICBpZiBQ YXJUcmVlLnR5cGUgPT0gRlZfVFJFRSBvciBQYXJUcmVlLnR5cGUgPT0gU0VDX0ZWX1RSRUU6DQor ICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5EYXRhID0gYicnDQorICAgICAgICAgICAgICAg ICMgRmlyc3QgY2hlY2sgaWYgRnYgZnJlZSBzcGFjZSBpcyBlbm91Z2ggZm9yIG5lZWRlZCBzcGFj ZS4NCisgICAgICAgICAgICAgICAgIyBJZiBzbywgdXNlIHRoZSBjdXJyZW50IEZ2IGZyZWUgc3Bh Y2U7DQorICAgICAgICAgICAgICAgICMgRWxzZSwgdXNlIGFsbCB0aGUgRnJlZSBzcGFjZSwgYW5k IHJlY2FsY3VsYXRlIG5lZWRlZCBzcGFjZSwgY29udGludWUgZmluZGluZyBpbiBpdHMgcGFyZW50 IG5vZGUuDQorICAgICAgICAgICAgICAgIE5lZWRlZF9TcGFjZSA9IE5lZWRlZF9TcGFjZSAtIFBh clRyZWUuRGF0YS5GcmVlX1NwYWNlDQorICAgICAgICAgICAgICAgIGlmIE5lZWRlZF9TcGFjZSA8 IDA6DQorICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkNoaWxkWy0xXS5EYXRhLkRhdGEgPSBi J1x4ZmYnICogKC1OZWVkZWRfU3BhY2UpDQorICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRh dGEuRnJlZV9TcGFjZSA9ICgtTmVlZGVkX1NwYWNlKQ0KKyAgICAgICAgICAgICAgICAgICAgc2Vs Zi5TdGF0dXMgPSBUcnVlDQorICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAg ICAgICBpZiBQYXJUcmVlLnR5cGUgPT0gRlZfVFJFRToNCisgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLlN0YXR1cyA9IEZhbHNlDQorICAgICAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAg ICAgICAgICAgICAgICAgICAgIEJsb2NrU2l6ZSA9IFBhclRyZWUuRGF0YS5IZWFkZXIuQmxvY2tN YXBbMF0uTGVuZ3RoDQorICAgICAgICAgICAgICAgICAgICAgICAgTmV3X0FkZF9MZW4gPSBCbG9j a1NpemUgLSBOZWVkZWRfU3BhY2UlQmxvY2tTaXplDQorICAgICAgICAgICAgICAgICAgICAgICAg aWYgTmV3X0FkZF9MZW4gJSBCbG9ja1NpemU6DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBhclRyZWUuQ2hpbGRbLTFdLkRhdGEuRGF0YSA9IGInXHhmZicgKiBOZXdfQWRkX0xlbg0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuRnJlZV9TcGFjZSA9IE5ld19B ZGRfTGVuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5lZWRlZF9TcGFjZSArPSBOZXdf QWRkX0xlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBhclRyZWUuQ2hpbGQucmVtb3ZlKFBhclRyZWUuQ2hpbGRbLTFdKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuRnJlZV9TcGFjZSA9IDANCisg ICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuU2l6ZSArPSBOZWVkZWRfU3BhY2UN CisgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuSGVhZGVyLkZ2bGVuZ3RoID0g UGFyVHJlZS5EYXRhLlNpemUNCisgICAgICAgICAgICAgICAgTW9kaWZ5RnZTeXN0ZW1HdWlkKFBh clRyZWUpDQorICAgICAgICAgICAgICAgIGZvciBpdGVtIGluIFBhclRyZWUuQ2hpbGQ6DQorICAg ICAgICAgICAgICAgICAgICBpZiBpdGVtLnR5cGUgPT0gRkZTX0ZSRUVfU1BBQ0U6DQorICAgICAg ICAgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLkRhdGEgKz0gaXRlbS5EYXRhLkRhdGEgKyBp dGVtLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAg ICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuRGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0 YS5IZWFkZXIpKyBpdGVtLkRhdGEuRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAgICAg ICAgICAgIFBhclRyZWUuRGF0YS5Nb2RGdkV4dCgpDQorICAgICAgICAgICAgICAgIFBhclRyZWUu RGF0YS5Nb2RGdlNpemUoKQ0KKyAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuTW9kRXh0SGVh ZGVyRGF0YSgpDQorICAgICAgICAgICAgICAgIE1vZGlmeUZ2RXh0RGF0YShQYXJUcmVlKQ0KKyAg ICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuTW9kQ2hlY2tTdW0oKQ0KKyAgICAgICAgICAgICMg SWYgY3VycmVudCBub2RlIGlzIGEgRmZzIG5vZGUNCisgICAgICAgICAgICBlbGlmIFBhclRyZWUu dHlwZSA9PSBGRlNfVFJFRToNCisgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLkRhdGEgPSBi JycNCisgICAgICAgICAgICAgICAgT3JpSGVhZGVyTGVuID0gUGFyVHJlZS5EYXRhLkhlYWRlckxl bmd0aA0KKyAgICAgICAgICAgICAgICAjIFVwZGF0ZSBpdHMgZGF0YSBhcyBhZGRpbmcgYWxsIHRo ZSBoZWFkZXIgYW5kIGRhdGEgb2YgaXRzIGNoaWxkIG5vZGUuDQorICAgICAgICAgICAgICAgIGZv ciBpdGVtIGluIFBhclRyZWUuQ2hpbGQ6DQorICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLkRh dGEuT3JpRGF0YToNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLkRhdGEuRXh0SGVh ZGVyOg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuRGF0YSArPSBz dHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5IZWFkZXIpICsgc3RydWN0MnN0cmVhbShpdGVtLkRhdGEu RXh0SGVhZGVyKSArIGl0ZW0uRGF0YS5PcmlEYXRhICsgaXRlbS5EYXRhLlBhZERhdGENCisgICAg ICAgICAgICAgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ YXJUcmVlLkRhdGEuRGF0YSArPSBzdHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5IZWFkZXIpKyBpdGVt LkRhdGEuT3JpRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAgICAgICAgICAgICAgICBl bHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0uRGF0YS5FeHRIZWFkZXI6DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5EYXRhICs9IHN0cnVjdDJz dHJlYW0oaXRlbS5EYXRhLkhlYWRlcikgKyBzdHJ1Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5FeHRIZWFk ZXIpICsgaXRlbS5EYXRhLkRhdGEgKyBpdGVtLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0 YS5EYXRhICs9IHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkhlYWRlcikrIGl0ZW0uRGF0YS5EYXRh ICsgaXRlbS5EYXRhLlBhZERhdGENCisgICAgICAgICAgICAgICAgQ2hhbmdlU2l6ZShQYXJUcmVl LCAtTmVlZGVkX1NwYWNlKQ0KKyAgICAgICAgICAgICAgICBNb2RpZnlGZnNUeXBlKFBhclRyZWUp DQorICAgICAgICAgICAgICAgICMgUmVjYWxjdWxhdGUgcGFkIGRhdGEsIHVwZGF0ZSBuZWVkZWQg c3BhY2Ugd2l0aCBEZWx0YV9QYWRfU2l6ZS4NCisgICAgICAgICAgICAgICAgTmVlZGVkX1NwYWNl ICs9IFBhclRyZWUuRGF0YS5IZWFkZXJMZW5ndGggLSBPcmlIZWFkZXJMZW4NCisgICAgICAgICAg ICAgICAgTmV3X1BhZF9TaXplID0gR2V0UGFkU2l6ZShQYXJUcmVlLkRhdGEuU2l6ZSwgRkZTX0NP TU1PTl9BTElHTk1FTlQpDQorICAgICAgICAgICAgICAgIERlbHRhX1BhZF9TaXplID0gTmV3X1Bh ZF9TaXplIC0gbGVuKFBhclRyZWUuRGF0YS5QYWREYXRhKQ0KKyAgICAgICAgICAgICAgICBOZWVk ZWRfU3BhY2UgKz0gRGVsdGFfUGFkX1NpemUNCisgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRh LlBhZERhdGEgPSBiJ1x4ZmYnICogR2V0UGFkU2l6ZShQYXJUcmVlLkRhdGEuU2l6ZSwgRkZTX0NP TU1PTl9BTElHTk1FTlQpDQorICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5Nb2RDaGVja1N1 bSgpDQorICAgICAgICAgICAgIyBJZiBjdXJyZW50IG5vZGUgaXMgYSBTZWN0aW9uIG5vZGUNCisg ICAgICAgICAgICBlbGlmIFBhclRyZWUudHlwZSA9PSBTRUNUSU9OX1RSRUU6DQorICAgICAgICAg ICAgICAgIE9yaURhdGEgPSBQYXJUcmVlLkRhdGEuRGF0YQ0KKyAgICAgICAgICAgICAgICBPcmlI ZWFkZXJMZW4gPSBQYXJUcmVlLkRhdGEuSGVhZGVyTGVuZ3RoDQorICAgICAgICAgICAgICAgIFBh clRyZWUuRGF0YS5EYXRhID0gYicnDQorICAgICAgICAgICAgICAgICMgVXBkYXRlIGl0cyBkYXRh IGFzIGFkZGluZyBhbGwgdGhlIGhlYWRlciBhbmQgZGF0YSBvZiBpdHMgY2hpbGQgbm9kZS4NCisg ICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gUGFyVHJlZS5DaGlsZDoNCisgICAgICAgICAgICAg ICAgICAgIGlmIGl0ZW0udHlwZSA9PSBTRUNUSU9OX1RSRUUgYW5kIGl0ZW0uRGF0YS5FeHRIZWFk ZXIgYW5kIGl0ZW0uRGF0YS5UeXBlICE9IDB4MDI6DQorICAgICAgICAgICAgICAgICAgICAgICAg UGFyVHJlZS5EYXRhLkRhdGEgKz0gc3RydWN0MnN0cmVhbShpdGVtLkRhdGEuSGVhZGVyKSArIHN0 cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkV4dEhlYWRlcikgKyBpdGVtLkRhdGEuRGF0YSArIGl0ZW0u RGF0YS5QYWREYXRhDQorICAgICAgICAgICAgICAgICAgICBlbGlmIGl0ZW0udHlwZSA9PSBTRUNU SU9OX1RSRUUgYW5kIGl0ZW0uRGF0YS5FeHRIZWFkZXIgYW5kIGl0ZW0uRGF0YS5UeXBlID09IDB4 MDI6DQorICAgICAgICAgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLkRhdGEgKz0gc3RydWN0 MnN0cmVhbShpdGVtLkRhdGEuSGVhZGVyKSArIHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkV4dEhl YWRlcikgKyBpdGVtLkRhdGEuT3JpRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAgICAg ICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5E YXRhICs9IHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkhlYWRlcikgKyBpdGVtLkRhdGEuRGF0YSAr IGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAgICAgICAgICAgICMgSWYgdGhlIGN1cnJlbnQgc2Vj dGlvbiBpcyBndWlkZWQgc2VjdGlvbg0KKyAgICAgICAgICAgICAgICBpZiBQYXJUcmVlLkRhdGEu VHlwZSA9PSAweDAyOg0KKyAgICAgICAgICAgICAgICAgICAgZ3VpZHRvb2wgPSBHVUlEVG9vbHMo KS5fX2dldGl0ZW1fXyhzdHJ1Y3Qyc3RyZWFtKFBhclRyZWUuRGF0YS5FeHRIZWFkZXIuU2VjdGlv bkRlZmluaXRpb25HdWlkKSkNCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBndWlkdG9vbC5p ZmV4aXN0Og0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiR3VpZFRvb2wg e30gaXMgbm90IGZvdW5kIHdoZW4gZGVjb21wcmVzc2luZyB7fSBmaWxlLlxuIi5mb3JtYXQoZ3Vp ZHRvb2wuY29tbWFuZCwgUGFyVHJlZS5QYXJlbnQuRGF0YS5OYW1lKSkNCisgICAgICAgICAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlByb2Nlc3MgRmFpbGVkOiBHdWlkVG9vbCBub3Qg Zm91bmQhIikNCisgICAgICAgICAgICAgICAgICAgICMgUmVjb21wcmVzcyBjdXJyZW50IGRhdGEs IGFuZCByZWNhbGN1bGF0ZSB0aGUgbmVlZGVkIHNwYWNlDQorICAgICAgICAgICAgICAgICAgICBD b21wcmVzc2VkRGF0YSA9IGd1aWR0b29sLnBhY2soUGFyVHJlZS5EYXRhLkRhdGEpDQorICAgICAg ICAgICAgICAgICAgICBOZWVkZWRfU3BhY2UgPSBsZW4oQ29tcHJlc3NlZERhdGEpIC0gbGVuKFBh clRyZWUuRGF0YS5PcmlEYXRhKQ0KKyAgICAgICAgICAgICAgICAgICAgUGFyVHJlZS5EYXRhLk9y aURhdGEgPSBDb21wcmVzc2VkRGF0YQ0KKyAgICAgICAgICAgICAgICAgICAgTmV3X1NpemUgPSBQ YXJUcmVlLkRhdGEuSGVhZGVyTGVuZ3RoICsgbGVuKENvbXByZXNzZWREYXRhKQ0KKyAgICAgICAg ICAgICAgICAgICAgUGFyVHJlZS5EYXRhLkhlYWRlci5TaXplWzBdID0gTmV3X1NpemUgJSAoMTYq KjIpDQorICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuSGVhZGVyLlNpemVbMV0gPSBO ZXdfU2l6ZSAlICgxNioqNCkgLy8oMTYqKjIpDQorICAgICAgICAgICAgICAgICAgICBQYXJUcmVl LkRhdGEuSGVhZGVyLlNpemVbMl0gPSBOZXdfU2l6ZSAvLyAoMTYqKjQpDQorICAgICAgICAgICAg ICAgICAgICBQYXJUcmVlLkRhdGEuU2l6ZSA9IFBhclRyZWUuRGF0YS5IZWFkZXIuU0VDVElPTl9T SVpFDQorICAgICAgICAgICAgICAgICAgICBNb2RpZnlTZWN0aW9uVHlwZShQYXJUcmVlKQ0KKyAg ICAgICAgICAgICAgICAgICAgTmVlZGVkX1NwYWNlICs9IFBhclRyZWUuRGF0YS5IZWFkZXJMZW5n dGggLSBPcmlIZWFkZXJMZW4NCisgICAgICAgICAgICAgICAgICAgICMgVXBkYXRlIG5lZWRlZCBz cGFjZSB3aXRoIERlbHRhX1BhZF9TaXplDQorICAgICAgICAgICAgICAgICAgICBpZiBQYXJUcmVl Lk5leHRSZWw6DQorICAgICAgICAgICAgICAgICAgICAgICAgTmV3X1BhZF9TaXplID0gR2V0UGFk U2l6ZShQYXJUcmVlLkRhdGEuU2l6ZSwgU0VDVElPTl9DT01NT05fQUxJR05NRU5UKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgIERlbHRhX1BhZF9TaXplID0gTmV3X1BhZF9TaXplIC0gbGVuKFBh clRyZWUuRGF0YS5QYWREYXRhKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0 YS5QYWREYXRhID0gYidceDAwJyAqIE5ld19QYWRfU2l6ZQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgIE5lZWRlZF9TcGFjZSArPSBEZWx0YV9QYWRfU2l6ZQ0KKyAgICAgICAgICAgICAgICAgICAg ZWxzZToNCisgICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuUGFkRGF0YSA9IGIn Jw0KKyAgICAgICAgICAgICAgICAgICAgaWYgTmVlZGVkX1NwYWNlIDwgMDoNCisgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLlJlbWFpbl9OZXdfRnJlZV9TcGFjZSA9IGxlbihQYXJUcmVlLkRh dGEuT3JpRGF0YSkgLSBsZW4oQ29tcHJlc3NlZERhdGEpDQorICAgICAgICAgICAgICAgICMgSWYg Y3VycmVudCBzZWN0aW9uIGlzIG5vdCBndWlkZWQgc2VjdGlvbg0KKyAgICAgICAgICAgICAgICBl bGlmIE5lZWRlZF9TcGFjZToNCisgICAgICAgICAgICAgICAgICAgIENoYW5nZVNpemUoUGFyVHJl ZSwgLU5lZWRlZF9TcGFjZSkNCisgICAgICAgICAgICAgICAgICAgIE1vZGlmeVNlY3Rpb25UeXBl KFBhclRyZWUpDQorICAgICAgICAgICAgICAgICAgICAjIFVwZGF0ZSBuZWVkZWQgc3BhY2Ugd2l0 aCBEZWx0YV9QYWRfU2l6ZQ0KKyAgICAgICAgICAgICAgICAgICAgTmVlZGVkX1NwYWNlICs9IFBh clRyZWUuRGF0YS5IZWFkZXJMZW5ndGggLSBPcmlIZWFkZXJMZW4NCisgICAgICAgICAgICAgICAg ICAgIE5ld19QYWRfU2l6ZSA9IEdldFBhZFNpemUoUGFyVHJlZS5EYXRhLlNpemUsIFNFQ1RJT05f Q09NTU9OX0FMSUdOTUVOVCkNCisgICAgICAgICAgICAgICAgICAgIERlbHRhX1BhZF9TaXplID0g TmV3X1BhZF9TaXplIC0gbGVuKFBhclRyZWUuRGF0YS5QYWREYXRhKQ0KKyAgICAgICAgICAgICAg ICAgICAgTmVlZGVkX1NwYWNlICs9IERlbHRhX1BhZF9TaXplDQorICAgICAgICAgICAgICAgICAg ICBQYXJUcmVlLkRhdGEuUGFkRGF0YSA9IGInXHgwMCcgKiBOZXdfUGFkX1NpemUNCisgICAgICAg ICAgICBOZXdQYXJUcmVlID0gUGFyVHJlZS5QYXJlbnQNCisgICAgICAgICAgICBST09UX1RZUEUg PSBbUk9PVF9GVl9UUkVFLCBST09UX0ZGU19UUkVFLCBST09UX1NFQ1RJT05fVFJFRSwgUk9PVF9U UkVFXQ0KKyAgICAgICAgICAgIGlmIE5ld1BhclRyZWUgYW5kIE5ld1BhclRyZWUudHlwZSBub3Qg aW4gUk9PVF9UWVBFOg0KKyAgICAgICAgICAgICAgICBzZWxmLk1vZGlmeVRlc3QoTmV3UGFyVHJl ZSwgTmVlZGVkX1NwYWNlKQ0KKyAgICAgICAgIyBJZiBjdXJyZW50IG5vZGUgaGF2ZSBlbm91Z2gg c3BhY2UsIHdpbGwgcmVjb21wcmVzcyBhbGwgdGhlIHJlbGF0ZWQgbm9kZSBkYXRhLCByZXR1cm4g dHJ1ZS4NCisgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgc2VsZi5Db21wcmVzc0RhdGEoUGFy VHJlZSkNCisgICAgICAgICAgICBzZWxmLlN0YXR1cyA9IFRydWUNCisNCisgICAgZGVmIFJlcGxh Y2VGZnMoc2VsZikgLT4gYm9vbDoNCisgICAgICAgIGxvZ2dlci5kZWJ1ZygnU3RhcnQgUmVwbGFj aW5nIFByb2Nlc3MuLi4uLi4nKQ0KKyAgICAgICAgVGFyZ2V0RnYgPSBzZWxmLlRhcmdldEZmcy5Q YXJlbnQNCisgICAgICAgICMgSWYgdGhlIEZ2IEhlYWRlciBBdHRyaWJ1dGVzIGlzIEVGSV9GVkIy X0VSQVNFX1BPTEFSSVRZLCBDaGlsZCBGZnMgSGVhZGVyIFN0YXRlIG5lZWQgYmUgcmV2ZXJzZWQu DQorICAgICAgICBpZiBUYXJnZXRGdi5EYXRhLkhlYWRlci5BdHRyaWJ1dGVzICYgRUZJX0ZWQjJf RVJBU0VfUE9MQVJJVFk6DQorICAgICAgICAgICAgICAgIHNlbGYuTmV3RmZzLkRhdGEuSGVhZGVy LlN0YXRlID0gY191aW50OCgNCisgICAgICAgICAgICAgICAgICAgIH5zZWxmLk5ld0Zmcy5EYXRh LkhlYWRlci5TdGF0ZSkNCisgICAgICAgICMgTmV3RmZzIHBhcnNpbmcgd2lsbCBub3QgY2FsY3Vs YXRlIHRoZSBQYWRTaXplLCB0aHVzIHJlY2FsY3VsYXRlLg0KKyAgICAgICAgc2VsZi5OZXdGZnMu RGF0YS5QYWREYXRhID0gYidceGZmJyAqIEdldFBhZFNpemUoc2VsZi5OZXdGZnMuRGF0YS5TaXpl LCBGRlNfQ09NTU9OX0FMSUdOTUVOVCkNCisgICAgICAgIGlmIHNlbGYuTmV3RmZzLkRhdGEuU2l6 ZSA+PSBzZWxmLlRhcmdldEZmcy5EYXRhLlNpemU6DQorICAgICAgICAgICAgTmVlZGVkX1NwYWNl ID0gc2VsZi5OZXdGZnMuRGF0YS5TaXplICsgbGVuKHNlbGYuTmV3RmZzLkRhdGEuUGFkRGF0YSkg LSBzZWxmLlRhcmdldEZmcy5EYXRhLlNpemUgLSBsZW4oc2VsZi5UYXJnZXRGZnMuRGF0YS5QYWRE YXRhKQ0KKyAgICAgICAgICAgICMgSWYgVGFyZ2V0RnYgaGF2ZSBlbm91Z2ggZnJlZSBzcGFjZSwg anVzdCBtb3ZlIHBhcnQgb2YgdGhlIGZyZWUgc3BhY2UgdG8gTmV3RmZzLg0KKyAgICAgICAgICAg IGlmIFRhcmdldEZ2LkRhdGEuRnJlZV9TcGFjZSA+PSBOZWVkZWRfU3BhY2U6DQorICAgICAgICAg ICAgICAgICMgTW9kaWZ5IFRhcmdldEZ2IENoaWxkIGluZm8gYW5kIEJpb3NUcmVlLg0KKyAgICAg ICAgICAgICAgICBUYXJnZXRGdi5DaGlsZFstMV0uRGF0YS5EYXRhID0gYidceGZmJyAqIChUYXJn ZXRGdi5EYXRhLkZyZWVfU3BhY2UgLSBOZWVkZWRfU3BhY2UpDQorICAgICAgICAgICAgICAgIFRh cmdldEZ2LkRhdGEuRnJlZV9TcGFjZSAtPSBOZWVkZWRfU3BhY2UNCisgICAgICAgICAgICAgICAg VGFyZ2V0X2luZGV4ID0gVGFyZ2V0RnYuQ2hpbGQuaW5kZXgoc2VsZi5UYXJnZXRGZnMpDQorICAg ICAgICAgICAgICAgIFRhcmdldEZ2LkNoaWxkLnJlbW92ZShzZWxmLlRhcmdldEZmcykNCisgICAg ICAgICAgICAgICAgVGFyZ2V0RnYuaW5zZXJ0Q2hpbGQoc2VsZi5OZXdGZnMsIFRhcmdldF9pbmRl eCkNCisgICAgICAgICAgICAgICAgIyBNb2RpZnkgVGFyZ2V0RnYgSGVhZGVyIGFuZCBFeHRIZWFk ZXIgaW5mby4NCisgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5Nb2RGdkV4dCgpDQorICAg ICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kRnZTaXplKCkNCisgICAgICAgICAgICAgICAg VGFyZ2V0RnYuRGF0YS5Nb2RFeHRIZWFkZXJEYXRhKCkNCisgICAgICAgICAgICAgICAgTW9kaWZ5 RnZFeHREYXRhKFRhcmdldEZ2KQ0KKyAgICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLk1vZENo ZWNrU3VtKCkNCisgICAgICAgICAgICAgICAgIyBSZWNvbXByZXNzIGZyb20gdGhlIEZ2IG5vZGUg dG8gdXBkYXRlIGFsbCB0aGUgcmVsYXRlZCBub2RlIGRhdGEuDQorICAgICAgICAgICAgICAgIHNl bGYuQ29tcHJlc3NEYXRhKFRhcmdldEZ2KQ0KKyAgICAgICAgICAgICAgICAjIHJldHVybiB0aGUg U3RhdHVzDQorICAgICAgICAgICAgICAgIHNlbGYuU3RhdHVzID0gVHJ1ZQ0KKyAgICAgICAgICAg ICMgSWYgVGFyZ2V0RnYgZG8gbm90IGhhdmUgZW5vdWdoIGZyZWUgc3BhY2UsIG5lZWQgbW92ZSBw YXJ0IG9mIHRoZSBmcmVlIHNwYWNlIG9mIFRhcmdldEZ2J3MgcGFyZW50IEZ2IHRvIFRhcmdldEZ2 L05ld0Zmcy4NCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBpZiBUYXJnZXRG di50eXBlID09IEZWX1RSRUU6DQorICAgICAgICAgICAgICAgICAgICBzZWxmLlN0YXR1cyA9IEZh bHNlDQorICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgICAgICAjIFJlY2Fs Y3VsYXRlIFRhcmdldEZ2IG5lZWRlZCBzcGFjZSB0byBrZWVwIGl0IG1hdGNoIHRoZSBCbG9ja1Np emUgc2V0dGluZy4NCisgICAgICAgICAgICAgICAgICAgIE5lZWRlZF9TcGFjZSAtPSBUYXJnZXRG di5EYXRhLkZyZWVfU3BhY2UNCisgICAgICAgICAgICAgICAgICAgIEJsb2NrU2l6ZSA9IFRhcmdl dEZ2LkRhdGEuSGVhZGVyLkJsb2NrTWFwWzBdLkxlbmd0aA0KKyAgICAgICAgICAgICAgICAgICAg TmV3X0FkZF9MZW4gPSBCbG9ja1NpemUgLSBOZWVkZWRfU3BhY2UlQmxvY2tTaXplDQorICAgICAg ICAgICAgICAgICAgICBUYXJnZXRfaW5kZXggPSBUYXJnZXRGdi5DaGlsZC5pbmRleChzZWxmLlRh cmdldEZmcykNCisgICAgICAgICAgICAgICAgICAgIGlmIE5ld19BZGRfTGVuICUgQmxvY2tTaXpl Og0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEZ2LkNoaWxkWy0xXS5EYXRhLkRhdGEg PSBiJ1x4ZmYnICogTmV3X0FkZF9MZW4NCisgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRG di5EYXRhLkZyZWVfU3BhY2UgPSBOZXdfQWRkX0xlbg0KKyAgICAgICAgICAgICAgICAgICAgICAg IE5lZWRlZF9TcGFjZSArPSBOZXdfQWRkX0xlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRh cmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3RmZzLCBUYXJnZXRfaW5kZXgpDQorICAgICAgICAg ICAgICAgICAgICAgICAgVGFyZ2V0RnYuQ2hpbGQucmVtb3ZlKHNlbGYuVGFyZ2V0RmZzKQ0KKyAg ICAgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRG di5DaGlsZC5yZW1vdmUoc2VsZi5UYXJnZXRGZnMpDQorICAgICAgICAgICAgICAgICAgICAgICAg VGFyZ2V0RnYuRGF0YS5GcmVlX1NwYWNlID0gMA0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRh cmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3RmZzKQ0KKyAgICAgICAgICAgICAgICAgICAgIyBF bmNhcHN1bGF0ZSB0aGUgRnYgRGF0YSBmb3IgdXBkYXRlLg0KKyAgICAgICAgICAgICAgICAgICAg VGFyZ2V0RnYuRGF0YS5EYXRhID0gYicnDQorICAgICAgICAgICAgICAgICAgICBmb3IgaXRlbSBp biBUYXJnZXRGdi5DaGlsZDoNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLnR5cGUg PT0gRkZTX0ZSRUVfU1BBQ0U6DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEZ2 LkRhdGEuRGF0YSArPSBpdGVtLkRhdGEuRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAg ICAgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFy Z2V0RnYuRGF0YS5EYXRhICs9IHN0cnVjdDJzdHJlYW0oaXRlbS5EYXRhLkhlYWRlcikrIGl0ZW0u RGF0YS5EYXRhICsgaXRlbS5EYXRhLlBhZERhdGENCisgICAgICAgICAgICAgICAgICAgIFRhcmdl dEZ2LkRhdGEuU2l6ZSArPSBOZWVkZWRfU3BhY2UNCisgICAgICAgICAgICAgICAgICAgICMgTW9k aWZ5IFRhcmdldEZ2IERhdGEgSGVhZGVyIGFuZCBFeHRIZWFkZXIgaW5mby4NCisgICAgICAgICAg ICAgICAgICAgIFRhcmdldEZ2LkRhdGEuSGVhZGVyLkZ2TGVuZ3RoID0gVGFyZ2V0RnYuRGF0YS5T aXplDQorICAgICAgICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLk1vZEZ2RXh0KCkNCisgICAg ICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kRnZTaXplKCkNCisgICAgICAgICAgICAg ICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kRXh0SGVhZGVyRGF0YSgpDQorICAgICAgICAgICAgICAg ICAgICBNb2RpZnlGdkV4dERhdGEoVGFyZ2V0RnYpDQorICAgICAgICAgICAgICAgICAgICBUYXJn ZXRGdi5EYXRhLk1vZENoZWNrU3VtKCkNCisgICAgICAgICAgICAgICAgICAgICMgU3RhcnQgZnJl ZSBzcGFjZSBjYWxjdWxhdGluZyBhbmQgbW92aW5nIHByb2Nlc3MuDQorICAgICAgICAgICAgICAg ICAgICBzZWxmLk1vZGlmeVRlc3QoVGFyZ2V0RnYuUGFyZW50LCBOZWVkZWRfU3BhY2UpDQorICAg ICAgICBlbHNlOg0KKyAgICAgICAgICAgIE5ld19GcmVlX1NwYWNlID0gc2VsZi5UYXJnZXRGZnMu RGF0YS5TaXplIC0gc2VsZi5OZXdGZnMuRGF0YS5TaXplDQorICAgICAgICAgICAgIyBJZiBUYXJn ZXRGdiBhbHJlYWR5IGhhdmUgZnJlZSBzcGFjZSwgbW92ZSB0aGUgbmV3IGZyZWUgc3BhY2UgaW50 byBpdC4NCisgICAgICAgICAgICBpZiBUYXJnZXRGdi5EYXRhLkZyZWVfU3BhY2U6DQorICAgICAg ICAgICAgICAgIFRhcmdldEZ2LkNoaWxkWy0xXS5EYXRhLkRhdGEgKz0gYidceGZmJyAqIE5ld19G cmVlX1NwYWNlDQorICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuRnJlZV9TcGFjZSArPSBO ZXdfRnJlZV9TcGFjZQ0KKyAgICAgICAgICAgICAgICBUYXJnZXRfaW5kZXggPSBUYXJnZXRGdi5D aGlsZC5pbmRleChzZWxmLlRhcmdldEZmcykNCisgICAgICAgICAgICAgICAgVGFyZ2V0RnYuQ2hp bGQucmVtb3ZlKHNlbGYuVGFyZ2V0RmZzKQ0KKyAgICAgICAgICAgICAgICBUYXJnZXRGdi5pbnNl cnRDaGlsZChzZWxmLk5ld0ZmcywgVGFyZ2V0X2luZGV4KQ0KKyAgICAgICAgICAgICAgICBzZWxm LlN0YXR1cyA9IFRydWUNCisgICAgICAgICAgICAjIElmIFRhcmdldEZ2IGRvIG5vdCBoYXZlIGZy ZWUgc3BhY2UsIGNyZWF0ZSBmcmVlIHNwYWNlIGZvciBGdi4NCisgICAgICAgICAgICBlbHNlOg0K KyAgICAgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZV9UcmVlID0gQklPU1RSRUUoJ0ZSRUVfU1BB Q0UnKQ0KKyAgICAgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZV9UcmVlLnR5cGUgPSBGRlNfRlJF RV9TUEFDRQ0KKyAgICAgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZV9UcmVlLkRhdGEgPSBGZnNO b2RlKGInXHhmZicgKiBOZXdfRnJlZV9TcGFjZSkNCisgICAgICAgICAgICAgICAgVGFyZ2V0RnYu RGF0YS5GcmVlX1NwYWNlID0gTmV3X0ZyZWVfU3BhY2UNCisgICAgICAgICAgICAgICAgVGFyZ2V0 RnYuaW5zZXJ0Q2hpbGQoTmV3X0ZyZWVfU3BhY2UpDQorICAgICAgICAgICAgICAgIFRhcmdldF9p bmRleCA9IFRhcmdldEZ2LkNoaWxkLmluZGV4KHNlbGYuVGFyZ2V0RmZzKQ0KKyAgICAgICAgICAg ICAgICBUYXJnZXRGdi5DaGlsZC5yZW1vdmUoc2VsZi5UYXJnZXRGZnMpDQorICAgICAgICAgICAg ICAgIFRhcmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3RmZzLCBUYXJnZXRfaW5kZXgpDQorICAg ICAgICAgICAgICAgIHNlbGYuU3RhdHVzID0gVHJ1ZQ0KKyAgICAgICAgICAgICMgTW9kaWZ5IFRh cmdldEZ2IEhlYWRlciBhbmQgRXh0SGVhZGVyIGluZm8uDQorICAgICAgICAgICAgVGFyZ2V0RnYu RGF0YS5Nb2RGdkV4dCgpDQorICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5Nb2RGdlNpemUoKQ0K KyAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kRXh0SGVhZGVyRGF0YSgpDQorICAgICAgICAg ICAgTW9kaWZ5RnZFeHREYXRhKFRhcmdldEZ2KQ0KKyAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEu TW9kQ2hlY2tTdW0oKQ0KKyAgICAgICAgICAgICMgUmVjb21wcmVzcyBmcm9tIHRoZSBGdiBub2Rl IHRvIHVwZGF0ZSBhbGwgdGhlIHJlbGF0ZWQgbm9kZSBkYXRhLg0KKyAgICAgICAgICAgIHNlbGYu Q29tcHJlc3NEYXRhKFRhcmdldEZ2KQ0KKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQor ICAgICAgICByZXR1cm4gc2VsZi5TdGF0dXMNCisNCisgICAgZGVmIEFkZEZmcyhzZWxmKSAtPiBi b29sOg0KKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdTdGFydCBBZGRpbmcgUHJvY2Vzcy4uLi4uLicp DQorICAgICAgICAjIE5ld0ZmcyBwYXJzaW5nIHdpbGwgbm90IGNhbGN1bGF0ZSB0aGUgUGFkU2l6 ZSwgdGh1cyByZWNhbGN1bGF0ZS4NCisgICAgICAgIHNlbGYuTmV3RmZzLkRhdGEuUGFkRGF0YSA9 IGInXHhmZicgKiBHZXRQYWRTaXplKHNlbGYuTmV3RmZzLkRhdGEuU2l6ZSwgRkZTX0NPTU1PTl9B TElHTk1FTlQpDQorICAgICAgICBpZiBzZWxmLlRhcmdldEZmcy50eXBlID09IEZGU19GUkVFX1NQ QUNFOg0KKyAgICAgICAgICAgIFRhcmdldExlbiA9IHNlbGYuTmV3RmZzLkRhdGEuU2l6ZSArIGxl bihzZWxmLk5ld0Zmcy5EYXRhLlBhZERhdGEpIC0gc2VsZi5UYXJnZXRGZnMuRGF0YS5TaXplIC0g bGVuKHNlbGYuVGFyZ2V0RmZzLkRhdGEuUGFkRGF0YSkNCisgICAgICAgICAgICBUYXJnZXRGdiA9 IHNlbGYuVGFyZ2V0RmZzLlBhcmVudA0KKyAgICAgICAgICAgICMgSWYgdGhlIEZ2IEhlYWRlciBB dHRyaWJ1dGVzIGlzIEVGSV9GVkIyX0VSQVNFX1BPTEFSSVRZLCBDaGlsZCBGZnMgSGVhZGVyIFN0 YXRlIG5lZWQgYmUgcmV2ZXJzZWQuDQorICAgICAgICAgICAgaWYgVGFyZ2V0RnYuRGF0YS5IZWFk ZXIuQXR0cmlidXRlcyAmIEVGSV9GVkIyX0VSQVNFX1BPTEFSSVRZOg0KKyAgICAgICAgICAgICAg ICBzZWxmLk5ld0Zmcy5EYXRhLkhlYWRlci5TdGF0ZSA9IGNfdWludDgoDQorICAgICAgICAgICAg ICAgICAgICB+c2VsZi5OZXdGZnMuRGF0YS5IZWFkZXIuU3RhdGUpDQorICAgICAgICAgICAgIyBJ ZiBUYXJnZXRGdiBoYXZlIGVub3VnaCBmcmVlIHNwYWNlLCBqdXN0IG1vdmUgcGFydCBvZiB0aGUg ZnJlZSBzcGFjZSB0byBOZXdGZnMsIHNwbGl0IGZyZWUgc3BhY2UgdG8gTmV3RmZzIGFuZCBuZXcg ZnJlZSBzcGFjZS4NCisgICAgICAgICAgICBpZiBUYXJnZXRMZW4gPCAwOg0KKyAgICAgICAgICAg ICAgICBzZWxmLlN0YXR1cyA9IFRydWUNCisgICAgICAgICAgICAgICAgc2VsZi5UYXJnZXRGZnMu RGF0YS5EYXRhID0gYidceGZmJyAqICgtVGFyZ2V0TGVuKQ0KKyAgICAgICAgICAgICAgICBUYXJn ZXRGdi5EYXRhLkZyZWVfU3BhY2UgPSAoLVRhcmdldExlbikNCisgICAgICAgICAgICAgICAgVGFy Z2V0RnYuRGF0YS5Nb2RGdkV4dCgpDQorICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9k RXh0SGVhZGVyRGF0YSgpDQorICAgICAgICAgICAgICAgIE1vZGlmeUZ2RXh0RGF0YShUYXJnZXRG dikNCisgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5Nb2RDaGVja1N1bSgpDQorICAgICAg ICAgICAgICAgIFRhcmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3RmZzLCAtMSkNCisgICAgICAg ICAgICAgICAgTW9kaWZ5RmZzVHlwZShzZWxmLk5ld0ZmcykNCisgICAgICAgICAgICAgICAgIyBS ZWNvbXByZXNzIGZyb20gdGhlIEZ2IG5vZGUgdG8gdXBkYXRlIGFsbCB0aGUgcmVsYXRlZCBub2Rl IGRhdGEuDQorICAgICAgICAgICAgICAgIHNlbGYuQ29tcHJlc3NEYXRhKFRhcmdldEZ2KQ0KKyAg ICAgICAgICAgIGVsaWYgVGFyZ2V0TGVuID09IDA6DQorICAgICAgICAgICAgICAgIHNlbGYuU3Rh dHVzID0gVHJ1ZQ0KKyAgICAgICAgICAgICAgICBUYXJnZXRGdi5DaGlsZC5yZW1vdmUoc2VsZi5U YXJnZXRGZnMpDQorICAgICAgICAgICAgICAgIFRhcmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3 RmZzKQ0KKyAgICAgICAgICAgICAgICBNb2RpZnlGZnNUeXBlKHNlbGYuTmV3RmZzKQ0KKyAgICAg ICAgICAgICAgICAjIFJlY29tcHJlc3MgZnJvbSB0aGUgRnYgbm9kZSB0byB1cGRhdGUgYWxsIHRo ZSByZWxhdGVkIG5vZGUgZGF0YS4NCisgICAgICAgICAgICAgICAgc2VsZi5Db21wcmVzc0RhdGEo VGFyZ2V0RnYpDQorICAgICAgICAgICAgIyBJZiBUYXJnZXRGdiBkbyBub3QgaGF2ZSBlbm91Z2gg ZnJlZSBzcGFjZSwgbmVlZCBtb3ZlIHBhcnQgb2YgdGhlIGZyZWUgc3BhY2Ugb2YgVGFyZ2V0RnYn cyBwYXJlbnQgRnYgdG8gVGFyZ2V0RnYvTmV3RmZzLg0KKyAgICAgICAgICAgIGVsc2U6DQorICAg ICAgICAgICAgICAgIGlmIFRhcmdldEZ2LnR5cGUgPT0gRlZfVFJFRToNCisgICAgICAgICAgICAg ICAgICAgIHNlbGYuU3RhdHVzID0gRmFsc2UNCisgICAgICAgICAgICAgICAgZWxpZiBUYXJnZXRG di50eXBlID09IFNFQ19GVl9UUkVFOg0KKyAgICAgICAgICAgICAgICAgICAgIyBSZWNhbGN1bGF0 ZSBUYXJnZXRGdiBuZWVkZWQgc3BhY2UgdG8ga2VlcCBpdCBtYXRjaCB0aGUgQmxvY2tTaXplIHNl dHRpbmcuDQorICAgICAgICAgICAgICAgICAgICBCbG9ja1NpemUgPSBUYXJnZXRGdi5EYXRhLkhl YWRlci5CbG9ja01hcFswXS5MZW5ndGgNCisgICAgICAgICAgICAgICAgICAgIE5ld19BZGRfTGVu ID0gQmxvY2tTaXplIC0gVGFyZ2V0TGVuJUJsb2NrU2l6ZQ0KKyAgICAgICAgICAgICAgICAgICAg aWYgTmV3X0FkZF9MZW4gJSBCbG9ja1NpemU6DQorICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5UYXJnZXRGZnMuRGF0YS5EYXRhID0gYidceGZmJyAqIE5ld19BZGRfTGVuDQorICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5UYXJnZXRGZnMuRGF0YS5TaXplID0gTmV3X0FkZF9MZW4NCisg ICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRMZW4gKz0gTmV3X0FkZF9MZW4NCisgICAgICAg ICAgICAgICAgICAgICAgICBUYXJnZXRGdi5pbnNlcnRDaGlsZChzZWxmLk5ld0ZmcywgLTEpDQor ICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5GcmVlX1NwYWNlID0gTmV3X0Fk ZF9MZW4NCisgICAgICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgICAgICAg ICAgVGFyZ2V0RnYuQ2hpbGQucmVtb3ZlKHNlbGYuVGFyZ2V0RmZzKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgIFRhcmdldEZ2Lmluc2VydENoaWxkKHNlbGYuTmV3RmZzKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuRnJlZV9TcGFjZSA9IDANCisgICAgICAgICAgICAg ICAgICAgIE1vZGlmeUZmc1R5cGUoc2VsZi5OZXdGZnMpDQorICAgICAgICAgICAgICAgICAgICBN b2RpZnlGdlN5c3RlbUd1aWQoVGFyZ2V0RnYpDQorICAgICAgICAgICAgICAgICAgICBUYXJnZXRG di5EYXRhLkRhdGEgPSBiJycNCisgICAgICAgICAgICAgICAgICAgIGZvciBpdGVtIGluIFRhcmdl dEZ2LkNoaWxkOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0udHlwZSA9PSBGRlNf RlJFRV9TUEFDRToNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5E YXRhICs9IGl0ZW0uRGF0YS5EYXRhICsgaXRlbS5EYXRhLlBhZERhdGENCisgICAgICAgICAgICAg ICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRGdi5E YXRhLkRhdGEgKz0gc3RydWN0MnN0cmVhbShpdGVtLkRhdGEuSGVhZGVyKSsgaXRlbS5EYXRhLkRh dGEgKyBpdGVtLkRhdGEuUGFkRGF0YQ0KKyAgICAgICAgICAgICAgICAgICAgIyBFbmNhcHN1bGF0 ZSB0aGUgRnYgRGF0YSBmb3IgdXBkYXRlLg0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYu RGF0YS5TaXplICs9IFRhcmdldExlbg0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0 YS5IZWFkZXIuRnZMZW5ndGggPSBUYXJnZXRGdi5EYXRhLlNpemUNCisgICAgICAgICAgICAgICAg ICAgIFRhcmdldEZ2LkRhdGEuTW9kRnZFeHQoKQ0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0 RnYuRGF0YS5Nb2RGdlNpemUoKQ0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5N b2RFeHRIZWFkZXJEYXRhKCkNCisgICAgICAgICAgICAgICAgICAgIE1vZGlmeUZ2RXh0RGF0YShU YXJnZXRGdikNCisgICAgICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kQ2hlY2tTdW0o KQ0KKyAgICAgICAgICAgICAgICAgICAgIyBTdGFydCBmcmVlIHNwYWNlIGNhbGN1bGF0aW5nIGFu ZCBtb3ZpbmcgcHJvY2Vzcy4NCisgICAgICAgICAgICAgICAgICAgIHNlbGYuTW9kaWZ5VGVzdChU YXJnZXRGdi5QYXJlbnQsIFRhcmdldExlbikNCisgICAgICAgIGVsc2U6DQorICAgICAgICAgICAg IyBJZiBUYXJnZXRGdiBkbyBub3QgaGF2ZSBmcmVlIHNwYWNlLCBuZWVkIGRpcmVjdGx5IG1vdmUg cGFydCBvZiB0aGUgZnJlZSBzcGFjZSBvZiBUYXJnZXRGdidzIHBhcmVudCBGdiB0byBUYXJnZXRG di9OZXdGZnMuDQorICAgICAgICAgICAgVGFyZ2V0TGVuID0gc2VsZi5OZXdGZnMuRGF0YS5TaXpl ICsgbGVuKHNlbGYuTmV3RmZzLkRhdGEuUGFkRGF0YSkNCisgICAgICAgICAgICBUYXJnZXRGdiA9 IHNlbGYuVGFyZ2V0RmZzLlBhcmVudA0KKyAgICAgICAgICAgIGlmIFRhcmdldEZ2LkRhdGEuSGVh ZGVyLkF0dHJpYnV0ZXMgJiBFRklfRlZCMl9FUkFTRV9QT0xBUklUWToNCisgICAgICAgICAgICAg ICAgc2VsZi5OZXdGZnMuRGF0YS5IZWFkZXIuU3RhdGUgPSBjX3VpbnQ4KA0KKyAgICAgICAgICAg ICAgICAgICAgfnNlbGYuTmV3RmZzLkRhdGEuSGVhZGVyLlN0YXRlKQ0KKyAgICAgICAgICAgIGlm IFRhcmdldEZ2LnR5cGUgPT0gRlZfVFJFRToNCisgICAgICAgICAgICAgICAgc2VsZi5TdGF0dXMg PSBGYWxzZQ0KKyAgICAgICAgICAgIGVsaWYgVGFyZ2V0RnYudHlwZSA9PSBTRUNfRlZfVFJFRToN CisgICAgICAgICAgICAgICAgQmxvY2tTaXplID0gVGFyZ2V0RnYuRGF0YS5IZWFkZXIuQmxvY2tN YXBbMF0uTGVuZ3RoDQorICAgICAgICAgICAgICAgIE5ld19BZGRfTGVuID0gQmxvY2tTaXplIC0g VGFyZ2V0TGVuJUJsb2NrU2l6ZQ0KKyAgICAgICAgICAgICAgICBpZiBOZXdfQWRkX0xlbiAlIEJs b2NrU2l6ZToNCisgICAgICAgICAgICAgICAgICAgIE5ld19GcmVlX1NwYWNlID0gQklPU1RSRUUo J0ZSRUVfU1BBQ0UnKQ0KKyAgICAgICAgICAgICAgICAgICAgTmV3X0ZyZWVfU3BhY2UudHlwZSA9 IEZGU19GUkVFX1NQQUNFDQorICAgICAgICAgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZS5EYXRh ID0gRnJlZVNwYWNlTm9kZShiJ1x4ZmYnICogTmV3X0FkZF9MZW4pDQorICAgICAgICAgICAgICAg ICAgICBUYXJnZXRMZW4gKz0gTmV3X0FkZF9MZW4NCisgICAgICAgICAgICAgICAgICAgIFRhcmdl dEZ2LkRhdGEuRnJlZV9TcGFjZSA9IE5ld19BZGRfTGVuDQorICAgICAgICAgICAgICAgICAgICBU YXJnZXRGdi5pbnNlcnRDaGlsZChzZWxmLk5ld0ZmcykNCisgICAgICAgICAgICAgICAgICAgIFRh cmdldEZ2Lmluc2VydENoaWxkKE5ld19GcmVlX1NwYWNlKQ0KKyAgICAgICAgICAgICAgICBlbHNl Og0KKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RnYuaW5zZXJ0Q2hpbGQoc2VsZi5OZXdGZnMp DQorICAgICAgICAgICAgICAgIE1vZGlmeUZmc1R5cGUoc2VsZi5OZXdGZnMpDQorICAgICAgICAg ICAgICAgIE1vZGlmeUZ2U3lzdGVtR3VpZChUYXJnZXRGdikNCisgICAgICAgICAgICAgICAgVGFy Z2V0RnYuRGF0YS5EYXRhID0gYicnDQorICAgICAgICAgICAgICAgIGZvciBpdGVtIGluIFRhcmdl dEZ2LkNoaWxkOg0KKyAgICAgICAgICAgICAgICAgICAgaWYgaXRlbS50eXBlID09IEZGU19GUkVF X1NQQUNFOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuRGF0YSArPSBp dGVtLkRhdGEuRGF0YSArIGl0ZW0uRGF0YS5QYWREYXRhDQorICAgICAgICAgICAgICAgICAgICBl bHNlOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuRGF0YSArPSBzdHJ1 Y3Qyc3RyZWFtKGl0ZW0uRGF0YS5IZWFkZXIpKyBpdGVtLkRhdGEuRGF0YSArIGl0ZW0uRGF0YS5Q YWREYXRhDQorICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuU2l6ZSArPSBUYXJnZXRMZW4N CisgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5IZWFkZXIuRnZMZW5ndGggPSBUYXJnZXRG di5EYXRhLlNpemUNCisgICAgICAgICAgICAgICAgVGFyZ2V0RnYuRGF0YS5Nb2RGdkV4dCgpDQor ICAgICAgICAgICAgICAgIFRhcmdldEZ2LkRhdGEuTW9kRnZTaXplKCkNCisgICAgICAgICAgICAg ICAgVGFyZ2V0RnYuRGF0YS5Nb2RFeHRIZWFkZXJEYXRhKCkNCisgICAgICAgICAgICAgICAgTW9k aWZ5RnZFeHREYXRhKFRhcmdldEZ2KQ0KKyAgICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLk1v ZENoZWNrU3VtKCkNCisgICAgICAgICAgICAgICAgc2VsZi5Nb2RpZnlUZXN0KFRhcmdldEZ2LlBh cmVudCwgVGFyZ2V0TGVuKQ0KKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdEb25lIScpDQorICAgICAg ICByZXR1cm4gc2VsZi5TdGF0dXMNCisNCisgICAgZGVmIERlbGV0ZUZmcyhzZWxmKSAtPiBib29s Og0KKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdTdGFydCBEZWxldGluZyBQcm9jZXNzLi4uLi4uJykN CisgICAgICAgIERlbGV0ZV9GZnMgPSBzZWxmLlRhcmdldEZmcw0KKyAgICAgICAgRGVsZXRlX0Z2 ID0gRGVsZXRlX0Zmcy5QYXJlbnQNCisgICAgICAgICMgQ2FsY3VsYXRlIGZyZWUgc3BhY2UNCisg ICAgICAgIEFkZF9GcmVlX1NwYWNlID0gRGVsZXRlX0Zmcy5EYXRhLlNpemUgKyBsZW4oRGVsZXRl X0Zmcy5EYXRhLlBhZERhdGEpDQorICAgICAgICAjIElmIEZmcyBwYXJlbnQgRnYgaGF2ZSBmcmVl IHNwYWNlLCBmb2xsb3cgdGhlIHJ1bGVzIHRvIG1lcmdlIHRoZSBuZXcgZnJlZSBzcGFjZS4NCisg ICAgICAgIGlmIERlbGV0ZV9Gdi5EYXRhLkZyZWVfU3BhY2U6DQorICAgICAgICAgICAgIyBJZiBG diBpcyBhIFNlY3Rpb24gZnYsIGZyZWUgc3BhY2UgbmVlZCB0byBiZSByZWNhbGN1bGF0ZWQgdG8g a2VlcCBhbGlnbiB3aXRoIEJsb2NrU2l6ZS4NCisgICAgICAgICAgICAjIE90aGVyIGZyZWUgc3Bh Y2Ugc2F2ZWQgaW4gc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UsIHdpbGwgYmUgbW92ZWQgdG8g dGhlIDFzdCBsZXZlbCBGdi4NCisgICAgICAgICAgICBpZiBEZWxldGVfRnYudHlwZSA9PSBTRUNf RlZfVFJFRToNCisgICAgICAgICAgICAgICAgVXNlZF9TaXplID0gRGVsZXRlX0Z2LkRhdGEuU2l6 ZSAtIERlbGV0ZV9Gdi5EYXRhLkZyZWVfU3BhY2UgLSBBZGRfRnJlZV9TcGFjZQ0KKyAgICAgICAg ICAgICAgICBCbG9ja1NpemUgPSBEZWxldGVfRnYuRGF0YS5IZWFkZXIuQmxvY2tNYXBbMF0uTGVu Z3RoDQorICAgICAgICAgICAgICAgIE5ld19GcmVlX1NwYWNlID0gQmxvY2tTaXplIC0gVXNlZF9T aXplICUgQmxvY2tTaXplDQorICAgICAgICAgICAgICAgIHNlbGYuUmVtYWluX05ld19GcmVlX1Nw YWNlICs9IERlbGV0ZV9Gdi5EYXRhLkZyZWVfU3BhY2UgKyBBZGRfRnJlZV9TcGFjZSAtIE5ld19G cmVlX1NwYWNlDQorICAgICAgICAgICAgICAgIERlbGV0ZV9Gdi5DaGlsZFstMV0uRGF0YS5EYXRh ID0gTmV3X0ZyZWVfU3BhY2UgKiBiJ1x4ZmYnDQorICAgICAgICAgICAgICAgIERlbGV0ZV9Gdi5E YXRhLkZyZWVfU3BhY2UgPSBOZXdfRnJlZV9TcGFjZQ0KKyAgICAgICAgICAgICMgSWYgRnYgaXMg bHN0IGxldmVsIEZ2LCBuZXcgZnJlZSBzcGFjZSB3aWxsIGJlIG1lcmdlZCB3aXRoIG9yaWdpbiBm cmVlIHNwYWNlLg0KKyAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAgICAgIFVzZWRfU2l6 ZSA9IERlbGV0ZV9Gdi5EYXRhLlNpemUgLSBEZWxldGVfRnYuRGF0YS5GcmVlX1NwYWNlIC0gQWRk X0ZyZWVfU3BhY2UNCisgICAgICAgICAgICAgICAgRGVsZXRlX0Z2LkNoaWxkWy0xXS5EYXRhLkRh dGEgKz0gQWRkX0ZyZWVfU3BhY2UgKiBiJ1x4ZmYnDQorICAgICAgICAgICAgICAgIERlbGV0ZV9G di5EYXRhLkZyZWVfU3BhY2UgKz0gQWRkX0ZyZWVfU3BhY2UNCisgICAgICAgICAgICAgICAgTmV3 X0ZyZWVfU3BhY2UgPSBEZWxldGVfRnYuRGF0YS5GcmVlX1NwYWNlDQorICAgICAgICAjIElmIEZm cyBwYXJlbnQgRnYgbm90IGhhdmUgZnJlZSBzcGFjZSwgd2lsbCBjcmVhdGUgbmV3IGZyZWUgc3Bh Y2Ugbm9kZSB0byBzYXZlIHRoZSBmcmVlIHNwYWNlLg0KKyAgICAgICAgZWxzZToNCisgICAgICAg ICAgICAjIElmIEZ2IGlzIGEgU2VjdGlvbiBmdiwgbmV3IGZyZWUgc3BhY2UgbmVlZCB0byBiZSBy ZWNhbGN1bGF0ZWQgdG8ga2VlcCBhbGlnbiB3aXRoIEJsb2NrU2l6ZS4NCisgICAgICAgICAgICAj IFRoZW4gY3JlYXRlIGEgRnJlZSBzcGNhZSBub2RlIHRvIHNhdmUgdGhlIDB4ZmYgZGF0YSwgYW5k IGluc2VydCBpbnRvIHRoZSBGdi4NCisgICAgICAgICAgICAjIElmIGhhdmUgbW9yZSBzcGFjZSBs ZWZ0LCBtb3ZlIHRvIDFzdCBsZXZlbCBmdi4NCisgICAgICAgICAgICBpZiBEZWxldGVfRnYudHlw ZSA9PSBTRUNfRlZfVFJFRToNCisgICAgICAgICAgICAgICAgVXNlZF9TaXplID0gRGVsZXRlX0Z2 LkRhdGEuU2l6ZSAtIEFkZF9GcmVlX1NwYWNlDQorICAgICAgICAgICAgICAgIEJsb2NrU2l6ZSA9 IERlbGV0ZV9Gdi5EYXRhLkhlYWRlci5CbG9ja01hcFswXS5MZW5ndGgNCisgICAgICAgICAgICAg ICAgTmV3X0ZyZWVfU3BhY2UgPSBCbG9ja1NpemUgLSBVc2VkX1NpemUgJSBCbG9ja1NpemUNCisg ICAgICAgICAgICAgICAgc2VsZi5SZW1haW5fTmV3X0ZyZWVfU3BhY2UgKz0gQWRkX0ZyZWVfU3Bh Y2UgLSBOZXdfRnJlZV9TcGFjZQ0KKyAgICAgICAgICAgICAgICBBZGRfRnJlZV9TcGFjZSA9IE5l d19GcmVlX1NwYWNlDQorICAgICAgICAgICAgIyBJZiBGdiBpcyBsc3QgbGV2ZWwgRnYsIG5ldyBm cmVlIHNwYWNlIG5vZGUgd2lsbCBiZSBjcmVhdGVkIHRvIHNhdmUgdGhlIGZyZWUgc3BhY2UuDQor ICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgVXNlZF9TaXplID0gRGVsZXRlX0Z2 LkRhdGEuU2l6ZSAtIEFkZF9GcmVlX1NwYWNlDQorICAgICAgICAgICAgICAgIE5ld19GcmVlX1Nw YWNlID0gQWRkX0ZyZWVfU3BhY2UNCisgICAgICAgICAgICBOZXdfRnJlZV9TcGFjZV9JbmZvID0g RmZzTm9kZShBZGRfRnJlZV9TcGFjZSAqIGInXHhmZicpDQorICAgICAgICAgICAgTmV3X0ZyZWVf U3BhY2VfSW5mby5EYXRhID0gQWRkX0ZyZWVfU3BhY2UgKiBiJ1x4ZmYnDQorICAgICAgICAgICAg TmV3X0Zmc19UcmVlID0gQklPU1RSRUUoTmV3X0ZyZWVfU3BhY2VfSW5mby5OYW1lKQ0KKyAgICAg ICAgICAgIE5ld19GZnNfVHJlZS50eXBlID0gRkZTX0ZSRUVfU1BBQ0UNCisgICAgICAgICAgICBO ZXdfRmZzX1RyZWUuRGF0YSA9IE5ld19GcmVlX1NwYWNlX0luZm8NCisgICAgICAgICAgICBEZWxl dGVfRnYuaW5zZXJ0Q2hpbGQoTmV3X0Zmc19UcmVlKQ0KKyAgICAgICAgICAgIERlbGV0ZV9Gdi5E YXRhLkZyZWVfU3BhY2UgPSBBZGRfRnJlZV9TcGFjZQ0KKyAgICAgICAgRGVsZXRlX0Z2LkNoaWxk LnJlbW92ZShEZWxldGVfRmZzKQ0KKyAgICAgICAgRGVsZXRlX0Z2LkRhdGEuSGVhZGVyLkZ2TGVu Z3RoID0gVXNlZF9TaXplICsgTmV3X0ZyZWVfU3BhY2UNCisgICAgICAgIERlbGV0ZV9Gdi5EYXRh Lk1vZEZ2RXh0KCkNCisgICAgICAgIERlbGV0ZV9Gdi5EYXRhLk1vZEZ2U2l6ZSgpDQorICAgICAg ICBEZWxldGVfRnYuRGF0YS5Nb2RFeHRIZWFkZXJEYXRhKCkNCisgICAgICAgIE1vZGlmeUZ2RXh0 RGF0YShEZWxldGVfRnYpDQorICAgICAgICBEZWxldGVfRnYuRGF0YS5Nb2RDaGVja1N1bSgpDQor ICAgICAgICAjIFJlY29tcHJlc3MgZnJvbSB0aGUgRnYgbm9kZSB0byB1cGRhdGUgYWxsIHRoZSBy ZWxhdGVkIG5vZGUgZGF0YS4NCisgICAgICAgIHNlbGYuQ29tcHJlc3NEYXRhKERlbGV0ZV9GdikN CisgICAgICAgIHNlbGYuU3RhdHVzID0gVHJ1ZQ0KKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdEb25l IScpDQorICAgICAgICByZXR1cm4gc2VsZi5TdGF0dXMNCmRpZmYgLS1naXQgYS9CYXNlVG9vbHMv U291cmNlL1B5dGhvbi9GTU1UL2NvcmUvR3VpZFRvb2xzLnB5IGIvQmFzZVRvb2xzL1NvdXJjZS9Q eXRob24vRk1NVC9jb3JlL0d1aWRUb29scy5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAwMC4uYTI1NjgxNzA5YmM4DQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9v bHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvR3VpZFRvb2xzLnB5DQpAQCAtMCwwICsxLDE3OSBA QA0KKyMjIEBmaWxlDQorIyBUaGlzIGZpbGUgaXMgdXNlZCB0byBkZWZpbmUgdGhlIEZNTVQgZGVw ZW5kZW50IGV4dGVybmFsIHRvb2wgbWFuYWdlbWVudCBjbGFzcy4NCisjDQorIyBDb3B5cmlnaHQg KGMpIDIwMjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KKyMjDQoraW1w b3J0IGdsb2INCitpbXBvcnQgbG9nZ2luZw0KK2ltcG9ydCBvcw0KK2ltcG9ydCBzaHV0aWwNCitp bXBvcnQgc3lzDQoraW1wb3J0IHRlbXBmaWxlDQoraW1wb3J0IHV1aWQNCitmcm9tIEZpcm13YXJl U3RvcmFnZUZvcm1hdC5Db21tb24gaW1wb3J0ICoNCitmcm9tIHV0aWxzLkZtbXRMb2dnZXIgaW1w b3J0IEZtbXRMb2dnZXIgYXMgbG9nZ2VyDQoraW1wb3J0IHN1YnByb2Nlc3MNCisNCitkZWYgRXhl Y3V0ZUNvbW1hbmQoY21kOiBsaXN0KSAtPiBOb25lOg0KKyAgICBzdWJwcm9jZXNzLnJ1bihjbWQs c3Rkb3V0PXN1YnByb2Nlc3MuREVWTlVMTCkNCisNCitjbGFzcyBHVUlEVG9vbDoNCisgICAgZGVm IF9faW5pdF9fKHNlbGYsIGd1aWQ6IHN0ciwgc2hvcnRfbmFtZTogc3RyLCBjb21tYW5kOiBzdHIp IC0+IE5vbmU6DQorICAgICAgICBzZWxmLmd1aWQ6IHN0ciA9IGd1aWQNCisgICAgICAgIHNlbGYu c2hvcnRfbmFtZTogc3RyID0gc2hvcnRfbmFtZQ0KKyAgICAgICAgc2VsZi5jb21tYW5kOiBzdHIg PSBjb21tYW5kDQorICAgICAgICBzZWxmLmlmZXhpc3Q6IGJvb2wgPSBGYWxzZQ0KKw0KKyAgICBk ZWYgcGFjayhzZWxmLCBidWZmZXI6IGJ5dGVzKSAtPiBieXRlczoNCisgICAgICAgICIiIg0KKyAg ICAgICAgY29tcHJlc3MgZmlsZS4NCisgICAgICAgICIiIg0KKyAgICAgICAgdG9vbCA9IHNlbGYu Y29tbWFuZA0KKyAgICAgICAgaWYgdG9vbDoNCisgICAgICAgICAgICB0bXAgPSB0ZW1wZmlsZS5t a2R0ZW1wKGRpcj1vcy5lbnZpcm9uLmdldCgndG1wJykpDQorICAgICAgICAgICAgVG9vbElucHV0 RmlsZSA9IG9zLnBhdGguam9pbih0bXAsICJwYWNrX3VuY29tcHJlc3Nfc2VjX2ZpbGUiKQ0KKyAg ICAgICAgICAgIFRvb2xPdXB1dEZpbGUgPSBvcy5wYXRoLmpvaW4odG1wLCAicGFja19zZWNfZmls ZSIpDQorICAgICAgICAgICAgdHJ5Og0KKyAgICAgICAgICAgICAgICBmaWxlID0gb3BlbihUb29s SW5wdXRGaWxlLCAid2IiKQ0KKyAgICAgICAgICAgICAgICBmaWxlLndyaXRlKGJ1ZmZlcikNCisg ICAgICAgICAgICAgICAgZmlsZS5jbG9zZSgpDQorICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBb dG9vbCwgJy1lJywgJy1vJywgVG9vbE91cHV0RmlsZSwNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVG9vbElucHV0RmlsZV0NCisgICAgICAgICAgICAgICAgRXhlY3V0ZUNvbW1h bmQoY29tbWFuZCkNCisgICAgICAgICAgICAgICAgYnVmID0gb3BlbihUb29sT3VwdXRGaWxlLCAi cmIiKQ0KKyAgICAgICAgICAgICAgICByZXNfYnVmZmVyID0gYnVmLnJlYWQoKQ0KKyAgICAgICAg ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgbXNnOg0KKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJy b3IobXNnKQ0KKyAgICAgICAgICAgICAgICByZXR1cm4gIiINCisgICAgICAgICAgICBlbHNlOg0K KyAgICAgICAgICAgICAgICBidWYuY2xvc2UoKQ0KKyAgICAgICAgICAgICAgICBpZiBvcy5wYXRo LmV4aXN0cyh0bXApOg0KKyAgICAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXApDQor ICAgICAgICAgICAgICAgIHJldHVybiByZXNfYnVmZmVyDQorICAgICAgICBlbHNlOg0KKyAgICAg ICAgICAgIGxvZ2dlci5lcnJvcigNCisgICAgICAgICAgICAgICAgIkVycm9yIHBhcnNpbmcgc2Vj dGlvbjogRUZJX1NFQ1RJT05fR1VJRF9ERUZJTkVEIGNhbm5vdCBiZSBwYXJzZWQgYXQgdGhpcyB0 aW1lLiIpDQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oIkl0cyBHVUlEIGlzOiAlcyIgJSBzZWxm Lmd1aWQpDQorICAgICAgICAgICAgcmV0dXJuICIiDQorDQorDQorICAgIGRlZiB1bnBhY2soc2Vs ZiwgYnVmZmVyOiBieXRlcykgLT4gYnl0ZXM6DQorICAgICAgICAiIiINCisgICAgICAgIGJ1ZmZl cjogcmVtb3ZlIGNvbW1vbiBoZWFkZXINCisgICAgICAgIHVuY29tcHJlc3MgZmlsZQ0KKyAgICAg ICAgIiIiDQorICAgICAgICB0b29sID0gc2VsZi5jb21tYW5kDQorICAgICAgICBpZiB0b29sOg0K KyAgICAgICAgICAgIHRtcCA9IHRlbXBmaWxlLm1rZHRlbXAoZGlyPW9zLmVudmlyb24uZ2V0KCd0 bXAnKSkNCisgICAgICAgICAgICBUb29sSW5wdXRGaWxlID0gb3MucGF0aC5qb2luKHRtcCwgInVu cGFja19zZWNfZmlsZSIpDQorICAgICAgICAgICAgVG9vbE91cHV0RmlsZSA9IG9zLnBhdGguam9p bih0bXAsICJ1bnBhY2tfdW5jb21wcmVzc19zZWNfZmlsZSIpDQorICAgICAgICAgICAgdHJ5Og0K KyAgICAgICAgICAgICAgICBmaWxlID0gb3BlbihUb29sSW5wdXRGaWxlLCAid2IiKQ0KKyAgICAg ICAgICAgICAgICBmaWxlLndyaXRlKGJ1ZmZlcikNCisgICAgICAgICAgICAgICAgZmlsZS5jbG9z ZSgpDQorICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBbdG9vbCwgJy1kJywgJy1vJywgVG9vbE91 cHV0RmlsZSwgVG9vbElucHV0RmlsZV0NCisgICAgICAgICAgICAgICAgRXhlY3V0ZUNvbW1hbmQo Y29tbWFuZCkNCisgICAgICAgICAgICAgICAgYnVmID0gb3BlbihUb29sT3VwdXRGaWxlLCAicmIi KQ0KKyAgICAgICAgICAgICAgICByZXNfYnVmZmVyID0gYnVmLnJlYWQoKQ0KKyAgICAgICAgICAg IGV4Y2VwdCBFeGNlcHRpb24gYXMgbXNnOg0KKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3Io bXNnKQ0KKyAgICAgICAgICAgICAgICByZXR1cm4gIiINCisgICAgICAgICAgICBlbHNlOg0KKyAg ICAgICAgICAgICAgICBidWYuY2xvc2UoKQ0KKyAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4 aXN0cyh0bXApOg0KKyAgICAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSh0bXApDQorICAg ICAgICAgICAgICAgIHJldHVybiByZXNfYnVmZmVyDQorICAgICAgICBlbHNlOg0KKyAgICAgICAg ICAgIGxvZ2dlci5lcnJvcigiRXJyb3IgcGFyc2luZyBzZWN0aW9uOiBFRklfU0VDVElPTl9HVUlE X0RFRklORUQgY2Fubm90IGJlIHBhcnNlZCBhdCB0aGlzIHRpbWUuIikNCisgICAgICAgICAgICBs b2dnZXIuaW5mbygiSXRzIEdVSUQgaXM6ICVzIiAlIHNlbGYuZ3VpZCkNCisgICAgICAgICAgICBy ZXR1cm4gIiINCisNCitjbGFzcyBHVUlEVG9vbHM6DQorICAgICcnJw0KKyAgICBHVUlEVG9vbHMg aXMgcmVzcG9uc2libGUgZm9yIHJlYWRpbmcgRk1NVENvbmZpZy5pbmksIHZlcmlmeSB0aGUgdG9v bHMgYW5kIHByb3ZpZGUgaW50ZXJmYWNlcyB0byBhY2Nlc3MgdGhvc2UgdG9vbHMuDQorICAgICcn Jw0KKyAgICBkZWZhdWx0X3Rvb2xzID0gew0KKyAgICAgICAgc3RydWN0MnN0cmVhbShNb2RpZnlH dWlkRm9ybWF0KCJhMzEyODBhZC00ODFlLTQxYjYtOTVlOC0xMjdmNGM5ODQ3NzkiKSk6IEdVSURU b29sKCJhMzEyODBhZC00ODFlLTQxYjYtOTVlOC0xMjdmNGM5ODQ3NzkiLCAiVElBTk8iLCAiVGlh bm9Db21wcmVzcyIpLA0KKyAgICAgICAgc3RydWN0MnN0cmVhbShNb2RpZnlHdWlkRm9ybWF0KCJl ZTRlNTg5OC0zOTE0LTQyNTktOWQ2ZS1kYzdiZDc5NDAzY2YiKSk6IEdVSURUb29sKCJlZTRlNTg5 OC0zOTE0LTQyNTktOWQ2ZS1kYzdiZDc5NDAzY2YiLCAiTFpNQSIsICJMem1hQ29tcHJlc3MiKSwN CisgICAgICAgIHN0cnVjdDJzdHJlYW0oTW9kaWZ5R3VpZEZvcm1hdCgiZmMxYmNkYjAtN2QzMS00 OWFhLTkzNmEtYTQ2MDBkOWRkMDgzIikpOiBHVUlEVG9vbCgiZmMxYmNkYjAtN2QzMS00OWFhLTkz NmEtYTQ2MDBkOWRkMDgzIiwgIkNSQzMyIiwgIkdlbkNyYzMyIiksDQorICAgICAgICBzdHJ1Y3Qy c3RyZWFtKE1vZGlmeUd1aWRGb3JtYXQoImQ0MmFlNmJkLTEzNTItNGJmYi05MDlhLWNhNzJhNmVh ZTg4OSIpKTogR1VJRFRvb2woImQ0MmFlNmJkLTEzNTItNGJmYi05MDlhLWNhNzJhNmVhZTg4OSIs ICJMWk1BRjg2IiwgIkx6bWFGODZDb21wcmVzcyIpLA0KKyAgICAgICAgc3RydWN0MnN0cmVhbShN b2RpZnlHdWlkRm9ybWF0KCIzZDUzMjA1MC01Y2RhLTRmZDAtODc5ZS0wZjdmNjMwZDVhZmIiKSk6 IEdVSURUb29sKCIzZDUzMjA1MC01Y2RhLTRmZDAtODc5ZS0wZjdmNjMwZDVhZmIiLCAiQlJPVExJ IiwgIkJyb3RsaUNvbXByZXNzIiksDQorICAgIH0NCisNCisgICAgZGVmIF9faW5pdF9fKHNlbGYs IHRvb2xkZWZfZmlsZTogc3RyPU5vbmUpIC0+IE5vbmU6DQorICAgICAgICBzZWxmLmRpciA9IG9z LnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iKQ0KKyAgICAgICAgc2Vs Zi50b29sZGVmX2ZpbGUgPSB0b29sZGVmX2ZpbGUgaWYgdG9vbGRlZl9maWxlIGVsc2Ugb3MucGF0 aC5qb2luKHNlbGYuZGlyLCAiRm1tdENvbmYuaW5pIikNCisgICAgICAgIHNlbGYudG9vbGRlZiA9 IGRpY3QoKQ0KKw0KKyAgICBkZWYgU2V0Q29uZmlnRmlsZShzZWxmKSAtPiBOb25lOg0KKyAgICAg ICAgaWYgb3MuZW52aXJvblsnRm1tdENvbmZQYXRoJ106DQorICAgICAgICAgICAgc2VsZi50b29s ZGVmX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MuZW52aXJvblsnRm1tdENvbmZQYXRoJ10sICdGbW10 Q29uZi5pbmknKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBQYXRoTGlzdCA9IG9zLmVu dmlyb25bJ1BBVEgnXQ0KKyAgICAgICAgICAgIGZvciBDdXJyZW50UGF0aCBpbiBQYXRoTGlzdDoN CisgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKEN1cnJlbnRQ YXRoLCAnRm1tdENvbmYuaW5pJykpOg0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi50b29sZGVm X2ZpbGUgPSBvcy5wYXRoLmpvaW4oQ3VycmVudFBhdGgsICdGbW10Q29uZi5pbmknKQ0KKyAgICAg ICAgICAgICAgICAgICAgYnJlYWsNCisNCisgICAgZGVmIFZlcmlmeVRvb2xzKHNlbGYsIGd1aWR0 b29sKSAtPiBOb25lOg0KKyAgICAgICAgIiIiDQorICAgICAgICBWZXJpZnkgVG9vbHMgYW5kIFVw ZGF0ZSBUb29scyBwYXRoLg0KKyAgICAgICAgIiIiDQorICAgICAgICBwYXRoX2VudiA9IG9zLmVu dmlyb24uZ2V0KCJQQVRIIikNCisgICAgICAgIHBhdGhfZW52X2xpc3QgPSBwYXRoX2Vudi5zcGxp dChvcy5wYXRoc2VwKQ0KKyAgICAgICAgcGF0aF9lbnZfbGlzdC5hcHBlbmQob3MucGF0aC5kaXJu YW1lKF9fZmlsZV9fKSkNCisgICAgICAgIHBhdGhfZW52X2xpc3QgPSBsaXN0KHNldChwYXRoX2Vu dl9saXN0KSkNCisgICAgICAgIGNtZCA9IGd1aWR0b29sLmNvbW1hbmQNCisgICAgICAgIGlmIG9z LnBhdGguaXNhYnMoY21kKToNCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoY21k KToNCisgICAgICAgICAgICAgICAgaWYgZ3VpZHRvb2wgbm90IGluIHNlbGYuZGVmYXVsdF90b29s czoNCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiVG9vbCBOb3QgZm91bmQgJXMs IHdoaWNoIGNhdXNlcyBjb21wcmVzcy91bmNvbXByZXNzIHByb2Nlc3MgZXJyb3IuIiAlIGNtZCkN CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiUGxlYXNlIGdvdG8gZWRrMiByZXBv IGluIGN1cnJlbnQgY29uc29sZSwgcnVuICdlZGtzZXR1cC5iYXQgcmVidWlsZCcgY29tbWFuZCwg YW5kIHRyeSBhZ2Fpbi5cbiIpDQorICAgICAgICAgICAgICAgIGVsc2U6DQorICAgICAgICAgICAg ICAgICAgICBsb2dnZXIuZXJyb3IoIlRvb2wgTm90IGZvdW5kICVzLCB3aGljaCBjYXVzZXMgY29t cHJlc3MvdW5jb21wcmVzcyBwcm9jZXNzIGVycm9yLiIgJSBjbWQpDQorICAgICAgICAgICAgZWxz ZToNCisgICAgICAgICAgICAgICAgZ3VpZHRvb2wuaWZleGlzdCA9IFRydWUNCisgICAgICAgIGVs c2U6DQorICAgICAgICAgICAgZm9yIHN5c3BhdGggaW4gcGF0aF9lbnZfbGlzdDoNCisgICAgICAg ICAgICAgICAgaWYgZ2xvYi5nbG9iKG9zLnBhdGguam9pbihzeXNwYXRoLCBjbWQrIioiKSk6DQor ICAgICAgICAgICAgICAgICAgICBndWlkdG9vbC5pZmV4aXN0ID0gVHJ1ZQ0KKyAgICAgICAgICAg ICAgICAgICAgYnJlYWsNCisgICAgICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBpZiBn dWlkdG9vbCBub3QgaW4gc2VsZi5kZWZhdWx0X3Rvb2xzOg0KKyAgICAgICAgICAgICAgICAgICAg bG9nZ2VyLmVycm9yKCJUb29sIE5vdCBmb3VuZCAlcywgd2hpY2ggY2F1c2VzIGNvbXByZXNzL3Vu Y29tcHJlc3MgcHJvY2VzcyBlcnJvci4iICUgY21kKQ0KKyAgICAgICAgICAgICAgICAgICAgbG9n Z2VyLmVycm9yKCJQbGVhc2UgZ290byBlZGsyIHJlcG8gaW4gY3VycmVudCBjb25zb2xlLCBydW4g J2Vka3NldHVwLmJhdCByZWJ1aWxkJyBjb21tYW5kLCBhbmQgdHJ5IGFnYWluLlxuIikNCisgICAg ICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigiVG9v bCBOb3QgZm91bmQgJXMsIHdoaWNoIGNhdXNlcyBjb21wcmVzcy91bmNvbXByZXNzIHByb2Nlc3Mg ZXJyb3IuIiAlIGNtZCkNCisNCisgICAgZGVmIExvYWRpbmdUb29scyhzZWxmKSAtPiBOb25lOg0K KyAgICAgICAgc2VsZi5TZXRDb25maWdGaWxlKCkNCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3Rz KHNlbGYudG9vbGRlZl9maWxlKToNCisgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi50b29sZGVm X2ZpbGUsICJyIikgYXMgZmQ6DQorICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhID0gZmQucmVh ZGxpbmVzKCkNCisgICAgICAgICAgICBmb3IgbGluZSBpbiBjb25maWdfZGF0YToNCisgICAgICAg ICAgICAgICAgdHJ5Og0KKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IGxpbmUuc3RhcnRzd2l0 aCgiIyIpOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGd1aWQsIHNob3J0X25hbWUsIGNvbW1h bmQgPSBsaW5lLnNwbGl0KCkNCisgICAgICAgICAgICAgICAgICAgICAgICBuZXdfZm9ybWF0X2d1 aWQgPSBzdHJ1Y3Qyc3RyZWFtKE1vZGlmeUd1aWRGb3JtYXQoZ3VpZC5zdHJpcCgpKSkNCisgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLnRvb2xkZWZbbmV3X2Zvcm1hdF9ndWlkXSA9IEdVSURU b29sKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWlkLnN0cmlwKCksIHNob3J0X25h bWUuc3RyaXAoKSwgY29tbWFuZC5zdHJpcCgpKQ0KKyAgICAgICAgICAgICAgICBleGNlcHQ6DQor ICAgICAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoIkd1aWRUb29sIGxvYWQgZXJyb3IhIikN CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlDQorICAgICAgICBlbHNlOg0KKyAgICAgICAg ICAgIHNlbGYudG9vbGRlZi51cGRhdGUoc2VsZi5kZWZhdWx0X3Rvb2xzKQ0KKw0KKyAgICBkZWYg X19nZXRpdGVtX18oc2VsZiwgZ3VpZCk6DQorICAgICAgICBpZiBub3Qgc2VsZi50b29sZGVmOg0K KyAgICAgICAgICAgIHNlbGYuTG9hZGluZ1Rvb2xzKCkNCisgICAgICAgIGd1aWRfdG9vbCA9IHNl bGYudG9vbGRlZi5nZXQoZ3VpZCkNCisgICAgICAgIGlmIGd1aWRfdG9vbDoNCisgICAgICAgICAg ICBzZWxmLlZlcmlmeVRvb2xzKGd1aWRfdG9vbCkNCisgICAgICAgICAgICByZXR1cm4gZ3VpZF90 b29sDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcigie30gR3VpZFRv b2wgaXMgbm90IGRlZmluZWQhIi5mb3JtYXQoZ3VpZCkpDQorICAgICAgICAgICAgcmFpc2UgRXhj ZXB0aW9uKCJQcm9jZXNzIEZhaWxlZDogaXMgbm90IGRlZmluZWQhIikNCisNCitndWlkdG9vbHMg PSBHVUlEVG9vbHMoKQ0KKw0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZN TVQvdXRpbHMvRm1tdExvZ2dlci5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvdXRp bHMvRm1tdExvZ2dlci5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAw MC4uMzg1ZjA5ODMxMGEwDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5 dGhvbi9GTU1UL3V0aWxzL0ZtbXRMb2dnZXIucHkNCkBAIC0wLDAgKzEsMzEgQEANCisjIyBAZmls ZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBGbW10IExvZ2dlci4NCisjDQor IyBDb3B5cmlnaHQgKGMpIDIwMjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KKw0KKyMjDQorDQoraW1wb3J0IGxvZ2dpbmcNCitpbXBvcnQgc3lzDQoraW1wb3J0IG9zDQor DQorbG9nZmlsZSA9ICdGTU1UX0J1aWxkLmxvZycNCitpZiBvcy5wYXRoLmV4aXN0cyhsb2dmaWxl KToNCisgICAgb3MucmVtb3ZlKGxvZ2ZpbGUpDQorDQorRm1tdExvZ2dlciA9IGxvZ2dpbmcuZ2V0 TG9nZ2VyKCdGTU1UJykNCitGbW10TG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuREVCVUcpDQorDQor bG9nX3N0cmVhbV9oYW5kbGVyPWxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzeXMuc3Rkb3V0KQ0KK2xv Z19maWxlX2hhbmRsZXI9bG9nZ2luZy5GaWxlSGFuZGxlcihsb2dmaWxlKQ0KK2xvZ19zdHJlYW1f aGFuZGxlci5zZXRMZXZlbChsb2dnaW5nLklORk8pDQorDQorc3RyZWFtX2Zvcm1hdD1sb2dnaW5n LkZvcm1hdHRlcigiJShsZXZlbG5hbWUpLThzOiAlKG1lc3NhZ2UpcyIpDQorZmlsZV9mb3JtYXQ9 bG9nZ2luZy5Gb3JtYXR0ZXIoIiUobGV2ZWxuYW1lKS04czogJShtZXNzYWdlKXMiKQ0KKw0KK2xv Z19zdHJlYW1faGFuZGxlci5zZXRGb3JtYXR0ZXIoc3RyZWFtX2Zvcm1hdCkNCitsb2dfZmlsZV9o YW5kbGVyLnNldEZvcm1hdHRlcihmaWxlX2Zvcm1hdCkNCisNCitGbW10TG9nZ2VyLmFkZEhhbmRs ZXIobG9nX3N0cmVhbV9oYW5kbGVyKQ0KK0ZtbXRMb2dnZXIuYWRkSGFuZGxlcihsb2dfZmlsZV9o YW5kbGVyKQ0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvdXRpbHMv RnZMYXlvdXRQcmludC5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvdXRpbHMvRnZM YXlvdXRQcmludC5weQ0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u ZjA4ODhjOTFkNzBkDQotLS0gL2Rldi9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhv bi9GTU1UL3V0aWxzL0Z2TGF5b3V0UHJpbnQucHkNCkBAIC0wLDAgKzEsNTUgQEANCisjIyBAZmls ZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBwcmludGVyIGZvciBCaW9zIGxh eW91dC4NCisjDQorIyBDb3B5cmlnaHQgKGMpIDIwMjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KKyMjDQorZnJvbSB1dGlscy5GbW10TG9nZ2VyIGltcG9ydCBGbW10TG9n Z2VyIGFzIGxvZ2dlcg0KKw0KK2RlZiBHZXRGb3JtYXR0ZXIobGF5b3V0X2Zvcm1hdDogc3RyKToN CisgICAgaWYgbGF5b3V0X2Zvcm1hdCA9PSAnanNvbic6DQorICAgICAgICByZXR1cm4gSnNvbkZv cm1hdHRlcigpDQorICAgIGVsaWYgbGF5b3V0X2Zvcm1hdCA9PSAneWFtbCc6DQorICAgICAgICBy ZXR1cm4gWWFtbEZvcm1hdHRlcigpDQorICAgIGVsaWYgbGF5b3V0X2Zvcm1hdCA9PSAnaHRtbCc6 DQorICAgICAgICByZXR1cm4gSHRtbEZvcm1hdHRlcigpDQorICAgIGVsc2U6DQorICAgICAgICBy ZXR1cm4gVHh0Rm9ybWF0dGVyKCkNCisNCitjbGFzcyBGb3JtYXR0ZXIob2JqZWN0KToNCisgICAg ZGVmIGR1bXAoc2VsZiwgbGF5b3V0ZGljdCwgbGF5b3V0bGlzdCwgb3V0cHV0ZmlsZTogc3RyPU5v bmUpIC0+IE5vbmU6DQorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZA0KKw0KK2NsYXNzIEpz b25Gb3JtYXR0ZXIoRm9ybWF0dGVyKToNCisgICAgZGVmIGR1bXAoc2VsZixsYXlvdXRkaWN0OiBk aWN0LCBsYXlvdXRsaXN0OiBsaXN0LCBvdXRwdXRmaWxlOiBzdHI9Tm9uZSkgLT4gTm9uZToNCisg ICAgICAgIHRyeToNCisgICAgICAgICAgICBpbXBvcnQganNvbg0KKyAgICAgICAgZXhjZXB0Og0K KyAgICAgICAgICAgIFR4dEZvcm1hdHRlcigpLmR1bXAobGF5b3V0ZGljdCwgbGF5b3V0bGlzdCwg b3V0cHV0ZmlsZSkNCisgICAgICAgICAgICByZXR1cm4NCisgICAgICAgIHByaW50KG91dHB1dGZp bGUpDQorICAgICAgICBpZiBvdXRwdXRmaWxlOg0KKyAgICAgICAgICAgIHdpdGggb3BlbihvdXRw dXRmaWxlLCJ3IikgYXMgZnc6DQorICAgICAgICAgICAgICAgIGpzb24uZHVtcChsYXlvdXRkaWN0 LCBmdywgaW5kZW50PTIpDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIHByaW50KGpzb24u ZHVtcHMobGF5b3V0ZGljdCxpbmRlbnQ9MikpDQorDQorY2xhc3MgVHh0Rm9ybWF0dGVyKEZvcm1h dHRlcik6DQorICAgIGRlZiBMb2dQcmludChzZWxmLGxheW91dGxpc3Q6IGxpc3QpIC0+IE5vbmU6 DQorICAgICAgICBmb3IgaXRlbSBpbiBsYXlvdXRsaXN0Og0KKyAgICAgICAgICAgIHByaW50KGl0 ZW0pDQorICAgICAgICBwcmludCgnXG4nKQ0KKw0KKyAgICBkZWYgZHVtcChzZWxmLGxheW91dGRp Y3Q6IGRpY3QsIGxheW91dGxpc3Q6IGxpc3QsIG91dHB1dGZpbGU6IHN0cj1Ob25lKSAtPiBOb25l Og0KKyAgICAgICAgbG9nZ2VyLmluZm8oJ0JpbmFyeSBMYXlvdXQgSW5mbyBpcyBzYXZlZCBpbiB7 fSBmaWxlLicuZm9ybWF0KG91dHB1dGZpbGUpKQ0KKyAgICAgICAgd2l0aCBvcGVuKG91dHB1dGZp bGUsICJ3IikgYXMgZjoNCisgICAgICAgICAgICBmb3IgaXRlbSBpbiBsYXlvdXRsaXN0Og0KKyAg ICAgICAgICAgICAgICBmLndyaXRlbGluZXMoaXRlbSArICdcbicpDQorDQorY2xhc3MgWWFtbEZv cm1hdHRlcihGb3JtYXR0ZXIpOg0KKyAgICBkZWYgZHVtcChzZWxmLGxheW91dGRpY3QsIGxheW91 dGxpc3QsIG91dHB1dGZpbGUgPSBOb25lKToNCisgICAgICAgIFR4dEZvcm1hdHRlcigpLmR1bXAo bGF5b3V0ZGljdCwgbGF5b3V0bGlzdCwgb3V0cHV0ZmlsZSkNCisNCitjbGFzcyBIdG1sRm9ybWF0 dGVyKEZvcm1hdHRlcik6DQorICAgIGRlZiBkdW1wKHNlbGYsbGF5b3V0ZGljdCwgbGF5b3V0bGlz dCwgb3V0cHV0ZmlsZSA9IE5vbmUpOg0KKyAgICAgICAgVHh0Rm9ybWF0dGVyKCkuZHVtcChsYXlv dXRkaWN0LCBsYXlvdXRsaXN0LCBvdXRwdXRmaWxlKQ0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlDQpkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdl Rm9ybWF0L0NvbW1vbi5weSBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJlU3RvcmFn ZUZvcm1hdC9Db21tb24ucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MDAuLjUwODIyNjhhMDA2Mw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9Q eXRob24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L0NvbW1vbi5weQ0KQEAgLTAsMCArMSw4NSBAQA0K KyMjIEBmaWxlDQorIyBUaGlzIGZpbGUgaXMgdXNlZCB0byBkZWZpbmUgdGhlIGNvbW1vbiBDIHN0 cnVjdCBhbmQgZnVuY3Rpb25zLg0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMS0sIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorIyMNCitmcm9tIGN0eXBlcyBpbXBvcnQgKg0K K2ltcG9ydCB1dWlkDQorDQorIyBaZXJvR3VpZCA9IHV1aWQuVVVJRCgnezAwMDAwMDAwLTAwMDAt MDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0nKQ0KKyMgRUZJX0ZJUk1XQVJFX0ZJTEVfU1lTVEVNMl9H VUlEID0gdXVpZC5VVUlEKCd7OEM4Q0U1NzgtOEEzRC00ZjFjLTk5MzUtODk2MTg1QzMyREQzfScp DQorIyBFRklfRklSTVdBUkVfRklMRV9TWVNURU0zX0dVSUQgPSB1dWlkLlVVSUQoJ3s1NDczQzA3 QS0zRENCLTRkY2EtQkQ2Ri0xRTk2ODlFNzM0OUF9JykNCisjIEVGSV9GRlNfVk9MVU1FX1RPUF9G SUxFX0dVSUQgPSB1dWlkLlVVSUQoJ3sxQkEwMDYyRS1DNzc5LTQ1ODItODU2Ni0zMzZBRThGNzhG MDl9JykNCisNCitFRklfRklSTVdBUkVfRklMRV9TWVNURU0yX0dVSUQgPSB1dWlkLlVVSUQoIjhj OGNlNTc4LThhM2QtNGYxYy05OTM1LTg5NjE4NWMzMmRkMyIpDQorRUZJX0ZJUk1XQVJFX0ZJTEVf U1lTVEVNMl9HVUlEX0JZVEUgPSBiJ3hceGU1XHg4Y1x4OGM9XHg4YVx4MWNPXHg5OTVceDg5YVx4 ODVceGMzLVx4ZDMnDQorIyBFRklfRklSTVdBUkVfRklMRV9TWVNURU0yX0dVSURfQllURSA9IEVG SV9GSVJNV0FSRV9GSUxFX1NZU1RFTTJfR1VJRC5ieXRlcw0KK0VGSV9GSVJNV0FSRV9GSUxFX1NZ U1RFTTNfR1VJRCA9IHV1aWQuVVVJRCgiNTQ3M0MwN0EtM0RDQi00ZGNhLUJENkYtMUU5Njg5RTcz NDlBIikNCisjIEVGSV9GSVJNV0FSRV9GSUxFX1NZU1RFTTNfR1VJRF9CWVRFID0gYid4XHhlNVx4 OGNceDhjPVx4OGFceDFjT1x4OTk1XHg4OWFceDg1XHhjMy1ceGQzJw0KK0VGSV9GSVJNV0FSRV9G SUxFX1NZU1RFTTNfR1VJRF9CWVRFID0gYid6XHhjMHNUXHhjYj1ceGNhTVx4YmRvXHgxZVx4OTZc eDg5XHhlNzRceDlhJw0KK0VGSV9TWVNURU1fTlZEQVRBX0ZWX0dVSUQgPSB1dWlkLlVVSUQoImZm ZjEyYjhkLTc2OTYtNGM4Yi1hOTg1LTI3NDcwNzViNGY1MCIpDQorRUZJX1NZU1RFTV9OVkRBVEFf RlZfR1VJRF9CWVRFID0gYiJceDhkK1x4ZjFceGZmXHg5NnZceDhiTFx4YTlceDg1J0dceDA3W09Q Ig0KK0VGSV9GRlNfVk9MVU1FX1RPUF9GSUxFX0dVSUQgPSB1dWlkLlVVSUQoIjFiYTAwNjJlLWM3 NzktNDU4Mi04NTY2LTMzNmFlOGY3OGYwOSIpDQorRUZJX0ZGU19WT0xVTUVfVE9QX0ZJTEVfR1VJ RF9CWVRFID0gYicuXHgwNlx4YTBceDFieVx4YzdceDgyRVx4ODVmM2pceGU4XHhmN1x4OGZcdCcN CitaRVJPVkVDVE9SX0JZVEUgPSBiJ1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgw MFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAnDQorUEFEVkVDVE9SID0gdXVpZC5VVUlEKCJm ZmZmZmZmZi1mZmZmLWZmZmYtZmZmZi1mZmZmZmZmZmZmZmYiKQ0KK0ZWSF9TSUdOQVRVUkUgPSBi J19GVkgnDQorDQorI0FsaWdubWVudA0KK1NFQ1RJT05fQ09NTU9OX0FMSUdOTUVOVCA9IDQNCitG RlNfQ09NTU9OX0FMSUdOTUVOVCA9IDgNCisNCitjbGFzcyBHVUlEKFN0cnVjdHVyZSk6DQorICAg IF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0d1aWQxJywgICAgICAg ICAgICBjX3VpbnQzMiksDQorICAgICAgICAoJ0d1aWQyJywgICAgICAgICAgICBjX3VpbnQxNiks DQorICAgICAgICAoJ0d1aWQzJywgICAgICAgICAgICBjX3VpbnQxNiksDQorICAgICAgICAoJ0d1 aWQ0JywgICAgICAgICAgICBBUlJBWShjX3VpbnQ4LCA4KSksDQorICAgIF0NCisNCisgICAgZGVm IGZyb21fbGlzdChzZWxmLCBsaXN0Zm9ybWF0OiBsaXN0KSAtPiBOb25lOg0KKyAgICAgICAgc2Vs Zi5HdWlkMSA9IGxpc3Rmb3JtYXRbMF0NCisgICAgICAgIHNlbGYuR3VpZDIgPSBsaXN0Zm9ybWF0 WzFdDQorICAgICAgICBzZWxmLkd1aWQzID0gbGlzdGZvcm1hdFsyXQ0KKyAgICAgICAgZm9yIGkg aW4gcmFuZ2UoOCk6DQorICAgICAgICAgICAgc2VsZi5HdWlkNFtpXSA9IGxpc3Rmb3JtYXRbaSsz XQ0KKw0KKyAgICBkZWYgX19jbXBfXyhzZWxmLCBvdGhlcmd1aWQpIC0+IGJvb2w6DQorICAgICAg ICBpZiBub3QgaXNpbnN0YW5jZShvdGhlcmd1aWQsIEdVSUQpOg0KKyAgICAgICAgICAgIHJldHVy biAnSW5wdXQgaXMgbm90IHRoZSBHVUlEIGluc3RhbmNlIScNCisgICAgICAgIHJ0ID0gRmFsc2UN CisgICAgICAgIGlmIHNlbGYuR3VpZDEgPT0gb3RoZXJndWlkLkd1aWQxIGFuZCBzZWxmLkd1aWQy ID09IG90aGVyZ3VpZC5HdWlkMiBhbmQgc2VsZi5HdWlkMyA9PSBvdGhlcmd1aWQuR3VpZDM6DQor ICAgICAgICAgICAgcnQgPSBUcnVlDQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoOCk6DQor ICAgICAgICAgICAgICAgIHJ0ID0gcnQgJiAoc2VsZi5HdWlkNFtpXSA9PSBvdGhlcmd1aWQuR3Vp ZDRbaV0pDQorICAgICAgICByZXR1cm4gcnQNCisNCitkZWYgTW9kaWZ5R3VpZEZvcm1hdCh0YXJn ZXRfZ3VpZDogc3RyKSAtPiBHVUlEOg0KKyAgICB0YXJnZXRfZ3VpZCA9IHRhcmdldF9ndWlkLnJl cGxhY2UoJy0nLCAnJykNCisgICAgdGFyZ2V0X2xpc3QgPSBbXQ0KKyAgICBzdGFydCA9IFswLDgs MTIsMTYsMTgsMjAsMjIsMjQsMjYsMjgsMzBdDQorICAgIGVuZCA9IFs4LDEyLDE2LDE4LDIwLDIy LDI0LDI2LDI4LDMwLDMyXQ0KKyAgICBudW0gPSBsZW4oc3RhcnQpDQorICAgIGZvciBwb3MgaW4g cmFuZ2UobnVtKToNCisgICAgICAgIG5ld192YWx1ZSA9IGludCh0YXJnZXRfZ3VpZFtzdGFydFtw b3NdOmVuZFtwb3NdXSwgMTYpDQorICAgICAgICB0YXJnZXRfbGlzdC5hcHBlbmQobmV3X3ZhbHVl KQ0KKyAgICBuZXdfZm9ybWF0ID0gR1VJRCgpDQorICAgIG5ld19mb3JtYXQuZnJvbV9saXN0KHRh cmdldF9saXN0KQ0KKyAgICByZXR1cm4gbmV3X2Zvcm1hdA0KKw0KKw0KKyMgR2V0IGRhdGEgZnJv bSBjdHlwZXMgdG8gYnl0ZXMuDQorZGVmIHN0cnVjdDJzdHJlYW0ocykgLT4gYnl0ZXM6DQorICAg IGxlbmd0aCA9IHNpemVvZihzKQ0KKyAgICBwID0gY2FzdChwb2ludGVyKHMpLCBQT0lOVEVSKGNf Y2hhciAqIGxlbmd0aCkpDQorICAgIHJldHVybiBwLmNvbnRlbnRzLnJhdw0KKw0KKw0KKw0KK2Rl ZiBHZXRQYWRTaXplKFNpemU6IGludCwgYWxpZ25tZW50OiBpbnQpIC0+IGludDoNCisgICAgaWYg U2l6ZSAlIGFsaWdubWVudCA9PSAwOg0KKyAgICAgICAgcmV0dXJuIDANCisgICAgUGFkX1NpemUg PSBhbGlnbm1lbnQgLSBTaXplICUgYWxpZ25tZW50DQorICAgIHJldHVybiBQYWRfU2l6ZQ0KZGlm ZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJlU3RvcmFnZUZvcm1hdC9G ZnNGaWxlSGVhZGVyLnB5IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdl Rm9ybWF0L0Zmc0ZpbGVIZWFkZXIucHkNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwMDAwMDAuLmU5YzYxOWQyMjQwZQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvQmFzZVRvb2xzL1Nv dXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L0Zmc0ZpbGVIZWFkZXIucHkNCkBAIC0w LDAgKzEsNjYgQEANCisjIyBAZmlsZQ0KKyMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRo ZSBGZnMgSGVhZGVyIEMgU3RydWN0Lg0KKyMNCisjIENvcHlyaWdodCAoYykgMjAyMS0sIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisjIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorIyMNCitmcm9tIHN0cnVjdCBpbXBvcnQg Kg0KK2Zyb20gY3R5cGVzIGltcG9ydCAqDQorZnJvbSBGaXJtd2FyZVN0b3JhZ2VGb3JtYXQuQ29t bW9uIGltcG9ydCAqDQorDQorRUZJX0ZGU19GSUxFX0hFQURFUl9MRU4gPSAyNA0KK0VGSV9GRlNf RklMRV9IRUFERVIyX0xFTiA9IDMyDQorDQorY2xhc3MgQ0hFQ0tfU1VNKFN0cnVjdHVyZSk6DQor ICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ0hlYWRlcicsICAg ICAgICAgICAgICAgICAgIGNfdWludDgpLA0KKyAgICAgICAgKCdGaWxlJywgICAgICAgICAgICAg ICAgICAgICBjX3VpbnQ4KSwNCisgICAgXQ0KKw0KK2NsYXNzIEVGSV9GRlNfSU5URUdSSVRZX0NI RUNLKFVuaW9uKToNCisgICAgX3BhY2tfID0gMQ0KKyAgICBfZmllbGRzXyA9IFsNCisgICAgICAg ICgnQ2hlY2tzdW0nLCAgICAgICAgICAgICAgICAgQ0hFQ0tfU1VNKSwNCisgICAgICAgICgnQ2hl Y2tzdW0xNicsICAgICAgICAgICAgICAgY191aW50MTYpLA0KKyAgICBdDQorDQorDQorY2xhc3Mg RUZJX0ZGU19GSUxFX0hFQURFUihTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAxDQorICAgIF9m aWVsZHNfID0gWw0KKyAgICAgICAgKCdOYW1lJywgICAgICAgICAgICAgICAgICAgICBHVUlEKSwN CisgICAgICAgICgnSW50ZWdyaXR5Q2hlY2snLCAgICAgICAgICAgRUZJX0ZGU19JTlRFR1JJVFlf Q0hFQ0spLA0KKyAgICAgICAgKCdUeXBlJywgICAgICAgICAgICAgICAgICAgICBjX3VpbnQ4KSwN CisgICAgICAgICgnQXR0cmlidXRlcycsICAgICAgICAgICAgICAgY191aW50OCksDQorICAgICAg ICAoJ1NpemUnLCAgICAgICAgICAgICAgICAgICAgIEFSUkFZKGNfdWludDgsIDMpKSwNCisgICAg ICAgICgnU3RhdGUnLCAgICAgICAgICAgICAgICAgICAgY191aW50OCksDQorICAgIF0NCisNCisg ICAgQHByb3BlcnR5DQorICAgIGRlZiBGRlNfRklMRV9TSVpFKHNlbGYpIC0+IGludDoNCisgICAg ICAgIHJldHVybiBzZWxmLlNpemVbMF0gfCBzZWxmLlNpemVbMV0gPDwgOCB8IHNlbGYuU2l6ZVsy XSA8PCAxNg0KKw0KKyAgICBAcHJvcGVydHkNCisgICAgZGVmIEhlYWRlckxlbmd0aChzZWxmKSAt PiBpbnQ6DQorICAgICAgICByZXR1cm4gMjQNCisNCitjbGFzcyBFRklfRkZTX0ZJTEVfSEVBREVS MihTdHJ1Y3R1cmUpOg0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAg ICAgKCdOYW1lJywgICAgICAgICAgICAgICAgICAgICBHVUlEKSwNCisgICAgICAgICgnSW50ZWdy aXR5Q2hlY2snLCAgICAgICAgICAgRUZJX0ZGU19JTlRFR1JJVFlfQ0hFQ0spLA0KKyAgICAgICAg KCdUeXBlJywgICAgICAgICAgICAgICAgICAgICBjX3VpbnQ4KSwNCisgICAgICAgICgnQXR0cmli dXRlcycsICAgICAgICAgICAgICAgY191aW50OCksDQorICAgICAgICAoJ1NpemUnLCAgICAgICAg ICAgICAgICAgICAgIEFSUkFZKGNfdWludDgsIDMpKSwNCisgICAgICAgICgnU3RhdGUnLCAgICAg ICAgICAgICAgICAgICAgY191aW50OCksDQorICAgICAgICAoJ0V4dGVuZGVkU2l6ZScsICAgICAg ICAgICAgIGNfdWludDY0KSwNCisgICAgXQ0KKw0KKyAgICBAcHJvcGVydHkNCisgICAgZGVmIEZG U19GSUxFX1NJWkUoc2VsZikgLT4gaW50Og0KKyAgICAgICAgcmV0dXJuIHNlbGYuRXh0ZW5kZWRT aXplDQorDQorICAgIEBwcm9wZXJ0eQ0KKyAgICBkZWYgSGVhZGVyTGVuZ3RoKHNlbGYpIC0+IGlu dDoNCisgICAgICAgIHJldHVybiAzMg0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0 aG9uL0Zpcm13YXJlU3RvcmFnZUZvcm1hdC9GdkhlYWRlci5weSBiL0Jhc2VUb29scy9Tb3VyY2Uv UHl0aG9uL0Zpcm13YXJlU3RvcmFnZUZvcm1hdC9GdkhlYWRlci5weQ0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uMDc4YmVkYTllNWMxDQotLS0gL2Rldi9udWxsDQor KysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VGb3JtYXQvRnZIZWFk ZXIucHkNCkBAIC0wLDAgKzEsMTEyIEBADQorIyMgQGZpbGUNCisjIFRoaXMgZmlsZSBpcyB1c2Vk IHRvIGRlZmluZSB0aGUgRlYgSGVhZGVyIEMgU3RydWN0Lg0KKyMNCisjIENvcHlyaWdodCAoYykg MjAyMS0sIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorIyMNCitmcm9tIGFz dCBpbXBvcnQgU3RyDQorZnJvbSBzdHJ1Y3QgaW1wb3J0ICoNCitmcm9tIGN0eXBlcyBpbXBvcnQg Kg0KK2Zyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KKw0KK2NsYXNz IEVGSV9GVl9CTE9DS19NQVBfRU5UUlkoU3RydWN0dXJlKToNCisgICAgX3BhY2tfID0gMQ0KKyAg ICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnTnVtQmxvY2tzJywgICAgICAgICAgICBjX3VpbnQz MiksDQorICAgICAgICAoJ0xlbmd0aCcsICAgICAgICAgICAgICAgY191aW50MzIpLA0KKyAgICBd DQorDQorDQorY2xhc3MgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIoU3RydWN0dXJlKToNCisg ICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ1plcm9WZWN0b3InLCAgICAgICAgICAgQVJSQVko Y191aW50OCwgMTYpKSwNCisgICAgICAgICgnRmlsZVN5c3RlbUd1aWQnLCAgICAgICBHVUlEKSwN CisgICAgICAgICgnRnZMZW5ndGgnLCAgICAgICAgICAgICBjX3VpbnQ2NCksDQorICAgICAgICAo J1NpZ25hdHVyZScsICAgICAgICAgICAgY191aW50MzIpLA0KKyAgICAgICAgKCdBdHRyaWJ1dGVz JywgICAgICAgICAgIGNfdWludDMyKSwNCisgICAgICAgICgnSGVhZGVyTGVuZ3RoJywgICAgICAg ICBjX3VpbnQxNiksDQorICAgICAgICAoJ0NoZWNrc3VtJywgICAgICAgICAgICAgY191aW50MTYp LA0KKyAgICAgICAgKCdFeHRIZWFkZXJPZmZzZXQnLCAgICAgIGNfdWludDE2KSwNCisgICAgICAg ICgnUmVzZXJ2ZWQnLCAgICAgICAgICAgICBjX3VpbnQ4KSwNCisgICAgICAgICgnUmV2aXNpb24n LCAgICAgICAgICAgICBjX3VpbnQ4KSwNCisgICAgICAgICgnQmxvY2tNYXAnLCAgICAgICAgICAg ICBBUlJBWShFRklfRlZfQkxPQ0tfTUFQX0VOVFJZLCAxKSksDQorICAgICAgICBdDQorDQorZGVm IFJlZmluZV9GVl9IZWFkZXIobnVtcyk6DQorICAgIGNsYXNzIEVGSV9GSVJNV0FSRV9WT0xVTUVf SEVBREVSKFN0cnVjdHVyZSk6DQorICAgICAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICAgICAo J1plcm9WZWN0b3InLCAgICAgICAgICAgQVJSQVkoY191aW50OCwgMTYpKSwNCisgICAgICAgICAg ICAoJ0ZpbGVTeXN0ZW1HdWlkJywgICAgICAgR1VJRCksDQorICAgICAgICAgICAgKCdGdkxlbmd0 aCcsICAgICAgICAgICAgIGNfdWludDY0KSwNCisgICAgICAgICAgICAoJ1NpZ25hdHVyZScsICAg ICAgICAgICAgY191aW50MzIpLA0KKyAgICAgICAgICAgICgnQXR0cmlidXRlcycsICAgICAgICAg ICBjX3VpbnQzMiksDQorICAgICAgICAgICAgKCdIZWFkZXJMZW5ndGgnLCAgICAgICAgIGNfdWlu dDE2KSwNCisgICAgICAgICAgICAoJ0NoZWNrc3VtJywgICAgICAgICAgICAgY191aW50MTYpLA0K KyAgICAgICAgICAgICgnRXh0SGVhZGVyT2Zmc2V0JywgICAgICBjX3VpbnQxNiksDQorICAgICAg ICAgICAgKCdSZXNlcnZlZCcsICAgICAgICAgICAgIGNfdWludDgpLA0KKyAgICAgICAgICAgICgn UmV2aXNpb24nLCAgICAgICAgICAgICBjX3VpbnQ4KSwNCisgICAgICAgICAgICAoJ0Jsb2NrTWFw JywgICAgICAgICAgICAgQVJSQVkoRUZJX0ZWX0JMT0NLX01BUF9FTlRSWSwgbnVtcykpLA0KKyAg ICAgICAgICAgIF0NCisgICAgcmV0dXJuIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSDQorDQor Y2xhc3MgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9FWFRfSEVBREVSKFN0cnVjdHVyZSk6DQorICAgIF9m aWVsZHNfID0gWw0KKyAgICAgICAgKCdGdk5hbWUnLCAgICAgICAgICAgICAgIEdVSUQpLA0KKyAg ICAgICAgKCdFeHRIZWFkZXJTaXplJywgICAgICAgIGNfdWludDMyKQ0KKyAgICAgICAgXQ0KKw0K K2NsYXNzIEVGSV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZKFN0cnVjdHVyZSk6DQorICAgIF9m aWVsZHNfID0gWw0KKyAgICAgICAgKCdFeHRFbnRyeVNpemUnLCAgICAgICAgIGNfdWludDE2KSwN CisgICAgICAgICgnRXh0RW50cnlUeXBlJywgICAgICAgICBjX3VpbnQxNikNCisgICAgICAgIF0N CisNCitjbGFzcyBFRklfRklSTVdBUkVfVk9MVU1FX0VYVF9FTlRSWV9PRU1fVFlQRV8wKFN0cnVj dHVyZSk6DQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdIZHInLCAgICAgICAgICAgICAg ICAgIEVGSV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZKSwNCisgICAgICAgICgnVHlwZU1hc2sn LCAgICAgICAgICAgICBjX3VpbnQzMikNCisgICAgICAgIF0NCisNCitjbGFzcyBFRklfRklSTVdB UkVfVk9MVU1FX0VYVF9FTlRSWV9PRU1fVFlQRShTdHJ1Y3R1cmUpOg0KKyAgICBfZmllbGRzXyA9 IFsNCisgICAgICAgICgnSGRyJywgICAgICAgICAgICAgICAgICBFRklfRklSTVdBUkVfVk9MVU1F X0VYVF9FTlRSWSksDQorICAgICAgICAoJ1R5cGVNYXNrJywgICAgICAgICAgICAgY191aW50MzIp LA0KKyAgICAgICAgKCdUeXBlcycsICAgICAgICAgICAgICAgIEFSUkFZKEdVSUQsIDEpKQ0KKyAg ICAgICAgXQ0KKw0KK2RlZiBSZWZpbmVfRlZfRVhUX0VOVFJZX09FTV9UWVBFX0hlYWRlcihudW1z OiBpbnQpIC0+IEVGSV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZX09FTV9UWVBFOg0KKyAgICBj bGFzcyBFRklfRklSTVdBUkVfVk9MVU1FX0VYVF9FTlRSWV9PRU1fVFlQRShTdHJ1Y3R1cmUpOg0K KyAgICAgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAgICAgKCdIZHInLCAgICAgICAgICAgICAg ICAgIEVGSV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZKSwNCisgICAgICAgICAgICAoJ1R5cGVN YXNrJywgICAgICAgICAgICAgY191aW50MzIpLA0KKyAgICAgICAgICAgICgnVHlwZXMnLCAgICAg ICAgICAgICAgICBBUlJBWShHVUlELCBudW1zKSkNCisgICAgICAgIF0NCisgICAgcmV0dXJuIEVG SV9GSVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZX09FTV9UWVBFKFN0cnVjdHVyZSkNCisNCitjbGFz cyBFRklfRklSTVdBUkVfVk9MVU1FX0VYVF9FTlRSWV9HVUlEX1RZUEVfMChTdHJ1Y3R1cmUpOg0K KyAgICBfZmllbGRzXyA9IFsNCisgICAgICAgICgnSGRyJywgICAgICAgICAgICAgICAgICBFRklf RklSTVdBUkVfVk9MVU1FX0VYVF9FTlRSWSksDQorICAgICAgICAoJ0Zvcm1hdFR5cGUnLCAgICAg ICAgICAgR1VJRCkNCisgICAgICAgIF0NCisNCitjbGFzcyBFRklfRklSTVdBUkVfVk9MVU1FX0VY VF9FTlRSWV9HVUlEX1RZUEUoU3RydWN0dXJlKToNCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAg ICAoJ0hkcicsICAgICAgICAgICAgICAgICAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9FWFRfRU5UUlkp LA0KKyAgICAgICAgKCdGb3JtYXRUeXBlJywgICAgICAgICAgIEdVSUQpLA0KKyAgICAgICAgKCdE YXRhJywgICAgICAgICAgICAgICAgIEFSUkFZKGNfdWludDgsIDEpKQ0KKyAgICAgICAgXQ0KKw0K K2RlZiBSZWZpbmVfRlZfRVhUX0VOVFJZX0dVSURfVFlQRV9IZWFkZXIobnVtczogaW50KSAtPiBF RklfRklSTVdBUkVfVk9MVU1FX0VYVF9FTlRSWV9HVUlEX1RZUEU6DQorICAgIGNsYXNzIEVGSV9G SVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZX0dVSURfVFlQRShTdHJ1Y3R1cmUpOg0KKyAgICAgICAg X2ZpZWxkc18gPSBbDQorICAgICAgICAgICAgKCdIZHInLCAgICAgICAgICAgICAgICAgIEVGSV9G SVJNV0FSRV9WT0xVTUVfRVhUX0VOVFJZKSwNCisgICAgICAgICAgICAoJ0Zvcm1hdFR5cGUnLCAg ICAgICAgICAgR1VJRCksDQorICAgICAgICAgICAgKCdEYXRhJywgICAgICAgICAgICAgICAgIEFS UkFZKGNfdWludDgsIG51bXMpKQ0KKyAgICAgICAgXQ0KKyAgICByZXR1cm4gRUZJX0ZJUk1XQVJF X1ZPTFVNRV9FWFRfRU5UUllfR1VJRF9UWVBFKFN0cnVjdHVyZSkNCisNCitjbGFzcyBFRklfRklS TVdBUkVfVk9MVU1FX0VYVF9FTlRSWV9VU0VEX1NJWkVfVFlQRShTdHJ1Y3R1cmUpOg0KKyAgICBf ZmllbGRzXyA9IFsNCisgICAgICAgICgnSGRyJywgICAgICAgICAgICAgICAgICBFRklfRklSTVdB UkVfVk9MVU1FX0VYVF9FTlRSWSksDQorICAgICAgICAoJ1VzZWRTaXplJywgICAgICAgICAgICAg Y191aW50MzIpDQorICAgICAgICBdDQpkaWZmIC0tZ2l0IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRo b24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L1NlY3Rpb25IZWFkZXIucHkgYi9CYXNlVG9vbHMvU291 cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VGb3JtYXQvU2VjdGlvbkhlYWRlci5weQ0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uZWU2YTYzNjc5ZDg5DQotLS0gL2Rl di9udWxsDQorKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GaXJtd2FyZVN0b3JhZ2VGb3Jt YXQvU2VjdGlvbkhlYWRlci5weQ0KQEAgLTAsMCArMSwxMTAgQEANCisjIyBAZmlsZQ0KKyMgVGhp cyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBTZWN0aW9uIEhlYWRlciBDIFN0cnVjdC4NCisj DQorIyBDb3B5cmlnaHQgKGMpIDIwMjEtLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KKyMjDQorZnJvbSBzdHJ1Y3QgaW1wb3J0ICoNCitmcm9tIGN0eXBlcyBpbXBvcnQgKg0K K2Zyb20gRmlybXdhcmVTdG9yYWdlRm9ybWF0LkNvbW1vbiBpbXBvcnQgKg0KKw0KK0VGSV9DT01N T05fU0VDVElPTl9IRUFERVJfTEVOID0gNA0KK0VGSV9DT01NT05fU0VDVElPTl9IRUFERVIyX0xF TiA9IDgNCisNCitjbGFzcyBFRklfQ09NTU9OX1NFQ1RJT05fSEVBREVSKFN0cnVjdHVyZSk6DQor ICAgIF9wYWNrXyA9IDENCisgICAgX2ZpZWxkc18gPSBbDQorICAgICAgICAoJ1NpemUnLCAgICAg ICAgICAgICAgICAgICAgIEFSUkFZKGNfdWludDgsIDMpKSwNCisgICAgICAgICgnVHlwZScsICAg ICAgICAgICAgICAgICAgICAgY191aW50OCksDQorICAgIF0NCisNCisgICAgQHByb3BlcnR5DQor ICAgIGRlZiBTRUNUSU9OX1NJWkUoc2VsZikgLT4gaW50Og0KKyAgICAgICAgcmV0dXJuIHNlbGYu U2l6ZVswXSB8IHNlbGYuU2l6ZVsxXSA8PCA4IHwgc2VsZi5TaXplWzJdIDw8IDE2DQorDQorICAg IGRlZiBDb21tb25fSGVhZGVyX1NpemUoc2VsZikgLT4gaW50Og0KKyAgICAgICAgcmV0dXJuIDQN CisNCitjbGFzcyBFRklfQ09NTU9OX1NFQ1RJT05fSEVBREVSMihTdHJ1Y3R1cmUpOg0KKyAgICBf cGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdTaXplJywgICAgICAgICAg ICAgICAgICAgICBBUlJBWShjX3VpbnQ4LCAzKSksDQorICAgICAgICAoJ1R5cGUnLCAgICAgICAg ICAgICAgICAgICAgIGNfdWludDgpLA0KKyAgICAgICAgKCdFeHRlbmRlZFNpemUnLCAgICAgICAg ICAgICBjX3VpbnQzMiksDQorICAgIF0NCisNCisgICAgQHByb3BlcnR5DQorICAgIGRlZiBTRUNU SU9OX1NJWkUoc2VsZikgLT4gaW50Og0KKyAgICAgICAgcmV0dXJuIHNlbGYuRXh0ZW5kZWRTaXpl DQorDQorICAgIGRlZiBDb21tb25fSGVhZGVyX1NpemUoc2VsZikgLT4gaW50Og0KKyAgICAgICAg cmV0dXJuIDgNCisNCitjbGFzcyBFRklfQ09NUFJFU1NJT05fU0VDVElPTihTdHJ1Y3R1cmUpOg0K KyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdVbmNvbXByZXNz ZWRMZW5ndGgnLCAgICAgICBjX3VpbnQzMiksDQorICAgICAgICAoJ0NvbXByZXNzaW9uVHlwZScs ICAgICAgICAgIGNfdWludDgpLA0KKyAgICBdDQorDQorICAgIGRlZiBFeHRIZWFkZXJTaXplKHNl bGYpIC0+IGludDoNCisgICAgICAgIHJldHVybiA1DQorDQorY2xhc3MgRUZJX0ZSRUVGT1JNX1NV QlRZUEVfR1VJRF9TRUNUSU9OKFN0cnVjdHVyZSk6DQorICAgIF9wYWNrXyA9IDENCisgICAgX2Zp ZWxkc18gPSBbDQorICAgICAgICAoJ1N1YlR5cGVHdWlkJywgICAgICAgICAgICAgIEdVSUQpLA0K KyAgICBdDQorDQorICAgIGRlZiBFeHRIZWFkZXJTaXplKHNlbGYpIC0+IGludDoNCisgICAgICAg IHJldHVybiAxNg0KKw0KK2NsYXNzIEVGSV9HVUlEX0RFRklORURfU0VDVElPTihTdHJ1Y3R1cmUp Og0KKyAgICBfcGFja18gPSAxDQorICAgIF9maWVsZHNfID0gWw0KKyAgICAgICAgKCdTZWN0aW9u RGVmaW5pdGlvbkd1aWQnLCAgICBHVUlEKSwNCisgICAgICAgICgnRGF0YU9mZnNldCcsICAgICAg ICAgICAgICAgY191aW50MTYpLA0KKyAgICAgICAgKCdBdHRyaWJ1dGVzJywgICAgICAgICAgICAg ICBjX3VpbnQxNiksDQorICAgIF0NCisNCisgICAgZGVmIEV4dEhlYWRlclNpemUoc2VsZikgLT4g aW50Og0KKyAgICAgICAgcmV0dXJuIDIwDQorDQorZGVmIEdldF9VU0VSX0lOVEVSRkFDRV9IZWFk ZXIobnVtczogaW50KToNCisgICAgY2xhc3MgRUZJX1NFQ1RJT05fVVNFUl9JTlRFUkZBQ0UoU3Ry dWN0dXJlKToNCisgICAgICAgIF9wYWNrXyA9IDENCisgICAgICAgIF9maWVsZHNfID0gWw0KKyAg ICAgICAgICAgICgnRmlsZU5hbWVTdHJpbmcnLCAgICAgICBBUlJBWShjX3VpbnQxNiwgbnVtcykp LA0KKyAgICAgICAgXQ0KKw0KKyAgICAgICAgZGVmIEV4dEhlYWRlclNpemUoc2VsZikgLT4gaW50 Og0KKyAgICAgICAgICAgIHJldHVybiAyICogbnVtcw0KKw0KKyAgICAgICAgZGVmIEdldFVpU3Ry aW5nKHNlbGYpIC0+IHN0cjoNCisgICAgICAgICAgICBVaVN0cmluZyA9ICcnDQorICAgICAgICAg ICAgZm9yIGkgaW4gcmFuZ2UobnVtcyk6DQorICAgICAgICAgICAgICAgIGlmIHNlbGYuRmlsZU5h bWVTdHJpbmdbaV06DQorICAgICAgICAgICAgICAgICAgICBVaVN0cmluZyArPSBjaHIoc2VsZi5G aWxlTmFtZVN0cmluZ1tpXSkNCisgICAgICAgICAgICByZXR1cm4gVWlTdHJpbmcNCisNCisgICAg cmV0dXJuIEVGSV9TRUNUSU9OX1VTRVJfSU5URVJGQUNFDQorDQorZGVmIEdldF9WRVJTSU9OX0hl YWRlcihudW1zOiBpbnQpOg0KKyAgICBjbGFzcyBFRklfU0VDVElPTl9WRVJTSU9OKFN0cnVjdHVy ZSk6DQorICAgICAgICBfcGFja18gPSAxDQorICAgICAgICBfZmllbGRzXyA9IFsNCisgICAgICAg ICAgICAoJ0J1aWxkTnVtYmVyJywgICAgICAgICAgY191aW50MTYpLA0KKyAgICAgICAgICAgICgn VmVyc2lvblN0cmluZycsICAgICAgICBBUlJBWShjX3VpbnQxNiwgbnVtcykpLA0KKyAgICAgICAg XQ0KKw0KKyAgICAgICAgZGVmIEV4dEhlYWRlclNpemUoc2VsZikgLT4gaW50Og0KKyAgICAgICAg ICAgIHJldHVybiAyICogKG51bXMrMSkNCisNCisgICAgICAgIGRlZiBHZXRWZXJzaW9uU3RyaW5n KHNlbGYpIC0+IHN0cjoNCisgICAgICAgICAgICBWZXJzaW9uU3RyaW5nID0gJycNCisgICAgICAg ICAgICBmb3IgaSBpbiByYW5nZShudW1zKToNCisgICAgICAgICAgICAgICAgaWYgc2VsZi5WZXJz aW9uU3RyaW5nW2ldOg0KKyAgICAgICAgICAgICAgICAgICAgVmVyc2lvblN0cmluZyArPSBjaHIo c2VsZi5WZXJzaW9uU3RyaW5nW2ldKQ0KKyAgICAgICAgICAgIHJldHVybiBWZXJzaW9uU3RyaW5n DQorDQorICAgIHJldHVybiBFRklfU0VDVElPTl9WRVJTSU9ODQpkaWZmIC0tZ2l0IGEvQmFzZVRv b2xzL1NvdXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L19faW5pdF9fLnB5IGIvQmFz ZVRvb2xzL1NvdXJjZS9QeXRob24vRmlybXdhcmVTdG9yYWdlRm9ybWF0L19faW5pdF9fLnB5DQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jNWNlMWNjMDI0ZWUNCi0t LSAvZGV2L251bGwNCisrKyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0Zpcm13YXJlU3RvcmFn ZUZvcm1hdC9fX2luaXRfXy5weQ0KQEAgLTAsMCArMSw2IEBADQorIyMgQGZpbGUNCisjIFRoaXMg ZmlsZSBpcyB1c2VkIHRvIGRlZmluZSB0aGUgRmlybXdhcmUgU3RvcmFnZSBGb3JtYXQuDQorIw0K KyMgQ29weXJpZ2h0IChjKSAyMDIxLSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCisjIw0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQotLSANCjIuMjYuMS53aW5kb3dz LjENCg0K