Date: Mon, 11 Jul 2005 20:12:11 -0700 (PDT) From: KAYVEN RIESE <kayve@sfsu.edu> To: freebsd-acpi@FreeBSD.org Subject: Re: can't see nuthin' Message-ID: <Pine.GSO.4.44.0507112011300.12063-200000@libra.sfsu.edu> In-Reply-To: <Pine.GSO.4.44.0507112007310.12063-100000@libra.sfsu.edu> References: <Pine.GSO.4.44.0507112007310.12063-100000@libra.sfsu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-758783491-1121137931=:12063 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 11 Jul 2005, KAYVEN RIESE wrote: > > i can't see any of my devices with freeBSD 6.0 umm.. > > tell me what to tell you because i have no clue. > > attached is the output of the command acpidump -t -d ---559023410-758783491-1121137931=:12063 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="freeBSD6.0.asl" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.GSO.4.44.0507112012110.12063@libra.sfsu.edu> Content-Description: Content-Disposition: attachment; filename="freeBSD6.0.asl" LyoNCiAgUlNEIFBUUjogT0VNPUFDUElBTSwgQUNQSV9SZXY9MS4weCAoMCkN CglSU0RUPTB4MWZmNDAwMDAsIGNrc3VtPTM1DQogKi8NCi8qDQogIFJTRFQ6 IExlbmd0aD00NCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjEyLA0KCU9FTUlE PUEgTSBJLCBPRU0gVGFibGUgSUQ9T0VNUlNEVCwgT0VNIFJldmlzaW9uPTB4 OTAwMDQwNiwNCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNpb249 MHg5Nw0KCUVudHJpZXM9eyAweDFmZjQwMjAwLCAweDFmZjUwMDQwIH0NCiAq Lw0KLyoNCiAgRkFDUDogTGVuZ3RoPTEyOSwgUmV2aXNpb249MSwgQ2hlY2tz dW09MjAxLA0KCU9FTUlEPUEgTSBJLCBPRU0gVGFibGUgSUQ9T0VNRkFDUCwg T0VNIFJldmlzaW9uPTB4OTAwMDQwNiwNCglDcmVhdG9yIElEPU1TRlQsIENy ZWF0b3IgUmV2aXNpb249MHg5Nw0KIAlGQUNTPTB4MWZmNTAwMDAsIERTRFQ9 MHgxZmY0MDQwMA0KCUlOVF9NT0RFTD1QSUMNCglQcmVmZXJyZWRfUE1fUHJv ZmlsZT1VbnNwZWNpZmllZCAoMCkNCglTQ0lfSU5UPTkNCglTTUlfQ01EPTB4 YjIsIEFDUElfRU5BQkxFPTB4ZTEsIEFDUElfRElTQUJMRT0weDFlLCBTNEJJ T1NfUkVRPTB4MA0KCVBTVEFURV9DTlQ9MHhlMg0KCVBNMWFfRVZUX0JMSz0w eDQwMC0weDQwMw0KCVBNMWFfQ05UX0JMSz0weDQwNC0weDQwNQ0KCVBNMl9D TlRfQkxLPTB4NDIwLTB4NDIwDQoJUE1fVE1SX0JMSz0weDQwOC0weDQwYg0K CUdQRTBfQkxLPTB4NDI4LTB4NDJmDQoJQ1NUX0NOVD0weGUzDQoJUF9MVkwy X0xBVD05OSB1cywgUF9MVkwzX0xBVD0xMDAxIHVzDQoJRkxVU0hfU0laRT0x MDI0LCBGTFVTSF9TVFJJREU9MTYNCglEVVRZX09GRlNFVD0xLCBEVVRZX1dJ RFRIPTMNCglEQVlfQUxSTT0xMywgTU9OX0FMUk09MCwgQ0VOVFVSWT0wDQoJ SUFQQ19CT09UX0FSQ0g9e0xFR0FDWV9ERVYsODA0Mn0NCglGbGFncz17V0JJ TlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzQsSEVBRExFU1N9DQogKi8N Ci8qDQogIEZBQ1M6CUxlbmd0aD02NCwgSHdTaWc9MHgwMDAwMDAwMCwgRmly bV9XYWtlX1ZlYz0weDAwMDAwMDAwDQoJR2xvYmFsX0xvY2s9DQoJRmxhZ3M9 DQoJVmVyc2lvbj0xDQogKi8NCi8qDQogIERTRFQ6IExlbmd0aD0yNTI0NSwg UmV2aXNpb249MSwgQ2hlY2tzdW09MjMyLA0KCU9FTUlEPTFBQlNQLCBPRU0g VGFibGUgSUQ9MUFCU1AwMDEsIE9FTSBSZXZpc2lvbj0weDEsDQoJQ3JlYXRv ciBJRD1NU0ZULCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwMDAwMQ0KICovDQov Kg0KICBPRU1COiBMZW5ndGg9ODMsIFJldmlzaW9uPTEsIENoZWNrc3VtPTg1 LA0KCU9FTUlEPUEgTSBJLCBPRU0gVGFibGUgSUQ9T0VNQklPUywgT0VNIFJl dmlzaW9uPTB4OTAwMDQwNiwNCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3Ig UmV2aXNpb249MHg5Nw0KICovDQovKg0KICogSW50ZWwgQUNQSSBDb21wb25l bnQgQXJjaGl0ZWN0dXJlDQogKiBBTUwgRGlzYXNzZW1ibGVyIHZlcnNpb24g MjAwNDExMTkNCiAqDQogKiBEaXNhc3NlbWJseSBvZiAvdG1wL2FjcGlkdW1w LjhoQ1JCUSwgTW9uIEp1bCAxMSAyMDoxMDo0MiAyMDA1DQogKi8NCkRlZmlu aXRpb25CbG9jayAoIkRTRFQuYW1sIiwgIkRTRFQiLCAxLCAiMUFCU1AiLCAi MUFCU1AwMDEiLCAxKQ0Kew0KICAgIE9wZXJhdGlvblJlZ2lvbiAoQklPUywg U3lzdGVtTWVtb3J5LCAweDFGRjUwMDY0LCAweEZGKQ0KICAgIEZpZWxkIChC SU9TLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgIHsNCiAgICAg ICAgU1MxLCAgICAxLCANCiAgICAgICAgU1MyLCAgICAxLCANCiAgICAgICAg U1MzLCAgICAxLCANCiAgICAgICAgU1M0LCAgICAxLCANCiAgICAgICAgT2Zm c2V0ICgweDAxKSwgDQogICAgICAgIElPU1QsICAgMTYsIA0KICAgICAgICBT UElPLCAgIDE2LCANCiAgICAgICAgUE1CUywgICAxNiwgDQogICAgICAgIFBN TE4sICAgOCwgDQogICAgICAgIFNNQlMsICAgMTYsIA0KICAgICAgICBTTUxO LCAgIDgsIA0KICAgICAgICBJTzFCLCAgIDE2LCANCiAgICAgICAgSU8xTCwg ICA4LCANCiAgICAgICAgSU8yQiwgICAxNiwgDQogICAgICAgIElPMkwsICAg OCwgDQogICAgICAgIFRPUE0sICAgMzIsIA0KICAgICAgICBST01TLCAgIDMy LCANCiAgICAgICAgQVBDQiwgICAzMiwgDQogICAgICAgIEFQQ0wsICAgMTYs IA0KICAgICAgICBNRzFCLCAgIDMyLCANCiAgICAgICAgTUcxTCwgICAzMiwg DQogICAgICAgIE1HMkIsICAgMzIsIA0KICAgICAgICBNRzJMLCAgIDMyDQog ICAgfQ0KDQogICAgTmFtZSAoV0ZBVCwgMHg5MCkNCiAgICBOYW1lIChXTlZS LCAweDkxKQ0KICAgIE5hbWUgKFJOVlIsIDB4OTIpDQogICAgTmFtZSAoU1dG UiwgMHg5MykNCiAgICBOYW1lIChTVERELCAweDk0KQ0KICAgIE5hbWUgKEdU REQsIDB4OTUpDQogICAgTmFtZSAoQURCUiwgMHg5NikNCiAgICBOYW1lIChD R1BTLCAweDk3KQ0KICAgIE5hbWUgKENHV0ssIDB4OTgpDQogICAgTmFtZSAo SVNXUCwgMHg5OSkNCiAgICBOYW1lIChJU1RCLCAweDlBKQ0KICAgIE5hbWUg KEdQQlMsIDB4MDUwMCkNCiAgICBOYW1lIChHUExOLCAweDQwKQ0KICAgIE5h bWUgKFNCVVMsIDB4MDU0MCkNCiAgICBOYW1lIChTTUJMLCAweDEwKQ0KICAg IE1ldGhvZCAoUlJJTywgNCwgTm90U2VyaWFsaXplZCkNCiAgICB7DQogICAg ICAgIFN0b3JlICgiUlJJTyIsIERlYnVnKQ0KICAgIH0NCg0KICAgIE1ldGhv ZCAoUkRNQSwgMywgTm90U2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIFN0 b3JlICgickRNQSIsIERlYnVnKQ0KICAgIH0NCg0KICAgIE5hbWUgKFBJQ00s IDB4MDApDQogICAgTWV0aG9kIChfUElDLCAxLCBOb3RTZXJpYWxpemVkKQ0K ICAgIHsNCiAgICAgICAgSWYgKEFyZzApDQogICAgICAgIHsNCiAgICAgICAg ICAgIFN0b3JlICgweEFBLCBEQkc4KQ0KICAgICAgICB9DQogICAgICAgIEVs c2UNCiAgICAgICAgew0KICAgICAgICAgICAgU3RvcmUgKDB4NTUsIERCRzgp DQogICAgICAgIH0NCg0KICAgICAgICBTdG9yZSAoQXJnMCwgUElDTSkNCiAg ICB9DQoNCiAgICBNZXRob2QgKE9TRkwsIDAsIE5vdFNlcmlhbGl6ZWQpDQog ICAgew0KICAgICAgICBTdG9yZSAoMHgwMSwgTG9jYWwwKQ0KICAgICAgICBJ ZiAoTUNUSCAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIE5UIikpDQogICAg ICAgIHsNCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApDQogICAg ICAgIH0NCg0KICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICB9DQoNCiAg ICBNZXRob2QgKE1DVEgsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAg ICAgICBJZiAoTExlc3MgKFNpemVPZiAoQXJnMCksIFNpemVPZiAoQXJnMSkp KQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKFplcm8pDQogICAg ICAgIH0NCg0KICAgICAgICBBZGQgKFNpemVPZiAoQXJnMCksIDB4MDEsIExv Y2FsMCkNCiAgICAgICAgTmFtZSAoQlVGMCwgQnVmZmVyIChMb2NhbDApIHt9 KQ0KICAgICAgICBOYW1lIChCVUYxLCBCdWZmZXIgKExvY2FsMCkge30pDQog ICAgICAgIFN0b3JlIChBcmcwLCBCVUYwKQ0KICAgICAgICBTdG9yZSAoQXJn MSwgQlVGMSkNCiAgICAgICAgV2hpbGUgKExvY2FsMCkNCiAgICAgICAgew0K ICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICBJ ZiAoTE5vdCAoTEVxdWFsIChEZXJlZk9mIChJbmRleCAoQlVGMCwgTG9jYWww KSksIERlcmVmT2YgKEluZGV4IChCVUYxLCBMb2NhbDApKSkpKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykNCiAgICAg ICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFJldHVybiAoT25lKQ0K ICAgIH0NCg0KICAgIE1ldGhvZCAoR1BSVywgMiwgTm90U2VyaWFsaXplZCkN CiAgICB7DQogICAgICAgIE5hbWUgKFBSV1AsIFBhY2thZ2UgKDB4MDIpDQog ICAgICAgIHsNCiAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgMHgw MA0KICAgICAgICB9KQ0KICAgICAgICBTdG9yZSAoQXJnMCwgSW5kZXggKFBS V1AsIDB4MDApKQ0KICAgICAgICBTdG9yZSAoQXJnMSwgSW5kZXggKFBSV1As IDB4MDEpKQ0KICAgICAgICBSZXR1cm4gKFBSV1ApDQogICAgfQ0KDQogICAg TmFtZSAoV0FLUCwgUGFja2FnZSAoMHgwMikNCiAgICB7DQogICAgICAgIDB4 MDAsIA0KICAgICAgICAweDAwDQogICAgfSkNCiAgICBPcGVyYXRpb25SZWdp b24gKERFQjAsIFN5c3RlbUlPLCAweDgwLCAweDAxKQ0KICAgIEZpZWxkIChE RUIwLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgIHsNCiAgICAg ICAgREJHOCwgICA4DQogICAgfQ0KDQogICAgT3BlcmF0aW9uUmVnaW9uIChE RUIxLCBTeXN0ZW1JTywgMHg5MCwgMHgwMikNCiAgICBGaWVsZCAoREVCMSwg V29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAgICAgIERC RzksICAgMTYNCiAgICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7DQog ICAgICAgIE5hbWUgKFBSMDAsIFBhY2thZ2UgKDB4MDcpDQogICAgICAgIHsN CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgDQogICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgTE5LQiwgDQogICAgICAgICAgICAg ICAgMHgwMA0KICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgw MDFGRkZGRiwgDQogICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAg ICAgICAgTE5LQywgDQogICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAg ICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgDQogICAgICAg ICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgTE5LQSwgDQogICAg ICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgfSwgDQoNCiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgMHgwMDFERkZGRiwgDQogICAgICAgICAgICAgICAgMHgwMywgDQog ICAgICAgICAgICAgICAgTE5LSCwgDQogICAgICAgICAgICAgICAgMHgwMA0K ICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgwMDFERkZGRiwg DQogICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgTE5L QSwgDQogICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgfSwgDQoN CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgDQogICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgTE5LRCwgDQogICAgICAgICAgICAg ICAgMHgwMA0KICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgw MDFERkZGRiwgDQogICAgICAgICAgICAgICAgMHgwMiwgDQogICAgICAgICAg ICAgICAgTE5LQywgDQogICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAg ICAgfQ0KICAgICAgICB9KQ0KICAgICAgICBOYW1lIChBUjAwLCBQYWNrYWdl ICgweDA3KQ0KICAgICAgICB7DQogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYs IA0KICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgIDB4 MDAsIA0KICAgICAgICAgICAgICAgIDB4MTENCiAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIA0KICAgICAgICAgICAgICAg IDB4MDAsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAg ICAgIDB4MTINCiAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICBQYWNr YWdlICgweDA0KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4 MDAwMUZGRkYsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAg ICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgIDB4MTANCiAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAg ICAgICAgICAgIDB4MDMsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0KICAg ICAgICAgICAgICAgIDB4MTcNCiAgICAgICAgICAgIH0sIA0KDQogICAgICAg ICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0K ICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgIDB4MTAN CiAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAxREZGRkYs IA0KICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgIDB4 MDAsIA0KICAgICAgICAgICAgICAgIDB4MTMNCiAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAgICAgICAgICAg IDB4MDIsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAg ICAgIDB4MTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAg TmFtZSAoUFIwMSwgUGFja2FnZSAoMHgwMSkNCiAgICAgICAgew0KICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAweEZGRkYsIA0KICAgICAgICAgICAgICAgIDB4MDAsIA0KICAg ICAgICAgICAgICAgIExOS0EsIA0KICAgICAgICAgICAgICAgIDB4MDANCiAg ICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgTmFtZSAoUFIwMiwg UGFja2FnZSAoMHgwNikNCiAgICAgICAgew0KICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAw MDFGRkZGLCANCiAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAg ICAgICBMTktCLCANCiAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAg ICB9LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCANCiAgICAgICAg ICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICBMTktBLCANCiAgICAg ICAgICAgICAgICAweDAwDQogICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAweDAwMDFGRkZGLCANCiAgICAgICAgICAgICAgICAweDAyLCANCiAg ICAgICAgICAgICAgICBMTktDLCANCiAgICAgICAgICAgICAgICAweDAwDQog ICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkN CiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweEZGRkYsIA0KICAg ICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgIExOS0IsIA0K ICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgIH0sIA0KDQogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgIDB4MDAwMkZGRkYsIA0KICAgICAgICAgICAgICAgIDB4MDAs IA0KICAgICAgICAgICAgICAgIExOS0IsIA0KICAgICAgICAgICAgICAgIDB4 MDANCiAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICBQYWNrYWdlICgw eDA0KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4MDAwMkZG RkYsIA0KICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAg IExOS0QsIA0KICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgIH0N CiAgICAgICAgfSkNCiAgICAgICAgTmFtZSAoUFJTQSwgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICB7DQogICAgICAgICAgICBJUlEgKExldmVsLCBB Y3RpdmVMb3csIFNoYXJlZCkgezMsNCw1LDYsNywxMCwxMSwxMn0NCiAgICAg ICAgfSkNCiAgICAgICAgTmFtZSAoUFJTQiwgUmVzb3VyY2VUZW1wbGF0ZSAo KQ0KICAgICAgICB7DQogICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVM b3csIFNoYXJlZCkgezMsNCw1LDYsNywxMSwxMn0NCiAgICAgICAgfSkNCiAg ICAgICAgTmFtZSAoUFJTQywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAg ICB7DQogICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJl ZCkgezEwLDEyfQ0KICAgICAgICB9KQ0KICAgICAgICBOYW1lIChQUlNELCBS ZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgIHsNCiAgICAgICAgICAgIElS USAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7NSw2LDEwfQ0KICAgICAg ICB9KQ0KICAgICAgICBOYW1lIChQUlNFLCBSZXNvdXJjZVRlbXBsYXRlICgp DQogICAgICAgIHsNCiAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxv dywgU2hhcmVkKSB7NiwxMX0NCiAgICAgICAgfSkNCiAgICAgICAgTmFtZSAo UFJTRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICB7DQogICAgICAg ICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezMsN30NCiAg ICAgICAgfSkNCiAgICAgICAgTmFtZSAoUFJTRywgUmVzb3VyY2VUZW1wbGF0 ZSAoKQ0KICAgICAgICB7DQogICAgICAgICAgICBJUlEgKExldmVsLCBBY3Rp dmVMb3csIFNoYXJlZCkgezQsN30NCiAgICAgICAgfSkNCiAgICAgICAgTmFt ZSAoUFJTSCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICB7DQogICAg ICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezQsNiwx MCwxMn0NCiAgICAgICAgfSkNCiAgICAgICAgRGV2aWNlIChQQ0kwKQ0KICAg ICAgICB7DQogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QTAzIikpDQogICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQ0KICAgICAg ICAgICAgTmFtZSAoX0JCTiwgMHgwMCkNCiAgICAgICAgICAgIE5hbWUgKF9V SUQsIDB4MDApDQogICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYg KFBJQ00pDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEFSMDApDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgUmV0dXJuIChQUjAwKQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBEZXZpY2UgKFNCUkcpDQogICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAwMCkNCiAgICAgICAgICAg ICAgICBEZXZpY2UgKFBJQykNCiAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkN CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAyMCwgMHgwMDIwLCAweDAw LCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwQTAsIDB4MDBBMCwgMHgwMCwgMHgwMikNCiAgICAgICAgICAgICAg ICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezJ9DQogICAgICAgICAgICAgICAg ICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg RGV2aWNlIChETUFEKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDIwMCIpKQ0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRl ICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgQnVzTWFzdGVyLCBUcmFuc2Zl cjgpIHs0fQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgxMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDgxLCAweDAwODEsIDB4MDAs IDB4MDMpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDA4NywgMHgwMDg3LCAweDAwLCAweDAxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwODksIDB4MDA4OSwgMHgwMCwg MHgwMykNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDhGLCAweDAwOEYsIDB4MDAsIDB4MDEpDQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDBDMCwgMHgwMEMwLCAweDAwLCAw eDIwKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoVE1SKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMDEwMCIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf Q1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MDQwLCAweDAwNDAsIDB4MDAsIDB4MDQpDQogICAgICAgICAgICAgICAgICAg ICAgICBJUlFOb0ZsYWdzICgpIHswfQ0KICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmlj ZSAoUlRDMCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBCMDAiKSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDA3MCwgMHgwMDcwLCAweDAwLCAweDAyKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7OH0NCiAg ICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICBEZXZpY2UgKFBTMkspDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQ TlAwMzAzIikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DSUQsIDB4 MEIwM0QwNDEpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwg MCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCAweDBBLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJT1NU LCBMb2NhbDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAo KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsIDB4MDA2MCwgMHgwMDYwLCAweDAwLCAweDAx KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAw NjQsIDB4MDA2NCwgMHgwMCwgMHgwMSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIElSUU5vRmxhZ3MgKCkgezF9DQogICAgICAgICAgICAgICAgICAgIH0p DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNl IChQUzJNKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEYxMiIpKQ0KICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQ0lELCAweDEzMEZEMDQxKQ0KICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IFNoaWZ0TGVmdCAoMHgwMSwgMHgwQywgTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEFuZCAoSU9TVCwgTG9jYWwwKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MEYpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkNCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUg KENSUzEsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7 MTJ9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKENSUzIsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwNjAsIDB4MDA2MCwgMHgwMCwgMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQs IDB4MDAsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0Zs YWdzICgpIHsxMn0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBTaGlmdExlZnQgKDB4MDEsIDB4MEEsIExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChBbmQgKElPU1QsIExvY2FsMCkpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChDUlMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoQ1JTMikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgIERldmljZSAoU1BLUikNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDA4MDAi KSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VU ZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA2MSwgMHgwMDYxLCAw eDAwLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoQ09QUikNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMDQiKSkNCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDBGMCwgMHgwMEYwLCAweDAwLCAweDEwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MTN9DQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgRGV2aWNlIChVQVIyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfSElELCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFVISUQgKDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKERTVEEgKDB4MDEpKQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBEQ05UICgweDAxLCAweDAwKQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKERDUlMgKDB4 MDEpKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBEU1JT IChBcmcwLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoRklSTSAoMHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUlBS KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoSVJQMikNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKElSUFIsIFJlc291cmNlVGVt cGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNiwxMCwxMSwxMn0N CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1By aSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFz dGVyLCBUcmFuc2ZlcjgpIHsxLDIsM30NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNGOCwgMHgwM0Y4LCAweDAxLCAw eDA4KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVy OCkgezEsMiwzfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMkY4LCAweDAyRjgsIDB4MDEsIDB4MDgpDQogICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBT dGFydERlcGVuZGVudEZuTm9QcmkgKCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBh dGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7MSwyLDN9DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAz RTgsIDB4MDNFOCwgMHgwMSwgMHgwOCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50 Rm5Ob1ByaSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90 QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHsxLDIsM30NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDJFOCwgMHgwMkU4LCAw eDAxLCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgRW5kRGVwZW5kZW50Rm4gKCkNCiAgICAgICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoSVJQ MiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQs NSw2LDEwLDExLDEyfQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRE ZXBlbmRlbnRGbk5vUHJpICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAzRjgsIDB4MDNGOCwgMHgwMSwgMHgwOCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5k ZW50Rm5Ob1ByaSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMkY4 LCAweDAyRjgsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZu Tm9QcmkgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNFOCwgMHgw M0U4LCAweDAxLCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJp ICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyRTgsIDB4MDJFOCwg MHgwMSwgMHgwOCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpDQogICAgICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgRGV2aWNlIChMUFRFKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfSElELCAwLCBOb3RTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTFBUTSAoMHgwMikpDQogICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAxMDREMDQxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MDA0RDA0MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChEU1RBICgweDAy KSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgRENOVCAo MHgwMiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgRENSUyAoMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM UFRNICgweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSVJRTSwgSVJRRSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRE1BTSwgRE1BRSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU8xMSwgSU8y MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU8xMiwg SU8yMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTEVO MSwgTEVOMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKElP MjEsIDB4MDQwMCwgSU8zMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoSU8zMSwgSU8zMikNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTEVOMiwgTEVOMykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKENSUzIpDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChDUlMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBEU1JTIChBcmcwLCAw eDAyKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TFBUTSAoMHgwMikpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChFUFBSKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTFBQUikNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKExQUFIsIFJlc291cmNlVGVtcGxhdGUgKCkN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9G bGFncyAoKSB7Myw0LDUsNiw3LDEwLDExLDEyfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVy LCBUcmFuc2ZlcjgpIHt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAzNzgsIDB4MDM3OCwgMHgwMSwgMHgwOCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5v RmxhZ3MgKCkgezMsNCw1LDYsNywxMCwxMSwxMn0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3Rl ciwgVHJhbnNmZXI4KSB7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMjc4LCAweDAyNzgsIDB4MDEsIDB4MDgpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlFO b0ZsYWdzICgpIHszLDQsNSw2LDcsMTAsMTEsMTJ9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0 ZXIsIFRyYW5zZmVyOCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDNCQywgMHgwM0JDLCAweDAxLCAweDA0KQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgLyoqKiBNaXNzaW5nIEVuZERlcGVuZGVudEZ1bmN0aW9ucyBkZXNj cmlwdG9yICovICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChFUFBSLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElS UU5vRmxhZ3MgKCkgezMsNCw1LDYsNywxMCwxMSwxMn0NCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2Zl cjgpIHsxLDIsM30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsIDB4MDM3OCwgMHgwMzc4LCAweDAxLCAweDA4KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwNzc4LCAw eDA3NzgsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9Q cmkgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01h c3RlciwgVHJhbnNmZXI4KSB7MSwyLDN9DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAyNzgsIDB4MDI3OCwgMHgwMSwg MHgwOCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDY3OCwgMHgwNjc4LCAweDAxLCAweDA4KQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRE ZXBlbmRlbnRGbk5vUHJpICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRpYmls aXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezEsMiwzfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwM0JDLCAw eDAzQkMsIDB4MDEsIDB4MDQpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDA3QkMsIDB4MDdCQywgMHgwMSwgMHgwNCkN CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERN QSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHt9 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAzNzgsIDB4MDM3OCwgMHgwMSwgMHgwOCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDc3OCwgMHgwNzc4LCAweDAx LCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5z ZmVyOCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDI3OCwgMHgwMjc4LCAweDAxLCAweDA4KQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwNjc4LCAweDA2 NzgsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9Qcmkg KCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3Rl ciwgVHJhbnNmZXI4KSB7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwM0JDLCAweDAzQkMsIDB4MDEsIDB4MDQpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA3 QkMsIDB4MDdCQywgMHgwMSwgMHgwNCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZu ICgpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChTSU9SKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEMwMiIpKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9VSUQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1BJTykNCiAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5h bWUgKENSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDAwMCwgMHgwMDAwLCAweDAwLCAweDAwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMCwg MHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDApDQogICAgICAgICAgICAgICAg ICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExFcXVhbCAoU1BJ TywgMHgwM0YwKSksIExHcmVhdGVyIChTUElPLCAweEYwKSkpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChDUlMsIDB4MDIsIEdQMTApDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMsIDB4 MDQsIEdQMTEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChDUlMsIDB4MDcsIEdQTDEpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFNQSU8sIEdQMTApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFNQSU8sIEdQMTEpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIEdQTDEpDQogICAgICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChJTzFCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQ1JTLCAw eDBBLCBHUDIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQ1JTLCAweDBDLCBHUDIxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQ1JTLCAweDBGLCBHUEwy KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzFCLCBH UDIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzFC LCBHUDIxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJ TzFMLCBHUEwyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoSU9YQikNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVXb3JkRmllbGQgKENSUywgMHgxMiwgR1AzMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKENSUywgMHgxNCwgR1Az MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmll bGQgKENSUywgMHgxNywgR1BMMykNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoSU9YQiwgR1AzMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9YQiwgR1AzMSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoSU9YTCwgR1BMMykNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChDUlMpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICBOYW1lIChEQ0FULCBQYWNrYWdlICgw eDE1KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg MHgwMywgDQogICAgICAgICAgICAgICAgICAgIDB4MDIsIA0KICAgICAgICAg ICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgMHgwMCwg DQogICAgICAgICAgICAgICAgICAgIDB4RkYsIA0KICAgICAgICAgICAgICAg ICAgICAweDBDLCANCiAgICAgICAgICAgICAgICAgICAgMHhGRiwgDQogICAg ICAgICAgICAgICAgICAgIDB4RkYsIA0KICAgICAgICAgICAgICAgICAgICAw eDBCLCANCiAgICAgICAgICAgICAgICAgICAgMHhGRiwgDQogICAgICAgICAg ICAgICAgICAgIDB4RkYsIA0KICAgICAgICAgICAgICAgICAgICAweEZGLCAN CiAgICAgICAgICAgICAgICAgICAgMHhGRiwgDQogICAgICAgICAgICAgICAg ICAgIDB4RkYsIA0KICAgICAgICAgICAgICAgICAgICAweEZGLCANCiAgICAg ICAgICAgICAgICAgICAgMHhGRiwgDQogICAgICAgICAgICAgICAgICAgIDB4 RkYsIA0KICAgICAgICAgICAgICAgICAgICAweEZGLCANCiAgICAgICAgICAg ICAgICAgICAgMHhGRiwgDQogICAgICAgICAgICAgICAgICAgIDB4RkYsIA0K ICAgICAgICAgICAgICAgICAgICAweEZGDQogICAgICAgICAgICAgICAgfSkN CiAgICAgICAgICAgICAgICBNdXRleCAoTVVUMCwgMHgwMCkNCiAgICAgICAg ICAgICAgICBNZXRob2QgKEVORkcsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChN VVQwLCAweDFGRkYpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcw LCBMRE4pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg TWV0aG9kIChFWEZHLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoTVVUMCkNCiAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKExQ VE0sIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBFTkZHIChDR0xEIChBcmcwKSkNCiAgICAgICAg ICAgICAgICAgICAgQW5kIChPUFQxLCAweDgwLCBMb2NhbDApDQogICAgICAg ICAgICAgICAgICAgIEVYRkcgKCkNCiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgTWV0aG9kIChGSVJNLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgRU5GRyAoQ0dMRCAo QXJnMCkpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChETUNILCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkNCiAgICAgICAgICAg ICAgICAgICAgSWYgKExBbmQgKExMZXNzIChMb2NhbDAsIDB4MDQpLCBMTm90 IChMRXF1YWwgKEFuZCAoTG9jYWwwLCAweDAzLCBMb2NhbDEpLCAweDAwKSkp KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoTG9jYWwyKQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoVUhJRCwgMSwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzAsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBFTkZHIChDR0xEIChBcmcw KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChETUNILCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpDQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTExlc3MgKExvY2FsMCwgMHgw NCksIExOb3QgKExFcXVhbCAoQW5kIChMb2NhbDAsIDB4MDMsIExvY2FsMSks IDB4MDApKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxNjA2MzNBKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxMDA1RDA0MSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMTA1RDA0MSkNCiAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKFNJ T1MsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoU0lP VywgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChTSU9I LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdp b24gKElPSUQsIFN5c3RlbUlPLCBTUElPLCAweDAyKQ0KICAgICAgICAgICAg ICAgIEZpZWxkIChJT0lELCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSU5EWCwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgREFUQSwgICA4DQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSW5kZXhGaWVsZCAoSU5E WCwgREFUQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNyks IA0KICAgICAgICAgICAgICAgICAgICBMRE4sICAgIDgsIA0KICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MjIpLCANCiAgICAgICAgICAgICAgICAg ICAgRkRDUCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAy LCANCiAgICAgICAgICAgICAgICAgICAgTFBUUCwgICAxLCANCiAgICAgICAg ICAgICAgICAgICAgVVJBUCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAg VVJCUCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDMw KSwgDQogICAgICAgICAgICAgICAgICAgIEFDVFIsICAgOCwgDQogICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIA0KICAgICAgICAgICAgICAg ICAgICBJT0FILCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBJT0FMLCAg IDgsIA0KICAgICAgICAgICAgICAgICAgICBJT0gyLCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICBJT0wyLCAgIDgsIA0KICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4NzApLCANCiAgICAgICAgICAgICAgICAgICAgSU5UUiwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc0KSwgDQog ICAgICAgICAgICAgICAgICAgIERNQ0gsICAgOCwgDQogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHhGMCksIA0KICAgICAgICAgICAgICAgICAgICBP UFQxLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBPUFQyLCAgIDgsIA0K ICAgICAgICAgICAgICAgICAgICBPUFQzLCAgIDgNCiAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKENHTEQsIDEsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKERlcmVmT2YgKEluZGV4IChEQ0FULCBBcmcwKSkpDQog ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChE U1RBLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBcmcwLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKElPU1QsIExvY2FsMSkp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIEVORkcgKENHTEQgKEFyZzApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFDVFIpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEYsIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAz KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChJT0FIKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwRCwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwRCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDAp DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9k IChEQ05ULCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgRU5GRyAoQ0dMRCAoQXJnMCkpDQogICAg ICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoSU9BSCwgMHgwOCwgTG9jYWwx KQ0KICAgICAgICAgICAgICAgICAgICBPciAoSU9BTCwgTG9jYWwxLCBMb2Nh bDEpDQogICAgICAgICAgICAgICAgICAgIFJSSU8gKEFyZzAsIEFyZzEsIExv Y2FsMSwgMHgwOCkNCiAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExM ZXNzIChETUNILCAweDA0KSwgTE5vdCAoTEVxdWFsIChBbmQgKERNQ0gsIDB4 MDMsIExvY2FsMSksIDB4MDApKSkpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIFJETUEgKEFyZzAsIEFyZzEsIElu Y3JlbWVudCAoTG9jYWwxKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBBQ1RSKQ0KICAgICAg ICAgICAgICAgICAgICBFWEZHICgpDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgTmFtZSAoQ1JTMSwgUmVzb3VyY2VUZW1wbGF0ZSAo KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7fQ0KICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBh dGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7fQ0KICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAwLCAw eDAxLCAweDAwKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChDUlMxLCAweDAxLCBJUlFNKQ0KICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQ1JTMSwgMHgwNCwgRE1BTSkN CiAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKENSUzEsIDB4MDgs IElPMTEpDQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMx LCAweDBBLCBJTzEyKQ0KICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQ1JTMSwgMHgwRCwgTEVOMSkNCiAgICAgICAgICAgICAgICBOYW1lIChD UlMyLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHs2fQ0KICAgICAg ICAgICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3Rl ciwgVHJhbnNmZXI4KSB7Mn0NCiAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwMCkNCiAgICAgICAg ICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgw MSwgMHgwMCkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQ1JTMiwgMHgwMSwgSVJRRSkNCiAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKENSUzIsIDB4MDQsIERNQUUpDQog ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMyLCAweDA4LCBJ TzIxKQ0KICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQ1JTMiwg MHgwQSwgSU8yMikNCiAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KENSUzIsIDB4MEQsIExFTjIpDQogICAgICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChDUlMyLCAweDEwLCBJTzMxKQ0KICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQ1JTMiwgMHgxMiwgSU8zMikNCiAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKENSUzIsIDB4MTUsIExFTjMpDQogICAg ICAgICAgICAgICAgTWV0aG9kIChEQ1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgRU5GRyAo Q0dMRCAoQXJnMCkpDQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAo SU9BSCwgMHgwOCwgSU8xMSkNCiAgICAgICAgICAgICAgICAgICAgT3IgKElP QUwsIElPMTEsIElPMTEpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJ TzExLCBJTzEyKQ0KICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoRmlu ZFNldFJpZ2h0Qml0IChJTzExKSwgMHgwMSwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIExvY2FsMCwgTEVOMSkNCiAg ICAgICAgICAgICAgICAgICAgSWYgKElOVFIpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgw MSwgSU5UUiwgSVJRTSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJUlFNKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYg KExBbmQgKExMZXNzIChETUNILCAweDA0KSwgTE5vdCAoTEVxdWFsIChBbmQg KERNQ0gsIDB4MDMsIExvY2FsMSksIDB4MDApKSkpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAo MHgwMSwgTG9jYWwxLCBETUFNKQ0KICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIERNQU0p DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBFWEZHICgpDQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JTMSkN CiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2Qg KERTUlMsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4 MDEsIElSUU0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQXJnMCwgMHgwNCwgRE1BTSkNCiAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcwLCAweDA4LCBJTzExKQ0KICAgICAgICAgICAg ICAgICAgICBFTkZHIChDR0xEIChBcmcxKSkNCiAgICAgICAgICAgICAgICAg ICAgQW5kIChJTzExLCAweEZGLCBJT0FMKQ0KICAgICAgICAgICAgICAgICAg ICBTaGlmdFJpZ2h0IChJTzExLCAweDA4LCBJT0FIKQ0KICAgICAgICAgICAg ICAgICAgICBJZiAoSVJRTSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlFNLCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9j YWwwLCAweDAxLCBJTlRSKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVFIpDQog ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBJ ZiAoRE1BTSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChETUFNLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9jYWwwLCAweDAx LCBETUNIKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIERNQ0gpDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBFWEZHICgpDQog ICAgICAgICAgICAgICAgICAgIERDTlQgKEFyZzEsIDB4MDEpDQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChTWVNSKQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpKQ0KICAgICAgICAgICAgICAgICAg ICBOYW1lIChfVUlELCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICBOYW1l IChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDEwLCAweDAwMTAsIDB4MDAsIDB4MTApDQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAyMiwgMHgwMDIyLCAweDAwLCAw eDFFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAwNDQsIDB4MDA0NCwgMHgwMCwgMHgxQykNCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYzLCAweDAwNjMsIDB4MDAsIDB4 MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDA2NSwgMHgwMDY1LCAweDAwLCAweDAxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LCAweDAwNjcsIDB4MDA2NywgMHgwMCwgMHgw OSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MDcyLCAweDAwNzIsIDB4MDAsIDB4MEUpDQogICAgICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsIDB4MDA4MCwgMHgwMDgwLCAweDAwLCAweDAx KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAw ODQsIDB4MDA4NCwgMHgwMCwgMHgwMykNCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDg4LCAweDAwODgsIDB4MDAsIDB4MDEp DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA4 QywgMHgwMDhDLCAweDAwLCAweDAzKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDAwOTAsIDB4MDA5MCwgMHgwMCwgMHgxMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEEy LCAweDAwQTIsIDB4MDAsIDB4MUUpDQogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDBFMCwgMHgwMEUwLCAweDAwLCAweDEwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDA0RDAs IDB4MDREMCwgMHgwMCwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgfSkN CiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2Ug KEZXSCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIklOVDA4MDAiKSkNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeTMyRml4ZWQgKFJlYWRPbmx5LCAweDAwMDAwMDAwLCAweDAwMDAwMDAw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZE9ubHksIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDApDQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKENSUywgMHgwNCwgQlMwMCkNCiAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoQ1JTLCAweDA4LCBCTDAwKQ0KICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMsIDB4MTAsIEJTMTApDQog ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKENSUywgMHgx NCwgQkwxMCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAw LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRjgwMDAwMCwgTG9jYWww KQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChG SEQwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMb2Nh bDEpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwMDA4MDAwMCwg TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgICAgICBBZGQgKExvY2FsMCwgTG9jYWwxLCBMb2NhbDIp DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBCUzAw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChCUzAwLCAweDAwNDAw MDAwLCBCUzEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3Qg KDB4MDAsIEJTMTAsIEJMMDApDQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQkwwMCwgQkwxMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQ1JTKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChGV0hFKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwMiIpKQ0KICAgICAgICAgICAgICAgICAgICBO YW1lIChfVUlELCAweDAzKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChD UlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZE9ubHksIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDApDQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywg MCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQ1JTLCAw eDA0LCBCUzAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdv cmRGaWVsZCAoQ1JTLCAweDA4LCBCTDAwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoXl5GV0guQlMwMCwgMHgwMCkpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXl5GV0guX0NSUyAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICBBZGQgKF5eRldILkJTMDAsIF5e RldILkJMMDAsIEJTMDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdWJ0 cmFjdCAoXl5GV0guQlMxMCwgQlMwMCwgQkwwMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQ1JTKQ0KICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChGSFIwLCBQQ0lfQ29uZmlnLCAweEUzLCAweDAxKQ0KICAg ICAgICAgICAgICAgIEZpZWxkIChGSFIwLCBCeXRlQWNjLCBOb0xvY2ssIFBy ZXNlcnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgRkhEMCwgICA4DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgU2NvcGUgKFwpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICBGaWVsZCAoQklPUywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVz ZXJ2ZSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDgwKSwgDQogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4ODQpLCANCiAgICAgICAgICAgICAgICAgICAgICAg IEFTVEUsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4ODYpLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFNTVEUsICAgOCwg DQogICAgICAgICAgICAgICAgICAgICAgICBQQURTLCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgQUNQUywgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgICAgIFdTVEUsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICBJTlNTLCAgIDgNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFNjb3BlIChcX1NCKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQkFU TywgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgTXV0ZXggKEVDTVgsIDB4 MDApDQogICAgICAgICAgICAgICAgICAgIE11dGV4IChTTUJGLCAweDAwKQ0K ICAgICAgICAgICAgICAgICAgICBNdXRleCAoQkFUWCwgMHgwMCkNCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoVEhCRiwgQnVmZmVyICgweDA0KQ0KICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwDQogICAgICAgICAgICAgICAgICAgIH0p DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoVEhCRiwg MHgwMCwgRFcwMCkNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChUSEJGLCAweDAyLCBEVzAxKQ0KICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKFRIQkYsIDB4MDAsIERCMDApDQogICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoVEhCRiwgMHgwMSwgREIwMSkN CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChUSEJGLCAw eDAyLCBEQjEwKQ0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmll bGQgKFRIQkYsIDB4MDMsIERCMTEpDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChPUFIwLCBTeXN0ZW1J TywgMHg4MCwgMHg4MCkNCiAgICAgICAgICAgICAgICBGaWVsZCAoT1BSMCwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIERQODAsICAgOA0KICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoT1BS MSwgU3lzdGVtSU8sIDB4QjIsIDB4MDIpDQogICAgICAgICAgICAgICAgRmll bGQgKE9QUjEsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTV0kwLCAgIDgsIA0K ICAgICAgICAgICAgICAgICAgICBBUE1TLCAgIDgNCiAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKE9QUjIs IFN5c3RlbUlPLCAweDAzNzgsIDB4MDIpDQogICAgICAgICAgICAgICAgRmll bGQgKE9QUjIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBQMzc4LCAgIDgNCiAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBPcGVyYXRpb25S ZWdpb24gKE9QUjMsIFN5c3RlbUlPLCAweDA0ODAsIDB4MTApDQogICAgICAg ICAgICAgICAgRmllbGQgKE9QUjMsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy dmUpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MDQpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAz LCANCiAgICAgICAgICAgICAgICAgICAgU0cxMywgICAxLCANCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDA5KSwgDQogICAgICAgICAgICAgICAg ICAgICAgICAsICAgNCwgDQogICAgICAgICAgICAgICAgICAgIFNHMjQsICAg MQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFNjb3Bl IChcX1NCLlBDSTAuU0JSRykNCiAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIERldmljZSAoRUMwKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChFQ0ZMLCBPbmVz KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTXV0ZXggKE1VRUMsIDB4MDAp DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChGQUtFLCAweDAwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChFQ0FWLCAwLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEVDRkwsIE9uZXMp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChfUkVWLCAw eDAyKSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25l KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChFQ0ZM KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzA5IikpDQog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRl bXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNjIsIDB4 MDA2MiwgMHgwMCwgMHgwMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDA2NiwgMHgwMDY2LCAweDAwLCAweDAxKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAg ICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoX0NSUywgMHgwMiwgRFBSVCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoX0NSUywg MHgwQSwgQ1BSVCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9H UEUsIDB4MUMpDQogICAgICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25S ZWdpb24gKEVDT1IsIEVtYmVkZGVkQ29udHJvbCwgMHgwMCwgMHg4MCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIEZpZWxkIChFQ09SLCBCeXRlQWNjLCBM b2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDQpLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDTUQxLCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENEVDEsICAgOCwgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ0RUMiwgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDRFQzLCAgIDgsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxOCksIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBSVEMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU1NUUywgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBRERSLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFND TUQsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01EMCwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUQxLCAgIDgs IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBVEIsICAgMjQwLCAN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQ05ULCAgIDgsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFMUk0sICAgOCwgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQUxSMCwgICA4LCANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBTFIxLCAgIDgsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHg0MyksIA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFA1MFMsICAgMSwgDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFA0M1MsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUDU0 UywgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQNTVTLCAg IDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0 OCksIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA1NEMsICAgOCwg DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUDU1QywgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQNTBDLCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFA0M0MsICAgOCwgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUwKSwgDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUDYwQywgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQNjFDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFA2MkMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUDYzQywgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQNjRDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA2 NUMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUDY2Qywg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQNjdDLCAgIDgs IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA2OEMsICAgOCwgDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc3KSwgDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZBTiwgICA4LCANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQNjBTLCAgIDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFA2MVMsICAgMSwgDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUDYyUywgICAxLCANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQNjNTLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFA2NFMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUDY1UywgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ NjZTLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA2N1Ms ICAgMQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFVDTVMsIFN5c3RlbUlP LCAweDcyLCAweDA1KQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmllbGQg KFVDTVMsIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElO RDAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUWCwg ICA4DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgIEluZGV4RmllbGQgKElORDAsIERBVFgsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFCKSwg DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5ZUywgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBRFZMLCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJSQ1QsICAgOA0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChQV0FDLCBCdWZmZXIgKDB4MTApDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNywgMHgyRSwg MHgzRCwgMHg0OSwgMHg1OCwgMHg2MCwgMHg2NCwgMHg2OCwgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg2QywgMHg3MCwgMHg3MywgMHg3Nywg MHg3QiwgMHg3RiwgMHg4MSwgMHg5Qw0KICAgICAgICAgICAgICAgICAgICAg ICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFBXREMsIEJ1 ZmZlciAoMHgxMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDBGLCAweDI2LCAweDM2LCAweDQx LCAweDUxLCAweDU4LCAweDVDLCAweDYwLCANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDY0LCAweDY4LCAweDZDLCAweDcwLCAweDczLCAweDc3 LCAweDdCLCAweDdGDQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUkVH LCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFy ZzAsIDB4MDMpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEVD RkwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBO YW1lIChURVNULCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfUTA5LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKE9TRkwgKCksIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDksIERQODApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5BQywgMHg4MCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVDAsIDB4ODApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5CQVQx LCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETFkw ICgweDY0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBETFkwICgweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTBBLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAxLCBEUDgwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5TTFBCLCAweDgwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RMEIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDIsIERQODApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKFxfU0IuUENJMC5QMFAyLk1QQzAuTVBEUCAoKSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChcX1NCLkFUS1ApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5BVEtELCAweDVEKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9RMEUsIDAsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExHcmVhdGVyIChCUkNULCAweDAwKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERlY3JlbWVudCAoQlJDVCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU1RCUiAoKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChCUkNULCBEUDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChcX1NCLkFUS1ApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxf U0IuQVRLRCwgQWRkIChCUkNULCAweDIwKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EwRiwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKEJSQ1QsIDB4MEYpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChCUkNUKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTVEJSICgpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEJSQ1QsIERQODApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlm eSAoXF9TQi5BVEtELCBBZGQgKEJSQ1QsIDB4MTApKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTEwLCAwLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBEUDgwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAoQktMVCwgMHgwMSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIEJLTFQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0ICgweDM0 LCBCS0xULCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5BVEtELCBMb2NhbDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChEU1RFLCAweDAwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQ1NURSwgMHgwMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExMSwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLlNCUkcuRUMw LkFOWVMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT aGlmdFJpZ2h0IChMb2NhbDEsIDB4MDQsIExvY2FsMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDkpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRFNURSwgMHgwMCkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEEzLCBTV0kwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNT VEUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChTU1RFLCBDU1RFKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSW5jcmVtZW50IChEU1RFKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoQVNURSwgMHgzMykpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBU1RFLCAweDA2KSkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNy ZW1lbnQgKENTVEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKENTVEUsIDB4MDQpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMSwgQ1NURSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChBU1RFLCAweDAzKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SW5jcmVtZW50IChDU1RFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQ1NURSwgMHgwNykp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIENTVEUpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJbmNyZW1lbnQgKENTVEUpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDU1RF LCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgQ1NURSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQ1NURSwgMHgwNikpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDEsIENTVEUpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChDU1RFLCBMb2NhbDApDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRFNURSwgMHgwMCkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEEzLCBTV0kw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNTVEUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChTU1RFLCBDU1RFKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChEU1RFKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQVNURSwgMHgzMykpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBU1RFLCAweDA2KSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ bmNyZW1lbnQgKENTVEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKENTVEUsIDB4MDQpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgQ1NURSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBU1RFLCAweDAzKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSW5jcmVtZW50IChDU1RFKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQ1NURSwgMHgw OCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIENTVEUpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJbmNyZW1lbnQgKENTVEUpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChD U1RFLCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgQ1NURSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQ1NURSwgMHgwNikpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIENTVEUpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChDU1RFLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoXF9TQi5BVEtQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChc X1NCLkFUS0QsIEFkZCAoMHg2MCwgTG9jYWwwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExMywgMCwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMCwgRFA4MCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5BVEtQKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkFUS0QsIDB4MzIpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9R MTQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTEs IERQODApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChBRFZM LCAweDBGLCBBRFZMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMTGVzcyAoQURWTCwgMHgwRikpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNy ZW1lbnQgKEFEVkwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxfU0IuQVRLUCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5BVEtELCAweDMxKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUTE1LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDEyLCBEUDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAo QURWTCwgMHgwRiwgQURWTCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEdyZWF0ZXIgKEFEVkwsIDB4MDApKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRGVjcmVtZW50IChBRFZMKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChcX1NC LkFUS1ApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQVRLRCwg MHgzMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1EzMCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgzMCwgXF9TQi5QQ0kwLlNCUkcuUDM3OCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoXF9TQi5BVEtQKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLkFUS0QsIDB4NTApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMzEsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MzEsIFxfU0IuUENJ MC5TQlJHLlAzNzgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5B VEtELCAweDUxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTMyLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDMyLCBEUDgwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChcX1NCLlBDSTAuUDBQMi5NUEMwLk1QRFAgKCkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoXF9TQi5BVEtQKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOb3RpZnkgKFxfU0IuQVRLRCwgMHg1RCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTMzLCAwLCBOb3RTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChcX1NCLkFUS1ApDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfU0IuQVRLRCwgMHg2QSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EzNiwgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgzNiwgXF9TQi5Q Q0kwLlNCUkcuUDM3OCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoXF9TQi5BVEtQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NC LkFUS0QsIDB4NUMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9RNTEsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NTEsIERQODApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5BVEtELCAweDRDKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuU1RDNSAoMHg0QikNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNC UkcuRUMwLlNUQzUgKDB4MkIpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBNUkcsIFN5c3RlbUlP LCBQTUJTLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmllbGQg KFBNUkcsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDAxKSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg UFdOUywgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1MsICAg MSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDJB KSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAzLCAN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUDNTLCAgIDEsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgR1A3UywgICAxLCANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdQQlMsICAgMSwgDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDJGKSwgDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICwgICA0LCANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHUEJFLCAgIDENCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChJTywg U3lzdGVtSU8sIERQUlQsIDB4MDUpDQogICAgICAgICAgICAgICAgICAgICAg ICBGaWVsZCAoSU8sIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERBVDAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDA0KSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q01EMCwgICA4DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgIEZpZWxkIChJTywgQnl0ZUFjYywgTG9jaywg UHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA0KSwgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgT1VUUywgICAxLCANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJTlBTLCAgIDENCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChE TFkwLCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChFQ0FWICgpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENEVDEpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDZCLCBDRFQyKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwg Q0RUMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4QkIsIENNRDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDA1LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFdoaWxlIChMQW5kIChMb2NhbDAsIENNRDEpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDRFQxKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRFQxIChBcmcwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRFQyICgweDZCKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRFQzICgweDAwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXQ01EICgweEJCKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJERUMg KDB4MDUpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChTVEJSLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChBQ1MgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAo SW5kZXggKFBXQUMsIEJSQ1QpKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4NSwgTG9jYWwxKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTVEM0IChMb2NhbDAsIExvY2Fs MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKERlcmVmT2YgKEluZGV4IChQV0RDLCBCUkNUKSksIExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODUsIExv Y2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RDNCAo TG9jYWwwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKEFDUywgMCwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoRUNBViAoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo UDY0UykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFJEUDYgKCksIExvY2FsMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDEsIDB4MTAsIExvY2Fs MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdo dCAoTG9jYWwxLCAweDA0LCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChCQVRTLCAwLCBTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChFQ0FWICgpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChQNTVTKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwxKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUkRQNSAoKSwgTG9jYWwx KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2Fs MSwgMHgyMCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTaGlmdFJpZ2h0IChMb2NhbDEsIDB4MDUsIExvY2FsMSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KENEUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoRUNBViAoKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoUDU0UykNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2Fs MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJE UDUgKCksIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChMb2NhbDEsIDB4MTAsIExvY2FsMSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoTG9jYWwxLCAweDA0LCBM b2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChSRFA1LCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJERUMgKDB4NDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChSREVDICgweDQzKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChSRFA2LCAwLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJERUMgKDB4NzgpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChSREVDICgweDc4KSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChTVEM0LCAyLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChFQ0FWICgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENE VDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChB cmcxLCBDRFQyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHhDNCwgQ01EMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExvY2FsMCwgQ01EMSkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENEVDEpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdEVDEgKEFy ZzApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdEVDIgKEFy ZzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdDTUQgKDB4 QzQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo UkRFQyAoMHgwNSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKFNUQzUsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEVDQVYgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJn MCwgQ0RUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4QzUsIENNRDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDA1LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFdoaWxlIChMQW5kIChMb2NhbDAsIENNRDEpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWww KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDRFQxKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRFQxIChBcmcw KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXQ01EICgweEM1 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJE RUMgKDB4MDUpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChSQkFULCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChFQ0FWICgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IENEVDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChBcmcwLCBDRFQyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHhEQSwgQ01EMSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDUsIExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExvY2FsMCwgQ01EMSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENEVDEp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdEVDIg KEFyZzApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdEVDEg KDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdDTUQg KDB4REEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJERUMg KDB4MDUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoUkRFQyAoMHgwNSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKFdDTUQsIDEsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgV1JFQyAoMHgwNCwgQXJnMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChX RFQxLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSRUMgKDB4MDUs IEFyZzApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoV0RUMiwgMSwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBXUkVDICgweDA2LCBBcmcwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKFdEVDMsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JFQyAo MHgwNywgQXJnMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChJUkRZLCAwLCBTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTE5vdCAoSU5QUykpDQogICAgICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoT1JEWSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKE9VVFMpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoV0FUSSwgMCwgU2VyaWFsaXpl ZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwNSwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFdoaWxlIChMQW5kIChMb2NhbDAsIExOb3Qg KElSRFkgKCkpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKElSRFkgKCkpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoV0FUTywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwNSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFdoaWxlIChMQW5kIChMb2NhbDAsIExOb3QgKE9SRFkgKCkpKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKE9SRFkgKCkpDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQ0xS QiwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoV0FUTyAoKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChEQVQwLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFJE RUMsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEdQ QkUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFdBVEkgKCkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgQ01EMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFdBVEkgKCkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBEQVQwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFdBVE8gKCkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERB VDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAxLCBHUEJTKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBHUEJFKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKFdSRUMsIDIsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIEdQQkUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFdBVEkgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MSwgQ01E MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFdBVEkg KCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBE QVQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFdBVEkgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFyZzEsIERBVDApDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgR1BCUykNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgR1BCRSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIEFsaWFz IChcX1NCLlBDSTAuU0JSRy5FQzAuRFBSVCwgRFBSVCkNCiAgICAgICAgICAg ICAgICBBbGlhcyAoXF9TQi5QQ0kwLlNCUkcuRUMwLkNQUlQsIENQUlQpDQog ICAgICAgICAgICAgICAgU2NvcGUgKFxfU0IpDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBBbGlhcyAoXF9TQi5QQ0kwLlNCUkcu RUMwLkVDQVYsIEVDQVYpDQogICAgICAgICAgICAgICAgICAgIEFsaWFzIChc X1NCLlBDSTAuU0JSRy5FQzAuQUNTLCBBQ1MpDQogICAgICAgICAgICAgICAg ICAgIEFsaWFzIChcX1NCLlBDSTAuU0JSRy5FQzAuQkFUUywgQkFUUykNCiAg ICAgICAgICAgICAgICAgICAgRGV2aWNlIChMSUQpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMEQiKSkNCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0xJRCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoXF9TQi5MSURMLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICBTY29wZSAoXF9HUEUpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0wxQiwgMCwgU2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBYT3IgKFxfU0IuTElETCwgMHgwMSwgXF9T Qi5MSURMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChc X1NCLkxJREwsIFxfU0IuUENJMC5TQlJHLlAzNzgpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkxJRCwgMHg4MCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIERldmljZSAoU0xQQikNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRSIpKQ0KICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgU2Nv cGUgKFxfU0IuUENJMC5TQlJHLkVDMCkNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoUlNCVCwgMiwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDcsIExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIFdoaWxlIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50 IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFNTVFMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzAsIEFERFIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFyZzEsIFNDTUQpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDUsIFBSVEMpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDMsIExvY2FsMikNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBXaGlsZSAoTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RhbGwgKDB4MEEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFuZCAoU1NUUywgMHg4MCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4ODApKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwyKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNNRDApDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKFJCWVQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWww KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTU1RTKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBBRERSKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBTQ01EKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBQUlRDKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMb2Nh bDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2Fs MikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNTVFMsIDB4ODAsIExvY2Fs MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwxLCAweDgwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDIpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE ZWNyZW1lbnQgKExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChTTUQwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChXQllULCAzLCBOb3RTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwNywgTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgV2hpbGUgKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQg KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgU1NUUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQXJnMCwgQUREUikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMSwgU0NNRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQXJnMiwgU01EMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwNiwgUFJUQykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMywgTG9jYWwyKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFdoaWxlIChMb2NhbDIpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTbGVlcCAoMHgwQSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChTU1RTLCAweDgwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHg4MCkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDIpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKFJXUkQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUg KEVDTVgsIDB4RkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDBGLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBXaGls ZSAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTU1RTKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBBRERS KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBT Q01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA5 LCBQUlRDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rh bGwgKDB4NzgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChT U1RTLCAweDgwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDgwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDc4KQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNNRDAsIERCMDAp DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU01EMSwgREIwMSkN CiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEVDTVgpDQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKERXMDApDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFdX UkQsIDQsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3LCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWwwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAwLCBTU1RTKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBBRERSKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBTQ01EKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBTTUQwKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmczLCBTTUQxKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBQUlRDKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMb2Nh bDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2Fs MikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNTVFMsIDB4ODAsIExvY2Fs MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwxLCAweDgwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDIpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE ZWNyZW1lbnQgKExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAo XF9TQi5BQykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsICJBQ1BJMDAwMyIpDQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9QQ0wsIFBhY2thZ2UgKDB4MDEpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0INCiAgICAg ICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUFNSLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFDUyAoKSkN CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0lOSSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFDUyAo KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuV1JFQyAoMHg1NCwg MHg4MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5F QzAuV1JFQyAoMHg1NCwgMHg5MCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIFNjb3BlIChcX1NCLlBDSTAuU0JSRy5FQzAp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9RMzQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDM0LCBE UDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNCUkcu RUMwLlNUQlIgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBQ1Mg KCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgV1JFQyAoMHg1NCwgMHg4MCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoXF9TQi5BVEtQKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLkFUS0QsIDB4NTgpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSRUMg KDB4NTQsIDB4OTApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5B VEtELCAweDU3KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLkFDLCAweDgwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgU2xlZXAgKDB4MTQpDQogICAgICAgICAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfU0IuQkFUMCwgMHg4MCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIFNsZWVwICgweDE0KQ0KICAgICAgICAgICAgICAgICAgICAgICAg Tm90aWZ5IChcX1NCLkJBVDEsIDB4ODApDQogICAgICAgICAgICAgICAgICAg ICAgICBTbGVlcCAoMHgxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9QUi5DUFUxLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU2xlZXAgKDB4NjQpDQogICAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkgKFxfUFIuQ1BVMSwgMHg4MSkNCiAgICAgICAgICAgICAgICAgICAgICAg IEluY3JlbWVudCAoQVBNUykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoT1NZ UykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkNCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX1VJRCwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MjApDQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAwLCAweDAw LCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgwMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDAs IDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDAwMCwgMHgwMDAwLCAweDAwLCAweDAwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDA0QzAsIDB4MDRDMCwgMHgwMCwg MHgxMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQg KFJlYWRPbmx5LCAweDAwMDAwMDAwLCAweDAwMDAwMDAwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZE9ubHksIDB4MDAw MDAwMDAsIDB4MDAwMDAwMDApDQogICAgICAgICAgICAgICAgICAgIH0pDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMsIDB4MEEsIEdQMDApDQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKENSUywg MHgwQywgR1AwMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5 dGVGaWVsZCAoQ1JTLCAweDBGLCBHUDBMKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMsIDB4MDIsIFNCUzApDQogICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKENSUywgMHgw NCwgU0JTMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQTUJT LCBHUDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBNQlMs IEdQMDEpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0JVUywg U0JTMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTQlVTLCBT QlMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBNTE4sIEdQ MEwpDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTE5vdCAo TEVxdWFsIChTUElPLCAweDAzRjApKSwgTEdyZWF0ZXIgKFNQSU8sIDB4RjAp KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKENSUywgMHgxMiwgR1Ax MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKENSUywgMHgxNCwgR1AxMSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKENSUywgMHgxNywgR1BMMSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1BJTywgR1AxMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1BJTywgR1AxMSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgR1BM MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKElPMUIpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChDUlMsIDB4MUEsIEdQMjApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChDUlMsIDB4MUMsIEdQMjEpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChDUlMs IDB4MUYsIEdQMkwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKElPMUIsIEdQMjApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKElPMUIsIEdQMjEpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKElPMUwsIEdQMkwpDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChJTzJCKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQ1JTLCAweDIyLCBHUDMwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQ1JT LCAweDI0LCBHUDMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZUJ5dGVGaWVsZCAoQ1JTLCAweDI3LCBHUDNMKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChJTzJCLCBHUDMwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzJCLCBHUDMxKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTzJMLCBHUDNMKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQVBDQikNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChD UlMsIDB4MzgsIE1MMDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQ1JTLCAweDM0LCBNQjAxKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKENSUywgMHg0 NCwgTUwwMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChDUlMsIDB4NDAsIE1CMDIpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFQQ0IsIE1CMDEpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEFQQ0wsIE1MMDEpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVFMDAwMDAsIE1CMDIpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTAwMCwgTUww MikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChDUlMpDQogICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFxfU0IuU1lTTSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDEiKSkNCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDBB MDAwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQg KFJlYWRPbmx5LCAweDAwMDAwMDAwLCAweDAwMDAwMDAwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZE9ubHksIDB4MDAw RTAwMDAsIDB4MDAwMjAwMDApDQogICAgICAgICAgICAgICAgICAgICAgICBN ZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAxMDAwMDAsIDB4MDAwMDAw MDApDQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChS ZWFkT25seSwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCkNCiAgICAgICAgICAg ICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JT LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMs IDB4MTAsIEJBUzEpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChDUlMsIDB4MTQsIExFTjEpDQogICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMsIDB4MUMsIEJBUzIpDQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMs IDB4MjAsIExFTjIpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChDUlMsIDB4MkMsIExFTjMpDQogICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMsIDB4MzQsIEJBUzQpDQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDUlMs IDB4MzgsIExFTjQpDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoT1NG TCAoKSkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTUcxQikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRl ciAoTUcxQiwgMHgwMDBDMDAwMCkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwMEMwMDAwLCBCQVMxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKE1HMUIsIEJBUzEsIExF TjEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAw QzAwMDAsIEJBUzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwMDIwMDAwLCBMRU4xKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChBZGQgKE1HMUIsIE1HMUwsIExvY2FsMCkpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoTG9jYWwwLCBCQVMyKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdWJ0cmFjdCAoMHgwMDEwMDAwMCwgQkFTMiwgTEVOMikN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRy YWN0IChNRzJCLCAweDAwMTAwMDAwLCBMRU4zKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgQWRkIChNRzJCLCBNRzJMLCBCQVM0KQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU3VidHJhY3QgKDB4MDAsIEJBUzQsIExFTjQpDQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSUykNCiAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIFNjb3BlIChcKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChcR1BTQywgU3lzdGVtSU8sIDB4 QjIsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChcR1BTQywg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU01DTSwgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIFNNU1QsICAgOA0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChcSVNN SSwgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFNNQ00pDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKFxESUFHLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwg REJHOCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoXFNJT0csIFN5c3RlbUlPLCBJTzFC LCAweDEwKQ0KICAgICAgICAgICAgICAgICAgICBGaWVsZCAoXFNJT0csIEJ5 dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBPMDAsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICBQTzAxLCAgIDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgUE8wMiwgICAxLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIFBPMDMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQTzA0 LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUE8wNSwgICAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIFBPMDYsICAgMSwgDQogICAgICAg ICAgICAgICAgICAgICAgICBQTzA3LCAgIDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgUEkwMCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAg IFBJMDEsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQSTAyLCAg IDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUEkwMywgICAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIFBJMDQsICAgMSwgDQogICAgICAgICAg ICAgICAgICAgICAgICBQSTA1LCAgIDEsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgUEkwNiwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBJ MDcsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MDQpLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBPMTAsICAgMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBQTzExLCAgIDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgUE8xMiwgICAxLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIFBPMTMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQ TzE0LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUE8xNSwgICAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBPMTYsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICBQTzE3LCAgIDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgUEkxMCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIFBJMTEsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQSTEy LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUEkxMywgICAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIFBJMTQsICAgMSwgDQogICAgICAg ICAgICAgICAgICAgICAgICBQSTE1LCAgIDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgUEkxNiwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAg IFBJMTcsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MDgpLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBPMjAsICAgMSwg DQogICAgICAgICAgICAgICAgICAgICAgICBQTzIxLCAgIDEsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgUE8yMiwgICAxLCANCiAgICAgICAgICAgICAg ICAgICAgICAgIFBPMjMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAg ICBQTzI0LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUE8yNSwg ICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBPMjYsICAgMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBQTzI3LCAgIDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgUEkyMCwgICAxLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIFBJMjEsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQ STIyLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUEkyMywgICAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBJMjQsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICBQSTI1LCAgIDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgUEkyNiwgICAxLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIFBJMjcsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQTzMw LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUE8zMSwgICAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIFBPMzIsICAgMSwgDQogICAgICAg ICAgICAgICAgICAgICAgICBQTzMzLCAgIDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgUE8zNCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAg IFBPMzUsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQTzM2LCAg IDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgUE8zNywgICAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIFBJMzAsICAgMSwgDQogICAgICAgICAg ICAgICAgICAgICAgICBQSTMxLCAgIDEsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgUEkzMiwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFBJ MzMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBQSTM0LCAgIDEs IA0KICAgICAgICAgICAgICAgICAgICAgICAgUEkzNSwgICAxLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIFBJMzYsICAgMSwgDQogICAgICAgICAgICAg ICAgICAgICAgICBQSTM3LCAgIDENCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoXFBNSU8s IFN5c3RlbUlPLCBQTUJTLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICBG aWVsZCAoXFBNSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgxMCksIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICwg ICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFREVFksICAgMywgDQog ICAgICAgICAgICAgICAgICAgICAgICBURU5BLCAgIDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgVFREVCwgICAzLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIEZSQ1QsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgVEhMUywgICAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyOCksIA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMSwgDQogICAgICAg ICAgICAgICAgICAgICAgICBTQlBTLCAgIDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDJBKSwgDQogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MkIpLCANCiAgICAgICAgICAgICAgICAgICAgICAg IEcwOFMsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAg IDIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgRzExUywgICAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIEcxMlMsICAgMSwgDQogICAgICAgICAg ICAgICAgICAgICAgICBGTFBTLCAgIDEsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDJDKSwgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgVFBPTCwg ICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyRCks IA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDJFKSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MkYpLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIEcwOEUsICAgMSwgDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDIsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgRzExRSwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIEcxMkUs ICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzAp LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwgDQogICAg ICAgICAgICAgICAgICAgICAgICBTTFBFLCAgIDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDMxKSwgDQogICAgICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MzQpLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsICAgNCwgDQogICAgICAgICAgICAgICAgICAgICAgICBTTFBT LCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM1 KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChcRUNNUywgU3lzdGVtSU8sIDB4NzIsIDB4 MDIpDQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChcRUNNUywgQnl0ZUFj YywgTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIEVJTkQsICAgOCwgDQogICAgICAgICAg ICAgICAgICAgICAgICBFREFULCAgIDgNCiAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgIEluZGV4RmllbGQgKEVJTkQsIEVE QVQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgx MiksIA0KICAgICAgICAgICAgICAgICAgICAgICAgSUtGRywgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIEZSUE4sICAgMTYsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgUkFNQiwgICAzMiwgDQogICAgICAgICAgICAgICAg ICAgICAgICBBVk9MLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAg TEJUTiwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENLTE4sICAg OCwgDQogICAgICAgICAgICAgICAgICAgICAgICBDSzAwLCAgIDgsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgQ0swMSwgICA4LCANCiAgICAgICAgICAg ICAgICAgICAgICAgIENLMDIsICAgOCwgDQogICAgICAgICAgICAgICAgICAg ICAgICBDSzAzLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0sw NCwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENLMDUsICAgOCwg DQogICAgICAgICAgICAgICAgICAgICAgICBDSzA2LCAgIDgsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgQ0swNywgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgICAgIENLMDgsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICBDSzA5LCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0sxMCwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENLMTEsICAgOCwgDQog ICAgICAgICAgICAgICAgICAgICAgICBDSzEyLCAgIDgsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgQ0sxMywgICA4LCANCiAgICAgICAgICAgICAgICAg ICAgICAgIENLMTQsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBD SzE1LCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0sxNiwgICA4 LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENLMTcsICAgOCwgDQogICAg ICAgICAgICAgICAgICAgICAgICBDSzE4LCAgIDgsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgQ0sxOSwgICA4LCANCiAgICAgICAgICAgICAgICAgICAg ICAgIENLMjAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBDSzIx LCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0syMiwgICA4LCAN CiAgICAgICAgICAgICAgICAgICAgICAgIENLMjMsICAgOCwgDQogICAgICAg ICAgICAgICAgICAgICAgICBDSzI0LCAgIDgsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgQ0syNSwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAg IENLMjYsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBDSzI3LCAg IDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0syOCwgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIENLMjksICAgOCwgDQogICAgICAgICAg ICAgICAgICAgICAgICBFUlJGLCAgIDgsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgT0NMSywgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFdJ REUsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBPVkNLLCAgIDIs IA0KICAgICAgICAgICAgICAgICAgICAgICAgUzQySywgICAzLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzRCksIA0KICAgICAgICAg ICAgICAgICAgICAgICAgQ1BVUiwgICA2LCANCiAgICAgICAgICAgICAgICAg ICAgICAgIENQVUYsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICAgICBM QlQyLCAgIDgNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoXFJBTVcsIFN5c3RlbU1lbW9y eSwgUkFNQiwgMHhGRikNCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFxS QU1XLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 QjApLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFRSVFksICAgOCwgDQog ICAgICAgICAgICAgICAgICAgICAgICBGU0ZOLCAgIDgsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgRlNUQSwgICAxNiwgDQogICAgICAgICAgICAgICAg ICAgICAgICBGQURSLCAgIDMyLCANCiAgICAgICAgICAgICAgICAgICAgICAg IEZTSVosICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQUNURCwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEFWTEQsICAgOCwgDQog ICAgICAgICAgICAgICAgICAgICAgICBTRVRELCAgIDgsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgQUNQRiwgICAxLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIERDUEYsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBD SEdGLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgRENQMiwgICAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENIRzIsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QkUpLCANCiAgICAgICAg ICAgICAgICAgICAgICAgIFBBREwsICAgMTYsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgQ0FETCwgICAxNiwgDQogICAgICAgICAgICAgICAgICAgICAg ICBDU1RFLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIE5TVEUs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEM4 KSwgDQogICAgICAgICAgICAgICAgICAgICAgICBTRlVOLCAgIDgsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweENBKSwgDQogICAgICAg ICAgICAgICAgICAgICAgICBUQUMzLCAgIDgsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgVEFDMiwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAg IFRBQzEsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBUQUMwLCAg IDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgVFBTViwgICA4LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhEMCksIA0KICAgICAg ICAgICAgICAgICAgICAgICAgRjFMMCwgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgICAgIEYyTDAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAg ICBGMUwxLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgRjJMMSwg ICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEYxTDIsICAgOCwgDQog ICAgICAgICAgICAgICAgICAgICAgICBGMkwyLCAgIDgsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgRjFMMywgICA4LCANCiAgICAgICAgICAgICAgICAg ICAgICAgIEYyTDMsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBG MUw0LCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgRjJMNCwgICA4 LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFNMUFQsICAgOCwgDQogICAg ICAgICAgICAgICAgICAgICAgICBEQlJELCAgIDMyLCANCiAgICAgICAgICAg ICAgICAgICAgICAgIEFJQkYsICAgMSwgDQogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4RTApDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChPU0ZHLCAweDAwKQ0KICAgICAg ICAgICAgICAgICAgICBOYW1lIChPUzlYLCAweDAxKQ0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChPUzk4LCAweDAyKQ0KICAgICAgICAgICAgICAgICAg ICBOYW1lIChPU01FLCAweDA0KQ0KICAgICAgICAgICAgICAgICAgICBOYW1l IChPUzJLLCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChPU1hQ LCAweDEwKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE9TVlIsIDAs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfT1NJLCBMb2Nh bDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPU1hQLCBPU0ZHKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChNQ1RIIChcX09TLCAiTWljcm9zb2Z0IFdpbmRv d3MiKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPUzk4LCBPU0ZHKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTUNU SCAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzTUU6IE1pbGxlbm5pdW0gRWRp dGlvbiIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT1NN RSwgT1NGRykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChNQ1RIIChcX09TLCAiTWljcm9zb2Z0 IFdpbmRvd3MgTlQiKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT1MySywgT1NGRykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT1NYUCwgT1NGRykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChPU0ZHKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChcU0lPUCwgU3lz dGVtSU8sIFxTUElPLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICBGaWVs ZCAoXFNJT1AsIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQ0KICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTSU9JLCAg IDgsIA0KICAgICAgICAgICAgICAgICAgICAgICAgU0lPRCwgICA4DQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBJbmRl eEZpZWxkIChTSU9JLCBTSU9ELCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MDcpLCANCiAgICAgICAgICAgICAgICAgICAgICAg IExETlAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MzApLCANCiAgICAgICAgICAgICAgICAgICAgICAgIExEQ1AsICAgOA0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChcREJHUiwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExE TlAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxLCBMRE5QKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExE Q1AsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxLCBMRENQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzAsIERCUkQpDQogICAgICAgICAgICAgICAgICAgICAgICBcSVNNSSAoXEFE QlIpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgTERO UCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIExE Q1ApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBM RE5QKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoTU5BTSwgIk02TkUiKQ0KICAgICAgICAgICAgICAgICAg ICBOYW1lIChPTkFNLCAiQVNVU1RFSyIpDQogICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgU2NvcGUgKFxfU0IuUENJMCkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwg MCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgXE9TVlIgKCkNCiAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg IFNjb3BlIChcX1NCLlBDSTAuU0JSRy5FQzApDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNkYsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDIwLCBEUDgwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKFxfU0IuQVRLUCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkg KFxfU0IuQVRLRCwgMHg0NSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1E2RSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MTksIERQODApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5B VEtQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5BVEtELCAweDQzKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTZELCAwLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgxOCwgRFA4MCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChcX1NCLkFUS1ApDQogICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5 IChcX1NCLkFUS0QsIDB4NDApDQogICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9RNkMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDE3LCBEUDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxfU0Iu QVRLUCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQVRLRCwgMHg0MSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmlj ZSAoXF9TQi5CQVQwKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwQSIpKQ0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAwKQ0KICAgICAgICAg ICAgICAgICAgICBOYW1lIChfUENMLCBQYWNrYWdlICgweDAxKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBcX1NC DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAg IE5hbWUgKEJBRFIsIDB4MTYpDQogICAgICAgICAgICAgICAgICAgIE5hbWUg KFBBSzAsIFBhY2thZ2UgKDB4MEQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgMHhGRkZGRkZGRiwgDQogICAgICAgICAgICAgICAgICAg ICAgICAweEZGRkZGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgDQog ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCANCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgMHhGRkZGRkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkZGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICIiLCAN CiAgICAgICAgICAgICAgICAgICAgICAgICIiLCANCiAgICAgICAgICAgICAg ICAgICAgICAgICIiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICIiDQog ICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE5h bWUgKFBBSzEsIFBhY2thZ2UgKDB4MEQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgxMENDLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MTBDQywgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MzlEMCwgDQogICAgICAgICAg ICAgICAgICAgICAgICAweEI2LCANCiAgICAgICAgICAgICAgICAgICAgICAg IDB4ODIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgzNCwgDQogICAg ICAgICAgICAgICAgICAgICAgICAweDA5NzIsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgIk02TkUiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICIw MDAwMSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgIkxJb24iLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICJBU1VTVGVrIg0KICAgICAgICAgICAg ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9CSUYs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChCQVRTICgpKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoUEFLMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoQkFUWCwgMHhGRkZG KQ0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNCUkcuRUMw LlNUQzUgKDB4NDIpDQogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAo MHg2NCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCSUYxICgp LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQ0FQ RCwgSW5kZXggKFBBSzEsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEZVQ0gsIEluZGV4IChQQUsxLCAweDAyKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChEQ1dOLCBJbmRleCAoUEFLMSwgMHgw NSkpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRENMVywgSW5k ZXggKFBBSzEsIDB4MDYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKERWT1QsIEluZGV4IChQQUsxLCAweDA0KSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIFJlbGVhc2UgKEJBVFgpDQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFBBSzEpDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBOYW1lIChCRkIwLCBQYWNrYWdlICgweDA0 KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUwMCwg DQogICAgICAgICAgICAgICAgICAgICAgICAweDBFNDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHhGRkZGRkZGRg0KICAgICAgICAgICAgICAgICAg ICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9CU1QsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChCQVRTICgpKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChPbmVzLCBJbmRleCAoQkZCMCwgMHgwMCkpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9uZXMsIEluZGV4IChCRkIwLCAweDAxKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lcywgSW5k ZXggKEJGQjAsIDB4MDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChPbmVzLCBJbmRleCAoQkZCMCwgMHgwMykpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCRkIwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFjcXVpcmUgKEJBVFgsIDB4RkZGRikNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuU1RDNSAoMHg0 MikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlNUMSAoKSwg SW5kZXggKEJGQjAsIDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChCU1QyICgpLCBMb2NhbDApDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgSW5kZXggKEJGQjAsIDB4MDIp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCU1QwIChM b2NhbDApLCBJbmRleCAoQkZCMCwgMHgwMCkpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEJTVDMgKCksIEluZGV4IChCRkIwLCAweDAz KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChCQVRY KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkZCMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEJBVFMgKCksIExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMb2NhbDApKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgxRikNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEYpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBOYW1l IChTQ0FMLCAweDAxNDApDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKFNF TlIsIDB4MTQpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKENBUEQsIDB4 MDAwMTQ4MjApDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEZVQ0gsIDB4 MDAwMTQ4MjApDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKERDV04sIDB4 MDFBNCkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoRENMVywgMHgwMUE0 KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChEVk9ULCAweDBFKQ0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEJJRjEsIDAsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwLCBEVzAwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkVDMC5SV1JEIChCQURSLCAweDE4 KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgQ0FQRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChc X1NCLlBDSTAuU0JSRy5FQzAuUldSRCAoQkFEUiwgMHgxMCksIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKExvY2FsMCwg MHgwNiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJh Y3QgKExvY2FsMCwgTG9jYWwxLCBGVUNIKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgRGl2aWRlIChDQVBELCAweDIxLCBMb2NhbDAsIExvY2FsMSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIERDV04pDQog ICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKENBUEQsIDB4QzgsIExv Y2FsMCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMSwgRENMVykNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChcX1NCLlBDSTAuU0JSRy5FQzAuUldSRCAoQkFEUiwgMHgxOSksIERWT1Qp DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENBUEQpDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKEJTVDAsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBQ1MgKCkpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEFyZzAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTE5vdCAoTExlc3MgKExvY2FsMSwgRlVDSCkpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIs IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQlNUMSwgMCwgU2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkVDMC5SV1JEIChCQURS LCAweDBBKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChMb2NhbDAsIDB4RkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExHcmVhdGVyIChMb2NhbDAsIDB4ODAwMCkpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgWE9yIChMb2NhbDAsIDB4RkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDAxLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYsIExvY2Fs MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEJTVDIsIDAs IFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuU0JSRy5FQzAuUldS RCAoQkFEUiwgMHgwRiksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBQ1MgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNCUkcuRUMw LlNUQzUgKDB4MjApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChcX1NCLlBDSTAuU0JSRy5FQzAuQU5ZUywgMHhGQiwgXF9TQi5QQ0kwLlNC UkcuRUMwLkFOWVMpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNz IChMb2NhbDAsIDB4MDFBRikpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoXF9T Qi5QQ0kwLlNCUkcuRUMwLkFOWVMsIDB4MDQsIFxfU0IuUENJMC5TQlJHLkVD MC5BTllTKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo QlQxUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNC UkcuRUMwLlNUQzUgKDB4NDApDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFxfU0IuUENJMC5T QlJHLkVDMC5BTllTLCAweDBDLCBMb2NhbDEpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MEMp KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ MC5TQlJHLkVDMC5TVEM1ICgweDQwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5TQlJHLkVDMC5TVEM1ICgweDIwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxfU0IuUENJMC5TQlJHLkVDMC5TVEM1ICgweDIwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFxfU0IuUENJ MC5TQlJHLkVDMC5BTllTLCAweEZCLCBcX1NCLlBDSTAuU0JSRy5FQzAuQU5Z UykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChCU1QzLCAwLCBTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoXF9TQi5QQ0kwLlNCUkcuRUMwLlJXUkQgKEJBRFIsIDB4MDkp LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoVlNSQywgMSwgU2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChB cmcwLCAweEZGRkYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IEFuZCAoTG9jYWwwLCAweDgwMDAsIExvY2FsMSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90IChMb2NhbDAs IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExv Y2FsMCwgMHhGRkZGLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSW5jcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChM b2NhbDAsIDB4MDNFOCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgTXVsdGlwbHkgKDB4MDgsIFNFTlIsIExvY2FsMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMiwg TG9jYWwzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExv Y2FsMywgRFZPVCwgTG9jYWwzKQ0KICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKFBGQ0MsIDEsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIE11bHRpcGx5IChBcmcwLCAweDAzRTgsIExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIE11bHRpcGx5IChTQ0FMLCBTRU5SLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwgTG9j YWwxLCBMb2NhbDIsIExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAgICAg IE11bHRpcGx5IChMb2NhbDMsIERWT1QsIExvY2FsMykNCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwzKQ0KICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg U2NvcGUgKFxfU0IuUENJMC5TQlJHLkVDMCkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyRiwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MkYsIERQODApDQogICAgICAgICAgICAg ICAgICAgICAgICBTbGVlcCAoMHgwNURDKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEJBVFMgKCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JFQyAoMHg0OSwgMHg4 MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBXUkVDICgweDQ5LCAweDkwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfU0IuQUMsIDB4ODApDQogICAgICAgICAgICAg ICAgICAgICAgICBOb3RpZnkgKFxfU0IuQkFUMCwgMHg4MCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5CQVQwLCAweDgxKQ0KICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgRGV2aWNlIChcX1NCLkJBVDEpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQg KCJQTlAwQzBBIikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQs IDB4MDEpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QQ0wsIFBhY2th Z2UgKDB4MDEpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIFxfU0INCiAgICAgICAgICAgICAgICAgICAgfSkNCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoQkFEUiwgMHgxNikNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoUEFLMCwgUGFja2FnZSAoMHgwRCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkZGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZG RkZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwg DQogICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgIiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgIiIs IA0KICAgICAgICAgICAgICAgICAgICAgICAgIiIsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgIiINCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoUEFLMSwgUGFja2FnZSAoMHgwRCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDEwQ0MsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgMHgxMENDLCANCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgz OUQwLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4QjYsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgMHg4MiwgDQogICAgICAgICAgICAgICAgICAg ICAgICAweDM0LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDk3Miwg DQogICAgICAgICAgICAgICAgICAgICAgICAiTTZORSIsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgIjAwMDAxIiwgDQogICAgICAgICAgICAgICAgICAg ICAgICAiTElvbiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgIkFTVVNU ZWsiDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0JJRiwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxf U0IuQlQxUykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBBSzApDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIEFj cXVpcmUgKEJBVFgsIDB4RkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAg IFxfU0IuUENJMC5TQlJHLkVDMC5TVEM1ICgweDIyKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU2xlZXAgKDB4NjQpDQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoQklGMSAoKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKENBUEQsIEluZGV4IChQQUsxLCAweDAxKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChGVUNILCBJbmRleCAoUEFL MSwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRENX TiwgSW5kZXggKFBBSzEsIDB4MDUpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKERDTFcsIEluZGV4IChQQUsxLCAweDA2KSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChEVk9ULCBJbmRleCAoUEFLMSwgMHgw NCkpDQogICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChCQVRYKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQQUsxKQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo QkZCMCwgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAg ICAgICAgICAgICAweDA1MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwRTQxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYN CiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfQlNULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5C VDFTKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmVzLCBJbmRleCAoQkZCMCwgMHgw MCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZXMs IEluZGV4IChCRkIwLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lcywgSW5kZXggKEJGQjAsIDB4MDIpKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmVzLCBJbmRleCAoQkZC MCwgMHgwMykpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCRkIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEJBVFgs IDB4RkZGRikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuU0JSRy5FQzAuU1RDNSAoMHgyMikNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTbGVlcCAoMHg2NCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoQlNUMSAoKSwgSW5kZXggKEJGQjAsIDB4MDEpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCU1QyICgpLCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2Fs MCwgSW5kZXggKEJGQjAsIDB4MDIpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChCU1QwIChMb2NhbDApLCBJbmRleCAoQkZCMCwgMHgw MCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJTVDMg KCksIEluZGV4IChCRkIwLCAweDAzKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZWxlYXNlIChCQVRYKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQkZCMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFxfU0IuQlQxUywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExOb3QgKExvY2FsMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIE5hbWUgKFNDQUwsIDB4MDE0MCkNCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoU0VOUiwgMHgxNCkNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoQ0FQRCwgMHgwMDAxNDgyMCkNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoRlVDSCwgMHgwMDAxNDgyMCkNCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoRENXTiwgMHgwMUE0KQ0KICAgICAgICAgICAgICAg ICAgICBOYW1lIChEQ0xXLCAweDAxQTQpDQogICAgICAgICAgICAgICAgICAg IE5hbWUgKERWT1QsIDB4MEUpDQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoQklGMSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIERXMDAp DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLlNC UkcuRUMwLlJXUkQgKEJBRFIsIDB4MTgpLCBMb2NhbDApDQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBDQVBEKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkVDMC5SV1JE IChCQURSLCAweDEwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU2hpZnRSaWdodCAoTG9jYWwwLCAweDA2LCBMb2NhbDEpDQogICAgICAg ICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9jYWwwLCBMb2NhbDEsIEZV Q0gpDQogICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKENBUEQsIDB4 MjEsIExvY2FsMCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKExvY2FsMSwgRENXTikNCiAgICAgICAgICAgICAgICAgICAgICAg IERpdmlkZSAoQ0FQRCwgMHhDOCwgTG9jYWwwLCBMb2NhbDEpDQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBEQ0xXKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkVDMC5S V1JEIChCQURSLCAweDE5KSwgRFZPVCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQ0FQRCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQlNUMCwgMSwgU2VyaWFsaXpl ZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFDUyAoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9j YWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChM TGVzcyAoTG9jYWwxLCBGVUNIKSkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMiwgTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChCU1QxLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5Q Q0kwLlNCUkcuRUMwLlJXUkQgKEJBRFIsIDB4MEIpLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHhGRkZGLCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExv Y2FsMCwgMHg4MDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBYT3IgKExvY2FsMCwgMHhGRkZG LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChM b2NhbDAsIDB4MDEsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHhGRkZGRkZGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoQlNUMiwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFxfU0IuUENJMC5TQlJHLkVDMC5SV1JEIChCQURSLCAweDBGKSwgTG9jYWww KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFDUyAoKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuU1RDNSAoMHgyMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFxfU0IuUENJMC5TQlJHLkVDMC5B TllTLCAweEY3LCBcX1NCLlBDSTAuU0JSRy5FQzAuQU5ZUykNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTExlc3MgKExvY2FsMCwgMHgwMUFGKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChcX1NCLlBDSTAuU0JSRy5FQzAuQU5ZUywg MHgwOCwgXF9TQi5QQ0kwLlNCUkcuRUMwLkFOWVMpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChCQVRTICgpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuU1RDNSAoMHg0MCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5F QzAuU1RDNSAoMHgyMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChcX1NCLlBDSTAuU0JSRy5FQzAuQU5ZUywgMHhGNywgXF9TQi5Q Q0kwLlNCUkcuRUMwLkFOWVMpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQlNUMywg MCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkVDMC5S V1JEIChCQURSLCAweDA5KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFZTUkMsIDEsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIEFuZCAoQXJnMCwgMHhGRkZGLCBMb2NhbDApDQogICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHg4MDAwLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwxKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5vdCAoTG9jYWwwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgQW5kIChMb2NhbDAsIDB4RkZGRiwgTG9jYWwwKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBNdWx0aXBseSAoTG9jYWwwLCAweDAzRTgsIExvY2FsMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIE11bHRpcGx5ICgweDA4LCBTRU5SLCBMb2Nh bDEpDQogICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKExvY2FsMCwg TG9jYWwxLCBMb2NhbDIsIExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAg ICAgIE11bHRpcGx5IChMb2NhbDMsIERWT1QsIExvY2FsMykNCiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwzKQ0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChQRkND LCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoQXJnMCwgMHgwM0U4LCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoU0NB TCwgU0VOUiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRGl2 aWRlIChMb2NhbDAsIExvY2FsMSwgTG9jYWwyLCBMb2NhbDMpDQogICAgICAg ICAgICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwzLCBEVk9ULCBMb2Nh bDMpDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMykN CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgIFNjb3BlIChcX1NCLlBDSTAuU0JSRy5FQzApDQog ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTY29wZSAo XF9HUEUpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0wxMywgMCwgTm90U2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTbGVlcCAoMHgwNURDKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChcX1NCLkJUMVMpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMCwgXF9TQi5CVDFTKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfU0IuQkFUMSwgMHgwMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVDEs IDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAxLCBcX1NCLkJUMVMpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChc X1NCLkFDLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5CQVQxLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5vdGlmeSAoXF9TQi5CQVQxLCAweDgxKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgU2NvcGUgKFxfU0IpDQog ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChB VEtQLCBaZXJvKQ0KICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEFUS0Qp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsICJBVEswMTAwIikNCiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MDEwMTAxMDApDQogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKElOSVQsIDEsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9uZSwgQVRLUCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKCJNNk5FIikNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChC U1RTLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChNTEVELCAxLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChBcmcwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEFyZzAsIERCRzgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDMxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBEQkc4KQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1MSwgTG9jYWwwKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5TQlJHLkVDMC5TVEM1IChMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoVE1QUiwgMCwgTm90U2VyaWFsaXplZCkN CiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoXF9UWi5SVE1QICgpLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfVFouUkZBTiAoKSwg TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVm dCAoTG9jYWwxLCAweDEwLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgQWRkIChcX1RaLktFTFYgKExvY2FsMCksIExvY2FsMSwgTG9j YWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxU RU5BKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxURFRZLCBMb2NhbDIp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChc VEhMUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxUVERU LCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMiwgMHgxOCwgTG9j YWwyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoTG9jYWww LCBMb2NhbDIsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChTRlVOLCAwLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDc3LCBMb2NhbDAp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9T Qi5QQ0kwLlAwUDIuTVBDMC5NUERQICgpLCAweDAxKSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChMb2NhbDAsIDB4MDEwMCwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMR3JlYXRlciAoXF9TQi5QQ0kwLlAwUDIuTVBDMC5NUERQ ICgpLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4 MDgwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWww KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKFdERVYsIDAsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChcX1NCLlBDSTAuUDBQMi5NUEMwLk1QRFAgKCkp DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoT1NWUiwgMSwgTm90U2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTUNUSCAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIE5U IikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgT1NGRykNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MTAsIE9TRkcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKEdQTFYsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChcX1NCLlBDSTAuU0JSRy5FQzAuQlJDVCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChTUExWLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChBcmcwLCBcX1NCLlBDSTAuU0JSRy5FQzAuQlJDVCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuU0JSRy5FQzAuU1RCUiAo KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkN CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChXTEVELCAxLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBcmcwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIFxfU0IuUENJMC5TQlJHLlNHMTMpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBcX1NCLlBDSTAuU0JS Ry5TRzEzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChTRFNQLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKFxfU0IuUENJMC5QMFAxLlZHQS5TV0lULCAweDAwKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwg MHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAx LCBcX1NCLlBDSTAuUDBQMS5WR0EuTENELl9ER1MpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMCwgXF9TQi5QQ0kwLlAwUDEuVkdBLkxDRC5fREdTKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwwLCAweDAyKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFxfU0IuUENJ MC5QMFAxLlZHQS5DUlQuX0RHUykNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBc X1NCLlBDSTAuUDBQMS5WR0EuQ1JULl9ER1MpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChMb2NhbDAsIDB4MDQpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgXF9TQi5QQ0kwLlAwUDEuVkdB LlRWLl9ER1MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9TQi5QQ0kwLlAw UDEuVkdBLlRWLl9ER1MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5QMFAxLlZHQSwgMHg4MCkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFxfU0IuUENJMC5TQlJH LkVDMC5EU1RFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgXF9TQi5QQ0kwLlNCUkcuRUMwLkNTVEUpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEdQSUQs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJ MC5TQlJHLkVDMC5BTllTLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRSaWdodCAoTG9jYWwwLCAweDA0LCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBTY29w ZSAoXF9TQi5BVEtEKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChGU01JLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMCwgXEZTRk4pDQogICAgICAgICAgICAgICAgICAgICAgICBP ciAoQXJnMCwgMHhBMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgXERCRzgpDQogICAgICAgICAgICAgICAgICAg ICAgICBJU01JIChcV0ZBVCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoXEZTVEEpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKEZMU0gsIDEsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcwLCBcRlNUQSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIEZTTUkgKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEZJTkksIDEsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChBcmcwLCBcRkFEUikNCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoRlNNSSAoMHgwMSkpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEZFUlMsIDEs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBcRlNUQSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoRlNNSSAoMHgwMikpDQogICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKEZXUkksIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBc RkFEUikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEwMDAs IFxGU0laKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTdWJ0 cmFjdCAoMHgxMDAwLCBGU01JICgweDAzKSkpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEZXUlAsIDAs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBcRlNJWikNCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoU3VidHJhY3QgKDB4MTAwMCwg RlNNSSAoMHgwMykpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZp Y2UgKFNNQlMpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDFGMDAwMykNCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9QUlcsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEdQUlcgKDB4MDcsIDB4MDMp KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgRGV2aWNlIChNT0RNKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDYpDQogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFJXLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChHUFJXICgw eDA1LCAweDAzKSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgIERldmljZSAoSURFMCkNCiAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAxKQ0KICAg ICAgICAgICAgICAgIE5hbWUgKFJFR0YsIDB4MDEpDQogICAgICAgICAgICAg ICAgTWV0aG9kIChfUkVHLCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJn MCwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBSRUdGKQ0KICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChCQVIwLCBQQ0lfQ29uZmlnLCAweDAwLCAw eDAxMDApDQogICAgICAgICAgICAgICAgRmllbGQgKEJBUjAsIERXb3JkQWNj LCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQwKSwgDQogICAgICAgICAgICAg ICAgICAgIFRJTVAsICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICBUSU1T LCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgU1RNUCwgICA0LCANCiAg ICAgICAgICAgICAgICAgICAgU1RNUywgICA0LCANCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDQ4KSwgDQogICAgICAgICAgICAgICAgICAgIFVE TVAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIFVETVMsICAgMiwgDQog ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0QSksIA0KICAgICAgICAg ICAgICAgICAgICBVRFRQLCAgIDYsIA0KICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4NEIpLCANCiAgICAgICAgICAgICAgICAgICAgVURUUywgICA2 LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU0KSwgDQogICAg ICAgICAgICAgICAgICAgIFBDQjAsICAgMiwgDQogICAgICAgICAgICAgICAg ICAgIFNDQjAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIFBDQTAsICAg MiwgDQogICAgICAgICAgICAgICAgICAgIFNDQTAsICAgMiwgDQogICAgICAg ICAgICAgICAgICAgICAgICAsICAgNCwgDQogICAgICAgICAgICAgICAgICAg IEZQQjAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIEZTQjAsICAgMg0K ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE5hbWUgKFRJ TTAsIFBhY2thZ2UgKDB4MDkpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDc4LCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4QjQsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgMHhGMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzODQN CiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgMHgyMywgDQogICAgICAgICAgICAgICAg ICAgICAgICAweDIxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAs IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAg ICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAweDBCLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDks IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwgDQogICAgICAgICAg ICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4NzAs IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHg0OSwgDQogICAgICAgICAg ICAgICAgICAgICAgICAweDM2LCANCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MjcsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgxOSwgDQogICAg ICAgICAgICAgICAgICAgICAgICAweDBGDQogICAgICAgICAgICAgICAgICAg IH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg DQogICAgICAgICAgICAgICAgICAgICAgICAweDAxDQogICAgICAgICAgICAg ICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDYpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxDQogICAgICAg ICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDYpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxDQog ICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDQsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAg ICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBOYW1lIChUTUQwLCBC dWZmZXIgKDB4MTQpIHt9KQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKFRNRDAsIDB4MDAsIFBJTzApDQogICAgICAgICAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoVE1EMCwgMHgwNCwgRE1BMCkNCiAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChUTUQwLCAweDA4LCBQSU8xKQ0KICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFRNRDAsIDB4MEMsIERN QTEpDQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoVE1EMCwg MHgxMCwgQ0hORikNCiAgICAgICAgICAgICAgICBOYW1lIChHVElNLCAweDAw KQ0KICAgICAgICAgICAgICAgIE5hbWUgKEdTVE0sIDB4MDApDQogICAgICAg ICAgICAgICAgTmFtZSAoR1VETSwgMHgwMCkNCiAgICAgICAgICAgICAgICBO YW1lIChHVURULCAweDAwKQ0KICAgICAgICAgICAgICAgIE5hbWUgKEdDQjAs IDB4MDApDQogICAgICAgICAgICAgICAgTmFtZSAoR0ZCMCwgMHgwMCkNCiAg ICAgICAgICAgICAgICBEZXZpY2UgKENITjApDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQ0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoR1RNIChUSU1QLCBTVE1QLCBVRE1QLCBVRFRQLCBQ Q0IwLCBGUEIwKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUTSwgMywgTm90U2VyaWFsaXplZCkN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEFyZzAsIERlYnVnKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEFyZzAsIFRNRDApDQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoVElNUCwgR1RJTSkNCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChVRFRQLCBHVURUKQ0KICAgICAgICAgICAgICAgICAgICAgICAg SWYgKFNUTSAoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1RJTSwgVElNUCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1NUTSwgU1RNUCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1VETSwgVURN UCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1VEVCwg VURUUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0NC MCwgUENCMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo R0ZCMCwgRlBCMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdURiAoMHgwMCwgQXJnMSks IEFUQTApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1RGICgw eDAxLCBBcmcyKSwgQVRBMSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgICAgIERldmljZSAoRFJWMCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dU RiwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJBVEEg KEFUQTApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChE UlYxKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQURSLCAweDAxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUkFUQSAoQVRBMSkpDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKENITjEpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAw eDAxKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoR1RNIChUSU1TLCBTVE1TLCBVRE1T LCBVRFRTLCBTQ0IwLCBGU0IwKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUTSwgMywgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERlYnVnKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFRNRDApDQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoVElNUywgR1RJTSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChVRFRTLCBHVURUKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKFNUTSAoKSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1RJTSwg VElNUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR1NU TSwgU1RNUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo R1VETSwgVURNUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoR1VEVCwgVURUUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoR0NCMCwgU0NCMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoR0ZCMCwgRlNCMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdURiAoMHgw MCwgQXJnMSksIEFUQTIpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoR1RGICgweDAxLCBBcmcyKSwgQVRBMykNCiAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIERldmljZSAoRFJWMCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFJBVEEgKEFUQTIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg RGV2aWNlIChEUlYxKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUkFUQSAoQVRBMykpDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKEdUTSwg NiwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmVzLCBQSU8wKQ0KICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoUElPMCwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFBJTzAsIERNQTApDQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChQSU8wLCBETUExKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVy bywgQ0hORikNCiAgICAgICAgICAgICAgICAgICAgSWYgKFJFR0YpIHt9DQog ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChUTUQwKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoQXJnMCwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChDSE5GLCAweDAyLCBDSE5GKQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg U2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDMzMDApLCAweDA4LCBMb2NhbDUp DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChNYXRjaCAoRGVyZWZPZiAo SW5kZXggKFRJTTAsIDB4MDEpKSwgTUxFLCBMb2NhbDUsIE1UUiwgMHgwMCwg MHgwMCksIExvY2FsNikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERl cmVmT2YgKEluZGV4IChEZXJlZk9mIChJbmRleCAoVElNMCwgMHgwMCkpLCBM b2NhbDYpKSwgTG9jYWw3KQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWw3LCBETUEwKQ0KICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChB cmcwLCAweDA4KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwgUElPMCkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChMb2NhbDcsIFBJTzApDQogICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcwLCAweDIwKSkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg T3IgKENITkYsIDB4MDgsIENITkYpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcwLCAweDQwMDAp KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBPciAoQ0hORiwgMHgxMCwgQ0hORikNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChNYXRjaCAoRGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4 MDIpKSwgTUxFLCBBcmcxLCBNVFIsIDB4MDAsIDB4MDApLCBMb2NhbDUpDQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXgg KERlcmVmT2YgKEluZGV4IChUSU0wLCAweDAwKSksIExvY2FsNSkpLCBMb2Nh bDYpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw2LCBE TUExKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwg MHg4MCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDM4NCwgUElPMSkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw2LCBQSU8xKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMiwgMHgwMSkpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IEFuZCAoQXJnMywgMHgwMywgTG9jYWw1KQ0KICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExBbmQgKEFuZCAoQXJnNSwgMHgwMSksIExFcXVhbCAoTG9j YWw1LCAweDAxKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDUsIDB4MDQsIExv Y2FsNSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmc0LCAw eDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoTG9jYWw1LCAweDAyLCBM b2NhbDUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4IChUSU0w LCAweDAzKSksIExvY2FsNSkpLCBETUEwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgT3IgKENITkYsIDB4MDEsIENITkYpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAw eDAyKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgQW5kIChTaGlmdFJpZ2h0IChBcmczLCAweDA0KSwgMHgwMywg TG9jYWw1KQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFu ZCAoQXJnNSwgMHgwMiksIExFcXVhbCAoTG9jYWw1LCAweDAxKSkpDQogICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQWRkIChMb2NhbDUsIDB4MDQsIExvY2FsNSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UN CiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChBcmc0LCAweDAyKSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFkZCAoTG9jYWw1LCAweDAyLCBMb2NhbDUpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAo SW5kZXggKERlcmVmT2YgKEluZGV4IChUSU0wLCAweDAzKSksIExvY2FsNSkp LCBETUExKQ0KICAgICAgICAgICAgICAgICAgICAgICAgT3IgKENITkYsIDB4 MDQsIENITkYpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoVE1EMCwgRGVidWcpDQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoVE1EMCkNCiAgICAgICAgICAgICAgICB9DQoNCiAg ICAgICAgICAgICAgICBNZXRob2QgKFNUTSwgMCwgU2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChSRUdG KSB7fQ0KICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIEFuZCAoR1RJTSwgMHg4MDQ0LCBHVElNKQ0KICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgR1NUTSkNCiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIEdVRE0pDQogICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBHQ0IwKQ0KICAgICAgICAgICAgICAgICAgICBBbmQgKEdVRFQs IDB4Q0MsIEdVRFQpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAw LCBHRkIwKQ0KICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDSE5GLCAw eDAxKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE1hdGNoIChEZXJlZk9mIChJbmRleCAoVElNMCwg MHgwMykpLCBNTEUsIERNQTAsIE1UUiwgMHgwMCwgMHgwMCksIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWww LCAweDA1KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNSwgTG9jYWwwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBPciAoR1VEVCwgRGVyZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4 IChUSU0wLCAweDA0KSksIExvY2FsMCkpLCBHVURUKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgT3IgKEdDQjAsIERlcmVmT2YgKEluZGV4IChEZXJlZk9m IChJbmRleCAoVElNMCwgMHgwNSkpLCBMb2NhbDApKSwgR0NCMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChHRkIwLCBEZXJlZk9mIChJbmRleCAo RGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4MDYpKSwgTG9jYWwwKSksIEdGQjAp DQogICAgICAgICAgICAgICAgICAgICAgICBPciAoR1VETSwgMHgwMSwgR1VE TSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChPciAoTEVxdWFsIChQSU8wLCBPbmVzKSwgTEVxdWFs IChQSU8wLCAweDAwKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTExlc3MgKERN QTAsIE9uZXMpLCBMR3JlYXRlciAoRE1BMCwgMHgwMCkpKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKERNQTAsIFBJTzApDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChHVElNLCAweDA4LCBHVElNKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKENITkYsIDB4MDQpKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTWF0Y2gg KERlcmVmT2YgKEluZGV4IChUSU0wLCAweDAzKSksIE1MRSwgRE1BMSwgTVRS LCAweDAwLCAweDAwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExHcmVhdGVyIChMb2NhbDAsIDB4MDUpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDA1LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChHVURULCBTaGlmdExl ZnQgKERlcmVmT2YgKEluZGV4IChEZXJlZk9mIChJbmRleCAoVElNMCwgMHgw NCkpLCBMb2NhbDApKSwgMHgwNCksIEdVRFQpDQogICAgICAgICAgICAgICAg ICAgICAgICBPciAoR0NCMCwgU2hpZnRMZWZ0IChEZXJlZk9mIChJbmRleCAo RGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4MDUpKSwgTG9jYWwwKSksIDB4MDEp LCBHQ0IwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEdGQjAsIFNo aWZ0TGVmdCAoRGVyZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4IChUSU0w LCAweDA2KSksIExvY2FsMCkpLCAweDAxKSwgR0ZCMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIE9yIChHVURNLCAweDAyLCBHVURNKQ0KICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYg KE9yIChMRXF1YWwgKFBJTzEsIE9uZXMpLCBMRXF1YWwgKFBJTzEsIDB4MDAp KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChMTGVzcyAoRE1BMSwgT25lcyksIExH cmVhdGVyIChETUExLCAweDAwKSkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoRE1BMSwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKEdUSU0sIDB4ODAsIEdUSU0pDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQ0hORiwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChHVElNLCAweDAzLCBHVElNKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoQ0hORiwgMHgwOCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChHVElNLCAweDMwLCBHVElNKQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg QW5kIChNYXRjaCAoRGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4MDApKSwgTUdF LCBQSU8wLCBNVFIsIDB4MDAsIDB4MDApLCAweDAzLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoRGVyZWZP ZiAoSW5kZXggKFRJTTAsIDB4MDEpKSwgTG9jYWwwKSksIExvY2FsMSkNCiAg ICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChMb2NhbDEsIDB4MDgsIExv Y2FsMikNCiAgICAgICAgICAgICAgICAgICAgT3IgKEdUSU0sIExvY2FsMiwg R1RJTSkNCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQ0hORiwgMHgx MCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChHVElNLCAweDQwMDAsIEdUSU0pDQogICAgICAgICAgICAg ICAgICAgICAgICBBbmQgKE1hdGNoIChEZXJlZk9mIChJbmRleCAoVElNMCwg MHgwMCkpLCBNR0UsIFBJTzEsIE1UUiwgMHgwMCwgMHgwMCksIDB4MDMsIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9m IChJbmRleCAoRGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4MDIpKSwgTG9jYWww KSksIEdTVE0pDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDEpDQogICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgTmFtZSAoQVQwMSwgQnVmZmVyICgweDA3KQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMywg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhFRg0KICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgTmFtZSAoQVQwMiwgQnVmZmVy ICgweDA3KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg5MA0K ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgTmFtZSAoQVQw MywgQnVmZmVyICgweDA3KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHhDNg0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAg TmFtZSAoQVQwNCwgQnVmZmVyICgweDA3KQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHg5MQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAg ICAgICAgICAgTmFtZSAoQVRBMCwgQnVmZmVyICgweDFEKSB7fSkNCiAgICAg ICAgICAgICAgICBOYW1lIChBVEExLCBCdWZmZXIgKDB4MUQpIHt9KQ0KICAg ICAgICAgICAgICAgIE5hbWUgKEFUQTIsIEJ1ZmZlciAoMHgxRCkge30pDQog ICAgICAgICAgICAgICAgTmFtZSAoQVRBMywgQnVmZmVyICgweDFEKSB7fSkN CiAgICAgICAgICAgICAgICBOYW1lIChBVEFCLCBCdWZmZXIgKDB4MUQpIHt9 KQ0KICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQVRBQiwgMHgw MCwgQ01EQykNCiAgICAgICAgICAgICAgICBNZXRob2QgKEdURkIsIDMsIFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBNdWx0aXBseSAoQ01EQywgMHgzOCwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICBBZGQgKExvY2FsMCwgMHgwOCwgTG9jYWwxKQ0KICAgICAg ICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoQVRBQiwgTG9jYWwxLCAweDM4 LCBDTURYKQ0KICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoQ01EQywg MHgwNywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFUQUIsIEFkZCAoTG9jYWwwLCAweDAyKSwgQTAwMSkNCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBVEFCLCBBZGQgKExv Y2FsMCwgMHgwNiksIEEwMDUpDQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChBcmcwLCBDTURYKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJn MSwgQTAwMSkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEEw MDUpDQogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoQ01EQykNCiAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKEdU RiwgMiwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBEZWJ1ZykNCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDAsIENNREMpDQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKElENDksIDB4MEMwMCkNCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoSUQ1OSwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo SUQ1MywgMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoSUQ2Mywg MHgwRjAwKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChJRDg4LCAweDBG MDApDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKElSRFksIDB4MDEpDQog ICAgICAgICAgICAgICAgICAgIE5hbWUgKFBJT1QsIDB4MDApDQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKERNQVQsIDB4MDApDQogICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKFNpemVPZiAoQXJnMSksIDB4MDIwMCkpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg2MiwgSVc0OSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChJVzQ5LCBJRDQ5KQ0KICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDZBLCBJ VzUzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElXNTMsIElE NTMpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQg KEFyZzEsIDB4N0UsIElXNjMpDQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoSVc2MywgSUQ2MykNCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg3NiwgSVc1OSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChJVzU5LCBJRDU5KQ0KICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweEIwLCBJVzg4 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElXODgsIElEODgp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHhBMCwgTG9jYWw3KQ0KICAgICAgICAgICAgICAgICAgICBJ ZiAoQXJnMCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4QjAsIExvY2FsNykNCiAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoQ0hORiwgMHgwOCwgSVJEWSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKENITkYsIDB4MTApKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSU8xLCBQSU9UKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChQSU8wLCBQSU9UKQ0KICAgICAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDSE5GLCAw eDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChDSE5GLCAweDEwKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChETUExLCBETUFUKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRE1BMCwgRE1BVCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKENITkYsIDB4MDIsIElSRFkpDQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgUElPVCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENITkYsIDB4MDEpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChETUEwLCBETUFUKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgSWYgKExBbmQgKExBbmQgKEFuZCAoSUQ1MywgMHgwNCks IEFuZCAoSUQ4OCwgMHhGRjAwKSksIERNQVQpKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTWF0Y2gg KERlcmVmT2YgKEluZGV4IChUSU0wLCAweDAzKSksIE1MRSwgRE1BVCwgTVRS LCAweDAwLCAweDAwKSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExHcmVhdGVyIChMb2NhbDEsIDB4MDUpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDA1LCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIEdURkIgKEFUMDEsIE9yICgw eDQwLCBMb2NhbDEpLCBMb2NhbDcpDQogICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChJ RDYzLCAweEZGMDApLCBQSU9UKSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKE1hdGNoIChE ZXJlZk9mIChJbmRleCAoVElNMCwgMHgwMCkpLCBNR0UsIFBJT1QsIE1UUiwg MHgwMCwgMHgwMCksIDB4MDMsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPciAoMHgyMCwgRGVyZWZPZiAoSW5kZXggKERlcmVmT2Yg KEluZGV4IChUSU0wLCAweDA4KSksIExvY2FsMCkpLCBMb2NhbDEpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1RGQiAoQVQwMSwgTG9jYWwxLCBM b2NhbDcpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBJZiAoSVJEWSkN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChNYXRjaCAoRGVyZWZPZiAoSW5kZXggKFRJTTAsIDB4MDApKSwg TUdFLCBQSU9ULCBNVFIsIDB4MDAsIDB4MDApLCAweDAzLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICBPciAoMHgwOCwgRGVyZWZPZiAoSW5k ZXggKERlcmVmT2YgKEluZGV4IChUSU0wLCAweDA3KSksIExvY2FsMCkpLCBM b2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICBHVEZCIChBVDAxLCBM b2NhbDEsIExvY2FsNykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKElENDksIDB4MDQwMCkp DQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgR1RGQiAoQVQwMSwgMHgwMSwgTG9jYWw3KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoSUQ1OSwgMHgw MTAwKSwgQW5kIChJRDU5LCAweEZGKSkpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEdURkIgKEFUMDMsIEFuZCAo SUQ1OSwgMHhGRiksIExvY2FsNykNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBVEFCLCBEZWJ1ZykNCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChBVEFCKQ0KICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoUkFUQSwgMSwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMCwgQ01ETikNCiAg ICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKENNRE4sIDB4MzgsIExvY2Fs MCkNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKEFyZzAsIDB4 MDgsIExvY2FsMCwgUkVUQikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFJFVEIsIERlYnVnKQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJF VEIpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBEZXZpY2UgKFAwUDIpDQogICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMCkNCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9QUlcsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEdQUlcg KDB4MEIsIDB4MDMpKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUFIw MikNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKENCQzEpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCAweDAwMDEwMDAxKQ0KICAgICAgICAgICAgICAg ICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDBCLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDMNCiAgICAgICAgICAgICAgICAg ICAgfSkNCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQ TUVTLCBQQ0lfQ29uZmlnLCAweEUwLCAweDAyKQ0KICAgICAgICAgICAgICAg ICAgICBGaWVsZCAoUE1FUywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgUkUwLCAgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFJFMSwg ICAgOA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEYpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAzKQ0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChDRVYxLCAwLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICBEZXZpY2UgKElMTkspDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDEwMDAyKQ0KICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoTEFO KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICBEZXZpY2UgKE1QQzApDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDIwMDAwKQ0KICAg ICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKE1JTlAsIFBDSV9D b25maWcsIDB4MDAsIDB4NjgpDQogICAgICAgICAgICAgICAgICAgIEZpZWxk IChNSU5QLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBWTlVNLCAg IDMyLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyQyks IA0KICAgICAgICAgICAgICAgICAgICAgICAgU05VTSwgICAzMiwgDQogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzQpDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1Q RFAsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFNOVU0sIDB4 MDQ2MjE2NjgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoU05VTSwgMHgyNTIyODA4NikpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTTlVNLCAweDI1Mjc4 MDg2KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKFNOVU0sIDB4MTAyMDEwNDMpKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU05VTSwgMHgxMjBGMTA0Mykp DQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDA0KQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChTTlVNLCAweDI1MTA4MDg2KSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDgp DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKFZOVU0sIDB4RkZGRikpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMikNCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAw KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKFAwUDEpDQog ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MDAxMDAwMCkNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFBSMDEpDQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgRGV2aWNlIChWR0EpDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQ0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChBcmcwLCBTV0lUKQ0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0RPRCwgUGFja2Fn ZSAoMHgwMykNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDAxMDEwMCwgDQogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDEwMTEwLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIwMA0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg ICAgICBEZXZpY2UgKENSVCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMTAwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0RDUywgMHgxRikNCiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ER1MsIDB4MDApDQogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgxRCwgXF9TQi5QQ0kwLlAwUDEuVkdB LkNSVC5fRENTKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MUYsIFxfU0Iu UENJMC5QMFAxLlZHQS5DUlQuX0RDUykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChBcmcwLCAweDgwMDAwMDAwKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDFELCBcX1NCLlBDSTAuUDBQMS5WR0EuQ1JULl9EQ1MpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHg4MDAwMDAwMSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxRiwgXF9TQi5QQ0kwLlAw UDEuVkdBLkNSVC5fRENTKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFyZzAsIDB4NDAwMDAwMDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE9yICgw eDAxLCBcX1NCLlBDSTAuUDBQMS5WR0EuQ1JULl9ER1MsIFxfU0IuUENJMC5Q MFAxLlZHQS5DUlQuX0RHUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDQwMDAwMDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAo MHgwMSwgXF9TQi5QQ0kwLlAwUDEuVkdBLkNSVC5fREdTLCBcX1NCLlBDSTAu UDBQMS5WR0EuQ1JULl9ER1MpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHhDMDAwMDAwMCkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYT3Ig KDB4MDEsIFxfU0IuUENJMC5QMFAxLlZHQS5DUlQuX0RHUywgXF9TQi5QQ0kw LlAwUDEuVkdBLkNSVC5fREdTKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4QzAwMDAwMDEpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE9y ICgweDAxLCBcX1NCLlBDSTAuUDBQMS5WR0EuQ1JULl9ER1MsIFxfU0IuUENJ MC5QMFAxLlZHQS5DUlQuX0RHUykNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKFRW KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCAweDAyMDApDQogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfRENTLCAweDFGKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX0RHUywgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0RTUywgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChBcmcwLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDFELCBcX1NCLlBDSTAuUDBQMS5WR0EuVFYuX0RDUykNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDFGLCBcX1NCLlBDSTAuUDBQMS5WR0EuVFYu X0RDUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDgw MDAwMDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDFELCBcX1NC LlBDSTAuUDBQMS5WR0EuVFYuX0RDUykNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChBcmcwLCAweDgwMDAwMDAxKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDFGLCBcX1NCLlBDSTAuUDBQMS5WR0EuVFYuX0RDUykNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDQwMDAwMDAwKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFhPciAoMHgwMSwgXF9TQi5QQ0kwLlAwUDEu VkdBLlRWLl9ER1MsIFxfU0IuUENJMC5QMFAxLlZHQS5UVi5fREdTKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4NDAwMDAwMDEpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWE9yICgweDAxLCBcX1NCLlBDSTAuUDBQMS5W R0EuVFYuX0RHUywgXF9TQi5QQ0kwLlAwUDEuVkdBLlRWLl9ER1MpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHhDMDAwMDAwMCkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBYT3IgKDB4MDEsIFxfU0IuUENJMC5QMFAxLlZH QS5UVi5fREdTLCBcX1NCLlBDSTAuUDBQMS5WR0EuVFYuX0RHUykNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweEMwMDAwMDAxKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFhPciAoMHgwMSwgXF9TQi5QQ0kwLlAwUDEuVkdB LlRWLl9ER1MsIFxfU0IuUENJMC5QMFAxLlZHQS5UVi5fREdTKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIERldmljZSAoTENEKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxMTApDQog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfRENTLCAweDFGKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0RHUywgMHgwMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywgMSwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDFELCBcX1NCLlBDSTAuUDBQMS5W R0EuTENELl9EQ1MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJn MCwgMHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxRiwgXF9T Qi5QQ0kwLlAwUDEuVkdBLkxDRC5fRENTKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKEFyZzAsIDB4ODAwMDAwMDApKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MUQsIFxfU0IuUENJMC5QMFAxLlZHQS5MQ0QuX0RDUykN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDgwMDAwMDAx KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDFGLCBcX1NCLlBDSTAu UDBQMS5WR0EuTENELl9EQ1MpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHg0MDAwMDAwMCkpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYT3Ig KDB4MDEsIFxfU0IuUENJMC5QMFAxLlZHQS5MQ0QuX0RHUywgXF9TQi5QQ0kw LlAwUDEuVkdBLkxDRC5fREdTKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4NDAwMDAwMDEpKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE9y ICgweDAxLCBcX1NCLlBDSTAuUDBQMS5WR0EuTENELl9ER1MsIFxfU0IuUENJ MC5QMFAxLlZHQS5MQ0QuX0RHUykNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweEMwMDAwMDAwKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhP ciAoMHgwMSwgXF9TQi5QQ0kwLlAwUDEuVkdBLkxDRC5fREdTLCBcX1NCLlBD STAuUDBQMS5WR0EuTENELl9ER1MpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoQXJnMCwgMHhDMDAwMDAwMSkpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY T3IgKDB4MDEsIFxfU0IuUENJMC5QMFAxLlZHQS5MQ0QuX0RHUywgXF9TQi5Q Q0kwLlAwUDEuVkdBLkxDRC5fREdTKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKFNX SVQsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEdEQ1MsIDB4 MDApDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEdER1MsIDB4MDEpDQog ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBEZXZpY2UgKEFVREkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAwNSkNCiAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgRGV2aWNlIChVU0IxKQ0KICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDApDQogICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChCQVIwLCBQQ0lfQ29uZmlnLCAw eEMwLCAweDA1KQ0KICAgICAgICAgICAgICAgIEZpZWxkIChCQVIwLCBCeXRl QWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgVUJMMSwgICAxNiwgDQogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgwNCksIA0KICAgICAgICAgICAgICAgICAgICBQ MFdFLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICBQMVdFLCAgIDEsIA0K ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDUpDQogICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgSWYgKEFyZzApDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBQMFdFKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFAxV0UpDQogICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMCwgUDBXRSkNCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBQMVdFKQ0KICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChf UFJXLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChHUFJXICgweDAzLCAweDAzKSkN CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgIERldmljZSAoVVNCMikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAxKQ0KICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoQkFSMCwgUENJX0NvbmZpZywgMHhDMCwgMHgw NSkNCiAgICAgICAgICAgICAgICBGaWVsZCAoQkFSMCwgQnl0ZUFjYywgTm9M b2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIFVCTDEsICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MDQpLCANCiAgICAgICAgICAgICAgICAgICAgUDBXRSwgICAx LCANCiAgICAgICAgICAgICAgICAgICAgUDFXRSwgICAxLCANCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDA1KQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTVywgMSwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IElmIChBcmcwKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgUDBXRSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAxLCBQMVdFKQ0KICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFAwV0UpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgUDFXRSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSVywgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoR1BSVyAoMHgwNCwgMHgwMykpDQogICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZp Y2UgKFVTQjMpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDFEMDAwMikNCiAgICAgICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKEJBUjAsIFBDSV9Db25maWcsIDB4QzAsIDB4MDUpDQogICAg ICAgICAgICAgICAgRmllbGQgKEJBUjAsIEJ5dGVBY2MsIE5vTG9jaywgUHJl c2VydmUpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBVQkwxLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDA0KSwgDQogICAgICAgICAgICAgICAgICAgIFAwV0UsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgIFAxV0UsICAgMSwgDQogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgwNSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBJZiAoQXJn MCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIFAwV0UpDQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgUDFXRSkNCiAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBQ MFdFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFAx V0UpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlcsIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEdQUlcgKDB4MEMsIDB4MDMpKQ0KICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFNjb3Bl IChcX0dQRSkNCiAgICAgICAgew0KICAgICAgICAgICAgTWV0aG9kIChfTDA3 LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlNNQlMsIDB4MDIpDQogICAgICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpDQogICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX0wwNSwgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkg KFxfU0IuUENJMC5NT0RNLCAweDAyKQ0KICAgICAgICAgICAgICAgIE5vdGlm eSAoXF9TQi5QV1JCLCAweDAyKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICBNZXRob2QgKF9MMEIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuUDBQ MiwgMHgwMikNCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUFdSQiwg MHgwMikNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChf TDAzLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjEsIDB4MDIpDQogICAg ICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpDQogICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX0wwNCwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5VU0IyLCAweDAyKQ0KICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5QV1JCLCAweDAyKQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBNZXRob2QgKF9MMEMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu VVNCMywgMHgwMikNCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUFdS QiwgMHgwMikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAg IERldmljZSAoUFdSQikNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwQyIpKQ0KICAgICAgICAgICAgTmFtZSAo X1VJRCwgMHhBQSkNCiAgICAgICAgICAgIE5hbWUgKF9TVEEsIDB4MEIpDQog ICAgICAgIH0NCiAgICB9DQoNCiAgICBTY29wZSAoXF9QUikNCiAgICB7DQog ICAgICAgIFByb2Nlc3NvciAoQ1BVMSwgMHgwMSwgMHgwMDAwMDQxMCwgMHgw NykNCiAgICAgICAgew0KICAgICAgICAgICAgTWV0aG9kIChfQ1NULCAwLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IE5hbWUgKEFDU1QsIFBhY2thZ2UgKDB4MDMpDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywgMHgwOCwgMHgwMCwgMHgw MDAwMDAwMDAwMDAwNUZGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwg DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAg ICAweDAzRTgNCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0 ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywgMHgwOCwgMHgw MCwgMHgwMDAwMDAwMDAwMDAwNDE1KQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAg ICAgICAgICAweDAxRjQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgQWRkIChcUE1CUywgMHgx NCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElu ZGV4IChEZXJlZk9mIChJbmRleCAoRGVyZWZPZiAoSW5kZXggKEFDU1QsIDB4 MDEpKSwgMHgwMCkpLCAweDA3KSkNCiAgICAgICAgICAgICAgICBTdG9yZSAo U2hpZnRSaWdodCAoTG9jYWwwLCAweDA4KSwgSW5kZXggKERlcmVmT2YgKElu ZGV4IChEZXJlZk9mIChJbmRleCAoQUNTVCwgMHgwMSkpLCAweDAwKSksIDB4 MDgpKQ0KICAgICAgICAgICAgICAgIEFkZCAoXFBNQlMsIDB4MTUsIExvY2Fs MCkNCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJbmRleCAoRGVy ZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4IChBQ1NULCAweDAyKSksIDB4 MDApKSwgMHgwNykpDQogICAgICAgICAgICAgICAgU3RvcmUgKFNoaWZ0Umln aHQgKExvY2FsMCwgMHgwOCksIEluZGV4IChEZXJlZk9mIChJbmRleCAoRGVy ZWZPZiAoSW5kZXggKEFDU1QsIDB4MDIpKSwgMHgwMCkpLCAweDA4KSkNCiAg ICAgICAgICAgICAgICBOYW1lIChCQ1NULCBQYWNrYWdlICgweDA0KQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMywgDQog ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNl VGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4 MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDVGRikNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAgICAweDAy LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwM0U4DQogICAgICAgICAgICAgICAgICAgIH0s IA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJl c291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVt SU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDQxNSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAg ICAweDAzLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMUY0DQogICAgICAgICAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAo U3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDQxNikNCiAg ICAgICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAg ICAgICAgICAweDA0LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIs IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHhGQQ0KICAgICAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAg ICBBZGQgKFxQTUJTLCAweDE0LCBMb2NhbDApDQogICAgICAgICAgICAgICAg U3RvcmUgKExvY2FsMCwgSW5kZXggKERlcmVmT2YgKEluZGV4IChEZXJlZk9m IChJbmRleCAoQkNTVCwgMHgwMSkpLCAweDAwKSksIDB4MDcpKQ0KICAgICAg ICAgICAgICAgIFN0b3JlIChTaGlmdFJpZ2h0IChMb2NhbDAsIDB4MDgpLCBJ bmRleCAoRGVyZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4IChCQ1NULCAw eDAxKSksIDB4MDApKSwgMHgwOCkpDQogICAgICAgICAgICAgICAgQWRkIChc UE1CUywgMHgxNSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIEluZGV4IChEZXJlZk9mIChJbmRleCAoRGVyZWZPZiAoSW5kZXgg KEJDU1QsIDB4MDIpKSwgMHgwMCkpLCAweDA3KSkNCiAgICAgICAgICAgICAg ICBTdG9yZSAoU2hpZnRSaWdodCAoTG9jYWwwLCAweDA4KSwgSW5kZXggKERl cmVmT2YgKEluZGV4IChEZXJlZk9mIChJbmRleCAoQkNTVCwgMHgwMikpLCAw eDAwKSksIDB4MDgpKQ0KICAgICAgICAgICAgICAgIEFkZCAoXFBNQlMsIDB4 MTYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJ bmRleCAoRGVyZWZPZiAoSW5kZXggKERlcmVmT2YgKEluZGV4IChCQ1NULCAw eDAzKSksIDB4MDApKSwgMHgwNykpDQogICAgICAgICAgICAgICAgU3RvcmUg KFNoaWZ0UmlnaHQgKExvY2FsMCwgMHgwOCksIEluZGV4IChEZXJlZk9mIChJ bmRleCAoRGVyZWZPZiAoSW5kZXggKEJDU1QsIDB4MDEpKSwgMHgwMCkpLCAw eDA4KSkNCiAgICAgICAgICAgICAgICBOYW1lIChOT0MzLCBQYWNrYWdlICgw eDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg MHgwMSwgDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lz dGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDVGRikNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAg ICAgICAweDAyLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0K ICAgICAgICAgICAgICAgICAgICAgICAgMHgwM0U4DQogICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg IEFkZCAoXFBNQlMsIDB4MTQsIExvY2FsMCkNCiAgICAgICAgICAgICAgICBT dG9yZSAoTG9jYWwwLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKERlcmVmT2Yg KEluZGV4IChOT0MzLCAweDAxKSksIDB4MDApKSwgMHgwNykpDQogICAgICAg ICAgICAgICAgU3RvcmUgKFNoaWZ0UmlnaHQgKExvY2FsMCwgMHgwOCksIElu ZGV4IChEZXJlZk9mIChJbmRleCAoRGVyZWZPZiAoSW5kZXggKE5PQzMsIDB4 MDEpKSwgMHgwMCkpLCAweDA4KSkNCiAgICAgICAgICAgICAgICBJZiAoXF9T Qi5JTlY3KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChOT0MzKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgIElmIChcX1NCLkJBVE8pDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJDU1QpDQogICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUNTVCkNCiAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE5h bWUgKEFQQ1QsIFBhY2thZ2UgKDB4MDIpDQogICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhX LCAweDQwLCAweDAwLCAweDAwMDAwMDAwMDAwMDAxOTkpDQogICAgICAgICAg ICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBS ZWdpc3RlciAoRkZpeGVkSFcsIDB4MTAsIDB4MDAsIDB4MDAwMDAwMDAwMDAw MDE5OCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAg ICAgICAgICAgTmFtZSAoTlBTUywgMHgwMCkNCiAgICAgICAgICAgIE5hbWUg KEFQU1MsIFBhY2thZ2UgKDB4MEEpDQogICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIDB4MDNFOCwgDQogICAgICAgICAgICAgICAg ICAgIDB4M0E5OCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDI1MCwgDQog ICAgICAgICAgICAgICAgICAgIDB4MDIwMCwgDQogICAgICAgICAgICAgICAg ICAgIDB4MDE4NiwgDQogICAgICAgICAgICAgICAgICAgIDB4RkZGRg0KICAg ICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IDB4MDNFOCwgDQogICAgICAgICAgICAgICAgICAgIDB4M0E5OCwgDQogICAg ICAgICAgICAgICAgICAgIDB4MDI1MCwgDQogICAgICAgICAgICAgICAgICAg IDB4MDIwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDE4NiwgDQogICAg ICAgICAgICAgICAgICAgIDB4RkZGRg0KICAgICAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDNFOCwgDQogICAgICAg ICAgICAgICAgICAgIDB4M0E5OCwgDQogICAgICAgICAgICAgICAgICAgIDB4 MDI1MCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDIwMCwgDQogICAgICAg ICAgICAgICAgICAgIDB4MDE4NiwgDQogICAgICAgICAgICAgICAgICAgIDB4 RkZGRg0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIDB4MDNFOCwgDQogICAgICAgICAgICAgICAgICAgIDB4M0E5 OCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDI1MCwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDIwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDE4 NiwgDQogICAgICAgICAgICAgICAgICAgIDB4RkZGRg0KICAgICAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDNFOCwg DQogICAgICAgICAgICAgICAgICAgIDB4M0E5OCwgDQogICAgICAgICAgICAg ICAgICAgIDB4MDI1MCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDIwMCwg DQogICAgICAgICAgICAgICAgICAgIDB4MDE4NiwgDQogICAgICAgICAgICAg ICAgICAgIDB4RkZGRg0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIDB4MDNFOCwgDQogICAgICAgICAgICAgICAg ICAgIDB4M0E5OCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDI1MCwgDQog ICAgICAgICAgICAgICAgICAgIDB4MDIwMCwgDQogICAgICAgICAgICAgICAg ICAgIDB4MDE4NiwgDQogICAgICAgICAgICAgICAgICAgIDB4RkZGRg0KICAg ICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IDB4MDNFOCwgDQogICAgICAgICAgICAgICAgICAgIDB4M0E5OCwgDQogICAg ICAgICAgICAgICAgICAgIDB4MDI1MCwgDQogICAgICAgICAgICAgICAgICAg IDB4MDIwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDE4NiwgDQogICAg ICAgICAgICAgICAgICAgIDB4RkZGRg0KICAgICAgICAgICAgICAgIH0sIA0K DQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDNFOCwgDQogICAgICAg ICAgICAgICAgICAgIDB4M0E5OCwgDQogICAgICAgICAgICAgICAgICAgIDB4 MDI1MCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDIwMCwgDQogICAgICAg ICAgICAgICAgICAgIDB4MDE4NiwgDQogICAgICAgICAgICAgICAgICAgIDB4 RkZGRg0KICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIDB4MDMyMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MzBE NCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDI1MCwgDQogICAgICAgICAg ICAgICAgICAgIDB4MDIwMCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDI4 NiwgDQogICAgICAgICAgICAgICAgICAgIDB4RkZGRg0KICAgICAgICAgICAg ICAgIH0sIA0KDQogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDMyMCwg DQogICAgICAgICAgICAgICAgICAgIDB4MzBENCwgDQogICAgICAgICAgICAg ICAgICAgIDB4MDI1MCwgDQogICAgICAgICAgICAgICAgICAgIDB4MDIwMCwg DQogICAgICAgICAgICAgICAgICAgIDB4MDI4NiwgDQogICAgICAgICAgICAg ICAgICAgIDB4RkZGRg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg IH0pDQogICAgICAgICAgICBNZXRob2QgKEFQUEMsIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYgKExOb3Qg KExHcmVhdGVyIChTaXplT2YgKF9QU1MpLCBOUFNTKSkpDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApDQog ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoU3Vi dHJhY3QgKFNpemVPZiAoX1BTUyksIE5QU1MpKQ0KICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIFNj b3BlIChcX1NCKQ0KICAgIHsNCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChc X1NCLlBDSTAuU0JSRy5JUk9SLCBQQ0lfQ29uZmlnLCAweDAwLCAweEZGKQ0K ICAgICAgICBGaWVsZCAoXF9TQi5QQ0kwLlNCUkcuSVJPUiwgQnl0ZUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgT2Zm c2V0ICgweDYwKSwgDQogICAgICAgICAgICBQSVJBLCAgIDgsIA0KICAgICAg ICAgICAgUElSQiwgICA4LCANCiAgICAgICAgICAgIFBJUkMsICAgOCwgDQog ICAgICAgICAgICBQSVJELCAgIDgsIA0KICAgICAgICAgICAgT2Zmc2V0ICgw eDY4KSwgDQogICAgICAgICAgICBQSVJFLCAgIDgsIA0KICAgICAgICAgICAg UElSRiwgICA4LCANCiAgICAgICAgICAgIFBJUkcsICAgOCwgDQogICAgICAg ICAgICBQSVJILCAgIDgNCiAgICAgICAgfQ0KDQogICAgICAgIE5hbWUgKEJV RkEsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgew0KICAgICAgICAg ICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHsxNX0NCiAgICAg ICAgfSkNCiAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUZBLCAweDAxLCBJ Q1JTKQ0KICAgICAgICBNZXRob2QgKExTVEEsIDEsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgIHsNCiAgICAgICAgICAgIEFuZCAoQXJnMCwgMHg4MCwgTG9j YWwwKQ0KICAgICAgICAgICAgSWYgKExvY2FsMCkNCiAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQogICAgICAgICAgICB9 DQogICAgICAgICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9 DQoNCiAgICAgICAgTWV0aG9kIChMQ1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICB7DQogICAgICAgICAgICBBbmQgKEFyZzAsIDB4MEYsIExvY2Fs MCkNCiAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJQ1JT KQ0KICAgICAgICAgICAgUmV0dXJuIChCVUZBKQ0KICAgICAgICB9DQoNCiAg ICAgICAgTWV0aG9kIChMU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICB7DQogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEs IElTUlMpDQogICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElTUlMsIExv Y2FsMCkNCiAgICAgICAgICAgIFJldHVybiAoRGVjcmVtZW50IChMb2NhbDAp KQ0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9kIChMRElTLCAxLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKE9y IChBcmcwLCAweDgwKSkNCiAgICAgICAgfQ0KDQogICAgICAgIERldmljZSAo TE5LQSkNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEMwRiIpKQ0KICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgw MSkNCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKExT VEEgKFBJUkEpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRo b2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgUmV0dXJuIChQUlNBKQ0KICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3RvcmUgKExESVMg KFBJUkEpLCBQSVJBKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgUmV0dXJuIChMQ1JTIChQSVJBKSkNCiAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFN0 b3JlIChMU1JTIChBcmcwKSwgUElSQSkNCiAgICAgICAgICAgIH0NCiAgICAg ICAgfQ0KDQogICAgICAgIERldmljZSAoTE5LQikNCiAgICAgICAgew0KICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQ0KICAg ICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikNCiAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICBSZXR1cm4gKExTVEEgKFBJUkIpKQ0KICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJu IChQUlNCKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2Qg KF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgU3RvcmUgKExESVMgKFBJUkIpLCBQSVJCKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0 dXJuIChMQ1JTIChQSVJCKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgIFN0b3JlIChMU1JTIChBcmcwKSwgUElS QikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIERldmlj ZSAoTE5LQykNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQ0KICAgICAgICAgICAgTmFtZSAoX1VJRCwg MHgwMykNCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4g KExTVEEgKFBJUkMpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBN ZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgUmV0dXJuIChQUlNDKQ0KICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3RvcmUgKExE SVMgKFBJUkMpLCBQSVJDKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChMQ1JTIChQSVJDKSkNCiAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg IFN0b3JlIChMU1JTIChBcmcwKSwgUElSQykNCiAgICAgICAgICAgIH0NCiAg ICAgICAgfQ0KDQogICAgICAgIERldmljZSAoTE5LRCkNCiAgICAgICAgew0K ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQ0K ICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNCkNCiAgICAgICAgICAgIE1l dGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICBSZXR1cm4gKExTVEEgKFBJUkQpKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0 dXJuIChQUlNEKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRo b2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgU3RvcmUgKExESVMgKFBJUkQpLCBQSVJEKQ0KICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg UmV0dXJuIChMQ1JTIChQSVJEKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgIFN0b3JlIChMU1JTIChBcmcwKSwg UElSRCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIERl dmljZSAoTE5LRSkNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwRiIpKQ0KICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgwNSkNCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2Vy aWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1 cm4gKExTVEEgKFBJUkUpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChQUlNFKQ0KICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3RvcmUg KExESVMgKFBJUkUpLCBQSVJFKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChMQ1JTIChQSVJFKSkN CiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAx LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgIFN0b3JlIChMU1JTIChBcmcwKSwgUElSRSkNCiAgICAgICAgICAgIH0N CiAgICAgICAgfQ0KDQogICAgICAgIERldmljZSAoTE5LRikNCiAgICAgICAg ew0KICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIp KQ0KICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNikNCiAgICAgICAgICAg IE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKExTVEEgKFBJUkYpKQ0KICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg UmV0dXJuIChQUlNGKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgU3RvcmUgKExESVMgKFBJUkYpLCBQSVJGKQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgUmV0dXJuIChMQ1JTIChQSVJGKSkNCiAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgIFN0b3JlIChMU1JTIChBcmcw KSwgUElSRikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAg IERldmljZSAoTE5LRykNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQ0KICAgICAgICAgICAgTmFtZSAo X1VJRCwgMHgwNykNCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBS ZXR1cm4gKExTVEEgKFBJUkcpKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChQUlNHKQ0KICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3Rv cmUgKExESVMgKFBJUkcpLCBQSVJHKQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChMQ1JTIChQSVJH KSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfU1JT LCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIFN0b3JlIChMU1JTIChBcmcwKSwgUElSRykNCiAgICAgICAgICAg IH0NCiAgICAgICAgfQ0KDQogICAgICAgIERldmljZSAoTE5LSCkNCiAgICAg ICAgew0KICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMw RiIpKQ0KICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwOCkNCiAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKExTVEEgKFBJUkgpKQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAs IE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgUmV0dXJuIChQUlNIKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgU3RvcmUgKExESVMgKFBJUkgpLCBQSVJI KQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9DUlMs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgUmV0dXJuIChMQ1JTIChQSVJIKSkNCiAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFN0b3JlIChMU1JTIChB cmcwKSwgUElSSCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0N Cg0KICAgIFNjb3BlIChcX1NCLlBDSTAuSURFMCkNCiAgICB7DQogICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoQkFSMSwgUENJX0NvbmZpZywgMHgwMCwgMHgw MTAwKQ0KICAgICAgICBGaWVsZCAoQkFSMSwgRFdvcmRBY2MsIE5vTG9jaywg UHJlc2VydmUpDQogICAgICAgIHsNCiAgICAgICAgICAgIE9mZnNldCAoMHg0 MiksIA0KICAgICAgICAgICAgU1NQRSwgICAxLCANCiAgICAgICAgICAgIE9m ZnNldCAoMHg1NiksIA0KICAgICAgICAgICAgUFNHTSwgICAyLCANCiAgICAg ICAgICAgIFNTR00sICAgMg0KICAgICAgICB9DQogICAgfQ0KDQogICAgU2Nv cGUgKFxfU0IuUENJMC5JREUwLkNITjEuRFJWMCkNCiAgICB7DQogICAgICAg IE1ldGhvZCAoX0VKMCwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0K ICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFxfU0IuUENJMC5JREUwLlNTR00p DQogICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9TQi5QQ0kwLklERTAuU1NQ RSkNCiAgICAgICAgICAgIFNsZWVwICgweDAzRTgpDQogICAgICAgICAgICBT dG9yZSAoMHgwMSwgRzI4UykNCiAgICAgICAgICAgIFN0b3JlICgweDAxLCBH MTdTKQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgU2NvcGUgKFxfU0IuUENJ MC5TQlJHLkVDMCkNCiAgICB7DQogICAgICAgIE1ldGhvZCAoX1EyRSwgMCwg Tm90U2VyaWFsaXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgSWYgKENE UyAoKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBXUkVDICgw eDQ4LCAweDgwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZQ0K ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFdSRUMgKDB4NDgsIDB4 OTApDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElmIChDRFMgKCkp DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEs IFxfU0IuUENJMC5JREUwLlNTR00pDQogICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFxfU0IuUENJMC5JREUwLlNTUEUpDQogICAgICAgICAgICAgICAg U2xlZXAgKDB4MDNFOCkNCiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwg RzI4UykNCiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgRzE3UykNCiAg ICAgICAgICAgICAgICBTbGVlcCAoMHgwN0QwKQ0KICAgICAgICAgICAgICAg IE5vdGlmeSAoXF9TQi5QQ0kwLklERTAuQ0hOMS5EUlYwLCAweDAxKQ0KICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBcX1NCLlBDSTAuSURFMC5T U0dNKQ0KICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBcX1NCLlBDSTAu SURFMC5TU1BFKQ0KICAgICAgICAgICAgICAgIFNsZWVwICgweDAzRTgpDQog ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEcxN1MpDQogICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDAsIEcyOFMpDQogICAgICAgICAgICAgICAgU2xl ZXAgKDB4QzgpDQogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEcxN1Mp DQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5CQVlJLCAweDAx KSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAxLCBcX1NCLlBDSTAuSURFMC5VRE1TKQ0KICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMSwgXF9TQi5QQ0kwLklERTAuVURUUykNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFxfU0IuUENJMC5JREUw LlNDQjApDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBcX1NC LlBDSTAuSURFMC5TQ0EwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMSwgXF9TQi5QQ0kwLklERTAuRlNCMCkNCiAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFxfU0IuUENJMC5JREUw LlVETVMpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBcX1NC LlBDSTAuSURFMC5VRFRTKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgXF9TQi5QQ0kwLklERTAuU0NCMCkNCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDAsIFxfU0IuUENJMC5JREUwLlNDQTApDQogICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBcX1NCLlBDSTAuSURFMC5GU0Iw KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFNsZWVw ICgweDA3RDApDQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu SURFMC5DSE4xLCAweDAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQog ICAgfQ0KDQogICAgU2NvcGUgKFxfU0IpDQogICAgew0KICAgICAgICBTY29w ZSAoUENJMCkNCiAgICAgICAgew0KICAgICAgICAgICAgTmFtZSAoQ1JTLCBS ZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgV29yZEJ1c051bWJlciAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4 ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsDQogICAgICAgICAgICAgICAgICAg IDB4MDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLA0KICAgICAg ICAgICAgICAgICAgICAweDAwRkYsDQogICAgICAgICAgICAgICAgICAgIDB4 MDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMTAwKQ0KICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwQ0Y4LCAweDBDRjgsIDB4MDEsIDB4 MDgpDQogICAgICAgICAgICAgICAgV29yZElPIChSZXNvdXJjZVByb2R1Y2Vy LCBNaW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2Us DQogICAgICAgICAgICAgICAgICAgIDB4MDAwMCwNCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDBDRjcsDQog ICAgICAgICAgICAgICAgICAgIDB4MDAwMCwNCiAgICAgICAgICAgICAgICAg ICAgMHgwQ0Y4KQ0KICAgICAgICAgICAgICAgIFdvcmRJTyAoUmVzb3VyY2VQ cm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsIEVudGly ZVJhbmdlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAsDQogICAgICAg ICAgICAgICAgICAgIDB4MEQwMCwNCiAgICAgICAgICAgICAgICAgICAgMHhG RkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAsDQogICAgICAgICAg ICAgICAgICAgIDB4RjMwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9y eSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4 Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEEw MDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLA0KICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDIwMDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChS ZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhl ZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDAwMDAs DQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDNGRkYsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDQwMDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291 cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBD YWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBENDAwMCwNCiAg ICAgICAgICAgICAgICAgICAgMHgwMDBEN0ZGRiwNCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw NDAwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQ cm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hl YWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMERFMDAwLA0KICAgICAg ICAgICAgICAgICAgICAweDAwMERGRkZGLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAw KQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1 Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxl LCBSZWFkV3JpdGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs DQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDApDQog ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo Q1JTLCAweEFBLCBNSU42KQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQ1JTLCAweEFFLCBNQVg2KQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRG aWVsZCAoQ1JTLCAweEI2LCBMRU42KQ0KICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgIFN0b3JlIChNRzJCLCBNSU42KQ0KICAgICAgICAgICAgICAg IFN0b3JlIChNRzJMLCBMRU42KQ0KICAgICAgICAgICAgICAgIFN0b3JlIChN RzJMLCBMb2NhbDApDQogICAgICAgICAgICAgICAgQWRkIChNSU42LCBEZWNy ZW1lbnQgKExvY2FsMCksIE1BWDYpDQogICAgICAgICAgICAgICAgUmV0dXJu IChDUlMpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAg ICBJZiAoU1MxKQ0KICAgIHsNCiAgICAgICAgTmFtZSAoXF9TQi5QQ0kwLl9T MUQsIDB4MDIpDQogICAgICAgIE5hbWUgKFxfU0IuUENJMC5QMFAxLl9TMUQs IDB4MDIpDQogICAgICAgIE5hbWUgKFxfU0IuUENJMC5VU0IxLl9TMUQsIDB4 MDIpDQogICAgICAgIE5hbWUgKFxfU0IuUENJMC5VU0IyLl9TMUQsIDB4MDIp DQogICAgICAgIE5hbWUgKFxfU0IuUENJMC5VU0IzLl9TMUQsIDB4MDIpDQog ICAgfQ0KDQogICAgSWYgKFNTMykNCiAgICB7DQogICAgICAgIE5hbWUgKFxf U0IuUENJMC5fUzNELCAweDAyKQ0KICAgICAgICBOYW1lIChcX1NCLlBDSTAu UDBQMS5fUzNELCAweDAyKQ0KICAgICAgICBOYW1lIChcX1NCLlBDSTAuVVNC MS5fUzNELCAweDAyKQ0KICAgICAgICBOYW1lIChcX1NCLlBDSTAuVVNCMi5f UzNELCAweDAyKQ0KICAgICAgICBOYW1lIChcX1NCLlBDSTAuVVNCMy5fUzNE LCAweDAyKQ0KICAgIH0NCg0KICAgIElmIChTUzQpDQogICAgew0KICAgICAg ICBOYW1lIChcX1NCLlBDSTAuX1M0RCwgMHgwMikNCiAgICAgICAgTmFtZSAo XF9TQi5QQ0kwLlAwUDEuX1M0RCwgMHgwMikNCiAgICB9DQoNCiAgICBOYW1l IChJT1hCLCAweDA1QzApDQogICAgTmFtZSAoSU9YTCwgMHgxMCkNCiAgICBN ZXRob2QgKF9QVFMsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAg ICBTdG9yZSAoQXJnMCwgREJHOCkNCiAgICAgICAgUFRTIChBcmcwKQ0KICAg ICAgICBTdG9yZSAoMHgwMCwgSW5kZXggKFdBS1AsIDB4MDApKQ0KICAgICAg ICBTdG9yZSAoMHgwMCwgSW5kZXggKFdBS1AsIDB4MDEpKQ0KICAgICAgICBJ ZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MDMpKSkNCiAgICAgICAgew0K ICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5TQlJHLkFQTVMsIEFDUFMp DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBNZXRob2QgKF9XQUssIDEsIE5v dFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBTaGlmdExlZnQgKEFyZzAs IDB4MDQsIERCRzgpDQogICAgICAgIElmIChMTm90IChMR3JlYXRlciAoQXJn MCwgMHgwMykpKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAoQW5kIChc X1NCLlBDSTAuU0JSRy5FQzAuQU5ZUywgMHgwMSkpDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpDQog ICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBTbGVlcCAoMHgw M0U4KQ0KICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MDMp KSkNCiAgICAgICAgew0KICAgICAgICAgICAgU3RvcmUgKEFDUFMsIFxfU0Iu UENJMC5TQlJHLkFQTVMpDQogICAgICAgIH0NCg0KICAgICAgICBXQUsgKEFy ZzApDQogICAgICAgIElmIChEZXJlZk9mIChJbmRleCAoV0FLUCwgMHgwMCkp KQ0KICAgICAgICB7DQogICAgICAgICAgICBTdG9yZSAoMHgwMCwgSW5kZXgg KFdBS1AsIDB4MDEpKQ0KICAgICAgICB9DQogICAgICAgIEVsc2UNCiAgICAg ICAgew0KICAgICAgICAgICAgU3RvcmUgKEFyZzAsIEluZGV4IChXQUtQLCAw eDAxKSkNCiAgICAgICAgfQ0KDQogICAgICAgIFJldHVybiAoV0FLUCkNCiAg ICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7DQogICAgICAgIE9wZXJh dGlvblJlZ2lvbiAoR1BJTywgU3lzdGVtSU8sIElPMkIsIDB4NDApDQogICAg ICAgIEZpZWxkIChHUElPLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0K ICAgICAgICB7DQogICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCANCiAgICAg ICAgICAgICAgICAsICAgNywgDQogICAgICAgICAgICBHMDdTLCAgIDEsIA0K ICAgICAgICAgICAgICAgICwgICA5LCANCiAgICAgICAgICAgIEcxN1MsICAg MSwgDQogICAgICAgICAgICAgICAgLCAgIDksIA0KICAgICAgICAgICAgRzI3 UywgICAxLCANCiAgICAgICAgICAgIEcyOFMsICAgMSwgDQogICAgICAgICAg ICBPZmZzZXQgKDB4MkMpLCANCiAgICAgICAgICAgICAgICAsICAgMywgDQog ICAgICAgICAgICBCVDFTLCAgIDEsIA0KICAgICAgICAgICAgICAgICwgICAz LCANCiAgICAgICAgICAgIElOVjcsICAgMSwgDQogICAgICAgICAgICAgICAg LCAgIDMsIA0KICAgICAgICAgICAgTElETCwgICAxLCANCiAgICAgICAgICAg IE9mZnNldCAoMHgzOCksIA0KICAgICAgICAgICAgQktMVCwgICAxLCANCiAg ICAgICAgICAgIEJBWUksICAgMg0KICAgICAgICB9DQogICAgfQ0KDQogICAg U2NvcGUgKFxfR1BFKQ0KICAgIHsNCiAgICAgICAgTWV0aG9kIChfTDE3LCAw LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAo XF9TQi5JTlY3KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwLCBcX1NCLklOVjcpDQogICAgICAgICAgICB9DQogICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDEsIFxfU0IuSU5WNykNCiAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgTm90aWZ5IChcX1BSLkNQVTEsIDB4ODEpDQogICAgICAgIH0NCg0K ICAgICAgICBNZXRob2QgKF9MMTAsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgIHsNCiAgICAgICAgICAgIE5vb3ANCiAgICAgICAgfQ0KDQogICAgICAg IE1ldGhvZCAoX0wxMSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0K ICAgICAgICAgICAgTm9vcA0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9k IChfTDE0LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAg ICAgICBOb29wDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKF9MMTUs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5v b3ANCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIE1ldGhvZCAoU0NNRCwgNCwg Tm90U2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIE9wZXJhdGlvblJlZ2lv biAoU01SRywgU3lzdGVtSU8sIFNNQlMsIDB4MTApDQogICAgICAgIEZpZWxk IChTTVJHLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICB7 DQogICAgICAgICAgICBIU1RTLCAgIDgsIA0KICAgICAgICAgICAgU1NUUywg ICA4LCANCiAgICAgICAgICAgIEhTVEMsICAgOCwgDQogICAgICAgICAgICBI Q01ELCAgIDgsIA0KICAgICAgICAgICAgSEFEUiwgICA4LCANCiAgICAgICAg ICAgIEhEVDAsICAgOCwgDQogICAgICAgICAgICBIRFQxLCAgIDgsIA0KICAg ICAgICAgICAgQkxLRCwgICA4DQogICAgICAgIH0NCg0KICAgICAgICBGaWVs ZCAoU01SRywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAg ew0KICAgICAgICAgICAgT2Zmc2V0ICgweDA1KSwgDQogICAgICAgICAgICBI RFRXLCAgIDE2DQogICAgICAgIH0NCg0KICAgICAgICBTdG9yZSAoMHgwRiwg TG9jYWwwKQ0KICAgICAgICBXaGlsZSAoTG9jYWwwKQ0KICAgICAgICB7DQog ICAgICAgICAgICBTdG9yZSAoQXJnMCwgSEFEUikNCiAgICAgICAgICAgIFN0 b3JlIChBcmcxLCBIQ01EKQ0KICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEhE VFcpDQogICAgICAgICAgICBTdG9yZSAoMHhGRiwgSFNUUykNCiAgICAgICAg ICAgIFN0b3JlICgweEZGLCBIU1RTKQ0KICAgICAgICAgICAgU3RvcmUgKEFy ZzMsIEhTVEMpDQogICAgICAgICAgICBTdG9yZSAoMHhGRiwgTG9jYWw3KQ0K ICAgICAgICAgICAgV2hpbGUgKExvY2FsNykNCiAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkNCiAgICAgICAgICAgICAgICBE ZWNyZW1lbnQgKExvY2FsNykNCiAgICAgICAgICAgICAgICBJZiAoQW5kIChI U1RTLCAweDAyKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDcpDQogICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChBbmQgKEhTVFMsIDB4MDIp KQ0KICAgICAgICB7DQogICAgICAgICAgICBSZXR1cm4gKEhEVFcpDQogICAg ICAgIH0NCiAgICAgICAgRWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBS ZXR1cm4gKE5vdCAoMHgwMCkpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBN ZXRob2QgKFNCWVQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAg ICBTQ01EIChBcmcwLCBBcmcxLCAweDAwLCAweDQ0KQ0KICAgIH0NCg0KICAg IE1ldGhvZCAoV0JZVCwgMywgTm90U2VyaWFsaXplZCkNCiAgICB7DQogICAg ICAgIFNDTUQgKEFyZzAsIEFyZzEsIEFyZzIsIDB4NDgpDQogICAgfQ0KDQog ICAgTWV0aG9kIChXV1JELCAzLCBOb3RTZXJpYWxpemVkKQ0KICAgIHsNCiAg ICAgICAgU0NNRCAoQXJnMCwgQXJnMSwgQXJnMiwgMHg0QykNCiAgICB9DQoN CiAgICBNZXRob2QgKFJTQlQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0K ICAgICAgICBPciAoQXJnMCwgMHgwMSwgQXJnMCkNCiAgICAgICAgUmV0dXJu IChTQ01EIChBcmcwLCBBcmcxLCAweDAwLCAweDQ0KSkNCiAgICB9DQoNCiAg ICBNZXRob2QgKFJCWVQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAg ICAgICBPciAoQXJnMCwgMHgwMSwgQXJnMCkNCiAgICAgICAgUmV0dXJuIChT Q01EIChBcmcwLCBBcmcxLCAweDAwLCAweDQ4KSkNCiAgICB9DQoNCiAgICBN ZXRob2QgKFJXUkQsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAg ICBPciAoQXJnMCwgMHgwMSwgQXJnMCkNCiAgICAgICAgUmV0dXJuIChTQ01E IChBcmcwLCBBcmcxLCAweDAwLCAweDRDKSkNCiAgICB9DQoNCiAgICBOYW1l IChUU0FELCAweDk4KQ0KICAgIE5hbWUgKFRNSU4sIDB4NjkpDQogICAgTmFt ZSAoVE1BWCwgMHg2OSkNCiAgICBOYW1lIChUQ1JULCAweDY5KQ0KICAgIE5h bWUgKFRIT1QsIDB4M0MpDQogICAgTmFtZSAoVFNQLCAweDBBKQ0KICAgIE5h bWUgKFRDMSwgMHgwMikNCiAgICBOYW1lIChUQzIsIDB4MEEpDQogICAgU2Nv cGUgKFxfVFopDQogICAgew0KICAgICAgICBNZXRob2QgKFRDSEcsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIFN0b3JlIChS QllUIChUU0FELCAweDAxKSwgTG9jYWwwKQ0KICAgICAgICAgICAgU3RvcmUg KFJCWVQgKFRTQUQsIDB4MDIpLCBMb2NhbDEpDQogICAgICAgICAgICBTdG9y ZSAoUkJZVCAoVFNBRCwgMHgwNyksIExvY2FsMikNCiAgICAgICAgICAgIFN0 b3JlIChSQllUIChUU0FELCAweDA4KSwgTG9jYWwzKQ0KICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsNCkNCiAgICAgICAgICAgIElmIChBbmQgKExv Y2FsMSwgMHgxOCkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoTG9jYWwzLCAweDAwKSkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDNDLCBMb2NhbDIpDQog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDJELCBMb2NhbDMpDQogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDM2LCBMb2NhbDQpDQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9j YWwzLCAweDJEKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCAweDJEKSkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MzIsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAwLCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHhGRiwgTG9jYWw0KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChMb2NhbDAsIDB4M0Mp KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NEIsIExvY2FsMikNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDM3LCBMb2NhbDMpDQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgzMSwgTG9jYWw0KQ0KICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoTG9jYWwzLCAweDM3KSkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCAweDM3 KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4M0MsIExvY2FsMikNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDJELCBMb2NhbDMpDQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgzNiwgTG9jYWw0KQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNz IChMb2NhbDAsIDB4NEIpKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NUEsIExvY2FsMikNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDQ2LCBMb2NhbDMpDQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyRiwgTG9jYWw0KQ0K ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQog ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwzLCAweDQ2KSkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChMTGVz cyAoTG9jYWwwLCAweDQ2KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NEIsIExvY2FsMikNCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDM3LCBMb2NhbDMpDQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgzMSwgTG9jYWw0KQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg SWYgKExOb3QgKExMZXNzIChMb2NhbDAsIDB4NUEpKSkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 NjksIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDU1LCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWw0KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9j YWwzLCAweDU1KSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCAweDU1KSkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 NUEsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDQ2LCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgyRiwgTG9jYWw0KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgSWYgKExOb3QgKExMZXNzIChMb2NhbDAsIDB4Njkp KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NjksIExvY2FsMikNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDU1LCBMb2NhbDMpDQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWw0KQ0KICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg U1RISSAoTG9jYWwyKQ0KICAgICAgICAgICAgICAgIFNUTE8gKExvY2FsMykN CiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw0LCBcX1NCLlBDSTAuU0JS Ry5FQzAuQ0RUMSkNCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg4NCwgXF9T Qi5QQ0kwLlNCUkcuRUMwLkNEVDIpDQogICAgICAgICAgICAgICAgU3RvcmUg KDB4QzQsIFxfU0IuUENJMC5TQlJHLkVDMC5DTUQxKQ0KICAgICAgICAgICAg ICAgIFN0b3JlIChSQllUIChUU0FELCAweDAyKSwgTG9jYWw1KQ0KICAgICAg ICAgICAgICAgIElmIChBbmQgKExvY2FsNSwgMHgwNCkpDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9T Qi5QQ0kwLlNCUkcuRUMwLkNEVDEpDQogICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDg0LCBcX1NCLlBDSTAuU0JSRy5FQzAuQ0RUMikNCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4QzQsIFxfU0IuUENJMC5TQlJHLkVDMC5D TUQxKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFJC WVQgKFRTQUQsIDB4MDIpDQogICAgICAgICAgICAgICAgUkJZVCAoVFNBRCwg MHgwOSkNCiAgICAgICAgICAgICAgICBTQ0ZHICgweDAxKQ0KICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICBSQllUIChUU0FELCAweDAyKQ0KICAgICAg ICAgICAgUkJZVCAoVFNBRCwgMHgwOSkNCiAgICAgICAgICAgIFNDRkcgKDB4 MDEpDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKFNDRkcsIDEsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIFdCWVQgKFRT QUQsIDB4MDksIEFyZzApDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2Qg KFNUSEksIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAg ICAgIFdCWVQgKFRTQUQsIDB4MEQsIEFyZzApDQogICAgICAgIH0NCg0KICAg ICAgICBNZXRob2QgKFNUTE8sIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg IHsNCiAgICAgICAgICAgIFdCWVQgKFRTQUQsIDB4MEUsIEFyZzApDQogICAg ICAgIH0NCg0KICAgICAgICBNZXRob2QgKEdUSEksIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIFN0b3JlIChSQllUIChUU0FE LCAweDA3KSwgRGVidWcpDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2Qg KEdUTE8sIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAg ICAgIFN0b3JlIChSQllUIChUU0FELCAweDA4KSwgRGVidWcpDQogICAgICAg IH0NCg0KICAgICAgICBOYW1lIChGQU5ELCBCdWZmZXIgKDB4MDQpDQogICAg ICAgIHsNCiAgICAgICAgICAgIDB4MDAsIDB4MUUsIDB4MjQsIDB4MjgNCiAg ICAgICAgfSkNCiAgICAgICAgTmFtZSAoRkFOQywgMHgwMCkNCiAgICAgICAg TWV0aG9kIChSRkFOLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAg ICAgICAgICBJZiAoXF9TQi5QQ0kwLlNCUkcuRUMwLkVDQVYgKCkpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5T QlJHLkVDMC5GRkFOLCBMb2NhbDApDQogICAgICAgICAgICB9DQogICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3Rv cmUgKFxfU0IuUENJMC5TQlJHLkVDMC5SREVDICgweDc3KSwgTG9jYWwwKQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBJZiAoTExlc3MgKExvY2Fs MCwgMHg4RSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDMsIEZBTkMpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBF bHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYgKExMZXNz IChMb2NhbDAsIDB4QjcpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDIsIEZBTkMpDQogICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCAweEY3 KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIEZBTkMpDQogICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwg RkFOQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgU3RvcmUgKERlcmVm T2YgKEluZGV4IChGQU5ELCBGQU5DKSksIExvY2FsMCkNCiAgICAgICAgICAg IFJldHVybiAoTG9jYWwwKQ0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9k IChSVE1QLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAg ICAgICBTdG9yZSAoUkJZVCAoVFNBRCwgMHgwMSksIExvY2FsMCkNCiAgICAg ICAgICAgIElmIChOb3QgKExvY2FsMCkpDQogICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgICAgICAgICB9DQog ICAgICAgICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgU3RvcmUgKCJfVE1QIFJlYWQgRVJST1IiLCBEZWJ1ZykNCiAgICAgICAg ICAgICAgICBSZXR1cm4gKEFkZCAoVE1JTiwgMHgwMikpDQogICAgICAgICAg ICB9DQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKEtFTFYsIDEsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIEFuZCAoQXJn MCwgMHhGRiwgTG9jYWwwKQ0KICAgICAgICAgICAgTXVsdGlwbHkgKExvY2Fs MCwgMHgwQSwgTG9jYWwwKQ0KICAgICAgICAgICAgQWRkIChMb2NhbDAsIDB4 MEFBQywgTG9jYWwwKQ0KICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApDQog ICAgICAgIH0NCg0KICAgICAgICBOYW1lIChQTENZLCAweDAxKQ0KICAgICAg ICBUaGVybWFsWm9uZSAoVEhSTSkNCiAgICAgICAgew0KICAgICAgICAgICAg TWV0aG9kIChfQ1JULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgIFJldHVybiAoS0VMViAoVENSVCkpDQogICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX1RNUCwgMCwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBT dG9yZSAoMHgwNSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIFdoaWxlIChM b2NhbDEpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoUlRNUCAoKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg ICBJZiAoTEdyZWF0ZXIgKExvY2FsMCwgVENSVCkpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAo TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMSkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgIFJldHVybiAoS0VMViAoTG9jYWwwKSkNCiAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgTmFtZSAoX1BTTCwgUGFja2FnZSAoMHgwMSkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBcX1BSLkNQVTENCiAgICAg ICAgICAgIH0pDQogICAgICAgICAgICBNZXRob2QgKF9UU1AsIDAsIE5vdFNl cmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTXVs dGlwbHkgKFRTUCwgMHgwQSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBN ZXRob2QgKF9UQzEsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgUmV0dXJuIChUQzEpDQogICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX1RDMiwgMCwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFRD MikNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTWV0aG9kIChfUFNW LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIFJldHVybiAoS0VMViAoMHg2NCkpDQogICAgICAgICAgICB9DQog ICAgICAgIH0NCg0KICAgICAgICBTY29wZSAoXF9HUEUpDQogICAgICAgIHsN CiAgICAgICAgICAgIE1ldGhvZCAoX0wwMCwgMCwgU2VyaWFsaXplZCkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBcX1RaLlRDSEcgKCkNCiAg ICAgICAgICAgICAgICBOb3RpZnkgKFxfVFouVEhSTSwgMHg4MSkNCiAgICAg ICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE1ldGhvZCAoVFJNUywg MSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgTm9v cA0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9kIChUUk1XLCAxLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAoTEdyZWF0 ZXIgKEFyZzAsIDB4MDEpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgIFxfVFouVENIRyAoKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICBJZiAoTEdyZWF0ZXIgKFxfVFouVEhSTS5fVE1QICgpLCBUQ1JUKSkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgTG9j YWwwKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBPciAoRGVyZWZP ZiAoSW5kZXggKFdBS1AsIDB4MDApKSwgTG9jYWwwLCBJbmRleCAoV0FLUCwg MHgwMCkpDQogICAgICAgICAgICBOb3RpZnkgKFxfVFouVEhSTSwgMHg4MCkN CiAgICAgICAgfQ0KICAgIH0NCg0KICAgIE5hbWUgKF9TMCwgUGFja2FnZSAo MHgwNCkNCiAgICB7DQogICAgICAgIDB4MDAsIA0KICAgICAgICAweDAwLCAN CiAgICAgICAgMHgwMCwgDQogICAgICAgIDB4MDANCiAgICB9KQ0KICAgIElm IChTUzMpDQogICAgew0KICAgICAgICBOYW1lIChfUzMsIFBhY2thZ2UgKDB4 MDQpDQogICAgICAgIHsNCiAgICAgICAgICAgIDB4MDUsIA0KICAgICAgICAg ICAgMHgwMCwgDQogICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgIDB4 MDANCiAgICAgICAgfSkNCiAgICB9DQoNCiAgICBJZiAoU1M0KQ0KICAgIHsN CiAgICAgICAgTmFtZSAoX1M0LCBQYWNrYWdlICgweDA0KQ0KICAgICAgICB7 DQogICAgICAgICAgICAweDA2LCANCiAgICAgICAgICAgIDB4MDAsIA0KICAg ICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAweDAwDQogICAgICAgIH0p DQogICAgfQ0KDQogICAgTmFtZSAoX1M1LCBQYWNrYWdlICgweDA0KQ0KICAg IHsNCiAgICAgICAgMHgwNywgDQogICAgICAgIDB4MDAsIA0KICAgICAgICAw eDAwLCANCiAgICAgICAgMHgwMA0KICAgIH0pDQogICAgTWV0aG9kIChQVFMs IDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBJZiAoQXJnMCkN CiAgICAgICAgew0KICAgICAgICAgICAgXF9UWi5UUk1TIChBcmcwKQ0KICAg ICAgICB9DQogICAgfQ0KDQogICAgTWV0aG9kIChXQUssIDEsIE5vdFNlcmlh bGl6ZWQpDQogICAgew0KICAgICAgICBcX1RaLlRSTVcgKEFyZzApDQogICAg fQ0KfQ0KDQo= ---559023410-758783491-1121137931=:12063--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.44.0507112011300.12063-200000>