From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7758756060783161311==" MIME-Version: 1.0 From: Sreeni (Sreenivasa) Busam (Stellus) Subject: Re: [SPDK] Helloworld program fails during device initialization. Date: Tue, 14 Nov 2017 18:39:19 +0000 Message-ID: <1e04d571429d4c4080b65eadad581419@stellus.com> In-Reply-To: 82C9F782B054C94B9FC04A331649C77A9D429F82@FMSMSX108.amr.corp.intel.com List-ID: To: spdk@lists.01.org --===============7758756060783161311== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Paul, Thanks for your comments. Please see my response inline. From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Luse, Paul E Sent: Tuesday, November 14, 2017 5:46 AM To: Storage Performance Development Kit Subject: Re: [SPDK] Helloworld program fails during device initialization. Well, maybe not. Could very well be an issue in the driver that's only exp= osed via this hardware especially given that hello_world failed and perf di= d not. Sreeni, do you have any other data points that you can share? Like, for exa= mple, have you tried multiple SSDs of that same model or any other model? D= oes hello consistently fail and perf consistently pass? >> As you have seen from the log, we know it fails in initialization of SSD= device. nvme_ctrlr.c:1475:nvme_ctrlr_process_init: *ERROR*: Initialization timed ou= t in state 1 I have 2 SSD's and one of them fails in initialization, in case of other de= vice, looks it has hardware problem and the SPDK driver does not see it. I = am going to get another SSD and try the same test and will post you the res= ults after testing it. It may take a while as I have to contact my Lab pers= onnel. I have not tested on other models. Yes, the test on perf always passes and the hello_world failed every time. = I tried at least 5 times. I haven't done a ton of debug with either but with a little more info, if s= omeone else doesn't jump in with the answer, I can pretty easily help compa= re the init sequence in a few of these and maybe start to narrow down what'= s different. >> Do you think it would be good to try to increase the timeout and check i= f initialization succeeds? Any help would be appreciated. Thx Paul From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Wu, WenzhongX Sent: Tuesday, November 14, 2017 2:13 AM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. Hi Sreeni, Verify with newest spdk source code with intel P3700 ,run helloword everyth= ing is ok: root(a)waikiki5-target:~/workspace/spdk1102/examples/nvme/hello_world# ./he= llo_world Starting DPDK 17.08.0 initialization... [ DPDK EAL parameters: hello_world -c 0x1 --file-prefix=3Dspdk0 --base-virt= addr=3D0x1000000000 --proc-type=3Dauto ] EAL: Detected 36 lcore(s) EAL: Auto-detected process type: PRIMARY EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... Initializing NVMe Controllers EAL: PCI device 0000:81:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:81:00.0 EAL: PCI device 0000:84:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:84:00.0 EAL: PCI device 0000:85:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:85:00.0 Attached to 0000:85:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT6401011B800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Attached to 0000:81:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT5373002D800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Attached to 0000:84:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT53640003800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Initialization complete. Hello world! Hello world! Hello world! Seem it's your hardware cause this issues. Thanks Wenzhong From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Sreeni (Sreeni= vasa) Busam (Stellus) Sent: Tuesday, November 14, 2017 2:36 PM To: spdk(a)lists.01.org Subject: [SPDK] Helloworld program fails during device initialization. I was testing the helloworld program on ubuntu with NVMe SSD and the probe(= ) is failing. Please let me know if this is a known problem. Let me know if there is workaround. The perf program did not have any problem. I have attached the output for both tests. lspci| grep Non ad:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD= Controller (rev 01) ae:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD= Controller (rev 01) uname -a Linux sjca5radevct13 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16= :32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 1. helloworld output: --------------------------- Attached to 0000:ad:00.0 Using controller SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) with 1 namespa= ces. Namespace ID: 1 size: 480GB nvme_ctrlr.c:1475:nvme_ctrlr_process_init: *ERROR*: Initialization timed ou= t in state 1 nvme_ctrlr.c: 523:nvme_ctrlr_shutdown: *ERROR*: did not shutdown within 5 s= econds spdk_nvme_probe() failed 2. perf output: sudo ./perf -q 1 -s 4096 -t 10 -w read -r "trtype:PCIe traddr:0000:ad:00.0" --------------- Starting DPDK 17.08.0 initialization... [ DPDK EAL parameters: perf -c 0x1 --file-prefix=3Dspdk_pid7647 ] EAL: Detected 32 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB Attached to NVMe Controller at 0000:ad:00.0 [144d:a802] Associating SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) with lcore 0 Initialization complete. Launching workers. Starting thread on core 0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D = Latency(us) Device Information : IOPS M= B/s Average min max SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) from core 0: 13773.50 53= .80 72.59 60.20 243.82 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Total : 13773.50 53= .80 72.59 60.20 243.82 Thanks for your help, Sreeni --===============7758756060783161311== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+ PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6Ik1hbGd1biBHb3RoaWMiOwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAw IDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAy IDIgMiA0IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OiJcQE1hbGd1biBHb3RoaWMi OwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAwIDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAq LwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsK CW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5 bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojMDU2M0MxOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGlu ZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlv cml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30Kc3Bh bi5FbWFpbFN0eWxlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmOwoJY29sb3I6d2luZG93dGV4dDt9CnNwYW4uRW1haWxTdHlsZTE4 Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjsKCWNvbG9yOiMxRjQ5N0Q7fQpzcGFuLkVtYWlsU3R5bGUxOQoJe21zby1zdHlsZS10eXBl OnBlcnNvbmFsOwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjojMUY0 OTdEO30Kc3Bhbi5FbWFpbFN0eWxlMjAKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsK CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOwoJY29sb3I6IzFGNDk3RDt9Ci5Nc29D aHBEZWZhdWx0Cgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Cglmb250LXNpemU6MTAuMHB0 O30KQHBhZ2UgV29yZFNlY3Rpb24xCgl7c2l6ZTo4LjVpbiAxMS4waW47CgltYXJnaW46MS4waW4g MS4waW4gMS4waW4gMS4waW47fQpkaXYuV29yZFNlY3Rpb24xCgl7cGFnZTpXb3JkU2VjdGlvbjE7 fQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWRlZmF1bHRzIHY6 ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPgo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0 ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPgo8bzppZG1hcCB2OmV4 dD0iZWRpdCIgZGF0YT0iMSIgLz4KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPgo8 L2hlYWQ+Cjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+ CjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJjb2xvcjojMUY0OTdEIj5IaSBQYXVsLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPlRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4gUGxlYXNlIHNlZSBteSByZXNwb25zZSBp bmxpbmUuPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBuYW1l PSJfTWFpbEVuZENvbXBvc2UiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNw OzwvbzpwPjwvc3Bhbj48L2E+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8ZGl2Pgo8ZGl2IHN0 eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzoz LjBwdCAwaW4gMGluIDBpbiI+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERL IFttYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gPGI+T24gQmVoYWxmIE9mCjwvYj5M dXNlLCBQYXVsIEU8YnI+CjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBOb3ZlbWJlciAxNCwgMjAxNyA1 OjQ2IEFNPGJyPgo8Yj5Ubzo8L2I+IFN0b3JhZ2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0 ICZsdDtzcGRrQGxpc3RzLjAxLm9yZyZndDs8YnI+CjxiPlN1YmplY3Q6PC9iPiBSZTogW1NQREtd IEhlbGxvd29ybGQgcHJvZ3JhbSBmYWlscyBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uLjxv OnA+PC9vOnA+PC9wPgo8L2Rpdj4KPC9kaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFG NDk3RCI+V2VsbCwgbWF5YmUgbm90LiZuYnNwOyBDb3VsZCB2ZXJ5IHdlbGwgYmUgYW4gaXNzdWUg aW4gdGhlIGRyaXZlciB0aGF0JiM4MjE3O3Mgb25seSBleHBvc2VkIHZpYSB0aGlzIGhhcmR3YXJl IGVzcGVjaWFsbHkgZ2l2ZW4gdGhhdCBoZWxsb193b3JsZCBmYWlsZWQgYW5kIHBlcmYgZGlkIG5v dC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TcmVlbmksIGRvIHlvdSBoYXZl IGFueSBvdGhlciBkYXRhIHBvaW50cyB0aGF0IHlvdSBjYW4gc2hhcmU/IExpa2UsIGZvciBleGFt cGxlLCBoYXZlIHlvdSB0cmllZCBtdWx0aXBsZSBTU0RzIG9mIHRoYXQgc2FtZSBtb2RlbCBvciBh bnkgb3RoZXIgbW9kZWw/IERvZXMgaGVsbG8gY29uc2lzdGVudGx5IGZhaWwgYW5kIHBlcmYgY29u c2lzdGVudGx5IHBhc3M/PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+Jmd0OyZndDsgQXMgeW91IGhhdmUgc2VlbiBm cm9tIHRoZSBsb2csIHdlIGtub3cgaXQgZmFpbHMgaW4gaW5pdGlhbGl6YXRpb24gb2YgU1NEIGRl dmljZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJjb2xvcjojMUY0RTc5Ij5udm1lX2N0cmxyLmM6MTQ3NTo8c3BhbiBzdHlsZT0iYmFja2dy b3VuZDp5ZWxsb3c7bXNvLWhpZ2hsaWdodDp5ZWxsb3ciPm52bWVfY3RybHJfcHJvY2Vzc19pbml0 OiAqRVJST1IqPC9zcGFuPjogSW5pdGlhbGl6YXRpb24gdGltZWQgb3V0IGluIHN0YXRlIDE8bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0RTc5Ij5JIGhhdmUgMiBTU0QmIzgyMTc7cyBhbmQgb25lIG9mIHRoZW0gZmFpbHMgaW4g aW5pdGlhbGl6YXRpb24sIGluIGNhc2Ugb2Ygb3RoZXIgZGV2aWNlLCBsb29rcyBpdCBoYXMgaGFy ZHdhcmUgcHJvYmxlbSBhbmQgdGhlIFNQREsgZHJpdmVyIGRvZXMgbm90IHNlZSBpdC4gSSBhbSBn b2luZyB0byBnZXQgYW5vdGhlciBTU0QgYW5kIHRyeSB0aGUgc2FtZSB0ZXN0IGFuZCB3aWxsCiBw b3N0IHlvdSB0aGUgcmVzdWx0cyBhZnRlciB0ZXN0aW5nIGl0LiBJdCBtYXkgdGFrZSBhIHdoaWxl IGFzIEkgaGF2ZSB0byBjb250YWN0IG15IExhYiBwZXJzb25uZWwuIEkgaGF2ZSBub3QgdGVzdGVk IG9uIG90aGVyIG1vZGVscy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0RTc5Ij5ZZXMsIHRoZSB0ZXN0IG9uIHBlcmYgYWx3 YXlzIHBhc3NlcyBhbmQgdGhlIGhlbGxvX3dvcmxkIGZhaWxlZCBldmVyeSB0aW1lLiBJIHRyaWVk IGF0IGxlYXN0IDUgdGltZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0OTdEIj5JIGhhdmVuJiM4MjE3O3QgZG9uZSBhIHRvbiBvZiBkZWJ1ZyB3aXRoIGVpdGhl ciBidXQgd2l0aCBhIGxpdHRsZSBtb3JlIGluZm8sIGlmIHNvbWVvbmUgZWxzZSBkb2VzbiYjODIx Nzt0IGp1bXAgaW4gd2l0aCB0aGUgYW5zd2VyLCBJIGNhbiBwcmV0dHkgZWFzaWx5IGhlbHAgY29t cGFyZSB0aGUgaW5pdCBzZXF1ZW5jZSBpbiBhIGZldyBvZiB0aGVzZSBhbmQgbWF5YmUgc3RhcnQg dG8KIG5hcnJvdyBkb3duIHdoYXQmIzgyMTc7cyBkaWZmZXJlbnQuPG86cD48L286cD48L3NwYW4+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNEU3OSI+Jmd0 OyZndDsgRG8geW91IHRoaW5rIGl0IHdvdWxkIGJlIGdvb2QgdG8gdHJ5IHRvIGluY3JlYXNlIHRo ZSB0aW1lb3V0IGFuZCBjaGVjayBpZiBpbml0aWFsaXphdGlvbiBzdWNjZWVkcz8gQW55IGhlbHAg d291bGQgYmUgYXBwcmVjaWF0ZWQuPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ VGh4PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+UGF1bDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z cGFuPjwvcD4KPGRpdj4KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAj RTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj48YSBuYW1lPSJfX19fX3JlcGx5c2VwYXJhdG9yIj48L2E+PGI+RnJvbTo8L2I+IFNQREsg WzxhIGhyZWY9Im1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIj5tYWlsdG86c3Bkay1i b3VuY2VzQGxpc3RzLjAxLm9yZzwvYT5dCjxiPk9uIEJlaGFsZiBPZiA8L2I+V3UsIFdlbnpob25n WDxicj4KPGI+U2VudDo8L2I+IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3IDI6MTMgQU08YnI+ CjxiPlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhy ZWY9Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxi cj4KPGI+U3ViamVjdDo8L2I+IFJlOiBbU1BES10gSGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1 cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IaSBTcmVlbmksPC9zcGFuPjxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+VmVyaWZ5IHdpdGggbmV3ZXN0IHNwZGsgc291cmNlIGNv ZGUgd2l0aCBpbnRlbCBQMzcwMCAscnVuIGhlbGxvd29yZCBldmVyeXRoaW5nIGlzIG9rOjxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9y OiMxRjQ5N0QiPnJvb3RAd2Fpa2lraTUtdGFyZ2V0On4vd29ya3NwYWNlL3NwZGsxMTAyL2V4YW1w bGVzL252bWUvaGVsbG9fd29ybGQjIC4vaGVsbG9fd29ybGQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TdGFydGlu ZyBEUERLIDE3LjA4LjAgaW5pdGlhbGl6YXRpb24uLi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5bIERQREsgRUFM IHBhcmFtZXRlcnM6IGhlbGxvX3dvcmxkIC1jIDB4MSAtLWZpbGUtcHJlZml4PXNwZGswIC0tYmFz ZS12aXJ0YWRkcj0weDEwMDAwMDAwMDAgLS1wcm9jLXR5cGU9YXV0byBdPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ RUFMOiBEZXRlY3RlZCAzNiBsY29yZShzKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDogQXV0by1kZXRlY3Rl ZCBwcm9jZXNzIHR5cGU6IFBSSU1BUlk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IE5vIGZyZWUgaHVnZXBh Z2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFBy b2JpbmcgVkZJTyBzdXBwb3J0Li4uPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SW5pdGlhbGl6aW5nIE5WTWUgQ29u dHJvbGxlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFBDSSBkZXZpY2UgMDAwMDo4MTowMC4wIG9uIE5V TUEgc29ja2V0IDE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6Jm5ic3A7Jm5ic3A7IHByb2JlIGRyaXZlcjog ODA4Njo5NTMgc3Bka19udm1lPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoaW5nIHRvIDAwMDA6ODE6MDAu MDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiPkVBTDogUENJIGRldmljZSAwMDAwOjg0OjAwLjAgb24gTlVNQSBzb2Nr ZXQgMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDombmJzcDsmbmJzcDsgcHJvYmUgZHJpdmVyOiA4MDg2Ojk1 MyBzcGRrX252bWU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hpbmcgdG8gMDAwMDo4NDowMC4wPG86cD48 L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6 IzFGNDk3RCI+RUFMOiBQQ0kgZGV2aWNlIDAwMDA6ODU6MDAuMCBvbiBOVU1BIHNvY2tldCAxPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+RUFMOiZuYnNwOyZuYnNwOyBwcm9iZSBkcml2ZXI6IDgwODY6OTUzIHNwZGtf bnZtZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPkF0dGFjaGluZyB0byAwMDAwOjg1OjAwLjA8bzpwPjwvbzpwPjwv c3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij5BdHRhY2hlZCB0byAwMDAwOjg1OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVy IElOVEVMIFNTRFBFRE1EODAwRzQmbmJzcDsgKFBIRlQ2NDAxMDExQjgwMENHTiZuYnNwOyApIHdp dGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6 ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjgxOjAwLjA8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5Vc2luZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1EODAwRzQmbmJzcDsgKFBIRlQ1Mzcz MDAyRDgwMENHTiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNw OyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAw MDAwOjg0OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1E ODAwRzQmbmJzcDsgKFBIRlQ1MzY0MDAwMzgwMENHTiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2Vz LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwv bzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjoj MUY0OTdEIj5Jbml0aWFsaXphdGlvbiBjb21wbGV0ZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3Js ZCE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3JsZCE8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TZWVtICZuYnNwO2l0JiM4MjE3O3Mg eW91ciBoYXJkd2FyZSBjYXVzZSB0aGlzIGlzc3Vlcy4KPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+VGhhbmtzIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPldlbnpob25nPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8ZGl2Pgo8ZGl2IHN0eWxlPSJib3JkZXI6bm9u ZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBp biI+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERLIFs8YSBocmVmPSJtYWls dG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4w MS5vcmc8L2E+XQo8Yj5PbiBCZWhhbGYgT2YgPC9iPlNyZWVuaSAoU3JlZW5pdmFzYSkgQnVzYW0g KFN0ZWxsdXMpPGJyPgo8Yj5TZW50OjwvYj4gVHVlc2RheSwgTm92ZW1iZXIgMTQsIDIwMTcgMjoz NiBQTTxicj4KPGI+VG86PC9iPiA8YSBocmVmPSJtYWlsdG86c3Bka0BsaXN0cy4wMS5vcmciPnNw ZGtAbGlzdHMuMDEub3JnPC9hPjxicj4KPGI+U3ViamVjdDo8L2I+IFtTUERLXSBIZWxsb3dvcmxk IHByb2dyYW0gZmFpbHMgZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbi48bzpwPjwvbzpwPjwv cD4KPC9kaXY+CjwvZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSB3YXMgdGVzdGluZyB0aGUgaGVsbG93b3JsZCBwcm9n cmFtIG9uIHVidW50dSB3aXRoIE5WTWUgU1NEIGFuZCB0aGUgcHJvYmUoKSBpcyBmYWlsaW5nLiBQ bGVhc2UgbGV0IG1lIGtub3cgaWYgdGhpcyBpcyBhIGtub3duIHByb2JsZW0uCjxvOnA+PC9vOnA+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5MZXQgbWUga25vdyBpZiB0aGVyZSBpcyB3b3JrYXJv dW5kLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgcGVyZiBwcm9ncmFt IGRpZCBub3QgaGF2ZSBhbnkgcHJvYmxlbS4gPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPkkgaGF2ZSBhdHRhY2hlZCB0aGUgb3V0cHV0IGZvciBib3RoIHRlc3RzLjxvOnA+PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5sc3BjaXwgZ3JlcCBOb248bzpwPjwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+YWQ6MDAuMCBOb24tVm9sYXRpbGUgbWVtb3J5IGNv bnRyb2xsZXI6IFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28gTHRkIE5WTWUgU1NEIENvbnRyb2xsZXI8 L2I+IChyZXYgMDEpPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFlOjAwLjAg Tm9uLVZvbGF0aWxlIG1lbW9yeSBjb250cm9sbGVyOiBTYW1zdW5nIEVsZWN0cm9uaWNzIENvIEx0 ZCBOVk1lIFNTRCBDb250cm9sbGVyIChyZXYgMDEpPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPnVuYW1lIC1hPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkxp bnV4IHNqY2E1cmFkZXZjdDEzIDQuMTAuMC0zOC1nZW5lcmljICM0Mn4xNi4wNC4xLVVidW50dSBT TVAgVHVlIE9jdCAxMCAxNjozMjoyMCBVVEMgMjAxNyB4ODZfNjQgeDg2XzY0IHg4Nl82NCBHTlUv TGludXg8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4gaGVsbG93b3JsZCBv dXRwdXQ6PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BdHRhY2hl ZCB0byAwMDAwOmFkOjAwLjA8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VXNp bmcgY29udHJvbGxlciBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5ZQUZBMDAxNDgmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSB3aXRoIDEgbmFtZXNwYWNlcy48bzpwPjwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IE5hbWVzcGFjZSBJRDogMSBzaXplOiA0ODBH QjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5udm1lX2N0cmxyLmM6MTQ3NTpu dm1lX2N0cmxyX3Byb2Nlc3NfaW5pdDogKkVSUk9SKjogSW5pdGlhbGl6YXRpb24gdGltZWQgb3V0 IGluIHN0YXRlIDE8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+bnZtZV9jdHJs ci5jOiA1MjM6bnZtZV9jdHJscl9zaHV0ZG93bjogKkVSUk9SKjogZGlkIG5vdCBzaHV0ZG93biB3 aXRoaW4gNSBzZWNvbmRzPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNwZGtf bnZtZV9wcm9iZSgpIGZhaWxlZDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Mi4gcGVyZiBvdXRwdXQ6 PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnN1ZG8gLi9wZXJmIC1xIDEgLXMg NDA5NiAtdCAxMCAtdyByZWFkIC1yICZxdW90O3RydHlwZTpQQ0llIHRyYWRkcjowMDAwOmFkOjAw LjAmcXVvdDs8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+LS0tLS0tLS0tLS0t LS0tPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlN0YXJ0aW5nIERQREsgMTcu MDguMCBpbml0aWFsaXphdGlvbi4uLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5bIERQREsgRUFMIHBhcmFtZXRlcnM6IHBlcmYgLWMgMHgxIC0tZmlsZS1wcmVmaXg9c3Bka19w aWQ3NjQ3IF08bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RUFMOiBEZXRlY3Rl ZCAzMiBsY29yZShzKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5FQUw6IE5v IGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0I8bzpwPjwvbzpw PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QXR0YWNoZWQgdG8gTlZNZSBDb250cm9sbGVyIGF0 IDAwMDA6YWQ6MDAuMCBbMTQ0ZDphODAyXTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj5Bc3NvY2lhdGluZyBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5ZQUZBMDAxNDgmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSB3aXRoIGxjb3JlIDA8bzpwPjwvbzpwPjwvcD4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+SW5pdGlhbGl6YXRpb24gY29tcGxldGUuIExhdW5jaGluZyB3 b3JrZXJzLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TdGFydGluZyB0aHJl YWQgb24gY29yZSAwPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PG86cD48L286 cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtMYXRlbmN5KHVzKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5EZXZp Y2UgSW5mb3JtYXRpb24mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgOiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJT1BTJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IE1CL3MmbmJzcDsmbmJzcDsmbmJzcDsgQXZlcmFnZSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtaW4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbWF4PG86cD48L286cD48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPlNBTVNVTkcgTVpRV1Y0ODBIQ0dNIChTMVRSTllBRkEwMDE0OCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyApIGZyb20gY29yZSAwOiZuYnNwOyZuYnNwOyAxMzc3My41 MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA1My44MCZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyA3Mi41OSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA2MC4yMCZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAyNDMuODI8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT08bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VG90YWwmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg OiZuYnNwOyZuYnNwOyAxMzc3My41MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA1My44 MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA3Mi41OSZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyA2MC4yMCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyNDMuODI8bzpwPjwvbzpw PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPlRoYW5rcyBmb3IgeW91ciBoZWxwLDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj5TcmVlbmk8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjwvYm9keT4KPC9odG1s Pgo= --===============7758756060783161311==--