From mboxrd@z Thu Jan 1 00:00:00 1970 From: linqaingmin Subject: Re: about the memory paging Date: Wed, 15 Sep 2010 10:57:24 +0800 Message-ID: <000b01cb5481$b96c2da0$8550a60a@china.huawei.com> References: <000c01cb4aff$8c661f90$8550a60a@china.huawei.com> <001401cb4c0e$fe01b910$8550a60a@china.huawei.com> <789F9655DD1B8F43B48D77C5D30659732A365153@shsmsx501.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0773939242==" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Jiang, Yunhong" , Patrick Colp Cc: xen-devel@lists.xensource.com, "Li, Xin" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --===============0773939242== Content-type: multipart/alternative; boundary="Boundary_(ID_i6cbyEIA4qJxw5HhwQgpaA)" This is a multi-part message in MIME format. --Boundary_(ID_i6cbyEIA4qJxw5HhwQgpaA) Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7BIT Thanks , you are right the RIP of Linux guest is (XEN) RIP: 0060:[<00000000c03482d0>] with which we can use objdump to locate the instrucation is "mov %eax %cr3" I think that the EPT violation maybe cause by the next instruction of "mov %eax %cr3" the linux guest objdump result: c0347e32 : ........ c03482cb: 05 00 00 00 40 add $0x40000000,%eax c03482d0: 0f 22 d8 mov %eax,%cr3 c03482d3: 8b 45 cc mov -0x34(%ebp),%eax c03482d6: 8b b1 5c 01 00 00 mov 0x15c(%ecx),%esi lin ----- Original Message ----- From: Jiang, Yunhong To: linqaingmin ; Patrick Colp Cc: xen-devel@lists.xensource.com ; Li, Xin Sent: Tuesday, September 14, 2010 10:44 PM Subject: RE: [Xen-devel] about the memory paging Do you meet this issue on Linux guest also? Is your windows 2003 guest a PAE guest? If yes, can you check if it is a "mov cr3" instruction? You can either add a hook in xen hypervisor to dump the guest memory around the RIP (0x8088dc37), or connect to the guest through windbg with paging off, and disassmble it. I suspect it is because the page used as guest CR3 is paging out, and for PAE guest, that will cause a EPT violation with GLA_VALID bit cleared. And then in fact the hvm_hap_nested_page_fault() function is not called at all. The easist experiment is, remove the check for the GLA_VALID and see the result. CC Xin who knows EPT better than me. I didn't check log 2, so no idea of the reason. Thanks --jyh From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of linqaingmin Sent: Saturday, September 04, 2010 4:56 PM To: Patrick Colp Cc: xen-devel@lists.xensource.com Subject: Re: [Xen-devel] about the memory paging hi We run windows2003 HVM on xen4.0.1, The VM is 2048MB, 2 VCPU run command "xenpaging domID 260000" and want to paging 1024MB in xen. It causes two different crashes. 1) the first one the xm dmesg context is follow (XEN) vmx.c:2150:d6 EPT violation 0x1 (r--/---), gpa 0x0000007fbba020, mfn 0xffffffffff, type 10. (XEN) p2m-ept.c:533:d6 Walking EPT tables for domain 6 gfn 7fbba (XEN) p2m-ept.c:552:d6 epte 435b38007 (XEN) p2m-ept.c:552:d6 epte 4395b3007 (XEN) p2m-ept.c:552:d6 epte 433f7f007 (XEN) p2m-ept.c:552:d6 epte ffffffffffa00 (XEN) domain_crash called from vmx.c:2160 (XEN) Domain 6 (vcpu#1) crashed on cpu#14: (XEN) ----[ Xen-4.0.1 x86_64 debug=n Not tainted ]---- (XEN) CPU: 14 (XEN) RIP: 0008:[<000000008088dc37>] (XEN) RFLAGS: 0000000000010246 CONTEXT: hvm guest (XEN) rax: 000000007fbba020 rbx: 00000000f7727000 rcx: 0000000000000000 (XEN) rdx: 0000000080010031 rsi: 000000008996a418 rdi: 00000000f772a090 (XEN) rbp: 0000000089d88648 rsp: 00000000baf2ace0 r8: 0000000000000000 (XEN) r9: 0000000000000000 r10: 0000000000000000 r11: 0000000000000000 (XEN) r12: 0000000000000000 r13: 0000000000000000 r14: 0000000000000000 (XEN) r15: 0000000000000000 cr0: 000000008001003b cr4: 00000000000006f9 (XEN) cr3: 0000000000790000 cr2: 00000000c3cfb008 (XEN) ds: 0023 es: 0023 fs: 0030 gs: 0000 ss: 0010 cs: 0008 this is the guest linear-address field is invalid. GLA ; 0x7fbba020 2) another crash is the qemu-dm Segmentation fault , the "s" parameter is NULL log is following : Program terminated with signal 11, Segmentation fault. #0 0x00000000004451d2 in ide_read_dma_cb (opaque=0xb79028, ret=0) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/hw/ide.c:1232 1232 if (!s->bs) return; /* ouch! (see ide_flush_cb) */ (gdb) bt #0 0x00000000004451d2 in ide_read_dma_cb (opaque=0xb79028, ret=0) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/hw/ide.c:1232 #1 0x000000000041745d in dma_bdrv_cb (opaque=0xbbb1f0, ret=0) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/dma-helpers.c:97 #2 0x00000000004172f2 in reschedule_dma (opaque=0xbbb1f0) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/dma-helpers.c:63 #3 0x000000000040c48a in qemu_bh_poll () at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/vl.c:3427 #4 0x000000000040cfe2 in main_loop_wait (timeout=10) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/vl.c:3831 #5 0x00000000004c2daf in main_loop () at helper2.c:577 #6 0x000000000041056e in main (argc=28, argv=0x7fff9eeee288, envp=0x7fff9eeee370) at /home/Lucifer/xen-4.0.1/tools/ioemu-dir/vl.c:6153 (gdb) When the Guest OS have install PV Driver. only first crash lin ----- Original Message ----- From: Patrick Colp To: linqaingmin Cc: xen-devel@lists.xensource.com Sent: Friday, September 03, 2010 11:08 PM Subject: Re: [Xen-devel] about the memory paging Hi, Sorry, I'm not quite sure what you're asking and/or if you ran into a problem? Are you just asking how the xenpaging mechanism works? Patrick 2010/9/2 linqaingmin : > hi all > > Generate ept entry violation into function of ept_handle_violation . > > then call function of hvm_hap_nested_page_fault,this judge page type into > p2m_mem_paging_populate(); > > Here the event to notify the user space "xenpaging" process to paging in, > but not Complete the page in on the next step Instruction; > > i thrink p2m_mem_paging_populate --> > p2m_mem_paging_prep-->p2m_mem_paging_resume ,Complete the process before you > start the implementation of the above. > > Is that right? > > tkx > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > > --Boundary_(ID_i6cbyEIA4qJxw5HhwQgpaA) Content-type: text/html; charset=utf-8 Content-transfer-encoding: base64 77u/PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9u YWwvL0VOIj4NCjxIVE1MIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIiB4 bWxuczp2ID0gDQoidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm8gPSANCiJ1 cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiIHhtbG5zOncgPSANCiJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptID0gDQoiaHR0cDovL3Nj aGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIj48SEVBRD4NCjxNRVRBIGh0 dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+ DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4wMC42MDAwLjE3MDYzIiBuYW1lPUdFTkVSQVRPUj4N CjxTVFlMRT5AZm9udC1mYWNlIHsNCglmb250LWZhbWlseTog5a6L5L2TOw0KfQ0KQGZvbnQtZmFj ZSB7DQoJZm9udC1mYW1pbHk6IENhbWJyaWEgTWF0aDsNCn0NCkBmb250LWZhY2Ugew0KCWZvbnQt ZmFtaWx5OiBDYWxpYnJpOw0KfQ0KQGZvbnQtZmFjZSB7DQoJZm9udC1mYW1pbHk6IFRhaG9tYTsN Cn0NCkBmb250LWZhY2Ugew0KCWZvbnQtZmFtaWx5OiBA5a6L5L2TOw0KfQ0KQHBhZ2UgV29yZFNl Y3Rpb24xIHtzaXplOiA2MTIuMHB0IDc5Mi4wcHQ7IG1hcmdpbjogNzIuMHB0IDkwLjBwdCA3Mi4w cHQgOTAuMHB0OyB9DQpQLk1zb05vcm1hbCB7DQoJRk9OVC1TSVpFOiAxMnB0OyBNQVJHSU46IDBj bSAwY20gMHB0OyBGT05ULUZBTUlMWTog5a6L5L2TDQp9DQpMSS5Nc29Ob3JtYWwgew0KCUZPTlQt U0laRTogMTJwdDsgTUFSR0lOOiAwY20gMGNtIDBwdDsgRk9OVC1GQU1JTFk6IOWui+S9kw0KfQ0K RElWLk1zb05vcm1hbCB7DQoJRk9OVC1TSVpFOiAxMnB0OyBNQVJHSU46IDBjbSAwY20gMHB0OyBG T05ULUZBTUlMWTog5a6L5L2TDQp9DQpBOmxpbmsgew0KCUNPTE9SOiBibHVlOyBURVhULURFQ09S QVRJT046IHVuZGVybGluZTsgbXNvLXN0eWxlLXByaW9yaXR5OiA5OQ0KfQ0KU1BBTi5Nc29IeXBl cmxpbmsgew0KCUNPTE9SOiBibHVlOyBURVhULURFQ09SQVRJT046IHVuZGVybGluZTsgbXNvLXN0 eWxlLXByaW9yaXR5OiA5OQ0KfQ0KQTp2aXNpdGVkIHsNCglDT0xPUjogcHVycGxlOyBURVhULURF Q09SQVRJT046IHVuZGVybGluZTsgbXNvLXN0eWxlLXByaW9yaXR5OiA5OQ0KfQ0KU1BBTi5Nc29I eXBlcmxpbmtGb2xsb3dlZCB7DQoJQ09MT1I6IHB1cnBsZTsgVEVYVC1ERUNPUkFUSU9OOiB1bmRl cmxpbmU7IG1zby1zdHlsZS1wcmlvcml0eTogOTkNCn0NClNQQU4uRW1haWxTdHlsZTE3IHsNCglD T0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6ICJDYWxpYnJpIiwic2Fucy1zZXJpZiI7IG1zby1z dHlsZS10eXBlOiBwZXJzb25hbC1yZXBseQ0KfQ0KLk1zb0NocERlZmF1bHQgew0KCUZPTlQtU0la RTogMTBwdDsgbXNvLXN0eWxlLXR5cGU6IGV4cG9ydC1vbmx5DQp9DQpESVYuV29yZFNlY3Rpb24x IHsNCglwYWdlOiBXb3JkU2VjdGlvbjENCn0NCjwvU1RZTEU+DQo8IS0tW2lmIGd0ZSBtc28gOV0+ PHhtbD4NCiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0K PC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPG86c2hhcGVsYXlv dXQgdjpleHQ9ImVkaXQiPg0KICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCiA8 L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+PC9IRUFEPg0KPEJPRFkgbGFuZz1aSC1D TiB2TGluaz1wdXJwbGUgbGluaz1ibHVlIGJnQ29sb3I9d2hpdGU+DQo8RElWPjxGT05UIGZhY2U9 5a6L5L2TIHNpemU9Mj5UaGFua3MgLCB5b3UgYXJlIHJpZ2h0PC9GT05UPjwvRElWPg0KPERJVj48 Rk9OVCBmYWNlPeWui+S9kyBzaXplPTI+PC9GT05UPiZuYnNwOzwvRElWPg0KPERJVj48Rk9OVCBm YWNlPeWui+S9kyBzaXplPTI+dGhlIFJJUCZuYnNwO29mIExpbnV4IGd1ZXN0Jm5ic3A7aXMmbmJz cDsoWEVOKSANClJJUDombmJzcDsmbmJzcDsmbmJzcDsgMDA2MDpbJmx0OzAwMDAwMDAwYzAzNDgy ZDAmZ3Q7XTwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwvRk9O VD4mbmJzcDs8L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPndpdGggd2hpY2gg d2UgY2FuIHVzZSZuYnNwO29iamR1bXAgdG8gbG9jYXRlIHRoZSANCmluc3RydWNhdGlvbiBpcyAi bW92ICVlYXggJWNyMyI8L0ZPTlQ+PC9ESVY+DQo8RElWPjxGT05UIGZhY2U95a6L5L2TIHNpemU9 Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05UIGZhY2U95a6L5L2TIHNpemU9Mj5JIHRo aW5rJm5ic3A7dGhhdCB0aGUmbmJzcDtFUFQgdmlvbGF0aW9uIG1heWJlIGNhdXNlIA0KYnkmbmJz cDt0aGUmbmJzcDtuZXh0IGluc3RydWN0aW9uIG9mICJtb3YgJWVheCAlY3IzIjwvRk9OVD48L0RJ Vj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxE SVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxESVY+PEZP TlQgZmFjZT3lrovkvZMgc2l6ZT0yPnRoZSBsaW51eCBndWVzdCBvYmpkdW1wIHJlc3VsdDo8L0ZP TlQ+PC9ESVY+DQo8RElWPjxGT05UIGZhY2U95a6L5L2TIHNpemU9Mj5jMDM0N2UzMiAmbHQ7c2No ZWR1bGUmZ3Q7OjwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwv Rk9OVD4mbmJzcDs8L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPiZuYnNwOyZu YnNwOyZuYnNwOyAuLi4uLi4uLjwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMg c2l6ZT0yPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0y PmMwMzQ4MmNiOiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAwNSAwMCAwMCAN CjAwIDQwJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IA0KYWRkJm5ic3A7Jm5ic3A7Jm5ic3A7IA0KJDB4NDAwMDAwMDAsJWVheDxCUj5jMDM0ODJk MDombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMGYgMjIgDQpkOCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyANCm1vdiZuYnNwOyZuYnNwOyZuYnNwOyAlZWF4LCVj cjM8QlI+YzAzNDgyZDM6Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IA0KOGIg NDUgDQpjYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyANCm1vdiZuYnNwOyZuYnNw OyZuYnNwOyANCi0weDM0KCVlYnApLCVlYXg8QlI+YzAzNDgyZDY6Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IDhiIGIxIDVjIDAxIDAwIA0KMDAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgbW92Jm5ic3A7Jm5ic3A7Jm5ic3A7IA0KMHgxNWMoJWVjeCksJWVz aTwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwvRk9OVD4mbmJz cDs8L0RJVj4NCjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPmxpbjwvRk9OVD48L0RJVj4N CjxESVY+PEZPTlQgZmFjZT3lrovkvZMgc2l6ZT0yPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxCTE9D S1FVT1RFIGRpcj1sdHIgDQpzdHlsZT0iUEFERElORy1SSUdIVDogMHB4OyBQQURESU5HLUxFRlQ6 IDVweDsgTUFSR0lOLUxFRlQ6IDVweDsgQk9SREVSLUxFRlQ6ICMwMDAwMDAgMnB4IHNvbGlkOyBN QVJHSU4tUklHSFQ6IDBweCI+DQogIDxESVYgc3R5bGU9IkZPTlQ6IDlwdCDlrovkvZMiPi0tLS0t IE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gPC9ESVY+DQogIDxESVYgc3R5bGU9IkJBQ0tHUk9VTkQ6 ICNlNGU0ZTQ7IEZPTlQ6IDlwdCDlrovkvZM7IGZvbnQtY29sb3I6IGJsYWNrIj48Qj5Gcm9tOjwv Qj4gDQogIDxBIHRpdGxlPXl1bmhvbmcuamlhbmdAaW50ZWwuY29tIGhyZWY9Im1haWx0bzp5dW5o b25nLmppYW5nQGludGVsLmNvbSI+SmlhbmcsIA0KICBZdW5ob25nPC9BPiA8L0RJVj4NCiAgPERJ ViBzdHlsZT0iRk9OVDogOXB0IOWui+S9kyI+PEI+VG86PC9CPiA8QSB0aXRsZT1saW5xaWFuZ21p bkBodWF3ZWkuY29tIA0KICBocmVmPSJtYWlsdG86bGlucWlhbmdtaW5AaHVhd2VpLmNvbSI+bGlu cWFpbmdtaW48L0E+IDsgPEEgDQogIHRpdGxlPXBqY29scEBjcy51YmMuY2EgaHJlZj0ibWFpbHRv OnBqY29scEBjcy51YmMuY2EiPlBhdHJpY2sgQ29scDwvQT4gPC9ESVY+DQogIDxESVYgc3R5bGU9 IkZPTlQ6IDlwdCDlrovkvZMiPjxCPkNjOjwvQj4gPEEgdGl0bGU9eGVuLWRldmVsQGxpc3RzLnhl bnNvdXJjZS5jb20gDQogIGhyZWY9Im1haWx0bzp4ZW4tZGV2ZWxAbGlzdHMueGVuc291cmNlLmNv bSI+eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb208L0E+IA0KICA7IDxBIHRpdGxlPXhpbi5s aUBpbnRlbC5jb20gaHJlZj0ibWFpbHRvOnhpbi5saUBpbnRlbC5jb20iPkxpLCBYaW48L0E+IDwv RElWPg0KICA8RElWIHN0eWxlPSJGT05UOiA5cHQg5a6L5L2TIj48Qj5TZW50OjwvQj4gVHVlc2Rh eSwgU2VwdGVtYmVyIDE0LCAyMDEwIDEwOjQ0IA0KICBQTTwvRElWPg0KICA8RElWIHN0eWxlPSJG T05UOiA5cHQg5a6L5L2TIj48Qj5TdWJqZWN0OjwvQj4gUkU6IFtYZW4tZGV2ZWxdIGFib3V0IHRo ZSBtZW1vcnkgDQogIHBhZ2luZzwvRElWPg0KICA8RElWPjxCUj48L0RJVj4NCiAgPERJViBjbGFz cz1Xb3JkU2VjdGlvbjE+DQogIDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0K ICBzdHlsZT0iRk9OVC1TSVpFOiAxMC41cHQ7IENPTE9SOiAjMWY0OTdkOyBGT05ULUZBTUlMWTog J0NhbGlicmknLCdzYW5zLXNlcmlmJyI+RG8gDQogIHlvdSBtZWV0IHRoaXMgaXNzdWUgb24gTGlu dXggZ3Vlc3QgYWxzbz88bzpwPjwvbzpwPjwvU1BBTj48L1A+DQogIDxQIGNsYXNzPU1zb05vcm1h bD48U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpFOiAxMC41cHQ7IENPTE9SOiAj MWY0OTdkOyBGT05ULUZBTUlMWTogJ0NhbGlicmknLCdzYW5zLXNlcmlmJyI+PG86cD4mbmJzcDs8 L286cD48L1NQQU4+PC9QPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyAN CiAgc3R5bGU9IkZPTlQtU0laRTogMTAuNXB0OyBDT0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6 ICdDYWxpYnJpJywnc2Fucy1zZXJpZiciPklzIA0KICB5b3VyIHdpbmRvd3MgMjAwMyBndWVzdCBh IFBBRSBndWVzdD8gSWYgeWVzLCBjYW4geW91IGNoZWNrIGlmIGl0IGlzIGEgIm1vdiANCiAgY3Iz IiBpbnN0cnVjdGlvbj8gWW91IGNhbiBlaXRoZXIgYWRkIGEgaG9vayBpbiB4ZW4gaHlwZXJ2aXNv ciB0byBkdW1wIHRoZSANCiAgZ3Vlc3QgbWVtb3J5IGFyb3VuZCB0aGUgUklQICgweDgwODhkYzM3 KSwgb3IgY29ubmVjdCB0byB0aGUgZ3Vlc3QgdGhyb3VnaCANCiAgd2luZGJnIHdpdGggcGFnaW5n IG9mZiwgYW5kIGRpc2Fzc21ibGUgaXQuPG86cD48L286cD48L1NQQU4+PC9QPg0KICA8UCBjbGFz cz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyANCiAgc3R5bGU9IkZPTlQtU0laRTogMTAuNXB0 OyBDT0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6ICdDYWxpYnJpJywnc2Fucy1zZXJpZiciPjxv OnA+Jm5ic3A7PC9vOnA+PC9TUEFOPjwvUD4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxh bmc9RU4tVVMgDQogIHN0eWxlPSJGT05ULVNJWkU6IDEwLjVwdDsgQ09MT1I6ICMxZjQ5N2Q7IEZP TlQtRkFNSUxZOiAnQ2FsaWJyaScsJ3NhbnMtc2VyaWYnIj5JIA0KICBzdXNwZWN0IGl0IGlzIGJl Y2F1c2UgdGhlIHBhZ2UgdXNlZCBhcyBndWVzdCBDUjMgaXMgcGFnaW5nIG91dCwgYW5kIGZvciBQ QUUgDQogIGd1ZXN0LCB0aGF0IHdpbGwgY2F1c2UgYSBFUFQgdmlvbGF0aW9uIHdpdGggR0xBX1ZB TElEIGJpdCBjbGVhcmVkLiBBbmQgdGhlbiBpbiANCiAgZmFjdCB0aGUgaHZtX2hhcF9uZXN0ZWRf cGFnZV9mYXVsdCgpIGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQgYXQgDQogIGFsbC48bzpwPjwvbzpw PjwvU1BBTj48L1A+DQogIDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0KICBz dHlsZT0iRk9OVC1TSVpFOiAxMC41cHQ7IENPTE9SOiAjMWY0OTdkOyBGT05ULUZBTUlMWTogJ0Nh bGlicmknLCdzYW5zLXNlcmlmJyI+PG86cD4mbmJzcDs8L286cD48L1NQQU4+PC9QPg0KICA8UCBj bGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyANCiAgc3R5bGU9IkZPTlQtU0laRTogMTAu NXB0OyBDT0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6ICdDYWxpYnJpJywnc2Fucy1zZXJpZici PlRoZSANCiAgZWFzaXN0IGV4cGVyaW1lbnQgaXMsIHJlbW92ZSB0aGUgY2hlY2sgZm9yIHRoZSBH TEFfVkFMSUQgYW5kIHNlZSB0aGUgDQogIHJlc3VsdC48bzpwPjwvbzpwPjwvU1BBTj48L1A+DQog IDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpF OiAxMC41cHQ7IENPTE9SOiAjMWY0OTdkOyBGT05ULUZBTUlMWTogJ0NhbGlicmknLCdzYW5zLXNl cmlmJyI+PG86cD4mbmJzcDs8L286cD48L1NQQU4+PC9QPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+ PFNQQU4gbGFuZz1FTi1VUyANCiAgc3R5bGU9IkZPTlQtU0laRTogMTAuNXB0OyBDT0xPUjogIzFm NDk3ZDsgRk9OVC1GQU1JTFk6ICdDYWxpYnJpJywnc2Fucy1zZXJpZiciPkNDIA0KICBYaW4gd2hv IGtub3dzIEVQVCBiZXR0ZXIgdGhhbiBtZS48bzpwPjwvbzpwPjwvU1BBTj48L1A+DQogIDxQIGNs YXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpFOiAxMC41 cHQ7IENPTE9SOiAjMWY0OTdkOyBGT05ULUZBTUlMWTogJ0NhbGlicmknLCdzYW5zLXNlcmlmJyI+ PG86cD4mbmJzcDs8L286cD48L1NQQU4+PC9QPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4g bGFuZz1FTi1VUyANCiAgc3R5bGU9IkZPTlQtU0laRTogMTAuNXB0OyBDT0xPUjogIzFmNDk3ZDsg Rk9OVC1GQU1JTFk6ICdDYWxpYnJpJywnc2Fucy1zZXJpZiciPkkgDQogIGRpZG4ndCBjaGVjayBs b2cgMiwgc28gbm8gaWRlYSBvZiB0aGUgcmVhc29uLjxvOnA+PC9vOnA+PC9TUEFOPjwvUD4NCiAg PFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgDQogIHN0eWxlPSJGT05ULVNJWkU6 IDEwLjVwdDsgQ09MT1I6ICMxZjQ5N2Q7IEZPTlQtRkFNSUxZOiAnQ2FsaWJyaScsJ3NhbnMtc2Vy aWYnIj48bzpwPiZuYnNwOzwvbzpwPjwvU1BBTj48L1A+DQogIDxQIGNsYXNzPU1zb05vcm1hbD48 U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpFOiAxMC41cHQ7IENPTE9SOiAjMWY0 OTdkOyBGT05ULUZBTUlMWTogJ0NhbGlicmknLCdzYW5zLXNlcmlmJyI+VGhhbmtzPG86cD48L286 cD48L1NQQU4+PC9QPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyANCiAg c3R5bGU9IkZPTlQtU0laRTogMTAuNXB0OyBDT0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6ICdD YWxpYnJpJywnc2Fucy1zZXJpZiciPi0tanloPG86cD48L286cD48L1NQQU4+PC9QPg0KICA8UCBj bGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyANCiAgc3R5bGU9IkZPTlQtU0laRTogMTAu NXB0OyBDT0xPUjogIzFmNDk3ZDsgRk9OVC1GQU1JTFk6ICdDYWxpYnJpJywnc2Fucy1zZXJpZici PjxvOnA+Jm5ic3A7PC9vOnA+PC9TUEFOPjwvUD4NCiAgPERJViANCiAgc3R5bGU9IkJPUkRFUi1S SUdIVDogbWVkaXVtIG5vbmU7IFBBRERJTkctUklHSFQ6IDBjbTsgQk9SREVSLVRPUDogbWVkaXVt IG5vbmU7IFBBRERJTkctTEVGVDogNHB0OyBQQURESU5HLUJPVFRPTTogMGNtOyBCT1JERVItTEVG VDogYmx1ZSAxLjVwdCBzb2xpZDsgUEFERElORy1UT1A6IDBjbTsgQk9SREVSLUJPVFRPTTogbWVk aXVtIG5vbmUiPg0KICA8RElWPg0KICA8RElWIA0KICBzdHlsZT0iQk9SREVSLVJJR0hUOiBtZWRp dW0gbm9uZTsgUEFERElORy1SSUdIVDogMGNtOyBCT1JERVItVE9QOiAjYjVjNGRmIDFwdCBzb2xp ZDsgUEFERElORy1MRUZUOiAwY207IFBBRERJTkctQk9UVE9NOiAwY207IEJPUkRFUi1MRUZUOiBt ZWRpdW0gbm9uZTsgUEFERElORy1UT1A6IDNwdDsgQk9SREVSLUJPVFRPTTogbWVkaXVtIG5vbmUi Pg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PEI+PFNQQU4gbGFuZz1FTi1VUyANCiAgc3R5bGU9IkZP TlQtU0laRTogMTBwdDsgRk9OVC1GQU1JTFk6ICdUYWhvbWEnLCdzYW5zLXNlcmlmJyI+RnJvbTo8 L1NQQU4+PC9CPjxTUEFOIA0KICBsYW5nPUVOLVVTIHN0eWxlPSJGT05ULVNJWkU6IDEwcHQ7IEZP TlQtRkFNSUxZOiAnVGFob21hJywnc2Fucy1zZXJpZiciPiANCiAgeGVuLWRldmVsLWJvdW5jZXNA bGlzdHMueGVuc291cmNlLmNvbSANCiAgW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54 ZW5zb3VyY2UuY29tXSA8Qj5PbiBCZWhhbGYgT2YgDQogIDwvQj5saW5xYWluZ21pbjxCUj48Qj5T ZW50OjwvQj4gU2F0dXJkYXksIFNlcHRlbWJlciAwNCwgMjAxMCA0OjU2IA0KICBQTTxCUj48Qj5U bzo8L0I+IFBhdHJpY2sgQ29scDxCUj48Qj5DYzo8L0I+IA0KICB4ZW4tZGV2ZWxAbGlzdHMueGVu c291cmNlLmNvbTxCUj48Qj5TdWJqZWN0OjwvQj4gUmU6IFtYZW4tZGV2ZWxdIGFib3V0IHRoZSAN CiAgbWVtb3J5IHBhZ2luZzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj48L0RJVj4NCiAgPFAg Y2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVM+PG86cD4mbmJzcDs8L286cD48L1NQQU4+ PC9QPg0KICA8RElWPg0KICA8RElWPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1F Ti1VUyBzdHlsZT0iRk9OVC1TSVpFOiAxMHB0Ij5oaTwvU1BBTj48U1BBTiANCiAgbGFuZz1FTi1V Uz48bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNsYXNzPU1zb05v cm1hbD48U1BBTiBsYW5nPUVOLVVTPiZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4N CiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgc3R5bGU9IkZP TlQtU0laRTogMTBwdCI+V2UgcnVuIHdpbmRvd3MyMDAzIA0KICBIVk0gb24geGVuNC4wLjEsIFRo ZSBWTSBpcyAyMDQ4TUIsIDIgVkNQVSA8L1NQQU4+PFNQQU4gDQogIGxhbmc9RU4tVVM+PG86cD48 L286cD48L1NQQU4+PC9QPjwvRElWPg0KICA8RElWPg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQ QU4gbGFuZz1FTi1VUz4mbmJzcDs8bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+ DQogIDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIHN0eWxlPSJGT05ULVNJWkU6 IDEwcHQiPnJ1biBjb21tYW5kIA0KICAieGVucGFnaW5nIGRvbUlEIDI2MDAwMCIgYW5kIHdhbnQg dG8gcGFnaW5nIDEwMjRNQiBpbiB4ZW4uPC9TUEFOPjxTUEFOIA0KICBsYW5nPUVOLVVTPjxvOnA+ PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxT UEFOIGxhbmc9RU4tVVM+Jm5ic3A7PG86cD48L286cD48L1NQQU4+PC9QPjwvRElWPg0KICA8RElW Pg0KICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1FTi1VUyBzdHlsZT0iRk9OVC1TSVpF OiAxMHB0Ij5JdCBjYXVzZXMgdHdvIA0KICBkaWZmZXJlbnQgY3Jhc2hlcy48L1NQQU4+PFNQQU4g bGFuZz1FTi1VUz48bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNs YXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTPiZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwv UD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMg c3R5bGU9IkZPTlQtU0laRTogMTBwdCI+MSkgdGhlIGZpcnN0IG9uZSANCiAgPEJSPnRoZSB4bSBk bWVzZyBjb250ZXh0IGlzIGZvbGxvdzwvU1BBTj48U1BBTiANCiAgbGFuZz1FTi1VUz48bzpwPjwv bzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNsYXNzPU1zb05vcm1hbD48U1BB TiBsYW5nPUVOLVVTPiZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4N CiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgc3R5bGU9IkZPTlQtU0laRTog MTBwdCI+KFhFTikgDQogIHZteC5jOjIxNTA6ZDYgRVBUIHZpb2xhdGlvbiAweDEgKHItLS8tLS0p LCBncGEgMHgwMDAwMDA3ZmJiYTAyMCwgbWZuIA0KICAweGZmZmZmZmZmZmYsIHR5cGUgMTAuPEJS PihYRU4pIHAybS1lcHQuYzo1MzM6ZDYgV2Fsa2luZyBFUFQgdGFibGVzIGZvciBkb21haW4gDQog IDYgZ2ZuIDdmYmJhPEJSPihYRU4pIHAybS1lcHQuYzo1NTI6ZDYmbmJzcDsgZXB0ZSA0MzViMzgw MDc8QlI+KFhFTikgDQogIHAybS1lcHQuYzo1NTI6ZDYmbmJzcDsgZXB0ZSA0Mzk1YjMwMDc8QlI+ KFhFTikgcDJtLWVwdC5jOjU1MjpkNiZuYnNwOyBlcHRlIA0KICA0MzNmN2YwMDc8QlI+KFhFTikg cDJtLWVwdC5jOjU1MjpkNiZuYnNwOyBlcHRlIGZmZmZmZmZmZmZhMDA8QlI+KFhFTikgDQogIGRv bWFpbl9jcmFzaCBjYWxsZWQgZnJvbSB2bXguYzoyMTYwPEJSPihYRU4pIERvbWFpbiA2ICh2Y3B1 IzEpIGNyYXNoZWQgb24gDQogIGNwdSMxNDo8QlI+KFhFTikgLS0tLVsgWGVuLTQuMC4xJm5ic3A7 IHg4Nl82NCZuYnNwOyBkZWJ1Zz1uJm5ic3A7IE5vdCB0YWludGVkIA0KICBdLS0tLTxCUj4oWEVO KSBDUFU6Jm5ic3A7Jm5ic3A7Jm5ic3A7IDE0PEJSPihYRU4pIFJJUDombmJzcDsmbmJzcDsmbmJz cDsgDQogIDAwMDg6WyZsdDswMDAwMDAwMDgwODhkYzM3Jmd0O108QlI+KFhFTikgUkZMQUdTOiAw MDAwMDAwMDAwMDEwMjQ2Jm5ic3A7Jm5ic3A7IA0KICBDT05URVhUOiBodm0gZ3Vlc3Q8QlI+KFhF TikgcmF4OiAwMDAwMDAwMDdmYmJhMDIwJm5ic3A7Jm5ic3A7IHJieDogDQogIDAwMDAwMDAwZjc3 MjcwMDAmbmJzcDsmbmJzcDsgcmN4OiAwMDAwMDAwMDAwMDAwMDAwPEJSPihYRU4pIHJkeDogDQog IDAwMDAwMDAwODAwMTAwMzEmbmJzcDsmbmJzcDsgcnNpOiAwMDAwMDAwMDg5OTZhNDE4Jm5ic3A7 Jm5ic3A7IHJkaTogDQogIDAwMDAwMDAwZjc3MmEwOTA8QlI+KFhFTikgcmJwOiAwMDAwMDAwMDg5 ZDg4NjQ4Jm5ic3A7Jm5ic3A7IHJzcDogDQogIDAwMDAwMDAwYmFmMmFjZTAmbmJzcDsmbmJzcDsg cjg6Jm5ic3A7IDAwMDAwMDAwMDAwMDAwMDA8QlI+KFhFTikgcjk6Jm5ic3A7IA0KICAwMDAwMDAw MDAwMDAwMDAwJm5ic3A7Jm5ic3A7IHIxMDogMDAwMDAwMDAwMDAwMDAwMCZuYnNwOyZuYnNwOyBy MTE6IA0KICAwMDAwMDAwMDAwMDAwMDAwPEJSPihYRU4pIHIxMjogMDAwMDAwMDAwMDAwMDAwMCZu YnNwOyZuYnNwOyByMTM6IA0KICAwMDAwMDAwMDAwMDAwMDAwJm5ic3A7Jm5ic3A7IHIxNDogMDAw MDAwMDAwMDAwMDAwMDxCUj4oWEVOKSByMTU6IA0KICAwMDAwMDAwMDAwMDAwMDAwJm5ic3A7Jm5i c3A7IGNyMDogMDAwMDAwMDA4MDAxMDAzYiZuYnNwOyZuYnNwOyBjcjQ6IA0KICAwMDAwMDAwMDAw MDAwNmY5PEJSPihYRU4pIGNyMzogMDAwMDAwMDAwMDc5MDAwMCZuYnNwOyZuYnNwOyBjcjI6IA0K ICAwMDAwMDAwMGMzY2ZiMDA4PEJSPihYRU4pIGRzOiAwMDIzJm5ic3A7Jm5ic3A7IGVzOiAwMDIz Jm5ic3A7Jm5ic3A7IGZzOiANCiAgMDAzMCZuYnNwOyZuYnNwOyBnczogMDAwMCZuYnNwOyZuYnNw OyBzczogMDAxMCZuYnNwOyZuYnNwOyBjczogDQogIDAwMDg8L1NQQU4+PFNQQU4gbGFuZz1FTi1V Uz48bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNsYXNzPU1zb05v cm1hbD48U1BBTiBsYW5nPUVOLVVTPiZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4N CiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgc3R5bGU9IkZP TlQtU0laRTogMTBwdCI+dGhpcyBpcyB0aGUgZ3Vlc3QgDQogIGxpbmVhci1hZGRyZXNzIGZpZWxk IGlzIGludmFsaWQuIEdMQSA7IDB4N2ZiYmEwMjA8L1NQQU4+PFNQQU4gDQogIGxhbmc9RU4tVVM+ PG86cD48L286cD48L1NQQU4+PC9QPjwvRElWPg0KICA8RElWPg0KICA8UCBjbGFzcz1Nc29Ob3Jt YWw+PFNQQU4gbGFuZz1FTi1VUz4mbmJzcDs8bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQog IDxESVY+DQogIDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIHN0eWxlPSJGT05U LVNJWkU6IDEwcHQiPjxCUj4yKSBhbm90aGVyIA0KICBjcmFzaCBpcyB0aGUgcWVtdS1kbSBTZWdt ZW50YXRpb24gZmF1bHQgLCB0aGUgInMiIHBhcmFtZXRlciBpcyANCiAgTlVMTDxvOnA+PC9vOnA+ PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxh bmc9RU4tVVMgDQogIHN0eWxlPSJGT05ULVNJWkU6IDEwcHQiPiZuYnNwOzxvOnA+PC9vOnA+PC9T UEFOPjwvUD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9 RU4tVVMgc3R5bGU9IkZPTlQtU0laRTogMTBwdCI+bG9nIGlzIGZvbGxvd2luZyANCiAgOjxvOnA+ PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxT UEFOIGxhbmc9RU4tVVMgDQogIHN0eWxlPSJGT05ULVNJWkU6IDEwcHQiPiZuYnNwOzxvOnA+PC9v OnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFO IGxhbmc9RU4tVVMgc3R5bGU9IkZPTlQtU0laRTogMTBwdCI+UHJvZ3JhbSB0ZXJtaW5hdGVkIA0K ICB3aXRoIHNpZ25hbCAxMSwgU2VnbWVudGF0aW9uIGZhdWx0LiZuYnNwOyZuYnNwOyZuYnNwOzxC Uj4jMCZuYnNwOyANCiAgMHgwMDAwMDAwMDAwNDQ1MWQyIGluIGlkZV9yZWFkX2RtYV9jYiAob3Bh cXVlPTB4Yjc5MDI4LCByZXQ9MCkgYXQgDQogIC9ob21lL0x1Y2lmZXIveGVuLTQuMC4xL3Rvb2xz L2lvZW11LWRpci9ody9pZGUuYzoxMjMyJm5ic3A7Jm5ic3A7Jm5ic3A7PEJSPjEyMzImbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgDQogIGlmICghcy0mZ3Q7YnMpIHJl dHVybjsgLyogb3VjaCEgKHNlZSBpZGVfZmx1c2hfY2IpIA0KICAqLyZuYnNwOzxCUj4mbmJzcDsm bmJzcDs8QlI+KGdkYikgYnQmbmJzcDsmbmJzcDsmbmJzcDs8QlI+IzAmbmJzcDsgDQogIDB4MDAw MDAwMDAwMDQ0NTFkMiBpbiBpZGVfcmVhZF9kbWFfY2IgKG9wYXF1ZT0weGI3OTAyOCwgcmV0PTAp IGF0IA0KICAvaG9tZS9MdWNpZmVyL3hlbi00LjAuMS90b29scy9pb2VtdS1kaXIvaHcvaWRlLmM6 MTIzMiZuYnNwOyZuYnNwOyZuYnNwOzxCUj4jMSZuYnNwOyANCiAgMHgwMDAwMDAwMDAwNDE3NDVk IGluIGRtYV9iZHJ2X2NiIChvcGFxdWU9MHhiYmIxZjAsIHJldD0wKSBhdCANCiAgL2hvbWUvTHVj aWZlci94ZW4tNC4wLjEvdG9vbHMvaW9lbXUtZGlyL2RtYS1oZWxwZXJzLmM6OTcmbmJzcDsmbmJz cDsmbmJzcDs8QlI+IzImbmJzcDsgDQogIDB4MDAwMDAwMDAwMDQxNzJmMiBpbiByZXNjaGVkdWxl X2RtYSAob3BhcXVlPTB4YmJiMWYwKSBhdCANCiAgL2hvbWUvTHVjaWZlci94ZW4tNC4wLjEvdG9v bHMvaW9lbXUtZGlyL2RtYS1oZWxwZXJzLmM6NjMmbmJzcDsmbmJzcDsmbmJzcDs8QlI+IzMmbmJz cDsgDQogIDB4MDAwMDAwMDAwMDQwYzQ4YSBpbiBxZW11X2JoX3BvbGwgKCkgYXQgDQogIC9ob21l L0x1Y2lmZXIveGVuLTQuMC4xL3Rvb2xzL2lvZW11LWRpci92bC5jOjM0MjcmbmJzcDsmbmJzcDsm bmJzcDs8QlI+IzQmbmJzcDsgDQogIDB4MDAwMDAwMDAwMDQwY2ZlMiBpbiBtYWluX2xvb3Bfd2Fp dCAodGltZW91dD0xMCkgYXQgDQogIC9ob21lL0x1Y2lmZXIveGVuLTQuMC4xL3Rvb2xzL2lvZW11 LWRpci92bC5jOjM4MzEmbmJzcDsmbmJzcDsmbmJzcDs8QlI+IzUmbmJzcDsgDQogIDB4MDAwMDAw MDAwMDRjMmRhZiBpbiBtYWluX2xvb3AgKCkgYXQgDQogIGhlbHBlcjIuYzo1NzcmbmJzcDsmbmJz cDsmbmJzcDs8QlI+IzYmbmJzcDsgMHgwMDAwMDAwMDAwNDEwNTZlIGluIG1haW4gDQogIChhcmdj PTI4LCBhcmd2PTB4N2ZmZjllZWVlMjg4LCBlbnZwPTB4N2ZmZjllZWVlMzcwKSBhdCANCiAgL2hv bWUvTHVjaWZlci94ZW4tNC4wLjEvdG9vbHMvaW9lbXUtZGlyL3ZsLmM6NjE1MyZuYnNwOyZuYnNw OyZuYnNwOzxCUj4oZ2RiKSZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJ Vj4NCiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgDQogIHN0eWxlPSJGT05U LVNJWkU6IDEwcHQiPiZuYnNwOzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgPERJVj4N CiAgPFAgY2xhc3M9TXNvTm9ybWFsPjxTUEFOIGxhbmc9RU4tVVMgc3R5bGU9IkZPTlQtU0laRTog MTBwdCI+V2hlbiB0aGUgR3Vlc3QgT1MgDQogIGhhdmUgaW5zdGFsbCBQViBEcml2ZXIuIG9ubHkg Zmlyc3QgY3Jhc2g8bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNs YXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpFOiAxMHB0 Ij4mbmJzcDs8bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogIDxESVY+DQogIDxQIGNsYXNz PU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIA0KICBzdHlsZT0iRk9OVC1TSVpFOiAxMHB0Ij5s aW48bzpwPjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+PC9ESVY+DQogIDxCTE9DS1FVT1RFIA0KICBz dHlsZT0iQk9SREVSLVJJR0hUOiBtZWRpdW0gbm9uZTsgUEFERElORy1SSUdIVDogMGNtOyBCT1JE RVItVE9QOiBtZWRpdW0gbm9uZTsgUEFERElORy1MRUZUOiA0cHQ7IFBBRERJTkctQk9UVE9NOiAw Y207IE1BUkdJTjogNXB0IDBjbSA1cHQgMy43NXB0OyBCT1JERVItTEVGVDogYmxhY2sgMS41cHQg c29saWQ7IFBBRERJTkctVE9QOiAwY207IEJPUkRFUi1CT1RUT006IG1lZGl1bSBub25lIj4NCiAg ICA8RElWPg0KICAgIDxQIGNsYXNzPU1zb05vcm1hbD48U1BBTiBsYW5nPUVOLVVTIHN0eWxlPSJG T05ULVNJWkU6IDlwdCI+LS0tLS0gT3JpZ2luYWwgDQogICAgTWVzc2FnZSAtLS0tLSA8bzpwPjwv bzpwPjwvU1BBTj48L1A+PC9ESVY+DQogICAgPERJVj4NCiAgICA8UCBjbGFzcz1Nc29Ob3JtYWwg c3R5bGU9IkJBQ0tHUk9VTkQ6ICNlNGU0ZTQiPjxCPjxTUEFOIGxhbmc9RU4tVVMgDQogICAgc3R5 bGU9IkZPTlQtU0laRTogOXB0Ij5Gcm9tOjwvU1BBTj48L0I+PFNQQU4gbGFuZz1FTi1VUyANCiAg ICBzdHlsZT0iRk9OVC1TSVpFOiA5cHQiPiA8QSB0aXRsZT1wamNvbHBAY3MudWJjLmNhIA0KICAg IGhyZWY9Im1haWx0bzpwamNvbHBAY3MudWJjLmNhIj5QYXRyaWNrIENvbHA8L0E+IDxvOnA+PC9v OnA+PC9TUEFOPjwvUD48L0RJVj4NCiAgICA8RElWPg0KICAgIDxQIGNsYXNzPU1zb05vcm1hbD48 Qj48U1BBTiBsYW5nPUVOLVVTIA0KICAgIHN0eWxlPSJGT05ULVNJWkU6IDlwdCI+VG86PC9TUEFO PjwvQj48U1BBTiBsYW5nPUVOLVVTIA0KICAgIHN0eWxlPSJGT05ULVNJWkU6IDlwdCI+IDxBIHRp dGxlPWxpbnFpYW5nbWluQGh1YXdlaS5jb20gDQogICAgaHJlZj0ibWFpbHRvOmxpbnFpYW5nbWlu QGh1YXdlaS5jb20iPmxpbnFhaW5nbWluPC9BPiANCiAgICA8bzpwPjwvbzpwPjwvU1BBTj48L1A+ PC9ESVY+DQogICAgPERJVj4NCiAgICA8UCBjbGFzcz1Nc29Ob3JtYWw+PEI+PFNQQU4gbGFuZz1F Ti1VUyANCiAgICBzdHlsZT0iRk9OVC1TSVpFOiA5cHQiPkNjOjwvU1BBTj48L0I+PFNQQU4gbGFu Zz1FTi1VUyANCiAgICBzdHlsZT0iRk9OVC1TSVpFOiA5cHQiPiA8QSB0aXRsZT14ZW4tZGV2ZWxA bGlzdHMueGVuc291cmNlLmNvbSANCiAgICBocmVmPSJtYWlsdG86eGVuLWRldmVsQGxpc3RzLnhl bnNvdXJjZS5jb20iPnhlbi1kZXZlbEBsaXN0cy54ZW5zb3VyY2UuY29tPC9BPiANCiAgICA8bzpw PjwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogICAgPERJVj4NCiAgICA8UCBjbGFzcz1Nc29Ob3Jt YWw+PEI+PFNQQU4gbGFuZz1FTi1VUyANCiAgICBzdHlsZT0iRk9OVC1TSVpFOiA5cHQiPlNlbnQ6 PC9TUEFOPjwvQj48U1BBTiBsYW5nPUVOLVVTIA0KICAgIHN0eWxlPSJGT05ULVNJWkU6IDlwdCI+ IEZyaWRheSwgU2VwdGVtYmVyIDAzLCAyMDEwIDExOjA4IA0KICAgIFBNPG86cD48L286cD48L1NQ QU4+PC9QPjwvRElWPg0KICAgIDxESVY+DQogICAgPFAgY2xhc3M9TXNvTm9ybWFsPjxCPjxTUEFO IGxhbmc9RU4tVVMgDQogICAgc3R5bGU9IkZPTlQtU0laRTogOXB0Ij5TdWJqZWN0OjwvU1BBTj48 L0I+PFNQQU4gbGFuZz1FTi1VUyANCiAgICBzdHlsZT0iRk9OVC1TSVpFOiA5cHQiPiBSZTogW1hl bi1kZXZlbF0gYWJvdXQgdGhlIG1lbW9yeSANCiAgICBwYWdpbmc8bzpwPjwvbzpwPjwvU1BBTj48 L1A+PC9ESVY+DQogICAgPERJVj4NCiAgICA8UCBjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gbGFuZz1F Ti1VUz48bzpwPiZuYnNwOzwvbzpwPjwvU1BBTj48L1A+PC9ESVY+DQogICAgPFAgY2xhc3M9TXNv Tm9ybWFsPjxTUEFOIGxhbmc9RU4tVVM+SGksPEJSPjxCUj5Tb3JyeSwgSSdtIG5vdCBxdWl0ZSBz dXJlIA0KICAgIHdoYXQgeW91J3JlIGFza2luZyBhbmQvb3IgaWYgeW91IHJhbiBpbnRvIGE8QlI+ cHJvYmxlbT8gQXJlIHlvdSBqdXN0IGFza2luZyANCiAgICBob3cgdGhlIHhlbnBhZ2luZyBtZWNo YW5pc20gd29ya3M/PEJSPjxCUj48QlI+UGF0cmljazxCUj48QlI+PEJSPjIwMTAvOS8yIA0KICAg IGxpbnFhaW5nbWluICZsdDs8QSANCiAgICBocmVmPSJtYWlsdG86bGlucWlhbmdtaW5AaHVhd2Vp LmNvbSI+bGlucWlhbmdtaW5AaHVhd2VpLmNvbTwvQT4mZ3Q7OjxCUj4mZ3Q7IA0KICAgIGhpIGFs bDxCUj4mZ3Q7PEJSPiZndDsgR2VuZXJhdGUgZXB0IGVudHJ5IHZpb2xhdGlvbiBpbnRvIGZ1bmN0 aW9uIG9mIA0KICAgIGVwdF9oYW5kbGVfdmlvbGF0aW9uIC48QlI+Jmd0OzxCUj4mZ3Q7IHRoZW4g Y2FsbCBmdW5jdGlvbiBvZiANCiAgICBodm1faGFwX25lc3RlZF9wYWdlX2ZhdWx0LHRoaXMganVk Z2UgcGFnZSB0eXBlIGludG88QlI+Jmd0OyANCiAgICBwMm1fbWVtX3BhZ2luZ19wb3B1bGF0ZSgp OzxCUj4mZ3Q7PEJSPiZndDsgSGVyZSB0aGUgZXZlbnQgdG8gbm90aWZ5IHRoZSB1c2VyIA0KICAg IHNwYWNlICJ4ZW5wYWdpbmciIHByb2Nlc3MgdG8gcGFnaW5nIGluLDxCUj4mZ3Q7IGJ1dCBub3Qg Q29tcGxldGUgdGhlIHBhZ2UgaW4gDQogICAgb24gdGhlIG5leHQgc3RlcCBJbnN0cnVjdGlvbjs8 QlI+Jmd0OzxCUj4mZ3Q7IGkgdGhyaW5rIA0KICAgIHAybV9tZW1fcGFnaW5nX3BvcHVsYXRlIC0t Jmd0OzxCUj4mZ3Q7IA0KICAgIHAybV9tZW1fcGFnaW5nX3ByZXAtLSZndDtwMm1fbWVtX3BhZ2lu Z19yZXN1bWUgLENvbXBsZXRlIHRoZSBwcm9jZXNzIGJlZm9yZSANCiAgICB5b3U8QlI+Jmd0OyBz dGFydCB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFib3ZlLjxCUj4mZ3Q7PEJSPiZndDsgSXMg dGhhdCANCiAgICByaWdodD88QlI+Jmd0OzxCUj4mZ3Q7IHRreDxCUj4mZ3Q7IA0KICAgIF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPEJSPiZndDsgWGVuLWRl dmVsIG1haWxpbmcgDQogICAgbGlzdDxCUj4mZ3Q7IDxBIA0KICAgIGhyZWY9Im1haWx0bzpYZW4t ZGV2ZWxAbGlzdHMueGVuc291cmNlLmNvbSI+WGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb208 L0E+PEJSPiZndDsgDQogICAgPEEgDQogICAgaHJlZj0iaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j b20veGVuLWRldmVsIj5odHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tZGV2ZWw8L0E+PEJS PiZndDs8QlI+Jmd0OzxvOnA+PC9vOnA+PC9TUEFOPjwvUD48L0JMT0NLUVVPVEU+PC9ESVY+PC9E SVY+PC9CTE9DS1FVT1RFPjwvQk9EWT48L0hUTUw+DQo= --Boundary_(ID_i6cbyEIA4qJxw5HhwQgpaA)-- --===============0773939242== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============0773939242==--