From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Koenig, Christian" Subject: Re: [RFC PATCH] drm/ttm: force cached mappings for system RAM on ARM Date: Mon, 14 Jan 2019 19:07:54 +0000 Message-ID: <9f956898-7973-98ee-6bf1-e1d445e9d365@amd.com> References: <20190110072841.3283-1-ard.biesheuvel@linaro.org> <5d8135de-80fe-9c0e-2206-ecb809f64cdb@daenzer.net> <55facfb9-92af-86b8-40e9-d63b887b5592@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0463806924==" Return-path: Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700053.outbound.protection.outlook.com [40.107.70.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A8E16E3D2 for ; Mon, 14 Jan 2019 19:07:57 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ard Biesheuvel Cc: Carsten Haitzler , David Airlie , =?utf-8?B?TWljaGVsIETDpG56ZXI=?= , Will Deacon , Linux Kernel Mailing List , dri-devel , "Huang, Ray" , "Zhang, Jerry" , linux-arm-kernel , =?utf-8?B?QmVybmhhcmQgUm9zZW5rcsOkbnplcg==?= List-Id: dri-devel@lists.freedesktop.org --===============0463806924== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_9f956898797398ee6bf1e1d445e9d365amdcom_" --_000_9f956898797398ee6bf1e1d445e9d365amdcom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QW0gMTQuMDEuMTkgdW0gMTg6MzIgc2NocmllYiBBcmQgQmllc2hldXZlbDoNCltTTklQXQ0KDQot IFRoZSBleGlzdGVuY2Ugb2YgYSBsaW5lYXIgcmVnaW9uIG1hcHBpbmcgd2l0aCBtaXNtYXRjaGVk IGF0dHJpYnV0ZXMNCmlzIGxpa2VseSBub3QgdGhlIGN1bHByaXQgaGVyZS4gKFdlIGRvIHNvbWV0 aGluZyBzaW1pbGFyIHdpdGgNCm5vbi1jYWNoZSBjb2hlcmVudCBETUEgaW4gb3RoZXIgcGxhY2Vz KS4NCg0KDQoNClRoaXMgaXMgc3RpbGwgcmF0aGVyIHByb2JsZW1hdGljLg0KDQpUaGUgaXNzdWUg aXMgdGhhdCB3ZSBvZnRlbiBkb24ndCBjcmVhdGUgYSB2bWFwIGZvciBhIHBhZ2UsIGJ1dCByYXRo ZXINCmFjY2VzcyB0aGUgcGFnZSBkaXJlY3RseSB1c2luZyB0aGUgbGluZWFyIG1hcHBpbmcuDQoN ClNvIHdlIHdvdWxkIHVzZSB0aGUgd3JvbmcgYWNjZXNzIHR5cGUgaGVyZS4NCg0KDQoNCg0KWWVz LiBCdXQgaG93IGFyZSB0aGVzZSBhY2Nlc3NlcyBkb25lPyBBcmUgdGhleSB3cmFwcGVkIGluIGEg a21hcCgpPw0KDQpJIGp1c3QgZG91YmxlIGNoZWNrZWQgdGhlIHNvdXJjZSBmb3IgdGhpcyBhbmQg aXQgc2hvdWxkIGFjdHVhbGx5IGJlIGhhbmRsZWQgZ3JhY2VmdWxseToNCg0KICAgICAgICBpZiAo bnVtX3BhZ2VzPGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50 L251bV9wYWdlcz4gPT0gMSAmJiAobWVtPGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4 L3Y1LjAtcmMxL2lkZW50L21lbT4tPnBsYWNlbWVudDxodHRwczovL2VsaXhpci5ib290bGluLmNv bS9saW51eC92NS4wLXJjMS9pZGVudC9wbGFjZW1lbnQ+ICYgVFRNX1BMX0ZMQUdfQ0FDSEVEPGh0 dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L1RUTV9QTF9GTEFH X0NBQ0hFRD4pKSB7DQogICAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgICAgKiBXZSdy ZSBtYXBwaW5nIGEgc2luZ2xlIHBhZ2UsIGFuZCB0aGUgZGVzaXJlZA0KICAgICAgICAgICAgICAg ICAqIHBhZ2UgcHJvdGVjdGlvbiBpcyBjb25zaXN0ZW50IHdpdGggdGhlIGJvLg0KICAgICAgICAg ICAgICAgICAqLw0KDQogICAgICAgICAgICAgICAgbWFwPGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4u Y29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L21hcD4tPmJvX2ttYXBfdHlwZSA9IHR0bV9ib19tYXBf a21hcDxodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC90dG1f Ym9fbWFwX2ttYXA+Ow0KICAgICAgICAgICAgICAgIG1hcDxodHRwczovL2VsaXhpci5ib290bGlu LmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9tYXA+LT5wYWdlID0gdHRtLT5wYWdlczxodHRwczov L2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9wYWdlcz5bc3RhcnRfcGFn ZV07DQogICAgICAgICAgICAgICAgbWFwPGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4 L3Y1LjAtcmMxL2lkZW50L21hcD4tPnZpcnR1YWwgPSBrbWFwPGh0dHBzOi8vZWxpeGlyLmJvb3Rs aW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L2ttYXA+KG1hcDxodHRwczovL2VsaXhpci5ib290 bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9tYXA+LT5wYWdlKTsNCiAgICAgICAgfSBlbHNl IHsNCiAgICAgICAgICAgICAgICAvKg0KICAgICAgICAgICAgICAgICAqIFdlIG5lZWQgdG8gdXNl IHZtYXAgdG8gZ2V0IHRoZSBkZXNpcmVkIHBhZ2UgcHJvdGVjdGlvbg0KICAgICAgICAgICAgICAg ICAqIG9yIHRvIG1ha2UgdGhlIGJ1ZmZlciBvYmplY3QgbG9vayBjb250aWd1b3VzLg0KICAgICAg ICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgIHByb3QgPSB0dG1faW9fcHJvdDxodHRwczov L2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC90dG1faW9fcHJvdD4obWVt PGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L21lbT4tPnBs YWNlbWVudDxodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9w bGFjZW1lbnQ+LCBQQUdFX0tFUk5FTDxodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92 NS4wLXJjMS9pZGVudC9QQUdFX0tFUk5FTD4pOw0KICAgICAgICAgICAgICAgIG1hcDxodHRwczov L2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9tYXA+LT5ib19rbWFwX3R5 cGUgPSB0dG1fYm9fbWFwX3ZtYXA8aHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUu MC1yYzEvaWRlbnQvdHRtX2JvX21hcF92bWFwPjsNCiAgICAgICAgICAgICAgICBtYXA8aHR0cHM6 Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvbWFwPi0+dmlydHVhbCA9 IHZtYXA8aHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvdm1h cD4odHRtLT5wYWdlczxodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9p ZGVudC9wYWdlcz4gKyBzdGFydF9wYWdlLCBudW1fcGFnZXM8aHR0cHM6Ly9lbGl4aXIuYm9vdGxp bi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvbnVtX3BhZ2VzPiwNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDAsIHByb3QpOw0KICAgICAgICB9DQoNCldlIGNoZWNrIHRoZSBw bGFjZW1lbnQgZmxhZ3MgYW5kIG9ubHkgZGlyZWN0bHkgdXNlIGttYXAgd2hlbiBpdCBpcyBjYWNo ZWQuIE90aGVyd2lzZSB3ZSBmYWxsYmFjayB0byB1c2luZyB2bWFwLiBTbyB0aGF0IHNob3VsZCBp bmRlZWQgd29yayBjb3JyZWN0bHkuDQoNCg0KLSBUaGUgcmVhc29uIHJlbWFwcGluZyB0aGUgQ1BV IHNpZGUgYXMgY2FjaGVhYmxlIGRvZXMgd29yayAod2hpY2ggSQ0KZGlkIHRlc3QpIGlzIGJlY2F1 c2UgdGhlIEdQVSdzIHVuY2FjaGVhYmxlIGFjY2Vzc2VzICh3aGljaCBJIGFzc3VtZQ0KYXJlIG1h ZGUgdXNpbmcgdGhlIE5vU25vb3AgUENJZSB0cmFuc2FjdGlvbiBhdHRyaWJ1dGUpIGFyZSBhY3R1 YWxseQ0KZW1pdHRlZCBhcyBjYWNoZWFibGUgaW4gc29tZSBjYXNlcy4NCiAgIC4gT24gbXkgQU1E IFNlYXR0bGUsIHdpdGggb3Igd2l0aG91dCBTTU1VICh3aGljaCBpcyBzdGFnZSAyIG9ubHkpLCBJ DQptdXN0IHVzZSBjYWNoZWFibGUgYWNjZXNzZXMgZnJvbSB0aGUgQ1BVIHNpZGUgb3IgdGhpbmdz IGFyZSBicm9rZW4uDQpUaGlzIG1pZ2h0IGJlIGEgaC93IGZsYXcsIHRob3VnaC4NCiAgIC4gT24g c3lzdGVtcyB3aXRoIHN0YWdlIDErMiBTTU1VcywgdGhlIGRyaXZlciB1c2VzIHN0YWdlIDENCnRy YW5zbGF0aW9ucyB3aGljaCBhbHdheXMgb3ZlcnJpZGUgdGhlIG1lbW9yeSBhdHRyaWJ1dGVzIHRv IGNhY2hlYWJsZQ0KZm9yIERNQSBjb2hlcmVudCBkZXZpY2VzLiBUaGlzIGlzIHdoYXQgaXMgYWZm ZWN0aW5nIHRoZSBDYXZpdW0NClRodW5kZXJYMiAoYWx0aG91Z2ggaXQgYXBwZWFycyB0aGUgYXR0 cmlidXRlcyBlbWl0dGVkIGJ5IHRoZSBSQyBtYXkgYmUNCmluY29ycmVjdCBhcyB3ZWxsLikNCg0K VGhlIGxhdHRlciBpc3N1ZSBpcyBhIHNob3J0Y29taW5nIGluIHRoZSBTTU1VIGRyaXZlciB0aGF0 IHdlIGhhdmUgdG8NCmZpeCwgaS5lLiwgaXQgc2hvdWxkIHRha2UgY2FyZSBub3QgdG8gbW9kaWZ5 IHRoZSBpbmNvbWluZyBhdHRyaWJ1dGVzDQpvZiBETUEgY29oZXJlbnQgUENJZSBkZXZpY2VzIGZv ciBOb1Nub29wIHRvIGJlIGFibGUgdG8gd29yay4NCg0KU28gaW4gc3VtbWFyeSwgdGhlIG1pc21h dGNoIGFwcGVhcnMgdG8gYmUgYmV0d2VlbiB0aGUgQ1BVIGFjY2Vzc2luZw0KdGhlIHZtYXAgcmVn aW9uIHdpdGggbm9uLWNhY2hlYWJsZSBhdHRyaWJ1dGVzIGFuZCB0aGUgR1BVIGFjY2Vzc2luZw0K dGhlIHNhbWUgbWVtb3J5IHdpdGggY2FjaGVhYmxlIGF0dHJpYnV0ZXMsIHJlc3VsdGluZyBpbiBh IGxvc3Mgb2YNCmNvaGVyZW5jeSBhbmQgbG90cyBvZiB2aXNpYmxlIGNvcnJ1cHRpb24uDQoNCg0K DQpBY3R1YWxseSBpdCBpcyB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gVGhlIENQVSB0aGlua3Mgc29t ZSBkYXRhIGlzIGluIHRoZQ0KY2FjaGUgYW5kIHRoZSBHUFUgb25seSB1cGRhdGVzIHRoZSBzeXN0 ZW0gbWVtb3J5IHZlcnNpb24gYmVjYXVzZSB0aGUNCnNub29wIGZsYWcgaXMgbm90IHNldC4NCg0K DQoNCg0KVGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgd2hhdCBpcyBoYXBwZW5pbmcuIEFzIGZhciBh cyB3ZSBjYW4gdGVsbCBmcm9tDQpvdXIgZXhwZXJpbWVudHMsIGFsbCBpbmJvdW5kIHRyYW5zYWN0 aW9ucyBhcmUgYWx3YXlzIGNhY2hlYWJsZSwgYW5kIHNvDQp0aGUgb25seSB3YXkgdG8gbWFrZSB0 aGluZ3Mgd29yayBpcyB0byBlbnN1cmUgdGhhdCB0aGUgQ1BVIHVzZXMgdGhlDQpzYW1lIGF0dHJp YnV0ZXMuDQoNCk9rIHRoYXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZS4gSWYgaW5ib3VuZCB0cmFu c2FjdGlvbnMgYXJlIGNhY2hlYWJsZSBvciBub3QgaXMgaXJyZWxldmFudCB3aGVuIHRoZSBDUFUg YWx3YXlzIHVzZXMgdW5jYWNoZWQgYWNjZXNzZXMuDQoNClNlZSBvbiB0aGUgUENJZSBzaWRlIHlv dSBoYXZlIHRoZSBzbm9vcCBiaXQgaW4gdGhlIHJlYWQvd3JpdGUgdHJhbnNhY3Rpb25zIHdoaWNo IHRlbGxzIHRoZSByb290IGh1YiBpZiB0aGUgZGV2aWNlIHdhbnRzIHRvIHNub29wIGNhY2hlcyBv ciBub3QuDQoNCldoZW4gdGhlIENQVSBhY2Nlc3NlcyBzb21lIG1lbW9yeSBhcyBjYWNoZWQgdGhl biBkZXZpY2VzIG5lZWQgdG8gc25vb3AgdGhlIGNhY2hlIGZvciBjb2hlcmVudCBhY2Nlc3Nlcy4N Cg0KV2hlbiB0aGUgQ1BVIGFjY2Vzc2VzIHNvbWUgbWVtb3J5IGFzIHVuY2FjaGVkIHRoZW4gZGV2 aWNlcyBjYW4gZGlzYWJsZSBzbm9vcGluZyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLCBidXQgd2hl biB0aGV5IGRvbid0IGRvIHRoaXMgaXQgaXMgbWFuZGF0ZWQgYnkgdGhlIHNwZWMgdGhhdCB0aGlz IHN0aWxsIHdvcmtzLg0KDQoNClRvIGJlIGFibGUgdG8gZGVidWcgdGhpcyBmdXJ0aGVyLCBjb3Vs ZCB5b3UgZWxhYm9yYXRlIGEgYml0IG9uDQotIEhvdyBkb2VzIHRoZSBoYXJkd2FyZSBlbWl0IHRo b3NlIHVuY2FjaGVkL3djIGluYm91bmQgYWNjZXNzZXM/IERvDQp0aGV5IHJlbHkgb24gTm9Tbm9v cD8NCg0KDQoNClRoZSBHUFUgaGFzIGEgc2VwYXJhdGUgcGFnZSB3YWxrZXIgaW4gdGhlIE1DIGFu ZCB0aGUgcGFnZSB0YWJsZXMgdGhlcmUNCmhhdmUgYSBiaXRzIHNheWluZyBpZiB0aGUgYWNjZXNz IHNob3VsZCBnbyB0byB0aGUgUENJZSBidXMgYW5kIGlmIHllcyBpZg0KdGhlIHNub29wIGJpdCBz aG91bGQgYmUgc2V0Lg0KDQoNCg0KLSBDaHJpc3RpYW4gcG9pbnRlZCBvdXQgdGhhdCBzb21lIGFj Y2Vzc2VzIG11c3QgYmUgdW5jYWNoZWQgZXZlbiB3aGVuDQpub3QgdXNpbmcgV0MuIFdoYXQga2lu ZCBvZiBhY2Nlc3NlcyBhcmUgdGhvc2U/IEFuZCBkbyB0aGV5IGFjY2Vzcw0Kc3lzdGVtIFJBTT8N Cg0KDQoNCk9uIHNvbWUgaGFyZHdhcmUgZ2VuZXJhdGlvbnMgd2UgaGF2ZSBhIGJ1Z2d5IGVuZ2lu ZSB3aGljaCBmYWlscyB0bw0KZm9yd2FyZCB0aGUgc25vb3AgYml0IGFuZCBiZWNhdXNlIG9mIHRo aXMgdGhlIHN5c3RlbSBtZW1vcnkgcGFnZSB1c2VkIGJ5DQp0aGlzIGVuZ2luZSBtdXN0IGJlIHVu Y2FjaGVkLiBCdXQgdGhpcyBvbmx5IGFwcGxpZXMgaWYgeW91IHVzZSBST0NtIGluIGENCnNwZWNp ZmljIGNvbmZpZ3VyYXRpb24uDQoNCg0KDQoNCk9LLiBJIGRvbid0IGtub3cgd2hhdCB0aGF0IG1l YW5zIHRiaC4gRG9lcyB0aGlzIGFwcGx5IHRvIGJvdGggcmFkZW9uIGFuZCBhbWRncHU/DQoNCg0K VGhhdCBhcHBsaWVzIHRvIGJvdGgsIGJ1dCBvbmx5IGluIHJhcmUgY29ybmVyIGNhc2VzLg0KDQpD aHJpc3RpYW4uDQoNCg== --_000_9f956898797398ee6bf1e1d445e9d365amdcom_ Content-Type: text/html; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHRleHQ9IiMwMDAwMDAi IGJnY29sb3I9IiNGRkZGRkYiPg0KPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5BbSAxNC4w MS4xOSB1bSAxODozMiBzY2hyaWViIEFyZCBCaWVzaGV1dmVsOjxicj4NCjwvZGl2Pg0KPGJsb2Nr cXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOkNBS3YmIzQzO0d1X0p5TzJLTnRkTjEtX1Rjb0xf a3FzMHlzd2R3QnJwQVhBNi1qeVd1RHJqJiM0MztnQG1haWwuZ21haWwuY29tIj4NCltTTklQXQ0K PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCjxwcmUg Y2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+LSBUaGUgZXhpc3RlbmNlIG9mIGEgbGluZWFy IHJlZ2lvbiBtYXBwaW5nIHdpdGggbWlzbWF0Y2hlZCBhdHRyaWJ1dGVzDQppcyBsaWtlbHkgbm90 IHRoZSBjdWxwcml0IGhlcmUuIChXZSBkbyBzb21ldGhpbmcgc2ltaWxhciB3aXRoDQpub24tY2Fj aGUgY29oZXJlbnQgRE1BIGluIG90aGVyIHBsYWNlcykuDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4N CjxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+DQpUaGlzIGlzIHN0aWxsIHJhdGhl ciBwcm9ibGVtYXRpYy4NCg0KVGhlIGlzc3VlIGlzIHRoYXQgd2Ugb2Z0ZW4gZG9uJ3QgY3JlYXRl IGEgdm1hcCBmb3IgYSBwYWdlLCBidXQgcmF0aGVyDQphY2Nlc3MgdGhlIHBhZ2UgZGlyZWN0bHkg dXNpbmcgdGhlIGxpbmVhciBtYXBwaW5nLg0KDQpTbyB3ZSB3b3VsZCB1c2UgdGhlIHdyb25nIGFj Y2VzcyB0eXBlIGhlcmUuDQoNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHByZSBjbGFzcz0ibW96 LXF1b3RlLXByZSIgd3JhcD0iIj4NClllcy4gQnV0IGhvdyBhcmUgdGhlc2UgYWNjZXNzZXMgZG9u ZT8gQXJlIHRoZXkgd3JhcHBlZCBpbiBhIGttYXAoKT88L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxi cj4NCkkganVzdCBkb3VibGUgY2hlY2tlZCB0aGUgc291cmNlIGZvciB0aGlzIGFuZCBpdCBzaG91 bGQgYWN0dWFsbHkgYmUgaGFuZGxlZCBncmFjZWZ1bGx5Ojxicj4NCjxibG9ja3F1b3RlIHR5cGU9 ImNpdGUiPg0KPHByZT4JPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5j b20vbGludXgvdjUuMC1yYzEvaWRlbnQvbnVtX3BhZ2VzIj5udW1fcGFnZXM8L2E+PC9zcGFuPiA8 c3BhbiBjbGFzcz0ibyI+PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJtaSI+MTwvc3Bhbj4gPHNwYW4g Y2xhc3M9Im8iPiZhbXA7JmFtcDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFu IGNsYXNzPSJuIj48YSBocmVmPSJodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4w LXJjMS9pZGVudC9tZW0iPm1lbTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi0mZ3Q7PC9zcGFu PjxzcGFuIGNsYXNzPSJuIj48YSBocmVmPSJodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC92NS4wLXJjMS9pZGVudC9wbGFjZW1lbnQiPnBsYWNlbWVudDwvYT48L3NwYW4+IDxzcGFuIGNs YXNzPSJvIj4mYW1wOzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPjxhIGhyZWY9Imh0dHBzOi8vZWxp eGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L1RUTV9QTF9GTEFHX0NBQ0hFRCI+ VFRNX1BMX0ZMQUdfQ0FDSEVEPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KSk8L3NwYW4+IDxz cGFuIGNsYXNzPSJwIj57PC9zcGFuPg0KCQk8c3BhbiBjbGFzcz0iY20iPi8qPC9zcGFuPg0KPHNw YW4gY2xhc3M9ImNtIj4JCSAqIFdlJ3JlIG1hcHBpbmcgYSBzaW5nbGUgcGFnZSwgYW5kIHRoZSBk ZXNpcmVkPC9zcGFuPg0KPHNwYW4gY2xhc3M9ImNtIj4JCSAqIHBhZ2UgcHJvdGVjdGlvbiBpcyBj b25zaXN0ZW50IHdpdGggdGhlIGJvLjwvc3Bhbj4NCjxzcGFuIGNsYXNzPSJjbSI+CQkgKi88L3Nw YW4+DQoNCgkJPHNwYW4gY2xhc3M9Im4iPjxhIGhyZWY9Imh0dHBzOi8vZWxpeGlyLmJvb3RsaW4u Y29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L21hcCI+bWFwPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0i byI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmJvX2ttYXBfdHlwZTwvc3Bhbj4gPHNwYW4g Y2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj48YSBocmVmPSJodHRwczovL2VsaXhp ci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC90dG1fYm9fbWFwX2ttYXAiPnR0bV9i b19tYXBfa21hcDwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+DQoJCTxzcGFuIGNs YXNzPSJuIj48YSBocmVmPSJodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJj MS9pZGVudC9tYXAiPm1hcDwvYT48L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi0mZ3Q7PC9zcGFuPjxz cGFuIGNsYXNzPSJuIj5wYWdlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4g Y2xhc3M9Im4iPnR0bTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LSZndDs8L3NwYW4+PHNwYW4gY2xh c3M9Im4iPjxhIGhyZWY9Imh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMx L2lkZW50L3BhZ2VzIj5wYWdlczwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InAiPls8L3NwYW4+PHNw YW4gY2xhc3M9Im4iPnN0YXJ0X3BhZ2U8L3NwYW4+PHNwYW4gY2xhc3M9InAiPl07PC9zcGFuPg0K CQk8c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGlu dXgvdjUuMC1yYzEvaWRlbnQvbWFwIj5tYXA8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tJmd0 Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dmlydHVhbDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08 L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj48YSBocmVmPSJodHRwczovL2VsaXhpci5ib290bGluLmNv bS9saW51eC92NS4wLXJjMS9pZGVudC9rbWFwIj5rbWFwPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0i cCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxp bi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvbWFwIj5tYXA8L2E+PC9zcGFuPjxzcGFuIGNsYXNz PSJvIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+cGFnZTwvc3Bhbj48c3BhbiBjbGFzcz0i cCI+KTs8L3NwYW4+DQoJPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+IDxzcGFuIGNsYXNzPSJrIj5l bHNlPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4NCgkJPHNwYW4gY2xhc3M9ImNtIj4v Kjwvc3Bhbj4NCjxzcGFuIGNsYXNzPSJjbSI+CQkgKiBXZSBuZWVkIHRvIHVzZSB2bWFwIHRvIGdl dCB0aGUgZGVzaXJlZCBwYWdlIHByb3RlY3Rpb248L3NwYW4+DQo8c3BhbiBjbGFzcz0iY20iPgkJ ICogb3IgdG8gbWFrZSB0aGUgYnVmZmVyIG9iamVjdCBsb29rIGNvbnRpZ3VvdXMuPC9zcGFuPg0K PHNwYW4gY2xhc3M9ImNtIj4JCSAqLzwvc3Bhbj4NCgkJPHNwYW4gY2xhc3M9Im4iPnByb3Q8L3Nw YW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0 cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvdHRtX2lvX3Byb3Qi PnR0bV9pb19wcm90PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFz cz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEv aWRlbnQvbWVtIj5tZW08L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tJmd0Ozwvc3Bhbj48c3Bh biBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUu MC1yYzEvaWRlbnQvcGxhY2VtZW50Ij5wbGFjZW1lbnQ8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJw Ij4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxp bi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvUEFHRV9LRVJORUwiPlBBR0VfS0VSTkVMPC9hPjwv c3Bhbj48c3BhbiBjbGFzcz0icCI+KTs8L3NwYW4+DQoJCTxzcGFuIGNsYXNzPSJuIj48YSBocmVm PSJodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC9tYXAiPm1h cDwvYT48L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi0mZ3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5i b19rbWFwX3R5cGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0i biI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRl bnQvdHRtX2JvX21hcF92bWFwIj50dG1fYm9fbWFwX3ZtYXA8L2E+PC9zcGFuPjxzcGFuIGNsYXNz PSJwIj47PC9zcGFuPg0KCQk8c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9lbGl4aXIu Ym9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvbWFwIj5tYXA8L2E+PC9zcGFuPjxzcGFu IGNsYXNzPSJvIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dmlydHVhbDwvc3Bhbj4gPHNw YW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj48YSBocmVmPSJodHRwczovL2Vs aXhpci5ib290bGluLmNvbS9saW51eC92NS4wLXJjMS9pZGVudC92bWFwIj52bWFwPC9hPjwvc3Bh bj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dHRtPC9zcGFuPjxzcGFu IGNsYXNzPSJvIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+PGEgaHJlZj0iaHR0cHM6Ly9l bGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuMC1yYzEvaWRlbnQvcGFnZXMiPnBhZ2VzPC9hPjwv c3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiYjNDM7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+c3RhcnRf cGFnZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPjxhIGhy ZWY9Imh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y1LjAtcmMxL2lkZW50L251bV9w YWdlcyI+bnVtX3BhZ2VzPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+LDwvc3Bhbj4NCgkJCQkg ICAgPHNwYW4gY2xhc3M9Im1pIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4sPC9zcGFuPiA8c3Bh biBjbGFzcz0ibiI+cHJvdDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTs8L3NwYW4+DQoJPHNwYW4g Y2xhc3M9InAiPn08L3NwYW4+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQpXZSBjaGVjayB0 aGUgcGxhY2VtZW50IGZsYWdzIGFuZCBvbmx5IGRpcmVjdGx5IHVzZSBrbWFwIHdoZW4gaXQgaXMg Y2FjaGVkLiBPdGhlcndpc2Ugd2UgZmFsbGJhY2sgdG8gdXNpbmcgdm1hcC4gU28gdGhhdCBzaG91 bGQgaW5kZWVkIHdvcmsgY29ycmVjdGx5Ljxicj4NCjxicj4NCjxibG9ja3F1b3RlIHR5cGU9ImNp dGUiIGNpdGU9Im1pZDpDQUt2JiM0MztHdV9KeU8yS050ZE4xLV9UY29MX2txczB5c3dkd0JycEFY QTYtanlXdURyaiYjNDM7Z0BtYWlsLmdtYWlsLmNvbSI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRl Ij4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KPHByZSBjbGFzcz0ibW96LXF1b3RlLXByZSIg d3JhcD0iIj4tIFRoZSByZWFzb24gcmVtYXBwaW5nIHRoZSBDUFUgc2lkZSBhcyBjYWNoZWFibGUg ZG9lcyB3b3JrICh3aGljaCBJDQpkaWQgdGVzdCkgaXMgYmVjYXVzZSB0aGUgR1BVJ3MgdW5jYWNo ZWFibGUgYWNjZXNzZXMgKHdoaWNoIEkgYXNzdW1lDQphcmUgbWFkZSB1c2luZyB0aGUgTm9Tbm9v cCBQQ0llIHRyYW5zYWN0aW9uIGF0dHJpYnV0ZSkgYXJlIGFjdHVhbGx5DQplbWl0dGVkIGFzIGNh Y2hlYWJsZSBpbiBzb21lIGNhc2VzLg0KICAgLiBPbiBteSBBTUQgU2VhdHRsZSwgd2l0aCBvciB3 aXRob3V0IFNNTVUgKHdoaWNoIGlzIHN0YWdlIDIgb25seSksIEkNCm11c3QgdXNlIGNhY2hlYWJs ZSBhY2Nlc3NlcyBmcm9tIHRoZSBDUFUgc2lkZSBvciB0aGluZ3MgYXJlIGJyb2tlbi4NClRoaXMg bWlnaHQgYmUgYSBoL3cgZmxhdywgdGhvdWdoLg0KICAgLiBPbiBzeXN0ZW1zIHdpdGggc3RhZ2Ug MSYjNDM7MiBTTU1VcywgdGhlIGRyaXZlciB1c2VzIHN0YWdlIDENCnRyYW5zbGF0aW9ucyB3aGlj aCBhbHdheXMgb3ZlcnJpZGUgdGhlIG1lbW9yeSBhdHRyaWJ1dGVzIHRvIGNhY2hlYWJsZQ0KZm9y IERNQSBjb2hlcmVudCBkZXZpY2VzLiBUaGlzIGlzIHdoYXQgaXMgYWZmZWN0aW5nIHRoZSBDYXZp dW0NClRodW5kZXJYMiAoYWx0aG91Z2ggaXQgYXBwZWFycyB0aGUgYXR0cmlidXRlcyBlbWl0dGVk IGJ5IHRoZSBSQyBtYXkgYmUNCmluY29ycmVjdCBhcyB3ZWxsLikNCg0KVGhlIGxhdHRlciBpc3N1 ZSBpcyBhIHNob3J0Y29taW5nIGluIHRoZSBTTU1VIGRyaXZlciB0aGF0IHdlIGhhdmUgdG8NCmZp eCwgaS5lLiwgaXQgc2hvdWxkIHRha2UgY2FyZSBub3QgdG8gbW9kaWZ5IHRoZSBpbmNvbWluZyBh dHRyaWJ1dGVzDQpvZiBETUEgY29oZXJlbnQgUENJZSBkZXZpY2VzIGZvciBOb1Nub29wIHRvIGJl IGFibGUgdG8gd29yay4NCg0KU28gaW4gc3VtbWFyeSwgdGhlIG1pc21hdGNoIGFwcGVhcnMgdG8g YmUgYmV0d2VlbiB0aGUgQ1BVIGFjY2Vzc2luZw0KdGhlIHZtYXAgcmVnaW9uIHdpdGggbm9uLWNh Y2hlYWJsZSBhdHRyaWJ1dGVzIGFuZCB0aGUgR1BVIGFjY2Vzc2luZw0KdGhlIHNhbWUgbWVtb3J5 IHdpdGggY2FjaGVhYmxlIGF0dHJpYnV0ZXMsIHJlc3VsdGluZyBpbiBhIGxvc3Mgb2YNCmNvaGVy ZW5jeSBhbmQgbG90cyBvZiB2aXNpYmxlIGNvcnJ1cHRpb24uDQo8L3ByZT4NCjwvYmxvY2txdW90 ZT4NCjxwcmUgY2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+DQpBY3R1YWxseSBpdCBpcyB0 aGUgb3RoZXIgd2F5IGFyb3VuZC4gVGhlIENQVSB0aGlua3Mgc29tZSBkYXRhIGlzIGluIHRoZQ0K Y2FjaGUgYW5kIHRoZSBHUFUgb25seSB1cGRhdGVzIHRoZSBzeXN0ZW0gbWVtb3J5IHZlcnNpb24g YmVjYXVzZSB0aGUNCnNub29wIGZsYWcgaXMgbm90IHNldC4NCg0KPC9wcmU+DQo8L2Jsb2NrcXVv dGU+DQo8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJlIiB3cmFwPSIiPg0KVGhhdCBkb2Vzbid0IHNl ZW0gdG8gYmUgd2hhdCBpcyBoYXBwZW5pbmcuIEFzIGZhciBhcyB3ZSBjYW4gdGVsbCBmcm9tDQpv dXIgZXhwZXJpbWVudHMsIGFsbCBpbmJvdW5kIHRyYW5zYWN0aW9ucyBhcmUgYWx3YXlzIGNhY2hl YWJsZSwgYW5kIHNvDQp0aGUgb25seSB3YXkgdG8gbWFrZSB0aGluZ3Mgd29yayBpcyB0byBlbnN1 cmUgdGhhdCB0aGUgQ1BVIHVzZXMgdGhlDQpzYW1lIGF0dHJpYnV0ZXMuPC9wcmU+DQo8L2Jsb2Nr cXVvdGU+DQo8YnI+DQpPayB0aGF0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UuIElmIGluYm91bmQg dHJhbnNhY3Rpb25zIGFyZSBjYWNoZWFibGUgb3Igbm90IGlzIGlycmVsZXZhbnQgd2hlbiB0aGUg Q1BVIGFsd2F5cyB1c2VzIHVuY2FjaGVkIGFjY2Vzc2VzLjxicj4NCjxicj4NClNlZSBvbiB0aGUg UENJZSBzaWRlIHlvdSBoYXZlIHRoZSBzbm9vcCBiaXQgaW4gdGhlIHJlYWQvd3JpdGUgdHJhbnNh Y3Rpb25zIHdoaWNoIHRlbGxzIHRoZSByb290IGh1YiBpZiB0aGUgZGV2aWNlIHdhbnRzIHRvIHNu b29wIGNhY2hlcyBvciBub3QuPGJyPg0KPGJyPg0KV2hlbiB0aGUgQ1BVIGFjY2Vzc2VzIHNvbWUg bWVtb3J5IGFzIGNhY2hlZCB0aGVuIGRldmljZXMgbmVlZCB0byBzbm9vcCB0aGUgY2FjaGUgZm9y IGNvaGVyZW50IGFjY2Vzc2VzLjxicj4NCjxicj4NCldoZW4gdGhlIENQVSBhY2Nlc3NlcyBzb21l IG1lbW9yeSBhcyB1bmNhY2hlZCB0aGVuIGRldmljZXMgY2FuIGRpc2FibGUgc25vb3BpbmcgdG8g aW1wcm92ZSBwZXJmb3JtYW5jZSwgYnV0IHdoZW4gdGhleSBkb24ndCBkbyB0aGlzIGl0IGlzIG1h bmRhdGVkIGJ5IHRoZSBzcGVjIHRoYXQgdGhpcyBzdGlsbCB3b3Jrcy48YnI+DQo8YnI+DQo8Ymxv Y2txdW90ZSB0eXBlPSJjaXRlIiBjaXRlPSJtaWQ6Q0FLdiYjNDM7R3VfSnlPMktOdGROMS1fVGNv TF9rcXMweXN3ZHdCcnBBWEE2LWp5V3VEcmomIzQzO2dAbWFpbC5nbWFpbC5jb20iPg0KPGJsb2Nr cXVvdGUgdHlwZT0iY2l0ZSI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4NCjxwcmUgY2xhc3M9 Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+VG8gYmUgYWJsZSB0byBkZWJ1ZyB0aGlzIGZ1cnRoZXIs IGNvdWxkIHlvdSBlbGFib3JhdGUgYSBiaXQgb24NCi0gSG93IGRvZXMgdGhlIGhhcmR3YXJlIGVt aXQgdGhvc2UgdW5jYWNoZWQvd2MgaW5ib3VuZCBhY2Nlc3Nlcz8gRG8NCnRoZXkgcmVseSBvbiBO b1Nub29wPw0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cHJlIGNsYXNzPSJtb3otcXVvdGUtcHJl IiB3cmFwPSIiPg0KVGhlIEdQVSBoYXMgYSBzZXBhcmF0ZSBwYWdlIHdhbGtlciBpbiB0aGUgTUMg YW5kIHRoZSBwYWdlIHRhYmxlcyB0aGVyZQ0KaGF2ZSBhIGJpdHMgc2F5aW5nIGlmIHRoZSBhY2Nl c3Mgc2hvdWxkIGdvIHRvIHRoZSBQQ0llIGJ1cyBhbmQgaWYgeWVzIGlmDQp0aGUgc25vb3AgYml0 IHNob3VsZCBiZSBzZXQuDQoNCjwvcHJlPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+DQo8cHJl IGNsYXNzPSJtb3otcXVvdGUtcHJlIiB3cmFwPSIiPi0gQ2hyaXN0aWFuIHBvaW50ZWQgb3V0IHRo YXQgc29tZSBhY2Nlc3NlcyBtdXN0IGJlIHVuY2FjaGVkIGV2ZW4gd2hlbg0Kbm90IHVzaW5nIFdD LiBXaGF0IGtpbmQgb2YgYWNjZXNzZXMgYXJlIHRob3NlPyBBbmQgZG8gdGhleSBhY2Nlc3MNCnN5 c3RlbSBSQU0/DQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwcmUgY2xhc3M9Im1vei1xdW90ZS1w cmUiIHdyYXA9IiI+DQpPbiBzb21lIGhhcmR3YXJlIGdlbmVyYXRpb25zIHdlIGhhdmUgYSBidWdn eSBlbmdpbmUgd2hpY2ggZmFpbHMgdG8NCmZvcndhcmQgdGhlIHNub29wIGJpdCBhbmQgYmVjYXVz ZSBvZiB0aGlzIHRoZSBzeXN0ZW0gbWVtb3J5IHBhZ2UgdXNlZCBieQ0KdGhpcyBlbmdpbmUgbXVz dCBiZSB1bmNhY2hlZC4gQnV0IHRoaXMgb25seSBhcHBsaWVzIGlmIHlvdSB1c2UgUk9DbSBpbiBh DQpzcGVjaWZpYyBjb25maWd1cmF0aW9uLg0KDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwcmUg Y2xhc3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+DQpPSy4gSSBkb24ndCBrbm93IHdoYXQgdGhh dCBtZWFucyB0YmguIERvZXMgdGhpcyBhcHBseSB0byBib3RoIHJhZGVvbiBhbmQgYW1kZ3B1Pw0K PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8YnI+DQpUaGF0IGFwcGxpZXMgdG8gYm90aCwgYnV0IG9u bHkgaW4gcmFyZSBjb3JuZXIgY2FzZXMuPGJyPg0KPGJyPg0KQ2hyaXN0aWFuLjxicj4NCjxicj4N CjwvYm9keT4NCjwvaHRtbD4NCg== --_000_9f956898797398ee6bf1e1d445e9d365amdcom_-- --===============0463806924== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0463806924==--