From owner-freebsd-gnome@FreeBSD.ORG Sun Feb 22 15:56:24 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1175D1065672 for ; Sun, 22 Feb 2009 15:56:24 +0000 (UTC) (envelope-from izenfire@gmail.com) Received: from mail-bw0-f170.google.com (mail-bw0-f170.google.com [209.85.218.170]) by mx1.freebsd.org (Postfix) with ESMTP id 437F38FC16 for ; Sun, 22 Feb 2009 15:56:21 +0000 (UTC) (envelope-from izenfire@gmail.com) Received: by bwz18 with SMTP id 18so5413227bwz.19 for ; Sun, 22 Feb 2009 07:56:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type; bh=3n3K6q/CT8wA2VH5Mn2MJKEz+NiwsP/CFLMGiRtbLIw=; b=HTopjdil5yE4AsHqZTGiWTWRtyxLzmdu6u+sp5daK3/hReQDfpdUi9x3IZonLgwyLS mE7XPlATZXISSX3NrYCy4+cZsJs/UrdX4dwqA2eAhcbgflhkdv0RjuBNxlFt4vHT0LQ4 0NHlTZZNPIa+wK2Vjn2R/SJ1UJwim+xUnWVk4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; b=gwVcP58d4xCEFmsntLdMN4eVYpRbz6yPtUOCxM3707MRYHFlWm94VFmG7zMPni0D6r HzsUW39kNVFJTlsSpBky9gm9TOJ3Y9J1XLq7PWLA6rjyVkAzFYzmIZprpf0zbLN0cQdl KTX8PUVvbmFU2E4jTS5BvB7NEKMf/m9ZE0j6A= Received: by 10.223.110.144 with SMTP id n16mr4147696fap.63.1235316664029; Sun, 22 Feb 2009 07:31:04 -0800 (PST) Received: from rio.fire (87-119-243-207.saransk.ru [87.119.243.207]) by mx.google.com with ESMTPS id d25sm7850819nfh.3.2009.02.22.07.30.41 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 22 Feb 2009 07:31:02 -0800 (PST) Message-ID: <49A16F9F.5020006@gmail.com> Date: Sun, 22 Feb 2009 18:30:39 +0300 From: Igor User-Agent: Thunderbird 2.0.0.19 (X11/20090219) MIME-Version: 1.0 To: gnome@FreeBSD.org Content-Type: multipart/mixed; boundary="------------040903070307070604010405" Cc: Subject: evolution-data-server: Script "configure" failed unexpectedly. X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2009 15:56:24 -0000 This is a multi-part message in MIME format. --------------040903070307070604010405 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit --------------040903070307070604010405 Content-Type: text/plain; name="config.log" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMg d2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJl IG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGV2b2x1dGlvbi1kYXRhLXNl cnZlciBjb25maWd1cmUgMi4yNC40LjEsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1 dG9jb25mIDIuNjIuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgJCAuL2NvbmZp Z3VyZSAtLWVuYWJsZS1zdGF0aWMgLS1lbmFibGUtbnNzPXllcyAtLWVuYWJsZS1nbm9tZS1r ZXlyaW5nPXllcyAtLXdpdGgtb3BlbmxkYXA9eWVzIC0td2l0aC1saWJkYj0vdXNyL2xvY2Fs IC0td2l0aC1rcmI1PS91c3IgLS1sb2NhbHN0YXRlZGlyPS91c3IvbG9jYWwvc2hhcmUgLS13 aXRoLWh0bWwtZGlyPS91c3IvbG9jYWwvc2hhcmUvZG9jIC0tZGlzYWJsZS1ndGstZG9jIC0t d2l0aC1nY29uZi1zb3VyY2U9eG1sOm1lcmdlZDovdXNyL2xvY2FsL2V0Yy9nY29uZi9nY29u Zi54bWwuZGVmYXVsdHMgLS1wcmVmaXg9L3Vzci9sb2NhbCAtLW1hbmRpcj0vdXNyL2xvY2Fs L21hbiAtLWluZm9kaXI9L3Vzci9sb2NhbC9pbmZvLyAtLWJ1aWxkPWFtZDY0LXBvcnRibGQt ZnJlZWJzZDcuMQoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0t LS0gIyMKCmhvc3RuYW1lID0gcmlvLmZpcmUKdW5hbWUgLW0gPSBhbWQ2NAp1bmFtZSAtciA9 IDcuMS1TVEFCTEUKdW5hbWUgLXMgPSBGcmVlQlNECnVuYW1lIC12ID0gRnJlZUJTRCA3LjEt U1RBQkxFICMwOiBXZWQgRmViIDE4IDIwOjE2OjU1IFZPTFQgMjAwOSAgICAgcm9vdEByaW8u ZmlyZTovdXNyL29iai91c3Ivc3JjL3N5cy9SSU8gCgovdXNyL2Jpbi91bmFtZSAtcCA9IGFt ZDY0Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAg ICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252 ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25v d24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAg ICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6 IC9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBBVEg6 IC91c3IvZ2FtZXMKUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmlu ClBBVEg6IC9yb290L2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMj CiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjQ4MDogY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6MjU0ODogcmVzdWx0OiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1vIHJvb3QgLWcgd2hlZWwKY29uZmlndXJlOjI1NTk6IGNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjYwMjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI2Mjc6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wCmNvbmZpZ3VyZToyNjY2OiByZXN1bHQ6IC4vaW5zdGFsbC1zaCAtYyAtZApjb25maWd1 cmU6MjY3OTogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjI2OTU6IGZvdW5kIC91c3Iv bG9jYWwvYmluL2dhd2sKY29uZmlndXJlOjI3MDY6IHJlc3VsdDogZ2F3awpjb25maWd1cmU6 MjcxNzogY2hlY2tpbmcgd2hldGhlciBnbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjI3 Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTIyOiBjaGVja2luZyBob3cgdG8gY3JlYXRl IGEgdXN0YXIgdGFyIGFyY2hpdmUKY29uZmlndXJlOjI5MzU6IHRhciAtLXZlcnNpb24KYnNk dGFyIDIuNS41IC0gbGliYXJjaGl2ZSAyLjUuNQpjb25maWd1cmU6MjkzODogJD8gPSAwCmNv bmZpZ3VyZToyOTc4OiB0YXJkaXI9Y29uZnRlc3QuZGlyICYmIGV2YWwgdGFyIC0tZm9ybWF0 PXVzdGFyIC1jaGYgLSAiJHRhcmRpciIgPmNvbmZ0ZXN0LnRhcgpjb25maWd1cmU6Mjk4MTog JD8gPSAwCmNvbmZpZ3VyZToyOTg1OiB0YXIgLXhmIC0gPGNvbmZ0ZXN0LnRhcgpjb25maWd1 cmU6Mjk4ODogJD8gPSAwCmNvbmZpZ3VyZTozMDAxOiByZXN1bHQ6IGdudXRhcgpjb25maWd1 cmU6MzEzNTogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZp YyBwb3J0aW9ucyBvZiBNYWtlZmlsZXMKY29uZmlndXJlOjMxNDQ6IHJlc3VsdDogbm8KY29u ZmlndXJlOjMxNzE6IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgZ21h a2UKY29uZmlndXJlOjMxOTk6IHJlc3VsdDogR05VCmNvbmZpZ3VyZTozMjY5OiBjaGVja2lu ZyBmb3IgZ2NjCmNvbmZpZ3VyZTozMjk2OiByZXN1bHQ6IGNjCmNvbmZpZ3VyZTozNTM0OiBj aGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozNTQyOiBjYyAtLXZl cnNpb24gPiY1CmNjIChHQ0MpIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KQ29weXJpZ2h0 IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUg c29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVy ZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozNTQ2OiAkPyA9IDAK Y29uZmlndXJlOjM1NTM6IGNjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0 OiBhbWQ2NC11bmRlcm15ZGVzay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9h bWQ2NCBzeXN0ZW0gY29tcGlsZXIKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0 LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCmNvbmZpZ3VyZTozNTU3OiAkPyA9IDAKY29uZmln dXJlOjM1NjQ6IGNjIC1WID4mNQpjYzogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50 CmNvbmZpZ3VyZTozNTY4OiAkPyA9IDEKY29uZmlndXJlOjM1OTE6IGNoZWNraW5nIGZvciBD IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6MzYxMzogY2Mg LU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVz dC5jICA+JjUKY29uZmlndXJlOjM2MTc6ICQ/ID0gMApjb25maWd1cmU6MzY1NTogcmVzdWx0 OiBhLm91dApjb25maWd1cmU6MzY3MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcwpjb25maWd1cmU6MzY4MjogLi9hLm91dApjb25maWd1cmU6MzY4NjogJD8gPSAw CmNvbmZpZ3VyZTozNzAzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzcxMDogY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3VyZTozNzEyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTozNzE1OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz CmNvbmZpZ3VyZTozNzIyOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVD QVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAt TC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6Mzcy NjogJD8gPSAwCmNvbmZpZ3VyZTozNzUwOiByZXN1bHQ6IApjb25maWd1cmU6Mzc1NjogY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjM3ODI6IGNjIC1j IC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozNzg2OiAk PyA9IDAKY29uZmlndXJlOjM4MDk6IHJlc3VsdDogbwpjb25maWd1cmU6MzgxMzogY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZToz ODQyOiBjYyAtYyAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Mzg0OTogJD8gPSAwCmNvbmZpZ3VyZTozODY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 Mzg3NTogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTozOTA1OiBj YyAtYyAtZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQx ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzkxMjogJD8gPSAwCmNvbmZpZ3VyZTo0MDEz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDAzMDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NDEwNDogY2MgIC1jIC1PIC1waXBlIC1ETERB UF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRl L2RiNDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MTExOiAkPyA9IDAKY29uZmlndXJl OjQxMzQ6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjQxNTQ6IGNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgY2MKY29uZmlndXJlOjQyNDU6IHJlc3VsdDogZ2NjMwpjb25m aWd1cmU6NDI2MTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzdHJlcnJvcgpj b25maWd1cmU6NDMwMjogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FU RUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwv dXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQzMDk6 ICQ/ID0gMApjb25maWd1cmU6NDM0MDogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3Vy ZTo0Mzk2OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZTo0NDIzOiByZXN1bHQ6IGNjCmNv bmZpZ3VyZTo0NjYxOiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3Vy ZTo0NjY5OiBjYyAtLXZlcnNpb24gPiY1CmNjIChHQ0MpIDQuMi4xIDIwMDcwNzE5ICBbRnJl ZUJTRF0KQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNv bmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3Vy ZTo0NjczOiAkPyA9IDAKY29uZmlndXJlOjQ2ODA6IGNjIC12ID4mNQpVc2luZyBidWlsdC1p biBzcGVjcy4KVGFyZ2V0OiBhbWQ2NC11bmRlcm15ZGVzay1mcmVlYnNkCkNvbmZpZ3VyZWQg d2l0aDogRnJlZUJTRC9hbWQ2NCBzeXN0ZW0gY29tcGlsZXIKVGhyZWFkIG1vZGVsOiBwb3Np eApnY2MgdmVyc2lvbiA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCmNvbmZpZ3VyZTo0Njg0 OiAkPyA9IDAKY29uZmlndXJlOjQ2OTE6IGNjIC1WID4mNQpjYzogJy1WJyBvcHRpb24gbXVz dCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTo0Njk1OiAkPyA9IDEKY29uZmlndXJlOjQ2OTg6 IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25m aWd1cmU6NDc1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3NjA6IGNoZWNraW5nIHdoZXRo ZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6NDg5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjQ5MTU6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmln dXJlOjUwMTk6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjUwMzk6IGNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgY2MKY29uZmlndXJlOjUxMzA6IHJlc3VsdDogZ2NjMwpj b25maWd1cmU6NTE1MDogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IK Y29uZmlndXJlOjUxOTA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2Nh bC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjUxOTc6ICQ/ID0gMApjb25m aWd1cmU6NTIyODogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUvZGI0MSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEyOjI4OiBlcnJvcjogYWNfbm9u ZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTIzNTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIDIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIK fCAjZGVmaW5lIFZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgQkFTRV9WRVJTSU9OICIy LjI0Igp8ICNkZWZpbmUgQVBJX1ZFUlNJT04gIjEuMiIKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTo1MjY4OiByZXN1 bHQ6IGNjIC1FCmNvbmZpZ3VyZTo1Mjk3OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1MzA0OiAk PyA9IDAKY29uZmlndXJlOjUzMzU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMjoyODogZXJy b3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln dXJlOjUzNDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZXZvbHV0aW9uLWRhdGEt c2VydmVyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2 ZXIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImV2b2x1dGlvbi1kYXRhLXNlcnZlciAyLjI0LjQuMSIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJldm9sdXRpb24tZGF0 YS1zZXJ2ZXIiCnwgI2RlZmluZSBWRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIEJBU0Vf VkVSU0lPTiAiMi4yNCIKfCAjZGVmaW5lIEFQSV9WRVJTSU9OICIxLjIiCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6 NTM3OTogY2hlY2tpbmcgZm9yIGlubGluZQpjb25maWd1cmU6NTQwNTogY2MgLWMgLU8gLXBp cGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU0MTI6ICQ/ID0gMApj b25maWd1cmU6NTQzMDogcmVzdWx0OiBpbmxpbmUKY29uZmlndXJlOjU0NTM6IGNoZWNraW5n IGZvciBmbGV4CmNvbmZpZ3VyZTo1NDY5OiBmb3VuZCAvdXNyL2Jpbi9mbGV4CmNvbmZpZ3Vy ZTo1NDgwOiByZXN1bHQ6IGZsZXgKY29uZmlndXJlOjU1MTc6IGZsZXggY29uZnRlc3QubApj b25maWd1cmU6NTUyMTogJD8gPSAwCmNvbmZpZ3VyZTo1NTIzOiBjaGVja2luZyBsZXggb3V0 cHV0IGZpbGUgcm9vdApjb25maWd1cmU6NTUzOTogcmVzdWx0OiBsZXgueXkKY29uZmlndXJl OjU1NDQ6IGNoZWNraW5nIGxleCBsaWJyYXJ5CmNvbmZpZ3VyZTo1NTYzOiBjYyAtbyBjb25m dGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNv bmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QubDogSW4gZnVuY3Rpb24gJ3l5bGV4JzoKY29uZnRl c3QubDo2OiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdl cgpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9t IGludGVnZXIgd2l0aG91dCBhIGNhc3QKL3Zhci90bXAvL2NjRWxlR3VoLm8oLnRleHQrMHg4 OTYpOiBJbiBmdW5jdGlvbiBgaW5wdXQnOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHl5 d3JhcCcKL3Zhci90bXAvL2NjRWxlR3VoLm8oLnRleHQrMHhlNTApOiBJbiBmdW5jdGlvbiBg eXlsZXgnOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHl5d3JhcCcKL3Zhci90bXAvL2Nj RWxlR3VoLm8oLnRleHQrMHhmNDkpOiBJbiBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgeXl3cmFwJwpjb25maWd1cmU6NTU3MDogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIEEgbGV4aWNhbCBzY2FubmVyIGdlbmVyYXRl ZCBieSBmbGV4ICovCnwgCnwgLyogU2Nhbm5lciBza2VsZXRvbiB2ZXJzaW9uOgp8ICAqICRI ZWFkZXI6IC9ob21lL2RhZmZ5L3UwL3Zlcm4vZmxleC9SQ1MvZmxleC5za2wsdiAyLjkxIDk2 LzA5LzEwIDE2OjU4OjQ4IHZlcm4gRXhwICQKfCAgKiAkRnJlZUJTRDogc3JjL3Vzci5iaW4v bGV4L2ZsZXguc2tsLHYgMS44IDIwMDQvMDEvMDYgMTk6MDM6NDQgbmVjdGFyIEV4cCAkCnwg ICovCnwgCnwgI2lmIGRlZmluZWQoX19GcmVlQlNEX18pCnwgI2luY2x1ZGUgPHN5cy9jZGVm cy5oPgp8ICNlbHNlCnwgI2RlZmluZSBfX3VudXNlZAp8ICNlbmRpZgp8IAp8ICNkZWZpbmUg RkxFWF9TQ0FOTkVSCnwgI2RlZmluZSBZWV9GTEVYX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZp bmUgWVlfRkxFWF9NSU5PUl9WRVJTSU9OIDUKfCAKfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAK fCAKfCAvKiBjZnJvbnQgMS4yIGRlZmluZXMgImNfcGx1c3BsdXMiIGluc3RlYWQgb2YgIl9f Y3BsdXNwbHVzIiAqLwp8ICNpZmRlZiBjX3BsdXNwbHVzCnwgI2lmbmRlZiBfX2NwbHVzcGx1 cwp8ICNkZWZpbmUgX19jcGx1c3BsdXMKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAKfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCAKfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHVu aXN0ZC5oPgp8IAp8IC8qIFVzZSBwcm90b3R5cGVzIGluIGZ1bmN0aW9uIGRlY2xhcmF0aW9u cy4gKi8KfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAKfCAvKiBUaGUgImNvbnN0IiBzdG9y YWdlLWNsYXNzLW1vZGlmaWVyIGlzIHZhbGlkLiAqLwp8ICNkZWZpbmUgWVlfVVNFX0NPTlNU CnwgCnwgI2Vsc2UJLyogISBfX2NwbHVzcGx1cyAqLwp8IAp8ICNpZiBfX1NURENfXwp8IAp8 ICNkZWZpbmUgWVlfVVNFX1BST1RPUwp8ICNkZWZpbmUgWVlfVVNFX0NPTlNUCnwgCnwgI2Vu ZGlmCS8qIF9fU1REQ19fICovCnwgI2VuZGlmCS8qICEgX19jcGx1c3BsdXMgKi8KfCAKfCAj aWZkZWYgX19UVVJCT0NfXwp8ICAjcHJhZ21hIHdhcm4gLXJjaAp8ICAjcHJhZ21hIHdhcm4g LXVzZQp8ICNpbmNsdWRlIDxpby5oPgp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAjZGVmaW5l IFlZX1VTRV9DT05TVAp8ICNkZWZpbmUgWVlfVVNFX1BST1RPUwp8ICNlbmRpZgp8IAp8ICNp ZmRlZiBZWV9VU0VfQ09OU1QKfCAjZGVmaW5lIHl5Y29uc3QgY29uc3QKfCAjZWxzZQp8ICNk ZWZpbmUgeXljb25zdAp8ICNlbmRpZgp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwg I2RlZmluZSBZWV9QUk9UTyhwcm90bykgcHJvdG8KfCAjZWxzZQp8ICNkZWZpbmUgWVlfUFJP VE8ocHJvdG8pICgpCnwgI2VuZGlmCnwgCnwgLyogUmV0dXJuZWQgdXBvbiBlbmQtb2YtZmls ZS4gKi8KfCAjZGVmaW5lIFlZX05VTEwgMAp8IAp8IC8qIFByb21vdGVzIGEgcG9zc2libHkg bmVnYXRpdmUsIHBvc3NpYmx5IHNpZ25lZCBjaGFyIHRvIGFuIHVuc2lnbmVkCnwgICogaW50 ZWdlciBmb3IgdXNlIGFzIGFuIGFycmF5IGluZGV4LiAgSWYgdGhlIHNpZ25lZCBjaGFyIGlz IG5lZ2F0aXZlLAp8ICAqIHdlIHdhbnQgdG8gaW5zdGVhZCB0cmVhdCBpdCBhcyBhbiA4LWJp dCB1bnNpZ25lZCBjaGFyLCBoZW5jZSB0aGUKfCAgKiBkb3VibGUgY2FzdC4KfCAgKi8KfCAj ZGVmaW5lIFlZX1NDX1RPX1VJKGMpICgodW5zaWduZWQgaW50KSAodW5zaWduZWQgY2hhcikg YykKfCAKfCAvKiBFbnRlciBhIHN0YXJ0IGNvbmRpdGlvbi4gIFRoaXMgbWFjcm8gcmVhbGx5 IG91Z2h0IHRvIHRha2UgYSBwYXJhbWV0ZXIsCnwgICogYnV0IHdlIGRvIGl0IHRoZSBkaXNn dXN0aW5nIGNydWZ0eSB3YXkgZm9yY2VkIG9uIHVzIGJ5IHRoZSAoKS1sZXNzCnwgICogZGVm aW5pdGlvbiBvZiBCRUdJTi4KfCAgKi8KfCAjZGVmaW5lIEJFR0lOIHl5X3N0YXJ0ID0gMSAr IDIgKgp8IAp8IC8qIFRyYW5zbGF0ZSB0aGUgY3VycmVudCBzdGFydCBzdGF0ZSBpbnRvIGEg dmFsdWUgdGhhdCBjYW4gYmUgbGF0ZXIgaGFuZGVkCnwgICogdG8gQkVHSU4gdG8gcmV0dXJu IHRvIHRoZSBzdGF0ZS4gIFRoZSBZWVNUQVRFIGFsaWFzIGlzIGZvciBsZXgKfCAgKiBjb21w YXRpYmlsaXR5Lgp8ICAqLwp8ICNkZWZpbmUgWVlfU1RBUlQgKCh5eV9zdGFydCAtIDEpIC8g MikKfCAjZGVmaW5lIFlZU1RBVEUgWVlfU1RBUlQKfCAKfCAvKiBBY3Rpb24gbnVtYmVyIGZv ciBFT0YgcnVsZSBvZiBhIGdpdmVuIHN0YXJ0IHN0YXRlLiAqLwp8ICNkZWZpbmUgWVlfU1RB VEVfRU9GKHN0YXRlKSAoWVlfRU5EX09GX0JVRkZFUiArIHN0YXRlICsgMSkKfCAKfCAvKiBT cGVjaWFsIGFjdGlvbiBtZWFuaW5nICJzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGZpbGUiLiAq Lwp8ICNkZWZpbmUgWVlfTkVXX0ZJTEUgeXlyZXN0YXJ0KCB5eWluICkKfCAKfCAjZGVmaW5l IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiAwCnwgCnwgLyogU2l6ZSBvZiBkZWZhdWx0IGlucHV0 IGJ1ZmZlci4gKi8KfCAjZGVmaW5lIFlZX0JVRl9TSVpFIDE2Mzg0CnwgCnwgdHlwZWRlZiBz dHJ1Y3QgeXlfYnVmZmVyX3N0YXRlICpZWV9CVUZGRVJfU1RBVEU7CnwgCnwgZXh0ZXJuIGlu dCB5eWxlbmc7CnwgZXh0ZXJuIEZJTEUgKnl5aW4sICp5eW91dDsKfCAKfCAjZGVmaW5lIEVP Ql9BQ1RfQ09OVElOVUVfU0NBTiAwCnwgI2RlZmluZSBFT0JfQUNUX0VORF9PRl9GSUxFIDEK fCAjZGVmaW5lIEVPQl9BQ1RfTEFTVF9NQVRDSCAyCnwgCnwgLyogVGhlIGZ1bmt5IGRvLXdo aWxlIGluIHRoZSBmb2xsb3dpbmcgI2RlZmluZSBpcyB1c2VkIHRvIHR1cm4gdGhlIGRlZmlu aXRpb24KfCAgKiBpbnQgYSBzaW5nbGUgQyBzdGF0ZW1lbnQgKHdoaWNoIG5lZWRzIGEgc2Vt aS1jb2xvbiB0ZXJtaW5hdG9yKS4gIFRoaXMKfCAgKiBhdm9pZHMgcHJvYmxlbXMgd2l0aCBj b2RlIGxpa2U6CnwgICoKfCAgKiAJaWYgKCBjb25kaXRpb25faG9sZHMgKQp8ICAqCQl5eWxl c3MoIDUgKTsKfCAgKgllbHNlCnwgICoJCWRvX3NvbWV0aGluZ19lbHNlKCk7CnwgICoKfCAg KiBQcmlvciB0byB1c2luZyB0aGUgZG8td2hpbGUgdGhlIGNvbXBpbGVyIHdvdWxkIGdldCB1 cHNldCBhdCB0aGUKfCAgKiAiZWxzZSIgYmVjYXVzZSBpdCBpbnRlcnByZXRlZCB0aGUgImlm IiBzdGF0ZW1lbnQgYXMgYmVpbmcgYWxsCnwgICogZG9uZSB3aGVuIGl0IHJlYWNoZWQgdGhl ICc7JyBhZnRlciB0aGUgeXlsZXNzKCkgY2FsbC4KfCAgKi8KfCAKfCAvKiBSZXR1cm4gYWxs IGJ1dCB0aGUgZmlyc3QgJ24nIG1hdGNoZWQgY2hhcmFjdGVycyBiYWNrIHRvIHRoZSBpbnB1 dCBzdHJlYW0uICovCnwgCnwgI2RlZmluZSB5eWxlc3MobikgXAp8IAlkbyBcCnwgCQl7IFwK fCAJCS8qIFVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dC4gKi8gXAp8IAkJKnl5 X2NwID0geXlfaG9sZF9jaGFyOyBcCnwgCQlZWV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VUIFwK fCAJCXl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2JwICsgbiAtIFlZX01PUkVfQURKOyBcCnwg CQlZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWluICovIFwKfCAJ CX0gXAp8IAl3aGlsZSAoIDAgKQp8IAp8ICNkZWZpbmUgdW5wdXQoYykgeXl1bnB1dCggYywg eXl0ZXh0X3B0ciApCnwgCnwgLyogVGhlIGZvbGxvd2luZyBpcyBiZWNhdXNlIHdlIGNhbm5v dCBwb3J0YWJseSBnZXQgb3VyIGhhbmRzIG9uIHNpemVfdAp8ICAqICh3aXRob3V0IGF1dG9j b25mJ3MgaGVscCwgd2hpY2ggaXNuJ3QgYXZhaWxhYmxlIGJlY2F1c2Ugd2Ugd2FudAp8ICAq IGZsZXgtZ2VuZXJhdGVkIHNjYW5uZXJzIHRvIGNvbXBpbGUgb24gdGhlaXIgb3duKS4KfCAg Ki8KfCB0eXBlZGVmIHVuc2lnbmVkIGludCB5eV9zaXplX3Q7CnwgCnwgCnwgc3RydWN0IHl5 X2J1ZmZlcl9zdGF0ZQp8IAl7CnwgCUZJTEUgKnl5X2lucHV0X2ZpbGU7CnwgCnwgCWNoYXIg Knl5X2NoX2J1ZjsJCS8qIGlucHV0IGJ1ZmZlciAqLwp8IAljaGFyICp5eV9idWZfcG9zOwkJ LyogY3VycmVudCBwb3NpdGlvbiBpbiBpbnB1dCBidWZmZXIgKi8KfCAKfCAJLyogU2l6ZSBv ZiBpbnB1dCBidWZmZXIgaW4gYnl0ZXMsIG5vdCBpbmNsdWRpbmcgcm9vbSBmb3IgRU9CCnwg CSAqIGNoYXJhY3RlcnMuCnwgCSAqLwp8IAl5eV9zaXplX3QgeXlfYnVmX3NpemU7CnwgCnwg CS8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQgaW50byB5eV9jaF9idWYsIG5vdCBpbmNs dWRpbmcgRU9CCnwgCSAqIGNoYXJhY3RlcnMuCnwgCSAqLwp8IAlpbnQgeXlfbl9jaGFyczsK fCAKfCAJLyogV2hldGhlciB3ZSAib3duIiB0aGUgYnVmZmVyIC0gaS5lLiwgd2Uga25vdyB3 ZSBjcmVhdGVkIGl0LAp8IAkgKiBhbmQgY2FuIHJlYWxsb2MoKSBpdCB0byBncm93IGl0LCBh bmQgc2hvdWxkIGZyZWUoKSBpdCB0bwp8IAkgKiBkZWxldGUgaXQuCnwgCSAqLwp8IAlpbnQg eXlfaXNfb3VyX2J1ZmZlcjsKfCAKfCAJLyogV2hldGhlciB0aGlzIGlzIGFuICJpbnRlcmFj dGl2ZSIgaW5wdXQgc291cmNlOyBpZiBzbywgYW5kCnwgCSAqIGlmIHdlJ3JlIHVzaW5nIHN0 ZGlvIGZvciBpbnB1dCwgdGhlbiB3ZSB3YW50IHRvIHVzZSBnZXRjKCkKfCAJICogaW5zdGVh ZCBvZiBmcmVhZCgpLCB0byBtYWtlIHN1cmUgd2Ugc3RvcCBmZXRjaGluZyBpbnB1dCBhZnRl cgp8IAkgKiBlYWNoIG5ld2xpbmUuCnwgCSAqLwp8IAlpbnQgeXlfaXNfaW50ZXJhY3RpdmU7 CnwgCnwgCS8qIFdoZXRoZXIgd2UncmUgY29uc2lkZXJlZCB0byBiZSBhdCB0aGUgYmVnaW5u aW5nIG9mIGEgbGluZS4KfCAJICogSWYgc28sICdeJyBydWxlcyB3aWxsIGJlIGFjdGl2ZSBv biB0aGUgbmV4dCBtYXRjaCwgb3RoZXJ3aXNlCnwgCSAqIG5vdC4KfCAJICovCnwgCWludCB5 eV9hdF9ib2w7CnwgCnwgCS8qIFdoZXRoZXIgdG8gdHJ5IHRvIGZpbGwgdGhlIGlucHV0IGJ1 ZmZlciB3aGVuIHdlIHJlYWNoIHRoZQp8IAkgKiBlbmQgb2YgaXQuCnwgCSAqLwp8IAlpbnQg eXlfZmlsbF9idWZmZXI7CnwgCnwgCWludCB5eV9idWZmZXJfc3RhdHVzOwp8ICNkZWZpbmUg WVlfQlVGRkVSX05FVyAwCnwgI2RlZmluZSBZWV9CVUZGRVJfTk9STUFMIDEKfCAJLyogV2hl biBhbiBFT0YncyBiZWVuIHNlZW4gYnV0IHRoZXJlJ3Mgc3RpbGwgc29tZSB0ZXh0IHRvIHBy b2Nlc3MKfCAJICogdGhlbiB3ZSBtYXJrIHRoZSBidWZmZXIgYXMgWVlfRU9GX1BFTkRJTkcs IHRvIGluZGljYXRlIHRoYXQgd2UKfCAJICogc2hvdWxkbid0IHRyeSByZWFkaW5nIGZyb20g dGhlIGlucHV0IHNvdXJjZSBhbnkgbW9yZS4gIFdlIG1pZ2h0CnwgCSAqIHN0aWxsIGhhdmUg YSBidW5jaCBvZiB0b2tlbnMgdG8gbWF0Y2gsIHRob3VnaCwgYmVjYXVzZSBvZgp8IAkgKiBw b3NzaWJsZSBiYWNraW5nLXVwLgp8IAkgKgp8IAkgKiBXaGVuIHdlIGFjdHVhbGx5IHNlZSB0 aGUgRU9GLCB3ZSBjaGFuZ2UgdGhlIHN0YXR1cyB0byAibmV3Igp8IAkgKiAodmlhIHl5cmVz dGFydCgpKSwgc28gdGhhdCB0aGUgdXNlciBjYW4gY29udGludWUgc2Nhbm5pbmcgYnkKfCAJ ICoganVzdCBwb2ludGluZyB5eWluIGF0IGEgbmV3IGlucHV0IGZpbGUuCnwgCSAqLwp8ICNk ZWZpbmUgWVlfQlVGRkVSX0VPRl9QRU5ESU5HIDIKfCAJfTsKfCAKfCBzdGF0aWMgWVlfQlVG RkVSX1NUQVRFIHl5X2N1cnJlbnRfYnVmZmVyID0gMDsKfCAKfCAvKiBXZSBwcm92aWRlIG1h Y3JvcyBmb3IgYWNjZXNzaW5nIGJ1ZmZlciBzdGF0ZXMgaW4gY2FzZSBpbiB0aGUKfCAgKiBm dXR1cmUgd2Ugd2FudCB0byBwdXQgdGhlIGJ1ZmZlciBzdGF0ZXMgaW4gYSBtb3JlIGdlbmVy YWwKfCAgKiAic2Nhbm5lciBzdGF0ZSIuCnwgICovCnwgI2RlZmluZSBZWV9DVVJSRU5UX0JV RkZFUiB5eV9jdXJyZW50X2J1ZmZlcgp8IAp8IAp8IC8qIHl5X2hvbGRfY2hhciBob2xkcyB0 aGUgY2hhcmFjdGVyIGxvc3Qgd2hlbiB5eXRleHQgaXMgZm9ybWVkLiAqLwp8IHN0YXRpYyBj aGFyIHl5X2hvbGRfY2hhcjsKfCAKfCBzdGF0aWMgaW50IHl5X25fY2hhcnM7CQkvKiBudW1i ZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlfY2hfYnVmICovCnwgCnwgCnwgaW50IHl5 bGVuZzsKfCAKfCAvKiBQb2ludHMgdG8gY3VycmVudCBjaGFyYWN0ZXIgaW4gYnVmZmVyLiAq Lwp8IHN0YXRpYyBjaGFyICp5eV9jX2J1Zl9wID0gKGNoYXIgKikgMDsKfCBzdGF0aWMgaW50 IHl5X2luaXQgPSAxOwkJLyogd2hldGhlciB3ZSBuZWVkIHRvIGluaXRpYWxpemUgKi8KfCBz dGF0aWMgaW50IHl5X3N0YXJ0ID0gMDsJLyogc3RhcnQgc3RhdGUgbnVtYmVyICovCnwgCnwg LyogRmxhZyB3aGljaCBpcyB1c2VkIHRvIGFsbG93IHl5d3JhcCgpJ3MgdG8gZG8gYnVmZmVy IHN3aXRjaGVzCnwgICogaW5zdGVhZCBvZiBzZXR0aW5nIHVwIGEgZnJlc2ggeXlpbi4gIEEg Yml0IG9mIGEgaGFjayAuLi4KfCAgKi8KfCBzdGF0aWMgaW50IHl5X2RpZF9idWZmZXJfc3dp dGNoX29uX2VvZjsKfCAKfCB2b2lkIHl5cmVzdGFydCBZWV9QUk9UTygoIEZJTEUgKmlucHV0 X2ZpbGUgKSk7CnwgCnwgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVyIFlZX1BST1RPKCggWVlf QlVGRkVSX1NUQVRFIG5ld19idWZmZXIgKSk7Cnwgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0 ZSBZWV9QUk9UTygoIHZvaWQgKSk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9idWZm ZXIgWVlfUFJPVE8oKCBGSUxFICpmaWxlLCBpbnQgc2l6ZSApKTsKfCB2b2lkIHl5X2RlbGV0 ZV9idWZmZXIgWVlfUFJPVE8oKCBZWV9CVUZGRVJfU1RBVEUgYiApKTsKfCB2b2lkIHl5X2lu aXRfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIsIEZJTEUgKmZpbGUgKSk7 Cnwgdm9pZCB5eV9mbHVzaF9idWZmZXIgWVlfUFJPVE8oKCBZWV9CVUZGRVJfU1RBVEUgYiAp KTsKfCAjZGVmaW5lIFlZX0ZMVVNIX0JVRkZFUiB5eV9mbHVzaF9idWZmZXIoIHl5X2N1cnJl bnRfYnVmZmVyICkKfCAKfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9idWZmZXIgWVlfUFJP VE8oKCBjaGFyICpiYXNlLCB5eV9zaXplX3Qgc2l6ZSApKTsKfCBZWV9CVUZGRVJfU1RBVEUg eXlfc2Nhbl9zdHJpbmcgWVlfUFJPVE8oKCB5eWNvbnN0IGNoYXIgKnl5X3N0ciApKTsKfCBZ WV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9ieXRlcyBZWV9QUk9UTygoIHl5Y29uc3QgY2hhciAq Ynl0ZXMsIGludCBsZW4gKSk7CnwgCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfYWxsb2MgWVlf UFJPVE8oKCB5eV9zaXplX3QgKSk7Cnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfcmVhbGxvYyBZ WV9QUk9UTygoIHZvaWQgKiwgeXlfc2l6ZV90ICkpIF9fdW51c2VkOwp8IHN0YXRpYyB2b2lk IHl5X2ZsZXhfZnJlZSBZWV9QUk9UTygoIHZvaWQgKiApKTsKfCAKfCAjZGVmaW5lIHl5X25l d19idWZmZXIgeXlfY3JlYXRlX2J1ZmZlcgp8IAp8ICNkZWZpbmUgeXlfc2V0X2ludGVyYWN0 aXZlKGlzX2ludGVyYWN0aXZlKSBcCnwgCXsgXAp8IAlpZiAoICEgeXlfY3VycmVudF9idWZm ZXIgKSBcCnwgCQl5eV9jdXJyZW50X2J1ZmZlciA9IHl5X2NyZWF0ZV9idWZmZXIoIHl5aW4s IFlZX0JVRl9TSVpFICk7IFwKfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2lzX2ludGVyYWN0 aXZlID0gaXNfaW50ZXJhY3RpdmU7IFwKfCAJfQp8IAp8ICNkZWZpbmUgeXlfc2V0X2JvbChh dF9ib2wpIFwKfCAJeyBcCnwgCWlmICggISB5eV9jdXJyZW50X2J1ZmZlciApIFwKfCAJCXl5 X2N1cnJlbnRfYnVmZmVyID0geXlfY3JlYXRlX2J1ZmZlciggeXlpbiwgWVlfQlVGX1NJWkUg KTsgXAp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlfYXRfYm9sID0gYXRfYm9sOyBcCnwgCX0K fCAKfCAjZGVmaW5lIFlZX0FUX0JPTCgpICh5eV9jdXJyZW50X2J1ZmZlci0+eXlfYXRfYm9s KQp8IAp8IAp8ICNkZWZpbmUgWVlfVVNFU19SRUpFQ1QKfCB0eXBlZGVmIHVuc2lnbmVkIGNo YXIgWVlfQ0hBUjsKfCBGSUxFICp5eWluID0gKEZJTEUgKikgMCwgKnl5b3V0ID0gKEZJTEUg KikgMDsKfCB0eXBlZGVmIGludCB5eV9zdGF0ZV90eXBlOwp8IGV4dGVybiBjaGFyICp5eXRl eHQ7CnwgI2RlZmluZSB5eXRleHRfcHRyIHl5dGV4dAp8IAp8IHN0YXRpYyB5eV9zdGF0ZV90 eXBlIHl5X2dldF9wcmV2aW91c19zdGF0ZSBZWV9QUk9UTygoIHZvaWQgKSk7Cnwgc3RhdGlj IHl5X3N0YXRlX3R5cGUgeXlfdHJ5X05VTF90cmFucyBZWV9QUk9UTygoIHl5X3N0YXRlX3R5 cGUgY3VycmVudF9zdGF0ZSApKTsKfCBzdGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciBZ WV9QUk9UTygoIHZvaWQgKSk7Cnwgc3RhdGljIHZvaWQgeXlfZmF0YWxfZXJyb3IgWVlfUFJP VE8oKCB5eWNvbnN0IGNoYXIgbXNnW10gKSk7CnwgCnwgLyogRG9uZSBhZnRlciB0aGUgY3Vy cmVudCBwYXR0ZXJuIGhhcyBiZWVuIG1hdGNoZWQgYW5kIGJlZm9yZSB0aGUKfCAgKiBjb3Jy ZXNwb25kaW5nIGFjdGlvbiAtIHNldHMgdXAgeXl0ZXh0Lgp8ICAqLwp8ICNkZWZpbmUgWVlf RE9fQkVGT1JFX0FDVElPTiBcCnwgCXl5dGV4dF9wdHIgPSB5eV9icDsgXAp8IAl5eXRleHRf cHRyIC09IHl5X21vcmVfbGVuOyBcCnwgCXl5bGVuZyA9IChpbnQpICh5eV9jcCAtIHl5dGV4 dF9wdHIpOyBcCnwgCXl5X2hvbGRfY2hhciA9ICp5eV9jcDsgXAp8IAkqeXlfY3AgPSAnXDAn OyBcCnwgCXl5X2NfYnVmX3AgPSB5eV9jcDsKfCAKfCAjZGVmaW5lIFlZX05VTV9SVUxFUyA4 CnwgI2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSIDkKfCBzdGF0aWMgeXljb25zdCBzaG9ydCBp bnQgeXlfYWNjbGlzdFsyM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDksICAgIDcsICAg IDgsICAgIDgsICAgIDEsICAgIDcsICAgIDgsICAgIDIsICAgIDcsICAgIDgsCnwgICAgICAg ICAzLCAgICA3LCAgICA4LCAgICA0LCAgICA3LCAgICA4LCAgICA1LCAgICA3LCAgICA4LCAg ICA2LAp8ICAgICAgICAgNywgICAgOAp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBz aG9ydCBpbnQgeXlfYWNjZXB0WzE0XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwgICAg MSwgICAgMSwgICAgMiwgICAgNCwgICAgNSwgICAgOCwgICAxMSwgICAxNCwgICAxNywKfCAg ICAgICAgMjAsICAgMjMsICAgMjMKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgaW50 IHl5X2VjWzI1Nl0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDIsCnwgICAgICAgICAxLCAg ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8 ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg ICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs ICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAx LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAg MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAg ICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg IDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg ICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwg ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEs ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDMsICAgIDQsICAgIDUsICAgIDYsCnwgCnwg ICAgICAgICA3LCAgICA4LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg ICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg ICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAx LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAg ICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg MSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg IDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwg ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAg ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs ICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx LCAgICAxLCAgICAxLCAgICAxLAp8IAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwg ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEs ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAg ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx LCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg MSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAg ICAxLCAgICAxLCAgICAxCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGludCB5eV9t ZXRhWzldID0KfCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg ICAxLCAgICAxLCAgICAxLCAgICAxCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNo b3J0IGludCB5eV9iYXNlWzEzXSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMCwgICAgMCwg ICAgOSwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAxMCwKfCAgICAg ICAgMTAsICAgMTAKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5 X2RlZlsxM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgMTIsICAgIDEsICAgMTIsICAgMTIs ICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsCnwgICAgICAgIDEyLCAgICAw CnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGludCB5eV9ueHRbMTldID0K fCAgICAgeyAgIDAsCnwgICAgICAgICA0LCAgICA1LCAgICA2LCAgICA3LCAgICA4LCAgICA5 LCAgIDEwLCAgIDExLCAgIDEyLCAgICAzLAp8ICAgICAgICAxMiwgICAxMiwgICAxMiwgICAx MiwgICAxMiwgICAxMiwgICAxMiwgICAxMgp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25z dCBzaG9ydCBpbnQgeXlfY2hrWzE5XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwgICAg MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMywgICAxMiwKfCAg ICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIKfCAg ICAgfSA7CnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfc3RhdGVfYnVmW1lZX0JVRl9T SVpFICsgMl0sICp5eV9zdGF0ZV9wdHI7Cnwgc3RhdGljIGNoYXIgKnl5X2Z1bGxfbWF0Y2g7 Cnwgc3RhdGljIGludCB5eV9scDsKfCAjZGVmaW5lIFJFSkVDVCBcCnwgeyBcCnwgKnl5X2Nw ID0geXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQg Ki8gXAp8IHl5X2NwID0geXlfZnVsbF9tYXRjaDsgLyogcmVzdG9yZSBwb3NzLiBiYWNrZWQt b3ZlciB0ZXh0ICovIFwKfCArK3l5X2xwOyBcCnwgZ290byBmaW5kX3J1bGU7IFwKfCB9Cnwg c3RhdGljIGludCB5eV9tb3JlX2ZsYWcgPSAwOwp8IHN0YXRpYyBpbnQgeXlfbW9yZV9sZW4g PSAwOwp8ICNkZWZpbmUgeXltb3JlKCkgKHl5X21vcmVfZmxhZyA9IDEpCnwgI2RlZmluZSBZ WV9NT1JFX0FESiB5eV9tb3JlX2xlbgp8ICNkZWZpbmUgWVlfUkVTVE9SRV9ZWV9NT1JFX09G RlNFVAp8IGNoYXIgKnl5dGV4dDsKfCAjbGluZSAxICJjb25mdGVzdC5sIgp8ICNkZWZpbmUg SU5JVElBTCAwCnwgI2xpbmUgMzkwICJsZXgueXkuYyIKfCAKfCAvKiBNYWNyb3MgYWZ0ZXIg dGhpcyBwb2ludCBjYW4gYWxsIGJlIG92ZXJyaWRkZW4gYnkgdXNlciBkZWZpbml0aW9ucyBp bgp8ICAqIHNlY3Rpb24gMS4KfCAgKi8KfCAKfCAjaWZuZGVmIFlZX1NLSVBfWVlXUkFQCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiBpbnQgeXl3cmFwIFlZX1BST1RPKCgg dm9pZCApKTsKfCAjZWxzZQp8IGV4dGVybiBpbnQgeXl3cmFwIFlZX1BST1RPKCggdm9pZCAp KTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX05PX1VOUFVUCnwgc3RhdGlj IHZvaWQgeXl1bnB1dCBZWV9QUk9UTygoIGludCBjLCBjaGFyICpidWZfcHRyICkpOwp8ICNl bmRpZgp8IAp8ICNpZm5kZWYgeXl0ZXh0X3B0cgp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3Ry bmNweSBZWV9QUk9UTygoIGNoYXIgKiwgeXljb25zdCBjaGFyICosIGludCApKTsKfCAjZW5k aWYKfCAKfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4KfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3Ry bGVuIFlZX1BST1RPKCggeXljb25zdCBjaGFyICogKSk7CnwgI2VuZGlmCnwgCnwgI2lmbmRl ZiBZWV9OT19JTlBVVAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IHN0YXRpYyBpbnQgeXlpbnB1 dCBZWV9QUk9UTygoIHZvaWQgKSk7CnwgI2Vsc2UKfCBzdGF0aWMgaW50IGlucHV0IFlZX1BS T1RPKCggdm9pZCApKTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAjaWYgWVlfU1RBQ0tfVVNF RAp8IHN0YXRpYyBpbnQgeXlfc3RhcnRfc3RhY2tfcHRyID0gMDsKfCBzdGF0aWMgaW50IHl5 X3N0YXJ0X3N0YWNrX2RlcHRoID0gMDsKfCBzdGF0aWMgaW50ICp5eV9zdGFydF9zdGFjayA9 IDA7CnwgI2lmbmRlZiBZWV9OT19QVVNIX1NUQVRFCnwgc3RhdGljIHZvaWQgeXlfcHVzaF9z dGF0ZSBZWV9QUk9UTygoIGludCBuZXdfc3RhdGUgKSk7CnwgI2VuZGlmCnwgI2lmbmRlZiBZ WV9OT19QT1BfU1RBVEUKfCBzdGF0aWMgdm9pZCB5eV9wb3Bfc3RhdGUgWVlfUFJPVE8oKCB2 b2lkICkpOwp8ICNlbmRpZgp8ICNpZm5kZWYgWVlfTk9fVE9QX1NUQVRFCnwgc3RhdGljIGlu dCB5eV90b3Bfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8ICNlbmRpZgp8IAp8ICNlbHNl CnwgI2RlZmluZSBZWV9OT19QVVNIX1NUQVRFIDEKfCAjZGVmaW5lIFlZX05PX1BPUF9TVEFU RSAxCnwgI2RlZmluZSBZWV9OT19UT1BfU1RBVEUgMQp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZ WV9NQUxMT0NfREVDTAp8IFlZX01BTExPQ19ERUNMCnwgI2Vsc2UKfCAjaWYgX19TVERDX18K fCAjaWZuZGVmIF9fY3BsdXNwbHVzCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNlbmRpZgp8 ICNlbHNlCnwgLyogSnVzdCB0cnkgdG8gZ2V0IGJ5IHdpdGhvdXQgZGVjbGFyaW5nIHRoZSBy b3V0aW5lcy4gIFRoaXMgd2lsbCBmYWlsCnwgICogbWlzZXJhYmx5IG9uIG5vbi1BTlNJIHN5 c3RlbXMgZm9yIHdoaWNoIHNpemVvZihzaXplX3QpICE9IHNpemVvZihpbnQpCnwgICogb3Ig c2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoaW50KS4KfCAgKi8KfCAjZW5kaWYKfCAjZW5kaWYK fCAKfCAvKiBBbW91bnQgb2Ygc3R1ZmYgdG8gc2x1cnAgdXAgd2l0aCBlYWNoIHJlYWQuICov CnwgI2lmbmRlZiBZWV9SRUFEX0JVRl9TSVpFCnwgI2RlZmluZSBZWV9SRUFEX0JVRl9TSVpF IDgxOTIKfCAjZW5kaWYKfCAKfCAvKiBDb3B5IHdoYXRldmVyIHRoZSBsYXN0IHJ1bGUgbWF0 Y2hlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAqLwp8IAp8ICNpZm5kZWYgRUNITwp8IC8q IFRoaXMgdXNlZCB0byBiZSBhbiBmcHV0cygpLCBidXQgc2luY2UgdGhlIHN0cmluZyBtaWdo dCBjb250YWluIE5VTCdzLAp8ICAqIHdlIG5vdyB1c2UgZndyaXRlKCkuCnwgICovCnwgI2Rl ZmluZSBFQ0hPICh2b2lkKSBmd3JpdGUoIHl5dGV4dCwgeXlsZW5nLCAxLCB5eW91dCApCnwg I2VuZGlmCnwgCnwgLyogR2V0cyBpbnB1dCBhbmQgc3R1ZmZzIGl0IGludG8gImJ1ZiIuICBu dW1iZXIgb2YgY2hhcmFjdGVycyByZWFkLCBvciBZWV9OVUxMLAp8ICAqIGlzIHJldHVybmVk IGluICJyZXN1bHQiLgp8ICAqLwp8ICNpZm5kZWYgWVlfSU5QVVQKfCAjZGVmaW5lIFlZX0lO UFVUKGJ1ZixyZXN1bHQsbWF4X3NpemUpIFwKfCAJaWYgKCB5eV9jdXJyZW50X2J1ZmZlci0+ eXlfaXNfaW50ZXJhY3RpdmUgKSBcCnwgCQl7IFwKfCAJCWludCBjID0gJyonLCBuOyBcCnwg CQlmb3IgKCBuID0gMDsgbiA8IG1heF9zaXplICYmIFwKfCAJCQkgICAgIChjID0gZ2V0Yygg eXlpbiApKSAhPSBFT0YgJiYgYyAhPSAnXG4nOyArK24gKSBcCnwgCQkJYnVmW25dID0gKGNo YXIpIGM7IFwKfCAJCWlmICggYyA9PSAnXG4nICkgXAp8IAkJCWJ1ZltuKytdID0gKGNoYXIp IGM7IFwKfCAJCWlmICggYyA9PSBFT0YgJiYgZmVycm9yKCB5eWluICkgKSBcCnwgCQkJWVlf RkFUQUxfRVJST1IoICJpbnB1dCBpbiBmbGV4IHNjYW5uZXIgZmFpbGVkIiApOyBcCnwgCQly ZXN1bHQgPSBuOyBcCnwgCQl9IFwKfCAJZWxzZSBpZiAoICgocmVzdWx0ID0gZnJlYWQoIGJ1 ZiwgMSwgbWF4X3NpemUsIHl5aW4gKSkgPT0gMCkgXAp8IAkJICAmJiBmZXJyb3IoIHl5aW4g KSApIFwKfCAJCVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxl ZCIgKTsKfCAjZW5kaWYKfCAKfCAvKiBObyBzZW1pLWNvbG9uIGFmdGVyIHJldHVybjsgY29y cmVjdCB1c2FnZSBpcyB0byB3cml0ZSAieXl0ZXJtaW5hdGUoKTsiIC0KfCAgKiB3ZSBkb24n dCB3YW50IGFuIGV4dHJhICc7JyBhZnRlciB0aGUgInJldHVybiIgYmVjYXVzZSB0aGF0IHdp bGwgY2F1c2UKfCAgKiBzb21lIGNvbXBpbGVycyB0byBjb21wbGFpbiBhYm91dCB1bnJlYWNo YWJsZSBzdGF0ZW1lbnRzLgp8ICAqLwp8ICNpZm5kZWYgeXl0ZXJtaW5hdGUKfCAjZGVmaW5l IHl5dGVybWluYXRlKCkgcmV0dXJuIFlZX05VTEwKfCAjZW5kaWYKfCAKfCAvKiBOdW1iZXIg b2YgZW50cmllcyBieSB3aGljaCBzdGFydC1jb25kaXRpb24gc3RhY2sgZ3Jvd3MuICovCnwg I2lmbmRlZiBZWV9TVEFSVF9TVEFDS19JTkNSCnwgI2RlZmluZSBZWV9TVEFSVF9TVEFDS19J TkNSIDI1CnwgI2VuZGlmCnwgCnwgLyogUmVwb3J0IGEgZmF0YWwgZXJyb3IuICovCnwgI2lm bmRlZiBZWV9GQVRBTF9FUlJPUgp8ICNkZWZpbmUgWVlfRkFUQUxfRVJST1IobXNnKSB5eV9m YXRhbF9lcnJvciggbXNnICkKfCAjZW5kaWYKfCAKfCAvKiBEZWZhdWx0IGRlY2xhcmF0aW9u IG9mIGdlbmVyYXRlZCBzY2FubmVyIC0gYSBkZWZpbmUgc28gdGhlIHVzZXIgY2FuCnwgICog ZWFzaWx5IGFkZCBwYXJhbWV0ZXJzLgp8ICAqLwp8ICNpZm5kZWYgWVlfREVDTAp8ICNkZWZp bmUgWVlfREVDTCBpbnQgeXlsZXggWVlfUFJPVE8oKCB2b2lkICkpCnwgI2VuZGlmCnwgCnwg LyogQ29kZSBleGVjdXRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcnVsZSwgYWZ0ZXIg eXl0ZXh0IGFuZCB5eWxlbmcKfCAgKiBoYXZlIGJlZW4gc2V0IHVwLgp8ICAqLwp8ICNpZm5k ZWYgWVlfVVNFUl9BQ1RJT04KfCAjZGVmaW5lIFlZX1VTRVJfQUNUSU9OCnwgI2VuZGlmCnwg CnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgZW5kIG9mIGVhY2ggcnVsZS4gKi8KfCAjaWZu ZGVmIFlZX0JSRUFLCnwgI2RlZmluZSBZWV9CUkVBSyBicmVhazsKfCAjZW5kaWYKfCAKfCAj ZGVmaW5lIFlZX1JVTEVfU0VUVVAgXAp8IAlZWV9VU0VSX0FDVElPTgp8IAp8IFlZX0RFQ0wK fCAJewp8IAlyZWdpc3RlciB5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgCXJl Z2lzdGVyIGNoYXIgKnl5X2NwLCAqeXlfYnA7CnwgCXJlZ2lzdGVyIGludCB5eV9hY3Q7Cnwg CnwgI2xpbmUgMSAiY29uZnRlc3QubCIKfCAKfCAjbGluZSA1NDMgImxleC55eS5jIgp8IAp8 IAlpZiAoIHl5X2luaXQgKQp8IAkJewp8IAkJeXlfaW5pdCA9IDA7CnwgCnwgI2lmZGVmIFlZ X1VTRVJfSU5JVAp8IAkJWVlfVVNFUl9JTklUOwp8ICNlbmRpZgp8IAp8IAkJaWYgKCAhIHl5 X3N0YXJ0ICkKfCAJCQl5eV9zdGFydCA9IDE7CS8qIGZpcnN0IHN0YXJ0IHN0YXRlICovCnwg CnwgCQlpZiAoICEgeXlpbiApCnwgCQkJeXlpbiA9IHN0ZGluOwp8IAp8IAkJaWYgKCAhIHl5 b3V0ICkKfCAJCQl5eW91dCA9IHN0ZG91dDsKfCAKfCAJCWlmICggISB5eV9jdXJyZW50X2J1 ZmZlciApCnwgCQkJeXlfY3VycmVudF9idWZmZXIgPQp8IAkJCQl5eV9jcmVhdGVfYnVmZmVy KCB5eWluLCBZWV9CVUZfU0laRSApOwp8IAp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsK fCAJCX0KfCAKfCAJd2hpbGUgKCAxICkJCS8qIGxvb3BzIHVudGlsIGVuZC1vZi1maWxlIGlz IHJlYWNoZWQgKi8KfCAJCXsKfCAJCXl5X21vcmVfbGVuID0gMDsKfCAJCWlmICggeXlfbW9y ZV9mbGFnICkKfCAJCQl7CnwgCQkJeXlfbW9yZV9sZW4gPSB5eV9jX2J1Zl9wIC0geXl0ZXh0 X3B0cjsKfCAJCQl5eV9tb3JlX2ZsYWcgPSAwOwp8IAkJCX0KfCAJCXl5X2NwID0geXlfY19i dWZfcDsKfCAKfCAJCS8qIFN1cHBvcnQgb2YgeXl0ZXh0LiAqLwp8IAkJKnl5X2NwID0geXlf aG9sZF9jaGFyOwp8IAp8IAkJLyogeXlfYnAgcG9pbnRzIHRvIHRoZSBwb3NpdGlvbiBpbiB5 eV9jaF9idWYgb2YgdGhlIHN0YXJ0IG9mCnwgCQkgKiB0aGUgY3VycmVudCBydW4uCnwgCQkg Ki8KfCAJCXl5X2JwID0geXlfY3A7CnwgCnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlfc3Rh cnQ7CnwgCQl5eV9zdGF0ZV9wdHIgPSB5eV9zdGF0ZV9idWY7CnwgCQkqeXlfc3RhdGVfcHRy KysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IHl5X21hdGNoOgp8IAkJZG8KfCAJCQl7CnwgCQkJ cmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0geXlfZWNbWVlfU0NfVE9fVUkoKnl5X2NwKV07Cnwg CQkJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9 IHl5X2N1cnJlbnRfc3RhdGUgKQp8IAkJCQl7CnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSAo aW50KSB5eV9kZWZbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJCWlmICggeXlfY3VycmVudF9z dGF0ZSA+PSAxMyApCnwgCQkJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9j XTsKfCAJCQkJfQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9j dXJyZW50X3N0YXRlXSArICh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJCSp5eV9zdGF0ZV9w dHIrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCQkJKyt5eV9jcDsKfCAJCQl9CnwgCQl3aGls ZSAoIHl5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gIT0gMTAgKTsKfCAKfCB5eV9maW5kX2Fj dGlvbjoKfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSAqLS15eV9zdGF0ZV9wdHI7CnwgCQl5eV9s cCA9IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlXTsKfCBnb3RvIGZpbmRfcnVsZTsgLyog YXZvaWQgYGRlZmluZWQgYnV0IG5vdCB1c2VkJyB3YXJuaW5nICovCnwgZmluZF9ydWxlOiAv KiB3ZSBicmFuY2ggdG8gdGhpcyBsYWJlbCB3aGVuIGJhY2tpbmcgdXAgKi8KfCAJCWZvciAo IDsgOyApIC8qIHVudGlsIHdlIGZpbmQgd2hhdCBydWxlIHdlIG1hdGNoZWQgKi8KfCAJCQl7 CnwgCQkJaWYgKCB5eV9scCAmJiB5eV9scCA8IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRl ICsgMV0gKQp8IAkJCQl7CnwgCQkJCXl5X2FjdCA9IHl5X2FjY2xpc3RbeXlfbHBdOwp8IAkJ CQkJewp8IAkJCQkJeXlfZnVsbF9tYXRjaCA9IHl5X2NwOwp8IAkJCQkJYnJlYWs7CnwgCQkJ CQl9CnwgCQkJCX0KfCAJCQktLXl5X2NwOwp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSAqLS15 eV9zdGF0ZV9wdHI7CnwgCQkJeXlfbHAgPSB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZV07 CnwgCQkJfQp8IAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsKfCAKfCAKfCBkb19hY3Rpb246 CS8qIFRoaXMgbGFiZWwgaXMgdXNlZCBvbmx5IHRvIGFjY2VzcyBFT0YgYWN0aW9ucy4gKi8K fCAKfCAKfCAJCXN3aXRjaCAoIHl5X2FjdCApCnwgCXsgLyogYmVnaW5uaW5nIG9mIGFjdGlv biBzd2l0Y2ggKi8KfCBjYXNlIDE6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDIgImNvbmZ0 ZXN0LmwiCnwgeyBFQ0hPOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAyOgp8IFlZX1JVTEVfU0VU VVAKfCAjbGluZSAzICJjb25mdGVzdC5sIgp8IHsgUkVKRUNUOyB9CnwgCVlZX0JSRUFLCnwg Y2FzZSAzOgp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA0ICJjb25mdGVzdC5sIgp8IHsgeXlt b3JlICgpOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSA0Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGlu ZSA1ICJjb25mdGVzdC5sIgp8IHsgeXlsZXNzICgxKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2Ug NToKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgNiAiY29uZnRlc3QubCIKfCB7IHl5bGVzcyAo aW5wdXQgKCkgIT0gMCk7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDY6CnwgWVlfUlVMRV9TRVRV UAp8ICNsaW5lIDcgImNvbmZ0ZXN0LmwiCnwgeyB1bnB1dCAoeXl0ZXh0WzBdKTsgfQp8IAlZ WV9CUkVBSwp8IGNhc2UgNzoKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgOCAiY29uZnRlc3Qu bCIKfCB7IEJFR0lOIElOSVRJQUw7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDg6CnwgWVlfUlVM RV9TRVRVUAp8ICNsaW5lIDkgImNvbmZ0ZXN0LmwiCnwgRUNITzsKfCAJWVlfQlJFQUsKfCAj bGluZSA2NzQgImxleC55eS5jIgp8IAkJCWNhc2UgWVlfU1RBVEVfRU9GKElOSVRJQUwpOgp8 IAkJCQl5eXRlcm1pbmF0ZSgpOwp8IAp8IAljYXNlIFlZX0VORF9PRl9CVUZGRVI6CnwgCQl7 CnwgCQkvKiBBbW91bnQgb2YgdGV4dCBtYXRjaGVkIG5vdCBpbmNsdWRpbmcgdGhlIEVPQiBj aGFyLiAqLwp8IAkJaW50IHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQgPSAoaW50KSAoeXlf Y3AgLSB5eXRleHRfcHRyKSAtIDE7CnwgCnwgCQkvKiBVbmRvIHRoZSBlZmZlY3RzIG9mIFlZ X0RPX0JFRk9SRV9BQ1RJT04uICovCnwgCQkqeXlfY3AgPSB5eV9ob2xkX2NoYXI7CnwgCQlZ WV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VUCnwgCnwgCQlpZiAoIHl5X2N1cnJlbnRfYnVmZmVy LT55eV9idWZmZXJfc3RhdHVzID09IFlZX0JVRkZFUl9ORVcgKQp8IAkJCXsKfCAJCQkvKiBX ZSdyZSBzY2FubmluZyBhIG5ldyBmaWxlIG9yIGlucHV0IHNvdXJjZS4gIEl0J3MKfCAJCQkg KiBwb3NzaWJsZSB0aGF0IHRoaXMgaGFwcGVuZWQgYmVjYXVzZSB0aGUgdXNlcgp8IAkJCSAq IGp1c3QgcG9pbnRlZCB5eWluIGF0IGEgbmV3IHNvdXJjZSBhbmQgY2FsbGVkCnwgCQkJICog eXlsZXgoKS4gIElmIHNvLCB0aGVuIHdlIGhhdmUgdG8gYXNzdXJlCnwgCQkJICogY29uc2lz dGVuY3kgYmV0d2VlbiB5eV9jdXJyZW50X2J1ZmZlciBhbmQgb3VyCnwgCQkJICogZ2xvYmFs cy4gIEhlcmUgaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIGRvIHNvLCBiZWNhdXNlCnwgCQkJICog dGhpcyBpcyB0aGUgZmlyc3QgYWN0aW9uIChvdGhlciB0aGFuIHBvc3NpYmx5IGEKfCAJCQkg KiBiYWNrLXVwKSB0aGF0IHdpbGwgbWF0Y2ggZm9yIHRoZSBuZXcgaW5wdXQgc291cmNlLgp8 IAkJCSAqLwp8IAkJCXl5X25fY2hhcnMgPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFy czsKfCAJCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfaW5wdXRfZmlsZSA9IHl5aW47CnwgCQkJ eXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTk9STUFM Owp8IAkJCX0KfCAKfCAJCS8qIE5vdGUgdGhhdCBoZXJlIHdlIHRlc3QgZm9yIHl5X2NfYnVm X3AgIjw9IiB0byB0aGUgcG9zaXRpb24KfCAJCSAqIG9mIHRoZSBmaXJzdCBFT0IgaW4gdGhl IGJ1ZmZlciwgc2luY2UgeXlfY19idWZfcCB3aWxsCnwgCQkgKiBhbHJlYWR5IGhhdmUgYmVl biBpbmNyZW1lbnRlZCBwYXN0IHRoZSBOVUwgY2hhcmFjdGVyCnwgCQkgKiAoc2luY2UgYWxs IHN0YXRlcyBtYWtlIHRyYW5zaXRpb25zIG9uIEVPQiB0byB0aGUKfCAJCSAqIGVuZC1vZi1i dWZmZXIgc3RhdGUpLiAgQ29udHJhc3QgdGhpcyB3aXRoIHRoZSB0ZXN0CnwgCQkgKiBpbiBp bnB1dCgpLgp8IAkJICovCnwgCQlpZiAoIHl5X2NfYnVmX3AgPD0gJnl5X2N1cnJlbnRfYnVm ZmVyLT55eV9jaF9idWZbeXlfbl9jaGFyc10gKQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5 IGEgTlVMLiAqLwp8IAkJCXl5X3N0YXRlX3R5cGUgeXlfbmV4dF9zdGF0ZTsKfCAKfCAJCQl5 eV9jX2J1Zl9wID0geXl0ZXh0X3B0ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7Cnwg CnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSgpOwp8IAp8 IAkJCS8qIE9rYXksIHdlJ3JlIG5vdyBwb3NpdGlvbmVkIHRvIG1ha2UgdGhlIE5VTAp8IAkJ CSAqIHRyYW5zaXRpb24uICBXZSBjb3VsZG4ndCBoYXZlCnwgCQkJICogeXlfZ2V0X3ByZXZp b3VzX3N0YXRlKCkgZ28gYWhlYWQgYW5kIGRvIGl0CnwgCQkJICogZm9yIHVzIGJlY2F1c2Ug aXQgZG9lc24ndCBrbm93IGhvdyB0byBkZWFsCnwgCQkJICogd2l0aCB0aGUgcG9zc2liaWxp dHkgb2YgamFtbWluZyAoYW5kIHdlIGRvbid0CnwgCQkJICogd2FudCB0byBidWlsZCBqYW1t aW5nIGludG8gaXQgYmVjYXVzZSB0aGVuIGl0CnwgCQkJICogd2lsbCBydW4gbW9yZSBzbG93 bHkpLgp8IAkJCSAqLwp8IAp8IAkJCXl5X25leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5z KCB5eV9jdXJyZW50X3N0YXRlICk7CnwgCnwgCQkJeXlfYnAgPSB5eXRleHRfcHRyICsgWVlf TU9SRV9BREo7CnwgCnwgCQkJaWYgKCB5eV9uZXh0X3N0YXRlICkKfCAJCQkJewp8IAkJCQkv KiBDb25zdW1lIHRoZSBOVUwuICovCnwgCQkJCXl5X2NwID0gKyt5eV9jX2J1Zl9wOwp8IAkJ CQl5eV9jdXJyZW50X3N0YXRlID0geXlfbmV4dF9zdGF0ZTsKfCAJCQkJZ290byB5eV9tYXRj aDsKfCAJCQkJfQp8IAp8IAkJCWVsc2UKfCAJCQkJewp8IAkJCQl5eV9jcCA9IHl5X2NfYnVm X3A7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247CnwgCQkJCX0KfCAJCQl9CnwgCnwgCQll bHNlIHN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlcigpICkKfCAJCQl7CnwgCQkJY2FzZSBF T0JfQUNUX0VORF9PRl9GSUxFOgp8IAkJCQl7CnwgCQkJCXl5X2RpZF9idWZmZXJfc3dpdGNo X29uX2VvZiA9IDA7CnwgCnwgCQkJCWlmICggeXl3cmFwKCkgKQp8IAkJCQkJewp8IAkJCQkJ LyogTm90ZTogYmVjYXVzZSB3ZSd2ZSB0YWtlbiBjYXJlIGluCnwgCQkJCQkgKiB5eV9nZXRf bmV4dF9idWZmZXIoKSB0byBoYXZlIHNldCB1cAp8IAkJCQkJICogeXl0ZXh0LCB3ZSBjYW4g bm93IHNldCB1cAp8IAkJCQkJICogeXlfY19idWZfcCBzbyB0aGF0IGlmIHNvbWUgdG90YWwK fCAJCQkJCSAqIGhvc2VyIChsaWtlIGZsZXggaXRzZWxmKSB3YW50cyB0bwp8IAkJCQkJICog Y2FsbCB0aGUgc2Nhbm5lciBhZnRlciB3ZSByZXR1cm4gdGhlCnwgCQkJCQkgKiBZWV9OVUxM LCBpdCdsbCBzdGlsbCB3b3JrIC0gYW5vdGhlcgp8IAkJCQkJICogWVlfTlVMTCB3aWxsIGdl dCByZXR1cm5lZC4KfCAJCQkJCSAqLwp8IAkJCQkJeXlfY19idWZfcCA9IHl5dGV4dF9wdHIg KyBZWV9NT1JFX0FESjsKfCAKfCAJCQkJCXl5X2FjdCA9IFlZX1NUQVRFX0VPRihZWV9TVEFS VCk7CnwgCQkJCQlnb3RvIGRvX2FjdGlvbjsKfCAJCQkJCX0KfCAKfCAJCQkJZWxzZQp8IAkJ CQkJewp8IAkJCQkJaWYgKCAhIHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiApCnwgCQkJ CQkJWVlfTkVXX0ZJTEU7CnwgCQkJCQl9CnwgCQkJCWJyZWFrOwp8IAkJCQl9CnwgCnwgCQkJ Y2FzZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU46CnwgCQkJCXl5X2NfYnVmX3AgPQp8IAkJCQkJ eXl0ZXh0X3B0ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7CnwgCnwgCQkJCXl5X2N1 cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKTsKfCAKfCAJCQkJeXlfY3Ag PSB5eV9jX2J1Zl9wOwp8IAkJCQl5eV9icCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsK fCAJCQkJZ290byB5eV9tYXRjaDsKfCAKfCAJCQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoK fCAJCQkJeXlfY19idWZfcCA9CnwgCQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVm W3l5X25fY2hhcnNdOwp8IAp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfZ2V0X3ByZXZp b3VzX3N0YXRlKCk7CnwgCnwgCQkJCXl5X2NwID0geXlfY19idWZfcDsKfCAJCQkJeXlfYnAg PSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247 CnwgCQkJfQp8IAkJYnJlYWs7CnwgCQl9CnwgCnwgCWRlZmF1bHQ6CnwgCQlZWV9GQVRBTF9F UlJPUigKfCAJCQkiZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rp b24gZm91bmQiICk7CnwgCX0gLyogZW5kIG9mIGFjdGlvbiBzd2l0Y2ggKi8KfCAJCX0gLyog ZW5kIG9mIHNjYW5uaW5nIG9uZSB0b2tlbiAqLwp8IAl9IC8qIGVuZCBvZiB5eWxleCAqLwp8 IAp8IAp8IC8qIHl5X2dldF9uZXh0X2J1ZmZlciAtIHRyeSB0byByZWFkIGluIGEgbmV3IGJ1 ZmZlcgp8ICAqCnwgICogUmV0dXJucyBhIGNvZGUgcmVwcmVzZW50aW5nIGFuIGFjdGlvbjoK fCAgKglFT0JfQUNUX0xBU1RfTUFUQ0ggLQp8ICAqCUVPQl9BQ1RfQ09OVElOVUVfU0NBTiAt IGNvbnRpbnVlIHNjYW5uaW5nIGZyb20gY3VycmVudCBwb3NpdGlvbgp8ICAqCUVPQl9BQ1Rf RU5EX09GX0ZJTEUgLSBlbmQgb2YgZmlsZQp8ICAqLwp8IAp8IHN0YXRpYyBpbnQgeXlfZ2V0 X25leHRfYnVmZmVyKCkKfCAJewp8IAlyZWdpc3RlciBjaGFyICpkZXN0ID0geXlfY3VycmVu dF9idWZmZXItPnl5X2NoX2J1ZjsKfCAJcmVnaXN0ZXIgY2hhciAqc291cmNlID0geXl0ZXh0 X3B0cjsKfCAJcmVnaXN0ZXIgaW50IG51bWJlcl90b19tb3ZlLCBpOwp8IAlpbnQgcmV0X3Zh bDsKfCAKfCAJaWYgKCB5eV9jX2J1Zl9wID4gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9i dWZbeXlfbl9jaGFycyArIDFdICkKfCAJCVlZX0ZBVEFMX0VSUk9SKAp8IAkJImZhdGFsIGZs ZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tZW5kIG9mIGJ1ZmZlciBtaXNzZWQiICk7Cnwg CnwgCWlmICggeXlfY3VycmVudF9idWZmZXItPnl5X2ZpbGxfYnVmZmVyID09IDAgKQp8IAkJ eyAvKiBEb24ndCB0cnkgdG8gZmlsbCB0aGUgYnVmZmVyLCBzbyB0aGlzIGlzIGFuIEVPRi4g Ki8KfCAJCWlmICggeXlfY19idWZfcCAtIHl5dGV4dF9wdHIgLSBZWV9NT1JFX0FESiA9PSAx ICkKfCAJCQl7CnwgCQkJLyogV2UgbWF0Y2hlZCBhIHNpbmdsZSBjaGFyYWN0ZXIsIHRoZSBF T0IsIHNvCnwgCQkJICogdHJlYXQgdGhpcyBhcyBhIGZpbmFsIEVPRi4KfCAJCQkgKi8KfCAJ CQlyZXR1cm4gRU9CX0FDVF9FTkRfT0ZfRklMRTsKfCAJCQl9CnwgCnwgCQllbHNlCnwgCQkJ ewp8IAkJCS8qIFdlIG1hdGNoZWQgc29tZSB0ZXh0IHByaW9yIHRvIHRoZSBFT0IsIGZpcnN0 CnwgCQkJICogcHJvY2VzcyBpdC4KfCAJCQkgKi8KfCAJCQlyZXR1cm4gRU9CX0FDVF9MQVNU X01BVENIOwp8IAkJCX0KfCAJCX0KfCAKfCAJLyogVHJ5IHRvIHJlYWQgbW9yZSBkYXRhLiAq Lwp8IAp8IAkvKiBGaXJzdCBtb3ZlIGxhc3QgY2hhcnMgdG8gc3RhcnQgb2YgYnVmZmVyLiAq Lwp8IAludW1iZXJfdG9fbW92ZSA9IChpbnQpICh5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0cikg LSAxOwp8IAp8IAlmb3IgKCBpID0gMDsgaSA8IG51bWJlcl90b19tb3ZlOyArK2kgKQp8IAkJ KihkZXN0KyspID0gKihzb3VyY2UrKyk7CnwgCnwgCWlmICggeXlfY3VycmVudF9idWZmZXIt Pnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlfQlVGRkVSX0VPRl9QRU5ESU5HICkKfCAJCS8qIGRv bid0IGRvIHRoZSByZWFkLCBpdCdzIG5vdCBndWFyYW50ZWVkIHRvIHJldHVybiBhbiBFT0Ys CnwgCQkgKiBqdXN0IGZvcmNlIGFuIEVPRgp8IAkJICovCnwgCQl5eV9jdXJyZW50X2J1ZmZl ci0+eXlfbl9jaGFycyA9IHl5X25fY2hhcnMgPSAwOwp8IAp8IAllbHNlCnwgCQl7CnwgCQlp bnQgbnVtX3RvX3JlYWQgPQp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZSAt IG51bWJlcl90b19tb3ZlIC0gMTsKfCAKfCAJCXdoaWxlICggbnVtX3RvX3JlYWQgPD0gMCAp CnwgCQkJeyAvKiBOb3QgZW5vdWdoIHJvb20gaW4gdGhlIGJ1ZmZlciAtIGdyb3cgaXQuICov CnwgI2lmZGVmIFlZX1VTRVNfUkVKRUNUCnwgCQkJWVlfRkFUQUxfRVJST1IoCnwgImlucHV0 IGJ1ZmZlciBvdmVyZmxvdywgY2FuJ3QgZW5sYXJnZSBidWZmZXIgYmVjYXVzZSBzY2FubmVy IHVzZXMgUkVKRUNUIiApOwp8ICNlbHNlCnwgCnwgCQkJLyoganVzdCBhIHNob3J0ZXIgbmFt ZSBmb3IgdGhlIGN1cnJlbnQgYnVmZmVyICovCnwgCQkJWVlfQlVGRkVSX1NUQVRFIGIgPSB5 eV9jdXJyZW50X2J1ZmZlcjsKfCAKfCAJCQlpbnQgeXlfY19idWZfcF9vZmZzZXQgPQp8IAkJ CQkoaW50KSAoeXlfY19idWZfcCAtIGItPnl5X2NoX2J1Zik7CnwgCnwgCQkJaWYgKCBiLT55 eV9pc19vdXJfYnVmZmVyICkKfCAJCQkJewp8IAkJCQlpbnQgbmV3X3NpemUgPSBiLT55eV9i dWZfc2l6ZSAqIDI7CnwgCnwgCQkJCWlmICggbmV3X3NpemUgPD0gMCApCnwgCQkJCQliLT55 eV9idWZfc2l6ZSArPSBiLT55eV9idWZfc2l6ZSAvIDg7CnwgCQkJCWVsc2UKfCAJCQkJCWIt Pnl5X2J1Zl9zaXplICo9IDI7CnwgCnwgCQkJCWItPnl5X2NoX2J1ZiA9IChjaGFyICopCnwg CQkJCQkvKiBJbmNsdWRlIHJvb20gaW4gZm9yIDIgRU9CIGNoYXJzLiAqLwp8IAkJCQkJeXlf ZmxleF9yZWFsbG9jKCAodm9pZCAqKSBiLT55eV9jaF9idWYsCnwgCQkJCQkJCSBiLT55eV9i dWZfc2l6ZSArIDIgKTsKfCAJCQkJfQp8IAkJCWVsc2UKfCAJCQkJLyogQ2FuJ3QgZ3JvdyBp dCwgd2UgZG9uJ3Qgb3duIGl0LiAqLwp8IAkJCQliLT55eV9jaF9idWYgPSAwOwp8IAp8IAkJ CWlmICggISBiLT55eV9jaF9idWYgKQp8IAkJCQlZWV9GQVRBTF9FUlJPUigKfCAJCQkJImZh dGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3ciICk7CnwgCnwgCQkJ eXlfY19idWZfcCA9ICZiLT55eV9jaF9idWZbeXlfY19idWZfcF9vZmZzZXRdOwp8IAp8IAkJ CW51bV90b19yZWFkID0geXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXplIC0KfCAJCQkJ CQludW1iZXJfdG9fbW92ZSAtIDE7CnwgI2VuZGlmCnwgCQkJfQp8IAp8IAkJaWYgKCBudW1f dG9fcmVhZCA+IFlZX1JFQURfQlVGX1NJWkUgKQp8IAkJCW51bV90b19yZWFkID0gWVlfUkVB RF9CVUZfU0laRTsKfCAKfCAJCS8qIFJlYWQgaW4gbW9yZSBkYXRhLiAqLwp8IAkJWVlfSU5Q VVQoICgmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZltudW1iZXJfdG9fbW92ZV0pLAp8 IAkJCXl5X25fY2hhcnMsIG51bV90b19yZWFkICk7CnwgCnwgCQl5eV9jdXJyZW50X2J1ZmZl ci0+eXlfbl9jaGFycyA9IHl5X25fY2hhcnM7CnwgCQl9CnwgCnwgCWlmICggeXlfbl9jaGFy cyA9PSAwICkKfCAJCXsKfCAJCWlmICggbnVtYmVyX3RvX21vdmUgPT0gWVlfTU9SRV9BREog KQp8IAkJCXsKfCAJCQlyZXRfdmFsID0gRU9CX0FDVF9FTkRfT0ZfRklMRTsKfCAJCQl5eXJl c3RhcnQoIHl5aW4gKTsKfCAJCQl9CnwgCnwgCQllbHNlCnwgCQkJewp8IAkJCXJldF92YWwg PSBFT0JfQUNUX0xBU1RfTUFUQ0g7CnwgCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZl cl9zdGF0dXMgPQp8IAkJCQlZWV9CVUZGRVJfRU9GX1BFTkRJTkc7CnwgCQkJfQp8IAkJfQp8 IAp8IAllbHNlCnwgCQlyZXRfdmFsID0gRU9CX0FDVF9DT05USU5VRV9TQ0FOOwp8IAp8IAl5 eV9uX2NoYXJzICs9IG51bWJlcl90b19tb3ZlOwp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlf Y2hfYnVmW3l5X25fY2hhcnNdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAl5eV9jdXJy ZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnMgKyAxXSA9IFlZX0VORF9PRl9CVUZG RVJfQ0hBUjsKfCAKfCAJeXl0ZXh0X3B0ciA9ICZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hf YnVmWzBdOwp8IAp8IAlyZXR1cm4gcmV0X3ZhbDsKfCAJfQp8IAp8IAp8IC8qIHl5X2dldF9w cmV2aW91c19zdGF0ZSAtIGdldCB0aGUgc3RhdGUganVzdCBiZWZvcmUgdGhlIEVPQiBjaGFy IHdhcyByZWFjaGVkICovCnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfZ2V0X3ByZXZp b3VzX3N0YXRlKCkKfCAJewp8IAlyZWdpc3RlciB5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRf c3RhdGU7CnwgCXJlZ2lzdGVyIGNoYXIgKnl5X2NwOwp8IAp8IAl5eV9jdXJyZW50X3N0YXRl ID0geXlfc3RhcnQ7CnwgCXl5X3N0YXRlX3B0ciA9IHl5X3N0YXRlX2J1ZjsKfCAJKnl5X3N0 YXRlX3B0cisrID0geXlfY3VycmVudF9zdGF0ZTsKfCAKfCAJZm9yICggeXlfY3AgPSB5eXRl eHRfcHRyICsgWVlfTU9SRV9BREo7IHl5X2NwIDwgeXlfY19idWZfcDsgKyt5eV9jcCApCnwg CQl7CnwgCQlyZWdpc3RlciBZWV9DSEFSIHl5X2MgPSAoKnl5X2NwID8geXlfZWNbWVlfU0Nf VE9fVUkoKnl5X2NwKV0gOiAxKTsKfCAJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3Vy cmVudF9zdGF0ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRlICkKfCAJCQl7CnwgCQkJ eXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsKfCAJ CQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMTMgKQp8IAkJCQl5eV9jID0geXlfbWV0YVso dW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCQl9CnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlf bnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsK fCAJCSp5eV9zdGF0ZV9wdHIrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCQl9CnwgCnwgCXJl dHVybiB5eV9jdXJyZW50X3N0YXRlOwp8IAl9CnwgCnwgCnwgLyogeXlfdHJ5X05VTF90cmFu cyAtIHRyeSB0byBtYWtlIGEgdHJhbnNpdGlvbiBvbiB0aGUgTlVMIGNoYXJhY3Rlcgp8ICAq CnwgICogc3lub3BzaXMKfCAgKgluZXh0X3N0YXRlID0geXlfdHJ5X05VTF90cmFucyggY3Vy cmVudF9zdGF0ZSApOwp8ICAqLwp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGlj IHl5X3N0YXRlX3R5cGUgeXlfdHJ5X05VTF90cmFucyggeXlfc3RhdGVfdHlwZSB5eV9jdXJy ZW50X3N0YXRlICkKfCAjZWxzZQp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxf dHJhbnMoIHl5X2N1cnJlbnRfc3RhdGUgKQp8IHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9z dGF0ZTsKfCAjZW5kaWYKfCAJewp8IAlyZWdpc3RlciBpbnQgeXlfaXNfamFtOwp8IAp8IAly ZWdpc3RlciBZWV9DSEFSIHl5X2MgPSAxOwp8IAl3aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5 X2N1cnJlbnRfc3RhdGVdICsgeXlfY10gIT0geXlfY3VycmVudF9zdGF0ZSApCnwgCQl7Cnwg CQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8 IAkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDEzICkKfCAJCQl5eV9jID0geXlfbWV0YVso dW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCX0KfCAJeXlfY3VycmVudF9zdGF0ZSA9IHl5X254 dFt5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVkIGludCkgeXlfY107Cnwg CXl5X2lzX2phbSA9ICh5eV9jdXJyZW50X3N0YXRlID09IDEyKTsKfCAJaWYgKCAhIHl5X2lz X2phbSApCnwgCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IAp8IAly ZXR1cm4geXlfaXNfamFtID8gMCA6IHl5X2N1cnJlbnRfc3RhdGU7CnwgCX0KfCAKfCAKfCAj aWZuZGVmIFlZX05PX1VOUFVUCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9p ZCB5eXVucHV0KCBpbnQgYywgcmVnaXN0ZXIgY2hhciAqeXlfYnAgKQp8ICNlbHNlCnwgc3Rh dGljIHZvaWQgeXl1bnB1dCggYywgeXlfYnAgKQp8IGludCBjOwp8IHJlZ2lzdGVyIGNoYXIg Knl5X2JwOwp8ICNlbmRpZgp8IAl7CnwgCXJlZ2lzdGVyIGNoYXIgKnl5X2NwID0geXlfY19i dWZfcDsKfCAKfCAJLyogdW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovCnwg CSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsKfCAKfCAJaWYgKCB5eV9jcCA8IHl5X2N1cnJlbnRf YnVmZmVyLT55eV9jaF9idWYgKyAyICkKfCAJCXsgLyogbmVlZCB0byBzaGlmdCB0aGluZ3Mg dXAgdG8gbWFrZSByb29tICovCnwgCQkvKiArMiBmb3IgRU9CIGNoYXJzLiAqLwp8IAkJcmVn aXN0ZXIgaW50IG51bWJlcl90b19tb3ZlID0geXlfbl9jaGFycyArIDI7CnwgCQlyZWdpc3Rl ciBjaGFyICpkZXN0ID0gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbCnwgCQkJCQl5 eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3NpemUgKyAyXTsKfCAJCXJlZ2lzdGVyIGNoYXIg KnNvdXJjZSA9CnwgCQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW251bWJlcl90 b19tb3ZlXTsKfCAKfCAJCXdoaWxlICggc291cmNlID4geXlfY3VycmVudF9idWZmZXItPnl5 X2NoX2J1ZiApCnwgCQkJKi0tZGVzdCA9ICotLXNvdXJjZTsKfCAKfCAJCXl5X2NwICs9IChp bnQpIChkZXN0IC0gc291cmNlKTsKfCAJCXl5X2JwICs9IChpbnQpIChkZXN0IC0gc291cmNl KTsKfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJzID0KfCAJCQl5eV9uX2NoYXJz ID0geXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXplOwp8IAp8IAkJaWYgKCB5eV9jcCA8 IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWYgKyAyICkKfCAJCQlZWV9GQVRBTF9FUlJP UiggImZsZXggc2Nhbm5lciBwdXNoLWJhY2sgb3ZlcmZsb3ciICk7CnwgCQl9CnwgCnwgCSot LXl5X2NwID0gKGNoYXIpIGM7CnwgCnwgCnwgCXl5dGV4dF9wdHIgPSB5eV9icDsKfCAJeXlf aG9sZF9jaGFyID0gKnl5X2NwOwp8IAl5eV9jX2J1Zl9wID0geXlfY3A7CnwgCX0KfCAjZW5k aWYJLyogaWZuZGVmIFlZX05PX1VOUFVUICovCnwgCnwgCnwgI2lmZGVmIF9fY3BsdXNwbHVz Cnwgc3RhdGljIGludCB5eWlucHV0KCkKfCAjZWxzZQp8IHN0YXRpYyBpbnQgaW5wdXQoKQp8 ICNlbmRpZgp8IAl7CnwgCWludCBjOwp8IAp8IAkqeXlfY19idWZfcCA9IHl5X2hvbGRfY2hh cjsKfCAKfCAJaWYgKCAqeXlfY19idWZfcCA9PSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgKQp8 IAkJewp8IAkJLyogeXlfY19idWZfcCBub3cgcG9pbnRzIHRvIHRoZSBjaGFyYWN0ZXIgd2Ug d2FudCB0byByZXR1cm4uCnwgCQkgKiBJZiB0aGlzIG9jY3VycyAqYmVmb3JlKiB0aGUgRU9C IGNoYXJhY3RlcnMsIHRoZW4gaXQncyBhCnwgCQkgKiB2YWxpZCBOVUw7IGlmIG5vdCwgdGhl biB3ZSd2ZSBoaXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgp8IAkJICovCnwgCQlpZiAoIHl5 X2NfYnVmX3AgPCAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJzXSAp CnwgCQkJLyogVGhpcyB3YXMgcmVhbGx5IGEgTlVMLiAqLwp8IAkJCSp5eV9jX2J1Zl9wID0g J1wwJzsKfCAKfCAJCWVsc2UKfCAJCQl7IC8qIG5lZWQgbW9yZSBpbnB1dCAqLwp8IAkJCWlu dCBvZmZzZXQgPSB5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0cjsKfCAJCQkrK3l5X2NfYnVmX3A7 CnwgCnwgCQkJc3dpdGNoICggeXlfZ2V0X25leHRfYnVmZmVyKCkgKQp8IAkJCQl7CnwgCQkJ CWNhc2UgRU9CX0FDVF9MQVNUX01BVENIOgp8IAkJCQkJLyogVGhpcyBoYXBwZW5zIGJlY2F1 c2UgeXlfZ19uX2IoKQp8IAkJCQkJICogc2VlcyB0aGF0IHdlJ3ZlIGFjY3VtdWxhdGVkIGEK fCAJCQkJCSAqIHRva2VuIGFuZCBmbGFncyB0aGF0IHdlIG5lZWQgdG8KfCAJCQkJCSAqIHRy eSBtYXRjaGluZyB0aGUgdG9rZW4gYmVmb3JlCnwgCQkJCQkgKiBwcm9jZWVkaW5nLiAgQnV0 IGZvciBpbnB1dCgpLAp8IAkJCQkJICogdGhlcmUncyBubyBtYXRjaGluZyB0byBjb25zaWRl ci4KfCAJCQkJCSAqIFNvIGNvbnZlcnQgdGhlIEVPQl9BQ1RfTEFTVF9NQVRDSAp8IAkJCQkJ ICogdG8gRU9CX0FDVF9FTkRfT0ZfRklMRS4KfCAJCQkJCSAqLwp8IAp8IAkJCQkJLyogUmVz ZXQgYnVmZmVyIHN0YXR1cy4gKi8KfCAJCQkJCXl5cmVzdGFydCggeXlpbiApOwp8IAp8IAkJ CQkJLyogZmFsbCB0aHJvdWdoICovCnwgCnwgCQkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklM RToKfCAJCQkJCXsKfCAJCQkJCWlmICggeXl3cmFwKCkgKQp8IAkJCQkJCXJldHVybiBFT0Y7 CnwgCnwgCQkJCQlpZiAoICEgeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mICkKfCAJCQkJ CQlZWV9ORVdfRklMRTsKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAJCQkJCXJldHVybiB5eWlu cHV0KCk7CnwgI2Vsc2UKfCAJCQkJCXJldHVybiBpbnB1dCgpOwp8ICNlbmRpZgp8IAkJCQkJ fQp8IAp8IAkJCQljYXNlIEVPQl9BQ1RfQ09OVElOVUVfU0NBTjoKfCAJCQkJCXl5X2NfYnVm X3AgPSB5eXRleHRfcHRyICsgb2Zmc2V0Owp8IAkJCQkJYnJlYWs7CnwgCQkJCX0KfCAJCQl9 CnwgCQl9CnwgCnwgCWMgPSAqKHVuc2lnbmVkIGNoYXIgKikgeXlfY19idWZfcDsJLyogY2Fz dCBmb3IgOC1iaXQgY2hhcidzICovCnwgCSp5eV9jX2J1Zl9wID0gJ1wwJzsJLyogcHJlc2Vy dmUgeXl0ZXh0ICovCnwgCXl5X2hvbGRfY2hhciA9ICorK3l5X2NfYnVmX3A7CnwgCnwgCnwg CXJldHVybiBjOwp8IAl9CnwgCnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5 cmVzdGFydCggRklMRSAqaW5wdXRfZmlsZSApCnwgI2Vsc2UKfCB2b2lkIHl5cmVzdGFydCgg aW5wdXRfZmlsZSApCnwgRklMRSAqaW5wdXRfZmlsZTsKfCAjZW5kaWYKfCAJewp8IAlpZiAo ICEgeXlfY3VycmVudF9idWZmZXIgKQp8IAkJeXlfY3VycmVudF9idWZmZXIgPSB5eV9jcmVh dGVfYnVmZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOwp8IAp8IAl5eV9pbml0X2J1ZmZlcigg eXlfY3VycmVudF9idWZmZXIsIGlucHV0X2ZpbGUgKTsKfCAJeXlfbG9hZF9idWZmZXJfc3Rh dGUoKTsKfCAJfQp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgdm9pZCB5eV9zd2l0 Y2hfdG9fYnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciApCnwgI2Vsc2UKfCB2 b2lkIHl5X3N3aXRjaF90b19idWZmZXIoIG5ld19idWZmZXIgKQp8IFlZX0JVRkZFUl9TVEFU RSBuZXdfYnVmZmVyOwp8ICNlbmRpZgp8IAl7CnwgCWlmICggeXlfY3VycmVudF9idWZmZXIg PT0gbmV3X2J1ZmZlciApCnwgCQlyZXR1cm47CnwgCnwgCWlmICggeXlfY3VycmVudF9idWZm ZXIgKQp8IAkJewp8IAkJLyogRmx1c2ggb3V0IGluZm9ybWF0aW9uIGZvciBvbGQgYnVmZmVy LiAqLwp8IAkJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2NoYXI7CnwgCQl5eV9jdXJyZW50X2J1 ZmZlci0+eXlfYnVmX3BvcyA9IHl5X2NfYnVmX3A7CnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+ eXlfbl9jaGFycyA9IHl5X25fY2hhcnM7CnwgCQl9CnwgCnwgCXl5X2N1cnJlbnRfYnVmZmVy ID0gbmV3X2J1ZmZlcjsKfCAJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAKfCAJLyogV2Ug ZG9uJ3QgYWN0dWFsbHkga25vdyB3aGV0aGVyIHdlIGRpZCB0aGlzIHN3aXRjaCBkdXJpbmcK fCAJICogRU9GICh5eXdyYXAoKSkgcHJvY2Vzc2luZywgYnV0IHRoZSBvbmx5IHRpbWUgdGhp cyBmbGFnCnwgCSAqIGlzIGxvb2tlZCBhdCBpcyBhZnRlciB5eXdyYXAoKSBpcyBjYWxsZWQs IHNvIGl0J3Mgc2FmZQp8IAkgKiB0byBnbyBhaGVhZCBhbmQgYWx3YXlzIHNldCBpdC4KfCAJ ICovCnwgCXl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiA9IDE7CnwgCX0KfCAKfCAKfCAj aWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQgeXlfbG9hZF9idWZmZXJfc3RhdGUoIHZvaWQg KQp8ICNlbHNlCnwgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpCnwgI2VuZGlmCnwgCXsK fCAJeXlfbl9jaGFycyA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJzOwp8IAl5eXRl eHRfcHRyID0geXlfY19idWZfcCA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfcG9zOwp8 IAl5eWluID0geXlfY3VycmVudF9idWZmZXItPnl5X2lucHV0X2ZpbGU7CnwgCXl5X2hvbGRf Y2hhciA9ICp5eV9jX2J1Zl9wOwp8IAl9CnwgCnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MK fCBZWV9CVUZGRVJfU1RBVEUgeXlfY3JlYXRlX2J1ZmZlciggRklMRSAqZmlsZSwgaW50IHNp emUgKQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9idWZmZXIoIGZpbGUs IHNpemUgKQp8IEZJTEUgKmZpbGU7CnwgaW50IHNpemU7CnwgI2VuZGlmCnwgCXsKfCAJWVlf QlVGRkVSX1NUQVRFIGI7CnwgCnwgCWIgPSAoWVlfQlVGRkVSX1NUQVRFKSB5eV9mbGV4X2Fs bG9jKCBzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSApOwp8IAlpZiAoICEgYiAp CnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVh dGVfYnVmZmVyKCkiICk7CnwgCnwgCWItPnl5X2J1Zl9zaXplID0gc2l6ZTsKfCAKfCAJLyog eXlfY2hfYnVmIGhhcyB0byBiZSAyIGNoYXJhY3RlcnMgbG9uZ2VyIHRoYW4gdGhlIHNpemUg Z2l2ZW4gYmVjYXVzZQp8IAkgKiB3ZSBuZWVkIHRvIHB1dCBpbiAyIGVuZC1vZi1idWZmZXIg Y2hhcmFjdGVycy4KfCAJICovCnwgCWItPnl5X2NoX2J1ZiA9IChjaGFyICopIHl5X2ZsZXhf YWxsb2MoIGItPnl5X2J1Zl9zaXplICsgMiApOwp8IAlpZiAoICEgYi0+eXlfY2hfYnVmICkK fCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2NyZWF0 ZV9idWZmZXIoKSIgKTsKfCAKfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7CnwgCnwgCXl5 X2luaXRfYnVmZmVyKCBiLCBmaWxlICk7CnwgCnwgCXJldHVybiBiOwp8IAl9CnwgCnwgCnwg I2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5X2RlbGV0ZV9idWZmZXIoIFlZX0JVRkZF Ul9TVEFURSBiICkKfCAjZWxzZQp8IHZvaWQgeXlfZGVsZXRlX2J1ZmZlciggYiApCnwgWVlf QlVGRkVSX1NUQVRFIGI7CnwgI2VuZGlmCnwgCXsKfCAJaWYgKCAhIGIgKQp8IAkJcmV0dXJu Owp8IAp8IAlpZiAoIGIgPT0geXlfY3VycmVudF9idWZmZXIgKQp8IAkJeXlfY3VycmVudF9i dWZmZXIgPSAoWVlfQlVGRkVSX1NUQVRFKSAwOwp8IAp8IAlpZiAoIGItPnl5X2lzX291cl9i dWZmZXIgKQp8IAkJeXlfZmxleF9mcmVlKCAodm9pZCAqKSBiLT55eV9jaF9idWYgKTsKfCAK fCAJeXlfZmxleF9mcmVlKCAodm9pZCAqKSBiICk7CnwgCX0KfCAKfCAKfCAjaWZuZGVmIFlZ X0FMV0FZU19JTlRFUkFDVElWRQp8ICNpZm5kZWYgWVlfTkVWRVJfSU5URVJBQ1RJVkUKfCBl eHRlcm4gaW50IGlzYXR0eSBZWV9QUk9UTygoIGludCApKTsKfCAjZW5kaWYKfCAjZW5kaWYK fCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQgeXlfaW5pdF9idWZmZXIoIFlZX0JV RkZFUl9TVEFURSBiLCBGSUxFICpmaWxlICkKfCAjZWxzZQp8IHZvaWQgeXlfaW5pdF9idWZm ZXIoIGIsIGZpbGUgKQp8IFlZX0JVRkZFUl9TVEFURSBiOwp8IEZJTEUgKmZpbGU7CnwgI2Vu ZGlmCnwgCnwgCnwgCXsKfCAJeXlfZmx1c2hfYnVmZmVyKCBiICk7CnwgCnwgCWItPnl5X2lu cHV0X2ZpbGUgPSBmaWxlOwp8IAliLT55eV9maWxsX2J1ZmZlciA9IDE7CnwgCnwgI2lmIFlZ X0FMV0FZU19JTlRFUkFDVElWRQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDE7CnwgI2Vs c2UKfCAjaWYgWVlfTkVWRVJfSU5URVJBQ1RJVkUKfCAJYi0+eXlfaXNfaW50ZXJhY3RpdmUg PSAwOwp8ICNlbHNlCnwgCWItPnl5X2lzX2ludGVyYWN0aXZlID0gZmlsZSA/IChpc2F0dHko IGZpbGVubyhmaWxlKSApID4gMCkgOiAwOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAl9CnwgCnwg CnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5X2ZsdXNoX2J1ZmZlciggWVlfQlVG RkVSX1NUQVRFIGIgKQp8ICNlbHNlCnwgdm9pZCB5eV9mbHVzaF9idWZmZXIoIGIgKQp8IFlZ X0JVRkZFUl9TVEFURSBiOwp8ICNlbmRpZgp8IAp8IAl7CnwgCWlmICggISBiICkKfCAJCXJl dHVybjsKfCAKfCAJYi0+eXlfbl9jaGFycyA9IDA7CnwgCnwgCS8qIFdlIGFsd2F5cyBuZWVk IHR3byBlbmQtb2YtYnVmZmVyIGNoYXJhY3RlcnMuICBUaGUgZmlyc3QgY2F1c2VzCnwgCSAq IGEgdHJhbnNpdGlvbiB0byB0aGUgZW5kLW9mLWJ1ZmZlciBzdGF0ZS4gIFRoZSBzZWNvbmQg Y2F1c2VzCnwgCSAqIGEgamFtIGluIHRoYXQgc3RhdGUuCnwgCSAqLwp8IAliLT55eV9jaF9i dWZbMF0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7CnwgCWItPnl5X2NoX2J1ZlsxXSA9IFlZ X0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAKfCAJYi0+eXlfYnVmX3BvcyA9ICZiLT55eV9jaF9i dWZbMF07CnwgCnwgCWItPnl5X2F0X2JvbCA9IDE7CnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMg PSBZWV9CVUZGRVJfTkVXOwp8IAp8IAlpZiAoIGIgPT0geXlfY3VycmVudF9idWZmZXIgKQp8 IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAJfQp8IAp8IAp8ICNpZm5kZWYgWVlfTk9f U0NBTl9CVUZGRVIKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IFlZX0JVRkZFUl9TVEFURSB5 eV9zY2FuX2J1ZmZlciggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKQp8ICNlbHNlCnwg WVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVyKCBiYXNlLCBzaXplICkKfCBjaGFyICpi YXNlOwp8IHl5X3NpemVfdCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCVlZX0JVRkZFUl9TVEFU RSBiOwp8IAp8IAlpZiAoIHNpemUgPCAyIHx8CnwgCSAgICAgYmFzZVtzaXplLTJdICE9IFlZ X0VORF9PRl9CVUZGRVJfQ0hBUiB8fAp8IAkgICAgIGJhc2Vbc2l6ZS0xXSAhPSBZWV9FTkRf T0ZfQlVGRkVSX0NIQVIgKQp8IAkJLyogVGhleSBmb3Jnb3QgdG8gbGVhdmUgcm9vbSBmb3Ig dGhlIEVPQidzLiAqLwp8IAkJcmV0dXJuIDA7CnwgCnwgCWIgPSAoWVlfQlVGRkVSX1NUQVRF KSB5eV9mbGV4X2FsbG9jKCBzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSApOwp8 IAlpZiAoICEgYiApCnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9y eSBpbiB5eV9zY2FuX2J1ZmZlcigpIiApOwp8IAp8IAliLT55eV9idWZfc2l6ZSA9IHNpemUg LSAyOwkvKiAiLSAyIiB0byB0YWtlIGNhcmUgb2YgRU9CJ3MgKi8KfCAJYi0+eXlfYnVmX3Bv cyA9IGItPnl5X2NoX2J1ZiA9IGJhc2U7CnwgCWItPnl5X2lzX291cl9idWZmZXIgPSAwOwp8 IAliLT55eV9pbnB1dF9maWxlID0gMDsKfCAJYi0+eXlfbl9jaGFycyA9IGItPnl5X2J1Zl9z aXplOwp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDA7CnwgCWItPnl5X2F0X2JvbCA9IDE7 CnwgCWItPnl5X2ZpbGxfYnVmZmVyID0gMDsKfCAJYi0+eXlfYnVmZmVyX3N0YXR1cyA9IFlZ X0JVRkZFUl9ORVc7CnwgCnwgCXl5X3N3aXRjaF90b19idWZmZXIoIGIgKTsKfCAKfCAJcmV0 dXJuIGI7CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZuZGVmIFlZX05PX1NDQU5fU1RSSU5H CnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9zdHJp bmcoIHl5Y29uc3QgY2hhciAqeXlfc3RyICkKfCAjZWxzZQp8IFlZX0JVRkZFUl9TVEFURSB5 eV9zY2FuX3N0cmluZyggeXlfc3RyICkKfCB5eWNvbnN0IGNoYXIgKnl5X3N0cjsKfCAjZW5k aWYKfCAJewp8IAlpbnQgbGVuOwp8IAlmb3IgKCBsZW4gPSAwOyB5eV9zdHJbbGVuXTsgKyts ZW4gKQp8IAkJOwp8IAp8IAlyZXR1cm4geXlfc2Nhbl9ieXRlcyggeXlfc3RyLCBsZW4gKTsK fCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYgWVlfTk9fU0NBTl9CWVRFUwp8ICNpZmRl ZiBZWV9VU0VfUFJPVE9TCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMoIHl5Y29u c3QgY2hhciAqYnl0ZXMsIGludCBsZW4gKQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NUQVRFIHl5 X3NjYW5fYnl0ZXMoIGJ5dGVzLCBsZW4gKQp8IHl5Y29uc3QgY2hhciAqYnl0ZXM7CnwgaW50 IGxlbjsKfCAjZW5kaWYKfCAJewp8IAlZWV9CVUZGRVJfU1RBVEUgYjsKfCAJY2hhciAqYnVm Owp8IAl5eV9zaXplX3QgbjsKfCAJaW50IGk7CnwgCnwgCS8qIEdldCBtZW1vcnkgZm9yIGZ1 bGwgYnVmZmVyLCBpbmNsdWRpbmcgc3BhY2UgZm9yIHRyYWlsaW5nIEVPQidzLiAqLwp8IAlu ID0gbGVuICsgMjsKfCAJYnVmID0gKGNoYXIgKikgeXlfZmxleF9hbGxvYyggbiApOwp8IAlp ZiAoICEgYnVmICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5 IGluIHl5X3NjYW5fYnl0ZXMoKSIgKTsKfCAKfCAJZm9yICggaSA9IDA7IGkgPCBsZW47ICsr aSApCnwgCQlidWZbaV0gPSBieXRlc1tpXTsKfCAKfCAJYnVmW2xlbl0gPSBidWZbbGVuKzFd ID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAp8IAliID0geXlfc2Nhbl9idWZmZXIoIGJ1 ZiwgbiApOwp8IAlpZiAoICEgYiApCnwgCQlZWV9GQVRBTF9FUlJPUiggImJhZCBidWZmZXIg aW4geXlfc2Nhbl9ieXRlcygpIiApOwp8IAp8IAkvKiBJdCdzIG9rYXkgdG8gZ3JvdyBldGMu IHRoaXMgYnVmZmVyLCBhbmQgd2Ugc2hvdWxkIHRocm93IGl0CnwgCSAqIGF3YXkgd2hlbiB3 ZSdyZSBkb25lLgp8IAkgKi8KfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7CnwgCnwgCXJl dHVybiBiOwp8IAl9CnwgI2VuZGlmCnwgCnwgCnwgI2lmbmRlZiBZWV9OT19QVVNIX1NUQVRF CnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9pZCB5eV9wdXNoX3N0YXRlKCBp bnQgbmV3X3N0YXRlICkKfCAjZWxzZQp8IHN0YXRpYyB2b2lkIHl5X3B1c2hfc3RhdGUoIG5l d19zdGF0ZSApCnwgaW50IG5ld19zdGF0ZTsKfCAjZW5kaWYKfCAJewp8IAlpZiAoIHl5X3N0 YXJ0X3N0YWNrX3B0ciA+PSB5eV9zdGFydF9zdGFja19kZXB0aCApCnwgCQl7CnwgCQl5eV9z aXplX3QgbmV3X3NpemU7CnwgCnwgCQl5eV9zdGFydF9zdGFja19kZXB0aCArPSBZWV9TVEFS VF9TVEFDS19JTkNSOwp8IAkJbmV3X3NpemUgPSB5eV9zdGFydF9zdGFja19kZXB0aCAqIHNp emVvZiggaW50ICk7CnwgCnwgCQlpZiAoICEgeXlfc3RhcnRfc3RhY2sgKQp8IAkJCXl5X3N0 YXJ0X3N0YWNrID0gKGludCAqKSB5eV9mbGV4X2FsbG9jKCBuZXdfc2l6ZSApOwp8IAp8IAkJ ZWxzZQp8IAkJCXl5X3N0YXJ0X3N0YWNrID0gKGludCAqKSB5eV9mbGV4X3JlYWxsb2MoCnwg CQkJCQkodm9pZCAqKSB5eV9zdGFydF9zdGFjaywgbmV3X3NpemUgKTsKfCAKfCAJCWlmICgg ISB5eV9zdGFydF9zdGFjayApCnwgCQkJWVlfRkFUQUxfRVJST1IoCnwgCQkJIm91dCBvZiBt ZW1vcnkgZXhwYW5kaW5nIHN0YXJ0LWNvbmRpdGlvbiBzdGFjayIgKTsKfCAJCX0KfCAKfCAJ eXlfc3RhcnRfc3RhY2tbeXlfc3RhcnRfc3RhY2tfcHRyKytdID0gWVlfU1RBUlQ7CnwgCnwg CUJFR0lOKG5ld19zdGF0ZSk7CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZuZGVmIFlZX05P X1BPUF9TVEFURQp8IHN0YXRpYyB2b2lkIHl5X3BvcF9zdGF0ZSgpCnwgCXsKfCAJaWYgKCAt LXl5X3N0YXJ0X3N0YWNrX3B0ciA8IDAgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJzdGFydC1j b25kaXRpb24gc3RhY2sgdW5kZXJmbG93IiApOwp8IAp8IAlCRUdJTih5eV9zdGFydF9zdGFj a1t5eV9zdGFydF9zdGFja19wdHJdKTsKfCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYg WVlfTk9fVE9QX1NUQVRFCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUoKQp8IAl7CnwgCXJl dHVybiB5eV9zdGFydF9zdGFja1t5eV9zdGFydF9zdGFja19wdHIgLSAxXTsKfCAJfQp8ICNl bmRpZgp8IAp8ICNpZm5kZWYgWVlfRVhJVF9GQUlMVVJFCnwgI2RlZmluZSBZWV9FWElUX0ZB SUxVUkUgMgp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZv aWQgeXlfZmF0YWxfZXJyb3IoIHl5Y29uc3QgY2hhciBtc2dbXSApCnwgI2Vsc2UKfCBzdGF0 aWMgdm9pZCB5eV9mYXRhbF9lcnJvciggbXNnICkKfCBjaGFyIG1zZ1tdOwp8ICNlbmRpZgp8 IAl7CnwgCSh2b2lkKSBmcHJpbnRmKCBzdGRlcnIsICIlc1xuIiwgbXNnICk7CnwgCWV4aXQo IFlZX0VYSVRfRkFJTFVSRSApOwp8IAl9CnwgCnwgCnwgCnwgLyogUmVkZWZpbmUgeXlsZXNz KCkgc28gaXQgd29ya3MgaW4gc2VjdGlvbiAzIGNvZGUuICovCnwgCnwgI3VuZGVmIHl5bGVz cwp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJeyBcCnwgCQkvKiBVbmRvIGVm ZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAJCXl5dGV4dFt5eWxlbmddID0g eXlfaG9sZF9jaGFyOyBcCnwgCQl5eV9jX2J1Zl9wID0geXl0ZXh0ICsgbjsgXAp8IAkJeXlf aG9sZF9jaGFyID0gKnl5X2NfYnVmX3A7IFwKfCAJCSp5eV9jX2J1Zl9wID0gJ1wwJzsgXAp8 IAkJeXlsZW5nID0gbjsgXAp8IAkJfSBcCnwgCXdoaWxlICggMCApCnwgCnwgCnwgLyogSW50 ZXJuYWwgdXRpbGl0eSByb3V0aW5lcy4gKi8KfCAKfCAjaWZuZGVmIHl5dGV4dF9wdHIKfCAj aWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSggY2hh ciAqczEsIHl5Y29uc3QgY2hhciAqczIsIGludCBuICkKfCAjZWxzZQp8IHN0YXRpYyB2b2lk IHl5X2ZsZXhfc3RybmNweSggczEsIHMyLCBuICkKfCBjaGFyICpzMTsKfCB5eWNvbnN0IGNo YXIgKnMyOwp8IGludCBuOwp8ICNlbmRpZgp8IAl7CnwgCXJlZ2lzdGVyIGludCBpOwp8IAlm b3IgKCBpID0gMDsgaSA8IG47ICsraSApCnwgCQlzMVtpXSA9IHMyW2ldOwp8IAl9CnwgI2Vu ZGlmCnwgCnwgI2lmZGVmIFlZX05FRURfU1RSTEVOCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MK fCBzdGF0aWMgaW50IHl5X2ZsZXhfc3RybGVuKCB5eWNvbnN0IGNoYXIgKnMgKQp8ICNlbHNl Cnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiggcyApCnwgeXljb25zdCBjaGFyICpzOwp8 ICNlbmRpZgp8IAl7CnwgCXJlZ2lzdGVyIGludCBuOwp8IAlmb3IgKCBuID0gMDsgc1tuXTsg KytuICkKfCAJCTsKfCAKfCAJcmV0dXJuIG47CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZk ZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2FsbG9jKCB5eV9zaXpl X3Qgc2l6ZSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9hbGxvYyggc2l6ZSAp CnwgeXlfc2l6ZV90IHNpemU7CnwgI2VuZGlmCnwgCXsKfCAJcmV0dXJuICh2b2lkICopIG1h bGxvYyggc2l6ZSApOwp8IAl9CnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMg dm9pZCAqeXlfZmxleF9yZWFsbG9jKCB2b2lkICpwdHIsIHl5X3NpemVfdCBzaXplICkKfCAj ZWxzZQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3JlYWxsb2MoIHB0ciwgc2l6ZSApCnwgdm9p ZCAqcHRyOwp8IHl5X3NpemVfdCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCS8qIFRoZSBjYXN0 IHRvIChjaGFyICopIGluIHRoZSBmb2xsb3dpbmcgYWNjb21tb2RhdGVzIGJvdGgKfCAJICog aW1wbGVtZW50YXRpb25zIHRoYXQgdXNlIGNoYXIqIGdlbmVyaWMgcG9pbnRlcnMsIGFuZCB0 aG9zZQp8IAkgKiB0aGF0IHVzZSB2b2lkKiBnZW5lcmljIHBvaW50ZXJzLiAgSXQgd29ya3Mg d2l0aCB0aGUgbGF0dGVyCnwgCSAqIGJlY2F1c2UgYm90aCBBTlNJIEMgYW5kIEMrKyBhbGxv dyBjYXN0bGVzcyBhc3NpZ25tZW50IGZyb20KfCAJICogYW55IHBvaW50ZXIgdHlwZSB0byB2 b2lkKiwgYW5kIGRlYWwgd2l0aCBhcmd1bWVudCBjb252ZXJzaW9ucwp8IAkgKiBhcyB0aG91 Z2ggZG9pbmcgYW4gYXNzaWdubWVudC4KfCAJICovCnwgCXJldHVybiAodm9pZCAqKSByZWFs bG9jKCAoY2hhciAqKSBwdHIsIHNpemUgKTsKfCAJfQp8IAp8ICNpZmRlZiBZWV9VU0VfUFJP VE9TCnwgc3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCB2b2lkICpwdHIgKQp8ICNlbHNlCnwg c3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCBwdHIgKQp8IHZvaWQgKnB0cjsKfCAjZW5kaWYK fCAJewp8IAlmcmVlKCBwdHIgKTsKfCAJfQp8IAp8ICNpZiBZWV9NQUlOCnwgaW50IG1haW4o KQp8IAl7CnwgCXl5bGV4KCk7CnwgCXJldHVybiAwOwp8IAl9CnwgI2VuZGlmCnwgI2xpbmUg OSAiY29uZnRlc3QubCIKfCAKfCAjaWZkZWYgWVlURVhUX1BPSU5URVIKfCBleHRlcm4gY2hh ciAqeXl0ZXh0Owp8ICNlbmRpZgp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8ICAgcmV0dXJu ICEgeXlsZXggKCkgKyAhIHl5d3JhcCAoKTsKfCB9CmNvbmZpZ3VyZTo1NTYzOiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFk IGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZ0ZXN0Lmw6IEluIGZ1bmN0aW9uICd5eWxleCc6 CmNvbmZ0ZXN0Lmw6Njogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5k IGludGVnZXIKY29uZnRlc3QubDo2OiB3YXJuaW5nOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50 ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0CmNvbmZpZ3VyZTo1NTcwOiAkPyA9IDAK Y29uZmlndXJlOjU1OTQ6IHJlc3VsdDogLWxmbApjb25maWd1cmU6NTYwMDogY2hlY2tpbmcg d2hldGhlciB5eXRleHQgaXMgYSBwb2ludGVyCmNvbmZpZ3VyZTo1NjIxOiBjYyAtbyBjb25m dGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNv bmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZ0ZXN0Lmw6IEluIGZ1bmN0aW9uICd5eWxleCc6CmNv bmZ0ZXN0Lmw6Njogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGlu dGVnZXIKY29uZnRlc3QubDo2OiB3YXJuaW5nOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0CmNvbmZpZ3VyZTo1NjI4OiAkPyA9IDAKY29u ZmlndXJlOjU2NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NjY5OiBjaGVja2luZyBmb3Ig Ymlzb24KY29uZmlndXJlOjU2ODU6IGZvdW5kIC91c3IvbG9jYWwvYmluL2Jpc29uCmNvbmZp Z3VyZTo1Njk2OiByZXN1bHQ6IGJpc29uIC15CmNvbmZpZ3VyZTo1NzE2OiBjaGVja2luZyBm b3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjU3NzY6 IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApjb25maWd1cmU6NTc4MTogY2hlY2tpbmcgZm9yIGVn cmVwCmNvbmZpZ3VyZTo1ODQ1OiByZXN1bHQ6IC91c3IvYmluL2dyZXAgLUUKY29uZmlndXJl OjU4NTA6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo1ODgw OiBjYyAtYyAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NTg4NzogJD8gPSAwCmNvbmZpZ3VyZTo1OTg2OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAt RExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5j bHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQpj b25maWd1cmU6NTk5MDogJD8gPSAwCmNvbmZpZ3VyZTo1OTk2OiAuL2NvbmZ0ZXN0CmNvbmZp Z3VyZTo2MDAwOiAkPyA9IDAKY29uZmlndXJlOjYwMTg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo2MDQyOiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3Vy ZTo2MTEwOiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMgLW8gcm9vdCAtZyB3aGVlbApj b25maWd1cmU6NjEyMTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6 NjEyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxMzI6IGNoZWNraW5nIHdoZXRoZXIgZ21h a2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZTo2MTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NjE2NjogY2hlY2tpbmcgZm9yIGp3CmNvbmZpZ3VyZTo2MTk3OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2MjIxOiBjaGVja2luZyB3aGV0aGVyIE5MUyBpcyByZXF1ZXN0ZWQKY29uZmlndXJl OjYyMzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MjQ3OiBjaGVja2luZyBmb3IgaW50bHRv b2wgPj0gMC4zNS41CmNvbmZpZ3VyZTo2MjU0OiByZXN1bHQ6IDAuNDAuNSBmb3VuZApjb25m aWd1cmU6NjI2NDogY2hlY2tpbmcgZm9yIGludGx0b29sLXVwZGF0ZQpjb25maWd1cmU6NjI4 MjogZm91bmQgL3Vzci9sb2NhbC9iaW4vaW50bHRvb2wtdXBkYXRlCmNvbmZpZ3VyZTo2Mjk0 OiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL2ludGx0b29sLXVwZGF0ZQpjb25maWd1cmU6NjMw NDogY2hlY2tpbmcgZm9yIGludGx0b29sLW1lcmdlCmNvbmZpZ3VyZTo2MzIyOiBmb3VuZCAv dXNyL2xvY2FsL2Jpbi9pbnRsdG9vbC1tZXJnZQpjb25maWd1cmU6NjMzNDogcmVzdWx0OiAv dXNyL2xvY2FsL2Jpbi9pbnRsdG9vbC1tZXJnZQpjb25maWd1cmU6NjM0NDogY2hlY2tpbmcg Zm9yIGludGx0b29sLWV4dHJhY3QKY29uZmlndXJlOjYzNjI6IGZvdW5kIC91c3IvbG9jYWwv YmluL2ludGx0b29sLWV4dHJhY3QKY29uZmlndXJlOjYzNzQ6IHJlc3VsdDogL3Vzci9sb2Nh bC9iaW4vaW50bHRvb2wtZXh0cmFjdApjb25maWd1cmU6NjUwNzogY2hlY2tpbmcgZm9yIHhn ZXR0ZXh0CmNvbmZpZ3VyZTo2NTI1OiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dApj b25maWd1cmU6NjUzNzogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dApjb25maWd1 cmU6NjU0NzogY2hlY2tpbmcgZm9yIG1zZ21lcmdlCmNvbmZpZ3VyZTo2NTY1OiBmb3VuZCAv dXNyL2xvY2FsL2Jpbi9tc2dtZXJnZQpjb25maWd1cmU6NjU3NzogcmVzdWx0OiAvdXNyL2xv Y2FsL2Jpbi9tc2dtZXJnZQpjb25maWd1cmU6NjU4NzogY2hlY2tpbmcgZm9yIG1zZ2ZtdApj b25maWd1cmU6NjYwNTogZm91bmQgL3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZTo2 NjE3OiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL21zZ2ZtdApjb25maWd1cmU6NjYyNzogY2hl Y2tpbmcgZm9yIGdtc2dmbXQKY29uZmlndXJlOjY2NTg6IHJlc3VsdDogL3Vzci9sb2NhbC9i aW4vbXNnZm10CmNvbmZpZ3VyZTo2NjgyOiBjaGVja2luZyBmb3IgcGVybApjb25maWd1cmU6 NjcwMDogZm91bmQgL3Vzci9iaW4vcGVybApjb25maWd1cmU6NjcxMjogcmVzdWx0OiAvdXNy L2Jpbi9wZXJsCmNvbmZpZ3VyZTo2NzI1OiBjaGVja2luZyBmb3IgcGVybCA+PSA1LjguMQpj b25maWd1cmU6NjczNDogcmVzdWx0OiA1LjguOQpjb25maWd1cmU6NjczODogY2hlY2tpbmcg Zm9yIFhNTDo6UGFyc2VyCmNvbmZpZ3VyZTo2NzQxOiByZXN1bHQ6IG9rCmNvbmZpZ3VyZTo2 Nzc4OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwv bGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQovdmFyL3RtcC8vY2M4SnJiZ1MubygudGV4 dCsweDIpOiBJbiBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X25sX21zZ19jYXRfY250cicKY29uZmlndXJlOjY3ODU6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1dGlvbi1kYXRhLXNl cnZlciAyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBWRVJTSU9OICIy LjI0LjQuMSIKfCAjZGVmaW5lIEJBU0VfVkVSU0lPTiAiMi4yNCIKfCAjZGVmaW5lIEFQSV9W RVJTSU9OICIxLjIiCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IGV4dGVybiBpbnQgX25sX21zZ19jYXRfY250cjsKfCAgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiBfbmxfbXNnX2NhdF9jbnRyCnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZTo2OTIyOiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjY5 NDM6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo2OTUwOiAkPyA9IDAKY29uZmlndXJlOjY5Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2 OTIyOiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6Njk0MzogY2MgLWMgLU8g LXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NTA6ICQ/ID0g MApjb25maWd1cmU6Njk2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MjI6IGNoZWNraW5n IGZvciBzdGRsaWIuaApjb25maWd1cmU6Njk0MzogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RF UFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0 MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NTA6ICQ/ID0gMApjb25maWd1cmU6Njk2 NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MjI6IGNoZWNraW5nIGZvciBzdHJpbmcuaApj b25maWd1cmU6Njk0MzogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjY5NTA6ICQ/ID0gMApjb25maWd1cmU6Njk2NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjY5MjI6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6Njk0Mzog Y2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5 NTA6ICQ/ID0gMApjb25maWd1cmU6Njk2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MjI6 IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjY5NDM6IGNjIC1jIC1PIC1waXBl IC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9p bmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2OTUwOiAkPyA9IDAKY29u ZmlndXJlOjY5Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2OTIyOiBjaGVja2luZyBmb3Ig aW50dHlwZXMuaApjb25maWd1cmU6Njk0MzogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJF Q0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NTA6ICQ/ID0gMApjb25maWd1cmU6Njk2Nzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MjI6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25m aWd1cmU6Njk0MzogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjY5NTA6ICQ/ID0gMApjb25maWd1cmU6Njk2NzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjY5MjI6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6Njk0MzogY2Mg LWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY5NTA6 ICQ/ID0gMApjb25maWd1cmU6Njk2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5OTc6IGNo ZWNraW5nIGxvY2FsZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NzAxNDogY2MgLWMgLU8gLXBp cGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjcwMjE6ICQ/ID0gMApj b25maWd1cmU6NzAzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjcwMzk6IGNoZWNraW5nIGxv Y2FsZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo3MDU0OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo3 MDYxOiAkPyA9IDAKY29uZmlndXJlOjcwNzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTAz OiBjaGVja2luZyBmb3IgbG9jYWxlLmgKY29uZmlndXJlOjcxMTI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo3MTI3OiBjaGVja2luZyBmb3IgTENfTUVTU0FHRVMKY29uZmlndXJlOjcxNTM6 IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIC1ML3Vzci9sb2NhbC9saWIg LXB0aHJlYWQgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo3MTYwOiAkPyA9IDAKY29uZmln dXJlOjcxODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MjA5OiBjaGVja2luZyBsaWJpbnRs LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo3MjI2OiBjYyAtYyAtTyAtcGlwZSAtRExEQVBfREVQ UkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQx ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzIzMzogJD8gPSAwCmNvbmZpZ3VyZTo3MjQ3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzI1MTogY2hlY2tpbmcgbGliaW50bC5oIHByZXNl bmNlCmNvbmZpZ3VyZTo3MjY2OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv bG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo3MjczOiAkPyA9IDAK Y29uZmlndXJlOjcyODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MzE1OiBjaGVja2luZyBm b3IgbGliaW50bC5oCmNvbmZpZ3VyZTo3MzIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzMz MzogY2hlY2tpbmcgZm9yIG5nZXR0ZXh0IGluIGxpYmMKY29uZmlndXJlOjczNjE6IGNjIC1v IGNvbmZ0ZXN0IC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJl YWQgY29uZnRlc3QuYyAgPiY1Ci92YXIvdG1wLy9jY3VjUHk3ci5vKC50ZXh0KzB4MTIpOiBJ biBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGliaW50bF9u Z2V0dGV4dCcKY29uZmlndXJlOjczNjg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi ZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJldm9s dXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjQuNC4x Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1dGlvbi1kYXRhLXNlcnZlciAyLjI0 LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF ICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBWRVJTSU9OICIyLjI0LjQuMSIK fCAjZGVmaW5lIEJBU0VfVkVSU0lPTiAiMi4yNCIKfCAjZGVmaW5lIEFQSV9WRVJTSU9OICIx LjIiCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAjaW5jbHVkZSA8bGliaW50bC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuICFuZ2V0dGV4dCAoIiIsIiIsIDEpCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTo3Mzg5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3NTYzOiBjaGVja2luZyBmb3IgYmlu ZHRleHRkb21haW4gaW4gLWxpbnRsCmNvbmZpZ3VyZTo3NTk4OiBjYyAtbyBjb25mdGVzdCAt TyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv bG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0 LmMgLWxpbnRsICAgPiY1CmNvbmZpZ3VyZTo3NjA1OiAkPyA9IDAKY29uZmlndXJlOjc2MjY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3NjI5OiBjaGVja2luZyBmb3IgbmdldHRleHQgaW4g LWxpbnRsCmNvbmZpZ3VyZTo3NjY0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBf REVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9k YjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgLWxpbnRsICAgPiY1 CmNvbmZpZ3VyZTo3NjcxOiAkPyA9IDAKY29uZmlndXJlOjc2OTI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo3Njk1OiBjaGVja2luZyBmb3IgZGdldHRleHQgaW4gLWxpbnRsCmNvbmZpZ3Vy ZTo3NzMwOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9j YWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgLWxpbnRsICAgPiY1CmNvbmZ0ZXN0LmM6MzI6 IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZGdl dHRleHQnCmNvbmZpZ3VyZTo3NzM3OiAkPyA9IDAKY29uZmlndXJlOjc3NTg6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo3OTMxOiBjaGVja2luZyBmb3IgYmluZF90ZXh0ZG9tYWluX2NvZGVz ZXQKY29uZmlndXJlOjc5ODc6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1ETERBUF9ERVBS RUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEg IC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgY29uZnRlc3QuYyAgLWxpbnRsICA+JjUKY29u ZmlndXJlOjc5OTQ6ICQ/ID0gMApjb25maWd1cmU6ODAxNjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjgwNTc6IGNoZWNraW5nIGZvciBtc2dmbXQKY29uZmlndXJlOjgwODQ6IHJlc3VsdDog L3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZTo4MDk3OiBjaGVja2luZyBmb3IgZGNn ZXR0ZXh0CmNvbmZpZ3VyZTo4MTUzOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBf REVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9k YjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgIC1saW50bCAgPiY1 CmNvbmZ0ZXN0LmM6NTA6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1p biBmdW5jdGlvbiAnZGNnZXR0ZXh0Jwpjb25maWd1cmU6ODE2MDogJD8gPSAwCmNvbmZpZ3Vy ZTo4MTgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODE5NDogY2hlY2tpbmcgaWYgbXNnZm10 IGFjY2VwdHMgLWMKY29uZmlndXJlOjgyMDk6ICRNU0dGTVQgLWMgLW8gL2Rldi9udWxsIGNv bmZ0ZXN0LmZvbwpjb25maWd1cmU6ODIxMjogJD8gPSAwCmNvbmZpZ3VyZTo4MjE0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6ODIyNDogY2hlY2tpbmcgZm9yIGdtc2dmbXQKY29uZmlndXJl OjgyNTU6IHJlc3VsdDogL3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZTo4MjY1OiBj aGVja2luZyBmb3IgeGdldHRleHQKY29uZmlndXJlOjgyOTI6IHJlc3VsdDogL3Vzci9sb2Nh bC9iaW4veGdldHRleHQKY29uZmlndXJlOjgzMjE6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBl IC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9p bmNsdWRlL2RiNDEgIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgY29uZnRlc3QuYyAgLWxp bnRsICA+JjUKY29uZmlndXJlOjgzMjg6ICQ/ID0gMApjb25maWd1cmU6ODY1NDogY2hlY2tp bmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjg2NzI6IHJlc3VsdDogYW1kNjQtcG9y dGJsZC1mcmVlYnNkNy4xCmNvbmZpZ3VyZTo4Njk0OiBjaGVja2luZyBob3N0IHN5c3RlbSB0 eXBlCmNvbmZpZ3VyZTo4NzA5OiByZXN1bHQ6IGFtZDY0LXBvcnRibGQtZnJlZWJzZDcuMQpj b25maWd1cmU6ODczMTogY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNh dGUgb3V0cHV0CmNvbmZpZ3VyZTo4Nzg3OiByZXN1bHQ6IC91c3IvYmluL3NlZApjb25maWd1 cmU6ODgwMTogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgY2MKY29uZmlndXJlOjg4Njg6IHJl c3VsdDogL3Vzci9iaW4vbGQKY29uZmlndXJlOjg4Nzc6IGNoZWNraW5nIGlmIHRoZSBsaW5r ZXIgKC91c3IvYmluL2xkKSBpcyBHTlUgbGQKY29uZmlndXJlOjg4OTI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo4ODk3OiBjaGVja2luZyBmb3IgL3Vzci9iaW4vbGQgb3B0aW9uIHRvIHJl bG9hZCBvYmplY3QgZmlsZXMKY29uZmlndXJlOjg5MDQ6IHJlc3VsdDogLXIKY29uZmlndXJl Ojg5MjI6IGNoZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubQpjb25maWd1cmU6ODk3MTog cmVzdWx0OiAvdXNyL2Jpbi9ubSAtQgpjb25maWd1cmU6ODk3NTogY2hlY2tpbmcgaG93IHRv IHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzCmNvbmZpZ3VyZTo5MTYxOiByZXN1bHQ6 IHBhc3NfYWxsCmNvbmZpZ3VyZTo5NzExOiBjaGVja2luZyBkbGZjbi5oIHVzYWJpbGl0eQpj b25maWd1cmU6OTcyODogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjk3MzU6ICQ/ID0gMApjb25maWd1cmU6OTc0OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjk3NTM6IGNoZWNraW5nIGRsZmNuLmggcHJlc2VuY2UKY29uZmlndXJlOjk3 Njg6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2Ri NDEgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjk3NzU6ICQ/ID0gMApjb25maWd1cmU6OTc4OTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk4MTc6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZp Z3VyZTo5ODI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTk1NjogY2hlY2tpbmcgZm9yIEMr KyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo5OTY0OiBjKysgLS12ZXJzaW9uID4mNQpj KysgKEdDQykgNC4yLjEgMjAwNzA3MTkgIFtGcmVlQlNEXQpDb3B5cmlnaHQgKEMpIDIwMDcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsg c2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndh cnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjk5Njg6ICQ/ID0gMApjb25maWd1cmU6 OTk3NTogYysrIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiBhbWQ2NC11 bmRlcm15ZGVzay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9hbWQ2NCBzeXN0 ZW0gY29tcGlsZXIKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjIuMSAyMDA3 MDcxOSAgW0ZyZWVCU0RdCmNvbmZpZ3VyZTo5OTc5OiAkPyA9IDAKY29uZmlndXJlOjk5ODY6 IGMrKyAtViA+JjUKYysrOiAnLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmln dXJlOjk5OTA6ICQ/ID0gMQpjb25maWd1cmU6OTk5MzogY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDKysgY29tcGlsZXIKY29uZmlndXJlOjEwMDIyOiBjKysgLWMg LU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MTAwMjk6 ICQ/ID0gMApjb25maWd1cmU6MTAwNDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDA1NTog Y2hlY2tpbmcgd2hldGhlciBjKysgYWNjZXB0cyAtZwpjb25maWd1cmU6MTAwODU6IGMrKyAt YyAtZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBj b25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZToxMDA5MjogJD8gPSAwCmNvbmZpZ3VyZToxMDE5 MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMjE4OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGMrKwpjb25maWd1cmU6MTAzMDk6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6MTAz MzQ6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNzb3IKY29uZmlndXJl OjEwMzcwOiBjKysgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUvZGI0MSAgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToxMDM3NzogJD8gPSAwCmNvbmZpZ3Vy ZToxMDQwODogYysrIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNs dWRlL2RiNDEgIGNvbmZ0ZXN0LmNwcApjb25mdGVzdC5jcHA6MzE6Mjg6IGVycm9yOiBhY19u b25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMDQx NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIDIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZl ciIKfCAjZGVmaW5lIFZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgQkFTRV9WRVJTSU9O ICIyLjI0Igp8ICNkZWZpbmUgQVBJX1ZFUlNJT04gIjEuMiIKfCAjZGVmaW5lIFlZVEVYVF9Q T0lOVEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmlu ZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZXZvbHV0aW9uLWRh dGEtc2VydmVyLTIuMjQiCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjEw NDQ4OiByZXN1bHQ6IGMrKyAtRQpjb25maWd1cmU6MTA0Nzc6IGMrKyAtRSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jcHAKY29u ZmlndXJlOjEwNDg0OiAkPyA9IDAKY29uZmlndXJlOjEwNTE1OiBjKysgLUUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuY3BwCmNv bmZ0ZXN0LmNwcDozMToyODogZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEwNTIyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy LjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJldm9sdXRpb24tZGF0YS1zZXJ2 ZXIgMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi4y NC40LjEiCnwgI2RlZmluZSBCQVNFX1ZFUlNJT04gIjIuMjQiCnwgI2RlZmluZSBBUElfVkVS U0lPTiAiMS4yIgp8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklO RF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVm aW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUg R0VUVEVYVF9QQUNLQUdFICJldm9sdXRpb24tZGF0YS1zZXJ2ZXItMi4yNCIKfCAjZGVmaW5l IEhBVkVfRExGQ05fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxh Y19ub25leGlzdGVudC5oPgpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBnNzcKY29u ZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDYxNTogY2hlY2tpbmcgZm9y IHhsZgpjb25maWd1cmU6MTA2NDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNjE1OiBjaGVj a2luZyBmb3IgZjc3CmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2 MTU6IGNoZWNraW5nIGZvciBmcnQKY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMDYxNTogY2hlY2tpbmcgZm9yIHBnZjc3CmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0 OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBjZjc3CmNvbmZpZ3VyZToxMDY0 NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBmb3J0NzcKY29u ZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDYxNTogY2hlY2tpbmcgZm9y IGZsMzIKY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDYxNTogY2hl Y2tpbmcgZm9yIGFmNzcKY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MDYxNTogY2hlY2tpbmcgZm9yIHhsZjkwCmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0OiBubwpj b25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBmOTAKY29uZmlndXJlOjEwNjQ1OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxMDYxNTogY2hlY2tpbmcgZm9yIHBnZjkwCmNvbmZpZ3VyZTox MDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBwZ2hwZgpj b25maWd1cmU6MTA2NDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNjE1OiBjaGVja2luZyBm b3IgZXBjZjkwCmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6 IGNoZWNraW5nIGZvciBnZm9ydHJhbgpjb25maWd1cmU6MTA2NDU6IHJlc3VsdDogbm8KY29u ZmlndXJlOjEwNjE1OiBjaGVja2luZyBmb3IgZzk1CmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0 OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciB4bGY5NQpjb25maWd1cmU6MTA2 NDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNjE1OiBjaGVja2luZyBmb3IgZjk1CmNvbmZp Z3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBm b3J0CmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNr aW5nIGZvciBpZm9ydApjb25maWd1cmU6MTA2NDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEw NjE1OiBjaGVja2luZyBmb3IgaWZjCmNvbmZpZ3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25m aWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBlZmMKY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMDYxNTogY2hlY2tpbmcgZm9yIHBnZjk1CmNvbmZpZ3VyZToxMDY0 NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBsZjk1CmNvbmZp Z3VyZToxMDY0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MTU6IGNoZWNraW5nIGZvciBm dG4KY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDY3MjogY2hlY2tp bmcgZm9yIEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTA2ODA6ICAt LXZlcnNpb24gPiY1Ci0tdmVyc2lvbjogbm90IGZvdW5kCmNvbmZpZ3VyZToxMDY4NDogJD8g PSAxMjcKY29uZmlndXJlOjEwNjkxOiAgLXYgPiY1Ci12OiBub3QgZm91bmQKY29uZmlndXJl OjEwNjk1OiAkPyA9IDEyNwpjb25maWd1cmU6MTA3MDI6ICAtViA+JjUKLVY6IG5vdCBmb3Vu ZApjb25maWd1cmU6MTA3MDY6ICQ/ID0gMTI3CmNvbmZpZ3VyZToxMDcxNDogY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBGb3J0cmFuIDc3IGNvbXBpbGVyCmNvbmZp Z3VyZToxMDczMzogIC1jICBjb25mdGVzdC5GID4mNQotYzogbm90IGZvdW5kCmNvbmZpZ3Vy ZToxMDc0MDogJD8gPSAxMjcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAg ICAgcHJvZ3JhbSBtYWluCnwgI2lmbmRlZiBfX0dOVUNfXwp8ICAgICAgICBjaG9rZSBtZQp8 ICNlbmRpZgp8IAp8ICAgICAgIGVuZApjb25maWd1cmU6MTA3NTc6IHJlc3VsdDogbm8KY29u ZmlndXJlOjEwNzYzOiBjaGVja2luZyB3aGV0aGVyICBhY2NlcHRzIC1nCmNvbmZpZ3VyZTox MDc4MDogIC1jIC1nIGNvbmZ0ZXN0LmYgPiY1Ci1jOiBub3QgZm91bmQKY29uZmlndXJlOjEw Nzg3OiAkPyA9IDEyNwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAgICAgICBw cm9ncmFtIG1haW4KfCAKfCAgICAgICBlbmQKY29uZmlndXJlOjEwODAzOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxMDgzNjogY2hlY2tpbmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNvbW1h bmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjEwOTQ4OiByZXN1bHQ6IDI2MjE0NApjb25m aWd1cmU6MTA5NjA6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0gLUIg b3V0cHV0IGZyb20gY2Mgb2JqZWN0CmNvbmZpZ3VyZToxMTA2NTogY2MgLWMgLU8gLXBpcGUg LURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjExMDY4OiAkPyA9IDAKY29u ZmlndXJlOjExMDcyOiAvdXNyL2Jpbi9ubSAtQiBjb25mdGVzdC5vIFx8IHNlZCAtbiAtZSAn cy9eLipbIAldXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXClbIAldWyAJXSpcKFtfQS1a YS16XVtfQS1aYS16MC05XSpcKSQvXDEgXDIgXDIvcCcgXD4gY29uZnRlc3Qubm0KY29uZmln dXJlOjExMDc1OiAkPyA9IDAKY29uZmlndXJlOjExMTI3OiBjYyAtbyBjb25mdGVzdCAtTyAt cGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9j YWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMg Y29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjExMTMwOiAkPyA9IDAKY29uZmlndXJlOjExMTY4 OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZToxMTE3MjogY2hlY2tpbmcgZm9yIG9iamRpcgpjb25m aWd1cmU6MTExODc6IHJlc3VsdDogLmxpYnMKY29uZmlndXJlOjExMjc5OiBjaGVja2luZyBm b3IgYXIKY29uZmlndXJlOjExMjk1OiBmb3VuZCAvdXNyL2Jpbi9hcgpjb25maWd1cmU6MTEz MDY6IHJlc3VsdDogYXIKY29uZmlndXJlOjExMzc1OiBjaGVja2luZyBmb3IgcmFubGliCmNv bmZpZ3VyZToxMTM5MTogZm91bmQgL3Vzci9iaW4vcmFubGliCmNvbmZpZ3VyZToxMTQwMjog cmVzdWx0OiByYW5saWIKY29uZmlndXJlOjExNDcxOiBjaGVja2luZyBmb3Igc3RyaXAKY29u ZmlndXJlOjExNDg3OiBmb3VuZCAvdXNyL2Jpbi9zdHJpcApjb25maWd1cmU6MTE0OTg6IHJl c3VsdDogc3RyaXAKY29uZmlndXJlOjEyMTAwOiBjaGVja2luZyBpZiBjYyBzdXBwb3J0cyAt Zm5vLXJ0dGkgLWZuby1leGNlcHRpb25zCmNvbmZpZ3VyZToxMjExODogY2MgLWMgLU8gLXBp cGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvZGI0MSAgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVzdC5jID4m NQpjYzE6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRpb24gIi1mbm8tcnR0aSIgaXMgdmFs aWQgZm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQwpjb25maWd1cmU6MTIxMjI6ICQ/ID0g MApjb25maWd1cmU6MTIxMzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyMTUwOiBjaGVja2lu ZyBmb3IgY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxMjM4MjogcmVzdWx0 OiAtZlBJQwpjb25maWd1cmU6MTIzOTA6IGNoZWNraW5nIGlmIGNjIFBJQyBmbGFnIC1mUElD IHdvcmtzCmNvbmZpZ3VyZToxMjQwODogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FU RUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLWZQ SUMgLURQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyNDEyOiAkPyA9IDAKY29uZmln dXJlOjEyNDI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI0NTM6IGNoZWNraW5nIGlmIGNj IHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MKY29uZmlndXJlOjEyNDgxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTI0OTE6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1jIC1vIGZpbGUu bwpjb25maWd1cmU6MTI1MTI6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIC1vIG91dC9j b25mdGVzdDIubyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTI1MTY6ICQ/ID0gMApjb25m aWd1cmU6MTI1Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjU2NDogY2hlY2tpbmcgd2hl dGhlciB0aGUgY2MgbGlua2VyICgvdXNyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJh cmllcwpjb25maWd1cmU6MTM1NTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzU3MzogY2hl Y2tpbmcgd2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluCmNvbmZp Z3VyZToxMzU3ODogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjEzNTgxOiAkPyA9IDAKY29uZmlndXJlOjEzNTk2OiBjYyAtc2hhcmVkIGNv bmZ0ZXN0Lm8gIC12IC1XbCwtc29uYW1lIC1XbCxjb25mdGVzdCAtbyBjb25mdGVzdCAyXD5c JjEgXHwgZ3JlcCAgLWxjICBcPi9kZXYvbnVsbCAyXD5cJjEKY29uZmlndXJlOjEzNTk5OiAk PyA9IDAKY29uZmlndXJlOjEzNjExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzYxOTogY2hl Y2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZToxNDIyMzog cmVzdWx0OiBmcmVlYnNkNy4xIGxkLnNvCmNvbmZpZ3VyZToxNDI0NzogY2hlY2tpbmcgaG93 IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcwpjb25maWd1cmU6MTQy NzI6IHJlc3VsdDogaW1tZWRpYXRlCmNvbmZpZ3VyZToxNDI4NjogY2hlY2tpbmcgd2hldGhl ciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlCmNvbmZpZ3VyZToxNDI5MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE1MTIxOiBjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRz IHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE1MTIzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTUxMjY6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcwpj b25maWd1cmU6MTUxNDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTE1MDogY2hlY2tpbmcg d2hldGhlciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZpZ3VyZToxNTE1NDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE1MjQ4OiBjcmVhdGluZyBsaWJ0b29sCmNvbmZpZ3VyZTox NTg0MTogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgYysrCmNvbmZpZ3VyZToxNTkwODogcmVz dWx0OiAvdXNyL2Jpbi9sZApjb25maWd1cmU6MTU5MTc6IGNoZWNraW5nIGlmIHRoZSBsaW5r ZXIgKC91c3IvYmluL2xkKSBpcyBHTlUgbGQKY29uZmlndXJlOjE1OTMyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTU5ODM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGMrKyBsaW5rZXIgKC91 c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxNjkzNzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2OTU0OiBjKysgLWMgLU8gLXBpcGUgLURMREFQX0RF UFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0 MSAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MTY5NTc6ICQ/ID0gMApjb25maWd1cmU6 MTcxMTM6IGNoZWNraW5nIGZvciBjKysgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3Vy ZToxNzM5NzogcmVzdWx0OiAtZlBJQwpjb25maWd1cmU6MTc0MDU6IGNoZWNraW5nIGlmIGMr KyBQSUMgZmxhZyAtZlBJQyB3b3Jrcwpjb25maWd1cmU6MTc0MjM6IGMrKyAtYyAtTyAtcGlw ZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZS9kYjQxICAtZlBJQyAtRFBJQyBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTox NzQyNzogJD8gPSAwCmNvbmZpZ3VyZToxNzQ0MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3 NDY4OiBjaGVja2luZyBpZiBjKysgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpjb25maWd1 cmU6MTc0OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzUwNjogY2hlY2tpbmcgaWYgYysr IHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25maWd1cmU6MTc1Mjc6IGMrKyAtYyAtTyAtcGlw ZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZS9kYjQxICAtbyBvdXQvY29uZnRlc3QyLm8gY29uZnRlc3QuY3BwID4mNQpjb25m aWd1cmU6MTc1MzE6ICQ/ID0gMApjb25maWd1cmU6MTc1NTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNzU3OTogY2hlY2tpbmcgd2hldGhlciB0aGUgYysrIGxpbmtlciAoL3Vzci9iaW4v bGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE3NjA1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTc2NzI6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3Rl cmlzdGljcwpjb25maWd1cmU6MTgyMjQ6IHJlc3VsdDogZnJlZWJzZDcuMSBsZC5zbwpjb25m aWd1cmU6MTgyNDg6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGlu dG8gcHJvZ3JhbXMKY29uZmlndXJlOjE4MjczOiByZXN1bHQ6IGltbWVkaWF0ZQpjb25maWd1 cmU6MjQ1MjA6IGNoZWNraW5nIGZvciBiYXNoCmNvbmZpZ3VyZToyNDU1MzogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQ1NTg6IGNoZWNraW5nIGlmIGRvbHQgc3VwcG9ydHMgdGhpcyBob3N0 CmNvbmZpZ3VyZToyNDU4MDogcmVzdWx0OiBubywgZmFsbGluZyBiYWNrIHRvIGxpYnRvb2wK Y29uZmlndXJlOjI0NzYxOiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6MjQ3 Nzk6IGZvdW5kIC91c3IvbG9jYWwvYmluL3BrZy1jb25maWcKY29uZmlndXJlOjI0NzkxOiBy ZXN1bHQ6IC91c3IvbG9jYWwvYmluL3BrZy1jb25maWcKY29uZmlndXJlOjI0ODIwOiBjaGVj a2luZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gMC45LjAKY29uZmlndXJlOjI0 ODIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ4MzQ6IGNoZWNraW5nIGZvciBXaW4zMgpj b25maWd1cmU6MjQ4NzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0OTA0OiBjaGVja2luZyBw dGhyZWFkLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyNDkyMTogY2MgLWMgLU8gLXBpcGUgLURM REFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI0OTI4OiAkPyA9IDAKY29uZmln dXJlOjI0OTQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ5NDY6IGNoZWNraW5nIHB0aHJl YWQuaCBwcmVzZW5jZQpjb25maWd1cmU6MjQ5NjE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI0 OTY4OiAkPyA9IDAKY29uZmlndXJlOjI0OTgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjUw MTA6IGNoZWNraW5nIGZvciBwdGhyZWFkLmgKY29uZmlndXJlOjI1MDE5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjQ5MDQ6IGNoZWNraW5nIHNlbWFwaG9yZS5oIHVzYWJpbGl0eQpjb25m aWd1cmU6MjQ5MjE6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToyNDkyODogJD8gPSAwCmNvbmZpZ3VyZToyNDk0MjogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI0OTQ2OiBjaGVja2luZyBzZW1hcGhvcmUuaCBwcmVzZW5jZQpjb25maWd1 cmU6MjQ5NjE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNs dWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI0OTY4OiAkPyA9IDAKY29uZmlndXJl OjI0OTgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjUwMTA6IGNoZWNraW5nIGZvciBzZW1h cGhvcmUuaApjb25maWd1cmU6MjUwMTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDkwNDog Y2hlY2tpbmcgc3lzL3dhaXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI0OTIxOiBjYyAtYyAt TyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3Iv bG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjQ5Mjg6ICQ/ ID0gMApjb25maWd1cmU6MjQ5NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDk0NjogY2hl Y2tpbmcgc3lzL3dhaXQuaCBwcmVzZW5jZQpjb25maWd1cmU6MjQ5NjE6IGNjIC1FIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjI0OTY4OiAkPyA9IDAKY29uZmlndXJlOjI0OTgyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjUwMTA6IGNoZWNraW5nIGZvciBzeXMvd2FpdC5oCmNvbmZpZ3VyZToyNTAx OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1MDM5OiBjaGVja2luZyBmb3IgZnN5bmMKY29u ZmlndXJlOjI1MDk1OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRF RCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91 c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MjUxMDI6 ICQ/ID0gMApjb25maWd1cmU6MjUxMjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTAzOTog Y2hlY2tpbmcgZm9yIHN0cnB0aW1lCmNvbmZpZ3VyZToyNTA5NTogY2MgLW8gY29uZnRlc3Qg LU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVz dC5jICA+JjUKY29uZmlndXJlOjI1MTAyOiAkPyA9IDAKY29uZmlndXJlOjI1MTI0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjUwMzk6IGNoZWNraW5nIGZvciBzdHJ0b2tfcgpjb25maWd1 cmU6MjUwOTU6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIC1ML3Vzci9s b2NhbC9saWIgLXB0aHJlYWQgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToyNTEwMjogJD8g PSAwCmNvbmZpZ3VyZToyNTEyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1MTUyOiBjaGVj a2luZyBhbGxvY2EuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI1MTY5OiBjYyAtYyAtTyAtcGlw ZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjcwOjIwOiBlcnJvcjog YWxsb2NhLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI1MTc2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIgMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBCQVNFX1ZFUlNJT04gIjIu MjQiCnwgI2RlZmluZSBBUElfVkVSU0lPTiAiMS4yIgp8ICNkZWZpbmUgWVlURVhUX1BPSU5U RVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VT IDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVO QUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJldm9sdXRpb24tZGF0YS1z ZXJ2ZXItMi4yNCIKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NFTUFQSE9SRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1RS UFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0tfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+ CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGFsbG9jYS5oPgpjb25maWd1cmU6MjUxOTA6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI1MTk0OiBjaGVja2luZyBhbGxvY2EuaCBwcmVzZW5jZQpjb25m aWd1cmU6MjUyMDk6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9p bmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzozNzoyMDogZXJyb3I6IGFsbG9j YS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyNTIxNjogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZXZv bHV0aW9uLWRhdGEtc2VydmVyIDIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVm aW5lIFZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgQkFTRV9WRVJTSU9OICIyLjI0Igp8 ICNkZWZpbmUgQVBJX1ZFUlNJT04gIjEuMiIKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwg I2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf R0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVf TkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVy LTIuMjQiCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X0ggMQp8ICNkZWZpbmUgSEFWRV9TRU1BUEhPUkVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NUUlBUSU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9LX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8YWxsb2NhLmg+CmNvbmZpZ3VyZToyNTIzMDogcmVzdWx0OiBubwpjb25m aWd1cmU6MjUyNTg6IGNoZWNraW5nIGZvciBhbGxvY2EuaApjb25maWd1cmU6MjUyNjc6IHJl c3VsdDogbm8KY29uZmlndXJlOjI1Mjg1OiBjaGVja2luZyBmb3IgR05PTUVfUExBVEZPUk0K Y29uZmlndXJlOjI1MjkyOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAi Z2xpYi0yLjAgPj0gMi4xNi4xCiAgICAgICAgIGd0aystMi4wID49IDIuMTAuMAogICAgICAg ICBPUkJpdC0yLjAgPj0gMi45LjgKICAgICAgICAgbGliYm9ub2JvLTIuMCA+PSAyLjIwLjMK ICAgICAgICAgZ2NvbmYtMi4wID49IDIuMC4wCiAgICAgICAgIGxpYmdsYWRlLTIuMCA+PSAy LjAuMAogICAgICAgICBsaWJnbm9tZS0yLjAgPj0gMi4wLjAKICAgICAgICAgbGlieG1sLTIu MCA+PSAyLjAuMAogICAgICAgICBsaWJzb3VwLTIuNCA+PSAyLjMuMCIKY29uZmlndXJlOjI1 MzExOiAkPyA9IDAKY29uZmlndXJlOjI1MzMyOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXBy aW50LWVycm9ycyAiZ2xpYi0yLjAgPj0gMi4xNi4xCiAgICAgICAgIGd0aystMi4wID49IDIu MTAuMAogICAgICAgICBPUkJpdC0yLjAgPj0gMi45LjgKICAgICAgICAgbGliYm9ub2JvLTIu MCA+PSAyLjIwLjMKICAgICAgICAgZ2NvbmYtMi4wID49IDIuMC4wCiAgICAgICAgIGxpYmds YWRlLTIuMCA+PSAyLjAuMAogICAgICAgICBsaWJnbm9tZS0yLjAgPj0gMi4wLjAKICAgICAg ICAgbGlieG1sLTIuMCA+PSAyLjAuMAogICAgICAgICBsaWJzb3VwLTIuNCA+PSAyLjMuMCIK Y29uZmlndXJlOjI1MzUxOiAkPyA9IDAKY29uZmlndXJlOjI1NDY2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjU0NzU6IGNoZWNraW5nIGZvciByZWdleGVjCmNvbmZpZ3VyZToyNTUzMTog Y2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xpYiAt cHRocmVhZCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjI1NTM4OiAkPyA9IDAKY29uZmln dXJlOjI1NTYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU2NjY6IGNoZWNraW5nIEJlcmtl bGV5IERCCmNvbmZpZ3VyZToyNTY5MTogY2MgLW8gY29uZnRlc3QgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAg LUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIg LWxkYjQxID4mNQpjb25maWd1cmU6MjU2OTg6ICQ/ID0gMApjb25maWd1cmU6MjU3MDY6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToyNTc2NjogY2hlY2tpbmcgZm9yIGljb252IGluIC1saWNv bnYKY29uZmlndXJlOjI1Nzk4OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQ UkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0 ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiA+JjUKY29uZmlndXJlOjI1ODAyOiAk PyA9IDAKY29uZmlndXJlOjI1ODA4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNTgxMjogJD8g PSAwCmNvbmZpZ3VyZToyNTgyOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2MDM4OiBjaGVj a2luZyBpZiBpY29udigpIGhhbmRsZXMgVVRGLTgKY29uZmlndXJlOjI2MDkyOiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91 c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxp Y29udiA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjY0 OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2YgJ2xpYmljb252JyBmcm9tIGluY29t cGF0aWJsZSBwb2ludGVyIHR5cGUKY29uZmlndXJlOjI2MDk2OiAkPyA9IDAKY29uZmlndXJl OjI2MTAyOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNjEwNjogJD8gPSAwCmNvbmZpZ3VyZToy NjEyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2MTM3OiBjaGVja2luZyBwcmVmZXJyZWQg Y2hhcnNldCBmb3JtYXRzIGZvciBzeXN0ZW0gaWNvbnYKY29uZmlndXJlOjI2MTYzOiBjYyAt byBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtSS4gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0 MSAgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwv bGliIC1saWNvbnYgPiY1CmNvbmZpZ3VyZToyNjE2NzogJD8gPSAwCmNvbmZpZ3VyZToyNjE3 MzogLi9jb25mdGVzdApTeXN0ZW0gcHJlZmVycyBpc28tODg1OS0xClN5c3RlbSBwcmVmZXJz IGlzby0yMDIyLWpwClN5c3RlbSBwcmVmZXJzIFVDUy00QkUKY29uZmlndXJlOjI2MTc3OiAk PyA9IDAKY29uZmlndXJlOjI2MTgwOiByZXN1bHQ6IGZvdW5kCmNvbmZpZ3VyZToyNjIxNzog Y2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZvIChDT0RFU0VUKQpjb25maWd1cmU6MjYyNDA6IGNj IC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1J L3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNjI0 NzogJD8gPSAwCmNvbmZpZ3VyZToyNjI2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2Mjcy OiBjaGVja2luZyBmb3IgJWwgYW5kICVrIHN1cHBvcnQgaW4gc3RyZnRpbWUKY29uZmlndXJl OjI2MzExOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICAtTC91c3IvbG9j YWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MjYzMTU6ICQ/ID0g MApjb25maWd1cmU6MjYzMjE6IC4vY29uZnRlc3QKY29uZmlndXJlOjI2MzI1OiAkPyA9IDAK Y29uZmlndXJlOjI2MzQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY0MDk6IGNoZWNraW5n IGZvciBHTk9NRV9LRVlSSU5HCmNvbmZpZ3VyZToyNjQxNjogJFBLR19DT05GSUcgLS1leGlz dHMgLS1wcmludC1lcnJvcnMgImdub21lLWtleXJpbmctMSA+PSAyLjIwLjEiCmNvbmZpZ3Vy ZToyNjQxOTogJD8gPSAwCmNvbmZpZ3VyZToyNjQzMjogJFBLR19DT05GSUcgLS1leGlzdHMg LS1wcmludC1lcnJvcnMgImdub21lLWtleXJpbmctMSA+PSAyLjIwLjEiCmNvbmZpZ3VyZToy NjQzNTogJD8gPSAwCmNvbmZpZ3VyZToyNjQ3MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2 NDk0OiBjaGVja2luZyBNb3ppbGxhIE5TUFIgcGtnLWNvbmZpZyBtb2R1bGUgbmFtZQpjb25m aWd1cmU6MjY0OTk6IHJlc3VsdDogbnNwcgpjb25maWd1cmU6MjY1MDY6IGNoZWNraW5nIE1v emlsbGEgTlNTIHBrZy1jb25maWcgbW9kdWxlIG5hbWUKY29uZmlndXJlOjI2NTExOiByZXN1 bHQ6IG5zcwpjb25maWd1cmU6MjcyMTY6IGNoZWNraW5nIGZvciBzb2NrbGVuX3QKY29uZmln dXJlOjI3MjQyOiBjYyAtYyAtTyAtcGlwZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MjcyNDk6ICQ/ID0gMApjb25maWd1cmU6MjcyNTQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyNzMyNTogY2hlY2tpbmcgZm9yIHNlbmRtYWlsCmNvbmZpZ3VyZToyNzM0NDog Zm91bmQgL3Vzci9zYmluL3NlbmRtYWlsCmNvbmZpZ3VyZToyNzM1NzogcmVzdWx0OiAvdXNy L3NiaW4vc2VuZG1haWwKY29uZmlndXJlOjI3MzcxOiBjaGVja2luZyBzeXN0ZW0gbWFpbCBk aXJlY3RvcnkKY29uZmlndXJlOjI3NDEwOiByZXN1bHQ6IC92YXIvbWFpbCwgd3JpdGFibGUg YnkgZ3JvdXAgbWFpbApjb25maWd1cmU6Mjc0MTY6IGNoZWNraW5nIGZvciB0bV9nbXRvZmYg aW4gc3RydWN0IHRtCmNvbmZpZ3VyZToyNzQ0NzogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RF UFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0 MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3NDU0OiAkPyA9IDAKY29uZmlndXJlOjI3 NDY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc2MDg6IGNoZWNraW5nIGlmIGN0aW1lX3Ig d2FudHMgdGhyZWUgYXJndW1lbnRzCmNvbmZpZ3VyZToyNzY0MTogY2MgLWMgLU8gLXBpcGUg LURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjU2OiBlcnJvcjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIGZ1bmN0 aW9uICdjdGltZV9yJwpjb25maWd1cmU6Mjc2NDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIu MjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1dGlvbi1kYXRhLXNlcnZl ciAyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBWRVJTSU9OICIyLjI0 LjQuMSIKfCAjZGVmaW5lIEJBU0VfVkVSU0lPTiAiMi4yNCIKfCAjZGVmaW5lIEFQSV9WRVJT SU9OICIxLjIiCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM RV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5E X1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZp bmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBH RVRURVhUX1BBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlci0yLjI0Igp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAjZGVmaW5lIEhB VkVfU0VNQVBIT1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TVFJQVElNRSAxCnwgI2RlZmluZSBIQVZF X1NUUlRPS19SIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhFQyAxCnwgI2RlZmluZSBIQVZFX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MS1NUUkZUSU1FIDEKfCAjZGVmaW5lIFdJVEhfR05P TUVfS0VZUklORyAxCnwgI2RlZmluZSBFTkFCTEVfU01JTUUgMQp8ICNkZWZpbmUgSEFWRV9O U1MgMQp8ICNkZWZpbmUgSEFWRV9TU0wgMQp8ICNkZWZpbmUgU0VORE1BSUxfUEFUSCAiL3Vz ci9zYmluL3NlbmRtYWlsIgp8ICNkZWZpbmUgU1lTVEVNX01BSUxfRElSICIvdmFyL21haWwi CnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 IAp8IAkJI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8IAkJ Y2hhciAqYnVmOwp8IAkJdGltZV90IGRhdGU7CnwgCQljdGltZV9yICgmZGF0ZSwgYnVmLCAx MDApOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjc2Njg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjI3Njg0OiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yCmNv bmZpZ3VyZToyNzc0MDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FU RUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwv dXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjI3NzQ3 OiAkPyA9IDAKY29uZmlndXJlOjI3NzY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc3Nzc6 IGNoZWNraW5nIGlmIGdldGhvc3RieW5hbWVfciB3YW50cyBmaXZlIGFyZ3VtZW50cwpjb25m aWd1cmU6Mjc4MTk6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo2Njogd2Fybmlu ZzogcGFzc2luZyBhcmd1bWVudCA1IG9mICdnZXRob3N0YnluYW1lX3InIGZyb20gaW5jb21w YXRpYmxlIHBvaW50ZXIgdHlwZQpjb25mdGVzdC5jOjY2OiBlcnJvcjogdG9vIGZldyBhcmd1 bWVudHMgdG8gZnVuY3Rpb24gJ2dldGhvc3RieW5hbWVfcicKY29uZmlndXJlOjI3ODI2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIgMi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8 ICNkZWZpbmUgVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBCQVNFX1ZFUlNJT04gIjIu MjQiCnwgI2RlZmluZSBBUElfVkVSU0lPTiAiMS4yIgp8ICNkZWZpbmUgWVlURVhUX1BPSU5U RVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VT IDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVO QUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJldm9sdXRpb24tZGF0YS1z ZXJ2ZXItMi4yNCIKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NFTUFQSE9SRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfU1RS UFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0tfUiAxCnwgI2RlZmluZSBIQVZFX1JFR0VY RUMgMQp8ICNkZWZpbmUgSEFWRV9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEtTVFJGVElN RSAxCnwgI2RlZmluZSBXSVRIX0dOT01FX0tFWVJJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1NN SU1FIDEKfCAjZGVmaW5lIEhBVkVfTlNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMIDEKfCAjZGVm aW5lIFNFTkRNQUlMX1BBVEggIi91c3Ivc2Jpbi9zZW5kbWFpbCIKfCAjZGVmaW5lIFNZU1RF TV9NQUlMX0RJUiAiL3Zhci9tYWlsIgp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAJCSNpbmNsdWRlICJjb25mZGVmcy5oIgp8IAkJI2luY2x1ZGUgPHN5cy90eXBlcy5o Pgp8IAkJI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAJCSNpbmNsdWRlIDxuZXRpbmV0L2lu Lmg+CnwgCQkjaW5jbHVkZSA8bmV0ZGIuaD4KfCAKfCAJCSNkZWZpbmUgQlVGU0laRSAoc2l6 ZW9mKHN0cnVjdCBob3N0ZW50KSsxMCkKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8IAkJ c3RydWN0IGhvc3RlbnQgaGVudDsKfCAJCWNoYXIgYnVmZmVyW0JVRlNJWkVdOwp8IAkJaW50 IGJ1ZnNpemU9QlVGU0laRTsKfCAJCWludCBoX2Vycm5vOwp8IAp8IAkJKHZvaWQpZ2V0aG9z dGJ5bmFtZV9yICgid3d3LnhpbWlhbi5jb20iLCAmaGVudCwgYnVmZmVyLCBidWZzaXplLCAm aF9lcnJubyk7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNzg0Njog cmVzdWx0OiBubwpjb25maWd1cmU6Mjc4NjU6IGNoZWNraW5nIGZvciBnZXRob3N0YnlhZGRy X3IKY29uZmlndXJlOjI3OTIxOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtRExEQVBfREVQ UkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9kYjQx ICAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6 Mjc5Mjg6ICQ/ID0gMApjb25maWd1cmU6Mjc5NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy Nzk1ODogY2hlY2tpbmcgaWYgZ2V0aG9zdGJ5YWRkcl9yIHdhbnRzIHNldmVuIGFyZ3VtZW50 cwpjb25maWd1cmU6MjgwMDA6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVEIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo2Nzog d2FybmluZzogcGFzc2luZyBhcmd1bWVudCA3IG9mICdnZXRob3N0YnlhZGRyX3InIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQpjb25mdGVzdC5jOjY3OiBlcnJvcjogdG9vIGZl dyBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJ2dldGhvc3RieWFkZHJfcicKY29uZmlndXJlOjI4 MDA3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImV2b2x1dGlvbi1kYXRhLXNlcnZl ciIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIgMi4yNC40LjEiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2Vy dmVyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi4yNC40LjEiCnwgI2RlZmluZSBCQVNFX1ZFUlNJ T04gIjIuMjQiCnwgI2RlZmluZSBBUElfVkVSU0lPTiAiMS4yIgp8ICNkZWZpbmUgWVlURVhU X1BPSU5URVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01F U1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVm aW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJldm9sdXRpb24t ZGF0YS1zZXJ2ZXItMi4yNCIKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX1NFTUFQSE9SRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfU1RSUFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0tfUiAxCnwgI2RlZmluZSBIQVZF X1JFR0VYRUMgMQp8ICNkZWZpbmUgSEFWRV9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEtT VFJGVElNRSAxCnwgI2RlZmluZSBXSVRIX0dOT01FX0tFWVJJTkcgMQp8ICNkZWZpbmUgRU5B QkxFX1NNSU1FIDEKfCAjZGVmaW5lIEhBVkVfTlNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMIDEK fCAjZGVmaW5lIFNFTkRNQUlMX1BBVEggIi91c3Ivc2Jpbi9zZW5kbWFpbCIKfCAjZGVmaW5l IFNZU1RFTV9NQUlMX0RJUiAiL3Zhci9tYWlsIgp8ICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FX1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRI T1NUQllBRERSX1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAJCSNpbmNsdWRl ICJjb25mZGVmcy5oIgp8IAkJI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8IAkJI2luY2x1ZGUg PHN5cy9zb2NrZXQuaD4KfCAJCSNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CnwgCQkjaW5jbHVk ZSA8bmV0ZGIuaD4KfCAKfCAJCSNkZWZpbmUgQlVGU0laRSAoc2l6ZW9mKHN0cnVjdCBob3N0 ZW50KSsxMCkKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8IAkJc3RydWN0IGhvc3RlbnQg aGVudDsKfCAJCWNoYXIgYnVmZmVyW0JVRlNJWkVdOwp8IAkJaW50IGJ1ZnNpemU9QlVGU0la RTsKfCAJCWludCBoX2Vycm5vOwp8IAp8IAkJKHZvaWQpZ2V0aG9zdGJ5YWRkcl9yICgid3d3 LnhpbWlhbi5jb20iLCAxNCwgQUZfSU5FVCwgJmhlbnQsIGJ1ZmZlciwgYnVmc2l6ZSwgJmhf ZXJybm8pOwp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjgwMjc6IHJl c3VsdDogbm8KY29uZmlndXJlOjI4MDU4OiBjaGVja2luZyBzeXMvc3RhdHZmcy5oIHVzYWJp bGl0eQpjb25maWd1cmU6MjgwNzU6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9ERVBSRUNBVEVE IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODA4MjogJD8gPSAwCmNvbmZpZ3VyZToyODA5NjogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjI4MTAwOiBjaGVja2luZyBzeXMvc3RhdHZmcy5oIHByZXNl bmNlCmNvbmZpZ3VyZToyODExNTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYwpjb25maWd1cmU6MjgxMjI6ICQ/ID0g MApjb25maWd1cmU6MjgxMzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODE2NDogY2hlY2tp bmcgZm9yIHN5cy9zdGF0dmZzLmgKY29uZmlndXJlOjI4MTczOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjgxOTE6IGNoZWNraW5nIGZvciBzdGF0dmZzCmNvbmZpZ3VyZToyODI0NzogY2Mg LW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xpYiAtcHRo cmVhZCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjI4MjU0OiAkPyA9IDAKY29uZmlndXJl OjI4Mjc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjgzMDM6IGNoZWNraW5nIHN5cy9wYXJh bS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjgzMjA6IGNjIC1jIC1PIC1waXBlIC1ETERBUF9E RVBSRUNBVEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2Ri NDEgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODMyNzogJD8gPSAwCmNvbmZpZ3VyZToy ODM0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4MzQ1OiBjaGVja2luZyBzeXMvcGFyYW0u aCBwcmVzZW5jZQpjb25maWd1cmU6MjgzNjA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI4MzY3 OiAkPyA9IDAKY29uZmlndXJlOjI4MzgxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg0MDk6 IGNoZWNraW5nIGZvciBzeXMvcGFyYW0uaApjb25maWd1cmU6Mjg0MTg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyODQ0ODogY2hlY2tpbmcgc3lzL21vdW50LmggdXNhYmlsaXR5CmNvbmZp Z3VyZToyODQ2NTogY2MgLWMgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI4NDcyOiAkPyA9IDAKY29uZmlndXJlOjI4NDg2OiByZXN1bHQ6IHllcwpj b25maWd1cmU6Mjg0OTA6IGNoZWNraW5nIHN5cy9tb3VudC5oIHByZXNlbmNlCmNvbmZpZ3Vy ZToyODUwNTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUvZGI0MSAgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg1MTI6ICQ/ID0gMApjb25maWd1cmU6 Mjg1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODU1NDogY2hlY2tpbmcgZm9yIHN5cy9t b3VudC5oCmNvbmZpZ3VyZToyODU2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTgxOiBj aGVja2luZyBmb3Igc3RhdGZzCmNvbmZpZ3VyZToyODYzNzogY2MgLW8gY29uZnRlc3QgLU8g LXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCBjb25mdGVzdC5j ICA+JjUKY29uZmlndXJlOjI4NjQ0OiAkPyA9IDAKY29uZmlndXJlOjI4NjY2OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Mjg2Nzg6IGNoZWNraW5nIGlmIHN5c3RlbSBzdXBwb3J0cyBnZXRh ZGRyaW5mbyBhbmQgZ2V0bmFtZWluZm8KY29uZmlndXJlOjI4NzMxOiBjYyAtYyAtTyAtcGlw ZSAtRExEQVBfREVQUkVDQVRFRCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvbG9jYWwv aW5jbHVkZS9kYjQxICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg3Mzg6ICQ/ID0gMApj b25maWd1cmU6Mjg3NTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODgyMDogY2MgLWMgLU8g LXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUvZGI0MSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4ODI3OiAkPyA9 IDAKY29uZmlndXJlOjI4ODYxOiBjaGVja2luZyBpZiB3ZSBzaG91bGQgYnVpbGQgdGhlIGNh bGVuZGFyCmNvbmZpZ3VyZToyODg5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5MDUyOiBj aGVja2luZyBmb3IgU3VuT1MgYnJva2VuIHNwb29sIGZvcm1hdApjb25maWd1cmU6MjkwNzU6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MTM5OiBjaGVja2luZyBmb3IgS2VyYmVyb3MgNQpj b25maWd1cmU6MjkxNjc6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1ETERBUF9ERVBSRUNB VEVEIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RiNDEgIC1M L3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgLUwvdXNyL2xpYiAtbGtyYjUgLWxrNWNyeXB0byAt bGNvbV9lcnIgLWxnc3NhcGlfa3JiNSBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzo2MTox ODogZXJyb3I6IGtyYjUuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NjU6IGVycm9yOiAna3JiNV9pbml0 X2NvbnRleHQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25m dGVzdC5jOjY1OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjY1OiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rpb24g aXQgYXBwZWFycyBpbi4pCmNvbmZpZ3VyZToyOTE3NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Mi4yNC40LjEiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZXZvbHV0aW9uLWRhdGEtc2Vy dmVyIDIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKfCAjZGVmaW5lIFZFUlNJT04gIjIu MjQuNC4xIgp8ICNkZWZpbmUgQkFTRV9WRVJTSU9OICIyLjI0Igp8ICNkZWZpbmUgQVBJX1ZF UlNJT04gIjEuMiIKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJ TkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5l IEdFVFRFWFRfUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyLTIuMjQiCnwgI2RlZmlu ZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg SEFWRV9TRU1BUEhPUkVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX1NUUlBUSU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9LX1IgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWEVDIDEKfCAjZGVmaW5lIEhBVkVf Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xLU1RSRlRJTUUgMQp8ICNkZWZpbmUgV0lUSF9H Tk9NRV9LRVlSSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9TTUlNRSAxCnwgI2RlZmluZSBIQVZF X05TUyAxCnwgI2RlZmluZSBIQVZFX1NTTCAxCnwgI2RlZmluZSBTRU5ETUFJTF9QQVRIICIv dXNyL3NiaW4vc2VuZG1haWwiCnwgI2RlZmluZSBTWVNURU1fTUFJTF9ESVIgIi92YXIvbWFp bCIKfCAjZGVmaW5lIEhBVkVfVE1fR01UT0ZGIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVEJZ TkFNRV9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVEJZQUREUl9SIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEVOQUJMRV9JUHY2IDEKfCAjZGVmaW5lIEhB VkVfQUlfQUREUkNPTkZJRyAxCnwgI2RlZmluZSBFTkFCTEVfQ0FMRU5EQVIgMQp8ICNkZWZp bmUgSEFORExFX0xJQklDQUxfTUVNT1JZIDEKfCAjZGVmaW5lIEVOQUJMRV9OTlRQIDEKfCAj ZGVmaW5lIFVTRV9ET1QgMQp8ICNkZWZpbmUgVVNFX0ZDTlRMIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPGtyYjUuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IGty YjVfaW5pdF9jb250ZXh0CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyOTIx NzogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xp YiAtcHRocmVhZCAtTC91c3IvbGliICBjb25mdGVzdC5jICA+JjUKL3Zhci90bXAvL2NjRFFn THFhLm8oLnRleHQrMHhhKTogSW4gZnVuY3Rpb24gYG1haW4nOgo6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYGtyYjVfaW5pdF9jb250ZXh0Jwpjb25maWd1cmU6MjkyMjQ6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1 dGlvbi1kYXRhLXNlcnZlciAyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmlu ZSBWRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIEJBU0VfVkVSU0lPTiAiMi4yNCIKfCAj ZGVmaW5lIEFQSV9WRVJTSU9OICIxLjIiCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlci0y LjI0Igp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU0VNQVBIT1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TVFJQVElNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPS19SIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhFQyAxCnwg I2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MS1NUUkZUSU1FIDEKfCAj ZGVmaW5lIFdJVEhfR05PTUVfS0VZUklORyAxCnwgI2RlZmluZSBFTkFCTEVfU01JTUUgMQp8 ICNkZWZpbmUgSEFWRV9OU1MgMQp8ICNkZWZpbmUgSEFWRV9TU0wgMQp8ICNkZWZpbmUgU0VO RE1BSUxfUEFUSCAiL3Vzci9zYmluL3NlbmRtYWlsIgp8ICNkZWZpbmUgU1lTVEVNX01BSUxf RElSICIvdmFyL21haWwiCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1RCWU5BTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RCWUFERFJfUiAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmluZSBFTkFCTEVfSVB2NiAx CnwgI2RlZmluZSBIQVZFX0FJX0FERFJDT05GSUcgMQp8ICNkZWZpbmUgRU5BQkxFX0NBTEVO REFSIDEKfCAjZGVmaW5lIEhBTkRMRV9MSUJJQ0FMX01FTU9SWSAxCnwgI2RlZmluZSBFTkFC TEVfTk5UUCAxCnwgI2RlZmluZSBVU0VfRE9UIDEKfCAjZGVmaW5lIFVTRV9GQ05UTCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIga3Ji NV9pbml0X2NvbnRleHQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4ga3JiNV9p bml0X2NvbnRleHQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyOTI2 NzogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLURMREFQX0RFUFJFQ0FURUQgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAgLUwvdXNyL2xvY2FsL2xp YiAtcHRocmVhZCAtTC91c3IvbGliIC1sa3JiNSAtbGdzcyBjb25mdGVzdC5jICA+JjUKL3Vz ci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sa3JiNQpjb25maWd1cmU6MjkyNzQ6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjQuNC4xIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1 dGlvbi1kYXRhLXNlcnZlciAyLjI0LjQuMSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFICJldm9sdXRpb24tZGF0YS1zZXJ2ZXIiCnwgI2RlZmlu ZSBWRVJTSU9OICIyLjI0LjQuMSIKfCAjZGVmaW5lIEJBU0VfVkVSU0lPTiAiMi4yNCIKfCAj ZGVmaW5lIEFQSV9WRVJTSU9OICIxLjIiCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlci0y LjI0Igp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9I IDEKfCAjZGVmaW5lIEhBVkVfU0VNQVBIT1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9TVFJQVElNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPS19SIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhFQyAxCnwg I2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MS1NUUkZUSU1FIDEKfCAj ZGVmaW5lIFdJVEhfR05PTUVfS0VZUklORyAxCnwgI2RlZmluZSBFTkFCTEVfU01JTUUgMQp8 ICNkZWZpbmUgSEFWRV9OU1MgMQp8ICNkZWZpbmUgSEFWRV9TU0wgMQp8ICNkZWZpbmUgU0VO RE1BSUxfUEFUSCAiL3Vzci9zYmluL3NlbmRtYWlsIgp8ICNkZWZpbmUgU1lTVEVNX01BSUxf RElSICIvdmFyL21haWwiCnwgI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1RCWU5BTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RCWUFERFJfUiAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmluZSBFTkFCTEVfSVB2NiAx CnwgI2RlZmluZSBIQVZFX0FJX0FERFJDT05GSUcgMQp8ICNkZWZpbmUgRU5BQkxFX0NBTEVO REFSIDEKfCAjZGVmaW5lIEhBTkRMRV9MSUJJQ0FMX01FTU9SWSAxCnwgI2RlZmluZSBFTkFC TEVfTk5UUCAxCnwgI2RlZmluZSBVU0VfRE9UIDEKfCAjZGVmaW5lIFVTRV9GQ05UTCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIga3Ji NV9pbml0X2NvbnRleHQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4ga3JiNV9p bml0X2NvbnRleHQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyOTMw ODogcmVzdWx0OiBubwpjb25maWd1cmU6MjkzNTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5 MzYxOiBlcnJvcjogWW91IHNwZWNpZmllZCB3aXRoIGtyYjUsIGJ1dCBpdCB3YXMgbm90IGZv dW5kLgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMj IC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPWFtZDY0LXBvcnRibGQtZnJlZWJz ZDcuMQphY19jdl9jX2NvbXBpbGVyX2dudT15ZXMKYWNfY3ZfY19pbmxpbmU9aW5saW5lCmFj X2N2X2N0aW1lX3JfdGhyZWVfYXJncz1ubwphY19jdl9jeHhfY29tcGlsZXJfZ251PXllcwph Y19jdl9lbnZfQ0FNRUxfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfQ0FNRUxfQ0ZMQUdTX3Zh bHVlPScnCmFjX2N2X2Vudl9DQU1FTF9MSUJTX3NldD0nJwphY19jdl9lbnZfQ0FNRUxfTElC U192YWx1ZT0nJwphY19jdl9lbnZfQ0NDX3NldD0nJwphY19jdl9lbnZfQ0NDX3ZhbHVlPScn CmFjX2N2X2Vudl9DQ19zZXQ9c2V0CmFjX2N2X2Vudl9DQ192YWx1ZT1jYwphY19jdl9lbnZf Q0ZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0nLU8gLXBpcGUgLURMREFQ X0RFUFJFQ0FURUQnCmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DUFBG TEFHU192YWx1ZT0nLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUv ZGI0MSAnCmFjX2N2X2Vudl9DUFBfc2V0PScnCmFjX2N2X2Vudl9DUFBfdmFsdWU9JycKYWNf Y3ZfZW52X0NYWENQUF9zZXQ9JycKYWNfY3ZfZW52X0NYWENQUF92YWx1ZT0nJwphY19jdl9l bnZfQ1hYRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ1hYRkxBR1NfdmFsdWU9Jy1PIC1waXBl IC1ETERBUF9ERVBSRUNBVEVEJwphY19jdl9lbnZfQ1hYX3NldD1zZXQKYWNfY3ZfZW52X0NY WF92YWx1ZT1jKysKYWNfY3ZfZW52X0VWT0xVVElPTl9BRERSRVNTQk9PS19DRkxBR1Nfc2V0 PScnCmFjX2N2X2Vudl9FVk9MVVRJT05fQUREUkVTU0JPT0tfQ0ZMQUdTX3ZhbHVlPScnCmFj X2N2X2Vudl9FVk9MVVRJT05fQUREUkVTU0JPT0tfTElCU19zZXQ9JycKYWNfY3ZfZW52X0VW T0xVVElPTl9BRERSRVNTQk9PS19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9FVk9MVVRJT05f Q0FMRU5EQVJfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRVZPTFVUSU9OX0NBTEVOREFSX0NG TEFHU192YWx1ZT0nJwphY19jdl9lbnZfRVZPTFVUSU9OX0NBTEVOREFSX0xJQlNfc2V0PScn CmFjX2N2X2Vudl9FVk9MVVRJT05fQ0FMRU5EQVJfTElCU192YWx1ZT0nJwphY19jdl9lbnZf RV9CQUNLRU5EX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0VfQkFDS0VORF9DRkxBR1NfdmFs dWU9JycKYWNfY3ZfZW52X0VfQkFDS0VORF9MSUJTX3NldD0nJwphY19jdl9lbnZfRV9CQUNL RU5EX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0VfREFUQV9TRVJWRVJfQ0ZMQUdTX3NldD0n JwphY19jdl9lbnZfRV9EQVRBX1NFUlZFUl9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0Vf REFUQV9TRVJWRVJfTElCU19zZXQ9JycKYWNfY3ZfZW52X0VfREFUQV9TRVJWRVJfTElCU192 YWx1ZT0nJwphY19jdl9lbnZfRV9EQVRBX1NFUlZFUl9VSV9DRkxBR1Nfc2V0PScnCmFjX2N2 X2Vudl9FX0RBVEFfU0VSVkVSX1VJX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfRV9EQVRB X1NFUlZFUl9VSV9MSUJTX3NldD0nJwphY19jdl9lbnZfRV9EQVRBX1NFUlZFUl9VSV9MSUJT X3ZhbHVlPScnCmFjX2N2X2Vudl9FX0ZBQ1RPUllfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZf RV9GQUNUT1JZX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfRV9GQUNUT1JZX0xJQlNfc2V0 PScnCmFjX2N2X2Vudl9FX0ZBQ1RPUllfTElCU192YWx1ZT0nJwphY19jdl9lbnZfRjc3X3Nl dD0nJwphY19jdl9lbnZfRjc3X3ZhbHVlPScnCmFjX2N2X2Vudl9GRkxBR1Nfc2V0PScnCmFj X2N2X2Vudl9GRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0dOT01FX0tFWVJJTkdfQ0ZMQUdT X3NldD0nJwphY19jdl9lbnZfR05PTUVfS0VZUklOR19DRkxBR1NfdmFsdWU9JycKYWNfY3Zf ZW52X0dOT01FX0tFWVJJTkdfTElCU19zZXQ9JycKYWNfY3ZfZW52X0dOT01FX0tFWVJJTkdf TElCU192YWx1ZT0nJwphY19jdl9lbnZfR05PTUVfUExBVEZPUk1fQ0ZMQUdTX3NldD0nJwph Y19jdl9lbnZfR05PTUVfUExBVEZPUk1fQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9HTk9N RV9QTEFURk9STV9MSUJTX3NldD0nJwphY19jdl9lbnZfR05PTUVfUExBVEZPUk1fTElCU192 YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9MREZMQUdTX3Zh bHVlPSctTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkJwphY19jdl9lbnZfTElCU19zZXQ9JycK YWNfY3ZfZW52X0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X09SQklUX0NGTEFHU19zZXQ9JycK YWNfY3ZfZW52X09SQklUX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfT1JCSVRfTElCU19z ZXQ9JycKYWNfY3ZfZW52X09SQklUX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1BLR19DT05G SUdfc2V0PScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX3ZhbHVlPScnCmFjX2N2X2Vudl9TT1VQ X0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X1NPVVBfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vu dl9TT1VQX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9TT1VQX0xJQlNfdmFsdWU9JycKYWNfY3Zf ZW52X1lBQ0Nfc2V0PScnCmFjX2N2X2Vudl9ZQUNDX3ZhbHVlPScnCmFjX2N2X2Vudl9ZRkxB R1Nfc2V0PScnCmFjX2N2X2Vudl9ZRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X2J1aWxkX2Fs aWFzX3NldD1zZXQKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPWFtZDY0LXBvcnRibGQt ZnJlZWJzZDcuMQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3Rf YWxpYXNfdmFsdWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52 X3RhcmdldF9hbGlhc192YWx1ZT0nJwphY19jdl9mNzdfY29tcGlsZXJfZ251PW5vCmFjX2N2 X2Z1bmNfYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQ9eWVzCmFjX2N2X2Z1bmNfZGNnZXR0ZXh0 PXllcwphY19jdl9mdW5jX2ZzeW5jPXllcwphY19jdl9mdW5jX2dldGhvc3RieWFkZHJfcj15 ZXMKYWNfY3ZfZnVuY19nZXRob3N0YnluYW1lX3I9eWVzCmFjX2N2X2Z1bmNfcmVnZXhlYz15 ZXMKYWNfY3ZfZnVuY19zdGF0ZnM9eWVzCmFjX2N2X2Z1bmNfc3RhdHZmcz15ZXMKYWNfY3Zf ZnVuY19zdHJwdGltZT15ZXMKYWNfY3ZfZnVuY19zdHJ0b2tfcj15ZXMKYWNfY3ZfZ2V0aG9z dGJ5YWRkcl9yX3NldmVuX2FyZ3M9bm8KYWNfY3ZfZ2V0aG9zdGJ5bmFtZV9yX2ZpdmVfYXJn cz1ubwphY19jdl9oZWFkZXJfYWxsb2NhX2g9bm8KYWNfY3ZfaGVhZGVyX2RsZmNuX2g9eWVz CmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFkZXJfbGliaW50bF9oPXll cwphY19jdl9oZWFkZXJfbG9jYWxlX2g9eWVzCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15ZXMK YWNfY3ZfaGVhZGVyX3B0aHJlYWRfaD15ZXMKYWNfY3ZfaGVhZGVyX3NlbWFwaG9yZV9oPXll cwphY19jdl9oZWFkZXJfc3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19j dl9oZWFkZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNfY3Zf aGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19tb3VudF9oPXllcwphY19j dl9oZWFkZXJfc3lzX3BhcmFtX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwph Y19jdl9oZWFkZXJfc3lzX3N0YXR2ZnNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190eXBlc19o PXllcwphY19jdl9oZWFkZXJfc3lzX3dhaXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9o PXllcwphY19jdl9ob3N0PWFtZDY0LXBvcnRibGQtZnJlZWJzZDcuMQphY19jdl9sYW5naW5m b19jb2Rlc2V0PXllcwphY19jdl9saWJfaW50bF9iaW5kdGV4dGRvbWFpbj15ZXMKYWNfY3Zf bGliX2ludGxfZGdldHRleHQ9eWVzCmFjX2N2X2xpYl9pbnRsX25nZXR0ZXh0PXllcwphY19j dl9saWJfa2VyYmVyb3M1PW5vCmFjX2N2X2xpYl9sZXg9LWxmbAphY19jdl9saWJpY29udj15 ZXMKYWNfY3ZfbGliaWNvbnZfdXRmOD15ZXMKYWNfY3ZfbGtzdHJmdGltZT15ZXMKYWNfY3Zf b2JqZXh0PW8KYWNfY3ZfcGF0aF9ET0xUX0JBU0g9JycKYWNfY3ZfcGF0aF9FR1JFUD0nL3Vz ci9iaW4vZ3JlcCAtRScKYWNfY3ZfcGF0aF9HTVNHRk1UPS91c3IvbG9jYWwvYmluL21zZ2Zt dAphY19jdl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX0lOVExUT09MX0VY VFJBQ1Q9L3Vzci9sb2NhbC9iaW4vaW50bHRvb2wtZXh0cmFjdAphY19jdl9wYXRoX0lOVExU T09MX01FUkdFPS91c3IvbG9jYWwvYmluL2ludGx0b29sLW1lcmdlCmFjX2N2X3BhdGhfSU5U TFRPT0xfUEVSTD0vdXNyL2Jpbi9wZXJsCmFjX2N2X3BhdGhfSU5UTFRPT0xfVVBEQVRFPS91 c3IvbG9jYWwvYmluL2ludGx0b29sLXVwZGF0ZQphY19jdl9wYXRoX0pXPW5vCmFjX2N2X3Bh dGhfTVNHRk1UPS91c3IvbG9jYWwvYmluL21zZ2ZtdAphY19jdl9wYXRoX01TR01FUkdFPS91 c3IvbG9jYWwvYmluL21zZ21lcmdlCmFjX2N2X3BhdGhfU0VORE1BSUw9L3Vzci9zYmluL3Nl bmRtYWlsCmFjX2N2X3BhdGhfWEdFVFRFWFQ9L3Vzci9sb2NhbC9iaW4veGdldHRleHQKYWNf Y3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPS91c3IvbG9jYWwvYmluL3BrZy1jb25maWcKYWNf Y3ZfcHJvZ19BV0s9Z2F3awphY19jdl9wcm9nX0NQUD0nY2MgLUUnCmFjX2N2X3Byb2dfQ1hY Q1BQPSdjKysgLUUnCmFjX2N2X3Byb2dfTEVYPWZsZXgKYWNfY3ZfcHJvZ19ZQUNDPSdiaXNv biAteScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWNjCmFj X2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2FjX2N0X1NUUklQPXN0 cmlwCmFjX2N2X3Byb2dfY2NfYzg5PScnCmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJv Z19jeHhfZz15ZXMKYWNfY3ZfcHJvZ19mNzdfZz1ubwphY19jdl9wcm9nX2xleF9yb290PWxl eC55eQphY19jdl9wcm9nX2xleF95eXRleHRfcG9pbnRlcj15ZXMKYWNfY3ZfcHJvZ19tYWtl X2dtYWtlX3NldD15ZXMKYWNfY3Zfc2VhcmNoX3N0cmVycm9yPSdub25lIHJlcXVpcmVkJwph Y19jdl9zdHJ1Y3RfdG1fZ210b2ZmPXllcwphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGls ZXJfdHlwZT1nY2MzCmFtX2N2X0NYWF9kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2Mz CmFtX2N2X3Byb2dfdGFyX3VzdGFyPWdudXRhcgphbV9jdl92YWxfTENfTUVTU0FHRVM9eWVz Cmd0X2N2X2Z1bmNfZGdldHRleHRfbGliYz1ubwpndF9jdl9mdW5jX2RnZXR0ZXh0X2xpYmlu dGw9eWVzCmd0X2N2X2Z1bmNfbmdldHRleHRfbGliYz1ubwpndF9jdl9oYXZlX2dldHRleHQ9 eWVzCmx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxsCmx0X2N2X2ZpbGVfbWFn aWNfY21kPSckTUFHSUNfQ01EJwpsdF9jdl9maWxlX21hZ2ljX3Rlc3RfZmlsZT0nJwpsdF9j dl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9jdl9vYmpkaXI9LmxpYnMKbHRfY3ZfcGF0aF9MRD0v dXNyL2Jpbi9sZApsdF9jdl9wYXRoX0xEQ1hYPS91c3IvYmluL2xkCmx0X2N2X3BhdGhfTk09 Jy91c3IvYmluL25tIC1CJwpsdF9jdl9wYXRoX1NFRD0vdXNyL2Jpbi9zZWQKbHRfY3ZfcHJv Z19jb21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NYWD15ZXMKbHRf Y3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfcGlj X3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlvbnM9bm8K bHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGls ZXJfc3RhdGljX3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19nbnVfbGQ9eWVzCmx0X2N2X3By b2dfZ251X2xkY3h4PXllcwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4g LWUgJ1wnJ3MvXi4qWyAJXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWyAJXVsgCV0q XChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcnJwpsdF9jdl9zeXNf Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdcJydzL146IFwo W14gXSpcKSAkLyAge1wiXDFcIiwgKGx0X3B0cikgMH0sL3AnXCcnIC1lICdcJydzL15bQkNE RUdSU1RdIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsIChsdF9wdHIpIFwmXDJ9LC9w J1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J3NlZCAtbiAtZSAnXCcn cy9eLiAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDE7L3AnXCcnJwpsdF9jdl9zeXNfbGliX2Rs c2VhcmNoX3BhdGhfc3BlYz0nL2xpYiAvdXNyL2xpYicKbHRfY3Zfc3lzX2xpYl9zZWFyY2hf cGF0aF9zcGVjPS91c3IvbGliCmx0X2N2X3N5c19tYXhfY21kX2xlbj0yNjIxNDQKbHRfbHRf Y3ZfcHJvZ19jb21waWxlcl9jX289JyJ5ZXMiJwpsdF9sdF9jdl9wcm9nX2NvbXBpbGVyX2Nf b19DWFg9JyJ5ZXMiJwpsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPScic2VkIC1u IC1lICdcJydzL14uKlsgCV1cXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXFwpWyAJXVsg CV0qXFwoW19BLVphLXpdW19BLVphLXowLTldKlxcKVwkL1xcMSBcXDIgXFwyL3AnXCcnIicK bHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JyJzZWQgLW4g LWUgJ1wnJ3MvXjogXFwoW14gXSpcXCkgXCQvICB7XFxcIlxcMVxcXCIsIChsdF9wdHIpIDB9 LC9wJ1wnJyAtZSAnXCcncy9eW0JDREVHUlNUXSBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwk LyAge1wiXFwyXCIsIChsdF9wdHIpIFxcJlxcMn0sL3AnXCcnIicKbHRfbHRfY3Zfc3lzX2ds b2JhbF9zeW1ib2xfdG9fY2RlY2w9JyJzZWQgLW4gLWUgJ1wnJ3MvXi4gLiogXFwoLipcXClc JC9leHRlcm4gaW50IFxcMTsvcCdcJyciJwpwa2dfY3ZfR05PTUVfS0VZUklOR19DRkxBR1M9 Jy1JL3Vzci9sb2NhbC9pbmNsdWRlL2dub21lLWtleXJpbmctMSAtSS91c3IvbG9jYWwvaW5j bHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKcGtn X2N2X0dOT01FX0tFWVJJTkdfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbGdub21lLWtleXJp bmcgLWxnbGliLTIuMCAgJwpwa2dfY3ZfR05PTUVfUExBVEZPUk1fQ0ZMQUdTPSctRF9USFJF QURfU0FGRSAtRE9SQklUMj0xIC1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5jbHVkZS9n bGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbG9jYWwvbGliL2d0ay0yLjAvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2NhaXJvIC1J L3Vzci9sb2NhbC9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91 c3IvbG9jYWwvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlw ZTIgLUkvdXNyL2xvY2FsL2luY2x1ZGUvb3JiaXQtMi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRl L2xpYmJvbm9iby0yLjAgLUkvdXNyL2xvY2FsL2luY2x1ZGUvYm9ub2JvLWFjdGl2YXRpb24t Mi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2djb25mLzIgLUkvdXNyL2xvY2FsL2luY2x1ZGUv ZGJ1cy0xLjAgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZGJ1cy0xLjAvaW5jbHVkZSAtSS91c3Iv bG9jYWwvaW5jbHVkZS9saWJnbGFkZS0yLjAgLUkvdXNyL2xvY2FsL2luY2x1ZGUvbGlieG1s MiAtSS91c3IvbG9jYWwvaW5jbHVkZS9saWJnbm9tZS0yLjAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUvZ25vbWUtdmZzLTIuMCAtSS91c3IvbG9jYWwvbGliL2dub21lLXZmcy0yLjAvaW5jbHVk ZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9saWJzb3VwLTIuNCAgJwpwa2dfY3ZfR05PTUVfUExB VEZPUk1fTElCUz0nLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGdjb25mLTIgLWxnbGFk ZS0yLjAgLWxndGsteDExLTIuMCAtbGdkay14MTEtMi4wIC1sYXRrLTEuMCAtbGdka19waXhi dWYtMi4wIC1scGFuZ29jYWlyby0xLjAgLWxYZXh0IC1sWHJlbmRlciAtbFhpbmVyYW1hIC1s WGkgLWxYcmFuZHIgLWxYY3Vyc29yIC1sWGNvbXBvc2l0ZSAtbFhkYW1hZ2UgLWxjYWlybyAt bHBhbmdvZnQyLTEuMCAtbFgxMSAtbFhmaXhlcyAtbHBhbmdvLTEuMCAtbG0gLWxmcmVldHlw ZSAtbHogLWxmb250Y29uZmlnIC1sZ25vbWUtMiAtbHBvcHQgLWxib25vYm8tMiAtbGJvbm9i by1hY3RpdmF0aW9uIC1sT1JCaXQtMiAtbGd0aHJlYWQtMi4wIC1seG1sMiAtbHNvdXAtMi40 IC1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ21vZHVsZS0yLjAgLWxnbGliLTIuMCAgJwoK IyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0t LS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC91c3IvbG9jYWwvY29tcGls ZS91c3IvcG9ydHMvZGF0YWJhc2VzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci93b3JrL2V2b2x1 dGlvbi1kYXRhLXNlcnZlci0yLjI0LjQuMS9taXNzaW5nIC0tcnVuIGFjbG9jYWwtMS4xMCAn CkFMTF9MSU5HVUFTPScnCkFNREVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1E RVBfVFJVRT0nJwpBTVRBUj0nJHtTSEVMTH0gL3Vzci9sb2NhbC9jb21waWxlL3Vzci9wb3J0 cy9kYXRhYmFzZXMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3dvcmsvZXZvbHV0aW9uLWRhdGEt c2VydmVyLTIuMjQuNC4xL21pc3NpbmcgLS1ydW4gdGFyJwpBUElfVkVSU0lPTj0nMS4yJwpB Uj0nYXInCkFTPSdhcycKQVVUT0NPTkY9JyR7U0hFTEx9IC91c3IvbG9jYWwvY29tcGlsZS91 c3IvcG9ydHMvZGF0YWJhc2VzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci93b3JrL2V2b2x1dGlv bi1kYXRhLXNlcnZlci0yLjI0LjQuMS9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVB REVSPScke1NIRUxMfSAvdXNyL2xvY2FsL2NvbXBpbGUvdXNyL3BvcnRzL2RhdGFiYXNlcy9l dm9sdXRpb24tZGF0YS1zZXJ2ZXIvd29yay9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItMi4yNC40 LjEvbWlzc2luZyAtLXJ1biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL3Vzci9s b2NhbC9jb21waWxlL3Vzci9wb3J0cy9kYXRhYmFzZXMvZXZvbHV0aW9uLWRhdGEtc2VydmVy L3dvcmsvZXZvbHV0aW9uLWRhdGEtc2VydmVyLTIuMjQuNC4xL21pc3NpbmcgLS1ydW4gYXV0 b21ha2UtMS4xMCcKQVdLPSdnYXdrJwpCQVNFX1ZFUlNJT049JzIuMjQnCkNBTUVMX0NGTEFH Uz0nJwpDQU1FTF9HUk9VUFdJU0VfQ0ZMQUdTPScnCkNBTUVMX0dST1VQV0lTRV9MSUJTPScn CkNBTUVMX0xJQlM9JycKQ0FNRUxfTE9DS19IRUxQRVJfR1JPVVA9J21haWwnCkNBTUVMX0xP Q0tfSEVMUEVSX1VTRVI9JycKQ0FUQUxPR1M9JycKQ0FUT0JKRVhUPScuZ21vJwpDQz0nY2Mn CkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1PIC1waXBlIC1ETERBUF9ERVBS RUNBVEVEJwpDUFA9J2NjIC1FJwpDUFBGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv dXNyL2xvY2FsL2luY2x1ZGUvZGI0MSAnCkNYWD0nYysrJwpDWFhDUFA9J2MrKyAtRScKQ1hY REVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDWFhGTEFHUz0nLU8gLXBpcGUgLURMREFQX0RFUFJF Q0FURUQnCkNZR1BBVEhfVz0nZWNobycKREFUQURJUk5BTUU9J3NoYXJlJwpEQl9DRkxBR1M9 Jy1JL3Vzci9sb2NhbC9pbmNsdWRlJwpEQl9MSUJTPSctTC91c3IvbG9jYWwvbGliIC1sZGI0 MScKREVGUz0nJwpERVBESVI9Jy5kZXBzJwpETExUT09MPSdkbGx0b29sJwpET0xUX0JBU0g9 JycKRFNZTVVUSUw9JycKRUNITz0nZWNobycKRUNIT19DPScnCkVDSE9fTj0nLW4nCkVDSE9f VD0nJwpFRFNfTUFKT1JfVkVSU0lPTj0nMicKRURTX01JQ1JPX1ZFUlNJT049JzQuMScKRURT X01JTk9SX1ZFUlNJT049JzI0JwpFR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKRU5BQkxFX0NB TEVOREFSX0ZBTFNFPScjJwpFTkFCTEVfQ0FMRU5EQVJfVFJVRT0nJwpFTkFCTEVfR1RLX0RP Q19GQUxTRT0nJwpFTkFCTEVfR1RLX0RPQ19UUlVFPScnCkVOQUJMRV9IVUxBX0ZBTFNFPScn CkVOQUJMRV9IVUxBX1RSVUU9JyMnCkVOQUJMRV9JTUFQNF9GQUxTRT0nJwpFTkFCTEVfSU1B UDRfVFJVRT0nIycKRU5BQkxFX0lNQVBQX0ZBTFNFPScnCkVOQUJMRV9JTUFQUF9UUlVFPScj JwpFTkFCTEVfSVB2Nl9GQUxTRT0nIycKRU5BQkxFX0lQdjZfVFJVRT0nJwpFTkFCTEVfS1JC NV9GQUxTRT0nJwpFTkFCTEVfS1JCNV9UUlVFPScnCkVOQUJMRV9MQVJHRUZJTEVfRkFMU0U9 JycKRU5BQkxFX0xBUkdFRklMRV9UUlVFPScnCkVOQUJMRV9MREFQX0ZBTFNFPScnCkVOQUJM RV9MREFQX1RSVUU9JycKRU5BQkxFX05OVFBfRkFMU0U9JyMnCkVOQUJMRV9OTlRQX1RSVUU9 JycKRU5BQkxFX1BVUklGWV9GQUxTRT0nJwpFTkFCTEVfUFVSSUZZX1RSVUU9JycKRU5BQkxF X1NNSU1FX0ZBTFNFPScjJwpFTkFCTEVfU01JTUVfVFJVRT0nJwpFVk9MVVRJT05fQUREUkVT U0JPT0tfQ0ZMQUdTPScnCkVWT0xVVElPTl9BRERSRVNTQk9PS19MSUJTPScnCkVWT0xVVElP Tl9DQUxFTkRBUl9DRkxBR1M9JycKRVZPTFVUSU9OX0NBTEVOREFSX0xJQlM9JycKRVZPX05B TUVfU0VSVkVSX1JVTEU9JycKRVZPX1NVQlNUX1NFUlZFUl9SVUxFPScnCkVYRUVYVD0nJwpF X0JBQ0tFTkRfQ0ZMQUdTPScnCkVfQkFDS0VORF9MSUJTPScnCkVfREFUQV9TRVJWRVJfQ0ZM QUdTPScnCkVfREFUQV9TRVJWRVJfTElCUz0nJwpFX0RBVEFfU0VSVkVSX1VJX0NGTEFHUz0n JwpFX0RBVEFfU0VSVkVSX1VJX0xJQlM9JycKRV9GQUNUT1JZX0NGTEFHUz0nJwpFX0ZBQ1RP UllfTElCUz0nJwpGNzc9JycKRkZMQUdTPScnCkdDT05GVE9PTD0nJwpHQ09ORl9TQ0hFTUFT X0lOU1RBTExfRkFMU0U9JycKR0NPTkZfU0NIRU1BU19JTlNUQUxMX1RSVUU9JycKR0NPTkZf U0NIRU1BX0NPTkZJR19TT1VSQ0U9JycKR0NPTkZfU0NIRU1BX0ZJTEVfRElSPScnCkdFVFRF WFRfUEFDS0FHRT0nZXZvbHV0aW9uLWRhdGEtc2VydmVyLTIuMjQnCkdMSUJfQ0ZMQUdTPScn CkdMSUJfR0VOTUFSU0hBTD0nJwpHTElCX0xJQlM9JycKR0xJQl9NS0VOVU1TPScnCkdNT0ZJ TEVTPScnCkdNU0dGTVQ9Jy91c3IvbG9jYWwvYmluL21zZ2ZtdCcKR05PTUVfS0VZUklOR19D RkxBR1M9Jy1JL3Vzci9sb2NhbC9pbmNsdWRlL2dub21lLWtleXJpbmctMSAtSS91c3IvbG9j YWwvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUg ICcKR05PTUVfS0VZUklOR19MSUJTPSctTC91c3IvbG9jYWwvbGliIC1sZ25vbWUta2V5cmlu ZyAtbGdsaWItMi4wICAnCkdOT01FX1BMQVRGT1JNX0NGTEFHUz0nLURfVEhSRUFEX1NBRkUg LURPUkJJVDI9MSAtRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xvY2FsL2xpYi9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRl L2d0ay0yLjAgLUkvdXNyL2xvY2FsL2xpYi9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvbG9jYWwvaW5jbHVkZS9jYWlybyAtSS91c3IvbG9j YWwvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vz ci9sb2NhbC9pbmNsdWRlL29yYml0LTIuMCAtSS91c3IvbG9jYWwvaW5jbHVkZS9saWJib25v Ym8tMi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2Jvbm9iby1hY3RpdmF0aW9uLTIuMCAtSS91 c3IvbG9jYWwvaW5jbHVkZS9nY29uZi8yIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RidXMtMS4w IC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RidXMtMS4wL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUvbGliZ2xhZGUtMi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2xpYnhtbDIgLUkvdXNy L2xvY2FsL2luY2x1ZGUvbGliZ25vbWUtMi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2dub21l LXZmcy0yLjAgLUkvdXNyL2xvY2FsL2xpYi9nbm9tZS12ZnMtMi4wL2luY2x1ZGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUvbGlic291cC0yLjQgICcKR05PTUVfUExBVEZPUk1fTElCUz0nLXB0 aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGdjb25mLTIgLWxnbGFkZS0yLjAgLWxndGsteDEx LTIuMCAtbGdkay14MTEtMi4wIC1sYXRrLTEuMCAtbGdka19waXhidWYtMi4wIC1scGFuZ29j YWlyby0xLjAgLWxYZXh0IC1sWHJlbmRlciAtbFhpbmVyYW1hIC1sWGkgLWxYcmFuZHIgLWxY Y3Vyc29yIC1sWGNvbXBvc2l0ZSAtbFhkYW1hZ2UgLWxjYWlybyAtbHBhbmdvZnQyLTEuMCAt bFgxMSAtbFhmaXhlcyAtbHBhbmdvLTEuMCAtbG0gLWxmcmVldHlwZSAtbHogLWxmb250Y29u ZmlnIC1sZ25vbWUtMiAtbHBvcHQgLWxib25vYm8tMiAtbGJvbm9iby1hY3RpdmF0aW9uIC1s T1JCaXQtMiAtbGd0aHJlYWQtMi4wIC1seG1sMiAtbHNvdXAtMi40IC1sZ2lvLTIuMCAtbGdv YmplY3QtMi4wIC1sZ21vZHVsZS0yLjAgLWxnbGliLTIuMCAgJwpHT0JKRUNUX1FVRVJZPScn CkdSRVA9Jy91c3IvYmluL2dyZXAnCkdUS19ET0NfVVNFX0xJQlRPT0xfRkFMU0U9JycKR1RL X0RPQ19VU0VfTElCVE9PTF9UUlVFPScnCkhBVkVfSlc9J25vJwpIQVZFX0pXX0ZBTFNFPScn CkhBVkVfSldfVFJVRT0nIycKSFRNTF9ESVI9JycKSUNPTlZfQ0ZMQUdTPSctSS91c3IvbG9j YWwvaW5jbHVkZScKSUNPTlZfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbGljb252JwpJRExf SU5DTFVERVM9JycKSU5TVEFMTF9EQVRBPSdpbnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1t IDQ0NCcKSU5TVEFMTF9QUk9HUkFNPSdpbnN0YWxsICAtcyAtbyByb290IC1nIHdoZWVsIC1t IDU1NScKSU5TVEFMTF9TQ1JJUFQ9J2luc3RhbGwgIC1vIHJvb3QgLWcgd2hlZWwgLW0gNTU1 JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnCklOU1RPQkpF WFQ9Jy5tbycKSU5URVJGQUNFX1ZFUlNJT049JycKSU5UTExJQlM9Jy1saW50bCAnCklOVExU T09MX0NBVkVTX1JVTEU9JyUuY2F2ZXM6ICAgICAlLmNhdmVzLmluICAgICAkKElOVExUT09M X01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAk KElOVExUT09MX01FUkdFKSAtZCAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8vLmludGx0b29s LW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09MX0RFU0tUT1Bf UlVMRT0nJS5kZXNrdG9wOiAgICUuZGVza3RvcC5pbiAgICQoSU5UTFRPT0xfTUVSR0UpICQo d2lsZGNhcmQgJCh0b3Bfc3JjZGlyKS9wby8qLnBvKSA7IExDX0FMTD1DICQoSU5UTFRPT0xf TUVSR0UpIC1kIC11IC1jICQodG9wX2J1aWxkZGlyKS9wby8uaW50bHRvb2wtbWVyZ2UtY2Fj aGUgJCh0b3Bfc3JjZGlyKS9wbyAkPCAkQCcKSU5UTFRPT0xfRElSRUNUT1JZX1JVTEU9JyUu ZGlyZWN0b3J5OiAlLmRpcmVjdG9yeS5pbiAkKElOVExUT09MX01FUkdFKSAkKHdpbGRjYXJk ICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAkKElOVExUT09MX01FUkdFKSAt ZCAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8vLmludGx0b29sLW1lcmdlLWNhY2hlICQodG9w X3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09MX0VYVFJBQ1Q9Jy91c3IvbG9jYWwvYmluL2lu dGx0b29sLWV4dHJhY3QnCklOVExUT09MX0tCRF9SVUxFPSclLmtiZDogICAgICAgJS5rYmQu aW4gICAgICAgJChJTlRMVE9PTF9NRVJHRSkgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3Bv LyoucG8pIDsgTENfQUxMPUMgJChJTlRMVE9PTF9NRVJHRSkgLXggLXUgLW0gLWMgJCh0b3Bf YnVpbGRkaXIpL3BvLy5pbnRsdG9vbC1tZXJnZS1jYWNoZSAkKHRvcF9zcmNkaXIpL3BvICQ8 ICRAJwpJTlRMVE9PTF9LRVlTX1JVTEU9JyUua2V5czogICAgICAlLmtleXMuaW4gICAgICAk KElOVExUT09MX01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBM Q19BTEw9QyAkKElOVExUT09MX01FUkdFKSAtayAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8v LmludGx0b29sLW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09M X01FUkdFPScvdXNyL2xvY2FsL2Jpbi9pbnRsdG9vbC1tZXJnZScKSU5UTFRPT0xfT0FGX1JV TEU9JyUub2FmOiAgICAgICAlLm9hZi5pbiAgICAgICAkKElOVExUT09MX01FUkdFKSAkKHdp bGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAkKElOVExUT09MX01F UkdFKSAtbyAtcCAkKHRvcF9zcmNkaXIpL3BvICQ8ICRAJwpJTlRMVE9PTF9QRVJMPScvdXNy L2Jpbi9wZXJsJwpJTlRMVE9PTF9QT0xJQ1lfUlVMRT0nJS5wb2xpY3k6ICAgICUucG9saWN5 LmluICAgICQoSU5UTFRPT0xfTUVSR0UpICQod2lsZGNhcmQgJCh0b3Bfc3JjZGlyKS9wby8q LnBvKSA7IExDX0FMTD1DICQoSU5UTFRPT0xfTUVSR0UpIC14IC11IC1jICQodG9wX2J1aWxk ZGlyKS9wby8uaW50bHRvb2wtbWVyZ2UtY2FjaGUgJCh0b3Bfc3JjZGlyKS9wbyAkPCAkQCcK SU5UTFRPT0xfUE9OR19SVUxFPSclLnBvbmc6ICAgICAgJS5wb25nLmluICAgICAgJChJTlRM VE9PTF9NRVJHRSkgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3BvLyoucG8pIDsgTENfQUxM PUMgJChJTlRMVE9PTF9NRVJHRSkgLXggLXUgLWMgJCh0b3BfYnVpbGRkaXIpL3BvLy5pbnRs dG9vbC1tZXJnZS1jYWNoZSAkKHRvcF9zcmNkaXIpL3BvICQ8ICRAJwpJTlRMVE9PTF9QUk9Q X1JVTEU9JyUucHJvcDogICAgICAlLnByb3AuaW4gICAgICAkKElOVExUT09MX01FUkdFKSAk KHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAkKElOVExUT09M X01FUkdFKSAtZCAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8vLmludGx0b29sLW1lcmdlLWNh Y2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09MX1NDSEVNQVNfUlVMRT0nJS5z Y2hlbWFzOiAgICUuc2NoZW1hcy5pbiAgICQoSU5UTFRPT0xfTUVSR0UpICQod2lsZGNhcmQg JCh0b3Bfc3JjZGlyKS9wby8qLnBvKSA7IExDX0FMTD1DICQoSU5UTFRPT0xfTUVSR0UpIC1z IC11IC1jICQodG9wX2J1aWxkZGlyKS9wby8uaW50bHRvb2wtbWVyZ2UtY2FjaGUgJCh0b3Bf c3JjZGlyKS9wbyAkPCAkQCcKSU5UTFRPT0xfU0VSVkVSX1JVTEU9JyUuc2VydmVyOiAgICAl LnNlcnZlci5pbiAgICAkKElOVExUT09MX01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2Rp cikvcG8vKi5wbykgOyBMQ19BTEw9QyAkKElOVExUT09MX01FUkdFKSAtbyAtdSAtYyAkKHRv cF9idWlsZGRpcikvcG8vLmludGx0b29sLW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8g JDwgJEAnCklOVExUT09MX1NFUlZJQ0VfUlVMRT0nJS5zZXJ2aWNlOiAlLnNlcnZpY2UuaW4g ICAkKElOVExUT09MX01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykg OyBMQ19BTEw9QyAkKElOVExUT09MX01FUkdFKSAtZCAtdSAtYyAkKHRvcF9idWlsZGRpcikv cG8vLmludGx0b29sLW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExU T09MX1NIRUVUX1JVTEU9JyUuc2hlZXQ6ICAgICAlLnNoZWV0LmluICAgICAkKElOVExUT09M X01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAk KElOVExUT09MX01FUkdFKSAteCAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8vLmludGx0b29s LW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09MX1NPVU5ETElT VF9SVUxFPSclLnNvdW5kbGlzdDogJS5zb3VuZGxpc3QuaW4gJChJTlRMVE9PTF9NRVJHRSkg JCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3BvLyoucG8pIDsgTENfQUxMPUMgJChJTlRMVE9P TF9NRVJHRSkgLWQgLXUgLWMgJCh0b3BfYnVpbGRkaXIpL3BvLy5pbnRsdG9vbC1tZXJnZS1j YWNoZSAkKHRvcF9zcmNkaXIpL3BvICQ8ICRAJwpJTlRMVE9PTF9USEVNRV9SVUxFPSclLnRo ZW1lOiAgICAgJS50aGVtZS5pbiAgICAgJChJTlRMVE9PTF9NRVJHRSkgJCh3aWxkY2FyZCAk KHRvcF9zcmNkaXIpL3BvLyoucG8pIDsgTENfQUxMPUMgJChJTlRMVE9PTF9NRVJHRSkgLWQg LXUgLWMgJCh0b3BfYnVpbGRkaXIpL3BvLy5pbnRsdG9vbC1tZXJnZS1jYWNoZSAkKHRvcF9z cmNkaXIpL3BvICQ8ICRAJwpJTlRMVE9PTF9VSV9SVUxFPSclLnVpOiAgICAgICAgJS51aS5p biAgICAgICAgJChJTlRMVE9PTF9NRVJHRSkgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3Bv LyoucG8pIDsgTENfQUxMPUMgJChJTlRMVE9PTF9NRVJHRSkgLXggLXUgLWMgJCh0b3BfYnVp bGRkaXIpL3BvLy5pbnRsdG9vbC1tZXJnZS1jYWNoZSAkKHRvcF9zcmNkaXIpL3BvICQ8ICRA JwpJTlRMVE9PTF9VUERBVEU9Jy91c3IvbG9jYWwvYmluL2ludGx0b29sLXVwZGF0ZScKSU5U TFRPT0xfWEFNX1JVTEU9JyUueGFtOiAgICAgICAlLnhtbC5pbiAgICAgICAkKElOVExUT09M X01FUkdFKSAkKHdpbGRjYXJkICQodG9wX3NyY2RpcikvcG8vKi5wbykgOyBMQ19BTEw9QyAk KElOVExUT09MX01FUkdFKSAteCAtdSAtYyAkKHRvcF9idWlsZGRpcikvcG8vLmludGx0b29s LW1lcmdlLWNhY2hlICQodG9wX3NyY2RpcikvcG8gJDwgJEAnCklOVExUT09MX1hNTF9OT01F UkdFX1JVTEU9JyUueG1sOiAgICAgICAlLnhtbC5pbiAgICAgICAkKElOVExUT09MX01FUkdF KSA7IExDX0FMTD1DICQoSU5UTFRPT0xfTUVSR0UpIC14IC11IC90bXAgJDwgJEAnCklOVExU T09MX1hNTF9SVUxFPSclLnhtbDogICAgICAgJS54bWwuaW4gICAgICAgJChJTlRMVE9PTF9N RVJHRSkgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3BvLyoucG8pIDsgTENfQUxMPUMgJChJ TlRMVE9PTF9NRVJHRSkgLXggLXUgLWMgJCh0b3BfYnVpbGRkaXIpL3BvLy5pbnRsdG9vbC1t ZXJnZS1jYWNoZSAkKHRvcF9zcmNkaXIpL3BvICQ8ICRAJwpKVz0nbm8nCktSQjRfQ0ZMQUdT PScnCktSQjRfTERGTEFHUz0nJwpLUkI1X0NGTEFHUz0nJwpLUkI1X0xERkxBR1M9JycKTERB UF9DRkxBR1M9JycKTERBUF9MSUJTPScnCkxERkxBR1M9Jy1ML3Vzci9sb2NhbC9saWIgLXB0 aHJlYWQnCkxFWD0nZmxleCcKTEVYTElCPSctbGZsJwpMRVhfT1VUUFVUX1JPT1Q9J2xleC55 eScKTElCQk9OT0JPX1JFUVVJUkVEPScnCkxJQkNBTUVMX0FHRT0nMCcKTElCQ0FNRUxfQ1VS UkVOVD0nMTQnCkxJQkNBTUVMX1JFVklTSU9OPScwJwpMSUJFQkFDS0VORF9BR0U9JzAnCkxJ QkVCQUNLRU5EX0NVUlJFTlQ9JzAnCkxJQkVCQUNLRU5EX1JFVklTSU9OPScwJwpMSUJFQk9P S19BR0U9JzMnCkxJQkVCT09LX0NVUlJFTlQ9JzEyJwpMSUJFQk9PS19SRVZJU0lPTj0nMCcK TElCRUNBTF9BR0U9JzInCkxJQkVDQUxfQ1VSUkVOVD0nOScKTElCRUNBTF9SRVZJU0lPTj0n MScKTElCRURBVEFCT09LX0FHRT0nNCcKTElCRURBVEFCT09LX0NVUlJFTlQ9JzYnCkxJQkVE QVRBQk9PS19SRVZJU0lPTj0nMScKTElCRURBVEFDQUxfQUdFPScwJwpMSUJFREFUQUNBTF9D VVJSRU5UPSc2JwpMSUJFREFUQUNBTF9SRVZJU0lPTj0nMicKTElCRURBVEFTRVJWRVJVSV9B R0U9JzEnCkxJQkVEQVRBU0VSVkVSVUlfQ1VSUkVOVD0nOScKTElCRURBVEFTRVJWRVJVSV9S RVZJU0lPTj0nMCcKTElCRURBVEFTRVJWRVJfQUdFPScwJwpMSUJFREFUQVNFUlZFUl9DVVJS RU5UPScxMScKTElCRURBVEFTRVJWRVJfUkVWSVNJT049JzAnCkxJQkVHUk9VUFdJU0VfQUdF PScwJwpMSUJFR1JPVVBXSVNFX0NVUlJFTlQ9JzEzJwpMSUJFR1JPVVBXSVNFX1JFVklTSU9O PScxJwpMSUJFWENIQU5HRV9TVE9SQUdFX0FHRT0nMCcKTElCRVhDSEFOR0VfU1RPUkFHRV9D VVJSRU5UPSczJwpMSUJFWENIQU5HRV9TVE9SQUdFX1JFVklTSU9OPScwJwpMSUJFWEVDRElS X0lOX1NFUlZFUl9GSUxFPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpMSUJHREFUQV9BR0U9 JzAnCkxJQkdEQVRBX0NVUlJFTlQ9JzEnCkxJQkdEQVRBX0dPT0dMRV9BR0U9JzAnCkxJQkdE QVRBX0dPT0dMRV9DVVJSRU5UPScxJwpMSUJHREFUQV9HT09HTEVfUkVWSVNJT049JzAnCkxJ QkdEQVRBX1JFVklTSU9OPScwJwpMSUJPQkpTPScnCkxJQlM9JycKTElCU09VUF9SRVFVSVJF RD0nJwpMSUJUT09MPSckKFNIRUxMKSAvdXNyL2xvY2FsL2NvbXBpbGUvdXNyL3BvcnRzL2Rh dGFiYXNlcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvd29yay9nbm9tZS1saWJ0b29sJwpMTl9T PSdsbiAtcycKTFRDT01QSUxFPSckKExJQlRPT0wpIC0tdGFnPUNDICQoQU1fTElCVE9PTEZM QUdTKSAkKExJQlRPT0xGTEFHUykgLS1tb2RlPWNvbXBpbGUgJChDT01QSUxFKScKTFRDWFhD T01QSUxFPSckKExJQlRPT0wpIC0tdGFnPUNYWCAkKEFNX0xJQlRPT0xGTEFHUykgJChMSUJU T09MRkxBR1MpIC0tbW9kZT1jb21waWxlICQoQ1hYQ09NUElMRSknCkxUTElCT0JKUz0nJwpN QUlOVD0nIycKTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnCk1BSU5UQUlORVJfTU9ERV9UUlVF PScjJwpNQUtFSU5GTz0nJHtTSEVMTH0gL3Vzci9sb2NhbC9jb21waWxlL3Vzci9wb3J0cy9k YXRhYmFzZXMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3dvcmsvZXZvbHV0aW9uLWRhdGEtc2Vy dmVyLTIuMjQuNC4xL21pc3NpbmcgLS1ydW4gbWFrZWluZm8nCk1BTlVBTF9OU1BSX0NGTEFH Uz0nJwpNQU5VQUxfTlNQUl9MSUJTPScnCk1BTlVBTF9OU1NfQ0ZMQUdTPScnCk1BTlVBTF9O U1NfTElCUz0nJwpNS0RJUl9QPScuL2luc3RhbGwtc2ggLWMgLWQnCk1LSU5TVEFMTERJUlM9 Jy4vbWtpbnN0YWxsZGlycycKTVNHRk1UPScvdXNyL2xvY2FsL2Jpbi9tc2dmbXQnCk1TR0ZN VF9PUFRTPSctYycKTVNHTUVSR0U9Jy91c3IvbG9jYWwvYmluL21zZ21lcmdlJwpOTUVESVQ9 JycKTk9fVU5ERUZJTkVEPScnCk9CSkRVTVA9J29iamR1bXAnCk9CSkVYVD0nbycKT1JCSVRf Q0ZMQUdTPScnCk9SQklUX0lETD0nJwpPUkJJVF9MSUJTPScnCk9SQklUX1JFUVVJUkVEPScn Ck9TX1dJTjMyX0ZBTFNFPScnCk9TX1dJTjMyX1RSVUU9JyMnClBBQ0tBR0U9J2V2b2x1dGlv bi1kYXRhLXNlcnZlcicKUEFDS0FHRV9CVUdSRVBPUlQ9JycKUEFDS0FHRV9OQU1FPSdldm9s dXRpb24tZGF0YS1zZXJ2ZXInClBBQ0tBR0VfU1RSSU5HPSdldm9sdXRpb24tZGF0YS1zZXJ2 ZXIgMi4yNC40LjEnClBBQ0tBR0VfVEFSTkFNRT0nZXZvbHV0aW9uLWRhdGEtc2VydmVyJwpQ QUNLQUdFX1ZFUlNJT049JzIuMjQuNC4xJwpQQVRIX1NFUEFSQVRPUj0nOicKUEtHX0NPTkZJ Rz0nL3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZycKUE9GSUxFUz0nJwpQT1NVQj0ncG8nClBP X0lOX0RBVEFESVJfRkFMU0U9JycKUE9fSU5fREFUQURJUl9UUlVFPScnClBUSFJFQURfTElC PScnClBVUklGWT0nJwpSQU5MSUI9J3JhbmxpYicKUkVHRVhfTElCUz0nJwpTRUQ9Jy91c3Iv YmluL3NlZCcKU0VORE1BSUw9Jy91c3Ivc2Jpbi9zZW5kbWFpbCcKU0VUX01BS0U9JycKU0hF TEw9Jy9iaW4vc2gnClNPQ0tFVF9MSUJTPScnClNPVVBfQ0ZMQUdTPScnClNPVVBfTElCUz0n JwpTUUxJVEVfUkVRVUlSRUQ9JycKU1RSSVA9J3N0cmlwJwpTVU5MREFQX0ZBTFNFPScnClNV TkxEQVBfVFJVRT0nJwpUSFJFQURTX0NGTEFHUz0nJwpUSFJFQURTX0xJQlM9JycKVVNFX05M Uz0neWVzJwpWRVJTSU9OPScyLjI0LjQuMScKV0FSTl9DRkxBR1M9JycKV0lUSF9MSUJEQl9G QUxTRT0nIycKV0lUSF9MSUJEQl9UUlVFPScnClhHRVRURVhUPScvdXNyL2xvY2FsL2Jpbi94 Z2V0dGV4dCcKWUFDQz0nYmlzb24gLXknCllGTEFHUz0nJwphY19jdF9DQz0nY2MnCmFjX2N0 X0NYWD0nJwphY19jdF9GNzc9JycKYW1fX2Zhc3RkZXBDQ19GQUxTRT0nIycKYW1fX2Zhc3Rk ZXBDQ19UUlVFPScnCmFtX19mYXN0ZGVwQ1hYX0ZBTFNFPScjJwphbV9fZmFzdGRlcENYWF9U UlVFPScnCmFtX19pbmNsdWRlPSdpbmNsdWRlJwphbV9faXNyYz0nJwphbV9fbGVhZGluZ19k b3Q9Jy4nCmFtX19xdW90ZT0nJwphbV9fdGFyPSd0YXIgLS1mb3JtYXQ9dXN0YXIgLWNoZiAt ICIkJHRhcmRpciInCmFtX191bnRhcj0ndGFyIC14ZiAtJwpiaW5kaXI9JyR7ZXhlY19wcmVm aXh9L2JpbicKYnVpbGQ9J2FtZDY0LXBvcnRibGQtZnJlZWJzZDcuMScKYnVpbGRfYWxpYXM9 J2FtZDY0LXBvcnRibGQtZnJlZWJzZDcuMScKYnVpbGRfY3B1PSdhbWQ2NCcKYnVpbGRfb3M9 J2ZyZWVic2Q3LjEnCmJ1aWxkX3ZlbmRvcj0ncG9ydGJsZCcKY2FtZWxfcHJvdmlkZXJkaXI9 JycKZGF0YWRpcj0nJHtkYXRhcm9vdGRpcn0nCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hh cmUnCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZp ZGlyPScke2RvY2Rpcn0nCmV4ZWNfcHJlZml4PSdOT05FJwpleHRlbnNpb25kaXI9JycKZ2xh ZGVkaXI9JycKaG9zdD0nYW1kNjQtcG9ydGJsZC1mcmVlYnNkNy4xJwpob3N0X2FsaWFzPScn Cmhvc3RfY3B1PSdhbWQ2NCcKaG9zdF9vcz0nZnJlZWJzZDcuMScKaG9zdF92ZW5kb3I9J3Bv cnRibGQnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaWRsZGlyPScnCmltYWdlc2Rpcj0nJwppbmNs dWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nL3Vzci9sb2NhbC9pbmZvJwpp bnN0YWxsX3NoPSckKFNIRUxMKSAvdXNyL2xvY2FsL2NvbXBpbGUvdXNyL3BvcnRzL2RhdGFi YXNlcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvd29yay9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIt Mi4yNC40LjEvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWInCmxpYmV4 ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxvY2FsZWRpcj0nJChwcmVmaXgpLyQo REFUQURJUk5BTUUpL2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nL3Vzci9sb2NhbC9zaGFyZScK bWFuZGlyPScvdXNyL2xvY2FsL21hbicKbWtkaXJfcD0nJCh0b3BfYnVpbGRkaXIpLy4vaW5z dGFsbC1zaCAtYyAtZCcKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7 ZG9jZGlyfScKcHJlZml4PScvdXNyL2xvY2FsJwpwcml2ZGF0YWRpcj0nJwpwcml2aW5jbHVk ZWRpcj0nJwpwcml2bGliZGlyPScnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcK cHNkaXI9JyR7ZG9jZGlyfScKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2VydmVy ZGlyPScnCnNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0vY29tJwpzdWJkaXJzPScnCnN5c2Nv bmZkaXI9JyR7cHJlZml4fS9ldGMnCnRhcmdldF9hbGlhcz0nJwp3ZWF0aGVyZGF0YWRpcj0n JwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBGaWxlIHN1YnN0aXR1dGlvbnMuICMj CiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkVWT19NQVJTSEFMX1JVTEU9JycKCiMjIC0t LS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgojZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyIgojZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMi4yNC40LjEiCiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImV2b2x1dGlvbi1kYXRh LXNlcnZlciAyLjI0LjQuMSIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5l IFBBQ0tBR0UgImV2b2x1dGlvbi1kYXRhLXNlcnZlciIKI2RlZmluZSBWRVJTSU9OICIyLjI0 LjQuMSIKI2RlZmluZSBCQVNFX1ZFUlNJT04gIjIuMjQiCiNkZWZpbmUgQVBJX1ZFUlNJT04g IjEuMiIKI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCiNkZWZpbmUgU1REQ19IRUFERVJTIDEK I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQoj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQojZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5J U1REX0ggMQojZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQojZGVmaW5lIEhBVkVfTENfTUVTU0FH RVMgMQojZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQojZGVmaW5lIEhB VkVfR0VUVEVYVCAxCiNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQojZGVmaW5lIEVOQUJMRV9O TFMgMQojZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZXZvbHV0aW9uLWRhdGEtc2VydmVyLTIu MjQiCiNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiNk ZWZpbmUgSEFWRV9TRU1BUEhPUkVfSCAxCiNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKI2RlZmluZSBIQVZFX1NUUlBUSU1FIDEKI2RlZmluZSBIQVZF X1NUUlRPS19SIDEKI2RlZmluZSBIQVZFX1JFR0VYRUMgMQojZGVmaW5lIEhBVkVfQ09ERVNF VCAxCiNkZWZpbmUgSEFWRV9MS1NUUkZUSU1FIDEKI2RlZmluZSBXSVRIX0dOT01FX0tFWVJJ TkcgMQojZGVmaW5lIEVOQUJMRV9TTUlNRSAxCiNkZWZpbmUgSEFWRV9OU1MgMQojZGVmaW5l IEhBVkVfU1NMIDEKI2RlZmluZSBTRU5ETUFJTF9QQVRIICIvdXNyL3NiaW4vc2VuZG1haWwi CiNkZWZpbmUgU1lTVEVNX01BSUxfRElSICIvdmFyL21haWwiCiNkZWZpbmUgSEFWRV9UTV9H TVRPRkYgMQojZGVmaW5lIEhBVkVfR0VUSE9TVEJZTkFNRV9SIDEKI2RlZmluZSBIQVZFX0dF VEhPU1RCWUFERFJfUiAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKI2RlZmluZSBI QVZFX1NUQVRWRlMgMQojZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQojZGVmaW5lIEhBVkVf U1lTX01PVU5UX0ggMQojZGVmaW5lIEhBVkVfU1RBVEZTIDEKI2RlZmluZSBFTkFCTEVfSVB2 NiAxCiNkZWZpbmUgSEFWRV9BSV9BRERSQ09ORklHIDEKI2RlZmluZSBFTkFCTEVfQ0FMRU5E QVIgMQojZGVmaW5lIEhBTkRMRV9MSUJJQ0FMX01FTU9SWSAxCiNkZWZpbmUgRU5BQkxFX05O VFAgMQojZGVmaW5lIFVTRV9ET1QgMQojZGVmaW5lIFVTRV9GQ05UTCAxCgpjb25maWd1cmU6 IGV4aXQgMQo= --------------040903070307070604010405--