From owner-freebsd-acpi@FreeBSD.ORG Wed Feb 7 21:10:29 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C5AE516A401 for ; Wed, 7 Feb 2007 21:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 6F18213C49D for ; Wed, 7 Feb 2007 21:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l17LAT3P002695 for ; Wed, 7 Feb 2007 21:10:29 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l17LATeq002694; Wed, 7 Feb 2007 21:10:29 GMT (envelope-from gnats) Date: Wed, 7 Feb 2007 21:10:29 GMT Message-Id: <200702072110.l17LATeq002694@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: "Lars Stokholm" X-Mailman-Approved-At: Wed, 07 Feb 2007 21:12:49 +0000 Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Lars Stokholm List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Feb 2007 21:10:29 -0000 The following reply was made to PR kern/108581; it has been noted by GNATS. From: "Lars Stokholm" To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/108581: sysctl: hw.acpi.cpu.cx_lowest: Invalid argument Date: Wed, 7 Feb 2007 21:34:58 +0100 ------=_Part_11191_18960977.1170880498859 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I hope 'dmesg -a' was the right one, and I hope sending it as attachments works. They should be here... ------=_Part_11191_18960977.1170880498859 Content-Type: application/octet-stream; name=dmesg Content-Transfer-Encoding: base64 X-Attachment-Id: f_exw7z0ds Content-Disposition: attachment; filename="dmesg" Q29weXJpZ2h0IChjKSAxOTkyLTIwMDcgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA2LjItU1RBQkxFICMwOiBUaHUgRmViICAxIDIxOjE1 OjU3IENFVCAyMDA3CiAgICByb290QGxhcnMtZGVza3RvcDovdXNyL29iai91c3Ivc3JjL3N5cy9H RU5FUklDClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIgSHogcXVhbGl0eSAw CkNQVTogSW50ZWwoUikgUGVudGl1bShSKSA0IENQVSAzLjAwR0h6ICgyOTkyLjUxLU1IeiA2ODYt Y2xhc3MgQ1BVKQogIE9yaWdpbiA9ICJHZW51aW5lSW50ZWwiICBJZCA9IDB4ZjI5ICBTdGVwcGlu ZyA9IDkKICBGZWF0dXJlcz0weGJmZWJmYmZmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1IsUEFFLE1D RSxDWDgsQVBJQyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBTRTM2LENMRkxVU0gsRFRTLEFD UEksTU1YLEZYU1IsU1NFLFNTRTIsU1MsSFRULFRNLFBCRT4KICBGZWF0dXJlczI9MHg0NDAwPENO VFgtSUQsPGIxND4+CnJlYWwgbWVtb3J5ICA9IDUzNjgwNTM3NiAoNTExIE1CKQphdmFpbCBtZW1v cnkgPSA1MTU4ODMwMDggKDQ5MSBNQikKQUNQSSBBUElDIFRhYmxlOiA8SW50ZWxSIEFXUkRBQ1BJ Pgppb2FwaWMwIDxWZXJzaW9uIDIuMD4gaXJxcyAwLTIzIG9uIG1vdGhlcmJvYXJkCmtiZDEgYXQg a2JkbXV4MAphdGhfaGFsOiAwLjkuMjAuMyAoQVI1MjEwLCBBUjUyMTEsIEFSNTIxMiwgUkY1MTEx LCBSRjUxMTIsIFJGMjQxMywgUkY1NDEzKQphY3BpMDogPEludGVsUiBBV1JEQUNQST4gb24gbW90 aGVyYm9hcmQKYWNwaTA6IFBvd2VyIEJ1dHRvbiAoZml4ZWQpClRpbWVjb3VudGVyICJBQ1BJLWZh c3QiIGZyZXF1ZW5jeSAzNTc5NTQ1IEh6IHF1YWxpdHkgMTAwMAphY3BpX3RpbWVyMDogPDI0LWJp dCB0aW1lciBhdCAzLjU3OTU0NU1Iej4gcG9ydCAweDQwOC0weDQwYiBvbiBhY3BpMApjcHUwOiA8 QUNQSSBDUFU+IG9uIGFjcGkwCmFjcGlfYnV0dG9uMDogPFBvd2VyIEJ1dHRvbj4gb24gYWNwaTAK YWNwaV9idXR0b24xOiA8U2xlZXAgQnV0dG9uPiBvbiBhY3BpMApwY2liMDogPEFDUEkgSG9zdC1Q Q0kgYnJpZGdlPiBwb3J0IDB4Y2Y4LTB4Y2ZmIG9uIGFjcGkwCnBjaTA6IDxBQ1BJIFBDSSBidXM+ IG9uIHBjaWIwCmFncDA6IDxJbnRlbCA4Mjg2NSBob3N0IHRvIEFHUCBicmlkZ2U+IG1lbSAweGUw MDAwMDAwLTB4ZTdmZmZmZmYgYXQgZGV2aWNlIDAuMCBvbiBwY2kwCnBjaWIxOiA8UENJLVBDSSBi cmlkZ2U+IGF0IGRldmljZSAxLjAgb24gcGNpMApwY2kxOiA8UENJIGJ1cz4gb24gcGNpYjEKcGNp MTogPGRpc3BsYXksIFZHQT4gYXQgZGV2aWNlIDAuMCAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kx OiA8ZGlzcGxheT4gYXQgZGV2aWNlIDAuMSAobm8gZHJpdmVyIGF0dGFjaGVkKQp1aGNpMDogPElu dGVsIDgyODAxRUIgKElDSDUpIFVTQiBjb250cm9sbGVyIFVTQi1BPiBwb3J0IDB4Y2MwMC0weGNj MWYgaXJxIDE2IGF0IGRldmljZSAyOS4wIG9uIHBjaTAKdWhjaTA6IFtHSUFOVC1MT0NLRURdCnVz YjA6IDxJbnRlbCA4MjgwMUVCIChJQ0g1KSBVU0IgY29udHJvbGxlciBVU0ItQT4gb24gdWhjaTAK dXNiMDogVVNCIHJldmlzaW9uIDEuMAp1aHViMDogSW50ZWwgVUhDSSByb290IGh1YiwgY2xhc3Mg OS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjA6IDIgcG9ydHMgd2l0aCAyIHJlbW92YWJs ZSwgc2VsZiBwb3dlcmVkCnVoY2kxOiA8SW50ZWwgODI4MDFFQiAoSUNINSkgVVNCIGNvbnRyb2xs ZXIgVVNCLUI+IHBvcnQgMHhjMDAwLTB4YzAxZiBpcnEgMTkgYXQgZGV2aWNlIDI5LjEgb24gcGNp MAp1aGNpMTogW0dJQU5ULUxPQ0tFRF0KdXNiMTogPEludGVsIDgyODAxRUIgKElDSDUpIFVTQiBj b250cm9sbGVyIFVTQi1CPiBvbiB1aGNpMQp1c2IxOiBVU0IgcmV2aXNpb24gMS4wCnVodWIxOiBJ bnRlbCBVSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMQp1aHVi MTogMiBwb3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKdWhjaTI6IDxJbnRlbCA4 MjgwMUVCIChJQ0g1KSBVU0IgY29udHJvbGxlciBVU0ItQz4gcG9ydCAweGM0MDAtMHhjNDFmIGly cSAxOCBhdCBkZXZpY2UgMjkuMiBvbiBwY2kwCnVoY2kyOiBbR0lBTlQtTE9DS0VEXQp1c2IyOiA8 SW50ZWwgODI4MDFFQiAoSUNINSkgVVNCIGNvbnRyb2xsZXIgVVNCLUM+IG9uIHVoY2kyCnVzYjI6 IFVTQiByZXZpc2lvbiAxLjAKdWh1YjI6IEludGVsIFVIQ0kgcm9vdCBodWIsIGNsYXNzIDkvMCwg cmV2IDEuMDAvMS4wMCwgYWRkciAxCnVodWIyOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNl bGYgcG93ZXJlZAp1aGNpMzogPEludGVsIDgyODAxRUIgKElDSDUpIFVTQiBjb250cm9sbGVyIFVT Qi1EPiBwb3J0IDB4YzgwMC0weGM4MWYgaXJxIDE2IGF0IGRldmljZSAyOS4zIG9uIHBjaTAKdWhj aTM6IFtHSUFOVC1MT0NLRURdCnVzYjM6IDxJbnRlbCA4MjgwMUVCIChJQ0g1KSBVU0IgY29udHJv bGxlciBVU0ItRD4gb24gdWhjaTMKdXNiMzogVVNCIHJldmlzaW9uIDEuMAp1aHViMzogSW50ZWwg VUhDSSByb290IGh1YiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjM6IDIg cG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCmVoY2kwOiA8SW50ZWwgODI4MDFF Qi9SIChJQ0g1KSBVU0IgMi4wIGNvbnRyb2xsZXI+IG1lbSAweGZhMTAwMDAwLTB4ZmExMDAzZmYg aXJxIDIzIGF0IGRldmljZSAyOS43IG9uIHBjaTAKZWhjaTA6IFtHSUFOVC1MT0NLRURdCnVzYjQ6 IEVIQ0kgdmVyc2lvbiAxLjAKdXNiNDogY29tcGFuaW9uIGNvbnRyb2xsZXJzLCAyIHBvcnRzIGVh Y2g6IHVzYjAgdXNiMSB1c2IyIHVzYjMKdXNiNDogPEludGVsIDgyODAxRUIvUiAoSUNINSkgVVNC IDIuMCBjb250cm9sbGVyPiBvbiBlaGNpMAp1c2I0OiBVU0IgcmV2aXNpb24gMi4wCnVodWI0OiBJ bnRlbCBFSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMQp1aHVi NDogOCBwb3J0cyB3aXRoIDggcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKcGNpYjI6IDxBQ1BJIFBD SS1QQ0kgYnJpZGdlPiBhdCBkZXZpY2UgMzAuMCBvbiBwY2kwCnBjaTI6IDxBQ1BJIFBDSSBidXM+ IG9uIHBjaWIyCmF0aDA6IDxBdGhlcm9zIDUyMTI+IG1lbSAweGZhMDAwMDAwLTB4ZmEwMGZmZmYg aXJxIDE4IGF0IGRldmljZSAyLjAgb24gcGNpMgphdGgwOiBFdGhlcm5ldCBhZGRyZXNzOiAwMDox NjplNjozYzpkZjo5NAphdGgwOiBtYWMgNy45IHBoeSA0LjUgcmFkaW8gNS42CnZyMDogPFZJQSBW VDYxMDUgUmhpbmUgSUlJIDEwLzEwMEJhc2VUWD4gcG9ydCAweGIwMDAtMHhiMGZmIG1lbSAweGZh MDEwMDAwLTB4ZmEwMTAwZmYgaXJxIDIwIGF0IGRldmljZSA5LjAgb24gcGNpMgptaWlidXMwOiA8 TUlJIGJ1cz4gb24gdnIwCnVrcGh5MDogPEdlbmVyaWMgSUVFRSA4MDIuM3UgbWVkaWEgaW50ZXJm YWNlPiBvbiBtaWlidXMwCnVrcGh5MDogIDEwYmFzZVQsIDEwYmFzZVQtRkRYLCAxMDBiYXNlVFgs IDEwMGJhc2VUWC1GRFgsIGF1dG8KdnIwOiBFdGhlcm5ldCBhZGRyZXNzOiAwMDowYzo3Njo3Njo0 MTpmNwpmd29oY2kwOiA8VklBIEZpcmUgSUkgKFZUNjMwNik+IHBvcnQgMHhiNDAwLTB4YjQ3ZiBt ZW0gMHhmYTAxMTAwMC0weGZhMDExN2ZmIGlycSAyMSBhdCBkZXZpY2UgMTAuMCBvbiBwY2kyCmZ3 b2hjaTA6IE9IQ0kgdmVyc2lvbiAxLjAgKFJPTT0xKQpmd29oY2kwOiBOby4gb2YgSXNvY2hyb25v dXMgY2hhbm5lbHMgaXMgOC4KZndvaGNpMDogRVVJNjQgMDA6MDA6MTA6ZGM6MDA6NDg6NmQ6MjgK ZndvaGNpMDogUGh5IDEzOTRhIGF2YWlsYWJsZSBTNDAwLCAzIHBvcnRzLgpmd29oY2kwOiBMaW5r IFM0MDAsIG1heF9yZWMgMjA0OCBieXRlcy4KZmlyZXdpcmUwOiA8SUVFRTEzOTQoRmlyZVdpcmUp IGJ1cz4gb24gZndvaGNpMApmd2UwOiA8RXRoZXJuZXQgb3ZlciBGaXJlV2lyZT4gb24gZmlyZXdp cmUwCmlmX2Z3ZTA6IEZha2UgRXRoZXJuZXQgYWRkcmVzczogMDI6MDA6MTA6NDg6NmQ6MjgKZndl MDogRXRoZXJuZXQgYWRkcmVzczogMDI6MDA6MTA6NDg6NmQ6MjgKZndlMDogaWZfc3RhcnQgcnVu bmluZyBkZWZlcnJlZCBmb3IgR2lhbnQKc2JwMDogPFNCUC0yL1NDU0kgb3ZlciBGaXJlV2lyZT4g b24gZmlyZXdpcmUwCmZ3b2hjaTA6IEluaXRpYXRlIGJ1cyByZXNldApmd29oY2kwOiBub2RlX2lk PTB4YzgwMGZmYzAsIGdlbj0xLCBDWUNMRU1BU1RFUiBtb2RlCmZpcmV3aXJlMDogMSBub2Rlcywg bWF4aG9wIDw9IDAsIGNhYmxlIElSTSA9IDAgKG1lKQpmaXJld2lyZTA6IGJ1cyBtYW5hZ2VyIDAg KG1lKQppc2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6 IDxJU0EgYnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8SW50ZWwgSUNINSBVRE1BMTAwIGNvbnRyb2xs ZXI+IHBvcnQgMHgxZjAtMHgxZjcsMHgzZjYsMHgxNzAtMHgxNzcsMHgzNzYsMHhmMDAwLTB4ZjAw ZiBhdCBkZXZpY2UgMzEuMSBvbiBwY2kwCmF0YTA6IDxBVEEgY2hhbm5lbCAwPiBvbiBhdGFwY2kw CmF0YTE6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCnBjaTA6IDxzZXJpYWwgYnVzLCBTTUJ1 cz4gYXQgZGV2aWNlIDMxLjMgKG5vIGRyaXZlciBhdHRhY2hlZCkKcGNtMDogPEludGVsIElDSDUg KDgyODAxRUIpPiBwb3J0IDB4ZDQwMC0weGQ0ZmYsMHhkODAwLTB4ZDgzZiBtZW0gMHhmYTEwMTAw MC0weGZhMTAxMWZmLDB4ZmExMDIwMDAtMHhmYTEwMjBmZiBpcnEgMTcgYXQgZGV2aWNlIDMxLjUg b24gcGNpMApwY20wOiBwcmltYXJ5IGNvZGVjIG5vdCByZWFkeSEKcGNtMDogPEMtTWVkaWEgRWxl Y3Ryb25pY3MgQ01JOTc2MSBBQzk3IENvZGVjPgphY3BpX3R6MDogPFRoZXJtYWwgWm9uZT4gb24g YWNwaTAKZmRjMDogPGZsb3BweSBkcml2ZSBjb250cm9sbGVyPiBwb3J0IDB4M2YwLTB4M2Y1LDB4 M2Y3IGlycSA2IGRycSAyIG9uIGFjcGkwCmZkYzA6IFtGQVNUXQpzaW8wOiA8MTY1NTBBLWNvbXBh dGlibGUgQ09NIHBvcnQ+IHBvcnQgMHgzZjgtMHgzZmYgaXJxIDQgZmxhZ3MgMHgxMCBvbiBhY3Bp MApzaW8wOiB0eXBlIDE2NTUwQQpwcGMwOiA8RUNQIHBhcmFsbGVsIHByaW50ZXIgcG9ydD4gcG9y dCAweDM3OC0weDM3ZiwweDc3OC0weDc3YiBpcnEgNyBkcnEgMyBvbiBhY3BpMApwcGMwOiBTTUMt bGlrZSBjaGlwc2V0IChFQ1AvRVBQL1BTMi9OSUJCTEUpIGluIENPTVBBVElCTEUgbW9kZQpwcGMw OiBGSUZPIHdpdGggMTYvMTYvOSBieXRlcyB0aHJlc2hvbGQKcHBidXMwOiA8UGFyYWxsZWwgcG9y dCBidXM+IG9uIHBwYzAKcGxpcDA6IDxQTElQIG5ldHdvcmsgaW50ZXJmYWNlPiBvbiBwcGJ1czAK bHB0MDogPFByaW50ZXI+IG9uIHBwYnVzMApscHQwOiBJbnRlcnJ1cHQtZHJpdmVuIHBvcnQKcHBp MDogPFBhcmFsbGVsIEkvTz4gb24gcHBidXMwCmF0a2JkYzA6IDxLZXlib2FyZCBjb250cm9sbGVy IChpODA0Mik+IHBvcnQgMHg2MCwweDY0IGlycSAxIG9uIGFjcGkwCmF0a2JkMDogPEFUIEtleWJv YXJkPiBpcnEgMSBvbiBhdGtiZGMwCmtiZDAgYXQgYXRrYmQwCmF0a2JkMDogW0dJQU5ULUxPQ0tF RF0KcG10aW1lcjAgb24gaXNhMApvcm0wOiA8SVNBIE9wdGlvbiBST01zPiBhdCBpb21lbSAweGMw MDAwLTB4Y2JmZmYsMHhjYzAwMC0weGQzZmZmLDB4ZWYwMDAtMHhlZmZmZiBvbiBpc2EwCnNjMDog PFN5c3RlbSBjb25zb2xlPiBhdCBmbGFncyAweDEwMCBvbiBpc2EwCnNjMDogVkdBIDwxNiB2aXJ0 dWFsIGNvbnNvbGVzLCBmbGFncz0weDMwMD4Kc2lvMTogY29uZmlndXJlZCBpcnEgMyBub3QgaW4g Yml0bWFwIG9mIHByb2JlZCBpcnFzIDAKc2lvMTogcG9ydCBtYXkgbm90IGJlIGVuYWJsZWQKdmdh MDogPEdlbmVyaWMgSVNBIFZHQT4gYXQgcG9ydCAweDNjMC0weDNkZiBpb21lbSAweGEwMDAwLTB4 YmZmZmYgb24gaXNhMAp1bWFzczA6IE1FRElPTiBNZWRpb24gRmxhc2ggWEwgVjMuMEEsIHJldiAx LjEwLzMuMGEsIGFkZHIgMgp1bXMwOiBNaWNyb3NvZnQgQmFzaWMgT3B0aWNhbCBNb3VzZSwgcmV2 IDEuMTAvMC4wMCwgYWRkciAyLCBpY2xhc3MgMy8xCnVtczA6IDMgYnV0dG9ucyBhbmQgWiBkaXIu ClRpbWVjb3VudGVyICJUU0MiIGZyZXF1ZW5jeSAyOTkyNTEzNjcyIEh6IHF1YWxpdHkgODAwClRp bWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEuMDAwIG1zZWMKYWQwOiAxNTI2MjdNQiA8U2VhZ2F0ZSBT VDMxNjAwMjFBIDMuMDQ+IGF0IGF0YTAtbWFzdGVyIFVETUExMDAKYWQxOiAxNTI2MjdNQiA8U2Vh Z2F0ZSBTVDMxNjAwMjNBIDguMDE+IGF0IGF0YTAtc2xhdmUgVURNQTEwMAphY2QwOiBEVkRST00g PFNPTlkgRFZELVJPTSBERFUxNjEyL0RZUzM+IGF0IGF0YTEtbWFzdGVyIFVETUEzMwphY2QxOiBE VkRSIDxQSU9ORUVSIERWRCBSVyBEVlItMTA2RC8xLjA1PiBhdCBhdGExLXNsYXZlIFVETUEzMwpk YTAgYXQgdW1hc3Mtc2ltMCBidXMgMCB0YXJnZXQgMCBsdW4gMApkYTA6IDxNZWRpb24gRmxhc2gg WEwgICAgICBDRiAzLjBBPiBSZW1vdmFibGUgRGlyZWN0IEFjY2VzcyBTQ1NJLTAgZGV2aWNlIApk YTA6IDEuMDAwTUIvcyB0cmFuc2ZlcnMKZGEwOiBBdHRlbXB0IHRvIHF1ZXJ5IGRldmljZSBzaXpl IGZhaWxlZDogTk9UIFJFQURZLCBNZWRpdW0gbm90IHByZXNlbnQKZGExIGF0IHVtYXNzLXNpbTAg YnVzIDAgdGFyZ2V0IDAgbHVuIDEKZGExOiA8TWVkaW9uIEZsYXNoIFhMICAgICAgTVMgMy4wQT4g UmVtb3ZhYmxlIERpcmVjdCBBY2Nlc3MgU0NTSS0wIGRldmljZSAKZGExOiAxLjAwME1CL3MgdHJh bnNmZXJzCmRhMTogQXR0ZW1wdCB0byBxdWVyeSBkZXZpY2Ugc2l6ZSBmYWlsZWQ6IE5PVCBSRUFE WSwgTWVkaXVtIG5vdCBwcmVzZW50CmRhMiBhdCB1bWFzcy1zaW0wIGJ1cyAwIHRhcmdldCAwIGx1 biAyCmRhMjogPE1lZGlvbiBGbGFzaCBYTCAgTU1DL1NEIDMuMEE+IFJlbW92YWJsZSBEaXJlY3Qg QWNjZXNzIFNDU0ktMCBkZXZpY2UgCmRhMjogMS4wMDBNQi9zIHRyYW5zZmVycwpkYTI6IEF0dGVt cHQgdG8gcXVlcnkgZGV2aWNlIHNpemUgZmFpbGVkOiBOT1QgUkVBRFksIE1lZGl1bSBub3QgcHJl c2VudApkYTMgYXQgdW1hc3Mtc2ltMCBidXMgMCB0YXJnZXQgMCBsdW4gMwpkYTM6IDxNZWRpb24g Rmxhc2ggWEwgICAgICBTTSAzLjBBPiBSZW1vdmFibGUgRGlyZWN0IEFjY2VzcyBTQ1NJLTAgZGV2 aWNlIApkYTM6IDEuMDAwTUIvcyB0cmFuc2ZlcnMKZGEzOiBBdHRlbXB0IHRvIHF1ZXJ5IGRldmlj ZSBzaXplIGZhaWxlZDogTk9UIFJFQURZLCBNZWRpdW0gbm90IHByZXNlbnQKKGRhMDp1bWFzcy1z aW0wOjA6MDowKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSAwIDAgMCAwIDAgMCAwIDAgMCAKKGRh MDp1bWFzcy1zaW0wOjA6MDowKTogQ0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMDp1 bWFzcy1zaW0wOjA6MDowKTogU0NTSSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEwOnVtYXNz LXNpbTA6MDowOjApOiBOT1QgUkVBRFkgYXNjOjNhLDAKKGRhMDp1bWFzcy1zaW0wOjA6MDowKTog TWVkaXVtIG5vdCBwcmVzZW50CihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFVucmV0cnlhYmxlIGVy cm9yCk9wZW5lZCBkaXNrIGRhMCAtPiA2CihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFJFQUQgQ0FQ QUNJVFkuIENEQjogMjUgMCAwIDAgMCAwIDAgMCAwIDAgCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6 IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IFND U0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMDp1bWFzcy1zaW0wOjA6MDowKTogTk9UIFJF QURZIGFzYzozYSwwCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IE1lZGl1bSBub3QgcHJlc2VudAoo ZGEwOnVtYXNzLXNpbTA6MDowOjApOiBVbnJldHJ5YWJsZSBlcnJvcgpPcGVuZWQgZGlzayBkYTAg LT4gNgooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBSRUFEIENBUEFDSVRZLiBDREI6IDI1IDAgMCAw IDAgMCAwIDAgMCAwIAooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEwOnVtYXNzLXNpbTA6MDowOjApOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTA6dW1hc3Mtc2ltMDowOjA6MCk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEwOnVt YXNzLXNpbTA6MDowOjApOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMDp1bWFzcy1zaW0wOjA6MDow KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEwIC0+IDYKKGRhMTp1bWFzcy1zaW0w OjA6MDoxKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSAyMCAwIDAgMCAwIDAgMCAwIDAgCihkYTE6 dW1hc3Mtc2ltMDowOjA6MSk6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTE6dW1h c3Mtc2ltMDowOjA6MSk6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMTp1bWFzcy1z aW0wOjA6MDoxKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IE1l ZGl1bSBub3QgcHJlc2VudAooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTEgLT4gNgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDIwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMTp1bWFzcy1zaW0wOjA6MDoxKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTE6dW1hc3Mtc2ltMDowOjA6MSk6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMSAt PiA2CihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgMjAgMCAw IDAgMCAwIDAgMCAwIAooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGExOnVtYXNzLXNpbTA6MDowOjEpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTE6dW1hc3Mtc2ltMDowOjA6MSk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGExOnVt YXNzLXNpbTA6MDowOjEpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMTp1bWFzcy1zaW0wOjA6MDox KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGExIC0+IDYKKGRhMjp1bWFzcy1zaW0w OjA6MDoyKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSA0MCAwIDAgMCAwIDAgMCAwIDAgCihkYTI6 dW1hc3Mtc2ltMDowOjA6Mik6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTI6dW1h c3Mtc2ltMDowOjA6Mik6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMjp1bWFzcy1z aW0wOjA6MDoyKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IE1l ZGl1bSBub3QgcHJlc2VudAooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTIgLT4gNgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDQwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMjp1bWFzcy1zaW0wOjA6MDoyKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTI6dW1hc3Mtc2ltMDowOjA6Mik6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMiAt PiA2CihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgNDAgMCAw IDAgMCAwIDAgMCAwIAooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEyOnVtYXNzLXNpbTA6MDowOjIpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTI6dW1hc3Mtc2ltMDowOjA6Mik6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEyOnVt YXNzLXNpbTA6MDowOjIpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMjp1bWFzcy1zaW0wOjA6MDoy KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEyIC0+IDYKKGRhMzp1bWFzcy1zaW0w OjA6MDozKTogUkVBRCBDQVBBQ0lUWS4gQ0RCOiAyNSA2MCAwIDAgMCAwIDAgMCAwIDAgCihkYTM6 dW1hc3Mtc2ltMDowOjA6Myk6IENBTSBTdGF0dXM6IFNDU0kgU3RhdHVzIEVycm9yCihkYTM6dW1h c3Mtc2ltMDowOjA6Myk6IFNDU0kgU3RhdHVzOiBDaGVjayBDb25kaXRpb24KKGRhMzp1bWFzcy1z aW0wOjA6MDozKTogTk9UIFJFQURZIGFzYzozYSwwCihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IE1l ZGl1bSBub3QgcHJlc2VudAooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBVbnJldHJ5YWJsZSBlcnJv cgpPcGVuZWQgZGlzayBkYTMgLT4gNgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBSRUFEIENBUEFD SVRZLiBDREI6IDI1IDYwIDAgMCAwIDAgMCAwIDAgMCAKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTog Q0FNIFN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3IKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTogU0NT SSBTdGF0dXM6IENoZWNrIENvbmRpdGlvbgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBOT1QgUkVB RFkgYXNjOjNhLDAKKGRhMzp1bWFzcy1zaW0wOjA6MDozKTogTWVkaXVtIG5vdCBwcmVzZW50Cihk YTM6dW1hc3Mtc2ltMDowOjA6Myk6IFVucmV0cnlhYmxlIGVycm9yCk9wZW5lZCBkaXNrIGRhMyAt PiA2CihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IFJFQUQgQ0FQQUNJVFkuIENEQjogMjUgNjAgMCAw IDAgMCAwIDAgMCAwIAooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBDQU0gU3RhdHVzOiBTQ1NJIFN0 YXR1cyBFcnJvcgooZGEzOnVtYXNzLXNpbTA6MDowOjMpOiBTQ1NJIFN0YXR1czogQ2hlY2sgQ29u ZGl0aW9uCihkYTM6dW1hc3Mtc2ltMDowOjA6Myk6IE5PVCBSRUFEWSBhc2M6M2EsMAooZGEzOnVt YXNzLXNpbTA6MDowOjMpOiBNZWRpdW0gbm90IHByZXNlbnQKKGRhMzp1bWFzcy1zaW0wOjA6MDoz KTogVW5yZXRyeWFibGUgZXJyb3IKT3BlbmVkIGRpc2sgZGEzIC0+IDYKVHJ5aW5nIHRvIG1vdW50 IHJvb3QgZnJvbSB1ZnM6L2Rldi9hZDFzMWEKTG9hZGluZyBjb25maWd1cmF0aW9uIGZpbGVzLgpF bnRyb3B5IGhhcnZlc3Rpbmc6CiBpbnRlcnJ1cHRzCiBldGhlcm5ldAogcG9pbnRfdG9fcG9pbnQK IGtpY2tzdGFydAouCnN3YXBvbjogYWRkaW5nIC9kZXYvYWQxczFiIGFzIHN3YXAgZGV2aWNlClN0 YXJ0aW5nIGZpbGUgc3lzdGVtIGNoZWNrczoKL2Rldi9hZDFzMWE6IEZJTEUgU1lTVEVNIENMRUFO OyBTS0lQUElORyBDSEVDS1MKL2Rldi9hZDFzMWE6IGNsZWFuLCAyMjMxNDUgZnJlZSAoMTI0MSBm cmFncywgMjc3MzggYmxvY2tzLCAwLjUlIGZyYWdtZW50YXRpb24pCi9kZXYvYWQxczFlOiBGSUxF IFNZU1RFTSBDTEVBTjsgU0tJUFBJTkcgQ0hFQ0tTCi9kZXYvYWQxczFlOiBjbGVhbiwgMjUzNzky IGZyZWUgKDQwIGZyYWdzLCAzMTcxOSBibG9ja3MsIDAuMCUgZnJhZ21lbnRhdGlvbikKL2Rldi9h ZDFzMWY6IEZJTEUgU1lTVEVNIENMRUFOOyBTS0lQUElORyBDSEVDS1MKL2Rldi9hZDFzMWY6IGNs ZWFuLCA2NDUwNzk3MSBmcmVlICg1MTUxNSBmcmFncywgODA1NzA1NyBibG9ja3MsIDAuMSUgZnJh Z21lbnRhdGlvbikKL2Rldi9hZDFzMWQ6IEZJTEUgU1lTVEVNIENMRUFOOyBTS0lQUElORyBDSEVD S1MKL2Rldi9hZDFzMWQ6IGNsZWFuLCA3Mjg1NTggZnJlZSAoMjU0IGZyYWdzLCA5MTAzOCBibG9j a3MsIDAuMCUgZnJhZ21lbnRhdGlvbikKTW91bnRpbmcgbG9jYWwgZmlsZSBzeXN0ZW1zOgouClNl dHRpbmcgaG9zdG5hbWU6IGxhcnMtZGVza3RvcC4KbmV0LmluZXQ2LmlwNi5hdXRvX2xpbmtsb2Nh bDogCjEKIC0+IAowCgprZXJuLmNvcmVkdW1wOiAKMQogLT4gCjAKClN0YXJ0aW5nIHdwYV9zdXBw bGljYW50LgpsbzA6IGZsYWdzPTgwNDk8VVAsTE9PUEJBQ0ssUlVOTklORyxNVUxUSUNBU1Q+IG10 dSAxNjM4NAoJaW5ldDYgZmU4MDo6MSVsbzAgcHJlZml4bGVuIDY0IHNjb3BlaWQgMHg1IAoJaW5l dDYgOjoxIHByZWZpeGxlbiAxMjggCglpbmV0IDEyNy4wLjAuMSBuZXRtYXNrIDB4ZmYwMDAwMDAg CmF0aDA6IGZsYWdzPTg4NDM8VVAsQlJPQURDQVNULFJVTk5JTkcsU0lNUExFWCxNVUxUSUNBU1Q+ IG10dSAxNTAwCglpbmV0IDEwLjAuMC42IG5ldG1hc2sgMHhmZmZmZmYwMCBicm9hZGNhc3QgMTAu MC4wLjI1NQoJZXRoZXIgMDA6MTY6ZTY6M2M6ZGY6OTQKCW1lZGlhOiBJRUVFIDgwMi4xMSBXaXJl bGVzcyBFdGhlcm5ldCBhdXRvc2VsZWN0IChEUy8xTWJwcykKCXN0YXR1czogbm8gY2FycmllcgoJ c3NpZCAiIiBjaGFubmVsIDMKCWF1dGhtb2RlIFdQQTErV1BBMi84MDIuMTFpIHByaXZhY3kgT04g ZGVmdHhrZXkgVU5ERUYgdHhwb3dtYXggMzkKCWJtaXNzIDcgcHJvdG1vZGUgQ1RTIGJ1cnN0IHJv YW1pbmcgTUFOVUFMCmFkZCBuZXQgZGVmYXVsdDogZ2F0ZXdheSAxMC4wLjAuMQpBZGRpdGlvbmFs IHJvdXRpbmcgb3B0aW9uczoKLgpTdGFydGluZyBkZXZkLgpTdGFydGluZyB1bXMwIG1vdXNlZDoK Lgpody5hY3BpLmNwdS5jeF9sb3dlc3Q6IApDMQoKc3lzY3RsOiAKaHcuYWNwaS5jcHUuY3hfbG93 ZXN0CjogCkludmFsaWQgYXJndW1lbnQKTW91bnRpbmcgTkZTIGZpbGUgc3lzdGVtczoKLgpFTEYg bGRjb25maWcgcGF0aDogL2xpYiAvdXNyL2xpYiAvdXNyL2xpYi9jb21wYXQgL3Vzci9YMTFSNi9s aWIgL3Vzci9sb2NhbC9saWIgL3Vzci9sb2NhbC9saWIvY29tcGF0L3BrZyAvdXNyL2xvY2FsL2xp YiAvdXNyL2xvY2FsL2xpYi9jb21wYXQvcGtnIC91c3IvbG9jYWwvbGliL21wbGF5ZXIvdmlkaXgK YS5vdXQgbGRjb25maWcgcGF0aDogL3Vzci9saWIvYW91dCAvdXNyL2xpYi9jb21wYXQvYW91dApD bGVhcmluZyAvdG1wIChYIHJlbGF0ZWQpLgpDcmVhdGluZyBhbmQvb3IgdHJpbW1pbmcgbG9nIGZp bGVzOgouClN0YXJ0aW5nIHN5c2xvZ2QuCkluaXRpYWwgaTM4NiBpbml0aWFsaXphdGlvbjoKLgpB ZGRpdGlvbmFsIEFCSSBzdXBwb3J0OgouClN0YXJ0aW5nIHRvci4KRmViIDA3IDE0OjExOjM2Ljg2 OCBbbm90aWNlXSBUb3IgdjAuMS4yLjYtYWxwaGEuIFRoaXMgaXMgZXhwZXJpbWVudGFsIHNvZnR3 YXJlLiBEbyBub3QgcmVseSBvbiBpdCBmb3Igc3Ryb25nIGFub255bWl0eS4KRmViIDA3IDE0OjEx OjM2Ljg4NSBbbm90aWNlXSBJbml0aWFsaXplZCBsaWJldmVudCB2ZXJzaW9uIDEuMmEgdXNpbmcg bWV0aG9kIGtxdWV1ZS4gR29vZC4KRmViIDA3IDE0OjExOjM2Ljg4NSBbbm90aWNlXSBPcGVuaW5n IFNvY2tzIGxpc3RlbmVyIG9uIDEyNy4wLjAuMTo5MDUwCkZlYiAwNyAxNDoxMTozNi44ODUgW3dh cm5dIENhbid0IGxvZyB0byBzdGRvdXQgd2l0aCBSdW5Bc0RhZW1vbiBzZXQ7IHNraXBwaW5nIHN0 ZG91dApTdGFydGluZyBwcml2b3h5LgphdGgwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAKRmVi IDA3IDE0OjExOjM3IFByaXZveHkoMDgwODcwMDApIEluZm86IGxvYWRpbmcgY29uZmlndXJhdGlv biBmaWxlICcvdXNyL2xvY2FsL2V0Yy9wcml2b3h5L2NvbmZpZyc6CkZlYiAwNyAxNDoxMTozNyBQ cml2b3h5KDA4MDg3MDAwKSBJbmZvOiBQcml2b3h5IHZlcnNpb24gMy4wLjYKRmViIDA3IDE0OjEx OjM3IFByaXZveHkoMDgwODcwMDApIEluZm86IFByb2dyYW0gbmFtZTogL3Vzci9sb2NhbC9zYmlu L3ByaXZveHkKRmViIDA3IDE0OjExOjM4IFByaXZveHkoMDgwODcwMDApIEluZm86IExpc3Rlbmlu ZyBvbiBwb3J0IDgxMTggZm9yIGxvY2FsIGNvbm5lY3Rpb25zIG9ubHkKU3RhcnRpbmcgbXVzaWNw ZC4KU3RhcnRpbmcgdXNiZC4KU3RhcnRpbmcgY3Vwc2QuClN0YXJ0aW5nIGxvY2FsIGRhZW1vbnM6 Ci4KVXBkYXRpbmcgbW90ZAouCk1vdW50aW5nIGxhdGUgZmlsZSBzeXN0ZW1zOgouClN0YXJ0aW5n IG50cGQuCkNvbmZpZ3VyaW5nIHN5c2NvbnM6CiBrZXltYXAKIGZvbnQ4eDE2CiBmb250OHgxNAog Zm9udDh4OAogYmxhbmt0aW1lCi4KU3RhcnRpbmcgc3NoZC4KU3RhcnRpbmcgY3Jvbi4KTG9jYWwg cGFja2FnZSBpbml0aWFsaXphdGlvbjoKLgpBZGRpdGlvbmFsIFRDUCBvcHRpb25zOgouClN0YXJ0 aW5nIGJhY2tncm91bmQgZmlsZSBzeXN0ZW0gY2hlY2tzIGluIDYwIHNlY29uZHMuCgpXZWQgRmVi ICA3IDE0OjExOjQxIENFVCAyMDA3CmRybTA6IDxBVEkgUmFkZW9uIE5IIFIzNTAgOTgwMCBQcm8+ IHBvcnQgMHhhMDAwLTB4YTBmZiBtZW0gMHhlODAwMDAwMC0weGVmZmZmZmZmLDB4ZjkwMDAwMDAt MHhmOTAwZmZmZiBpcnEgMTYgYXQgZGV2aWNlIDAuMCBvbiBwY2kxCmluZm86IFtkcm1dIEFHUCBh dCAweGUwMDAwMDAwIDEyOE1CCmluZm86IFtkcm1dIEluaXRpYWxpemVkIHJhZGVvbiAxLjI0LjAg MjAwNjAyMjUKaW5mbzogW2RybV0gU2V0dGluZyBHQVJUIGxvY2F0aW9uIGJhc2VkIG9uIG9sZCBt ZW1vcnkgbWFwCmluZm86IFtkcm1dIExvYWRpbmcgUjMwMCBNaWNyb2NvZGUKaW5mbzogW2RybV0g d3JpdGViYWNrIHRlc3Qgc3VjY2VlZGVkIGluIDEgdXNlY3MKRmViICA3IDE0OjQ3OjQ1IGxhcnMt ZGVza3RvcCBzdTogbGFycyB0byByb290IG9uIC9kZXYvdHR5cDAK ------=_Part_11191_18960977.1170880498859 Content-Type: application/octet-stream; name=foo.asl Content-Transfer-Encoding: base64 X-Attachment-Id: f_exw7zbol Content-Disposition: attachment; filename="foo.asl" LyoKICBSU0QgUFRSOiBPRU09SW50ZWxSLCBBQ1BJX1Jldj0xLjB4ICgwKQoJUlNEVD0weDFmZmYz MDAwLCBja3N1bT02OQogKi8KLyoKICBSU0RUOiBMZW5ndGg9NDQsIFJldmlzaW9uPTEsIENoZWNr c3VtPTIyNCwKCU9FTUlEPUludGVsUiwgT0VNIFRhYmxlIElEPUFXUkRBQ1BJLCBPRU0gUmV2aXNp b249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAKCUVu dHJpZXM9eyAweDFmZmYzMDQwLCAweDFmZmY3MjAwIH0KICovCi8qCiAgRkFDUDogTGVuZ3RoPTEx NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09ODEsCglPRU1JRD1JbnRlbFIsIE9FTSBUYWJsZSBJRD1B V1JEQUNQSSwgT0VNIFJldmlzaW9uPTB4NDIzMDJlMzEsCglDcmVhdG9yIElEPUFXUkQsIENyZWF0 b3IgUmV2aXNpb249MHgwCiAJRkFDUz0weDFmZmYwMDAwLCBEU0RUPTB4MWZmZjMwYzAKCUlOVF9N T0RFTD1BUElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1VbnNwZWNpZmllZCAoMCkKCVNDSV9JTlQ9 OQoJU01JX0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGExLCBBQ1BJX0RJU0FCTEU9MHhhMCwgUzRC SU9TX1JFUT0weDAKCVBTVEFURV9DTlQ9MHgwCglQTTFhX0VWVF9CTEs9MHg0MDAtMHg0MDMKCVBN MWFfQ05UX0JMSz0weDQwNC0weDQwNQoJUE1fVE1SX0JMSz0weDQwOC0weDQwYgoJR1BFMF9CTEs9 MHg0MjgtMHg0MmYKCVBfTFZMMl9MQVQ9MTAxIHVzLCBQX0xWTDNfTEFUPTEwMDEgdXMKCUZMVVNI X1NJWkU9MCwgRkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlfV0lEVEg9MQoJREFZ X0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9MAoJSUFQQ19CT09UX0FSQ0g9CglGbGFncz17 V0JJTlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzQsUkVTRVRfUkVHfQoJUkVTRVRfUkVHPTB4 MDAwMDAwMDA6MFswXSAoTWVtb3J5KSwgUkVTRVRfVkFMVUU9MHg0NAogKi8KLyoKICBGQUNTOglM ZW5ndGg9NjQsIEh3U2lnPTB4MDAwMDAwMDAsIEZpcm1fV2FrZV9WZWM9MHgwMDAwMDAwMAoJR2xv YmFsX0xvY2s9CglGbGFncz0KCVZlcnNpb249MAogKi8KLyoKICBEU0RUOiBMZW5ndGg9MTY2Nzcs IFJldmlzaW9uPTEsIENoZWNrc3VtPTcyLAoJT0VNSUQ9SU5URUxSLCBPRU0gVGFibGUgSUQ9QVdS REFDUEksIE9FTSBSZXZpc2lvbj0weDEwMDAsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2 aXNpb249MHgxMDAwMDBlCiAqLwovKgogIEFQSUM6IExlbmd0aD0xMDQsIFJldmlzaW9uPTEsIENo ZWNrc3VtPTIwMSwKCU9FTUlEPUludGVsUiwgT0VNIFRhYmxlIElEPUFXUkRBQ1BJLCBPRU0gUmV2 aXNpb249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAK CUxvY2FsIEFQSUMgQUREUj0weGZlZTAwMDAwCglGbGFncz17UEMtQVR9CgoJVHlwZT1Mb2NhbCBB UElDCglBQ1BJIENQVT0wCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MAoKCVR5cGU9TG9jYWwg QVBJQwoJQUNQSSBDUFU9MQoJRmxhZ3M9e0RJU0FCTEVEfQoJQVBJQyBJRD0xCgoJVHlwZT1JTyBB UElDCglBUElDIElEPTIKCUlOVCBCQVNFPTAKCUFERFI9MHgwMDAwMDAwMGZlYzAwMDAwCgoJVHlw ZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0yCglGbGFncz17UG9sYXJpdHk9Y29u Zm9ybWluZywgVHJpZ2dlcj1jb25mb3JtaW5nfQoKCVR5cGU9SU5UIE92ZXJyaWRlCglCVVM9MAoJ SVJRPTkKCUlOVFI9OQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1sZXZlbH0K CglUeXBlPUxvY2FsIE5NSQoJQUNQSSBDUFU9MAoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5 PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9TG9jYWwgTk1JCglBQ1BJIENQVT0xCglM SU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CiAqLwov KgogKiBJbnRlbCBBQ1BJIENvbXBvbmVudCBBcmNoaXRlY3R1cmUKICogQU1MIERpc2Fzc2VtYmxl ciB2ZXJzaW9uIDIwMDQxMTE5CiAqCiAqIERpc2Fzc2VtYmx5IG9mIC90bXAvYWNwaWR1bXAuc0lr M2JDLCBXZWQgRmViICA3IDE0OjQ3OjUwIDIwMDcKICovCkRlZmluaXRpb25CbG9jayAoIkRTRFQu YW1sIiwgIkRTRFQiLCAxLCAiSU5URUxSIiwgIkFXUkRBQ1BJIiwgNDA5NikKewogICAgU2NvcGUg KFxfUFIpCiAgICB7CiAgICAgICAgUHJvY2Vzc29yIChcX1BSLkNQVTAsIDB4MDAsIDB4MDAwMDAw MDAsIDB4MDApIHt9CiAgICAgICAgUHJvY2Vzc29yIChcX1BSLkNQVTEsIDB4MDEsIDB4MDAwMDAw MDAsIDB4MDApIHt9CiAgICB9CgogICAgTmFtZSAoXF9TMCwgUGFja2FnZSAoMHgwNCkKICAgIHsK ICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAw CiAgICB9KQogICAgTmFtZSAoXF9TMywgUGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA1 LCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAg TmFtZSAoXF9TNCwgUGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA2LCAKICAgICAgICAw eDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAgTmFtZSAoXF9TNSwg UGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA3LCAKICAgICAgICAweDAwLCAKICAgICAg ICAweDAwLCAKICAgICAgICAweDAwCiAgICB9KQogICAgTmFtZSAoRkxBRywgMHgwMCkKICAgIE5h bWUgKFNUQVQsIDB4MDApCiAgICBPcGVyYXRpb25SZWdpb24gKFxERUJHLCBTeXN0ZW1JTywgMHg4 MCwgMHgwMSkKICAgIEZpZWxkIChcREVCRywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg IHsKICAgICAgICBEQkcxLCAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKEVYVE0sIFN5 c3RlbU1lbW9yeSwgMHgwMDBGRjgzMCwgMHgxMCkKICAgIEZpZWxkIChFWFRNLCBXb3JkQWNjLCBO b0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFJPTTEsICAgMTYsIAogICAgICAgIFJNUzEs ICAgMTYsIAogICAgICAgIFJPTTIsICAgMTYsIAogICAgICAgIFJNUzIsICAgMTYsIAogICAgICAg IFJPTTMsICAgMTYsIAogICAgICAgIFJNUzMsICAgMTYsIAogICAgICAgIEFNRU0sICAgMzIKICAg IH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxTTUlDLCBTeXN0ZW1JTywgMHhCMiwgMHgwMSkKICAg IEZpZWxkIChcU01JQywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBT Q1AsICAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxQTTFTLCBTeXN0ZW1JTywgMHgw NDAwLCAweDA0KQogICAgRmllbGQgKFxQTTFTLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgewogICAgICAgIFBNMDAsICAgOCwgCiAgICAgICAgUE0wMSwgICA4LCAKICAgICAgICBQTTAy LCAgIDgsIAogICAgICAgIFBNMDMsICAgOAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoXFNQ RU4sIFN5c3RlbUlPLCAweDA0MzAsIDB4MDEpCiAgICBGaWVsZCAoXFNQRU4sIEJ5dGVBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgICAgICwgICA0LCAKICAgICAgICBUUkFQLCAg IDEKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxHUEksIFN5c3RlbUlPLCAweDA0MkEsIDB4 MDIpCiAgICBGaWVsZCAoXEdQSSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAg ICAgICBHSTAwLCAgIDEsIAogICAgICAgIEdJMDEsICAgMSwgCiAgICAgICAgR0kwMiwgICAxLCAK ICAgICAgICBHSTAzLCAgIDEsIAogICAgICAgIEdJMDQsICAgMSwgCiAgICAgICAgR0kwNSwgICAx LCAKICAgICAgICBHSTA2LCAgIDEsIAogICAgICAgIEdJMDcsICAgMSwgCiAgICAgICAgR0kwOCwg ICAxLCAKICAgICAgICBHSTA5LCAgIDEsIAogICAgICAgIEdJMEEsICAgMSwgCiAgICAgICAgR0kw QiwgICAxLCAKICAgICAgICBHSTBDLCAgIDEsIAogICAgICAgIEdJMEQsICAgMSwgCiAgICAgICAg R0kwRSwgICAxLCAKICAgICAgICBHSTBGLCAgIDEKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24g KFxHUEkxLCBTeXN0ZW1JTywgMHgwNDhDLCAweDAyKQogICAgRmllbGQgKFxHUEkxLCBCeXRlQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIEdJMTAsICAgMSwgCiAgICAgICAgR0kx MSwgICAxLCAKICAgICAgICBHSTEyLCAgIDEsIAogICAgICAgIEdJMTMsICAgMSwgCiAgICAgICAg R0kxNCwgICAxLCAKICAgICAgICBHSTE1LCAgIDEsIAogICAgICAgIEdJMTYsICAgMSwgCiAgICAg ICAgR0kxNywgICAxLCAKICAgICAgICBHSTE4LCAgIDEsIAogICAgICAgIEdJMTksICAgMSwgCiAg ICAgICAgR0kxQSwgICAxLCAKICAgICAgICBHSTFCLCAgIDEsIAogICAgICAgIEdJMUMsICAgMSwg CiAgICAgICAgR0kxRCwgICAxLCAKICAgICAgICBHSTFFLCAgIDEsIAogICAgICAgIEdJMUYsICAg MQogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoXEdCTEUsIFN5c3RlbUlPLCAweDA0MjEsIDB4 MDEpCiAgICBGaWVsZCAoXEdCTEUsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAg ICAgICAgRVNNSSwgICA4CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChBUE1QLCBTeXN0ZW1J TywgMHhCMiwgMHgwMikKICAgIEZpZWxkIChBUE1QLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIEFQTUMsICAgOCwgCiAgICAgICAgQVBNRCwgICA4CiAgICB9CgogICAg T3BlcmF0aW9uUmVnaW9uIChcR1BPLCBTeXN0ZW1JTywgMHgwNDhFLCAweDAyKQogICAgRmllbGQg KFxHUE8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgR08xMCwgICAx LCAKICAgICAgICBHTzExLCAgIDEsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICwg ICAxLCAKICAgICAgICAgICAgLCAgIDEsIAogICAgICAgIEdPMTUsICAgMSwgCiAgICAgICAgR08x NiwgICAxLCAKICAgICAgICBHTzE3LCAgIDEsIAogICAgICAgIEdPMTgsICAgMSwgCiAgICAgICAg R08xOSwgICAxLCAKICAgICAgICBHTzFBLCAgIDEsIAogICAgICAgIEdPMUIsICAgMSwgCiAgICAg ICAgR08xQywgICAxCiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChcR1BPMiwgU3lzdGVtSU8s IDB4MDRCOCwgMHgwMikKICAgIEZpZWxkIChcR1BPMiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgIHsKICAgICAgICBHTzIwLCAgIDEsIAogICAgICAgIEdPMjEsICAgMSwgCiAgICAgICAg R08yMiwgICAxLCAKICAgICAgICBHTzIzLCAgIDEsIAogICAgICAgIEdPMjQsICAgMSwgCiAgICAg ICAgR08yNSwgICAxLCAKICAgICAgICBHTzI2LCAgIDEsIAogICAgICAgIEdPMjcsICAgMSwgCiAg ICAgICAgR08yOCwgICAxLCAKICAgICAgICBHTzI5LCAgIDEsIAogICAgICAgIEdPMkEsICAgMSwg CiAgICAgICAgR08yQiwgICAxCiAgICB9CgogICAgTmFtZSAoT1NGWCwgMHgwMSkKICAgIE5hbWUg KE9TRkwsIDB4MDEpCiAgICBNZXRob2QgKFNUUkMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgSWYgKExOb3QgKExFcXVhbCAoU2l6ZU9mIChBcmcwKSwgU2l6ZU9mIChBcmcxKSkpKQog ICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAgQWRk IChTaXplT2YgKEFyZzApLCAweDAxLCBMb2NhbDApCiAgICAgICAgTmFtZSAoQlVGMCwgQnVmZmVy IChMb2NhbDApIHt9KQogICAgICAgIE5hbWUgKEJVRjEsIEJ1ZmZlciAoTG9jYWwwKSB7fSkKICAg ICAgICBTdG9yZSAoQXJnMCwgQlVGMCkKICAgICAgICBTdG9yZSAoQXJnMSwgQlVGMSkKICAgICAg ICBXaGlsZSAoTG9jYWwwKQogICAgICAgIHsKICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKERlcmVmT2YgKEluZGV4IChCVUYwLCBMb2Nh bDApKSwgRGVyZWZPZiAoSW5kZXggKEJVRjEsIExvY2FsMCkpKSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgUmV0dXJuIChPbmUpCiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChSVENNLCBTeXN0ZW1J TywgMHg3MCwgMHgwMikKICAgIEZpZWxkIChSVENNLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIENNSU4sICAgOCwgCiAgICAgICAgQ01EQSwgICA4CiAgICB9CgogICAg SW5kZXhGaWVsZCAoQ01JTiwgQ01EQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsK ICAgICAgICBPZmZzZXQgKDB4MEYpLCAKICAgICAgICBTSFVULCAgIDgKICAgIH0KCiAgICBPcGVy YXRpb25SZWdpb24gKElORk8sIFN5c3RlbU1lbW9yeSwgMHgwMDBGRjg0MCwgMHgwMSkKICAgIEZp ZWxkIChJTkZPLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIEtCREks ICAgMSwgCiAgICAgICAgUlRDVywgICAxLCAKICAgICAgICBQUzJGLCAgIDEsIAogICAgICAgIElS RkwsICAgMiwgCiAgICAgICAgRElTRSwgICAxLCAKICAgICAgICBTU0hVLCAgIDEKICAgIH0KCiAg ICBPcGVyYXRpb25SZWdpb24gKEJFRVAsIFN5c3RlbUlPLCAweDYxLCAweDAxKQogICAgRmllbGQg KEJFRVAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgUzFCLCAgICA4 CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChDT05ULCBTeXN0ZW1JTywgMHg0MCwgMHgwNCkK ICAgIEZpZWxkIChDT05ULCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAg IENOVDAsICAgOCwgCiAgICAgICAgQ05UMSwgICA4LCAKICAgICAgICBDTlQyLCAgIDgsIAogICAg ICAgIENUUkwsICAgOAogICAgfQoKICAgIE1ldGhvZCAoU1BLUiwgMSwgTm90U2VyaWFsaXplZCkK ICAgIHsKICAgICAgICBTdG9yZSAoUzFCLCBMb2NhbDApCiAgICAgICAgU3RvcmUgKDB4QjYsIENU UkwpCiAgICAgICAgU3RvcmUgKDB4NTUsIENOVDIpCiAgICAgICAgU3RvcmUgKDB4MDMsIENOVDIp CiAgICAgICAgU3RvcmUgKEFyZzAsIExvY2FsMikKICAgICAgICBXaGlsZSAoTEdyZWF0ZXIgKExv Y2FsMiwgMHgwMCkpCiAgICAgICAgewogICAgICAgICAgICBPciAoUzFCLCAweDAzLCBTMUIpCiAg ICAgICAgICAgIFN0b3JlICgweDVGRkYsIExvY2FsMykKICAgICAgICAgICAgV2hpbGUgKExHcmVh dGVyIChMb2NhbDMsIDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgQW5kIChTMUIsIDB4RkMsIFMx QikKICAgICAgICAgICAgU3RvcmUgKDB4MEVGRiwgTG9jYWwzKQogICAgICAgICAgICBXaGlsZSAo TEdyZWF0ZXIgKExvY2FsMywgMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERl Y3JlbWVudCAoTG9jYWwzKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMikKICAgICAgICB9CgogICAgICAgIFN0b3JlIChMb2NhbDAsIFMxQikKICAgIH0KCiAgICBT Y29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChQSUNGLCAweDAwKQogICAgICAgIE1ldGhvZCAo X1BJQywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcw LCBQSUNGKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFxfUFRTLCAxLCBOb3RTZXJpYWxp emVkKQogICAgewogICAgICAgIE9yIChBcmcwLCAweEYwLCBMb2NhbDApCiAgICAgICAgU3RvcmUg KExvY2FsMCwgREJHMSkKICAgICAgICBPU1RQICgpCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBTRkFOIChaZXJvKQogICAgICAgIH0KCiAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMikpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwMykpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNSkpCiAgICAgICAgewogICAg ICAgICAgICBTdG9yZSAoRVNNSSwgTG9jYWwwKQogICAgICAgICAgICBBbmQgKExvY2FsMCwgMHhG QiwgTG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBFU01JKQogICAgICAgIH0KCiAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBJZiAo TE5vdCAoUElDRikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQog ICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoXF9XQUssIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKDB4RkYsIERCRzEpCiAgICAgICAgV2hpbGUg KExFcXVhbCAoR0kwQiwgT25lKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChPbmUsIEdJ MEIpCiAgICAgICAgICAgIFN0b3JlICgweDc3LCBGTEFHKQogICAgICAgICAgICBOb3RpZnkgKFxf U0IuU0xQQiwgMHgwMikKICAgICAgICB9CgogICAgICAgIFNGQU4gKDB4RkYpCiAgICAgICAgTm90 aWZ5IChcX1NCLlBDSTAuUFg0MC5VQVIxLCAweDAwKQogICAgICAgIElmIChPU0ZMKQogICAgICAg IHsKICAgICAgICAgICAgSWYgKExFcXVhbCAoUlRDVywgMHgwMCkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QV1JCLCAweDAyKQogICAgICAgICAgICB9CiAgICAg ICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIElmIChMRXF1YWwgKFJUQ1cs IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUFdSQiwg MHgwMikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu VVNCMCwgMHgwMCkKICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAwKQogICAgICAg IE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjIsIDB4MDApCiAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu VVNCMywgMHgwMCkKICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0JFLCAweDAwKQogICAgfQoK ICAgIFNjb3BlIChcX1NJKQogICAgewogICAgICAgIE1ldGhvZCAoX01TRywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIExvY2FsMCkKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoX1NTVCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIExvY2FsMCkKICAgICAgICB9CiAgICB9CgogICAgU2Nv cGUgKFxfR1BFKQogICAgewogICAgICAgIE1ldGhvZCAoX0wwNSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLk1PRE0sIDB4MDIpCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKF9MMDMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IwLCAweDAyKQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChfTDA0LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAg Tm90aWZ5IChcX1NCLlBDSTAuVVNCMSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAo X0wwQiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9T Qi5QQ0kwLkhVQjAsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDgsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5QWDQw LlVBUjEsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMUIsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEVxdWFsIChGTEFHLCAweDc3KSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgV2hpbGUgKExFcXVhbCAoR0kwQiwgT25lKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBHSTBCKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBGTEFHKQogICAgICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlNMUEIsIDB4MDIpCiAgICAgICAgICAgIH0KICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuU0xQQiwg MHg4MCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBDLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNC MiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwRSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjMsIDB4MDIpCiAg ICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0JFLCAweDAyKQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoXF9TQikKICAgIHsKICAgICAgICBEZXZpY2UgKFBXUkIpCiAgICAgICAg ewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBDIikpCiAgICAgICAgICAg IE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZp Y2UgKFNMUEIpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QzBFIikpCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDFCLCAKICAgICAgICAgICAgICAgIDB4MDUKICAgICAgICAgICAgfSkKICAgICAg ICB9CgogICAgICAgIERldmljZSAoUENJMCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBBMDMiKSkKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAg ICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkKICAgICAgICAgICAgTmFtZSAoX0JCTiwgMHgwMCkK ICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAyKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgV29yZEJ1c051bWJlciAoUmVzb3VyY2VDb25zdW1lciwgTWluTm90Rml4ZWQsIE1h eE5vdEZpeGVkLCBQb3NEZWNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAw RkYsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMTAwKQogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwQ0Y4LCAweDBD RjgsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgV29yZElPIChSZXNvdXJjZVByb2R1 Y2VyLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2UsCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAog ICAgICAgICAgICAgICAgICAgICAgICAweDBDRjcsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwQ0Y4KQogICAgICAgICAgICAgICAgICAg IFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUs IEVudGlyZVJhbmdlLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MEQwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RjMw MCkKICAgICAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9z RGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAw MEEwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAw KQogICAgICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NE ZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw QzAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwREZGRkYsCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDAp CiAgICAgICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEw MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRUJGRkZGRiwKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkYwMDAwMCkK ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYw LCAweDc2LCBUQ01NKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg4 MiwgVE9NTSkKICAgICAgICAgICAgICAgIEFkZCAoQU1FTSwgMHgwMDAxMDAwMCwgVENNTSkKICAg ICAgICAgICAgICAgIFN1YnRyYWN0ICgweEZFQzAwMDAwLCBUQ01NLCBUT01NKQogICAgICAgICAg ICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChQSUNN LCBQYWNrYWdlICgweDBCKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAog ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5M TktBLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxREZG RkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MTktBLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktELCAKICAgICAgICAgICAgICAgICAgICAweDAw CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAg ICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAg ICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MDAxREZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAg IFxfU0IuUENJMC5MTksxLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktBLCAKICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktC LCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktELCAKICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAg IE5hbWUgKEFQSUMsIFBhY2thZ2UgKDB4MEIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw MDFGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEs IAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MTEKICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgxMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAx REZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgxNwogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg IDB4MTEKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgxMgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0pCiAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgSWYgKExOb3QgKFBJQ0YpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoUElDTSkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEFQSUMpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERl dmljZSAoSFVCMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MDFFMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoUElDTSwgUGFja2FnZSAoMHgyMCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NC LlBDSTAuTE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxO S0YsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTkswLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTE5LQiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0IsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxf U0IuUENJMC5MTktDLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyRkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu TE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMkZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0EsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwM0ZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAw MDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MTktCLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAg ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBc X1NCLlBDSTAuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw LkxOSzAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDA0RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAK ICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOS0YsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTktFLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAg ICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOUZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkxOSzAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ MC5MTksxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRiwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwQUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg CiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgTmFtZSAoQVBJQywgUGFja2FnZSAoMHgyMCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgxNAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgxNQogICAgICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgxNgogICAgICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgxNwogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgx MgogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZG LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEy CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDEyCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAw MDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDExCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDEyCiAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE0CiAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1CiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDE0CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1CiAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZG LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE1 CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEFG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDE3CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDE0CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoUElDRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBJQ00pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQVBJQykKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJXLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2Fn ZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MEIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChQWDQw KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAwKQog ICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQUkVWLCBQQ0lfQ29uZmlnLCAweDA4LCAw eDAxKQogICAgICAgICAgICAgICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgRmllbGQgKFxfU0IuUENJMC5QWDQwLlBSRVYsIEJ5dGVBY2MsIE5vTG9jaywg UHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS RVYwLCAgIDgKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQSVJRLCBQQ0lfQ29uZmlnLCAweDYwLCAweDA0KQog ICAgICAgICAgICAgICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgRmllbGQgKFxfU0IuUENJMC5QWDQwLlBJUlEsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQSVJBLCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJCLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgICAgICBQSVJDLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJELCAgIDgKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChQSVIyLCBQQ0lfQ29uZmlnLCAweDY4LCAweDA0KQogICAgICAgICAgICAg ICAgU2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRmllbGQg KFxfU0IuUENJMC5QWDQwLlBJUjIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQSVJFLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBQSVJGLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJH LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQSVJILCAgIDgKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChMUElPLCBQQ0lfQ29uZmlnLCAweEUwLCAweDBFKQogICAgICAgICAgICAgICAgU2NvcGUgKFwp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFxfU0IuUENJMC5Q WDQwLkxQSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBVQUlPLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBQUklPLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTkRELCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBGV0hELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBH TjFMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBHTjFILCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBMUEUxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBMUEUyLCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAg ICAgICAgICAgICAgR04yTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgR04ySCwgICA4 CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKERJU0Qs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMUEUxLCAweEZFLCBMUEUxKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChMUEUxLCAweEZELCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChM UEUxLCAweEZCLCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMUEUxLCAweEY3LCBMUEUxKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQW5kIChMUEUyLCAweEZDLCBMUEUyKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA1KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChMUEUxLCAweERGLCBMUEUxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA2KSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChHTjJMLCAweEZFLCBHTjJM KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKENLSU8sIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3IgKExQRTEsIDB4MDEsIExQRTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFVB SU8sIDB4RjAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFyZzAsIDB4MDNGOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMCwgVUFJTykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAyRjgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIFVBSU8pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMkU4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDA1LCBVQUlPKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4MDNFOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwNywgVUFJTykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMUEUxLCAweDAyLCBMUEUx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChVQUlPLCAweDBGLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzRjgpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChMb2NhbDAsIDB4MDAsIFVBSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMkY4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoTG9jYWwwLCAweDEwLCBVQUlPKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDJFOCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKExvY2FsMCwgMHg1MCwgVUFJTykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzRTgpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDAsIDB4NzAsIFVBSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEFyZzEsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPciAoTFBFMSwgMHgwNCwgTFBFMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFuZCAoUFJJTywgMHhGQywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMzc4KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDAwLCBQ UklPKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDI3OCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwg UFJJTykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzQkMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDIs IFBSSU8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzEsIDB4MDMpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAo TFBFMSwgMHgwOCwgTFBFMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKExQRTIsIDB4MDEsIExQRTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMjA5 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPciAoTFBFMiwgMHgwMiwgTFBFMikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMSwgMHgwNSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChMUEUxLCAweDIwLCBMUEUxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMzAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU05ERCwgMHgw OCwgU05ERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzMzApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU05ERCwgMHhG NywgU05ERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNikp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMTm90IChMRXF1YWwgKEFyZzAsIDB4RkZGRikpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHhGRiwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIEdO MkwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQXJnMCwgMHgw OCwgR04ySCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR04ySCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR04yTCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKExQRE0sIFBD SV9Db25maWcsIDB4OTAsIDB4MDIpCiAgICAgICAgICAgICAgICBTY29wZSAoXCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoXF9TQi5QQ0kwLlBYNDAuTFBETSwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIExETTAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIExETTEs ICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChT TERNLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhGQywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwgTERNMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhGMywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKExvY2FsMCwgMHgwNCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMikpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERN MCwgMHhDRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwg MHgxMCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHgzRiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHg0MCwgTERNMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJn MSwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFuZCAoTERNMCwgMHhGQywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKExvY2FsMCwgMHgwMywgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhG MywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwQywg TERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoQXJnMSwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTERNMCwgMHhDRiwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgzMCwgTERNMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgw MykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFuZCAoTERNMCwgMHgzRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KExvY2FsMCwgMHhDMCwgTERNMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTY29wZSAoXCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFxT Q1BQLCBTeXN0ZW1JTywgMHhCMiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoXFND UFAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTTUlQLCAgIDgKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChcX1NCLlBDSTAuX0lOSSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo U1RSQyAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1NiwgU01JUCkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKFNUUkMgKFxfT1MsICJNaWNyb3NvZnQgV2luZG93cyBO VCIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQ29uZFJlZk9mIChfT1NJLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChcX09TSSAoIldpbmRvd3Mg MjAwMSIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTksIFNNSVApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBPU0ZMKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgT1NGWCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTgsIFNNSVApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIE9TRkwpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg1NywgU01JUCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAyLCBPU0ZMKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFNjb3BlIChcKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoT1NUUCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKE9TRkwsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1NiwgU01JUCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGTCwgMHgwMikpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDU3LCBTTUlQKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTgsIFNNSVApCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9T RlgsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHg1OSwgU01JUCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFNZU1IpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwMiIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMTAsIDB4MDAxMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwMjIsIDB4MDAyMiwgMHgwMSwgMHgxRSkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAwNDQsIDB4MDA0NCwgMHgwMSwgMHgxQykKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjIsIDB4MDA2MiwgMHgwMSwgMHgwMikK ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjUsIDB4MDA2NSwgMHgw MSwgMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNzQsIDB4 MDA3NCwgMHgwMSwgMHgwQykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAwOTEsIDB4MDA5MSwgMHgwMSwgMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwQTIsIDB4MDBBMiwgMHgwMSwgMHgxRSkKICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwRTAsIDB4MDBFMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAg ICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBCNzgsIDB4MEI3OCwgMHgwNCwgMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBGNzgsIDB4MEY3OCwgMHgwNCwg MHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBBNzgsIDB4MEE3 OCwgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDBF NzgsIDB4MEU3OCwgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDBCQkMsIDB4MEJCQywgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDBGQkMsIDB4MEZCQywgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDA0RDAsIDB4MDREMCwgMHgwMSwgMHgwMikKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyMDAsIDB4MDIwMCwgMHgwMSwgMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyMDIsIDB4MDIwMiwg MHgwMSwgMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzMjAs IDB4MDMyMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAyOTUsIDB4MDI5NSwgMHgwMSwgMHgwMikKICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoUElDKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDAyMCwgMHgwMDIwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDBBMCwgMHgwMEEwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAg ICBJUlFOb0ZsYWdzICgpIHsyfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChETUExKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAyMDAiKSkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIEJ1c01h c3RlciwgVHJhbnNmZXI4KSB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwODAsIDB4MDA4MCwgMHgwMSwgMHgxMSkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAwOTQsIDB4MDA5NCwgMHgwMSwgMHgwQykKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwQzAsIDB4MDBDMCwgMHgwMSwgMHgyMCkK ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoVE1SKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDAxMDAiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JT LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA0MCwgMHgwMDQwLCAweDAxLCAweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHswfQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChSVEMpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEIwMCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwgMHgwMDcwLCAweDAwNzAsIDB4MDQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg IElSUU5vRmxhZ3MgKCkgezh9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNQS1IpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDgwMCIpKQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYxLCAweDAw NjEsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKENPUFIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwNCIpKQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEYwLCAweDAwRjAs IDB4MDEsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezEzfQog ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg U2NvcGUgKFwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChXSU4xLCBTeXN0ZW1JTywgMHgyRSwgMHgwMikKICAgICAgICAgICAgICAgICAgICBG aWVsZCAoV0lOMSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElORFAsICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIERBVEEsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSW5kZXhGaWVsZCAoSU5EUCwgREFUQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwMiks IAogICAgICAgICAgICAgICAgICAgICAgICBDRkcsICAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MDcpLCAKICAgICAgICAgICAgICAgICAgICAgICAgTEROLCAgICA4LCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIElESEksICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElETE8sICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFBPV0MsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgzMCksIAogICAgICAgICAgICAgICAgICAgICAgICBBQ1RSLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgSU9BSCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgSU9BTCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgSU8ySCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgSU8y TCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIElOVFIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg3MiksIAogICAgICAgICAgICAgICAgICAgICAgICBJTlQxLCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4NzQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgRE1D SCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEUwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIENSRTAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTEs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTIsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIENSRTMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENSRTQsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhGMCksIAogICAgICAgICAgICAgICAg ICAgICAgICBPUFQxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQyLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICBPUFQzLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBPUFQ0LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ1LCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBPUFQ2LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ3 LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFQ4LCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICBPUFQ5LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPUFRBLCAgIDgK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRU5GRywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDg3LCBJTkRQKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg4NywgSU5EUCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoRVhGRywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEFBLCBJTkRQKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKENP TTEsIFN5c3RlbUlPLCAweDAzRjgsIDB4MDgpCiAgICAgICAgICAgICAgICBGaWVsZCAoQ09NMSwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBQM0Y4LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAzRjksICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgUDNGQSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0ZCLCAgIDgs IAogICAgICAgICAgICAgICAgICAgIFAzRkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDNG RCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0ZFLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIFAzRkYsICAgOAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoQ09NMiwgU3lzdGVtSU8sIDB4MDJGOCwgMHgwOCkKICAgICAgICAgICAgICAgIEZp ZWxkIChDT00yLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFAyRjgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJGOSwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBQMkZBLCAgIDgsIAogICAgICAgICAgICAgICAgICAg IFAyRkIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJGQywgICA4LCAKICAgICAgICAgICAg ICAgICAgICBQMkZELCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAyRkUsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgUDJGRiwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChDT00zLCBTeXN0ZW1JTywgMHgwM0U4LCAweDA4KQogICAgICAg ICAgICAgICAgRmllbGQgKENPTTMsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUDNFOCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBQM0U5LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAzRUEsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgUDNFQiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0VDLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFAzRUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDNFRSwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBQM0VGLCAgIDgKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKENPTTQsIFN5c3RlbUlPLCAweDAyRTgsIDB4 MDgpCiAgICAgICAgICAgICAgICBGaWVsZCAoQ09NNCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQMkU4LCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIFAyRTksICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJFQSwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBQMkVCLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAy RUMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUDJFRCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBQMkVFLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFAyRUYsICAgOAogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoSUNPTSwgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwM0Y4KSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZELCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZELCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQM0ZBKQogICAgICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoTE5vdCAoTEVxdWFsIChQM0ZBLCAweEMxKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0ZFLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyRjgpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUDJGRCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFAyRkQsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQMkZBKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgV2hpbGUgKExOb3QgKExFcXVhbCAoUDJGQSwgMHhDMSkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkZFLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDNF OCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFAzRUQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoUDNFRCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweEMzLCBQM0VBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxl IChMTm90IChMRXF1YWwgKFAzRUEsIDB4QzEpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQM0VFLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKExvY2FsMCwgMHgwMkU4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVELCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVELCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEMzLCBQMkVBKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTE5vdCAoTEVxdWFsIChQ MkVBLCAweEMxKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQMkVFLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgRGV2aWNlIChGREMwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDA3MDAiKSkKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBQ1RSKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBE KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIExETikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAg ICAgICAgICAgICAgICAgICAgIFNMRE0gKERNQ0gsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMykKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzRjAsIDB4MDNGMCwg MHgwMSwgMHgwNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw M0Y3LCAweDAzRjcsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFO b0ZsYWdzICgpIHs2fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRpYmls aXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezJ9CiAgICAgICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMCwgMHgwMiwg SU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYwLCAweDAz LCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjAsIDB4 MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMCwg MHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNGMCwgMHgwM0Yw LCAweDAxLCAweDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAzRjcsIDB4MDNGNywgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElS UU5vRmxhZ3MgKCkgezZ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGli aWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7Mn0KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDE5LCBJUlFMKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MUMsIERNQVYpCiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAgICAgICAgICAgICAg ICAgICAgICAgU0xETSAoRE1DSCwgRE1DSCkKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBDS0lPIChJT0FELCAweDAzKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFVBUjEp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMDUwMSIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMiwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExPciAo SU9BSCwgSU9BTCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwRCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMRE4pCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBBQ1RSKQogICAgICAgICAgICAgICAg ICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDApCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAw MDAsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgp IHt9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUYxLCAweDA5LCBJUlFXKQogICAgICAgICAgICAgICAg ICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMRE4p CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT0xPKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoSU9BTCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKElPQUgsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FILCBJT1JI KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNGOCwgMHgwM0Y4 LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7 Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDJGOCwg MHgwMkY4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFn cyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDNFOCwgMHgwM0U4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDJFOCwgMHgwMkU4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDksIElSUVcpCiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKElPTE8sIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0hJLCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElS UVcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgw MSwgSU5UUikKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAg ICAgICAgICBDS0lPIChJT0FELCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKExQVDEpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDQwMCIpKQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExETikKICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChPUFQxLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChM RXF1YWwgKExvY2FsMCwgMHgwMikpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKElPQUgs IElPQUwpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcg KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQUNUUikK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBE SVNEICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoQlVGNSwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDAwMCwgMHgwMDAwLCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkge30KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY1LCAweDAyLCBJ T0xPKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjUsIDB4MDMs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNSwgMHgw NCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY1LCAw eDA1LCBJT1JIKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjUs IDB4MDcsIElPTEUpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG NSwgMHgwQSwgSU8yMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChC VUY1LCAweDBCLCBJTzIyKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEJVRjUsIDB4MEMsIElPMjMpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQlVGNSwgMHgwRCwgSU8yNCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChCVUY1LCAweDExLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChJT0FMLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo SU9MTywgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElPSEkpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT1JIKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9BTCwgSU8yMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElPQUwsIElPMjMpCiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoSU9BSCwgMHgwNCwgSU8y MikKICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChJT0FILCAweDA0LCBJTzI0KQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChJT0xPLCAweEJDKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIElPTEUp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwOCwgSU9MRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoSU5UUiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2Fs MCwgTG9jYWw1LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1RS KQogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQlVGNSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDM3OCwgMHgwMzc4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDA3NzgsIDB4MDc3OCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZu Tm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAyNzgsIDB4MDI3OCwgMHgwMSwgMHgwOCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwNjc4LCAweDA2NzgsIDB4MDEsIDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDks MTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwM0JDLCAweDAzQkMsIDB4 MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDdC QywgMHgwN0JDLCAweDAxLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9G bGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5 dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl V29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVCeXRlRmllbGQgKEFyZzAsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDExLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAg ICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJT0xPLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9I SSwgSU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAg ICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIENLSU8gKElP QUQsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIERldmljZSAoRUNQMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwNDAxIikpCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKE9QVDEsIDB4MDIsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVY RkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVO RkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExETikKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAg IFNMRE0gKERNQ0gsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjYsIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwOCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEs IDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3Rlciwg VHJhbnNmZXI4KSB7fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwMywgSU9ISSkKICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDA0LCBJT1JMKQogICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MDUsIElPUkgpCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwQSwgSU9FTCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDBCLCBJT0VIKQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MEMsIElPTUwpCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwRCwgSU9NSCkK ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDA3LCBJT0xF KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEJVRjYsIDB4MTEsIElS UVcpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgxNCwg RE1BQykKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25l LCBBQ1RSKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BTCwgTG9jYWwyKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBJT0xPKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9BSCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwzLCAweDA0 LCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElPRUgpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElPTUgpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChJT0xPLCBJT1JMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoSU9MTywgSU9FTCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPTE8sIElPTUwp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT1JIKQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChJT0xPLCAweEJDKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIElPTEUpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw OCwgSU9MRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU5U UiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMCwgTG9j YWw1LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChETUNILCBMb2NhbDUpCiAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBMb2NhbDUsIERNQUMpCiAgICAgICAgICAgICAg ICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUY2KQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVz b3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMzc4LCAweDAzNzgs IDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDc3OCwgMHgwNzc4LCAweDAxLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezAsMSwzfQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVw ZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI3OCwgMHgwMjc4LCAweDAxLCAweDA4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA2NzgsIDB4MDY3OCwg MHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMs NCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0 aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHswLDEsM30KICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9Qcmkg KCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAzQkMsIDB4MDNCQywgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwN0JDLCAweDA3QkMsIDB4MDEsIDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEs MTJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1 c01hc3RlciwgVHJhbnNmZXI4KSB7MCwxLDN9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRW5kRGVwZW5kZW50Rm4gKCkKICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVG aWVsZCAoQXJnMCwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChBcmcwLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzAsIDB4MDIsIElPQUQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMCwgMHgxMSwgSVJRVykKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDE0LCBETUFDKQogICAgICAgICAgICAgICAgICAgICAgICBF TkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChJT0xPLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9ISSwg SU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAgICAg ICAgICAgICAgICAgICBGaW5kU2V0TGVmdEJpdCAoRE1BQywgTG9jYWwxKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoRE1DSCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBT dWJ0cmFjdCAoTG9jYWwxLCAweDAxLCBETUNIKQogICAgICAgICAgICAgICAgICAgICAgICBTTERN IChMb2NhbDAsIERNQ0gpCiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgQ0tJTyAoSU9BRCwgMHgwMikKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChLQkNULCBT eXN0ZW1JTywgMHg2MCwgMHgwNSkKICAgICAgICAgICAgICAgIEZpZWxkIChLQkNULCBCeXRlQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFAwNjAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA0KSwgCiAgICAgICAg ICAgICAgICAgICAgUDA2NCwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChQUzJNKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBGMTMiKSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChQUzJGLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBs YXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElSUU5vRmxhZ3MgKCkgezEyfQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChCVUYyLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDA2NCwgMHgwMDY0LCAweDAxLCAweDAxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MTJ9CiAgICAgICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEtCREksIDB4MDEpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChPU0ZMLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGTCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUYxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBEZXZpY2UgKFBTMkspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiUE5QMDMwMyIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9D SUQsIDB4MEIwM0QwNDEpCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoS0JESSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjAsIDB4MDA2MCwgMHgwMSwg MHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjQsIDB4MDA2 NCwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MX0K ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoUFNNUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgwMykKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChLQkRJLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQUzJGLCAweDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo T1NGTCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQsIDB4MDEsIDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEdB TUUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QQjAyRiIpKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExPciAoSU9BSCwgSU9BTCkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQUNUUiwgMHgwMiwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAyKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZH ICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUgpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICBFWEZH ICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYx LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAg ICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgTEROKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BTCwgSU9MTykKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKElPQUwsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0FILCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9BSCwgSU9SSCkK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBO YW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAyMDEsIDB4MDIwMSwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAyMDksIDB4MDIwOSwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChBcmcwLCAweDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgTEROKQogICAgICAgICAgICAg ICAgICAgICAgICBPciAoQUNUUiwgMHgwMiwgQUNUUikKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKElPTE8sIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJ T0FIKQogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAg ICAgIENLSU8gKElPQUQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoTUlESSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlBCMDA2IikpCiAgICAgICAg ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChNSUQxLCBTeXN0ZW1JTywgMHgwMjkwLCAweDAy KQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChNSUQxLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTUQxLCAg ICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgU1QxLCAgICA4CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKE1JRDIsIFN5c3RlbUlP LCAweDAzMDAsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKE1JRDIsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBNRDIsICAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTVDIsICAgIDgKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo TUlEMywgU3lzdGVtSU8sIDB4MDMzMCwgMHgwMikKICAgICAgICAgICAgICAgICAgICBGaWVsZCAo TUlEMywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE1EMywgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IFNUMywgICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwNywgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJTzJILCBJTzJMKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhG RyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChBQ1RSLCAweDA0 LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAs IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwNywgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSU8y SCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPMkwpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJTlRSKQogICAgICAgICAgICAgICAgICAgICAgICBF WEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDUpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChC VUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEs IDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVG aWVsZCAoQlVGMSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKEJVRjEsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChCVUYxLCAweDA5LCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAgICBF TkZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBMRE4pCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChJTzJMLCBJT0xPKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoSU8yTCwgSU9STCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPMkgs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzJILCBJT1JIKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAgICAgICAgICAg ICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDMzMCwgMHgwMzMwLCAweDAxLCAw eDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5 LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDMwMCwgMHgwMzAwLCAw eDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0 LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI5MCwgMHgw MjkwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAo KSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDksIElSUVcpCiAgICAgICAgICAgICAgICAgICAgICAgIEVORkcgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIExETikKICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKEFDVFIsIDB4MDQsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChJT0xPLCBJTzJMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9ISSwgSU8y SCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldExlZnRCaXQgKElSUVcsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRSKQogICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIENLSU8gKElPQUQsIDB4 MDUpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKElPQUQsIDB4MDI5MCkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAo U1QxLCAweDQwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEVx dWFsIChMb2NhbDAsIDB4NDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChNRDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFNUMSwgMHg0MCwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoSU9BRCwgMHgwMzAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNUMiwgMHg0 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlIChMRXF1YWwg KExvY2FsMCwgMHg0MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTUQyLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1QyLCAweDQwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1QzLCAweDQwLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExFcXVhbCAoTG9j YWwwLCAweDQwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChNRDMsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChTVDMsIDB4NDAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQTUlPKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDA0MDAsIDB4MDQwMCwgMHgwMSwgMHhDMCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChV U0IwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAw KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAy KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAz KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAg ICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChVU0IxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwMUQwMDAxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5h bWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwNCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0IyKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAyKQogICAgICAgICAgICAgICAgTWV0 aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwQywgCiAgICAgICAgICAgICAgICAgICAgMHgwMwog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0Iz KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAzKQog ICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TRkwsIDB4MDIpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4 MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwRSwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgRGV2aWNlIChVU0JFKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMUQwMDA3KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUg KF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwRCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChJQ0hYKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAxKQogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChQQ0ksIFBDSV9Db25maWcsIDB4NDAsIDB4MjApCiAgICAgICAgICAgICAgICBG aWVsZCAoUENJLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJVE0wLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBJVE0x LCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBTSVQwLCAgIDQsIAogICAgICAgICAgICAgICAg ICAgIFNJVDEsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAg ICAgICAgICAgICAgICAgVURDMCwgICAyLCAKICAgICAgICAgICAgICAgICAgICBVREMxLCAgIDIs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwQSksIAogICAgICAgICAgICAgICAgICAg IFVEVDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgVURUMSwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MTQpLCAKICAgICAgICAgICAgICAgICAgICBJQ0YwLCAgIDIsIAog ICAgICAgICAgICAgICAgICAgIElDRjEsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICA2LCAKICAgICAgICAgICAgICAgICAgICBXUFBFLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgRkFTMCwgICAyLCAKICAgICAgICAgICAg ICAgICAgICBGQVMxLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKEdUTSwgNiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQnVmZmVyICgweDE0KSB7fSwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwMCwgUElPMCkKICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDQsIERNQTApCiAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDA4LCBQSU8xKQogICAgICAgICAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwQywgRE1BMSkKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MTAsIEZMQUcpCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MTAsIEZMQUcpCiAgICAgICAgICAgICAgICAgICAgSWYgKExPciAo QW5kIChBcmcwLCAweDA4KSwgTE5vdCAoQW5kIChBcmcwLCAweDAxKSkpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwgUElPMCkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChTaGlmdFJpZ2h0IChBbmQgKEFy ZzAsIDB4MDMwMCksIDB4MDgpLCBTaGlmdFJpZ2h0IChBbmQgKEFyZzAsIDB4MzAwMCksIDB4MEMp LCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChTdWJ0cmFjdCAoMHgw OSwgTG9jYWwxKSwgMHgxRSwgUElPMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChMT3IgKExBbmQgKEFyZzAsIDB4NDAwMCksIExBbmQgKEFyZzIsIDB4MDEp KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3Ig KEFuZCAoQXJnMCwgMHg4MCksIExOb3QgKEFuZCAoQXJnMCwgMHgxMCkpKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwg UElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFkZCAoQW5kIChBcmcxLCAweDAzKSwgU2hpZnRSaWdodCAoQW5kIChBcmcxLCAweDBDKSwgMHgw MiksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChTdWJ0cmFj dCAoMHgwOSwgTG9jYWwxKSwgMHgxRSwgUElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgUElPMSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4 MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJh Y3QgKDB4MDQsIEFuZCAoQXJnMywgMHgwMyksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoQXJnNSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDE0LCBETUEwKQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNCwgMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwRiwgRE1BMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAo TG9jYWwxLCAweDFFLCBETUEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChQSU8wLCBETUEwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExPciAoTEFuZCAoQXJnMCwgMHg0MDAwKSwgTEFuZCAoQXJnMiwgMHgwMSkpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMiwg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN1YnRyYWN0ICgweDA0LCBTaGlmdFJpZ2h0IChBbmQgKEFyZzMsIDB4MzApLCAweDA0KSwg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNSwgMHgwMikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MTQsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnNCwgMHgwMikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwxLCAweDBGLCBETUExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwxLCAweDFFLCBETUExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8x LCBETUExKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChETUEwLCBETUExKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEZMQUcpCiAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPciAoRkxBRywgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4MDEpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEZMQUcsIDB4MDEsIEZMQUcpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcwLCAweDAy KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChGTEFH LCAweDAyLCBGTEFHKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQXJnMiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPciAoRkxBRywgMHgwNCwgRkxBRykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzAsIDB4MjApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEZMQUcsIDB4MDgsIEZMQUcpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNUTSwgMywgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVy ICgweDE4KSB7fSwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwMCwgSVRNKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwNCwgU0lUKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwOCwgVURDKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwQywgVURUKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgxNCwgRkFTKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEFyZzAsIDB4MDAsIFBJTzApCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo QXJnMCwgMHgwNCwgRE1BMCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChB cmcwLCAweDA4LCBQSU8xKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIDB4MEMsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJn MCwgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRkxBRywgTG9jYWw0KQog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwMDAsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChMb2NhbDQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwNywgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWw0LCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4 NDAwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDcwLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFu ZCAoTExlc3MgKERNQTAsIFBJTzApLCBMTm90IChBbmQgKExvY2FsNCwgMHgwMSkpKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDgs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChM QW5kIChMTGVzcyAoRE1BMSwgUElPMSksIExOb3QgKEFuZCAoTG9jYWw0LCAweDA0KSkpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHg4 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYg KFBJTzApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TExlc3MgKFBJTzAsIDB4MDM4NCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKFBJTzEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTExlc3MgKFBJTzEsIDB4MDM4NCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MTAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoTG9jYWw0LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChQSU8wLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChETUEwLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChMb2NhbDEsIDB4Nzgp KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3IgKExvY2FsMCwgMHgyMzAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMSwgMHhCNCkp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChMb2NhbDAsIDB4MjEwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChM R3JlYXRlciAoTG9jYWwxLCAweEYwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDEwMDAs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElUTSkKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChB bmQgKExvY2FsNCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoUElPMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoRE1BMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoTG9jYWwxLCAweDc4KSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDBCLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMSwgMHhCNCkpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDA5LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChMb2NhbDEsIDB4RjAp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoTG9jYWwwLCBTSVQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDQsIDB4MDEpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwMSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo TG9jYWw0LCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDAsIDB4MDIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFVEQykKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsNCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChETUEwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoRE1BMCwgMHgzQykp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRGl2aWRlIChETUEwLCAweDBGLCAsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKERN QTAsIDB4MUUsICwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0ICgweDA0LCBMb2NhbDEsIExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKEFuZCAoTG9jYWw0LCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERNQTEsIDB4MTQpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExMZXNzIChETUExLCAweDNDKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKERNQTEsIDB4MEYsICwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERpdmlkZSAoRE1BMSwgMHgxRSwgLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3Qg KDB4MDQsIExvY2FsMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMSwgMHgwNCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFVEVCkKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElm IChETUEwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExHcmVhdGVyIChETUEwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUEwLCAweDNDKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9j YWwwLCAweDAxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIElmIChETUExKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExHcmVhdGVyIChETUExLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUExLCAweDNDKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElDRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERNQTAsIDB4MTQp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2Fs MCwgMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoRE1BMSwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBGQVMpCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChIMTVQLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRkYsIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEJVRkYsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwwLCBM b2NhbDEsIExvY2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKExvY2Fs NywgMHgwMiwgQ1lMKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWw3 LCAweDA2LCBIRUFEKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWw3 LCAweDBDLCBTUFQpCiAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExMZXNzIChI RUFELCAweDEwKSksIExOb3QgKExMZXNzIChDWUwsIDB4MjAwMCkpKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1BUKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoR1RGMCwgNywgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QnVmZmVyICgweDA3KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIExvY2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKExvY2FsNywgMHgwMSwgTU9ERSkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChBcmcyLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFuZCAoQXJnMywgMHgwMywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QW5kIChBcmc2LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWRkIChMb2NhbDAsIDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzQsIDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFkZCAoTG9jYWwwLCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IE9yIChMb2NhbDAsIDB4NDAsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFkZCAoU2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDAzMDApLCAweDA4KSwgU2hpZnRSaWdo dCAoQW5kIChBcmcwLCAweDMwMDApLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTE5vdCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyMiwgTU9ERSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90 IChMTGVzcyAoTG9jYWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MjEsIE1PREUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MjAsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcsIExvY2FsNywgTG9jYWw2KQogICAgICAgICAgICAg ICAgICAgIElmIChMT3IgKEFuZCAoQXJnMCwgMHgwOCksIExOb3QgKEFuZCAoQXJnMCwgMHgwMSkp KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQg KEFyZzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgTU9ERSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBNT0RFKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoU2hp ZnRSaWdodCAoQW5kIChBcmcwLCAweDAzMDApLCAweDA4KSwgU2hpZnRSaWdodCAoQW5kIChBcmcw LCAweDMwMDApLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5v dCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQywgTU9ERSkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9j YWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIE1PREUpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MEEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIENvbmNh dGVuYXRlIChMb2NhbDYsIExvY2FsNywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgIElmIChB cmc1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEJ1ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEFFLCAw eDkxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDQpCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw0LCAweDAxLCBTUFQpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmc1LCBTUFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENv bmNhdGVuYXRlIChMb2NhbDUsIExvY2FsNCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoR1RGMSwgNywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVyICgweDA3KQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweEIwLCAweEVGCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIExv Y2FsNykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKExvY2FsNywgMHgwMSwg TU9ERSkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDAyKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJn MywgMHgzMCksIDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo QXJnNiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmc0LCAweDAyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBZGQgKExvY2FsMCwgMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBPciAo TG9jYWwwLCAweDQwLCBNT0RFKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBB ZGQgKFNoaWZ0UmlnaHQgKEFuZCAoQXJnMSwgMHgwMyksIDB4MDIpLCBBbmQgKEFyZzEsIDB4MEMp LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoTG9jYWww LCAweDA1KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDIyLCBNT0RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChMb2NhbDAsIDB4MDMpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgyMSwgTU9ERSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyMCwgTU9ERSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsNywg TG9jYWw3LCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgSWYgKExPciAoQW5kIChBcmcwLCAw eDgwKSwgTE5vdCAoQW5kIChBcmcwLCAweDEwKSkpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwgMHgyMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBNT0RF KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgQWRkIChTaGlmdFJpZ2h0IChBbmQgKEFyZzEsIDB4MDMpLCAw eDAyKSwgQW5kIChBcmcxLCAweDBDKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTE5vdCAoTExlc3MgKExvY2FsMCwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQywgTU9ERSkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMTGVz cyAoTG9jYWwwLCAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIE1PREUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MEEsIE1PREUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IENvbmNhdGVuYXRlIChMb2NhbDYsIExvY2FsNywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAg IElmIChBcmc1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEJ1ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eEJFLCAweDkxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDQpCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw0LCAweDAxLCBTUFQpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmc1LCBTUFQpCiAgICAgICAgICAgICAgICAgICAg ICAgIENvbmNhdGVuYXRlIChMb2NhbDUsIExvY2FsNCwgTG9jYWw2KQogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoUFJJTSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0dUTSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChHVE0gKElUTTAsIFNJVDAsIFVEQzAsIFVEVDAsIElDRjAs IEZBUzApLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RNLCAz LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lUKQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgsIFVEQykK ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDBDLCBV RFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgx MCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAs IDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURDMCkKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMCkKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKElDRiwgSUNGMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEZB UywgRkFTMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmlj ZSAoTUFTVCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8p CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEdURjAgKElUTTAsIFNJVDAsIFVEQzAsIFVEVDAsIElDRjAsIEgxNUYsIEZBUzApLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgRGV2aWNlIChTTEFWKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSDE1 RiwgWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoR1RGMSAoSVRNMCwgU0lUMCwgVURDMCwgVURUMCwgSUNGMCwgSDE1RiwgRkFT MCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoU0VDTikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxKQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0dUTSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHVE0gKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEs IElDRjEsIEZBUzEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf U1RNLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lU KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgs IFVEQykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAw eDBDLCBVRFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs MCwgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChM b2NhbDAsIDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURD MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKElDRiwgSUNGMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEZBUywgRkFTMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IERldmljZSAoTUFTVCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYs IFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEdURjAgKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEsIElDRjEsIEgxNUYsIEZBUzEp LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgRGV2aWNlIChTTEFWKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoSDE1RiwgWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoR1RGMSAoSVRNMSwgU0lUMSwgVURDMSwgVURUMSwgSUNGMSwgSDE1 RiwgRkFTMSksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKElERTEpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDIpCiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKElERUMsIFBDSV9Db25maWcsIDB4OTAsIDB4MDMp CiAgICAgICAgICAgICAgICBGaWVsZCAoSURFQywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNQVAsICAgIDgsIAogICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgwMiksIAogICAgICAgICAgICAgICAgICAgIFBDUywgICAg OAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUENJ LCBQQ0lfQ29uZmlnLCAweDQwLCAweDIwKQogICAgICAgICAgICAgICAgRmllbGQgKFBDSSwgRFdv cmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSVRNMCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgSVRNMSwgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgU0lUMCwgICA0LCAKICAgICAgICAgICAgICAgICAgICBTSVQxLCAgIDQs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAgICAg IFVEQzAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgVURDMSwgICAyLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MEEpLCAKICAgICAgICAgICAgICAgICAgICBVRFQwLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFVEVDEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDE0KSwgCiAgICAgICAgICAgICAgICAgICAgSUNGMCwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBJQ0YxLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAg ICAgICAgICAgICAgV1BQRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgIEZBUzAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgRkFTMSwg ICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUklEKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfR1RNLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JQ0hY LkdUTSAoSVRNMCwgU0lUMCwgVURDMCwgVURUMCwgSUNGMCwgRkFTMCksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kw LklDSFguU1RNIChBcmcwLCBBcmcxLCBBcmcyKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDAsIElUTSkKICAgICAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDA0LCBTSVQpCiAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwOCwgVURDKQogICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MEMsIFVEVCkKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDEwLCBJQ0Yp CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgxNCwg RkFTKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoVURDLCBVREMwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoVURULCBVRFQwKQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoSUNGLCBJQ0YwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRkFTLCBGQVMw KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChEUlYw KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSDE1RiwgWmVybykKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQ1RZUCAo MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JQ0hYLkdURjAgKElUTTAsIFNJVDAsIFVEQzAs IFVEVDAsIElDRjAsIEgxNUYsIEZBUzApLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoRFJW MSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8pCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENUWVAg KDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuSUNIWC5HVEYxIChJVE0wLCBTSVQwLCBVREMw LCBVRFQwLCBJQ0YwLCBIMTVGLCBGQVMwKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9Q UzAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQ1RZUCAoMHgwMCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAw eDAzLCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAzKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAweDAx LCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUENTLCAweDAyLCBQ Q1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDVFlQICgweDAwKSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBQQ1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwzLCAweDAz KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOQW5kIChQQ1MsIDB4MDEsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5BbmQgKFBDUywgMHgwMiwgUENTKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoU0VDRCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAxKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dUTSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChc X1NCLlBDSTAuSUNIWC5HVE0gKElUTTEsIFNJVDEsIFVEQzEsIFVEVDEsIElDRjEsIEZBUzEpLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RNLCAzLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFxfU0IuUENJMC5JQ0hYLlNUTSAoQXJnMCwgQXJnMSwgQXJnMiksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBJVE0pCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwNCwgU0lU KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDgs IFVEQykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAw eDBDLCBVRFQpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs MCwgMHgxMCwgSUNGKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChM b2NhbDAsIDB4MTQsIEZBUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEQywgVURD MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFVEVCwgVURUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKElDRiwgSUNGMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEZBUywgRkFTMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDVFlQICgweDAxKSwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDIpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChQQ1MsIDB4MDMsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDUpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y IChQQ1MsIDB4MDEsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDYpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQ Q1MsIDB4MDIsIFBDUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKENUWVAg KDB4MDEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFBDUykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChM b2NhbDMsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5BbmQgKFBDUywgMHgwMSwgUENTKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExv Y2FsMCwgMHgwNikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTkFuZCAoUENTLCAweDAyLCBQQ1MpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAo RFJWMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEgxNUYsIFplcm8pCiAg ICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENU WVAgKDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuSUNIWC5HVEYwIChJVE0xLCBTSVQxLCBV REMxLCBVRFQxLCBJQ0YxLCBIMTVGLCBGQVMxKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2Ug KERSVjEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChIMTVGLCBaZXJvKQog ICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChD VFlQICgweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLklDSFguR1RGMSAoSVRNMSwgU0lUMSwg VURDMSwgVURUMSwgSUNGMSwgSDE1RiwgRkFTMSksIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKEdTUFMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTUFQLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBDUywg TG9jYWwyKQogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwxLCAweDA2KSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBM b2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDQpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDUpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMQW5kIChMb2NhbDIsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDMpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMb2Nh bDIsIDB4MjApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMQW5kIChMb2NhbDEsIDB4MDEpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMywgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExv Y2FsMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKFNoaWZ0TGVmdCAoTG9jYWw0LCAweDAxLCBMb2NhbDQpLCBM b2NhbDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw0LCBMb2NhbDUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTG9jYWwxLCAweDA0KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoU2hpZnRMZWZ0IChMb2NhbDMsIDB4MDEsIExvY2FsMyksIExvY2FsNSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDVFlQLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEdyZWF0ZXIgKE1BUCwgMHgwMSksIExM ZXNzIChNQVAsIDB4MDYpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE1BUCwgWmVybykpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChNQVAsIE9uZSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEdyZWF0ZXIgKE1BUCwgMHgwNSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChNQVAsIFplcm8p KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDA1LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTUFQLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDA2LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBEZXZpY2UgKFBYNDMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDAxRjAwMDMpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBC QVMsIFBDSV9Db25maWcsIDB4MjAsIDB4MDIpCiAgICAgICAgICAgICAgICBGaWVsZCAoUEJBUywg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBCQVMwLCAgIDE2CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChTTUJCLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIEFuZCAoQkFTMCwgMHhGRkZFLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIERldmljZSAoTU9ETSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMDFGMDAwNikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSVywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2th Z2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAw eDA1LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKEJVRkEs IFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHszLDQsNSw3LDksMTAsMTEsMTIsMTQsMTV9CiAgICAg ICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEJVRkIsIFJlc291cmNlVGVtcGxhdGUgKCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQp IHt9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQlVGQiwgMHgw MSwgSVJRVikKICAgICAgICAgICAgRGV2aWNlIChMTktBKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBO YW1lIChfVUlELCAweDAxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSQSwg MHg4MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4 MCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgT3IgKFBJUkEsIDB4ODAsIFBJUkEpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSQSwgMHgwRiwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAg ICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIFBJUkEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoTE5LQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkIsIDB4ODAsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEJVRkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9y IChQSVJCLCAweDgwLCBQSVJCKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBBbmQgKFBJUkIsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEJVRkIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5k U2V0UmlnaHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJCKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExOS0MpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkK ICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDMpCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgQW5kIChQSVJDLCAweDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoTG9jYWwwLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoUElSQywgMHg4MCwgUElSQykK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQW5kIChQSVJD LCAweDBGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2Nh bDAsIElSUVYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZCKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAs IDB4MDEsIElSUTEpCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlExLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgUElSQykKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMTktEKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1l IChfVUlELCAweDA0KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRCwgMHg4 MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4MCkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgT3IgKFBJUkQsIDB4ODAsIFBJUkQpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRCwgMHgwRiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAgICAg ICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIFBJUkQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERl dmljZSAoTE5LRSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNSkKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkUsIDB4ODAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9yIChQ SVJFLCAweDgwLCBQSVJFKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBBbmQgKFBJUkUsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTaGlm dExlZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0 UmlnaHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJFKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExOS0YpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAg ICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDYpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgQW5kIChQSVJGLCAweDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwwLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoUElSRiwgMHg4MCwgUElSRikKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQW5kIChQSVJGLCAw eDBGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDAs IElSUVYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZCKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4 MDEsIElSUTEpCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlExLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKExvY2FsMCwgUElSRikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgRGV2aWNlIChMTkswKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1lIChf VUlELCAweDA3KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRywgMHg4MCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHg4MCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgT3IgKFBJUkcsIDB4ODAsIFBJUkcpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoUElSRywgMHgwRiwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlExKQogICAgICAgICAg ICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMSwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAs IFBJUkcpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoTE5LMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwOCkKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBBbmQgKFBJUkgsIDB4ODAsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4ODApKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkEp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9yIChQSVJI LCAweDgwLCBQSVJIKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBBbmQgKFBJUkgsIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTaGlmdExl ZnQgKDB4MDEsIExvY2FsMCwgSVJRVikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkIp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0Umln aHRCaXQgKElSUTEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJIKQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9QUlcsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgw MikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAg ICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAg ICAgICBNZXRob2QgKFxfU0IuUENJMC5QWDQwLlVBUjEuX1BSVywgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAgICAgICAg ICAgIDB4MDUKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAg ICAgIERldmljZSAoTUVNKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwMSIpKQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVk IChSZWFkV3JpdGUsIDB4MDAwRjAwMDAsIDB4MDAwMDQwMDApCiAgICAgICAgICAgICAgICAgICAg TWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMEY0MDAwLCAweDAwMDA0MDAwKQogICAgICAg ICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDBGODAwMCwgMHgwMDAw NDAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAw RkMwMDAsIDB4MDAwMDQwMDApCiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZFdyaXRlLCAweDAwMDAwMDAwLCAweDAwMDEwMDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9y eTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDBBMDAwMCkKICAgICAgICAgICAg ICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAxMDAwMDAsIDB4MDAwMDAwMDAp CiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEZFQzAwMDAw LCAweDAwMDAxMDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0 ZSwgMHhGRUMwMTAwMCwgMHgwMDE4RjAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZp eGVkIChSZWFkV3JpdGUsIDB4RkVFMDAwMDAsIDB4MDAwMDEwMDApCiAgICAgICAgICAgICAgICAg ICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEZGQjAwMDAwLCAweDAwMTAwMDAwKQogICAg ICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHhGRkYwMDAwMCwgMHgw MDEwMDAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4 MDAwRTAwMDAsIDB4MDAwMTAwMDApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgzNCwgQUNNTSkKICAgICAgICAgICAgICAgIENyZWF0 ZURXb3JkRmllbGQgKEJVRjAsIDB4MDQsIFJNQTEpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChCVUYwLCAweDA4LCBSU1MxKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQlVGMCwgMHgxMCwgUk1BMikKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJV RjAsIDB4MTQsIFJTUzIpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAw eDFDLCBSTUEzKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgyMCwg UlNTMykKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MjgsIFJNQTQp CiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDJDLCBSU1M0KQogICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg1MCwgRVhUTSkKICAgICAgICAg ICAgICAgIFN1YnRyYWN0IChBTUVNLCAweDAwMTAwMDAwLCBFWFRNKQogICAgICAgICAgICAgICAg SWYgKExOb3QgKExFcXVhbCAoUk9NMSwgWmVybykpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChSTUExLCBSTUEyKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoUk9NMSwgMHgwOCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIFJNQTEpCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChSTVMxLCAweDA4LCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUlNTMSkKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHg4MDAwLCBSU1MyKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChMTm90IChMRXF1YWwgKFJPTTIsIFplcm8pKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUk1BMiwgUk1BMykKICAgICAgICAgICAgICAgICAg ICBTaGlmdExlZnQgKFJPTTIsIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwwLCBSTUEyKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoUk1TMiwgMHgw OCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFJTUzIpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4QzAwMCwgUlNTMykKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChST00zLCBaZXJvKSkpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJNQTMsIFJNQTQpCiAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0IChST00zLCAweDA4LCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgUk1BMykKICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKFJN UzMsIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBSU1Mz KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwMDEwMDAwLCBSU1M0KQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChBTUVNLCBBQ01NKQogICAgICAgICAgICAg ICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE9wZXJh dGlvblJlZ2lvbiAoVEVNTSwgU3lzdGVtTWVtb3J5LCAweDAwMEZGODEwLCAweDBDKQogICAgRmll bGQgKFRFTU0sIFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgVFAxSCwg ICAxNiwgCiAgICAgICAgVFAxTCwgICAxNiwgCiAgICAgICAgVFAySCwgICAxNiwgCiAgICAgICAg VFAyTCwgICAxNiwgCiAgICAgICAgVFJQQywgICAxNiwgCiAgICAgICAgU0VORiwgICAxNgogICAg fQoKICAgIE5hbWUgKFRWQVIsIEJ1ZmZlciAoMHgwNSkKICAgIHsKICAgICAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwCiAgICB9KQogICAgQ3JlYXRlQnl0ZUZpZWxkIChUVkFSLCAweDAw LCBQTENZKQogICAgQ3JlYXRlV29yZEZpZWxkIChUVkFSLCAweDAxLCBDVE9TKQogICAgQ3JlYXRl V29yZEZpZWxkIChUVkFSLCAweDAzLCBDVEhZKQogICAgTmFtZSAoVEJVRiwgQnVmZmVyICgweDA0 KQogICAgewogICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgIH0pCiAgICBDcmVhdGVC eXRlRmllbGQgKFRCVUYsIDB4MDAsIERCMDApCiAgICBDcmVhdGVCeXRlRmllbGQgKFRCVUYsIDB4 MDEsIERCMDEpCiAgICBDcmVhdGVXb3JkRmllbGQgKFRCVUYsIDB4MDAsIERXMDApCiAgICBDcmVh dGVXb3JkRmllbGQgKFRCVUYsIDB4MDIsIERXMDEpCiAgICBDcmVhdGVEV29yZEZpZWxkIChUQlVG LCAweDAwLCBEQVREKQogICAgT3BlcmF0aW9uUmVnaW9uIChTRU4xLCBTeXN0ZW1JTywgMHgwMjk1 LCAweDAyKQogICAgRmllbGQgKFNFTjEsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7 CiAgICAgICAgU0VJMCwgICA4LCAKICAgICAgICBTRUQwLCAgIDgKICAgIH0KCiAgICBNZXRob2Qg KFNUT1MsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExMZXNzIChBcmcyLCAw eDBBQUMpKQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKEFyZzIsIDB4MEFBQywgTG9j YWwwKQogICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwgMHgwQSwgTG9jYWwwKQogICAgICAgIH0K ICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBTdWJ0cmFjdCAoMHgwQUFDLCBBcmcy LCBMb2NhbDApCiAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAgICAg ICAgICAgIEFkZCAoTG9jYWwwLCAweDgwLCBMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBXQllU ICgweDRFLCAweDAxKQogICAgICAgIFdCWVQgKDB4NTMsIExvY2FsMCkKICAgIH0KCiAgICBNZXRo b2QgKFNUSFksIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExMZXNzIChBcmcy LCAweDBBQUMpKQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKEFyZzIsIDB4MEFBQywg TG9jYWwwKQogICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwgMHgwQSwgTG9jYWwwKQogICAgICAg IH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBTdWJ0cmFjdCAoMHgwQUFDLCBB cmcyLCBMb2NhbDApCiAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAg ICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDgwLCBMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBX QllUICgweDRFLCAweDAxKQogICAgICAgIFdCWVQgKDB4NTQsIExvY2FsMCkKICAgIH0KCiAgICBN ZXRob2QgKFJUTVAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgV0JZVCAoMHg0RSwg MHgwMSkKICAgICAgICBTdG9yZSAoUkJZVCAoMHg1MCksIExvY2FsMCkKICAgICAgICBJZiAoTExl c3MgKExvY2FsMCwgMHg4MCkpCiAgICAgICAgewogICAgICAgICAgICBNdWx0aXBseSAoTG9jYWww LCAweDBBLCBMb2NhbDApCiAgICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDBBQUMsIExvY2FsMCkK ICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJhY3QgKExv Y2FsMCwgMHg4MCwgTG9jYWwwKQogICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwwLCAweDBBLCBM b2NhbDApCiAgICAgICAgICAgIFN1YnRyYWN0ICgweDBBQUMsIExvY2FsMCwgTG9jYWwwKQogICAg ICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoU1NIVSwgMHgwMSkpCiAgICAgICAgewogICAgICAg ICAgICBSZXR1cm4gKDB4MEMzQykKICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoV0JZ VCwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTdG9yZSAoQXJnMCwgU0VJMCkKICAg ICAgICBTdG9yZSAoQXJnMSwgU0VEMCkKICAgIH0KCiAgICBNZXRob2QgKFJCWVQsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKEFyZzAsIFNFSTApCiAgICAgICAgU3RvcmUg KFNFRDAsIExvY2FsMCkKICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgIH0KCiAgICBNZXRob2Qg KFNGQU4sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg WmVybykpCiAgICAgICAgewogICAgICAgICAgICBGT0ZGICgpCiAgICAgICAgfQogICAgICAgIEVs c2UKICAgICAgICB7CiAgICAgICAgICAgIEZPTiAoKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRo b2QgKEZPTiwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBXQllUICgweDRFLCAweDAw KQogICAgICAgIFdCWVQgKDB4MDEsIDB4RkYpCiAgICAgICAgV0JZVCAoMHgwMywgMHhGRikKICAg IH0KCiAgICBNZXRob2QgKEZPRkYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgV0JZ VCAoMHg0RSwgMHgwMCkKICAgICAgICBXQllUICgweDAxLCAweDAwKQogICAgICAgIFdCWVQgKDB4 MDMsIDB4MDApCiAgICB9CgogICAgU2NvcGUgKFxfVFopCiAgICB7CiAgICAgICAgRGV2aWNlIChG QU4pCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBCIikp CiAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgU3RvcmUgKFRQMUgsIENUT1MpCiAgICAgICAgICAgICAgICBTdG9y ZSAoVFAxTCwgQ1RIWSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgVGhlcm1hbFpv bmUgKFRIUk0pCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfQUwwLCBQYWNrYWdlICgweDAx KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBGQU4KICAgICAgICAgICAgfSkKICAgICAg ICAgICAgTWV0aG9kIChfQUMwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBJZiAoT3IgKFBMQ1ksIFBMQ1ksIExvY2FsNykpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChUUDJIKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoVFAxSCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAg TmFtZSAoX1BTTCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg XF9QUi5DUFUwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKF9UU1AsIDB4M0MpCiAg ICAgICAgICAgIE5hbWUgKF9UQzEsIDB4MDQpCiAgICAgICAgICAgIE5hbWUgKF9UQzIsIDB4MDMp CiAgICAgICAgICAgIE1ldGhvZCAoX1BTViwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgSWYgKE9yIChQTENZLCBQTENZLCBMb2NhbDcpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoVFAxSCkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFRQMkgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE1ldGhvZCAoX0NSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChUUlBDKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKF9UTVAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEFuZCAoU0VORiwgMHgwMSwgTG9jYWw2KQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9j YWw2LCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFJUTVAgKCkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCODYpCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1NDUCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUExDWSkKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgUExDWSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfVFouVEhSTSwgMHg4MSkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTWV0aG9kIChTVE1QLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBTdG9yZSAoQXJnMSwgRFcwMCkKICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNUSFkgKERCMDAsIERCMDEsIERXMDAp CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU1RPUyAoREIwMCwgREIwMSwgRFcwMCkKICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoK ------=_Part_11191_18960977.1170880498859--