From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1220 invoked by alias); 6 Feb 2003 11:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 1199 invoked by uid 71); 6 Feb 2003 11:56:00 -0000 Resent-Date: 6 Feb 2003 11:56:00 -0000 Resent-Message-ID: <20030206115600.1198.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, sanjivg@noida.hcltech.com Resent-Reply-To: gcc-gnats@gcc.gnu.org, naveens@noida.hcltech.com Received: (qmail 29838 invoked by uid 48); 6 Feb 2003 11:52:06 -0000 Message-Id: <20030206115206.29837.qmail@sources.redhat.com> Date: Thu, 06 Feb 2003 11:56:00 -0000 From: naveens@noida.hcltech.com Reply-To: naveens@noida.hcltech.com To: gcc-gnats@gcc.gnu.org Cc: sanjivg@noida.hcltech.com X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: sanjivg@noida.hcltech.com Subject: target/9594: [sh4-elf] (Regression 3.3, 3.4) Assembler complains pcrel too far. X-SW-Source: 2003-02/txt/msg00297.txt.bz2 List-Id: >Number: 9594 >Category: target >Synopsis: [sh4-elf] (Regression 3.3, 3.4) Assembler complains pcrel too far. >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Thu Feb 06 11:56:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Naveen Sharma >Release: gcc version 3.3 20030127 (prerelease) >Organization: >Environment: System: Linux 2.4.18-3i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: sh-unknown-elf configured with: ../GCC_RELEASE/configure --target=sh-elf --prefix=/home/naveens/release_tools/ --enable-languages=c --with-newlib >Description: The assembler(binutils 2.13) complains about the code generated by GCC. The TC is attached alongwith. >How-To-Repeat: Compile the attached file as follows: $ sh-elf-gcc -c -ml -m4 -O2 BUG_PC_REL.c The assembler complains: /tmp/cco6KAW2.s:108: Error: pcrel too far /tmp/cco6KAW2.s:116: Error: pcrel too far The program compiles with earlier snapshots(03052003 experimental), without any problems. >Fix: A workaround is possible for this TC. The problem seems to be in delayed branch scheduling pass, and probably stems from target specific code. The file compiles with $ sh-elf-gcc -c -ml -m4 -O2 BUG_PC_REL.c -fno-delayed-branch >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="BUG_PC_REL.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="BUG_PC_REL.c" aW50IEFTU0lHTiAoaW50LCBpbnQsIGludCk7DQoNCmludCBmb29fYmFyICgpDQp7DQoNCiAgc3Ry dWN0DQogIHsNCiAgICBzaWduZWQgY2hhciBzYzsNCiAgICB1bnNpZ25lZCBjaGFyIHVjOw0KICAg IGNoYXIgYzsNCiAgICBzaG9ydCBzOw0KICAgIGludCBpOw0KICAgIHVuc2lnbmVkIHNob3J0IHVz Ow0KICAgIHVuc2lnbmVkIGludCB1aTsNCiAgICBsb25nIGw7DQogICAgdW5zaWduZWQgbG9uZyB1 bDsNCiAgICBmbG9hdCBmOw0KICAgIGRvdWJsZSBkOw0KICAgIGxvbmcgZG91YmxlIGxkOw0KICB9 IEFMTF9DX1NUUlVDVDsNCg0KICBBTExfQ19TVFJVQ1QuYyA9IDc7DQogIEFMTF9DX1NUUlVDVC5z YyA9IDg7DQogIEFMTF9DX1NUUlVDVC5zID0gOTsNCiAgQUxMX0NfU1RSVUNULmkgPSAxMDsNCiAg QUxMX0NfU1RSVUNULnVjID0gMTE7DQogIEFMTF9DX1NUUlVDVC51cyA9IDEyOw0KICBBTExfQ19T VFJVQ1QudWkgPSAxMzsNCiAgQUxMX0NfU1RSVUNULmwgPSAxNDsNCiAgQUxMX0NfU1RSVUNULnVs ID0gMTU7DQogIEFMTF9DX1NUUlVDVC5mID0gMTY7DQogIEFMTF9DX1NUUlVDVC5kID0gMTc7DQog IEFMTF9DX1NUUlVDVC5sZCA9IDE4Ow0KDQogICAgYXV0byBjaGFyIEFjID0gNzsNCg0KICAgIGF1 dG8gc2lnbmVkIGNoYXIgQXNjID0gODsNCg0KICAgIGF1dG8gc2hvcnQgQXMgPSA5Ow0KICAgIGF1 dG8gaW50IEFpID0gMTA7DQogICAgYXV0byB1bnNpZ25lZCBjaGFyIEF1YyA9IDExOw0KICAgIGF1 dG8gdW5zaWduZWQgc2hvcnQgQXVzID0gMTI7DQogICAgYXV0byB1bnNpZ25lZCBpbnQgQXVpID0g MTM7DQogICAgYXV0byBsb25nIEFsID0gMTQ7DQogICAgYXV0byB1bnNpZ25lZCBsb25nIEF1bCA9 IDE1Ow0KICAgIGF1dG8gZmxvYXQgQWYgPSAxNjsNCiAgICBhdXRvIGRvdWJsZSBBZCA9IDE3Ow0K DQogICAgYXV0byBsb25nIGRvdWJsZSBBbGQgPSAxODsNCg0KICAgICAgQVNTSUdOICg3MywgQUxM X0NfU1RSVUNULmMgPD0gQXNjLCAxKTsNCiAgICAgIEFTU0lHTiAoNzQsIEFzYyA8PSBBTExfQ19T VFJVQ1QuYywgMCk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmMgPD0gQXNjKTsNCiAgICAgIGVs c2UNCglSRVBPUlRfRVJST1IgKDc1KTsNCiAgICAgIGlmIChBc2MgPD0gQUxMX0NfU1RSVUNULmMp DQoJUkVQT1JUX0VSUk9SICg3Nik7DQoNCiAgICAgIEFTU0lHTiAoMzcwLCBBTExfQ19TVFJVQ1Qu dXMgPD0gQXVzLCAxKTsNCiAgICAgIEFTU0lHTiAoMzcxLCBBdXMgPD0gQUxMX0NfU1RSVUNULnVz LCAxKTsgIA0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC51cyA8PSBBdXMpOw0KICAgICAgZWxzZQ0K CVJFUE9SVF9FUlJPUiAoMzcyKTsNCiAgICAgIGlmIChBdXMgPD0gQUxMX0NfU1RSVUNULnVzKTsN CiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDM3Myk7IA0KICAgICAgQVNTSUdOICgzNzQsIEFM TF9DX1NUUlVDVC51cyA8PSBBdWksIDEpOw0KICAgICAgQVNTSUdOICgzNzUsIEF1aSA8PSBBTExf Q19TVFJVQ1QudXMsIDApOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC51cyA8PSBBdWkpOw0KICAg ICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoMzc2KTsNCiAgICAgIGlmIChBdWkgPD0gQUxMX0NfU1RS VUNULnVzKQ0KCVJFUE9SVF9FUlJPUiAoMzc3KTsNCiAgICAgIEFTU0lHTiAoMzc4LCBBTExfQ19T VFJVQ1QudXMgPD0gQWwsIDEpOw0KICAgICAgQVNTSUdOICgzNzksIEFsIDw9IEFMTF9DX1NUUlVD VC51cywgMCk7IA0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC51cyA8PSBBbCk7DQogICAgICBlbHNl DQoJUkVQT1JUX0VSUk9SICgzODApOw0KICAgICAgaWYgKEFsIDw9IEFMTF9DX1NUUlVDVC51cykN CglSRVBPUlRfRVJST1IgKDM4MSk7DQogICAgICBBU1NJR04gKDM4MiwgQUxMX0NfU1RSVUNULnVz IDw9IEF1bCwgMSk7DQogICAgICBBU1NJR04gKDM4MywgQXVsIDw9IEFMTF9DX1NUUlVDVC51cywg MCk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVzIDw9IEF1bCk7DQogICAgICBlbHNlDQoJUkVQ T1JUX0VSUk9SICgzODQpOw0KICAgICAgaWYgKEF1bCA8PSBBTExfQ19TVFJVQ1QudXMpDQoJUkVQ T1JUX0VSUk9SICgzODUpOw0KICAgICAgQVNTSUdOICgzODYsIEFMTF9DX1NUUlVDVC51cyA8PSBB ZiwgMSk7DQogICAgICBBU1NJR04gKDM4NywgQWYgPD0gQUxMX0NfU1RSVUNULnVzLCAwKTsNCiAg ICAgIGlmIChBTExfQ19TVFJVQ1QudXMgPD0gQWYpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJP UiAoMzg4KTsNCiAgICAgIGlmIChBZiA8PSBBTExfQ19TVFJVQ1QudXMpDQoJUkVQT1JUX0VSUk9S ICgzODkpOw0KICAgICAgQVNTSUdOICgzOTAsIEFMTF9DX1NUUlVDVC51cyA8PSBBZCwgMSk7DQog ICAgICBBU1NJR04gKDM5MSwgQWQgPD0gQUxMX0NfU1RSVUNULnVzLCAwKTsNCiAgICAgIGlmIChB TExfQ19TVFJVQ1QudXMgPD0gQWQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoMzkyKTsN CiAgICAgIGlmIChBZCA8PSBBTExfQ19TVFJVQ1QudXMpDQoJUkVQT1JUX0VSUk9SICgzOTMpOw0K DQogICAgICBBU1NJR04gKDM5NSwgQUxMX0NfU1RSVUNULnVzIDw9IEFsZCwgMSk7DQogICAgICBB U1NJR04gKDM5NiwgQWxkIDw9IEFMTF9DX1NUUlVDVC51cywgMCk7IA0KICAgICAgaWYgKEFMTF9D X1NUUlVDVC51cyA8PSBBbGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoMzk3KTsNCiAg ICAgIGlmIChBbGQgPD0gQUxMX0NfU1RSVUNULnVzKQ0KCVJFUE9SVF9FUlJPUiAoMzk4KTsNCg0K ICAgICAgQVNTSUdOICg0MDAsIEFMTF9DX1NUUlVDVC51aSA8PSBBYywgMCk7DQogICAgICBBU1NJ R04gKDQwMSwgQWMgPD0gQUxMX0NfU1RSVUNULnVpLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJV Q1QudWkgPD0gQWMpDQoJUkVQT1JUX0VSUk9SICg0MDIpOw0KICAgICAgaWYgKEFjIDw9IEFMTF9D X1NUUlVDVC51aSk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0MDMpOw0KDQogICAgICBB U1NJR04gKDQwNSwgQUxMX0NfU1RSVUNULnVpIDw9IEFzYywgMCk7DQogICAgICBBU1NJR04gKDQw NiwgQXNjIDw9IEFMTF9DX1NUUlVDVC51aSwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVp IDw9IEFzYykNCglSRVBPUlRfRVJST1IgKDQwNyk7DQogICAgICBpZiAoQXNjIDw9IEFMTF9DX1NU UlVDVC51aSk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0MDgpOyANCg0KICAgICAgQVNT SUdOICg0MTAsIEFMTF9DX1NUUlVDVC51aSA8PSBBcywgMCk7DQogICAgICBBU1NJR04gKDQxMSwg QXMgPD0gQUxMX0NfU1RSVUNULnVpLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWkgPD0g QXMpDQoJUkVQT1JUX0VSUk9SICg0MTIpOw0KICAgICAgaWYgKEFzIDw9IEFMTF9DX1NUUlVDVC51 aSk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0MTMpOw0KICAgICAgQVNTSUdOICg0MTQs IEFMTF9DX1NUUlVDVC51aSA8PSBBaSwgMCk7DQogICAgICBBU1NJR04gKDQxNSwgQWkgPD0gQUxM X0NfU1RSVUNULnVpLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWkgPD0gQWkpDQoJUkVQ T1JUX0VSUk9SICg0MTYpOw0KICAgICAgaWYgKEFpIDw9IEFMTF9DX1NUUlVDVC51aSk7DQogICAg ICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0MTcpOw0KICAgICAgQVNTSUdOICg0MTgsIEFMTF9DX1NU UlVDVC51aSA8PSBBdWMsIDApOw0KICAgICAgQVNTSUdOICg0MTksIEF1YyA8PSBBTExfQ19TVFJV Q1QudWksIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC51aSA8PSBBdWMpDQoJUkVQT1JUX0VS Uk9SICg0MjApOw0KICAgICAgaWYgKEF1YyA8PSBBTExfQ19TVFJVQ1QudWkpOw0KICAgICAgZWxz ZQ0KCVJFUE9SVF9FUlJPUiAoNDIxKTsNCiAgICAgIEFTU0lHTiAoNDIyLCBBTExfQ19TVFJVQ1Qu dWkgPD0gQXVzLCAwKTsNCiAgICAgIEFTU0lHTiAoNDIzLCBBdXMgPD0gQUxMX0NfU1RSVUNULnVp LCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWkgPD0gQXVzKQ0KCVJFUE9SVF9FUlJPUiAo NDI0KTsNCiAgICAgIGlmIChBdXMgPD0gQUxMX0NfU1RSVUNULnVpKTsNCiAgICAgIGVsc2UNCglS RVBPUlRfRVJST1IgKDQyNSk7DQogICAgICBBU1NJR04gKDQyNiwgQUxMX0NfU1RSVUNULnVpIDw9 IEF1aSwgMSk7DQogICAgICBBU1NJR04gKDQyNywgQXVpIDw9IEFMTF9DX1NUUlVDVC51aSwgMSk7 DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVpIDw9IEF1aSk7DQogICAgICBlbHNlDQoJUkVQT1JU X0VSUk9SICg0MjgpOw0KICAgICAgaWYgKEF1aSA8PSBBTExfQ19TVFJVQ1QudWkpOw0KICAgICAg ZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNDI5KTsNCiAgICAgIEFTU0lHTiAoNDMwLCBBTExfQ19TVFJV Q1QudWkgPD0gQWwsIDEpOw0KICAgICAgQVNTSUdOICg0MzEsIEFsIDw9IEFMTF9DX1NUUlVDVC51 aSwgMCk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVpIDw9IEFsKTsNCiAgICAgIGVsc2UNCglS RVBPUlRfRVJST1IgKDQzMik7DQogICAgICBpZiAoQWwgPD0gQUxMX0NfU1RSVUNULnVpKQ0KCVJF UE9SVF9FUlJPUiAoNDMzKTsNCiAgICAgIEFTU0lHTiAoNDM0LCBBTExfQ19TVFJVQ1QudWkgPD0g QXVsLCAxKTsNCiAgICAgIEFTU0lHTiAoNDM1LCBBdWwgPD0gQUxMX0NfU1RSVUNULnVpLCAwKTsN CiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWkgPD0gQXVsKTsNCiAgICAgIGVsc2UNCglSRVBPUlRf RVJST1IgKDQzNik7DQogICAgICBpZiAoQXVsIDw9IEFMTF9DX1NUUlVDVC51aSkNCglSRVBPUlRf RVJST1IgKDQzNyk7DQogICAgICBBU1NJR04gKDQzOCwgQUxMX0NfU1RSVUNULnVpIDw9IEFmLCAx KTsNCiAgICAgIEFTU0lHTiAoNDM5LCBBZiA8PSBBTExfQ19TVFJVQ1QudWksIDApOw0KICAgICAg aWYgKEFMTF9DX1NUUlVDVC51aSA8PSBBZik7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0 NDApOw0KICAgICAgaWYgKEFmIDw9IEFMTF9DX1NUUlVDVC51aSkNCglSRVBPUlRfRVJST1IgKDQ0 MSk7DQogICAgICBBU1NJR04gKDQ0MiwgQUxMX0NfU1RSVUNULnVpIDw9IEFkLCAxKTsNCiAgICAg IEFTU0lHTiAoNDQzLCBBZCA8PSBBTExfQ19TVFJVQ1QudWksIDApOw0KICAgICAgaWYgKEFMTF9D X1NUUlVDVC51aSA8PSBBZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0NDQpOw0KICAg ICAgaWYgKEFkIDw9IEFMTF9DX1NUUlVDVC51aSkNCglSRVBPUlRfRVJST1IgKDQ0NSk7DQoNCiAg ICAgIEFTU0lHTiAoNDQ3LCBBTExfQ19TVFJVQ1QudWkgPD0gQWxkLCAxKTsNCiAgICAgIEFTU0lH TiAoNDQ4LCBBbGQgPD0gQUxMX0NfU1RSVUNULnVpLCAwKTsNCiAgICAgIGlmIChBTExfQ19TVFJV Q1QudWkgPD0gQWxkKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDQ0OSk7DQogICAgICBp ZiAoQWxkIDw9IEFMTF9DX1NUUlVDVC51aSkNCglSRVBPUlRfRVJST1IgKDQ1MCk7DQoNCiAgICAg IEFTU0lHTiAoNDUyLCBBTExfQ19TVFJVQ1QubCA8PSBBYywgMCk7DQogICAgICBBU1NJR04gKDQ1 MywgQWMgPD0gQUxMX0NfU1RSVUNULmwsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5sIDw9 IEFjKQ0KCVJFUE9SVF9FUlJPUiAoNDU0KTsNCiAgICAgIGlmIChBYyA8PSBBTExfQ19TVFJVQ1Qu bCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0NTUpOw0KDQogICAgICBBU1NJR04gKDQ1 NywgQUxMX0NfU1RSVUNULmwgPD0gQXNjLCAwKTsNCiAgICAgIEFTU0lHTiAoNDU4LCBBc2MgPD0g QUxMX0NfU1RSVUNULmwsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5sIDw9IEFzYykNCglS RVBPUlRfRVJST1IgKDQ1OSk7DQogICAgICBpZiAoQXNjIDw9IEFMTF9DX1NUUlVDVC5sKTsNCiAg ICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDQ2MCk7DQoNCiAgICAgIEFTU0lHTiAoNDYyLCBBTExf Q19TVFJVQ1QubCA8PSBBcywgMCk7DQogICAgICBBU1NJR04gKDQ2MywgQXMgPD0gQUxMX0NfU1RS VUNULmwsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5sIDw9IEFzKQ0KCVJFUE9SVF9FUlJP UiAoNDY0KTsNCiAgICAgIGlmIChBcyA8PSBBTExfQ19TVFJVQ1QubCk7DQogICAgICBlbHNlDQoJ UkVQT1JUX0VSUk9SICg0NjUpOw0KICAgICAgQVNTSUdOICg0NjYsIEFMTF9DX1NUUlVDVC5sIDw9 IEFpLCAwKTsNCiAgICAgIEFTU0lHTiAoNDY3LCBBaSA8PSBBTExfQ19TVFJVQ1QubCwgMSk7IA0K ICAgICAgaWYgKEFMTF9DX1NUUlVDVC5sIDw9IEFpKQ0KCVJFUE9SVF9FUlJPUiAoNDY4KTsNCiAg ICAgIGlmIChBaSA8PSBBTExfQ19TVFJVQ1QubCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9S ICg0NjkpOw0KICAgICAgQVNTSUdOICg0NzAsIEFMTF9DX1NUUlVDVC5sIDw9IEF1YywgMCk7DQog ICAgICBBU1NJR04gKDQ3MSwgQXVjIDw9IEFMTF9DX1NUUlVDVC5sLCAxKTsNCiAgICAgIGlmIChB TExfQ19TVFJVQ1QubCA8PSBBdWMpDQoJUkVQT1JUX0VSUk9SICg0NzIpOw0KICAgICAgaWYgKEF1 YyA8PSBBTExfQ19TVFJVQ1QubCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0NzMpOw0K ICAgICAgQVNTSUdOICg0NzQsIEFMTF9DX1NUUlVDVC5sIDw9IEF1cywgMCk7DQogICAgICBBU1NJ R04gKDQ3NSwgQXVzIDw9IEFMTF9DX1NUUlVDVC5sLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJV Q1QubCA8PSBBdXMpDQoJUkVQT1JUX0VSUk9SICg0NzYpOw0KICAgICAgaWYgKEF1cyA8PSBBTExf Q19TVFJVQ1QubCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0NzcpOw0KICAgICAgQVNT SUdOICg0NzgsIEFMTF9DX1NUUlVDVC5sIDw9IEF1aSwgMCk7DQogICAgICBBU1NJR04gKDQ3OSwg QXVpIDw9IEFMTF9DX1NUUlVDVC5sLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubCA8PSBB dWkpDQoJUkVQT1JUX0VSUk9SICg0ODApOw0KICAgICAgaWYgKEF1aSA8PSBBTExfQ19TVFJVQ1Qu bCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0ODEpOw0KICAgICAgQVNTSUdOICg0ODIs IEFMTF9DX1NUUlVDVC5sIDw9IEFsLCAxKTsNCiAgICAgIEFTU0lHTiAoNDgzLCBBbCA8PSBBTExf Q19TVFJVQ1QubCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmwgPD0gQWwpOw0KICAgICAg ZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNDg0KTsNCiAgICAgIGlmIChBbCA8PSBBTExfQ19TVFJVQ1Qu bCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0ODUpOw0KICAgICAgQVNTSUdOICg0ODYs IEFMTF9DX1NUUlVDVC5sIDw9IEF1bCwgMSk7DQogICAgICBBU1NJR04gKDQ4NywgQXVsIDw9IEFM TF9DX1NUUlVDVC5sLCAwKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubCA8PSBBdWwpOw0KICAg ICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNDg4KTsNCiAgICAgIGlmIChBdWwgPD0gQUxMX0NfU1RS VUNULmwpDQoJUkVQT1JUX0VSUk9SICg0ODkpOw0KICAgICAgQVNTSUdOICg0OTAsIEFMTF9DX1NU UlVDVC5sIDw9IEFmLCAxKTsNCiAgICAgIEFTU0lHTiAoNDkxLCBBZiA8PSBBTExfQ19TVFJVQ1Qu bCwgMCk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmwgPD0gQWYpOw0KICAgICAgZWxzZQ0KCVJF UE9SVF9FUlJPUiAoNDkyKTsNCiAgICAgIGlmIChBZiA8PSBBTExfQ19TVFJVQ1QubCkNCglSRVBP UlRfRVJST1IgKDQ5Myk7DQogICAgICBBU1NJR04gKDQ5NCwgQUxMX0NfU1RSVUNULmwgPD0gQWQs IDEpOw0KICAgICAgQVNTSUdOICg0OTUsIEFkIDw9IEFMTF9DX1NUUlVDVC5sLCAwKTsNCiAgICAg IGlmIChBTExfQ19TVFJVQ1QubCA8PSBBZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg0 OTYpOw0KICAgICAgaWYgKEFkIDw9IEFMTF9DX1NUUlVDVC5sKQ0KCVJFUE9SVF9FUlJPUiAoNDk3 KTsNCg0KICAgICAgQVNTSUdOICg0OTksIEFMTF9DX1NUUlVDVC5sIDw9IEFsZCwgMSk7DQogICAg ICBBU1NJR04gKDUwMCwgQWxkIDw9IEFMTF9DX1NUUlVDVC5sLCAwKTsNCiAgICAgIGlmIChBTExf Q19TVFJVQ1QubCA8PSBBbGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTAxKTsNCiAg ICAgIGlmIChBbGQgPD0gQUxMX0NfU1RSVUNULmwpDQoJUkVQT1JUX0VSUk9SICg1MDIpOw0KDQog ICAgICBBU1NJR04gKDUwNCwgQUxMX0NfU1RSVUNULnVsIDw9IEFjLCAwKTsNCiAgICAgIEFTU0lH TiAoNTA1LCBBYyA8PSBBTExfQ19TVFJVQ1QudWwsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVD VC51bCA8PSBBYykNCglSRVBPUlRfRVJST1IgKDUwNik7DQogICAgICBpZiAoQWMgPD0gQUxMX0Nf U1RSVUNULnVsKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDUwNyk7DQoNCiAgICAgIEFT U0lHTiAoNTA5LCBBTExfQ19TVFJVQ1QudWwgPD0gQXNjLCAwKTsNCiAgICAgIEFTU0lHTiAoNTEw LCBBc2MgPD0gQUxMX0NfU1RSVUNULnVsLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWwg PD0gQXNjKQ0KCVJFUE9SVF9FUlJPUiAoNTExKTsNCiAgICAgIGlmIChBc2MgPD0gQUxMX0NfU1RS VUNULnVsKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDUxMik7DQoNCiAgICAgIEFTU0lH TiAoNTE0LCBBTExfQ19TVFJVQ1QudWwgPD0gQXMsIDApOw0KICAgICAgQVNTSUdOICg1MTUsIEFz IDw9IEFMTF9DX1NUUlVDVC51bCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVsIDw9IEFz KQ0KCVJFUE9SVF9FUlJPUiAoNTE2KTsNCiAgICAgIGlmIChBcyA8PSBBTExfQ19TVFJVQ1QudWwp Ow0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTE3KTsNCiAgICAgIEFTU0lHTiAoNTE4LCBB TExfQ19TVFJVQ1QudWwgPD0gQWksIDApOw0KICAgICAgQVNTSUdOICg1MTksIEFpIDw9IEFMTF9D X1NUUlVDVC51bCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVsIDw9IEFpKQ0KCVJFUE9S VF9FUlJPUiAoNTIwKTsNCiAgICAgIGlmIChBaSA8PSBBTExfQ19TVFJVQ1QudWwpOw0KICAgICAg ZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTIxKTsNCiAgICAgIEFTU0lHTiAoNTIyLCBBTExfQ19TVFJV Q1QudWwgPD0gQXVjLCAwKTsNCiAgICAgIEFTU0lHTiAoNTIzLCBBdWMgPD0gQUxMX0NfU1RSVUNU LnVsLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QudWwgPD0gQXVjKQ0KCVJFUE9SVF9FUlJP UiAoNTI0KTsNCiAgICAgIGlmIChBdWMgPD0gQUxMX0NfU1RSVUNULnVsKTsNCiAgICAgIGVsc2UN CglSRVBPUlRfRVJST1IgKDUyNSk7DQogICAgICBBU1NJR04gKDUyNiwgQUxMX0NfU1RSVUNULnVs IDw9IEF1cywgMCk7DQogICAgICBBU1NJR04gKDUyNywgQXVzIDw9IEFMTF9DX1NUUlVDVC51bCwg MSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULnVsIDw9IEF1cykNCglSRVBPUlRfRVJST1IgKDUy OCk7DQogICAgICBpZiAoQXVzIDw9IEFMTF9DX1NUUlVDVC51bCk7DQogICAgICBlbHNlDQoJUkVQ T1JUX0VSUk9SICg1MjkpOw0KICAgICAgQVNTSUdOICg1MzAsIEFMTF9DX1NUUlVDVC51bCA8PSBB dWksIDApOw0KICAgICAgQVNTSUdOICg1MzEsIEF1aSA8PSBBTExfQ19TVFJVQ1QudWwsIDEpOw0K ICAgICAgaWYgKEFMTF9DX1NUUlVDVC51bCA8PSBBdWkpDQoJUkVQT1JUX0VSUk9SICg1MzIpOw0K ICAgICAgaWYgKEF1aSA8PSBBTExfQ19TVFJVQ1QudWwpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9F UlJPUiAoNTMzKTsNCiAgICAgIEFTU0lHTiAoNTM0LCBBTExfQ19TVFJVQ1QudWwgPD0gQWwsIDAp Ow0KICAgICAgQVNTSUdOICg1MzUsIEFsIDw9IEFMTF9DX1NUUlVDVC51bCwgMSk7DQogICAgICBp ZiAoQUxMX0NfU1RSVUNULnVsIDw9IEFsKQ0KCVJFUE9SVF9FUlJPUiAoNTM2KTsNCiAgICAgIGlm IChBbCA8PSBBTExfQ19TVFJVQ1QudWwpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTM3 KTsNCiAgICAgIEFTU0lHTiAoNTM4LCBBTExfQ19TVFJVQ1QudWwgPD0gQXVsLCAxKTsNCiAgICAg IEFTU0lHTiAoNTM5LCBBdWwgPD0gQUxMX0NfU1RSVUNULnVsLCAxKTsNCiAgICAgIGlmIChBTExf Q19TVFJVQ1QudWwgPD0gQXVsKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDU0MCk7DQog ICAgICBpZiAoQXVsIDw9IEFMTF9DX1NUUlVDVC51bCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VS Uk9SICg1NDEpOw0KICAgICAgQVNTSUdOICg1NDIsIEFMTF9DX1NUUlVDVC51bCA8PSBBZiwgMSk7 DQogICAgICBBU1NJR04gKDU0MywgQWYgPD0gQUxMX0NfU1RSVUNULnVsLCAwKTsNCiAgICAgIGlm IChBTExfQ19TVFJVQ1QudWwgPD0gQWYpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTQ0 KTsNCiAgICAgIGlmIChBZiA8PSBBTExfQ19TVFJVQ1QudWwpDQoJUkVQT1JUX0VSUk9SICg1NDUp Ow0KICAgICAgQVNTSUdOICg1NDYsIEFMTF9DX1NUUlVDVC51bCA8PSBBZCwgMSk7DQogICAgICBB U1NJR04gKDU0NywgQWQgPD0gQUxMX0NfU1RSVUNULnVsLCAwKTsNCiAgICAgIGlmIChBTExfQ19T VFJVQ1QudWwgPD0gQWQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTQ4KTsNCiAgICAg IGlmIChBZCA8PSBBTExfQ19TVFJVQ1QudWwpDQoJUkVQT1JUX0VSUk9SICg1NDkpOw0KDQogICAg ICBBU1NJR04gKDU1MSwgQUxMX0NfU1RSVUNULnVsIDw9IEFsZCwgMSk7DQogICAgICBBU1NJR04g KDU1MiwgQWxkIDw9IEFMTF9DX1NUUlVDVC51bCwgMCk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNU LnVsIDw9IEFsZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1NTMpOw0KICAgICAgaWYg KEFsZCA8PSBBTExfQ19TVFJVQ1QudWwpDQoJUkVQT1JUX0VSUk9SICg1NTQpOw0KDQogICAgICBB U1NJR04gKDU1NiwgQUxMX0NfU1RSVUNULmYgPD0gQWMsIDApOw0KICAgICAgQVNTSUdOICg1NTcs IEFjIDw9IEFMTF9DX1NUUlVDVC5mLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZiA8PSBB YykNCglSRVBPUlRfRVJST1IgKDU1OCk7DQogICAgICBpZiAoQWMgPD0gQUxMX0NfU1RSVUNULmYp Ow0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTU5KTsNCg0KICAgICAgQVNTSUdOICg1NjEs IEFMTF9DX1NUUlVDVC5mIDw9IEFzYywgMCk7DQogICAgICBBU1NJR04gKDU2MiwgQXNjIDw9IEFM TF9DX1NUUlVDVC5mLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZiA8PSBBc2MpDQoJUkVQ T1JUX0VSUk9SICg1NjMpOw0KICAgICAgaWYgKEFzYyA8PSBBTExfQ19TVFJVQ1QuZik7DQogICAg ICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1NjQpOw0KDQogICAgICBBU1NJR04gKDU2NiwgQUxMX0Nf U1RSVUNULmYgPD0gQXMsIDApOw0KICAgICAgQVNTSUdOICg1NjcsIEFzIDw9IEFMTF9DX1NUUlVD VC5mLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZiA8PSBBcykNCglSRVBPUlRfRVJST1Ig KDU2OCk7DQogICAgICBpZiAoQXMgPD0gQUxMX0NfU1RSVUNULmYpOw0KICAgICAgZWxzZQ0KCVJF UE9SVF9FUlJPUiAoNTY5KTsNCiAgICAgIEFTU0lHTiAoNTcwLCBBTExfQ19TVFJVQ1QuZiA8PSBB aSwgMCk7DQogICAgICBBU1NJR04gKDU3MSwgQWkgPD0gQUxMX0NfU1RSVUNULmYsIDEpOw0KICAg ICAgaWYgKEFMTF9DX1NUUlVDVC5mIDw9IEFpKQ0KCVJFUE9SVF9FUlJPUiAoNTcyKTsNCiAgICAg IGlmIChBaSA8PSBBTExfQ19TVFJVQ1QuZik7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1 NzMpOw0KICAgICAgQVNTSUdOICg1NzQsIEFMTF9DX1NUUlVDVC5mIDw9IEF1YywgMCk7DQogICAg ICBBU1NJR04gKDU3NSwgQXVjIDw9IEFMTF9DX1NUUlVDVC5mLCAxKTsNCiAgICAgIGlmIChBTExf Q19TVFJVQ1QuZiA8PSBBdWMpDQoJUkVQT1JUX0VSUk9SICg1NzYpOw0KICAgICAgaWYgKEF1YyA8 PSBBTExfQ19TVFJVQ1QuZik7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1NzcpOw0KICAg ICAgQVNTSUdOICg1NzgsIEFMTF9DX1NUUlVDVC5mIDw9IEF1cywgMCk7DQogICAgICBBU1NJR04g KDU3OSwgQXVzIDw9IEFMTF9DX1NUUlVDVC5mLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1Qu ZiA8PSBBdXMpDQoJUkVQT1JUX0VSUk9SICg1ODApOw0KICAgICAgaWYgKEF1cyA8PSBBTExfQ19T VFJVQ1QuZik7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1ODEpOw0KICAgICAgQVNTSUdO ICg1ODIsIEFMTF9DX1NUUlVDVC5mIDw9IEF1aSwgMCk7DQogICAgICBBU1NJR04gKDU4MywgQXVp IDw9IEFMTF9DX1NUUlVDVC5mLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZiA8PSBBdWkp DQoJUkVQT1JUX0VSUk9SICg1ODQpOw0KICAgICAgaWYgKEF1aSA8PSBBTExfQ19TVFJVQ1QuZik7 DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg1ODUpOw0KICAgICAgQVNTSUdOICg1ODYsIEFM TF9DX1NUUlVDVC5mIDw9IEFsLCAwKTsNCiAgICAgIEFTU0lHTiAoNTg3LCBBbCA8PSBBTExfQ19T VFJVQ1QuZiwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmYgPD0gQWwpDQoJUkVQT1JUX0VS Uk9SICg1ODgpOw0KICAgICAgaWYgKEFsIDw9IEFMTF9DX1NUUlVDVC5mKTsNCiAgICAgIGVsc2UN CglSRVBPUlRfRVJST1IgKDU4OSk7DQogICAgICBBU1NJR04gKDU5MCwgQUxMX0NfU1RSVUNULmYg PD0gQXVsLCAwKTsNCiAgICAgIEFTU0lHTiAoNTkxLCBBdWwgPD0gQUxMX0NfU1RSVUNULmYsIDEp Ow0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5mIDw9IEF1bCkNCglSRVBPUlRfRVJST1IgKDU5Mik7 DQogICAgICBpZiAoQXVsIDw9IEFMTF9DX1NUUlVDVC5mKTsNCiAgICAgIGVsc2UNCglSRVBPUlRf RVJST1IgKDU5Myk7DQogICAgICBBU1NJR04gKDU5NCwgQUxMX0NfU1RSVUNULmYgPD0gQWYsIDEp Ow0KICAgICAgQVNTSUdOICg1OTUsIEFmIDw9IEFMTF9DX1NUUlVDVC5mLCAxKTsgDQogICAgICBp ZiAoQUxMX0NfU1RSVUNULmYgPD0gQWYpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNTk2 KTsNCiAgICAgIGlmIChBZiA8PSBBTExfQ19TVFJVQ1QuZik7DQogICAgICBlbHNlDQoJUkVQT1JU X0VSUk9SICg1OTcpOw0KICAgICAgQVNTSUdOICg1OTgsIEFMTF9DX1NUUlVDVC5mIDw9IEFkLCAx KTsNCiAgICAgIEFTU0lHTiAoNTk5LCBBZCA8PSBBTExfQ19TVFJVQ1QuZiwgMCk7DQogICAgICBp ZiAoQUxMX0NfU1RSVUNULmYgPD0gQWQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjAw KTsNCiAgICAgIGlmIChBZCA8PSBBTExfQ19TVFJVQ1QuZikNCglSRVBPUlRfRVJST1IgKDYwMSk7 DQoNCiAgICAgIEFTU0lHTiAoNjAzLCBBTExfQ19TVFJVQ1QuZiA8PSBBbGQsIDEpOw0KICAgICAg QVNTSUdOICg2MDQsIEFsZCA8PSBBTExfQ19TVFJVQ1QuZiwgMCk7DQogICAgICBpZiAoQUxMX0Nf U1RSVUNULmYgPD0gQWxkKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDYwNSk7DQogICAg ICBpZiAoQWxkIDw9IEFMTF9DX1NUUlVDVC5mKQ0KCVJFUE9SVF9FUlJPUiAoNjA2KTsNCg0KICAg ICAgQVNTSUdOICg2MDgsIEFMTF9DX1NUUlVDVC5kIDw9IEFjLCAwKTsNCiAgICAgIEFTU0lHTiAo NjA5LCBBYyA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmQg PD0gQWMpDQoJUkVQT1JUX0VSUk9SICg2MTApOw0KICAgICAgaWYgKEFjIDw9IEFMTF9DX1NUUlVD VC5kKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDYxMSk7DQoNCiAgICAgIEFTU0lHTiAo NjEzLCBBTExfQ19TVFJVQ1QuZCA8PSBBc2MsIDApOw0KICAgICAgQVNTSUdOICg2MTQsIEFzYyA8 PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmQgPD0gQXNjKQ0K CVJFUE9SVF9FUlJPUiAoNjE1KTsNCiAgICAgIGlmIChBc2MgPD0gQUxMX0NfU1RSVUNULmQpOw0K ICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjE2KTsNCg0KICAgICAgQVNTSUdOICg2MTgsIEFM TF9DX1NUUlVDVC5kIDw9IEFzLCAwKTsNCiAgICAgIEFTU0lHTiAoNjE5LCBBcyA8PSBBTExfQ19T VFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmQgPD0gQXMpDQoJUkVQT1JUX0VS Uk9SICg2MjApOw0KICAgICAgaWYgKEFzIDw9IEFMTF9DX1NUUlVDVC5kKTsNCiAgICAgIGVsc2UN CglSRVBPUlRfRVJST1IgKDYyMSk7DQogICAgICBBU1NJR04gKDYyMiwgQUxMX0NfU1RSVUNULmQg PD0gQWksIDApOw0KICAgICAgQVNTSUdOICg2MjMsIEFpIDw9IEFMTF9DX1NUUlVDVC5kLCAxKTsN CiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZCA8PSBBaSkNCglSRVBPUlRfRVJST1IgKDYyNCk7DQog ICAgICBpZiAoQWkgPD0gQUxMX0NfU1RSVUNULmQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJP UiAoNjI1KTsNCiAgICAgIEFTU0lHTiAoNjI2LCBBTExfQ19TVFJVQ1QuZCA8PSBBdWMsIDApOw0K ICAgICAgQVNTSUdOICg2MjcsIEF1YyA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAo QUxMX0NfU1RSVUNULmQgPD0gQXVjKQ0KCVJFUE9SVF9FUlJPUiAoNjI4KTsNCiAgICAgIGlmIChB dWMgPD0gQUxMX0NfU1RSVUNULmQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjI5KTsN CiAgICAgIEFTU0lHTiAoNjMwLCBBTExfQ19TVFJVQ1QuZCA8PSBBdXMsIDApOw0KICAgICAgQVNT SUdOICg2MzEsIEF1cyA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RS VUNULmQgPD0gQXVzKQ0KCVJFUE9SVF9FUlJPUiAoNjMyKTsNCiAgICAgIGlmIChBdXMgPD0gQUxM X0NfU1RSVUNULmQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjMzKTsNCiAgICAgIEFT U0lHTiAoNjM0LCBBTExfQ19TVFJVQ1QuZCA8PSBBdWksIDApOw0KICAgICAgQVNTSUdOICg2MzUs IEF1aSA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmQgPD0g QXVpKQ0KCVJFUE9SVF9FUlJPUiAoNjM2KTsNCiAgICAgIGlmIChBdWkgPD0gQUxMX0NfU1RSVUNU LmQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjM3KTsNCiAgICAgIEFTU0lHTiAoNjM4 LCBBTExfQ19TVFJVQ1QuZCA8PSBBbCwgMCk7DQogICAgICBBU1NJR04gKDYzOSwgQWwgPD0gQUxM X0NfU1RSVUNULmQsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5kIDw9IEFsKQ0KCVJFUE9S VF9FUlJPUiAoNjQwKTsNCiAgICAgIGlmIChBbCA8PSBBTExfQ19TVFJVQ1QuZCk7DQogICAgICBl bHNlDQoJUkVQT1JUX0VSUk9SICg2NDEpOw0KICAgICAgQVNTSUdOICg2NDIsIEFMTF9DX1NUUlVD VC5kIDw9IEF1bCwgMCk7DQogICAgICBBU1NJR04gKDY0MywgQXVsIDw9IEFMTF9DX1NUUlVDVC5k LCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QuZCA8PSBBdWwpDQoJUkVQT1JUX0VSUk9SICg2 NDQpOw0KICAgICAgaWYgKEF1bCA8PSBBTExfQ19TVFJVQ1QuZCk7DQogICAgICBlbHNlDQoJUkVQ T1JUX0VSUk9SICg2NDUpOw0KICAgICAgQVNTSUdOICg2NDYsIEFMTF9DX1NUUlVDVC5kIDw9IEFm LCAwKTsNCiAgICAgIEFTU0lHTiAoNjQ3LCBBZiA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7IA0KICAg ICAgaWYgKEFMTF9DX1NUUlVDVC5kIDw9IEFmKQ0KCVJFUE9SVF9FUlJPUiAoNjQ4KTsNCiAgICAg IGlmIChBZiA8PSBBTExfQ19TVFJVQ1QuZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg2 NDkpOw0KICAgICAgQVNTSUdOICg2NTAsIEFMTF9DX1NUUlVDVC5kIDw9IEFkLCAxKTsNCiAgICAg IEFTU0lHTiAoNjUxLCBBZCA8PSBBTExfQ19TVFJVQ1QuZCwgMSk7DQogICAgICBpZiAoQUxMX0Nf U1RSVUNULmQgPD0gQWQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjUyKTsNCiAgICAg IGlmIChBZCA8PSBBTExfQ19TVFJVQ1QuZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg2 NTMpOw0KDQogICAgICBBU1NJR04gKDY1NSwgQUxMX0NfU1RSVUNULmQgPD0gQWxkLCAxKTsNCiAg ICAgIEFTU0lHTiAoNjU2LCBBbGQgPD0gQUxMX0NfU1RSVUNULmQsIDApOw0KICAgICAgaWYgKEFM TF9DX1NUUlVDVC5kIDw9IEFsZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg2NTcpOw0K ICAgICAgaWYgKEFsZCA8PSBBTExfQ19TVFJVQ1QuZCkNCglSRVBPUlRfRVJST1IgKDY1OCk7DQoN CiAgICAgIEFTU0lHTiAoNjYxLCBBTExfQ19TVFJVQ1QubGQgPD0gQWMsIDApOw0KICAgICAgQVNT SUdOICg2NjIsIEFjIDw9IEFMTF9DX1NUUlVDVC5sZCwgMSk7DQogICAgICBpZiAoQUxMX0NfU1RS VUNULmxkIDw9IEFjKQ0KCVJFUE9SVF9FUlJPUiAoNjYzKTsNCiAgICAgIGlmIChBYyA8PSBBTExf Q19TVFJVQ1QubGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjY0KTsNCg0KICAgICAg QVNTSUdOICg2NjcsIEFMTF9DX1NUUlVDVC5sZCA8PSBBc2MsIDApOw0KICAgICAgQVNTSUdOICg2 NjgsIEFzYyA8PSBBTExfQ19TVFJVQ1QubGQsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5s ZCA8PSBBc2MpDQoJUkVQT1JUX0VSUk9SICg2NjkpOw0KICAgICAgaWYgKEFzYyA8PSBBTExfQ19T VFJVQ1QubGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNjcwKTsNCg0KICAgICAgQVNT SUdOICg2NzMsIEFMTF9DX1NUUlVDVC5sZCA8PSBBcywgMCk7DQogICAgICBBU1NJR04gKDY3NCwg QXMgPD0gQUxMX0NfU1RSVUNULmxkLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubGQgPD0g QXMpDQoJUkVQT1JUX0VSUk9SICg2NzUpOw0KICAgICAgaWYgKEFzIDw9IEFMTF9DX1NUUlVDVC5s ZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg2NzYpOw0KDQogICAgICBBU1NJR04gKDY3 OSwgQUxMX0NfU1RSVUNULmxkIDw9IEFpLCAwKTsNCiAgICAgIEFTU0lHTiAoNjgwLCBBaSA8PSBB TExfQ19TVFJVQ1QubGQsIDEpOw0KICAgICAgaWYgKEFMTF9DX1NUUlVDVC5sZCA8PSBBaSkNCglS RVBPUlRfRVJST1IgKDY4MSk7DQogICAgICBpZiAoQWkgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAg ICAgIGVsc2UNCglSRVBPUlRfRVJST1IgKDY4Mik7DQoNCiAgICAgIEFTU0lHTiAoNjg1LCBBTExf Q19TVFJVQ1QubGQgPD0gQXVjLCAwKTsNCiAgICAgIEFTU0lHTiAoNjg2LCBBdWMgPD0gQUxMX0Nf U1RSVUNULmxkLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubGQgPD0gQXVjKQ0KCVJFUE9S VF9FUlJPUiAoNjg3KTsNCiAgICAgIGlmIChBdWMgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAgICAg IGVsc2UNCglSRVBPUlRfRVJST1IgKDY4OCk7DQoNCiAgICAgIEFTU0lHTiAoNjkxLCBBTExfQ19T VFJVQ1QubGQgPD0gQXVzLCAwKTsNCiAgICAgIEFTU0lHTiAoNjkyLCBBdXMgPD0gQUxMX0NfU1RS VUNULmxkLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubGQgPD0gQXVzKQ0KCVJFUE9SVF9F UlJPUiAoNjkzKTsNCiAgICAgIGlmIChBdXMgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAgICAgIGVs c2UNCglSRVBPUlRfRVJST1IgKDY5NCk7DQoNCiAgICAgIEFTU0lHTiAoNjk3LCBBTExfQ19TVFJV Q1QubGQgPD0gQXVpLCAwKTsNCiAgICAgIEFTU0lHTiAoNjk4LCBBdWkgPD0gQUxMX0NfU1RSVUNU LmxkLCAxKTsNCiAgICAgIGlmIChBTExfQ19TVFJVQ1QubGQgPD0gQXVpKQ0KCVJFUE9SVF9FUlJP UiAoNjk5KTsNCiAgICAgIGlmIChBdWkgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAgICAgIGVsc2UN CglSRVBPUlRfRVJST1IgKDcwMCk7DQoNCiAgICAgIEFTU0lHTiAoNzAzLCBBTExfQ19TVFJVQ1Qu bGQgPD0gQWwsIDApOw0KICAgICAgQVNTSUdOICg3MDQsIEFsIDw9IEFMTF9DX1NUUlVDVC5sZCwg MSk7DQogICAgICBpZiAoQUxMX0NfU1RSVUNULmxkIDw9IEFsKQ0KCVJFUE9SVF9FUlJPUiAoNzA1 KTsNCiAgICAgIGlmIChBbCA8PSBBTExfQ19TVFJVQ1QubGQpOw0KICAgICAgZWxzZQ0KCVJFUE9S VF9FUlJPUiAoNzA2KTsgDQoNCiAgICAgIEFTU0lHTiAoNzA5LCBBTExfQ19TVFJVQ1QubGQgPD0g QXVsLCAwKTsNCiAgICAgIEFTU0lHTiAoNzEwLCBBdWwgPD0gQUxMX0NfU1RSVUNULmxkLCAxKTsN CiAgICAgIGlmIChBTExfQ19TVFJVQ1QubGQgPD0gQXVsKQ0KCVJFUE9SVF9FUlJPUiAoNzExKTsN CiAgICAgIGlmIChBdWwgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAgICAgIGVsc2UNCglSRVBPUlRf RVJST1IgKDcxMik7DQoNCiAgICAgIEFTU0lHTiAoNzE1LCBBTExfQ19TVFJVQ1QubGQgPD0gQWYs IDApOw0KICAgICAgQVNTSUdOICg3MTYsIEFmIDw9IEFMTF9DX1NUUlVDVC5sZCwgMSk7DQogICAg ICBpZiAoQUxMX0NfU1RSVUNULmxkIDw9IEFmKQ0KCVJFUE9SVF9FUlJPUiAoNzE3KTsNCiAgICAg IGlmIChBZiA8PSBBTExfQ19TVFJVQ1QubGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAo NzE4KTsNCg0KICAgICAgQVNTSUdOICg3MjEsIEFMTF9DX1NUUlVDVC5sZCA8PSBBZCwgMCk7DQog ICAgICBBU1NJR04gKDcyMiwgQWQgPD0gQUxMX0NfU1RSVUNULmxkLCAxKTsNCiAgICAgIGlmIChB TExfQ19TVFJVQ1QubGQgPD0gQWQpDQoJUkVQT1JUX0VSUk9SICg3MjMpOw0KICAgICAgaWYgKEFk IDw9IEFMTF9DX1NUUlVDVC5sZCk7DQogICAgICBlbHNlDQoJUkVQT1JUX0VSUk9SICg3MjQpOyAN Cg0KICAgICAgQVNTSUdOICg3MjcsIEFMTF9DX1NUUlVDVC5sZCA8PSBBbGQsIDEpOw0KICAgICAg QVNTSUdOICg3MjgsIEFsZCA8PSBBTExfQ19TVFJVQ1QubGQsIDEpOw0KICAgICAgaWYgKEFMTF9D X1NUUlVDVC5sZCA8PSBBbGQpOw0KICAgICAgZWxzZQ0KCVJFUE9SVF9FUlJPUiAoNzI5KTsNCiAg ICAgIGlmIChBbGQgPD0gQUxMX0NfU1RSVUNULmxkKTsNCiAgICAgIGVsc2UNCglSRVBPUlRfRVJS T1IgKDczMCk7IA0KfQ0K