From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web09.1.1618439536678945339 for ; Wed, 14 Apr 2021 15:32:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=yMUWFcBK; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: //cU2pKmesRzkZbCImxCz/iDNE3SsnDdWmYkdiEfI/eApbG298ltRL8AypJthPo2LCmD6cowkg YjTeLyb4h8EQ== X-IronPort-AV: E=McAfee;i="6200,9189,9954"; a="280063994" X-IronPort-AV: E=Sophos;i="5.82,223,1613462400"; d="scan'208";a="280063994" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2021 15:32:15 -0700 IronPort-SDR: 9PpNd2RsQD7rTJ4MZhWQ+dZBbmXQGPT7P1H2MWjOskRUyHzTyOKRgayNssHq/MVfO/+wtVnT51 sDZTeUOVPF8w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,223,1613462400"; d="scan'208";a="424933801" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 14 Apr 2021 15:32:15 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 14 Apr 2021 15:32:14 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 14 Apr 2021 15:32:14 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.2106.2 via Frontend Transport; Wed, 14 Apr 2021 15:32:14 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) 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.2106.2; Wed, 14 Apr 2021 15:30:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QtENwdA7Yw1H/EyeAOnvinSDR1ZBojgNe8JIhisz8faxw2fzaKedw36nv4N9u28H4V3i8M2+vuUdqnvkIzm+/c8z4b/OJkooxL8rYBPUJicWYiW0fVOHkiUBRUsy+cVRvFOP2kMQqfzDWbjtMOubIOZ+FxsnL8vAbjqP5FGJKUoGPTQvW7B+3QXHDiTvHQ5GMSVuFzJrTD5OFHfTrUyrhI99GCUQHxSi305GR0iQ3RBYEAzenNKsTPemWqQ9AbutOwXiGRKKgPLeBRcoepCz2o1yeQb8f5PfouGqEuRuTC5hkn7FNB1jCVC3T/5HCajMYsKAmRfKMVPTRtmZVyeDuA== 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-SenderADCheck; bh=X9gUlYRBl8mG7LqgX/k/d8+i0MQXejW8q+ub/QRGqCo=; b=AFkSsefoqURbHdmKX8B7250C1jiKO7M2iUmOH41w8b9TW3ANcG0WoURMxtdCtEtrK6qheUT2zHqN2EQ7Kmfv0YS7rMapKp3CCN4J4uz9R3dj5kSsXIBbU03I0blzuOuZ7sbuJMQHdkqqIuo7iby8+a6mcyBgTNADvltm/m9o4D04WPE+LfxkvTEwEu895UUvA3plTbVnKYHzV0RzSQVkkUHwrPqSSMJpuuA3fDooA8WqkS3Tk6aNCn4xAuVNjcY+pCFe5Sz96hKHRE6A6vxIR1GE22fQBJmvkoqlcFl3XLdGw501yxfwG2KyE75hYhgYQdEdps6nvGuc3w/VzihSkw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X9gUlYRBl8mG7LqgX/k/d8+i0MQXejW8q+ub/QRGqCo=; b=yMUWFcBK9qK3sGdMTBLFEM4yRg5JEp5SDTRr7m4la3B5to03bQXn1DFvMSNwdloIxXYlA/xsdfbeCPTHj8i3MgfF+GyI8mFbpKEPSHkedhwoADuH4EYpzIrEr+TgqRJg2LWG7bxafczmnPwiRwunAAEmVOqhERuR2YOefWpOpug= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR11MB1760.namprd11.prod.outlook.com (2603:10b6:300:10e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Wed, 14 Apr 2021 22:30:56 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8%6]) with mapi id 15.20.4020.022; Wed, 14 Apr 2021 22:30:55 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "harlydavidsen@gmail.com" , Andrew Fish , "Kinney, Michael D" CC: Leif Lindholm , Laszlo Ersek , "Desimone, Nathaniel L" , "Rafael Rodrigues Machado" , Gerd Hoffmann Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) Thread-Topic: [edk2-devel] VirtIO Sound Driver (GSoC 2021) Thread-Index: AQHXJPKnIJIOupqwYE2n1tH7bW5W66qdE3oAgAAkzd2AAFPcgIAAG9SAgAns8wCAABEigIAK0PGAgAAeOYCAACvsgIAAT8eAgAA9+YuAACpOgIABG7OAgAAZsUA= Date: Wed, 14 Apr 2021 22:30:55 +0000 Message-ID: References: <16713E6D64EE917D.25648@groups.io> <2379DE31-D6E1-491E-AE22-416085D73765@intel.com> <66e073bb-366b-0559-4a78-fc5e8215aca1@redhat.com> <16758FB6436B1195.32393@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: de8e9f1e-b269-4c6e-42a0-08d8ff94f83c x-ms-traffictypediagnostic: MWHPR11MB1760: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CNeWDcEGSRHDvInwkh6XcvyKnD5+a31ZQ864nZTbJeDrigaoyty6lriUzxbkqt/vDfKbyZ5IFR3ANFCKql4jBu4HdH7PBa7quGkMqepP4sBMICtlt1jbYTfTgN1PDZ+ZMBeGWV6OyhiYsMhR9y9r3+QN/vjiffmPmozSHj7sIhk8fyDkWHi5RjbNuY+fl694++XxMxnHXVuEch0EgTSmTubJf70X1y63decxHUyiK0kd3180qi4vVSgU9fCgaiS2Pa8lSH+wpKh+b1Yu7GoyvosjEG1C0pK/pGah+5k7yGzS2DczBf9GGCaIgM+bTvPUrQLjg3e7siqtOfJGZcP3wD9Tos8Zqs/WHx2z0CDAwEfTDC/o++HtEnB6UBKLMkQ5APPL867Vtwv266twAn8mUpp2S03gjtIAZqFEmy8QeZMNgzgJzpbjTXieOvs9UDeZrWVF0oeFbPCMBocXtZvXSq/jp1Wfimq8mfZzc+Rjf7+dU40EBBJU9+WNn89p9kyt5bb25Y6NrA/JYQ0E/v6eJodgvqhpfpaeUw/l1954NvTDFJe1Mwdy+aulDBA+KUJ0IeAjSa8bOVNmxc3+7NSIJbWbm0ZBwT1Dj44WF8hbq9koB4+DHD/Ogid06kF330ne1fKdktMeK8togPUbYTlSxUXz3WCF3okaNHNEfCn7U/7PcoHdSgL4+IcUgoUE5ur9jROdGtb+O0txhha8FLwJtnNkuK8vCY3v7pZzNzKT+b8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(376002)(366004)(346002)(39860400002)(6506007)(66946007)(30864003)(64756008)(66476007)(66556008)(71200400001)(122000001)(26005)(5660300002)(33656002)(83380400001)(66446008)(86362001)(186003)(316002)(53546011)(966005)(55016002)(54906003)(52536014)(9686003)(38100700002)(7696005)(8936002)(110136005)(19627235002)(2906002)(76116006)(8676002)(478600001)(4326008)(579004)(559001)(387795003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Rzh0RXFsaklzVndlTm5qaW9ucWdsSVI0ejl2MWx0alN4c1c3UFZxVFp3QW01?= =?utf-8?B?a01NMU9WamROVDU2b1pGY1BubmFKMmdBMFl3cUphRmNGeW4zZXRVRlhoRXJ3?= =?utf-8?B?dFpYdFI0ay94Uml5YWFINVdYclp0RDZsTzl6ODExQmY5M2t4R2UrbzAybmN2?= =?utf-8?B?T3RPdGQ0MWhFem04cTd3WGhZVUVZZElhOFpmUG1jNHVRMG9jamRiUW90S1FY?= =?utf-8?B?T2dPaTV5akFEellnMFp6MUt5MXJqUXRmOWwrR0RNN21ydmJqTmV3ZjBzNWlG?= =?utf-8?B?bkUzQXE4VEdqUTdkQ2czbnR6Q3Q3cmpac2RuSzlDSjVMSU9USUdUTjlmNk1t?= =?utf-8?B?V3NnUHNZVEE3cU94TkxVN1NsRFEwbjllRzVDd1pYS3FNamNuNDYzTmRWRkI0?= =?utf-8?B?cGFvU1ZzLzMyTjhhdTZmaE91WWNmRlIySHIyeEpuQ1VCWjBNZGlsV1NoMlps?= =?utf-8?B?UVhNL3ovY1dRQzBqUDdNdHhVWEV1MWJvREVuLzU2UVg4QTZNL04wU3dNTGZX?= =?utf-8?B?aU1zRGMvTEhUbzNMemh6TTEvZVZjeXNrMzhyS2p6ZHcwa2x3T09SL21Xdm9B?= =?utf-8?B?RHRPZUNybzQ5ZzRhWUJKZFZQdU51RTAyNUpiQ3ZFdDJnM0hJZitncGJTTGRO?= =?utf-8?B?aG0zejFUVnpnaU00RzIzeXpoNzZWWFMxMHZiM05tbHo1cy9XdS9YMVNkK2x1?= =?utf-8?B?Zk9oNWZkQmZYRWY4YWMvTHIwL3JaRHdlbS9KeUlRNDk3VTN3T3F5cDU5TUhv?= =?utf-8?B?Uk1kaVlGWURGTC8xeUJyYVZiKzdwQUdxQWliTS8rZ2RVQjhnUGVLOUxRTnNI?= =?utf-8?B?NzVHKzZ4anhHcEMyS2ZJUzJpYWpKSFJyTmNIMDhjLzlqaFFtd0Rvem5Xckw0?= =?utf-8?B?R1Q2bHNxTmtKVHBNbVJaU1VTcFpnKzJVTmI1TkNPT2tvZklQNENZazlVU1dz?= =?utf-8?B?OXR2RW80Mzk1bjIzZmJrU1QzS1Zsd0RZcXEwcC9QVVhrUUtyOHZWUFpxaVdm?= =?utf-8?B?bnFwanJJOUNTbW0ycjE3RDhLcTJOSC9aRGFNUjczaWVnVE1aNWhHV3NYMy8z?= =?utf-8?B?cHFCMDZJZmdqUnZOQW0xY3ZHTDlONk1aMk11YkY2Y3loTHlvT3U3QWRUdm8y?= =?utf-8?B?Tjgzc3g4Wm9NUTJLVURLRDhTZjBvTEtDRWJpbkRWN2Z3RC9xaE90S01mTWR1?= =?utf-8?B?SUxmTlRSOE5UdWV6UEI0eVdFTkJUSmtybkI4eWtzS2RTQ0kxZEMvZEQzKzZY?= =?utf-8?B?MzQyYm9VeWZCM0djMjNrMWIrNHlXSjZZQ1k4RFN0S2pxU3c0dFhWUnFCMTUz?= =?utf-8?B?TXkwWU5OdkJPVi9IVG45R2NxN3E0Zm5JKy9nUFAwc21kL2k5YjJheFFsUjJz?= =?utf-8?B?ZGdjM015Rk1UYUd4d0VhalRlUHgrOVZNb3lCVWdnVnN4dDZMY1FBU0NSUmRI?= =?utf-8?B?TGovd0Q0Z0I4VGxqcWF6S01rTTE2Uk1wU1A1aloyb21FMXBDa3lIVmJXSTZC?= =?utf-8?B?T2xKSE5WUU5GV1U1d2lxT0U3ckFGT2hJckFoNFJhVFBPQXBRd01TQWVTMUF6?= =?utf-8?B?bDlzVW0waklzbzI0dThnNVNGbGU4WDRHMjB1NlBwa2I5VStyZTFmdDU1NFN1?= =?utf-8?B?aUhvZ0VrQ2JYbERHZi95TmpqUUNvSnRuY2lsK2FiMHVoSmRvcG5xdGwwY0p2?= =?utf-8?B?Ylh0RUNaZE9XQ3MvNnlxN0VSZmFmZTlzNzYxNG5DdXZiKzJUc2Yzb0h2SHBs?= =?utf-8?Q?LXxve3rb9xXfeVMDI/UJWRWU1GY5BblaGXvobY4?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de8e9f1e-b269-4c6e-42a0-08d8ff94f83c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2021 22:30:55.6741 (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: vl9xWUpw7287RDxh8pxDlA4UJ6vSzBj5Oee3I3UOYbdpO1MYk8fpRCGv6uT+zPGFnEwTjHXgR5y+M9SJHPAG8kWsaB+nvFMYHjG6uAE7FJ8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1760 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgRXRoaW4sDQoNCk1vc3QgVUVGSSBEcml2ZXJzIGRvIHVzZSBwb2xsaW5nLg0KDQpJZiBpdCBp cyBhIGJsb2NraW5nIEkvTyBvcGVyYXRpb24gdGhlIFVFRkkgRHJpdmVyIHdhaXRzIGZvciBjb21w bGV0aW9uLiAgVHlwaWNhbGx5IGJ5IHBvbGxpbmcgYSBzdGF0dXMgcmVnaXN0ZXIgdW50aWwgdGhl IEkvTyBpcyBjb21wbGV0ZSBhbmQgdGhlbiByZXR1cm4gc3RhdHVzLg0KDQpJZiBpdCBpcyBhIG5v bi1ibG9ja2luZyBJL08gT3BlcmF0aW9uLCB0aGVuIHRoZSBVRUZJIERyaXZlciBjYW4gY3JlYXRl IGEgdGltZXIgZXZlbnQgdG8gcGVyaW9kaWNhbGx5IGNoZWNrIHRoZSBjb21wbGV0aW9uIHN0YXR1 cy4gIA0KDQpOb24tYmxvY2tpbmcgQVBJcyBtYXkgYWxzbyB1c2UgYW4gZXZlbnQgdG8ga25vdyB3 aGVuIHRoZSBJL08gb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBhbmQgdGhpcyBjYW4gYmUgdXNlZCB3 aXRoIHRoZSBDaGVja0V2ZW50KCkgc2VydmljZSB0byBwb2xsIGZvciBldmVudCBjb21wbGV0aW9u Lg0KDQpUaGVzZSBjb25jZXB0cyBhcmUgZGlzY3Vzc2VkIGluIHRoZSBVRUZJIERyaXZlciBXcml0 ZXIncyBHdWlkZS4NCg0KaHR0cHM6Ly90aWFub2NvcmUtZG9jcy5naXRodWIuaW8vZWRrMi1VZWZp RHJpdmVyV3JpdGVyc0d1aWRlL2RyYWZ0L2VkazItVWVmaURyaXZlcldyaXRlcnNHdWlkZS1kcmFm dC5wZGYNCg0KU3BlY2lmaWNhbGx5IGZvciBhdWRpby4gIElmIHRoZXJlIGlzIGFuIGF1ZGlvIHBs YXliYWNrIGJ1ZmZlciB0aGF0IHdpbGwgdGFrZSBzb21lIHRpbWUgdG8gc2VuZCwNCnRoZSBBdWRp byBQcm90b2NvbCB3b3VsZCBsaWtlbHkgZGVmaW5lIGEgbm9uLWJsb2NraW5nIGludGVyZmFjZSB0 byBzdGFydCBwbGF5YmFjay4gIFlvdSBtYXkgbmVlZA0KYW4gZXZlbnQgdGhhdCBpcyBzaWduYWxl ZCB3aGVuIG1vcmUgYXVkaW8gZGF0YSBpcyBuZWVkZWQgb3Igd2hlbiB0aGUgcGxheWJhY2sgaXMg Y29tcGxldGUuICBZb3UNCndpbGwgbmVlZCB0byB0aGluayBhYm91dCB0aGUgY29uc3VtZXIgb2Yg dGhlIEF1ZGlvIFByb3RvY29sIGFuZCBob3cgaXQgd2lsbCBpbnRlcmFjdCB3aXRoIHRoZSANCkF1 ZGlvIFByb3RvY29sIGFuZCBpZiB0aGUgY29uc3VtZXIgYWxzbyBuZWVkcyB0byBkbyBvdGhlciBh Y3Rpdml0aWVzIHdoaWxlIGF1ZGlvIGlzIHBsYXlpbmcgb3INCmlmIGl0IGlzIG9rIGZvciB0aGUg Y29uc3VtZXIgdG8gd2FpdCB1bnRpbCB0aGUgYXVkaW8gcGxheWJhY2sgaXMgY29tcGxldGVkLg0K DQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgRXRoaW4gUHJv YnN0DQo+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTQsIDIwMjEgMTo0OCBQTQ0KPiBUbzogQW5k cmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT4NCj4gQ2M6IGVkazItZGV2ZWwtZ3JvdXBzLWlvIDxk ZXZlbEBlZGsyLmdyb3Vwcy5pbz47IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tPjsg TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+IERlc2ltb25lLCBOYXRoYW5pZWwg TCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgUmFmYWVsIFJvZHJpZ3VlcyBNYWNo YWRvIDxyYWZhZWxyb2RyaWd1ZXMubWFjaGFkb0BnbWFpbC5jb20+OyBHZXJkDQo+IEhvZmZtYW5u IDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBWaXJ0SU8g U291bmQgRHJpdmVyIChHU29DIDIwMjEpDQo+IA0KPiBUaGVzZSBhcmUgc29tZSBwcmV0dHkgZ29v ZCBzdWdnZXN0aW9uczsgaG93ZXZlciwgd2hpbGUgcmVhZGluZyB0aHJvdWdoDQo+IHRoZSBWaXJ0 SU8gc3BlY2lmaWNhdGlvbiBhZ2FpbiB5ZXN0ZXJkYXksIEkgKHJlKS1kaXNjb3ZlcmVkIHRoYXQN Cj4gVmlydElPIGRldmljZXMgYXJlIHVzdWFsbHkgaW50ZXJydXB0IGJhc2VkLiBJbiBwYXJ0aWN1 bGFyLCBhIFZpcnRJTw0KPiBQQ0kvUENJZSBkZXZpY2UgZGVmaW5lcyB0aGUgY29tbW9uLCBub3Rp ZmljYXRpb25zLCBJU1Igc3RhdHVzLA0KPiBkZXZpY2Utc3BlY2lmaWMgY29uZmlndXJhdGlvbiwg UENJIGNvbmZpZ3VyYXRpb24gYWNjZXNzLCBzaGFyZWQgbWVtb3J5DQo+IHJlZ2lvbiwgYW5kIHZl bmRvci1zcGVjaWZpYyBkYXRhIGNhcGFiaWxpdHkgc3RydWN0dXJlcyBpbiBQQ0kNCj4gY29uZmln dXJhdGlvbiBzcGFjZS4gSXQgZG9lc24ndCBsb29rIGxpa2UgdGhlIEVGSV9DUkVBVEVfRVZFTlQg b3INCj4gRUZJX0NSRUFURV9FVkVOVF9FWCBmdW5jdGlvbiB3b3JrcyB2aWEgaW50ZXJydXB0cywg ZnJvbSB3aGF0IEkgY2FuDQo+IHRlbGwuIEknbSBub3Qgc3VyZSBidXQgaXQgZG9lc24ndCBzZWVt IGxpa2UgdGhlcmUncyBhIHdheSBJIGNhbiBwb2xsDQo+IHRoZSBkZXZpY2UsIHRob3VnaCBJIG1p Z2h0IGJlIG1pc3Npbmcgc29tZXRoaW5nLg0KPiBUaGUgaWRlYSBmb3IgdGhlIGdlbmVyaWMgcHJv dG9jb2wgaXMgZ29vZC4gVGhlIGludGVycnVwdCBpc3N1ZSBtaWdodA0KPiBiZSBhIHByb2JsZW0g dGhvdWdoIGFuZCBJJ20gbm90IHN1cmUgaG93IHRvIGFjdHVhbGx5IHNvbHZlIHRoYXQuDQo+IA0K PiBPbiA0LzEzLzIxLCBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPiB3cm90ZToNCj4gPiBF dGhpbiwNCj4gPg0KPiA+IEluIHRlcm1zIG9mIGRlZmluaW5nIHRoZSBwcm90b2NvbCBzdGFjayBp dCBpcyBnb29kIHRvIHN0YXJ0IHdpdGggdGhlDQo+ID4gcHJvZHVjZXJzIGFuZCBjb25zdW1lcnMg YW5kIHRoaW5rIGFib3V0IHRoZSBwcm9ibGVtIGZyb20gYm90aCBwZXJzcGVjdGl2ZXMuDQo+ID4g SXQgaXMgZWFzeSBlbm91Z2ggdG8gdGhpbmsgYWJvdXQgdGhlIHByb2R1Y2VyIHBhcnQgb2YgaXQg YXMgeW91IGFyZSB0aGlua2luZw0KPiA+IGFib3V0IHdyaXRpbmcgdGhlIGRyaXZlci4gVGhlIGRy aXZlciBpcyBnb2luZyB0byBjb25zdW1lIHRoaW5ncyBsaWtlIHRoZSBQQ0kNCj4gPiBJL08gUHJv dG9jb2wuDQo+ID4NCj4gPiBUaGUgY29uc3VtZXIgb2YgdGhlIHNvdW5kIFByb3RvY29sIGlzIGdv aW5nIHRvIG1vc3QgbGlrZWx5IGJlIGdlbmVyaWMgRUZJDQo+ID4gcGxhdGZvcm0gY29kZSwgYW5k IHBvc3NpYmx5IGFuIE9TIGxvYWRlci4gSW4gdGhlIGJvb3QgcHJvY2VzcyBBdWRpbyBoYXMNCj4g PiB0cmFkaXRpb25hbGx5IGJlIHVzZWQgZm9yIGVycm9yIGNvZGVzLCBzaWduIG9mIGxpZmUgKGZv ciBleGFtcGxlIHRoZSBmYW1vdXMNCj4gPiBNYWMgc3RhcnR1cCBzb3VuZCkuIFdlIGFyZSBhbHNv IHdvdWxkIGxpa2UgdG8gaGF2ZSB0aGUgb3B0aW9uIG9mIGVuYWJsaW5nDQo+ID4gYmV0dGVyIGFj Y2Vzc2liaWxpdHkgZmVhdHVyZXMsIGVzcGVjaWFsbHkgZm9yIHBlb3BsZSBob3cgYXJlIHZpc3Vh bGx5DQo+ID4gaW1wYWlyZWQuIFRoZXNlIGRheXMgYSBsb3Qgb2Ygc29mdHdhcmUgZW5naW5lZXJz IHRoaW5rIG9mIGRpc2sgc3BhY2UgYXMgZnJlZQ0KPiA+IGFuZCByZWFsbHkgZG9u4oCZdCBjb25z aWRlciB0aGUgc2l6ZSBvZiBzb2Z0d2FyZSwgYnV0IHRoaXMgaXMgbm90IHRydWUgZm9yDQo+ID4g ZmlybXdhcmUuIEZpcm13YXJlIGdlbmVyYWxseSBsaXZlcyBpbiBOT1IgRkxBU0ggdGhhdCBpcyBj b25zaWRlcmVkIGV4cGVuc2l2ZQ0KPiA+IChpdCBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuIE5BTkQs IGJ1dCBhdCB0aGUgc2FtZSB0aW1lIG1vcmUgcmVsaWFibGUpIHNvDQo+ID4gZmlybXdhcmUgaW1w bGVtZW50YXRpb25zIGFyZSBjb25zdHJhaW5lZCBieSB0aGUgc2l6ZSBvZiB0aGUgY29kZSB0aGF0 IGNhbiBiZQ0KPiA+IGNhcnJpZWQsIGFuZCB0aGUgc2l6ZSBvZiBhc3NldHMvcmVzb3VyY2VzIHRo YXQgY2FuIGJlIHVzZWQgZm9yIHVzZXINCj4gPiBpbnRlcmZhY2VzLiBUaGUgT1MgbG9hZGVyIGlz IHNvbWUgd2hhdCBsZXNzIGNvbnN0cmFpbmVkLCBidXQgaXQgc3RpbGwgaGFzIHRvDQo+ID4gc2hh cmUgdGhlIEVGSSBTeXN0ZW0gUGFydGl0aW9uIG9uIHRoZSBkaXNrIHdpdGggcG90ZW50aWFsbHkg b3RoZXIgT1MNCj4gPiBsb2FkZXJzLg0KPiA+DQo+ID4gU28gdGhlIGNvbnN1bWVyIHdhbnRzIGEg cHJvdG9jb2wgdGhhdCBpcyB1bmxldmVsZWQgYW5kIGZvY3VzZWQgb24gdGhlIHRhc2sNCj4gPiBh dCBoYW5kLiBJ4oCZbSBub3QgdG9vIGNhdWdodCB1cCBvbiB0aGUgbmFtZXMgYnV0IGluIGdlbmVy YWwgSSB0aGluayB0aGluZ3MNCj4gPiB5b3Ugd2FudCBhcmUgKEhvdyBtYW55IGtub2JzIHdlIG5l ZWQgaXMgcHJvYmFibHkgYmV0dGVyIGFuc3dlcmVkIGJ5IGFuDQo+ID4gYXVkaW9waGlsZSwgYW5k IHRoYXQgaXMgbm90IG1lKToNCj4gPiAxKSBDb21wYXRpYmxlQnVmZmVyKCkgLSBEb2VzIGRyaXZl ciBzdXBwb3J0IHRoaXMgYnVmZmVyIGZvcm1hdC4NCj4gPiAyKSBQbGF5QnVmZmVyKCkgLSBQbGF5 IHRoZSBzb3VuZA0KPiA+IAlhKSBXZSBwcm9iYWJseSB3YW50IGEgc3luY2hyb25vdXMgYW5kIGFz eW5jaHJvbm91cyB2ZXJzaW9uIG9mIHRoaXMgQVBJLiBGb3INCj4gPiBleGFtcGxlIHlvdSBkb27i gJl0IHdhbnQgdG8gc2xvdyBkb3duIHRoZSBib290IHRvIHdhaXQgZm9yIGEgYm9vdCBiZWVwIHRv DQo+ID4gY29tcGxldGUsIGFuZCB5b3UgbWF5IGNob3NlIHRvIGltcGxlbWVudCBhbiBBUEkgdGhh dCB3YWl0cyBmb3IgdGhlIHNvdW5kIHRvDQo+ID4gY29tcGxldGUgKGFuZCBkbyBzb21lIEdVSSB3 b3JrIGluIHBhcmFsbGVsKSB2cy4gYmxvY2tpbmcgb24gdGhlIHNvdW5kLg0KPiA+IAliKSBhc3lu YyBpbiBFRkkgdXN1YWxseSBtZWFucyB5b3UgcmV0dXJuIGEgcG9pbnRlciB0byBhbiBFRklfRVZF TlQgdGhhdA0KPiA+IGdldHMgc2lnbmFsZWQgb24gY29tcGxldGlvbi4NCj4gPiAzKSBTdG9wQnVm ZmVyKCkgLSBJbiBjYXNlIHRoZSBhc3luY2hyb25vdXMgUGxheUJ1ZmZlcigpIG5lZWRzIHRvIGJl IHN0b3BwZWQuDQo+ID4gVGhpbmsgZXJyb3IgZXhpdC4NCj4gPiAzKSBTZXRWb2x1bWUoKS9HZXRW b2x1bWUoKSAtIFNldC9HZXQgVm9sdW1lIGluIHVuaXRzIG9mIDAgLSAxMDAgKHRyeWluZyB0bw0K PiA+IGF2b2lkIGRiIGFzIHRoYXQgZ2V0cyBpbnRvIGNhcGFiaWxpdHkgYW5kIG1hdGggdGhhdCBp cyBsaWtlbHkgYmVzdA0KPiA+IGFic3RyYWN0ZWQgYnkgdGhlIGRyaXZlcik/DQo+ID4gNCkgTXV0 ZSgpL1VuTXV0ZSgpIC0gTXV0ZSBhbmQgdm9sdW1lIGFyZSBvZnRlbiBpbmRlcGVuZGVudCBmZWF0 dXJlcyBpbiBhIFVJDQo+ID4ga2VlcGluZyB0aGVtIHNlcGFyYXRlIGluIEFQSSBtYWtlcyBpdCBl YXNpZXIgdG8gaW1wbGVtZW50IHRoaW5ncy4NCj4gPiA1KSBQbGF5VG9uZSgpIC0gTWF5YmUgZm9y IGVycm9yIHNvdW5kcyB0aGF0IGRvbuKAmXQgcmVxdWlyZSBjYW5uZWQgc291bmQNCj4gPiBmaWxl cy4gTWF5YmUgVGltZU9uLCBUaW1lT2ZmLCBGcmVxdWVuY3ksIGFuZCBob3cgbWFueSB0aW1lcyB0 byByZXBlYXQuDQo+ID4gNikgRG8gd2UgbmVlZCB0dW5pbmcgdmFsdWVzIG9yIFRvbmUgc2V0dGlu Z3M/DQo+ID4NCj4gPiBBdCBzb21lIHBvaW50IHdlIG1pZ2h0IGNvbnNpZGVyIGRlZmluaW5nIG52 cmFtIHZhcmlhYmxlIGZvciB0aGUgZGVmYXVsdA0KPiA+IHN0YXRlIG9mIHNvbWUgb2YgdGhlIHR1 bmFibGUsIGVzcGVjaWFsbHkgbXV0ZSBhbmQgdm9sdW1lLiBGb3IgZXhhbXBsZSB0aGUNCj4gPiB1 c2VyIG1heSB3YW50IHRvIHR1cm4gb2ZmIGFsbCB2b2x1bWUgb24gdGhlIHN5c3RlbSBzbyBpdCB3 b3VsZCBiZSBuaWNlIGlmDQo+ID4gdGhlIE9TIGNhbiBzZXQgdGhlIEVGSSB2b2x1bWUgYW5kIG11 dGUuIEluIHRoZSBzaG9ydCBydW4gd2UgY2FuIHByb2JhYmx5IHVzZQ0KPiA+IFBDRCB2YWx1ZXMg dG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlcy4NCj4gPg0KPiA+IFNvIEkgdGhpbmsgd2UgaGF2ZSBh IGdlbmVyaWMgQVVESU8gQVBJIG9uIHRvcCBhbmQgbGlrZWx5IGEgUENJIEkvTyBvbiB0aGUNCj4g PiBib3R0b20uIElmIHdlIG5lZWQgbW9yZSBwcm90b2NvbHMgdG8gbWFuYWdlIGhhcmR3YXJlIGRl dmljZXMgdGhlbiB0aG9zZQ0KPiA+IHByb3RvY29scyBjYW4gYmUgZGVmaW5lZCBpbiB0aGUgY29u dGV4dCBvZiB0aGF0IGhhcmR3YXJlLiBTbyBmb3IgZXhhbXBsZSB3ZQ0KPiA+IHdvdWxkIHByb2Jh Ymx5IGVuZCB1cCB3aXRoIGFuIEhEQV9DT0RFQyBwcm90b2NvbC4gSSB0aGluayB0aGUgYmVzdCB3 YXkgdG8NCj4gPiB0aGluayBhYm91dCB0aGlzIGlzIGEgZGlzay4gQSBsb3Qgb2YgZGlzayBhZGFw dGVycyBqdXN0IHByb2R1Y2UgYSByYXcgQmxvY2sNCj4gPiBJL08gIHByb3RvY29sLCBidXQgZm9y IGEgbW9yZSBjb21tb24gYnVzIGxpa2UgQVRBIG9yIFNDU0kgeW91IG1pZ2h0IGhhdmUgYW4NCj4g PiBleHRyYSBkcml2ZXIgaW4gcGxhY2UgdG8gbWFrZSB0aGUgY29tbW9uIGJpdHMgY29tbW9uIGNv ZGUuIEkgdGhpbmsgc29tZSBvZg0KPiA+IHRoZSBzYW1lIGxheWVycyBtYXkgYmUgaW4gcGxhY2Ug aGVyZS4gU28gbGlrZWx5IFZpcnRJbyBpcyBzaW1wbGUgYW5kIGp1c3QNCj4gPiBwcm9kdWNlcyB0 aGUgZ2VuZXJpYyBBVURJTyBBUEksIHdoaWxlIGFuIEhEQSBhdWRpbyBkcml2ZXIgYWxzbyBoYXMg dG8NCj4gPiBhYnN0cmFjdCBzb21lIG9mIHRoZSBjb21wbGV4aXR5IG9mIGl0cyBoYXJkd2FyZSBp bXBsZW1lbnRhdGlvbiBhbmQgc3RhbmRhcmQuDQo+ID4NCj4gPg0KPiA+IEluIHRlcm1zIG9mIHBp Y2tpbmcgdGhlIHNldCBvZiBBUElzIGFuZCB0dW5hYmxlcyBpdCBpcyBwcm9iYWJseSBnb29kIHRv DQo+ID4gc3RhcnQgd2l0aCBWaXJ0SW8gYW5kIFVTQiBhbmQgc2VlIHdoYXQgc2V0IG1ha2Ugc2Vu c2UgYW5kIHdoYXQgeW91IGNvdWxkIGFuZA0KPiA+IGNvdWxkIG5vdCBpbXBsZW1lbnQuIEhEQSBB dWRpbyBpcyBzbyBjb21wbGV4IHlvdSBtaWdodCB3YW50IHRvIGxvb2sgYXQgaXQgaW4NCj4gPiB0 ZXJtcyBvZiB0aGUgbWludXRlIHlvdSBoYXZlIHRvIGltcGxlbWVudCB0byBtYWtlIGl0IGZ1bmN0 aW9uLiBUaGluayB3aGF0DQo+ID4gYXNzdW1wdGlvbnMgYXJlIHlvdSBmb3JjZWQgdG8gbWFrZSB0 byBpbXBsZW1lbnQuDQo+ID4NCj4gPiBUaGlzIGlzIGEgdmV5IDEwLDAwMCBmb290IHZpZXcgdG8g c3RhcnQgd2l0aC4gSSB0aGluayB5b3Ugd2lsbCBuZWVkIHRvIG1peA0KPiA+IHRoaXMgaW4gdGhl IHRoZSByZWFsaXR5IG9mIGhvdyBpdCB3b3JrcyBpbiB0aGUgcmVhbCB3b3JsZCB0byBmaWd1cmUg b3V0IHRoZQ0KPiA+IHJpZ2h0IGFic3RyYWN0aW9uLCBidXQgdGhlbiBhZ2FpbiB0aGF0IGlzIHRo ZSBiZWF1dHkgb2YgaGF2aW5nIGFuDQo+ID4gaW1wbGVtZW50YXRpb24uIExpa2VseSBhbHNvIGdl dCBzb21lIGZlZWRiYWNrIGZyb20gYXVkaW9waGlsZXMuDQo+ID4NCj4gPiBPaCBhbmQgbWFrZSBz dXJlIHlvdSBkb27igJl0IGdvIG9mZiBhbiBpbXBsZW1lbnQgYSBsb3Qgb2YgY29kZSBqdXN0IGJl Y2F1c2Ugd2UNCj4gPiBjaG9zZSB0aGUgd3JvbmcgY29tcGxleGl0eSBvciBhYnN0cmFjdGlvbiBw b2ludC4gVGhpcyBpcyB0aGUgb25lIHRpbWUgd2UgZ2V0DQo+ID4gdG8gY2hhbmdlIHRoZSBwdWJs aWMgQVBJcyBzbyBsZXRzIGZlZWwgZnJlZSB0byBhZGp1c3QgdGhlbSB0byBtYWtlIHRoZSBtb3N0 DQo+ID4gc2Vuc2UgZm9yIHRoZSBqb2IgYXQgaGFuZC4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPg0K PiA+IEFuZHJldyBGaXNoDQo+ID4NCj4gPj4gT24gQXByIDEzLCAyMDIxLCBhdCA2OjIwIFBNLCBF dGhpbiBQcm9ic3QgPGhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+PiB3cm90ZToNCj4gPj4N Cj4gPj4gT2theSwgc28gbG9va2luZyBhdCB0aGUgRURLMiBkcml2ZXIgZGV2ZWxvcGVycyBndWlk ZSwgaGVyZSBhcmUgbXkNCj4gPj4gdGhvdWdodHM6DQo+ID4+DQo+ID4+IC0gRWFjaCBhdWRpbyBk cml2ZXIgd2lsbCBiZSBhIGJ1cyBkcml2ZXIsIGV2ZW4gaWYgaXQgZG9lc24ndCBjb250cm9sDQo+ ID4+IGJ1c2VzIGluIHRoZSB0cmFkaXRpb25hbCBzZW5zZS4NCj4gPj4gLSBJIHRoaW5rIHRoZSBp bml0aWFsaXphdGlvbiBzZXF1ZW5jZSBzaG91bGQgYmUgZGlmZmVyZW50OiB0aGVyZQ0KPiA+PiBz aG91bGQgYmUgYW4gQXVkaW9EeGUsIGJ1dCBpdCBzaG91bGQgY29udGFpbiB0aHJlZSBzZXBhcmF0 ZSBidXMNCj4gPj4gZHJpdmVycyBmb3IgZWFjaCBraW5kIG9mIGF1ZGlvIGRldmljZSBzdXBwb3J0 ZWQuDQo+ID4+IC0gRm9yIHRoZSBWaXJ0SU8gYXVkaW8gZGV2aWNlIGRyaXZlciwgaXQnbGwgbW9z dCBsaWtlbHkgY29uc3VtZSB0aGUNCj4gPj4gUENJIEkvTyBwcm90b2NvbCBhbmQgcHJvZHVjZSB0 aGUgRUZJX1ZJUlRJT19BVURJT19PVVRQVVRfUFJPVE9DT0wgYW5kDQo+ID4+IEVGSV9WSVJUSU9f QVVESU9fSU5QVVRfUFJPVE9DT0wgcHJvdG9jb2xzLiBUaGlzIHdpbGwganVzdCBiZSBhbg0KPiA+ PiBvcmRpbmFyeSBVRUZJIGRldmljZSBkcml2ZXIuDQo+ID4+IC0gVGhlIEhEQSBhdWRpbyBkZXZp Y2UgZHJpdmVyIHdpbGwgY29uc3VtZSB0aGUgUENJIEkvTyBwcm90b2NvbCBhbmQNCj4gPj4gd2ls bCBwcm9kdWNlIGRpZmZlcmVudCBkZXZpY2UgaGFuZGxlcyBwZXIgSERBIGNvbnRyb2xsZXIgZm91 bmQuIEknZA0KPiA+PiBwcm9kdWNlIGEgaGFuZGxlIHBlciBjb2RlYywgYnV0IHRoYXQgc2VlbXMg b3ZlcmtpbGwuIEVhY2ggaGFuZGxlIHdpbGwNCj4gPj4gYmUgYXR0YWNoZWQgdG8gYm90aCBhbiBh dWRpbyBzdHJlYW0gcHJvdG9jb2wgYW5kIGEgY29udHJvbGxlcg0KPiA+PiBtYW5hZ2VtZW50IHBy b3RvY29sLiBUaGUgYXVkaW8gc3RyZWFtIHByb3RvY29sIHdpbGwgbWFuYWdlIHRoZQ0KPiA+PiBj cmVhdGlvbiwgY29udHJvbCwgYW5kIGRlbGV0aW9uIG9mIGF1ZGlvIHN0cmVhbXMgYXMgd2VsbCBh cyB0aGUNCj4gPj4gcHJvY2Vzc2luZyBvZiBhdWRpbyBkYXRhLiBUaGUgY29udHJvbGxlciBtYW5h Z2VtZW50IHByb3RvY29sIGlzDQo+ID4+IHJlc3BvbnNpYmxlIGZvciBhbGxvd2luZyBhcHBsaWNh dGlvbnMgb3Igb3RoZXIgZHJpdmVycyB0byBtYW5hZ2UgdGhlDQo+ID4+IEhEQSBjb250cm9sbGVy IGl0c2VsZi4NCj4gPj4NCj4gPj4gSSBoYXZlbid0IHBsYW5uZWQgZm9yIHRoZSBVU0IgYXVkaW8g ZGV2aWNlIGRyaXZlciB5ZXQsIGJ1dCB0aGVzZSBhcmUNCj4gPj4gbXkgdGhvdWdodHMgc28gZmFy LiBXaGF0IGRvIHlvdSBndXlzIHRoaW5rPyBBbSBJIG92ZXItY29tcGxpY2F0aW5nDQo+ID4+IHRo aXMgc2V0dXA/IEhvdyBjYW4gaXQgYmUgaW1wcm92ZWQgdXBvbj8NCj4gPj4NCj4gPj4gT24gNC8x My8yMSwgRXRoaW4gUHJvYnN0IHZpYSBncm91cHMuaW8gPGh0dHA6Ly9ncm91cHMuaW8vPg0KPiA+ PiA8aGFybHlkYXZpZHNlbj1nbWFpbC5jb21AZ3JvdXBzLmlvDQo+ID4+IDxtYWlsdG86aGFybHlk YXZpZHNlbj1nbWFpbC5jb21AZ3JvdXBzLmlvPj4gd3JvdGU6DQo+ID4+PiBIaSBBbmRyZXcsDQo+ ID4+Pg0KPiA+Pj4gVGhlIGRldmVsb3BlciBndWlkZSBmb3IgRURLMiBkcml2ZXJzIGlzIGEgZ29k c2VuZC4gVGhhbmsgeW91IHZlcnkNCj4gPj4+IG11Y2gsIGFuZCB0aGFuayB5b3UsIE1pa2UsIGZv ciB5b3VyIGV4Y2VsbGVudCB3b3JrIG9uIHRoZSBndWlkZSEgSSBtYXkNCj4gPj4+IGp1c3QgYWh2 ZSB0byBkbyBteSBidWlsZGluZyBvbiBMaW51eCBhbmQgbm90IFdpbmRvd3MgLS0gdW5sZXNzIHRo ZSBCdWcNCj4gPj4+IC0tIGJ1ZyAzMzAyIC0tIGhhcyBiZWVuIGZpeGVkLiBJJ2xsIGhhdmUgdG8g ZG8gdGVzdGluZyBvbiBMaW51eCwgYXQNCj4gPj4+IGFueSByYXRlLCBzaW5jZSBXaW5kb3dzIGhv c3RzIGRvIG5vdCBzdXBwb3J0IFZpcnRJTyBlbXVsYXRpb24gYW5kIEkNCj4gPj4+IGNhbid0IHNl ZW0gdG8gZmluZCBhbnkgd2F5IG9mIGVtdWxhdGluZyB0aGVtIGluIGEgZ3Vlc3QgbWFjaGluZSB3 aXRoDQo+ID4+PiBXaW5kb3dzIGFzIGEgaG9zdC4NCj4gPj4+DQo+ID4+PiBPbiA0LzEzLzIxLCBB bmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tIDxtYWlsdG86YWZpc2hAYXBwbGUuY29tPj4NCj4g Pj4+IHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pj4gT24gQXByIDEzLCAyMDIxLCBhdCA5 OjUzIEFNLCBFdGhpbiBQcm9ic3QgPGhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+Pj4+PiB3 cm90ZToNCj4gPj4+Pj4NCj4gPj4+Pj4gV291bGQgaXQgYmUgcG9zc2libGUgZm9yIHVzIHRvIGNv bmR1Y3QgZGlzY3Vzc2lvbiBvbiB0aGUgVUVGSSB0YWxrYm94Pw0KPiA+Pj4+PiBJIGRvbid0IG1p bmQgdXNpbmcgZW1haWwsIGJ1dCB0aGluZ3MgY291bGQgZGVmaW5pdGVseSBnZXQgbW92aW5nDQo+ ID4+Pj4+IHF1aWNrZXIgb3ZlciB0aGVyZSAodGhvdWdoIGl0cyBub3QgYSByZXF1aXJlbWVudCBv YnZpb3VzbHkpLg0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gU3VyZSwgZG9u4oCZdCB0aGluayBJ 4oCZdmUgcmVhbGx5IHVzZWQgdGhhdCBidXQgYXMgbG9uZyBhcyBJIGdldCBwb2ludGVkDQo+ID4+ Pj4gaW50DQo+ID4+Pj4gaGUNCj4gPj4+PiByaWdodCBkaXJlY3Rpb24gSSBjYW4gbWFrZSBpdCB3 b3JrLg0KPiA+Pj4+DQo+ID4+Pj4gRm9yIGEgZGV2aWNlIGRyaXZlciB0aGUgZ2VuZXJhbCBVRUZJ IG1vZGVsIGlzIGZvciB0aGUgRW50cnkgcG9pbnQgb2YNCj4gPj4+PiB0aGUNCj4gPj4+PiBkcml2 ZXIgdG8gcHVibGlzaCBhIEVGSV9EUklWRVJfQklORElOR19QUk9UT0NPTFsxXS4gVGhlIFN1cHBv cnRlZCgpDQo+ID4+Pj4gZnVuY3Rpb24NCj4gPj4+PiBtYXRjaGVzIG9uIHRoZSBQQ0kgZGV2aWNl cy4gVGhlIFN0YXJ0KCkgZnVuY3Rpb24gaW5zdGFsbHMgdGhlIFByb3RvY29scw0KPiA+Pj4+IHRv DQo+ID4+Pj4gZG8gd29yaywgYW5kIHRoZSBTdG9wKCkgdW5kb2VzIHRoZSBTdGFydCgpLg0KPiA+ Pj4+DQo+ID4+Pj4gTWlrZSBLaW5uZXkgc3RhcnRlZCB0aGlzIGJhY2sgaW4gdGhlIGRheSBhbmQg aXQgZGVzY3JpYmVzIGhvdyB0byB3cml0ZQ0KPiA+Pj4+IFVFRkkNCj4gPj4+PiBkcml2ZXJzOg0K PiA+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9jb3JlLmdpdGh1Yi5pby93 aWtpL1VFRkktRHJpdmVyLVdyaXRlciUyN3MtR3VpZGUNCj4gPj4+Pg0KPiA+Pj4+IFsxXWh0dHBz Oi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NZGVQa2cvSW5jbHVkZS9Q cm90b2NvbC9Ecml2ZXJCaW5kaW5nLmgjTDE1Nw0KPiA+Pj4+DQo+ID4+Pj4gVGhhbmtzLA0KPiA+ Pj4+DQo+ID4+Pj4gQW5kcmV3IEZpc2gNCj4gPj4+Pg0KPiA+Pj4+PiBIZXJlJ3MgaG93IEkgZ2Vu ZXJhbGx5IGVudmlzaW9uIHRoZSBkcml2ZXIgZnVuY3Rpb25pbmc6DQo+ID4+Pj4+DQo+ID4+Pj4+ IDEuIEZpcm13YXJlL3BsYXRmb3JtIGNvZGUgY2FsbHMgSW5pdGF1ZGlvT3V0cHV0KCkgb3Igc29t ZXRoaW5nIGxpa2UNCj4gPj4+Pj4gaXQuIFRoaXMgZnVuY3Rpb24gc2NhbnMgdGhlIFBDSWUgYnVz IGFuZCBzY2FucyBmb3Igb25lIG9mIHRoZQ0KPiA+Pj4+PiBmb2xsb3dpbmc6DQo+ID4+Pj4+IC0g VmVuZG9yIElEIDB4MUFGNCwgZGV2aWNlIElEIDB4MTA1OTogVmlydElPIHNvdW5kIGRldmljZQ0K PiA+Pj4+PiAtIFBDSSBjbGFzcyAweDBDLCBzdWJjbGFzcyAweDAzLCBwcm9ncmFtIGludGVyZmFj ZSAweDMwIG9yIDB4NDA6IGZvcg0KPiA+Pj4+PiBVU0IgYXVkaW8gaW50ZXJmYWNlIChJJ20gb25s eSB0aGlua2luZyBvZiB0YXJnZXRpbmcgWEhDSSBhbmQgVVNCIDQsDQo+ID4+Pj4+IGFuZCBub3Qg VUhDSSwgT0hDSSBvciBFSENJKS4gQnV0IG1heWJlIEVESzIgd2lsbCB0YWtlIHRoYXQgb3V0IG9m IG15DQo+ID4+Pj4+IGhhbmRzLiBJZiBzbywgaXQgd2lsbCBtYWtlIHRoaW5ncyBlYXNpZXIuDQo+ ID4+Pj4+IC0gRm9yIFVTQiBhdWRpbyBkZXZpY2VzIEknbSBub3QgcXVpdGUgc3VyZSB3aGF0IHRv IGxvb2sgZm9yOyBJJ20NCj4gPj4+Pj4gZGVmaW5pdGVseSB1bnVzZWQgdG8gVVNCLg0KPiA+Pj4+ PiAyLiBJZiBhbnkgb2YgdGhlIGFib3ZlIGNhc2VzIGFyZSBmb3VuZCwgYXBwcm9wcmlhdGUgZHJp dmVyDQo+ID4+Pj4+IGluaXRpYWxpemF0aW9uIG9jY3Vycy4gU2luY2UgZm9yIHRoZSB0aW1lIGJl aW5nIEkgYW0gc29sZWx5IGZvY3VzaW5nDQo+ID4+Pj4+IG9uIFZpcnRJTyBzb3VuZCBkZXZpY2Vz LCB0aGUgVmlydElPIGdlbmVyYWwgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UNCj4gPj4+Pj4gd2ls bCBvY2N1ciBhcyBvdXRsaW5lZCBpbiBzZWMuIDMgb2YgdGhlIFZpcnRJTyBzcGVjaWZpY2F0aW9u IGF2YWlsYWJsZQ0KPiA+Pj4+PiBhdCBodHRwczovL3d3dy5rcmF4ZWwub3JnL3ZpcnRpby92aXJ0 aW8tdjEuMS1jczAxLXNvdW5kLXY3Lmh0bWwNCj4gPj4+Pj4gPGh0dHBzOi8vd3d3LmtyYXhlbC5v cmcvdmlydGlvL3ZpcnRpby12MS4xLWNzMDEtc291bmQtdjcuaHRtbA0KPiA+Pj4+PiA8aHR0cHM6 Ly93d3cua3JheGVsLm9yZy92aXJ0aW8vdmlydGlvLXYxLjEtY3MwMS1zb3VuZC12Ny5odG1sPj4u DQo+ID4+Pj4+IEFzIGZvciBhY3R1YWwgcHJvdG9jb2wgZXhwb3N1cmUgdGhhdCB3b3VsZCBiZSBz cGVjLXdvcnRoeSwgZm9yDQo+ID4+Pj4+IEVGSV9BVURJT19PVVRQVVRfUFJPVE9DT0wsIEknbSBu b3QgcXVpdGUgc3VyZSB3aGF0IHRvIGV4cG9zZS4gVmlydElPDQo+ID4+Pj4+IGlzIHJhdGhlciBz aW1wbGU6IHRoZXJlJ3MgYSBidWZmZXIgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBhdWRpbw0K PiA+Pj4+PiBkYXRhIGluIFBDTSBzdHJlYW1zLiBTbyBmb3IgdGhhdCB3ZSBjb3VsZCBleHBvc2Ug YSBSZXNldCgpLA0KPiA+Pj4+PiBSZW1hcEphY2soKSwgR2V0SmFja0NvbmZpZygpLCBHZXRQY21D b25maWcoKSwgU2V0UGNtUGFyYW1zKCksDQo+ID4+Pj4+IFByZXBhcmUoKSwgUmVsZWFzZSgpLCBT dGFydCgpLCBhbmQgU3RvcCgpIGZ1bmN0aW9uIGZvciB0aGUNCj4gPj4+Pj4gY29ycmVzcG9uZGlu ZyByZXF1ZXN0IHR5cGVzIFZJUlRJT19TTkRfUl9KQUNLX0dFVF9DT05GSUcsDQo+ID4+Pj4+IFZJ UlRJT19TTkRfUl9KQUNLX1JFTUFQLCBWSVJUSU9fU05EX1JfUENNX0dFVF9DT05GSUcsDQo+ID4+ Pj4+IFZJUlRJT19TTkRfUl9QQ01fU0VUX1BBUkFNUywgVklSVElPX1NORF9SX1BDTV9QUkVQQVJF LA0KPiA+Pj4+PiBWSVJUSU9fU05EX1JfUENNX1JFTEVBU0UsIFZJUlRJT19TTkRfUl9QQ01fU1RB UlQsIGFuZA0KPiA+Pj4+PiBWSVJUSU9fU05EX1JfUENNX1NUT1AgY29udHJvbCByZXF1ZXN0cy4g SG93ZXZlciwgZm9yIEhEQSB0aGluZ3MgYXJlIGENCj4gPj4+Pj4gbG90IG1vcmUgY29tcGxleCwg c28gSSdtIG5vdCBzdXJlIGhvdyB0aGF0IHNob3VsZCB3b3JrLg0KPiA+Pj4+PiBGb3IgVmlydElP IC0tIHdoaWNoIGlzIHdoYXQgSSdsbCBmb2N1cyBvbiBmb3Igbm93IC0tIGV2ZXJ5dGhpbmcgaXMN Cj4gPj4+Pj4gZGVzY3JpYmVkLCBpbiBleGNlbGxlbnQgZGV0YWlsLCBpbiBzZWMuIDUuMTQgb2Yg dGhlIGFib3ZlLWxpbmtlZA0KPiA+Pj4+PiBkb2N1bWVudC4gV2hhdCBhcmUgeW91ciBndXlzJ3Mg dGhvdWdodHMgdGh1cyBmYXIgYW5kIGhvdyBzaG91bGQNCj4gPj4+Pj4gZXZlcnl0aGluZyBiZSBt YXBwZWQgdG8gVUVGSSBpbnRlcmZhY2VzPw0KPiA+Pj4+Pg0KPiA+Pj4+PiBPbiA0LzEzLzIxLCBB bmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tIDxtYWlsdG86YWZpc2hAYXBwbGUuY29tPg0KPiA+ Pj4+PiA8bWFpbHRvOmFmaXNoQGFwcGxlLmNvbSA8bWFpbHRvOmFmaXNoQGFwcGxlLmNvbT4+Pg0K PiA+Pj4+PiB3cm90ZToNCj4gPj4+Pj4+IExlaWYsDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU2luY2Ug SSBoYXZlIHB1dCBzb21lIGJyYWluIGNlbGxzIGFyb3VuZCB0aGlzIGFyZWEgaW4gdGhlIHBhc3Qg SSBjYW4NCj4gPj4+Pj4+IGJlDQo+ID4+Pj4+PiB0aGUNCj4gPj4+Pj4+IGJhY2t1cCBhbmQgaGVs cCBvdXQgdG9vLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEnigJlkIGFsc28gcG9pbnQgb3V0IGlmIHlv dSBhcmUgaGF2aW5nIGlzc3VlcyBidWlsZGluZyBvciBoYXZlIGdlbmVyYWwNCj4gPj4+Pj4+IHF1 ZXN0aW9ucyBvbiBob3cgdGhpbmdzIHdvcmsgaXQgaXMgZmluZSB0byB1c2UgdGhlIG1haWxpbmcg bGlzdC4gSeKAmXZlDQo+ID4+Pj4+PiBnb3QNCj4gPj4+Pj4+IGENCj4gPj4+Pj4+IGxvdCBvZiBm ZWVkYmFjayB0aGF0IGZvbGtzIHJlYWQgb3Igc2VhcmNoIHRoZSBtYWlsaW5nIGxpc3QgbG9va2lu Zw0KPiA+Pj4+Pj4gZm9yDQo+ID4+Pj4+PiBhbnN3ZXIgdG8gdGhlaXIgcXVlc3Rpb25zIHNvIG9u ZSBwZXJzb24gYXNraW5nIGNhbiBoZWxwIG91dCBhIGxvdCBvZg0KPiA+Pj4+Pj4gb3RoZXINCj4g Pj4+Pj4+IHBlb3BsZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gQW5kcmV3IEZpc2gNCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gT24gQXByIDEzLCAyMDIxLCBh dCA1OjI4IEFNLCBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbQ0KPiA+Pj4+Pj4+IDxt YWlsdG86bGVpZkBudXZpYWluYy5jb20+PiB3cm90ZToNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEhp IGFsbCwgZXNwZWNpYWxseSBFdGhpbi4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEFwb2xvZ2llcyBm b3IgcmFkaW8gc2lsZW5jZSAtIGxhc3Qgd2VlayBJIHdhcyBvZmYgb24gaG9saWRheSwgYW5kDQo+ ID4+Pj4+Pj4gYmVmb3JlDQo+ID4+Pj4+Pj4gdGhhdCAuLi4gbGV0J3MganVzdCBzYXkgY29ycG9y YXRlIGFjcXVpc2l0aW9ucyBnZW5lcmF0ZSBzb21lDQo+ID4+Pj4+Pj4gZGlzdHJhY3Rpb25zLg0K PiA+Pj4+Pj4+IEFueXdheSwgSSdtIGJhY2ssIGFuZCBzaW5jZSBJJ20gZG93biBhcyB0aGUgbWVu dG9yIGZvciB0aGlzIHRhc2ssDQo+ID4+Pj4+Pj4gZmVlbA0KPiA+Pj4+Pj4+IGZyZWUgdG8gc3Bh bSBtZSB3aXRoIGFueSByZW1haW5pbmcvbmV3IHF1ZXN0aW9ucy4NCj4gPj4+Pj4+Pg0KPiA+Pj4+ Pj4+IC8NCj4gPj4+Pj4+PiAgIExlaWYNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IE9uIFR1ZSwgQXBy IDYsIDIwMjEgYXQgNDoxNyBQTSBFdGhpbiBQcm9ic3QgPGhhcmx5ZGF2aWRzZW5AZ21haWwuY29t DQo+ID4+Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbT4NCj4gPj4+Pj4+PiA8 bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tIDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFp bC5jb20+DQo+ID4+Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbSA8bWFpbHRv Omhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPj4+Pg0KPiA+Pj4+Pj4+IHdyb3RlOg0KPiA+Pj4+Pj4+ IEknbGwgYXR0YWNoIHRoZSBidWcgZm9yIHRoZSBidWlsZCB0b29scyB0byB0aGUgQlogc2hvcnRs eS4NCj4gPj4+Pj4+PiBMYXN6bG8sIHRoYW5rcyBmb3IgdGhhdC4gSSBkb24ndCBrbm93IHRoZWly IGVtYWlsIGFkZHJlc3NlcyB0aG91Z2guDQo+ID4+Pj4+Pj4gQW5kIHllcywgSSB3YXMgZ29pbmcg dG8gbWFrZSBpdCBkZXZpY2UgaW5kZXBlbmRlbnQsIGFzIHRoZSBtYWpvcml0eQ0KPiA+Pj4+Pj4+ IChpZiBub3QgYWxsKSBvZiBVRUZJIHByb3RvY29scyBhcmUuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+ PiBPbiA0LzYvMjEsIExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20gPG1haWx0bzpsZXJz ZWtAcmVkaGF0LmNvbT4NCj4gPj4+Pj4+PiA8bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tIDxtYWls dG86bGVyc2VrQHJlZGhhdC5jb20+Pg0KPiA+Pj4+Pj4+IDxtYWlsdG86bGVyc2VrQHJlZGhhdC5j b20gPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4+Pj4+PiA8bWFpbHRvOmxlcnNla0By ZWRoYXQuY29tIDxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+Pj4+DQo+ID4+Pj4+Pj4gd3JvdGU6 DQo+ID4+Pj4+Pj4+IE9uIDAzLzMxLzIxIDA4OjQxLCBOYXRlIERlU2ltb25lIHdyb3RlOg0KPiA+ Pj4+Pj4+Pj4gQW5vdGhlciBvcHRpb24gaXMgdG8gcHV0IHRoZSBwcm90b2NvbCBkZWZpbml0aW9u IGluIE1kZU1vZHVsZVBrZw0KPiA+Pj4+Pj4+Pj4gYW5kDQo+ID4+Pj4+Pj4+PiBtYXJrIGl0IHdp dGggdGhlIEVES0lJXyBwcmVmaXguIEZvciBteSBsYXN0IOKAnGNvZGUgZmlyc3TigJ0gVUVGSSBz cGVjDQo+ID4+Pj4+Pj4+PiBjb250cmlidXRpb24gSSBkaWQgdGhpcyB3aXRoIHRoZSBQUEkgdGhh dCBhZGRlZCB1cCBnZXR0aW5nIGFkZGVkLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBUaGUgbmV3 IGF1ZGlvIHByb3RvY29sIHNob3VsZCBiZSBnZW5lcmljLCBvbmx5IGl0cyBpbXBsZW1lbnRhdGlv bg0KPiA+Pj4+Pj4+PiBpbg0KPiA+Pj4+Pj4+PiBxdWVzdGlvbiBzaG91bGQgYmUgdmlydGlvIHNw ZWNpZmljLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBQbGVhc2UgaW5jbHVkZSBHZXJkIEhvZmZt YW5uIChDQydkKSBpbiB0aGUgcHJvdG9jb2wgZGVzaWduLCBhcyB3ZWxsDQo+ID4+Pj4+Pj4+IGFz DQo+ID4+Pj4+Pj4+IHRoZSBkZXZlbG9wZXJzIG9mIHRoZSB2aXJ0aW8tc291bmQgZGV2aWNlIG1v ZGVsIGluIFFFTVUuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IFRoYW5rcw0KPiA+Pj4+Pj4+PiBM YXN6bG8NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IFRoYW5rcywNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ PiBOYXRlDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ PiAqRnJvbTogKjxkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBz LmlvPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRl dmVsQGVkazIuZ3JvdXBzLmlvPj4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86 ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4+Pj4gb24N Cj4gPj4+Pj4+Pj4+IGJlaGFsZg0KPiA+Pj4+Pj4+Pj4gb2YgIkFuZHJldyBGaXNoIHZpYSBncm91 cHMuaW8gPGh0dHA6Ly9ncm91cHMuaW8vPg0KPiA+Pj4+Pj4+Pj4gPGh0dHA6Ly9ncm91cHMuaW8v IDxodHRwOi8vZ3JvdXBzLmlvLz4+IDxodHRwOi8vZ3JvdXBzLmlvLw0KPiA+Pj4+Pj4+Pj4gPGh0 dHA6Ly9ncm91cHMuaW8vPg0KPiA+Pj4+Pj4+Pj4gPGh0dHA6Ly9ncm91cHMuaW8vIDxodHRwOi8v Z3JvdXBzLmlvLz4+PiINCj4gPj4+Pj4+Pj4+IDxhZmlzaD1hcHBsZS5jb21AZ3JvdXBzLmlvIDxt YWlsdG86YWZpc2g9YXBwbGUuY29tQGdyb3Vwcy5pbz4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86YWZp c2g9YXBwbGUuY29tQGdyb3Vwcy5pbw0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzphZmlzaD1hcHBsZS5j b21AZ3JvdXBzLmlvPj4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86YXBwbGUuY29tQGdyb3Vwcy5pbyA8 bWFpbHRvOmFwcGxlLmNvbUBncm91cHMuaW8+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmFwcGxlLmNv bUBncm91cHMuaW8gPG1haWx0bzphcHBsZS5jb21AZ3JvdXBzLmlvPj4+Pg0KPiA+Pj4+Pj4+Pj4g KlJlcGx5LVRvOiAqImRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91 cHMuaW8+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86 ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Pg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPj4+Ig0K PiA+Pj4+Pj4+Pj4gPGRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91 cHMuaW8+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvIDxtYWlsdG86 ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Pg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPj4+PiwN Cj4gPj4+Pj4+Pj4+ICJhZmlzaEBhcHBsZS5jb20gPG1haWx0bzphZmlzaEBhcHBsZS5jb20+IDxt YWlsdG86YWZpc2hAYXBwbGUuY29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmFmaXNoQGFwcGxlLmNv bT4+IDxtYWlsdG86YWZpc2hAYXBwbGUuY29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmFmaXNoQGFw cGxlLmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86YWZpc2hAYXBwbGUuY29tIDxtYWlsdG86YWZp c2hAYXBwbGUuY29tPj4+Ig0KPiA+Pj4+Pj4+Pj4gPGFmaXNoQGFwcGxlLmNvbSA8bWFpbHRvOmFm aXNoQGFwcGxlLmNvbT4gPG1haWx0bzphZmlzaEBhcHBsZS5jb20NCj4gPj4+Pj4+Pj4+IDxtYWls dG86YWZpc2hAYXBwbGUuY29tPj4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86YWZpc2hAYXBwbGUuY29t IDxtYWlsdG86YWZpc2hAYXBwbGUuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzphZmlzaEBhcHBs ZS5jb20gPG1haWx0bzphZmlzaEBhcHBsZS5jb20+Pj4+DQo+ID4+Pj4+Pj4+PiAqRGF0ZTogKlR1 ZXNkYXksIE1hcmNoIDMwLCAyMDIxIGF0IDEwOjU0IFBNDQo+ID4+Pj4+Pj4+PiAqVG86ICplZGsy LWRldmVsLWdyb3Vwcy1pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPj4+Pj4+Pj4+IDxtYWls dG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmRldmVsQGVkazIu Z3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Pg0KPiA+Pj4+Pj4+Pj4gPG1h aWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0K PiA+Pj4+Pj4+Pj4gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVk azIuZ3JvdXBzLmlvPj4+PiwNCj4gPj4+Pj4+Pj4+ICJoYXJseWRhdmlkc2VuQGdtYWlsLmNvbSA8 bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJs eWRhdmlkc2VuQGdtYWlsLmNvbSA8bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPj4NCj4g Pj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20gPG1haWx0bzpoYXJseWRh dmlkc2VuQGdtYWlsLmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFp bC5jb20NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20+Pj4iDQo+ ID4+Pj4+Pj4+PiA8aGFybHlkYXZpZHNlbkBnbWFpbC5jb20gPG1haWx0bzpoYXJseWRhdmlkc2Vu QGdtYWlsLmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20g PG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbT4+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmhh cmx5ZGF2aWRzZW5AZ21haWwuY29tIDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20+DQo+ ID4+Pj4+Pj4+PiA8bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tDQo+ID4+Pj4+Pj4+PiA8 bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPj4+Pg0KPiA+Pj4+Pj4+Pj4gKkNjOiAqUmFm YWVsIFJvZHJpZ3VlcyBNYWNoYWRvIDxyYWZhZWxyb2RyaWd1ZXMubWFjaGFkb0BnbWFpbC5jb20N Cj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21haWwuY29tPg0K PiA+Pj4+Pj4+Pj4gPG1haWx0bzpyYWZhZWxyb2RyaWd1ZXMubWFjaGFkb0BnbWFpbC5jb20NCj4g Pj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21haWwuY29tPj4NCj4g Pj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21haWwuY29tDQo+ID4+ Pj4+Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdtYWlsLmNvbT4NCj4gPj4+ Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21haWwuY29tDQo+ID4+Pj4+ Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdtYWlsLmNvbT4+Pj4NCj4gPj4+ Pj4+Pj4+ICpTdWJqZWN0OiAqUmU6IFtlZGsyLWRldmVsXSBWaXJ0SU8gU291bmQgRHJpdmVyIChH U29DIDIwMjEpDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAgT24gTWFyIDMwLCAyMDIxLCBhdCA1OjAx IFBNLCBFdGhpbiBQcm9ic3QNCj4gPj4+Pj4+Pj4+IDxoYXJseWRhdmlkc2VuQGdtYWlsLmNvbSA8 bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJs eWRhdmlkc2VuQGdtYWlsLmNvbSA8bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPj4NCj4g Pj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20gPG1haWx0bzpoYXJseWRh dmlkc2VuQGdtYWlsLmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFp bC5jb20gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbT4+Pg0KPiA+Pj4+Pj4+Pj4gICA8 bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tIDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFp bC5jb20+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tIDxtYWls dG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20+Pg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJseWRh dmlkc2VuQGdtYWlsLmNvbSA8bWFpbHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+Pj4+ Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbQ0KPiA+Pj4+Pj4+Pj4gPG1haWx0 bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbT4+Pj4+DQo+ID4+Pj4+Pj4+PiB3cm90ZToNCj4gPj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAgSSdtIHdvbmRl cmluZyB3aGVyZSBleGFjdGx5IEkgc2hvdWxkIGFkZCB0aGUgVmlydElPIHNvdW5kDQo+ID4+Pj4+ Pj4+PiBwcm90b2NvbC4NCj4gPj4+Pj4+Pj4+IEkNCj4gPj4+Pj4+Pj4+ICAganVzdCBmYW1pbGlh cml6ZWQgbXlzZWxmIHdpdGggdGhlIGJ1aWxkIHN5c3RlbSBhbmQgYW0gYWJvdXQgdG8NCj4gPj4+ Pj4+Pj4+IHRlc3QNCj4gPj4+Pj4+Pj4+IGl0DQo+ID4+Pj4+Pj4+PiAgIGJ5IGJ1aWxkaW5nIE9W TUYgaWYgcG9zc2libGUsIGJ1dCBJJ20gd29uZGVyaW5nIHdoZXJlIEkgc2hvdWxkDQo+ID4+Pj4+ Pj4+PiAgIGFjdHVhbGx5IHB1dCB0aGUgcHJvdG9jb2wgYW5kIGFsbCB0aGF0IHN0dWZmLiBNYXli ZSB0aGVyZSdzDQo+ID4+Pj4+Pj4+PiAgIGRvY3VtZW50YXRpb24gSSd2ZSBtaXNzZWQgYXMgd2Vs bC4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IEV0 aGluLA0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4g Rm9yIHRoZSBkcml2ZXIgSeKAmWQgbWF0Y2ggdGhlIHBhdHRlciBvZiBPVk1GIFsxXSBhbmQgdXNl DQo+ID4+Pj4+Pj4+PiBPdm1mUGtnL1ZpcnRpb1NvdW5kRHhlLy4gTWF5YmUgZXZlbiB1c2Ugb25l IG9mIHRoZSBvdGhlciBkcml2ZXJzDQo+ID4+Pj4+Pj4+PiBhcw0KPiA+Pj4+Pj4+Pj4gYQ0KPiA+ Pj4+Pj4+Pj4gdGVtcGxhdGUuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+PiBUaGUgcHJvdG9jb2wgaXMgbW9yZSBvZiBhIHB1YmxpYyB0aGluZy4gSSB0 aGluayBldmVudHVhbGx5IHdlDQo+ID4+Pj4+Pj4+PiB3b3VsZA0KPiA+Pj4+Pj4+Pj4gbGlrZQ0K PiA+Pj4+Pj4+Pj4gdG8gcHVibGlzaCB0aGUgcHJvdG9jb2wgaW4gdGhlIFVFRkkgU3BlYyAoSSBj YW4gaGVscCB3aXRoIHRoYXQNCj4gPj4+Pj4+Pj4+IHBhcnQpDQo+ID4+Pj4+Pj4+PiBhbmQNCj4g Pj4+Pj4+Pj4+IHRoYXQgd291bGQgbWVhbiB3ZSBwdXQgdGhlIFByb3RvY29sIGRlZmluaXRpb24g aW4NCj4gPj4+Pj4+Pj4+IE1kZVBrZy9JbmNsdWRlL1Byb3RvY29sLCBidXQgd2UgZG9u4oCZdCB3 YW50IHRvIGRvIHRoYXQgYmVmb3JlIGl0IGlzDQo+ID4+Pj4+Pj4+PiBzdGFuZGFyZGl6ZWQgYXMg dGhhdCBjYXVzZXMgY29tcGF0aWJpbGl0eSBpc3N1ZXMuIFNvIHRoaXMgaXMgYQ0KPiA+Pj4+Pj4+ Pj4g4oCcY29kZQ0KPiA+Pj4+Pj4+Pj4gZmlyc3QgcHJvamVjdOKAnSAoY29kZSBwcm90b3R5cGUg YW5kIHRoZW4gY29udHJpYnV0ZSB0byB0aGUgVUVGSQ0KPiA+Pj4+Pj4+Pj4gRm9ydW0NCj4gPj4+ Pj4+Pj4+IGZvcg0KPiA+Pj4+Pj4+Pj4gaW5jbHVzaW9uIGluIHRoZSBzcGVjaWZpY2F0aW9uKSBz byB3ZSBuZWVkIHRvIGZvbGxvdyBzb21lIGNvZGUNCj4gPj4+Pj4+Pj4+IGZpcnN0DQo+ID4+Pj4+ Pj4+PiBydWxlcyB0aGF0IEkgZG9u4oCZdCByZW1lbWJlciBvZiB0aGUgdG9wIG9mIG15IGhlYWQ/ IFNvIHdoeSBub3QNCj4gPj4+Pj4+Pj4+IHN0YXJ0DQo+ID4+Pj4+Pj4+PiBvdXQNCj4gPj4+Pj4+ Pj4+IHRoZSBwcm90b2NvbCBkZWZpbml0aW9uIE92bWZQa2cvSW5jbHVkZS9Qcm90b2NvbC4gWW91 IGNhbiBhbHNvIGFkZA0KPiA+Pj4+Pj4+Pj4gYQ0KPiA+Pj4+Pj4+Pj4gdGVzdCBhcHBsaWNhdGlv biBsb29rcyBsaWtlIHlvdSBjYW4ganVzdCB1c2UgdGhlIHJvb3QgWzJdIG9mIE9WTUYNCj4gPj4+ Pj4+Pj4+IGZvcg0KPiA+Pj4+Pj4+Pj4gdGhhdC4gVGhhdCB3YXkgdGhlIHByb2plY3QgaXMgbm90 IGJsb2NrZWQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+PiBXZSBjYW4gaGF2ZSBhIGNvbnZlcnNhdGlvbiBvbiB0aGUgbWFpbGluZyBsaXN0IGFib3V0 IGJldHRlciBwbGFjZXMNCj4gPj4+Pj4+Pj4+IHRvDQo+ID4+Pj4+Pj4+PiBwdXQgc3R1ZmYsIGFu ZCBpdCBzaG91bGQgYmUgZWFzeSBlbm91Z2ggdG8gbW92ZSBzdHVmZiBhcm91bmQgaWYNCj4gPj4+ Pj4+Pj4+IGV2ZXJ5dGhpbmcgZWxzZSBpcyB3b3JraW5nLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gWzFdIGZpbmQgT3ZtZlBrZyAgLWluYW1lICcq VmlydGlvKi5pbmYnDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT3ZtZlBrZy9WaXJ0aW9QY2lE ZXZpY2VEeGUvVmlydGlvUGNpRGV2aWNlRHhlLmluZg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ IE92bWZQa2cvVmlydGlvU2NzaUR4ZS9WaXJ0aW9TY3NpLmluZg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+IE92bWZQa2cvTGlicmFyeS9WaXJ0aW9NbWlvRGV2aWNlTGliL1ZpcnRpb01taW9EZXZp Y2VMaWIuaW5mDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT3ZtZlBrZy9MaWJyYXJ5L1ZpcnRp b0xpYi9WaXJ0aW9MaWIuaW5mDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT3ZtZlBrZy9WaXJ0 aW9HcHVEeGUvVmlydGlvR3B1LmluZg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE92bWZQa2cv VmlydGlvQmxrRHhlL1ZpcnRpb0Jsay5pbmYNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBPdm1m UGtnL1ZpcnRpbzEwRHhlL1ZpcnRpbzEwLmluZg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE92 bWZQa2cvVmlydGlvTmV0RHhlL1ZpcnRpb05ldC5pbmYNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ PiBPdm1mUGtnL1ZpcnRpb1JuZ0R4ZS9WaXJ0aW9SbmcuaW5mDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBbMl0gL1ZvbHVtZXMvQ2FzZS9lZGsyLWdp dGh1Yi9Pdm1mUGtnPmdpdCBncmVwIEFQUExJQ0FUSU9OIC0tDQo+ID4+Pj4+Pj4+PiAqLmluZg0K PiA+Pj4+Pj4+Pj4gfA0KPiA+Pj4+Pj4+Pj4gZ3JlcCBNT0RVTEVfVFlQRQ0KPiA+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+IEVucm9sbERlZmF1bHRLZXlzL0Vucm9sbERlZmF1bHRLZXlzLmluZjoxMzog IE1PRFVMRV9UWVBFDQo+ID4+Pj4+Pj4+PiAgID0gVUVGSV9BUFBMSUNBVElPTg0KPiA+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gVGhhbmtzLA0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gQW5kcmV3IEZpc2gN Cj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAgT24gMy8zMC8yMSwgRXRoaW4gUHJv YnN0IHZpYSBncm91cHMuaW8gPGh0dHA6Ly9ncm91cHMuaW8vPg0KPiA+Pj4+Pj4+Pj4gPGh0dHA6 Ly9ncm91cHMuaW8vIDxodHRwOi8vZ3JvdXBzLmlvLz4+DQo+ID4+Pj4+Pj4+PiA8aHR0cDovL2dy b3Vwcy5pby8gPGh0dHA6Ly9ncm91cHMuaW8vPiA8aHR0cDovL2dyb3Vwcy5pby8NCj4gPj4+Pj4+ Pj4+IDxodHRwOi8vZ3JvdXBzLmlvLz4+Pg0KPiA+Pj4+Pj4+Pj4gPGh0dHA6Ly9ncm91cHMuaW8v IDxodHRwOi8vZ3JvdXBzLmlvLz4gPGh0dHA6Ly9ncm91cHMuaW8vDQo+ID4+Pj4+Pj4+PiA8aHR0 cDovL2dyb3Vwcy5pby8+PiA8aHR0cDovL2dyb3Vwcy5pby8gPGh0dHA6Ly9ncm91cHMuaW8vPg0K PiA+Pj4+Pj4+Pj4gPGh0dHA6Ly9ncm91cHMuaW8vIDxodHRwOi8vZ3JvdXBzLmlvLz4+Pj4NCj4g Pj4+Pj4+Pj4+ICAgPGhhcmx5ZGF2aWRzZW49Z21haWwuY29tQGdyb3Vwcy5pbw0KPiA+Pj4+Pj4+ Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuPWdtYWlsLmNvbUBncm91cHMuaW8+DQo+ID4+Pj4+Pj4+ PiA8bWFpbHRvOmhhcmx5ZGF2aWRzZW49Z21haWwuY29tQGdyb3Vwcy5pbw0KPiA+Pj4+Pj4+Pj4g PG1haWx0bzpoYXJseWRhdmlkc2VuPWdtYWlsLmNvbUBncm91cHMuaW8+Pg0KPiA+Pj4+Pj4+Pj4g PG1haWx0bzpnbWFpbC5jb21AZ3JvdXBzLmlvIDxtYWlsdG86Z21haWwuY29tQGdyb3Vwcy5pbz4N Cj4gPj4+Pj4+Pj4+IDxtYWlsdG86Z21haWwuY29tQGdyb3Vwcy5pbyA8bWFpbHRvOmdtYWlsLmNv bUBncm91cHMuaW8+Pj4NCj4gPj4+Pj4+Pj4+ICAgPG1haWx0bzpoYXJseWRhdmlkc2VuIDxtYWls dG86aGFybHlkYXZpZHNlbj49Z21haWwuY29tQGdyb3Vwcy5pbw0KPiA+Pj4+Pj4+Pj4gPG1haWx0 bzpnbWFpbC5jb21AZ3JvdXBzLmlvPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpnbWFpbC5jb21AZ3Jv dXBzLmlvIDxtYWlsdG86Z21haWwuY29tQGdyb3Vwcy5pbz4+DQo+ID4+Pj4+Pj4+PiA8bWFpbHRv OmdtYWlsLmNvbUBncm91cHMuaW8gPG1haWx0bzpnbWFpbC5jb21AZ3JvdXBzLmlvPg0KPiA+Pj4+ Pj4+Pj4gPG1haWx0bzpnbWFpbC5jb21AZ3JvdXBzLmlvIDxtYWlsdG86Z21haWwuY29tQGdyb3Vw cy5pbz4+Pj4+DQo+ID4+Pj4+Pj4+PiB3cm90ZToNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAg ICAgICBJIGFncmVlLiBQbHVzLCBpdCBnaXZlcyBtZSBhIGNoYW5jZSB0byBmaW5hbGx5IGxlYXJu IHRoZQ0KPiA+Pj4+Pj4+Pj4gRURLMg0KPiA+Pj4+Pj4+Pj4gYnVpbGQNCj4gPj4+Pj4+Pj4+ICAg ICAgIHN5c3RlbSBhbmQgaG93IGl0IHdvcmtzISBJJ3ZlIGJlZW4gd29ya2luZyBvbiBhIGhvYmJ5 IE9TIGFzDQo+ID4+Pj4+Pj4+PiBhDQo+ID4+Pj4+Pj4+PiBzaWRlDQo+ID4+Pj4+Pj4+PiAgICAg ICBwcm9qZWN0IGFuZCwgdGhvdWdoIGxlYXJuaW5nIGZyb20gb3RoZXIgY29kZSBleGFtcGxlcyBm cm9tDQo+ID4+Pj4+Pj4+PiBPU2VzDQo+ID4+Pj4+Pj4+PiBpcw0KPiA+Pj4+Pj4+Pj4gICAgICAg ZnVuLCBJIGhhdmUgdG8gc2F5IHRoYXQgbGVhcm5pbmcgZnJvbSB0aGUgZmlybXdhcmUgY29kZSBs aWtlDQo+ID4+Pj4+Pj4+PiBmcm9tDQo+ID4+Pj4+Pj4+PiAgICAgICBTZWFCSU9TIGhhcyBiZWVu IHNvbWUgb2YgdGhlIG1vc3QgZW5saWdodGVuaW5nIGFuZA0KPiA+Pj4+Pj4+Pj4gaW50ZXJlc3Rp bmcNCj4gPj4+Pj4+Pj4+IHRpbWVzDQo+ID4+Pj4+Pj4+PiAgICAgICB0aHVzIGZhci4NCj4gPj4+ Pj4+Pj4+ICAgICAgIFRoYW5rcyBmb3IgdGhlIGxpbmsgdG8geW91ciBjb2RlLCBSYWZhZWw7IG9u Y2UgSSBnZXQgdmlydElPDQo+ID4+Pj4+Pj4+PiBzdXBwb3J0DQo+ID4+Pj4+Pj4+PiAgICAgICBp biwgSSBjYW4gd29yayBvbiBIREEgc3VwcG9ydCwgdGhvdWdoIEkgbWlnaHQgdGFja2xlIFVTQg0K PiA+Pj4+Pj4+Pj4gc3VwcG9ydA0KPiA+Pj4+Pj4+Pj4gICAgICAgc2Vjb25kIGFuZCBIREEgdGhp cmQuIFdlJ2xsIHNlZSwgYnV0IFZpcnRJTyBkZWZpbml0ZWx5IGlzDQo+ID4+Pj4+Pj4+PiBjb21p bmcNCj4gPj4+Pj4+Pj4+ICAgICAgIGZpcnN0Lg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAg ICAgIEFzIEkgc2FpZCBiZWZvcmUsIEkgbG9vayBmb3J3YXJkIHRvIHdvcmtpbmcgd2l0aCBhbGwg b2YgeW91DQo+ID4+Pj4+Pj4+PiAgICAgICB3b25kZXJmdWwNCj4gPj4+Pj4+Pj4+ICAgICAgIHBl b3BsZSENCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgICBPbiAzLzMwLzIxLCBSYWZhZWwg Um9kcmlndWVzIE1hY2hhZG8NCj4gPj4+Pj4+Pj4+ICAgICAgIDxyYWZhZWxyb2RyaWd1ZXMubWFj aGFkb0BnbWFpbC5jb20NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hh ZG9AZ21haWwuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpyYWZhZWxyb2RyaWd1ZXMubWFjaGFk b0BnbWFpbC5jb20NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9A Z21haWwuY29tPj4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9A Z21haWwuY29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdt YWlsLmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21h aWwuY29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdtYWls LmNvbT4+Pg0KPiA+Pj4+Pj4+Pj4gICAgICAgPG1haWx0bzpyYWZhZWxyb2RyaWd1ZXMubWFjaGFk b0BnbWFpbC5jb20NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9A Z21haWwuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpyYWZhZWxyb2RyaWd1ZXMubWFjaGFkb0Bn bWFpbC5jb20NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21h aWwuY29tPj4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21h aWwuY29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdtYWls LmNvbT4NCj4gPj4+Pj4+Pj4+IDxtYWlsdG86cmFmYWVscm9kcmlndWVzLm1hY2hhZG9AZ21haWwu Y29tDQo+ID4+Pj4+Pj4+PiA8bWFpbHRvOnJhZmFlbHJvZHJpZ3Vlcy5tYWNoYWRvQGdtYWlsLmNv bT4+Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgICB3cm90ZToNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ PiAgICAgICAgICAgVGhpcyB3b3VsZCBiZSBhbWF6aW5nIHNvIHBlb3BsZSBjYW4gY29udGludWUg bXkgd29yaw0KPiA+Pj4+Pj4+Pj4gcmVsYXRlZA0KPiA+Pj4+Pj4+Pj4gdG8NCj4gPj4+Pj4+Pj4+ ICAgICAgICAgICBhY2Nlc3NpYmlsaXR5IGF0IEJJT1MuIFNvbWV0aGluZyBkZXNpcmVkIGJ5IHRo ZSBibGluZA0KPiA+Pj4+Pj4+Pj4gcGVvcGxlDQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgc2luY2Ug dGhlDQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgOTAncw0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgIEp1 c3QgZm9yIHJlZmVyZW5jZSwgdGhpcyBpcyB3aGF0IEkgaGF2ZSBkb25lOg0KPiA+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vUmFmYWVsUk1hY2hh ZG8vTXNjX1VlZmlIZGFfUHJlT3NfQWNjZXNzaWJpbGl0eQ0KPiA+Pj4+Pj4+Pj4gPGh0dHBzOi8v Z2l0aHViLmNvbS9SYWZhZWxSTWFjaGFkby9Nc2NfVWVmaUhkYV9QcmVPc19BY2Nlc3NpYmlsaXR5 Pg0KPiA+Pj4+Pj4+Pj4gPGh0dHBzOi8vZ2l0aHViLmNvbS9SYWZhZWxSTWFjaGFkby9Nc2NfVWVm aUhkYV9QcmVPc19BY2Nlc3NpYmlsaXR5DQo+ID4+Pj4+Pj4+PiA8aHR0cHM6Ly9naXRodWIuY29t L1JhZmFlbFJNYWNoYWRvL01zY19VZWZpSGRhX1ByZU9zX0FjY2Vzc2liaWxpdHk+Pg0KPiA+Pj4+ Pj4+Pj4gPGh0dHBzOi8vZ2l0aHViLmNvbS9SYWZhZWxSTWFjaGFkby9Nc2NfVWVmaUhkYV9QcmVP c19BY2Nlc3NpYmlsaXR5DQo+ID4+Pj4+Pj4+PiA8aHR0cHM6Ly9naXRodWIuY29tL1JhZmFlbFJN YWNoYWRvL01zY19VZWZpSGRhX1ByZU9zX0FjY2Vzc2liaWxpdHk+DQo+ID4+Pj4+Pj4+PiA8aHR0 cHM6Ly9naXRodWIuY29tL1JhZmFlbFJNYWNoYWRvL01zY19VZWZpSGRhX1ByZU9zX0FjY2Vzc2li aWxpdHkNCj4gPj4+Pj4+Pj4+IDxodHRwczovL2dpdGh1Yi5jb20vUmFmYWVsUk1hY2hhZG8vTXNj X1VlZmlIZGFfUHJlT3NfQWNjZXNzaWJpbGl0eT4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ ICAgICAgICAgICBUaGFua3MNCj4gPj4+Pj4+Pj4+ICAgICAgICAgICBSYWZhZWwNCj4gPj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgRW0gc2VnLCAyOSBkZSBtYXIgZGUgMjAyMSAyMDoy NCwgRXRoaW4gUHJvYnN0DQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgPGhhcmx5ZGF2aWRzZW5AZ21h aWwuY29tIDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5jb20+DQo+ID4+Pj4+Pj4+PiA8bWFp bHRvOmhhcmx5ZGF2aWRzZW5AZ21haWwuY29tIDxtYWlsdG86aGFybHlkYXZpZHNlbkBnbWFpbC5j b20+Pg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNvbSA8bWFpbHRv Omhhcmx5ZGF2aWRzZW5AZ21haWwuY29tPg0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlk c2VuQGdtYWlsLmNvbQ0KPiA+Pj4+Pj4+Pj4gPG1haWx0bzpoYXJseWRhdmlkc2VuQGdtYWlsLmNv bT4+Pj4NCj4gPj4+Pj4+Pj4+ICAgICAgICAgICBlc2NyZXZldToNCj4gPj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgICAgICBIZWxsbyBldmVyeW9uZSwNCj4gPj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgICAgIFRoaXMgaXMgdGhlIGZpcnN0IHRpbWUg SSd2ZSBldmVyIGNvbnRyaWJ1dGVkIHRvDQo+ID4+Pj4+Pj4+PiBFREsyLg0KPiA+Pj4+Pj4+Pj4g QXMNCj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgcGFydCBvZiBHU29DDQo+ID4+Pj4+Pj4+PiAg ICAgICAgICAgICAgIDIwMjEsIEkgaGF2ZSBzdWJtaXR0ZWQgYSBwcm9wb3NhbCB0byBpbXBsZW1l bnQgYQ0KPiA+Pj4+Pj4+Pj4gVUVGSQ0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgICAgICBhdWRpbyBv dXRwdXQNCj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgcHJvdG9jb2wgdGhhdCB3aWxsIHV0aWxp emUgdGhlIFZpcnRJTyBzb3VuZCBkcml2ZXIuDQo+ID4+Pj4+Pj4+PiBJJ3ZlDQo+ID4+Pj4+Pj4+ PiAgICAgICAgICAgICAgIGFscmVhZHkNCj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgc3VibWl0 dGVkIGEgZHJhZnQgcHJvcG9zYWwsIGFuZCBhcG9sb2dpemUgaWYgSSd2ZQ0KPiA+Pj4+Pj4+Pj4g ZG9uZQ0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgICAgICB0aGluZ3Mgb3V0IG9mDQo+ID4+Pj4+Pj4+ PiAgICAgICAgICAgICAgIG9yZGVyLiBUaGlzIGlzIG15IGZpcnN0IHRpbWUgZG9pbmcgR1NvQyAy MDIxLCBhbmQNCj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgY29udHJpYnV0aW5nIHRvIEVESzIN Cj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgZmVsdCBsaWtlIGEgcmVhbGx5IGZ1biB0aGluZyB0 byBkbyENCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgICAgIEkgbG9vayBmb3J3 YXJkIHRvIHdvcmtpbmcgd2l0aCB5b3UgZ3V5cyBvbiB0aGlzIGFuZA0KPiA+Pj4+Pj4+Pj4gYW55 DQo+ID4+Pj4+Pj4+PiAgICAgICAgICAgICAgIGZ1dHVyZSBwcm9qZWN0cyENCj4gPj4+Pj4+Pj4+ ICAgICAgICAgICAgICAgOi0pDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgICAg ICAtLQ0KPiA+Pj4+Pj4+Pj4gICAgICAgICAgICAgICBTaWduZWQsDQo+ID4+Pj4+Pj4+PiAgICAg ICAgICAgICAgIEV0aGluIEQuIFByb2JzdA0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gICAgICAgLS0NCj4gPj4+ Pj4+Pj4+ICAgICAgIFNpZ25lZCwNCj4gPj4+Pj4+Pj4+ICAgICAgIEV0aGluIEQuIFByb2JzdA0K PiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAgLS0NCj4gPj4+ Pj4+Pj4+ICAgU2lnbmVkLA0KPiA+Pj4+Pj4+Pj4gICBFdGhpbiBELiBQcm9ic3QNCj4gPj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ DQo+ID4+Pj4+Pj4gLS0NCj4gPj4+Pj4+PiBTaWduZWQsDQo+ID4+Pj4+Pj4gRXRoaW4gRC4gUHJv YnN0DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+ Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+ Pj4gLS0NCj4gPj4+Pj4gU2lnbmVkLA0KPiA+Pj4+PiBFdGhpbiBELiBQcm9ic3QNCj4gPj4+Pj4N Cj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IC0t DQo+ID4+PiBTaWduZWQsDQo+ID4+PiBFdGhpbiBELiBQcm9ic3QNCj4gPj4+DQo+ID4+Pg0KPiA+ Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gU2lnbmVk LA0KPiA+PiBFdGhpbiBELiBQcm9ic3QNCj4gPg0KPiA+DQo+IA0KPiANCj4gLS0NCj4gU2lnbmVk LA0KPiBFdGhpbiBELiBQcm9ic3QNCj4gDQo+IA0KPiANCj4gDQoNCg==