From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32138 invoked by alias); 18 Jun 2012 10:31:34 -0000 Received: (qmail 32129 invoked by uid 22791); 18 Jun 2012 10:31:33 -0000 X-SWARE-Spam-Status: No, hits=-7.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,MAY_BE_FORGED,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 18 Jun 2012 10:31:20 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q5IAVKLe010551 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 18 Jun 2012 06:31:20 -0400 Received: from spoyarek (dhcp223-8.pnq.redhat.com [10.65.223.8] (may be forged)) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q5IAVGwP005876; Mon, 18 Jun 2012 06:31:16 -0400 Date: Mon, 18 Jun 2012 10:31:00 -0000 From: Siddhesh Poyarekar To: Jan Kratochvil Cc: gdb-patches@sourceware.org, Tom Tromey Subject: Re: [2/2][PATCH v3] Expand bitpos and type.length to LONGEST and ULONGEST Message-ID: <20120618160135.23022786@spoyarek> In-Reply-To: <20120612143432.GA24369@host2.jankratochvil.net> References: <20120531234422.3ea35cde@spoyarek> <20120605222651.GA25480@host2.jankratochvil.net> <20120606235335.7fa94030@spoyarek> <20120606213420.GA9219@host2.jankratochvil.net> <20120608141636.GA24175@host2.jankratochvil.net> <20120608152735.GA26491@host2.jankratochvil.net> <20120611182346.1b8d872b@spoyarek> <20120611125933.GA7733@host2.jankratochvil.net> <20120612000336.5dfcc246@spoyarek> <20120612095543.GA10148@host2.jankratochvil.net> <20120612143432.GA24369@host2.jankratochvil.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/srex7gC+uRenJnlxQ=K+gtf" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00575.txt.bz2 --MP_/srex7gC+uRenJnlxQ=K+gtf Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 105 This is part 2/2, which has the script and output that I will be using for the review. regards, Siddhesh --MP_/srex7gC+uRenJnlxQ=K+gtf Content-Type: application/octet-stream; name=process-locdiff Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=process-locdiff Content-length: 10509 IyEgL3Vzci9iaW4vcGVybAp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpA QVJHVj09MSBvciBkaWU7CgpzdWIgcmVhZGZpbGUoJCkKewogIG15KCRmbmFt ZSk9QF87CgogIGxvY2FsICpGOwogIG9wZW4gRiwkZm5hbWUgb3IgZGllICRm bmFtZTsKICBteSAkRj1kbyB7IGxvY2FsICQvOyA8Rj47IH07CiAgZGVmaW5l ZCAkRiBvciBkaWUgJGZuYW1lOwogIGNsb3NlIEYgb3IgZGllICRmbmFtZTsK ICByZXR1cm4gJEY7Cn0KCiMgRmlndXJlIG91dCB3aGljaCBjaGFuZ2VzIGFy ZSBzYWZlIGJhc2VkIG9uIHRoZSB3YXJuaW5ncyBiZWZvcmUgYW5kIGFmdGVy IHRoZQojIGNoYW5nZS4gIFdlIGNvdWxkIHNpbXBseSBjaGVjayAkZlsxXSBh bmQgJHRbMV0gZm9yIGNvbXBhdGliaWxpdHkgb2YgdHlwZXMsCiMgYnV0IGNo ZWNraW5nIGJvdGggdGhlIG9sZCBhbmQgbmV3IGNoYW5nZXMgYWxsb3dzIHVz IHRvIHJldGFpbiBwbGFjZXMgd2hlcmUgd2UKIyBoYXZlIGFjY2lkZW50YWxs eSBjaGFuZ2VkIHNpZ25zLgpzdWIgc2FmZV9jaGFuZ2UoJCQpIHsKCW15KCRy ZWZfZnJvbSwgJHJlZl90bykgPSBAXzsKCW15IEBmID0gQHskcmVmX2Zyb219 OwoJbXkgQHQgPSBAeyRyZWZfdG99OwoKCSMgSXQgaXMgT0sgaWYgdGhlIHdh cm5pbmdzIGJlZm9yZSBhbmQgYWZ0ZXIgd2VyZSBvbmx5IGZvciB0aGUgc2ln biBvZgoJIyB0aGUgYXNzaWdubWVudCBvciBjb21wYXJpc29uLgoJaWYgICgk ZlswXSBlcSAiaW50IiAgJiYgJGZbMV0gZXEgIkxPTkdFU1QiICYmCgkgICAg ICR0WzBdIGVxICJVSU5UIiAmJiAkdFsxXSBlcSAiVUxPTkdFU1QiKSB7CgkJ cmV0dXJuIDE7Cgl9CgoJIyBMaWtld2lzZSBmb3IgcmV2ZXJzZSBzaWduLgoJ aWYgKCRmWzBdIGVxICJVSU5UIiAmJiAkZlsxXSBlcSAiVUxPTkdFU1QiICYm CgkgICAgJHRbMF0gZXEgImludCIgICYmICR0WzFdIGVxICJMT05HRVNUIikg ewoJCXJldHVybiAxOwoJfQoKCSMgSWYgdGhlIGVhcmxpZXIgdGhlIHRhcmdl dCB3YXMgbGFyZ2VyIGJ1dCB3aXRoIGEgZGlmZmVyZW50IHNpZ24gYW5kCgkj IG5vdyB3ZSBoYXZlIHRoZSBzYW1lIHNpemUgYnV0IGRpZmZlcmVudCBzaWdu LCB0aGVuIHdlJ3JlIHN0aWxsIE9LLgoJaWYgKCRmWzBdIGVxICJpbnQiICYm ICRmWzFdIGVxICJMT05HRVNUIiAmJgoJICAgICR0WzBdIGVxICJVTE9OR0VT VCIgICYmICR0WzFdIGVxICJVTE9OR0VTVCIpIHsKCQlyZXR1cm4gMTsKCX0K CgkjIExpa2V3aXNlIGZvciByZXZlcnNlIHNpZ24uCglpZiAoJGZbMF0gZXEg IlVJTlQiICYmICRmWzFdIGVxICJVTE9OR0VTVCIgJiYKCSAgICAkdFswXSBl cSAiTE9OR0VTVCIgICYmICR0WzFdIGVxICJMT05HRVNUIikgewoJCXJldHVy biAxOwoJfQoKCSMgSWYgdGhlIGVhcmxpZXIgdGhlIHRhcmdldCB3YXMgc21h bGxlciBidXQgd2l0aCBhIGRpZmZlcmVudCBzaWduIGFuZAoJIyBub3cgd2Ug aGF2ZSB0aGUgc2FtZSBzaXplIGJ1dCBkaWZmZXJlbnQgc2lnbiB0aGVuIHdl IGhhdmUgYWN0dWFsbHkKCSMgZml4ZWQgc29tZXRoaW5nLgoJaWYgKCRmWzBd IGVxICJMT05HRVNUIiAmJiAkZlsxXSBlcSAiTE9OR0VTVCIgJiYKCSAgICAk dFswXSBlcSAiVUlOVCIgICYmICR0WzFdIGVxICJVTE9OR0VTVCIpIHsKCQly ZXR1cm4gMTsKCX0KCgkjIExpa2V3aXNlIGZvciByZXZlcnNlIHNpZ24uCglp ZiAoJGZbMF0gZXEgIlVMT05HRVNUIiAmJiAkZlsxXSBlcSAiVUxPTkdFU1Qi ICYmCgkgICAgJHRbMF0gZXEgImludCIgICYmICR0WzFdIGVxICJMT05HRVNU IikgewoJCXJldHVybiAxOwoJfQoKCSMgSWYgd2Ugc2ltcGx5IGdyZXcgdGhl IHRhcmdldCB0eXBlIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHNpZ24sIHdlJ3Jl CgkjIGZpbmUgdGhlcmUgdG9vLgoJaWYgKCRmWzBdIGVxICJVSU5UIiAmJiAk ZlsxXSBlcSAiVUlOVCIgJiYKCSAgICAkdFswXSBlcSAiaW50IiAgJiYgJHRb MV0gZXEgIkxPTkdFU1QiKSB7CgkJcmV0dXJuIDE7Cgl9CgoJIyBMaWtld2lz ZSBmb3IgcmV2ZXJzZSBzaWduLgoJaWYgKCRmWzBdIGVxICJpbnQiICYmICRm WzFdIGVxICJpbnQiICYmCgkgICAgJHRbMF0gZXEgIlVJTlQiICAmJiAkdFsx XSBlcSAiVUxPTkdFU1QiKSB7CgkJcmV0dXJuIDE7Cgl9CgoJIyBTaW1pbGFy IGxvZ2ljIGZvciAocylzaXplX3QuIHNpemVfdCB3aWxsIGFsd2F5cyBiZSBz bWFsbGVyIHRoYW4gb3IKCSMgZXF1YWwgdG8gTE9OR0VTVC9VTE9OR0VTVCwg c28gdHJlYXQgaXQgYXMgaWYgaXQgd2VyZSBzbWFsbGVyIGFuZCB1c2UKCSMg dGhlIHNhbWUgbG9naWMgYXMgYWJvdmUuCglpZiAoJGZbMF0gZXEgInNpemVf dCIgJiYgJGZbMV0gZXEgInNpemVfdCIgJiYKCSAgICAkdFswXSBlcSAiaW50 IiAgJiYgJHRbMV0gZXEgIkxPTkdFU1QiKSB7CgkJcmV0dXJuIDE7Cgl9CgoJ aWYgKCRmWzBdIGVxICJzaXplX3QiICYmICRmWzFdIGVxICJVTE9OR0VTVCIg JiYKCSAgICAkdFswXSBlcSAiTE9OR0VTVCIgICYmICR0WzFdIGVxICJMT05H RVNUIikgewoJCXJldHVybiAxOwoJfQoKCWlmICgkZlswXSBlcSAic3NpemVf dCIgJiYgJGZbMV0gZXEgInNzaXplX3QiICYmCgkgICAgJHRbMF0gZXEgIlVJ TlQiICAmJiAkdFsxXSBlcSAiVUxPTkdFU1QiKSB7CgkJcmV0dXJuIDE7Cgl9 CgoJaWYgKCRmWzBdIGVxICJzc2l6ZV90IiAmJiAkZlsxXSBlcSAiTE9OR0VT VCIgJiYKCSAgICAkdFswXSBlcSAiVUxPTkdFU1QiICAmJiAkdFsxXSBlcSAi VUxPTkdFU1QiKSB7CgkJcmV0dXJuIDE7Cgl9CgoJcmV0dXJuIDA7Cn0KCiMg UmVhZCBpbiB0aGUgZmlsZSBhbmQgcHJlcGFyZSBpdCBzbyB0aGF0IHdlIGNh biBydW4gb3VyIGZ1dHVyZSByZWdleGVzIGVhc2lseS4KbXkgJGYgPSByZWFk ZmlsZSAkQVJHVlswXTsKCiRmPX5ze3Vuc2lnbmVkIGxvbmcgaW50fXsiVUxP TkdFU1QiO31lZ207CiRmPX5ze2xvbmcgaW50fXsiTE9OR0VTVCI7fWVnbTsK JGY9fnN7dW5zaWduZWQgaW50fXsiVUlOVCI7fWVnbTsKCiMgMCA9IEFzc2ln bm1lbnQgb2YuLi4KIyAxID0gRnVuY3Rpb24gPGZ1bmM+IGV4cGVjdHMgYXJn IDxudW0+Li4uCiMgMiA9IEZ1bmN0aW9uICpzaWduZWRfaW50ZWdlciBleHBl Y3RzIGFyZyAyLi4uCiMgMyA9IFZhcmlhYmxlIDx2YXI+IGluaXRpYWxpemVk IHRvIHR5cGUgLi4uCm15ICRtYXRjaCA9IC0xOwoKbXkgJGxvb2sgPSAtMTsK bXkgQHNhdmVsaW5lczsKbXkgQGZyb207Cm15IEB0bzsKbXkgQGV4cHI7Cm15 IEB2YXI7Cm15IEBhcmdudW07CgojIFdhbGsgdGhyb3VnaCB0aGUgZmlsZS4K TElORTogZm9yKHNwbGl0IC9eLywgJGYpIHsKCW15ICRsaW5lID0gJF87CgoJ IyBTa2lwIGJsYW5rIGxpbmVzCgluZXh0IExJTkUgaWYgL15ccyokLzsKCSMg U2tpcCBzdW1tYXJ5IGxpbmVzCgluZXh0IExJTkUgaWYgL15bLStdRmluaXNo ZWQgY2hlY2tpbmcvOwoJIyBTa2lwIGNvbW1hbmQgd2FybmluZ3MuCgluZXh0 IExJTkUgaWYgL14gQ29tbWFuZCBMaW5lOiBTZXR0aW5nLzsKCW5leHQgTElO RSBpZiAvXiBTcGxpbnQgM1wuMVwuMiAtLS0vOwoKCSMgRm91bmQgYSBMT0Mu IFdlIGxvb2sgYXQgdGhlIG5leHQgbGluZXMuCglpZiAoJGxvb2sgPCAwICYm IC9eXHMrTE9DLykgewoJCXB1c2ggQHNhdmVsaW5lcywgJF87CgkJJGxvb2sg PSAwOwoJCW5leHQgTElORTsKCX0KCSMgV2UncmUgbG9va2luZyBhdCB0aGUg bmV4dCBsaW5lcy4KCWVsc2lmICgkbG9vayA+PSAwKSB7CgkJbXkgJGwgPSAk XzsKCgkJIyBNYWtlIHN1cmUgdGhhdCB0aGUgdHlwZSBwcm9tb3Rpb25zIGFy ZSBzYWZlLiBTZWUgc2FmZV9jaGFuZ2UKCQkjIGZvciBkZXRhaWxzCgkJaWYg KCgkbG9vayA9PSAwIHx8ICRtYXRjaCA9PSAwKSAmJiAvQXNzaWdubWVudCBv ZiAoXHcrKSB0byAoXHcrKTooLiopJC8pIHsKCQkJcHVzaCBAZnJvbSwgJDE7 CgkJCXB1c2ggQHRvLCAkMjsKCQkJcHVzaCBAZXhwciwgJDM7CgkJCXB1c2gg QHNhdmVsaW5lcywgJGw7CgkJCSRsaW5lID0gIiI7CgkJCSRsb29rICs9IDE7 CgkJCSRtYXRjaCA9IDA7CgoJCQluZXh0IExJTkUgaWYgJGxvb2sgPT0gMTsK CgkJCSMgb25seSBpZiB3ZSdyZSB0YWxraW5nIGFib3V0IHRoZSBzYW1lIGV4 cHJlc3Npb24KCQkJaWYgKCgkZXhwclswXSBlcSAkZXhwclsxXSkgJiYgc2Fm ZV9jaGFuZ2UgKFxAZnJvbSwgXEB0bykpIHsKCQkJCSMgU2tpcCB0aGUgY2hh bmdlc2V0LgoJCQkJJCNzYXZlbGluZXMgPSAtMTsKCQkJfQoJCQlnb3RvIGRv bmU7CgkJfQoKCQkjIFRoZSAoc3RvcmV8ZXh0cmFjdClfKHVuKT9zaWduZWRf aW50ZWdlciBmdW5jdGlvbnMgYWx3YXlzIGhhdmUKCQkjIGEgcHJpbWl0aXZl IHNpemUgaW4gYXJnIDIgYW5kIGhlbmNlIHRoaXMgd2FybmluZyBpcyBtb290 IGZvcgoJCSMgdGhpcyBjaGFuZ2UuLgoJCWlmICgoJGxvb2sgPT0gMCB8fCAk bWF0Y2ggPT0gMikgJiYgL0Z1bmN0aW9uICgoZXh0cmFjdCl8KHN0b3JlKSk/ Xyhsb25nXyk/KHVuKT9zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRv IGJlIGludC8pIHsKCQkJJGxpbmUgPSAiIjsKCQkJcHVzaCBAc2F2ZWxpbmVz LCAkbDsKCQkJJGxvb2sgKz0gMTsKCQkJJG1hdGNoID0gMjsKCQkJbmV4dCBM SU5FIGlmICRsb29rID09IDE7CgkJCSQjc2F2ZWxpbmVzID0gLTE7CgkJCWdv dG8gZG9uZTsKCQl9CgoJCSMgQW5hbG9nb3VzIGNoYW5nZSB0byB0aGUgQXNz aWdubWVudCBjaGFuZ2UgYWJvdmUuIEFnYWluLCBzZWUKCQkjIHNhZmVfY2hh bmdlIGZ1bmN0aW9uIGZvciBkZXRhaWxzLgoJCWlmICgoJGxvb2sgPT0gMCB8 fCAkbWF0Y2ggPT0gMSkgJiYgL0Z1bmN0aW9uIChcdyspIGV4cGVjdHMgYXJn IChcZCkgdG8gYmUgKFx3KykgZ2V0cyAoXHcrKTogKC4qKSQvKSB7CgkJCXB1 c2ggQHZhciwgJDE7CgkJCXB1c2ggQGFyZ251bSwgJDI7CgkJCXB1c2ggQHRv LCAkMzsKCQkJcHVzaCBAZnJvbSwgJDQ7CgkJCXB1c2ggQGV4cHIsICQ1OwoJ CQlwdXNoIEBzYXZlbGluZXMsICRsOwoJCQkkbGluZSA9ICIiOwoJCQkkbG9v ayArPSAxOwoJCQkkbWF0Y2ggPSAxOwoKCQkJbmV4dCBMSU5FIGlmICRsb29r ID09IDE7CgoJCQkjIG9ubHkgaWYgd2UncmUgdGFsa2luZyBhYm91dCB0aGUg c2FtZSBleHByZXNzaW9uCgkJCWlmICgoJGV4cHJbMF0gZXEgJGV4cHJbMV0p ICYmCgkJCQkoJHZhclswXSBlcSAkdmFyWzFdKSAmJgoJCQkJKCRhcmdudW1b MF0gZXEgJGFyZ251bVsxXSkgJiYKCQkJCShzYWZlX2NoYW5nZSAoXEBmcm9t LCBcQHRvKSkpIHsKCQkJCSMgU2tpcCB0aGUgY2hhbmdlc2V0LgoJCQkJJCNz YXZlbGluZXMgPSAtMTsKCQkJfQoJCQlnb3RvIGRvbmU7CgkJfQoKCQkjIEFu YWxvZ291cyBjaGFuZ2UgdG8gdGhlIEZ1bmN0aW9uIGNoYW5nZSBhYm92ZS4K CQlpZiAoKCRsb29rID09IDAgfHwgJG1hdGNoID09IDMpICYmIC9WYXJpYWJs ZSAoXHcrKSBpbml0aWFsaXplZCB0byB0eXBlIChcdyspLCBleHBlY3RzIChc dyspOiAoLiopJC8pIHsKCQkJcHVzaCBAdmFyLCAkMTsKCQkJcHVzaCBAdG8s ICQzOwoJCQlwdXNoIEBmcm9tLCAkMjsKCQkJcHVzaCBAZXhwciwgJDQ7CgkJ CXB1c2ggQHNhdmVsaW5lcywgJGw7CgkJCSRsaW5lID0gIiI7CgkJCSRsb29r ICs9IDE7CgkJCSRtYXRjaCA9IDM7CgoJCQluZXh0IExJTkUgaWYgJGxvb2sg PT0gMTsKCgkJCSMgb25seSBpZiB3ZSdyZSB0YWxraW5nIGFib3V0IHRoZSBz YW1lIGV4cHJlc3Npb24KCQkJaWYgKCgkZXhwclswXSBlcSAkZXhwclsxXSkg JiYKCQkJCSgkdmFyWzBdIGVxICR2YXJbMV0pICYmCgkJCQkoc2FmZV9jaGFu Z2UgKFxAZnJvbSwgXEB0bykpKSB7CgkJCQkjIFNraXAgdGhlIGNoYW5nZXNl dC4KCQkJCSQjc2F2ZWxpbmVzID0gLTE7CgkJCX0KCQkJZ290byBkb25lOwoJ CX0KCgkJIyBTa2lwIG5vbi1ib29sZWFuIHdhcm5pbmdzLgoJCWlmICgoJGxv b2sgPT0gMCB8fCAkbWF0Y2ggPT0gNCkgJiYgL1Rlc3QgZXhwcmVzc2lvbiBm b3IgKFx3Kykgbm90IGJvb2xlYW4vKSB7CgkJCSRsaW5lID0gIiI7CgkJCXB1 c2ggQHNhdmVsaW5lcywgJGw7CgkJCSRsb29rICs9IDE7CgkJCSRtYXRjaCA9 IDQ7CgkJCW5leHQgTElORSBpZiAkbG9vayA9PSAxOwoJCQkkI3NhdmVsaW5l cyA9IC0xOwoJCQlnb3RvIGRvbmU7CgkJfQoKCQkjIFRoZXNlIHdhcm5pbmdz IGFyZSBhZ2FpbiBub3QgYSByZXN1bHQgb2Ygb3VyIGNoYW5nZS4KCQlpZiAo KCRsb29rID09IDAgfHwgJG1hdGNoID09IDUpICYmIC9OZXcgZnJlc2ggc3Rv cmFnZSBcKHR5cGUgKFx3KykgXCpcKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0 ZW1wLykgewoJCQkkbGluZSA9ICIiOwoJCQlwdXNoIEBzYXZlbGluZXMsICRs OwoJCQkkbG9vayArPSAxOwoJCQkkbWF0Y2ggPSA1OwoJCQluZXh0IExJTkUg aWYgJGxvb2sgPT0gMTsKCQkJJCNzYXZlbGluZXMgPSAtMTsKCQkJZ290byBk b25lOwoJCX0KCgkJaWYgKCgkbG9vayA9PSAwIHx8ICRtYXRjaCA9PSA2KSAm JiAvT3BlcmFuZHMgb2YgKFteXHNdKykgaGF2ZSBpbmNvbXBhdGlibGUgdHlw ZXMgXCgoXHcrKSwgKFx3KylcKTogKC4qKSQvKSB7CgkJCXB1c2ggQHZhciwg JDE7CgkJCXB1c2ggQHRvLCAkMjsKCQkJcHVzaCBAZnJvbSwgJDM7CgkJCXB1 c2ggQGV4cHIsICQ0OwoJCQlwdXNoIEBzYXZlbGluZXMsICRsOwoJCQkkbGlu ZSA9ICIiOwoJCQkkbG9vayArPSAxOwoJCQkkbWF0Y2ggPSA2OwoKCQkJbmV4 dCBMSU5FIGlmICRsb29rID09IDE7CgoJCQkjIFVMT05HRVNUIHRvIExPTkdF U1QgY29tcGFyaXNvbnMgYXJlIHNhZmUuCgkJCWlmICgoJGV4cHJbMF0gZXEg JGV4cHJbMV0pICYmCgkJCQkoKCRmcm9tWzFdIGVxICJMT05HRVNUIiAmJiAk dG9bMV0gZXEgIlVMT05HRVNUIikgfHwKCQkJCSAoJGZyb21bMV0gZXEgIlVM T05HRVNUIiAmJiAkdG9bMV0gZXEgIkxPTkdFU1QiKSkKCQkJKSB7CgkJCQkj IFNraXAgdGhlIGNoYW5nZXNldC4KCQkJCSQjc2F2ZWxpbmVzID0gLTE7CgkJ CX0KCQkJZ290byBkb25lOwoJCX0KCgkJIyBSZW1vdmUgYmxvY2tzIHRoYXQg YXJlIG5vdCByZWFsbHkgY2hhbmdlcyBhdCBhbGwKCQkjIFdlIG9ubHkgZHJv cCBjb21wbGV0ZSBibG9ja3MsIGkuZS4gc29tZXRoaW5nIHRoYXQgaXMgbmVz dGVkIGJ5CgkJIyB0d28gTE9DIGxpbmVzIGFuZCB0aGUgZmlyc3QgTE9DIGlz IHByZWNlZGVkIGJ5IGEgc3BhY2UuCgkJaWYgKCRsb29rID09IDAgfHwgJG1h dGNoID09IDcpIHsKCQkJIyBHb3QgdGhlIG5leHQgTE9DLgoJCQlpZiAoL14o WyAtK10pXHMqTE9DLykgewoJCQkJJCNzYXZlbGluZXMgPSAtMTsKCQkJCXB1 c2ggQHNhdmVsaW5lcywgJGw7CgkJCQlpZiAoJDEgZXEgIiAiKSB7CgkJCQkJ JGxvb2sgPSAwOwoJCQkJCSRtYXRjaCA9IC0xOwoJCQkJCW5leHQgTElORTsK CQkJCX0KCQkJfQoJCQkjIEFueXRoaW5nIGVsc2UsIHdlIGp1c3Qgc2NoZWR1 bGUgdG8gcmVtb3ZlLgoJCQllbHNpZiAoL14gLykgewoJCQkJJGxpbmUgPSAi IjsKCQkJCXB1c2ggQHNhdmVsaW5lcywgJGw7CgkJCQkkbG9vayArPSAxOwoJ CQkJJG1hdGNoID0gNzsKCQkJCW5leHQgTElORTsKCQkJfQoKCQkJZ290byBk b25lOwoJCX0KCgl9CgoJIyBUaGUgbmV4dCBsaW5lcyBkaWRuJ3Qgd29yayBv dXQgYXMgZXhwZWN0ZWQsIHNvIGNsZWFyIGFuZCBwcmludAoJIyBldmVyeXRo aW5nIG91dCBhcyBpZiBub3RoaW5nIGhhcHBlbmVkLgpkb25lOgkkbG9vayA9 IC0xOwoJZm9yZWFjaChAc2F2ZWxpbmVzKSB7CgkJcHJpbnQgJF87Cgl9Cglw cmludCAkbGluZTsKCSQjc2F2ZWxpbmVzID0gLTE7CgkkI3ZhciA9IC0xOwoJ JCNhcmdudW0gPSAtMTsKCSQjZnJvbSA9IC0xOwoJJCN0byA9IC0xOwoJJCNl eHByID0gLTE7Cn0K --MP_/srex7gC+uRenJnlxQ=K+gtf Content-Type: application/octet-stream; name=locdiff.processed.out Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=locdiff.processed.out Content-length: 186990 LS0tIC90bXAvbG9jZGlmZi45OTI2LmEJMjAxMi0wNi0xOCAxNDo1NToxMi43 NjAyNDIwMjAgKzA1MzAKKysrIC90bXAvbG9jZGlmZi45OTI2LmIJMjAxMi0w Ni0xOCAxNDo1NToxMy40MDIyNDIwMzUgKzA1MzAKQEAgLTEsMzg0NTQzICsx LDM4NDg2NiBAQAogTE9DIGFkYS1sYW5nLmM6NTc5IChhZGEtbGFuZy5jOjU3 OCkKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXpl X3QgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAo dHlwZSktPmxlbmd0aAogTE9DIGFkYS1sYW5nLmM6NjcwIChhZGEtbGFuZy5j OjY2OSkKLSBGdW5jdGlvbiB1bWF4X29mX3NpemUgZXhwZWN0cyBhcmcgMSB0 byBiZSBpbnQgZ2V0cyBVSU5UOiAodCktPmxlbmd0aAorIEZ1bmN0aW9uIHVt YXhfb2Zfc2l6ZSBleHBlY3RzIGFyZyAxIHRvIGJlIGludCBnZXRzIFVMT05H RVNUOiAodCktPmxlbmd0aAogTE9DIGFkYS1sYW5nLmM6NjcyIChhZGEtbGFu Zy5jOjY3MSkKLSBGdW5jdGlvbiBtYXhfb2Zfc2l6ZSBleHBlY3RzIGFyZyAx IHRvIGJlIGludCBnZXRzIFVJTlQ6ICh0KS0+bGVuZ3RoCisgRnVuY3Rpb24g bWF4X29mX3NpemUgZXhwZWN0cyBhcmcgMSB0byBiZSBpbnQgZ2V0cyBVTE9O R0VTVDogKHQpLT5sZW5ndGgKIGFkYS1sYW5nLmM6IChpbiBmdW5jdGlvbiBt aW5fb2ZfdHlwZSkKIExPQyBhZGEtbGFuZy5jOjY4MiAoYWRhLWxhbmcuYzo2 ODEpCi0gRnVuY3Rpb24gbWluX29mX3NpemUgZXhwZWN0cyBhcmcgMSB0byBi ZSBpbnQgZ2V0cyBVSU5UOiAodCktPmxlbmd0aAorIEZ1bmN0aW9uIG1pbl9v Zl9zaXplIGV4cGVjdHMgYXJnIDEgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6 ICh0KS0+bGVuZ3RoCiBhZGEtbGFuZy5jOiAoaW4gZnVuY3Rpb24gYWRhX2Rp c2NyZXRlX3R5cGVfaGlnaF9ib3VuZCkKIExPQyBhZGEtbGFuZy5jOjE2MjIg KGFkYS1sYW5nLmM6MTYyMSkKLSBSZXR1cm4gdmFsdWUgdHlwZSBVSU5UIGRv ZXMgbm90IG1hdGNoIGRlY2xhcmVkIHR5cGUgaW50OiA4ICogKGFkYV9jaGVj a190eXBlZGVmKCgoKHR5cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVs ZHNbMV0pLnR5cGUpKSktPmxlbmd0aAorIFJldHVybiB2YWx1ZSB0eXBlIFVM T05HRVNUIGRvZXMgbm90IG1hdGNoIGRlY2xhcmVkIHR5cGUgaW50OiA4ICog KGFkYV9jaGVja190eXBlZGVmKCgoKHR5cGUpLT5tYWluX3R5cGUtPmZsZHNf Ym5kcy5maWVsZHNbMV0pLnR5cGUpKSktPmxlbmd0aAogTE9DIGFkYS1sYW5n LmM6MTY4OCAoYWRhLWxhbmcuYzoxNjg3KQotIFJldHVybiB2YWx1ZSB0eXBl IFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6IDggKiAo KCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRzLmZpZWxkc1swXSkudHlw ZSkpLT5sZW5ndGgKKyBSZXR1cm4gdmFsdWUgdHlwZSBVTE9OR0VTVCBkb2Vz IG5vdCBtYXRjaCBkZWNsYXJlZCB0eXBlIGludDogOCAqICgoKCh0eXBlKS0+ bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRzWzBdKS50eXBlKSktPmxlbmd0 aAogTE9DIGFkYS1sYW5nLmM6MTcyNCAoYWRhLWxhbmcuYzoxNzIzKQotIFJl dHVybiB2YWx1ZSB0eXBlIFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQg dHlwZSBpbnQ6IDggKiAoKCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRz LmZpZWxkc1syICogaSArIHdoaWNoIC0gMl0pLnR5cGUpKS0+bGVuZ3RoCisg UmV0dXJuIHZhbHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBub3QgbWF0Y2ggZGVj bGFyZWQgdHlwZSBpbnQ6IDggKiAoKCgodHlwZSktPm1haW5fdHlwZS0+Zmxk c19ibmRzLmZpZWxkc1syICogaSArIHdoaWNoIC0gMl0pLnR5cGUpKS0+bGVu Z3RoCiBMT0MgYWRhLWxhbmcuYzoxODk5IChhZGEtbGFuZy5jOjE4OTYpCi0g VmFyaWFibGUgYXJyYXlfYml0c2l6ZSBpbml0aWFsaXplZCB0byB0eXBlIExP TkdFU1QsIGV4cGVjdHMgaW50OiAoaGkgLSBsbyArIDEpICogKCgoZWx0X3R5 cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVsZHNbMF0pLmJpdHNpemUp Ci1MT0MgYWRhLWxhbmcuYzoxODk4Ci0gQXNzaWdubWVudCBvZiBpbnQgdG8g VUlOVDogKGFycmF5X3R5cGUpLT5sZW5ndGggPSAoYXJyYXlfYml0c2l6ZSAr IDcpIC8gOAorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBVTE9OR0VTVDog KGFycmF5X3R5cGUpLT5sZW5ndGggPSAoYXJyYXlfYml0c2l6ZSArIDcpIC8g OAorTE9DIGFkYS1sYW5nLmM6MjE4NQorIEZ1bmN0aW9uIGFkYV92YWx1ZV9w cmltaXRpdmVfcGFja2VkX3ZhbCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBn ZXRzIExPTkdFU1Q6IGJpdF9wb3MgJSA4CiBMT0MgYWRhLWxhbmcuYzoyMzM4 IChhZGEtbGFuZy5jOjIzMjIpCi0gRnVuY3Rpb24gc2V0X3ZhbHVlX29mZnNl dCBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IG5ld19v ZmZzZXQKLUxPQyBhZGEtbGFuZy5jOjIzMzUKLSBBc3NpZ25tZW50IG9mIFVJ TlQgdG8gaW50OiBudGFyZyA9ICh0eXBlKS0+bGVuZ3RoCisgQXNzaWdubWVu dCBvZiBVTE9OR0VTVCB0byBMT05HRVNUOiBudGFyZyA9ICh0eXBlKS0+bGVu Z3RoCiBMT0MgYWRhLWxhbmcuYzoyMzQyIChhZGEtbGFuZy5jOjIzMzkpCi0g RnVuY3Rpb24gbWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1zZXQgZXhw ZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUp LT5sZW5ndGgKK0xPQyBhZGEtbGFuZy5jOjIzNzkKKyBBc3NpZ25tZW50IG9m IExPTkdFU1QgdG8gaW50OiBzcmMgPSB0YXJnID0gMAogTE9DIGFkYS1sYW5n LmM6MjQ0NSAoYWRhLWxhbmcuYzoyNDQ4KQorIEFzc2lnbm1lbnQgb2YgTE9O R0VTVCB0byBpbnQ6IGFjY3VtX2JpdHMgPSA4IC0gc3JjX29mZnNldAorTE9D IGFkYS1sYW5nLmM6MjQ1MQogIEluY29tcGF0aWJsZSB0eXBlcyBmb3IgKyAo VUlOVCwgdW5zaWduZWQgY2hhcik6IChhY2N1bSA8PCA4KSArICh1bnNpZ25l ZCBjaGFyKSpzb3VyY2UKIExPQyBhZGEtbGFuZy5jOjI0NTUKKyBPcGVyYW5k cyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1Qp OiBjaHVua19zaXplID4gbgorTE9DIGFkYS1sYW5nLmM6MjQ1NgorIEFzc2ln bm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGNodW5rX3NpemUgPSBuCitMT0Mg YWRhLWxhbmcuYzoyNDU4CiAgUmlnaHQgb3BlcmFuZCBvZiA8PCBtYXkgYmUg bmVnYXRpdmUgKGludCk6IDEgPDwgY2h1bmtfc2l6ZQogTE9DIGFkYS1sYW5n LmM6MjQ3MCAoYWRhLWxhbmcuYzoyNDY3KQotIFJpZ2h0IG9wZXJhbmQgb2Yg Pj4gbWF5IGJlIG5lZ2F0aXZlIChpbnQpOiAodW5zaWduZWQgY2hhcikqc291 cmNlID4+IHNyY19vZmZzZXQKKyBSaWdodCBvcGVyYW5kIG9mID4+IG1heSBi ZSBuZWdhdGl2ZSAoTE9OR0VTVCk6ICh1bnNpZ25lZCBjaGFyKSpzb3VyY2Ug Pj4gc3JjX29mZnNldAogTE9DIGFkYS1sYW5nLmM6MjQ3MCAoYWRhLWxhbmcu YzoyNDY3KQotIEFzc2lnbm1lbnQgb2YgdW5zaWduZWQgY2hhciB0byBVSU5U OiBhY2N1bSA9ICh1bnNpZ25lZCBjaGFyKSpzb3VyY2UgPj4gc3JjX29mZnNl dAorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBVSU5UOiBhY2N1bSA9ICh1 bnNpZ25lZCBjaGFyKSpzb3VyY2UgPj4gc3JjX29mZnNldAorTE9DIGFkYS1s YW5nLmM6MjQ3MgorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGFj Y3VtX2JpdHMgPSA4IC0gc3JjX29mZnNldAogTE9DIGFkYS1sYW5nLmM6MjQ4 MCAoYWRhLWxhbmcuYzoyNDc5KQorIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNv bXBhdGlibGUgdHlwZXMgKGludCwgTE9OR0VTVCk6IGNodW5rX3NpemUgPiBu CitMT0MgYWRhLWxhbmcuYzoyNDgxCisgQXNzaWdubWVudCBvZiBMT05HRVNU IHRvIGludDogY2h1bmtfc2l6ZSA9IG4KK0xPQyBhZGEtbGFuZy5jOjI0ODIK ICBSaWdodCBvcGVyYW5kIG9mIDw8IG1heSBiZSBuZWdhdGl2ZSAoaW50KTog MSA8PCBjaHVua19zaXplCiBMT0MgYWRhLWxhbmcuYzoyNTQ1IChhZGEtbGFu Zy5jOjI1NDIpCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlv biBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9O R0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBhZGEtbGFuZy5jOjQwOTQgKGFk YS1sYW5nLmM6NDA5MSkKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5jdGlv biB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdl dHMgTE9OR0VTVDogbGVuCiBMT0MgYWRhLWxhbmcuYzo0MTM4IChhZGEtbGFu Zy5jOjQxMzUpCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUlOVDogKGFjdHVhbF90eXBlKS0+bGVuZ3RoCisg RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgVUxPTkdFU1Q6IChhY3R1YWxfdHlwZSktPmxlbmd0aAogTE9DIGFkYS1s YW5nLmM6NDE2MyAoYWRhLWxhbmcuYzo0MTYwKQotIEZ1bmN0aW9uIENfYWxs b2NhIGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90IGdldHMgVUlOVDogbGVu CisgRnVuY3Rpb24gQ19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXpl X3QgZ2V0cyBVTE9OR0VTVDogbGVuCiBMT0MgYWRhLWxhbmcuYzo2NDMxIChh ZGEtbGFuZy5jOjY0MjYpCisgRnVuY3Rpb24gYWRhX3ZhbHVlX3ByaW1pdGl2 ZV9wYWNrZWRfdmFsIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgTE9O R0VTVDogYml0X3BvcyAlIDgKK0xPQyBhZGEtbGFuZy5jOjY0MjkKICBOZXcg ZnJlc2ggc3RvcmFnZSAodHlwZSBnZGJfYnl0ZSAqKSBwYXNzZWQgYXMgaW1w bGljaXRseSB0ZW1wIChub3QgcmVsZWFzZWQpOiB2YWx1ZV9jb250ZW50cyhh cmcxKQogTE9DIGFkYS1sYW5nLmM6NjQ4OQorIEFzc2lnbm1lbnQgb2YgTE9O R0VTVCB0byBpbnQ6ICpiaXRfb2Zmc2V0X3AgPSBiaXRfcG9zICUgOAorTE9D IGFkYS1sYW5nLmM6NjQ5MgogIEZyZXNoIHN0b3JhZ2UgdHlwZSBub3QgcmVs ZWFzZWQgYmVmb3JlIHJldHVybgogTE9DIGFkYS1sYW5nLmM6NzQzMCAoYWRh LWxhbmcuYzo3NDI3KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBMT05HRVNU OiBvZmYgPSBhbGlnbl92YWx1ZShvZmYsIGZpZWxkX2FsaWdubWVudCh0eXBl LCBmKSkgKyAoKCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRzLmZpZWxk c1tmXSkubG9jLmJpdHBvcykgKyAwKQotTE9DIGFkYS1sYW5nLmM6NzQyOQot IEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6ICgoKHJ0eXBlKS0+bWFp bl90eXBlLT5mbGRzX2JuZHMuZmllbGRzW2ZdKS5sb2MuYml0cG9zKSA9IChv ZmYpCisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBMT05HRVNUOiBvZmYg PSBhbGlnbl92YWx1ZShvZmYsIGZpZWxkX2FsaWdubWVudCh0eXBlLCBmKSkg KyAoKCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRzLmZpZWxkc1tmXSku bG9jLmJpdHBvcykgKyAwKQogTE9DIGFkYS1sYW5nLmM6NzUyNCAoYWRhLWxh bmcuYzo3NTIxKQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IGZsZF9i aXRfbGVuID0gKCgocnR5cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVs ZHNbZl0pLmJpdHNpemUpID0gKCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19i bmRzLmZpZWxkc1tmXSkuYml0c2l6ZSkKLUxPQyBhZGEtbGFuZy5jOjc1MjQK LSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBmbGRfYml0X2xlbiA9IChh ZGFfY2hlY2tfdHlwZWRlZihmaWVsZF90eXBlKSktPmxlbmd0aCAqIDgKKyBB c3NpZ25tZW50IG9mIFVJTlQgdG8gTE9OR0VTVDogZmxkX2JpdF9sZW4gPSAo KChydHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRzLmZpZWxkc1tmXSkuYml0 c2l6ZSkgPSAoKCh0eXBlKS0+bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRz W2ZdKS5iaXRzaXplKQogTE9DIGFkYS1sYW5nLmM6NzUyNyAoYWRhLWxhbmcu Yzo3NTI4KQotIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGJpdF9s ZW4gPSBvZmYgKyBmbGRfYml0X2xlbgorIEFzc2lnbm1lbnQgb2YgVUxPTkdF U1QgdG8gTE9OR0VTVDogZmxkX2JpdF9sZW4gPSAoYWRhX2NoZWNrX3R5cGVk ZWYoZmllbGRfdHlwZSkpLT5sZW5ndGggKiA4CiBMT0MgYWRhLWxhbmcuYzo3 NTczIChhZGEtbGFuZy5jOjc1NjgpCi0gQXNzaWdubWVudCBvZiBMT05HRVNU IHRvIGludDogYml0X2xlbiA9IG9mZiArIGZsZF9iaXRfbGVuCi1MT0MgYWRh LWxhbmcuYzo3NTcwCi0gRnVuY3Rpb24gYWxpZ25fdmFsdWUgZXhwZWN0cyBh cmcgMSB0byBiZSBVSU5UIGdldHMgaW50OiBiaXRfbGVuCisgRnVuY3Rpb24g YWxpZ25fdmFsdWUgZXhwZWN0cyBhcmcgMSB0byBiZSBVTE9OR0VTVCBnZXRz IExPTkdFU1Q6IGJpdF9sZW4KIExPQyBhZGEtbGFuZy5jOjc5MjcgKGFkYS1s YW5nLmM6NzkyNCkKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlw ZSBVSU5ULCBleHBlY3RzIGludDogKHJlc3VsdCktPmxlbmd0aCAvICgocmVz dWx0KS0+bWFpbl90eXBlLT50YXJnZXRfdHlwZSktPmxlbmd0aAorIFZhcmlh YmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3Rz IExPTkdFU1Q6ICgocmVzdWx0KS0+bGVuZ3RoIC8gKChyZXN1bHQpLT5tYWlu X3R5cGUtPnRhcmdldF90eXBlKS0+bGVuZ3RoKQogTE9DIGFkYS1sYW5nLmM6 ODczOSAoYWRhLWxhbmcuYzo4NzM1KQotIEZ1bmN0aW9uIG1lbWNtcCBleHBl Y3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6ICh2YWx1ZV90eXBl KGFyZzEpKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY21wIGV4cGVjdHMgYXJn IDMgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh2YWx1ZV90eXBlKGFy ZzEpKS0+bGVuZ3RoCiBMT0MgYWRhLWxhbmcuYzo4Nzk0IChhZGEtbGFuZy5j Ojg3OTApCi0gRnVuY3Rpb24gYWRhX2luZGV4X3N0cnVjdF9maWVsZCBleHBl Y3RzIGFyZyAxIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGluZGV4Ci1MT0Mg YWRhLWxhbmcuYzo4NzkwCiAgTmV3IGZyZXNoIHN0b3JhZ2UgKHR5cGUgc3Ry dWN0IHR5cGUgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVtcCAobm90IHJl bGVhc2VkKTogdmFsdWVfdHlwZShsaHMpCiBMT0MgYWRhLXZhbHByaW50LmM6 Mzc2Ci0gRnVuY3Rpb24gYWRhX2VtaXRfY2hhciBleHBlY3RzIGFyZyA1IHRv IGJlIGludCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g YWRhX2VtaXRfY2hhciBleHBlY3RzIGFyZyA1IHRvIGJlIGludCBnZXRzIFVM T05HRVNUOiAodHlwZSktPmxlbmd0aAogYWRhLXZhbHByaW50LmM6IChpbiBm dW5jdGlvbiBhZGFfcHJpbnRfc2NhbGFyKQogTE9DIGFkYS12YWxwcmludC5j OjQ4MyAoYWRhLXZhbHByaW50LmM6NDkxKQorIE9wZXJhbmRzIG9mIDwgaGF2 ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIFVMT05HRVNUKTogaSA8IGxl bmd0aAorTE9DIGFkYS12YWxwcmludC5jOjQ5MQogIFRlc3QgZXhwcmVzc2lv biBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBxdWl0X2ZsYWcKIExP QyBhZGEtdmFscHJpbnQuYzo1MDEgKGFkYS12YWxwcmludC5jOjUwMikKLSBG dW5jdGlvbiBjaGFyX2F0IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMg VUlOVDogcmVwMQorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUg dHlwZXMgKFVJTlQsIFVMT05HRVNUKTogcmVwMSA8IGxlbmd0aAorTE9DIGFk YS12YWxwcmludC5jOjUwMgorIEZ1bmN0aW9uIGNoYXJfYXQgZXhwZWN0cyBh cmcgMiB0byBiZSBMT05HRVNUIGdldHMgVUlOVDogcmVwMQogTE9DIGFkYS12 YWxwcmludC5jOjU1MworIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGli bGUgdHlwZXMgKFVJTlQsIFVMT05HRVNUKTogaSA8IGxlbmd0aAorTE9DIGFk YS12YWxwcmludC5jOjU1MwogIExlZnQgb3BlcmFuZCBvZiB8fCBpcyBub24t Ym9vbGVhbiAoaW50KTogZm9yY2VfZWxsaXBzZXMgfHwgaSA8IGxlbmd0aAog YWRhLXZhbHByaW50LmM6IChpbiBmdW5jdGlvbiBhZGFfcHJpbnRzdHIpCiBM T0MgYWRhLXZhbHByaW50LmM6NTYzCi0gRnVuY3Rpb24gcHJpbnRzdHIgZXhw ZWN0cyBhcmcgNiB0byBiZSBpbnQgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0 aAorIEZ1bmN0aW9uIHByaW50c3RyIGV4cGVjdHMgYXJnIDYgdG8gYmUgaW50 IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgYWRhLXZhbHBy aW50LmM6NjI5Ci0gT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0 eXBlcyAoaW50LCBVSU5UKTogdGVtcF9sZW4gPCBvcHRpb25zLT5wcmludF9t YXgKKyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChM T05HRVNULCBVSU5UKTogdGVtcF9sZW4gPCBvcHRpb25zLT5wcmludF9tYXgK IExPQyBhZGEtdmFscHJpbnQuYzo2MzEKLSBGdW5jdGlvbiBjaGFyX2F0IGV4 cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgVUlOVDogZWx0bGVuCisgRnVu Y3Rpb24gY2hhcl9hdCBleHBlY3RzIGFyZyAzIHRvIGJlIGludCBnZXRzIFVM T05HRVNUOiBlbHRsZW4KIExPQyBhZGEtdmFscHJpbnQuYzo2MzYKLSBGdW5j dGlvbiBwcmludHN0ciBleHBlY3RzIGFyZyA2IHRvIGJlIGludCBnZXRzIFVJ TlQ6IGVsdGxlbgorIEZ1bmN0aW9uIHByaW50c3RyIGV4cGVjdHMgYXJnIDYg dG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6IGVsdGxlbgogTE9DIGFkYS12YWxw cmludC5jOjk2NAotIE9wZXJhbmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxl IHR5cGVzIChVSU5ULCBzaXplX3QpOiAoKHR5cGUpLT5tYWluX3R5cGUtPnRh cmdldF90eXBlKS0+bGVuZ3RoICE9IHNpemVvZihjaGFyKQorIE9wZXJhbmRz IG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwgc2l6 ZV90KTogKCh0eXBlKS0+bWFpbl90eXBlLT50YXJnZXRfdHlwZSktPmxlbmd0 aCAhPSBzaXplb2YoY2hhcikKIExPQyBhZGEtdmFscHJpbnQuYzoxMTMyIChh ZGEtdmFscHJpbnQuYzoxMTMwKQorIEZ1bmN0aW9uIGFkYV92YWx1ZV9wcmlt aXRpdmVfcGFja2VkX3ZhbCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRz IExPTkdFU1Q6IGJpdF9wb3MgJSA4CitMT0MgYWRhLXZhbHByaW50LmM6MTEz MAogIE51bGwgc3RvcmFnZSBwYXNzZWQgYXMgbm9uLW51bGwgcGFyYW06IGFk YV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3ZhbCAoTlVMTCwgLi4uKQorTE9D IGFscGhhLXRkZXAuYzo0MDIKKyBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8g aW50OiBhY2N1bXVsYXRlX3NpemUgPSAoYWNjdW11bGF0ZV9zaXplICsgbV9h cmctPmxlbiArIDcpICYgfjcKIExPQyBhbHBoYS10ZGVwLmM6NDMyCi0gT3Bl cmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwgc2l6 ZV90KTogb2Zmc2V0ICsgbGVuIDw9IHNpemVvZigoYXJnX3JlZ19idWZmZXIp KQorIE9wZXJhbmRzIG9mIDw9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChM T05HRVNULCBzaXplX3QpOiBvZmZzZXQgKyBsZW4gPD0gc2l6ZW9mKChhcmdf cmVnX2J1ZmZlcikpCiBMT0MgYWxwaGEtdGRlcC5jOjQzNAotIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDog bGVuCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6 ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgYWxwaGEtdGRlcC5jOjQ0OAot IEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNz aXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4K IExPQyBhbHBoYS10ZGVwLmM6NTM0IChhbHBoYS10ZGVwLmM6NTM3KQorIEZ1 bmN0aW9uIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcgMiB0 byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW5ndGgKK0xPQyBhbHBoYS10ZGVw LmM6NTM3CiAgRnJlc2ggc3RvcmFnZSBnZGJhcmNoIG5vdCByZWxlYXNlZCBi ZWZvcmUgcmV0dXJuCiBMT0MgYWxwaGEtdGRlcC5jOjYzMAotIEZ1bmN0aW9u IHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRz IFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gcmVhZF9tZW1vcnkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0 eXBlKS0+bGVuZ3RoCiBhbWQ2NC10ZGVwLmM6IChpbiBmdW5jdGlvbiBhbWQ2 NF9yZXR1cm5fdmFsdWUpCiBMT0MgYW1kNjQtdGRlcC5jOjYzNQotIEZ1bmN0 aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBn ZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gcmVhZF9tZW1v cnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6 ICh0eXBlKS0+bGVuZ3RoCiBMT0MgYW1kNjQtdGRlcC5jOjY5OAorIEZ1bmN0 aW9uIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBi ZSBpbnQgZ2V0cyBMT05HRVNUOiAoKGxlbikgPCAoOCkgPyAobGVuKSA6ICg4 KSkKK0xPQyBhbWQ2NC10ZGVwLmM6Njk4CiAgUmV0dXJuIHZhbHVlICh0eXBl IGVudW0gcmVnaXN0ZXJfc3RhdHVzKSBpZ25vcmVkOiByZWdjYWNoZV9yYXdf cmVhLi4uCiBMT0MgYW1kNjQtdGRlcC5jOjcwMSAoYW1kNjQtdGRlcC5jOjcw NSkKKyBGdW5jdGlvbiByZWdjYWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3Rz IGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6ICgobGVuKSA8ICg4KSA/ IChsZW4pIDogKDgpKQorTE9DIGFtZDY0LXRkZXAuYzo3MDUKICBGcmVzaCBz dG9yYWdlIHRkZXAgbm90IHJlbGVhc2VkIGJlZm9yZSByZXR1cm4KIExPQyBh bWQ2NC10ZGVwLmM6ODI0Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJn IDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiAoKGxlbikgPCAoOCkgPyAobGVu KSA6ICg4KSkKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzaXplX3QgZ2V0cyBMT05HRVNUOiAoKGxlbikgPCAoOCkgPyAobGVuKSA6 ICg4KSkKIExPQyBhbWQ2NC10ZGVwLmM6ODQ1Ci0gRnVuY3Rpb24gd3JpdGVf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDog bGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIGFtZDY0LXRkZXAu YzoyNzc3Ci0gRnVuY3Rpb24gdGFyZ2V0X3JlYWRfbWVtb3J5IGV4cGVjdHMg YXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24g dGFyZ2V0X3JlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVf dCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIGFtZDY0LXdpbmRvd3MtdGRlcC5j OjExMQotIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rp b24gcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdl dHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCitMT0MgYW1kNjQtd2luZG93 cy10ZGVwLmM6MTE5CisgRnVuY3Rpb24gcmVnY2FjaGVfcmF3X3JlYWRfcGFy dCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgog TE9DIGFtZDY0LXdpbmRvd3MtdGRlcC5jOjEyMSAoYW1kNjQtd2luZG93cy10 ZGVwLmM6NzcpCisgRnVuY3Rpb24gcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQg ZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xP QyBhbWQ2NC13aW5kb3dzLXRkZXAuYzo3NwogIFBhcmFtZXRlciBnZGJhcmNo IG5vdCB1c2VkCiBMT0MgYXJtLWxpbnV4LW5hdC5jOjkzMgotIFJpZ2h0IG9w ZXJhbmQgb2YgPDwgbWF5IGJlIG5lZ2F0aXZlIChpbnQpOiAxIDw8IGxlbgor IFJpZ2h0IG9wZXJhbmQgb2YgPDwgbWF5IGJlIG5lZ2F0aXZlIChMT05HRVNU KTogMSA8PCBsZW4KIExPQyBhcm0tbGludXgtbmF0LmM6OTMyCi0gQXNzaWdu bWVudCBvZiBpbnQgdG8gVUlOVDogbWFzayA9ICgxIDw8IGxlbikgLSAxCisg QXNzaWdubWVudCBvZiBMT05HRVNUIHRvIFVJTlQ6IG1hc2sgPSAoMSA8PCBs ZW4pIC0gMQogTE9DIGFybS10ZGVwLmM6MzI4OQotIFJldHVybiB2YWx1ZSB0 eXBlIFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICh0 KS0+bGVuZ3RoCisgUmV0dXJuIHZhbHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBu b3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICh0KS0+bGVuZ3RoCiBMT0Mg YXJtLXRkZXAuYzozNDIyCi0gUmV0dXJuIHZhbHVlIHR5cGUgVUlOVCBkb2Vz IG5vdCBtYXRjaCBkZWNsYXJlZCB0eXBlIGludDogKHQpLT5sZW5ndGggLyB1 bml0bGVuCisgUmV0dXJuIHZhbHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBub3Qg bWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICh0KS0+bGVuZ3RoIC8gdW5pdGxl bgogTE9DIGFybS10ZGVwLmM6MzY4OSAoYXJtLXRkZXAuYzozNjkwKQorIEZ1 bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAy IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIGFybS10ZGVwLmM6 MzY5MAogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5 cGUgaW50OiBhcm1fcGNfaXNfdGh1bWIoZ2RiYXJjaCwgcmVndmFsKQogTE9D IGFybS10ZGVwLmM6MzY5MgotIEZ1bmN0aW9uIENfYWxsb2NhIGV4cGVjdHMg YXJnIDEgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5jdGlvbiBD X2FsbG9jYSBleHBlY3RzIGFyZyAxIHRvIGJlIHNpemVfdCBnZXRzIExPTkdF U1Q6IGxlbgorTE9DIGFybS10ZGVwLmM6MzY5MworIEZ1bmN0aW9uIHN0b3Jl X3Vuc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0 cyBMT05HRVNUOiBsZW4KIExPQyBhcm0tdGRlcC5jOjM3MDQgKGFybS10ZGVw LmM6MzcwNikKKyBWYXJpYWJsZSBwYXJ0aWFsX2xlbiBpbml0aWFsaXplZCB0 byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiBsZW4gPCA0ID8gbGVuIDog NAorTE9DIGFybS10ZGVwLmM6MzcwNgogIExlZnQgb3BlcmFuZCBvZiAmJiBp cyBub24tYm9vbGVhbiAoaW50KTogbWF5X3VzZV9jb3JlX3JlZyAmJiBhcmdy ZWcgPD0gQVJNX0xBU1RfQVJHX1JFR05VTQogYXZyLXRkZXAuYzogKGluIGZ1 bmN0aW9uIGF2cl9wb2ludGVyX3RvX2FkZHJlc3MpCiBMT0MgYXZyLXRkZXAu Yzo5MzIgKGF2ci10ZGVwLmM6OTM3KQotIE9wZXJhbmRzIG9mIDwgaGF2ZSBp bmNvbXBhdGlibGUgdHlwZXMgKGludCwgVUlOVCk6IGkgPCAodmFsdHlwZSkt Pmxlbmd0aAorIEZ1bmN0aW9uIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSBleHBl Y3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxzYl9yZWcgKyBp CitMT0MgYXZyLXRkZXAuYzo5MzcKKyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5j b21wYXRpYmxlIHR5cGVzIChMT05HRVNULCBVTE9OR0VTVCk6IGkgPCAodmFs dHlwZSktPmxlbmd0aAogTE9DIGF2ci10ZGVwLmM6OTM4CisgRnVuY3Rpb24g cmVnY2FjaGVfY29va2VkX3JlYWQgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQg Z2V0cyBMT05HRVNUOiBsc2JfcmVnICsgaQorTE9DIGF2ci10ZGVwLmM6OTM4 CiAgUmV0dXJuIHZhbHVlICh0eXBlIGVudW0gcmVnaXN0ZXJfc3RhdHVzKSBp Z25vcmVkOiByZWdjYWNoZV9jb29rZWRfLi4uCiBMT0MgYXZyLXRkZXAuYzox MTg0IChhdnItdGRlcC5jOjExODMpCi0gRnVuY3Rpb24geG1hbGxvYyBleHBl Y3RzIGFyZyAxIHRvIGJlIHNpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rp b24geG1hbGxvYyBleHBlY3RzIGFyZyAxIHRvIGJlIHNpemVfdCBnZXRzIExP TkdFU1Q6IGxlbgogTE9DIGF2ci10ZGVwLmM6MTE4NQorIEFzc2lnbm1lbnQg b2YgTE9OR0VTVCB0byBpbnQ6IHNpLT5sZW4gPSBsZW4KK0xPQyBhdnItdGRl cC5jOjExODYKICBJbXBsaWNpdGx5IG9ubHkgc3RvcmFnZSBzaS0+cHJldiAo dHlwZSBzdHJ1Y3Qgc3RhY2tfaXRlbSAqKSBub3QgcmVsZWFzZWQgYmVmb3Jl IGFzc2lnbm1lbnQ6IHNpLT5wcmV2ID0gcHJldgogTE9DIGF2ci10ZGVwLmM6 MTE4NyAoYXZyLXRkZXAuYzoxMTg2KQotIEZ1bmN0aW9uIG1lbWNweSBleHBl Y3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rp b24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgTE9O R0VTVDogbGVuCiBhdnItdGRlcC5jOiAoaW4gZnVuY3Rpb24gYXZyX3B1c2hf ZHVtbXlfY2FsbCkKK0xPQyBhdnItdGRlcC5jOjEyODYKKyBUZXN0IGV4cHJl c3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIExPTkdFU1Q6IGxlbiAm IDEKIExPQyBhdnItdGRlcC5jOjEyODkgKGF2ci10ZGVwLmM6MTI4NSkKLSBU ZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGludDog bGVuICYgMQorIEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBl eHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgogTE9D IGF2ci10ZGVwLmM6MTI5MCAoYXZyLXRkZXAuYzoxMjkxKQotIFJpZ2h0IG9w ZXJhbmQgb2YgPj4gbWF5IGJlIG5lZ2F0aXZlIChpbnQpOiB2YWwgPj4gKDgg KiAobGVuIC0gaiAtIDEpKQorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBh dGlibGUgdHlwZXMgKGludCwgTE9OR0VTVCk6IGogPCBsZW4KK0xPQyBhdnIt dGRlcC5jOjEyOTIKKyBSaWdodCBvcGVyYW5kIG9mID4+IG1heSBiZSBuZWdh dGl2ZSAoTE9OR0VTVCk6IHZhbCA+PiAoOCAqIChsZW4gLSBqIC0gMSkpCiBM T0MgYXgtZ2RiLmM6NDg2IChheC1nZGIuYzo0ODUpCi0gRnVuY3Rpb24gYXhf ZXh0IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5cGUp LT5sZW5ndGggKiA4CisgRnVuY3Rpb24gYXhfZXh0IGV4cGVjdHMgYXJnIDIg dG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoICogOAog YXgtZ2RiLmM6IChpbiBmdW5jdGlvbiBnZW5fZXh0ZW5kKQogTE9DIGF4LWdk Yi5jOjQ5NiAoYXgtZ2RiLmM6NDk1KQotIFZhcmlhYmxlIGJpdHMgaW5pdGlh bGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5n dGggKiA4CisgVmFyaWFibGUgYml0cyBpbml0aWFsaXplZCB0byB0eXBlIFVM T05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGggKiA4CiBMT0Mg YXgtZ2RiLmM6NTEyIChheC1nZGIuYzo1MTEpCi0gRnVuY3Rpb24gYXhfdHJh Y2VfcXVpY2sgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBVSU5UOiAo dHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIGF4X3RyYWNlX3F1aWNrIGV4cGVj dHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVu Z3RoCi1MT0MgYXgtZ2RiLmM6NTk3Ci0gRnVuY3Rpb24gZ2VuX29mZnNldCBl eHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGZyYW1lX29m ZnNldAogYXgtZ2RiLmM6IChpbiBmdW5jdGlvbiBnZW5fZnJhbWVfbG9jYWxz X2FkZHJlc3MpCi1MT0MgYXgtZ2RiLmM6NjEyCi0gRnVuY3Rpb24gZ2VuX29m ZnNldCBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGZy YW1lX29mZnNldAotYXgtZ2RiLmM6IChpbiBmdW5jdGlvbiBnZW5fc3ltX29m ZnNldCkKLUxPQyBheC1nZGIuYzo2NDYKLSBGdW5jdGlvbiBnZW5fb2Zmc2V0 IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogKHZhcikt PmdpbmZvLnZhbHVlLml2YWx1ZQogYXgtZ2RiLmM6IChpbiBmdW5jdGlvbiBn ZW5fdmFyX3JlZikKIGF4LWdkYi5jOiAoaW4gZnVuY3Rpb24gZ2VuX3B0cmFk ZCkKIExPQyBheC1nZGIuYzoxNDI0IChheC1nZGIuYzoxNDI3KQorIEZ1bmN0 aW9uICBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGVu ZCAtIHN0YXJ0CitMT0MgYXgtZ2RiLmM6MTQyOAogIEltcGxpY2l0bHkgb25s eSBzdG9yYWdlIHZhbHVlLT50eXBlICh0eXBlIHN0cnVjdCB0eXBlICopIG5v dCByZWxlYXNlZCBiZWZvcmUgYXNzaWdubWVudDogdmFsdWUtPnR5cGUgPSB0 eXBlCiBheC1nZGIuYzogKGluIGZ1bmN0aW9uIGdlbl9wcmltaXRpdmVfZmll bGQpCiBMT0MgYmZpbi10ZGVwLmM6NTM4Ci0gRnVuY3Rpb24gd3JpdGVfbWVt b3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogY29u dGFpbmVyX2xlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFy ZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBjb250YWluZXJfbGVu CiBMT0MgYnJlYWtwb2ludC5jOjIxNjkgKGJyZWFrcG9pbnQuYzoyMTc1KQor IEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGJsLT50YXJnZXRfaW5m by5sZW5ndGggPSBibC0+bGVuZ3RoCitMT0MgYnJlYWtwb2ludC5jOjIxNzYK ICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGlu dDogaXNfYnJlYWtwb2ludChibC0+b3duZXIpCiBMT0MgYnJlYWtwb2ludC5j OjQzOTAgKGJyZWFrcG9pbnQuYzo0Mzg3KQorIEZ1bmN0aW9uICBleHBlY3Rz IGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxvYy0+bGVuZ3RoCitM T0MgYnJlYWtwb2ludC5jOjQzODgKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlm IG5vdCBib29sZWFuLCB0eXBlIGludDogKComY3VycmVudF90YXJnZXQudG9f d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSkoJmN1cnJlbnRfdGFyZ2V0 LCBhZGRyLCBsb2MtPmFkZHJlc3MsIGxvYy0+bGVuZ3RoKQogTE9DIGJyZWFr cG9pbnQuYzo2MzY1IChicmVha3BvaW50LmM6NjM2MikKLSBPcGVyYW5kcyBv ZiAmJiBhcmUgbm9uLWJvb2xlYW4gKGludCk6IGJsLT5sZW5ndGggJiYgYnJl YWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlKGJsLT5wc3BhY2UtPmFzcGFj ZSwgYmwtPmFkZHJlc3MsIGJsLT5sZW5ndGgsIGFzcGFjZSwgYWRkcikKKyBG dW5jdGlvbiBicmVha3BvaW50X2FkZHJlc3NfbWF0Y2hfcmFuZ2UgZXhwZWN0 cyBhcmcgMyB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBibC0+bGVuZ3RoCitM T0MgYnJlYWtwb2ludC5jOjYzNjMKKyBPcGVyYW5kcyBvZiAmJiBhcmUgbm9u LWJvb2xlYW5zIChMT05HRVNULCBpbnQpOiBibC0+bGVuZ3RoICYmIGJyZWFr cG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZShibC0+cHNwYWNlLT5hc3BhY2Us IGJsLT5hZGRyZXNzLCBibC0+bGVuZ3RoLCBhc3BhY2UsIGFkZHIpCiBMT0Mg YnJlYWtwb2ludC5jOjk0ODYgKGJyZWFrcG9pbnQuYzo5NDg1KQogIFJldHVy biB2YWx1ZSAodHlwZSBpbnQpIGlnbm9yZWQ6IGNyZWF0ZV9icmVha3BvaW4u Li4KK2JyZWFrcG9pbnQuYzogKGluIGZ1bmN0aW9uIGJyZWFrcG9pbnRfaGl0 X3JhbmdlZF9icmVha3BvaW50KQorTE9DIGJyZWFrcG9pbnQuYzo5NTEzCisg RnVuY3Rpb24gYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIGV4cGVj dHMgYXJnIDMgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogYmwtPmxlbmd0aAog YnJlYWtwb2ludC5jOiAoaW4gZnVuY3Rpb24gcmVzb3VyY2VzX25lZWRlZF9y YW5nZWRfYnJlYWtwb2ludCkKIExPQyBicmVha3BvaW50LmM6MTU1NTggKGJy ZWFrcG9pbnQuYzoxNTU1NykKLSBGdW5jdGlvbiBvYnNlcnZlcl9hdHRhY2hf bWVtb3J5X2NoYW5nZWQgZXhwZWN0cyBhcmcgMSB0byBiZSBvYnNlcnZlcl9t ZW1vcnlfY2hhbmdlZF9mdHlwZSAqIGdldHMgW2Z1bmN0aW9uIChDT1JFX0FE RFIsIGludCwgYmZkX2J5dGUgKikgcmV0dXJucyB2b2lkXTogaW52YWxpZGF0 ZV9icF92YWx1ZV9vbl9tZW1vcnlfY2hhbmdlCisgRnVuY3Rpb24gb2JzZXJ2 ZXJfYXR0YWNoX21lbW9yeV9jaGFuZ2VkIGV4cGVjdHMgYXJnIDEgdG8gYmUg b2JzZXJ2ZXJfbWVtb3J5X2NoYW5nZWRfZnR5cGUgKiBnZXRzIFtmdW5jdGlv biAoQ09SRV9BRERSLCBMT05HRVNULCBiZmRfYnl0ZSAqKSByZXR1cm5zIHZv aWRdOiBpbnZhbGlkYXRlX2JwX3ZhbHVlX29uX21lbW9yeV9jaGFuZ2UKIExP QyBjLWxhbmcuYzoyMDUKLSBWYXJpYWJsZSB3aWR0aCBpbml0aWFsaXplZCB0 byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZh cmlhYmxlIHdpZHRoIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4 cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIGMtbGFuZy5jOjI5Mgot IEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IHdpZHRoID0gKGVsZW1lbnRf dHlwZSktPmxlbmd0aAorIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50 OiB3aWR0aCA9IChlbGVtZW50X3R5cGUpLT5sZW5ndGgKIExPQyBjLWxhbmcu Yzo0MTgKLSBGdW5jdGlvbiBDX2FsbG9jYSBleHBlY3RzIGFyZyAxIHRvIGJl IHNpemVfdCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g Q19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBVTE9O R0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBjLWxhbmcuYzo2NzQgKGMtbGFu Zy5jOjY3NSkKKyBPcGVyYW5kcyBvZiAhPSBoYXZlIGluY29tcGF0aWJsZSB0 eXBlcyAoVUlOVCwgVUxPTkdFU1QpOiAoVUlOVCkoKCZvdXRwdXQpLT5uZXh0 X2ZyZWUgLSAoJm91dHB1dCktPm9iamVjdF9iYXNlKSAhPSAodHlwZSktPmxl bmd0aAorTE9DIGMtbGFuZy5jOjY3NQogIE5ldyBmcmVzaCBzdG9yYWdlICh0 eXBlIGNoYXIgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVtcCAobm90IHJl bGVhc2VkKTogZ2V0dGV4dCgiQ291bGQgbm90IGNvbnZlcnQgY2hhcmFjdGVy ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAJCSAgICAgICAiY29uc3RhbnQgdG8gdGFyZ2V0 IGNoYXJhY3RlciBzZXQiKQogTE9DIGMtbGFuZy5jOjY5NwotIEFzc2lnbm1l bnQgb2YgVUlOVCB0byBMT05HRVNUOiBoaWdoX2JvdW5kID0gKChleHBlY3Rf dHlwZSktPmxlbmd0aCAvIGVsZW1lbnRfc2l6ZSkgLSAxCi1MT0MgYy1sYW5n LmM6Njk5Ci0gT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBl cyAoVUlOVCwgTE9OR0VTVCk6IChVSU5UKSgoJm91dHB1dCktPm5leHRfZnJl ZSAtICgmb3V0cHV0KS0+b2JqZWN0X2Jhc2UpIC8gZWxlbWVudF9zaXplID4g KGhpZ2hfYm91bmQgLSBsb3dfYm91bmQgKyAxKQorIEFzc2lnbm1lbnQgb2Yg VUxPTkdFU1QgdG8gTE9OR0VTVDogaGlnaF9ib3VuZCA9ICgoZXhwZWN0X3R5 cGUpLT5sZW5ndGggLyBlbGVtZW50X3NpemUpIC0gMQogTE9DIGNwLWFiaS5j Ojk2Ci0gUGF0aCB3aXRoIG5vIHJldHVybiBpbiBmdW5jdGlvbiBkZWNsYXJl ZCB0byByZXR1cm4gaW50CisgUGF0aCB3aXRoIG5vIHJldHVybiBpbiBmdW5j dGlvbiBkZWNsYXJlZCB0byByZXR1cm4gTE9OR0VTVAogTE9DIGNwLXZhbHBy aW50LmM6MzYzIChjcC12YWxwcmludC5jOjM2NikKKyBWYXJpYWJsZSBpX29m ZnNldCBpbml0aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50 OiBvZmZzZXQgKyAoKCgodHlwZSktPm1haW5fdHlwZS0+Zmxkc19ibmRzLmZp ZWxkc1tpXSkubG9jLmJpdHBvcykgKyAwKSAvIDgKK0xPQyBjcC12YWxwcmlu dC5jOjM2NgogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4s IHR5cGUgaW50OiB2YWxwcmludF9jaGVja192YWxpZGl0eShzdHJlYW0sIGlf dHlwZSwgaV9vZmZzZXQsIHZhbCkKIExPQyBjcC12YWxwcmludC5jOjU2MCAo Y3AtdmFscHJpbnQuYzo1NTkpCi0gRnVuY3Rpb24gQ19hbGxvY2EgZXhwZWN0 cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAoYmFzZWNsYXNzKS0+ bGVuZ3RoCisgRnVuY3Rpb24gQ19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBi ZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGJhc2VjbGFzcyktPmxlbmd0aAog TE9DIGNwLXZhbHByaW50LmM6NTYzIChjcC12YWxwcmludC5jOjU2MikKLSBG dW5jdGlvbiB0YXJnZXRfcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzc2l6ZV90IGdldHMgVUlOVDogKGJhc2VjbGFzcyktPmxlbmd0aAorIEZ1 bmN0aW9uIHRhcmdldF9yZWFkX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJl IHNzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGJhc2VjbGFzcyktPmxlbmd0aAog TE9DIGNyaXMtdGRlcC5jOjY4MwotIEZ1bmN0aW9uIHhtYWxsb2MgZXhwZWN0 cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9u IHhtYWxsb2MgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBMT05H RVNUOiBsZW4KIExPQyBjcmlzLXRkZXAuYzo2ODQgKGNyaXMtdGRlcC5jOjY4 NSkKKyBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8gaW50OiBzaS0+bGVuID0g bGVuCitMT0MgY3Jpcy10ZGVwLmM6Njg1CiAgSW1wbGljaXRseSBvbmx5IHN0 b3JhZ2Ugc2ktPnByZXYgKHR5cGUgc3RydWN0IHN0YWNrX2l0ZW0gKikgbm90 IHJlbGVhc2VkIGJlZm9yZSBhc3NpZ25tZW50OiBzaS0+cHJldiA9IHByZXYK IExPQyBjcmlzLXRkZXAuYzo2ODYKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdF U1Q6IGxlbgogY3Jpcy10ZGVwLmM6IChpbiBmdW5jdGlvbiBjcmlzX2ZyYW1l X3Vud2luZF9jYWNoZSkKIExPQyBjcmlzLXRkZXAuYzo4OTkKLSBGdW5jdGlv biB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdl dHMgaW50OiBsZW4KKyBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBh cmcgMyB0byBiZSBzc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCitMT0MgY3Jp cy10ZGVwLmM6MTY3MAorIEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50 ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxl bgogTE9DIGNyaXMtdGRlcC5jOjE2NzggKGNyaXMtdGRlcC5jOjE2ODIpCisg RnVuY3Rpb24gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIGV4cGVjdHMgYXJn IDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuIC0gNAorTE9DIGNyaXMt dGRlcC5jOjE2ODIKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBjaGFyICop IHBhc3NlZCBhcyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNlZCk6IGdl dHRleHQoImNyaXNfc3RvcmVfcmV0dXJuX3ZhbHVlOiB0eXBlIGxlbmd0aCB0 b28gbGFyZ2UuIikKIExPQyBjcmlzLXRkZXAuYzoxODQyIChjcmlzLXRkZXAu YzoxODQ3KQorIEZ1bmN0aW9uIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgZXhw ZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyBj cmlzLXRkZXAuYzoxODQ3CiAgUGFzc2VkIHN0b3JhZ2UgJnZhbCBub3QgY29t cGxldGVseSBkZWZpbmVkOiByZWdjYWNoZV9jb29rZWRfcmVhZF91bnNpZ25l ZCAoLi4uLCAmdmFsKQogTE9DIGNyaXMtdGRlcC5jOjE4NTAgKGNyaXMtdGRl cC5jOjE4NTMpCisgRnVuY3Rpb24gc3RvcmVfdW5zaWduZWRfaW50ZWdlciBl eHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbiAtIDQK K0xPQyBjcmlzLXRkZXAuYzoxODUzCiAgTmV3IGZyZXNoIHN0b3JhZ2UgKHR5 cGUgY2hhciAqKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0ZW1wIChub3QgcmVs ZWFzZWQpOiBnZXR0ZXh0KCJjcmlzX2V4dHJhY3RfcmV0dXJuX3ZhbHVlOiB0 eXBlIGxlbmd0aCB0b28gbGFyZ2UiKQogTE9DIGRvdWJsZXN0LmM6Nzk0Ci0g T3BlcmFuZHMgb2YgPT0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwg VUlOVCk6IGxlbiAqIDggPT0gZ2RiYXJjaF9sb25nX2RvdWJsZV9mb3JtYXQo Z2RiYXJjaClbMF0tPnRvdGFsc2l6ZQorIE9wZXJhbmRzIG9mID09IGhhdmUg aW5jb21wYXRpYmxlIHR5cGVzIChMT05HRVNULCBVSU5UKTogbGVuICogOCA9 PSBnZGJhcmNoX2xvbmdfZG91YmxlX2Zvcm1hdChnZGJhcmNoKVswXS0+dG90 YWxzaXplCiBMT0MgZG91Ymxlc3QuYzo4NTcKLSBGdW5jdGlvbiBtZW1zZXQg ZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAodHlwZSkt Pmxlbmd0aAorIEZ1bmN0aW9uIG1lbXNldCBleHBlY3RzIGFyZyAzIHRvIGJl IHNpemVfdCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIGRv dWJsZXN0LmM6ODgzCi0gRnVuY3Rpb24gbWVtc2V0IGV4cGVjdHMgYXJnIDMg dG8gYmUgc2l6ZV90IGdldHMgVUlOVDogKHRvX3R5cGUpLT5sZW5ndGgKKyBG dW5jdGlvbiBtZW1zZXQgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBVTE9OR0VTVDogKHRvX3R5cGUpLT5sZW5ndGgKIExPQyBkb3VibGVzdC5j Ojg5MwotIEZ1bmN0aW9uIG1lbXNldCBleHBlY3RzIGFyZyAzIHRvIGJlIHNp emVfdCBnZXRzIFVJTlQ6ICh0b190eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g bWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdF U1Q6ICh0b190eXBlKS0+bGVuZ3RoCiBMT0MgZG91Ymxlc3QuYzo4OTQKLSBG dW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBVSU5UOiAoKChmcm9tX3R5cGUpLT5sZW5ndGgpIDwgKCh0b190eXBlKS0+ bGVuZ3RoKSA/ICgoZnJvbV90eXBlKS0+bGVuZ3RoKSA6ICgodG9fdHlwZSkt Pmxlbmd0aCkpCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICgoKGZyb21fdHlwZSktPmxlbmd0 aCkgPCAoKHRvX3R5cGUpLT5sZW5ndGgpID8gKChmcm9tX3R5cGUpLT5sZW5n dGgpIDogKCh0b190eXBlKS0+bGVuZ3RoKSkKIExPQyBkd2FyZjJsb2MuYzox Mjc5Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6 ZV90IGdldHMgVUlOVDogKGNoZWNrZWRfdHlwZSktPmxlbmd0aAorIEZ1bmN0 aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVM T05HRVNUOiAoY2hlY2tlZF90eXBlKS0+bGVuZ3RoCiBMT0MgZHdhcmYybG9j LmM6MTQ5NiAoZHdhcmYybG9jLmM6MTUwMykKKyBBc3NpZ25tZW50IG9mIFVM T05HRVNUIHRvIFVJTlQ6IHNvdXJjZV9vZmZzZXRfYml0cyA9IHNvdXJjZV9v ZmZzZXQgJSA4CitMT0MgZHdhcmYybG9jLmM6MTQ5OAorIEFzc2lnbm1lbnQg b2YgVUxPTkdFU1QgdG8gVUlOVDogZGVzdF9hdmFpbCA9IDggLSBkZXN0X29m ZnNldF9iaXRzICUgOAorTE9DIGR3YXJmMmxvYy5jOjE1MDEKKyBPcGVyYW5k cyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBVTE9OR0VT VCk6IGRlc3RfYXZhaWwgPCBiaXRfY291bnQKK0xPQyBkd2FyZjJsb2MuYzox NTAzCiAgRnVuY3Rpb24gZXh0cmFjdF9iaXRzIGV4cGVjdHMgYXJnIDMgdG8g YmUgaW50IGdldHMgVUlOVDogZGVzdF9hdmFpbAogTE9DIGR3YXJmMmxvYy5j OjE1MDUKKyBGdW5jdGlvbiBpbnNlcnRfYml0cyBleHBlY3RzIGFyZyAzIHRv IGJlIFVJTlQgZ2V0cyBVTE9OR0VTVDogZGVzdF9vZmZzZXRfYml0cworTE9D IGR3YXJmMmxvYy5jOjE1MDUKICBGdW5jdGlvbiBpbnNlcnRfYml0cyBleHBl Y3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVJTlQ6IGRlc3RfYXZhaWwKIExP QyBkd2FyZjJsb2MuYzoxNTI0Ci0gRnVuY3Rpb24gZXh0cmFjdF9iaXRzIGV4 cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgVUlOVDogYml0X2NvdW50Cisg RnVuY3Rpb24gZXh0cmFjdF9iaXRzIGV4cGVjdHMgYXJnIDMgdG8gYmUgaW50 IGdldHMgVUxPTkdFU1Q6IGJpdF9jb3VudAogTE9DIGR3YXJmMmxvYy5jOjE1 MjYKLSBGdW5jdGlvbiBpbnNlcnRfYml0cyBleHBlY3RzIGFyZyA0IHRvIGJl IGludCBnZXRzIFVJTlQ6IGJpdF9jb3VudAorIEZ1bmN0aW9uIGluc2VydF9i aXRzIGV4cGVjdHMgYXJnIDMgdG8gYmUgVUlOVCBnZXRzIFVMT05HRVNUOiBk ZXN0X29mZnNldF9iaXRzCitMT0MgZHdhcmYybG9jLmM6MTUyNgorIEZ1bmN0 aW9uIGluc2VydF9iaXRzIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMg VUxPTkdFU1Q6IGJpdF9jb3VudAogZHdhcmYybG9jLmM6IChpbiBmdW5jdGlv biByZWFkX3BpZWNlZF92YWx1ZSkKIExPQyBkd2FyZjJsb2MuYzoxNTU5Ci0g QXNzaWdubWVudCBvZiBpbnQgdG8gc2l6ZV90OiB0eXBlX2xlbiA9IHZhbHVl X2JpdHNpemUodikKLUxPQyBkd2FyZjJsb2MuYzoxNTYyCi0gQXNzaWdubWVu dCBvZiBVSU5UIHRvIHNpemVfdDogdHlwZV9sZW4gPSA4ICogKHZhbHVlX3R5 cGUodikpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIGludCB0byBVTE9OR0VT VDogdHlwZV9sZW4gPSB2YWx1ZV9iaXRzaXplKHYpCiBMT0MgZHdhcmYybG9j LmM6MTU4NCAoZHdhcmYybG9jLmM6MTU3MykKLSBBc3NpZ25tZW50IG9mIFVM T05HRVNUIHRvIHNpemVfdDogdGhpc19zaXplX2JpdHMgPSBwLT5zaXplCisg QXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBMT05HRVNUOiBzb3VyY2Vfb2Zm c2V0X2JpdHMgPSBiaXRzX3RvX3NraXAKIExPQyBkd2FyZjJsb2MuYzoxNTk2 IChkd2FyZjJsb2MuYzoxNTc0KQotIE9wZXJhbmRzIG9mID49IGhhdmUgaW5j b21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwgc2l6ZV90KTogYml0c190b19z a2lwID49IHRoaXNfc2l6ZV9iaXRzCisgT3BlcmFuZHMgb2YgPCBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoc2l6ZV90LCBVTE9OR0VTVCk6IGJ1ZmZlcl9z aXplIDwgdGhpc19zaXplCiBMT0MgZHdhcmYybG9jLmM6MTU5OCAoZHdhcmYy bG9jLmM6MTU4NCkKLSBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIExPTkdF U1Q6IHNvdXJjZV9vZmZzZXRfYml0cyA9IGJpdHNfdG9fc2tpcAorIEFzc2ln bm1lbnQgb2YgVUxPTkdFU1QgdG8gc2l6ZV90OiBidWZmZXJfc2l6ZSA9IHRo aXNfc2l6ZQogTE9DIGR3YXJmMmxvYy5jOjE2MTMKLSBPcGVyYW5kcyBvZiA8 IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChzaXplX3QsIGludCk6IHRoaXNf c2l6ZSA8IHJlZ2lzdGVyX3NpemUoYXJjaCwgZ2RiX3JlZ251bSkKKyBPcGVy YW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwg aW50KTogdGhpc19zaXplIDwgcmVnaXN0ZXJfc2l6ZShhcmNoLCBnZGJfcmVn bnVtKQogTE9DIGR3YXJmMmxvYy5jOjE2MTYKLSBBc3NpZ25tZW50IG9mIGFy Yml0cmFyeSBVSU5UZWdyYWwgdHlwZSB0byBpbnQ6IHJlZ19vZmZzZXQgPSBy ZWdpc3Rlcl9zaXplKGFyY2gsIGdkYl9yZWdudW0pIC0gdGhpc19zaXplCisg QXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBpbnQ6IHJlZ19vZmZzZXQgPSBy ZWdpc3Rlcl9zaXplKGFyY2gsIGdkYl9yZWdudW0pIC0gdGhpc19zaXplCiBM T0MgZHdhcmYybG9jLmM6MTYyNwotIEZ1bmN0aW9uIGdldF9mcmFtZV9yZWdp c3Rlcl9ieXRlcyBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIHNpemVf dDogdGhpc19zaXplCisgRnVuY3Rpb24gZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5 dGVzIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6IHRo aXNfc2l6ZQogTE9DIGR3YXJmMmxvYy5jOjE2MzEgKGR3YXJmMmxvYy5jOjE2 MzMpCisgRnVuY3Rpb24gbWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6 ZV90IGdldHMgVUxPTkdFU1Q6IHRoaXNfc2l6ZQorTE9DIGR3YXJmMmxvYy5j OjE2MzMKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0 eXBlIGludDogb3B0aW0KIExPQyBkd2FyZjJsb2MuYzoxNjM2Ci0gRnVuY3Rp b24gbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSBleHBlY3RzIGFyZyAy IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IG9mZnNldAotTE9DIGR3YXJmMmxv Yy5jOjE2MzYKLSBGdW5jdGlvbiBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxh YmxlIGV4cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgc2l6ZV90OiB0aGlz X3NpemUKKyBGdW5jdGlvbiBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxl IGV4cGVjdHMgYXJnIDMgdG8gYmUgTE9OR0VTVCBnZXRzIFVMT05HRVNUOiB0 aGlzX3NpemUKIExPQyBkd2FyZjJsb2MuYzoxNjUxCisgRnVuY3Rpb24gcmVh ZF92YWx1ZV9tZW1vcnkgZXhwZWN0cyBhcmcgNiB0byBiZSBzaXplX3QgZ2V0 cyBVTE9OR0VTVDogdGhpc19zaXplCitMT0MgZHdhcmYybG9jLmM6MTY1MQog IE51bGwgc3RvcmFnZSBidWZmZXIgcGFzc2VkIGFzIG5vbi1udWxsIHBhcmFt OiByZWFkX3ZhbHVlX21lbW9yeSAoLi4uLCBidWZmZXIsIC4uLikKIExPQyBk d2FyZjJsb2MuYzoxNjU2IChkd2FyZjJsb2MuYzoxNjU4KQorIFZhcmlhYmxl IG4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBzaXpl X3Q6IHRoaXNfc2l6ZQorTE9DIGR3YXJmMmxvYy5jOjE2NTgKICBPcGVyYW5k cyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChzaXplX3QsIExPTkdF U1QpOiBuID4gYy0+YWRkcl9zaXplIC0gc291cmNlX29mZnNldAogTE9DIGR3 YXJmMmxvYy5jOjE2NzcgKGR3YXJmMmxvYy5jOjE2NzkpCisgVmFyaWFibGUg biBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIHNpemVf dDogdGhpc19zaXplCitMT0MgZHdhcmYybG9jLmM6MTY3OQogIE9wZXJhbmRz IG9mID4gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKHNpemVfdCwgVUxPTkdF U1QpOiBuID4gcC0+di5saXRlcmFsLmxlbmd0aCAtIHNvdXJjZV9vZmZzZXQK IExPQyBkd2FyZjJsb2MuYzoxNzA0Ci0gRnVuY3Rpb24gY29weV9iaXR3aXNl IGV4cGVjdHMgYXJnIDQgdG8gYmUgVUlOVCBnZXRzIExPTkdFU1Q6IHNvdXJj ZV9vZmZzZXRfYml0cyAlIDgKLUxPQyBkd2FyZjJsb2MuYzoxNzA1Ci0gRnVu Y3Rpb24gY29weV9iaXR3aXNlIGV4cGVjdHMgYXJnIDUgdG8gYmUgVUlOVCBn ZXRzIHNpemVfdDogdGhpc19zaXplX2JpdHMKKyBGdW5jdGlvbiBjb3B5X2Jp dHdpc2UgZXhwZWN0cyBhcmcgNCB0byBiZSBVTE9OR0VTVCBnZXRzIExPTkdF U1Q6IHNvdXJjZV9vZmZzZXRfYml0cyAlIDgKIExPQyBkd2FyZjJsb2MuYzox NzQzCi0gQXNzaWdubWVudCBvZiBpbnQgdG8gc2l6ZV90OiB0eXBlX2xlbiA9 IHZhbHVlX2JpdHNpemUodG8pCi1MT0MgZHdhcmYybG9jLmM6MTc0NgotIEFz c2lnbm1lbnQgb2YgVUlOVCB0byBzaXplX3Q6IHR5cGVfbGVuID0gOCAqICh2 YWx1ZV90eXBlKHRvKSktPmxlbmd0aAorIEFzc2lnbm1lbnQgb2YgaW50IHRv IFVMT05HRVNUOiB0eXBlX2xlbiA9IHZhbHVlX2JpdHNpemUodG8pCiBMT0Mg ZHdhcmYybG9jLmM6MTc2NiAoZHdhcmYybG9jLmM6MTc1NikKLSBBc3NpZ25t ZW50IG9mIFVMT05HRVNUIHRvIHNpemVfdDogdGhpc19zaXplX2JpdHMgPSBw LT5zaXplCisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBMT05HRVNUOiBk ZXN0X29mZnNldF9iaXRzID0gYml0c190b19za2lwCiBMT0MgZHdhcmYybG9j LmM6MTc4NyAoZHdhcmYybG9jLmM6MTc1NykKLSBPcGVyYW5kcyBvZiA+PSBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIHNpemVfdCk6IGJp dHNfdG9fc2tpcCA+PSB0aGlzX3NpemVfYml0cworIE9wZXJhbmRzIG9mIDwg aGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKHNpemVfdCwgVUxPTkdFU1QpOiBi dWZmZXJfc2l6ZSA8IHRoaXNfc2l6ZQogTE9DIGR3YXJmMmxvYy5jOjE3ODkg KGR3YXJmMmxvYy5jOjE3NjYpCi0gQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0 byBMT05HRVNUOiBkZXN0X29mZnNldF9iaXRzID0gYml0c190b19za2lwCisg QXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBzaXplX3Q6IGJ1ZmZlcl9zaXpl ID0gdGhpc19zaXplCiBMT0MgZHdhcmYybG9jLmM6MTgwNQotIE9wZXJhbmRz IG9mIDw9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChzaXplX3QsIGludCk6 IHRoaXNfc2l6ZSA8PSByZWdpc3Rlcl9zaXplKGFyY2gsIGdkYl9yZWdudW0p CisgT3BlcmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVM T05HRVNULCBpbnQpOiB0aGlzX3NpemUgPD0gcmVnaXN0ZXJfc2l6ZShhcmNo LCBnZGJfcmVnbnVtKQogTE9DIGR3YXJmMmxvYy5jOjE4MDcKLSBBc3NpZ25t ZW50IG9mIGFyYml0cmFyeSBVSU5UZWdyYWwgdHlwZSB0byBpbnQ6IHJlZ19v ZmZzZXQgPSByZWdpc3Rlcl9zaXplKGFyY2gsIGdkYl9yZWdudW0pIC0gdGhp c19zaXplCisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBpbnQ6IHJlZ19v ZmZzZXQgPSByZWdpc3Rlcl9zaXplKGFyY2gsIGdkYl9yZWdudW0pIC0gdGhp c19zaXplCiBMT0MgZHdhcmYybG9jLmM6MTgxNgotIEZ1bmN0aW9uIGdldF9m cmFtZV9yZWdpc3Rlcl9ieXRlcyBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBn ZXRzIHNpemVfdDogdGhpc19zaXplCisgRnVuY3Rpb24gZ2V0X2ZyYW1lX3Jl Z2lzdGVyX2J5dGVzIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUxP TkdFU1Q6IHRoaXNfc2l6ZQogTE9DIGR3YXJmMmxvYy5jOjE4MjkKLSBGdW5j dGlvbiBjb3B5X2JpdHdpc2UgZXhwZWN0cyBhcmcgMiB0byBiZSBVSU5UIGdl dHMgTE9OR0VTVDogZGVzdF9vZmZzZXRfYml0cwotTE9DIGR3YXJmMmxvYy5j OjE4MzAKLSBGdW5jdGlvbiBjb3B5X2JpdHdpc2UgZXhwZWN0cyBhcmcgNCB0 byBiZSBVSU5UIGdldHMgTE9OR0VTVDogc291cmNlX29mZnNldF9iaXRzCisg RnVuY3Rpb24gY29weV9iaXR3aXNlIGV4cGVjdHMgYXJnIDIgdG8gYmUgVUxP TkdFU1QgZ2V0cyBMT05HRVNUOiBkZXN0X29mZnNldF9iaXRzCiBMT0MgZHdh cmYybG9jLmM6MTgzMCAoZHdhcmYybG9jLmM6MTgzMSkKLSBGdW5jdGlvbiBj b3B5X2JpdHdpc2UgZXhwZWN0cyBhcmcgNSB0byBiZSBVSU5UIGdldHMgc2l6 ZV90OiB0aGlzX3NpemVfYml0cworIEZ1bmN0aW9uIGNvcHlfYml0d2lzZSBl eHBlY3RzIGFyZyA0IHRvIGJlIFVMT05HRVNUIGdldHMgTE9OR0VTVDogc291 cmNlX29mZnNldF9iaXRzCiBMT0MgZHdhcmYybG9jLmM6MTgzNgotIEZ1bmN0 aW9uIHB1dF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyBleHBlY3RzIGFyZyA0IHRv IGJlIGludCBnZXRzIHNpemVfdDogdGhpc19zaXplCisgRnVuY3Rpb24gcHV0 X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50 IGdldHMgVUxPTkdFU1Q6IHRoaXNfc2l6ZQogTE9DIGR3YXJmMmxvYy5jOjE4 NTMKLSBGdW5jdGlvbiBjb3B5X2JpdHdpc2UgZXhwZWN0cyBhcmcgMiB0byBi ZSBVSU5UIGdldHMgTE9OR0VTVDogZGVzdF9vZmZzZXRfYml0cwotTE9DIGR3 YXJmMmxvYy5jOjE4NTQKLSBGdW5jdGlvbiBjb3B5X2JpdHdpc2UgZXhwZWN0 cyBhcmcgNCB0byBiZSBVSU5UIGdldHMgTE9OR0VTVDogc291cmNlX29mZnNl dF9iaXRzCisgRnVuY3Rpb24gY29weV9iaXR3aXNlIGV4cGVjdHMgYXJnIDIg dG8gYmUgVUxPTkdFU1QgZ2V0cyBMT05HRVNUOiBkZXN0X29mZnNldF9iaXRz CiBMT0MgZHdhcmYybG9jLmM6MTg1NCAoZHdhcmYybG9jLmM6MTg1NSkKLSBG dW5jdGlvbiBjb3B5X2JpdHdpc2UgZXhwZWN0cyBhcmcgNSB0byBiZSBVSU5U IGdldHMgc2l6ZV90OiB0aGlzX3NpemVfYml0cworIEZ1bmN0aW9uIGNvcHlf Yml0d2lzZSBleHBlY3RzIGFyZyA0IHRvIGJlIFVMT05HRVNUIGdldHMgTE9O R0VTVDogc291cmNlX29mZnNldF9iaXRzCiBMT0MgZHdhcmYybG9jLmM6MTg2 MAotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJl IHNzaXplX3QgZ2V0cyBzaXplX3Q6IHRoaXNfc2l6ZQorIEZ1bmN0aW9uIHdy aXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBV TE9OR0VTVDogdGhpc19zaXplCiBMT0MgZHdhcmYybG9jLmM6MTkwMgotIE9w ZXJhbmRzIG9mID49IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIHNp emVfdCk6IGJpdF9vZmZzZXQgPj0gdGhpc19zaXplX2JpdHMKKyBPcGVyYW5k cyBvZiA+PSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoTE9OR0VTVCwgc2l6 ZV90KTogYml0X29mZnNldCA+PSB0aGlzX3NpemVfYml0cwogZHdhcmYybG9j LmM6IChpbiBmdW5jdGlvbiBpbmRpcmVjdF9waWVjZWRfdmFsdWUpCiBMT0Mg ZHdhcmYybG9jLmM6MjAwMiAoZHdhcmYybG9jLmM6MjAwMSkKLSBPcGVyYW5k cyBvZiA+PSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50LCBzaXplX3Qp OiBiaXRfb2Zmc2V0ID49IHRoaXNfc2l6ZV9iaXRzCisgT3BlcmFuZHMgb2Yg Pj0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKExPTkdFU1QsIHNpemVfdCk6 IGJpdF9vZmZzZXQgPj0gdGhpc19zaXplX2JpdHMKIExPQyBkd2FyZjJsb2Mu YzoyMTkwIChkd2FyZjJsb2MuYzoyMTg4KQotIEZ1bmN0aW9uIHNldF92YWx1 ZV9vZmZzZXQgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05HRVNU OiBieXRlX29mZnNldAotTE9DIGR3YXJmMmxvYy5jOjIxODkKICBGcmVzaCBz dG9yYWdlIGMgbm90IHJlbGVhc2VkIGJlZm9yZSBzY29wZSBleGl0CiBMT0Mg ZHdhcmYybG9jLmM6MjIzMyAoZHdhcmYybG9jLmM6MjIzMCkKLSBWYXJpYWJs ZSBuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBzaXplX3Q6 ICh2YWx1ZV90eXBlKHZhbHVlKSktPmxlbmd0aAotTE9DIGR3YXJmMmxvYy5j OjIyMzIKLSBPcGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVz IChMT05HRVNULCBzaXplX3QpOiBieXRlX29mZnNldCArICh0eXBlKS0+bGVu Z3RoID4gbgorIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNvbXBhdGlibGUgdHlw ZXMgKExPTkdFU1QsIFVMT05HRVNUKTogYnl0ZV9vZmZzZXQgKyAodHlwZSkt Pmxlbmd0aCA+IG4KIExPQyBkd2FyZjJsb2MuYzoyMjU2IChkd2FyZjJsb2Mu YzoyMjQ4KQotIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNvbXBhdGlibGUgdHlw ZXMgKHNpemVfdCwgVUlOVCk6IG4gPiAodHlwZSktPmxlbmd0aAotTE9DIGR3 YXJmMmxvYy5jOjIyNTQKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gc2l6ZV90 OiBuID0gKHR5cGUpLT5sZW5ndGgKLUxPQyBkd2FyZjJsb2MuYzoyMjU1CiAg RnJlc2ggc3RvcmFnZSBvYmpmaWxlX2dkYmFyY2ggbm90IHJlbGVhc2VkIGJl Zm9yZSBzY29wZSBleGl0CiBMT0MgZHdhcmYybG9jLmM6MjI1NworIEZ1bmN0 aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVM T05HRVNUOiBuCitMT0MgZHdhcmYybG9jLmM6MjI1OAogIEZyZXNoIHN0b3Jh Z2UgdmFsdWUgbm90IHJlbGVhc2VkIGJlZm9yZSBzY29wZSBleGl0CiBMT0Mg ZHdhcmYybG9jLmM6MjI3NyAoZHdhcmYybG9jLmM6MjI3NikKLSBPcGVyYW5k cyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChzaXplX3QsIFVJTlQp OiBuID4gKHR5cGUpLT5sZW5ndGgKKyBPcGVyYW5kcyBvZiA+IGhhdmUgaW5j b21wYXRpYmxlIHR5cGVzIChzaXplX3QsIFVMT05HRVNUKTogbiA+ICh0eXBl KS0+bGVuZ3RoCiBMT0MgZHdhcmYybG9jLmM6MjI4MyAoZHdhcmYybG9jLmM6 MjI4MikKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gc2l6ZV90OiBuID0gKHR5 cGUpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIHNpemVf dDogbiA9ICh0eXBlKS0+bGVuZ3RoCiBkd2FyZjJyZWFkLmM6IChpbiBmdW5j dGlvbiBkd2FyZjJfc2VjdGlvbl9idWZmZXJfb3ZlcmZsb3dfY29tcGxhaW50 KQogTE9DIGR3YXJmMnJlYWQuYzo2MTE3Ci0gRnVuY3Rpb24gbWVtY3B5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5s ZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBz aXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBkd2Fy ZjJyZWFkLmM6Nzc2MyAoZHdhcmYycmVhZC5jOjc3NjQpCisgQXNzaWdubWVu dCBvZiBzaXplX3QgdG8gVUxPTkdFU1Q6IGRsYmF0b24tPnNpemUgPSAoKGF0 dHIpLT51LmJsayktPnNpemUKK0xPQyBkd2FyZjJyZWFkLmM6Nzc2NAogIElt cGxpY2l0bHkgb25seSBzdG9yYWdlIGRsYmF0b24tPnBlcl9jdSAodHlwZSBz dHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICopIG5vdCByZWxlYXNlZCBiZWZv cmUgYXNzaWdubWVudDogZGxiYXRvbi0+cGVyX2N1ID0gY3UtPnBlcl9jdQog TE9DIGR3YXJmMnJlYWQuYzo3ODg1IChkd2FyZjJyZWFkLmM6Nzg4MikKLSBB c3NpZ25tZW50IG9mIFVJTlQgdG8gc2l6ZV90OiBwYXJhbWV0ZXItPnZhbHVl X3NpemUgPSAoKGF0dHIpLT51LmJsayktPnNpemUKLUxPQyBkd2FyZjJyZWFk LmM6Nzg4NQogIEltcGxpY2l0bHkgb25seSBzdG9yYWdlIHBhcmFtZXRlci0+ ZGF0YV92YWx1ZSAodHlwZSBnZGJfYnl0ZSAqKSBub3QgcmVsZWFzZWQgYmVm b3JlIGFzc2lnbm1lbnQ6IHBhcmFtZXRlci0+ZGF0YV92YWx1ZSA9IE5VTEwK IExPQyBkd2FyZjJyZWFkLmM6NzkwMyAoZHdhcmYycmVhZC5jOjc5MDApCi0g QXNzaWdubWVudCBvZiBVSU5UIHRvIHNpemVfdDogcGFyYW1ldGVyLT5kYXRh X3ZhbHVlX3NpemUgPSAoKGF0dHIpLT51LmJsayktPnNpemUKLUxPQyBkd2Fy ZjJyZWFkLmM6NzkwMwogIEZyZXNoIHN0b3JhZ2UgbG9jIG5vdCByZWxlYXNl ZCBiZWZvcmUgc2NvcGUgZXhpdAogTE9DIGR3YXJmMnJlYWQuYzo4NTI1IChk d2FyZjJyZWFkLmM6ODUyNCkKLSBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8g aW50OiAoKCpmcCkubG9jLmJpdHBvcykgPSAob2Zmc2V0ICogYml0c19wZXJf Ynl0ZSkKLUxPQyBkd2FyZjJyZWFkLmM6ODUyNQogIEZyZXNoIHN0b3JhZ2Ug YXR0ciAodHlwZSBzdHJ1Y3QgYXR0cmlidXRlICopIG5vdCByZWxlYXNlZCBi ZWZvcmUgYXNzaWdubWVudDogYXR0ciA9IGR3YXJmMl9hdHRyKGRpZSwgRFdf QVRfYml0X29mZnNldCwgY3UpCiBMT0MgZHdhcmYycmVhZC5jOjg1NDYgKGR3 YXJmMnJlYWQuYzo4NTM1KQotIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8g aW50OiAoKCpmcCkubG9jLmJpdHBvcykgPSAoKCgoKmZwKS5sb2MuYml0cG9z KSArIDApICsgKChhdHRyKS0+dS51bnNuZCkpCi1MT0MgZHdhcmYycmVhZC5j Ojg1NDYKICBWYXJpYWJsZSBiaXRfb2Zmc2V0IGluaXRpYWxpemVkIHRvIHR5 cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAoKGF0dHIpLT51LnVuc25kKQog TE9DIGR3YXJmMnJlYWQuYzo4NjM1IChkd2FyZjJyZWFkLmM6ODYzMykKLSBB c3NpZ25tZW50IG9mIExPTkdFU1QgdG8gaW50OiAoKCpmcCkubG9jLmJpdHBv cykgPSAob2Zmc2V0ICogYml0c19wZXJfYnl0ZSkKLUxPQyBkd2FyZjJyZWFk LmM6ODYzNQogIEltcGxpY2l0bHkgb25seSBzdG9yYWdlIGZwLT50eXBlICh0 eXBlIHN0cnVjdCB0eXBlICopIG5vdCByZWxlYXNlZCBiZWZvcmUgYXNzaWdu bWVudDogKCgqZnApLnR5cGUpID0gZGllX3R5cGUoZGllLCBjdSkKIExPQyBk d2FyZjJyZWFkLmM6OTE4NCAoZHdhcmYycmVhZC5jOjkxNzcpCi0gQXNzaWdu bWVudCBvZiBVTE9OR0VTVCB0byBVSU5UOiAodHlwZSktPmxlbmd0aCA9ICgo YXR0ciktPnUudW5zbmQpCi1MT0MgZHdhcmYycmVhZC5jOjkxODQKICBUZXN0 IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGludDogcHJv ZHVjZXJfaXNfaWNjKGN1KQogTE9DIGR3YXJmMnJlYWQuYzo5NDcyIChkd2Fy ZjJyZWFkLmM6OTQ2MCkKLSBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIFVJ TlQ6ICh0eXBlKS0+bGVuZ3RoID0gKChhdHRyKS0+dS51bnNuZCkKLUxPQyBk d2FyZjJyZWFkLmM6OTQ3MgogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90 IGJvb2xlYW4sIHR5cGUgaW50OiBkaWVfaXNfZGVjbGFyYXRpb24oZGllLCBj dSkKIExPQyBkd2FyZjJyZWFkLmM6OTY4NSAoZHdhcmYycmVhZC5jOjk2ODIp Ci0gQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBVSU5UOiAodHlwZSktPmxl bmd0aCA9ICgoYXR0ciktPnUudW5zbmQpCi1MT0MgZHdhcmYycmVhZC5jOjk2 ODUKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBjaGFyICopIHBhc3NlZCBh cyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNlZCk6IGdldHRleHQoIkRX X0FUX2J5dGVfc2l6ZSBmb3IgYXJyYXkgdHlwZSBzbWFsbGVyICIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAkJICAgICAidGhhbiB0aGUgdG90YWwgc2l6ZSBvZiBlbGVtZW50cyIpCiBM T0MgZHdhcmYycmVhZC5jOjk3NTggKGR3YXJmMnJlYWQuYzo5NzU2KQotIEFz c2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gVUlOVDogKHNldF90eXBlKS0+bGVu Z3RoID0gKChhdHRyKS0+dS51bnNuZCkKLUxPQyBkd2FyZjJyZWFkLmM6OTc1 OAogIEZyZXNoIHN0b3JhZ2UgZG9tYWluX3R5cGUgbm90IHJlbGVhc2VkIGJl Zm9yZSByZXR1cm4KIExPQyBkd2FyZjJyZWFkLmM6OTk5NwotIE9wZXJhbmRz IG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBpbnQpOiAo dHlwZSktPmxlbmd0aCAhPSBieXRlX3NpemUKKyBPcGVyYW5kcyBvZiAhPSBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGludCk6ICh0eXBl KS0+bGVuZ3RoICE9IGJ5dGVfc2l6ZQogTE9DIGR3YXJmMnJlYWQuYzoxMDAw OQotIE9wZXJhbmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChV SU5ULCBpbnQpOiAodHlwZSktPmxlbmd0aCAhPSBieXRlX3NpemUKKyBPcGVy YW5kcyBvZiAhPSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1Qs IGludCk6ICh0eXBlKS0+bGVuZ3RoICE9IGJ5dGVfc2l6ZQogTE9DIGR3YXJm MnJlYWQuYzoxMDA3NSAoZHdhcmYycmVhZC5jOjEwMDcxKQotIEFzc2lnbm1l bnQgb2YgVUxPTkdFU1QgdG8gVUlOVDogKHR5cGUpLT5sZW5ndGggPSAoKGF0 dHIpLT51LnVuc25kKQotTE9DIGR3YXJmMnJlYWQuYzoxMDA3NQotIEFzc2ln bm1lbnQgb2YgdW5zaWduZWQgY2hhciB0byBVSU5UOiAodHlwZSktPmxlbmd0 aCA9IGN1X2hlYWRlci0+YWRkcl9zaXplCisgQXNzaWdubWVudCBvZiB1bnNp Z25lZCBjaGFyIHRvIFVMT05HRVNUOiAodHlwZSktPmxlbmd0aCA9IGN1X2hl YWRlci0+YWRkcl9zaXplCiBMT0MgZHdhcmYycmVhZC5jOjEwNTg3Ci0gT3Bl cmFuZHMgb2YgPj0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGlu dCk6IChpbnRfdHlwZSktPmxlbmd0aCA+PSBhZGRyX3NpemUKKyBPcGVyYW5k cyBvZiA+PSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGlu dCk6IChpbnRfdHlwZSktPmxlbmd0aCA+PSBhZGRyX3NpemUKIExPQyBkd2Fy ZjJyZWFkLmM6MTA1OTIKLSBPcGVyYW5kcyBvZiA+PSBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoVUlOVCwgaW50KTogKGludF90eXBlKS0+bGVuZ3RoID49 IGFkZHJfc2l6ZQorIE9wZXJhbmRzIG9mID49IGhhdmUgaW5jb21wYXRpYmxl IHR5cGVzIChVTE9OR0VTVCwgaW50KTogKGludF90eXBlKS0+bGVuZ3RoID49 IGFkZHJfc2l6ZQogTE9DIGR3YXJmMnJlYWQuYzoxMDU5NwotIE9wZXJhbmRz IG9mID49IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBpbnQpOiAo aW50X3R5cGUpLT5sZW5ndGggPj0gYWRkcl9zaXplCisgT3BlcmFuZHMgb2Yg Pj0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05HRVNULCBpbnQpOiAo aW50X3R5cGUpLT5sZW5ndGggPj0gYWRkcl9zaXplCiBMT0MgZHdhcmYycmVh ZC5jOjEwNjMwIChkd2FyZjJyZWFkLmM6MTA2MjgpCi0gQXNzaWdubWVudCBv ZiBVTE9OR0VTVCB0byBVSU5UOiAocmFuZ2VfdHlwZSktPmxlbmd0aCA9ICgo YXR0ciktPnUudW5zbmQpCi1MT0MgZHdhcmYycmVhZC5jOjEwNjMwCiAgUmV0 dXJuIHZhbHVlICh0eXBlIHN0cnVjdCB0eXBlICopIGlnbm9yZWQ6IHNldF9k aWVfdHlwZShkaWUuLi4KIExPQyBkd2FyZjJyZWFkLmM6MTE2ODYgKGR3YXJm MnJlYWQuYzoxMTY4OCkKKyBBc3NpZ25tZW50IG9mIFVJTlQgdG8gc2l6ZV90 OiBibGstPnNpemUgPSByZWFkXzJfYnl0ZXMoYWJmZCwgaW5mb19wdHIpCitM T0MgZHdhcmYycmVhZC5jOjExNjg4CisgRnVuY3Rpb24gcmVhZF9uX2J5dGVz IGV4cGVjdHMgYXJnIDMgdG8gYmUgVUlOVCBnZXRzIHNpemVfdDogYmxrLT5z aXplCitMT0MgZHdhcmYycmVhZC5jOjExNjg4CiAgSW1wbGljaXRseSBvbmx5 IHN0b3JhZ2UgYmxrLT5kYXRhICh0eXBlIGdkYl9ieXRlICopIG5vdCByZWxl YXNlZCBiZWZvcmUgYXNzaWdubWVudDogYmxrLT5kYXRhID0gcmVhZF9uX2J5 dGVzKGFiZmQsIGluZm9fcHRyLCBibGstPnNpemUpCiBMT0MgZHdhcmYycmVh ZC5jOjExNjk0IChkd2FyZjJyZWFkLmM6MTE2OTYpCisgQXNzaWdubWVudCBv ZiBVSU5UIHRvIHNpemVfdDogYmxrLT5zaXplID0gcmVhZF80X2J5dGVzKGFi ZmQsIGluZm9fcHRyKQorTE9DIGR3YXJmMnJlYWQuYzoxMTY5NgorIEZ1bmN0 aW9uIHJlYWRfbl9ieXRlcyBleHBlY3RzIGFyZyAzIHRvIGJlIFVJTlQgZ2V0 cyBzaXplX3Q6IGJsay0+c2l6ZQorTE9DIGR3YXJmMnJlYWQuYzoxMTY5Ngog IEltcGxpY2l0bHkgb25seSBzdG9yYWdlIGJsay0+ZGF0YSAodHlwZSBnZGJf Ynl0ZSAqKSBub3QgcmVsZWFzZWQgYmVmb3JlIGFzc2lnbm1lbnQ6IGJsay0+ ZGF0YSA9IHJlYWRfbl9ieXRlcyhhYmZkLCBpbmZvX3B0ciwgYmxrLT5zaXpl KQogTE9DIGR3YXJmMnJlYWQuYzoxMTczMAotIEFzc2lnbm1lbnQgb2YgVUxP TkdFU1QgdG8gVUlOVDogYmxrLT5zaXplID0gcmVhZF91bnNpZ25lZF9sZWIx MjgoYWJmZCwgaW5mb19wdHIsICZieXRlc19yZWFkKQorIEFzc2lnbm1lbnQg b2YgVUxPTkdFU1QgdG8gc2l6ZV90OiBibGstPnNpemUgPSByZWFkX3Vuc2ln bmVkX2xlYjEyOChhYmZkLCBpbmZvX3B0ciwgJmJ5dGVzX3JlYWQpCitMT0Mg ZHdhcmYycmVhZC5jOjExNzMyCisgRnVuY3Rpb24gcmVhZF9uX2J5dGVzIGV4 cGVjdHMgYXJnIDMgdG8gYmUgVUlOVCBnZXRzIHNpemVfdDogYmxrLT5zaXpl CiBMT0MgZHdhcmYycmVhZC5jOjExNzM4IChkd2FyZjJyZWFkLmM6MTE3NDAp CisgQXNzaWdubWVudCBvZiBVSU5UIHRvIHNpemVfdDogYmxrLT5zaXplID0g cmVhZF8xX2J5dGUoYWJmZCwgaW5mb19wdHIpCitMT0MgZHdhcmYycmVhZC5j OjExNzQwCisgRnVuY3Rpb24gcmVhZF9uX2J5dGVzIGV4cGVjdHMgYXJnIDMg dG8gYmUgVUlOVCBnZXRzIHNpemVfdDogYmxrLT5zaXplCitMT0MgZHdhcmYy cmVhZC5jOjExNzQwCiAgSW1wbGljaXRseSBvbmx5IHN0b3JhZ2UgYmxrLT5k YXRhICh0eXBlIGdkYl9ieXRlICopIG5vdCByZWxlYXNlZCBiZWZvcmUgYXNz aWdubWVudDogYmxrLT5kYXRhID0gcmVhZF9uX2J5dGVzKGFiZmQsIGluZm9f cHRyLCBibGstPnNpemUpCiBMT0MgZHdhcmYycmVhZC5jOjEzMjk1Ci0gT3Bl cmFuZHMgb2YgPT0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGlu dCk6ICgoYXR0ciktPnUuYmxrKS0+c2l6ZSA9PSAxICsgbGViMTI4X3NpemUo JigoYXR0ciktPnUuYmxrKS0+ZGF0YVsxXSkKKyBPcGVyYW5kcyBvZiA9PSBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoc2l6ZV90LCBpbnQpOiAoKGF0dHIp LT51LmJsayktPnNpemUgPT0gMSArIGxlYjEyOF9zaXplKCYoKGF0dHIpLT51 LmJsayktPmRhdGFbMV0pCiBMT0MgZHdhcmYycmVhZC5jOjEzNzYwCi0gT3Bl cmFuZHMgb2YgIT0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIHVu c2lnbmVkIGNoYXIpOiAodHlwZSktPmxlbmd0aCAhPSBjdV9oZWFkZXItPmFk ZHJfc2l6ZQorIE9wZXJhbmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVTE9OR0VTVCwgdW5zaWduZWQgY2hhcik6ICh0eXBlKS0+bGVuZ3Ro ICE9IGN1X2hlYWRlci0+YWRkcl9zaXplCiBMT0MgZHdhcmYycmVhZC5jOjEz NzYyCi0gRnVuY3Rpb24gZHdhcmYyX2NvbnN0X3ZhbHVlX2xlbmd0aF9taXNt YXRjaF9jb21wbGFpbnQgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyB1 bnNpZ25lZCBjaGFyOiBjdV9oZWFkZXItPmFkZHJfc2l6ZQorIEZ1bmN0aW9u IGR3YXJmMl9jb25zdF92YWx1ZV9sZW5ndGhfbWlzbWF0Y2hfY29tcGxhaW50 IGV4cGVjdHMgYXJnIDIgdG8gYmUgTE9OR0VTVCBnZXRzIHVuc2lnbmVkIGNo YXI6IGN1X2hlYWRlci0+YWRkcl9zaXplCiBMT0MgZHdhcmYycmVhZC5jOjEz Nzk1IChkd2FyZjJyZWFkLmM6MTM3OTYpCi0gRnVuY3Rpb24gZHdhcmYyX2Nv bnN0X3ZhbHVlX2xlbmd0aF9taXNtYXRjaF9jb21wbGFpbnQgZXhwZWN0cyBh cmcgMiB0byBiZSBpbnQgZ2V0cyBVSU5UOiBibGstPnNpemUKKyBPcGVyYW5k cyBvZiAhPSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIHNp emVfdCk6ICh0eXBlKS0+bGVuZ3RoICE9IGJsay0+c2l6ZQogTE9DIGR3YXJm MnJlYWQuYzoxMzc5NiAoZHdhcmYycmVhZC5jOjEzNzk3KQotIEZ1bmN0aW9u IGR3YXJmMl9jb25zdF92YWx1ZV9sZW5ndGhfbWlzbWF0Y2hfY29tcGxhaW50 IGV4cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5cGUpLT5s ZW5ndGgKKyBGdW5jdGlvbiBkd2FyZjJfY29uc3RfdmFsdWVfbGVuZ3RoX21p c21hdGNoX2NvbXBsYWludCBleHBlY3RzIGFyZyAyIHRvIGJlIExPTkdFU1Qg Z2V0cyBzaXplX3Q6IGJsay0+c2l6ZQorTE9DIGR3YXJmMnJlYWQuYzoxMzc5 NworIEZ1bmN0aW9uIGR3YXJmMl9jb25zdF92YWx1ZV9sZW5ndGhfbWlzbWF0 Y2hfY29tcGxhaW50IGV4cGVjdHMgYXJnIDMgdG8gYmUgTE9OR0VTVCBnZXRz IFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIGR3YXJmMnJlYWQuYzox NDczNCAoZHdhcmYycmVhZC5jOjE0NzQyKQorIEZ1bmN0aW9uIHB1bG9uZ2Vz dCBleHBlY3RzIGFyZyAxIHRvIGJlIFVMT05HRVNUIGdldHMgc2l6ZV90OiAo KCZkaWUtPmF0dHJzW2ldKS0+dS5ibGspLT5zaXplCitMT0MgZHdhcmYycmVh ZC5jOjE0NzM4CisgRnVuY3Rpb24gcHVsb25nZXN0IGV4cGVjdHMgYXJnIDEg dG8gYmUgVUxPTkdFU1QgZ2V0cyBzaXplX3Q6ICgoJmRpZS0+YXR0cnNbaV0p LT51LmJsayktPnNpemUKK0xPQyBkd2FyZjJyZWFkLmM6MTQ3NDIKICBGdW5j dGlvbiBoZXhfc3RyaW5nIGV4cGVjdHMgYXJnIDEgdG8gYmUgTE9OR0VTVCBn ZXRzIFVMT05HRVNUOiAoKCZkaWUtPmF0dHJzW2ldKS0+dS51bnNuZCkKIExP QyBkd2FyZjJyZWFkLmM6MTUxMTUgKGR3YXJmMnJlYWQuYzoxNTEyMSkKKyBB c3NpZ25tZW50IG9mIHNpemVfdCB0byBVTE9OR0VTVDogcmV0dmFsLnNpemUg PSAoKGF0dHIpLT51LmJsayktPnNpemUKK0xPQyBkd2FyZjJyZWFkLmM6MTUx MjEKICBOdWxsIHN0b3JhZ2UgcmV0dmFsLmRhdGEgcmV0dXJuZWQgYXMgbm9u LW51bGw6IHJldHZhbAogTE9DIGR3YXJmMnJlYWQuYzoxNTMxOAotIFZhcmlh YmxlIHNpemUgaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGlu dDogYmxrLT5zaXplCisgVmFyaWFibGUgc2l6ZSBpbml0aWFsaXplZCB0byB0 eXBlIHNpemVfdCwgZXhwZWN0cyBpbnQ6IGJsay0+c2l6ZQogTE9DIGR3YXJm MnJlYWQuYzoxNjU3NyAoZHdhcmYycmVhZC5jOjE2NTc4KQorIEFzc2lnbm1l bnQgb2Ygc2l6ZV90IHRvIFVMT05HRVNUOiBiYXRvbi0+c2l6ZSA9ICgoYXR0 ciktPnUuYmxrKS0+c2l6ZQorTE9DIGR3YXJmMnJlYWQuYzoxNjU3OAogIElt cGxpY2l0bHkgb25seSBzdG9yYWdlIGJhdG9uLT5kYXRhICh0eXBlIGdkYl9i eXRlICopIG5vdCByZWxlYXNlZCBiZWZvcmUgYXNzaWdubWVudDogYmF0b24t PmRhdGEgPSAoKGF0dHIpLT51LmJsayktPmRhdGEKIExPQyBldmFsLmM6NDQ2 IChldmFsLmM6NDQ1KQotIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAz IHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6ICh2YWx1ZV90eXBlKHZhbCkpLT5s ZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBz aXplX3QgZ2V0cyBVTE9OR0VTVDogKHZhbHVlX3R5cGUodmFsKSktPmxlbmd0 aAogTE9DIGV2YWwuYzo0ODkgKGV2YWwuYzo0ODgpCi0gRnVuY3Rpb24gbWVt Y3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBlbGVt ZW50X3NpemUKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBlbGVtZW50X3NpemUKIExPQyBldmFs LmM6NDk4IChldmFsLmM6NDk3KQotIEZ1bmN0aW9uIG1lbWNweSBleHBlY3Rz IGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogZWxlbWVudF9zaXplCisg RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgTE9OR0VTVDogZWxlbWVudF9zaXplCiBMT0MgZXZhbC5jOjYxMSAoZXZh bC5jOjYxMCkKLSBPcGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVSU5ULCBpbnQpOiAodHlwZTEpLT5sZW5ndGggKiA4ID4gZ2RiYXJj aF9kb3VibGVfYml0KGdkYmFyY2gpCisgT3BlcmFuZHMgb2YgPiBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGludCk6ICh0eXBlMSktPmxl bmd0aCAqIDggPiBnZGJhcmNoX2RvdWJsZV9iaXQoZ2RiYXJjaCkKIExPQyBl dmFsLmM6NjEyIChldmFsLmM6NjExKQotIE9wZXJhbmRzIG9mID4gaGF2ZSBp bmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGludCk6ICh0eXBlMiktPmxlbmd0 aCAqIDggPiBnZGJhcmNoX2RvdWJsZV9iaXQoZ2RiYXJjaCkKKyBPcGVyYW5k cyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwgaW50 KTogKHR5cGUyKS0+bGVuZ3RoICogOCA+IGdkYmFyY2hfZG91YmxlX2JpdChn ZGJhcmNoKQogTE9DIGV2YWwuYzo3MTUgKGV2YWwuYzo3MTQpCi0gT3BlcmFu ZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgaW50KTog cmVzdWx0X2xlbiA+IGdkYmFyY2hfbG9uZ19iaXQoZ2RiYXJjaCkgLyA4Cisg T3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdF U1QsIGludCk6IHJlc3VsdF9sZW4gPiBnZGJhcmNoX2xvbmdfYml0KGdkYmFy Y2gpIC8gOAogTE9DIGV2YWwuYzo3MjIgKGV2YWwuYzo3MjEpCi0gT3BlcmFu ZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgaW50KTog cmVzdWx0X2xlbiA+IGdkYmFyY2hfbG9uZ19iaXQoZ2RiYXJjaCkgLyA4Cisg T3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdF U1QsIGludCk6IHJlc3VsdF9sZW4gPiBnZGJhcmNoX2xvbmdfYml0KGdkYmFy Y2gpIC8gOAogTE9DIGV2YWwuYzo5NzkgKGV2YWwuYzo5NzgpCi0gRnVuY3Rp b24gbWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUlO VDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1zZXQgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5n dGgKIExPQyBldmFsLmM6OTk4IChldmFsLmM6OTk3KQotIEZ1bmN0aW9uIG1l bXNldCBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6IChl eHBlY3RfdHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbXNldCBleHBlY3Rz IGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAoZXhwZWN0X3R5 cGUpLT5sZW5ndGgKIExPQyBldmFsLmM6MTAyOSAoZXZhbC5jOjEwMjgpCi0g RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgaW50OiBlbGVtZW50X3NpemUKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBlbGVtZW50X3Np emUKIExPQyBldmFsLmM6MTA1MiAoZXZhbC5jOjEwNTEpCi0gRnVuY3Rpb24g bWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUlOVDog KHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1zZXQgZXhwZWN0cyBhcmcg MyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgK IExPQyBmaW5kY21kLmM6MTgyCi0gT3BlcmFuZHMgb2YgPiBoYXZlIGluY29t cGF0aWJsZSB0eXBlcyAoaW50LCBzaXplX3QpOiAodmFsX2J5dGVzKSA+IChz aXplb2YoaW50NjRfdCkpCisgT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoTE9OR0VTVCwgc2l6ZV90KTogKHZhbF9ieXRlcykgPiAo c2l6ZW9mKGludDY0X3QpKQogTE9DIGZpbmRjbWQuYzoxODIKLSBDb25kaXRp b25hbCBjbGF1c2VzIGFyZSBub3Qgb2Ygc2FtZSB0eXBlOiAodmFsX2J5dGVz KSAoaW50KSwgKHNpemVvZihpbnQ2NF90KSkgKHNpemVfdCkKKyBDb25kaXRp b25hbCBjbGF1c2VzIGFyZSBub3Qgb2Ygc2FtZSB0eXBlOiAodmFsX2J5dGVz KSAoTE9OR0VTVCksIChzaXplb2YoaW50NjRfdCkpIChzaXplX3QpCiBMT0Mg ZmluZGNtZC5jOjIxNgotIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAz IHRvIGJlIHNpemVfdCBnZXRzIGludDogdmFsX2J5dGVzCisgRnVuY3Rpb24g bWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgTE9OR0VT VDogdmFsX2J5dGVzCiBmaW5kdmFyLmM6IChpbiBmdW5jdGlvbiBzaWduZWRf cG9pbnRlcl90b19hZGRyZXNzKQogZmluZHZhci5jOiAoaW4gZnVuY3Rpb24g YWRkcmVzc190b19zaWduZWRfcG9pbnRlcikKIExPQyBmaW5kdmFyLmM6NDY4 CisgRnVuY3Rpb24gc3RvcmVfc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcg MiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyBmaW5kdmFyLmM6 NDY4CiAgTmV3IGZyZXNoIHN0b3JhZ2UgKHR5cGUgZ2RiX2J5dGUgKikgcGFz c2VkIGFzIGltcGxpY2l0bHkgdGVtcCAobm90IHJlbGVhc2VkKTogdmFsdWVf Y29udGVudHNfcmF3KHYpCiBMT0MgZmluZHZhci5jOjQ5MwotIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDog bGVuCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6 ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgZnJ2LXRkZXAuYzoxMTI5IChm cnYtdGRlcC5jOjExMzUpCisgRnVuY3Rpb24gc3RvcmVfdW5zaWduZWRfaW50 ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxl bgorTE9DIGZydi10ZGVwLmM6MTEzNQogIFBhc3NlZCBzdG9yYWdlICZyZWd2 YWwgbm90IGNvbXBsZXRlbHkgZGVmaW5lZDogcmVnY2FjaGVfY29va2VkX3Jl YWRfdW5zaWduZWQgKC4uLiwgJnJlZ3ZhbCkKIExPQyBmcnYtdGRlcC5jOjEy ODIgKGZydi10ZGVwLmM6MTI4NikKKyBWYXJpYWJsZSBwYXJ0aWFsX2xlbiBp bml0aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiAobGVu IDwgNCA/IGxlbiA6IDQpCitMT0MgZnJ2LXRkZXAuYzoxMjg2CiAgRnVuY3Rp b24gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIGV4cGVjdHMgYXJnIDEgdG8g YmUgZ2RiX2J5dGUgKiBnZXRzIGNoYXIgKjogdmFsCiBMT0MgZnJ2LXRkZXAu YzoxMzM3Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIGZydi10 ZGVwLmM6IChpbiBmdW5jdGlvbiBmcnZfcmV0dXJuX3ZhbHVlKQogTE9DIGYt dmFscHJpbnQuYzo4NQogIFJldHVybiB2YWx1ZSB0eXBlIExPTkdFU1QgZG9l cyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICgoKCgoKHR5cGUpKS0+ bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRzWzBdKS50eXBlKSktPm1haW5f dHlwZS0+Zmxkc19ibmRzLmJvdW5kcy0+aGlnaCkKLWYtdmFscHJpbnQuYzog KGluIGZ1bmN0aW9uIGY3N19nZXRfZHluYW1pY19sZW5ndGhfb2ZfYWdncmVn YXRlKQotTE9DIGYtdmFscHJpbnQuYzoxMTUKLSBBc3NpZ25tZW50IG9mIGlu dCB0byBVSU5UOiAodHlwZSktPmxlbmd0aCA9ICh1cHBlcl9ib3VuZCAtIGxv d2VyX2JvdW5kICsgMSkgKiAoY2hlY2tfdHlwZWRlZigodHlwZSktPm1haW5f dHlwZS0+dGFyZ2V0X3R5cGUpKS0+bGVuZ3RoCiBmLXZhbHByaW50LmM6IChp biBmdW5jdGlvbiBmNzdfY3JlYXRlX2FycmF5cHJpbnRfb2Zmc2V0X3RibCkK IExPQyBmLXZhbHByaW50LmM6MTc4CisgT3BlcmFuZHMgb2YgPCBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoaW50LCBMT05HRVNUKTogaSA8IChmNzdfYXJy YXlfb2Zmc2V0X3RibFtuc3NdWzFdKQorTE9DIGYtdmFscHJpbnQuYzoxNzgK ICBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQs IFVJTlQpOiAoKmVsdHMpIDwgb3B0aW9ucy0+cHJpbnRfbWF4CiBMT0MgZi12 YWxwcmludC5jOjE4OSAoZi12YWxwcmludC5jOjE5NCkKKyBPcGVyYW5kcyBv ZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1QpOiBp IDwgKGY3N19hcnJheV9vZmZzZXRfdGJsW25zc11bMV0pCitMT0MgZi12YWxw cmludC5jOjE5NAorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUg dHlwZXMgKGludCwgTE9OR0VTVCk6IGkgPCAoZjc3X2FycmF5X29mZnNldF90 YmxbbnNzXVsxXSkKK0xPQyBmLXZhbHByaW50LmM6MTk0CiAgT3BlcmFuZHMg b2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogKCpl bHRzKSA8IG9wdGlvbnMtPnByaW50X21heAogTE9DIGYtdmFscHJpbnQuYzoy MDMgKGYtdmFscHJpbnQuYzoyMDYpCisgT3BlcmFuZHMgb2YgIT0gaGF2ZSBp bmNvbXBhdGlibGUgdHlwZXMgKGludCwgTE9OR0VTVCk6IGkgIT0gKChmNzdf YXJyYXlfb2Zmc2V0X3RibFtuc3NdWzFdKSAtIDEpCitMT0MgZi12YWxwcmlu dC5jOjIwNgogIE9wZXJhbmRzIG9mID09IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChpbnQsIFVJTlQpOiAqZWx0cyA9PSBvcHRpb25zLT5wcmludF9tYXgg LSAxCitMT0MgZi12YWxwcmludC5jOjIwNworIE9wZXJhbmRzIG9mICE9IGhh dmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1QpOiBpICE9ICgo Zjc3X2FycmF5X29mZnNldF90YmxbbnNzXVsxXSkgLSAxKQogZi12YWxwcmlu dC5jOiAoaW4gZnVuY3Rpb24gZjc3X3ByaW50X2FycmF5KQogTE9DIGdkYnR5 cGVzLmM6ODA0Ci0gT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0 eXBlcyAoVUlOVCwgc2l6ZV90KTogKHR5cGUpLT5sZW5ndGggPiBzaXplb2Yo TE9OR0VTVCkKKyBPcGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVTE9OR0VTVCwgc2l6ZV90KTogKHR5cGUpLT5sZW5ndGggPiBzaXpl b2YoTE9OR0VTVCkKIExPQyBnZGJ0eXBlcy5jOjkwNiAoZ2RidHlwZXMuYzo5 MDIpCi0gQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIFVJTlQ6IChyZXN1bHRf dHlwZSktPmxlbmd0aCA9IChlbGVtZW50X3R5cGUpLT5sZW5ndGggKiAoaGln aF9ib3VuZCAtIGxvd19ib3VuZCArIDEpCi1MT0MgZ2RidHlwZXMuYzo5MDYK ICBUZXN0IGV4cHJlc3Npb24gZm9yIGNvbmRpdGlvbmFsIG5vdCBib29sZWFu LCB0eXBlIFVJTlQ6ICgocmVzdWx0X3R5cGUpLT5tYWluX3R5cGUtPmZsYWdf b2JqZmlsZV9vd25lZCkKIGdkYnR5cGVzLmM6IChpbiBmdW5jdGlvbiBzbWFz aF90b19tZXRob2RwdHJfdHlwZSkKIExPQyBnZGJ0eXBlcy5jOjE2NTMgKGdk YnR5cGVzLmM6MTY0NSkKLSBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIFVJ TlQ6ICh0eXBlKS0+bGVuZ3RoID0gbGVuCi1MT0MgZ2RidHlwZXMuYzoxNjUz CiAgRnJlc2ggc3RvcmFnZSB0YXJnZXRfdHlwZSBub3QgcmVsZWFzZWQgYmVm b3JlIHNjb3BlIGV4aXQKIExPQyBnZGJ0eXBlcy5jOjM2ODEgKGdkYnR5cGVz LmM6MzY4MykKKyBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8gaW50OiBsZWZ0 ID0gKCgoZlswXSkubG9jLmJpdHBvcykgKyAwKSAlIGFsaWdubWVudAorTE9D IGdkYnR5cGVzLmM6MzY4MwogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90 IGJvb2xlYW4sIHR5cGUgaW50OiBsZWZ0CiBMT0MgZ251LXYyLWFiaS5jOjE2 OCAoZ251LXYyLWFiaS5jOjE2NSkKLSBGdW5jdGlvbiBzZXRfdmFsdWVfb2Zm c2V0IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogdmFs dWVfb2Zmc2V0KGFyZzEpICsgdmFsdWVfYXNfbG9uZyh2YWx1ZV9maWVsZChl bnRyeSwgMCkpCi1MT0MgZ251LXYyLWFiaS5jOjE2OAogIE9wZXJhbmQgb2Yg ISBpcyBub24tYm9vbGVhbiAoaW50KTogIXZhbHVlX2xhenkoYXJnMSkKIExP QyBnbnUtdjItYWJpLmM6MjcyIChnbnUtdjItYWJpLmM6MjcxKQotIExlZnQg b3BlcmFuZCBvZiAmJiBpcyBub24tYm9vbGVhbiAoaW50ICopOiB0b3AgJiYg KCgqdG9wKSA+IDApCisgTGVmdCBvcGVyYW5kIG9mICYmIGlzIG5vbi1ib29s ZWFuIChMT05HRVNUICopOiB0b3AgJiYgKCgqdG9wKSA+IDApCiBMT0MgZ251 LXYyLWFiaS5jOjM4MiAoZ251LXYyLWFiaS5jOjM4MSkKLSBSZXR1cm4gdmFs dWUgdHlwZSBVTE9OR0VTVCBkb2VzIG5vdCBtYXRjaCBkZWNsYXJlZCB0eXBl IGludDogYWRkciAtIChMT05HRVNUKWFkZHJlc3MgKyBlbWJlZGRlZF9vZmZz ZXQKKyBSZXR1cm4gdmFsdWUgdHlwZSBVTE9OR0VTVCBkb2VzIG5vdCBtYXRj aCBkZWNsYXJlZCB0eXBlIExPTkdFU1Q6IGFkZHIgLSAoTE9OR0VTVClhZGRy ZXNzICsgZW1iZWRkZWRfb2Zmc2V0CiBMT0MgZ251LXYzLWFiaS5jOjM0NiAo Z251LXYzLWFiaS5jOjM0NSkKLSBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8g aW50OiAqdG9wX3AgPSAtb2Zmc2V0X3RvX3RvcAotTE9DIGdudS12My1hYmku YzozNDYKICBGcmVzaCBzdG9yYWdlIGdkYmFyY2ggbm90IHJlbGVhc2VkIGJl Zm9yZSByZXR1cm4KIExPQyBnbnUtdjMtYWJpLmM6NDU2Ci0gUmV0dXJuIHZh bHVlIHR5cGUgTE9OR0VTVCBkb2VzIG5vdCBtYXRjaCBkZWNsYXJlZCB0eXBl IGludDogYmFzZV9vZmZzZXQKLUxPQyBnbnUtdjMtYWJpLmM6NDU2CiAgRnJl c2ggc3RvcmFnZSBnZGJhcmNoIG5vdCByZWxlYXNlZCBiZWZvcmUgcmV0dXJu CiBMT0MgZ251LXYzLWFiaS5jOjY0NQotIFJldHVybiB2YWx1ZSB0eXBlIFVJ TlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6IDIgKiAoYnVp bHRpbl90eXBlKGdkYmFyY2gpLT5idWlsdGluX2RhdGFfcHRyKS0+bGVuZ3Ro CisgUmV0dXJuIHZhbHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBub3QgbWF0Y2gg ZGVjbGFyZWQgdHlwZSBpbnQ6IDIgKiAoYnVpbHRpbl90eXBlKGdkYmFyY2gp LT5idWlsdGluX2RhdGFfcHRyKS0+bGVuZ3RoCiBMT0MgZ251LXYzLWFiaS5j OjY1NQotIFZhcmlhYmxlIHNpemUgaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5U LCBleHBlY3RzIGludDogKGJ1aWx0aW5fdHlwZShnZGJhcmNoKS0+YnVpbHRp bl9kYXRhX3B0ciktPmxlbmd0aAorIFZhcmlhYmxlIHNpemUgaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IChidWlsdGluX3R5 cGUoZ2RiYXJjaCktPmJ1aWx0aW5fZGF0YV9wdHIpLT5sZW5ndGgKIExPQyBn by12YWxwcmludC5jOjEwNyAoZ28tdmFscHJpbnQuYzoxMDkpCisgRnVuY3Rp b24gcHJpbnRfZ29fc3RyaW5nIGV4cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdl dHMgTE9OR0VTVDogZW1iZWRkZWRfb2Zmc2V0CitMT0MgZ28tdmFscHJpbnQu YzoxMDkKICBGcmVzaCBzdG9yYWdlIHR5cGUgbm90IHJlbGVhc2VkIGJlZm9y ZSByZXR1cm4KIExPQyBoODMwMC10ZGVwLmM6Njc1Ci0gRnVuY3Rpb24gQ19h bGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IHBh ZGRlZF9sZW4KKyBGdW5jdGlvbiBDX2FsbG9jYSBleHBlY3RzIGFyZyAxIHRv IGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IHBhZGRlZF9sZW4KIExPQyBoODMw MC10ZGVwLmM6Njc3Ci0gRnVuY3Rpb24gbWVtc2V0IGV4cGVjdHMgYXJnIDMg dG8gYmUgc2l6ZV90IGdldHMgaW50OiBwYWRkZWRfbGVuCisgRnVuY3Rpb24g bWVtc2V0IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgTE9OR0VT VDogcGFkZGVkX2xlbgogTE9DIGg4MzAwLXRkZXAuYzo2NzkKLSBGdW5jdGlv biBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6 IGxlbgorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNp emVfdCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIGg4MzAwLXRkZXAuYzo2ODYK LSBSaWdodCBvcGVyYW5kIG9mICYmIGlzIG5vbi1ib29sZWFuIChpbnQpOiBs ZW4gPiB3b3Jkc2l6ZSAmJiBsZW4gJSB3b3Jkc2l6ZQorIFJpZ2h0IG9wZXJh bmQgb2YgJiYgaXMgbm9uLWJvb2xlYW4gKExPTkdFU1QpOiBsZW4gPiB3b3Jk c2l6ZSAmJiBsZW4gJSB3b3Jkc2l6ZQogTE9DIGg4MzAwLXRkZXAuYzo2ODkK LSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBz c2l6ZV90IGdldHMgaW50OiBwYWRkZWRfbGVuCisgRnVuY3Rpb24gd3JpdGVf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdF U1Q6IHBhZGRlZF9sZW4KIExPQyBoODMwMC10ZGVwLmM6NzE2Ci0gRnVuY3Rp b24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBn ZXRzIGludDogcGFkZGVkX2xlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBwYWRk ZWRfbGVuCiBMT0MgaDgzMDAtdGRlcC5jOjc0NwotIFZhcmlhYmxlIGxlbiBp bml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVM T05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBoODMw MC10ZGVwLmM6Nzg0Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5 cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFi bGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMg aW50OiAodHlwZSktPmxlbmd0aAogTE9DIGg4MzAwLXRkZXAuYzo4NTEKLSBW YXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3Rz IGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVu Z3RoCiBMT0MgaDgzMDAtdGRlcC5jOjg4MQotIFZhcmlhYmxlIGxlbiBpbml0 aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxl bmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05H RVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBoODMwMC10 ZGVwLmM6OTI4Ci0gRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBG dW5jdGlvbiByZWFkX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXpl X3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBocHBhLXRk ZXAuYzo3NDAKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBG dW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6 ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgaHBwYS10 ZGVwLmM6NzY2Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlv biBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9O R0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBocHBhLXRkZXAuYzo4NjcKLSBW YXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3Rz IGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVu Z3RoCiBMT0MgaHBwYS10ZGVwLmM6ODg5Ci0gVmFyaWFibGUgbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVu Z3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdF U1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIGhwcGEtdGRl cC5jOjEwMjYKKyBGdW5jdGlvbiByZWdjYWNoZV9jb29rZWRfd3JpdGVfcGFy dCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgor TE9DIGhwcGEtdGRlcC5jOjEwMjYKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlw ZSBnZGJfYnl0ZSAqKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0ZW1wIChub3Qg cmVsZWFzZWQpOiB2YWx1ZV9jb250ZW50cyhhcmcpCiBMT0MgaHBwYS10ZGVw LmM6MTA2MgotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAz IHRvIGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRl X21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05H RVNUOiBsZW4KK0xPQyBocHBhLXRkZXAuYzoxMDY4CisgRnVuY3Rpb24gcmVn Y2FjaGVfY29va2VkX3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBiZSBp bnQgZ2V0cyBMT05HRVNUOiAoKGxlbikgPCAoOCkgPyAobGVuKSA6ICg4KSkK IExPQyBocHBhLXRkZXAuYzoxMTI2Ci0gVmFyaWFibGUgcGFydCBpbml0aWFs aXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0 aCAlIDQKKyBWYXJpYWJsZSBwYXJ0IGluaXRpYWxpemVkIHRvIHR5cGUgVUxP TkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aCAlIDQKIExPQyBo cHBhLXRkZXAuYzoxMTQxCi0gT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogYiA8ICh0eXBlKS0+bGVuZ3RoCisg T3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50LCBV TE9OR0VTVCk6IGIgPCAodHlwZSktPmxlbmd0aAogTE9DIGhwcGEtdGRlcC5j OjExODEgKGhwcGEtdGRlcC5jOjExODMpCisgQXNzaWdubWVudCBvZiBMT05H RVNUIHRvIGludDogb2Zmc2V0ID0gOCAtIGxlbgorTE9DIGhwcGEtdGRlcC5j OjExODMKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0 eXBlIGludDogaHBwYTY0X2Zsb2F0aW5nX3AodHlwZSkKIExPQyBocHBhLXRk ZXAuYzoxMjAzIChocHBhLXRkZXAuYzoxMjI0KQorIEFzc2lnbm1lbnQgb2Yg TE9OR0VTVCB0byBpbnQ6IG9mZnNldCA9IDggLSBsZW4KK0xPQyBocHBhLXRk ZXAuYzoxMjI1CisgRnVuY3Rpb24gcmVnY2FjaGVfY29va2VkX3JlYWRfcGFy dCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6ICgobGVu KSA8ICg4KSA/IChsZW4pIDogKDgpKQorTE9DIGhwcGEtdGRlcC5jOjEyMjQK ICBSZXR1cm4gdmFsdWUgKHR5cGUgZW51bSByZWdpc3Rlcl9zdGF0dXMpIGln bm9yZWQ6IHJlZ2NhY2hlX2Nvb2tlZF8uLi4KIExPQyBocHBhLXRkZXAuYzox MjM3IChocHBhLXRkZXAuYzoxMTU2KQorIEZ1bmN0aW9uIHJlZ2NhY2hlX2Nv b2tlZF93cml0ZV9wYXJ0IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMg TE9OR0VTVDogKChsZW4pIDwgKDgpID8gKGxlbikgOiAoOCkpCitMT0MgaHBw YS10ZGVwLmM6MTE1NgogIFBhcmFtZXRlciBnZGJhcmNoIG5vdCB1c2VkCiBM T0MgaTM4Ni1kYXJ3aW4tdGRlcC5jOjEzMgotIFJldHVybiB2YWx1ZSB0eXBl IFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICh0eXBl KS0+bGVuZ3RoCisgUmV0dXJuIHZhbHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBu b3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBMT05HRVNUOiAodHlwZSktPmxlbmd0 aAogTE9DIGkzODYtZGFyd2luLXRkZXAuYzoyMDIKLSBBc3NpZ25tZW50IG9m IFVMT05HRVNUIHRvIGludDogYXJnc19zcGFjZSA9IGFsaWduX3VwKGFyZ3Nf c3BhY2UsIGFsaWduKQorIEZ1bmN0aW9uIGFsaWduX3VwIGV4cGVjdHMgYXJn IDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogYWxpZ24KK0xPQyBpMzg2LWRh cndpbi10ZGVwLmM6MjAyCisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBM T05HRVNUOiBhcmdzX3NwYWNlID0gYWxpZ25fdXAoYXJnc19zcGFjZSwgYWxp Z24pCiBMT0MgaTM4Ni1kYXJ3aW4tdGRlcC5jOjIwNQotIEZ1bmN0aW9uIHdy aXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBp bnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAz IHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBpMzg2LW5h dC5jOjMyNQotIE9wZXJhbmRzIG9mIHx8IGFyZSBub24tYm9vbGVhbnMgKENP UkVfQUREUiwgaW50KTogYWRkciB8fCBsZW4KKyBPcGVyYW5kcyBvZiB8fCBh cmUgbm9uLWJvb2xlYW5zIChDT1JFX0FERFIsIExPTkdFU1QpOiBhZGRyIHx8 IGxlbgogaTM4Ni1uYXQuYzogKGluIGZ1bmN0aW9uIGkzODZfbGVuZ3RoX2Fu ZF9yd19iaXRzKQogTE9DIGkzODYtbmF0LmM6NTMxIChpMzg2LW5hdC5jOjU1 MykKKyBDb25kaXRpb25hbCBjbGF1c2VzIGFyZSBub3Qgb2Ygc2FtZSB0eXBl OiAobWF4X3dwX2xlbiAtIDEpIChpbnQpLCBsZW4gLSAxIChMT05HRVNUKQor TE9DIGkzODYtbmF0LmM6NTUzCiAgTmV3IGZyZXNoIHN0b3JhZ2UgKHR5cGUg Y2hhciAqKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0ZW1wIChub3QgcmVsZWFz ZWQpOiBnZXR0ZXh0KCJJbnZhbGlkIHZhbHVlICVkIG9mIG9wZXJhdGlvbiBp biBpMzg2X2hhbmRsZV9ub25hbGlnbmVkX3dhdGNocG9pbnQuXG4iKQogTE9D IGkzODYtbmF0LmM6NjEzIChpMzg2LW5hdC5jOjYyMikKKyBGdW5jdGlvbiBp Mzg2X2xlbmd0aF9hbmRfcndfYml0cyBleHBlY3RzIGFyZyAxIHRvIGJlIGlu dCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIGkzODYtbmF0LmM6NjIyCiAgVGVz dCBleHByZXNzaW9uIGZvciBpZiBub3QgYm9vbGVhbiwgdHlwZSBpbnQ6IG1h aW50X3Nob3dfZHIKIExPQyBpMzg2LW5hdC5jOjY0NyAoaTM4Ni1uYXQuYzo2 NTYpCisgRnVuY3Rpb24gaTM4Nl9sZW5ndGhfYW5kX3J3X2JpdHMgZXhwZWN0 cyBhcmcgMSB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyBpMzg2 LW5hdC5jOjY1NgogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xl YW4sIHR5cGUgaW50OiBtYWludF9zaG93X2RyCiBMT0MgaTM4Ni10ZGVwLmM6 MjM3OAotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRv IGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNU OiBsZW4KIExPQyBpMzg2LXRkZXAuYzoyNDU0Ci0gRnVuY3Rpb24gbWVtc2V0 IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBsZW4KKyBG dW5jdGlvbiBtZW1zZXQgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBMT05HRVNUOiBsZW4KIExPQyBpMzg2LXRkZXAuYzoyNDczCi0gRnVuY3Rp b24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50 OiBsZW4KKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBz aXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBpMzg2LXRkZXAuYzoyNDgw Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90 IGdldHMgaW50OiBsZW4gLSBsb3dfc2l6ZQorIEZ1bmN0aW9uIG1lbWNweSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IGxlbiAt IGxvd19zaXplCiBMT0MgaTM4Ni10ZGVwLmM6MjU0MCAoaTM4Ni10ZGVwLmM6 MjU0OSkKLSBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBjaGFyICopIHBhc3Nl ZCBhcyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNlZCk6IGdldHRleHQo IkNhbm5vdCBzdG9yZSByZXR1cm4gdmFsdWUgb2YgJWQgYnl0ZXMgbG9uZy4i KQorIEZ1bmN0aW9uIHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0IGV4cGVjdHMg YXJnIDQgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitMT0MgaTM4Ni10 ZGVwLmM6MjU0NQorIEZ1bmN0aW9uIHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0 IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuIC0g bG93X3NpemUKK0xPQyBpMzg2LXRkZXAuYzoyNTQ5CisgTmV3IGZyZXNoIHN0 b3JhZ2UgKHR5cGUgY2hhciAqKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0ZW1w IChub3QgcmVsZWFzZWQpOiBnZXR0ZXh0KCJDYW5ub3Qgc3RvcmUgcmV0dXJu IHZhbHVlIG9mICVzIGJ5dGVzIGxvbmcuIikKIExPQyBpMzg2LXRkZXAuYzoy NTc4IChpMzg2LXRkZXAuYzoyNTc3KQotIFZhcmlhYmxlIGxlbiBpbml0aWFs aXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0 aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNU LCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBpMzg2LXRkZXAu YzoyNjQzIChpMzg2LXRkZXAuYzoyNjQyKQotIEZ1bmN0aW9uIHJlYWRfbWVt b3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIFVJTlQ6ICh0 eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhwZWN0cyBh cmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVu Z3RoCiBMT0MgaTM4Ni10ZGVwLmM6MzAzMCAoaTM4Ni10ZGVwLmM6MzAyOSkK LSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBl Y3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlh bGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+ bGVuZ3RoCiBpMzg2LXRkZXAuYzogKGluIGZ1bmN0aW9uIGkzODZfcmVnaXN0 ZXJfdG9fdmFsdWUpCiBMT0MgaTM4Ni10ZGVwLmM6MzA2MyAoaTM4Ni10ZGVw LmM6MzA2MikKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBV SU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBs ZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6 ICh0eXBlKS0+bGVuZ3RoCiBMT0MgaTM4Ni10ZGVwLmM6MzA5OSAoaTM4Ni10 ZGVwLmM6MzA5OCkKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlw ZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJs ZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBp bnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgaWE2NC10ZGVwLmM6MzIzNAotIFZh cmlhYmxlIG4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGlu dDogKHR5cGUpLT5sZW5ndGggLyAoZmxvYXRfZWx0X3R5cGUpLT5sZW5ndGgK KyBWYXJpYWJsZSBuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4 cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aCAvIChmbG9hdF9lbHRfdHlwZSkt Pmxlbmd0aAogTE9DIGlhNjQtdGRlcC5jOjMyNjUKLSBWYXJpYWJsZSByZWds ZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHJl Z2lzdGVyX3R5cGUoZ2RiYXJjaCwgKDAgKyA4KSkpLT5sZW5ndGgKKyBWYXJp YWJsZSByZWdsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhw ZWN0cyBpbnQ6IChyZWdpc3Rlcl90eXBlKGdkYmFyY2gsICgwICsgOCkpKS0+ bGVuZ3RoCiBMT0MgaWE2NC10ZGVwLmM6MzI2NwotIFZhcmlhYmxlIG0gaW5p dGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5s ZW5ndGggJSByZWdsZW4KKyBWYXJpYWJsZSBtIGluaXRpYWxpemVkIHRvIHR5 cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aCAlIHJl Z2xlbgogTE9DIGlhNjQtdGRlcC5jOjMyOTkKLSBWYXJpYWJsZSBuIGluaXRp YWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVu Z3RoIC8gKGZsb2F0X2VsdF90eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbiBp bml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDogKHR5 cGUpLT5sZW5ndGggLyAoZmxvYXRfZWx0X3R5cGUpLT5sZW5ndGgKIExPQyBp YTY0LXRkZXAuYzozMzE1Ci0gVmFyaWFibGUgcmVnbGVuIGluaXRpYWxpemVk IHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6IChyZWdpc3Rlcl90eXBlKGdk YmFyY2gsICgwICsgOCkpKS0+bGVuZ3RoCisgVmFyaWFibGUgcmVnbGVuIGlu aXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAocmVn aXN0ZXJfdHlwZShnZGJhcmNoLCAoMCArIDgpKSktPmxlbmd0aAogTE9DIGlh NjQtdGRlcC5jOjMzMTcKLSBWYXJpYWJsZSBtIGluaXRpYWxpemVkIHRvIHR5 cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoICUgcmVnbGVu CisgVmFyaWFibGUgbSBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBl eHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGggJSByZWdsZW4KIExPQyBpYTY0 LXRkZXAuYzozNzQwIChpYTY0LXRkZXAuYzozNzM4KQotIE9wZXJhbmRzIG9m ICYmIGFyZSBub24tYm9vbGVhbiAoaW50KTogKG5zbG90cyAmIDEpICYmIHNs b3RfYWxpZ25tZW50X2lzX25leHRfZXZlbih0eXBlKQorIE9wZXJhbmRzIG9m ICYmIGFyZSBub24tYm9vbGVhbnMgKExPTkdFU1QsIGludCk6IChuc2xvdHMg JiAxKSAmJiBzbG90X2FsaWdubWVudF9pc19uZXh0X2V2ZW4odHlwZSkKIExP QyBpYTY0LXRkZXAuYzozODIyIChpYTY0LXRkZXAuYzozODIwKQorIEZ1bmN0 aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRv IGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIGlhNjQtdGRlcC5jOjM4 MjIKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBnZGJfYnl0ZSAqKSBwYXNz ZWQgYXMgaW1wbGljaXRseSB0ZW1wIChub3QgcmVsZWFzZWQpOiB2YWx1ZV9j b250ZW50cyhhcmcpCiBMT0MgaW5mY2FsbC5jOjEwMTgKLSBGdW5jdGlvbiBy ZWFkX3ZhbHVlX21lbW9yeSBleHBlY3RzIGFyZyA2IHRvIGJlIHNpemVfdCBn ZXRzIFVJTlQ6ICh2YWx1ZXNfdHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHJl YWRfdmFsdWVfbWVtb3J5IGV4cGVjdHMgYXJnIDYgdG8gYmUgc2l6ZV90IGdl dHMgVUxPTkdFU1Q6ICh2YWx1ZXNfdHlwZSktPmxlbmd0aAogTE9DIGluZmNh bGwuYzoxMDM1Ci0gRnVuY3Rpb24gcmVhZF92YWx1ZV9tZW1vcnkgZXhwZWN0 cyBhcmcgNiB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAodmFsdWVzX3R5cGUp LT5sZW5ndGgKKyBGdW5jdGlvbiByZWFkX3ZhbHVlX21lbW9yeSBleHBlY3Rz IGFyZyA2IHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAodmFsdWVzX3R5 cGUpLT5sZW5ndGgKIExPQyBpbmZydW4uYzo2NjcyIChpbmZydW4uYzo2NjY5 KQotIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4 cGVjdHMgc2l6ZV90OiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHhtYWxs b2MgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDog bGVuCiBMT0MgaW5mcnVuLmM6NjczMyAoaW5mcnVuLmM6NjczMCkKLSBWYXJp YWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIHNp emVfdDogKHR5cGUpLT5sZW5ndGgKLUxPQyBpbmZydW4uYzo2NzM0Ci0gRnVu Y3Rpb24gdGFyZ2V0X3dyaXRlIGV4cGVjdHMgYXJnIDYgdG8gYmUgTE9OR0VT VCBnZXRzIHNpemVfdDogbGVuCisgRnVuY3Rpb24gdGFyZ2V0X3dyaXRlIGV4 cGVjdHMgYXJnIDYgdG8gYmUgTE9OR0VTVCBnZXRzIFVMT05HRVNUOiAodHlw ZSktPmxlbmd0aAogaXEyMDAwLXRkZXAuYzogKGluIGZ1bmN0aW9uIGlxMjAw MF9yZWdpc3Rlcl9uYW1lKQorTE9DIGlxMjAwMC10ZGVwLmM6NTEzCisgVmFy aWFibGUgc2l6ZSBpbml0aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVj dHMgaW50OiBsZW4gJSA0ID8gIDogNAorTE9DIGlxMjAwMC10ZGVwLmM6NTY0 CisgVGVzdCBleHByZXNzaW9uIGZvciBjb25kaXRpb25hbCBub3QgYm9vbGVh biwgdHlwZSBMT05HRVNUOiBsZW4gJSA0CiBMT0MgaXEyMDAwLXRkZXAuYzo1 NjQKLSBUZXN0IGV4cHJlc3Npb24gZm9yIGNvbmRpdGlvbmFsIG5vdCBib29s ZWFuLCB0eXBlIGludDogbGVuICUgNAorIFZhcmlhYmxlIHNpemUgaW5pdGlh bGl6ZWQgdG8gdHlwZSBMT05HRVNULCBleHBlY3RzIGludDogbGVuICUgNCA/ ICA6IDQKIExPQyBpcTIwMDAtdGRlcC5jOjU4MQotIEZ1bmN0aW9uIHJlYWRf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIFVJTlQ6 ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+ bGVuZ3RoCitMT0MgaXEyMDAwLXRkZXAuYzo3MzkKKyBBc3NpZ25tZW50IG9m IExPTkdFU1QgdG8gaW50OiBzbGFja2xlbiA9ICg0IC0gKHR5cGVsZW4gJSA0 KSkgJSA0CiBMT0MgaXEyMDAwLXRkZXAuYzo3NDEgKGlxMjAwMC10ZGVwLmM6 NzQwKQotIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNp emVfdCBnZXRzIGludDogdHlwZWxlbgorIEZ1bmN0aW9uIG1lbWNweSBleHBl Y3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IHR5cGVsZW4K IExPQyBpcTIwMDAtdGRlcC5jOjc3MiAoaXEyMDAwLXRkZXAuYzo3NzEpCi0g RnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3Np emVfdCBnZXRzIGludDogdHlwZWxlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9y eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiB0 eXBlbGVuCiBMT0MgaXEyMDAwLXRkZXAuYzo3ODIgKGlxMjAwMC10ZGVwLmM6 NzgxKQotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRv IGJlIHNzaXplX3QgZ2V0cyBpbnQ6IHR5cGVsZW4KKyBGdW5jdGlvbiB3cml0 ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgTE9O R0VTVDogdHlwZWxlbgogTE9DIGp2LWxhbmcuYzo0NjkgKGp2LWxhbmcuYzo0 NjcpCi0gQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogYm9mZnNldCA9 IHZhbHVlX2FzX2xvbmcodmFsdWVfc3RydWN0X2VsdCgmdGVtcCwgTlVMTCwg ImJvZmZzZXQiLCBOVUxMLCAic3RydWN0dXJlIikpCi1MT0MganYtbGFuZy5j OjQ2OQogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5 cGUgaW50OiBhY2NmbGFncyAmIDB4MDAwMQogTE9DIGp2LWxhbmcuYzo0ODIK LSBBc3NpZ25tZW50IG9mIGludCB0byBDT1JFX0FERFI6ICgoKHR5cGUpLT5t YWluX3R5cGUtPmZsZHNfYm5kcy5maWVsZHNbaV0pLmxvYy5waHlzYWRkcikg PSAoYm9mZnNldCkKKyBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8gQ09SRV9B RERSOiAoKCh0eXBlKS0+bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRzW2ld KS5sb2MucGh5c2FkZHIpID0gKGJvZmZzZXQpCiBMT0MganYtbGFuZy5jOjYx MQotIFJldHVybiB2YWx1ZSB0eXBlIFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVj bGFyZWQgdHlwZSBpbnQ6IChvYmp0eXBlKS0+bGVuZ3RoCisgUmV0dXJuIHZh bHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlw ZSBpbnQ6IChvYmp0eXBlKS0+bGVuZ3RoCiBMT0MgbG0zMi10ZGVwLmM6Mjg3 IChsbTMyLXRkZXAuYzoyOTUpCi0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogbGVuCisgRnVu Y3Rpb24gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIGV4cGVjdHMgYXJnIDIg dG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitMT0MgbG0zMi10ZGVwLmM6 Mjk1CisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIGxtMzItdGRlcC5j OjM0MAotIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rp b24gcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdl dHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCitMT0MgbG0zMi10ZGVwLmM6 MzU3CisgRnVuY3Rpb24gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIGV4cGVj dHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitMT0MgbG0z Mi10ZGVwLmM6MzY0CisgRnVuY3Rpb24gZXh0cmFjdF91bnNpZ25lZF9pbnRl Z2VyIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVu IC0gNAogTE9DIG0yLWxhbmcuYzoxMjEgKG0yLWxhbmcuYzoxMjkpCisgT3Bl cmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgVUxP TkdFU1QpOiBpIDwgbGVuZ3RoCitMT0MgbTItbGFuZy5jOjEyOQogIFRlc3Qg ZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBxdWl0 X2ZsYWcKIExPQyBtMi1sYW5nLmM6MTM5IChtMi1sYW5nLmM6MTQ3KQorIE9w ZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIFVM T05HRVNUKTogcmVwMSA8IGxlbmd0aAorTE9DIG0yLWxhbmcuYzoxNDcKICBU ZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGludDog aW5fcXVvdGVzCiBMT0MgbTItbGFuZy5jOjE4NQorIE9wZXJhbmRzIG9mIDwg aGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIFVMT05HRVNUKTogaSA8 IGxlbmd0aAorTE9DIG0yLWxhbmcuYzoxODUKICBMZWZ0IG9wZXJhbmQgb2Yg fHwgaXMgbm9uLWJvb2xlYW4gKGludCk6IGZvcmNlX2VsbGlwc2VzIHx8IGkg PCBsZW5ndGgKIExPQyBtMi10eXBlcHJpbnQuYzozNzcgKG0yLXR5cGVwcmlu dC5jOjM3NCkKLSBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVSU5ULCBzaXplX3QpOiAodHlwZSktPmxlbmd0aCA8IHNpemVvZihM T05HRVNUKQorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlw ZXMgKFVMT05HRVNULCBzaXplX3QpOiAodHlwZSktPmxlbmd0aCA8IHNpemVv ZihMT05HRVNUKQogTE9DIG0yLXR5cGVwcmludC5jOjU5MSAobTItdHlwZXBy aW50LmM6NjEwKQotIE9wZXJhbmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxl IHR5cGVzIChpbnQsIExPTkdFU1QpOiBsYXN0dmFsICE9ICgoKCh0eXBlKS0+ bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRzW2ldKS5sb2MuZW51bXZhbCkg KyAwKQotTE9DIG0yLXR5cGVwcmludC5jOjYxNAotIEFzc2lnbm1lbnQgb2Yg TE9OR0VTVCB0byBpbnQ6IGxhc3R2YWwgPSAoKCgodHlwZSktPm1haW5fdHlw ZS0+Zmxkc19ibmRzLmZpZWxkc1tpXSkubG9jLmVudW12YWwpICsgMCkKLUxP QyBtMi10eXBlcHJpbnQuYzo1ODgKICBQYXJhbWV0ZXIgbGV2ZWwgbm90IHVz ZWQKIExPQyBtMi12YWxwcmludC5jOjI3NiAobTItdmFscHJpbnQuYzoyNzcp Ci0gQXNzaWdubWVudCBvZiBVSU5UIHRvIGludDogZWx0bGVuID0gKHR5cGUp LT5sZW5ndGgKLUxPQyBtMi12YWxwcmludC5jOjI3OAogIFRlc3QgZXhwcmVz c2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBvcHRpb25zLT5w cmV0dHlwcmludF9hcnJheXMKICAgIExPQyBtMi12YWxwcmludC5jOjMxOSAo bTItdmFscHJpbnQuYzozMjApCi0gUHJldmlvdXMgZGVmaW5pdGlvbiBvZiBp OiBVSU5UCisgUHJldmlvdXMgZGVmaW5pdGlvbiBvZiBpOiBVTE9OR0VTVAog TE9DIG0zMnItdGRlcC5jOjI2MAotIFZhcmlhYmxlIGxlbiBpbml0aWFsaXpl ZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAor IFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBl eHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBtMzJyLXRkZXAuYzo3 NDQKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXpl X3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFy ZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIG0zMnIt dGRlcC5jOjc5OSAobTMyci10ZGVwLmM6ODA1KQorIEZ1bmN0aW9uIHN0b3Jl X3Vuc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0 cyBMT05HRVNUOiAobGVuID4gNCA/IGxlbiAtIDQgOiBsZW4pCitMT0MgbTMy ci10ZGVwLmM6ODA1CiAgUmV0dXJuIHZhbHVlICh0eXBlIGVudW0gcmVnaXN0 ZXJfc3RhdHVzKSBpZ25vcmVkOiByZWdjYWNoZV9jb29rZWRfLi4uCitMT0Mg bTY4aGMxMS10ZGVwLmM6MTE5NgorIEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWdu ZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdF U1Q6IGxlbgogTE9DIG02OGhjMTEtdGRlcC5jOjEyMjIKLSBGdW5jdGlvbiB3 cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMg aW50OiBsZW4KKyBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCitMT0MgbTY4aGMx MS10ZGVwLmM6MTI3NQorIEZ1bmN0aW9uIHJlZ2NhY2hlX3Jhd193cml0ZV9w YXJ0IGV4cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogMiAt IGxlbgorTE9DIG02OGhjMTEtdGRlcC5jOjEyNzUKKyBGdW5jdGlvbiByZWdj YWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBn ZXRzIExPTkdFU1Q6IGxlbgorTE9DIG02OGhjMTEtdGRlcC5jOjEyNzgKKyBG dW5jdGlvbiByZWdjYWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3RzIGFyZyAz IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IDQgLSBsZW4KK0xPQyBtNjhoYzEx LXRkZXAuYzoxMjc5CisgRnVuY3Rpb24gcmVnY2FjaGVfcmF3X3dyaXRlX3Bh cnQgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4g LSAyCiBMT0MgbTY4aGMxMS10ZGVwLmM6MTI5NAotIFZhcmlhYmxlIGxlbiBp bml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVM T05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBtNjhr LXRkZXAuYzoyMjUKLSBGdW5jdGlvbiBnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0 ZXMgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVSU5UOiAodHlwZSkt Pmxlbmd0aAorIEZ1bmN0aW9uIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyBl eHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVMT05HRVNUOiAodHlwZSkt Pmxlbmd0aAogTE9DIG02OGstdGRlcC5jOjMwMQotIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogbGVuCisg RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgTE9OR0VTVDogbGVuCiBMT0MgbTY4ay10ZGVwLmM6MzA2Ci0gRnVuY3Rp b24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50 OiBsZW4gLSA0CisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuIC0gNAogbTY4ay10ZGVwLmM6 IChpbiBmdW5jdGlvbiBtNjhrX3N2cjRfZXh0cmFjdF9yZXR1cm5fdmFsdWUp CiBMT0MgbTY4ay10ZGVwLmM6MzIzIChtNjhrLXRkZXAuYzozMTgpCi0gVmFy aWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBp bnQ6ICh0eXBlKS0+bGVuZ3RoCi1MT0MgbTY4ay10ZGVwLmM6MzIzCiAgTGVm dCBvcGVyYW5kIG9mICYmIGlzIG5vbi1ib29sZWFuIChpbnQpOiB0ZGVwLT5m bG9hdF9yZXR1cm4gJiYgKHR5cGUpLT5tYWluX3R5cGUtPmNvZGUgPT0gVFlQ RV9DT0RFX0ZMVAogTE9DIG02OGstdGRlcC5jOjM0NCAobTY4ay10ZGVwLmM6 MzUzKQotIE5ldyBmcmVzaCBzdG9yYWdlICh0eXBlIGNoYXIgKikgcGFzc2Vk IGFzIGltcGxpY2l0bHkgdGVtcCAobm90IHJlbGVhc2VkKTogZ2V0dGV4dCgi Q2Fubm90IHN0b3JlIHJldHVybiB2YWx1ZSBvZiAlZCBieXRlcyBsb25nLiIp Ci1tNjhrLXRkZXAuYzogKGluIGZ1bmN0aW9uIG02OGtfc3ZyNF9zdG9yZV9y ZXR1cm5fdmFsdWUpCisgRnVuY3Rpb24gcmVnY2FjaGVfcmF3X3dyaXRlX3Bh cnQgZXhwZWN0cyBhcmcgMyB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiA0IC0g bGVuCitMT0MgbTY4ay10ZGVwLmM6MzQ0CisgRnVuY3Rpb24gcmVnY2FjaGVf cmF3X3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBM T05HRVNUOiBsZW4KK0xPQyBtNjhrLXRkZXAuYzozNDcKKyBGdW5jdGlvbiBy ZWdjYWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3RzIGFyZyAzIHRvIGJlIGlu dCBnZXRzIExPTkdFU1Q6IDggLSBsZW4KIExPQyBtNjhrLXRkZXAuYzozNDgg KG02OGstdGRlcC5jOjM2MCkKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQg dG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBG dW5jdGlvbiByZWdjYWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3RzIGFyZyA0 IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbiAtIDQKK0xPQyBtNjhrLXRk ZXAuYzozNTMKKyBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBjaGFyICopIHBh c3NlZCBhcyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNlZCk6IGdldHRl eHQoIkNhbm5vdCBzdG9yZSByZXR1cm4gdmFsdWUgb2YgJXMgYnl0ZXMgbG9u Zy4iKQorbTY4ay10ZGVwLmM6IChpbiBmdW5jdGlvbiBtNjhrX3N2cjRfc3Rv cmVfcmV0dXJuX3ZhbHVlKQogTE9DIG02OGstdGRlcC5jOjM4OQotIFZhcmlh YmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50 OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0 byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgK IExPQyBtNjhrLXRkZXAuYzo0MjYKLSBGdW5jdGlvbiByZWFkX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVSU5UOiAodHlwZSkt Pmxlbmd0aAorIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMg dG8gYmUgc3NpemVfdCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAog TE9DIG02OGstdGRlcC5jOjQ2NQotIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIFVJTlQ6ICh0eXBlKS0+ bGVuZ3RoCisgRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0 byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBM T0MgbTY4ay10ZGVwLmM6NTMyCi0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogbGVuCisgRnVu Y3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVf dCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIG04OGstdGRlcC5jOjE2NQotIFZh cmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMg aW50OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXpl ZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5n dGgKIExPQyBtODhrLXRkZXAuYzoxOTIKLSBWYXJpYWJsZSBsZW4gaW5pdGlh bGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5n dGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VT VCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbTg4ay10ZGVw LmM6MzExCi0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlO VCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVu IGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAo dHlwZSktPmxlbmd0aAorTE9DIG04OGstdGRlcC5jOjMxMgorIFZhcmlhYmxl IHN0YWNrX3dvcmQgaW5pdGlhbGl6ZWQgdG8gdHlwZSBMT05HRVNULCBleHBl Y3RzIGludDogbnVtX3N0YWNrX3dvcmRzCiBMT0MgbTg4ay10ZGVwLmM6MzE2 IChtODhrLXRkZXAuYzozMTgpCisgVmFyaWFibGUgcmVnaXN0ZXJfd29yZCBp bml0aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiBudW1f cmVnaXN0ZXJfd29yZHMKK0xPQyBtODhrLXRkZXAuYzozMTgKICBSaWdodCBv cGVyYW5kIG9mICYmIGlzIG5vbi1ib29sZWFuIChpbnQpOiByZWdpc3Rlcl93 b3JkICUgMiA9PSAxICYmIG04OGtfOF9ieXRlX2FsaWduX3AodHlwZSkKIExP QyBtODhrLXRkZXAuYzo0MDQKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIG1l bWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6 IGxlbgogTE9DIG04OGstdGRlcC5jOjQxMAotIEZ1bmN0aW9uIG1lbWNweSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogbGVuCisgRnVu Y3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMg TE9OR0VTVDogbGVuCiBMT0MgbTg4ay10ZGVwLmM6NDI2Ci0gRnVuY3Rpb24g bWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBs ZW4KKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXpl X3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBtZW1yYW5nZS5jOjc3Ci0gQ29u ZGl0aW9uYWwgY2xhdXNlcyBhcmUgbm90IG9mIHNhbWUgdHlwZTogKHJhLT5s ZW5ndGgpIChpbnQpLCAoKHJiLT5zdGFydCAtIHJhLT5zdGFydCkgKyByYi0+ bGVuZ3RoKSAoVUxPTkdFU1QpCisgQ29uZGl0aW9uYWwgY2xhdXNlcyBhcmUg bm90IG9mIHNhbWUgdHlwZTogKHJhLT5sZW5ndGgpIChMT05HRVNUKSwgKChy Yi0+c3RhcnQgLSByYS0+c3RhcnQpICsgcmItPmxlbmd0aCkgKFVMT05HRVNU KQogTE9DIG1lcC10ZGVwLmM6MTE0OAotIE9wZXJhbmRzIG9mID09IGhhdmUg aW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBzaXplX3QpOiAocmVnaXN0ZXJf dHlwZShnZGJhcmNoLCByYXdudW0pKS0+bGVuZ3RoID09IHNpemVvZigoYnVm NjQpKQorIE9wZXJhbmRzIG9mID09IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVz IChVTE9OR0VTVCwgc2l6ZV90KTogKHJlZ2lzdGVyX3R5cGUoZ2RiYXJjaCwg cmF3bnVtKSktPmxlbmd0aCA9PSBzaXplb2YoKGJ1ZjY0KSkKIExPQyBtZXAt dGRlcC5jOjEyMzQKLSBPcGVyYW5kcyBvZiA9PSBoYXZlIGluY29tcGF0aWJs ZSB0eXBlcyAoVUlOVCwgc2l6ZV90KTogKHJlZ2lzdGVyX3R5cGUoZ2RiYXJj aCwgcmF3bnVtKSktPmxlbmd0aCA9PSBzaXplb2YoKGJ1ZjY0KSkKKyBPcGVy YW5kcyBvZiA9PSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1Qs IHNpemVfdCk6IChyZWdpc3Rlcl90eXBlKGdkYmFyY2gsIHJhd251bSkpLT5s ZW5ndGggPT0gc2l6ZW9mKChidWY2NCkpCiBMT0MgbWVwLXRkZXAuYzoyMTQ5 Ci0gQXNzaWdubWVudCBvZiBVSU5UIHRvIGludDogb2Zmc2V0ID0gKDQpIC0g KHR5cGUpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIGlu dDogb2Zmc2V0ID0gKDQpIC0gKHR5cGUpLT5sZW5ndGgKIExPQyBtZXAtdGRl cC5jOjIxNTUKLSBGdW5jdGlvbiByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0 IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5cGUpLT5s ZW5ndGgKKyBGdW5jdGlvbiByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IGV4 cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+ bGVuZ3RoCiBMT0MgbWVwLXRkZXAuYzoyMTc3Ci0gQXNzaWdubWVudCBvZiBV SU5UIHRvIGludDogb2Zmc2V0ID0gKDQpIC0gKHR5cGUpLT5sZW5ndGgKKyBB c3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIGludDogb2Zmc2V0ID0gKDQpIC0g KHR5cGUpLT5sZW5ndGgKIExPQyBtZXAtdGRlcC5jOjIxODIKLSBGdW5jdGlv biByZWdjYWNoZV9jb29rZWRfd3JpdGVfcGFydCBleHBlY3RzIGFyZyA0IHRv IGJlIGludCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g cmVnY2FjaGVfY29va2VkX3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBi ZSBpbnQgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBtZXAt dGRlcC5jOjIyMTAKLSBGdW5jdGlvbiByZWFkX21lbW9yeSBleHBlY3RzIGFy ZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAor IEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3Np emVfdCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIG1lcC10 ZGVwLmM6MjI4OQotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFy ZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVSU5UOiBhcmdfbGVuCisgRnVuY3Rp b24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBn ZXRzIFVMT05HRVNUOiBhcmdfbGVuCiBMT0MgbWljcm9ibGF6ZS10ZGVwLmM6 NTcxCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6 ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1j cHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDog KHR5cGUpLT5sZW5ndGgKIExPQyBtaWNyb2JsYXplLXRkZXAuYzo2MDgKLSBG dW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRv IGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgogbWljcm9ibGF6ZS10ZGVw LmM6IChpbiBmdW5jdGlvbiBtaWNyb2JsYXplX3JldHVybl92YWx1ZSkKIExP QyBtaXBzLXRkZXAuYzo4NzYKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQg dG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBW YXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhw ZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6OTA4 Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhw ZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjEwMjQgKG1pcHMtdGRlcC5jOjEw MjkpCisgT3BlcmFuZHMgb2YgPT0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMg KFVJTlQsIFVMT05HRVNUKTogbWlwc19hYmlfcmVnc2l6ZShnZGJhcmNoKSA9 PSAoYnVpbHRpbl90eXBlKGdkYmFyY2gpLT5idWlsdGluX2RhdGFfcHRyKS0+ bGVuZ3RoCitMT0MgbWlwcy10ZGVwLmM6MTAyOQogIEZyZXNoIHN0b3JhZ2Ug cmF3dHlwZSBub3QgcmVsZWFzZWQgYmVmb3JlIHJldHVybgogTE9DIG1pcHMt dGRlcC5jOjQzMTIgKG1pcHMtdGRlcC5jOjQzMTEpCisgRnVuY3Rpb24gZXh0 cmFjdF9zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBn ZXRzIExPTkdFU1Q6IGxlbgorTE9DIG1pcHMtdGRlcC5jOjQzMTEKICBOZXcg ZnJlc2ggc3RvcmFnZSAodHlwZSBnZGJfYnl0ZSAqKSBwYXNzZWQgYXMgaW1w bGljaXRseSB0ZW1wIChub3QgcmVsZWFzZWQpOiB2YWx1ZV9jb250ZW50cyhh cmcpCiBMT0MgbWlwcy10ZGVwLmM6NDMxNyAobWlwcy10ZGVwLmM6NDMxOCkK KyBGdW5jdGlvbiBzdG9yZV9zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAy IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIG1pcHMtdGRlcC5j OjQzMTgKICBGdW5jdGlvbiBzdG9yZV9zaWduZWRfaW50ZWdlciBleHBlY3Rz IGFyZyA0IHRvIGJlIExPTkdFU1QgZ2V0cyBDT1JFX0FERFI6IG1ha2VfY29t cGFjdF9hZGRyKGFkZHIpCiBMT0MgbWlwcy10ZGVwLmM6NDM5NyAobWlwcy10 ZGVwLmM6NDM5OCkKKyBGdW5jdGlvbiBleHRyYWN0X3NpZ25lZF9pbnRlZ2Vy IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitM T0MgbWlwcy10ZGVwLmM6NDM5OAogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYg bm90IGJvb2xlYW4sIHR5cGUgaW50OiBtaXBzX2RlYnVnCiBMT0MgbWlwcy10 ZGVwLmM6NDQwMCAobWlwcy10ZGVwLmM6NDQxNCkKKyBGdW5jdGlvbiBwaGV4 IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitM T0MgbWlwcy10ZGVwLmM6NDQxNAogIFZhcmlhYmxlIG9kZF9zaXplZF9zdHJ1 Y3QgaW5pdGlhbGl6ZWQgdG8gdHlwZSBib29sZWFuLCBleHBlY3RzIGludDog KGxlbiA+IHJlZ3NpemUgJiYgbGVuICUgcmVnc2l6ZSAhPSAwKQogTE9DIG1p cHMtdGRlcC5jOjQ0MjIgKG1pcHMtdGRlcC5jOjQ0MjQpCisgVmFyaWFibGUg cGFydGlhbF9sZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBMT05HRVNULCBleHBl Y3RzIGludDogKGxlbiA8IHJlZ3NpemUgPyBsZW4gOiByZWdzaXplKQorTE9D IG1pcHMtdGRlcC5jOjQ0MjQKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5v dCBib29sZWFuLCB0eXBlIGludDogbWlwc19kZWJ1ZwogTE9DIG1pcHMtdGRl cC5jOjQ0NDQgKG1pcHMtdGRlcC5jOjQ0NDcpCi0gT3BlcmFuZHMgb2YgPCBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgaW50KTogKGFyZ190eXBl KS0+bGVuZ3RoIDwgcmVnc2l6ZQorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0 byBpbnQ6IGxvbmd3b3JkX29mZnNldCA9IHJlZ3NpemUgLSBsZW4KK0xPQyBt aXBzLXRkZXAuYzo0NDQ3CisgT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGludCk6IChhcmdfdHlwZSktPmxlbmd0 aCA8IHJlZ3NpemUKK0xPQyBtaXBzLXRkZXAuYzo0NDQ4CisgQXNzaWdubWVu dCBvZiBMT05HRVNUIHRvIGludDogbG9uZ3dvcmRfb2Zmc2V0ID0gcmVnc2l6 ZSAtIGxlbgogTE9DIG1pcHMtdGRlcC5jOjQ1NjUKLSBPcGVyYW5kcyBvZiA8 IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVJTlQpOiBvZmZzZXQg PCAodHlwZSktPmxlbmd0aAorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBh dGlibGUgdHlwZXMgKGludCwgVUxPTkdFU1QpOiBvZmZzZXQgPCAodHlwZSkt Pmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjQ1NjkKLSBPcGVyYW5kcyBvZiA+ IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVJTlQpOiBvZmZzZXQg KyB4ZmVyID4gKHR5cGUpLT5sZW5ndGgKKyBPcGVyYW5kcyBvZiA+IGhhdmUg aW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVMT05HRVNUKTogb2Zmc2V0ICsg eGZlciA+ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6NDU3MAot IEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IHhmZXIgPSAodHlwZSktPmxl bmd0aCAtIG9mZnNldAorIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50 OiB4ZmVyID0gKHR5cGUpLT5sZW5ndGggLSBvZmZzZXQKIExPQyBtaXBzLXRk ZXAuYzo0NzAxCi0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUg VUlOVCwgZXhwZWN0cyBpbnQ6IChhcmdfdHlwZSktPmxlbmd0aAorIFZhcmlh YmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3Rz IGludDogKGFyZ190eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6NDkz NwotIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJ TlQsIGludCk6ICh0eXBlKS0+bGVuZ3RoID4gMiAqIE1JUFM2NF9SRUdTSVpF CisgT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxP TkdFU1QsIGludCk6ICh0eXBlKS0+bGVuZ3RoID4gMiAqIE1JUFM2NF9SRUdT SVpFCiBMT0MgbWlwcy10ZGVwLmM6NDk3MAotIEZ1bmN0aW9uIG1pcHNfeGZl cl9yZWdpc3RlciBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVJTlQ6 ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWlwc194ZmVyX3JlZ2lzdGVy IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBl KS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6NTAyMAotIEZ1bmN0aW9uIG1p cHNfeGZlcl9yZWdpc3RlciBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRz IFVJTlQ6ICgoKCh0eXBlKS0+bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRz W2ZpZWxkXSkudHlwZSkpLT5sZW5ndGgKKyBGdW5jdGlvbiBtaXBzX3hmZXJf cmVnaXN0ZXIgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVTE9OR0VT VDogKCgoKHR5cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVsZHNbZmll bGRdKS50eXBlKSktPmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjUwMzYKLSBP cGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVJ TlQpOiBvZmZzZXQgPCAodHlwZSktPmxlbmd0aAorIE9wZXJhbmRzIG9mIDwg aGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwgVUxPTkdFU1QpOiBvZmZz ZXQgPCAodHlwZSktPmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjUwNDAKLSBP cGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVJ TlQpOiBvZmZzZXQgKyB4ZmVyID4gKHR5cGUpLT5sZW5ndGgKKyBPcGVyYW5k cyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVMT05HRVNU KTogb2Zmc2V0ICsgeGZlciA+ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10 ZGVwLmM6NTA0MQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IHhmZXIg PSAodHlwZSktPmxlbmd0aCAtIG9mZnNldAorIEFzc2lnbm1lbnQgb2YgVUxP TkdFU1QgdG8gaW50OiB4ZmVyID0gKHR5cGUpLT5sZW5ndGggLSBvZmZzZXQK IExPQyBtaXBzLXRkZXAuYzo1MDU5Ci0gT3BlcmFuZHMgb2YgPCBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogb2Zmc2V0IDwgKHR5cGUp LT5sZW5ndGgKKyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChpbnQsIFVMT05HRVNUKTogb2Zmc2V0IDwgKHR5cGUpLT5sZW5ndGgK IExPQyBtaXBzLXRkZXAuYzo1MDYzCi0gT3BlcmFuZHMgb2YgPiBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogb2Zmc2V0ICsgeGZlciA+ ICh0eXBlKS0+bGVuZ3RoCisgT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoaW50LCBVTE9OR0VTVCk6IG9mZnNldCArIHhmZXIgPiAo dHlwZSktPmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjUwNjQKLSBBc3NpZ25t ZW50IG9mIFVJTlQgdG8gaW50OiB4ZmVyID0gKHR5cGUpLT5sZW5ndGggLSBv ZmZzZXQKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIGludDogeGZlciA9 ICh0eXBlKS0+bGVuZ3RoIC0gb2Zmc2V0CiBMT0MgbWlwcy10ZGVwLmM6NTEz MCAobWlwcy10ZGVwLmM6NTEyOCkKLSBWYXJpYWJsZSBhcmdsZW4gaW5pdGlh bGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKGFyZ190eXBlKS0+ bGVuZ3RoCi1MT0MgbWlwcy10ZGVwLmM6NTEzMQogIFRlc3QgZXhwcmVzc2lv biBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBtaXBzX3R5cGVfbmVl ZHNfZG91YmxlX2FsaWduKGFyZ190eXBlKQogTE9DIG1pcHMtdGRlcC5jOjUx MzEgKG1pcHMtdGRlcC5jOjUxMzIpCi0gRnVuY3Rpb24gYWxpZ25fdXAgZXhw ZWN0cyBhcmcgMSB0byBiZSBVTE9OR0VTVCBnZXRzIGludDogbGVuCi1MT0Mg bWlwcy10ZGVwLmM6NTEzMgotIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8g aW50OiBsZW4gPSBhbGlnbl91cChsZW4sIE1JUFMzMl9SRUdTSVpFICogMikK KyBGdW5jdGlvbiBhbGlnbl91cCBleHBlY3RzIGFyZyAxIHRvIGJlIFVMT05H RVNUIGdldHMgTE9OR0VTVDogbGVuCiBMT0MgbWlwcy10ZGVwLmM6NTEzMSAo bWlwcy10ZGVwLmM6NTEzNCkKLSBGdW5jdGlvbiBhbGlnbl91cCBleHBlY3Rz IGFyZyAxIHRvIGJlIFVMT05HRVNUIGdldHMgaW50OiBhcmdsZW4KKyBBc3Np Z25tZW50IG9mIFVMT05HRVNUIHRvIExPTkdFU1Q6IGxlbiA9IGFsaWduX3Vw KGxlbiwgTUlQUzMyX1JFR1NJWkUgKiAyKQogICAgTE9DIG1pcHMtdGRlcC5j OjUxMDIKLSBQcmV2aW91cyBkZWZpbml0aW9uIG9mIGxlbjogaW50CisgUHJl dmlvdXMgZGVmaW5pdGlvbiBvZiBsZW46IExPTkdFU1QKIExPQyBtaXBzLXRk ZXAuYzo1MjQxIChtaXBzLXRkZXAuYzo1MjQyKQorIEZ1bmN0aW9uIGV4dHJh Y3RfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBn ZXRzIExPTkdFU1Q6IGxlbgorTE9DIG1pcHMtdGRlcC5jOjUyNDEKICBWYXJp YWJsZSByZWd2YWwgaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhw ZWN0cyBMT05HRVNUOiBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIodmFsLCBs ZW4sIGJ5dGVfb3JkZXIpCiBMT0MgbWlwcy10ZGVwLmM6NTI0NCAobWlwcy10 ZGVwLmM6NTI0NykKKyBGdW5jdGlvbiBwaGV4IGV4cGVjdHMgYXJnIDIgdG8g YmUgaW50IGdldHMgTE9OR0VTVDogbGVuCitMT0MgbWlwcy10ZGVwLmM6NTI0 NgogIEZ1bmN0aW9uIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91bnNpZ25lZCBl eHBlY3RzIGFyZyAzIHRvIGJlIFVMT05HRVNUIGdldHMgTE9OR0VTVDogcmVn dmFsCiBMT0MgbWlwcy10ZGVwLmM6NTI1MiAobWlwcy10ZGVwLmM6NTI1NCkK KyBGdW5jdGlvbiBwaGV4IGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMg TE9OR0VTVDogbGVuCitMT0MgbWlwcy10ZGVwLmM6NTI1MwogIEZ1bmN0aW9u IHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91bnNpZ25lZCBleHBlY3RzIGFyZyAz IHRvIGJlIFVMT05HRVNUIGdldHMgTE9OR0VTVDogcmVndmFsCiBMT0MgbWlw cy10ZGVwLmM6NTI4NCAobWlwcy10ZGVwLmM6NTI4NykKKyBWYXJpYWJsZSBw YXJ0aWFsX2xlbiBpbml0aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVj dHMgaW50OiAobGVuIDwgTUlQUzMyX1JFR1NJWkUgPyBsZW4gOiBNSVBTMzJf UkVHU0laRSkKK0xPQyBtaXBzLXRkZXAuYzo1Mjg2CiAgVGVzdCBleHByZXNz aW9uIGZvciBpZiBub3QgYm9vbGVhbiwgdHlwZSBpbnQ6IG1pcHNfZGVidWcK IExPQyBtaXBzLXRkZXAuYzo1NDQ0IChtaXBzLXRkZXAuYzo1NDQ1KQotIEZ1 bmN0aW9uIG1pcHNfeGZlcl9yZWdpc3RlciBleHBlY3RzIGFyZyA0IHRvIGJl IGludCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWlw c194ZmVyX3JlZ2lzdGVyIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMg VUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6NTQ1 MCAobWlwcy10ZGVwLmM6NTQ1MSkKLSBGdW5jdGlvbiBtaXBzX3hmZXJfcmVn aXN0ZXIgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVSU5UOiAodHlw ZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1pcHNfeGZlcl9yZWdpc3RlciBleHBl Y3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxl bmd0aAogTE9DIG1pcHMtdGRlcC5jOjU1OTkgKG1pcHMtdGRlcC5jOjU2MDAp Ci0gT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50 LCBVSU5UKTogb2Zmc2V0IDwgKHR5cGUpLT5sZW5ndGgKKyBPcGVyYW5kcyBv ZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVMT05HRVNUKTog b2Zmc2V0IDwgKHR5cGUpLT5sZW5ndGgKIExPQyBtaXBzLXRkZXAuYzo1NjAz IChtaXBzLXRkZXAuYzo1NjA0KQotIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNv bXBhdGlibGUgdHlwZXMgKGludCwgVUlOVCk6IG9mZnNldCArIHhmZXIgPiAo dHlwZSktPmxlbmd0aAorIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNvbXBhdGli bGUgdHlwZXMgKGludCwgVUxPTkdFU1QpOiBvZmZzZXQgKyB4ZmVyID4gKHR5 cGUpLT5sZW5ndGgKIExPQyBtaXBzLXRkZXAuYzo1NjA0IChtaXBzLXRkZXAu Yzo1NjA1KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IHhmZXIgPSAo dHlwZSktPmxlbmd0aCAtIG9mZnNldAorIEFzc2lnbm1lbnQgb2YgVUxPTkdF U1QgdG8gaW50OiB4ZmVyID0gKHR5cGUpLT5sZW5ndGggLSBvZmZzZXQKIExP QyBtaXBzLXRkZXAuYzo1NjU5IChtaXBzLXRkZXAuYzo1NjU3KQotIFZhcmlh YmxlIGFyZ2xlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMg aW50OiAoYXJnX3R5cGUpLT5sZW5ndGgKLUxPQyBtaXBzLXRkZXAuYzo1NjYw Ci0gRnVuY3Rpb24gYWxpZ25fdXAgZXhwZWN0cyBhcmcgMSB0byBiZSBVTE9O R0VTVCBnZXRzIGludDogYXJnbGVuCi1MT0MgbWlwcy10ZGVwLmM6NTY2MQog IEZyZXNoIHN0b3JhZ2UgYXJnX3R5cGUgbm90IHJlbGVhc2VkIGJlZm9yZSBz Y29wZSBleGl0CiAgICBMT0MgbWlwcy10ZGVwLmM6NTYzMCAobWlwcy10ZGVw LmM6NTYzMSkKLSBQcmV2aW91cyBkZWZpbml0aW9uIG9mIGxlbjogaW50Cisg UHJldmlvdXMgZGVmaW5pdGlvbiBvZiBsZW46IExPTkdFU1QKIExPQyBtaXBz LXRkZXAuYzo1NzA4IChtaXBzLXRkZXAuYzo1NzA5KQorIEZ1bmN0aW9uIGV4 dHJhY3Rfc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQg Z2V0cyBMT05HRVNUOiBsZW4KK0xPQyBtaXBzLXRkZXAuYzo1NzA3CiAgTmV3 IGZyZXNoIHN0b3JhZ2UgKHR5cGUgZ2RiX2J5dGUgKikgcGFzc2VkIGFzIGlt cGxpY2l0bHkgdGVtcCAobm90IHJlbGVhc2VkKTogdmFsdWVfY29udGVudHMo YXJnKQogTE9DIG1pcHMtdGRlcC5jOjU3MTEgKG1pcHMtdGRlcC5jOjU3MTQp CisgRnVuY3Rpb24gc3RvcmVfc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcg MiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyBtaXBzLXRkZXAu Yzo1NzEyCiAgRnVuY3Rpb24gc3RvcmVfc2lnbmVkX2ludGVnZXIgZXhwZWN0 cyBhcmcgNCB0byBiZSBMT05HRVNUIGdldHMgQ09SRV9BRERSOiBtYWtlX2Nv bXBhY3RfYWRkcihhZGRyKQogTE9DIG1pcHMtdGRlcC5jOjU3MzAgKG1pcHMt dGRlcC5jOjU3MzIpCisgRnVuY3Rpb24gZXh0cmFjdF91bnNpZ25lZF9pbnRl Z2VyIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVu CitMT0MgbWlwcy10ZGVwLmM6NTczMAogIFZhcmlhYmxlIHJlZ3ZhbCBpbml0 aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIExPTkdFU1Q6IGV4 dHJhY3RfdW5zaWduZWRfaW50ZWdlcih2YWwsIGxlbiwgYnl0ZV9vcmRlcikK IExPQyBtaXBzLXRkZXAuYzo1NzMzIChtaXBzLXRkZXAuYzo1NzM2KQorIEZ1 bmN0aW9uIHBoZXggZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05H RVNUOiBsZW4KK0xPQyBtaXBzLXRkZXAuYzo1NzM0CiAgRnVuY3Rpb24gcmVn Y2FjaGVfY29va2VkX3dyaXRlX3Vuc2lnbmVkIGV4cGVjdHMgYXJnIDMgdG8g YmUgVUxPTkdFU1QgZ2V0cyBMT05HRVNUOiByZWd2YWwKIExPQyBtaXBzLXRk ZXAuYzo1NzM3IChtaXBzLXRkZXAuYzo1NzQwKQorIEZ1bmN0aW9uIHBoZXgg ZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xP QyBtaXBzLXRkZXAuYzo1NzM4CiAgRnVuY3Rpb24gcmVnY2FjaGVfY29va2Vk X3dyaXRlX3Vuc2lnbmVkIGV4cGVjdHMgYXJnIDMgdG8gYmUgVUxPTkdFU1Qg Z2V0cyBMT05HRVNUOiByZWd2YWwKIExPQyBtaXBzLXRkZXAuYzo1NzU4ICht aXBzLXRkZXAuYzo1NzYyKQorIFZhcmlhYmxlIHBhcnRpYWxfbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IChsZW4gPCBN SVBTNjRfUkVHU0laRSA/IGxlbiA6IE1JUFM2NF9SRUdTSVpFKQorTE9DIG1p cHMtdGRlcC5jOjU3NjAKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBi b29sZWFuLCB0eXBlIGludDogbWlwc19kZWJ1ZwogTE9DIG1pcHMtdGRlcC5j OjU3NzkgKG1pcHMtdGRlcC5jOjU3ODQpCisgQXNzaWdubWVudCBvZiBMT05H RVNUIHRvIGludDogbG9uZ3dvcmRfb2Zmc2V0ID0gTUlQUzY0X1JFR1NJWkUg LSBsZW4KK0xPQyBtaXBzLXRkZXAuYzo1NzgyCiAgVGVzdCBleHByZXNzaW9u IGZvciBpZiBub3QgYm9vbGVhbiwgdHlwZSBpbnQ6IG1pcHNfZGVidWcKIExP QyBtaXBzLXRkZXAuYzo1Nzg1IChtaXBzLXRkZXAuYzo1Nzg3KQotIEZ1bmN0 aW9uIHBhZGRyZXNzIGV4cGVjdHMgYXJnIDIgdG8gYmUgQ09SRV9BRERSIGdl dHMgaW50OiBzdGFja19vZmZzZXQKKyBGdW5jdGlvbiBwYWRkcmVzcyBleHBl Y3RzIGFyZyAyIHRvIGJlIENPUkVfQUREUiBnZXRzIExPTkdFU1Q6IHN0YWNr X29mZnNldAogTE9DIG1pcHMtdGRlcC5jOjU5MDkgKG1pcHMtdGRlcC5jOjU5 MTEpCi0gRnVuY3Rpb24gbWlwc194ZmVyX3JlZ2lzdGVyIGV4cGVjdHMgYXJn IDQgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5j dGlvbiBtaXBzX3hmZXJfcmVnaXN0ZXIgZXhwZWN0cyBhcmcgNCB0byBiZSBp bnQgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBtaXBzLXRk ZXAuYzo1OTE1IChtaXBzLXRkZXAuYzo1OTE3KQotIEZ1bmN0aW9uIG1pcHNf eGZlcl9yZWdpc3RlciBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVJ TlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWlwc194ZmVyX3JlZ2lz dGVyIGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0 eXBlKS0+bGVuZ3RoCiBMT0MgbWlwcy10ZGVwLmM6NTkyNyAobWlwcy10ZGVw LmM6NTkyOSkKLSBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChpbnQsIFVJTlQpOiBvZmZzZXQgPCAodHlwZSktPmxlbmd0aAorIE9w ZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwgVUxP TkdFU1QpOiBvZmZzZXQgPCAodHlwZSktPmxlbmd0aAogTE9DIG1pcHMtdGRl cC5jOjU5MzEgKG1pcHMtdGRlcC5jOjU5MzMpCi0gT3BlcmFuZHMgb2YgPiBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogb2Zmc2V0ICsg eGZlciA+ICh0eXBlKS0+bGVuZ3RoCisgT3BlcmFuZHMgb2YgPiBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoaW50LCBVTE9OR0VTVCk6IG9mZnNldCArIHhm ZXIgPiAodHlwZSktPmxlbmd0aAogTE9DIG1pcHMtdGRlcC5jOjU5MzIgKG1p cHMtdGRlcC5jOjU5MzQpCi0gQXNzaWdubWVudCBvZiBVSU5UIHRvIGludDog eGZlciA9ICh0eXBlKS0+bGVuZ3RoIC0gb2Zmc2V0CisgQXNzaWdubWVudCBv ZiBVTE9OR0VTVCB0byBpbnQ6IHhmZXIgPSAodHlwZSktPmxlbmd0aCAtIG9m ZnNldAogTE9DIG1uMTAzMDAtdGRlcC5jOjEwMyAobW4xMDMwMC10ZGVwLmM6 MTAyKQotIFJldHVybiB2YWx1ZSB0eXBlIFVJTlQgZG9lcyBub3QgbWF0Y2gg ZGVjbGFyZWQgdHlwZSBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgUmV0dXJuIHZh bHVlIHR5cGUgVUxPTkdFU1QgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlw ZSBMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIG1uMTAzMDAtdGRlcC5j OjEwNiAobW4xMDMwMC10ZGVwLmM6MTA1KQotIFJldHVybiB2YWx1ZSB0eXBl IFVJTlQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBpbnQ6ICh0eXBl KS0+bGVuZ3RoIC8gMgorIFJldHVybiB2YWx1ZSB0eXBlIFVMT05HRVNUIGRv ZXMgbm90IG1hdGNoIGRlY2xhcmVkIHR5cGUgTE9OR0VTVDogKHR5cGUpLT5s ZW5ndGggLyAyCiBMT0MgbW4xMDMwMC10ZGVwLmM6MTE0IChtbjEwMzAwLXRk ZXAuYzoxMTMpCi0gTGVmdCBvcGVyYW5kIG9mIDw8PSBtYXkgYmUgbmVnYXRp dmUgKGludCk6IGFsaWduIDw8PSAxCisgTGVmdCBvcGVyYW5kIG9mIDw8PSBt YXkgYmUgbmVnYXRpdmUgKExPTkdFU1QpOiBhbGlnbiA8PD0gMQogTE9DIG1u MTAzMDAtdGRlcC5jOjEyOSAobW4xMDMwMC10ZGVwLmM6MTI4KQotIFBhdGgg d2l0aCBubyByZXR1cm4gaW4gZnVuY3Rpb24gZGVjbGFyZWQgdG8gcmV0dXJu IGludAorIFBhdGggd2l0aCBubyByZXR1cm4gaW4gZnVuY3Rpb24gZGVjbGFy ZWQgdG8gcmV0dXJuIExPTkdFU1QKIG1uMTAzMDAtdGRlcC5jOiAoaW4gZnVu Y3Rpb24gbW4xMDMwMF91c2Vfc3RydWN0X2NvbnZlbnRpb24pCiBMT0MgbW4x MDMwMC10ZGVwLmM6MTc0IChtbjEwMzAwLXRkZXAuYzoxNzMpCi0gVmFyaWFi bGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6 ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRv IHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAog TE9DIG1uMTAzMDAtdGRlcC5jOjIwMyAobW4xMDMwMC10ZGVwLmM6MjAyKQot IFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVj dHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFs aXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5s ZW5ndGgKK0xPQyBtb3hpZS10ZGVwLmM6MTM1CisgRnVuY3Rpb24gZXh0cmFj dF91bnNpZ25lZF9pbnRlZ2VyIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdl dHMgTE9OR0VTVDogbGVuIC0gNAogTE9DIG1veGllLXRkZXAuYzozMzAgKG1v eGllLXRkZXAuYzozMzYpCisgRnVuY3Rpb24gc3RvcmVfdW5zaWduZWRfaW50 ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IChs ZW4gPiA0ID8gbGVuIC0gNCA6IGxlbikKK0xPQyBtb3hpZS10ZGVwLmM6MzM2 CiAgUmV0dXJuIHZhbHVlICh0eXBlIGVudW0gcmVnaXN0ZXJfc3RhdHVzKSBp Z25vcmVkOiByZWdjYWNoZV9jb29rZWRfLi4uCiBMT0MgbXQtdGRlcC5jOjM1 MwotIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c3NpemVfdCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g cmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMg VUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgbXQtdGRlcC5jOjM2MQot IEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNz aXplX3QgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHdy aXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBV TE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyBtdC10ZGVwLmM6Mzg2Ci0g RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkgZXhw ZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUp LT5sZW5ndGgKIExPQyBtdC10ZGVwLmM6Nzg2Ci0gVmFyaWFibGUgc3RhY2tf ZGVzdCBpbml0aWFsaXplZCB0byB0eXBlIENPUkVfQUREUiwgZXhwZWN0cyBp bnQ6IHNwCisgVmFyaWFibGUgc3RhY2tfZGVzdCBpbml0aWFsaXplZCB0byB0 eXBlIENPUkVfQUREUiwgZXhwZWN0cyBMT05HRVNUOiBzcAogTE9DIG10LXRk ZXAuYzo4MjcgKG10LXRkZXAuYzo4MjgpCi0gRnVuY3Rpb24gbWVtY3B5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiB0eXBlbGVuCisg QXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogc3BsaXRfcGFyYW1fbGVu ID0gdHlwZWxlbgorTE9DIG10LXRkZXAuYzo4MjgKKyBGdW5jdGlvbiBtZW1j cHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiB0 eXBlbGVuCiBMT0MgbXQtdGRlcC5jOjgzOAotIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAxIHRvIGJlIENPUkVfQUREUiBnZXRzIGludDog c3RhY2tfZGVzdAorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFy ZyAxIHRvIGJlIENPUkVfQUREUiBnZXRzIExPTkdFU1Q6IHN0YWNrX2Rlc3QK IExPQyBtdC10ZGVwLmM6ODM4Ci0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogdHlwZWxlbgor IEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNz aXplX3QgZ2V0cyBMT05HRVNUOiB0eXBlbGVuCiBMT0MgbXQtdGRlcC5jOjg1 MSAobXQtdGRlcC5jOjg1MikKLSBGdW5jdGlvbiBDX2FsbG9jYSBleHBlY3Rz IGFyZyAxIHRvIGJlIHNpemVfdCBnZXRzIGludDogdHlwZWxlbiArIHNsYWNr bGVuCisgQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogc2xhY2tsZW4g PSAoNCAtICh0eXBlbGVuICUgNCkpICUgNAogTE9DIG10LXRkZXAuYzo4NTIg KG10LXRkZXAuYzo4NTMpCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJn IDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiB0eXBlbGVuCisgRnVuY3Rpb24g Q19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBMT05H RVNUOiB0eXBlbGVuICsgc2xhY2tsZW4KK0xPQyBtdC10ZGVwLmM6ODUzCisg RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgTE9OR0VTVDogdHlwZWxlbgogTE9DIG10LXRkZXAuYzo4NTcKLSBGdW5j dGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMSB0byBiZSBDT1JFX0FE RFIgZ2V0cyBpbnQ6IHN0YWNrX2Rlc3QKKyBGdW5jdGlvbiB3cml0ZV9tZW1v cnkgZXhwZWN0cyBhcmcgMSB0byBiZSBDT1JFX0FERFIgZ2V0cyBMT05HRVNU OiBzdGFja19kZXN0CiBMT0MgbXQtdGRlcC5jOjg1NwotIEZ1bmN0aW9uIHdy aXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBp bnQ6IHR5cGVsZW4gKyBzbGFja2xlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9y eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiB0 eXBlbGVuICsgc2xhY2tsZW4KIExPQyBtdC10ZGVwLmM6ODY1Ci0gRnVuY3Rp b24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDEgdG8gYmUgQ09SRV9BRERS IGdldHMgaW50OiBzdGFja19kZXN0CisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5 IGV4cGVjdHMgYXJnIDEgdG8gYmUgQ09SRV9BRERSIGdldHMgTE9OR0VTVDog c3RhY2tfZGVzdAogTE9DIG10LXRkZXAuYzo4ODIKLSBSZXR1cm4gdmFsdWUg dHlwZSBpbnQgZG9lcyBub3QgbWF0Y2ggZGVjbGFyZWQgdHlwZSBDT1JFX0FE RFI6IHN0YWNrX2Rlc3QKKyBSZXR1cm4gdmFsdWUgdHlwZSBMT05HRVNUIGRv ZXMgbm90IG1hdGNoIGRlY2xhcmVkIHR5cGUgQ09SRV9BRERSOiBzdGFja19k ZXN0CiBMT0Mgb2JqYy1sYW5nLmM6MzcxIChvYmpjLWxhbmcuYzozNzkpCisg T3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwg VUxPTkdFU1QpOiBpIDwgbGVuZ3RoCitMT0Mgb2JqYy1sYW5nLmM6Mzc5CiAg VGVzdCBleHByZXNzaW9uIGZvciBpZiBub3QgYm9vbGVhbiwgdHlwZSBpbnQ6 IHF1aXRfZmxhZwogTE9DIG9iamMtbGFuZy5jOjM4OSAob2JqYy1sYW5nLmM6 Mzk3KQorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMg KFVJTlQsIFVMT05HRVNUKTogcmVwMSA8IGxlbmd0aAorTE9DIG9iamMtbGFu Zy5jOjM5NwogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4s IHR5cGUgaW50OiBpbl9xdW90ZXMKIExPQyBvYmpjLWxhbmcuYzo0MzUKKyBP cGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBV TE9OR0VTVCk6IGkgPCBsZW5ndGgKK0xPQyBvYmpjLWxhbmcuYzo0MzUKICBM ZWZ0IG9wZXJhbmQgb2YgfHwgaXMgbm9uLWJvb2xlYW4gKGludCk6IGZvcmNl X2VsbGlwc2VzIHx8IGkgPCBsZW5ndGgKIExPQyBvcGVuY2wtbGFuZy5jOjE5 MSAob3BlbmNsLWxhbmcuYzoxOTApCi0gQXNzaWdubWVudCBvZiBMT05HRVNU IHRvIGludDogbiA9IG9mZnNldCArIGhpZ2hiIC0gbG93YiArIDEKLUxPQyBv cGVuY2wtbGFuZy5jOjE5MQogIE5ldyBmcmVzaCBzdG9yYWdlICh0eXBlIGNo YXIgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVtcCAobm90IHJlbGVhc2Vk KTogZ2V0dGV4dCgiQXNzZXJ0aW9uIGAlcycgZmFpbGVkLiIpCiBMT0Mgb3Bl bmNsLWxhbmcuYzoxOTYKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcg MyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGVsc2l6ZQorIEZ1bmN0aW9uIG1l bWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6 IGVsc2l6ZQogTE9DIG9wZW5jbC1sYW5nLmM6MjM2IChvcGVuY2wtbGFuZy5j OjIxOSkKLSBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8gaW50OiBuID0gb2Zm c2V0ICsgaGlnaGIgLSBsb3diICsgMQotTE9DIG9wZW5jbC1sYW5nLmM6MjM2 Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90 IGdldHMgaW50OiBlbHNpemUKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBlbHNpemUKK0xPQyBv cGVuY2wtbGFuZy5jOjI1MworIFZhcmlhYmxlIHN0YXJ0cmVzdCBpbml0aWFs aXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiBvZmZzZXQgJSBl bHNpemUKK0xPQyBvcGVuY2wtbGFuZy5jOjI1NQorIFZhcmlhYmxlIGVuZHJl c3QgaW5pdGlhbGl6ZWQgdG8gdHlwZSBMT05HRVNULCBleHBlY3RzIGludDog KG9mZnNldCArIGxlbmd0aCkgJSBlbHNpemUKIExPQyBvcGVuY2wtbGFuZy5j OjI2OCAob3BlbmNsLWxhbmcuYzoyNjkpCisgQ29uZGl0aW9uYWwgY2xhdXNl cyBhcmUgbm90IG9mIHNhbWUgdHlwZTogZW5kcmVzdCAoaW50KSwgZWxzaXpl IChMT05HRVNUKQorTE9DIG9wZW5jbC1sYW5nLmM6MjcwCiAgT3BlcmFuZCBv ZiAhIGlzIG5vbi1ib29sZWFuIChpbnQpOiAhdmFsdWVfYml0c192YWxpZChj LT52YWwsIGMtPmluZGljZXNbaV0gKiBlbHNpemUgKyBjb21wX29mZnNldCwg Y29tcF9sZW5ndGgpCitMT0Mgb3BlbmNsLWxhbmcuYzozMDcKKyBWYXJpYWJs ZSBzdGFydHJlc3QgaW5pdGlhbGl6ZWQgdG8gdHlwZSBMT05HRVNULCBleHBl Y3RzIGludDogb2Zmc2V0ICUgZWxzaXplCitMT0Mgb3BlbmNsLWxhbmcuYzoz MDkKKyBWYXJpYWJsZSBlbmRyZXN0IGluaXRpYWxpemVkIHRvIHR5cGUgTE9O R0VTVCwgZXhwZWN0cyBpbnQ6IChvZmZzZXQgKyBsZW5ndGgpICUgZWxzaXpl CiBMT0Mgb3BlbmNsLWxhbmcuYzozMjIgKG9wZW5jbC1sYW5nLmM6MzIzKQor IENvbmRpdGlvbmFsIGNsYXVzZXMgYXJlIG5vdCBvZiBzYW1lIHR5cGU6IGVu ZHJlc3QgKGludCksIGVsc2l6ZSAoTE9OR0VTVCkKK0xPQyBvcGVuY2wtbGFu Zy5jOjMyNAogIE9wZXJhbmQgb2YgISBpcyBub24tYm9vbGVhbiAoaW50KTog IXZhbHVlX2JpdHNfc3ludGhldGljX3BvaW50ZXIoYy0+dmFsLCBjLT5pbmRp Y2VzW2ldICogZWxzaXplICsgY29tcF9vZmZzZXQsIGNvbXBfbGVuZ3RoKQog TE9DIG9wZW5jbC1sYW5nLmM6NDI4IChvcGVuY2wtbGFuZy5jOjQyNykKLSBG dW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBVSU5UOiAoZWxtX3R5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGVs bV90eXBlKS0+bGVuZ3RoCiBMT0Mgb3BlbmNsLWxhbmcuYzo1ODEgKG9wZW5j bC1sYW5nLmM6NTgwKQotIEZ1bmN0aW9uIG1lbXNldCBleHBlY3RzIGFyZyAz IHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6IChlbHR5cGUpLT5sZW5ndGgKKyBG dW5jdGlvbiBtZW1zZXQgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBVTE9OR0VTVDogKGVsdHlwZSktPmxlbmd0aAogTE9DIG9wZW5jbC1sYW5n LmM6NjgxIChvcGVuY2wtbGFuZy5jOjY4MCkKLSBGdW5jdGlvbiBtZW1zZXQg ZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAoZWx0eXBl MSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbXNldCBleHBlY3RzIGFyZyAzIHRv IGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAoZWx0eXBlMSktPmxlbmd0aAog TE9DIG9wZW5jbC1sYW5nLmM6OTAxIChvcGVuY2wtbGFuZy5jOjkwMCkKLSBG dW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0 cyBVSU5UOiAoZWx0eXBlMiktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNweSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAoZWx0 eXBlMiktPmxlbmd0aAogTE9DIHAtbGFuZy5jOjIzMwotIEFzc2lnbm1lbnQg b2YgVUlOVCB0byBpbnQ6IHdpZHRoID0gKHR5cGUpLT5sZW5ndGgKKyBBc3Np Z25tZW50IG9mIFVMT05HRVNUIHRvIGludDogd2lkdGggPSAodHlwZSktPmxl bmd0aAogTE9DIHAtbGFuZy5jOjI0OSAocC1sYW5nLmM6MjU4KQorIE9wZXJh bmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIFVMT05H RVNUKTogaSA8IGxlbmd0aAorTE9DIHAtbGFuZy5jOjI1OAogIFRlc3QgZXhw cmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBxdWl0X2Zs YWcKIExPQyBwLWxhbmcuYzoyNzEgKHAtbGFuZy5jOjI4MSkKKyBPcGVyYW5k cyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBVTE9OR0VT VCk6IHJlcDEgPCBsZW5ndGgKK0xPQyBwLWxhbmcuYzoyODEKICBUZXN0IGV4 cHJlc3Npb24gZm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGludDogaW5fcXVv dGVzCiBMT0MgcC1sYW5nLmM6MzE5CisgT3BlcmFuZHMgb2YgPCBoYXZlIGlu Y29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgVUxPTkdFU1QpOiBpIDwgbGVuZ3Ro CitMT0MgcC1sYW5nLmM6MzE5CiAgTGVmdCBvcGVyYW5kIG9mIHx8IGlzIG5v bi1ib29sZWFuIChpbnQpOiBmb3JjZV9lbGxpcHNlcyB8fCBpIDwgbGVuZ3Ro CiBwcGMtbGludXgtbmF0LmM6IChpbiBmdW5jdGlvbiBwcGNfbGludXhfY2Fu X2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKQogTE9DIHBwYy1saW51eC1u YXQuYzoyMDMwIChwcGMtbGludXgtbmF0LmM6MjA1NykKKyBGdW5jdGlvbiBj YWxjdWxhdGVfZHZjIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9O R0VTVDogbGVuCitMT0MgcHBjLWxpbnV4LW5hdC5jOjIwNTcKICBBc3NpZ25t ZW50IG9mIGludCB0byB1aW50MzJfdDogcC0+dHJpZ2dlcl90eXBlID0gZ2V0 X3RyaWdnZXJfdHlwZShydykKIHBwYy1saW51eC1uYXQuYzogKGluIGZ1bmN0 aW9uIHBwY19saW51eF9pbnNlcnRfd2F0Y2hwb2ludCkKK0xPQyBwcGMtc3lz di10ZGVwLmM6MTYyCisgRnVuY3Rpb24gYWxpZ25fdXAgZXhwZWN0cyBhcmcg MiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBwcGMtc3lzdi10 ZGVwLmM6MTY0Ci0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJn IDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gd3Jp dGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExP TkdFU1Q6IGxlbgogTE9DIHBwYy1zeXN2LXRkZXAuYzoxOTMKLSBGdW5jdGlv biB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdl dHMgaW50OiBsZW4KKyBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBh cmcgMyB0byBiZSBzc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgcHBj LXN5c3YtdGRlcC5jOjIxNQotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBl Y3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0 aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3Qg Z2V0cyBMT05HRVNUOiBsZW4KIExPQyBwcGMtc3lzdi10ZGVwLmM6MjUwCi0g RnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3Np emVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgor TE9DIHBwYy1zeXN2LXRkZXAuYzozMDQKKyBGdW5jdGlvbiBhbGlnbl91cCBl eHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgogTE9D IHBwYy1zeXN2LXRkZXAuYzozMDgKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgaW50OiBsZW4KKyBG dW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6 ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgcHBjLXN5c3YtdGRlcC5jOjM4 MAotIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50OiBhcmdvZmZzZXQg PSBhbGlnbl91cChhcmdvZmZzZXQsIGxlbikKKyBGdW5jdGlvbiBhbGlnbl91 cCBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgor TE9DIHBwYy1zeXN2LXRkZXAuYzozODAKKyBBc3NpZ25tZW50IG9mIFVMT05H RVNUIHRvIExPTkdFU1Q6IGFyZ29mZnNldCA9IGFsaWduX3VwKGFyZ29mZnNl dCwgbGVuKQogTE9DIHBwYy1zeXN2LXRkZXAuYzozODIKLSBGdW5jdGlvbiB3 cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMg aW50OiBsZW4KKyBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgcHBjLXN5 c3YtdGRlcC5jOjM5NQotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3Rz IGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVSU5UOiAoZWx0eXBlKS0+bGVu Z3RoCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIFVMT05HRVNUOiAoZWx0eXBlKS0+bGVuZ3RoCiBM T0MgcHBjLXN5c3YtdGRlcC5jOjQ0NyAocHBjLXN5c3YtdGRlcC5jOjQ1MykK KyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQs IExPTkdFU1QpOiBpIDwgbGVuIC8gMTYKK0xPQyBwcGMtc3lzdi10ZGVwLmM6 NDUzCiAgVGVzdCBleHByZXNzaW9uIGZvciBpZiBub3QgYm9vbGVhbiwgdHlw ZSBpbnQ6IHdyaXRlX3Bhc3MKIExPQyBwcGMtc3lzdi10ZGVwLmM6NTM3Ci0g RnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3Np emVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgog TE9DIHBwYy1zeXN2LXRkZXAuYzo1NTAKLSBGdW5jdGlvbiBtZW1jcHkgZXhw ZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0 aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExP TkdFU1Q6IGxlbgogTE9DIHBwYy1zeXN2LXRkZXAuYzo1NzQgKHBwYy1zeXN2 LXRkZXAuYzo1ODcpCisgQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDog YXJnc3BhY2UgPSBhcmdvZmZzZXQKK0xPQyBwcGMtc3lzdi10ZGVwLmM6NTg3 CiAgVGVzdCBleHByZXNzaW9uIGZvciBpZiBub3QgYm9vbGVhbiwgdHlwZSBp bnQ6IHdyaXRlX3Bhc3MKIExPQyBwcGMtc3lzdi10ZGVwLmM6ODE0Ci0gT3Bl cmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGlu dCk6ICh0eXBlKS0+bGVuZ3RoIDw9IHRkZXAtPndvcmRzaXplCisgT3BlcmFu ZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05HRVNULCBp bnQpOiAodHlwZSktPmxlbmd0aCA8PSB0ZGVwLT53b3Jkc2l6ZQorTE9DIHBw Yy1zeXN2LXRkZXAuYzo4NTIKKyBWYXJpYWJsZSByZWdudW0gaW5pdGlhbGl6 ZWQgdG8gdHlwZSBMT05HRVNULCBleHBlY3RzIGludDogdGRlcC0+cHBjX2Zw MF9yZWdudW0gKyAxICsgaQogTE9DIHBwYy1zeXN2LXRkZXAuYzo4NzEgKHBw Yy1zeXN2LXRkZXAuYzo4NzYpCisgVmFyaWFibGUgcmVnbnVtIGluaXRpYWxp emVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IHRkZXAtPnBwY19n cDBfcmVnbnVtICsgMyArIGkKK0xPQyBwcGMtc3lzdi10ZGVwLmM6ODc2CiAg QXNzaWdubWVudCBvZiBMT05HRVNUIHRvIFVMT05HRVNUOiByZWd2YWwgPSB1 bnBhY2tfbG9uZyhlbHR5cGUsIHdyaXRlYnVmICsgb2Zmc2V0KQogTE9DIHBw Yy1zeXN2LXRkZXAuYzo4OTcKLSBWYXJpYWJsZSBuX3JlZ3MgaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgg LyAxNgorIFZhcmlhYmxlIG5fcmVncyBpbml0aWFsaXplZCB0byB0eXBlIFVM T05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGggLyAxNgogTE9D IHBwYy1zeXN2LXRkZXAuYzo5ODQKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgK KyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwg ZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgcHBjLXN5c3YtdGRl cC5jOjEwMTkKLSBPcGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVSU5ULCBpbnQpOiAodHlwZSktPmxlbmd0aCA+IHRkZXAtPndvcmRz aXplCisgT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAo VUxPTkdFU1QsIGludCk6ICh0eXBlKS0+bGVuZ3RoID4gdGRlcC0+d29yZHNp emUKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTAyMgotIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6ICh0eXBl KS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mg cHBjLXN5c3YtdGRlcC5jOjEwMzEKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0 aAorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVf dCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIHBwYy1zeXN2 LXRkZXAuYzoxMDM0Ci0gT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJs ZSB0eXBlcyAoVUlOVCwgaW50KTogKHR5cGUpLT5sZW5ndGggPiB0ZGVwLT53 b3Jkc2l6ZQorIE9wZXJhbmRzIG9mID4gaGF2ZSBpbmNvbXBhdGlibGUgdHlw ZXMgKFVMT05HRVNULCBpbnQpOiAodHlwZSktPmxlbmd0aCA+IHRkZXAtPndv cmRzaXplCiBMT0MgcHBjLXN5c3YtdGRlcC5jOjEzMDQKLSBGdW5jdGlvbiB3 cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMg VUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiB3cml0ZV9tZW1vcnkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0 eXBlKS0+bGVuZ3RoCiBMT0MgcHBjLXN5c3YtdGRlcC5jOjEzNjAKLSBGdW5j dGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90 IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiB3cml0ZV9t ZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdF U1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0MgcHBjLXN5c3YtdGRlcC5jOjEzNzUK LSBWYXJpYWJsZSBuZWx0IGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhw ZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoIC8gKGVsdHlwZSktPmxlbmd0aAor IFZhcmlhYmxlIG5lbHQgaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwg ZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoIC8gKGVsdHlwZSktPmxlbmd0 aAogTE9DIHBwYy1zeXN2LXRkZXAuYzoxNDQ4Ci0gT3BlcmFuZHMgb2YgPCBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50LCBVSU5UKTogaSA8ICh0eXBl KS0+bGVuZ3RoIC8gMTYKKyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRp YmxlIHR5cGVzIChpbnQsIFVMT05HRVNUKTogaSA8ICh0eXBlKS0+bGVuZ3Ro IC8gMTYKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTQ4NwotIEZ1bmN0aW9uIHdy aXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBV SU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5 cGUpLT5sZW5ndGgKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTUwMgotIEZ1bmN0 aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3Qg Z2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVTE9OR0VT VDogKHR5cGUpLT5sZW5ndGgKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTU2MQot IE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwg VUlOVCk6IGJ5dGUgPCAodHlwZSktPmxlbmd0aAorIE9wZXJhbmRzIG9mIDwg aGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwgVUxPTkdFU1QpOiBieXRl IDwgKHR5cGUpLT5sZW5ndGgKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTU2Nwot IFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVj dHMgaW50OiAodHlwZSktPmxlbmd0aCAtIGJ5dGUKKyBWYXJpYWJsZSBsZW4g aW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0 eXBlKS0+bGVuZ3RoIC0gYnl0ZQogTE9DIHBwYy1zeXN2LXRkZXAuYzoxNTk3 Ci0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c3NpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5 IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxl bgogTE9DIHBwYy1zeXN2LXRkZXAuYzoxNTk5Ci0gRnVuY3Rpb24gd3JpdGVf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGludDog bGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGxlbgogTE9DIHBwYy1zeXN2LXRk ZXAuYzoxNzkyCi0gVmFyaWFibGUgbmVsdCBpbml0aWFsaXplZCB0byB0eXBl IFVJTlQsIGV4cGVjdHMgaW50OiAodmFsdHlwZSktPmxlbmd0aCAvIChlbHR5 cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBuZWx0IGluaXRpYWxpemVkIHRvIHR5 cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodmFsdHlwZSktPmxlbmd0aCAv IChlbHR5cGUpLT5sZW5ndGgKK0xPQyBwcGMtc3lzdi10ZGVwLmM6MTc5Ngor IFZhcmlhYmxlIG9mZnNldCBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNU LCBleHBlY3RzIGludDogaSAqIChlbHR5cGUpLT5sZW5ndGgKK0xPQyBwcGMt c3lzdi10ZGVwLmM6MTg1MQorIFZhcmlhYmxlIHJlZ251bSBpbml0aWFsaXpl ZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiB0ZGVwLT5wcGNfdnIw X3JlZ251bSArIDIgKyBpCiBMT0MgcHBjLXN5c3YtdGRlcC5jOjE4NjkgKHBw Yy1zeXN2LXRkZXAuYzoxODczKQotIEZ1bmN0aW9uIHJlZ2NhY2hlX2Nvb2tl ZF93cml0ZV9wYXJ0IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50IGdldHMgVUlO VDogKHZhbHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBvZmZzZXQgaW5pdGlh bGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IChyZWdpc3Rl cl9zaXplKGdkYmFyY2gsIHRkZXAtPnBwY19ncDBfcmVnbnVtICsgMykgLSAo dmFsdHlwZSktPmxlbmd0aCkKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTg3MyAo cHBjLXN5c3YtdGRlcC5jOjE4NzYpCi0gRnVuY3Rpb24gcmVnY2FjaGVfY29v a2VkX3JlYWRfcGFydCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVJ TlQ6ICh2YWx0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gcmVnY2FjaGVfY29v a2VkX3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBV TE9OR0VTVDogKHZhbHR5cGUpLT5sZW5ndGgKK0xPQyBwcGMtc3lzdi10ZGVw LmM6MTg3NgorIEZ1bmN0aW9uIHJlZ2NhY2hlX2Nvb2tlZF9yZWFkX3BhcnQg ZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVTE9OR0VTVDogKHZhbHR5 cGUpLT5sZW5ndGgKIExPQyBwcGMtc3lzdi10ZGVwLmM6MTkwMAotIE9wZXJh bmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwgVUlOVCk6 IGkgPCAodmFsdHlwZSktPmxlbmd0aCAvIDgKKyBPcGVyYW5kcyBvZiA8IGhh dmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVMT05HRVNUKTogaSA8ICh2 YWx0eXBlKS0+bGVuZ3RoIC8gOAogTE9DIHByaW50Y21kLmM6Mzg0Ci0gT3Bl cmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgc2l6 ZV90KTogbGVuID4gc2l6ZW9mKExPTkdFU1QpCisgT3BlcmFuZHMgb2YgPiBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUxPTkdFU1QsIHNpemVfdCk6IGxl biA+IHNpemVvZihMT05HRVNUKQorTE9DIHByaW50Y21kLmM6MzkxCisgRnVu Y3Rpb24gcHJpbnRfb2N0YWxfY2hhcnMgZXhwZWN0cyBhcmcgMyB0byBiZSBV SU5UIGdldHMgVUxPTkdFU1Q6IGxlbgogTE9DIHByaW50Y21kLmM6Mzk1IChw cmludGNtZC5jOjM5NikKKyBGdW5jdGlvbiBwcmludF9kZWNpbWFsX2NoYXJz IGV4cGVjdHMgYXJnIDMgdG8gYmUgVUlOVCBnZXRzIFVMT05HRVNUOiBsZW4K K0xPQyBwcmludGNtZC5jOjM5NgogIEZyZXNoIHN0b3JhZ2UgZ2RiYXJjaCBu b3QgcmVsZWFzZWQgYmVmb3JlIHJldHVybgogTE9DIHByaW50Y21kLmM6Mzk4 IChwcmludGNtZC5jOjM5OSkKKyBGdW5jdGlvbiBwcmludF9iaW5hcnlfY2hh cnMgZXhwZWN0cyBhcmcgMyB0byBiZSBVSU5UIGdldHMgVUxPTkdFU1Q6IGxl bgorTE9DIHByaW50Y21kLmM6Mzk5CiAgRnJlc2ggc3RvcmFnZSBnZGJhcmNo IG5vdCByZWxlYXNlZCBiZWZvcmUgcmV0dXJuCiBMT0MgcHJpbnRjbWQuYzo0 MDQgKHByaW50Y21kLmM6NDA1KQorIEZ1bmN0aW9uIHByaW50X2NoYXJfY2hh cnMgZXhwZWN0cyBhcmcgNCB0byBiZSBVSU5UIGdldHMgVUxPTkdFU1Q6IGxl bgorTE9DIHByaW50Y21kLmM6NDA1CiAgRnJlc2ggc3RvcmFnZSBnZGJhcmNo IG5vdCByZWxlYXNlZCBiZWZvcmUgcmV0dXJuCiBMT0MgcHJpbnRjbWQuYzo0 MjUKLSBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChV SU5ULCBzaXplX3QpOiBsZW4gPCBzaXplb2YoTE9OR0VTVCkKKyBPcGVyYW5k cyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwgc2l6 ZV90KTogbGVuIDwgc2l6ZW9mKExPTkdFU1QpCiBMT0MgcHJpbnRjbWQuYzoy Mzk1Ci0gVmFyaWFibGUgd2N3aWR0aCBpbml0aWFsaXplZCB0byB0eXBlIFVJ TlQsIGV4cGVjdHMgaW50OiAod2N0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUg d2N3aWR0aCBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3Rz IGludDogKHdjdHlwZSktPmxlbmd0aAogTE9DIHByaW50Y21kLmM6MjQ1NCAo cHJpbnRjbWQuYzoyNDU1KQotIEZ1bmN0aW9uIGNvbnZlcnRfYmV0d2Vlbl9l bmNvZGluZ3MgZXhwZWN0cyBhcmcgNSB0byBiZSBpbnQgZ2V0cyBVSU5UOiAo dmFsdHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIGNvbnZlcnRfYmV0d2Vlbl9l bmNvZGluZ3MgZXhwZWN0cyBhcmcgNCB0byBiZSBVSU5UIGdldHMgVUxPTkdF U1Q6ICh2YWx0eXBlKS0+bGVuZ3RoCitMT0MgcHJpbnRjbWQuYzoyNDU1Cisg RnVuY3Rpb24gY29udmVydF9iZXR3ZWVuX2VuY29kaW5ncyBleHBlY3RzIGFy ZyA1IHRvIGJlIGludCBnZXRzIFVMT05HRVNUOiAodmFsdHlwZSktPmxlbmd0 aAogTE9DIHByaW50Y21kLmM6MjU0NyAocHJpbnRjbWQuYzoyNjA5KQorIFZh cmlhYmxlIHBhcmFtX2xlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNU LCBleHBlY3RzIFVJTlQ6IChwYXJhbV90eXBlKS0+bGVuZ3RoCitMT0MgcHJp bnRjbWQuYzoyNjA5CiAgRnVuY3Rpb24gZGVjaW1hbF9jb252ZXJ0IGV4cGVj dHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUlOVDogcGFyYW1fbGVuCiBMT0Mg cC10eXBlcHJpbnQuYzo4MjEgKHAtdHlwZXByaW50LmM6NzUzKQotIE9wZXJh bmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdF U1QpOiBsYXN0dmFsICE9ICgoKCh0eXBlKS0+bWFpbl90eXBlLT5mbGRzX2Ju ZHMuZmllbGRzW2ldKS5sb2MuZW51bXZhbCkgKyAwKQotTE9DIHAtdHlwZXBy aW50LmM6NzU4Ci0gQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogbGFz dHZhbCA9ICgoKCh0eXBlKS0+bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRz W2ldKS5sb2MuZW51bXZhbCkgKyAwKQotTE9DIHAtdHlwZXByaW50LmM6ODIx CiAgRnJlc2ggc3RvcmFnZSB0eXBlIG5vdCByZWxlYXNlZCBiZWZvcmUgcmV0 dXJuCiBMT0MgcC12YWxwcmludC5jOjIxMiAocC12YWxwcmludC5jOjIxMSkK LSBGdW5jdGlvbiB4bWFsbG9jIGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90 IGdldHMgaW50OiBsZW5ndGhfc2l6ZQorIEZ1bmN0aW9uIHhtYWxsb2MgZXhw ZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW5ndGhf c2l6ZQogTE9DIHAtdmFscHJpbnQuYzoyMTMgKHAtdmFscHJpbnQuYzoyMTIp Ci0gRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBz c2l6ZV90IGdldHMgaW50OiBsZW5ndGhfc2l6ZQorIEZ1bmN0aW9uIHJlYWRf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdF U1Q6IGxlbmd0aF9zaXplCitMT0MgcC12YWxwcmludC5jOjIxNAorIEZ1bmN0 aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRv IGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbmd0aF9zaXplCiBMT0MgcC12YWxw cmludC5jOjMyNCAocC12YWxwcmludC5jOjMyMikKKyBGdW5jdGlvbiBleHRy YWN0X3Vuc2lnbmVkX2ludGVnZXIgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQg Z2V0cyBMT05HRVNUOiBsZW5ndGhfc2l6ZQorTE9DIHAtdmFscHJpbnQuYzoz MjMKICBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIFVJTlQ6IGxlbiA9IGV4 dHJhY3RfdW5zaWduZWRfaW50ZWdlcih2YWxhZGRyICsgZW1iZWRkZWRfb2Zm c2V0ICsgbGVuZ3RoX3BvcywgbGVuZ3RoX3NpemUsIGJ5dGVfb3JkZXIpCiBM T0MgcC12YWxwcmludC5jOjgwMiAocC12YWxwcmludC5jOjgwMSkKLSBGdW5j dGlvbiBDX2FsbG9jYSBleHBlY3RzIGFyZyAxIHRvIGJlIHNpemVfdCBnZXRz IFVJTlQ6IChiYXNlY2xhc3MpLT5sZW5ndGgKKyBGdW5jdGlvbiBDX2FsbG9j YSBleHBlY3RzIGFyZyAxIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAo YmFzZWNsYXNzKS0+bGVuZ3RoCiBMT0MgcC12YWxwcmludC5jOjgwNiAocC12 YWxwcmludC5jOjgwNSkKLSBGdW5jdGlvbiB0YXJnZXRfcmVhZF9tZW1vcnkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDogKGJhc2Vj bGFzcyktPmxlbmd0aAorIEZ1bmN0aW9uIHRhcmdldF9yZWFkX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGJh c2VjbGFzcyktPmxlbmd0aAogTE9DIHB5dGhvbi9weS1wcmV0dHlwcmludC5j OjM1NQotIEZ1bmN0aW9uICBleHBlY3RzIGFyZyA0IHRvIGJlIFVJTlQgZ2V0 cyBMT05HRVNUOiBsZW5ndGgKKyBGdW5jdGlvbiAgZXhwZWN0cyBhcmcgNCB0 byBiZSBVTE9OR0VTVCBnZXRzIExPTkdFU1Q6IGxlbmd0aAogcmVnY2FjaGUu YzogKGluIGZ1bmN0aW9uIHJlZ2NhY2hlX2Nvb2tlZF9yZWFkX3NpZ25lZCkK IExPQyByZWdjYWNoZS5jOjkxNQotIE9wZXJhbmRzIG9mIDw9IGhhdmUgaW5j b21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1QpOiBvZmZzZXQgPD0gZGVz Y3ItPnNpemVvZl9yZWdpc3RlcltyZWdudW1dCi1MT0MgcmVnY2FjaGUuYzo5 MTUKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBjaGFyICopIHBhc3NlZCBh cyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNlZCk6IGdldHRleHQoIkFz c2VydGlvbiBgJXMnIGZhaWxlZC4iKQogTE9DIHJlZ2NhY2hlLmM6OTE2Ci0g T3BlcmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwg TE9OR0VTVCk6IG9mZnNldCArIGxlbiA8PSBkZXNjci0+c2l6ZW9mX3JlZ2lz dGVyW3JlZ251bV0KLUxPQyByZWdjYWNoZS5jOjkxNgogIE5ldyBmcmVzaCBz dG9yYWdlICh0eXBlIGNoYXIgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVt cCAobm90IHJlbGVhc2VkKTogZ2V0dGV4dCgiQXNzZXJ0aW9uIGAlcycgZmFp bGVkLiIpCiBMT0MgcmVnY2FjaGUuYzo5MjcgKHJlZ2NhY2hlLmM6OTIzKQot IE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKGludCwg TE9OR0VTVCk6IG9mZnNldCArIGxlbiA8IGRlc2NyLT5zaXplb2ZfcmVnaXN0 ZXJbcmVnbnVtXQotTE9DIHJlZ2NhY2hlLmM6OTI3CiAgTmV3IGZyZXNoIHN0 b3JhZ2UgKHR5cGUgY2hhciAqKSBwYXNzZWQgYXMgaW1wbGljaXRseSB0ZW1w IChub3QgcmVsZWFzZWQpOiBnZXR0ZXh0KCJBc3NlcnRpb24gYCVzJyBmYWls ZWQuIikKIExPQyByZW1vdGUuYzo3OTcxCisgRnVuY3Rpb24gcGhleF9ueiBl eHBlY3RzIGFyZyAxIHRvIGJlIFVMT05HRVNUIGdldHMgTE9OR0VTVDogbGVu CitMT0MgcmVtb3RlLmM6Nzk3MQogIEZ1bmN0aW9uIHhzbnByaW50ZiBleHBl Y3RzIGFyZyAyIHRvIGJlIHNpemVfdCBnZXRzIGludDogZW5kYnVmIC0gcAog TE9DIHJlbW90ZS5jOjgwMTUKKyBGdW5jdGlvbiBwaGV4X256IGV4cGVjdHMg YXJnIDEgdG8gYmUgVUxPTkdFU1QgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyBy ZW1vdGUuYzo4MDE1CiAgRnVuY3Rpb24geHNucHJpbnRmIGV4cGVjdHMgYXJn IDIgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBlbmRidWYgLSBwCiBMT0MgcmVt b3RlLW0zMnItc2RpLmM6MTQzMwotIEFzc2lnbm1lbnQgb2YgaW50IHRvIFVJ TlQ6IGFiX3NpemVbaV0gPSBsZW4KKyBBc3NpZ25tZW50IG9mIExPTkdFU1Qg dG8gVUlOVDogYWJfc2l6ZVtpXSA9IGxlbgogTE9DIHJlbW90ZS1taXBzLmM6 MjQzNCAocmVtb3RlLW1pcHMuYzoyNDMzKQogIFBhcmFtZXRlciBjb25kIG5v dCB1c2VkCityZW1vdGUtbWlwcy5jOiAoaW4gZnVuY3Rpb24gbWlwc19zZXRf YnJlYWtwb2ludCkKK0xPQyByZW1vdGUtbWlwcy5jOjI0NTcKKyBGdW5jdGlv biBtaXBzX2NvbW1vbl9icmVha3BvaW50IGV4cGVjdHMgYXJnIDMgdG8gYmUg aW50IGdldHMgTE9OR0VTVDogbGVuCityZW1vdGUtbWlwcy5jOiAoaW4gZnVu Y3Rpb24gbWlwc19jbGVhcl9icmVha3BvaW50KQorTE9DIHJlbW90ZS1taXBz LmM6MjQ2NgorIEZ1bmN0aW9uIG1pcHNfY29tbW9uX2JyZWFrcG9pbnQgZXhw ZWN0cyBhcmcgMyB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KIHJlbW90 ZS1taXBzLmM6IChpbiBmdW5jdGlvbiBtaXBzX2NoZWNrX2xzaV9lcnJvcikK IHJsNzgtdGRlcC5jOiAoaW4gZnVuY3Rpb24gcmw3OF9wb2ludGVyX3RvX2Fk ZHJlc3MpCiBMT0Mgcmw3OC10ZGVwLmM6MTAyNwotIEZ1bmN0aW9uIHdyaXRl X21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBpbnQ6 IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRv IGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyByczYwMDAtYWl4 LXRkZXAuYzoyNzcgKHJzNjAwMC1haXgtdGRlcC5jOjI4MCkKKyBPcGVyYW5k cyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1Qp OiBhcmdieXRlcyA8IGxlbgorTE9DIHJzNjAwMC1haXgtdGRlcC5jOjI4MAog IEZ1bmN0aW9uIG1lbXNldCBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBn ZXRzIGludDogcmVnX3NpemUKIExPQyByczYwMDAtYWl4LXRkZXAuYzoyODQg KHJzNjAwMC1haXgtdGRlcC5jOjI4MykKLSBGdW5jdGlvbiBtZW1jcHkgZXhw ZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IChsZW4gLSBhcmdi eXRlcykgPiByZWdfc2l6ZSA/IHJlZ19zaXplIDogbGVuIC0gYXJnYnl0ZXMK KyBDb25kaXRpb25hbCBjbGF1c2VzIGFyZSBub3Qgb2Ygc2FtZSB0eXBlOiBy ZWdfc2l6ZSAoaW50KSwgbGVuIC0gYXJnYnl0ZXMgKExPTkdFU1QpCitMT0Mg cnM2MDAwLWFpeC10ZGVwLmM6Mjk5CisgVmFyaWFibGUgYWRqIGluaXRpYWxp emVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IGdkYmFyY2hfYnl0 ZV9vcmRlcihnZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRyA/IHJlZ19zaXpl IC0gbGVuIDogMAogTE9DIHJzNjAwMC1haXgtdGRlcC5jOjMwNAotIEZ1bmN0 aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGlu dDogbGVuCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCiBMT0MgcnM2MDAwLWFpeC10ZGVw LmM6MzY2Ci0gRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMg dG8gYmUgc3NpemVfdCBnZXRzIGludDogbGVuIC0gYXJnYnl0ZXMKKyBGdW5j dGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90 IGdldHMgTE9OR0VTVDogbGVuIC0gYXJnYnl0ZXMKIExPQyByczYwMDAtYWl4 LXRkZXAuYzozOTMKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBh cmcgMyB0byBiZSBzc2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5jdGlvbiB3 cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMg TE9OR0VTVDogbGVuCiBMT0MgcnM2MDAwLWFpeC10ZGVwLmM6NDk0Ci0gT3Bl cmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGlu dCk6ICh2YWx0eXBlKS0+bGVuZ3RoIDw9IHRkZXAtPndvcmRzaXplCisgT3Bl cmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05HRVNU LCBpbnQpOiAodmFsdHlwZSktPmxlbmd0aCA8PSB0ZGVwLT53b3Jkc2l6ZQog czM5MC10ZGVwLmM6IChpbiBmdW5jdGlvbiBzMzkwX3BzZXVkb19yZWdpc3Rl cl9yZWdncm91cF9wKQogTE9DIHMzOTAtdGRlcC5jOjI0OTUgKHMzOTAtdGRl cC5jOjI0OTYpCisgRnVuY3Rpb24gaXNfcG93ZXJfb2ZfdHdvIGV4cGVjdHMg YXJnIDEgdG8gYmUgVUlOVCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxlbmd0 aAorTE9DIHMzOTAtdGRlcC5jOjI0OTUKICBPcGVyYW5kIG9mICEgaXMgbm9u LWJvb2xlYW4gKGludCk6ICFpc19wb3dlcl9vZl90d28oKHR5cGUpLT5sZW5n dGgpCiBMT0MgczM5MC10ZGVwLmM6MjUxNiAoczM5MC10ZGVwLmM6MjUyMikK KyBWYXJpYWJsZSBsZW5ndGggaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VT VCwgZXhwZWN0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorTE9DIHMzOTAtdGRl cC5jOjI1MjAKICBPcGVyYW5kcyBvZiB8fCBhcmUgbm9uLWJvb2xlYW4gKGlu dCk6IGlzX2ludGVnZXJfbGlrZSh0eXBlKSB8fCBpc19wb2ludGVyX2xpa2Uo dHlwZSkKIExPQyBzMzkwLXRkZXAuYzoyNTU1IChzMzkwLXRkZXAuYzoyNTU3 KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IGFsaWdubWVudCA9ICh0 eXBlKS0+bGVuZ3RoCisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBpbnQ6 IGFsaWdubWVudCA9ICh0eXBlKS0+bGVuZ3RoCiBMT0MgczM5MC10ZGVwLmM6 MjY3NSAoczM5MC10ZGVwLmM6MjY3OCkKLSBGdW5jdGlvbiB3cml0ZV9tZW1v cnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDogbGVu Z3RoCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIFVMT05HRVNUOiBsZW5ndGgKIExPQyBzMzkwLXRk ZXAuYzoyNjk5IChzMzkwLXRkZXAuYzoyNzAyKQotIEZ1bmN0aW9uIHJlZ2Nh Y2hlX2Nvb2tlZF93cml0ZV9wYXJ0IGV4cGVjdHMgYXJnIDQgdG8gYmUgaW50 IGdldHMgVUlOVDogbGVuZ3RoCisgRnVuY3Rpb24gcmVnY2FjaGVfY29va2Vk X3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVTE9O R0VTVDogbGVuZ3RoCiBMT0MgczM5MC10ZGVwLmM6MjcwNyAoczM5MC10ZGVw LmM6MjcxMCkKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDogbGVuZ3RoCisgRnVuY3Rpb24g d3JpdGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRz IFVMT05HRVNUOiBsZW5ndGgKIExPQyBzMzkwLXRkZXAuYzoyNzEwIChzMzkw LXRkZXAuYzoyNzEzKQotIE9wZXJhbmRzIG9mIDw9IGhhdmUgaW5jb21wYXRp YmxlIHR5cGVzIChVSU5ULCBpbnQpOiBsZW5ndGggPD0gd29yZF9zaXplCisg T3BlcmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05H RVNULCBpbnQpOiBsZW5ndGggPD0gd29yZF9zaXplCiBMT0MgczM5MC10ZGVw LmM6MjcyOCAoczM5MC10ZGVwLmM6MjczMSkKLSBPcGVyYW5kcyBvZiA9PSBo YXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwgaW50KTogbGVuZ3RoID09 IDIgKiB3b3JkX3NpemUKKyBPcGVyYW5kcyBvZiA9PSBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGludCk6IGxlbmd0aCA9PSAyICogd29y ZF9zaXplCiBMT0MgczM5MC10ZGVwLmM6Mjc0NCAoczM5MC10ZGVwLmM6Mjc0 NykKLSBGdW5jdGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzc2l6ZV90IGdldHMgVUlOVDogbGVuZ3RoCisgRnVuY3Rpb24gd3JpdGVf bWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIFVMT05H RVNUOiBsZW5ndGgKIExPQyBzMzkwLXRkZXAuYzoyNzk3IChzMzkwLXRkZXAu YzoyODAyKQotIFZhcmlhYmxlIGxlbmd0aCBpbml0aWFsaXplZCB0byB0eXBl IFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAotTE9DIHMzOTAt dGRlcC5jOjI4MDAKICBQYXJhbWV0ZXIgZ2RiYXJjaCBub3QgdXNlZAogczM5 MC10ZGVwLmM6IChpbiBmdW5jdGlvbiBzMzkwX3JldHVybl92YWx1ZSkKK0xP QyBzMzkwLXRkZXAuYzoyODQwCisgRnVuY3Rpb24gcmVnY2FjaGVfY29va2Vk X3dyaXRlX3BhcnQgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBMT05H RVNUOiBsZW5ndGgKIExPQyBzMzkwLXRkZXAuYzoyODQ3IChzMzkwLXRkZXAu YzoyODYyKQorIEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBl eHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbmd0aAor TE9DIHMzOTAtdGRlcC5jOjI4NTAKKyBGdW5jdGlvbiBleHRyYWN0X3NpZ25l ZF9pbnRlZ2VyIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9OR0VT VDogbGVuZ3RoCitMT0MgczM5MC10ZGVwLmM6Mjg1OAogIE5ldyBmcmVzaCBz dG9yYWdlICh0eXBlIGNoYXIgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVt cCAobm90IHJlbGVhc2VkKTogZ2V0dGV4dCgiaW52YWxpZCByZXR1cm4gdHlw ZSIpCiBMT0MgczM5MC10ZGVwLmM6Mjg3NyAoczM5MC10ZGVwLmM6Mjg4MCkK KyBGdW5jdGlvbiByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IGV4cGVjdHMg YXJnIDQgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogbGVuZ3RoCitMT0MgczM5 MC10ZGVwLmM6Mjg3NgogIFJldHVybiB2YWx1ZSAodHlwZSBlbnVtIHJlZ2lz dGVyX3N0YXR1cykgaWdub3JlZDogcmVnY2FjaGVfY29va2VkXy4uLgogTE9D IHMzOTAtdGRlcC5jOjI4ODMgKHMzOTAtdGRlcC5jOjI4ODYpCisgRnVuY3Rp b24gcmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCBleHBlY3RzIGFyZyA0IHRv IGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbmd0aAorTE9DIHMzOTAtdGRlcC5j OjI4ODIKICBSZXR1cm4gdmFsdWUgKHR5cGUgZW51bSByZWdpc3Rlcl9zdGF0 dXMpIGlnbm9yZWQ6IHJlZ2NhY2hlX2Nvb2tlZF8uLi4KIExPQyBzY29yZS10 ZGVwLmM6NDY1Ci0gT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0 eXBlcyAoaW50LCBVSU5UKTogb2Zmc2V0IDwgKHR5cGUpLT5sZW5ndGgKKyBP cGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIFVM T05HRVNUKTogb2Zmc2V0IDwgKHR5cGUpLT5sZW5ndGgKIExPQyBzY29yZS10 ZGVwLmM6NDcwCi0gT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0 eXBlcyAoaW50LCBVSU5UKTogb2Zmc2V0ICsgeGZlciA+ICh0eXBlKS0+bGVu Z3RoCisgT3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAo aW50LCBVTE9OR0VTVCk6IG9mZnNldCArIHhmZXIgPiAodHlwZSktPmxlbmd0 aAogTE9DIHNjb3JlLXRkZXAuYzo0NzEKLSBBc3NpZ25tZW50IG9mIFVJTlQg dG8gaW50OiB4ZmVyID0gKHR5cGUpLT5sZW5ndGggLSBvZmZzZXQKKyBBc3Np Z25tZW50IG9mIFVMT05HRVNUIHRvIGludDogeGZlciA9ICh0eXBlKS0+bGVu Z3RoIC0gb2Zmc2V0CiBMT0Mgc2NvcmUtdGRlcC5jOjU5MiAoc2NvcmUtdGRl cC5jOjYwMikKKyBWYXJpYWJsZSBwYXJ0aWFsX2xlbiBpbml0aWFsaXplZCB0 byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiBhcmdsZW4gPCA0ID8gYXJn bGVuIDogNAorTE9DIHNjb3JlLXRkZXAuYzo2MDIKICBSaWdodCBvcGVyYW5k IG9mIDw8PSBtYXkgYmUgbmVnYXRpdmUgKGludCk6IHJlZ3ZhbCA8PD0gKCg0 IC0gcGFydGlhbF9sZW4pICogOCkKIExPQyBzaDY0LXRkZXAuYzoxMTE2Ci0g RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgaW50OiBsZW4KKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0 byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBzaDY0LXRkZXAu YzoxMTE4Ci0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyBz aDY0LXRkZXAuYzoxMjY5IChzaDY0LXRkZXAuYzoxMjczKQotIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDog bGVuCisgQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogb2Zmc2V0ID0g cmVnaXN0ZXJfc2l6ZShnZGJhcmNoLCBERUZBVUxUX1JFVFVSTl9SRUdOVU0p IC0gbGVuCitMT0Mgc2g2NC10ZGVwLmM6MTI3MworIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IGxl bgorTE9DIHNoNjQtdGRlcC5jOjEyOTgKKyBPcGVyYW5kcyBvZiA8IGhhdmUg aW5jb21wYXRpYmxlIHR5cGVzIChpbnQsIExPTkdFU1QpOiBpIDwgbGVuCiBM T0Mgc2g2NC10ZGVwLmM6MTMxOCAoc2g2NC10ZGVwLmM6MTMyMCkKLSBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBp bnQ6IGxlbgorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IG9mZnNl dCA9IHJlZ2lzdGVyX3NpemUoZ2RiYXJjaCwgcmV0dXJuX3JlZ2lzdGVyKSAt IGxlbgorTE9DIHNoNjQtdGRlcC5jOjEzMjAKKyBGdW5jdGlvbiBtZW1jcHkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBMT05HRVNUOiBsZW4K IExPQyBzaC10ZGVwLmM6ODA4Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVk IHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisg VmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4 cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHNoLXRkZXAuYzo4MjgK LSBPcGVyYW5kcyBvZiA9PSBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlO VCwgaW50KTogKCgoKHR5cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVs ZHNbMF0pLnR5cGUpKS0+bGVuZ3RoID09IGxlbgorIE9wZXJhbmRzIG9mID09 IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VTVCwgaW50KTogKCgo KHR5cGUpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5maWVsZHNbMF0pLnR5cGUp KS0+bGVuZ3RoID09IGxlbgogc2gtdGRlcC5jOiAoaW4gZnVuY3Rpb24gc2hf dXNlX3N0cnVjdF9jb252ZW50aW9uX25vZnB1KQogTE9DIHNoLXRkZXAuYzox MDM1Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwg ZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGlu aXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlw ZSktPmxlbmd0aAogTE9DIHNoLXRkZXAuYzoxMDk5Ci0gQXNzaWdubWVudCBv ZiBVSU5UIHRvIGludDogbGVuID0gKHR5cGUpLT5sZW5ndGgKKyBBc3NpZ25t ZW50IG9mIFVMT05HRVNUIHRvIGludDogbGVuID0gKHR5cGUpLT5sZW5ndGgK IExPQyBzaC10ZGVwLmM6MTE0OAotIE9wZXJhbmRzIG9mID09IGhhdmUgaW5j b21wYXRpYmxlIHR5cGVzIChVSU5ULCBpbnQpOiAodHlwZSktPmxlbmd0aCA9 PSAyICogcmVnX3NpemUKKyBPcGVyYW5kcyBvZiA9PSBoYXZlIGluY29tcGF0 aWJsZSB0eXBlcyAoVUxPTkdFU1QsIGludCk6ICh0eXBlKS0+bGVuZ3RoID09 IDIgKiByZWdfc2l6ZQogTE9DIHNoLXRkZXAuYzoxMjM2Ci0gQXNzaWdubWVu dCBvZiBVSU5UIHRvIGludDogbGVuID0gKHR5cGUpLT5sZW5ndGgKKyBBc3Np Z25tZW50IG9mIFVMT05HRVNUIHRvIGludDogbGVuID0gKHR5cGUpLT5sZW5n dGgKIExPQyBzaC10ZGVwLmM6MTMxOCAoc2gtdGRlcC5jOjEzMjQpCisgRnVu Y3Rpb24gc3RvcmVfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFyZyAyIHRv IGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIHNoLXRkZXAuYzoxMzIz CisgT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoaW50 LCBMT05HRVNUKTogaSA8IGxlbgorTE9DIHNoLXRkZXAuYzoxMzI0CiAgRnVu Y3Rpb24gcmVnY2FjaGVfcmF3X3JlYWQgZXhwZWN0cyBhcmcgMyB0byBiZSBn ZGJfYnl0ZSAqIGdldHMgY2hhciAqOiAoY2hhciAqKXZhbGJ1ZiArIGkKIExP QyBzaC10ZGVwLmM6MTMzNwotIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0 byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZh cmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBl Y3RzIGludDogKHR5cGUpLT5sZW5ndGgKK0xPQyBzaC10ZGVwLmM6MTM2Nwor IEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciBleHBlY3RzIGFy ZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxlbgorTE9DIHNoLXRkZXAu YzoxMzczCisgT3BlcmFuZHMgb2YgPCBoYXZlIGluY29tcGF0aWJsZSB0eXBl cyAoaW50LCBMT05HRVNUKTogaSA8IGxlbgogTE9DIHNoLXRkZXAuYzoxMzg1 Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhw ZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAogTE9DIHNwYXJjNjQtdGRlcC5jOjY3Ci0gVmFyaWFibGUgbGVu IGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBl KS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUg VUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHNw YXJjNjQtdGRlcC5jOjc0Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRv IHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFy aWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVj dHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHNwYXJjNjQtdGRlcC5jOjk0 Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhw ZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAogTE9DIHNwYXJjNjQtdGRlcC5jOjExNAotIFZhcmlhYmxlIGxl biBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlw ZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBl IFVMT05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBz cGFyYzY0LXRkZXAuYzo2NDUgKHNwYXJjNjQtdGRlcC5jOjY0NCkKLSBWYXJp YWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGlu dDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQg dG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3Ro CiBMT0Mgc3BhcmM2NC10ZGVwLmM6NjY2IChzcGFyYzY0LXRkZXAuYzo2NzAp CisgQXNzaWdubWVudCBvZiBMT05HRVNUIHRvIGludDogcmVnbnVtID0gU1BB UkM2NF9EMF9SRUdOVU0gKyBlbGVtZW50ICsgYml0cG9zIC8gNjQKK0xPQyBz cGFyYzY0LXRkZXAuYzo2NzEKICBOZXcgZnJlc2ggc3RvcmFnZSAodHlwZSBj aGFyICopIHBhc3NlZCBhcyBpbXBsaWNpdGx5IHRlbXAgKG5vdCByZWxlYXNl ZCk6IGdldHRleHQoIkFzc2VydGlvbiBgJXMnIGZhaWxlZC4iKQogTE9DIHNw YXJjNjQtdGRlcC5jOjY3NCAoc3BhcmM2NC10ZGVwLmM6Njc3KQorIEFzc2ln bm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IHJlZ251bSA9IFNQQVJDX0YwX1JF R05VTSArIGVsZW1lbnQgKiAyICsgYml0cG9zIC8gMzIKK0xPQyBzcGFyYzY0 LXRkZXAuYzo2NzgKICBUZXN0IGV4cHJlc3Npb24gZm9yIGlmIG5vdCBib29s ZWFuLCB0eXBlIGludDogc3BhcmM2NF9zdHJ1Y3R1cmVfb3JfdW5pb25fcCh0 eXBlKQogTE9DIHNwYXJjNjQtdGRlcC5jOjcyMSAoc3BhcmM2NC10ZGVwLmM6 NzIwKQotIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQs IGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBp bml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDogKHR5 cGUpLT5sZW5ndGgKIExPQyBzcGFyYzY0LXRkZXAuYzo3MjgKKyBBc3NpZ25t ZW50IG9mIExPTkdFU1QgdG8gaW50OiByZWdudW0gPSBTUEFSQzY0X1EwX1JF R05VTSArIGJpdHBvcyAvIDEyOAorTE9DIHNwYXJjNjQtdGRlcC5jOjcyOQog IFJldHVybiB2YWx1ZSAodHlwZSBlbnVtIHJlZ2lzdGVyX3N0YXR1cykgaWdu b3JlZDogcmVnY2FjaGVfY29va2VkXy4uLgogTE9DIHNwYXJjNjQtdGRlcC5j OjczNQorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IHJlZ251bSA9 IFNQQVJDNjRfRDBfUkVHTlVNICsgYml0cG9zIC8gNjQKK0xPQyBzcGFyYzY0 LXRkZXAuYzo3MzYKICBSZXR1cm4gdmFsdWUgKHR5cGUgZW51bSByZWdpc3Rl cl9zdGF0dXMpIGlnbm9yZWQ6IHJlZ2NhY2hlX2Nvb2tlZF8uLi4KIExPQyBz cGFyYzY0LXRkZXAuYzo3NDMKKyBBc3NpZ25tZW50IG9mIExPTkdFU1QgdG8g aW50OiByZWdudW0gPSBTUEFSQ19GMF9SRUdOVU0gKyBiaXRwb3MgLyAzMgor TE9DIHNwYXJjNjQtdGRlcC5jOjc0NAogIFJldHVybiB2YWx1ZSAodHlwZSBl bnVtIHJlZ2lzdGVyX3N0YXR1cykgaWdub3JlZDogcmVnY2FjaGVfY29va2Vk Xy4uLgogTE9DIHNwYXJjNjQtdGRlcC5jOjgxNiAoc3BhcmM2NC10ZGVwLmM6 ODE1KQotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRv IGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNU OiBsZW4KIExPQyBzcGFyYzY0LXRkZXAuYzo4ODcgKHNwYXJjNjQtdGRlcC5j Ojg4NikKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5U LCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBsZW4g aW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6ICh0 eXBlKS0+bGVuZ3RoCiBMT0Mgc3BhcmM2NC10ZGVwLmM6MTAyNCAoc3BhcmM2 NC10ZGVwLmM6MTAyMykKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8g dHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJp YWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0 cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mgc3BhcmM2NC10ZGVwLmM6MTA3 NCAoc3BhcmM2NC10ZGVwLmM6MTA3MykKLSBWYXJpYWJsZSBsZW4gaW5pdGlh bGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5n dGgKKyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VT VCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mgc3BhcmMtdGRl cC5jOjE4MQotIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBlIFVJ TlQsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIGxl biBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBlY3RzIGludDog KHR5cGUpLT5sZW5ndGgKIExPQyBzcGFyYy10ZGVwLmM6MjE0Ci0gVmFyaWFi bGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6 ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRv IHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAog TE9DIHNwYXJjLXRkZXAuYzoyMzMKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6 ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgK KyBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwg ZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mgc3BhcmMtdGRlcC5j OjQ4NgotIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRv IGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNU OiBsZW4KIExPQyBzcGFyYy10ZGVwLmM6NTI0Ci0gVmFyaWFibGUgbGVuIGlu aXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+ bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxP TkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHNwYXJj LXRkZXAuYzoxMjU0Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5 cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFi bGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMg aW50OiAodHlwZSktPmxlbmd0aAogTE9DIHNwYXJjLXRkZXAuYzoxMzA4Ci0g VmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0 cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxp emVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxl bmd0aAogTE9DIHNwYXJjLXRkZXAuYzoxMzc5Ci0gRnVuY3Rpb24gcmVhZF9t ZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUlOVDog KHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiByZWFkX21lbW9yeSBleHBlY3Rz IGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5s ZW5ndGgKK0xPQyBzcHUtdGRlcC5jOjMyMworIFZhcmlhYmxlIHByZWZlcnJl ZF9zbG90IGluaXRpYWxpemVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBp bnQ6IGxlbiA8IDQgPyA0IC0gbGVuIDogMAogc3B1LXRkZXAuYzogKGluIGZ1 bmN0aW9uIHNwdV9nZGJhcmNoX2lkKQogc3B1LXRkZXAuYzogKGluIGZ1bmN0 aW9uIHNwdV9wb2ludGVyX3RvX2FkZHJlc3MpCiBMT0Mgc3B1LXRkZXAuYzox Mjk2Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwg ZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGlu aXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlw ZSktPmxlbmd0aAogTE9DIHNwdS10ZGVwLmM6MTMyMQotIFZhcmlhYmxlIGxl biBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAodHlw ZSktPmxlbmd0aAorIFZhcmlhYmxlIGxlbiBpbml0aWFsaXplZCB0byB0eXBl IFVMT05HRVNULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKIExPQyBz cHUtdGRlcC5jOjEzNzYKLSBWYXJpYWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8g dHlwZSBVSU5ULCBleHBlY3RzIGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJp YWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0 cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mgc3B1LXRkZXAuYzoxNDA5Ci0g VmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0 cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFyaWFibGUgbGVuIGluaXRpYWxp emVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSktPmxl bmd0aAogTE9DIHNwdS10ZGVwLmM6MTQ3NQotIE9wZXJhbmRzIG9mIDw9IGhh dmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBpbnQpOiAodHlwZSktPmxl bmd0aCA8PSAoU1BVX0FSR05fUkVHTlVNIC0gU1BVX0FSRzFfUkVHTlVNICsg MSkgKiAxNgorIE9wZXJhbmRzIG9mIDw9IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChVTE9OR0VTVCwgaW50KTogKHR5cGUpLT5sZW5ndGggPD0gKFNQVV9B UkdOX1JFR05VTSAtIFNQVV9BUkcxX1JFR05VTSArIDEpICogMTYKIExPQyB0 cmFjZXBvaW50LmM6MTQ4MyAodHJhY2Vwb2ludC5jOjE0ODIpCi0gRnVuY3Rp b24gYWRkX21lbXJhbmdlIGV4cGVjdHMgYXJnIDMgdG8gYmUgYmZkX3NpZ25l ZF92bWEgZ2V0cyBVTE9OR0VTVDogYWRkcgorIEZ1bmN0aW9uIGFkZF9tZW1y YW5nZSBleHBlY3RzIGFyZyAzIHRvIGJlIGJmZF9zaWduZWRfdm1hIGdldHMg Q09SRV9BRERSOiBhZGRyCiBMT0MgdHJhY2Vwb2ludC5jOjQ2ODcgKHRyYWNl cG9pbnQuYzo0NjgyKQotIEFzc2lnbm1lbnQgb2YgdW5zaWduZWQgc2hvcnQg aW50IHRvIGludDogci0+bGVuZ3RoID0gbWxlbgorIEFzc2lnbm1lbnQgb2Yg dW5zaWduZWQgc2hvcnQgaW50IHRvIExPTkdFU1Q6IHItPmxlbmd0aCA9IG1s ZW4KICAgIExPQyB2ODUwLXRkZXAuYzo4MTIKLSBQcmV2aW91cyBkZWZpbml0 aW9uIG9mIGxlbjogaW50CisgUHJldmlvdXMgZGVmaW5pdGlvbiBvZiBsZW46 IExPTkdFU1QKIExPQyB2ODUwLXRkZXAuYzo4NTEKLSBBc3NpZ25tZW50IG9m IFVJTlQgdG8gaW50OiBsZW4gPSAodmFsdWVfdHlwZSgqYXJncykpLT5sZW5n dGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIGludDogbGVuID0gKHZh bHVlX3R5cGUoKmFyZ3MpKS0+bGVuZ3RoCiBMT0Mgdjg1MC10ZGVwLmM6OTAw ICh2ODUwLXRkZXAuYzo5MDgpCisgRnVuY3Rpb24gc3RvcmVfdW5zaWduZWRf aW50ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6 IGxlbgorTE9DIHY4NTAtdGRlcC5jOjkwOAogIFBhc3NlZCBzdG9yYWdlIGJ1 ZiBub3QgY29tcGxldGVseSBkZWZpbmVkICgqYnVmIGlzIHVuZGVmaW5lZCk6 IHJlZ2NhY2hlX3Jhd19yZWFkICguLi4sIGJ1ZikKK0xPQyB2ODUwLXRkZXAu Yzo5MjUKKyBGdW5jdGlvbiBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgZXhw ZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW4KK0xPQyB2 ODUwLXRkZXAuYzo5MjkKKyBPcGVyYW5kcyBvZiA8IGhhdmUgaW5jb21wYXRp YmxlIHR5cGVzIChpbnQsIExPTkdFU1QpOiBpIDwgbGVuCiBMT0MgdmFsYXJp dGguYzo3MTMKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBpbnZhbDJs ZW4gPSAodHlwZTIpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNU IHRvIGludDogaW52YWwybGVuID0gKHR5cGUyKS0+bGVuZ3RoCiBMT0MgdmFs YXJpdGguYzo3NTcKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBpbnZh bDFsZW4gPSAodHlwZTEpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05H RVNUIHRvIGludDogaW52YWwxbGVuID0gKHR5cGUxKS0+bGVuZ3RoCiBMT0Mg dmFsYXJpdGguYzo3NTgKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBp bnZhbDJsZW4gPSAodHlwZTIpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVM T05HRVNUIHRvIGludDogaW52YWwybGVuID0gKHR5cGUyKS0+bGVuZ3RoCiBM T0MgdmFsYXJpdGguYzo4OTUKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50 OiAqbGVuX3ggPSAodHlwZTEpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVM T05HRVNUIHRvIGludDogKmxlbl94ID0gKHR5cGUxKS0+bGVuZ3RoCiBMT0Mg dmFsYXJpdGguYzo5MDEKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiAq bGVuX3ggPSAodHlwZTIpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05H RVNUIHRvIGludDogKmxlbl94ID0gKHR5cGUyKS0+bGVuZ3RoCiBMT0MgdmFs YXJpdGguYzo5MTQKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiAqbGVu X3kgPSAodHlwZTIpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNU IHRvIGludDogKmxlbl95ID0gKHR5cGUyKS0+bGVuZ3RoCiBMT0MgdmFsYXJp dGguYzo5MjAKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiAqbGVuX3kg PSAodHlwZTEpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRv IGludDogKmxlbl95ID0gKHR5cGUxKS0+bGVuZ3RoCiBMT0MgdmFsYXJpdGgu Yzo5NzMKLSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBsZW5fdiA9IChy ZXN1bHRfdHlwZSktPmxlbmd0aAorIEFzc2lnbm1lbnQgb2YgVUxPTkdFU1Qg dG8gaW50OiBsZW5fdiA9IChyZXN1bHRfdHlwZSktPmxlbmd0aAogTE9DIHZh bGFyaXRoLmM6MTQxNAotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IGVs c2l6ZSA9IChlbHR5cGUxKS0+bGVuZ3RoCisgQXNzaWdubWVudCBvZiBVTE9O R0VTVCB0byBpbnQ6IGVsc2l6ZSA9IChlbHR5cGUxKS0+bGVuZ3RoCiBMT0Mg dmFsYXJpdGguYzoxNDE3Ci0gT3BlcmFuZHMgb2YgIT0gaGF2ZSBpbmNvbXBh dGlibGUgdHlwZXMgKGludCwgVUlOVCk6IGVsc2l6ZSAhPSAoZWx0eXBlMikt Pmxlbmd0aAorIE9wZXJhbmRzIG9mICE9IGhhdmUgaW5jb21wYXRpYmxlIHR5 cGVzIChpbnQsIFVMT05HRVNUKTogZWxzaXplICE9IChlbHR5cGUyKS0+bGVu Z3RoCiBMT0MgdmFsYXJpdGguYzoxNDg3Ci0gRnVuY3Rpb24gZGVjaW1hbF9p c196ZXJvIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5 cGUxKS0+bGVuZ3RoCisgRnVuY3Rpb24gZGVjaW1hbF9pc196ZXJvIGV4cGVj dHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBlMSktPmxl bmd0aAorTE9DIHZhbGFyaXRoLmM6MTUxMgorIFZhcmlhYmxlIGxlbiBpbml0 aWFsaXplZCB0byB0eXBlIExPTkdFU1QsIGV4cGVjdHMgaW50OiBsZW4xIDwg bGVuMiA/IGxlbjEgOiBsZW4yCiBMT0MgdmFsYXJpdGguYzoxNjI4Ci0gRnVu Y3Rpb24gbWVtY21wIGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMg VUlOVDogKHR5cGUxKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY21wIGV4cGVj dHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlMSkt Pmxlbmd0aAogTE9DIHZhbGFyaXRoLmM6MTcxOAotIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6ICh0eXBl KS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBMT0Mg dmFsYXJpdGguYzoxNzM5Ci0gVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRv IHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3RoCisgVmFy aWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVj dHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHZhbGFyaXRoLmM6MTc3Mgot IEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBn ZXRzIFVJTlQ6IChlbHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGVs dHlwZSktPmxlbmd0aAogTE9DIHZhbGFyaXRoLmM6MTgwOQotIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6 IChlbHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGVsdHlwZSktPmxl bmd0aAogTE9DIHZhbG9wcy5jOjQ3NCAodmFsb3BzLmM6NDczKQotIFZhcmlh YmxlIGRlY19sZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVSU5ULCBleHBlY3Rz IGludDogKHR5cGUpLT5sZW5ndGgKKyBWYXJpYWJsZSBkZWNfbGVuIGluaXRp YWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAogTE9DIHZhbG9wcy5jOjQ4MCAodmFsb3BzLmM6NDc5KQotIEZ1 bmN0aW9uIGRlY2ltYWxfY29udmVydCBleHBlY3RzIGFyZyAyIHRvIGJlIGlu dCBnZXRzIFVJTlQ6ICh0eXBlMiktPmxlbmd0aAorIEZ1bmN0aW9uIGRlY2lt YWxfY29udmVydCBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIFVMT05H RVNUOiAodHlwZTIpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzo1NjkgKHZhbG9w cy5jOjU2OCkKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzaXplX3QgZ2V0cyBVSU5UOiAoZWx0eXBlKS0+bGVuZ3RoCisgRnVuY3Rp b24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUxP TkdFU1Q6IChlbHR5cGUpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzo4ODQgKHZh bG9wcy5jOjg4MikKLSBGdW5jdGlvbiBkZWNpbWFsX2Zyb21fc3RyaW5nIGV4 cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUlOVDogKHR5cGUpLT5sZW5n dGgKKyBGdW5jdGlvbiBkZWNpbWFsX2Zyb21fc3RyaW5nIGV4cGVjdHMgYXJn IDIgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3RoCiBM T0MgdmFsb3BzLmM6OTEwICh2YWxvcHMuYzo5MDgpCi0gRnVuY3Rpb24gbWVt Y3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUlOVDogKGVs dHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAz IHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAoZWx0eXBlKS0+bGVuZ3Ro CiBMT0MgdmFsb3BzLmM6OTk5ICh2YWxvcHMuYzo5OTcpCi0gVmFyaWFibGUg bGVuZ3RoIGluaXRpYWxpemVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6 ICh0eXBlKS0+bGVuZ3RoCi1MT0MgdmFsb3BzLmM6MTAwMAotIEZ1bmN0aW9u IHZhbHVlX2JpdHNfdmFsaWQgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0 cyBMT05HRVNUOiA4ICogb2Zmc2V0ICsgdmFsdWVfYml0cG9zKHZhbCkKKyBW YXJpYWJsZSBsZW5ndGggaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwg ZXhwZWN0cyBMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIHZhbG9wcy5j OjEwMDYKLSBGdW5jdGlvbiB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nIGV4 cGVjdHMgYXJnIDMgdG8gYmUgaW50IGdldHMgTE9OR0VTVDogb2Zmc2V0Ci1M T0MgdmFsb3BzLmM6MTAwNAogIE5ldyBmcmVzaCBzdG9yYWdlICh0eXBlIHN0 cnVjdCB0eXBlICopIHBhc3NlZCBhcyBpbXBsaWNpdGx5IHRlbXAgKG5vdCBy ZWxlYXNlZCk6IHZhbHVlX3R5cGUodmFsKQogTE9DIHZhbG9wcy5jOjEwMTUg KHZhbG9wcy5jOjEwMTMpCisgRnVuY3Rpb24gc3RvcmVfc2lnbmVkX2ludGVn ZXIgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBsZW5n dGgKK0xPQyB2YWxvcHMuYzoxMDE1CiAgTmV3IGZyZXNoIHN0b3JhZ2UgKHR5 cGUgZ2RiX2J5dGUgKikgcGFzc2VkIGFzIGltcGxpY2l0bHkgdGVtcCAobm90 IHJlbGVhc2VkKTogdmFsdWVfY29udGVudHNfcmF3KHZhbCkKIExPQyB2YWxv cHMuYzoxMDIyICh2YWxvcHMuYzoxMDE5KQotIE5ldyBmcmVzaCBzdG9yYWdl ICh0eXBlIHN0cnVjdCB0eXBlICopIHBhc3NlZCBhcyBpbXBsaWNpdGx5IHRl bXAgKG5vdCByZWxlYXNlZCk6IHZhbHVlX2VuY2xvc2luZ190eXBlKHZhbCkK KyBWYXJpYWJsZSBsZW5ndGggaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VT VCwgZXhwZWN0cyBMT05HRVNUOiAoY2hlY2tfdHlwZWRlZihlbmNsb3Npbmdf dHlwZSkpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzoxMDI0ICh2YWxvcHMuYzox MDE5KQotIFZhcmlhYmxlIGxlbmd0aCBpbml0aWFsaXplZCB0byB0eXBlIFVJ TlQsIGV4cGVjdHMgaW50OiAoY2hlY2tfdHlwZWRlZih2YWx1ZV9lbmNsb3Np bmdfdHlwZSh2YWwpKSktPmxlbmd0aAorIFRlc3QgZXhwcmVzc2lvbiBmb3Ig aWYgbm90IGJvb2xlYW4sIHR5cGUgTE9OR0VTVDogbGVuZ3RoCiBMT0MgdmFs b3BzLmM6MTAyNiAodmFsb3BzLmM6MTAyMSkKLSBUZXN0IGV4cHJlc3Npb24g Zm9yIGlmIG5vdCBib29sZWFuLCB0eXBlIGludDogbGVuZ3RoCi1MT0MgdmFs b3BzLmM6MTAyMwotIEZ1bmN0aW9uIHJlYWRfdmFsdWVfbWVtb3J5IGV4cGVj dHMgYXJnIDYgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBsZW5ndGgKKyBGdW5j dGlvbiByZWFkX3ZhbHVlX21lbW9yeSBleHBlY3RzIGFyZyA2IHRvIGJlIHNp emVfdCBnZXRzIExPTkdFU1Q6IGxlbmd0aAogTE9DIHZhbG9wcy5jOjEwMjcg KHZhbG9wcy5jOjEwMjkpCisgRnJlc2ggc3RvcmFnZSBlbmNsb3NpbmdfdHlw ZSBub3QgcmVsZWFzZWQgYmVmb3JlIHNjb3BlIGV4aXQKKyAgIExPQyB2YWxv cHMuYzoxMDIxCisgRnJlc2ggc3RvcmFnZSBlbmNsb3NpbmdfdHlwZSBjcmVh dGVkCitMT0MgdmFsb3BzLmM6MTAzMgogIE5ldyBmcmVzaCBzdG9yYWdlICh0 eXBlIHN0cnVjdCB0eXBlICopIHBhc3NlZCBhcyBpbXBsaWNpdGx5IHRlbXAg KG5vdCByZWxlYXNlZCk6IHZhbHVlX3R5cGUodmFsKQogTE9DIHZhbG9wcy5j OjEyODQgKHZhbG9wcy5jOjEyODEpCi0gT3BlcmFuZHMgb2YgPD0gaGF2ZSBp bmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGludCk6ICh0eXBlKS0+bGVuZ3Ro IDw9IChpbnQpc2l6ZW9mKExPTkdFU1QpCisgT3BlcmFuZHMgb2YgPD0gaGF2 ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05HRVNULCBpbnQpOiAodHlwZSkt Pmxlbmd0aCA8PSAoaW50KXNpemVvZihMT05HRVNUKQogTE9DIHZhbG9wcy5j OjEyOTMgKHZhbG9wcy5jOjEyOTApCi0gRnVuY3Rpb24gcmVhZF9tZW1vcnkg ZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgaW50OiBjaGFuZ2Vk X2xlbgorIEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IGNoYW5nZWRfbGVuCiBMT0MgdmFs b3BzLmM6MTMwNSAodmFsb3BzLmM6MTMwMikKLSBGdW5jdGlvbiB3cml0ZV9t ZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgaW50OiBj aGFuZ2VkX2xlbgorIEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFy ZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNUOiBjaGFuZ2VkX2xlbgor TE9DIHZhbG9wcy5jOjEzMDYKKyBGdW5jdGlvbiBvYnNlcnZlcl9ub3RpZnlf bWVtb3J5X2NoYW5nZWQgZXhwZWN0cyBhcmcgMiB0byBiZSBpbnQgZ2V0cyBM T05HRVNUOiBjaGFuZ2VkX2xlbgogTE9DIHZhbG9wcy5jOjEzNTQgKHZhbG9w cy5jOjEzNTEpCi0gRnVuY3Rpb24gZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVz IGV4cGVjdHMgYXJnIDMgdG8gYmUgQ09SRV9BRERSIGdldHMgaW50OiBvZmZz ZXQKKyBGdW5jdGlvbiBnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgZXhwZWN0 cyBhcmcgMyB0byBiZSBDT1JFX0FERFIgZ2V0cyBMT05HRVNUOiBvZmZzZXQK IExPQyB2YWxvcHMuYzoxMzY4ICh2YWxvcHMuYzoxMzY1KQotIEZ1bmN0aW9u IHB1dF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyBleHBlY3RzIGFyZyAzIHRvIGJl IENPUkVfQUREUiBnZXRzIGludDogb2Zmc2V0CisgRnVuY3Rpb24gcHV0X2Zy YW1lX3JlZ2lzdGVyX2J5dGVzIGV4cGVjdHMgYXJnIDMgdG8gYmUgQ09SRV9B RERSIGdldHMgTE9OR0VTVDogb2Zmc2V0CiBMT0MgdmFsb3BzLmM6MTM3NCAo dmFsb3BzLmM6MTM3MSkKLSBGdW5jdGlvbiBwdXRfZnJhbWVfcmVnaXN0ZXJf Ynl0ZXMgZXhwZWN0cyBhcmcgMyB0byBiZSBDT1JFX0FERFIgZ2V0cyBpbnQ6 IHZhbHVlX29mZnNldCh0b3ZhbCkKKyBGdW5jdGlvbiBwdXRfZnJhbWVfcmVn aXN0ZXJfYnl0ZXMgZXhwZWN0cyBhcmcgMyB0byBiZSBDT1JFX0FERFIgZ2V0 cyBMT05HRVNUOiB2YWx1ZV9vZmZzZXQodG92YWwpCiBMT0MgdmFsb3BzLmM6 MTM3NSAodmFsb3BzLmM6MTM3MikKLSBGdW5jdGlvbiBwdXRfZnJhbWVfcmVn aXN0ZXJfYnl0ZXMgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVSU5U OiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIHB1dF9mcmFtZV9yZWdpc3Rl cl9ieXRlcyBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIFVMT05HRVNU OiAodHlwZSktPmxlbmd0aAogTE9DIHZhbG9wcy5jOjE0NTkgKHZhbG9wcy5j OjE0NTYpCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUg c2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBt ZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VT VDogKHR5cGUpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzoxNDkzICh2YWxvcHMu YzoxNDkwKQotIEZ1bmN0aW9uIHJlYWRfdmFsdWVfbWVtb3J5IGV4cGVjdHMg YXJnIDYgdG8gYmUgc2l6ZV90IGdldHMgVUlOVDogKHZhbHVlX2VuY2xvc2lu Z190eXBlKHZhbCkpLT5sZW5ndGgKKyBGdW5jdGlvbiByZWFkX3ZhbHVlX21l bW9yeSBleHBlY3RzIGFyZyA2IHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNU OiAodmFsdWVfZW5jbG9zaW5nX3R5cGUodmFsKSktPmxlbmd0aAogTE9DIHZh bG9wcy5jOjE4MzIgKHZhbG9wcy5jOjE4MzApCi0gRnVuY3Rpb24gdmFsdWVf Y29udGVudHNfY29weSBleHBlY3RzIGFyZyA1IHRvIGJlIGludCBnZXRzIFVJ TlQ6IHR5cGVsZW5ndGgKKyBGdW5jdGlvbiB2YWx1ZV9jb250ZW50c19jb3B5 IGV4cGVjdHMgYXJnIDIgdG8gYmUgTE9OR0VTVCBnZXRzIFVMT05HRVNUOiBp ZHggKiB0eXBlbGVuZ3RoCitMT0MgdmFsb3BzLmM6MTgzMworIEZ1bmN0aW9u IHZhbHVlX2NvbnRlbnRzX2NvcHkgZXhwZWN0cyBhcmcgNSB0byBiZSBMT05H RVNUIGdldHMgVUxPTkdFU1Q6IHR5cGVsZW5ndGgKIExPQyB2YWxvcHMuYzox ODQyICh2YWxvcHMuYzoxODM5KQotIEZ1bmN0aW9uIHZhbHVlX2NvbnRlbnRz X2NvcHkgZXhwZWN0cyBhcmcgNSB0byBiZSBpbnQgZ2V0cyBVSU5UOiB0eXBl bGVuZ3RoCisgRnVuY3Rpb24gdmFsdWVfY29udGVudHNfY29weSBleHBlY3Rz IGFyZyAyIHRvIGJlIExPTkdFU1QgZ2V0cyBVTE9OR0VTVDogaWR4ICogdHlw ZWxlbmd0aAorTE9DIHZhbG9wcy5jOjE4NDIKKyBGdW5jdGlvbiB2YWx1ZV9j b250ZW50c19jb3B5IGV4cGVjdHMgYXJnIDUgdG8gYmUgTE9OR0VTVCBnZXRz IFVMT05HRVNUOiB0eXBlbGVuZ3RoCiBMT0MgdmFsb3BzLmM6MTg1MSAodmFs b3BzLmM6MTg1MykKKyBWYXJpYWJsZSBoaWdoYm91bmQgaW5pdGlhbGl6ZWQg dG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IGxlbiAvIChjaGFyX3R5 cGUpLT5sZW5ndGgKK0xPQyB2YWxvcHMuYzoxODU2CiAgRnVuY3Rpb24gbWVt Y3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBsZW4K IExPQyB2YWxvcHMuYzoxODc0ICh2YWxvcHMuYzoxODc2KQorIFZhcmlhYmxl IGhpZ2hib3VuZCBpbml0aWFsaXplZCB0byB0eXBlIFVMT05HRVNULCBleHBl Y3RzIGludDogbGVuIC8gKGNoYXJfdHlwZSktPmxlbmd0aAorTE9DIHZhbG9w cy5jOjE4NzkKICBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgogTE9DIHZhbG9wcy5jOjE4OTMgKHZh bG9wcy5jOjE4OTApCi0gRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMg dG8gYmUgc2l6ZV90IGdldHMgVUlOVDogKHR5cGUpLT5sZW5ndGgKKyBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBV TE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzoyMTM5ICh2 YWxvcHMuYzoyMTM2KQotIEZ1bmN0aW9uIHRhcmdldF9yZWFkX21lbW9yeSBl eHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBVSU5UOiAoYmFzZXR5 cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiB0YXJnZXRfcmVhZF9tZW1vcnkgZXhw ZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6IChiYXNl dHlwZSktPmxlbmd0aAogTE9DIHZhbG9wcy5jOjIxNzUgKHZhbG9wcy5jOjIx NzEpCisgRnVuY3Rpb24gdXBkYXRlX3NlYXJjaF9yZXN1bHQgZXhwZWN0cyBh cmcgNCB0byBiZSBpbnQgZ2V0cyBMT05HRVNUOiBib2Zmc2V0CitMT0MgdmFs b3BzLmM6MjE3NAogIE51bGwgc3RvcmFnZSB2IHBhc3NlZCBhcyBub24tbnVs bCBwYXJhbTogdXBkYXRlX3NlYXJjaF9yZXN1bHQgKC4uLiwgdiwgLi4uKQog TE9DIHZhbG9wcy5jOjIyODkgKHZhbG9wcy5jOjIyODYpCi0gRnVuY3Rpb24g Q19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBVSU5U OiAoYmFzZWNsYXNzKS0+bGVuZ3RoCisgRnVuY3Rpb24gQ19hbGxvY2EgZXhw ZWN0cyBhcmcgMSB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGJhc2Vj bGFzcyktPmxlbmd0aAogTE9DIHZhbG9wcy5jOjIyOTMgKHZhbG9wcy5jOjIy OTApCi0gRnVuY3Rpb24gdGFyZ2V0X3JlYWRfbWVtb3J5IGV4cGVjdHMgYXJn IDMgdG8gYmUgc3NpemVfdCBnZXRzIFVJTlQ6IChiYXNlY2xhc3MpLT5sZW5n dGgKKyBGdW5jdGlvbiB0YXJnZXRfcmVhZF9tZW1vcnkgZXhwZWN0cyBhcmcg MyB0byBiZSBzc2l6ZV90IGdldHMgVUxPTkdFU1Q6IChiYXNlY2xhc3MpLT5s ZW5ndGgKIExPQyB2YWxvcHMuYzozMzU2ICh2YWxvcHMuYzozMzUzKQotIExl ZnQgb3BlcmFuZCBvZiA+PiBtYXkgYmUgbmVnYXRpdmUgKGludCk6ICgoKCh0 KS0+bWFpbl90eXBlLT5mbGRzX2JuZHMuZmllbGRzW2ldKS5sb2MuYml0cG9z KSArIDApID4+IDMKKyBMZWZ0IG9wZXJhbmQgb2YgPj4gbWF5IGJlIG5lZ2F0 aXZlIChMT05HRVNUKTogKCgoKHQpLT5tYWluX3R5cGUtPmZsZHNfYm5kcy5m aWVsZHNbaV0pLmxvYy5iaXRwb3MpICsgMCkgPj4gMwogTE9DIHZhbG9wcy5j OjM4MjUgKHZhbG9wcy5jOjM4MjEpCi0gRnVuY3Rpb24gdmFsdWVfY29udGVu dHNfY29weSBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6 IG9mZnNldAotTE9DIHZhbG9wcy5jOjM4MjIKLSBGdW5jdGlvbiB2YWx1ZV9j b250ZW50c19jb3B5IGV4cGVjdHMgYXJnIDUgdG8gYmUgaW50IGdldHMgVUlO VDogKHNsaWNlX3R5cGUpLT5sZW5ndGgKLUxPQyB2YWxvcHMuYzozODI3Ci0g RnVuY3Rpb24gc2V0X3ZhbHVlX29mZnNldCBleHBlY3RzIGFyZyAyIHRvIGJl IGludCBnZXRzIExPTkdFU1Q6IHZhbHVlX29mZnNldChhcnJheSkgKyBvZmZz ZXQKKyBGdW5jdGlvbiB2YWx1ZV9jb250ZW50c19jb3B5IGV4cGVjdHMgYXJn IDUgdG8gYmUgTE9OR0VTVCBnZXRzIFVMT05HRVNUOiAoc2xpY2VfdHlwZSkt Pmxlbmd0aAogTE9DIHZhbG9wcy5jOjM4NTQgKHZhbG9wcy5jOjM4NTEpCi0g RnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdl dHMgVUlOVDogKHJlYWxfdHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAo cmVhbF90eXBlKS0+bGVuZ3RoCiBMT0MgdmFsb3BzLmM6Mzg1NiAodmFsb3Bz LmM6Mzg1MykKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBi ZSBzaXplX3QgZ2V0cyBVSU5UOiAocmVhbF90eXBlKS0+bGVuZ3RoCisgRnVu Y3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMg VUxPTkdFU1Q6IChyZWFsX3R5cGUpLT5sZW5ndGgKIExPQyB2YWxvcHMuYzoz ODc0ICh2YWxvcHMuYzozODcxKQotIEZ1bmN0aW9uIG1lbWNweSBleHBlY3Rz IGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6ICh2YWxfcmVhbF90eXBl KS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8g YmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh2YWxfcmVhbF90eXBlKS0+bGVu Z3RoCiBMT0MgdmFsb3BzLmM6Mzg3NyAodmFsb3BzLmM6Mzg3NCkKLSBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBV SU5UOiAodmFsX3JlYWxfdHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNw eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAo dmFsX3JlYWxfdHlwZSktPmxlbmd0aAogTE9DIHZhbHByaW50LmM6ODQ4Ci0g T3BlcmFuZHMgb2YgPiBoYXZlIGluY29tcGF0aWJsZSB0eXBlcyAoVUlOVCwg c2l6ZV90KTogKHR5cGUpLT5sZW5ndGggPiBzaXplb2YoTE9OR0VTVCkKKyBP cGVyYW5kcyBvZiA+IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVTE9OR0VT VCwgc2l6ZV90KTogKHR5cGUpLT5sZW5ndGggPiBzaXplb2YoTE9OR0VTVCkK IExPQyB2YWxwcmludC5jOjEwMjQgKHZhbHByaW50LmM6MTAzNSkKKyBWYXJp YWJsZSBsZW4gaW5pdGlhbGl6ZWQgdG8gdHlwZSBVTE9OR0VTVCwgZXhwZWN0 cyBVSU5UOiAodHlwZSktPmxlbmd0aAorTE9DIHZhbHByaW50LmM6MTAzNQog IFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50 OiBmbG9hdGZvcm1hdF9pc19uZWdhdGl2ZShmbXQsIHZhbGFkZHIpCiBMT0Mg dmFscHJpbnQuYzoxMDk2ICh2YWxwcmludC5jOjEwOTgpCisgVmFyaWFibGUg bGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgVUlO VDogKHR5cGUpLT5sZW5ndGgKK0xPQyB2YWxwcmludC5jOjEwOTgKICBGdW5j dGlvbiBkZWNpbWFsX3RvX3N0cmluZyBleHBlY3RzIGFyZyAyIHRvIGJlIGlu dCBnZXRzIFVJTlQ6IGxlbgogTE9DIHZhbHByaW50LmM6MTYwNyAodmFscHJp bnQuYzoxNjExKQorIE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUg dHlwZXMgKFVJTlQsIFVMT05HRVNUKTogaSA8IGxlbgorTE9DIHZhbHByaW50 LmM6MTYxMQogIFRlc3QgZXhwcmVzc2lvbiBmb3IgaWYgbm90IGJvb2xlYW4s IHR5cGUgaW50OiBvcHRpb25zLT5wcmV0dHlwcmludF9hcnJheXMKIExPQyB2 YWxwcmludC5jOjE2MzEgKHZhbHByaW50LmM6MTYzNykKLSBGdW5jdGlvbiB2 YWx1ZV9hdmFpbGFibGVfY29udGVudHNfZXEgZXhwZWN0cyBhcmcgNSB0byBi ZSBpbnQgZ2V0cyBVSU5UOiBlbHRsZW4KKyBPcGVyYW5kcyBvZiA8IGhhdmUg aW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBVTE9OR0VTVCk6IHJlcDEgPCBs ZW4KK0xPQyB2YWxwcmludC5jOjE2MzcKKyBGdW5jdGlvbiB2YWx1ZV9hdmFp bGFibGVfY29udGVudHNfZXEgZXhwZWN0cyBhcmcgNSB0byBiZSBMT05HRVNU IGdldHMgVUxPTkdFU1Q6IGVsdGxlbgorTE9DIHZhbHByaW50LmM6MTY2Ngor IE9wZXJhbmRzIG9mIDwgaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQs IFVMT05HRVNUKTogaSA8IGxlbgogdmFscHJpbnQuYzogKGluIGZ1bmN0aW9u IHBhcnRpYWxfbWVtb3J5X3JlYWQpCiBMT0MgdmFscHJpbnQuYzoxOTc5Ci0g RnVuY3Rpb24gQ19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBiZSBzaXplX3Qg Z2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIENfYWxsb2Nh IGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0 eXBlKS0+bGVuZ3RoCiBMT0MgdmFscHJpbnQuYzoxOTgyCi0gRnVuY3Rpb24g bWFrZV93Y2hhcl9pdGVyYXRvciBleHBlY3RzIGFyZyAyIHRvIGJlIHNpemVf dCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWFrZV93 Y2hhcl9pdGVyYXRvciBleHBlY3RzIGFyZyAyIHRvIGJlIHNpemVfdCBnZXRz IFVMT05HRVNUOiAodHlwZSktPmxlbmd0aAogTE9DIHZhbHByaW50LmM6MTk4 MwotIEZ1bmN0aW9uIG1ha2Vfd2NoYXJfaXRlcmF0b3IgZXhwZWN0cyBhcmcg NCB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAodHlwZSktPmxlbmd0aAorIEZ1 bmN0aW9uIG1ha2Vfd2NoYXJfaXRlcmF0b3IgZXhwZWN0cyBhcmcgNCB0byBi ZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyB2 YWxwcmludC5jOjIwMjMKLSBGdW5jdGlvbiBwcmludF93Y2hhciBleHBlY3Rz IGFyZyA0IHRvIGJlIGludCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisg RnVuY3Rpb24gcHJpbnRfd2NoYXIgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQg Z2V0cyBVTE9OR0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyB2YWxwcmludC5j OjIwMzAKLSBGdW5jdGlvbiBwcmludF93Y2hhciBleHBlY3RzIGFyZyA0IHRv IGJlIGludCBnZXRzIFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24g cHJpbnRfd2NoYXIgZXhwZWN0cyBhcmcgNCB0byBiZSBpbnQgZ2V0cyBVTE9O R0VTVDogKHR5cGUpLT5sZW5ndGgKIExPQyB2YWxwcmludC5jOjIwNzEKLSBW YXJpYWJsZSB3aWR0aCBpbml0aWFsaXplZCB0byB0eXBlIFVJTlQsIGV4cGVj dHMgaW50OiAodHlwZSktPmxlbmd0aAorIFZhcmlhYmxlIHdpZHRoIGluaXRp YWxpemVkIHRvIHR5cGUgVUxPTkdFU1QsIGV4cGVjdHMgaW50OiAodHlwZSkt Pmxlbmd0aAogTE9DIHZhbHByaW50LmM6MjA3OQotIE9wZXJhbmRzIG9mID09 IGhhdmUgaW5jb21wYXRpYmxlIHR5cGVzIChVSU5ULCBpbnQpOiBsZW5ndGgg PT0gLTEKKyBPcGVyYW5kcyBvZiA9PSBoYXZlIGluY29tcGF0aWJsZSB0eXBl cyAoVUxPTkdFU1QsIGludCk6IGxlbmd0aCA9PSAtMQogTE9DIHZhbHByaW50 LmM6MjEwOQotIEZ1bmN0aW9uIG1ha2Vfd2NoYXJfaXRlcmF0b3IgZXhwZWN0 cyBhcmcgMiB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiBsZW5ndGggKiB3aWR0 aAorIEZ1bmN0aW9uIG1ha2Vfd2NoYXJfaXRlcmF0b3IgZXhwZWN0cyBhcmcg MiB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogbGVuZ3RoICogd2lkdGgK IExPQyB2YWxwcmludC5jOjIzMTMKLSBWYXJpYWJsZSB3aWR0aCBpbml0aWFs aXplZCB0byB0eXBlIFVJTlQsIGV4cGVjdHMgaW50OiAoZWx0dHlwZSktPmxl bmd0aAorIFZhcmlhYmxlIHdpZHRoIGluaXRpYWxpemVkIHRvIHR5cGUgVUxP TkdFU1QsIGV4cGVjdHMgaW50OiAoZWx0dHlwZSktPmxlbmd0aAogTE9DIHZh bHByaW50LmM6MjM2NgotIEZ1bmN0aW9uICBleHBlY3RzIGFyZyA0IHRvIGJl IFVJTlQgZ2V0cyBpbnQ6IGJ5dGVzX3JlYWQgLyB3aWR0aAorIEZ1bmN0aW9u ICBleHBlY3RzIGFyZyA0IHRvIGJlIFVMT05HRVNUIGdldHMgaW50OiBieXRl c19yZWFkIC8gd2lkdGgKIExPQyB2YWx1ZS5jOjQ0OSAodmFsdWUuYzo0NDcp Ci0gQXNzaWdubWVudCBvZiBVSU5UIHRvIGludDogaSA9IChWRUNfcmFuZ2Vf c19sb3dlcl9ib3VuZCh2YWx1ZS0+dW5hdmFpbGFibGUsICZuZXdyLCByYW5n ZV9sZXNzdGhhbiwgIi9ob21lL3NpZGRoZXNoL3NyYy91cHN0cmVhbS9nZGIt c291cmNlcy9nZGIuZ2l0L2dkYi92YWx1ZS5jIiwgNDQ3KSkKKyBBc3NpZ25t ZW50IG9mIFVJTlQgdG8gaW50OiBpID0gKFZFQ19yYW5nZV9zX2xvd2VyX2Jv dW5kKHZhbHVlLT51bmF2YWlsYWJsZSwgJm5ld3IsIHJhbmdlX2xlc3N0aGFu LCAiL2hvbWUvc2lkZGhlc2gvc3JjL3Vwc3RyZWFtL2dkYi1zb3VyY2VzL2dk Yi5naXQvZ2RiL3ZhbHVlLmMiLCA0NDkpKQogTE9DIHZhbHVlLmM6NTY4ICh2 YWx1ZS5jOjU2NikKLSBGdW5jdGlvbiBtZW1jbXAgZXhwZWN0cyBhcmcgMyB0 byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbmd0aAorIEZ1bmN0aW9uIG1lbWNt cCBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6IGxl bmd0aAogTE9DIHZhbHVlLmM6Njk3ICh2YWx1ZS5jOjY5NSkKLSBGdW5jdGlv biB4emFsbG9jIGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90IGdldHMgVUlO VDogKHZhbC0+ZW5jbG9zaW5nX3R5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiB4 emFsbG9jIGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdF U1Q6ICh2YWwtPmVuY2xvc2luZ190eXBlKS0+bGVuZ3RoCiB2YWx1ZS5jOiAo aW4gZnVuY3Rpb24gYWxsb2NhdGVfcmVwZWF0X3ZhbHVlKQogTE9DIHZhbHVl LmM6OTQ5ICh2YWx1ZS5jOjk0NikKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0 cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbmd0aAorIEZ1bmN0 aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExP TkdFU1Q6IGxlbmd0aAogTE9DIHZhbHVlLmM6OTYyICh2YWx1ZS5jOjk1OCkK LSBGdW5jdGlvbiBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxlIGV4cGVj dHMgYXJnIDIgdG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6IGRzdF9vZmZzZXQg KyAobCAtIHNyY19vZmZzZXQpCi1MT0MgdmFsdWUuYzo5NTkKLSBGdW5jdGlv biBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxlIGV4cGVjdHMgYXJnIDMg dG8gYmUgaW50IGdldHMgVUxPTkdFU1Q6IGggLSBsCisgRnVuY3Rpb24gbWFy a192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSBleHBlY3RzIGFyZyAzIHRvIGJl IExPTkdFU1QgZ2V0cyBVTE9OR0VTVDogaCAtIGwKIHZhbHVlLmM6IChpbiBm dW5jdGlvbiB2YWx1ZV9jb250ZW50c19jb3B5KQogTE9DIHZhbHVlLmM6MTA0 NyAodmFsdWUuYzoxMDQ0KQotIEZ1bmN0aW9uIG1lbWNtcCBleHBlY3RzIGFy ZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gbWVt Y21wIGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgTE9OR0VTVDog bGVuCiBMT0MgdmFsdWUuYzoxNDAyICh2YWx1ZS5jOjEzOTkpCi0gRnVuY3Rp b24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUlO VDogKHZhbHVlX2VuY2xvc2luZ190eXBlKGFyZykpLT5sZW5ndGgKKyBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBV TE9OR0VTVDogKHZhbHVlX2VuY2xvc2luZ190eXBlKGFyZykpLT5sZW5ndGgK IExPQyB2YWx1ZS5jOjE0MzAgKHZhbHVlLmM6MTQyNykKLSBGdW5jdGlvbiBt ZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAo ZW5jX3R5cGUpLT5sZW5ndGgKKyBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBVTE9OR0VTVDogKGVuY190eXBlKS0+ bGVuZ3RoCiBMT0MgdmFsdWUuYzoxOTU3ICh2YWx1ZS5jOjE5NTQpCi0gRnVu Y3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMg VUlOVDogKHZhbHVlX3R5cGUobmV3dmFsKSktPmxlbmd0aAorIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05H RVNUOiAodmFsdWVfdHlwZShuZXd2YWwpKS0+bGVuZ3RoCiBMT0MgdmFsdWUu YzoyNDIxICh2YWx1ZS5jOjI0MTgpCi0gVmFyaWFibGUgbGVuIGluaXRpYWxp emVkIHRvIHR5cGUgVUlOVCwgZXhwZWN0cyBpbnQ6ICh0eXBlKS0+bGVuZ3Ro CisgVmFyaWFibGUgbGVuIGluaXRpYWxpemVkIHRvIHR5cGUgVUxPTkdFU1Qs IGV4cGVjdHMgaW50OiAodHlwZSktPmxlbmd0aAogTE9DIHZhbHVlLmM6MjQ3 NyAodmFsdWUuYzoyNDc0KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6 IGxlbiA9ICh0eXBlKS0+bGVuZ3RoCisgQXNzaWdubWVudCBvZiBVTE9OR0VT VCB0byBpbnQ6IGxlbiA9ICh0eXBlKS0+bGVuZ3RoCiBMT0MgdmFsdWUuYzoy NjAwICh2YWx1ZS5jOjI1OTcpCi0gRnVuY3Rpb24geHJlYWxsb2MgZXhwZWN0 cyBhcmcgMiB0byBiZSBzaXplX3QgZ2V0cyBVSU5UOiAobmV3X2VuY2xfdHlw ZSktPmxlbmd0aAorIEZ1bmN0aW9uIHhyZWFsbG9jIGV4cGVjdHMgYXJnIDIg dG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6IChuZXdfZW5jbF90eXBlKS0+ bGVuZ3RoCiBMT0MgdmFsdWUuYzoyNjQ3ICh2YWx1ZS5jOjI2NDQpCi0gT3Bl cmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVJTlQsIGlu dCk6ICh0eXBlKS0+bGVuZ3RoIDw9IChpbnQpc2l6ZW9mKExPTkdFU1QpCisg T3BlcmFuZHMgb2YgPD0gaGF2ZSBpbmNvbXBhdGlibGUgdHlwZXMgKFVMT05H RVNULCBpbnQpOiAodHlwZSktPmxlbmd0aCA8PSAoaW50KXNpemVvZihMT05H RVNUKQorTE9DIHZhbHVlLmM6MjY0OAorIEFzc2lnbm1lbnQgb2YgTE9OR0VT VCB0byBpbnQ6IHYtPmJpdHBvcyA9IGJpdHBvcyAlIGNvbnRhaW5lcl9iaXRz aXplCitMT0MgdmFsdWUuYzoyNjUwCisgQXNzaWdubWVudCBvZiBMT05HRVNU IHRvIGludDogdi0+Yml0cG9zID0gYml0cG9zICUgOAogTE9DIHZhbHVlLmM6 MjgxNiAodmFsdWUuYzoyODE1KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBp bnQ6IGJ5dGVzX3JlYWQgPSAoZmllbGRfdHlwZSktPmxlbmd0aAorIEFzc2ln bm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGJ5dGVzX3JlYWQgPSAoKGJpdHBv cyAlIDgpICsgYml0c2l6ZSArIDcpIC8gOAorTE9DIHZhbHVlLmM6MjgxOAor IEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50OiBieXRlc19yZWFkID0g KGZpZWxkX3R5cGUpLT5sZW5ndGgKIExPQyB2YWx1ZS5jOjI4MzMKKyBBc3Np Z25tZW50IG9mIExPTkdFU1QgdG8gaW50OiBsc2Jjb3VudCA9IChieXRlc19y ZWFkICogOCAtIGJpdHBvcyAlIDggLSBiaXRzaXplKQorTE9DIHZhbHVlLmM6 MjgzNQorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IGxzYmNvdW50 ID0gKGJpdHBvcyAlIDgpCitMT0MgdmFsdWUuYzoyODM2CiAgUmlnaHQgb3Bl cmFuZCBvZiA+Pj0gbWF5IGJlIG5lZ2F0aXZlIChpbnQpOiB2YWwgPj49IGxz YmNvdW50CiB2YWx1ZS5jOiAoaW4gZnVuY3Rpb24gbW9kaWZ5X2ZpZWxkKQog TE9DIHZhbHVlLmM6MzAwNworIEZ1bmN0aW9uIGV4dHJhY3RfdW5zaWduZWRf aW50ZWdlciBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRzIExPTkdFU1Q6 IGJ5dGVzaXplCitMT0MgdmFsdWUuYzozMDEwCiAgTmV3IGZyZXNoIHN0b3Jh Z2UgKHR5cGUgc3RydWN0IGdkYmFyY2ggKikgcGFzc2VkIGFzIGltcGxpY2l0 bHkgdGVtcCAobm90IHJlbGVhc2VkKTogZ2V0X3R5cGVfYXJjaCh0eXBlKQog TE9DIHZhbHVlLmM6MzAxMyAodmFsdWUuYzozMDEwKQotIFJpZ2h0IG9wZXJh bmQgb2YgPDwgbWF5IGJlIG5lZ2F0aXZlIChpbnQpOiBtYXNrIDw8IGJpdHBv cworIFJpZ2h0IG9wZXJhbmQgb2YgPDwgbWF5IGJlIG5lZ2F0aXZlIChMT05H RVNUKTogbWFzayA8PCBiaXRwb3MKIExPQyB2YWx1ZS5jOjMwMTQgKHZhbHVl LmM6MzAxMSkKLSBSaWdodCBvcGVyYW5kIG9mIDw8IG1heSBiZSBuZWdhdGl2 ZSAoaW50KTogZmllbGR2YWwgPDwgYml0cG9zCisgUmlnaHQgb3BlcmFuZCBv ZiA8PCBtYXkgYmUgbmVnYXRpdmUgKExPTkdFU1QpOiBmaWVsZHZhbCA8PCBi aXRwb3MKK0xPQyB2YWx1ZS5jOjMwMTYKKyBGdW5jdGlvbiBzdG9yZV91bnNp Z25lZF9pbnRlZ2VyIGV4cGVjdHMgYXJnIDIgdG8gYmUgaW50IGdldHMgTE9O R0VTVDogYnl0ZXNpemUKIHZhbHVlLmM6IChpbiBmdW5jdGlvbiBwYWNrX2xv bmcpCiBMT0MgdmFsdWUuYzozMDI4ICh2YWx1ZS5jOjMwMjUpCi0gQXNzaWdu bWVudCBvZiBVSU5UIHRvIGludDogbGVuID0gKHR5cGUpLT5sZW5ndGgKKyBB c3NpZ25tZW50IG9mIFVMT05HRVNUIHRvIGludDogbGVuID0gKHR5cGUpLT5s ZW5ndGgKIExPQyB2YWx1ZS5jOjMwNjMgKHZhbHVlLmM6MzA2MCkKLSBBc3Np Z25tZW50IG9mIFVJTlQgdG8gaW50OiBsZW4gPSAodHlwZSktPmxlbmd0aAor IEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50OiBsZW4gPSAodHlwZSkt Pmxlbmd0aAogTE9DIHZhbHVlLmM6MzE0NCAodmFsdWUuYzozMTQxKQotIEZ1 bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRz IFVJTlQ6ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVj dHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+ bGVuZ3RoCiB2YWx1ZS5jOiAoaW4gZnVuY3Rpb24gdmFsdWVfZnJvbV9jb250 ZW50cykKIExPQyB2YWx1ZS5jOjMxNjAgKHZhbHVlLmM6MzE1NykKLSBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBV SU5UOiAodHlwZSktPmxlbmd0aAorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3Rz IGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVMT05HRVNUOiAodHlwZSktPmxl bmd0aAogdmFsdWUuYzogKGluIGZ1bmN0aW9uIHZhbHVlX2Zyb21fZG91Ymxl KQogTE9DIHZhbHVlLmM6MzE4NiAodmFsdWUuYzozMTgzKQotIEZ1bmN0aW9u IG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIFVJTlQ6 ICh0eXBlKS0+bGVuZ3RoCisgRnVuY3Rpb24gbWVtY3B5IGV4cGVjdHMgYXJn IDMgdG8gYmUgc2l6ZV90IGdldHMgVUxPTkdFU1Q6ICh0eXBlKS0+bGVuZ3Ro CiB2YWx1ZS5jOiAoaW4gZnVuY3Rpb24gdmFsdWVfZnJvbV9oaXN0b3J5X3Jl ZikKIExPQyB2YXgtdGRlcC5jOjEzMgotIEZ1bmN0aW9uIHdyaXRlX21lbW9y eSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBpbnQ6IGxlbgor IEZ1bmN0aW9uIHdyaXRlX21lbW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNz aXplX3QgZ2V0cyBMT05HRVNUOiBsZW4KIExPQyB2YXgtdGRlcC5jOjIyNwot IEZ1bmN0aW9uIHJlYWRfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3Np emVfdCBnZXRzIGludDogbGVuCisgRnVuY3Rpb24gcmVhZF9tZW1vcnkgZXhw ZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90IGdldHMgTE9OR0VTVDogbGVuCiBM T0MgdmF4LXRkZXAuYzoyMzkKLSBGdW5jdGlvbiBtZW1jcHkgZXhwZWN0cyBh cmcgMyB0byBiZSBzaXplX3QgZ2V0cyBpbnQ6IGxlbgorIEZ1bmN0aW9uIG1l bWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIExPTkdFU1Q6 IGxlbgogTE9DIHZheC10ZGVwLmM6MjQ0Ci0gRnVuY3Rpb24gbWVtY3B5IGV4 cGVjdHMgYXJnIDMgdG8gYmUgc2l6ZV90IGdldHMgaW50OiBsZW4KKyBGdW5j dGlvbiBtZW1jcHkgZXhwZWN0cyBhcmcgMyB0byBiZSBzaXplX3QgZ2V0cyBM T05HRVNUOiBsZW4KK0xPQyB4c3Rvcm15MTYtdGRlcC5jOjI4NworIEFzc2ln bm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IHNsYWNrbGVuID0gdHlwZWxlbiAm IDEKIExPQyB4c3Rvcm15MTYtdGRlcC5jOjI4OCAoeHN0b3JteTE2LXRkZXAu YzoyODUpCi0gRnVuY3Rpb24gQ19hbGxvY2EgZXhwZWN0cyBhcmcgMSB0byBi ZSBzaXplX3QgZ2V0cyBpbnQ6IHR5cGVsZW4gKyBzbGFja2xlbgorIEZ1bmN0 aW9uIENfYWxsb2NhIGV4cGVjdHMgYXJnIDEgdG8gYmUgc2l6ZV90IGdldHMg TE9OR0VTVDogdHlwZWxlbiArIHNsYWNrbGVuCiBMT0MgeHN0b3JteTE2LXRk ZXAuYzoyODkgKHhzdG9ybXkxNi10ZGVwLmM6Mjg2KQotIEZ1bmN0aW9uIG1l bWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNpemVfdCBnZXRzIGludDogdHlw ZWxlbgorIEZ1bmN0aW9uIG1lbWNweSBleHBlY3RzIGFyZyAzIHRvIGJlIHNp emVfdCBnZXRzIExPTkdFU1Q6IHR5cGVsZW4KIExPQyB4c3Rvcm15MTYtdGRl cC5jOjI5MyAoeHN0b3JteTE2LXRkZXAuYzoyOTApCi0gRnVuY3Rpb24gd3Jp dGVfbWVtb3J5IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIGlu dDogdHlwZWxlbiArIHNsYWNrbGVuCisgRnVuY3Rpb24gd3JpdGVfbWVtb3J5 IGV4cGVjdHMgYXJnIDMgdG8gYmUgc3NpemVfdCBnZXRzIExPTkdFU1Q6IHR5 cGVsZW4gKyBzbGFja2xlbgogeHN0b3JteTE2LXRkZXAuYzogKGluIGZ1bmN0 aW9uIHhzdG9ybXkxNl9hbGxvY19mcmFtZV9jYWNoZSkKIExPQyB4dGVuc2Et dGRlcC5jOjE2MjEgKHh0ZW5zYS10ZGVwLmM6MTYyNSkKKyBBc3NpZ25tZW50 IG9mIExPTkdFU1QgdG8gaW50OiBvZmZzZXQgPSA0IC0gbGVuCitMT0MgeHRl bnNhLXRkZXAuYzoxNjI2CisgRnVuY3Rpb24gcmVnY2FjaGVfcmF3X3JlYWRf cGFydCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdFU1Q6IGxl bgorTE9DIHh0ZW5zYS10ZGVwLmM6MTYyNgogIFJldHVybiB2YWx1ZSAodHlw ZSBlbnVtIHJlZ2lzdGVyX3N0YXR1cykgaWdub3JlZDogcmVnY2FjaGVfcmF3 X3JlYS4uLgogTE9DIHh0ZW5zYS10ZGVwLmM6MTY3MSAoeHRlbnNhLXRkZXAu YzoxNjc1KQorIEFzc2lnbm1lbnQgb2YgTE9OR0VTVCB0byBpbnQ6IG9mZnNl dCA9IDQgLSBsZW4KK0xPQyB4dGVuc2EtdGRlcC5jOjE2NzYKICBGdW5jdGlv biByZWdjYWNoZV9yYXdfd3JpdGVfcGFydCBleHBlY3RzIGFyZyAyIHRvIGJl IGludCBnZXRzIFVJTlQ6IGFyZWcKIExPQyB4dGVuc2EtdGRlcC5jOjE2NzYg KHh0ZW5zYS10ZGVwLmM6MTY3NykKKyBGdW5jdGlvbiByZWdjYWNoZV9yYXdf d3JpdGVfcGFydCBleHBlY3RzIGFyZyA0IHRvIGJlIGludCBnZXRzIExPTkdF U1Q6IGxlbgorTE9DIHh0ZW5zYS10ZGVwLmM6MTY3OAogIEZ1bmN0aW9uIHJl Z2NhY2hlX3Jhd193cml0ZSBleHBlY3RzIGFyZyAyIHRvIGJlIGludCBnZXRz IFVJTlQ6IGFyZWcKIExPQyB4dGVuc2EtdGRlcC5jOjE3ODUgKHh0ZW5zYS10 ZGVwLmM6MTc5NSkKKyBGcmVzaCBzdG9yYWdlIGFyZ190eXBlX2xlbl9zIG5v dCByZWxlYXNlZCBiZWZvcmUgc2NvcGUgZXhpdAorICAgTE9DIHh0ZW5zYS10 ZGVwLmM6MTc2NworIEZyZXNoIHN0b3JhZ2UgYXJnX3R5cGVfbGVuX3MgY3Jl YXRlZAorTE9DIHh0ZW5zYS10ZGVwLmM6MTc5NwogIFRlc3QgZXhwcmVzc2lv biBmb3IgaWYgbm90IGJvb2xlYW4sIHR5cGUgaW50OiBzdHJ1Y3RfcmV0dXJu CiBMT0MgeHRlbnNhLXRkZXAuYzoxODIyICh4dGVuc2EtdGRlcC5jOjE4MjAp Ci0gQXNzaWdubWVudCBvZiBVSU5UIHRvIGludDogaW5mby0+YWxpZ24gPSAo YXJnX3R5cGUpLT5sZW5ndGgKKyBBc3NpZ25tZW50IG9mIFVMT05HRVNUIHRv IGludDogaW5mby0+YWxpZ24gPSAoYXJnX3R5cGUpLT5sZW5ndGgKIExPQyB4 dGVuc2EtdGRlcC5jOjE4MzAgKHh0ZW5zYS10ZGVwLmM6MTgyOCkKLSBBc3Np Z25tZW50IG9mIFVJTlQgdG8gaW50OiBpbmZvLT5hbGlnbiA9IChidWlsdGlu X3R5cGUoZ2RiYXJjaCktPmJ1aWx0aW5fZG91YmxlKS0+bGVuZ3RoCisgQXNz aWdubWVudCBvZiBVTE9OR0VTVCB0byBpbnQ6IGluZm8tPmFsaWduID0gKGJ1 aWx0aW5fdHlwZShnZGJhcmNoKS0+YnVpbHRpbl9kb3VibGUpLT5sZW5ndGgK IExPQyB4dGVuc2EtdGRlcC5jOjE4MzIgKHh0ZW5zYS10ZGVwLmM6MTgzMCkK LSBBc3NpZ25tZW50IG9mIFVJTlQgdG8gaW50OiBpbmZvLT5hbGlnbiA9IChi dWlsdGluX3R5cGUoZ2RiYXJjaCktPmJ1aWx0aW5fbG9uZyktPmxlbmd0aAor IEFzc2lnbm1lbnQgb2YgVUxPTkdFU1QgdG8gaW50OiBpbmZvLT5hbGlnbiA9 IChidWlsdGluX3R5cGUoZ2RiYXJjaCktPmJ1aWx0aW5fbG9uZyktPmxlbmd0 aAogTE9DIHh0ZW5zYS10ZGVwLmM6MTgzNyAoeHRlbnNhLXRkZXAuYzoxODM1 KQotIEFzc2lnbm1lbnQgb2YgVUlOVCB0byBpbnQ6IGluZm8tPmFsaWduID0g KGJ1aWx0aW5fdHlwZShnZGJhcmNoKS0+YnVpbHRpbl9sb25nKS0+bGVuZ3Ro CisgQXNzaWdubWVudCBvZiBVTE9OR0VTVCB0byBpbnQ6IGluZm8tPmFsaWdu ID0gKGJ1aWx0aW5fdHlwZShnZGJhcmNoKS0+YnVpbHRpbl9sb25nKS0+bGVu Z3RoCitMT0MgeHRlbnNhLXRkZXAuYzoxODU2CisgQXNzaWdubWVudCBvZiBM T05HRVNUIHRvIGludDogaW5mby0+dS5yZWdubyA9IChnZGJhcmNoX3RkZXAo Z2RiYXJjaCktPmNhbGxfYWJpID09IENhbGxBYmlDYWxsME9ubHkgPyAoZ2Ri YXJjaF90ZGVwKGdkYmFyY2gpLT5hMF9iYXNlICsgMikgOiAoZ2RiYXJjaF90 ZGVwKGdkYmFyY2gpLT5hMF9iYXNlICsgNikpICsgc2l6ZSAvIDQKIExPQyB4 dGVuc2EtdGRlcC5jOjE4ODYgKHh0ZW5zYS10ZGVwLmM6MTg5NSkKLSBGdW5j dGlvbiB3cml0ZV9tZW1vcnkgZXhwZWN0cyBhcmcgMyB0byBiZSBzc2l6ZV90 IGdldHMgaW50OiBpbmZvLT5sZW5ndGgKKyBWYXJpYWJsZSBuIGluaXRpYWxp emVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBpbnQ6IGluZm8tPmxlbmd0 aAorTE9DIHh0ZW5zYS10ZGVwLmM6MTg5NworIEZ1bmN0aW9uIHdyaXRlX21l bW9yeSBleHBlY3RzIGFyZyAzIHRvIGJlIHNzaXplX3QgZ2V0cyBMT05HRVNU OiBpbmZvLT5sZW5ndGgKK0xPQyB4dGVuc2EtdGRlcC5jOjE5MDIKKyBWYXJp YWJsZSBuIGluaXRpYWxpemVkIHRvIHR5cGUgTE9OR0VTVCwgZXhwZWN0cyBp bnQ6IGluZm8tPmxlbmd0aAo= --MP_/srex7gC+uRenJnlxQ=K+gtf--