From owner-freebsd-acpi@FreeBSD.ORG Sat Mar 26 17:36:22 2011 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E9D8106564A for ; Sat, 26 Mar 2011 17:36:22 +0000 (UTC) (envelope-from aksenzov@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 7A4AC8FC0A for ; Sat, 26 Mar 2011 17:36:21 +0000 (UTC) Received: by iyj12 with SMTP id 12so2697330iyj.13 for ; Sat, 26 Mar 2011 10:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=kVT3iz3j41iAXklKZQkOA04wtMcMW6DNWOZV6C4XTmE=; b=JjbAWuZ/aMI3gW2thqcvFid6KwLF+B9DmC39EkQ+pkQt6NJzcsHHO20h04IfH48W+f iJtodHxoZZRMfYguSKqJKXKAJSSG13Nj0tf9R6PT+rsLWX466GdWnMRRTl2eKmhcC8Xf HvrianH0EuIHLrQ7/8Om5g3f8/Zh2amhiAhrg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=SVb93en84/GyrheD2V+TrwBaknw05xTi1wdjtbDKxVm1EHsPhp+Cm0Aj9rFkdy5ZjD pxaTbIFULMEAl4koZW5bRtBwFqbOwO8YyR33aW+ayRV0NUN1OjINCEduChT5rEtCGHrt 3izooi9kKlb22z/rp2Wq0JzMNtiYy/8wp33Dg= MIME-Version: 1.0 Received: by 10.43.47.5 with SMTP id uq5mr3245791icb.487.1301159625516; Sat, 26 Mar 2011 10:13:45 -0700 (PDT) Received: by 10.42.74.2 with HTTP; Sat, 26 Mar 2011 10:13:45 -0700 (PDT) Date: Sun, 27 Mar 2011 00:13:45 +0700 Message-ID: From: =?KOI8-R?B?69PFztrP1yDhzMXL08XK?= To: freebsd-acpi@FreeBSD.org Content-Type: multipart/mixed; boundary=bcaec52e6005466829049f65d53e X-Mailman-Approved-At: Sat, 26 Mar 2011 17:40:48 +0000 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Atheros 9285 & Atheros AR8131 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 17:36:22 -0000 --bcaec52e6005466829049f65d53e Content-Type: text/plain; charset=ISO-8859-1 Network cards do not work. Tried on systems 8.0, 8.1, and 8.2. Notebook Aser Extenza 5635ZG. Tried to change Wi-Fi adapter on the other, but the situation has not changed. In all kinds of windows and linux, works fine. ath0: irq 19 at device 0.0 on pci7 ath0: 0x10000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). ath0: cannot map register space device_attach: ath0 attach returned 6 alc0: irq 17 at device 0.0 on pci9 alc0: 0x40000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). alc0: cannot allocate memory resources. device_attach: alc0 attach returned 6 Attached: dmesg, sysctl hw.acpi and acpidump -t -d --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name=dmesg Content-Disposition: attachment; filename=dmesg Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqstx2a0 Q29weXJpZ2h0IChjKSAxOTkyLTIwMTEgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA4LjItUkVMRUFTRSAjMDogRnJpIEZlYiAxOCAwMjoy NDo0NiBVVEMgMjAxMQogICAgcm9vdEBhbG1laWRhLmNzZS5idWZmYWxvLmVkdTovdXNyL29iai91 c3Ivc3JjL3N5cy9HRU5FUklDIGkzODYKUHJlbG9hZGVkIGVsZiBrZXJuZWwgIi9ib290L2tlcm5l bC9rZXJuZWwiIGF0IDB4YzBmZGIwMDAuClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDEx OTMxODIgSHogcXVhbGl0eSAwCkNhbGlicmF0aW5nIFRTQyBjbG9jayAuLi4gVFNDIGNsb2NrOiAy MTk0NzU3MzIzIEh6CkNQVTogUGVudGl1bShSKSBEdWFsLUNvcmUgQ1BVICAgICAgIFQ0NDAwICBA IDIuMjBHSHogKDIxOTQuNzYtTUh6IDY4Ni1jbGFzcyBDUFUpCiAgT3JpZ2luID0gIkdlbnVpbmVJ bnRlbCIgIElkID0gMHgxMDY3YSAgRmFtaWx5ID0gNiAgTW9kZWwgPSAxNyAgU3RlcHBpbmcgPSAx MAogIEZlYXR1cmVzPTB4YmZlYmZiZmY8RlBVLFZNRSxERSxQU0UsVFNDLE1TUixQQUUsTUNFLENY OCxBUElDLFNFUCxNVFJSLFBHRSxNQ0EsQ01PVixQQVQsUFNFMzYsQ0xGTFVTSCxEVFMsQUNQSSxN TVgsRlhTUixTU0UsU1NFMixTUyxIVFQsVE0sUEJFPgogIEZlYXR1cmVzMj0weDQwMGUzOWQ8U1NF MyxEVEVTNjQsTU9OLERTX0NQTCxFU1QsVE0yLFNTU0UzLENYMTYseFRQUixQRENNLFhTQVZFPgog IEFNRCBGZWF0dXJlcz0weDIwMTAwMDAwPE5YLExNPgogIEFNRCBGZWF0dXJlczI9MHgxPExBSEY+ CiAgVFNDOiBQLXN0YXRlIGludmFyaWFudAoKSW5zdHJ1Y3Rpb24gVExCOiA0IEtCIFBhZ2VzLCA0 LXdheSBzZXQgYXNzb2NpYXRpdmUsIDEyOCBlbnRyaWVzCjJuZC1sZXZlbCBjYWNoZTogMSBNQiwg NC13YXkgc2V0IGFzc29jaWF0aXZlLCA2NC1ieXRlIGxpbmUgc2l6ZQoxc3QtbGV2ZWwgaW5zdHJ1 Y3Rpb24gY2FjaGU6IDMyIEtCLCA4LXdheSBzZXQgYXNzb2NpYXRpdmUsIDY0IGJ5dGUgbGluZSBz aXplCjFzdC1sZXZlbCBkYXRhIGNhY2hlOiAzMiBLQiwgOC13YXkgc2V0IGFzc29jaWF0aXZlLCA2 NCBieXRlIGxpbmUgc2l6ZQpMMiBjYWNoZTogMTAyNCBrYnl0ZXMsIDQtd2F5IGFzc29jaWF0aXZl LCA2NCBieXRlcy9saW5lCnJlYWwgbWVtb3J5ICA9IDIxNDc0ODM2NDggKDIwNDggTUIpClBoeXNp Y2FsIG1lbW9yeSBjaHVuayhzKToKMHgwMDAwMDAwMDAwMDAxMDAwIC0gMHgwMDAwMDAwMDAwMDll ZmZmLCA2NDcxNjggYnl0ZXMgKDE1OCBwYWdlcykKMHgwMDAwMDAwMDAwMTAwMDAwIC0gMHgwMDAw MDAwMDAwM2ZmZmZmLCAzMTQ1NzI4IGJ5dGVzICg3NjggcGFnZXMpCjB4MDAwMDAwMDAwMTAyNjAw MCAtIDB4MDAwMDAwMDA3ZDQ2NGZmZiwgMjA4NDgyNzEzNiBieXRlcyAoNTA4OTkxIHBhZ2VzKQow eDAwMDAwMDAwN2Y4YTcwMDAgLSAweDAwMDAwMDAwN2Y5YzlmZmYsIDExOTE5MzYgYnl0ZXMgKDI5 MSBwYWdlcykKMHgwMDAwMDAwMDdmYTBmMDAwIC0gMHgwMDAwMDAwMDdmYjA4ZmZmLCAxMDI0MDAw IGJ5dGVzICgyNTAgcGFnZXMpCjB4MDAwMDAwMDA3ZmQwZjAwMCAtIDB4MDAwMDAwMDA3ZmQxOGZm ZiwgNDA5NjAgYnl0ZXMgKDEwIHBhZ2VzKQoweDAwMDAwMDAwN2ZkMWYwMDAgLSAweDAwMDAwMDAw N2ZkNjNmZmYsIDI4MjYyNCBieXRlcyAoNjkgcGFnZXMpCjB4MDAwMDAwMDA3ZmQ5ZjAwMCAtIDB4 MDAwMDAwMDA3ZmRkMGZmZiwgMjA0ODAwIGJ5dGVzICg1MCBwYWdlcykKYXZhaWwgbWVtb3J5ID0g MjA4NjI0NDM1MiAoMTk4OSBNQikKVGFibGUgJ0ZBQ1AnIGF0IDB4N2ZkZTUwMDAKVGFibGUgJ0hQ RVQnIGF0IDB4N2ZkZmVlZmMKVGFibGUgJ01DRkcnIGF0IDB4N2ZkZmVmMzQKVGFibGUgJ0FQSUMn IGF0IDB4N2ZkZmVmNzAKQVBJQzogRm91bmQgdGFibGUgYXQgMHg3ZmRmZWY3MApNUCBDb25maWd1 cmF0aW9uIFRhYmxlIHZlcnNpb24gMS40IGZvdW5kIGF0IDB4YzAwOWY5NzEKQVBJQzogVXNpbmcg dGhlIE1BRFQgZW51bWVyYXRvci4KTUFEVDogRm91bmQgQ1BVIEFQSUMgSUQgMCBBQ1BJIElEIDA6 IGVuYWJsZWQKU01QOiBBZGRlZCBDUFUgMCAoQVApCk1BRFQ6IEZvdW5kIENQVSBBUElDIElEIDEg QUNQSSBJRCAxOiBlbmFibGVkClNNUDogQWRkZWQgQ1BVIDEgKEFQKQpBQ1BJIEFQSUMgVGFibGU6 IDxQVExURCAgCSBBUElDICA+CklOVFI6IEFkZGluZyBsb2NhbCBBUElDIDEgYXMgYSB0YXJnZXQK RnJlZUJTRC9TTVA6IE11bHRpcHJvY2Vzc29yIFN5c3RlbSBEZXRlY3RlZDogMiBDUFVzCkZyZWVC U0QvU01QOiAxIHBhY2thZ2UocykgeCAyIGNvcmUocykKIGNwdTAgKEJTUCk6IEFQSUMgSUQ6ICAw CiBjcHUxIChBUCk6IEFQSUMgSUQ6ICAxCkFQSUM6IENQVSAwIGhhcyBBQ1BJIElEIDAKQVBJQzog Q1BVIDEgaGFzIEFDUEkgSUQgMQpiaW9zMzI6IEZvdW5kIEJJT1MzMiBTZXJ2aWNlIERpcmVjdG9y eSBoZWFkZXIgYXQgMHhjMDBmNzVhMApiaW9zMzI6IEVudHJ5ID0gMHhmZGEyMSAoYzAwZmRhMjEp ICBSZXYgPSAwICBMZW4gPSAxCnBjaWJpb3M6IFBDSSBCSU9TIGVudHJ5IGF0IDB4ZmRhMjArMHgy MjEKcG5wYmlvczogRm91bmQgUG5QIEJJT1MgZGF0YSBhdCAweGMwMGY3NjIwCnBucGJpb3M6IEVu dHJ5ID0gZjAwMDA6YmYwYyAgUmV2ID0gMS4wCk90aGVyIEJJT1Mgc2lnbmF0dXJlcyBmb3VuZDoK eDg2YmlvczogICBJVlQgMHgwMDAwMDAtMHgwMDA0ZmYgYXQgMHhjMDAwMDAwMAp4ODZiaW9zOiAg U1NFRyAweDAxMDAwMC0weDAxZmZmZiBhdCAweGM1MWJlMDAwCng4NmJpb3M6ICBFQkRBIDB4MDlm MDAwLTB4MDlmZmZmIGF0IDB4YzAwOWYwMDAKeDg2YmlvczogICBST00gMHgwYTAwMDAtMHgwZWZm ZmYgYXQgMHhjMDBhMDAwMApVTEU6IHNldHVwIGNwdSAwClVMRTogc2V0dXAgY3B1IDEKQUNQSTog UlNEUCAweGY3NTEwIDAwMDI0ICh2MDIgUFRMVEQgKQpBQ1BJOiBYU0RUIDB4N2ZkZjVhNjcgMDAw NjQgKHYwMSBQVExURCAgPyBYU0RUICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogRkFD UCAweDdmZGU1MDAwIDAwMEY0ICh2MDMgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIEFMQU4gMDAw MDAwMDEpCkFDUEk6IERTRFQgMHg3ZmRlNjAwMCAwOTJBMSAodjAyIEludGVsICBDQU5USUdBICAw NjA0MDAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBGQUNTIDB4N2ZkOWVmYzAgMDAwNDAKQUNQSTog SFBFVCAweDdmZGZlZWZjIDAwMDM4ICh2MDEgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIExPSFIg MDAwMDAwNUEpCkFDUEk6IE1DRkcgMHg3ZmRmZWYzNCAwMDAzQyAodjAxIElOVEVMICBDUkVTVExO RSAwNjA0MDAwMCBMT0hSIDAwMDAwMDVBKQpBQ1BJOiBBUElDIDB4N2ZkZmVmNzAgMDAwNjggKHYw MSBQVExURCAgPyBBUElDICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogQk9PVCAweDdm ZGZlZmQ4IDAwMDI4ICh2MDEgUFRMVEQgICRTQkZUQkwkIDA2MDQwMDAwICBMVFAgMDAwMDAwMDEp CkFDUEk6IFNTRFQgMHg3ZmRlNDAwMCAwMDY1NSAodjAxICBQbVJlZiAgICBDcHVQbSAwMDAwMzAw MCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBTU0RUIDB4N2ZkZTMwMDAgMDAyNTkgKHYwMSAgUG1SZWYg IENwdTBUc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogU1NEVCAweDdmZGUyMDAwIDAw MjBGICh2MDEgIFBtUmVmICAgIEFwVHN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCk1BRFQ6IEZv dW5kIElPIEFQSUMgSUQgMiwgSW50ZXJydXB0IDAgYXQgMHhmZWMwMDAwMAppb2FwaWMwOiBSb3V0 aW5nIGV4dGVybmFsIDgyNTlBJ3MgLT4gaW50cGluIDAKbGFwaWMwOiBSb3V0aW5nIE5NSSAtPiBM SU5UMQpsYXBpYzA6IExJTlQxIHRyaWdnZXI6IGVkZ2UKbGFwaWMwOiBMSU5UMSBwb2xhcml0eTog aGlnaApsYXBpYzE6IFJvdXRpbmcgTk1JIC0+IExJTlQxCmxhcGljMTogTElOVDEgdHJpZ2dlcjog ZWRnZQpsYXBpYzE6IExJTlQxIHBvbGFyaXR5OiBoaWdoCk1BRFQ6IEludGVycnVwdCBvdmVycmlk ZTogc291cmNlIDAsIGlycSAyCmlvYXBpYzA6IFJvdXRpbmcgSVJRIDAgLT4gaW50cGluIDIKTUFE VDogSW50ZXJydXB0IG92ZXJyaWRlOiBzb3VyY2UgOSwgaXJxIDkKaW9hcGljMDogaW50cGluIDkg dHJpZ2dlcjogbGV2ZWwKaW9hcGljMCA8VmVyc2lvbiAyLjA+IGlycXMgMC0yMyBvbiBtb3RoZXJi b2FyZApjcHUwIEJTUDoKICAgICBJRDogMHgwMDAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6 IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZmCiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4 MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNWUjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDEw MGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjogMHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKd2xh bjogPDgwMi4xMSBMaW5rIExheWVyPgpudWxsOiA8bnVsbCBkZXZpY2UsIHplcm8gZGV2aWNlPgpy YW5kb206IDxlbnRyb3B5IHNvdXJjZSwgU29mdHdhcmUsIFlhcnJvdz4KbmZzbG9jazogcHNldWRv LWRldmljZQppbzogPEkvTz4Ka2JkOiBuZXcgYXJyYXkgc2l6ZSA0CmtiZDEgYXQga2JkbXV4MApt ZW06IDxtZW1vcnk+ClBlbnRpdW0gUHJvIE1UUlIgc3VwcG9ydCBlbmFibGVkCmhwdHJyOiBSb2Nr ZXRSQUlEIDE3eHgvMnh4eCBTQVRBIGNvbnRyb2xsZXIgZHJpdmVyIHYxLjIKYWNwaTA6IDxQVExU RCAJIFhTRFQ+IG9uIG1vdGhlcmJvYXJkClBDSWU6IE1lbW9yeSBNYXBwZWQgY29uZmlndXJhdGlv biBiYXNlIEAgMHhlMDAwMDAwMApwY2liaW9zOiBCSU9TIHZlcnNpb24gMy4wMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiA5IChJU0EgSVJRIDkpIHRvIGxhcGljIDAgdmVjdG9yIDQ4CmFjcGkwOiBb TVBTQUZFXQphY3BpMDogW0lUSFJFQURdCmFjcGkwOiBQb3dlciBCdXR0b24gKGZpeGVkKQphY3Bp MDogd2FrZXVwIGNvZGUgdmEgMHhjNTFiODAwMCBwYSAweDEwMDAKdW5rbm93bjogSS9PIHJhbmdl IG5vdCBzdXBwb3J0ZWQKYWNwaV9ocGV0MDogdmVuZDogMHg4MDg2IHJldjogMHgxIG51bTogNCBo ejogMTQzMTgxODAgb3B0czogbGVnYWN5X3JvdXRlIDY0LWJpdApUaW1lY291bnRlciAiSFBFVCIg ZnJlcXVlbmN5IDE0MzE4MTgwIEh6IHF1YWxpdHkgOTAwCkFDUEkgdGltZXI6IDEvMiAxLzIgMS8y IDEvMiAxLzIgMS8yIDEvMiAxLzIgMS8yIDEvMiAtPiAxMApUaW1lY291bnRlciAiQUNQSS1mYXN0 IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFsaXR5IDEwMDAKYWNwaV90aW1lcjA6IDwyNC1iaXQg dGltZXIgYXQgMy41Nzk1NDVNSHo+IHBvcnQgMHg0MDgtMHg0MGIgb24gYWNwaTAKY3B1MDogPEFD UEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFjYTAgMDAyMjMgKHYwMSAgUG1SZWYg IENwdTBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogRHluYW1pYyBPRU0gVGFibGUg TG9hZDoKQUNQSTogU1NEVCAwIDAwMjIzICh2MDEgIFBtUmVmICBDcHUwSXN0IDAwMDAzMDAwIElO VEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxOTYyMCAwMDVCMyAodjAxICBQbVJlZiAgQ3B1 MENzdCAwMDAwMzAwMSBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2Fk OgpBQ1BJOiBTU0RUIDAgMDA1QjMgKHYwMSAgUG1SZWYgIENwdTBDc3QgMDAwMDMwMDEgSU5UTCAy MDA2MTEwOSkKY3B1MTogPEFDUEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFhMjAg MDAxQ0YgKHYwMSAgUG1SZWYgICAgQXBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTog RHluYW1pYyBPRU0gVGFibGUgTG9hZDoKQUNQSTogU1NEVCAwIDAwMUNGICh2MDEgIFBtUmVmICAg IEFwSXN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxYWYyMCAwMDA4 RCAodjAxICBQbVJlZiAgICBBcENzdCAwMDAwMzAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5h bWljIE9FTSBUYWJsZSBMb2FkOgpBQ1BJOiBTU0RUIDAgMDAwOEQgKHYwMSAgUG1SZWYgICAgQXBD c3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKYWNwaV9lYzA6IDxFbWJlZGRlZCBDb250cm9sbGVy OiBHUEUgMHgxOD4gcG9ydCAweDYyLDB4NjYgb24gYWNwaTAKcGNpX2xpbmswOiAgICAgICAgSW5k ZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAgNSAgIE4g ICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAg IDUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAg ICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbmsxOiAg ICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAg ICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAg ICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERp c2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNp X2xpbmsyOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2Jl ICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRh dGlvbiAgICAgICAgICAwICAgMTAgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQog IEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIg MTQgMTUKcGNpX2xpbmszOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0 aWFsIFByb2JlICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1 CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAx MiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2 IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms0OiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElS UXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgIDI1NSAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEw IDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1 IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAg MSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms1OiAgICAgICAgSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAgIDAgIDEgMyA0 IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTEgICBOICAgICAw ICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAg TiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms2OiAgICAgICAgSW5kZXgg IElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAg IDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUg ICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAg MCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms3OiAgICAg ICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAg NyAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAg ICAwICAgIDcgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2Fi bGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKYWNwaV9h Y2FkMDogPEFDIEFkYXB0ZXI+IG9uIGFjcGkwCmJhdHRlcnkwOiA8QUNQSSBDb250cm9sIE1ldGhv ZCBCYXR0ZXJ5PiBvbiBhY3BpMAphY3BpX2xpZDA6IDxDb250cm9sIE1ldGhvZCBMaWQgU3dpdGNo PiBvbiBhY3BpMAphY3BpX2J1dHRvbjA6IDxQb3dlciBCdXR0b24+IG9uIGFjcGkwCmFjcGlfYnV0 dG9uMTogPFNsZWVwIEJ1dHRvbj4gb24gYWNwaTAKcGNpYjA6IDxBQ1BJIEhvc3QtUENJIGJyaWRn ZT4gcG9ydCAweGNmOC0weGNmZiBvbiBhY3BpMApwY2kwOiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2li MApwY2kwOiBkb21haW49MCwgcGh5c2ljYWwgYnVzPTAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBk ZXY9MHgyYTQwLCByZXZpZD0weDA3Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MCwgZnVuYz0wCglj bGFzcz0wNi0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMTA2LCBzdGF0 cmVnPTB4MjA5MCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBt aW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZlbmRvcj0weDgw ODYsIGRldj0weDJhNDEsIHJldmlkPTB4MDcKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0xLCBmdW5j PTAKCWNsYXNzPTA2LTA0LTAwLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgxOCAoNjAwMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEs IGlycT01Cglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBw b3J0cyAxIG1lc3NhZ2UKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMS5JTlRBCnBjaWIwOiBz bG90IDEgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE2CmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2 PTB4MjkzNywgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTAKCWNs YXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDUsIHN0YXRy ZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1p bmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTUKCW1h cFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MTgwMCwgc2l6ZSAgNSwgZW5h YmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yNi5JTlRBCnBjaWIwOiBzbG90IDI2IElO VEEgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZlZCAweDIwIGJ5dGVzIGZvciBy aWQgMHgyMCB0eXBlIDQgYXQgMHgxODAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4Mjkz OCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTEKCWNsYXNzPTBj LTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgw MjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0w eDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTExCgltYXBbMjBd OiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4MjAsIHNpemUgIDUsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjYuSU5UQgpwY2liMDogc2xvdCAyNiBJTlRCIGhh cmR3aXJlZCB0byBJUlEgMjEKdW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4 MjAgdHlwZSA0IGF0IDB4MTgyMApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5M2MsIHJl dmlkPTB4MDMKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0yNiwgZnVuYz03CgljbGFzcz0wYy0wMy0y MCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMDA2LCBzdGF0cmVnPTB4MDI5MCwg Y2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAo MCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWMsIGlycT0xMAoJcG93ZXJzcGVjIDIg IHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIE1lbW9yeSwgcmFuZ2Ug MzIsIGJhc2UgMHhmMDQwNDAwMCwgc2l6ZSAxMCwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRy eSBmb3IgMC4yNi5JTlRDCnBjaWIwOiBzbG90IDI2IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOQp1 bmtub3duOiBSZXNlcnZlZCAweDQwMCBieXRlcyBmb3IgcmlkIDB4MTAgdHlwZSAzIGF0IDB4ZjA0 MDQwMDAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTNlLCByZXZpZD0weDAzCglkb21h aW49MCwgYnVzPTAsIHNsb3Q9MjcsIGZ1bmM9MAoJY2xhc3M9MDQtMDMtMDAsIGhkcnR5cGU9MHgw MCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNiwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAo ZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0 PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTExCglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAg RDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJbWFwWzEwXTog dHlwZSBNZW1vcnksIHJhbmdlIDY0LCBiYXNlIDB4ZjA0MDAwMDAsIHNpemUgMTQsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjcuSU5UQQpwY2liMDogc2xvdCAyNyBJTlRBIGhh cmR3aXJlZCB0byBJUlEgMjIKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQwLCByZXZp ZD0weDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MAoJY2xhc3M9MDYtMDQtMDAs IGhkcnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNh Y2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgx MDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTEwCglwb3dlcnNwZWMg MiAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNp YjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3 aXJlZCB0byBJUlEgMTcKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQ2LCByZXZpZD0w eDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MwoJY2xhc3M9MDYtMDQtMDAsIGhk cnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hl bG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAw IG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49ZCwgaXJxPTEwCglwb3dlcnNwZWMgMiAg c3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNpYjA6 IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5URApwY2liMDogc2xvdCAyOCBJTlREIGhhcmR3aXJl ZCB0byBJUlEgMTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTRhLCByZXZpZD0weDAz Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9NQoJY2xhc3M9MDYtMDQtMDAsIGhkcnR5 cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5z ej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAwIG5z KSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTUKCXBvd2Vyc3BlYyAyICBzdXBw b3J0cyBEMCBEMyAgY3VycmVudCBEMAoJTVNJIHN1cHBvcnRzIDEgbWVzc2FnZQpwY2liMDogbWF0 Y2hlZCBlbnRyeSBmb3IgMC4yOC5JTlRCCnBjaWIwOiBzbG90IDI4IElOVEIgaGFyZHdpcmVkIHRv IElSUSAxNgpmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzQsIHJldmlkPTB4MDMKCWRv bWFpbj0wLCBidXM9MCwgc2xvdD0yOSwgZnVuYz0wCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0w eDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAg KGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxh dD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT03CgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCBy YW5nZSAzMiwgYmFzZSAweDE4NDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMjMK dW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MTg0 MApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzUsIHJldmlkPTB4MDMKCWRvbWFpbj0w LCBidXM9MCwgc2xvdD0yOSwgZnVuYz0xCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0weDAwLCBt ZmRldj0wCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAgKGR3b3Jk cykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAw ICgwIG5zKQoJaW50cGluPWIsIGlycT0xMAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxODYwLCBzaXplICA1LCBlbmFibGVkCnBjaWIwOiBtYXRjaGVkIGVudHJ5IGZv ciAwLjI5LklOVEIKcGNpYjA6IHNsb3QgMjkgSU5UQiBoYXJkd2lyZWQgdG8gSVJRIDE5CnVua25v d246IFJlc2VydmVkIDB4MjAgYnl0ZXMgZm9yIHJpZCAweDIwIHR5cGUgNCBhdCAweDE4NjAKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTM2LCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MjksIGZ1bmM9MgoJY2xhc3M9MGMtMDMtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNSwgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MTg4MCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4y OS5JTlRDCnBjaWIwOiBzbG90IDI5IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOAp1bmtub3duOiBS ZXNlcnZlZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxODgwCmZvdW5kLT4J dmVuZG9yPTB4ODA4NiwgZGV2PTB4MjkzOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBz bG90PTI5LCBmdW5jPTMKCWNsYXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNt ZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGlt ZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglp bnRwaW49ZCwgaXJxPTUKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4 MThhMCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yOS5JTlRE CnBjaWIwOiBzbG90IDI5IElOVEQgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZl ZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxOGEwCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkzYSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI5 LCBmdW5jPTcKCWNsYXNzPTBjLTAzLTIwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDYsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTcKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMAoJbWFwWzEw XTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4ZjA0MDQ0MDAsIHNpemUgMTAsIGVuYWJs ZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRB IGhhcmR3aXJlZCB0byBJUlEgMjMKdW5rbm93bjogUmVzZXJ2ZWQgMHg0MDAgYnl0ZXMgZm9yIHJp ZCAweDEwIHR5cGUgMyBhdCAweGYwNDA0NDAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4 MjQ0OCwgcmV2aWQ9MHg5MwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMwLCBmdW5jPTAKCWNsYXNz PTA2LTA0LTAxLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9 MHgwMDEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdu dD0weDA0ICgxMDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4ODA4 NiwgZGV2PTB4MjkxOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMxLCBmdW5j PTAKCWNsYXNzPTA2LTAxLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMjEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBu cyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkyOCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMx LCBmdW5jPTIKCWNsYXNzPTAxLTAxLThmLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDcsIHN0YXRyZWc9MHgwMmIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YiwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCW1hcFsx MF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MThmMCwgc2l6ZSAgMywgZW5hYmxl ZAoJbWFwWzE0XTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxOGU0LCBzaXplICAy LCBlbmFibGVkCgltYXBbMThdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4ZTgs IHNpemUgIDMsIGVuYWJsZWQKCW1hcFsxY106IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNl IDB4MThlMCwgc2l6ZSAgMiwgZW5hYmxlZAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxOGQwLCBzaXplICA0LCBlbmFibGVkCgltYXBbMjRdOiB0eXBlIEkvTyBQb3J0 LCByYW5nZSAzMiwgYmFzZSAweDE4YzAsIHNpemUgIDQsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQg ZW50cnkgZm9yIDAuMzEuSU5UQgpwY2liMDogc2xvdCAzMSBJTlRCIGhhcmR3aXJlZCB0byBJUlEg MTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTMwLCByZXZpZD0weDAzCglkb21haW49 MCwgYnVzPTAsIHNsb3Q9MzEsIGZ1bmM9MwoJY2xhc3M9MGMtMDUtMDAsIGhkcnR5cGU9MHgwMCwg bWZkZXY9MAoJY21kcmVnPTB4MDAwMywgc3RhdHJlZz0weDAyODAsIGNhY2hlbG5zej0wIChkd29y ZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgw MCAoMCBucykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2 NCwgYmFzZSAwLCBzaXplICA4LCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCByYW5n ZSAzMiwgYmFzZSAweDFjMDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkg Zm9yIDAuMzEuSU5UQwpwY2liMDogc2xvdCAzMSBJTlRDIGhhcmR3aXJlZCB0byBJUlEgMTkKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTJkLCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MzEsIGZ1bmM9NQoJY2xhc3M9MDEtMDEtODUsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNywgc3RhdHJlZz0weDAyYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1iLCBpcnE9MTAKCXBvd2Vyc3BlYyAzICBzdXBwb3J0cyBEMCBEMyAgY3VycmVu dCBEMAoJbWFwWzEwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxYzQ4LCBzaXpl ICAzLCBlbmFibGVkCgltYXBbMTRdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4 ZmMsIHNpemUgIDIsIGVuYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MWM0MCwgc2l6ZSAgMywgZW5hYmxlZAoJbWFwWzFjXTogdHlwZSBJL08gUG9ydCwgcmFu Z2UgMzIsIGJhc2UgMHgxOGY4LCBzaXplICAyLCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQ b3J0LCByYW5nZSAzMiwgYmFzZSAweDFjMzAsIHNpemUgIDQsIGVuYWJsZWQKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MWMyMCwgc2l6ZSAgNCwgZW5hYmxlZApwY2li MDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4zMS5JTlRCCnBjaWIwOiBzbG90IDMxIElOVEIgaGFyZHdp cmVkIHRvIElSUSAxOQpwY2liMTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxNiBhdCBkZXZp Y2UgMS4wIG9uIHBjaTAKcGNpYjE6ICAgZG9tYWluICAgICAgICAgICAgMApwY2liMTogICBzZWNv bmRhcnkgYnVzICAgICAxCnBjaWIxOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDEKcGNpYjE6ICAgSS9P IGRlY29kZSAgICAgICAgMHgyMDAwLTB4MmZmZgpwY2liMTogICBtZW1vcnkgZGVjb2RlICAgICAw eGNjMDAwMDAwLTB4Y2VmZmZmZmYKcGNpYjE6ICAgcHJlZmV0Y2hlZCBkZWNvZGUgMHhkMDAwMDAw MC0weGRmZmZmZmZmCnBjaTE6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIxCnBjaTE6IGRvbWFpbj0w LCBwaHlzaWNhbCBidXM9MQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDA2ZWMsIHJldmlk PTB4YTEKCWRvbWFpbj0wLCBidXM9MSwgc2xvdD0wLCBmdW5jPTAKCWNsYXNzPTAzLTAwLTAwLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9MHgwMDEwLCBjYWNo ZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBu cyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT01Cglwb3dlcnNwZWMgMyAgc3Vw cG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJ bWFwWzEwXTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4Y2UwMDAwMDAsIHNpemUgMjQs IGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhjZTAwMDAwMC0weGNlZmZm ZmZmOiBnb29kCgltYXBbMTRdOiB0eXBlIFByZWZldGNoYWJsZSBNZW1vcnksIHJhbmdlIDY0LCBi YXNlIDB4ZDAwMDAwMDAsIHNpemUgMjgsIGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkg cmFuZ2UgMHhkMDAwMDAwMC0weGRmZmZmZmZmOiBnb29kCgltYXBbMWNdOiB0eXBlIE1lbW9yeSwg cmFuZ2UgNjQsIGJhc2UgMHhjYzAwMDAwMCwgc2l6ZSAyNSwgZW5hYmxlZApwY2liMTogcmVxdWVz dGVkIG1lbW9yeSByYW5nZSAweGNjMDAwMDAwLTB4Y2RmZmZmZmY6IGdvb2QKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MjAwMCwgc2l6ZSAgNywgZW5hYmxlZApwY2li MTogcmVxdWVzdGVkIEkvTyByYW5nZSAweDIwMDAtMHgyMDdmOiBpbiByYW5nZQpwY2liMTogbWF0 Y2hlZCBlbnRyeSBmb3IgMS4wLklOVEEKcGNpYjE6IHNsb3QgMCBJTlRBIGhhcmR3aXJlZCB0byBJ UlEgMTYKdmdhcGNpMDogPFZHQS1jb21wYXRpYmxlIGRpc3BsYXk+IHBvcnQgMHgyMDAwLTB4MjA3 ZiBtZW0gMHhjZTAwMDAwMC0weGNlZmZmZmZmLDB4ZDAwMDAwMDAtMHhkZmZmZmZmZiwweGNjMDAw MDAwLTB4Y2RmZmZmZmYgaXJxIDE2IGF0IGRldmljZSAwLjAgb24gcGNpMQp1aGNpMDogPEludGVs IDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IHBvcnQgMHgxODAwLTB4MTgxZiBpcnEgMTYg YXQgZGV2aWNlIDI2LjAgb24gcGNpMAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNiAoUENJIElS USAxNikgdG8gbGFwaWMgMCB2ZWN0b3IgNDkKdWhjaTA6IFtNUFNBRkVdCnVoY2kwOiBbSVRIUkVB RF0KdXNidXMwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gb24gdWhjaTAK dWhjaTE6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTgyMC0w eDE4M2YgaXJxIDIxIGF0IGRldmljZSAyNi4xIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRw aW4gMjEgKFBDSSBJUlEgMjEpIHRvIGxhcGljIDAgdmVjdG9yIDUwCnVoY2kxOiBbTVBTQUZFXQp1 aGNpMTogW0lUSFJFQURdCnVzYnVzMTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kxCmVoY2kwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgMi4wIGNvbnRyb2xs ZXI+IG1lbSAweGYwNDA0MDAwLTB4ZjA0MDQzZmYgaXJxIDE5IGF0IGRldmljZSAyNi43IG9uIHBj aTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMTkgKFBDSSBJUlEgMTkpIHRvIGxhcGljIDAgdmVj dG9yIDUxCmVoY2kwOiBbTVBTQUZFXQplaGNpMDogW0lUSFJFQURdCnVzYnVzMjogRUhDSSB2ZXJz aW9uIDEuMAp1c2J1czI6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiAyLjAgY29udHJvbGxlcj4g b24gZWhjaTAKcGNpMDogPG11bHRpbWVkaWEsIEhEQT4gYXQgZGV2aWNlIDI3LjAgKG5vIGRyaXZl ciBhdHRhY2hlZCkKcGNpYjI6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBpcnEgMTcgYXQgZGV2aWNl IDI4LjAgb24gcGNpMApwY2liMjogICBkb21haW4gICAgICAgICAgICAwCnBjaWIyOiAgIHNlY29u ZGFyeSBidXMgICAgIDIKcGNpYjI6ICAgc3Vib3JkaW5hdGUgYnVzICAgNApwY2liMjogICBJL08g ZGVjb2RlICAgICAgICAweDAtMHgwCnBjaWIyOiAgIG5vIHByZWZldGNoZWQgZGVjb2RlCnBjaTI6 IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIyCnBjaTI6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9Mgpw Y2liMzogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxOSBhdCBkZXZpY2UgMjguMyBvbiBwY2kw CnBjaWIzOiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjM6ICAgc2Vjb25kYXJ5IGJ1cyAgICAg NwpwY2liMzogICBzdWJvcmRpbmF0ZSBidXMgICA3CnBjaWIzOiAgIEkvTyBkZWNvZGUgICAgICAg IDB4MC0weDAKcGNpYjM6ICAgbm8gcHJlZmV0Y2hlZCBkZWNvZGUKcGNpNzogPEFDUEkgUENJIGJ1 cz4gb24gcGNpYjMKcGNpNzogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz03CmZvdW5kLT4JdmVuZG9y PTB4MTY4YywgZGV2PTB4MDAyYiwgcmV2aWQ9MHgwMQoJZG9tYWluPTAsIGJ1cz03LCBzbG90PTAs IGZ1bmM9MAoJY2xhc3M9MDItODAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4 MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDEgRDMgIGN1cnJlbnQgRDAKCU1T SSBzdXBwb3J0cyAxIG1lc3NhZ2UKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE2LCBtZW1vcnkgZGlzYWJsZWQKcGNpYjM6IG1hdGNoZWQgZW50cnkgZm9yIDcu MC5JTlRBCnBjaWIzOiBzbG90IDAgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE5CmF0aDA6IDxBdGhl cm9zIDkyODU+IGlycSAxOSBhdCBkZXZpY2UgMC4wIG9uIHBjaTcKcGNpYjM6IGF0aDAgcmVxdWVz dGVkIHVuc3VwcG9ydGVkIG1lbW9yeSByYW5nZSAwLTB4ZmZmZmZmZmYgKGRlY29kaW5nIDAtMCwg MC0wKQphdGgwOiAweDEwMDAwIGJ5dGVzIG9mIHJpZCAweDEwIHJlcyAzIGZhaWxlZCAoMCwgMHhm ZmZmZmZmZikuCmF0aDA6IGNhbm5vdCBtYXAgcmVnaXN0ZXIgc3BhY2UKZGV2aWNlX2F0dGFjaDog YXRoMCBhdHRhY2ggcmV0dXJuZWQgNgpwY2liNDogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAx NiBhdCBkZXZpY2UgMjguNSBvbiBwY2kwCnBjaWI0OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNp YjQ6ICAgc2Vjb25kYXJ5IGJ1cyAgICAgOQpwY2liNDogICBzdWJvcmRpbmF0ZSBidXMgICA5CnBj aWI0OiAgIEkvTyBkZWNvZGUgICAgICAgIDB4MC0weDAKcGNpYjQ6ICAgbm8gcHJlZmV0Y2hlZCBk ZWNvZGUKcGNpYjQ6IGNvdWxkIG5vdCBnZXQgUENJIGludGVycnVwdCByb3V0aW5nIHRhYmxlIGZv ciBcXF9TQl8uUENJMC5SUDA2IC0gQUVfTk9UX0ZPVU5ECnBjaTk6IDxBQ1BJIFBDSSBidXM+IG9u IHBjaWI0CnBjaTk6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9OQpmb3VuZC0+CXZlbmRvcj0weDE5 NjksIGRldj0weDEwNjMsIHJldmlkPTB4YzAKCWRvbWFpbj0wLCBidXM9OSwgc2xvdD0wLCBmdW5j PTAKCWNsYXNzPTAyLTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDAs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGly cT0xMAoJcG93ZXJzcGVjIDMgIHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCglNU0kgc3VwcG9y dHMgMSBtZXNzYWdlLCA2NCBiaXQKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE4LCBtZW1vcnkgZGlzYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJh bmdlIDMyLCBiYXNlIDAsIHNpemUgIDcsIHBvcnQgZGlzYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMTcK cGNpYjQ6IHNsb3QgMCBJTlRBIGlzIHJvdXRlZCB0byBpcnEgMTcKYWxjMDogPEF0aGVyb3MgQVI4 MTMxIFBDSWUgR2lnYWJpdCBFdGhlcm5ldD4gaXJxIDE3IGF0IGRldmljZSAwLjAgb24gcGNpOQpw Y2liNDogYWxjMCByZXF1ZXN0ZWQgdW5zdXBwb3J0ZWQgbWVtb3J5IHJhbmdlIDAtMHhmZmZmZmZm ZiAoZGVjb2RpbmcgMC0wLCAwLTApCmFsYzA6IDB4NDAwMDAgYnl0ZXMgb2YgcmlkIDB4MTAgcmVz IDMgZmFpbGVkICgwLCAweGZmZmZmZmZmKS4KYWxjMDogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBy ZXNvdXJjZXMuCmRldmljZV9hdHRhY2g6IGFsYzAgYXR0YWNoIHJldHVybmVkIDYKdWhjaTI6IDxJ bnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTg0MC0weDE4NWYgaXJx IDIzIGF0IGRldmljZSAyOS4wIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMjMgKFBD SSBJUlEgMjMpIHRvIGxhcGljIDAgdmVjdG9yIDUyCnVoY2kyOiBbTVBTQUZFXQp1aGNpMjogW0lU SFJFQURdCnVzYnVzMzogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IG9uIHVo Y2kyCnVoY2kzOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gcG9ydCAweDE4 NjAtMHgxODdmIGlycSAxOSBhdCBkZXZpY2UgMjkuMSBvbiBwY2kwCnVoY2kzOiBbTVBTQUZFXQp1 aGNpMzogW0lUSFJFQURdCnVzYnVzNDogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kzCnVoY2k0OiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4g cG9ydCAweDE4ODAtMHgxODlmIGlycSAxOCBhdCBkZXZpY2UgMjkuMiBvbiBwY2kwCmlvYXBpYzA6 IHJvdXRpbmcgaW50cGluIDE4IChQQ0kgSVJRIDE4KSB0byBsYXBpYyAwIHZlY3RvciA1Mwp1aGNp NDogW01QU0FGRV0KdWhjaTQ6IFtJVEhSRUFEXQp1c2J1czU6IDxJbnRlbCA4MjgwMUkgKElDSDkp IFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNAp1aGNpNTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNC IGNvbnRyb2xsZXI+IHBvcnQgMHgxOGEwLTB4MThiZiBpcnEgMTYgYXQgZGV2aWNlIDI5LjMgb24g cGNpMAp1aGNpNTogW01QU0FGRV0KdWhjaTU6IFtJVEhSRUFEXQp1c2J1czY6IDxJbnRlbCA4Mjgw MUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNQplaGNpMTogPEludGVsIDgyODAxSSAo SUNIOSkgVVNCIDIuMCBjb250cm9sbGVyPiBtZW0gMHhmMDQwNDQwMC0weGYwNDA0N2ZmIGlycSAy MyBhdCBkZXZpY2UgMjkuNyBvbiBwY2kwCmVoY2kxOiBbTVBTQUZFXQplaGNpMTogW0lUSFJFQURd CnVzYnVzNzogRUhDSSB2ZXJzaW9uIDEuMAp1c2J1czc6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVT QiAyLjAgY29udHJvbGxlcj4gb24gZWhjaTEKcGNpYjU6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBh dCBkZXZpY2UgMzAuMCBvbiBwY2kwCnBjaWI1OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjU6 ICAgc2Vjb25kYXJ5IGJ1cyAgICAgMTAKcGNpYjU6ICAgc3Vib3JkaW5hdGUgYnVzICAgMTAKcGNp YjU6ICAgSS9PIGRlY29kZSAgICAgICAgMHhmMDAwLTB4ZmZmCnBjaWI1OiAgIG5vIHByZWZldGNo ZWQgZGVjb2RlCnBjaWI1OiAgIFN1YnRyYWN0aXZlbHkgZGVjb2RlZCBicmlkZ2UuCnBjaTEwOiA8 QUNQSSBQQ0kgYnVzPiBvbiBwY2liNQpwY2kxMDogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz0xMApp c2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6IDxJU0Eg YnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgxOGYw LTB4MThmNywweDE4ZTQtMHgxOGU3LDB4MThlOC0weDE4ZWYsMHgxOGUwLTB4MThlMywweDE4ZDAt MHgxOGRmLDB4MThjMC0weDE4Y2YgaXJxIDE5IGF0IGRldmljZSAzMS4yIG9uIHBjaTAKYXRhcGNp MDogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MThkMAphdGFw Y2kwOiBbTVBTQUZFXQphdGFwY2kwOiBbSVRIUkVBRF0KYXRhMjogPEFUQSBjaGFubmVsIDA+IG9u IGF0YXBjaTAKYXRhcGNpMDogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDQg YXQgMHgxOGYwCmF0YXBjaTA6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlwZSA0 IGF0IDB4MThlNAphdGEyOiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9NTAgb3N0YXQxPTAwCmF0 YTI6IHN0YXQwPTB4NTAgZXJyPTB4MDEgbHNiPTB4MDAgbXNiPTB4MDAKYXRhMjogc3RhdDE9MHgw MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgwMAphdGEyOiByZXNldCB0cDIgc3RhdDA9NTAgc3Rh dDE9MDAgZGV2aWNlcz0weDEKYXRhMjogW01QU0FGRV0KYXRhMjogW0lUSFJFQURdCmF0YTM6IDxB VEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCmF0YXBjaTA6IFJlc2VydmVkIDB4OCBieXRlcyBmb3Ig cmlkIDB4MTggdHlwZSA0IGF0IDB4MThlOAphdGFwY2kwOiBSZXNlcnZlZCAweDQgYnl0ZXMgZm9y IHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZTAKYXRhMzogcmVzZXQgdHAxIG1hc2s9MDMgb3N0YXQw PTUwIG9zdGF0MT0wMAphdGEzOiBzdGF0MD0weDAwIGVycj0weDAxIGxzYj0weDE0IG1zYj0weGVi CmF0YTM6IHN0YXQxPTB4MDAgZXJyPTB4MDEgbHNiPTB4MTQgbXNiPTB4ZWIKYXRhMzogcmVzZXQg dHAyIHN0YXQwPTAwIHN0YXQxPTAwIGRldmljZXM9MHgzMDAwMAphdGEzOiBbTVBTQUZFXQphdGEz OiBbSVRIUkVBRF0KcGNpMDogPHNlcmlhbCBidXMsIFNNQnVzPiBhdCBkZXZpY2UgMzEuMyAobm8g ZHJpdmVyIGF0dGFjaGVkKQphdGFwY2kxOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgx YzQ4LTB4MWM0ZiwweDE4ZmMtMHgxOGZmLDB4MWM0MC0weDFjNDcsMHgxOGY4LTB4MThmYiwweDFj MzAtMHgxYzNmLDB4MWMyMC0weDFjMmYgaXJxIDE5IGF0IGRldmljZSAzMS41IG9uIHBjaTAKYXRh cGNpMTogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MWMzMAph dGFwY2kxOiBbTVBTQUZFXQphdGFwY2kxOiBbSVRIUkVBRF0KYXRhNDogPEFUQSBjaGFubmVsIDA+ IG9uIGF0YXBjaTEKYXRhcGNpMTogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBl IDQgYXQgMHgxYzQ4CmF0YXBjaTE6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlw ZSA0IGF0IDB4MThmYwphdGE0OiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9N2Ygb3N0YXQxPTdm CmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9 MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZm IGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNi PTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBz dGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJy PTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhm ZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0 YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3 ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNDogc3RhdDE9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiByZXNldCB0 cDIgc3RhdDA9ZmYgc3RhdDE9ZmYgZGV2aWNlcz0weDAKYXRhNDogW01QU0FGRV0KYXRhNDogW0lU SFJFQURdCmF0YTU6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kxCmF0YXBjaTE6IFJlc2VydmVk IDB4OCBieXRlcyBmb3IgcmlkIDB4MTggdHlwZSA0IGF0IDB4MWM0MAphdGFwY2kxOiBSZXNlcnZl ZCAweDQgYnl0ZXMgZm9yIHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZjgKYXRhNTogcmVzZXQgdHAx IG1hc2s9MDMgb3N0YXQwPTdmIG9zdGF0MT03ZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0w eDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYg bHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9 MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0 YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9 MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZm IG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRh NTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdm IGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQxPTB4N2YgZXJyPTB4ZmYgbHNi PTB4ZmYgbXNiPTB4ZmYKYXRhNTogcmVzZXQgdHAyIHN0YXQwPWZmIHN0YXQxPWZmIGRldmljZXM9 MHgwCmF0YTU6IFtNUFNBRkVdCmF0YTU6IFtJVEhSRUFEXQphY3BpX3R6MDogPFRoZXJtYWwgWm9u ZT4gb24gYWNwaTAKYXRydGMwOiA8QVQgcmVhbHRpbWUgY2xvY2s+IHBvcnQgMHg3MC0weDc3IGly cSA4IG9uIGFjcGkwCmF0cnRjMDogV2FybmluZzogQ291bGRuJ3QgbWFwIEkvTy4KYXRydGMwOiBy ZWdpc3RlcmVkIGFzIGEgdGltZS1vZi1kYXkgY2xvY2sgKHJlc29sdXRpb24gMTAwMDAwMHVzKQph dGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgwNDIpPiBwb3J0IDB4NjAsMHg2NCBpcnEg MSBvbiBhY3BpMAphdGtiZDA6IDxBVCBLZXlib2FyZD4gaXJxIDEgb24gYXRrYmRjMAphdGtiZDog dGhlIGN1cnJlbnQga2JkIGNvbnRyb2xsZXIgY29tbWFuZCBieXRlIDAwNDcKYXRrYmQ6IGtleWJv YXJkIElEIDB4NDFhYiAoMikKa2JkMCBhdCBhdGtiZDAKa2JkMDogYXRrYmQwLCBBVCAxMDEvMTAy ICgyKSwgY29uZmlnOjB4MCwgZmxhZ3M6MHgzZDAwMDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MSAoSVNBIElSUSAxKSB0byBsYXBpYyAwIHZlY3RvciA1NAphdGtiZDA6IFtHSUFOVC1MT0NLRURd CmF0a2JkMDogW0lUSFJFQURdCnBzbTA6IHVuYWJsZSB0byBhbGxvY2F0ZSBJUlEKcHNtY3BucDA6 IDxQUy8yIG1vdXNlIHBvcnQ+IGlycSAxMiBvbiBhY3BpMApwc20wOiBjdXJyZW50IGNvbW1hbmQg Ynl0ZTowMDQ3CnBzbTA6IDxQUy8yIE1vdXNlPiBpcnEgMTIgb24gYXRrYmRjMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiAxMiAoSVNBIElSUSAxMikgdG8gbGFwaWMgMCB2ZWN0b3IgNTUKcHNtMDog W0dJQU5ULUxPQ0tFRF0KcHNtMDogW0lUSFJFQURdCnBzbTA6IG1vZGVsIEdlbmVyaWMgUFMvMiBt b3VzZSwgZGV2aWNlIElEIDAtMDAsIDIgYnV0dG9ucwpwc20wOiBjb25maWc6MDAwMDAwMDAsIGZs YWdzOjAwMDAwMDA4LCBwYWNrZXQgc2l6ZTozCnBzbTA6IHN5bmNtYXNrOmMwLCBzeW5jYml0czow MAp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcg dGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgp1bmtub3du OiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcgdGVzdCBmYWls ZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgphaGNfaXNhX3Byb2JlIDE6 IGlvcG9ydCAweDFjMDAgYWxsb2MgZmFpbGVkCmV4X2lzYV9pZGVudGlmeSgpCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyMDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDI0MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMjgzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyYzMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDMwMwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMzQzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzODMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDNjMwpQTlAgSWRlbnRpZnkgY29tcGxldGUKaXNhX3Byb2JlX2NoaWxkcmVuOiBkaXNhYmxp bmcgUG5QIGRldmljZXMKcG10aW1lcjAgb24gaXNhMAphdGtiZGM6IGF0a2JkYzAgYWxyZWFkeSBl eGlzdHM7IHNraXBwaW5nIGl0CmF0cnRjOiBhdHJ0YzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5n IGl0CnNjOiBzYzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5nIGl0CmlzYV9wcm9iZV9jaGlsZHJl bjogcHJvYmluZyBub24tUG5QIGRldmljZXMKb3JtMDogPElTQSBPcHRpb24gUk9Ncz4gYXQgaW9t ZW0gMHhjMDAwMC0weGNlN2ZmLDB4ZTAwMDAtMHhlMTdmZiBwbnBpZCBPUk0wMDAwIG9uIGlzYTAK c2MwOiA8U3lzdGVtIGNvbnNvbGU+IGF0IGZsYWdzIDB4MTAwIG9uIGlzYTAKc2MwOiBWR0EgPDE2 IHZpcnR1YWwgY29uc29sZXMsIGZsYWdzPTB4MzAwPgpzYzA6IGZiMCwga2JkMSwgdGVybWluYWwg ZW11bGF0b3I6IHNjdGVrZW4gKHRla2VuIHRlcm1pbmFsKQp2Z2EwOiA8R2VuZXJpYyBJU0EgVkdB PiBhdCBwb3J0IDB4M2MwLTB4M2RmIGlvbWVtIDB4YTAwMDAtMHhiZmZmZiBvbiBpc2EwCmF0YTAg YXQgcG9ydCAweDFmMC0weDFmNywweDNmNiBpcnEgMTQgb24gaXNhMAphdGEwOiByZXNldCB0cDEg bWFzaz0wMCBvc3RhdDA9ZmYgb3N0YXQxPWZmCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDE0IChJ U0EgSVJRIDE0KSB0byBsYXBpYyAwIHZlY3RvciA1NgphdGEwOiBbTVBTQUZFXQphdGEwOiBbSVRI UkVBRF0KYXRhMSBhdCBwb3J0IDB4MTcwLTB4MTc3LDB4Mzc2IGlycSAxNSBvbiBpc2EwCmF0YTE6 IHJlc2V0IHRwMSBtYXNrPTAwIG9zdGF0MD1mZiBvc3RhdDE9ZmYKaW9hcGljMDogcm91dGluZyBp bnRwaW4gMTUgKElTQSBJUlEgMTUpIHRvIGxhcGljIDAgdmVjdG9yIDU3CmF0YTE6IFtNUFNBRkVd CmF0YTE6IFtJVEhSRUFEXQpmZGMwIGZhaWxlZCB0byBwcm9iZSBhdCBwb3J0IDB4M2YwLTB4M2Y1 LDB4M2Y3IGlycSA2IGRycSAyIG9uIGlzYTAKcHBjMDogcGFyYWxsZWwgcG9ydCBub3QgZm91bmQu CnBwYzA6IDxQYXJhbGxlbCBwb3J0PiBmYWlsZWQgdG8gcHJvYmUgYXQgaXJxIDcgb24gaXNhMAp1 YXJ0MDogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgzZjgtMHgzZmYgaXJxIDQg b24gaXNhMAp1YXJ0MTogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgyZjgtMHgy ZmYgaXJxIDMgb24gaXNhMAppc2FfcHJvYmVfY2hpbGRyZW46IHByb2JpbmcgUG5QIGRldmljZXMK ZXN0MDogPEVuaGFuY2VkIFNwZWVkU3RlcCBGcmVxdWVuY3kgQ29udHJvbD4gb24gY3B1MApwNHRj YzA6IDxDUFUgRnJlcXVlbmN5IFRoZXJtYWwgQ29udHJvbD4gb24gY3B1MAplc3QxOiA8RW5oYW5j ZWQgU3BlZWRTdGVwIEZyZXF1ZW5jeSBDb250cm9sPiBvbiBjcHUxCnA0dGNjMTogPENQVSBGcmVx dWVuY3kgVGhlcm1hbCBDb250cm9sPiBvbiBjcHUxCkRldmljZSBjb25maWd1cmF0aW9uIGZpbmlz aGVkLgpwcm9jZnMgcmVnaXN0ZXJlZApsYXBpYzogRGl2aXNvciAyLCBGcmVxdWVuY3kgOTk3NjE3 MDAgSHoKVGltZWNvdW50ZXIgIlRTQyIgZnJlcXVlbmN5IDIxOTQ3NTczMjMgSHogcXVhbGl0eSAt MTAwClRpbWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEuMDAwIG1zZWMKdmxhbjogaW5pdGlhbGl6ZWQs IHVzaW5nIGhhc2ggdGFibGVzIHdpdGggY2hhaW5pbmcKbG8wOiBicGYgYXR0YWNoZWQKaHB0cnI6 IG5vIGNvbnRyb2xsZXIgZGV0ZWN0ZWQuCmF0YTA6IElkZW50aWZ5aW5nIGRldmljZXM6IDAwMDAw MDAwCmF0YTA6IE5ldyBkZXZpY2VzOiAwMDAwMDAwMAphdGExOiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGExOiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhMjogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDEKYXRhMjogTmV3IGRldmljZXM6IDAwMDAwMDAxCnVzYnVzMDogMTJN YnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXMxOiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEu MAp1c2J1czI6IDQ4ME1icHMgSGlnaCBTcGVlZCBVU0IgdjIuMAp1c2J1czM6IDEyTWJwcyBGdWxs IFNwZWVkIFVTQiB2MS4wCnVzYnVzNDogMTJNYnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXM1 OiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEuMAp1c2J1czY6IDEyTWJwcyBGdWxsIFNwZWVkIFVT QiB2MS4wCnVzYnVzNzogNDgwTWJwcyBIaWdoIFNwZWVkIFVTQiB2Mi4wCmFjcGlfYWNhZDA6IGFj bGluZSBpbml0aWFsaXphdGlvbiBzdGFydApiYXR0ZXJ5MDogYmF0dGVyeSBpbml0aWFsaXphdGlv biBzdGFydAphdGEyLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVETUExMzMgY2Fi bGU9NDAgd2lyZWFjcGlfYWNhZDA6IE9uIExpbmUKYWNwaV9hY2FkMDogYWNsaW5lIGluaXRpYWxp emF0aW9uIGRvbmUsIHRyaWVkIDEgdGltZXMKCnVnZW4wLjE6IDxJbnRlbD4gYXQgdXNidXMwCnVo dWIwOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRy IDE+IG9uIHVzYnVzMAp1Z2VuMS4xOiA8SW50ZWw+IGF0IHVzYnVzMQp1aHViMTogPEludGVsIFVI Q0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czEK dWdlbjIuMTogPEludGVsPiBhdCB1c2J1czIKdWh1YjI6IDxJbnRlbCBFSENJIHJvb3QgSFVCLCBj bGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXMyCnVnZW4zLjE6IDxJbnRl bD4gYXQgdXNidXMzCnVodWIzOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYg MS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMwp1Z2VuNC4xOiA8SW50ZWw+IGF0IHVzYnVzNAp1 aHViNDogPEludGVsIFVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRk ciAxPiBvbiB1c2J1czQKdWdlbjUuMTogPEludGVsPiBhdCB1c2J1czUKdWh1YjU6IDxJbnRlbCBV SENJIHJvb3QgSFVCLCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXM1 CnVnZW42LjE6IDxJbnRlbD4gYXQgdXNidXM2CnVodWI2OiA8SW50ZWwgVUhDSSByb290IEhVQiwg Y2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzNgp1Z2VuNy4xOiA8SW50 ZWw+IGF0IHVzYnVzNwp1aHViNzogPEludGVsIEVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2 IDIuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czcKYWQ0OiBzZXR0aW5nIFVETUEzMwphZDQ6IDMw NTI0NU1CIDxTZWFnYXRlIFNUOTMyMDMyNUFTIDAwMDFTRE0xPiBhdCBhdGEyLW1hc3RlciBVRE1B MzMgCmFkNDogNjI1MTQyNDQ4IHNlY3RvcnMgWzYyMDE4MUMvMTZILzYzU10gMTYgc2VjdG9ycy9p bnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQpHRU9NOiBuZXcgZGlzayBhZDQKYWQ0OiBJbnRlbCBjaGVj azEgZmFpbGVkCmFkNDogQWRhcHRlYyBjaGVjazEgZmFpbGVkCmFkNDogTFNJICh2MykgY2hlY2sx IGZhaWxlZAphZDQ6IExTSSAodjIpIGNoZWNrMSBmYWlsZWQKdWh1YjA6IDIgcG9ydHMgd2l0aCAy IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWIxOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUs IHNlbGYgcG93ZXJlZAp1aHViMzogMiBwb3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2Vy ZWQKdWh1YjQ6IDIgcG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI1OiAy IHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1aHViNjogMiBwb3J0cyB3aXRo IDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKYWQ0OiBGcmVlQlNEIGNoZWNrMSBmYWlsZWQKYXRh MzogSWRlbnRpZnlpbmcgZGV2aWNlczogMDAwMzAwMDAKYXRhMzogTmV3IGRldmljZXM6IDAwMDMw MDAwCmF0YTM6IHRpbWVvdXQgd2FpdGluZyBmb3IgcmVhZCBEUlEKYXRhMzogdGltZW91dCB3YWl0 aW5nIGZvciByZWFkIERSUQphdGEzLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVE TUExMDAgY2FibGU9NDAgd2lyZQphY2QwOiBzZXR0aW5nIFVETUEzMwphY2QwOiA8VFNTVGNvcnAg Q0REVkRXIFRTLUw2MzNDL0FDMDE+IERWRFIgZHJpdmUgYXQgYXRhMyBhcyBtYXN0ZXIKYWNkMDog cmVhZCAxMDgyMEtCL3MgKDEwODIwS0Ivcykgd3JpdGUgNTQxMEtCL3MgKDU0MTBLQi9zKSwgMjA0 OEtCIGJ1ZmZlciwgVURNQTMzIAphY2QwOiBSZWFkczogQ0RSLCBDRFJXLCBDRERBIHN0cmVhbSwg RFZEUk9NLCBEVkRSLCBEVkRSQU0sIHBhY2tldAphY2QwOiBXcml0ZXM6IENEUiwgQ0RSVywgRFZE UiwgRFZEUkFNLCB0ZXN0IHdyaXRlLCBidXJucHJvb2YKYWNkMDogQXVkaW86IHBsYXksIDI1NiB2 b2x1bWUgbGV2ZWxzCmFjZDA6IE1lY2hhbmlzbTogZWplY3RhYmxlIHRyYXksIHVubG9ja2VkCmFj ZDA6IE1lZGl1bTogRFZEIDEyMG1tIGRhdGEgZGlzYwphdGE0OiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGE0OiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhNTogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDAKYXRhNTogTmV3IGRldmljZXM6IDAwMDAwMDAwCkFUQSBQc2V1ZG9S QUlEIGxvYWRlZApTTVA6IEFQIENQVSAjMSBMYXVuY2hlZCEKY3B1MSBBUDoKICAgICBJRDogMHgw MTAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZm CiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNW UjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDIwMGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjog MHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gOSAoSVNB IElSUSA5KSB0byBsYXBpYyAxIHZlY3RvciA0OAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNCAo SVNBIElSUSAxNCkgdG8gbGFwaWMgMSB2ZWN0b3IgNDkKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MTYgKFBDSSBJUlEgMTYpIHRvIGxhcGljIDEgdmVjdG9yIDUwCmlvYXBpYzA6IHJvdXRpbmcgaW50 cGluIDE5IChQQ0kgSVJRIDE5KSB0byBsYXBpYyAxIHZlY3RvciA1MQppb2FwaWMwOiByb3V0aW5n IGludHBpbiAyMyAoUENJIElSUSAyMykgdG8gbGFwaWMgMSB2ZWN0b3IgNTIKdWh1YjI6IDQgcG9y dHMgd2l0aCA0IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI3OiA4IHBvcnRzIHdpdGggOCBy ZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1Z2VuMC4yOiA8QTRUZWNoPiBhdCB1c2J1czAKdW1zMDog PEE0VGVjaCBQUy8yK1VTQiBNb3VzZSwgY2xhc3MgMC8wLCByZXYgMS4xMC8wLjAyLCBhZGRyIDI+ IG9uIHVzYnVzMAp1bXMwOiA4IGJ1dHRvbnMgYW5kIFtYWVpdIGNvb3JkaW5hdGVzIElEPTAKdWdl bjcuMjogPFN1WWluPiBhdCB1c2J1czcKVHJ5aW5nIHRvIG1vdW50IHJvb3QgZnJvbSB1ZnM6L2Rl di9hZDRzMWEKY3RfdG9fdHMoWzIwMTEtMDMtMjYgMTY6NDg6MTddKSA9IDEzMDExNTgwOTcuMDAw MDAwMDAwCnN0YXJ0X2luaXQ6IHRyeWluZyAvc2Jpbi9pbml0Cg== --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name="sysctl_hw.acpi" Content-Disposition: attachment; filename="sysctl_hw.acpi" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqsu2gi1 aHcuYWNwaS5zdXBwb3J0ZWRfc2xlZXBfc3RhdGU6IFMzIFM0IFM1Cmh3LmFjcGkucG93ZXJfYnV0 dG9uX3N0YXRlOiBTNQpody5hY3BpLnNsZWVwX2J1dHRvbl9zdGF0ZTogUzMKaHcuYWNwaS5saWRf c3dpdGNoX3N0YXRlOiBOT05FCmh3LmFjcGkuc3RhbmRieV9zdGF0ZTogTk9ORQpody5hY3BpLnN1 c3BlbmRfc3RhdGU6IFMzCmh3LmFjcGkuc2xlZXBfZGVsYXk6IDEKaHcuYWNwaS5zNGJpb3M6IDAK aHcuYWNwaS52ZXJib3NlOiAxCmh3LmFjcGkuZGlzYWJsZV9vbl9yZWJvb3Q6IDAKaHcuYWNwaS5o YW5kbGVfcmVib290OiAwCmh3LmFjcGkucmVzZXRfdmlkZW86IDAKaHcuYWNwaS5jcHUuY3hfbG93 ZXN0OiBDMQpody5hY3BpLmFjbGluZTogMQpody5hY3BpLmJhdHRlcnkubGlmZTogLTEKaHcuYWNw aS5iYXR0ZXJ5LnRpbWU6IC0xCmh3LmFjcGkuYmF0dGVyeS5zdGF0ZTogNwpody5hY3BpLmJhdHRl cnkudW5pdHM6IDEKaHcuYWNwaS5iYXR0ZXJ5LmluZm9fZXhwaXJlOiA1Cmh3LmFjcGkudGhlcm1h bC5taW5fcnVudGltZTogMApody5hY3BpLnRoZXJtYWwucG9sbGluZ19yYXRlOiAxMApody5hY3Bp LnRoZXJtYWwudXNlcl9vdmVycmlkZTogMApody5hY3BpLnRoZXJtYWwudHowLnRlbXBlcmF0dXJl OiA3My4wQwpody5hY3BpLnRoZXJtYWwudHowLmFjdGl2ZTogLTEKaHcuYWNwaS50aGVybWFsLnR6 MC5wYXNzaXZlX2Nvb2xpbmc6IDEKaHcuYWNwaS50aGVybWFsLnR6MC50aGVybWFsX2ZsYWdzOiAw Cmh3LmFjcGkudGhlcm1hbC50ejAuX1BTVjogMTA1LjBDCmh3LmFjcGkudGhlcm1hbC50ejAuX0hP VDogLTEKaHcuYWNwaS50aGVybWFsLnR6MC5fQ1JUOiAxMDguMEMKaHcuYWNwaS50aGVybWFsLnR6 MC5fQUN4OiAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQpody5hY3BpLnRoZXJtYWwudHow Ll9UQzE6IDIKaHcuYWNwaS50aGVybWFsLnR6MC5fVEMyOiAzCmh3LmFjcGkudGhlcm1hbC50ejAu X1RTUDogNDAK --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name="KsenZ-acer5635zg.asl" Content-Disposition: attachment; filename="KsenZ-acer5635zg.asl" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqsu6qk2 LyoKICBSU0QgUFRSOiBPRU09UFRMVEQsIEFDUElfUmV2PTIuMHggKDIpCglYU0RUPTB4N2ZkZjVh NjcsIGxlbmd0aD0zNiwgY2tzdW09MTg5CiAqLwovKgogIFhTRFQ6IExlbmd0aD0xMDAsIFJldmlz aW9uPTEsIENoZWNrc3VtPTIzNSwKCU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9CSBYU0RULCBP RU0gUmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVhdG9yIFJldmlzaW9u PTB4MAoJRW50cmllcz17IDB4N2ZkZTUwMDAsIDB4N2ZkZmVlZmMsIDB4N2ZkZmVmMzQsIDB4N2Zk ZmVmNzAsIDB4N2ZkZmVmZDgsIDB4N2ZkZTQwMDAsIDB4N2ZkZTMwMDAsIDB4N2ZkZTIwMDAgfQog Ki8KLyoKICBGQUNQOiBMZW5ndGg9MjQ0LCBSZXZpc2lvbj0zLCBDaGVja3N1bT0yMTAsCglPRU1J RD1JTlRFTCwgT0VNIFRhYmxlIElEPUNSRVNUTE5FLCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLAoJ Q3JlYXRvciBJRD1BTEFOLCBDcmVhdG9yIFJldmlzaW9uPTB4MQogCUZBQ1M9MHg3ZmQ5ZWZjMCwg RFNEVD0weDdmZGU2MDAwCglJTlRfTU9ERUw9UElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1Nb2Jp bGUgKDIpCglTQ0lfSU5UPTkKCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHhmMCwgQUNQSV9E SVNBQkxFPTB4ZjEsIFM0QklPU19SRVE9MHgwCglQU1RBVEVfQ05UPTB4ODAKCVBNMWFfRVZUX0JM Sz0weDQwMC0weDQwMwoJUE0xYV9DTlRfQkxLPTB4NDA0LTB4NDA1CglQTTJfQ05UX0JMSz0weDQ1 MC0weDQ1MAoJUE1fVE1SX0JMSz0weDQwOC0weDQwYgoJR1BFMF9CTEs9MHg0MjAtMHg0MmYKCUNT VF9DTlQ9MHg4NQoJUF9MVkwyX0xBVD0xIHVzLCBQX0xWTDNfTEFUPTU3IHVzCglGTFVTSF9TSVpF PTAsIEZMVVNIX1NUUklERT0wCglEVVRZX09GRlNFVD0xLCBEVVRZX1dJRFRIPTMKCURBWV9BTFJN PTEzLCBNT05fQUxSTT0wLCBDRU5UVVJZPTUwCglJQVBDX0JPT1RfQVJDSD17TEVHQUNZX0RFVklD RVMsODA0MixOT19BU1BNfQoJRmxhZ3M9e1dCSU5WRCxDMV9TVVBQT1JURUQsU0xFRVBfQlVUVE9O LFM0X1JUQ19XQUtFLERPQ0tJTkdfU1VQUE9SVEVELFBMQVRGT1JNX0NMT0NLfQoJWF9GQUNTPTB4 N2ZkOWVmYzAsIFhfRFNEVD0weDdmZGU2MDAwCglYX1BNMWFfRVZUX0JMSz0weDQwMDowWzMyXSAo SU8pCglYX1BNMWFfQ05UX0JMSz0weDQwNDowWzE2XSAoSU8pCglYX1BNMl9DTlRfQkxLPTB4NDUw OjBbOF0gKElPKQoJWF9QTV9UTVJfQkxLPTB4NDA4OjBbMzJdIChJTykKCVhfR1BFMF9CTEs9MHg0 MjA6MFsxMjhdIChJTykKICovCi8qCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAwMDAw LCBGaXJtX1dha2VfVmVjPTB4MDAwMDAwMDAKCUdsb2JhbF9Mb2NrPQoJRmxhZ3M9CglWZXJzaW9u PTEKICovCi8qCiAgRFNEVDogTGVuZ3RoPTM3NTM3LCBSZXZpc2lvbj0yLCBDaGVja3N1bT0yMzUs CglPRU1JRD1JbnRlbCwgT0VNIFRhYmxlIElEPUNBTlRJR0EsIE9FTSBSZXZpc2lvbj0weDYwNDAw MDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDA2MTEwOQogKi8KLyoK ICBIUEVUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTEwLAoJT0VNSUQ9SU5URUws IE9FTSBUYWJsZSBJRD1DUkVTVExORSwgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3Ig SUQ9TE9IUiwgQ3JlYXRvciBSZXZpc2lvbj0weDVhCglIUEVUIE51bWJlcj0wCglBRERSPTB4ZmVk MDAwMDA6MFswXSAoTWVtb3J5KQlIVyBSZXY9MHgxCglDb21wYXJhdG9ycz0yCglDb3VudGVyIFNp emU9MQoJTGVnYWN5IElSUSByb3V0aW5nIGNhcGFibGU9e1RSVUV9CglQQ0kgVmVuZG9yIElEPTB4 ODA4NgoJTWluaW1hbCBUaWNrPTEyOAogKi8KLyoKICBNQ0ZHOiBMZW5ndGg9NjAsIFJldmlzaW9u PTEsIENoZWNrc3VtPTUwLAoJT0VNSUQ9SU5URUwsIE9FTSBUYWJsZSBJRD1DUkVTVExORSwgT0VN IFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9TE9IUiwgQ3JlYXRvciBSZXZpc2lvbj0w eDVhCgoJQmFzZSBBZGRyZXNzPTB4MDAwMDAwMDBlMDAwMDAwMAoJU2VnbWVudCBHcm91cD0weDAw MDAKCVN0YXJ0IEJ1cz0wCglFbmQgQnVzPTI1NQogKi8KLyoKICBBUElDOiBMZW5ndGg9MTA0LCBS ZXZpc2lvbj0xLCBDaGVja3N1bT0xOSwKCU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9CSBBUElD LCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVhdG9yIFJldmlz aW9uPTB4MAoJTG9jYWwgQVBJQyBBRERSPTB4ZmVlMDAwMDAKCUZsYWdzPXtQQy1BVH0KCglUeXBl PUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTAKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD0wCgoJVHlw ZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0xCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MQoKCVR5 cGU9SU8gQVBJQwoJQVBJQyBJRD0yCglJTlQgQkFTRT0wCglBRERSPTB4MDAwMDAwMDBmZWMwMDAw MAoKCVR5cGU9TG9jYWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTAKCUxJTlQgUGluPTEKCUZsYWdzPXtQ b2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KCglUeXBlPUxvY2FsIEFQSUMgTk1JCglB Q1BJIENQVT0xCglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2Vy PWVkZ2V9CgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0yCglGbGFncz17 UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJV Uz0wCglJUlE9OQoJSU5UUj05CglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWxl dmVsfQogKi8KLyoKICBCT09UOiBMZW5ndGg9NDAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE2NSwK CU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9JFNCRlRCTCQsIE9FTSBSZXZpc2lvbj0weDYwNDAw MDAsCglDcmVhdG9yIElEPSBMVFAsIENyZWF0b3IgUmV2aXNpb249MHgxCiAqLwovKgogIFNTRFQ6 IExlbmd0aD0xNjIxLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMDQsCglPRU1JRD1QbVJlZiwgT0VN IFRhYmxlIElEPUNwdVBtLCBPRU0gUmV2aXNpb249MHgzMDAwLAoJQ3JlYXRvciBJRD1JTlRMLCBD cmVhdG9yIFJldmlzaW9uPTB4MjAwNjExMDkKICovCi8qCiAgU1NEVDogTGVuZ3RoPTYwMSwgUmV2 aXNpb249MSwgQ2hlY2tzdW09NzEsCglPRU1JRD1QbVJlZiwgT0VNIFRhYmxlIElEPUNwdTBUc3Qs IE9FTSBSZXZpc2lvbj0weDMwMDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249 MHgyMDA2MTEwOQogKi8KLyoKICBTU0RUOiBMZW5ndGg9NTI3LCBSZXZpc2lvbj0xLCBDaGVja3N1 bT0xMDgsCglPRU1JRD1QbVJlZiwgT0VNIFRhYmxlIElEPUFwVHN0LCBPRU0gUmV2aXNpb249MHgz MDAwLAoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNjExMDkKICovCi8q CiAqIEludGVsIEFDUEkgQ29tcG9uZW50IEFyY2hpdGVjdHVyZQogKiBBTUwgRGlzYXNzZW1ibGVy IHZlcnNpb24gMjAxMDEwMTMtMzIKICogQ29weXJpZ2h0IChjKSAyMDAwIC0gMjAxMCBJbnRlbCBD b3Jwb3JhdGlvbgogKiAKICogRGlzYXNzZW1ibHkgb2YgL3RtcC9hY3BpZHVtcC5hdGtqdkosIFNh dCBNYXIgMjYgMTY6NDk6MzEgMjAxMQogKgogKiBPcmlnaW5hbCBUYWJsZSBIZWFkZXI6CiAqICAg ICBTaWduYXR1cmUgICAgICAgICJEU0RUIgogKiAgICAgTGVuZ3RoICAgICAgICAgICAweDAwMDA5 Q0YyICg0MDE3OCkKICogICAgIFJldmlzaW9uICAgICAgICAgMHgwMgogKiAgICAgQ2hlY2tzdW0g ICAgICAgICAweDdBCiAqICAgICBPRU0gSUQgICAgICAgICAgICJJbnRlbCAiCiAqICAgICBPRU0g VGFibGUgSUQgICAgICJDQU5USUdBICIKICogICAgIE9FTSBSZXZpc2lvbiAgICAgMHgwNjA0MDAw MCAoMTAwOTI1NDQwKQogKiAgICAgQ29tcGlsZXIgSUQgICAgICAiSU5UTCIKICogICAgIENvbXBp bGVyIFZlcnNpb24gMHgyMDA2MTEwOSAoNTM3MjY4NDg5KQogKi8KCkRlZmluaXRpb25CbG9jayAo Ii90bXAvYWNwaWR1bXAuYW1sIiwgIkRTRFQiLCAyLCAiSW50ZWwgIiwgIkNBTlRJR0EgIiwgMHgw NjA0MDAwMCkKewogICAgRXh0ZXJuYWwgKF9QU1MsIEludE9iaikKICAgIEV4dGVybmFsIChcX1BS Xy5DUFUwLl9QUEMpCiAgICBFeHRlcm5hbCAoXF9TQl8uUENJMC5UTUVNLkdQRUgsIE1ldGhvZE9i aikgICAgLy8gMCBBcmd1bWVudHMKCiAgICBTY29wZSAoX1NCKQogICAgewogICAgICAgIE5hbWUg KFVOTUYsIFplcm8pCiAgICB9CgogICAgTmFtZSAoU1AyTywgMHg0RSkKICAgIE5hbWUgKFNQMU8s IDB4MTY0RSkKICAgIE5hbWUgKElPMUIsIDB4MDYwMCkKICAgIE5hbWUgKElPMUwsIDB4NzApCiAg ICBOYW1lIChJTzJCLCAweDA2QjApCiAgICBOYW1lIChJTzJMLCAweDIwKQogICAgTmFtZSAoSU8z QiwgMHgwMjkwKQogICAgTmFtZSAoSU8zTCwgMHgxMCkKICAgIE5hbWUgKE1DSEIsIDB4RkVEMTAw MDApCiAgICBOYW1lIChNQ0hMLCAweDQwMDApCiAgICBOYW1lIChFR1BCLCAweEZFRDE5MDAwKQog ICAgTmFtZSAoRUdQTCwgMHgxMDAwKQogICAgTmFtZSAoRE1JQiwgMHhGRUQxODAwMCkKICAgIE5h bWUgKERNSUwsIDB4MTAwMCkKICAgIE5hbWUgKElGUEIsIDB4RkVEMTMwMDApCiAgICBOYW1lIChJ RlBMLCAweDEwMDApCiAgICBOYW1lIChQRUJTLCAweEUwMDAwMDAwKQogICAgTmFtZSAoUEVMTiwg MHgxMDAwMDAwMCkKICAgIE5hbWUgKFRUVEIsIDB4RkVEMjAwMDApCiAgICBOYW1lIChUVFRMLCAw eDAwMDIwMDAwKQogICAgTmFtZSAoU01CUywgMHgxOEMwKQogICAgTmFtZSAoUEJMSywgMHgwNDEw KQogICAgTmFtZSAoUE1CUywgMHgwNDAwKQogICAgTmFtZSAoUE1MTiwgMHg4MCkKICAgIE5hbWUg KExWTDIsIDB4MDQxNCkKICAgIE5hbWUgKExWTDMsIDB4MDQxNSkKICAgIE5hbWUgKExWTDQsIDB4 MDQxNikKICAgIE5hbWUgKFNNSVAsIDB4QjIpCiAgICBOYW1lIChHUEJTLCAweDExODApCiAgICBO YW1lIChHUExOLCAweDgwKQogICAgTmFtZSAoQVBDQiwgMHhGRUMwMDAwMCkKICAgIE5hbWUgKEFQ Q0wsIDB4MTAwMCkKICAgIE5hbWUgKFBNMzAsIDB4MDQzMCkKICAgIE5hbWUgKFNSQ0IsIDB4RkVE MUMwMDApCiAgICBOYW1lIChTUkNMLCAweDQwMDApCiAgICBOYW1lIChTVVNXLCAweEZGKQogICAg TmFtZSAoQUNQSCwgMHhERSkKICAgIE5hbWUgKEFTU0IsIFplcm8pCiAgICBOYW1lIChBT1RCLCBa ZXJvKQogICAgTmFtZSAoQUFYQiwgWmVybykKICAgIE5hbWUgKFBFSFAsIE9uZSkKICAgIE5hbWUg KFNIUEMsIE9uZSkKICAgIE5hbWUgKFBFUE0sIE9uZSkKICAgIE5hbWUgKFBFRVIsIE9uZSkKICAg IE5hbWUgKFBFQ1MsIE9uZSkKICAgIE5hbWUgKElUS0UsIFplcm8pCiAgICBOYW1lIChUUlRQLCBP bmUpCiAgICBOYW1lIChUUlRELCAweDAyKQogICAgTmFtZSAoVFJUSSwgMHgwMykKICAgIE5hbWUg KEdDREQsIE9uZSkKICAgIE5hbWUgKERTVEEsIDB4MEEpCiAgICBOYW1lIChEU0xPLCAweDBDKQog ICAgTmFtZSAoRFNMQywgMHgwRSkKICAgIE5hbWUgKFBJVFMsIDB4MTApCiAgICBOYW1lIChTQkNT LCAweDEyKQogICAgTmFtZSAoU0FMUywgMHgxMykKICAgIE5hbWUgKExTU1MsIDB4MkEpCiAgICBO YW1lIChQU1NTLCAweDJCKQogICAgTmFtZSAoU09PVCwgMHgzNSkKICAgIE5hbWUgKEVTQ1MsIDB4 NDgpCiAgICBOYW1lIChQREJSLCAweDREKQogICAgTmFtZSAoU01CTCwgMHgxMCkKICAgIE9wZXJh dGlvblJlZ2lvbiAoR05WUywgU3lzdGVtTWVtb3J5LCAweDdGRDlFQzRDLCAweDAxMDApCiAgICBG aWVsZCAoR05WUywgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBPU1lTLCAg IDE2LCAKICAgICAgICBTTUlGLCAgIDgsIAogICAgICAgIFBSTTAsICAgOCwgCiAgICAgICAgUFJN MSwgICA4LCAKICAgICAgICBTQ0lGLCAgIDgsIAogICAgICAgIFBSTTIsICAgOCwgCiAgICAgICAg UFJNMywgICA4LCAKICAgICAgICBMQ0tGLCAgIDgsIAogICAgICAgIFBSTTQsICAgOCwgCiAgICAg ICAgUFJNNSwgICA4LCAKICAgICAgICBQODBELCAgIDMyLCAKICAgICAgICBMSURTLCAgIDgsIAog ICAgICAgIFBXUlMsICAgOCwgCiAgICAgICAgREJHUywgICA4LCAKICAgICAgICBUSE9GLCAgIDgs IAogICAgICAgIEFDVDEsICAgOCwgCiAgICAgICAgQUNUVCwgICA4LCAKICAgICAgICBQU1ZULCAg IDgsIAogICAgICAgIFRDMVYsICAgOCwgCiAgICAgICAgVEMyViwgICA4LCAKICAgICAgICBUU1BW LCAgIDgsIAogICAgICAgIENSVFQsICAgOCwgCiAgICAgICAgRFRTRSwgICA4LCAKICAgICAgICBE VFMxLCAgIDgsIAogICAgICAgIERUUzIsICAgOCwgCiAgICAgICAgRFRTRiwgICA4LCAKICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgyOCksIAogICAgICAgIEFQSUMsICAgOCwgCiAgICAgICAgTVBF TiwgICA4LCAKICAgICAgICBQQ1AwLCAgIDgsIAogICAgICAgIFBDUDEsICAgOCwgCiAgICAgICAg UFBDTSwgICA4LCAKICAgICAgICBQUE1GLCAgIDMyLCAKICAgICAgICAgICAgICAgIE9mZnNldCAo MHgzQyksIAogICAgICAgIElHRFMsICAgOCwgCiAgICAgICAgVExTVCwgICA4LCAKICAgICAgICBD QURMLCAgIDgsIAogICAgICAgIFBBREwsICAgOCwgCiAgICAgICAgQ1NURSwgICAxNiwgCiAgICAg ICAgTlNURSwgICAxNiwgCiAgICAgICAgU1NURSwgICAxNiwgCiAgICAgICAgTkRJRCwgICA4LCAK ICAgICAgICBESUQxLCAgIDMyLCAKICAgICAgICBESUQyLCAgIDMyLCAKICAgICAgICBESUQzLCAg IDMyLCAKICAgICAgICBESUQ0LCAgIDMyLCAKICAgICAgICBESUQ1LCAgIDMyLCAKICAgICAgICBL U1YwLCAgIDMyLCAKICAgICAgICBLU1YxLCAgIDgsIAogICAgICAgIEJEU1AsICAgOCwgCiAgICAg ICAgUFRZMSwgICA4LCAKICAgICAgICBQVFkyLCAgIDgsIAogICAgICAgIFBTQ0wsICAgOCwgCiAg ICAgICAgVFZGMSwgICA4LCAKICAgICAgICBUVkYyLCAgIDgsIAogICAgICAgIEdFVE0sICAgOCwg CiAgICAgICAgQkxDUywgICA4LCAKICAgICAgICBCUlRMLCAgIDgsIAogICAgICAgIEFMU0UsICAg OCwgCiAgICAgICAgQUxBRiwgICA4LCAKICAgICAgICBMTE9XLCAgIDgsIAogICAgICAgIExISUgs ICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NkUpLCAKICAgICAgICBFTUFFLCAgIDgs IAogICAgICAgIEVNQVAsICAgMTYsIAogICAgICAgIEVNQUwsICAgMTYsIAogICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDc0KSwgCiAgICAgICAgTUVGRSwgICA4LCAKICAgICAgICBEU1RTLCAgIDgs IAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc4KSwgCiAgICAgICAgVFBNUCwgICA4LCAKICAg ICAgICBUUE1FLCAgIDgsIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgyKSwgCiAgICAgICAg R1RGMCwgICA1NiwgCiAgICAgICAgR1RGMiwgICA1NiwgCiAgICAgICAgSURFTSwgICA4LCAKICAg ICAgICBHVEYxLCAgIDU2LCAKICAgICAgICBCSUQsICAgIDgsIAogICAgICAgICAgICAgICAgT2Zm c2V0ICgweEFBKSwgCiAgICAgICAgQVNMQiwgICAzMiwgCiAgICAgICAgSUJUVCwgICA4LCAKICAg ICAgICBJUEFULCAgIDgsIAogICAgICAgIElUVkYsICAgOCwgCiAgICAgICAgSVRWTSwgICA4LCAK ICAgICAgICBJUFNDLCAgIDgsIAogICAgICAgIElCTEMsICAgOCwgCiAgICAgICAgSUJJQSwgICA4 LCAKICAgICAgICBJU1NDLCAgIDgsIAogICAgICAgIEk0MDksICAgOCwgCiAgICAgICAgSTUwOSwg ICA4LCAKICAgICAgICBJNjA5LCAgIDgsIAogICAgICAgIEk3MDksICAgOCwgCiAgICAgICAgSURN TSwgICA4LCAKICAgICAgICBJRE1TLCAgIDgsIAogICAgICAgIElGMUUsICAgOCwgCiAgICAgICAg SFZDTywgICA4LCAKICAgICAgICBOWEQxLCAgIDMyLCAKICAgICAgICBOWEQyLCAgIDMyLCAKICAg ICAgICBOWEQzLCAgIDMyLCAKICAgICAgICBOWEQ0LCAgIDMyLCAKICAgICAgICBOWEQ1LCAgIDMy LCAKICAgICAgICBOWEQ2LCAgIDMyLCAKICAgICAgICBOWEQ3LCAgIDMyLCAKICAgICAgICBOWEQ4 LCAgIDMyLCAKICAgICAgICBHU01JLCAgIDgsIAogICAgICAgIFBBVlAsICAgOCwgCiAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4RUIpLCAKICAgICAgICBEU0VOLCAgIDgsIAogICAgICAgIEVDT04s ICAgOCwgCiAgICAgICAgR1BJQywgICA4LCAKICAgICAgICBDVFlQLCAgIDgsIAogICAgICAgIEww MUMsICAgOCwgCiAgICAgICAgVkZOMCwgICA4LCAKICAgICAgICBWRk4xLCAgIDgKICAgIH0KCiAg ICBOYW1lIChCUlROLCBaZXJvKQogICAgTmFtZSAoQk9XTiwgWmVybykKICAgIE9wZXJhdGlvblJl Z2lvbiAoTlYxLCBTeXN0ZW1JTywgMHg3MiwgMHgwMikKICAgIEZpZWxkIChOVjEsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgSU5EWCwgICA4LCAKICAgICAgICBEQVRB LCAgIDgKICAgIH0KCiAgICBJbmRleEZpZWxkIChJTkRYLCBEQVRBLCBCeXRlQWNjLCBOb0xvY2ss IFByZXNlcnZlKQogICAgewogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAg RkwwMCwgICAxLCAKICAgICAgICBGTDAxLCAgIDEsIAogICAgICAgIEZMMDIsICAgMSwgCiAgICAg ICAgRkwwMywgICAxLCAKICAgICAgICBGTDA0LCAgIDEsIAogICAgICAgIEZMMDUsICAgMSwgCiAg ICAgICAgRkwwNiwgICAxLCAKICAgICAgICBGTDA3LCAgIDEsIAogICAgICAgIEZMMTAsICAgMSwg CiAgICAgICAgRkwxMSwgICAxLCAKICAgICAgICBGTDEyLCAgIDEsIAogICAgICAgIEZMMTMsICAg MSwgCiAgICAgICAgRkwxNCwgICAxLCAKICAgICAgICBGTDE1LCAgIDEsIAogICAgICAgIEZMMTYs ICAgMSwgCiAgICAgICAgRkwxNywgICAxLCAKICAgICAgICBGTDIwLCAgIDIsIAogICAgICAgIEZM MjEsICAgMiwgCiAgICAgICAgRkwyMiwgICAyLCAKICAgICAgICBGTDIzLCAgIDIsIAogICAgICAg IENNMjMsICAgOCwgCiAgICAgICAgQ00yNCwgICA4LCAKICAgICAgICBDTTI1LCAgIDgsIAogICAg ICAgIENNMjYsICAgOCwgCiAgICAgICAgQ00yNywgICA4LCAKICAgICAgICBDTTI4LCAgIDgsIAog ICAgICAgIENNMjksICAgOCwgCiAgICAgICAgQ00yQSwgICA4LCAKICAgICAgICBDTTJCLCAgIDgs IAogICAgICAgIENNMkMsICAgOCwgCiAgICAgICAgQ00yRCwgICA4LCAKICAgICAgICBDTTJFLCAg IDgsIAogICAgICAgIENNMkYsICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NkUpLCAK ICAgICAgICBJTlM0LCAgIDEKICAgIH0KCiAgICBTY29wZSAoX1NCKQogICAgewogICAgICAgIE1l dGhvZCAoVlRPQiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3Jl IChPbmUsIExvY2FsMCkKICAgICAgICAgICAgU2hpZnRMZWZ0IChMb2NhbDAsIEFyZzAsIExvY2Fs MCkKICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KEJUT1YsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTaGlmdFJpZ2h0 IChBcmcwLCBPbmUsIExvY2FsMCkKICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMSkKICAg ICAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSW5j cmVtZW50IChMb2NhbDEpCiAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChMb2NhbDAsIE9uZSwg TG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKExvY2FsMSkKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoTUtXRCwgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIElmIChBbmQgKEFyZzEsIDB4ODApKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBTdG9yZSAoMHhGRkZGMDAwMCwgTG9jYWwwKQogICAgICAgICAgICB9CiAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgT3IgKExvY2FsMCwgQXJnMCwgTG9jYWwwKQogICAg ICAgICAgICBPciAoTG9jYWwwLCBTaGlmdExlZnQgKEFyZzEsIDB4MDgpLCBMb2NhbDApCiAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChQT1NXLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwgMHg4 MDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHhG RkZGKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZG RkZGRkYpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgTm90IChBcmcwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgSW5jcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2Nh bDAsIDB4RkZGRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChBcmcwKQogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBNZXRob2QgKEdCRkUsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIEFyZzEsIFRJRFgpCiAgICAgICAgICAgIFN0 b3JlIChUSURYLCBBcmcyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChQQkZFLCAzLCBOb3RT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCBB cmcxLCBUSURYKQogICAgICAgICAgICBTdG9yZSAoQXJnMiwgVElEWCkKICAgICAgICB9CgogICAg ICAgIE1ldGhvZCAoSVRPUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAg IFN0b3JlIChCdWZmZXIgKDB4MDkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgLyogMDAwMCAqLyAgICAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAKICAgICAgICAg ICAgICAgIH0sIExvY2FsMCkKICAgICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoMHgxMSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiMDEyMzQ1Njc4OUFCQ0RFRiIKICAgICAg ICAgICAgICAgIH0sIExvY2FsNykKICAgICAgICAgICAgU3RvcmUgKDB4MDgsIExvY2FsMSkKICAg ICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMikKICAgICAgICAgICAgU3RvcmUgKFplcm8sIExv Y2FsMykKICAgICAgICAgICAgV2hpbGUgKExvY2FsMSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgRGVjcmVtZW50IChMb2NhbDEpCiAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQg KEFyZzAsIFNoaWZ0TGVmdCAoTG9jYWwxLCAweDAyKSksIDB4MEYsIExvY2FsNCkKICAgICAgICAg ICAgICAgIElmIChMb2NhbDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKE9uZXMsIExvY2FsMykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoTG9jYWwzKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEdCRkUgKExv Y2FsNywgTG9jYWw0LCBSZWZPZiAoTG9jYWw1KSkKICAgICAgICAgICAgICAgICAgICBQQkZFIChM b2NhbDAsIExvY2FsMiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9j YWwyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoU01JMCwgU3lzdGVt SU8sIDB4MDAwMEZFMDAsIDB4MDAwMDAwMDIpCiAgICAgICAgRmllbGQgKFNNSTAsIEFueUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIFNNSUMsICAgOAogICAgICAg IH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUkxLCBTeXN0ZW1NZW1vcnksIDB4N0ZEOUVE NEQsIDB4MDAwMDAyMDApCiAgICAgICAgRmllbGQgKFNNSTEsIEFueUFjYywgTm9Mb2NrLCBQcmVz ZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIEJDTUQsICAgOCwgCiAgICAgICAgICAgIERJRCwg ICAgMzIsIAogICAgICAgICAgICBJTkYsICAgIDgKICAgICAgICB9CgogICAgICAgIEZpZWxkIChT TUkxLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg1MCksIAogICAgICAgICAgICBCTEswLCAgIDY0LCAKICAgICAgICAgICAg QkxLMSwgICA2NCwgCiAgICAgICAgICAgIEJMSzIsICAgNjQsIAogICAgICAgICAgICBCTEszLCAg IDY0LCAKICAgICAgICAgICAgQkxLNCwgICA2NCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDExMCksIAogICAgICAgICAgICBCVEVOLCAgIDEsIAogICAgICAgICAgICBXTEFOLCAgIDEs IAogICAgICAgICAgICBET0NLLCAgIDEsIAogICAgICAgICAgICBJREVDLCAgIDEsIAogICAgICAg ICAgICBUUE1TLCAgIDEsIAogICAgICAgICAgICBFWDNHLCAgIDEsIAogICAgICAgICAgICBDSVJJ LCAgIDEsIAogICAgICAgICAgICBaMDAwLCAgIDEsIAogICAgICAgICAgICBNT0RMLCAgIDgKICAg ICAgICB9CgogICAgICAgIE11dGV4IChQU01YLCAweDAwKQogICAgICAgIE5hbWUgKFNNSVEsIFpl cm8pCiAgICAgICAgTWV0aG9kIChQSFNSLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgQWNxdWlyZSAoUFNNWCwgMHhGRkZGKQogICAgICAgICAgICBTdG9yZSAoMHg5MCwg QkNNRCkKICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERJRCkKICAgICAgICAgICAgU3RvcmUgKEFy ZzEsIElORikKICAgICAgICAgICAgU3RvcmUgKFNNSUMsIFNNSVEpCiAgICAgICAgICAgIFN0b3Jl IChJTkYsIExvY2FsMCkKICAgICAgICAgICAgUmVsZWFzZSAoUFNNWCkKICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKEFDQUQpCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChfSElELCAiQUNQSTAwMDMiKQogICAgICAgICAgICBOYW1lIChfUENM LCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBfU0IKICAgICAg ICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoQUNTVCwgWmVybykKICAgICAgICAgICAgTWV0aG9k IChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJ ZiAoTEdyZWF0ZXJFcXVhbCAoT1NZUywgMHgwN0Q2KSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuQUNERiwgQUNTVCkKICAg ICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDU1QpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUNTVCwgUFdSUykKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUFNSLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPSykK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBD Qi5FQzAuQUNERiwgQUNTVCkKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1NUKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChBQ1NUKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoQUNT VCwgUFdSUykKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CiAg ICAgICAgfQoKICAgICAgICBEZXZpY2UgKEJBVDEpCiAgICAgICAgewogICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzBBIikpCiAgICAgICAgICAgIE5hbWUgKF9VSUQsIE9uZSkK ICAgICAgICAgICAgTmFtZSAoQ0JUSSwgWmVybykKICAgICAgICAgICAgTmFtZSAoUEJUSSwgWmVy bykKICAgICAgICAgICAgTmFtZSAoQlRJTiwgWmVybykKICAgICAgICAgICAgTmFtZSAoQlRDSCwg WmVybykKICAgICAgICAgICAgTmFtZSAoQklGSSwgWmVybykKICAgICAgICAgICAgTmFtZSAoU0VM MCwgWmVybykKICAgICAgICAgICAgTmFtZSAoQkNSSSwgWmVybykKICAgICAgICAgICAgTmFtZSAo UEJJRiwgUGFja2FnZSAoMHgwRCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAK ICAgICAgICAgICAgICAgIDB4MTEzMCwgCiAgICAgICAgICAgICAgICAweDExMzAsIAogICAgICAg ICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MkI1QywgCiAgICAgICAgICAgICAgICAw eDAxMkMsIAogICAgICAgICAgICAgICAgMHg4NCwgCiAgICAgICAgICAgICAgICAweDIwLCAKICAg ICAgICAgICAgICAgIDB4MjAsIAogICAgICAgICAgICAgICAgIkJBVDEgICAgICAiLCAKICAgICAg ICAgICAgICAgICIxMSAgICAgICAgIiwgCiAgICAgICAgICAgICAgICAiMTEgICAgICAgICIsIAog ICAgICAgICAgICAgICAgIjExICAgICAgICAiCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5h bWUgKFBCU1QsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAweEZGRkZG RkZGLCAKICAgICAgICAgICAgICAgIDB4MjcxMAogICAgICAgICAgICB9KQogICAgICAgICAgICBO YW1lIChFUlJDLCBaZXJvKQogICAgICAgICAgICBOYW1lIChfUENMLCBQYWNrYWdlICgweDAxKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBfU0IKICAgICAgICAgICAgfSkKICAgICAgICAg ICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBB Y3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAg IFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJUUywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAgICAgICAgICAgIElmIChM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MUYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw RikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBG KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9C SUYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEJJRkksIFplcm8pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFVCSUYgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBCSUZJKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoUEJJRikKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgTmFtZSAoTEZDQywgMHgxMTMwKQogICAgICAgICAgICBNZXRob2QgKFVCSUYsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9UXzEs IFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAgICAgICAgICAg SWYgKEVDT0spCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAo Xl5QQ0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUREMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkxGQ0MsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJURFYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUTUQsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUTU4sIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUU04sIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkxJT04sIExvY2FsNikKICAgICAgICAgICAgICAgICAgICBSZWxlYXNl ICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWww LCBJbmRleCAoUEJJRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBJ bmRleCAoUEJJRiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMiwgSW5k ZXggKFBCSUYsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIExGQ0Mp CiAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwNCwgTG9jYWw3KQogICAg ICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWw3LCAweDY0LCAsIExvY2FsNykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoTG9jYWw3LCBJbmRleCAoUEJJRiwgMHgwNikpCiAgICAgICAgICAg ICAgICAgICAgSWYgKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgiTmlNSCIsIEluZGV4IChQQklGLCAweDBCKSkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJMSU9OIiwgSW5kZXggKFBCSUYsIDB4MEIp KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDMs IDB4MEYsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwzLCBfVF8wKQog ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIE9uZSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCMzEiLCBJbmRleCAo UEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCMzIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCNDEiLCBJbmRleCAoUEJJRiwgMHgwOSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo IkFTMDdCNDIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFT MDdCNTEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoIkFTMDdCNTIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoIkFTMDdCNzEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoIkFTMDdCNzIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA5KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFT MDlDNzEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwQSkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo IkFTMDlDNzUiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAs IDB4MEIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDlDMzEiLCBJbmRleCAoUEJJRiwgMHgwOSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBDKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCNjEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJ4eHh4eHh4IiwgSW5k ZXggKFBCSUYsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWw0LCBfVF8xKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzEsIDB4 MDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KCJTQU5ZTyIsIEluZGV4IChQQklGLCAweDBDKSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiU09OWSIsIEluZGV4IChQQklG LCAweDBDKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzEsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiUEFOQVNPTklDIiwgSW5k ZXggKFBCSUYsIDB4MEMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzEsIDB4MDYpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKCJTQU1TVU5HIiwgSW5kZXggKFBCSUYsIDB4MEMpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8xLCAweDA3KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKCJTSU1QTE8iLCBJbmRleCAoUEJJRiwgMHgwQykpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8xLCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIk1PVE9ST0xBIiwgSW5kZXggKFBCSUYs IDB4MEMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgiVU5LTk9XTiIsIEluZGV4IChQQklGLCAweDBDKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElUT1MgKFRvQkNEIChMb2Nh bDUpKSwgSW5kZXggKFBCSUYsIDB4MEEpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBOYW1lIChSQ0FQLCBaZXJvKQogICAgICAgICAgICBNZXRob2QgKF9CU1Qs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEJUSU4sIFplcm8pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBJbmRleCAoUEJTVCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4RkZGRkZGRkYsIEluZGV4IChQQlNULCBPbmUpKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweEZGRkZGRkZGLCBJbmRleCAoUEJTVCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4RkZGRkZGRkYsIEluZGV4IChQQlNULCAweDAzKSkKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFBCU1QpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKEVDT0sp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVEMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CUk0sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVkcsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1DVVIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLkJUU1QsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVEYsIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLkFDREYsIExvY2FsNikKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAu TFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWw2KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWw1LCBP bmUpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExGQ0MsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgTG9j YWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExBbmQgKExvY2FsNCwgT25lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgTG9jYWw3KQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDQsIDB4MDQsIExvY2FsNCkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDQsIDB4MDQpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsNywgTG9jYWw0LCBMb2Nh bDcpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9j YWw3LCBJbmRleCAoUEJTVCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKEFu ZCAoTG9jYWwxLCAweDgwMDApKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDEsIEluZGV4IChQQlNULCAweDAyKSkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMTm90IChBbmQgKExvY2FsMiwgMHg4 MDAwKSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwyLCBJbmRleCAoUEJTVCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTG9jYWwzLCAweDgwMDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3RFcXVhbCAoTG9jYWwzLCAw eEZGRkYpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOb3QgKExvY2FsMywgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5j cmVtZW50IChMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMywg MHhGRkZGLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIEluZGV4IChQQlNULCBP bmUpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoUEJTVCkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChaMDAxLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZG KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJUUywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJUSU4sIFplcm8pKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoT25lLCBCVENIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJJ RkkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChPbmUsIEJUSU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEJUSU4sIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEJUQ0gpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQklGSSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJUSU4pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZp Y2UgKExJRCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBD MEQiKSkKICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTTElEKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBNZXRob2QgKF9MSUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFNMSUQpCiAgICAgICAgICAgICAgICBJZiAoU0xJ RCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTElEUCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFhPciAoTElEUCwg T25lLCBMSURQKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMSURQLCBMb2NhbDApCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIFNjb3BlIChcX0dQRSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTWV0aG9kIChfTDE2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5MSUQsIDB4ODApCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIERldmljZSAoUFdSQikKICAgICAgICB7 CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEMiKSkKICAgICAgICB9Cgog ICAgICAgIERldmljZSAoU0xQQikKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEUiKSkKICAgICAgICB9CgogICAgICAgIFNjb3BlIChcX1NCKQogICAgICAg IHsKICAgICAgICAgICAgRGV2aWNlIChXTUlEKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfSElELCAiUE5QMEMxNCIpCiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCBaZXJv KQogICAgICAgICAgICAgICAgTmFtZSAoV01JUSwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUg KEVSUkQsIDB4MDAwMTAwMDApCiAgICAgICAgICAgICAgICBOYW1lIChCVUZGLCBCdWZmZXIgKDB4 MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQlVGRiwgWmVybywgQkYwMCkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG RiwgT25lLCBCRjAxKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUZGLCAweDAy LCBCRjAyKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUZGLCAweDAzLCBCRjAz KQogICAgICAgICAgICAgICAgTmFtZSAoQUFEUywgQnVmZmVyICgweDA0KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICBDcmVhdGVGaWVsZCAoQUFEUywgWmVybywgMHgwNCwgQVMwMCkKICAgICAgICAgICAg ICAgIENyZWF0ZUZpZWxkIChBQURTLCAweDA0LCBPbmUsIEFTMDEpCiAgICAgICAgICAgICAgICBD cmVhdGVGaWVsZCAoQUFEUywgMHgwNSwgT25lLCBBUzAyKQogICAgICAgICAgICAgICAgQ3JlYXRl RmllbGQgKEFBRFMsIDB4MTAsIDB4MTAsIEFTMDMpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVs ZCAoQUFEUywgWmVybywgMHgxMCwgQVMwNCkKICAgICAgICAgICAgICAgIE5hbWUgKEJBRUYsIFpl cm8pCiAgICAgICAgICAgICAgICBOYW1lIChCQURGLCBaZXJvKQogICAgICAgICAgICAgICAgTmFt ZSAoQkFERywgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwMDEwMDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwLCAKICAgICAg ICAgICAgICAgICAgICAweDAwMDEwMDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgTmFtZSAoQkFEUywgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICBOYW1lIChXTERTLCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoV0xF RCwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUgKEJURFMsIFplcm8pCiAgICAgICAgICAgICAg ICBOYW1lIChCVEVELCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoQkxEUywgWmVybykKICAg ICAgICAgICAgICAgIE5hbWUgKEJMRUQsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChOVERD LCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoV0xTRCwgMHgwMTAwKQogICAgICAgICAgICAg ICAgTmFtZSAoV0xTRSwgMHgwMTAxKQogICAgICAgICAgICAgICAgTmFtZSAoQkxURCwgMHgwMjAw KQogICAgICAgICAgICAgICAgTmFtZSAoQkxURSwgMHgwMjAxKQogICAgICAgICAgICAgICAgTmFt ZSAoTEJMMCwgMHgwMzAwKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMMSwgMHgwMzAxKQogICAg ICAgICAgICAgICAgTmFtZSAoTEJMMiwgMHgwMzAyKQogICAgICAgICAgICAgICAgTmFtZSAoTEJM MywgMHgwMzAzKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNCwgMHgwMzA0KQogICAgICAgICAg ICAgICAgTmFtZSAoTEJMNSwgMHgwMzA1KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNiwgMHgw MzA2KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNywgMHgwMzA3KQogICAgICAgICAgICAgICAg TmFtZSAoTEJMOCwgMHgwMzA4KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMOSwgMHgwMzA5KQog ICAgICAgICAgICAgICAgTmFtZSAoTEJMQSwgMHgwMzBBKQogICAgICAgICAgICAgICAgTmFtZSAo TEJMQiwgMHgwMzBCKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMQywgMHgwMzBDKQogICAgICAg ICAgICAgICAgTmFtZSAoTEJMRCwgMHgwMzBEKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMRSwg MHgwMzBFKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMRiwgMHgwMzBGKQogICAgICAgICAgICAg ICAgTmFtZSAoQ0FESSwgMHgwNDAxKQogICAgICAgICAgICAgICAgTmFtZSAoQ0FETywgMHgwNDAw KQogICAgICAgICAgICAgICAgTmFtZSAoTE9XRywgMHgwNTAxKQogICAgICAgICAgICAgICAgTmFt ZSAoSElIRywgMHgwNTAyKQogICAgICAgICAgICAgICAgTmFtZSAoVkFQTywgMHgwNjAwKQogICAg ICAgICAgICAgICAgTmFtZSAoVkFQSSwgMHgwNjAxKQogICAgICAgICAgICAgICAgTmFtZSAoV0JB VCwgMHgwNzAwKQogICAgICAgICAgICAgICAgTmFtZSAoV0FEQSwgMHgwNzAxKQogICAgICAgICAg ICAgICAgTmFtZSAoRFMzRywgMHgwODAwKQogICAgICAgICAgICAgICAgTmFtZSAoRU4zRywgMHgw ODAxKQogICAgICAgICAgICAgICAgTmFtZSAoTEFOSSwgMHgwOTAwKQogICAgICAgICAgICAgICAg TmFtZSAoTEFOTywgMHgwOTAxKQogICAgICAgICAgICAgICAgTmFtZSAoTU5PRiwgMHgwQTAwKQog ICAgICAgICAgICAgICAgTmFtZSAoTU5PTiwgMHgwQTAxKQogICAgICAgICAgICAgICAgTmFtZSAo QkJPRiwgMHgwQjAwKQogICAgICAgICAgICAgICAgTmFtZSAoQkJPTiwgMHgwQjAxKQogICAgICAg ICAgICAgICAgTmFtZSAoQkJTQiwgQnVmZmVyICgweDA0KQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoQkJTQiwgWmVybywgMHgxMCwgQkJEMCkKICAg ICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChCQlNCLCAweDEwLCAweDEwLCBCQkQxKQogICAgICAg ICAgICAgICAgTmFtZSAoVExTMCwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUgKFRMUzEsIE9u ZSkKICAgICAgICAgICAgICAgIE5hbWUgKFRMUzIsIDB4MDIpCiAgICAgICAgICAgICAgICBOYW1l IChUTFMzLCAweDAzKQogICAgICAgICAgICAgICAgTmFtZSAoVExTNCwgMHgwNCkKICAgICAgICAg ICAgICAgIE5hbWUgKFRMUzUsIDB4MDUpCiAgICAgICAgICAgICAgICBOYW1lIChUTFM2LCAweDA2 KQogICAgICAgICAgICAgICAgTmFtZSAoVExTNywgMHgwNykKICAgICAgICAgICAgICAgIE5hbWUg KEJCUEQsIEJ1ZmZlciAoMHgxNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCQlBELCBaZXJvLCBCQlAwKQogICAgICAgICAg ICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCQlBELCAweDA0LCBCQlAxKQogICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCQlBELCAweDA4LCBCQlAyKQogICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChCQlBELCAweDBDLCBCQlAzKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChCQlBELCAweDEwLCBCQlA0KQogICAgICAgICAgICAgICAgTmFtZSAoQkJBUiwgQnVmZmVy ICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQkJBUiwgWmVybywg QkJBMCkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQkJBUiwgMHgwNCwgQkJBMSkK ICAgICAgICAgICAgICAgIE5hbWUgKEJDRFMsIFBhY2thZ2UgKDB4MEQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAg MHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx MDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwg CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMAogICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgIE5hbWUgKEJERFMsIEJ1ZmZlciAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKEJERFMsIFplcm8sIDB4MTAsIEJERDApCiAg ICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoQkREUywgMHgxMCwgMHgxMCwgQkREMSkKICAgICAg ICAgICAgICAgIE5hbWUgKERTWTAsIEJ1ZmZlciAoMHgyOCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgLyogMDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDE4ICovICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgIC8qIDAwMjAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE5hbWUgKERTWTEs IEJ1ZmZlciAoMHgxOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAw MDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAxMCAq LyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoRFNZMiwgQnVmZmVyICgweDEwKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgLyogMDAwOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoRFNZMywg QnVmZmVyICgweDE4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAw MDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDEwICov ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k0LCBCdWZmZXIgKDB4MTApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k1LCBC dWZmZXIgKDB4MjgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAw MCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgLyogMDAxOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwgWmVybywgMHg0MCwgRFkw MCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChEU1kwLCAweDQwLCAweDQwLCBEWTAxKQog ICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKERTWTAsIDB4ODAsIDB4NDAsIERZMDIpCiAgICAg ICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwgMHhDMCwgMHg0MCwgRFkwMykKICAgICAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChEU1kwLCAweDAxMDAsIDB4NDAsIERZMDQpCiAgICAgICAgICAg ICAgICBDcmVhdGVGaWVsZCAoRFNZMSwgWmVybywgMHg0MCwgRFkxMCkKICAgICAgICAgICAgICAg IENyZWF0ZUZpZWxkIChEU1kxLCAweDQwLCAweDQwLCBEWTExKQogICAgICAgICAgICAgICAgQ3Jl YXRlRmllbGQgKERTWTEsIDB4ODAsIDB4NDAsIERZMTIpCiAgICAgICAgICAgICAgICBDcmVhdGVG aWVsZCAoRFNZMiwgWmVybywgMHg0MCwgRFkyMCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxk IChEU1kyLCAweDQwLCAweDEwLCBEWTIxKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKERT WTIsIDB4NTAsIDB4MTAsIERZMjIpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwg WmVybywgMHhDMCwgRFNYNCkKICAgICAgICAgICAgICAgIE5hbWUgKEJFRFMsIFBhY2thZ2UgKDB4 MTApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx MDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwg CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgw MDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAw MCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMAogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgIE5hbWUgKFdJVDAsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k2 LCBCdWZmZXIgKDB4MTQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyog MDAwMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAg Ki8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChEU1k2LCBaZXJvLCAweDIwLCBEWTYwKQogICAgICAgICAgICAg ICAgQ3JlYXRlRmllbGQgKERTWTYsIDB4MjAsIDB4MjAsIERZNjEpCiAgICAgICAgICAgICAgICBD cmVhdGVGaWVsZCAoRFNZNiwgMHg0MCwgMHgyMCwgRFk2MikKICAgICAgICAgICAgICAgIENyZWF0 ZUZpZWxkIChEU1k2LCAweDYwLCAweDIwLCBEWTYzKQogICAgICAgICAgICAgICAgQ3JlYXRlRmll bGQgKERTWTYsIDB4ODAsIDB4MjAsIERZNjQpCiAgICAgICAgICAgICAgICBOYW1lIChXUFJXLCBC dWZmZXIgKDB4MTQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAw MCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIENyZWF0ZUZpZWxkIChXUFJXLCBaZXJvLCAweDA4LCBXV0QwKQogICAgICAgICAgICAgICAg Q3JlYXRlRmllbGQgKFdQUlcsIDB4MDgsIDB4MDgsIFdXRDEpCiAgICAgICAgICAgICAgICBDcmVh dGVGaWVsZCAoV1BSVywgMHgxMCwgMHgwOCwgV1dEMikKICAgICAgICAgICAgICAgIENyZWF0ZUZp ZWxkIChXUFJXLCAweDE4LCAweDA4LCBXV0QzKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQg KFdQUlcsIDB4MjAsIDB4MDgsIFdXRDQpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV1BS VywgMHgyOCwgMHgyMCwgV1dENSkKICAgICAgICAgICAgICAgIE5hbWUgKFdQQ0ksIEJ1ZmZlciAo MHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQg KFdQQ0ksIFplcm8sIDB4MDgsIFdQSVIpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV1BD SSwgMHgwOCwgMHgwMywgV1BJRikKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChXUENJLCAw eDBCLCAweDA1LCBXUElEKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFdQQ0ksIDB4MTAs IDB4MDgsIFdQSUIpCiAgICAgICAgICAgICAgICBOYW1lIChCRkRTLCBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAg ICAgIDB4MDIKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChHU1RTLCBa ZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoQkZFRiwgWmVybykKICAgICAgICAgICAgICAgIE5h bWUgKEJHRUYsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChCR0RTLCBQYWNrYWdlICgweDAx KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgIE5hbWUgKFdFUkMsIEJ1ZmZlciAoMHgxNCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8q IDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFdFUkMs IFplcm8sIDB4NDAsIFdFUjApCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV0VSQywgMHg0 MCwgMHg0MCwgV0VSMSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoV0VSQywgMHgx MCwgV0VSMikKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoV0VSQywgMHgxMiwgV0VS MykKICAgICAgICAgICAgICAgIE5hbWUgKFNCU1EsIEJ1ZmZlciAoMHgxMCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAw MDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChTQlNRLCBaZXJv LCAweDQwLCBTQlMwKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFNCU1EsIDB4NDAsIDB4 NDAsIFNCUzEpCiAgICAgICAgICAgICAgICBOYW1lIChQUkRULCBCdWZmZXIgKDB4NDYpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDAxOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMjgg Ki8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgLyogMDAzMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDM4ICovICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgIC8qIDAwNDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UFJEVCwgWmVybywgUFJEMCkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUFJEVCwg MHgwMiwgUFJEMSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUFJEVCwgMHgwNCwg UFJEMikKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQUkRULCAweDMwLCAweDQwLCBQUkQz KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBSRFQsIDB4NzAsIDB4NDAsIFBSRDQpCiAg ICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFJEVCwgMHhCMCwgMHg0MCwgUFJENSkKICAgICAg ICAgICAgICAgIENyZWF0ZUZpZWxkIChQUkRULCAweEYwLCAweDQwLCBQUkQ2KQogICAgICAgICAg ICAgICAgTmFtZSAoUFNXRCwgQnVmZmVyICgweDI4KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAvKiAwMDEwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTggKi8gICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgLyogMDAyMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBT V0QsIFplcm8sIDB4MDgsIFBXRDApCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFNXRCwg MHgyMCwgMHg0MCwgUFdEMSkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQU1dELCAweDQw LCAweDQwLCBQV0QyKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBTV0QsIDB4ODAsIDB4 NDAsIFBXRDMpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFNXRCwgMHhDMCwgMHg0MCwg UFdENCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQU1dELCAweDAxMDAsIDB4NDAsIFBX RDUpCiAgICAgICAgICAgICAgICBNZXRob2QgKFBIU1IsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoUFNNWCwgMHhGRkZGKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDkxLCBCQ01EKQogICAgICAgICAgICAgICAgICAg IFN0b3JlIChBcmcwLCBESUQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIElORikK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU01JQywgU01JUSkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRElELCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoUFNNWCkK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKEFBRjEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKFplcm8sIFplcm8pLCBBUzA0 KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBBUzAzKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwMiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHgwMEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSIChPbmUsIFplcm8pLCBCVUZGKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKE9uZSwgT25l KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCUlROLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQlVGRikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSIChP bmUsIDB4MDMpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChf VF8wLCAweDA5KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKE9uZSwgMHgwNCks IEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDBBKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoT25lLCAweDA1KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBDKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5MQU5DLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChe XlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEFuZCAoTG9jYWwwLCBPbmUpLCBCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChfVF8wLCAweDBEKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLk1OU1QsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBDQi5F QzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQW5kIChMb2NhbDAsIE9uZSksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBFKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5e UENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuQkJT VCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChP bmUsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMDMsIDIsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1Rf MCwgWmVybykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgQlVGRikKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChCRjAwLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHgwMEZGRkZGRiwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIF9UXzApCiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDEwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDAyLCBMb2NhbDApLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MjAsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDAyLCBMb2Nh bDApLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKE9TWVMsIDB4MDdENikpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQkYwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXlBDSTAuTFBDQi5FQzAu QkxWTCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kw LkxQQ0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJP V04sIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkYwMCwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEJGMDAsIDB4NDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgw eDAyLCBMb2NhbDApLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDIsIEJPV04pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTbGVlcCAoMHgwMUY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwNCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKExvY2FsMCwgQlJUTikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChfVF8wLCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4ODAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MDIs IExvY2FsMCksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDBGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwOCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhTUiAoMHgwMiwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MDAxMDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMDUsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1RfMCwgWmVy bykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoV01JUSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBXTUlRKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoV0xTRSkK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgw MikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoV0xTRCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkxURSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkxU RCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSIChPbmUsIDB4MDIpLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMSwgMHgwRiwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMQkwwLCAw eDBGMDAsIExCTDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAo TG9jYWwxLCBMQkwwLCBMQkwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExCTDAsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKExCTDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoTE9XRywgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNykpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSElIRywgQlVGRikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChWQVBPKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwOSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChWQVBJKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExPV0csIEJVRkYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwQikpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMQU5JLCBC VUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwQykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExBTk8sIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEQpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEVOM0csIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoX1RfMCwgMHgwRSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChEUzNHLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwRikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE1OT04sIEJVRkYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE1OT0YsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCQk9OLCBCVUZG KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoX1RfMCwgMHgxMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJCT0YsIEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwNiwg MiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMSwgQlVGRikKICAgICAgICAgICAgICAgICAgICBBbmQgKEJGMDAsIDB4MEYsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWww LCBPbmUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgxMCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFBIU1IgKDB4MDMsIExvY2FsMCksIEJCU0IpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChaMDA3LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDEwLCBBcmcwKSwgQlVGRikKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQkYwMCwgQkJQMCkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQkYwMSwgQkJQMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkYwMiwgQkJQMikKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChCRjAzLCAweDBGKSwgQkJQMykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoU2hpZnRSaWdodCAoQW5kIChCRjAzLCAweEYwKSwgMHgwNCksIEJC UDQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDA4LCAyLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwOSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBQSFNSICgweDA0LCBBcmcwKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChCTEswLCBEWTAwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsxLCBE WTAxKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsyLCBEWTAyKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChCTEszLCBEWTAzKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBEWTA0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwQSwg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRFkxMCwgQkxLMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAw eDAzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChEWTExLCBCTEsxKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRFkxMiwgQkxLMikK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgw eDA1LCBBcmcwKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEswLCBEWTEw KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsxLCBEWTExKQogICAgICAgICAgICAgICAg ICAgIElmIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBEWTEyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgRFkxMikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBCLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDA2LCBBcmcw KSwgQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMEMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChaMDBELCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChEU1k0LCBEU1kyKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIERZMjIpCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwOCkpIHt9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChaMDBFLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDA3LCBaZXJvKSwgQlVGRikKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMEYsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1RfMCwg WmVybykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICheXkJBVDEuX1NUQSAoKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChMb2NhbDAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwMDIwMDAw LCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVG RikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo WjAwRywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTVRNUCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFUTVAsIExvY2FsMSkKICAgICAg ICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEzODgsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTM4OCwgTG9jYWwxKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBJLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5Q Q0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KF5eUENJMC5MUENCLkVDMC5NQ1VSLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICheXlBDSTAuTFBDQi5FQzAuQUJDUiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAg ICBSZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoWjAwSiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAw eEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJW RywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMw LkFCVkcsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBM b2NhbDAsIExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2Qg KFowMEssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLk1CUk0sIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQlJNLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBMLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kw LkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5e UENJMC5MUENCLkVDMC5MRkNDLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICheXlBDSTAuTFBDQi5FQzAuQUZDQywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBS ZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwTSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZG RkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUNZQywg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFD WUMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0Iu RUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBMb2Nh bDAsIExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFow ME4sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkJUREMsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQkRDLCBMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBPLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJ MC5MUENCLkVDMC5CVERWLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChe XlBDSTAuTFBDQi5FQzAuQUJEViwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBSZWxl YXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoWjAwUCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTURBVCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFEQVQs IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMw Lk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBMb2NhbDAs IExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFEs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg SWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBB Y3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkJUU04sIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQlNOLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBSLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIEJCQVIpCiAgICAgICAgICAgICAgICAgICAg QW5kIChCQkExLCAweEZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5kIChCQkEwLCAw eEZGLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgX1RfMCkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwRyAo TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSSAoTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBGKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwSyAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwTCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MTcpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTSAoTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDE4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWjAwTiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxOSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTyAoTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4 MUIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwUCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDFDKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwUSAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAwMTAwMDAsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChaMDBILCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBfVF8w KQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIE9uZSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5CQVQxLl9TVEEgKCks IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwyLCAweDEwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzEsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEZGRkYsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKF5eQkFUMS5fU1RBICgpLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChMb2NhbDIsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBMb2NhbDMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkZGRiwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEFyZzEsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwzLCAw eEZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAwMjAwMDAsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDMsIEluZGV4IChCRURTLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJFRFMsIE9uZSkpLCBCVUZGKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFMs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFuZCAoQXJnMCwgT25lKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChM TGVzc0VxdWFsIChMb2NhbDAsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgwOCwgQXJnMCksIEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFQs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFBIU1IgKDB4MDksIEFyZzApLCBCVUZGKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwVSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChBcmcwLCBPbmUpLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDBBLCBB cmcwKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDIsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwViwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgwQiwgQXJnMCksIEJVRkYpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBXLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcw LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCBPbmUpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUEhTUiAoMHgwRCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kICha MDBYLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSICgweDBFLCBBcmcwKSwgQlVGRikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKFowMFksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MEYsIFplcm8pLCBCVUZG KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwNCwgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QXJnMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwwLCBC UlROKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChe XlBDSTAuUEVHQSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5ICheXlBDSTAuUEVHUC5WR0EuTENELCAweDg2KQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5ICheXlBDSTAuR0ZY MC5ERDAyLCAweDg2KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCBCUlROKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5eUENJMC5QRUdB KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5vdGlmeSAoXl5QQ0kwLlBFR1AuVkdBLkxDRCwgMHg4NykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkgKF5eUENJMC5HRlgwLkREMDIsIDB4ODcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoX1dERywgQnVmZmVyICgweDAxMDQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDA5LCAw eDRFLCAweDc2LCAweDk1LCAweDU2LCAweEZCLCAweDgzLCAweDRFLCAKICAgICAgICAgICAgICAg ICAgICAvKiAwMDA4ICovICAgIDB4QjMsIDB4MUEsIDB4MzcsIDB4NzYsIDB4MUYsIDB4NjAsIDB4 OTksIDB4NEEsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0MSwgMHg0MSwg MHgwMSwgMHgwMSwgMHg1OCwgMHhGMiwgMHhGNCwgMHg2QSwgCiAgICAgICAgICAgICAgICAgICAg LyogMDAxOCAqLyAgICAweDAxLCAweEI0LCAweEZELCAweDQyLCAweEJFLCAweDkxLCAweDNELCAw eDRBLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4QzIsIDB4RDcsIDB4QzAs IDB4RDMsIDB4NDIsIDB4NDEsIDB4MDEsIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIC8qIDAw MjggKi8gICAgMHhBQywgMHg2MSwgMHgxQSwgMHhDQywgMHg1NiwgMHg0MiwgMHhBMywgMHg0MSwg CiAgICAgICAgICAgICAgICAgICAgLyogMDAzMCAqLyAgICAweEI5LCAweEUwLCAweDA1LCAweEE0 LCAweDQ1LCAweEFELCAweEUyLCAweEY1LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDM4ICov ICAgIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDgsIDB4NTMsIDB4NDQsIDB4OEMsIDB4RTcsIAogICAg ICAgICAgICAgICAgICAgIC8qIDAwNDAgKi8gICAgMHgyNywgMHgwMiwgMHg2MSwgMHg0OCwgMHg5 RSwgMHhERSwgMHhGNSwgMHg2MCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDA0OCAqLyAgICAw eDBCLCAweDRBLCAweDNELCAweDM5LCAweDQyLCAweDQyLCAweDAxLCAweDAyLCAKICAgICAgICAg ICAgICAgICAgICAvKiAwMDUwICovICAgIDB4N0IsIDB4NEYsIDB4RTAsIDB4QUEsIDB4QzUsIDB4 QjMsIDB4NjUsIDB4NDgsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwNTggKi8gICAgMHg5NSwg MHhENiwgMHg5RiwgMHhBQywgMHg3RiwgMHhGMywgMHhFOSwgMHgyQiwgCiAgICAgICAgICAgICAg ICAgICAgLyogMDA2MCAqLyAgICAweDQyLCAweDQzLCAweDAxLCAweDAyLCAweDc5LCAweDRDLCAw eEY5LCAweENGLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDY4ICovICAgIDB4NzcsIDB4NkMs IDB4RjcsIDB4NEEsIDB4QUMsIDB4NTYsIDB4N0QsIDB4RDAsIAogICAgICAgICAgICAgICAgICAg IC8qIDAwNzAgKi8gICAgMHhDRSwgMHgwMSwgMHhDOSwgMHg5NywgMHg0MiwgMHg0NCwgMHgwMSwg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgLyogMDA3OCAqLyAgICAweEM1LCAweDJFLCAweDc3 LCAweDc5LCAweEIxLCAweDA0LCAweEZELCAweDRCLCAKICAgICAgICAgICAgICAgICAgICAvKiAw MDgwICovICAgIDB4ODQsIDB4M0MsIDB4NjEsIDB4RTcsIDB4RjcsIDB4N0IsIDB4NkMsIDB4Qzks IAogICAgICAgICAgICAgICAgICAgIC8qIDAwODggKi8gICAgMHg0MiwgMHg0NSwgMHgwMSwgMHgw MiwgMHhCNywgMHhBMCwgMHhDOSwgMHhBNywgCiAgICAgICAgICAgICAgICAgICAgLyogMDA5MCAq LyAgICAweDlELCAweDRDLCAweDcyLCAweDRDLCAweDgzLCAweEJCLCAweDUzLCAweEEzLCAKICAg ICAgICAgICAgICAgICAgICAvKiAwMDk4ICovICAgIDB4NDUsIDB4OTEsIDB4NzEsIDB4REYsIDB4 NDIsIDB4NDYsIDB4MDEsIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwQTAgKi8gICAg MHg0RiwgMHgwNiwgMHgzQSwgMHg2NSwgMHgzQSwgMHhBMiwgMHg1RiwgMHg0OCwgCiAgICAgICAg ICAgICAgICAgICAgLyogMDBBOCAqLyAgICAweEIzLCAweEQ5LCAweDEzLCAweEY2LCAweDUzLCAw eDJBLCAweDAxLCAweDgyLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEIwICovICAgIDB4NDIs IDB4NDcsIDB4MDEsIDB4MDIsIDB4QTcsIDB4QjEsIDB4ODUsIDB4REIsIAogICAgICAgICAgICAg ICAgICAgIC8qIDAwQjggKi8gICAgMHg5QSwgMHgwNiwgMHhCQiwgMHg0QSwgMHhBMiwgMHhCNSwg MHhEMSwgMHg4NiwgCiAgICAgICAgICAgICAgICAgICAgLyogMDBDMCAqLyAgICAweEEyLCAweDFC LCAweDgwLCAweEYxLCAweDgxLCAweDAwLCAweDAxLCAweDA4LCAKICAgICAgICAgICAgICAgICAg ICAvKiAwMEM4ICovICAgIDB4OTEsIDB4NkIsIDB4OTEsIDB4MzYsIDB4NjQsIDB4MUEsIDB4ODMs IDB4NDUsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwRDAgKi8gICAgMHg4NCwgMHhEMCwgMHg1 MywgMHg4MywgMHgwRiwgMHhCOSwgMHgxMCwgMHg4RCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDBEOCAqLyAgICAweDgyLCAweDAwLCAweDAxLCAweDA4LCAweDQ1LCAweERELCAweDIzLCAweDU5 LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEUwICovICAgIDB4ODAsIDB4MDQsIDB4RDUsIDB4 NEUsIDB4QjYsIDB4MUEsIDB4QzksIDB4RUMsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwRTgg Ki8gICAgMHg2QywgMHg5MCwgMHhFMiwgMHg2QSwgMHg0MiwgMHg0OCwgMHgwMSwgMHgwMiwgCiAg ICAgICAgICAgICAgICAgICAgLyogMDBGMCAqLyAgICAweDk3LCAweDEzLCAweEFBLCAweEZBLCAw eDg4LCAweDExLCAweDhGLCAweDQ0LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEY4ICovICAg IDB4ODUsIDB4MTYsIDB4OUEsIDB4MDcsIDB4OTgsIDB4N0QsIDB4RDMsIDB4OEEsIAogICAgICAg ICAgICAgICAgICAgIC8qIDAxMDAgKi8gICAgMHg0MiwgMHg0OSwgMHgwMSwgMHgwMgogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoV1FBQSwgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQUYxICgpCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFBRFMsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CQSwg MywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEFuZCAoTEdyZWF0ZXJFcXVhbCAoQXJnMSwgMHgwQyksIExMZXNzRXF1YWwgKEFyZzEsIDB4 MEUpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFowMDIg KEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoQXJnMSwgMHgwNCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBaMDAyIChBcmcxKQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEdyZWF0ZXJFcXVhbCAoQXJnMSwgMHgw OCksIExMZXNzRXF1YWwgKEFyZzEsIDB4MEEpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFowMDIgKEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKEFyZzEsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChCRjAwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBCQUVGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJBRUYpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBaMDAzIChBcmcxLCBBcmcyKQogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9X RUQsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHg4MSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFowMDUgKCkpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKEJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoQXJnMCwg MHg4MCksIExFcXVhbCAoQXJnMCwgMHg4MikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoWjAwNSAoKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJCLCAzLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFpl cm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgX1RfMCkKICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChNYXRjaCAoUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgTUVRLCBfVF8wLCBNVFIsIFplcm8s IFplcm8pLCBPbmVzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFowMDYgKEFyZzEsIEFyZzIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCQlNC LCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEwMDAsIEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJDLCAzLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFowMDggKEFyZzEsIEFyZzIp CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDBFKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKEFyZzEsIDB4MEEpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKEFyZzEsIE9uZSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJDRFMs IFN1YnRyYWN0IChBcmcxLCBPbmUpKSksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0UmlnaHQgKERlcmVmT2YgKEluZGV4IChCQ0RTLCBTdWJ0cmFjdCAoQXJn MSwgMHgwQSkpKSwgMHgxMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVUZGKQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CRCwgMywgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBa ZXJvKQogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgwMEZGRkZGRiwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICBaMDA5IChCRjAwKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKERTWTApCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKE1hdGNoIChQYWNr YWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0sIE1FUSwgX1RfMCwgTVRSLCBaZXJvLCBaZXJvKSwgT25l cykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzEsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBEWTEwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcyLCBEU1kxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFowMEEgKEFyZzEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKERTWTEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChNYXRjaCAoUGFja2FnZSAoMHgwMikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfSwgTUVRLCBfVF8wLCBNVFIsIFplcm8sIFplcm8pLCBP bmVzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQXJnMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJn MiwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QkYwMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgxMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBCIChM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3RFcXVhbCAoQkYw MSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDA0KSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9uZSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfVFouVEhSTS5fVE1QICgpLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAw eDBBLCAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMCwgSW5kZXggKEJDRFMsIDB4MEIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJDRFMsIDB4MEIpKSwgQlVGRikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBBKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwRSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwQikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzIsIEJCQVIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFNoaWZ0TGVmdCAoQW5kIChCQkExLCAweDBGKSwgMHgwNCksIExvY2FsMSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoQW5kIChCQkEwLCAweDBGKSwg TG9jYWwxLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwNyAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQkJQRCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJFLCAzLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAs IFplcm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgX1RfMCkKICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgWjAwRiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwRyAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFowMEogKEFyZzIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSSAoQXJnMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChfVF8wLCAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSyAoQXJn MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9U XzAsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFowMEwgKEFyZzIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwTSAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAw eDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTiAo QXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFowME8gKEFyZzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwUCAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWjAwUSAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MTEpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChQSFNSICgweDBDLCBaZXJvKSwgQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgxMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgwQywgT25lKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDEzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAw UiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZG KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CRiwgMywgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAg IFN0b3JlIChUb0ludGVnZXIgKEFyZzEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5k IChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgX1RfMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgWjAwUyAoQkYwMCkK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgw MikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFowMFQgKEJGMDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBVIChCRjAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwVyAoQkYwMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIEJGMDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQkYwMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg QkYwMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQkYwMykKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChXTUJHLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChB cmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2Fs MCwgX1RfMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFowMFggKEJGMDApCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBZICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAx MDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJGMDEpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEJGMDIpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEJGMDMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CSCwgMywgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8zLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9UXzIsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X1RfMSwgWmVybykKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgwMEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKEJGMDAs IDB4MEYsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgX1Rf MSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgWmVybykpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQ SFNSICgweDFBLCBPbmUpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgT25lKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgxQiwgT25lKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgWE9yIChBbmQgKEJGMDAsIE9uZSksIE9uZSwgQkYwMCkK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIFBTV0Qp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUFdEMCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBXRDEsIEJMSzApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoUFdEMiwgQkxLMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDEsIF9UXzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8yLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoUFdEMiwgMHhGRikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoUEhTUiAoMHgxQSwgMHgwMiksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSICgweDFBLCBaZXJvKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMiwgT25lKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMQW5kIChQV0QyLCAweEZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBI U1IgKDB4MUIsIDB4MDIpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MUIsIFplcm8pLCBCVUZGKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgUFNXRCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUFdEMCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQV0QxLCBCTEswKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQV0QyLCBCTEsxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIF9UXzMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMywgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgxQSwgMHgwMyksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzMsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDFCLCAw eDAzKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwg MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQSFNSICgweDExLCBaZXJvKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQkxLMCwgV0VSMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEJMSzEsIFdFUjEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBXRVIzKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKFdFUkMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgU0JT USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTQlMwLCBC TEswKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNCUzEs IEJMSzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFNSICgweDEx LCBPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVy bywgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo QlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNS ICgweDExLCAweDAyKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAwMTAwMDAsIEJVRkYpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo V01CSSwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgw MEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzAp CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDEyLCAweDAy KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIEJMSzApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQkxLMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCTEsyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJMSzMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQSFNSICgweDEzLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEJMSzAsIFBSRDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkxLMSwg UFJENCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsyLCBQUkQ1KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJMSzMsIFBSRDYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgyMCwgUFJEMikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBQUkQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIFBSRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSRFQpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNCwgMHgwMiksIEJVRkYpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MTUsIDB4 MDIpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDcpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNiwgMHgwMiksIEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNywgMHgwMiks IEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MTgsIDB4MDIpLCBCVUZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxOSwgMHgwMiksIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAx MDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1RaKQogICAgewogICAgICAgIFRoZXJtYWxab25l IChUSFJNKQogICAgICAgIHsKICAgICAgICAgICAgTWV0aG9kIChfVE1QLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoXF9TQi5FQ09LKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFxfU0IuUENJMC5MUENCLkVD MC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENC LkVDMC5DVE1QLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXF9TQi5QQ0kw LkxQQ0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBZGQgKE11bHRpcGx5 IChMb2NhbDAsIDB4MEEpLCAweDBBQUMpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw QzNDKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2Qg KF9QU1YsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKFxfU0IuTU9ETCwgWmVybykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5aMDAwLCBPbmUpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBFOTQpCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRTYyKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlowMDAsIE9uZSkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEVDNikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBFNEUpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBOYW1lIChfUFNMLCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBcX1BSLkNQVTAKICAgICAgICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoX1RTUCwgMHgy OCkKICAgICAgICAgICAgTmFtZSAoX1RDMSwgMHgwMikKICAgICAgICAgICAgTmFtZSAoX1RDMiwg MHgwMykKICAgICAgICAgICAgTWV0aG9kIChfQ1JULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLk1PREwsIFplcm8pKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuWjAwMCwg T25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwRUIyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEU5NCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoXF9TQi5aMDAwLCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBFRTQpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwRTYyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1NCKQogICAgewog ICAgICAgIE5hbWUgKFBSMDAsIFBhY2thZ2UgKDB4MUIpCiAgICAgICAgewogICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICBP bmUsIAogICAgICAgICAgICAgICAgTE5LQiwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAg ICAgIExOS0MsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwM0ZG RkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgTE5LQiwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgw MDAxRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIExOS0MsIAog ICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAg ICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAgICAgICAgICAgIFpl cm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExO S0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAog ICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAg ICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFERkZG RiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0gsIAogICAgICAg ICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVybwogICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAg ICAgICAgICBMTktDLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw MURGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAg ICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFBRkZGRiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0EsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAg ICAgICAgICAgICAgIExOS0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBMTktE LCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUFGRkZGLCAKICAg ICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAg ICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFCRkZGRiwgCiAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgIExOS0csIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBMTktCLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUNGRkZG LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAg ICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUNGRkZGLCAKICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDFDRkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAg ICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAx OUZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBMTktFLCAKICAg ICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAo QVIwMCwgUGFja2FnZSAoMHgxQikKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwM0ZGRkYsIAogICAgICAgICAgICAg ICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw MDNGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAg ICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgx MwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwg CgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAg ICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDAwMkZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUZGRkZG LCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAweDE1CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAg ICBPbmUsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAx RkZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDE3 CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg MHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAg IDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUFGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgMHgwMDFBRkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAg WmVybywgCiAgICAgICAgICAgICAgICAweDE1CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFBRkZGRiwg CiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgMHgxMwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAg MHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDAwMUJGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFD RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAg ICAgICAgICAgICAgMHgxMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMAog ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAw eDAwMUNGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgWmVybywg CiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDE5RkZGRiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxNAogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChQUjAyLCBQYWNrYWdl ICgweDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAg ICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBMTktCLCAKICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICBMTktDLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAg ICBMTktELCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAg ICAgICAgTmFtZSAoQVIwMiwgUGFja2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg MHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIDB4MDMsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAg ICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFBSMDQsIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBMTktBLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAK ICAgICAgICAgICAgICAgIExOS0MsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIExOS0Qs IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBO YW1lIChBUjA0LCBQYWNrYWdlICgweDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAg ICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYs IAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAg ICAgICAgIDB4MTIKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgw MywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTMKICAgICAgICAg ICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFIwNSwgUGFja2FnZSAoMHgwNCkKICAgICAg ICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0Is IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJv CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAg ICAgICAgICAgTE5LRCwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKEFS MDUsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVy bywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAgICB9CiAg ICAgICAgfSkKICAgICAgICBOYW1lIChQUjA2LCBQYWNrYWdlICgweDA0KQogICAgICAgIHsKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LRCwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAg ICBMTktCLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktDLCAKICAgICAgICAgICAg ICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoQVIwNiwgUGFj a2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgIH0KICAgICAgICB9 KQogICAgICAgIE5hbWUgKFBSMDcsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgewogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAgICAg ICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAK ICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIExOS0Ms IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChBUjA3LCBQYWNrYWdlICgw eDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZG LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAg ICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBa ZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAg ICAgTmFtZSAoUFIwOCwgUGFja2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgTE5LRCwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAg ICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKEFSMDgsIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBa ZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1l IChQUjAxLCBQYWNrYWdlICgweDA2KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDA0RkZGRiwgCiAgICAgICAgICAg ICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0UsIAogICAgICAgICAgICAgICAgWmVybwog ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIExOS0UsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4 MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBMTktFLCAK ICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAg ICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LRSwgCiAgICAgICAgICAgICAgICBa ZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgMHgwMDA1RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAK ICAgICAgICAgICAgICAgIExOS0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4MDAwN0ZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBM TktHLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAg ICAgTmFtZSAoQVIwMSwgUGFja2FnZSAoMHgwMSkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAg IDB4MTAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFJTQSwgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgIHsKICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93 LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgIHszLDQsNSw2LDcsMTAsMTEsMTIsMTQsMTV9CiAg ICAgICAgfSkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTQikKICAgICAgICBBbGlhcyAoUFJTQSwg UFJTQykKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRCkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJT RSkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRikKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRykK ICAgICAgICBBbGlhcyAoUFJTQSwgUFJTSCkKICAgICAgICBOYW1lIChFQ09LLCBaZXJvKQogICAg ICAgIERldmljZSAoUENJMCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBBMDgiKSkKICAgICAgICAgICAgTmFtZSAoX0NJRCwgRWlzYUlkICgiUE5QMEEwMyIp KQogICAgICAgICAgICBOYW1lIChfQURSLCBaZXJvKQogICAgICAgICAgICBNZXRob2QgKF5CTjAw LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0JCTiwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChCTjAwICgpKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChfVUlELCBaZXJvKQogICAgICAgICAgICBN ZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIElmIChQSUNNKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoQVIwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDAp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSEJVUywgUENJX0Nv bmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgRmllbGQgKEhCVVMsIERXb3JkQWNjLCBOb0xv Y2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBFUEVOLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICwgICAxMSwgCiAgICAgICAgICAgICAgICBFUEJSLCAgIDIwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAgICAgICAgICAgICBN SEVOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICBN SEJSLCAgIDE4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE0KSwgCiAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgUEVHQSwgICAxLCAKICAgICAg ICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICBJR0RFLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICAgICAgICAgIFBYRU4sICAg MSwgCiAgICAgICAgICAgICAgICBQWFNaLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAy MywgCiAgICAgICAgICAgICAgICBQWEJSLCAgIDYsIAogICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MjgpLCAKICAgICAgICAgICAgICAgIERJRU4sICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgLCAgIDExLCAKICAgICAgICAgICAgICAgIERJQlIsICAgMjAsIAogICAgICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MzApLCAKICAgICAgICAgICAgICAgIElQRU4sICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgLCAgIDExLCAKICAgICAgICAgICAgICAgIElQQlIsICAgMjAsIAog ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTApLCAKICAgICAgICAgICAgICAgICAg ICAsICAgNCwgCiAgICAgICAgICAgICAgICBQTTBILCAgIDIsIAogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4NTEpLCAKICAgICAgICAgICAgICAgIFBNMUwsICAgMiwgCiAgICAgICAg ICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgUE0xSCwgICAyLCAKICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUyKSwgCiAgICAgICAgICAgICAgICBQTTJMLCAgIDIs IAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgIFBNMkgsICAgMiwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MyksIAogICAgICAgICAgICAgICAg UE0zTCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICBQ TTNILCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTQpLCAKICAgICAg ICAgICAgICAgIFBNNEwsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAg ICAgICAgICAgUE00SCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU1 KSwgCiAgICAgICAgICAgICAgICBQTTVMLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAy LCAKICAgICAgICAgICAgICAgIFBNNUgsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg1NiksIAogICAgICAgICAgICAgICAgUE02TCwgICAyLCAKICAgICAgICAgICAgICAg ICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICBQTTZILCAgIDIsIAogICAgICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NTcpLCAKICAgICAgICAgICAgICAgICAgICAsICAgNywgCiAgICAg ICAgICAgICAgICBIRU5BLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 NjIpLCAKICAgICAgICAgICAgICAgIFRVVUQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4NzApLCAKICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAg ICAgICBUTFVELCAgIDEyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg5KSwg CiAgICAgICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgR1RTRSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDhBKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBPcGVyYXRpb25SZWdpb24gKE1DSFQsIFN5c3RlbU1lbW9yeSwgMHhGRUQxMTAwMCwg MHhGRikKICAgICAgICAgICAgRmllbGQgKE1DSFQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFFKSwgCiAg ICAgICAgICAgICAgICBUMElTLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDVFKSwgCiAgICAgICAgICAgICAgICBUMUlTLCAgIDE2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweEVGKSwgCiAgICAgICAgICAgICAgICBFU0NTLCAgIDgKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBXb3JkQnVzTnVtYmVyIChSZXNvdXJjZVByb2R1Y2VyLCBN aW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAs ICAgICAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMEZGLCAg ICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAg ICAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAx MDAsICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICkKICAgICAg ICAgICAgICAgIERXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwg UG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAg ICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMENGNywgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwQ0Y4 LCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgVHlwZVN0YXRpYykK ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAweDBDRjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDBDRjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAxLCAg ICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg RFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUs IEVudGlyZVJhbmdlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8g R3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMDAwRDAwLCAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDBGRkZGLCAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRy YW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMEYzMDAsICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgLCwgLCBUeXBlU3RhdGljKQogICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBB MDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBC RkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAw eDAwMDIwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRk cmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkg KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFi bGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8v IEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDMDAwMCwgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDM0ZGRiwgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBU cmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBU eXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIs IFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDN0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQK ICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAg ICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4 ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgw MDBDODAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDBDQkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAg ICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwg QWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1v cnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNo ZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDQzAwMCwgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDRkZGRiwgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAv LyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5 LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVj ZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwK ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAg ICAgICAgICAgICAgICAgICAgMHgwMDBEMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgMHgwMDBEM0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZz ZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAg ICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWlu Rml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAg MHgwMDBENDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg MHgwMDBEN0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAg ICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICws ICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRN ZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBD YWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAg ICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBEODAwMCwgICAgICAg ICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQkZGRiwgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAg ICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVt b3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJv ZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0 ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5 CiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQzAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgMHgwMDBERkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBP ZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQog ICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwg TWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFM0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAg ICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg ICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdv cmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAg ICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFNDAwMCwgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFN0ZGRiwgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAw LCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1Jhbmdl TWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNl UHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFy aXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFODAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFQkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhp bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlv biBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0 aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGlj KQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29k ZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAg ICAgICAgMHgwMDBFQzAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDBFRkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAg ICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAg RFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZp eGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBGMDAwMCwg ICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBGRkZGRiwg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg ICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDEw MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1Jh bmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291 cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJl YWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51 bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHhERkZGRkZGRiwgICAgICAgICAvLyBSYW5nZSBN YXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xh dGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIExl bmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3Rh dGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAg ICAgICAgICAgMHhGMDAwMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgMHhGRUJGRkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAg ICAgICAgICAgICAgICAweDBFQzAwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1h eEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHhGRUQ0MDAw MCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHhGRUQ0NEZG RiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVz c1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICB9KQogICAgICAgICAgICBNZXRo b2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChQTTFMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKEJVRjAsIDB4N0MsIEMwTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEMwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0x TCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRG aWVsZCAoQlVGMCwgMHgwMzU4LCBDMFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBDMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTFIKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAs IDB4OTYsIEM0TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM0TE4pCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0xSCwgT25lKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwg MHgwNDI4LCBDNFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDNFJXKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTJMKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4QjAsIEM4TE4p CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM4TE4pCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0yTCwgT25lKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNEY4LCBDOFJX KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDOFJXKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChQTTJIKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4Q0EsIENDTE4pCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIENDTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoUE0ySCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNUM4LCBDQ1JXKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBDQ1JXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChQTTNMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4RTQsIEQwTE4pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIEQwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoUE0zTCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBD cmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNjk4LCBEMFJXKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBEMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQ TTNIKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEJVRjAsIDB4RkUsIEQ0TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ0 TE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0zSCwg T25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVs ZCAoQlVGMCwgMHgwNzY4LCBENFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBE NFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTRMKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4 MDExOCwgRDhMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDhMTikKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTRMLCBPbmUpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAw eDA4MzgsIEQ4UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ4UlcpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNEgpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTMyLCBEQ0xO KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEQ0xOKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNEgsIE9uZSkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4MDkwOCwgRENS VykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRENSVykKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBJZiAoUE01TCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDAxNEMsIEUwTE4pCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIEUwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoUE01TCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwOUQ4LCBFMFJXKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIElmIChQTTVIKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDE2NiwgRTRMTikKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgRTRMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChQTTVILCBPbmUpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBBQTgsIEU0UlcpCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFplcm8sIEU0UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SWYgKFBNNkwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdv cmRGaWVsZCAoQlVGMCwgMHgwMTgwLCBFOExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBFOExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KFBNNkwsIE9uZSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qml0RmllbGQgKEJVRjAsIDB4MEI3OCwgRThSVykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo WmVybywgRThSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoUE02SCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChC VUYwLCAweDAxOUEsIEVDTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEVDTE4p CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE02SCwgT25l KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAo QlVGMCwgMHgwQzQ4LCBFQ1JXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFQ1JX KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTBIKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDFC NCwgRjBMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRjBMTikKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTBILCBPbmUpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBE MTgsIEYwUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEYwUlcpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUMy LCBNMU1OKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUM2LCBN MU1YKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUNFLCBNMUxO KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMURDLCBNMk1OKQog ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUUwLCBNMk1YKQogICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUU4LCBNMkxOKQogICAgICAg ICAgICAgICAgU2hpZnRMZWZ0IChQWEJSLCAweDFBLCBNMU1YKQogICAgICAgICAgICAgICAgU2hp ZnRSaWdodCAoMHgxMDAwMDAwMCwgUFhTWiwgTG9jYWwwKQogICAgICAgICAgICAgICAgQWRkIChN MU1YLCBMb2NhbDAsIE0yTU4pCiAgICAgICAgICAgICAgICBBZGQgKFN1YnRyYWN0IChNMk1YLCBN Mk1OKSwgT25lLCBNMkxOKQogICAgICAgICAgICAgICAgU3VidHJhY3QgKE0xTVgsIE9uZSwgTTFN WCkKICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoVExVRCwgMHgxNCwgTTFNTikKICAgICAgICAg ICAgICAgIEFkZCAoU3VidHJhY3QgKE0xTVgsIE0xTU4pLCBPbmUsIE0xTE4pCiAgICAgICAgICAg ICAgICBSZXR1cm4gKEJVRjApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKFBOTFQs IEJ1ZmZlciAoMHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLyogMDAwMCAqLyAg ICAweDE1LCAweDIyLCAweDMyLCAweDQzLCAweDU0LCAweDY1LCAweDc3LCAweDg5LCAKICAgICAg ICAgICAgICAgIC8qIDAwMDggKi8gICAgMHg5OCwgMHhBOQogICAgICAgICAgICB9KQogICAgICAg ICAgICBNZXRob2QgKENSQkwsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFN0b3JlIChPciAoRGVyZWZPZiAoSW5kZXggKFBOTFQsIFplcm8pKSwgU2hpZnRM ZWZ0IChPciAoRGVyZWZPZiAoCiAgICAgICAgICAgICAgICAgICAgSW5kZXggKE9CQ0wsIDB4MDIp KSwgMHg4MCksIDB4MDgpKSwgXkdGWDAuQkxNMCkKICAgICAgICAgICAgICAgIFN0b3JlIChPciAo RGVyZWZPZiAoSW5kZXggKFBOTFQsIE9uZSkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAg ICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwMykpLCAweDgwKSwgMHgwOCkpLCBeR0ZY MC5CTE0xKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwg MHgwMikpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRl eCAoT0JDTCwgMHgwNCkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE0yKQogICAgICAgICAgICAg ICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwMykpLCBTaGlmdExlZnQgKE9y IChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwNSkpLCAweDgw KSwgMHgwOCkpLCBeR0ZYMC5CTE0zKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9m IChJbmRleCAoUE5MVCwgMHgwNCkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAg ICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwNikpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE00 KQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwNSkp LCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JD TCwgMHgwNykpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE01KQogICAgICAgICAgICAgICAgU3Rv cmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwNikpLCBTaGlmdExlZnQgKE9yIChEZXJl Zk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwOCkpLCAweDgwKSwgMHgw OCkpLCBeR0ZYMC5CTE02KQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRl eCAoUE5MVCwgMHgwNykpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAg ICAgICBJbmRleCAoT0JDTCwgMHgwOSkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE03KQogICAg ICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwOCkpLCBTaGlm dExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgw QSkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE04KQogICAgICAgICAgICAgICAgU3RvcmUgKE9y IChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwOSkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgK ICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwQikpLCAweDgwKSwgMHgwOCkpLCBe R0ZYMC5CTE05KQogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIF5HRlgwLkJMTVgpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKE9CQ0wsIFBhY2thZ2UgKDB4MEMpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4NTAsIAogICAgICAgICAgICAgICAgMHgzMiwgCiAgICAg ICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAgICAgIDB4MTQsIAogICAgICAgICAgICAgICAg MHgxRSwgCiAgICAgICAgICAgICAgICAweDI4LCAKICAgICAgICAgICAgICAgIDB4MzIsIAogICAg ICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAweDQ2LCAKICAgICAgICAgICAgICAg IDB4NTAsIAogICAgICAgICAgICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAweDY0CiAgICAg ICAgICAgIH0pCiAgICAgICAgICAgIERldmljZSAoUEVHUCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQVIwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUFIwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgRGV2aWNlIChWR0EpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25S ZWdpb24gKFZHQSwgUENJX0NvbmZpZywgWmVybywgMHg0MCkKICAgICAgICAgICAgICAgICAgICBG aWVsZCAoVkdBLCBXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUFZJRCwgICAxNiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFBESUQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBEVkNNLCAgIDIKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFBFR0EsIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIlVNQSBPbmx5IDogUmV0dXJuIDB4MDEi LCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJEaXNj cmV0ZSBWR0EgX1NUQSA6IFJldHVybiAweDBGIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QU0MsIFplcm8pCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJWR0EgX1BTMCIsIERl YnVnKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgX1BTQykKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgiVkdBIF9QUzMiLCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDMsIF9QU0MpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoIlZHQSBfRE9TIiwgRGVidWcpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MDMpLCBTV0lUKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQXJnMCwgRElTVykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNoaWZ0UmlnaHQgKEFuZCAoRElTVywgMHgwNCksIDB4MDIpLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFBIU1IgKDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RPRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBWSUQs IDB4MTBERSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgiblZpZGlhIFZHQSBfRE9EIiwgRGVidWcpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoR0kxNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxMTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEw MTAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFBhY2thZ2UgKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMTAsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDgwMDAwMTAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg4MDA4NzMzMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFNRCBWR0EgX0RPRCIsIERlYnVnKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAzKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MTAxMTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAxMDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAyMTAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoTENEKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMTEwKQogICAgICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQ0RBKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExDREEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiTENEIC0tIF9EU1MiLCBEZWJ1ZykK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfQkNMLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQk9XTikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFBFR0EsIFplcm8pKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT0JDTCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFBhY2thZ2UgKDB4MEMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgy OCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg0NiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg2NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQkNNLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChCT1dOLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU3VidHJhY3QgKERpdmlk ZSAoQXJnMCwgMHgwQSwgKSwgT25lKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQWNxdWlyZSAoXl5eXkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXl5eTFBDQi5FQzAuQkxWTCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXl5eTFBDQi5FQzAuTVVUMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU1lTLCAweDAzRTgpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE11bHRpcGx5IChBZGQgKExvY2FsMCwgT25lKSwgMHgxOCksIExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChMb2Nh bDEsIDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRiwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBeXl5eR0ZYMC5MQkVTKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExMZXNzIChPU1lTLCAweDA3RDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXl5XTUlE LkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweEM4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDUsIF5eXl5eV01JRC5XTUlR KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAw eDgwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9CUUMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCUlRO LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5IChB ZGQgKExvY2FsMCwgT25lKSwgMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQ1JUKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMTAw KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChDUlRBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENSVEEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiQ1JUIC0tIF9E U1MiLCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChIRE1JKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChQVklELCAweDEwREUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHg3MzMwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMjEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChIRE1BKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEhETUEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJv KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgiSERNSSAtLSBfRFNTIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIERldmljZSAoR0ZYMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAo X0FEUiwgMHgwMDAyMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25l LCBDTElEKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBJQklBKQogICAgICAgICAg ICAgICAgICAgIENSQkwgKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfRE9TLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MDcpLCBEU0VO KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RPRCwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoU0NJ UCAoKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBORElEKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChESURM LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFNEREwgKERJRDEpLCBESUQxKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChEREwyLCBaZXJvKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNEREwgKERJRDIpLCBESUQyKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChEREwzLCBaZXJvKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDMp LCBESUQzKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChEREw0LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDQpLCBESUQ0KQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVx dWFsIChEREw1LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDUpLCBESUQ1KQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChORElELCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgTmFtZSAoVE1QMSwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRgogICAgICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAw MDAsIERJRDEpLCBJbmRleCAoVE1QMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoVE1QMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKE5ESUQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoVE1QMiwgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAoMHgwMDAxMDAwMCwgRElEMSksIElu ZGV4IChUTVAyLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAw MDEwMDAwLCBESUQyKSwgSW5kZXggKFRNUDIsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoVE1QMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKE5ESUQsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTmFtZSAoVE1QMywgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkZGRkZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDMsIFpl cm8pKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIp LCBJbmRleCAoVE1QMywgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgw eDAwMDEwMDAwLCBESUQzKSwgSW5kZXggKFRNUDMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFRNUDMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChORElELCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKFRNUDQsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZG RkZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDQsIFplcm8pKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIpLCBJbmRleCAoVE1Q NCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBE SUQzKSwgSW5kZXggKFRNUDQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo T3IgKDB4MDAwMTAwMDAsIERJRDQpLCBJbmRleCAoVE1QNCwgMHgwMykpCiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoVE1QNCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChMR3JlYXRlciAoTkRJRCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChUTVA1LCBQYWNrYWdlICgweDA1KQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYKICAg ICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9y ICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDUsIFplcm8pKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIpLCBJbmRleCAoVE1QNSwgT25lKSkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQzKSwgSW5k ZXggKFRNUDUsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAw MTAwMDAsIERJRDQpLCBJbmRleCAoVE1QNSwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChPciAoMHgwMDAxMDAwMCwgRElENCksIEluZGV4IChUTVA1LCAweDA0KSkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChUTVA1KQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwCiAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEREMDEpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoRElEMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBbmQgKDB4RkZGRiwgRElEMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENERFMgKERJRDEp KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJB UCAoVFJUSSwgR0NERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENTVEUs IE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTkREUyAoRElEMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChOU1RF LCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweEMwMDAwMDAwKSwgMHhD MDAwMDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChOU1RFLCBDU1RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoREQwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9B RFIsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChESUQyLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBbmQgKDB4RkZG RiwgRElEMikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKENERFMgKERJRDIpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgVFJBUCAoVFJUSSwgR0NERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKENTVEUsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE5ERFMg KERJRDIpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoTlNURSwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJv KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFyZzAs IDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE5TVEUsIENTVEUpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX0JDTCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChQRUdBLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPQkNMKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MEMp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 NTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTQsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDI4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzIsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ2LCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTAsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY0CiAgICAgICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9CQ00sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChCT1dOLCBaZXJvKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFN1YnRy YWN0IChEaXZpZGUgKEFyZzAsIDB4MEEsICksIE9uZSksIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBY3F1aXJlICheXl5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXl5MUENCLkVDMC5CTFZMKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5eTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TWVMsIDB4MDNFOCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE11bHRp cGx5IChBZGQgKExvY2FsMCwgT25lKSwgMHgxOCksIExvY2FsMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExvY2FsMSwgMHhGRikpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHhGRiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgTEJFUykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TExlc3MgKE9TWVMsIDB4MDdENikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweEM4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwNSwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9CUUMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlJUTiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5IChBZGQgKExvY2FsMCwgT25lKSwg MHgwQSkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIERldmljZSAoREQwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9BRFIsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESUQzLCBaZXJvKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChBbmQgKDB4RkZGRiwgRElEMykpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKERJRDMsIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoU0NJUCAoKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENE RFMgKERJRDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRSQVAgKFRSVEksIEdDREQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEFuZCAoQ1NURSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MUYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE5E RFMgKERJRDMpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTlNURSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFy ZzAsIDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE5TVEUsIENTVEUpCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgRGV2aWNlIChERDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERJRDQsIFplcm8pKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEFuZCAoMHhGRkZGLCBESUQ0KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoRElENCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQ0REUyAoRElENCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBUCAoVFJUSSwgR0NERCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDU1RFLCAweDA4KSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTkREUyAoRElENCkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChOU1RFLCAweDA4KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAwMDApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEREMDUpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRElENSwgWmVy bykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwNSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQW5kICgweEZGRkYsIERJRDUpKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESUQ1LCBaZXJvKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChDRERTIChESUQ1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFQIChUUlRJLCBHQ0REKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENTVEUsIDB4MTApKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFEKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo U0NJUCAoKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChORERTIChESUQ1KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKE5TVEUsIDB4MTApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQW5kIChBcmcwLCAweEMwMDAwMDAwKSwgMHhDMDAwMDAwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChOU1RFLCBD U1RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoU0RETCwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKE5E SUQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFuZCAoQXJnMCwgMHgwRjBGKSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIE9yICgweDgwMDAwMDAwLCBMb2NhbDAsIExvY2FsMSkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESURMLCBMb2NhbDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREwyLCBMb2Nh bDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChEREwzLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw0LCBMb2NhbDApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw1LCBMb2NhbDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChM b2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChEREw2LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChEREw3LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw4LCBMb2NhbDApKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFpl cm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDRERTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChBbmQgKEFyZzAsIDB4MEYwRiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChaZXJvLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDFEKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQ0FETCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKENBTDIsIExvY2FsMCkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDQUwz LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoQ0FMNCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKENBTDUsIExvY2FsMCkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDQUw2LCBMb2NhbDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDFGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQ0FMNywgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKENBTDgsIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChORERTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MEYwRiksIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChaZXJvLCBMb2NhbDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkFE TCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoTkRMMiwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMMywgTG9jYWwwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMNCwgTG9jYWwwKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25l KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo TkRMNSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTkRMNiwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMNywgTG9jYWwwKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMOCwgTG9jYWww KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFNjb3BlICheXlBDSTApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChNQ0hQ LCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChNQ0hQ LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIAogICAgICAgICAgICAgICAg ICAgICAgICBUQVNNLCAgIDEwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4NjIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSUdEUCwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkK ICAgICAgICAgICAgICAgIEZpZWxkIChJR0RQLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTIp LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEdJ VkQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBHVU1BLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE0 KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAgICBH TUZOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4KSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QTQpLCAKICAgICAgICAgICAgICAg ICAgICBBU0xFLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE4 KSwgCiAgICAgICAgICAgICAgICAgICAgR1NTRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICBH U1NCLCAgIDE0LCAKICAgICAgICAgICAgICAgICAgICBHU0VTLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweEIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICAxMiwgCiAgICAgICAgICAgICAgICAgICAgQ0RWTCwgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHhCMiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweEI0KSwgCiAgICAgICAgICAgICAgICAgICAgTEJFUywgICA4LCAKICAgICAgICAgICAg ICAgICAgICBMQlBDLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eEJDKSwgCiAgICAgICAgICAgICAgICAgICAgQVNMUywgICAzMgogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSUdETSwgU3lzdGVtTWVtb3J5LCBBU0xC LCAweDIwMDApCiAgICAgICAgICAgICAgICBGaWVsZCAoSUdETSwgQW55QWNjLCBOb0xvY2ssIFBy ZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNJR04sICAgMTI4 LCAKICAgICAgICAgICAgICAgICAgICBTSVpFLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBP VkVSLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBTVkVSLCAgIDI1NiwgCiAgICAgICAgICAg ICAgICAgICAgVlZFUiwgICAxMjgsIAogICAgICAgICAgICAgICAgICAgIEdWRVIsICAgMTI4LCAK ICAgICAgICAgICAgICAgICAgICBNQk9YLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBETU9E LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMDApLCAKICAg ICAgICAgICAgICAgICAgICBEUkRZLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDU1RTLCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBDRVZULCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxMjApLCAKICAgICAgICAgICAgICAgICAgICBESURMLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBEREwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBE REwzLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw0LCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICBEREw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw2LCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICBEREw3LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw4LCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBDUERMLCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICBDUEwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEwzLCAgIDMyLCAKICAgICAgICAg ICAgICAgICAgICBDUEw0LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw1LCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBDUEw2LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw3 LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw4LCAgIDMyLCAKICAgICAgICAgICAgICAg ICAgICBDQURMLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUwyLCAgIDMyLCAKICAgICAg ICAgICAgICAgICAgICBDQUwzLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUw0LCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBDQUw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBD QUw2LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUw3LCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICBDQUw4LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOQURMLCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICBOREwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREwzLCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw0LCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICBOREw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw2LCAgIDMyLCAKICAgICAgICAg ICAgICAgICAgICBOREw3LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw4LCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBBU0xQLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBUSURY LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDSFBELCAgIDMyLCAKICAgICAgICAgICAgICAg ICAgICBDTElELCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDRENLLCAgIDMyLCAKICAgICAg ICAgICAgICAgICAgICBTWFNXLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBFVlRTLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBDTk9ULCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBO UkRZLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMDApLCAK ICAgICAgICAgICAgICAgICAgICBTQ0lFLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEdFRkMs ICAgNCwgCiAgICAgICAgICAgICAgICAgICAgR1hGQywgICAzLCAKICAgICAgICAgICAgICAgICAg ICBHRVNGLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwNCks IAogICAgICAgICAgICAgICAgICAgIFBBUk0sICAgMzIsIAogICAgICAgICAgICAgICAgICAgIERT TFAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDMwMCksIAog ICAgICAgICAgICAgICAgICAgIEFSRFksICAgMzIsIAogICAgICAgICAgICAgICAgICAgIEFTTEMs ICAgMzIsIAogICAgICAgICAgICAgICAgICAgIFRDSEUsICAgMzIsIAogICAgICAgICAgICAgICAg ICAgIEFMU0ksICAgMzIsIAogICAgICAgICAgICAgICAgICAgIEJDTFAsICAgMzIsIAogICAgICAg ICAgICAgICAgICAgIFBGSVQsICAgMzIsIAogICAgICAgICAgICAgICAgICAgIENCTFYsICAgMzIs IAogICAgICAgICAgICAgICAgICAgIEJMTTAsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJM TTEsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTIsICAgMTYsIAogICAgICAgICAgICAg ICAgICAgIEJMTTMsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTQsICAgMTYsIAogICAg ICAgICAgICAgICAgICAgIEJMTTUsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTYsICAg MTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTcsICAgMTYsIAogICAgICAgICAgICAgICAgICAg IEJMTTgsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTksICAgMTYsIAogICAgICAgICAg ICAgICAgICAgIEJMTVgsICAgMTYwLCAKICAgICAgICAgICAgICAgICAgICBDUEZNLCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBFUEZNLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBQTFVU LCAgIDU5MiwgCiAgICAgICAgICAgICAgICAgICAgUEZNQiwgICAzMiwgCiAgICAgICAgICAgICAg ICAgICAgQ0NEViwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAgUENGVCwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NDAwKSwgCiAgICAgICAgICAgICAgICAg ICAgR1ZEMSwgICA0OTE1MiwgCiAgICAgICAgICAgICAgICAgICAgUEhFRCwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgQkREQywgICAyMDQ4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTmFtZSAoREJUQiwgUGFja2FnZSAoMHgxNSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAweDA3LCAKICAgICAgICAg ICAgICAgICAgICAweDM4LCAKICAgICAgICAgICAgICAgICAgICAweDAxQzAsIAogICAgICAgICAg ICAgICAgICAgIDB4MEUwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgzRiwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMUM3LCAKICAgICAgICAgICAgICAgICAgICAweDBFMDcsIAogICAgICAgICAg ICAgICAgICAgIDB4MDFGOCwgCiAgICAgICAgICAgICAgICAgICAgMHgwRTM4LCAKICAgICAgICAg ICAgICAgICAgICAweDBGQzAsIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg ICAgIDB4NzAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHg3MDA3LCAKICAgICAgICAgICAgICAg ICAgICAweDcwMzgsIAogICAgICAgICAgICAgICAgICAgIDB4NzFDMCwgCiAgICAgICAgICAgICAg ICAgICAgMHg3RTAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoQ0RD VCwgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHhFNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDE0MAogICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhERSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDE0RAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgMHhERSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDE0RAogICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4REUsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxNEQKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoU1VDQywg T25lKQogICAgICAgICAgICAgICAgTmFtZSAoTlZMRCwgMHgwMikKICAgICAgICAgICAgICAgIE5h bWUgKENSSVQsIDB4MDQpCiAgICAgICAgICAgICAgICBOYW1lIChOQ1JULCAweDA2KQogICAgICAg ICAgICAgICAgTWV0aG9kIChHU0NJLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoR0JEQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIFpl cm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwNjc5LCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEdFU0YsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAyNDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUEFSTSwgMHhFRkZGMDAwMCwgUEFSTSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUEFSTSwgU2hpZnRMZWZ0IChEZXJlZk9mIChJ bmRleCAoREJUQiwgSUJUVCkpLCAweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQlRULCBQQVJNLCBQQVJN KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo SVBTQywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCBTaGlmdExl ZnQgKElQQVQsIDB4MDgpLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChQ QVJNLCAweDAxMDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUEFSTSwg U2hpZnRMZWZ0IChMSURTLCAweDEwKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFkZCAoUEFSTSwgMHgwMDAxMDAwMCwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChQQVJNLCBTaGlmdExlZnQgKElCSUEsIDB4MTQpLCBQQVJNKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSVRWRiwgUEFSTSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCBTaGlmdExlZnQgKElUVk0sIDB4MDQpLCBQ QVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDcpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoR0lWRCwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAoUEFSTSwgT25l LCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBBUk0sIFNoaWZ0TGVmdCAo R01GTiwgT25lKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCAw eDE4MDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUEFSTSwgU2hpZnRM ZWZ0IChJRE1TLCAweDExKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChT aGlmdExlZnQgKERlcmVmT2YgKEluZGV4IChEZXJlZk9mIChJbmRleCAoQ0RDVCwgSFZDTykpLCBD RFZMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSksIDB4MTUpLCBQQVJNLCBQQVJN KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKElTU0MpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KFBBUk0sIDB4MDMsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MEIpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoS1NWMCwgUEFS TSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChLU1YxLCBHRVNGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChDUklUKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChTQkNCLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgWmVybykp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdF U0YsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0Mp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEdFU0YsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwNSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDYpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5k IChQQVJNLCAweDBGKSwgSVRWRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChT aGlmdFJpZ2h0IChBbmQgKFBBUk0sIDB4RjApLCAweDA0KSwgSVRWTSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEdFU0YsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQQVJNLCBaZXJvKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQ0xJRCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQg KDB4ODAwMDAwMDAsIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKENMSUQsIDB4MEYsIENMSUQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMSUQgKENMSUQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDgpKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDA5KSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChQQVJN LCAweEZGLCBJQlRUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdF U0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQSkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAo UEFSTSwgMHhGRiwgSVBTQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNo aWZ0UmlnaHQgKFBBUk0sIDB4MDgpLCAweEZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0s IDB4MDgpLCAweEZGLCBJUEFUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3Jl bWVudCAoSVBBVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0sIDB4MTQpLCAweDA3LCBJQklBKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQikpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU2hpZnRSaWdodCAoUEFS TSwgT25lKSwgT25lLCBJRjFFKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo UEFSTSwgMHgwMDAxRTAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChTaGlmdFJpZ2h0IChQQVJNLCAweDBEKSwgMHgw RiwgSURNUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0sIDB4MTEpLCAweDBGLCBJ RE1TKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0Mp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEdFU0YsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDExKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNoaWZ0TGVmdCAoTElEUywgMHgwOCks IFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKFBBUk0sIDB4MDEwMCwgUEFS TSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDEyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoUEFSTSwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTaGlmdFJpZ2h0IChQQVJNLCBPbmUpLCBP bmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgSVNTQykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQ1JJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIElTU0MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgxMykpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MTQpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFBBUk0s IDB4MEYsIFBBVlApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VT RikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VGQywgMHgwNCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0JEQSAoKSwgR1hGQykKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFRkMsIDB4 MDYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNCQ0IgKCksIEdYRkMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgR0VGQykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lT KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHU1NFKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBTQ0lFKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFBEUkQsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3Qg KERSRFkpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKEFTTFApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExOb3QgKERSRFkpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoUFNUUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBJZiAoTEdyZWF0ZXIgKENTVFMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKEFTTFApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExFcXVhbCAoQ1NUUywgMHgwMykpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChHTk9ULCAyLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChQRFJEICgpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwg Q0VWVCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgQ1NUUykKICAgICAgICAgICAg ICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChDSFBELCBaZXJvKSwgTEVxdWFsIChBcmcxLCBaZXJv KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9y IChMR3JlYXRlciAoT1NZUywgMHgwN0QwKSwgTExlc3MgKE9TWVMsIDB4MDdENikpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFBD STAsIEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOb3RpZnkgKEdGWDAsIEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoR0ZYMCwgMHg4MCkK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChHSERTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUSURYKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoR05PVCAoT25lLCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEdMSUQsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENMSUQpCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChHTk9UICgweDAyLCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEdEQ0ssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENEQ0spCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChHTk9UICgweDA0LCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKFBBUkQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKEFSRFkpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKEFTTFApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExOb3QgKEFSRFkpKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQUlOVCwgMiwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoQW5kIChU Q0hFLCBTaGlmdExlZnQgKE9uZSwgQXJnMCkpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKFBBUkQgKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENQRk0pCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQ1BGTSwgMHgwRiwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChFUEZNLCAweDBGLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIE9uZSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTG9jYWwxLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA2LCBQ RklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDEsIDB4MDgpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUEZJVCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFBGSVQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDEsIDB4MDgp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDgsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKExvY2FsMSwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9u ZSwgUEZJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDA2LCBQRklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwOCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTG9jYWwxLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUEZJ VCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwxLCAweDA2KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDYsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUEZJVCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAoUEZJVCwgMHgwNywgUEZJVCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBGSVQsIDB4ODAw MDAwMDAsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBBU0xDKQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCBPbmUp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRGl2aWRlIChNdWx0aXBseSAoQXJnMSwgMHhGRiksIDB4NjQsICksIEJDTFApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoQkNMUCwgMHg4MDAwMDAwMCwgQkNMUCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBBU0xDKQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgWmVy bykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzEsIEFMU0kpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9uZSwgQVNMQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExCUEMpCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoU0NJUCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChPVkVSLCBaZXJvKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTE5vdCAoR1NNSSkpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUDBQMSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMCkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQVIwMSkKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUFIwMSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMUENCKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAwKQogICAgICAgICAgICAgICAgU2Nv cGUgKFxfU0IpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChQQ0kwLkxQQ0IuTFBDMSwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAg ICAgICAgICAgICBGaWVsZCAoUENJMC5MUENCLkxQQzEsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBBUkMsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBCUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBD UkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBEUkMsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFBFUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBGUkMsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBHUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBI UkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY5KSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAg ICAgIFBVTUUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBETUUsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDZCKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBDSUIsICAgMgog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChMTktBKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCBP bmUpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4ODAsIFBBUkMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZl TG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MSwzLDQsNSw2 LDcsMTAsMTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMQSwgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExBLCBP bmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoT25lLCBBbmQgKFBBUkMsIDB4 MEYpLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExBKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T UlMsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgT25lLCBJUlEwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBBUkMpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoUEFSQywgMHg4MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChM TktCKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChf VUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDgwLCBQQlJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWws IEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezEs Myw0LDUsNiw3LDExLDEyLDE0LDE1fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEIsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UlRMQiwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE9uZSwgQW5kIChQ QlJDLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRM QikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIE9uZSwgSVJRMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQQlJDKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKFBCUkMsIDB4ODApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERl dmljZSAoTE5LQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoX1VJRCwgMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHg4MCwgUENSQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEg KExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsxLDMsNCw1LDYsNywxMCwxMiwxNCwxNX0KICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChS VExDLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFy ZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKFJUTEMsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChPbmUs IEFuZCAoUENSQywgMHgwRiksIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFJUTEMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCBPbmUs IElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUENSQykKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChQQ1JDLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBEZXZpY2UgKExOS0QpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X0RJUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBEUkMpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7MSwzLDQsNSw2LDcsMTEsMTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoUlRMRCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxv dywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChSVExELCBPbmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVm dCAoT25lLCBBbmQgKFBEUkMsIDB4MEYpLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChSVExEKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJn MCwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0 IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBEUkMpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUERSQywgMHg4MCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgRGV2aWNlIChMTktFKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA1KQogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQRVJDKQogICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgezEsMyw0LDUsNiw3LDEwLDEyLDE0LDE1fQogICAgICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKFJUTEUsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBB Y3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRMRSwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKE9uZSwgQW5kIChQRVJDLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUlRMRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEFyZzAsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRS aWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVt ZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQ RVJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBFUkMsIDB4ODApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIERldmljZSAoTE5LRikKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNikKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUEZSQykKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsxLDMsNCw1LDYsNywxMSwxMiwxNCwxNX0KICAgICAg ICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JT LCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChSVExGLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAge30KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEYsIE9uZSwgSVJRMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRMZWZ0IChPbmUsIEFuZCAoUEZSQywgMHgwRiksIElSUTApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl V29yZEZpZWxkIChBcmcwLCBPbmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgUEZSQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQRlJDLCAweDgwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0cpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBG IikpCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDcpCiAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBHUkMp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MSwzLDQsNSw2LDcsMTAsMTIsMTQsMTV9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMRywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExHLCBPbmUsIElSUTApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoT25lLCBBbmQgKFBHUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExHKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChMb2NhbDAsIFBHUkMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUEdSQywgMHg4 MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChMTktIKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA4KQogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQSFJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hh cmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezEsMyw0LDUsNiw3LDExLDEy LDE0LDE1fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEgsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRMSCwgT25lLCBJUlEw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE9uZSwgQW5kIChQSFJDLCAweDBGKSwgSVJR MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRMSCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwwLCBQSFJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBI UkMsIDB4ODApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChMUEMwLCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAg ICAgRmllbGQgKExQQzAsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MCksIAogICAgICAgICAg ICAgICAgICAgIElPRDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSU9EMSwgICA4LCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0OCksIAogICAgICAgICAgICAgICAg ICAgIFowMFosICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QjAp LCAKICAgICAgICAgICAgICAgICAgICBSQUVOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAsICAgMTMsIAogICAgICAgICAgICAgICAgICAgIFJDQkEsICAgMTgKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKERNQUMpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDIwMCIpKQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhp bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFs aWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAgICAgICAgICAv LyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgxLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwODEsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDExLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwOTMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA5MywgICAgICAgICAgICAgLy8gUmFu Z2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAg ICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQsICAgICAgICAg ICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDBDMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMEMwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRp YmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOF8xNiwgKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgezR9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBEZXZpY2UgKEhQRVQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDEwMyIpKQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9DSUQsIEVpc2FJZCAoIlBOUDBDMDEiKSkKICAgICAgICAgICAgICAgICAgICBO YW1lIChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkT25seSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkVEMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXJFcXVh bCAoT1NZUywgMHgwN0QxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEhQQUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEhQQUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoSFBBRSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwg MHgwNCwgSFBUMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEhQQVMs IE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDEwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoSFBBUywg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDIwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoSFBBUywg MHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDMwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgRGV2aWNlIChJUElDKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkKICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyNCwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDI0LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDI4LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjgsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw MkMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAyQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzMCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDMwLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDM0LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwMzQsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMzgsICAgICAgICAgICAgIC8v IFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzOCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAzQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDNDLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5n dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEEwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQTAs ICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwQTQsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBNCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBB bGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBOCwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMEE4LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEFDLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQUMsICAgICAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwQjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDBCMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCNCwgICAgICAgICAgICAgLy8gUmFu Z2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEI0LCAgICAgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg ICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMEI4LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwQjgsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQkMsICAgICAgICAgICAg IC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCQywgICAg ICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDREMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwNEQwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdu bWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBM ZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezJ9CiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2Ug KE1BVEgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwNCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291 cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBGMCwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MEYwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgezEzfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMRFJDKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAyRSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDJFLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDYxLCAgICAgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjEsICAgICAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwNjMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDA2MywgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1l bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2NSwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDY1 LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDY3LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjcsICAgICAgICAgICAgIC8vIFJhbmdlIE1h eGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8g QWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA2RiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWlu aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDcwLCAgICAgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDgwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwODAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwOTIsICAgICAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA5MiwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDBCMiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMEIyLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjgwLCAgICAgICAgICAg ICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2ODAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDA0ODAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDQ4MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhG RkZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEw MDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MTAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4ODAsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTE4MCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMTgwLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgxNjRFLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDE2NEUsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZFMDAsICAgICAgICAgICAgIC8v IFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkUwMCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDQwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwNDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwgICAgICAgICAgICAgICAvLyBMZW5n dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoUlRDKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBCMDAi KSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNzAsICAgICAgICAgICAgIC8vIFJhbmdl IE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAg ICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHs4fQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgRGV2aWNlIChUSU1SKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAxMDAiKSkKICAgICAgICAgICAgICAgICAgICBO YW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwNDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDA0MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA1MCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDUwLCAgICAg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEw LCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwNCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgezB9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKENJUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9ISUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKE9TWVMsIDB4MDdENikp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgyMzEwQTM1QykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgyMDEwQTM1QykKICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVn aW9uIChXQklPLCBTeXN0ZW1JTywgMHgyRSwgMHgwMikKICAgICAgICAgICAgICAgICAgICBGaWVs ZCAoV0JJTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElORFgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIERBVEEsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TXV0ZXggKFdCTVgsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgSW5kZXhGaWVsZCAoSU5EWCwg REFUQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA3KSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIExETiwgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFDVFIsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDYwKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIElPQUgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElPQUwsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIElOVFIsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChFTkZHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoV0JNWCwgMHhGRkZGKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgSU5EWCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzAsIERBVEEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKEVYRkcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChXQk1YKQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFDVFIsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEQsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9ESVMgKCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQ0lSSSwgWmVybykpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfRElTICgpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywgMHgwN0Q2 KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FI KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUwpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoMHgwMykK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElOVFIp CiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FIKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgWjAwWikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KFBSUzEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2MDAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNjAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDYyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2MjAsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgyMCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezR9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAo KQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChQUlMyLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDYyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAgIC8v IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywgMHgwN0Q2KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChQUlMyKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChQUlMxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChEQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1h eGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgezd9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgICAgIE5hbWUgKENSUzEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYwMCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYwMCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQ1JTMiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw NjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5v RmxhZ3MgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoMHgwMykKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFDVFIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3Mg KE9TWVMsIDB4MDdENikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDUlMyKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JT MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoRENSUykKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChPU1lTLCAweDA3RDYpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEFyZzAsIDB4MDIsIElPMUwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDMsIElPMUgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVXb3JkRmllbGQgKEFyZzAsIDB4MDksIElSUVgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaW5kU2V0UmlnaHRCaXQgKElSUVgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAo MHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJTlRSKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgSU5UUikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJTzFILCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElPMUwsIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1RS KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAw eDAyLCBBRDFMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChB cmcwLCAweDAzLCBBRDFIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChBcmcwLCAweDBBLCBBRDJMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChBcmcwLCAweDBCLCBBRDJIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDExLCBJUlFNKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlFNLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVO RkcgKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRS KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFEMUgsIElPQUgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUQxTCwgSU9BTCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBF WEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElOVFIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQUQySCwgSU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChBRDJMLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwg QUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgWjAwWikKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2 aWNlIChFQzApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwOSIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2Miwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDYyLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDY2LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjYsICAgICAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0dQRSwgMHgxOCkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChTRUwwLCAweEYwKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KEJGTEcsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUkVHLCAyLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEVDT0spCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFplcm8sIEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJl IChNVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywg Ukc1OSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCVEVOLCBCTFRIKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eXl5XTEFOLCBXTEFOKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQ1BMRSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChQSFNSIChaZXJvLCBaZXJvKSwgRE9GRikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTGVzcyAoT1NZUywgMHgwN0Q2KSwgTE5vdEVx dWFsIChPU1lTLCAweDAzRTgpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKFBFR0EpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChNVVQxLCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTFZMLCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTExlc3MgKExvY2FsMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERlcmVmT2YgKElu ZGV4IChQTkxULCBMb2NhbDEpKSwgXl5eR0ZYMC5CQ0xQKSkge30KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5HRlgwLlBBUkQgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChQTkxULCBM b2NhbDEpKSwgXl5eR0ZYMC5CQ0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoXl5eR0ZYMC5CQ0xQLCAweDgwMDAwMDAwLCBeXl5HRlgwLkJDTFApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBeXl5HRlgwLkFTTEMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlIChMQW5kICheXl5HRlgwLkFTTEMs IExvY2FsMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBeXl5HRlgwLkxCUEMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChFUkFNLCBFbWJlZGRlZENvbnRyb2wsIFplcm8sIDB4RkYpCiAg ICAgICAgICAgICAgICAgICAgRmllbGQgKEVSQU0sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgwNCksIAogICAgICAgICAgICAgICAgICAgICAgICBDTUNNLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBDTUQxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDTUQy LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDTUQzLCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxOCksIAogICAgICAgICAgICAgICAgICAgICAg ICBTTVBSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTVNULCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBTTUFELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTUNN LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTUQwLCAgIDI1NiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEJDTlQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNNQUEsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJBVEQsICAgMTYsIAogICAgICAgICAgICAgICAg ICAgICAgICBBQ0RGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg0MSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDUsIAogICAgICAgICAg ICAgICAgICAgICAgICBGTFM0LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg0MiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHg0QyksIAogICAgICAgICAgICAgICAgICAgICAgICBBUkNELCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBET0NLLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICBMQU5DLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBMSURTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDUlRTLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MSksIAogICAgICAgICAgICAg ICAgICAgICAgICBCTFZMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg1MyksIAogICAgICAgICAgICAgICAgICAgICAgICBET0ZGLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1OCksIAogICAgICAgICAgICAgICAg ICAgICAgICBDVE1QLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBSRzU5LCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIAogICAgICAgICAg ICAgICAgICAgICAgICBXTEFOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBCTFRILCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDUExFLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBXTFNULCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICAgICBCTFRTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBTVDNHLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBNTlNULCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBFRDNHLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg2MyksIAogICAgICAgICAgICAgICAgICAgICAgICBUSjg1LCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBCQlNULCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDUsIAogICAgICAgICAgICAgICAgICAgICAgICBWR0FGLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBXSU43LCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3MCksIAogICAgICAg ICAgICAgICAgICAgICAgICBCVE1ELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRT LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRGLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICBCQVRGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMs IAogICAgICAgICAgICAgICAgICAgICAgICBNQkRYLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBNQkFELCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRDLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBM SU9OLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3Nyks IAogICAgICAgICAgICAgICAgICAgICAgICBCQTFDLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBNQ1lDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTVRNUCwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE1EQVQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBNQ1VSLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTUJSTSwgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE1CVkcsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBN UlRGLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTU1FUiwgICA4LCAKICAgICAgICAg ICAgICAgICAgICAgICAgQkEyQywgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgTEZDQywg ICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJUU04sICAgMTYsIAogICAgICAgICAgICAg ICAgICAgICAgICBCVERDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlREViwgICAx NiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJUTU4sICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDkzKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJU U1QsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDlEKSwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9TVFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweEEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCTUQs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCVFMsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEFCRkMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwg CiAgICAgICAgICAgICAgICAgICAgICAgIEFCRFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEFCQUQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCQ0csICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFC VFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE4KSwg CiAgICAgICAgICAgICAgICAgICAgICAgIEFDWUMsICAgMTYsIAogICAgICAgICAgICAgICAgICAg ICAgICBBVE1QLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQURBVCwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEFCQ1IsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBBQlJNLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQUJWRywgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEFSVEYsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBB TUVSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhCOCks IAogICAgICAgICAgICAgICAgICAgICAgICBBRkNDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgQUJTTiwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCREMsICAgMTYsIAog ICAgICAgICAgICAgICAgICAgICAgICBBQkRWLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAg ICAgQUJNTiwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 RDApLCAKICAgICAgICAgICAgICAgICAgICAgICAgRUJQTCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDEpLCAKICAgICAgICAgICAgICAgICAgICAgICAg UFdSRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDIp LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICA2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgVkFVWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4RDYpLCAKICAgICAgICAgICAgICAgICAgICAgICAgREJQTCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RTApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgREVTUCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgRFRTVCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgREUwTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUw SCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUxTCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICAgICAgREUxSCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUyTCwgICA4 LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUySCwgICA4LCAKICAgICAgICAgICAgICAgICAg ICAgICAgREUzTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUzSCwgICA4LCAKICAg ICAgICAgICAgICAgICAgICAgICAgREU0TCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAg REU0SCwgICA4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNdXRl eCAoTVVUMSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBNdXRleCAoTVVUMCwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEFQT0wsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgREJQTCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgRUJQTCkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKFBTVEEsIFplcm8pCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChDUE9MLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUFNUQSwgWmVybykpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM Tm90RXF1YWwgKEVDT0ssIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQT0wgKEFyZzApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUFNUQSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTIwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKE1V VDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNNU1QsIDB4 NDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChTTUFBLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU01TVCwg MHhCRiwgU01TVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBX UkUsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBXUkUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMiwgQkZMRykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQT0wgKE9uZSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDE2KSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoU01TVCwgMHhCRiwgU01TVCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIF5eXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQkFUMSwgMHg4MCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIF5eXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1Ew OSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChFQ09LKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUFNUQSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5eXl5CQVQxLlowMDEgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlm eSAoQUNBRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxRjQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKEJBVDEsIDB4ODApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoXl5eXkJBVDEuQlRDSCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eQkFUMS5VQklG ICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChCQVQxLCAweDgxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBeXl5eQkFUMS5CVENI KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoVU5NRikKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFVOTUYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQSFNSIChPbmUsIE9uZSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUThDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBETUUpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChaZXJvLCBQVU1FKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwg RFRZRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgVEhUTCkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4RCwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBUSFRMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBQVU1F KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBQRE1FKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTBELCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5 IChTTFBCLCAweDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfUTBFLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSVUwgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsICheXl5QRUdQLlZHQS5QVklELCAweDEwREUpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Tm90aWZ5ICheXl5QRUdQLlZHQSwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJV TCAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5eXkdGWDAuR0hEUyAoWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTkwLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXl5eXldNSUQuV01J USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTkxLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDIsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFdNSUQsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E5MiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBeXl5eV01JRC5XTUlRKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ROTMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwNCwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAo V01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQlJVRCwgWmVybykKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9ROEUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4NiwgQlJVRCkKICAgICAgICAgICAg ICAgICAgICAgICAgX1E4RiAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg QlJVRCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E4RiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKE9TWVMsIDB4MDNFOCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywg MHgwN0Q2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDUsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2xlZXAgKDB4QzgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKF5eXkdGWDAuQkNMUCwgMHhGRiwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExHcmVhdGVyIChMb2Nh bDAsIERlcmVmT2YgKEluZGV4IChQTkxULCBMb2NhbDEpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1l bnQgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJSVUQsIDB4ODYpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExMZXNzIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1l bnQgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExvY2FsMCwgWmVybykpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeXl5HRlgwLlBBUkQgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKFBOTFQsIExvY2FsMSkpLCBeXl5H RlgwLkJDTFApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKF5eXkdGWDAuQkNM UCwgMHg4MDAwMDAwMCwgXl5eR0ZYMC5CQ0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAyLCBeXl5HRlgwLkFTTEMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDUsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoTEFuZCAoXl5eR0ZYMC5BU0xDLCBMb2NhbDIpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIF5eXkdGWDAuTEJQQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGVjcmVtZW50IChMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAzLCBCT1dOKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoTVVU MSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJMVkwsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoUEVHQSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eXkdGWDAuQ0JM ViwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTG9jYWwwLCAw eEZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QlJVRCwgMHg4NikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3NFcXVhbCAoTG9jYWwwLCAweDVBKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDAsIDB4MEEsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5ICheXl5HRlgwLkREMDIsIDB4ODYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMR3JlYXRlckVxdWFsIChMb2NhbDAsIDB4MEEpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdWJ0cmFjdCAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5v dGlmeSAoXl5eR0ZYMC5ERDAyLCAweDg3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTUsIExvY2FsMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChMb2NhbDEsIDB4NTUpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5XTUlELlowMDQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwwLCBCUlROKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ROTQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOSwgXl5eXldNSUQuV01J USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MikKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTk1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDgsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFdNSUQsIDB4ODIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4QSwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBCLCBeXl5eV01JRC5XTUlRKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ROEIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwQywgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAo V01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTlELCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo Xl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEYsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOb3RpZnkgKFdNSUQsIDB4ODApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E5RSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEwLCBe Xl5eV01JRC5XTUlRKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAw eDgwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9RQTcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01J RC5CQUVGLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgxMSwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUUE4LCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTIsIF5eXl5XTUlE LldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFdNSUQsIDB4ODApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUzJLKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAzMDMiKSkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwNjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAv LyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2 NCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDY0LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChFZGdlLCBBY3Rp dmVIaWdoLCBFeGNsdXNpdmUsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxfQogICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbiAoMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRml4ZWRJTyAoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDYwLCAgICAgICAgICAgICAvLyBBZGRyZXNzCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aXhlZElPICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjQsICAgICAgICAg ICAgIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7MX0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUzJNKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlNZTjFCMjAiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ0lELCBQYWNrYWdlICgweDAzKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRWlzYUlkICgiU1lOMUIwMCIpLCAK ICAgICAgICAgICAgICAgICAgICAgICAgRWlzYUlkICgiU1lOMDAwMiIpLCAKICAgICAgICAgICAg ICAgICAgICAgICAgRWlzYUlkICgiUE5QMEYxMyIpCiAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJUlEgKEVkZ2UsIEFjdGl2ZUhp Z2gsIEV4Y2x1c2l2ZSwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezEyfQogICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIERldmljZSAoVVNCMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMDFEMDAwMCkKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoVTFDUywgUENJX0NvbmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZp ZWxkIChVMUNTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBVMUVOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBVMUVOKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgVTFFTikKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBE ZXZpY2UgKFVTQjEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDAxRDAwMDEpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdp b24gKFUxQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAo VTFDUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgVTFFTiwgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIFUxRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEhVQjApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAg ICAgICAgICAgICAgICAgICBEZXZpY2UgKEJMVEgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAyKQogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfVVBDLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBEZXZpY2UgKFVTQjIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDAxRDAwMDIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoVVNCUikK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFEMDAwMykKICAg ICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgMHgyMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVTFDUywgUENJ X0NvbmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZpZWxkIChVMUNTLCBEV29yZEFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBVMUVOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9Q U1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoT25lLCBVMUVOKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoWmVybywgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEVIQzEpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDcpCiAgICAgICAg ICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MEQsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICBEZXZpY2UgKEhVQjApCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAgICAgICAgICAgICAgICAg ICBEZXZpY2UgKFBSVDEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCBPbmUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBEZXZpY2UgKENSRFIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgRGV2aWNlIChQUlQzKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMykKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoVFZVQykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KE1PREwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwNSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX1VQQywgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICAgICAgICAg ICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNl IChXTFVDKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQURSLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTU9ETCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBEZXZpY2UgKFdFQkMpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfVVBDLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZp Y2UgKFVTQjMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAx QTAwMDApCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAgICAg IDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24g KFUxQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAoVTFD UywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgVTFFTiwgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9uZSwgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIFUxRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChV U0I0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUEwMDAx KQogICAgICAgICAgICAgICAgRGV2aWNlIChIVUIwKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9BRFIsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgRGV2aWNl IChGUFNEKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VQQywgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0I1KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUEwMDAyKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEVIQzIpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxQTAwMDcpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJX LCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MEQsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIERldmljZSAoSERFRikKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMDFCMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJl Z2lvbiAoSERBUiwgUENJX0NvbmZpZywgMHg0QywgMHgxMCkKICAgICAgICAgICAgICAgIEZpZWxk IChIREFSLCBXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIERDS0EsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MDEpLCAKICAgICAgICAgICAgICAgICAgICBEQ0tNLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgICAgICAgICAgRENLUywgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMTUsIAogICAgICAgICAgICAgICAgICAgIFBNRVMsICAgMQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2 aWNlIChSUDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAw MUMwMDAwKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQWENTLCBQQ0lfQ29uZmln LCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgRmllbGQgKFBYQ1MsIEFueUFjYywgTm9Mb2Nr LCBXcml0ZUFzWmVyb3MpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MTApLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAogICAg ICAgICAgICAgICAgICAgIExEUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MTIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEzLCAKICAgICAgICAg ICAgICAgICAgICBMQVNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDFBKSwgCiAgICAgICAgICAgICAgICAgICAgQUJQWCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEQ1gsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBQRFNYLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFCKSwgCiAgICAgICAgICAgICAg ICAgICAgTFNDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgy MCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIyKSwgCiAgICAgICAg ICAgICAgICAgICAgUFNQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg5QyksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMzAsIAogICAgICAgICAgICAg ICAgICAgIEhQU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgUE1TWCwgICAxCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChQSUNNKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBUjA0KQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQUjA0KQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKFJQMDIpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxQzAwMDEpCiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBYQ1MsIFBDSV9Db25maWcsIDB4NDAsIDB4QzAp CiAgICAgICAgICAgICAgICBGaWVsZCAoUFhDUywgQW55QWNjLCBOb0xvY2ssIFdyaXRlQXNaZXJv cykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHgxMCksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAgICAgICAg ICAgTERQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMiks IAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMTMsIAogICAgICAgICAgICAgICAgICAgIExB U1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUEpLCAKICAg ICAgICAgICAgICAgICAgICBBQlBYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MiwgCiAgICAgICAgICAgICAgICAgICAgUERDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEU1gsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MUIpLCAKICAgICAgICAgICAgICAgICAgICBMU0NYLCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjIpLCAKICAgICAgICAgICAgICAgICAgICBQ U1BYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDlDKSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICwgICAzMCwgCiAgICAgICAgICAgICAgICAgICAgSFBTWCwg ICAxLCAKICAgICAgICAgICAgICAgICAgICBQTVNYLCAgIDEKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFBJQ00pCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFSMDUpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDUpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUlAwMykKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFDMDAwMikKICAgICAgICAgICAgICAgIE9w ZXJhdGlvblJlZ2lvbiAoUFhDUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAg ICAgIEZpZWxkIChQWENTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAgICBMRFBYLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEyKSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICAgICAgTEFTWCwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQSksIAogICAgICAgICAgICAgICAg ICAgIEFCUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAg ICAgICAgICAgICBQRENYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAg ICAgICAgICAgICAgICAgICAgUERTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgxQiksIAogICAgICAgICAgICAgICAgICAgIExTQ1gsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgyMiksIAogICAgICAgICAgICAgICAgICAgIFBTUFgsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OUMpLCAKICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDMwLCAKICAgICAgICAgICAgICAgICAgICBIUFNYLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgIFBNU1gsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQVIwNikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUFIwNikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgRGV2aWNlIChSUDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAwMUMwMDAzKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChQWENTLCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgRmllbGQgKFBY Q1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTApLCAKICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIExEUFgsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTIpLCAKICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEzLCAKICAgICAgICAgICAgICAgICAgICBMQVNYLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDFBKSwgCiAgICAgICAgICAgICAgICAgICAgQUJQWCwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBE Q1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBQRFNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFC KSwgCiAgICAgICAgICAgICAgICAgICAgTFNDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgyMCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDIyKSwgCiAgICAgICAgICAgICAgICAgICAgUFNQWCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHg5QyksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MzAsIAogICAgICAgICAgICAgICAgICAgIEhQU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg UE1TWCwgICAxCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJU LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChQSUNNKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChBUjA3KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChQUjA3KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFJQMDUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDAxQzAwMDQpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBYQ1MsIFBDSV9D b25maWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAgICAgICBGaWVsZCAoUFhDUywgQW55QWNjLCBO b0xvY2ssIFdyaXRlQXNaZXJvcykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxMCksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwg CiAgICAgICAgICAgICAgICAgICAgTERQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgxMiksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMTMsIAogICAg ICAgICAgICAgICAgICAgIExBU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MUEpLCAKICAgICAgICAgICAgICAgICAgICBBQlBYLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgUERDWCwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEU1gsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUIpLCAKICAgICAgICAg ICAgICAgICAgICBMU0NYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjIpLCAKICAg ICAgICAgICAgICAgICAgICBQU1BYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDlDKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAzMCwgCiAgICAgICAg ICAgICAgICAgICAgSFBTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICBQTVNYLCAgIDEKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFBJQ00pCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFSMDgp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDgp CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUlAw NikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFDMDAwNSkK ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUFhDUywgUENJX0NvbmZpZywgMHg0MCwg MHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChQWENTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVB c1plcm9zKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAg ICAgICAgICBMRFBYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDEyKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICAg ICAgTEFTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQSks IAogICAgICAgICAgICAgICAgICAgIEFCUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAg ICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBQRENYLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgUERTWCwgICAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQiksIAogICAgICAgICAgICAgICAgICAgIExT Q1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMiksIAogICAgICAgICAgICAgICAg ICAgIFBTUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OUMp LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMwLCAKICAgICAgICAgICAgICAgICAgICBI UFNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIFBNU1gsICAgMQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoR0xBTikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCBaZXJvKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDA5LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKF9QUikKICAgIHsKICAgICAgICBQcm9jZXNzb3IgKENQVTAsIDB4MDAs IDB4MDAwMDA0MTAsIDB4MDYpIHt9CiAgICAgICAgUHJvY2Vzc29yIChDUFUxLCAweDAxLCAweDAw MDAwNDEwLCAweDA2KSB7fQogICAgICAgIFByb2Nlc3NvciAoQ1BVMiwgMHgwMiwgMHgwMDAwMDQx MCwgMHgwNikge30KICAgICAgICBQcm9jZXNzb3IgKENQVTMsIDB4MDMsIDB4MDAwMDA0MTAsIDB4 MDYpIHt9CiAgICB9CgogICAgTXV0ZXggKE1VVFgsIDB4MDApCiAgICBPcGVyYXRpb25SZWdpb24g KFBSVDAsIFN5c3RlbUlPLCAweDgwLCAweDA0KQogICAgRmllbGQgKFBSVDAsIERXb3JkQWNjLCBM b2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBQODBILCAgIDMyCiAgICB9CgogICAgTWV0aG9k IChQOFhILCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIFpl cm8pKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKE9yIChBbmQgKFA4MEQsIDB4RkZGRkZG MDApLCBBcmcxKSwgUDgwRCkKICAgICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIE9u ZSkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoT3IgKEFuZCAoUDgwRCwgMHhGRkZGMDBG RiksIFNoaWZ0TGVmdCAoQXJnMSwgMHgwOCkKICAgICAgICAgICAgICAgICksIFA4MEQpCiAgICAg ICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAgICAgICB7CiAgICAgICAg ICAgIFN0b3JlIChPciAoQW5kIChQODBELCAweEZGMDBGRkZGKSwgU2hpZnRMZWZ0IChBcmcxLCAw eDEwKQogICAgICAgICAgICAgICAgKSwgUDgwRCkKICAgICAgICB9CgogICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4MDMpKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKE9yIChBbmQgKFA4 MEQsIDB4MDBGRkZGRkYpLCBTaGlmdExlZnQgKEFyZzEsIDB4MTgpCiAgICAgICAgICAgICAgICAp LCBQODBEKQogICAgICAgIH0KCiAgICAgICAgU3RvcmUgKFA4MEQsIFA4MEgpCiAgICB9CgogICAg T3BlcmF0aW9uUmVnaW9uIChTUFJULCBTeXN0ZW1JTywgMHhCMiwgMHgwMikKICAgIEZpZWxkIChT UFJULCBCeXRlQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBTU01QLCAgIDgKICAg IH0KCiAgICBNZXRob2QgKF9QSUMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3Rv cmUgKEFyZzAsIEdQSUMpCiAgICAgICAgU3RvcmUgKEFyZzAsIFBJQ00pCiAgICB9CgogICAgTWV0 aG9kIChfUFRTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3JlIChaZXJvLCBQ ODBEKQogICAgICAgIFA4WEggKDB4MTAsIEFyZzApCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwNSkpCiAgICAgICAgewogICAgICAgICAgICBcX1NCLlBIU1IgKDB4MDcsIFplcm8pCiAgICAg ICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkKICAgICAgICB7CiAgICAgICAg ICAgIElmIChMQW5kIChEVFNFLCBNUEVOKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg VFJBUCAoVFJURCwgMHgxRSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKExF cXVhbCAoQXJnMCwgMHgwNSkpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNCkpCiAg ICAgICAgewogICAgICAgICAgICBTdG9yZSAoT25lLCBJTlM0KQogICAgICAgICAgICBJZiAoXF9T Qi5FQ09LKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChcX1NCLlBDSTAu TFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5Q Q0kwLkxQQ0IuRUMwLkZMUzQpCiAgICAgICAgICAgICAgICBSZWxlYXNlIChcX1NCLlBDSTAuTFBD Qi5FQzAuTVVUMSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgXF9TQi5QSFNSIChP bmUsIFplcm8pCiAgICB9CgogICAgTWV0aG9kIChfV0FLLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ewogICAgICAgIFA4WEggKE9uZSwgMHhBQikKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAz KSkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlJQMDEsIFplcm8pCiAg ICAgICAgfQoKICAgICAgICBJZiAoTE9yIChMRXF1YWwgKEFyZzAsIDB4MDMpLCBMRXF1YWwgKEFy ZzAsIDB4MDQpKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMQW5kIChEVFNFLCBNUEVOKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVFJBUCAoVFJURCwgMHgxNCkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChBbmQgKENGR0QsIDB4RjApLCBMQW5kIChMRXF1 YWwgKE9TWVMsIDB4MDdEMSksIAogICAgICAgICAgICAgICAgICAgIExOb3QgKEFuZCAoUERDMCwg MHgxMCkpKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVFJBUCAoVFJU UCwgRVNDUykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYg KExFcXVhbCAoT1NZUywgMHgwN0QyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYg KEFuZCAoQ0ZHRCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEdyZWF0ZXIgKFxfUFIuQ1BVMC5fUFBDLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChcX1BSLkNQVTAuX1BQQywgT25lLCBc X1BSLkNQVTAuX1BQQykKICAgICAgICAgICAgICAgICAgICAgICAgUE5PVCAoKQogICAgICAgICAg ICAgICAgICAgICAgICBBZGQgKFxfUFIuQ1BVMC5fUFBDLCBPbmUsIFxfUFIuQ1BVMC5fUFBDKQog ICAgICAgICAgICAgICAgICAgICAgICBQTk9UICgpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIEFkZCAoXF9QUi5DUFUwLl9QUEMsIE9uZSwgXF9QUi5DUFUwLl9QUEMpCiAgICAg ICAgICAgICAgICAgICAgICAgIFBOT1QgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJh Y3QgKFxfUFIuQ1BVMC5fUFBDLCBPbmUsIFxfUFIuQ1BVMC5fUFBDKQogICAgICAgICAgICAgICAg ICAgICAgICBQTk9UICgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBJZiAoTE9yIChMRXF1YWwgKEFyZzAsIDB4 MDQpLCBMRXF1YWwgKEFyZzAsIDB4MDMpKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChc X1NCLkJURU4sIFxfU0IuUENJMC5MUENCLkVDMC5CTFRIKQogICAgICAgICAgICBTdG9yZSAoXF9T Qi5XTEFOLCBcX1NCLlBDSTAuTFBDQi5FQzAuV0xBTikKICAgICAgICAgICAgU3RvcmUgKE9uZSwg XF9TQi5QQ0kwLkxQQ0IuRUMwLkNQTEUpCiAgICAgICAgICAgIElmIChcX1NCLk1PREwpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUEhTUiAoT25lLCBPbmUpCiAgICAgICAgICAg IH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAo T25lLCBcX1NCLlVOTUYpCiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5FQzAuQ1BPTCAo MHgwMikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoWmVybywgSU5TNCkKICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBSZXR1cm4gKFBh Y2thZ2UgKDB4MDIpCiAgICAgICAgewogICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgWmVy bwogICAgICAgIH0pCiAgICB9CgogICAgTWV0aG9kIChHRVRCLCAzLCBTZXJpYWxpemVkKQogICAg ewogICAgICAgIE11bHRpcGx5IChBcmcwLCAweDA4LCBMb2NhbDApCiAgICAgICAgTXVsdGlwbHkg KEFyZzEsIDB4MDgsIExvY2FsMSkKICAgICAgICBDcmVhdGVGaWVsZCAoQXJnMiwgTG9jYWwwLCBM b2NhbDEsIFRCRjMpCiAgICAgICAgUmV0dXJuIChUQkYzKQogICAgfQoKICAgIE1ldGhvZCAoUE5P VCwgMCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoTVBFTikKICAgICAgICB7CiAgICAg ICAgICAgIElmIChBbmQgKFBEQzAsIDB4MDgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkKICAgICAgICAgICAgICAgIElmIChBbmQgKFBEQzAs IDB4MTApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDY0 KQogICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5DUFUwLCAweDgxKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoQW5kIChQREMxLCAweDA4KSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTEsIDB4ODApCiAg ICAgICAgICAgICAgICBJZiAoQW5kIChQREMxLCAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgICAgICBOb3RpZnkg KFxfUFIuQ1BVMSwgMHg4MSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAg IH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwg MHg4MCkKICAgICAgICAgICAgU2xlZXAgKDB4NjQpCiAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5D UFUwLCAweDgxKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFRSQVAsIDIsIFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKEFyZzEsIFNNSUYpCiAgICAgICAgSWYgKExFcXVhbCAo QXJnMCwgVFJUUCkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoWmVybywgVFJQSSkKICAg ICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIFRSVEQpKQogICAgICAgIHsKICAgICAg ICAgICAgU3RvcmUgKEFyZzEsIERUU0YpCiAgICAgICAgICAgIFN0b3JlIChaZXJvLCBUUlBEKQog ICAgICAgICAgICBSZXR1cm4gKERUU0YpCiAgICAgICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChB cmcwLCBUUlRJKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChaZXJvLCBUUlAwKQogICAg ICAgIH0KCiAgICAgICAgUmV0dXJuIChTTUlGKQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkK ICAgIHsKICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBTdG9yZSAoT25lLCBQV1JTKQogICAgICAgICAgICBTdG9yZSAoMHgwN0QwLCBP U1lTKQogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChfT1NJLCBMb2NhbDApKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIldpbmRvd3MgMjAwMSIpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3RDEsIE9TWVMpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDEgU1AxIikp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDdEMSwgT1NZ UykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIldpbmRvd3Mg MjAwMSBTUDIiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwN0QyLCBPU1lTKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChfT1NJ ICgiV2luZG93cyAyMDA2IikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDdENiwgT1NZUykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoX09TSSAoIldpbmRvd3MgMjAwOSIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDA3RDksIE9TWVMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKF9PU0kgKCJMaW51eCIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAzRTgsIE9TWVMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExBbmQgKE1QRU4sIExFcXVhbCAoT1NZUywgMHgwN0QxKSkpIHt9CiAgICAgICAg ICAgIH0KICAgICAgICB9CiAgICB9CgogICAgU2NvcGUgKFwpCiAgICB7CiAgICAgICAgTmFtZSAo UElDTSwgWmVybykKICAgIH0KCiAgICBTY29wZSAoX1NCLlBDSTApCiAgICB7CiAgICAgICAgRGV2 aWNlIChQRFJDKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEMwMiIpKQogICAgICAgICAgICBOYW1lIChfVUlELCBPbmUpCiAgICAgICAgICAgIE5hbWUgKEJV RjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTWVt b3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAg ICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgICAg ICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQw MDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAgICAw eDAwMDAxMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMTAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUs CiAgICAgICAgICAgICAgICAgICAgMHhGRUQyMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UK ICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3Ro CiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4RkVENDUwMDAsICAgICAgICAgLy8gQWRkcmVz cyBCYXNlCiAgICAgICAgICAgICAgICAgICAgMHgwMDA0QjAwMCwgICAgICAgICAvLyBBZGRyZXNz IExlbmd0aAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgfSkKICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDA0LCBSQlIwKQogICAgICAgICAgICAgICAgU2hp ZnRMZWZ0ICheXkxQQ0IuUkNCQSwgMHgwRSwgUkJSMCkKICAgICAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKEJVRjAsIDB4MTAsIE1CUjApCiAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE1I QlIsIDB4MEUsIE1CUjApCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAw eDFDLCBEQlIwKQogICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChESUJSLCAweDBDLCBEQlIwKQog ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgyOCwgRUJSMCkKICAgICAg ICAgICAgICAgIFNoaWZ0TGVmdCAoRVBCUiwgMHgwQywgRUJSMCkKICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MzQsIFhCUjApCiAgICAgICAgICAgICAgICBTaGlmdExl ZnQgKFBYQlIsIDB4MUEsIFhCUjApCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChC VUYwLCAweDM4LCBYU1owKQogICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoMHgxMDAwMDAwMCwg UFhTWiwgWFNaMCkKICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKEhLRFMsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgSWYgKExFcXVhbCAoWmVybywgQW5kICgweDAzLCBEU0VOKSkpCiAgICAgICAgewogICAg ICAgICAgICBJZiAoTEVxdWFsIChUUkFQIChUUlRJLCBBcmcwKSwgWmVybykpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKENBREwsIFBBREwpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDQURMLCBQQURMKQogICAgICAgICAg ICAgICAgICAgIElmIChMT3IgKExHcmVhdGVyIChPU1lTLCAweDA3RDApLCBMTGVzcyAoT1NZUywg MHgwN0Q2KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFxfU0IuUENJMCwgWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgWmVybykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAyRUUpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgMHg4MCkKICAgICAgICAgICAgfQog ICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoT25lLCBBbmQgKDB4MDMsIERTRU4pKSkKICAg ICAgICB7CiAgICAgICAgICAgIElmIChMRXF1YWwgKFRSQVAgKFRSVEksIEluY3JlbWVudCAoQXJn MCkpLCBaZXJvKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuR0ZYMCwgMHg4MSkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAo XCkKICAgIHsKICAgICAgICBPcGVyYXRpb25SZWdpb24gKElPX1QsIFN5c3RlbUlPLCAweDA0ODAs IDB4MTApCiAgICAgICAgRmllbGQgKElPX1QsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgewogICAgICAgICAgICBUUlBJLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MDQpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDYpLCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAgICAgICAgVFJQMCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MEEpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MEIpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MEQpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEUp LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEYpLCAKICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MTApCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKElPX0Qs IFN5c3RlbUlPLCAweDA5MDAsIDB4MDQpCiAgICAgICAgRmllbGQgKElPX0QsIEJ5dGVBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBUUlBELCAgIDgKICAgICAgICB9 CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSU9fSCwgU3lzdGVtSU8sIDB4MDQwMCwgMHgwNCkK ICAgICAgICBGaWVsZCAoSU9fSCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7 CiAgICAgICAgICAgIFRSUEgsICAgOAogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChQTUlPLCBTeXN0ZW1JTywgUE1CUywgMHg4MCkKICAgICAgICBGaWVsZCAoUE1JTywgQnl0ZUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDEwKSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIFREVFksICAgMywg CiAgICAgICAgICAgIERUWUUsICAgMSwgCiAgICAgICAgICAgIERUWUYsICAgMywgCiAgICAgICAg ICAgIFRIVEwsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIyKSwgCiAgICAg ICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgIFNMSUQsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAg IFNQU1QsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQyKSwgCiAgICAgICAg ICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdQRUMsICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDY0KSwgCiAgICAgICAgICAgICAgICAsICAgOSwgCiAgICAgICAgICAgIFND SVMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY2KQogICAgICAgIH0KCiAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChHUElPLCBTeXN0ZW1JTywgR1BCUywgMHgzQykKICAgICAg ICBGaWVsZCAoR1BJTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAg ICAgICAgIEdVMDAsICAgOCwgCiAgICAgICAgICAgIEdVMDEsICAgOCwgCiAgICAgICAgICAgIEdV MDIsICAgOCwgCiAgICAgICAgICAgIEdVMDMsICAgOCwgCiAgICAgICAgICAgIEdJTzAsICAgOCwg CiAgICAgICAgICAgIEdJTzEsICAgOCwgCiAgICAgICAgICAgIEdJTzIsICAgOCwgCiAgICAgICAg ICAgIEdJTzMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBDKSwgCiAgICAg ICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgIEdPMDIsICAgMSwgCiAgICAgICAgICAgIEdP MDMsICAgMSwgCiAgICAgICAgICAgIEdPMDQsICAgMSwgCiAgICAgICAgICAgIEdPMDUsICAgMSwg CiAgICAgICAgICAgIEdJMDYsICAgMSwgCiAgICAgICAgICAgIEdJMDcsICAgMSwgCiAgICAgICAg ICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdPMDksICAgMSwgCiAgICAgICAgICAgIEdPMTAs ICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdPMTIsICAgMSwgCiAg ICAgICAgICAgIEdPMTMsICAgMSwgCiAgICAgICAgICAgIEdPMTQsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDBFKSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAg ICAgIEdJMTcsICAgMSwgCiAgICAgICAgICAgIEdJMTgsICAgMSwgCiAgICAgICAgICAgIEdJMTks ICAgMSwgCiAgICAgICAgICAgIEdJMjAsICAgMSwgCiAgICAgICAgICAgIEdJMjEsICAgMSwgCiAg ICAgICAgICAgIEdJMjIsICAgMSwgCiAgICAgICAgICAgIEdJMjMsICAgMSwgCiAgICAgICAgICAg IEdPMjQsICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAsICAg MSwgCiAgICAgICAgICAgIEdPMjcsICAgMSwgCiAgICAgICAgICAgIEdPMjgsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDE4KSwgCiAgICAgICAgICAgIEdCMDAsICAgOCwgCiAgICAgICAgICAgIEdCMDEsICAgOCwg CiAgICAgICAgICAgIEdCMDIsICAgOCwgCiAgICAgICAgICAgIEdCMDMsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDJDKSwgCiAgICAgICAgICAgICAgICAsICAgNiwgCiAgICAg ICAgICAgIExJRFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDJEKSwgCiAg ICAgICAgICAgIEdJVjEsICAgOCwgCiAgICAgICAgICAgIEdJVjIsICAgOCwgCiAgICAgICAgICAg IEdJVjMsICAgOCwgCiAgICAgICAgICAgIEdVMDQsICAgOCwgCiAgICAgICAgICAgIEdVMDUsICAg OCwgCiAgICAgICAgICAgIEdVMDYsICAgOCwgCiAgICAgICAgICAgIEdVMDcsICAgOCwgCiAgICAg ICAgICAgIEdJTzQsICAgOCwgCiAgICAgICAgICAgIEdJTzUsICAgOCwgCiAgICAgICAgICAgIEdJ TzYsICAgOCwgCiAgICAgICAgICAgIEdJTzcsICAgOCwgCiAgICAgICAgICAgICAgICAsICAgNSwg CiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM5 KSwgCiAgICAgICAgICAgIEdMMDUsICAgOCwgCiAgICAgICAgICAgIEdMMDYsICAgOCwgCiAgICAg ICAgICAgIEdMMDcsICAgOAogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChSQ1JC LCBTeXN0ZW1NZW1vcnksIDB4RkVEMUMwMDAsIDB4NDAwMCkKICAgICAgICBGaWVsZCAoUkNSQiwg RFdvcmRBY2MsIExvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MTAwMCksIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzMDAwKSwgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM0MDQpLCAKICAgICAgICAgICAgSFBBUywgICAy LCAKICAgICAgICAgICAgICAgICwgICA1LCAKICAgICAgICAgICAgSFBBRSwgICAxLCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MzQxOCksIAogICAgICAgICAgICAgICAgLCAgIDEsIAog ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICBTQVRELCAgIDEsIAogICAgICAgICAg ICBTTUJELCAgIDEsIAogICAgICAgICAgICBIREFELCAgIDEsIAogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgzNDFBKSwgCiAgICAgICAgICAgIFJQMUQsICAgMSwgCiAgICAgICAgICAgIFJQ MkQsICAgMSwgCiAgICAgICAgICAgIFJQM0QsICAgMSwgCiAgICAgICAgICAgIFJQNEQsICAgMSwg CiAgICAgICAgICAgIFJQNUQsICAgMSwgCiAgICAgICAgICAgIFJQNkQsICAgMQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChHRVRQLCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwgWmVybykpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwgMHgwOCkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMzg0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBT aGlmdFJpZ2h0IChBbmQgKEFyZzAsIDB4MDMwMCksIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAg U2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDMwMDApLCAweDBDLCBMb2NhbDEpCiAgICAgICAgICAg IFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1YnRyYWN0ICgweDA5LCBBZGQgKExvY2FsMCwgTG9j YWwxKSkKICAgICAgICAgICAgICAgICkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEdETUEs IDUsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoQXJnMCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgSWYgKExBbmQgKEFyZzEsIEFyZzQpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxNCkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQXJnMiwgQXJnNCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoU3VidHJhY3QgKDB4MDQsIEFy ZzMpLCAweDBGKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKE11 bHRpcGx5IChTdWJ0cmFjdCAoMHgwNCwgQXJnMyksIDB4MUUpKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEdF VFQsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5 ICgweDFFLCBTdWJ0cmFjdCAoMHgwOSwgQWRkIChBbmQgKFNoaWZ0UmlnaHQgKEFyZzAsIDB4MDIK ICAgICAgICAgICAgICAgICksIDB4MDMpLCBBbmQgKEFyZzAsIDB4MDMpKSkpKQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChHRVRGLCAzLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgTmFtZSAoVE1QRiwgWmVybykKICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE9yIChUTVBGLCBPbmUsIFRNUEYpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmIChBbmQgKEFyZzIsIDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBPciAoVE1QRiwgMHgwMiwgVE1QRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFy ZzEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9yIChUTVBGLCAweDA0LCBUTVBGKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDIwKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgT3IgKFRNUEYsIDB4MDgsIFRNUEYpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4NDAwMCkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE9yIChUTVBGLCAweDEwLCBUTVBGKQogICAgICAgICAgICB9CgogICAgICAgICAg ICBSZXR1cm4gKFRNUEYpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKFNFVFAsIDMsIFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4RjApKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDgpCiAgICAgICAgICAgIH0K ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoQW5kIChB cmcxLCAweDAyKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEFu ZCAoTExlc3NFcXVhbCAoQXJnMCwgMHg3OCksIEFuZCAoQXJnMiwgMHgwMikpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDIzMDEpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTExlc3NFcXVh bCAoQXJnMCwgMHhCNCksIEFuZCAoQXJnMiwgT25lKSkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MjEwMSkKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuICgweDEwMDEpCiAg ICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoU0RNQSwgMSwgU2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMTGVzc0VxdWFsIChBcmcwLCAweDE0KSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmIChMTGVzc0VxdWFsIChBcmcwLCAweDFFKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAo TExlc3NFcXVhbCAoQXJnMCwgMHgyRCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoT25lKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTExlc3NFcXVhbCAoQXJn MCwgMHgzQykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwgKEFyZzAsIDB4NUEpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChTRVRULCAz LCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEFuZCAoQXJnMSwgMHgwMikp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcw LCAweDc4KSwgQW5kIChBcmcyLCAweDAyKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcwLCAweEI0KSwgQW5kIChBcmcyLCBPbmUpKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoMHgwNCkKICAgICAg ICB9CiAgICB9CgogICAgU2NvcGUgKF9TQi5QQ0kwKQogICAgewogICAgICAgIERldmljZSAoU0FU MCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDIpCiAgICAgICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoU0FDUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAg ICAgICAgRmllbGQgKFNBQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBQUklULCAgIDE2LCAKICAgICAgICAgICAgICAgIFNFQ1QsICAg MTYsIAogICAgICAgICAgICAgICAgUFNJVCwgICA0LCAKICAgICAgICAgICAgICAgIFNTSVQsICAg NCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAg ICAgU1lOQywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBBKSwgCiAg ICAgICAgICAgICAgICBTRFQwLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAg ICAgICAgICAgICAgIFNEVDEsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHgwQiksIAogICAgICAgICAgICAgICAgU0RUMiwgICAyLCAKICAgICAgICAgICAgICAgICAgICAs ICAgMiwgCiAgICAgICAgICAgICAgICBTRFQzLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MTQpLCAKICAgICAgICAgICAgICAgIElDUjAsICAgNCwgCiAgICAgICAgICAg ICAgICBJQ1IxLCAgIDQsIAogICAgICAgICAgICAgICAgSUNSMiwgICA0LCAKICAgICAgICAgICAg ICAgIElDUjMsICAgNCwgCiAgICAgICAgICAgICAgICBJQ1I0LCAgIDQsIAogICAgICAgICAgICAg ICAgSUNSNSwgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUwKSwgCiAg ICAgICAgICAgICAgICBNQVBWLCAgIDIKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg RGV2aWNlIChTQVQxKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAw NSkKICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTQUNTLCBQQ0lfQ29uZmlnLCAweDQwLCAw eEMwKQogICAgICAgICAgICBGaWVsZCAoU0FDUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBSSVQsICAgMTYsIAogICAgICAgICAgICAg ICAgU0VDVCwgICAxNiwgCiAgICAgICAgICAgICAgICBQU0lULCAgIDQsIAogICAgICAgICAgICAg ICAgU1NJVCwgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAg ICAgICAgICAgICAgICBTWU5DLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MEEpLCAKICAgICAgICAgICAgICAgIFNEVDAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAg LCAgIDIsIAogICAgICAgICAgICAgICAgU0RUMSwgICAyLCAKICAgICAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDBCKSwgCiAgICAgICAgICAgICAgICBTRFQyLCAgIDIsIAogICAgICAgICAg ICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgIFNEVDMsICAgMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgxNCksIAogICAgICAgICAgICAgICAgSUNSMCwgICA0LCAK ICAgICAgICAgICAgICAgIElDUjEsICAgNCwgCiAgICAgICAgICAgICAgICBJQ1IyLCAgIDQsIAog ICAgICAgICAgICAgICAgSUNSMywgICA0LCAKICAgICAgICAgICAgICAgIElDUjQsICAgNCwgCiAg ICAgICAgICAgICAgICBJQ1I1LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4NTApLCAKICAgICAgICAgICAgICAgIE1BUFYsICAgMgogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBEZXZpY2UgKFNCVVMpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfQURS LCAweDAwMUYwMDAzKQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFNNQlAsIFBDSV9Db25m aWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAgIEZpZWxkIChTTUJQLCBEV29yZEFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAg ICAgICAgICAgICAgIEkyQ0UsICAgMQogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKFNNQkksIFN5c3RlbUlPLCAweDFDMDAsIDB4MTApCiAgICAgICAgICAgIEZpZWxk IChTTUJJLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBIU1RTLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDIp LCAKICAgICAgICAgICAgICAgIEhDT04sICAgOCwgCiAgICAgICAgICAgICAgICBIQ09NLCAgIDgs IAogICAgICAgICAgICAgICAgVFhTQSwgICA4LCAKICAgICAgICAgICAgICAgIERBVDAsICAgOCwg CiAgICAgICAgICAgICAgICBEQVQxLCAgIDgsIAogICAgICAgICAgICAgICAgSEJEUiwgICA4LCAK ICAgICAgICAgICAgICAgIFBFQ1IsICAgOCwgCiAgICAgICAgICAgICAgICBSWFNBLCAgIDgsIAog ICAgICAgICAgICAgICAgU0RBVCwgICAxNgogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKFNTWEIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo WmVybykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJD RSkKICAgICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzAsIFRYU0EpCiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAg ICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhT VFMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBN ZXRob2QgKFNSWEIsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IElmIChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHhGRkZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBJMkNFKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYsIEhTVFMpCiAgICAgICAgICAgICAg ICBTdG9yZSAoT3IgKEFyZzAsIE9uZSksIFRYU0EpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg0 NCwgSENPTikKICAgICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoREFUMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4RkZGRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTV1JCLCAzLCBT ZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEkyQ0UpCiAgICAgICAgICAg ICAgICBTdG9yZSAoMHhCRiwgSFNUUykKICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUWFNB KQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9y ZSAoQXJnMiwgREFUMCkKICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAg ICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNSREIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJMkNFKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYs IEhTVFMpCiAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKEFyZzAsIE9uZSksIFRYU0EpCiAgICAg ICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4 LCBIQ09OKQogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChEQVQwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVy biAoMHhGRkZGKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNXUlcsIDMsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJDRSkKICAgICAgICAgICAg ICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFRYU0Ep CiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgIEFuZCAo QXJnMiwgMHhGRiwgREFUMCkKICAgICAgICAgICAgICAgIEFuZCAoU2hpZnRSaWdodCAoQXJnMiwg MHgwOCksIDB4RkYsIERBVDEpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg0QywgSENPTikKICAg ICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTUkRXLCAyLCBTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJDRSkKICAgICAgICAgICAgICAgIFN0b3JlICgw eEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChBcmcwLCBPbmUpLCBUWFNBKQog ICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9yZSAo MHg0QywgSENPTikKICAgICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoT3IgKFNoaWZ0TGVmdCAoREFUMSwgMHgwOCksIERBVDApKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTQkxXLCA0LCBTZXJpYWxpemVkKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgU3RvcmUgKEFyZzMsIEkyQ0UpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHhCRiwgSFNU UykKICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUWFNBKQogICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9yZSAoU2l6ZU9mIChBcmcyKSwgREFU MCkKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAgICAgICAgICAgICAgICBT dG9yZSAoRGVyZWZPZiAoSW5kZXggKEFyZzIsIFplcm8pKSwgSEJEUikKICAgICAgICAgICAgICAg IFN0b3JlICgweDU0LCBIQ09OKQogICAgICAgICAgICAgICAgV2hpbGUgKExHcmVhdGVyIChTaXpl T2YgKEFyZzIpLCBMb2NhbDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAo TE5vdCAoQW5kIChIU1RTLCAweDgwKSksIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 ODAsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgSWYgKExHcmVhdGVyIChTaXplT2YgKEFyZzIpLCBMb2NhbDEpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKElu ZGV4IChBcmcyLCBMb2NhbDEpKSwgSEJEUikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNCTFIsIDMsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKFRCVUYsIEJ1ZmZl ciAoMHgwMTAwKSB7fSkKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgSTJDRSkKICAgICAgICAgICAgICAgIFN0b3Jl ICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChBcmcwLCBPbmUpLCBUWFNB KQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9y ZSAoMHg1NCwgSENPTikKICAgICAgICAgICAgICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAg ICAgICAgICAgICAgIFdoaWxlIChMQW5kIChMTm90IChBbmQgKEhTVFMsIDB4ODApKSwgTG9jYWww KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgzMikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChEQVQwLCBJbmRleCAoVEJV RiwgWmVybykpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAgICAg ICAgIFN0b3JlIChPbmUsIExvY2FsMSkKICAgICAgICAgICAgICAgIFdoaWxlIChMTGVzcyAoTG9j YWwxLCBEZXJlZk9mIChJbmRleCAoVEJVRiwgWmVybykpKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwRkEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgV2hpbGUgKExBbmQgKExOb3QgKEFuZCAoSFNUUywgMHg4MCkpLCBMb2NhbDApKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDMyKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExvY2FsMCkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChIQkRSLCBJbmRleCAoVEJVRiwgTG9jYWwxKSkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExv Y2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFRCVUYpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKFNUUlQsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0 b3JlICgweEM4LCBMb2NhbDApCiAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWwwKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEhTVFMsIDB4NDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwIChPbmUpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAgIFdoaWxl IChMb2NhbDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo SFNUUywgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgzMikK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCBaZXJvKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgS0lMTCAoKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IE1ldGhvZCAoQ09NUCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEZBMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsMCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChIU1RTLCAweDAy KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAo S0lMTCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT3IgKEhD T04sIDB4MDIsIEhDT04pCiAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykKICAg ICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX0dQRSkKICAgIHsKICAgICAg ICBNZXRob2QgKF9MMDEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBQ OFhIIChaZXJvLCBPbmUpCiAgICAgICAgICAgIElmIChMQW5kIChMRXF1YWwgKFJQMUQsIFplcm8p LCBcX1NCLlBDSTAuUlAwMS5IUFNYKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU2xl ZXAgKDB4NjQpCiAgICAgICAgICAgICAgICBJZiAoXF9TQi5QQ0kwLlJQMDEuUERDWCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAw MS5QRENYKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAxLkhQ U1gpCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuUlAwMSwgWmVybykKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwMS5IUFNYKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChS UDJELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDIuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIElmIChcX1NCLlBDSTAuUlAwMi5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAyLlBEQ1gpCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDIuSFBTWCkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwMi5IUFNYKQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChSUDNELCBaZXJvKSwg XF9TQi5QQ0kwLlJQMDMuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChc X1NCLlBDSTAuUlAwMy5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAzLlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDMuSFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo T25lLCBcX1NCLlBDSTAuUlAwMy5IUFNYKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChSUDRELCBaZXJvKSwgXF9TQi5QQ0kwLlJQ MDQuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAw NC5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUs IFxfU0IuUENJMC5SUDA0LlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9T Qi5QQ0kwLlJQMDQuSFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBD STAuUlAwNC5IUFNYKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoTEFuZCAoTEVxdWFsIChSUDVELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDUuSFBTWCkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAwNS5QRENYKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5S UDA1LlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDUu SFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwNS5IUFNY KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAo TEVxdWFsIChSUDZELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDYuSFBTWCkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAwNi5QRENYKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDA2LlBEQ1gpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDYuSFBTWCkKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwNi5IUFNYKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDYsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAoXF9TQi5QQ0kw LkdGWDAuR1NTRSwgTE5vdCAoR1NNSSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBc X1NCLlBDSTAuR0ZYMC5HU0NJICgpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFxfU0IuUENJMC5FU0NT LCAweDA4KSwgMHgwOCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuVDBJ UywgXF9TQi5QQ0kwLlQwSVMpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5U MElTLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5UMUlTLCBc X1NCLlBDSTAuVDFJUykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLlQxSVMs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lTKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5HVFNFKQogICAgICAgICAgICAgICAgICAg IElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5UTUVNLkdQRUgpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlRNRU0uR1BFSCAoKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lTKQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9M MDcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoMHgyMCwg XF9TQi5QQ0kwLlNCVVMuSFNUUykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwOSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBF R1AsIDB4MDIpCiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBFR1AuVkdBLCAweDAyKQog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDAxLCAweDAyKQogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5SUDAyLCAweDAyKQogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5S UDAzLCAweDAyKQogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDA0LCAweDAyKQogICAg ICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDA1LCAweDAyKQogICAgICAgICAgICBOb3RpZnkg KFxfU0IuUENJMC5SUDA2LCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBCLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu UDBQMSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwMywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjAsIDB4MDIp CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAyKQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChfTDBDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAg ICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1l dGhvZCAoX0wyMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlm eSAoXF9TQi5QQ0kwLlVTQlIsIDB4MDIpCiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVT QjUsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5FSEMxLCAweDAyKQog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5FSEMyLCAweDAyKQogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5IREVGLCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBF LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuVVNCMywgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwNSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjQsIDB4 MDIpCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkKICAgIHsKICAgICAgICBE ZXZpY2UgKFdNSTEpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCAiUE5QMEMxNCIp CiAgICAgICAgICAgIE5hbWUgKF9VSUQsICJNWE0zIikKICAgICAgICAgICAgTmFtZSAoX1dERywg QnVmZmVyICgweDNDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICovICAg IDB4M0MsIDB4NUMsIDB4Q0IsIDB4RjYsIDB4QUUsIDB4OUMsIDB4QkQsIDB4NEUsIAogICAgICAg ICAgICAgICAgLyogMDAwOCAqLyAgICAweEI1LCAweDc3LCAweDkzLCAweDFFLCAweEEzLCAweDJB LCAweDJDLCAweEMwLCAKICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0RCwgMHg1OCwg MHgwMSwgMHgwMiwgMHg1NywgMHg5MywgMHg4QSwgMHhGMiwgCiAgICAgICAgICAgICAgICAvKiAw MDE4ICovICAgIDB4NEIsIDB4Q0YsIDB4MUEsIDB4NEEsIDB4ODgsIDB4OTMsIDB4QkIsIDB4MUYs IAogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgICAweDU4LCAweEVFLCAweEExLCAweEFGLCAw eEQxLCAweDAwLCAweDAxLCAweDA4LCAKICAgICAgICAgICAgICAgIC8qIDAwMjggKi8gICAgMHgy MSwgMHgxMiwgMHg5MCwgMHgwNSwgMHg2NiwgMHhENSwgMHhEMSwgMHgxMSwgCiAgICAgICAgICAg ICAgICAvKiAwMDMwICovICAgIDB4QjIsIDB4RjAsIDB4MDAsIDB4QTAsIDB4QzksIDB4MDYsIDB4 MjksIDB4MTAsIAogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgICAweDU4LCAweDRELCAweDAx LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhvZCAoV01NWCwgMywgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyRXF1YWwg KFNpemVPZiAoQXJnMiksIDB4MDQpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzIsIFplcm8sIEZVTkMpCiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMiwgMHgwNCwgQVJHUykKICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChGVU5DLCAweDQ5NEQ1ODREKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXl5QRUdQLlZHQS5NWE1JIChBUkdTKSkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRlVOQywgMHg1MzRE NTg0RCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoXl5QRUdQLlZHQS5NWE1TIChBUkdTKSkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKFdRWE0s IEJ1ZmZlciAoMHgwMjlDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICov ICAgIDB4NDYsIDB4NEYsIDB4NEQsIDB4NDIsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAg ICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDhCLCAweDAyLCAweDAwLCAweDAwLCAweDBDLCAw eDA4LCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0NCwgMHg1 MywgMHgwMCwgMHgwMSwgMHgxQSwgMHg3RCwgMHhEQSwgMHg1NCwgCiAgICAgICAgICAgICAgICAv KiAwMDE4ICovICAgIDB4MTgsIDB4RDIsIDB4ODMsIDB4MDAsIDB4MDEsIDB4MDYsIDB4MTgsIDB4 NDIsIAogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgICAweDEwLCAweDA1LCAweDEwLCAweDhB LCAweEU2LCAweDgwLCAweDQyLCAweDA0LCAKICAgICAgICAgICAgICAgIC8qIDAwMjggKi8gICAg MHg5MiwgMHg0MywgMHhBNCwgMHgzMCwgMHgzMCwgMHgyOCwgMHgwQiwgMHgyMCwgCiAgICAgICAg ICAgICAgICAvKiAwMDMwICovICAgIDB4ODYsIDB4OTAsIDB4MEIsIDB4MjYsIDB4MjYsIDB4NDAs IDB4MDQsIDB4ODQsIAogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgICAweEJDLCAweDBBLCAw eEIwLCAweDI5LCAweEMwLCAweDI0LCAweDg4LCAweEZBLCAKICAgICAgICAgICAgICAgIC8qIDAw NDAgKi8gICAgMHhGNywgMHg4NywgMHgyOCwgMHgwOSwgMHgwRSwgMHgyNSwgMHgwNCwgMHg0Miwg CiAgICAgICAgICAgICAgICAvKiAwMDQ4ICovICAgIDB4MTIsIDB4MDUsIDB4OTgsIDB4MTcsIDB4 QTAsIDB4NUIsIDB4ODAsIDB4NjEsIAogICAgICAgICAgICAgICAgLyogMDA1MCAqLyAgICAweDAx LCAweEI2LCAweDA1LCAweDk4LCAweDE2LCAweEUwLCAweDE4LCAweDkyLCAKICAgICAgICAgICAg ICAgIC8qIDAwNTggKi8gICAgMHg0QSwgMHgwMywgMHhBNywgMHgwNCwgMHg5NiwgMHgwMiwgMHgy MSwgMHhBMSwgCiAgICAgICAgICAgICAgICAvKiAwMDYwICovICAgIDB4MDIsIDB4OTQsIDB4MEIs IDB4RjAsIDB4MkQsIDB4NDAsIDB4M0IsIDB4QTIsIAogICAgICAgICAgICAgICAgLyogMDA2OCAq LyAgICAweDI0LCAweDBCLCAweEIwLCAweDBDLCAweDIzLCAweDAyLCAweDhGLCAweDgyLCAKICAg ICAgICAgICAgICAgIC8qIDAwNzAgKi8gICAgMHhBMSwgMHg3MSwgMHg2OCwgMHhFQywgMHgzMCwg MHgyQywgMHgxMywgMHg0QywgCiAgICAgICAgICAgICAgICAvKiAwMDc4ICovICAgIDB4ODMsIDB4 MzgsIDB4OEMsIDB4QjIsIDB4OTEsIDB4NDUsIDB4NjAsIDB4REMsIAogICAgICAgICAgICAgICAg LyogMDA4MCAqLyAgICAweDRFLCAweDA1LCAweEM4LCAweDE1LCAweDIwLCAweDRDLCAweDgwLCAw eDc4LCAKICAgICAgICAgICAgICAgIC8qIDAwODggKi8gICAgMHg1NCwgMHg2MSwgMHgzNCwgMHgw NywgMHg0NSwgMHhFMCwgMHg0MiwgMHg2MywgCiAgICAgICAgICAgICAgICAvKiAwMDkwICovICAg IDB4NjQsIDB4NDAsIDB4QzgsIDB4QTMsIDB4MDAsIDB4QUIsIDB4QTMsIDB4RDAsIAogICAgICAg ICAgICAgICAgLyogMDA5OCAqLyAgICAweEE0LCAweDEyLCAweEQ4LCAweEJELCAweDAwLCAweDhE LCAweDAyLCAweEI0LCAKICAgICAgICAgICAgICAgIC8qIDAwQTAgKi8gICAgMHgwOSwgMHg3MCwg MHgyOCwgMHg0MCwgMHhBMSwgMHgwMCwgMHg2QiwgMHgxOCwgCiAgICAgICAgICAgICAgICAvKiAw MEE4ICovICAgIDB4NzIsIDB4MDYsIDB4MjEsIDB4NUIsIDB4RDgsIDB4QzIsIDB4NjgsIDB4NTAs IAogICAgICAgICAgICAgICAgLyogMDBCMCAqLyAgICAweDgwLCAweDQ1LCAweDE0LCAweDhELCAw eEUwLCAweDJDLCAweDJBLCAweDlFLCAKICAgICAgICAgICAgICAgIC8qIDAwQjggKi8gICAgMHg5 MywgMHg1MCwgMHgwMiwgMHhEQSwgMHgxQiwgMHg4MiwgMHhGMCwgMHg4QywgCiAgICAgICAgICAg ICAgICAvKiAwMEMwICovICAgIDB4RDksIDB4MTgsIDB4OUUsIDB4MTAsIDB4ODMsIDB4NTQsIDB4 ODYsIDB4MjEsIAogICAgICAgICAgICAgICAgLyogMDBDOCAqLyAgICAweDg4LCAweEI4LCAweDEx LCAweDhFLCAweEE1LCAweEZELCAweDQxLCAweDEwLCAKICAgICAgICAgICAgICAgIC8qIDAwRDAg Ki8gICAgMHhGOSwgMHhBQiwgMHhENywgMHhCOCwgMHgxRCwgMHg2OSwgMHgzNCwgMHhBOCwgCiAg ICAgICAgICAgICAgICAvKiAwMEQ4ICovICAgIDB4QjEsIDB4MjYsIDB4MzgsIDB4NzYsIDB4OEYs IDB4RTYsIDB4ODQsIDB4M0IsIAogICAgICAgICAgICAgICAgLyogMDBFMCAqLyAgICAweDE3LCAw eDIwLCAweDdELCAweDZFLCAweDAyLCAweDM5LCAweEJBLCAweEQzLCAKICAgICAgICAgICAgICAg IC8qIDAwRTggKi8gICAgMHhBOCwgMHg3MywgMHhEMCwgMHg2NCwgMHg3OCwgMHgwQywgMHgyQiwg MHhDMSwgCiAgICAgICAgICAgICAgICAvKiAwMEYwICovICAgIDB4N0YsIDB4ODAsIDB4NEYsIDB4 MDEsIDB4NzgsIDB4RDcsIDB4ODAsIDB4OUEsIAogICAgICAgICAgICAgICAgLyogMDBGOCAqLyAg ICAweEZFLCAweEMxLCAweDMzLCAweDQxLCAweDcwLCAweEE4LCAweDIxLCAweDdBLCAKICAgICAg ICAgICAgICAgIC8qIDAxMDAgKi8gICAgMHhENCwgMHhFMSwgMHg0RSwgMHhFMCwgMHhCQywgMHg4 RSwgMHg4NCwgMHg0MSwgCiAgICAgICAgICAgICAgICAvKiAwMTA4ICovICAgIDB4MUMsIDB4RDEs IDB4NzEsIDB4NjMsIDB4NjcsIDB4NzUsIDB4MzIsIDB4MDcsIAogICAgICAgICAgICAgICAgLyog MDExMCAqLyAgICAweDVELCAweEFBLCAweDAwLCAweEIzLCAweDA3LCAweDAwLCAweDBELCAweDJF LCAKICAgICAgICAgICAgICAgIC8qIDAxMTggKi8gICAgMHhDMSwgMHg2OSwgMHg5RiwgMHg0OSwg MHhFOCwgMHhGNywgMHg4MCwgMHhGMywgCiAgICAgICAgICAgICAgICAvKiAwMTIwICovICAgIDB4 RTksIDB4NzksIDB4NkMsIDB4NkMsIDB4MTAsIDB4QTgsIDB4OTEsIDB4RjksIAogICAgICAgICAg ICAgICAgLyogMDEyOCAqLyAgICAweEZGLCAweDBGLCAweEVELCAweDQxLCAweDlFLCAweDU2LCAw eENDLCAweDkwLCAKICAgICAgICAgICAgICAgIC8qIDAxMzAgKi8gICAgMHhDRiwgMHgwMiwgMHg4 NywgMHhDNSwgMHhDNCwgMHgxRSwgMHgxOSwgMHhFOCwgCiAgICAgICAgICAgICAgICAvKiAwMTM4 ICovICAgIDB4NzgsIDB4QzAsIDB4N0YsIDB4MDAsIDB4NzgsIDB4MzQsIDB4ODgsIDB4RjAsIAog ICAgICAgICAgICAgICAgLyogMDE0MCAqLyAgICAweDY2LCAweEUwLCAweEY5LCAweDlBLCAweDYw LCAweDUwLCAweDA4LCAweDM5LCAKICAgICAgICAgICAgICAgIC8qIDAxNDggKi8gICAgMHgxOSwg MHgwRiwgMHg0QSwgMHhDQywgMHhGOSwgMHg4MCwgMHhDQywgMHgyNSwgCiAgICAgICAgICAgICAg ICAvKiAwMTUwICovICAgIDB4QzQsIDB4NDMsIDB4QzAsIDB4MzEsIDB4QzQsIDB4MDgsIDB4N0Es IDB4NDYsIAogICAgICAgICAgICAgICAgLyogMDE1OCAqLyAgICAweDQ1LCAweDIzLCAweDZCLCAw eDIyLCAweDNFLCAweDAzLCAweDc4LCAweERDLCAKICAgICAgICAgICAgICAgIC8qIDAxNjAgKi8g ICAgMHg5NiwgMHgwNSwgMHg0MiwgMHgwOSwgMHgwQywgMHhFQywgMHg3MywgMHhDMywgCiAgICAg ICAgICAgICAgICAvKiAwMTY4ICovICAgIDB4M0IsIDB4ODQsIDB4NjEsIDB4NzEsIDB4QTMsIDB4 MDksIDB4RUMsIDB4RjMsIAogICAgICAgICAgICAgICAgLyogMDE3MCAqLyAgICAweDg1LCAweDA1 LCAweDBFLCAweDBBLCAweDA1LCAweEVCLCAweEJCLCAweDQyLCAKICAgICAgICAgICAgICAgIC8q IDAxNzggKi8gICAgMHhDQywgMHhFNywgMHg4MSwgMHhFMywgMHgzQywgMHg2MCwgMHgwQiwgMHg5 RiwgCiAgICAgICAgICAgICAgICAvKiAwMTgwICovICAgIDB4MjgsIDB4MDEsIDB4M0UsIDB4MjQs IDB4OEYsIDB4MDYsIDB4REUsIDB4MjAsIAogICAgICAgICAgICAgICAgLyogMDE4OCAqLyAgICAw eEUxLCAweDVCLCAweDNGLCAweDAyLCAweDEwLCAweEUwLCAweDI3LCAweDA2LCAKICAgICAgICAg ICAgICAgIC8qIDAxOTAgKi8gICAgMHgxMywgMHg1OCwgMHgxRSwgMHgzMCwgMHg3QSwgMHg5NCwg MHhGNiwgMHgyQiwgCiAgICAgICAgICAgICAgICAvKiAwMTk4ICovICAgIDB4MDAsIDB4MjEsIDB4 RjgsIDB4OEIsIDB4QzUsIDB4NTMsIDB4QzAsIDB4RUIsIAogICAgICAgICAgICAgICAgLyogMDFB MCAqLyAgICAweDQwLCAweDg0LCAweDYzLCAweDgxLCAweDI5LCAweDcyLCAweDZDLCAweDY4LCAK ICAgICAgICAgICAgICAgIC8qIDAxQTggKi8gICAgMHg3OCwgMHg3RSwgMHg3MCwgMHg4OCwgMHgx RSwgMHhGNSwgMHg1QywgMHhDMiwgCiAgICAgICAgICAgICAgICAvKiAwMUIwICovICAgIDB4MUYs IDB4NEQsIDB4OTQsIDB4NTMsIDB4MzgsIDB4MUMsIDB4MUYsIDB4MzksIAogICAgICAgICAgICAg ICAgLyogMDFCOCAqLyAgICAweDhDLCAweDEwLCAweEZFLCAweDQ5LCAweEUzLCAweEM5LCAweEMz LCAweDlBLCAKICAgICAgICAgICAgICAgIC8qIDAxQzAgKi8gICAgMHhFRiwgMHgwMCwgMHg5QSwg MHhEMiwgMHg1QiwgMHhDMCwgMHhGQiwgMHg4MywgCiAgICAgICAgICAgICAgICAvKiAwMUM4ICov ICAgIDB4NDcsIDB4ODAsIDB4MTEsIDB4MjAsIDB4RTEsIDB4NjgsIDB4ODIsIDB4ODksIAogICAg ICAgICAgICAgICAgLyogMDFEMCAqLyAgICAweDdDLCAweDNBLCAweDAxLCAweEQ1LCAweEZGLCAw eEZGLCAweDc0LCAweDAyLCAKICAgICAgICAgICAgICAgIC8qIDAxRDggKi8gICAgMHhCOCwgMHhC QSwgMHgwMSwgMHgxNCwgMHgzNywgMHg2QSwgMHg5RCwgMHg0OSwgCiAgICAgICAgICAgICAgICAv KiAwMUUwICovICAgIDB4N0MsIDB4MkMsIDB4RjEsIDB4QUQsIDB4RTQsIDB4QkMsIDB4NDMsIDB4 QzUsIAogICAgICAgICAgICAgICAgLyogMDFFOCAqLyAgICAweDdGLCAweDkzLCAweDc4LCAweDNB LCAweEYxLCAweDM0LCAweDFFLCAweDRDLCAKICAgICAgICAgICAgICAgIC8qIDAxRjAgKi8gICAg MHg0MiwgMHg0NCwgMHg4OSwgMHgxOCwgMHgyMSwgMHhBMiwgMHhFRiwgMHgyNywgCiAgICAgICAg ICAgICAgICAvKiAwMUY4ICovICAgIDB4NDYsIDB4MDgsIDB4MTUsIDB4MzEsIDB4NkMsIDB4QTQs IDB4MzcsIDB4ODAsIAogICAgICAgICAgICAgICAgLyogMDIwMCAqLyAgICAweEU3LCAweDEzLCAw eEUzLCAweDg0LCAweDA4LCAweEY0LCAweDc0LCAweEMyLCAKICAgICAgICAgICAgICAgIC8qIDAy MDggKi8gICAgMHg0MiwgMHgzRSwgMHgzNCwgMHhBNCwgMHhFMSwgMHg3NCwgMHgwMiwgMHg1MCwg CiAgICAgICAgICAgICAgICAvKiAwMjEwICovICAgIDB4RTAsIDB4RkYsIDB4N0YsIDB4M0EsIDB4 ODEsIDB4MUYsIDB4RjUsIDB4NzQsIAogICAgICAgICAgICAgICAgLyogMDIxOCAqLyAgICAweDgy LCAweDFFLCAweEFFLCAweDRGLCAweDE5LCAweDE4LCAweEU0LCAweDAzLCAKICAgICAgICAgICAg ICAgIC8qIDAyMjAgKi8gICAgMHhGMiwgMHhBOSwgMHhDMywgMHhGNywgMHgxRiwgMHgxMywgMHhG OCwgMHg3OCwgCiAgICAgICAgICAgICAgICAvKiAwMjI4ICovICAgIDB4QzIsIDB4NDUsIDB4MUQs IDB4NEYsIDB4NTAsIDB4QTcsIDB4MDcsIDB4MUYsIAogICAgICAgICAgICAgICAgLyogMDIzMCAq LyAgICAweDRGLCAweEQ4LCAweDE5LCAweEUxLCAweDJDLCAweDFFLCAweDAzLCAweDdDLCAKICAg ICAgICAgICAgICAgIC8qIDAyMzggKi8gICAgMHgzQSwgMHhDMSwgMHhEQywgMHgxMywgMHg3Qywg MHgzQSwgMHgwMSwgMHhEQiwgCiAgICAgICAgICAgICAgICAvKiAwMjQwICovICAgIDB4NjgsIDB4 NjAsIDB4MUMsIDB4NEYsIDB4QzAsIDB4NzcsIDB4NzQsIDB4QzEsIAogICAgICAgICAgICAgICAg LyogMDI0OCAqLyAgICAweDFELCAweDRGLCAweEMwLCAweDMwLCAweDE4LCAweDE4LCAweEU3LCAw eDEzLCAKICAgICAgICAgICAgICAgIC8qIDAyNTAgKi8gICAgMHhFMCwgMHgzMSwgMHg1RSwgMHhE QywgMHgzMSwgMHhDMCwgMHg0MywgMHhFMCwgCiAgICAgICAgICAgICAgICAvKiAwMjU4ICovICAg IDB4MDMsIDB4NzgsIDB4REMsIDB4MzgsIDB4M0QsIDB4MkIsIDB4OUQsIDB4MTQsIAogICAgICAg ICAgICAgICAgLyogMDI2MCAqLyAgICAweEYyLCAweDI0LCAweEMyLCAweDA3LCAweDg1LCAweDM5 LCAweEIwLCAweEUwLCAKICAgICAgICAgICAgICAgIC8qIDAyNjggKi8gICAgMHgxNCwgMHhEQSwg MHhGNCwgMHhBOSwgMHhEMSwgMHhBOCwgMHg1NSwgMHg4MywgCiAgICAgICAgICAgICAgICAvKiAw MjcwICovICAgIDB4MzIsIDB4MzUsIDB4Q0EsIDB4MzQsIDB4QTgsIDB4RDUsIDB4QTcsIDB4NTIs IAogICAgICAgICAgICAgICAgLyogMDI3OCAqLyAgICAweDYzLCAweEM2LCAweENFLCAweDE5LCAw eDBFLCAweEY4LCAweDEwLCAweEQwLCAKICAgICAgICAgICAgICAgIC8qIDAyODAgKi8gICAgMHg4 OSwgMHhDMCwgMHhGMiwgMHg5RSwgMHgwRCwgMHgwMiwgMHhCMSwgMHgwQywgCiAgICAgICAgICAg ICAgICAvKiAwMjg4ICovICAgIDB4MEEsIDB4ODEsIDB4NTgsIDB4RkEsIDB4QUIsIDB4NDUsIDB4 MjAsIDB4MEUsIAogICAgICAgICAgICAgICAgLyogMDI5MCAqLyAgICAweDBFLCAweEEyLCAweEZG LCAweDNGLCAweDg4LCAweDIzLCAweEQyLCAweDBBLCAKICAgICAgICAgICAgICAgIC8qIDAyOTgg Ki8gICAgMHhDNCwgMHhGRiwgMHg3RiwgMHg3RgogICAgICAgICAgICB9KQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoX1NCLlBDSTAuUEVHUC5WR0EpCiAgICB7CiAgICAgICAgTWV0aG9kIChN WE1JLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEdJMTcpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlICgiPDwgIFpSNiBpcyBub3QgdXNlIE1Y TSAgPj4gIiwgRGVidWcpCiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAg IH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MzApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoTVhNUywgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoIjw8ICBaUjYgaXMgbm90IHVzZSBNWE0gID4+ICIs IERlYnVnKQogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CiAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChNWDMwKQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBOYW1lIChNWDMwLCBCdWZmZXIgKDB4MkQp CiAgICAgICAgewogICAgICAgICAgICAvKiAwMDAwICovICAgIDB4NEQsIDB4NTgsIDB4NEQsIDB4 NUYsIDB4MDMsIDB4MDAsIDB4MjUsIDB4MDAsIAogICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4 MzAsIDB4MTEsIDB4QjgsIDB4RkYsIDB4RjksIDB4M0UsIDB4MEEsIDB4MDAsIAogICAgICAgICAg ICAvKiAwMDEwICovICAgIDB4MDAsIDB4MDAsIDB4OEEsIDB4RkQsIDB4RjksIDB4M0UsIDB4MEEs IDB4MDAsIAogICAgICAgICAgICAvKiAwMDE4ICovICAgIDB4MjAsIDB4MjksIDB4RDIsIDB4RkMs IDB4RjksIDB4M0UsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAvKiAwMDIwICovICAgIDB4MDEs IDB4OTAsIDB4MDEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4OTAsIDB4MDEsIAogICAgICAgICAgICAv KiAwMDI4ICovICAgIDB4MTMsIDB4MDAsIDB4OTAsIDB4MDEsIDB4NkUKICAgICAgICB9KQogICAg ICAgIE1ldGhvZCAoX0RTTSwgNCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAg IE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBTdG9yZSAoIjw8ICBaUjYgaXMgbm90IHVzZSBNWE0gID4+ICIsIERlYnVn KQogICAgICAgICAgICAgICAgU3RvcmUgKCJfRFNNIEZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQiLCBE ZWJ1ZykKICAgICAgICAgICAgICAgIFJldHVybiAoMHg4MDAwMDAwMikKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgSWYgKExFcXVhbCAoVUNNUCAoQXJnMCwgQnVmZmVyICgweDEwKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICov ICAgIDB4MDAsIDB4QTQsIDB4MDQsIDB4NDAsIDB4N0QsIDB4OTEsIDB4RjIsIDB4NEMsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweEI4LCAweDlDLCAweDc5LCAw eEI2LCAweDJGLCAweEQ1LCAweDU2LCAweDY1CiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBP bmUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gVVVJRCBpcyBN WE0sIFN1Yi1mdW5jdGlvbiA9ICIsIERlYnVnKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIs IERlYnVnKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIF9UXzApCiAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChfVF8wLCBaZXJvKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gMCIsIERlYnVnKQogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMTAxMDA2MSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChf VF8wLCAweDE4KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgiX0RTTSBGdW5jdGlvbiAyNCIsIERlYnVnKQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MzApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF9UXzAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gMTYiLCBEZWJ1ZykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTVgzMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgiX0RTTSBGdW5jdGlvbiA1IiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKCJBcmczID0gIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzMsIERlYnVnKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTVhEUCAoQXJnMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwg MHgwNikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gNiIsIERlYnVnKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE1EVEwpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gbm90 IHN1cHBvcnRlZCIsIERlYnVnKQogICAgICAgICAgICBSZXR1cm4gKDB4ODAwMDAwMDIpCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKFVDTVAsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoTE5vdEVxdWFsICgweDEwLCBTaXplT2YgKEFyZzApKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAg ICAgICBJZiAoTE5vdEVxdWFsICgweDEwLCBTaXplT2YgKEFyZzEpKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBT dG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsMCwgMHgx MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKERlcmVmT2Yg KEluZGV4IChBcmcwLCBMb2NhbDApKSwgRGVyZWZPZiAoSW5kZXggKAogICAgICAgICAgICAgICAg ICAgIEFyZzEsIExvY2FsMCkpKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSW5jcmVt ZW50IChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoT25lKQogICAg ICAgIH0KCiAgICAgICAgTmFtZSAoVExTTiwgMHgwMTAwKQogICAgICAgIE1ldGhvZCAoTVhEUCwg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChBbmQgKERlcmVmT2Yg KEluZGV4IChBcmcwLCAweDAzKSksIE9uZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEFuZCAoRGVyZWZPZiAoSW5kZXggKEFyZzAsIE9uZSkpLCAweEYwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICBBbmQgKERlcmVmT2YgKEluZGV4IChBcmcwLCBaZXJvKSksIDB4MEYsIExvY2FsMSkK ICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIExvY2FsMSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgU3RvcmUgKFVORFMgKExvY2FsMCksIExvY2FsMikKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMiwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMTAwLCBUTFNOKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMTAxKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMiwgMHgw MikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIwMCwg VExTTikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIwMSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDIsIDB4MDMpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzMDAsIFRMU04pCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAzMDEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoTG9jYWwyLCAweDA0KSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwNDAwLCBUTFNOKQogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwNDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMiwgMHgwNSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDUwMCwgVExTTikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDUwMSkK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDIsIDB4 MDgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA2MDAs IFRMU04pCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA2MDEpCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwyLCAweDA5KSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNzAwLCBUTFNOKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwNzAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxMDAsIFRMU04pCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxMDEpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBSZXR1cm4gKFRMU04pCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAg ICAgIE5hbWUgKE1EVEwsIFBhY2thZ2UgKDB4MEMpCiAgICAgICAgewogICAgICAgICAgICAweDAx MTAsIAogICAgICAgICAgICAweDJDLCAKICAgICAgICAgICAgMHg4MDAwMDEwMCwgCiAgICAgICAg ICAgIDB4MkMsIAogICAgICAgICAgICAweDAxMTAsIAogICAgICAgICAgICAweDgwMDAwMTAwLCAK ICAgICAgICAgICAgMHgyQywgCiAgICAgICAgICAgIDB4ODAwODczMzAsIAogICAgICAgICAgICAw eDJDLCAKICAgICAgICAgICAgMHgwMTEwLCAKICAgICAgICAgICAgMHg4MDA4NzMzMCwgCiAgICAg ICAgICAgIDB4MkMKICAgICAgICB9KQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkKICAgIHsK ICAgICAgICBOYW1lIChESVNXLCBPbmUpCiAgICAgICAgTmFtZSAoU1dJVCwgT25lKQogICAgICAg IE5hbWUgKExDREEsIE9uZSkKICAgICAgICBOYW1lIChDUlRBLCBPbmUpCiAgICAgICAgTmFtZSAo SERNQSwgT25lKQogICAgICAgIE5hbWUgKERQMEEsIE9uZSkKICAgICAgICBOYW1lIChQRFNQLCBa ZXJvKQogICAgICAgIE5hbWUgKENEU1AsIFplcm8pCiAgICAgICAgTWV0aG9kIChEUlVMLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MDYsIFpl cm8pLCBDRFNQKQogICAgICAgICAgICBVTkRTIChDRFNQKQogICAgICAgICAgICBOb3RpZnkgKF5Q RUdQLlZHQSwgMHg4MCkKICAgICAgICB9CgogICAgICAgIE5hbWUgKFRHTFQsIFBhY2thZ2UgKDB4 MDgpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25l LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAg fSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBPbmUsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBPbmUsIAog ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgIFBhY2thZ2UgKDB4MEEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9u ZSwgCiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAg ICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MDQs IAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAg ICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgUGFja2FnZSAoMHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAKICAg ICAgICAgICAgICAgIDB4MDksIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25l LCAKICAgICAgICAgICAgICAgIDB4MDgKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDBBKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAg ICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDIs IAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAog ICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAg ICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAg T25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgMHgwOAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MEEp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICAweDA1 LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAg ICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgIE9uZSwg CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAg ICAgIDB4MDgKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgMHgwMywgCiAg ICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAg ICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IDB4MDgKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoVEdMUCwgWmVybykK ICAgICAgICBNZXRob2QgKFVORFMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAg ICAgICBTdG9yZSAoU2hpZnRSaWdodCAoQW5kIChBcmcwLCAweEYwKSwgMHgwNCksIExvY2FsMCkK ICAgICAgICAgICAgQW5kIChBcmcwLCAweDBGLCBMb2NhbDEpCiAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMSwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIFRHTFApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDMpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFRHTFApCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDA1KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBUR0xQKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgVEdM UCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKExvY2FsMSwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIFRHTFApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBU R0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MEQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwgVEdMUCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwRikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIFRHTFApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFN0 b3JlIChEZXJlZk9mIChJbmRleCAoRGVyZWZPZiAoSW5kZXggKFRHTFQsIFRHTFApKSwgTG9jYWww KSksIAogICAgICAgICAgICAgICAgTG9jYWwyKQogICAgICAgICAgICBTaGlmdFJpZ2h0IChBbmQg KExvY2FsMiwgT25lKSwgWmVybywgTENEQSkKICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChM b2NhbDIsIDB4MDIpLCBPbmUsIENSVEEpCiAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoTG9j YWwyLCAweDA0KSwgMHgwMiwgSERNQSkKICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChMb2Nh bDIsIDB4MDgpLCAweDAzLCBEUDBBKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMikKICAgICAg ICB9CiAgICB9CgogICAgTmFtZSAoX1MwLCBQYWNrYWdlICgweDA0KQogICAgewogICAgICAgIFpl cm8sIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8KICAgIH0pCiAg ICBOYW1lIChfUzMsIFBhY2thZ2UgKDB4MDQpCiAgICB7CiAgICAgICAgMHgwNSwgCiAgICAgICAg WmVybywgCiAgICAgICAgWmVybywgCiAgICAgICAgWmVybwogICAgfSkKICAgIE5hbWUgKF9TNCwg UGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA2LCAKICAgICAgICBaZXJvLCAKICAgICAg ICBaZXJvLCAKICAgICAgICBaZXJvCiAgICB9KQogICAgTmFtZSAoX1M1LCBQYWNrYWdlICgweDA0 KQogICAgewogICAgICAgIDB4MDcsIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8sIAogICAg ICAgIFplcm8KICAgIH0pCiAgICBTY29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChTU0RULCBQ YWNrYWdlICgweDBDKQogICAgICAgIHsKICAgICAgICAgICAgIkNQVTBJU1QgIiwgCiAgICAgICAg ICAgIDB4N0ZEMUFDQTAsIAogICAgICAgICAgICAweDAwMDAwMjIzLCAKICAgICAgICAgICAgIkFQ SVNUICAgIiwgCiAgICAgICAgICAgIDB4N0ZEMUFBMjAsIAogICAgICAgICAgICAweDAwMDAwMUNG LCAKICAgICAgICAgICAgIkNQVTBDU1QgIiwgCiAgICAgICAgICAgIDB4N0ZEMTk2MjAsIAogICAg ICAgICAgICAweDAwMDAwNUIzLCAKICAgICAgICAgICAgIkFQQ1NUICAgIiwgCiAgICAgICAgICAg IDB4N0ZEMUFGMjAsIAogICAgICAgICAgICAweDAwMDAwMDhECiAgICAgICAgfSkKICAgICAgICBO YW1lIChDRkdELCAweDE1M0IwODcxKQogICAgICAgIE5hbWUgKFxQREMwLCAweDgwMDAwMDAwKQog ICAgICAgIE5hbWUgKFxQREMxLCAweDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMyLCAweDgw MDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMzLCAweDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxT RFRMLCBaZXJvKQogICAgfQoKICAgIFNjb3BlIChcX1BSLkNQVTApCiAgICB7CiAgICAgICAgTmFt ZSAoSEkwLCBaZXJvKQogICAgICAgIE5hbWUgKEhDMCwgWmVybykKICAgICAgICBNZXRob2QgKF9Q REMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQ1BEQyAo QXJnMCksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChDT1NDIChBcmcwLCBBcmcxLCBBcmcy LCBBcmczKSwgTG9jYWwwKQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDUERDLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVy bywgUkVWUykKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgU0laRSkK ICAgICAgICAgICAgU3RvcmUgKFNpemVPZiAoQXJnMCksIExvY2FsMCkKICAgICAgICAgICAgU3Rv cmUgKFN1YnRyYWN0IChMb2NhbDAsIDB4MDgpLCBMb2NhbDEpCiAgICAgICAgICAgIENyZWF0ZUZp ZWxkIChBcmcwLCAweDQwLCBNdWx0aXBseSAoTG9jYWwxLCAweDA4KSwgVEVNUCkKICAgICAgICAg ICAgTmFtZSAoU1RTMCwgQnVmZmVyICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIENvbmNh dGVuYXRlIChTVFMwLCBURU1QLCBMb2NhbDIpCiAgICAgICAgICAgIFJldHVybiAoQ09TQyAoQnVm ZmVyICgweDEwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAg Ki8gICAgMHgxNiwgMHhBNiwgMHg3NywgMHg0MCwgMHgwQywgMHgyOSwgMHhCRSwgMHg0NywgCiAg ICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDlFLCAweEJELCAweEQ4LCAweDcwLCAw eDU4LCAweDcxLCAweDM5LCAweDUzCiAgICAgICAgICAgICAgICB9LCBSRVZTLCBTSVpFLCBMb2Nh bDIpKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDT1NDLCA0LCBOb3RTZXJpYWxpemVkKQog ICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMywgWmVybywgU1RTMCkK ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMywgMHgwNCwgQ0FQMCkKICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVybywgSUlEMCkKICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgSUlEMSkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQXJnMCwgMHgwOCwgSUlEMikKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwg MHgwQywgSUlEMykKICAgICAgICAgICAgTmFtZSAoVUlEMCwgQnVmZmVyICgweDEwKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MTYsIDB4QTYsIDB4NzcsIDB4 NDAsIDB4MEMsIDB4MjksIDB4QkUsIDB4NDcsIAogICAgICAgICAgICAgICAgLyogMDAwOCAqLyAg ICAweDlFLCAweEJELCAweEQ4LCAweDcwLCAweDU4LCAweDcxLCAweDM5LCAweDUzCiAgICAgICAg ICAgIH0pCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIFplcm8sIEVJRDApCiAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIDB4MDQsIEVJRDEpCiAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIDB4MDgsIEVJRDIpCiAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKFVJRDAsIDB4MEMsIEVJRDMpCiAgICAgICAgICAgIElmIChMTm90IChMQW5kIChM QW5kIChMRXF1YWwgKElJRDAsIEVJRDApLCBMRXF1YWwgKElJRDEsIEVJRDEpKSwgCiAgICAgICAg ICAgICAgICBMQW5kIChMRXF1YWwgKElJRDIsIEVJRDIpLCBMRXF1YWwgKElJRDMsIEVJRDMpKSkp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwgU1RTMCkKICAgICAg ICAgICAgICAgIFJldHVybiAoQXJnMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExO b3RFcXVhbCAoQXJnMSwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUg KDB4MEEsIFNUUzApCiAgICAgICAgICAgICAgICBSZXR1cm4gKEFyZzMpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIFJldHVybiAoQXJnMykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NB UCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEFyZzAsIFplcm8sIFNUUzApCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAs IDB4MDQsIENBUDApCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMCwgMHgwNiksIExF cXVhbCAoU1RTMCwgMHgwQSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzAsIE9uZSkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFuZCAoQ0FQMCwgMHgwQkZGLCBDQVAwKQogICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAo QW5kIChQREMwLCAweDdGRkZGRkZGKSwgQ0FQMCwgUERDMCkKICAgICAgICAgICAgSWYgKEFuZCAo Q0ZHRCwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExBbmQgKExBbmQg KEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCksIExFcXVhbCAoQW5kIChQREMwLCAKICAgICAgICAgICAg ICAgICAgICAweDA5KSwgMHgwOSkpLCBMTm90IChBbmQgKFNEVEwsIE9uZSkpKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoU0RUTCwgT25lLCBTRFRMKQogICAgICAg ICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSVNUMCwgU3lzdGVtTWVtb3J5LCBEZXJlZk9m IChJbmRleCAoU1NEVCwgT25lKSksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDAyCiAgICAgICAg ICAgICAgICAgICAgICAgICkpKQogICAgICAgICAgICAgICAgICAgIExvYWQgKElTVDAsIEhJMCkK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZH RCwgMHhGMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChMQW5kIChB bmQgKENGR0QsIDB4MDEwMDAwMDApLCBBbmQgKFBEQzAsIDB4MTgKICAgICAgICAgICAgICAgICAg ICApKSwgTE5vdCAoQW5kIChTRFRMLCAweDAyKSkpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE9yIChTRFRMLCAweDAyLCBTRFRMKQogICAgICAgICAgICAgICAgICAgIE9w ZXJhdGlvblJlZ2lvbiAoQ1NUMCwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NEVCwg MHgwNykpLCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwOAogICAgICAgICAgICAgICAgICAgICAg ICApKSkKICAgICAgICAgICAgICAgICAgICBMb2FkIChDU1QwLCBIQzApCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMSkKICAgIHsKICAgICAgICBOYW1lIChISTEsIFplcm8p CiAgICAgICAgTmFtZSAoSEMxLCBaZXJvKQogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ1BEQyAoQXJn MCksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ09TQyAoQXJnMCwgQXJn MSwgQXJnMiwgQXJnMyksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAg ICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NBUCwgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIFplcm8sIFNUUzEpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQs IENBUDEpCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMSwgMHgwNiksIExFcXVhbCAo U1RTMSwgMHgwQSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8p CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzEsIE9uZSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIEFuZCAoQ0FQMSwgMHgwQkZGLCBDQVAxKQogICAgICAgICAg ICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAoQW5kIChQ REMxLCAweDdGRkZGRkZGKSwgQ0FQMSwgUERDMSkKICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5k IChQREMwLCAweDA5KSwgMHgwOSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFQUFQg KCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoUERDMCwgMHgxOCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIEFQQ1QgKCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgUmV0dXJuIChaZXJvKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBUENULCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHhG MCksIExOb3QgKEFuZCAoU0RUTCwgMHgyMAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBPciAoU0RUTCwgMHgyMCwgU0RUTCkKICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoQ1NUMSwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NE VCwgMHgwQSkpLCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwQgogICAgICAgICAgICAgICAgICAg ICkpKQogICAgICAgICAgICAgICAgTG9hZCAoQ1NUMSwgSEMxKQogICAgICAgICAgICB9CiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEFQUFQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCBPbmUpLCBMTm90IChBbmQgKFNEVEwsIDB4 MTAKICAgICAgICAgICAgICAgICkpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT3Ig KFNEVEwsIDB4MTAsIFNEVEwpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKElTVDEs IFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDQpKSwgRGVyZWZPZiAoSW5k ZXggKFNTRFQsIDB4MDUKICAgICAgICAgICAgICAgICAgICApKSkKICAgICAgICAgICAgICAgIExv YWQgKElTVDEsIEhJMSkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAo XF9QUi5DUFUyKQogICAgewogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ1BEQyAoQXJnMCksIExvY2Fs MCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkK ICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFsaXplZCkKICAgICAg ICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ09TQyAoQXJnMCwgQXJnMSwgQXJnMiwg QXJnMyksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NBUCwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIFplcm8s IFNUUzIpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQsIENBUDIpCiAg ICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMiwgMHgwNiksIExFcXVhbCAoU1RTMiwgMHgw QSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzIsIE9uZSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIEFuZCAoQ0FQMiwgMHgwQkZGLCBDQVAyKQogICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAoQW5kIChQREMyLCAweDdG RkZGRkZGKSwgQ0FQMiwgUERDMikKICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChQREMyLCAw eDA5KSwgMHgwOSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfUFIuQ1BVMS5BUFBU ICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFBEQzIsIDB4MTgpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1BSLkNQVTEuQVBDVCAoKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChc X1BSLkNQVTMpCiAgICB7CiAgICAgICAgTWV0aG9kIChfUERDLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFxfUFIuQ1BVMC5DUERDIChBcmcwKSwgTG9jYWww KQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfT1NDLCA0LCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgU3RvcmUgKFxfUFIuQ1BVMC5DT1NDIChBcmcwLCBBcmcxLCBBcmcyLCBB cmczKSwgTG9jYWwwKQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJldHVy biAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChHQ0FQLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVybywg U1RTMykKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgQ0FQMykKICAg ICAgICAgICAgSWYgKExPciAoTEVxdWFsIChTVFMzLCAweDA2KSwgTEVxdWFsIChTVFMzLCAweDBB KSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoU1RTMywgT25lKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgQW5kIChDQVAzLCAweDBCRkYsIENBUDMpCiAgICAgICAgICAgICAgICBSZXR1 cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9yIChBbmQgKFBEQzMsIDB4N0ZG RkZGRkYpLCBDQVAzLCBQREMzKQogICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFBEQzIsIDB4 MDkpLCAweDA5KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9QUi5DUFUxLkFQUFQg KCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoUERDMiwgMHgxOCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFxfUFIuQ1BVMS5BUENUICgpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICB9CiAgICB9CgogICAgU2NvcGUgKFxf UFIuQ1BVMCkKICAgIHsKICAgICAgICBOYW1lIChfVFBDLCBaZXJvKQogICAgICAgIE1ldGhvZCAo X1BUQywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChBbmQgKFBE QzAsIDB4MDQpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1w bGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVn aXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAg ICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAg ICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCkKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAg ICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIAogICAgICAgICAgICAgICAgICAgICAg ICAweDA0LCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMDAwMDAwNDEwLCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAg ICwpCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3Rl bUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwgICAgICAgICAgICAgICAvLyBCaXQg V2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBCaXQg T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDQxMCwgLy8gQWRk cmVzcwogICAgICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9KQogICAgICAgIH0KCiAgICAgICAgTmFtZSAoVFNTSSwgUGFja2FnZSAoMHgwOCkKICAg ICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgMHgwM0U4LCAKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgMHg1OCwgCiAgICAgICAgICAgICAgICAweDAzNkIsIAogICAgICAgICAgICAgICAg WmVybywgCiAgICAgICAgICAgICAgICAweDBGLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDRCLCAKICAgICAgICAgICAgICAgIDB4MDJFRSwgCiAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAgWmVybwogICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIDB4M0YsIAogICAgICAgICAgICAgICAgMHgwMjcxLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICBaZXJvCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAweDAxRjQsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDBDLCAKICAgICAgICAgICAgICAgIFplcm8K ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDI2LCAKICAgICAgICAgICAgICAgIDB4MDE3NywgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEIsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MTksIAogICAgICAgICAgICAgICAgMHhGQSwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MEQsIAogICAgICAgICAgICAgICAgMHg3RCwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MDksIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChUU1NNLCBQYWNrYWdlICgw eDA4KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHg2NCwgCiAgICAgICAgICAgICAgICAweDAzRTgsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8K ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDU4LCAKICAgICAgICAgICAgICAgIDB4MDM2QiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MUUsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4NEIsIAogICAgICAgICAgICAgICAgMHgwMkVFLCAKICAgICAg ICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxQywgCiAgICAgICAgICAgICAgICBa ZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgMHgzRiwgCiAgICAgICAgICAgICAgICAweDAyNzEsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDFBLCAKICAgICAgICAgICAgICAg IFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDMyLCAKICAgICAgICAgICAgICAgIDB4MDFGNCwgCiAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTgsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MjYsIAogICAgICAgICAgICAgICAgMHgwMTc3LCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxNiwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgxOSwgCiAgICAgICAgICAgICAgICAweEZBLCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxNCwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICAweDdELCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMiwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFRTU0YsIFpl cm8pCiAgICAgICAgTWV0aG9kIChfVFNTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgSWYgKExBbmQgKExOb3QgKFRTU0YpLCBDb25kUmVmT2YgKF9QU1MpKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKF9QU1MsIExvY2FsMCkKICAgICAgICAgICAg ICAgIFN0b3JlIChTaXplT2YgKExvY2FsMCksIExvY2FsMSkKICAgICAgICAgICAgICAgIERlY3Jl bWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChEZXJl Zk9mIChJbmRleCAoTG9jYWwwLCBMb2NhbDEpKSwgT25lKSksIAogICAgICAgICAgICAgICAgICAg IExvY2FsMikKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDMpCiAgICAgICAgICAg ICAgICBXaGlsZSAoTExlc3MgKExvY2FsMywgU2l6ZU9mIChUU1NJKSkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERpdmlkZSAoTXVsdGlwbHkgKExvY2FsMiwg U3VidHJhY3QgKDB4MDgsIExvY2FsMykpLCAweDA4LCAKICAgICAgICAgICAgICAgICAgICAgICAg KSwgTG9jYWw0KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDQsIEluZGV4IChEZXJl Zk9mIChJbmRleCAoVFNTSSwgTG9jYWwzKSksIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKExvY2FsNCwgSW5kZXggKERlcmVmT2YgKEluZGV4IChUU1NNLCBMb2NhbDMpKSwgT25lKSkK ICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMykKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBTdG9yZSAoT25lcywgVFNTRikKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKEFuZCAoUERDMCwgMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJldHVybiAoVFNTTSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChUU1NJKQog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfVFNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHgwMDgwMDAwMCksIExOb3QgKEFu ZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQs IAogICAgICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAo Q0ZHRCwgMHgwMTAwMDAwMCksIExOb3QgKEFuZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAg KSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAg ICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAy CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAg IFplcm8sIAogICAgICAgICAgICAgICAgICAgIDB4RkMsIAogICAgICAgICAgICAgICAgICAgIE9u ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0KCiAgICBT Y29wZSAoXF9QUi5DUFUxKQogICAgewogICAgICAgIE5hbWUgKF9UUEMsIFplcm8pCiAgICAgICAg TWV0aG9kIChfUFRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgUmV0 dXJuIChcX1BSLkNQVTAuX1BUQyAoKSkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX1RTUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoXF9QUi5DUFUw Ll9UU1MgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9UU0QsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAwODAwMDAw KSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAgICAgICAgICAgICApKSkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgICAg IFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAo TEFuZCAoQW5kIChDRkdELCAweDAxMDAwMDAwKSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAg ICAgICAgICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFj a2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgw NSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgICAgICAweEZDLCAKICAgICAgICAgICAg ICAgICAgICBPbmUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMikKICAgIHsKICAgICAgICBOYW1lIChfVFBDLCBaZXJv KQogICAgICAgIE1ldGhvZCAoX1BUQywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAg ICAgICAgIFJldHVybiAoXF9QUi5DUFUwLl9QVEMgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRo b2QgKF9UU1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4g KFxfUFIuQ1BVMC5fVFNTICgpKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfVFNELCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwg MHgwMDgwMDAwMCksIExOb3QgKEFuZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAgKSkpKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCksIExOb3QgKEFuZCAoUERDMCwg MHgwNAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAyCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4RkMsIAog ICAgICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoXF9QUi5DUFUzKQogICAgewogICAgICAgIE5hbWUg KF9UUEMsIFplcm8pCiAgICAgICAgTWV0aG9kIChfUFRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgUmV0dXJuIChcX1BSLkNQVTAuX1BUQyAoKSkKICAgICAgICB9Cgog ICAgICAgIE1ldGhvZCAoX1RTUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIFJldHVybiAoXF9QUi5DUFUwLl9UU1MgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KF9UU0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAo QW5kIChDRkdELCAweDAwODAwMDAwKSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAgICAgICAg ICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAo MHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1 KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDQKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAxMDAwMDAwKSwgTE5vdCAo QW5kIChQREMwLCAweDA0CiAgICAgICAgICAgICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhG RCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2th Z2UgKDB4MDEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAg ICAgMHhGQywgCiAgICAgICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0pCiAgICAgICAgfQogICAgfQp9Cgo= --bcaec52e6005466829049f65d53e--