From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by sourceware.org (Postfix) with ESMTP id 9DFA13893675 for ; Thu, 16 Jul 2020 22:38:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9DFA13893675 Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-141-Od9uQ4eFOGyx4SMCHee6wA-1; Thu, 16 Jul 2020 18:38:00 -0400 X-MC-Unique: Od9uQ4eFOGyx4SMCHee6wA-1 Received: by mail-vk1-f198.google.com with SMTP id p72so2645066vkp.4 for ; Thu, 16 Jul 2020 15:38:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1/HiDdyCJXbXtBKTH104fmHX4uqWNZEIbNaU81PoNno=; b=AaaNpNmVuM9KQY9jzjLXyF94biwhL2laR7gP2GGcM0oPudoOEYgN8sy9TDL0Ozuzat 4S2piCWcFCHfHjZ5L0Dx3f91g5baJTnQxtDnjdOAw/LIP1H5TMJxjwobsPb98A1dC4QI WFN6lIfvBLPKelk1iAeMUcB3T2WpnQtecYj/nXsuvjfIOs69/Jv2XZFEN2pJTdbmzpOq 7JuLm4O8NVflXLEpKU9OY/mOa5mbG4u5xAFGoWEoDaiXczLWP+X1Cz4M/Gm8M7C0T2TW E+jDq1UjtwqYehZWlxfoA/dqyvRnJFgqdoFqcQzPeVGly1W/NyQDJiuBPnY6uD7/7aFf Rp/w== X-Gm-Message-State: AOAM531SWqeLO6PaVwid5K3ec5os4keQwqaBdD480uVIrQCbMf/Y5z8f lbkyZ22TkfuVyx9T8GYZ5GuFLAuVGvQn0CJO7Iaksvy119vOFIYGCPTuMQYunw/DwPOcsaJ6QCB dgvci3s+2qCzx2eQVfFUfb9Gkqg2ugGQChApe X-Received: by 2002:a67:c208:: with SMTP id i8mr5017693vsj.167.1594939079362; Thu, 16 Jul 2020 15:37:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx5HBaY1yFJ1yK1pGUIfQMe30drO4JQhhi9otGN0HfTqheLKV0nL9yd8Fb9iJtdJH2qQf4CWLNjWkDqV8G/OWs= X-Received: by 2002:a67:c208:: with SMTP id i8mr5017683vsj.167.1594939079132; Thu, 16 Jul 2020 15:37:59 -0700 (PDT) MIME-Version: 1.0 References: <20200502022903.175852-1-amerey@redhat.com> <3d9da16939fa6b503188033b56d30531e03d5d2a.camel@redhat.com> <87a72ino27.fsf@tromey.com> In-Reply-To: <87a72ino27.fsf@tromey.com> From: Aaron Merey Date: Thu, 16 Jul 2020 18:37:47 -0400 Message-ID: Subject: Re: [PATCH] config/debuginfod.m4: Use PKG_CHECK_MODULES To: Tom Tromey Cc: Aaron Merey via Binutils , Jeff Law , Simon Marchi , gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="0000000000004038a605aa96b1c4" X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_ASCII_DIVIDERS, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jul 2020 22:38:08 -0000 --0000000000004038a605aa96b1c4 Content-Type: text/plain; charset="UTF-8" On Fri, May 8, 2020 at 4:56 PM Tom Tromey wrote: > > >>>>> "Aaron" == Aaron Merey via Binutils writes: > > Aaron> * Makefile.in: Replace LIBDEBUGINFOD with DEBUGINFOD_LIBS. > Aaron> * aclocal.m4: Rebuild. > > Instead of inlining pkg.m4 into aclocal.m4, how about making > config/pkg.m4 and then using m4_include from gdb/acinclude.m4? > That's what gdb does for other shared m4 code. Resending the patch for this since my last attempt didn't seem to properly reply to Tom's email. --0000000000004038a605aa96b1c4 Content-Type: text/x-patch; charset="UTF-8"; name="0001-config-debuginfod.m4-Use-PKG_CHECK_MODULES.patch" Content-Disposition: attachment; filename="0001-config-debuginfod.m4-Use-PKG_CHECK_MODULES.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kcpdiw7c0 RnJvbSA3YTdlYTMzOWE5ZjFiYTg3OWViMGYyOWFiNjhjYmNiNzE1ZDExMzkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBNZXJleSA8YW1lcmV5QHJlZGhhdC5jb20+CkRhdGU6 IFRodSwgMTYgSnVsIDIwMjAgMTY6MDI6NDMgLTA0MDAKU3ViamVjdDogW1BBVENIXSBjb25maWcv ZGVidWdpbmZvZC5tNDogVXNlIFBLR19DSEVDS19NT0RVTEVTCgpVc2UgUEtHX0NIRUNLX01PRFVM RVMgdG8gc2V0IGRlYnVnaW5mb2QgYXV0b2NvbmYgdmFycy4gQWxzbyBhZGQKcGtnLm00IHRvIGNv bmZpZy8uCgpDaGFuZ2VMb2c6CgoJKiBjb25maWcvZGVidWdpbmZvZC5tNDogdXNlIFBLR19DSEVD S19NT0RVTEVTLgoJKiBjb25maWcvcGtnLm00OiBOZXcgZmlsZS4KCSogY29uZmlndXJlOiBSZWJ1 aWxkLgoJKiBjb25maWd1cmUuYWM6IFJlbW92ZSBBQ19ERUJVR0lORk9ELgoKQ2hhbmdlTG9nL2Jp bnV0aWxzOgoKCSogTWFrZWZpbGUuYW06IFJlcGxhY2UgTElCREVCVUdJTkZPRCB3aXRoIERFQlVH SU5GT0RfTElCUy4KCSogTWFrZWZpbGUuaW46IFJlYnVpbGQuCgkqIGNvbmZpZ3VyZTogUmVidWls ZC4KCSogY29uZmlndXJlLmFjOiBJbmNsdWRlIHBrZy5tNC4KCSogZG9jL01ha2VmaWxlLmluOiBS ZWJ1aWxkLgoKQ2hhbmdlTG9nL2dkYjoKCgkqIE1ha2VmaWxlLmluOiBSZXBsYWNlIExJQkRFQlVH SU5GT0Qgd2l0aCBERUJVR0lORk9EX0xJQlMuCgkqIGNvbmZpZ3VyZTogUmVidWlsZC4KCSogY29u ZmlndXJlLmFjOiBJbmNsdWRlIHBrZy5tNC4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAg fCAgIDcgKwogYmludXRpbHMvQ2hhbmdlTG9nICAgICAgIHwgICA4ICsKIGJpbnV0aWxzL01ha2Vm aWxlLmFtICAgICB8ICAgNiArLQogYmludXRpbHMvTWFrZWZpbGUuaW4gICAgIHwgIDEyICstCiBi aW51dGlscy9jb25maWd1cmUgICAgICAgfCAzNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tCiBiaW51dGlscy9jb25maWd1cmUuYWMgICAgfCAgIDEgKwogYmludXRpbHMv ZG9jL01ha2VmaWxlLmluIHwgICA4ICstCiBjb25maWcvZGVidWdpbmZvZC5tNCAgICAgfCAgMzYg KystLQogY29uZmlnL3BrZy5tNCAgICAgICAgICAgIHwgMjc1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBjb25maWd1cmUgICAgICAgICAgICAgICAgfCAxMzkgKy0tLS0tLS0tLS0tLS0t CiBjb25maWd1cmUuYWMgICAgICAgICAgICAgfCAgIDQgLQogZ2RiL0NoYW5nZUxvZyAgICAgICAg ICAgIHwgICA2ICsKIGdkYi9NYWtlZmlsZS5pbiAgICAgICAgICB8ICAgMiArLQogZ2RiL2NvbmZp Z3VyZSAgICAgICAgICAgIHwgMzY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiBnZGIvY29uZmlndXJlLmFjICAgICAgICAgfCAgIDMgKy0KIDE1IGZpbGVzIGNoYW5nZWQs IDg1OCBpbnNlcnRpb25zKCspLCAzODMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg Y29uZmlnL3BrZy5tNAoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0 OWU5Y2Y2MTQ4Li5lM2EyNDhjNWZhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdl TG9nCkBAIC0xLDMgKzEsMTAgQEAKKzIwMjAtMDctMTYgIEFhcm9uIE1lcmV5ICA8YW1lcmV5QHJl ZGhhdC5jb20+CisKKwkqIGNvbmZpZy9kZWJ1Z2luZm9kLm00OiB1c2UgUEtHX0NIRUNLX01PRFVM RVMuCisJKiBjb25maWcvcGtnLm00OiBOZXcgZmlsZS4KKwkqIGNvbmZpZ3VyZTogUmVidWlsZC4K KwkqIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEFDX0RFQlVHSU5GT0QuCisKIDIwMjAtMDctMDQgIE5p Y2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CiAKIAlCaW51dGlscyAyLjM1IGJyYW5jaCBj cmVhdGVkLgpkaWZmIC0tZ2l0IGEvYmludXRpbHMvQ2hhbmdlTG9nIGIvYmludXRpbHMvQ2hhbmdl TG9nCmluZGV4IDcwOGJlMjJjZmQuLjY3OWIyMmYxZjkgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL0No YW5nZUxvZworKysgYi9iaW51dGlscy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAyMC0w Ny0xNiAgQWFyb24gTWVyZXkgIDxhbWVyZXlAcmVkaGF0LmNvbT4KKworCSogTWFrZWZpbGUuYW06 IFJlcGxhY2UgTElCREVCVUdJTkZPRCB3aXRoIERFQlVHSU5GT0RfTElCUy4KKwkqIE1ha2VmaWxl LmluOiBSZWJ1aWxkLgorCSogY29uZmlndXJlOiBSZWJ1aWxkLgorCSogY29uZmlndXJlLmFjOiBJ bmNsdWRlIHBrZy5tNC4KKwkqIGRvYy9NYWtlZmlsZS5pbjogUmVidWlsZC4KKwogMjAyMC0wNy0x NCAgQ2xhdWRpdSBaaXNzdWxlc2N1ICA8Y2xhemlzc0BnbWFpbC5jb20+CiAKIAkqIHRlc3RzdWl0 ZS9iaW51dGlscy1hbGwvYXJjL2RvdWJsZV9yZWdzLnM6IE5ldyB0ZXN0LgpkaWZmIC0tZ2l0IGEv YmludXRpbHMvTWFrZWZpbGUuYW0gYi9iaW51dGlscy9NYWtlZmlsZS5hbQppbmRleCAyZWUxMTk2 NzkwLi5mYjU0NjUzZmQzIDEwMDY0NAotLS0gYS9iaW51dGlscy9NYWtlZmlsZS5hbQorKysgYi9i aW51dGlscy9NYWtlZmlsZS5hbQpAQCAtNTMsNyArNTMsNyBAQCBBTV9DRkxBR1MgPSAkKFdBUk5f Q0ZMQUdTKSAkKFpMSUJJTkMpCiBBTV9DRkxBR1NfRk9SX0JVSUxEID0gJChXQVJOX0NGTEFHU19G T1JfQlVJTEQpICQoWkxJQklOQykKIExJQklDT05WID0gQExJQklDT05WQAogCi1MSUJERUJVR0lO Rk9EID0gQExJQkRFQlVHSU5GT0RACitERUJVR0lORk9EX0xJQlMgPSBAREVCVUdJTkZPRF9MSUJT QAogCiAjIHRoZXNlIHR3byBhcmUgYWxtb3N0IHRoZSBzYW1lIHByb2dyYW0KIEFSX1BST0c9YXIK QEAgLTI1Miw3ICsyNTIsNyBAQCBvYmpjb3B5X1NPVVJDRVMgPSBvYmpjb3B5LmMgbm90LXN0cmlw LmMgcmVuYW1lLmMgJChXUklURV9ERUJVR19TUkNTKSAkKEJVTElCUykKIHN0cmluZ3NfU09VUkNF UyA9IHN0cmluZ3MuYyAkKEJVTElCUykKIAogcmVhZGVsZl9TT1VSQ0VTID0gcmVhZGVsZi5jIHZl cnNpb24uYyB1bndpbmQtaWE2NC5jIGR3YXJmLmMgJChFTEZMSUJTKQotcmVhZGVsZl9MREFERCAg ID0gJChMSUJJTlRMKSAkKExJQkNURl9OT0JGRCkgJChMSUJJQkVSVFkpICQoWkxJQikgJChMSUJE RUJVR0lORk9EKQorcmVhZGVsZl9MREFERCAgID0gJChMSUJJTlRMKSAkKExJQkNURl9OT0JGRCkg JChMSUJJQkVSVFkpICQoWkxJQikgJChERUJVR0lORk9EX0xJQlMpCiAKIGVsZmVkaXRfU09VUkNF UyA9IGVsZmVkaXQuYyB2ZXJzaW9uLmMgJChFTEZMSUJTKQogZWxmZWRpdF9MREFERCA9ICQoTElC SU5UTCkgJChMSUJJQkVSVFkpCkBAIC0yNjMsNyArMjYzLDcgQEAgbm1fbmV3X1NPVVJDRVMgPSBu bS5jICQoQlVMSUJTKQogCiBvYmpkdW1wX1NPVVJDRVMgPSBvYmpkdW1wLmMgZHdhcmYuYyBwcmRi Zy5jICQoREVCVUdfU1JDUykgJChCVUxJQlMpICQoRUxGTElCUykKIEVYVFJBX29iamR1bXBfU09V UkNFUyA9IG9kLXhjb2ZmLmMKLW9iamR1bXBfTERBREQgPSAkKE9CSkRVTVBfUFJJVkFURV9PRklM RVMpICQoT1BDT0RFUykgJChMSUJDVEYpICQoQkZETElCKSAkKExJQklCRVJUWSkgJChMSUJJTlRM KSAkKExJQkRFQlVHSU5GT0QpCitvYmpkdW1wX0xEQUREID0gJChPQkpEVU1QX1BSSVZBVEVfT0ZJ TEVTKSAkKE9QQ09ERVMpICQoTElCQ1RGKSAkKEJGRExJQikgJChMSUJJQkVSVFkpICQoTElCSU5U TCkgJChERUJVR0lORk9EX0xJQlMpCiAKIG9iamR1bXAuQE9CSkVYVEA6b2JqZHVtcC5jCiBpZiBh bV9fZmFzdGRlcENDCmRpZmYgLS1naXQgYS9iaW51dGlscy9NYWtlZmlsZS5pbiBiL2JpbnV0aWxz L01ha2VmaWxlLmluCmluZGV4IDdlZjJhZjRhZmYuLjk1MWRkMmM2ZDAgMTAwNjQ0Ci0tLSBhL2Jp bnV0aWxzL01ha2VmaWxlLmluCisrKyBiL2JpbnV0aWxzL01ha2VmaWxlLmluCkBAIC0xMzksNyAr MTM5LDcgQEAgYW1fX2FjbG9jYWxfbTRfZGVwcyA9ICQodG9wX3NyY2RpcikvLi4vYmZkL2FjaW5j bHVkZS5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvemxpYi5tNCAkKHRvcF9zcmNkaXIp Ly4uL2xpYnRvb2wubTQgXAogCSQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00ICQodG9wX3Ny Y2RpcikvLi4vbHRzdWdhci5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24ubTQgJCh0 b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCBcCi0JJCh0b3Bfc3JjZGlyKS8uLi9iZmQvdmVy c2lvbi5tNCBcCisJJCh0b3Bfc3JjZGlyKS8uLi9iZmQvdmVyc2lvbi5tNCAkKHRvcF9zcmNkaXIp Ly4uL2NvbmZpZy9wa2cubTQgXAogCSQodG9wX3NyY2RpcikvLi4vY29uZmlnL2RlYnVnaW5mb2Qu bTQgXAogCSQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCiBhbV9fY29uZmlndXJlX2RlcHMgPSAk KGFtX19hY2xvY2FsX200X2RlcHMpICQoQ09ORklHVVJFX0RFUEVOREVOQ0lFUykgXApAQCAtNDIz LDYgKzQyMyw4IEBAIENQUCA9IEBDUFBACiBDUFBGTEFHUyA9IEBDUFBGTEFHU0AKIENZR1BBVEhf VyA9IEBDWUdQQVRIX1dACiBEQVRBRElSTkFNRSA9IEBEQVRBRElSTkFNRUAKK0RFQlVHSU5GT0Rf Q0ZMQUdTID0gQERFQlVHSU5GT0RfQ0ZMQUdTQAorREVCVUdJTkZPRF9MSUJTID0gQERFQlVHSU5G T0RfTElCU0AKIERFRlMgPSBAREVGU0AKIERFTUFOR0xFUl9OQU1FID0gQERFTUFOR0xFUl9OQU1F QAogREVQRElSID0gQERFUERJUkAKQEAgLTQ1NCw3ICs0NTYsNiBAQCBMREZMQUdTID0gQExERkxB R1NACiBMRVggPSBgaWYgWyAtZiAuLi9mbGV4L2ZsZXggXTsgdGhlbiBlY2hvIC4uL2ZsZXgvZmxl eDsgZWxzZSBlY2hvIEBMRVhAOyBmaWAKIExFWExJQiA9IEBMRVhMSUJACiBMRVhfT1VUUFVUX1JP T1QgPSBATEVYX09VVFBVVF9ST09UQAotTElCREVCVUdJTkZPRCA9IEBMSUJERUJVR0lORk9EQAog TElCSUNPTlYgPSBATElCSUNPTlZACiBMSUJJTlRMID0gQExJQklOVExACiBMSUJJTlRMX0RFUCA9 IEBMSUJJTlRMX0RFUEAKQEAgLTQ5MCw2ICs0OTEsOSBAQCBQQUNLQUdFX1RBUk5BTUUgPSBAUEFD S0FHRV9UQVJOQU1FQAogUEFDS0FHRV9VUkwgPSBAUEFDS0FHRV9VUkxACiBQQUNLQUdFX1ZFUlNJ T04gPSBAUEFDS0FHRV9WRVJTSU9OQAogUEFUSF9TRVBBUkFUT1IgPSBAUEFUSF9TRVBBUkFUT1JA CitQS0dfQ09ORklHID0gQFBLR19DT05GSUdACitQS0dfQ09ORklHX0xJQkRJUiA9IEBQS0dfQ09O RklHX0xJQkRJUkAKK1BLR19DT05GSUdfUEFUSCA9IEBQS0dfQ09ORklHX1BBVEhACiBQT1NVQiA9 IEBQT1NVQkAKIFJBTkxJQiA9IEBSQU5MSUJACiBTRUQgPSBAU0VEQApAQCAtNzE0LDE0ICs3MTgs MTQgQEAgc2l6ZV9TT1VSQ0VTID0gc2l6ZS5jICQoQlVMSUJTKQogb2JqY29weV9TT1VSQ0VTID0g b2JqY29weS5jIG5vdC1zdHJpcC5jIHJlbmFtZS5jICQoV1JJVEVfREVCVUdfU1JDUykgJChCVUxJ QlMpCiBzdHJpbmdzX1NPVVJDRVMgPSBzdHJpbmdzLmMgJChCVUxJQlMpCiByZWFkZWxmX1NPVVJD RVMgPSByZWFkZWxmLmMgdmVyc2lvbi5jIHVud2luZC1pYTY0LmMgZHdhcmYuYyAkKEVMRkxJQlMp Ci1yZWFkZWxmX0xEQUREID0gJChMSUJJTlRMKSAkKExJQkNURl9OT0JGRCkgJChMSUJJQkVSVFkp ICQoWkxJQikgJChMSUJERUJVR0lORk9EKQorcmVhZGVsZl9MREFERCA9ICQoTElCSU5UTCkgJChM SUJDVEZfTk9CRkQpICQoTElCSUJFUlRZKSAkKFpMSUIpICQoREVCVUdJTkZPRF9MSUJTKQogZWxm ZWRpdF9TT1VSQ0VTID0gZWxmZWRpdC5jIHZlcnNpb24uYyAkKEVMRkxJQlMpCiBlbGZlZGl0X0xE QUREID0gJChMSUJJTlRMKSAkKExJQklCRVJUWSkKIHN0cmlwX25ld19TT1VSQ0VTID0gb2JqY29w eS5jIGlzLXN0cmlwLmMgcmVuYW1lLmMgJChXUklURV9ERUJVR19TUkNTKSAkKEJVTElCUykKIG5t X25ld19TT1VSQ0VTID0gbm0uYyAkKEJVTElCUykKIG9iamR1bXBfU09VUkNFUyA9IG9iamR1bXAu YyBkd2FyZi5jIHByZGJnLmMgJChERUJVR19TUkNTKSAkKEJVTElCUykgJChFTEZMSUJTKQogRVhU UkFfb2JqZHVtcF9TT1VSQ0VTID0gb2QteGNvZmYuYwotb2JqZHVtcF9MREFERCA9ICQoT0JKRFVN UF9QUklWQVRFX09GSUxFUykgJChPUENPREVTKSAkKExJQkNURikgJChCRkRMSUIpICQoTElCSUJF UlRZKSAkKExJQklOVEwpICQoTElCREVCVUdJTkZPRCkKK29iamR1bXBfTERBREQgPSAkKE9CSkRV TVBfUFJJVkFURV9PRklMRVMpICQoT1BDT0RFUykgJChMSUJDVEYpICQoQkZETElCKSAkKExJQklC RVJUWSkgJChMSUJJTlRMKSAkKERFQlVHSU5GT0RfTElCUykKIGN4eGZpbHRfU09VUkNFUyA9IGN4 eGZpbHQuYyAkKEJVTElCUykKIGFyX1NPVVJDRVMgPSBhcnBhcnNlLnkgYXJsZXgubCBhci5jIG5v dC1yYW5saWIuYyBhcnN1cC5jIHJlbmFtZS5jIGJpbmVtdWwuYyBcCiAJZW11bF8kKEVNVUxBVElP TikuYyAkKEJVTElCUykKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2NvbmZpZ3VyZSBiL2JpbnV0aWxz L2NvbmZpZ3VyZQppbmRleCBkYTdkYTUzZjFkLi5jOWZjNTEwOGUwIDEwMDc1NQotLS0gYS9iaW51 dGlscy9jb25maWd1cmUKKysrIGIvYmludXRpbHMvY29uZmlndXJlCkBAIC02ODYsNyArNjg2LDEx IEBAIFdBUk5fQ0ZMQUdTX0ZPUl9CVUlMRAogV0FSTl9DRkxBR1MKIEVOQUJMRV9MSUJDVEZfRkFM U0UKIEVOQUJMRV9MSUJDVEZfVFJVRQotTElCREVCVUdJTkZPRAorREVCVUdJTkZPRF9MSUJTCitE RUJVR0lORk9EX0NGTEFHUworUEtHX0NPTkZJR19MSUJESVIKK1BLR19DT05GSUdfUEFUSAorUEtH X0NPTkZJRwogT1RPT0w2NAogT1RPT0wKIExJUE8KQEAgLTgzNiw2ICs4NDAsMTEgQEAgTERGTEFH UwogTElCUwogQ1BQRkxBR1MKIENQUAorUEtHX0NPTkZJRworUEtHX0NPTkZJR19QQVRICitQS0df Q09ORklHX0xJQkRJUgorREVCVUdJTkZPRF9DRkxBR1MKK0RFQlVHSU5GT0RfTElCUwogWUFDQwog WUZMQUdTJwogCkBAIC0xNTA3LDYgKzE1MTYsMTUgQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9u bWVudCB2YXJpYWJsZXM6CiAgIENQUEZMQUdTICAgIChPYmplY3RpdmUpIEMvQysrIHByZXByb2Nl c3NvciBmbGFncywgZS5nLiAtSTxpbmNsdWRlIGRpcj4gaWYKICAgICAgICAgICAgICAgeW91IGhh dmUgaGVhZGVycyBpbiBhIG5vbnN0YW5kYXJkIGRpcmVjdG9yeSA8aW5jbHVkZSBkaXI+CiAgIENQ UCAgICAgICAgIEMgcHJlcHJvY2Vzc29yCisgIFBLR19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZp ZyB1dGlsaXR5CisgIFBLR19DT05GSUdfUEFUSAorICAgICAgICAgICAgICBkaXJlY3RvcmllcyB0 byBhZGQgdG8gcGtnLWNvbmZpZydzIHNlYXJjaCBwYXRoCisgIFBLR19DT05GSUdfTElCRElSCisg ICAgICAgICAgICAgIHBhdGggb3ZlcnJpZGluZyBwa2ctY29uZmlnJ3MgYnVpbHQtaW4gc2VhcmNo IHBhdGgKKyAgREVCVUdJTkZPRF9DRkxBR1MKKyAgICAgICAgICAgICAgQyBjb21waWxlciBmbGFn cyBmb3IgREVCVUdJTkZPRCwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCisgIERFQlVHSU5GT0RfTElC UworICAgICAgICAgICAgICBsaW5rZXIgZmxhZ3MgZm9yIERFQlVHSU5GT0QsIG92ZXJyaWRpbmcg cGtnLWNvbmZpZwogICBZQUNDICAgICAgICBUaGUgYFlldCBBbm90aGVyIENvbXBpbGVyIENvbXBp bGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2UuCiAgICAgICAgICAgICAgIERlZmF1bHRzIHRvIHRo ZSBmaXJzdCBwcm9ncmFtIGZvdW5kIG91dCBvZjogYGJpc29uIC15JywgYGJ5YWNjJywKICAgICAg ICAgICAgICAgYHlhY2MnLgpAQCAtMTk0Miw1MiArMTk2MCw2IEBAICRhc19lY2hvICIkYWNfcmVz IiA+JjY7IH0KIAogfSAjIGFjX2ZuX2NfY2hlY2tfZnVuYwogCi0jIGFjX2ZuX2NfY2hlY2tfZGVj bCBMSU5FTk8gU1lNQk9MIFZBUiBJTkNMVURFUwotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQg aW4gSU5DTFVERVMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0jIGFjY29yZGluZ2x5Lgot YWNfZm5fY19jaGVja19kZWNsICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBh c19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgYXNfZGVj bF9uYW1lPWBlY2hvICQyfHNlZCAncy8gKiguKi8vJ2AKLSAgYXNfZGVjbF91c2U9YGVjaG8gJDJ8 c2VkIC1lICdzLygvKCgvJyAtZSAncy8pLykgMCYvJyAtZSAncy8sLykgMCYgKC9nJ2AKLSAgeyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRh c19kZWNsX25hbWUgaXMgZGVjbGFyZWQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhl ciAkYXNfZGVjbF9uYW1lIGlzIGRlY2xhcmVkLi4uICIgPiY2OyB9Ci1pZiBldmFsIFwkeyQzKzp9 IGZhbHNlOyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0 IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZz LmguICAqLwotJDQKLWludAotbWFpbiAoKQotewotI2lmbmRlZiAkYXNfZGVjbF9uYW1lCi0jaWZk ZWYgX19jcGx1c3BsdXMKLSAgKHZvaWQpICRhc19kZWNsX3VzZTsKLSNlbHNlCi0gICh2b2lkKSAk YXNfZGVjbF9uYW1lOwotI2VuZGlmCi0jZW5kaWYKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FD RU9GCi1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGV2YWwgIiQz PXllcyIKLWVsc2UKLSAgZXZhbCAiJDM9bm8iCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIg Y29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotZXZhbCBhY19yZXM9XCQk MwotCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogJGFjX3JlcyIgPiY1Ci0kYXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9Ci0gIGV2YWwgJGFzX2xp bmVub19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6Kzp9IHVuc2V0IGFzX2xpbmVubwotCi19ICMg YWNfZm5fY19jaGVja19kZWNsCi0KICMgYWNfZm5fY19jb21wdXRlX2ludCBMSU5FTk8gRVhQUiBW QVIgSU5DTFVERVMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICMgVHJpZXMgdG8gZmluZCB0aGUgY29tcGlsZS10aW1lIHZhbHVlIG9mIEVYUFIgaW4gYSBw cm9ncmFtIHRoYXQgaW5jbHVkZXMKQEAgLTIyMjQsNiArMjE5Niw1MiBAQCAkYXNfZWNobyAiJGFj X3JlcyIgPiY2OyB9CiAgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6 Kzp9IHVuc2V0IGFzX2xpbmVubwogCiB9ICMgYWNfZm5fY19jaGVja190eXBlCisKKyMgYWNfZm5f Y19jaGVja19kZWNsIExJTkVOTyBTWU1CT0wgVkFSIElOQ0xVREVTCisjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUZXN0cyB3aGV0aGVyIFNZTUJPTCBp cyBkZWNsYXJlZCBpbiBJTkNMVURFUywgc2V0dGluZyBjYWNoZSB2YXJpYWJsZSBWQVIKKyMgYWNj b3JkaW5nbHkuCithY19mbl9jX2NoZWNrX2RlY2wgKCkKK3sKKyAgYXNfbGluZW5vPSR7YXNfbGlu ZW5vLSIkMSJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3RhY2s9JGFzX2xpbmVub19zdGFj aworICBhc19kZWNsX25hbWU9YGVjaG8gJDJ8c2VkICdzLyAqKC4qLy8nYAorICBhc19kZWNsX3Vz ZT1gZWNobyAkMnxzZWQgLWUgJ3MvKC8oKC8nIC1lICdzLykvKSAwJi8nIC1lICdzLywvKSAwJiAo L2cnYAorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n IHdoZXRoZXIgJGFzX2RlY2xfbmFtZSBpcyBkZWNsYXJlZCIgPiY1CiskYXNfZWNob19uICJjaGVj a2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFyZWQuLi4gIiA+JjY7IH0KK2lmIGV2 YWwgXCR7JDMrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgor ZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBl bmQgY29uZmRlZnMuaC4gICovCiskNAoraW50CittYWluICgpCit7CisjaWZuZGVmICRhc19kZWNs X25hbWUKKyNpZmRlZiBfX2NwbHVzcGx1cworICAodm9pZCkgJGFzX2RlY2xfdXNlOworI2Vsc2UK KyAgKHZvaWQpICRhc19kZWNsX25hbWU7CisjZW5kaWYKKyNlbmRpZgorCisgIDsKKyAgcmV0dXJu IDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoK KyAgZXZhbCAiJDM9eWVzIgorZWxzZQorICBldmFsICIkMz1ubyIKK2ZpCitybSAtZiBjb3JlIGNv bmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitldmFs IGFjX3Jlcz1cJCQzCisJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KKyAg ZXZhbCAkYXNfbGluZW5vX3N0YWNrOyAke2FzX2xpbmVub19zdGFjazorOn0gdW5zZXQgYXNfbGlu ZW5vCisKK30gIyBhY19mbl9jX2NoZWNrX2RlY2wKIGNhdCA+Y29uZmlnLmxvZyA8PF9BQ0VPRgog VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtl cyBhIG1pc3Rha2UuCkBAIC0xMTUzMyw3ICsxMTU1MSw3IEBAIGVsc2UKICAgbHRfZGx1bmtub3du PTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0 X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTE1 MzYgImNvbmZpZ3VyZSIKKyNsaW5lIDExNTU0ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRl ZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApAQCAtMTE2MzksNyArMTE2NTcsNyBAQCBlbHNlCiAg IGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAg bHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9F T0YKLSNsaW5lIDExNjQyICJjb25maWd1cmUiCisjbGluZSAxMTY2MCAiY29uZmlndXJlIgogI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTEyMjQ2LDcgKzEyMjY0 LDEyNyBAQCBmaQogCiAKIAotIyBFbmFibGUgZGVidWdpbmZvZAorCisKKworCisKKworaWYgdGVz dCAieCRhY19jdl9lbnZfUEtHX0NPTkZJR19zZXQiICE9ICJ4c2V0IjsgdGhlbgorCWlmIHRlc3Qg LW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m ICIke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h bWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9cGtnLWNvbmZpZzsgYWNf d29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4u ICIgPiY2OyB9CitpZiAke2FjX2N2X3BhdGhfUEtHX0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6Cisg ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJFBLR19DT05GSUcgaW4K KyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05G SUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7Owor ICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGly IGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYm IGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu c2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19l eGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wYXRoX1BLR19DT05GSUc9IiRhc19kaXIvJGFjX3dv cmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgor ICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKKyAgOzsKK2VzYWMKK2ZpCitQ S0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKK2lmIHRlc3QgLW4gIiRQS0dfQ09ORklH IjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogJFBLR19DT05GSUciID4mNQorJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KK2Vsc2UK KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+ JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3Zf cGF0aF9QS0dfQ09ORklHIjsgdGhlbgorICBhY19wdF9QS0dfQ09ORklHPSRQS0dfQ09ORklHCisg ICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBh IHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0k MgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Ig JGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2 OyB9CitpZiAke2FjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6Cisg ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJGFjX3B0X1BLR19DT05G SUcgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJ Rz0iJGFjX3B0X1BLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdp dGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQ QVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRl c3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRh Y19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFz X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wYXRoX2FjX3B0X1BL R19DT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVj X2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVf SUZTCisKKyAgOzsKK2VzYWMKK2ZpCithY19wdF9QS0dfQ09ORklHPSRhY19jdl9wYXRoX2FjX3B0 X1BLR19DT05GSUcKK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsgdGhlbgorICB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3B0X1BLR19D T05GSUciID4mNQorJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7IH0KK2Vsc2UKKyAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUK KyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisgIGlmIHRlc3QgIngkYWNfcHRfUEtHX0NPTkZJ RyIgPSB4OyB0aGVuCisgICAgUEtHX0NPTkZJRz0iIgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3Nf Y29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZp eGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVz aW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2Fj X3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIFBLR19DT05GSUc9JGFjX3B0X1BLR19DT05G SUcKKyAgZmkKK2Vsc2UKKyAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyIKK2Zp CisKK2ZpCitpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KKwlfcGtnX21pbl92ZXJzaW9u PTAuOS4wCisJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3ZlcnNpb24iID4mNQor JGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtn X21pbl92ZXJzaW9uLi4uICIgPiY2OyB9CisJaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2Nv bmZpZy12ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCisJCXsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIg PiY2OyB9CisJZWxzZQorCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306 IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKwkJUEtHX0NPTkZJRz0iIgor CWZpCitmaQorCisjIEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2luZm9kIHN1cHBvcnQKIAogIyBDaGVj ayB3aGV0aGVyIC0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7d2l0aF9k ZWJ1Z2luZm9kK3NldH0iID0gc2V0OyB0aGVuIDoKQEAgLTEyMjYwLDcyICsxMjM5OCw5MyBAQCAk YXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRvIHVzZSBkZWJ1Z2luZm9kLi4uICIgPiY2OyB9 CiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhf ZGVidWdpbmZvZCIgPiY1CiAkYXNfZWNobyAiJHdpdGhfZGVidWdpbmZvZCIgPiY2OyB9CiAKLWlm IHRlc3QgIiR7d2l0aF9kZWJ1Z2luZm9kfSIgPSBubzsgdGhlbgotICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGRlYnVnaW5mb2Qgc3VwcG9ydCBkaXNh YmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjUKLSRhc19lY2hvICIk YXNfbWU6IFdBUk5JTkc6IGRlYnVnaW5mb2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJl cyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjI7fQotZWxzZQotICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBkZWJ1Z2luZm9kX2JlZ2luIGluIC1s ZGVidWdpbmZvZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgZGVidWdpbmZvZF9iZWdp biBpbiAtbGRlYnVnaW5mb2QuLi4gIiA+JjY7IH0KLWlmICR7YWNfY3ZfbGliX2RlYnVnaW5mb2Rf ZGVidWdpbmZvZF9iZWdpbis6fSBmYWxzZTsgdGhlbiA6Ci0gICRhc19lY2hvX24gIihjYWNoZWQp ICIgPiY2Ci1lbHNlCi0gIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKLUxJQlM9Ii1sZGVi dWdpbmZvZCAgJExJQlMiCi1jYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNf ZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCitpZiB0ZXN0ICJ4JHdpdGhfZGVidWdpbmZvZCIg IT0geG5vOyB0aGVuCiAKLS8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgotICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCi0gICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRl cm4gIkMiCi0jZW5kaWYKLWNoYXIgZGVidWdpbmZvZF9iZWdpbiAoKTsKLWludAotbWFpbiAoKQot ewotcmV0dXJuIGRlYnVnaW5mb2RfYmVnaW4gKCk7Ci0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNF T0YKLWlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKLSAgYWNfY3ZfbGliX2Rl YnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbj15ZXMKK3BrZ19mYWlsZWQ9bm8KK3sgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGxpYmRlYnVnaW5mb2Qg Pj0gMC4xNzkiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGxpYmRlYnVnaW5mb2QgPj0g MC4xNzkuLi4gIiA+JjY7IH0KKworaWYgdGVzdCAtbiAiJERFQlVHSU5GT0RfQ0ZMQUdTIjsgdGhl bgorICAgIHBrZ19jdl9ERUJVR0lORk9EX0NGTEFHUz0iJERFQlVHSU5GT0RfQ0ZMQUdTIgorIGVs aWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAtbiAiJFBLR19DT05G SUciICYmIFwKKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog XCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwibGliZGVidWdpbmZvZCA+PSAw LjE3OVwiIjsgfSA+JjUKKyAgKCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJs aWJkZWJ1Z2luZm9kID49IDAuMTc5IikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRl c3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KKyAgcGtnX2N2X0RFQlVHSU5GT0RfQ0ZMQUdTPWAk UEtHX0NPTkZJRyAtLWNmbGFncyAibGliZGVidWdpbmZvZCA+PSAwLjE3OSIgMj4vZGV2L251bGxg CisJCSAgICAgIHRlc3QgIngkPyIgIT0gIngwIiAmJiBwa2dfZmFpbGVkPXllcwogZWxzZQotICBh Y19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luPW5vCisgIHBrZ19mYWlsZWQ9eWVz CiBmaQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCi0gICAg Y29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKLUxJQlM9JGFjX2NoZWNrX2xpYl9z YXZlX0xJQlMKKyBlbHNlCisgICAgcGtnX2ZhaWxlZD11bnRyaWVkCitmaQoraWYgdGVzdCAtbiAi JERFQlVHSU5GT0RfTElCUyI7IHRoZW4KKyAgICBwa2dfY3ZfREVCVUdJTkZPRF9MSUJTPSIkREVC VUdJTkZPRF9MSUJTIgorIGVsaWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYg dGVzdCAtbiAiJFBLR19DT05GSUciICYmIFwKKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwi bGliZGVidWdpbmZvZCA+PSAwLjE3OVwiIjsgfSA+JjUKKyAgKCRQS0dfQ09ORklHIC0tZXhpc3Rz IC0tcHJpbnQtZXJyb3JzICJsaWJkZWJ1Z2luZm9kID49IDAuMTc5IikgMj4mNQorICBhY19zdGF0 dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFj X3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KKyAgcGtnX2N2X0RF QlVHSU5GT0RfTElCUz1gJFBLR19DT05GSUcgLS1saWJzICJsaWJkZWJ1Z2luZm9kID49IDAuMTc5 IiAyPi9kZXYvbnVsbGAKKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9 eWVzCitlbHNlCisgIHBrZ19mYWlsZWQ9eWVzCiBmaQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9k X2JlZ2luIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9i ZWdpbiIgPiY2OyB9Ci1pZiB0ZXN0ICJ4JGFjX2N2X2xpYl9kZWJ1Z2luZm9kX2RlYnVnaW5mb2Rf YmVnaW4iID0geHllczsgdGhlbiA6Ci0gIGhhdmVfZGVidWdpbmZvZF9saWI9eWVzCisgZWxzZQor ICAgIHBrZ19mYWlsZWQ9dW50cmllZAogZmkKIAotICBhY19mbl9jX2NoZWNrX2RlY2wgIiRMSU5F Tk8iICJkZWJ1Z2luZm9kX2JlZ2luIiAiYWNfY3ZfaGF2ZV9kZWNsX2RlYnVnaW5mb2RfYmVnaW4i ICIjaW5jbHVkZSA8ZWxmdXRpbHMvZGVidWdpbmZvZC5oPgotIgotaWYgdGVzdCAieCRhY19jdl9o YXZlX2RlY2xfZGVidWdpbmZvZF9iZWdpbiIgPSB4eWVzOyB0aGVuIDoKLSAgaGF2ZV9kZWJ1Z2lu Zm9kX2g9eWVzCi1maQogCi0gIGlmIHRlc3QgIngkaGF2ZV9kZWJ1Z2luZm9kX2xpYiIgPSAieHll cyIgLWEgXAotICAgICAgICAgICJ4JGhhdmVfZGVidWdpbmZvZF9oIiA9ICJ4eWVzIjsgdGhlbgog Ci0kYXNfZWNobyAiI2RlZmluZSBIQVZFX0xJQkRFQlVHSU5GT0QgMSIgPj5jb25mZGVmcy5oCitp ZiB0ZXN0ICRwa2dfZmFpbGVkID0geWVzOyB0aGVuCisgICAgICAgIHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4m NjsgfQogCi0gICAgTElCREVCVUdJTkZPRD0iLWxkZWJ1Z2luZm9kIgoraWYgJFBLR19DT05GSUcg LS1hdGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KKyAgICAgICAgX3BrZ19zaG9y dF9lcnJvcnNfc3VwcG9ydGVkPXllcworZWxzZQorICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19z dXBwb3J0ZWQ9bm8KK2ZpCisgICAgICAgIGlmIHRlc3QgJF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBv cnRlZCA9IHllczsgdGhlbgorCSAgICAgICAgREVCVUdJTkZPRF9QS0dfRVJST1JTPWAkUEtHX0NP TkZJRyAtLXNob3J0LWVycm9ycyAtLXByaW50LWVycm9ycyAtLWNmbGFncyAtLWxpYnMgImxpYmRl YnVnaW5mb2QgPj0gMC4xNzkiIDI+JjFgCisgICAgICAgIGVsc2UKKwkgICAgICAgIERFQlVHSU5G T0RfUEtHX0VSUk9SUz1gJFBLR19DT05GSUcgLS1wcmludC1lcnJvcnMgLS1jZmxhZ3MgLS1saWJz ICJsaWJkZWJ1Z2luZm9kID49IDAuMTc5IiAyPiYxYAorICAgICAgICBmaQorCSMgUHV0IHRoZSBu YXN0eSBlcnJvciBtZXNzYWdlIGluIGNvbmZpZy5sb2cgd2hlcmUgaXQgYmVsb25ncworCWVjaG8g IiRERUJVR0lORk9EX1BLR19FUlJPUlMiID4mNQogCi0gIGVsc2UKKwlpZiB0ZXN0ICJ4JHdpdGhf ZGVidWdpbmZvZCIgPSB4eWVzOyB0aGVuCisgICAgICAgYXNfZm5fZXJyb3IgJD8gIlwiLS13aXRo LWRlYnVnaW5mb2Qgd2FzIGdpdmVuLCBidXQgbGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVu dXNhYmxlLlwiIiAiJExJTkVOTyIgNQorICAgICBlbHNlCisgICAgICAgeyAkYXNfZWNobyAiJGFz X21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBsaWJkZWJ1Z2luZm9kIGlzIG1pc3Np bmcgb3IgdW51c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiY1Cisk YXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBsaWJkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51 c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiYyO30KKyAgICAgZmkK K2VsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJpZWQ7IHRoZW4KKyAgICAgICAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hv ICJubyIgPiY2OyB9CisJaWYgdGVzdCAieCR3aXRoX2RlYnVnaW5mb2QiID0geHllczsgdGhlbgor ICAgICAgIGFzX2ZuX2Vycm9yICQ/ICJcIi0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbiwgYnV0 IGxpYmRlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJsZS5cIiIgIiRMSU5FTk8iIDUKKyAg ICAgZWxzZQorICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog V0FSTklORzogbGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1 cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzog bGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBi ZSB1bmF2YWlsYWJsZS4iID4mMjt9CisgICAgIGZpCitlbHNlCisJREVCVUdJTkZPRF9DRkxBR1M9 JHBrZ19jdl9ERUJVR0lORk9EX0NGTEFHUworCURFQlVHSU5GT0RfTElCUz0kcGtnX2N2X0RFQlVH SU5GT0RfTElCUworICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO T306IHJlc3VsdDogeWVzIiA+JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQogCi0gICAgaWYgdGVz dCAiJHdpdGhfZGVidWdpbmZvZCIgPSB5ZXM7IHRoZW4KLSAgICAgIGFzX2ZuX2Vycm9yICQ/ICJk ZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGUiICIkTElORU5PIiA1Ci0gICAgZWxzZQot ICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBk ZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVu YXZhaWxhYmxlLiIgPiY1Ci0kYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBkZWJ1Z2luZm9kIGlz IG1pc3Npbmcgb3IgdW51c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIg PiYyO30KLSAgICBmaQotICBmaQorJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJERUJVR0lORk9E IDEiID4+Y29uZmRlZnMuaAorCitmaQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGRlYnVnaW5mb2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29t ZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdB Uk5JTkc6IGRlYnVnaW5mb2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkgYmUg dW5hdmFpbGFibGUuIiA+JjI7fQogZmkKIAogCmRpZmYgLS1naXQgYS9iaW51dGlscy9jb25maWd1 cmUuYWMgYi9iaW51dGlscy9jb25maWd1cmUuYWMKaW5kZXggODgzZjMxODdlNy4uM2MyOWRmMGI2 NiAxMDA2NDQKLS0tIGEvYmludXRpbHMvY29uZmlndXJlLmFjCisrKyBiL2JpbnV0aWxzL2NvbmZp Z3VyZS5hYwpAQCAtMTgsNiArMTgsNyBAQCBkbmwgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgogZG5sCiAKIG00X2luY2x1ZGUoWy4uL2JmZC92ZXJzaW9uLm00XSkKK200X2luY2x1ZGUo Wy4uL2NvbmZpZy9wa2cubTRdKQogbTRfaW5jbHVkZShbLi4vY29uZmlnL2RlYnVnaW5mb2QubTRd KQogQUNfSU5JVChbYmludXRpbHNdLCBCRkRfVkVSU0lPTikKIEFDX0NPTkZJR19TUkNESVIoYXIu YykKZGlmZiAtLWdpdCBhL2JpbnV0aWxzL2RvYy9NYWtlZmlsZS5pbiBiL2JpbnV0aWxzL2RvYy9N YWtlZmlsZS5pbgppbmRleCBlOTI1YjgxZTBkLi4yN2FkZmU3NTNiIDEwMDY0NAotLS0gYS9iaW51 dGlscy9kb2MvTWFrZWZpbGUuaW4KKysrIGIvYmludXRpbHMvZG9jL01ha2VmaWxlLmluCkBAIC0x MjgsNyArMTI4LDcgQEAgYW1fX2FjbG9jYWxfbTRfZGVwcyA9ICQodG9wX3NyY2RpcikvLi4vYmZk L2FjaW5jbHVkZS5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9jb25maWcvemxpYi5tNCAkKHRvcF9z cmNkaXIpLy4uL2xpYnRvb2wubTQgXAogCSQodG9wX3NyY2RpcikvLi4vbHRvcHRpb25zLm00ICQo dG9wX3NyY2RpcikvLi4vbHRzdWdhci5tNCBcCiAJJCh0b3Bfc3JjZGlyKS8uLi9sdHZlcnNpb24u bTQgJCh0b3Bfc3JjZGlyKS8uLi9sdH5vYnNvbGV0ZS5tNCBcCi0JJCh0b3Bfc3JjZGlyKS8uLi9i ZmQvdmVyc2lvbi5tNCBcCisJJCh0b3Bfc3JjZGlyKS8uLi9iZmQvdmVyc2lvbi5tNCAkKHRvcF9z cmNkaXIpLy4uL2NvbmZpZy9wa2cubTQgXAogCSQodG9wX3NyY2RpcikvLi4vY29uZmlnL2RlYnVn aW5mb2QubTQgXAogCSQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCiBhbV9fY29uZmlndXJlX2Rl cHMgPSAkKGFtX19hY2xvY2FsX200X2RlcHMpICQoQ09ORklHVVJFX0RFUEVOREVOQ0lFUykgXApA QCAtMjU2LDYgKzI1Niw4IEBAIENQUCA9IEBDUFBACiBDUFBGTEFHUyA9IEBDUFBGTEFHU0AKIENZ R1BBVEhfVyA9IEBDWUdQQVRIX1dACiBEQVRBRElSTkFNRSA9IEBEQVRBRElSTkFNRUAKK0RFQlVH SU5GT0RfQ0ZMQUdTID0gQERFQlVHSU5GT0RfQ0ZMQUdTQAorREVCVUdJTkZPRF9MSUJTID0gQERF QlVHSU5GT0RfTElCU0AKIERFRlMgPSBAREVGU0AKIERFTUFOR0xFUl9OQU1FID0gQERFTUFOR0xF Ul9OQU1FQAogREVQRElSID0gQERFUERJUkAKQEAgLTI4Nyw3ICsyODksNiBAQCBMREZMQUdTID0g QExERkxBR1NACiBMRVggPSBATEVYQAogTEVYTElCID0gQExFWExJQkAKIExFWF9PVVRQVVRfUk9P VCA9IEBMRVhfT1VUUFVUX1JPT1RACi1MSUJERUJVR0lORk9EID0gQExJQkRFQlVHSU5GT0RACiBM SUJJQ09OViA9IEBMSUJJQ09OVkAKIExJQklOVEwgPSBATElCSU5UTEAKIExJQklOVExfREVQID0g QExJQklOVExfREVQQApAQCAtMzIxLDYgKzMyMiw5IEBAIFBBQ0tBR0VfVEFSTkFNRSA9IEBQQUNL QUdFX1RBUk5BTUVACiBQQUNLQUdFX1VSTCA9IEBQQUNLQUdFX1VSTEAKIFBBQ0tBR0VfVkVSU0lP TiA9IEBQQUNLQUdFX1ZFUlNJT05ACiBQQVRIX1NFUEFSQVRPUiA9IEBQQVRIX1NFUEFSQVRPUkAK K1BLR19DT05GSUcgPSBAUEtHX0NPTkZJR0AKK1BLR19DT05GSUdfTElCRElSID0gQFBLR19DT05G SUdfTElCRElSQAorUEtHX0NPTkZJR19QQVRIID0gQFBLR19DT05GSUdfUEFUSEAKIFBPU1VCID0g QFBPU1VCQAogUkFOTElCID0gQFJBTkxJQkAKIFNFRCA9IEBTRURACmRpZmYgLS1naXQgYS9jb25m aWcvZGVidWdpbmZvZC5tNCBiL2NvbmZpZy9kZWJ1Z2luZm9kLm00CmluZGV4IDk5NzlhYmU4OWQu LjJjMWJmYmRiNTQgMTAwNjQ0Ci0tLSBhL2NvbmZpZy9kZWJ1Z2luZm9kLm00CisrKyBiL2NvbmZp Zy9kZWJ1Z2luZm9kLm00CkBAIC0xLDQgKzEsNCBAQAotZG5sIENvcHlyaWdodCAoQykgMTk5Ny0y MDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorZG5sIENvcHlyaWdodCAoQykgMTk5 Ny0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogZG5sIFRoaXMgZmlsZSBpcyBm cmVlIHNvZnR3YXJlLCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQogZG5s IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBH TlUgR2VuZXJhbAogZG5sIFB1YmxpYyBMaWNlbnNlLCB0aGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1 dGVkIGFzIHBhcnQgb2YgYSBwcm9ncmFtCkBAIC03LDMyICs3LDIyIEBAIGRubCB0aGUgc2FtZSBk aXN0cmlidXRpb24gdGVybXMgYXMgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgogCiBBQ19ERUZV TihbQUNfREVCVUdJTkZPRF0sCiBbCi0jIEVuYWJsZSBkZWJ1Z2luZm9kCisjIEhhbmRsZSBvcHRp b25hbCBkZWJ1Z2luZm9kIHN1cHBvcnQKIEFDX0FSR19XSVRIKFtkZWJ1Z2luZm9kXSwKLSAgICAg ICAgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1kZWJ1Z2luZm9kXSwKLSAgICAgICAgICAgICAgICAg ICAgICAgW0VuYWJsZSBkZWJ1Z2luZm8gbG9va3VwcyB3aXRoIGRlYnVnaW5mb2QgKGF1dG8veWVz L25vKV0pLAotICAgICAgICBbXSwgW3dpdGhfZGVidWdpbmZvZD1hdXRvXSkKKyAgQUNfSEVMUF9T VFJJTkcoWy0td2l0aC1kZWJ1Z2luZm9kXSwgW0VuYWJsZSBkZWJ1Z2luZm8gbG9va3VwcyB3aXRo IGRlYnVnaW5mb2QgKGF1dG8veWVzL25vKV0pLAorICBbXSwgW3dpdGhfZGVidWdpbmZvZD1hdXRv XSkKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byB1c2UgZGVidWdpbmZvZF0pCiBBQ19NU0df UkVTVUxUKFskd2l0aF9kZWJ1Z2luZm9kXSkKIAotaWYgdGVzdCAiJHt3aXRoX2RlYnVnaW5mb2R9 IiA9IG5vOyB0aGVuCi0gIEFDX01TR19XQVJOKFtkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7 IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLl0pCitpZiB0ZXN0ICJ4JHdpdGhfZGVi dWdpbmZvZCIgIT0geG5vOyB0aGVuCisgIFBLR19DSEVDS19NT0RVTEVTKFtERUJVR0lORk9EXSwg W2xpYmRlYnVnaW5mb2QgPj0gMC4xNzldLAorICAgIFtBQ19ERUZJTkUoW0hBVkVfTElCREVCVUdJ TkZPRF0sIFsxXSwgW0RlZmluZSB0byAxIGlmIGRlYnVnaW5mb2QgaXMgZW5hYmxlZC5dKV0sCisg ICAgW2lmIHRlc3QgIngkd2l0aF9kZWJ1Z2luZm9kIiA9IHh5ZXM7IHRoZW4KKyAgICAgICBBQ19N U0dfRVJST1IoWyItLXdpdGgtZGVidWdpbmZvZCB3YXMgZ2l2ZW4sIGJ1dCBsaWJkZWJ1Z2luZm9k IGlzIG1pc3Npbmcgb3IgdW51c2FibGUuIl0pCisgICAgIGVsc2UKKyAgICAgICBBQ19NU0dfV0FS TihbbGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1h eSBiZSB1bmF2YWlsYWJsZS5dKQorICAgICBmaV0pCiBlbHNlCi0gIEFDX0NIRUNLX0xJQihbZGVi dWdpbmZvZF0sIFtkZWJ1Z2luZm9kX2JlZ2luXSwgW2hhdmVfZGVidWdpbmZvZF9saWI9eWVzXSkK LSAgQUNfQ0hFQ0tfREVDTChbZGVidWdpbmZvZF9iZWdpbl0sIFtoYXZlX2RlYnVnaW5mb2RfaD15 ZXNdLCBbXSwKLSAgICAgICAgICAgICAgICBbI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5mb2Qu aD5dKQotICBpZiB0ZXN0ICJ4JGhhdmVfZGVidWdpbmZvZF9saWIiID0gInh5ZXMiIC1hIFwKLSAg ICAgICAgICAieCRoYXZlX2RlYnVnaW5mb2RfaCIgPSAieHllcyI7IHRoZW4KLSAgICBBQ19ERUZJ TkUoW0hBVkVfTElCREVCVUdJTkZPRF0sIFsxXSwKLSAgICAgICAgICAgICAgW0RlZmluZSB0byAx IGlmIGRlYnVnaW5mb2QgaXMgZW5hYmxlZC5dKQotICAgIEFDX1NVQlNUKFtMSUJERUJVR0lORk9E XSwgWyItbGRlYnVnaW5mb2QiXSkKLSAgZWxzZQotICAgIEFDX1NVQlNUKFtMSUJERUJVR0lORk9E XSwgW10pCi0gICAgaWYgdGVzdCAiJHdpdGhfZGVidWdpbmZvZCIgPSB5ZXM7IHRoZW4KLSAgICAg IEFDX01TR19FUlJPUihbZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlXSkKLSAgICBl bHNlCi0gICAgICBBQ19NU0dfV0FSTihbZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxl OyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS5dKQotICAgIGZpCi0gIGZpCisgIEFD X01TR19XQVJOKFtkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7IHNvbWUgZmVhdHVyZXMgbWF5 IGJlIHVuYXZhaWxhYmxlLl0pCiBmaQogXSkKZGlmZiAtLWdpdCBhL2NvbmZpZy9wa2cubTQgYi9j b25maWcvcGtnLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjEzYTg4 OTAxNzgKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWcvcGtnLm00CkBAIC0wLDAgKzEsMjc1IEBA CisjIHBrZy5tNCAtIE1hY3JvcyB0byBsb2NhdGUgYW5kIHV0aWxpc2UgcGtnLWNvbmZpZy4gICAt Ki0gQXV0b2NvbmYgLSotCisjIHNlcmlhbCAxMiAocGtnLWNvbmZpZy0wLjI5LjIpCisKK2RubCBD b3B5cmlnaHQgwqkgMjAwNCBTY290dCBKYW1lcyBSZW1uYW50IDxzY290dEBuZXRzcGxpdC5jb20+ LgorZG5sIENvcHlyaWdodCDCqSAyMDEyLTIwMTUgRGFuIE5pY2hvbHNvbiA8ZGJuLmxpc3RzQGdt YWlsLmNvbT4KK2RubAorZG5sIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CitkbmwgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK2RubCB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgorZG5sIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCitkbmwKK2RubCBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwgYnV0CitkbmwgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorZG5sIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKK2RubCBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCitkbmwKK2RubCBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorZG5sIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCitkbmwgRm91bmRh dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BCitkbmwg MDIxMTEtMTMwNywgVVNBLgorZG5sCitkbmwgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQorZG5sIGRpc3RyaWJ1dGUgdGhpcyBm aWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQorZG5sIGNvbmZpZ3VyYXRp b24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVy CitkbmwgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJl c3Qgb2YgdGhhdAorZG5sIHByb2dyYW0uCisKK2RubCBQS0dfUFJFUkVRKE1JTi1WRVJTSU9OKQor ZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkbmwgU2luY2U6IDAuMjkKK2RubAorZG5sIFZl cmlmeSB0aGF0IHRoZSB2ZXJzaW9uIG9mIHRoZSBwa2ctY29uZmlnIG1hY3JvcyBhcmUgYXQgbGVh c3QKK2RubCBNSU4tVkVSU0lPTi4gVW5saWtlIFBLR19QUk9HX1BLR19DT05GSUcsIHdoaWNoIGNo ZWNrcyB0aGUgdXNlcidzCitkbmwgaW5zdGFsbGVkIHZlcnNpb24gb2YgcGtnLWNvbmZpZywgdGhp cyBjaGVja3MgdGhlIGRldmVsb3BlcidzIHZlcnNpb24KK2RubCBvZiBwa2cubTQgd2hlbiBnZW5l cmF0aW5nIGNvbmZpZ3VyZS4KK2RubAorZG5sIFRvIGVuc3VyZSB0aGF0IHRoaXMgbWFjcm8gaXMg ZGVmaW5lZCwgYWxzbyBhZGQ6CitkbmwgbTRfaWZuZGVmKFtQS0dfUFJFUkVRXSwKK2RubCAgICAg W200X2ZhdGFsKFttdXN0IGluc3RhbGwgcGtnLWNvbmZpZyAwLjI5IG9yIGxhdGVyIGJlZm9yZSBy dW5uaW5nIGF1dG9jb25mL2F1dG9nZW5dKV0pCitkbmwKK2RubCBTZWUgdGhlICJTaW5jZSIgY29t bWVudCBmb3IgZWFjaCBtYWNybyB5b3UgdXNlIHRvIHNlZSB3aGF0IHZlcnNpb24KK2RubCBvZiB0 aGUgbWFjcm9zIHlvdSByZXF1aXJlLgorbTRfZGVmdW4oW1BLR19QUkVSRVFdLAorW200X2RlZmlu ZShbUEtHX01BQ1JPU19WRVJTSU9OXSwgWzAuMjkuMl0pCittNF9pZihtNF92ZXJzaW9uX2NvbXBh cmUoUEtHX01BQ1JPU19WRVJTSU9OLCBbJDFdKSwgLTEsCisgICAgW200X2ZhdGFsKFtwa2cubTQg dmVyc2lvbiAkMSBvciBoaWdoZXIgaXMgcmVxdWlyZWQgYnV0IF1QS0dfTUFDUk9TX1ZFUlNJT05b IGZvdW5kXSldKQorXSlkbmwgUEtHX1BSRVJFUQorCitkbmwgUEtHX1BST0dfUEtHX0NPTkZJRyhb TUlOLVZFUlNJT05dKQorZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2Ru bCBTaW5jZTogMC4xNgorZG5sCitkbmwgU2VhcmNoIGZvciB0aGUgcGtnLWNvbmZpZyB0b29sIGFu ZCBzZXQgdGhlIFBLR19DT05GSUcgdmFyaWFibGUgdG8KK2RubCBmaXJzdCBmb3VuZCBpbiB0aGUg cGF0aC4gQ2hlY2tzIHRoYXQgdGhlIHZlcnNpb24gb2YgcGtnLWNvbmZpZyBmb3VuZAorZG5sIGlz IGF0IGxlYXN0IE1JTi1WRVJTSU9OLiBJZiBNSU4tVkVSU0lPTiBpcyBub3Qgc3BlY2lmaWVkLCAw LjkuMCBpcworZG5sIHVzZWQgc2luY2UgdGhhdCdzIHRoZSBmaXJzdCB2ZXJzaW9uIHdoZXJlIG1v c3QgY3VycmVudCBmZWF0dXJlcyBvZgorZG5sIHBrZy1jb25maWcgZXhpc3RlZC4KK0FDX0RFRlVO KFtQS0dfUFJPR19QS0dfQ09ORklHXSwKK1ttNF9wYXR0ZXJuX2ZvcmJpZChbXl8/UEtHX1tBLVpf XSskXSkKK200X3BhdHRlcm5fYWxsb3coW15QS0dfQ09ORklHKF8oUEFUSHxMSUJESVJ8U1lTUk9P VF9ESVJ8QUxMT1dfU1lTVEVNXyhDRkxBR1N8TElCUykpKT8kXSkKK200X3BhdHRlcm5fYWxsb3co W15QS0dfQ09ORklHXyhESVNBQkxFX1VOSU5TVEFMTEVEfFRPUF9CVUlMRF9ESVJ8REVCVUdfU1BF VykkXSkKK0FDX0FSR19WQVIoW1BLR19DT05GSUddLCBbcGF0aCB0byBwa2ctY29uZmlnIHV0aWxp dHldKQorQUNfQVJHX1ZBUihbUEtHX0NPTkZJR19QQVRIXSwgW2RpcmVjdG9yaWVzIHRvIGFkZCB0 byBwa2ctY29uZmlnJ3Mgc2VhcmNoIHBhdGhdKQorQUNfQVJHX1ZBUihbUEtHX0NPTkZJR19MSUJE SVJdLCBbcGF0aCBvdmVycmlkaW5nIHBrZy1jb25maWcncyBidWlsdC1pbiBzZWFyY2ggcGF0aF0p CisKK2lmIHRlc3QgIngkYWNfY3ZfZW52X1BLR19DT05GSUdfc2V0IiAhPSAieHNldCI7IHRoZW4K KwlBQ19QQVRIX1RPT0woW1BLR19DT05GSUddLCBbcGtnLWNvbmZpZ10pCitmaQoraWYgdGVzdCAt biAiJFBLR19DT05GSUciOyB0aGVuCisJX3BrZ19taW5fdmVyc2lvbj1tNF9kZWZhdWx0KFskMV0s IFswLjkuMF0pCisJQUNfTVNHX0NIRUNLSU5HKFtwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNp b24gJF9wa2dfbWluX3ZlcnNpb25dKQorCWlmICRQS0dfQ09ORklHIC0tYXRsZWFzdC1wa2djb25m aWctdmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbjsgdGhlbgorCQlBQ19NU0dfUkVTVUxUKFt5ZXNd KQorCWVsc2UKKwkJQUNfTVNHX1JFU1VMVChbbm9dKQorCQlQS0dfQ09ORklHPSIiCisJZmkKK2Zp W11kbmwKK10pZG5sIFBLR19QUk9HX1BLR19DT05GSUcKKworZG5sIFBLR19DSEVDS19FWElTVFMo TU9EVUxFUywgW0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9ULUZPVU5EXSkKK2RubCAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCitkbmwgU2luY2U6IDAuMTgKK2RubAorZG5sIENoZWNrIHRvIHNlZSB3aGV0aGVy IGEgcGFydGljdWxhciBzZXQgb2YgbW9kdWxlcyBleGlzdHMuIFNpbWlsYXIgdG8KK2RubCBQS0df Q0hFQ0tfTU9EVUxFUygpLCBidXQgZG9lcyBub3Qgc2V0IHZhcmlhYmxlcyBvciBwcmludCBlcnJv cnMuCitkbmwKK2RubCBQbGVhc2UgcmVtZW1iZXIgdGhhdCBtNCBleHBhbmRzIEFDX1JFUVVJUkUo W1BLR19QUk9HX1BLR19DT05GSUddKQorZG5sIG9ubHkgYXQgdGhlIGZpcnN0IG9jY3VyZW5jZSBp biBjb25maWd1cmUuYWMsIHNvIGlmIHRoZSBmaXJzdCBwbGFjZQorZG5sIGl0J3MgY2FsbGVkIG1p Z2h0IGJlIHNraXBwZWQgKHN1Y2ggYXMgaWYgaXQgaXMgd2l0aGluIGFuICJpZiIsIHlvdQorZG5s IGhhdmUgdG8gY2FsbCBQS0dfQ0hFQ0tfRVhJU1RTIG1hbnVhbGx5CitBQ19ERUZVTihbUEtHX0NI RUNLX0VYSVNUU10sCitbQUNfUkVRVUlSRShbUEtHX1BST0dfUEtHX0NPTkZJR10pZG5sCitpZiB0 ZXN0IC1uICIkUEtHX0NPTkZJRyIgJiYgXAorICAgIEFDX1JVTl9MT0coWyRQS0dfQ09ORklHIC0t ZXhpc3RzIC0tcHJpbnQtZXJyb3JzICIkMSJdKTsgdGhlbgorICBtNF9kZWZhdWx0KFskMl0sIFs6 XSkKK200X2lmdmFsbihbJDNdLCBbZWxzZQorICAkM10pZG5sCitmaV0pCisKK2RubCBfUEtHX0NP TkZJRyhbVkFSSUFCTEVdLCBbQ09NTUFORF0sIFtNT0RVTEVTXSkKK2RubCAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RubCBJbnRlcm5hbCB3cmFwcGVyIGNh bGxpbmcgcGtnLWNvbmZpZyB2aWEgUEtHX0NPTkZJRyBhbmQgc2V0dGluZworZG5sIHBrZ19mYWls ZWQgYmFzZWQgb24gdGhlIHJlc3VsdC4KK200X2RlZmluZShbX1BLR19DT05GSUddLAorW2lmIHRl c3QgLW4gIiQkMSI7IHRoZW4KKyAgICBwa2dfY3ZfW10kMT0iJCQxIgorIGVsaWYgdGVzdCAtbiAi JFBLR19DT05GSUciOyB0aGVuCisgICAgUEtHX0NIRUNLX0VYSVNUUyhbJDNdLAorICAgICAgICAg ICAgICAgICAgICAgW3BrZ19jdl9bXSQxPWAkUEtHX0NPTkZJRyAtLVtdJDIgIiQzIiAyPi9kZXYv bnVsbGAKKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9eWVzIF0sCisJ CSAgICAgW3BrZ19mYWlsZWQ9eWVzXSkKKyBlbHNlCisgICAgcGtnX2ZhaWxlZD11bnRyaWVkCitm aVtdZG5sCitdKWRubCBfUEtHX0NPTkZJRworCitkbmwgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9S VEVECitkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkbmwgSW50ZXJuYWwgY2hlY2sg dG8gc2VlIGlmIHBrZy1jb25maWcgc3VwcG9ydHMgc2hvcnQgZXJyb3JzLgorQUNfREVGVU4oW19Q S0dfU0hPUlRfRVJST1JTX1NVUFBPUlRFRF0sCitbQUNfUkVRVUlSRShbUEtHX1BST0dfUEtHX0NP TkZJR10pCitpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtcGtnY29uZmlnLXZlcnNpb24gMC4yMDsg dGhlbgorICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0ZWQ9eWVzCitlbHNlCisgICAg ICAgIF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZD1ubworZmlbXWRubAorXSlkbmwgX1BLR19T SE9SVF9FUlJPUlNfU1VQUE9SVEVECisKKworZG5sIFBLR19DSEVDS19NT0RVTEVTKFZBUklBQkxF LVBSRUZJWCwgTU9EVUxFUywgW0FDVElPTi1JRi1GT1VORF0sCitkbmwgICBbQUNUSU9OLUlGLU5P VC1GT1VORF0pCitkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RubCBTaW5jZTogMC40LjAKK2RubAorZG5sIE5vdGUgdGhh dCBpZiB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoZSBmaXJzdCBjYWxsIHRvCitkbmwgUEtHX0NI RUNLX01PRFVMRVMgbWlnaHQgbm90IGhhcHBlbiwgeW91IHNob3VsZCBiZSBzdXJlIHRvIGluY2x1 ZGUgYW4KK2RubCBleHBsaWNpdCBjYWxsIHRvIFBLR19QUk9HX1BLR19DT05GSUcgaW4geW91ciBj b25maWd1cmUuYWMKK0FDX0RFRlVOKFtQS0dfQ0hFQ0tfTU9EVUxFU10sCitbQUNfUkVRVUlSRShb UEtHX1BST0dfUEtHX0NPTkZJR10pZG5sCitBQ19BUkdfVkFSKFskMV1bX0NGTEFHU10sIFtDIGNv bXBpbGVyIGZsYWdzIGZvciAkMSwgb3ZlcnJpZGluZyBwa2ctY29uZmlnXSlkbmwKK0FDX0FSR19W QVIoWyQxXVtfTElCU10sIFtsaW5rZXIgZmxhZ3MgZm9yICQxLCBvdmVycmlkaW5nIHBrZy1jb25m aWddKWRubAorCitwa2dfZmFpbGVkPW5vCitBQ19NU0dfQ0hFQ0tJTkcoW2ZvciAkMl0pCisKK19Q S0dfQ09ORklHKFskMV1bX0NGTEFHU10sIFtjZmxhZ3NdLCBbJDJdKQorX1BLR19DT05GSUcoWyQx XVtfTElCU10sIFtsaWJzXSwgWyQyXSkKKworbTRfZGVmaW5lKFtfUEtHX1RFWFRdLCBbQWx0ZXJu YXRpdmVseSwgeW91IG1heSBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyAkMVtdX0NGTEFH UworYW5kICQxW11fTElCUyB0byBhdm9pZCB0aGUgbmVlZCB0byBjYWxsIHBrZy1jb25maWcuCitT ZWUgdGhlIHBrZy1jb25maWcgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5dKQorCitpZiB0ZXN0 ICRwa2dfZmFpbGVkID0geWVzOyB0aGVuCisgICAgICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAg ICAgICAgX1BLR19TSE9SVF9FUlJPUlNfU1VQUE9SVEVECisgICAgICAgIGlmIHRlc3QgJF9wa2df c2hvcnRfZXJyb3JzX3N1cHBvcnRlZCA9IHllczsgdGhlbgorCSAgICAgICAgJDFbXV9QS0dfRVJS T1JTPWAkUEtHX0NPTkZJRyAtLXNob3J0LWVycm9ycyAtLXByaW50LWVycm9ycyAtLWNmbGFncyAt LWxpYnMgIiQyIiAyPiYxYAorICAgICAgICBlbHNlCisJICAgICAgICAkMVtdX1BLR19FUlJPUlM9 YCRQS0dfQ09ORklHIC0tcHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAiJDIiIDI+JjFgCisg ICAgICAgIGZpCisJIyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3 aGVyZSBpdCBiZWxvbmdzCisJZWNobyAiJCQxW11fUEtHX0VSUk9SUyIgPiZBU19NRVNTQUdFX0xP R19GRAorCisJbTRfZGVmYXVsdChbJDRdLCBbQUNfTVNHX0VSUk9SKAorW1BhY2thZ2UgcmVxdWly ZW1lbnRzICgkMikgd2VyZSBub3QgbWV0OgorCiskJDFfUEtHX0VSUk9SUworCitDb25zaWRlciBh ZGp1c3RpbmcgdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiB5b3UK K2luc3RhbGxlZCBzb2Z0d2FyZSBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXguCisKK19QS0dfVEVY VF0pW11kbmwKKyAgICAgICAgXSkKK2VsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJpZWQ7IHRo ZW4KKyAgICAgICAgQUNfTVNHX1JFU1VMVChbbm9dKQorCW00X2RlZmF1bHQoWyQ0XSwgW0FDX01T R19GQUlMVVJFKAorW1RoZSBwa2ctY29uZmlnIHNjcmlwdCBjb3VsZCBub3QgYmUgZm91bmQgb3Ig aXMgdG9vIG9sZC4gIE1ha2Ugc3VyZSBpdAoraXMgaW4geW91ciBQQVRIIG9yIHNldCB0aGUgUEtH X0NPTkZJRyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUgZnVsbAorcGF0aCB0byBwa2ctY29u ZmlnLgorCitfUEtHX1RFWFQKKworVG8gZ2V0IHBrZy1jb25maWcsIHNlZSA8aHR0cDovL3BrZy1j b25maWcuZnJlZWRlc2t0b3Aub3JnLz4uXSlbXWRubAorICAgICAgICBdKQorZWxzZQorCSQxW11f Q0ZMQUdTPSRwa2dfY3ZfW10kMVtdX0NGTEFHUworCSQxW11fTElCUz0kcGtnX2N2X1tdJDFbXV9M SUJTCisgICAgICAgIEFDX01TR19SRVNVTFQoW3llc10pCisJJDMKK2ZpW11kbmwKK10pZG5sIFBL R19DSEVDS19NT0RVTEVTCisKKworZG5sIFBLR19DSEVDS19NT0RVTEVTX1NUQVRJQyhWQVJJQUJM RS1QUkVGSVgsIE1PRFVMRVMsIFtBQ1RJT04tSUYtRk9VTkRdLAorZG5sICAgW0FDVElPTi1JRi1O T1QtRk9VTkRdKQorZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZG5sIFNpbmNlOiAwLjI5CitkbmwKK2RubCBD aGVja3MgZm9yIGV4aXN0ZW5jZSBvZiBNT0RVTEVTIGFuZCBnYXRoZXJzIGl0cyBidWlsZCBmbGFn cyB3aXRoCitkbmwgc3RhdGljIGxpYnJhcmllcyBlbmFibGVkLiBTZXRzIFZBUklBQkxFLVBSRUZJ WF9DRkxBR1MgZnJvbSAtLWNmbGFncworZG5sIGFuZCBWQVJJQUJMRS1QUkVGSVhfTElCUyBmcm9t IC0tbGlicy4KK2RubAorZG5sIE5vdGUgdGhhdCBpZiB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRo ZSBmaXJzdCBjYWxsIHRvCitkbmwgUEtHX0NIRUNLX01PRFVMRVNfU1RBVElDIG1pZ2h0IG5vdCBo YXBwZW4sIHlvdSBzaG91bGQgYmUgc3VyZSB0bworZG5sIGluY2x1ZGUgYW4gZXhwbGljaXQgY2Fs bCB0byBQS0dfUFJPR19QS0dfQ09ORklHIGluIHlvdXIKK2RubCBjb25maWd1cmUuYWMuCitBQ19E RUZVTihbUEtHX0NIRUNLX01PRFVMRVNfU1RBVElDXSwKK1tBQ19SRVFVSVJFKFtQS0dfUFJPR19Q S0dfQ09ORklHXSlkbmwKK19zYXZlX1BLR19DT05GSUc9JFBLR19DT05GSUcKK1BLR19DT05GSUc9 IiRQS0dfQ09ORklHIC0tc3RhdGljIgorUEtHX0NIRUNLX01PRFVMRVMoJEApCitQS0dfQ09ORklH PSRfc2F2ZV9QS0dfQ09ORklHW11kbmwKK10pZG5sIFBLR19DSEVDS19NT0RVTEVTX1NUQVRJQwor CisKK2RubCBQS0dfSU5TVEFMTERJUihbRElSRUNUT1JZXSkKK2RubCAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCitkbmwgU2luY2U6IDAuMjcKK2RubAorZG5sIFN1YnN0aXR1dGVzIHRoZSB2YXJp YWJsZSBwa2djb25maWdkaXIgYXMgdGhlIGxvY2F0aW9uIHdoZXJlIGEgbW9kdWxlCitkbmwgc2hv dWxkIGluc3RhbGwgcGtnLWNvbmZpZyAucGMgZmlsZXMuIEJ5IGRlZmF1bHQgdGhlIGRpcmVjdG9y eSBpcworZG5sICRsaWJkaXIvcGtnY29uZmlnLCBidXQgdGhlIGRlZmF1bHQgY2FuIGJlIGNoYW5n ZWQgYnkgcGFzc2luZworZG5sIERJUkVDVE9SWS4gVGhlIHVzZXIgY2FuIG92ZXJyaWRlIHRocm91 Z2ggdGhlIC0td2l0aC1wa2djb25maWdkaXIKK2RubCBwYXJhbWV0ZXIuCitBQ19ERUZVTihbUEtH X0lOU1RBTExESVJdLAorW200X3B1c2hkZWYoW3BrZ19kZWZhdWx0XSwgW200X2RlZmF1bHQoWyQx XSwgWycke2xpYmRpcn0vcGtnY29uZmlnJ10pXSkKK200X3B1c2hkZWYoW3BrZ19kZXNjcmlwdGlv bl0sCisgICAgW3BrZy1jb25maWcgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBAPDpAXXBrZ19kZWZh dWx0W0A6PkBdKQorQUNfQVJHX1dJVEgoW3BrZ2NvbmZpZ2Rpcl0sCisgICAgW0FTX0hFTFBfU1RS SU5HKFstLXdpdGgtcGtnY29uZmlnZGlyXSwgcGtnX2Rlc2NyaXB0aW9uKV0sLAorICAgIFt3aXRo X3BrZ2NvbmZpZ2Rpcj1dcGtnX2RlZmF1bHQpCitBQ19TVUJTVChbcGtnY29uZmlnZGlyXSwgWyR3 aXRoX3BrZ2NvbmZpZ2Rpcl0pCittNF9wb3BkZWYoW3BrZ19kZWZhdWx0XSkKK200X3BvcGRlZihb cGtnX2Rlc2NyaXB0aW9uXSkKK10pZG5sIFBLR19JTlNUQUxMRElSCisKKworZG5sIFBLR19OT0FS Q0hfSU5TVEFMTERJUihbRElSRUNUT1JZXSkKK2RubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorZG5sIFNpbmNlOiAwLjI3CitkbmwKK2RubCBTdWJzdGl0dXRlcyB0aGUgdmFyaWFi bGUgbm9hcmNoX3BrZ2NvbmZpZ2RpciBhcyB0aGUgbG9jYXRpb24gd2hlcmUgYQorZG5sIG1vZHVs ZSBzaG91bGQgaW5zdGFsbCBhcmNoLWluZGVwZW5kZW50IHBrZy1jb25maWcgLnBjIGZpbGVzLiBC eQorZG5sIGRlZmF1bHQgdGhlIGRpcmVjdG9yeSBpcyAkZGF0YWRpci9wa2djb25maWcsIGJ1dCB0 aGUgZGVmYXVsdCBjYW4gYmUKK2RubCBjaGFuZ2VkIGJ5IHBhc3NpbmcgRElSRUNUT1JZLiBUaGUg dXNlciBjYW4gb3ZlcnJpZGUgdGhyb3VnaCB0aGUKK2RubCAtLXdpdGgtbm9hcmNoLXBrZ2NvbmZp Z2RpciBwYXJhbWV0ZXIuCitBQ19ERUZVTihbUEtHX05PQVJDSF9JTlNUQUxMRElSXSwKK1ttNF9w dXNoZGVmKFtwa2dfZGVmYXVsdF0sIFttNF9kZWZhdWx0KFskMV0sIFsnJHtkYXRhZGlyfS9wa2dj b25maWcnXSldKQorbTRfcHVzaGRlZihbcGtnX2Rlc2NyaXB0aW9uXSwKKyAgICBbcGtnLWNvbmZp ZyBhcmNoLWluZGVwZW5kZW50IGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgQDw6QF1wa2dfZGVmYXVs dFtAOj5AXSkKK0FDX0FSR19XSVRIKFtub2FyY2gtcGtnY29uZmlnZGlyXSwKKyAgICBbQVNfSEVM UF9TVFJJTkcoWy0td2l0aC1ub2FyY2gtcGtnY29uZmlnZGlyXSwgcGtnX2Rlc2NyaXB0aW9uKV0s LAorICAgIFt3aXRoX25vYXJjaF9wa2djb25maWdkaXI9XXBrZ19kZWZhdWx0KQorQUNfU1VCU1Qo W25vYXJjaF9wa2djb25maWdkaXJdLCBbJHdpdGhfbm9hcmNoX3BrZ2NvbmZpZ2Rpcl0pCittNF9w b3BkZWYoW3BrZ19kZWZhdWx0XSkKK200X3BvcGRlZihbcGtnX2Rlc2NyaXB0aW9uXSkKK10pZG5s IFBLR19OT0FSQ0hfSU5TVEFMTERJUgorCisKK2RubCBQS0dfQ0hFQ0tfVkFSKFZBUklBQkxFLCBN T0RVTEUsIENPTkZJRy1WQVJJQUJMRSwKK2RubCBbQUNUSU9OLUlGLUZPVU5EXSwgW0FDVElPTi1J Ri1OT1QtRk9VTkRdKQorZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KK2RubCBTaW5jZTogMC4yOAorZG5sCitkbmwgUmV0cmlldmVzIHRoZSB2YWx1ZSBvZiB0 aGUgcGtnLWNvbmZpZyB2YXJpYWJsZSBmb3IgdGhlIGdpdmVuIG1vZHVsZS4KK0FDX0RFRlVOKFtQ S0dfQ0hFQ0tfVkFSXSwKK1tBQ19SRVFVSVJFKFtQS0dfUFJPR19QS0dfQ09ORklHXSlkbmwKK0FD X0FSR19WQVIoWyQxXSwgW3ZhbHVlIG9mICQzIGZvciAkMiwgb3ZlcnJpZGluZyBwa2ctY29uZmln XSlkbmwKKworX1BLR19DT05GSUcoWyQxXSwgW3ZhcmlhYmxlPSJdWyQzXVsiXSwgWyQyXSkKK0FT X1ZBUl9DT1BZKFskMV0sIFtwa2dfY3ZfXVskMV0pCisKK0FTX1ZBUl9JRihbJDFdLCBbIiJdLCBb JDVdLCBbJDRdKWRubAorXSlkbmwgUEtHX0NIRUNLX1ZBUgpkaWZmIC0tZ2l0IGEvY29uZmlndXJl IGIvY29uZmlndXJlCmluZGV4IDU0ZDAzMzlhYjkuLjY4Nzc5ZmViNDIgMTAwNzU1Ci0tLSBhL2Nv bmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTY5MCw3ICs2OTAsNiBAQCBleHRyYV9tcGNfZ21w X2NvbmZpZ3VyZV9mbGFncwogZXh0cmFfbXBmcl9jb25maWd1cmVfZmxhZ3MKIGdtcGluYwogZ21w bGlicwotTElCREVCVUdJTkZPRAogZG9fY29tcGFyZQogR05BVE1BS0UKIEdOQVRCSU5ECkBAIC03 OTEsNyArNzkwLDYgQEAgZW5hYmxlX2xpYnNzcAogZW5hYmxlX2xpYnN0ZGN4eAogZW5hYmxlX2xp Ym9mZmxvYWRtaWMKIGVuYWJsZV9ib290c3RyYXAKLXdpdGhfZGVidWdpbmZvZAogd2l0aF9tcGMK IHdpdGhfbXBjX2luY2x1ZGUKIHdpdGhfbXBjX2xpYgpAQCAtMTU1NSw4ICsxNTUzLDYgQEAgT3B0 aW9uYWwgUGFja2FnZXM6CiAgIC0td2l0aG91dC1QQUNLQUdFICAgICAgIGRvIG5vdCB1c2UgUEFD S0FHRSAoc2FtZSBhcyAtLXdpdGgtUEFDS0FHRT1ubykKICAgLS13aXRoLWJ1aWxkLWxpYnN1YmRp cj1ESVIgIERpcmVjdG9yeSB3aGVyZSB0byBmaW5kIGxpYnJhcmllcyBmb3IgYnVpbGQgc3lzdGVt CiAgIC0td2l0aC1zeXN0ZW0temxpYiAgICAgIHVzZSBpbnN0YWxsZWQgbGliegotICAtLXdpdGgt ZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9k Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvL3llcy9ubykKICAgLS13aXRoLW1wYz1Q QVRIICAgICAgICAgc3BlY2lmeSBwcmVmaXggZGlyZWN0b3J5IGZvciBpbnN0YWxsZWQgTVBDIHBh Y2thZ2UuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVxdWl2YWxlbnQgdG8gLS13aXRoLW1w Yy1pbmNsdWRlPVBBVEgvaW5jbHVkZSBwbHVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t d2l0aC1tcGMtbGliPVBBVEgvbGliCkBAIC0xOTI1LDUyICsxOTIxLDYgQEAgZmkKICAgYXNfZm5f c2V0X3N0YXR1cyAkYWNfcmV0dmFsCiAKIH0gIyBhY19mbl9jX3RyeV9saW5rCi0KLSMgYWNfZm5f Y19jaGVja19kZWNsIExJTkVOTyBTWU1CT0wgVkFSIElOQ0xVREVTCi0jIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBUZXN0cyB3aGV0aGVyIFNZTUJPTCBp cyBkZWNsYXJlZCBpbiBJTkNMVURFUywgc2V0dGluZyBjYWNoZSB2YXJpYWJsZSBWQVIKLSMgYWNj b3JkaW5nbHkuCi1hY19mbl9jX2NoZWNrX2RlY2wgKCkKLXsKLSAgYXNfbGluZW5vPSR7YXNfbGlu ZW5vLSIkMSJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3RhY2s9JGFzX2xpbmVub19zdGFj awotICBhc19kZWNsX25hbWU9YGVjaG8gJDJ8c2VkICdzLyAqKC4qLy8nYAotICBhc19kZWNsX3Vz ZT1gZWNobyAkMnxzZWQgLWUgJ3MvKC8oKC8nIC1lICdzLykvKSAwJi8nIC1lICdzLywvKSAwJiAo L2cnYAotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5n IHdoZXRoZXIgJGFzX2RlY2xfbmFtZSBpcyBkZWNsYXJlZCIgPiY1Ci0kYXNfZWNob19uICJjaGVj a2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFyZWQuLi4gIiA+JjY7IH0KLWlmIGV2 YWwgXCR7JDMrOn0gZmFsc2U7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgot ZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBl bmQgY29uZmRlZnMuaC4gICovCi0kNAotaW50Ci1tYWluICgpCi17Ci0jaWZuZGVmICRhc19kZWNs X25hbWUKLSNpZmRlZiBfX2NwbHVzcGx1cwotICAodm9pZCkgJGFzX2RlY2xfdXNlOwotI2Vsc2UK LSAgKHZvaWQpICRhc19kZWNsX25hbWU7Ci0jZW5kaWYKLSNlbmRpZgotCi0gIDsKLSAgcmV0dXJu IDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoK LSAgZXZhbCAiJDM9eWVzIgotZWxzZQotICBldmFsICIkMz1ubyIKLWZpCi1ybSAtZiBjb3JlIGNv bmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLWZpCi1ldmFs IGFjX3Jlcz1cJCQzCi0JICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKLSRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KLSAg ZXZhbCAkYXNfbGluZW5vX3N0YWNrOyAke2FzX2xpbmVub19zdGFjazorOn0gdW5zZXQgYXNfbGlu ZW5vCi0KLX0gIyBhY19mbl9jX2NoZWNrX2RlY2wKIGNhdCA+Y29uZmlnLmxvZyA8PF9BQ0VPRgog VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtl cyBhIG1pc3Rha2UuCkBAIC01NTA1LDkyICs1NDU1LDYgQEAgZ21wbGlicz0iLWxtcGMgLWxtcGZy IC1sZ21wIgogZ21waW5jPQogaGF2ZV9nbXA9bm8KIAotIyBDaGVjayBmb3IgZGVidWdpbmZvZAot Ci0KLSMgRW5hYmxlIGRlYnVnaW5mb2QKLQotIyBDaGVjayB3aGV0aGVyIC0td2l0aC1kZWJ1Z2lu Zm9kIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7d2l0aF9kZWJ1Z2luZm9kK3NldH0iID0gc2V0OyB0 aGVuIDoKLSAgd2l0aHZhbD0kd2l0aF9kZWJ1Z2luZm9kOwotZWxzZQotICB3aXRoX2RlYnVnaW5m b2Q9YXV0bwotZmkKLQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyB3aGV0aGVyIHRvIHVzZSBkZWJ1Z2luZm9kIiA+JjUKLSRhc19lY2hvX24gImNoZWNr aW5nIHdoZXRoZXIgdG8gdXNlIGRlYnVnaW5mb2QuLi4gIiA+JjY7IH0KLXsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0aF9kZWJ1Z2luZm9kIiA+JjUK LSRhc19lY2hvICIkd2l0aF9kZWJ1Z2luZm9kIiA+JjY7IH0KLQotaWYgdGVzdCAiJHt3aXRoX2Rl YnVnaW5mb2R9IiA9IG5vOyB0aGVuCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogV0FSTklORzogZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1 cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQotJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzog ZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWls YWJsZS4iID4mMjt9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogY2hlY2tpbmcgZm9yIGRlYnVnaW5mb2RfYmVnaW4gaW4gLWxkZWJ1Z2luZm9kIiA+JjUK LSRhc19lY2hvX24gImNoZWNraW5nIGZvciBkZWJ1Z2luZm9kX2JlZ2luIGluIC1sZGVidWdpbmZv ZC4uLiAiID4mNjsgfQotaWYgJHthY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2lu Kzp9IGZhbHNlOyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAg YWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUwotTElCUz0iLWxkZWJ1Z2luZm9kICAkTElCUyIK LWNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLS8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KLQotLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCi0gICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKLSAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVy biAiQyIKLSNlbmRpZgotY2hhciBkZWJ1Z2luZm9kX2JlZ2luICgpOwotaW50Ci1tYWluICgpCi17 Ci1yZXR1cm4gZGVidWdpbmZvZF9iZWdpbiAoKTsKLSAgOwotICByZXR1cm4gMDsKLX0KLV9BQ0VP RgotaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9saWJfZGVi dWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luPXllcwotZWxzZQotICBhY19jdl9saWJfZGVidWdpbmZv ZF9kZWJ1Z2luZm9kX2JlZ2luPW5vCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRl c3QuJGFjX29iamV4dCBcCi0gICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQK LUxJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKLWZpCi17ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9kZWJ1Z2luZm9kX2RlYnVnaW5m b2RfYmVnaW4iID4mNQotJGFzX2VjaG8gIiRhY19jdl9saWJfZGVidWdpbmZvZF9kZWJ1Z2luZm9k X2JlZ2luIiA+JjY7IH0KLWlmIHRlc3QgIngkYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZv ZF9iZWdpbiIgPSB4eWVzOyB0aGVuIDoKLSAgaGF2ZV9kZWJ1Z2luZm9kX2xpYj15ZXMKLWZpCi0K LSAgYWNfZm5fY19jaGVja19kZWNsICIkTElORU5PIiAiZGVidWdpbmZvZF9iZWdpbiIgImFjX2N2 X2hhdmVfZGVjbF9kZWJ1Z2luZm9kX2JlZ2luIiAiI2luY2x1ZGUgPGVsZnV0aWxzL2RlYnVnaW5m b2QuaD4KLSIKLWlmIHRlc3QgIngkYWNfY3ZfaGF2ZV9kZWNsX2RlYnVnaW5mb2RfYmVnaW4iID0g eHllczsgdGhlbiA6Ci0gIGhhdmVfZGVidWdpbmZvZF9oPXllcwotZmkKLQotICBpZiB0ZXN0ICJ4 JGhhdmVfZGVidWdpbmZvZF9saWIiID0gInh5ZXMiIC1hIFwKLSAgICAgICAgICAieCRoYXZlX2Rl YnVnaW5mb2RfaCIgPSAieHllcyI7IHRoZW4KLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJE RUJVR0lORk9EIDEiID4+Y29uZmRlZnMuaAotCi0gICAgTElCREVCVUdJTkZPRD0iLWxkZWJ1Z2lu Zm9kIgotCi0gIGVsc2UKLQotICAgIGlmIHRlc3QgIiR3aXRoX2RlYnVnaW5mb2QiID0geWVzOyB0 aGVuCi0gICAgICBhc19mbl9lcnJvciAkPyAiZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNh YmxlIiAiJExJTkVOTyIgNQotICAgIGVsc2UKLSAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogV0FSTklORzogZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNh YmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQotJGFzX2VjaG8gIiRh c19tZTogV0FSTklORzogZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZl YXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mMjt9Ci0gICAgZmkKLSAgZmkKLWZpCi0KLQog IyBTcGVjaWZ5IGEgbG9jYXRpb24gZm9yIG1wYwogIyBjaGVjayBmb3IgdGhpcyBmaXJzdCBzbyBp dCBlbmRzIHVwIG9uIHRoZSBsaW5rIGxpbmUgYmVmb3JlIG1wZnIuCiAKQEAgLTU3NDUsNyArNTYw OSw4IEBAIGlmIHRlc3QgLWQgJHtzcmNkaXJ9L2djYyAmJiB0ZXN0ICJ4JGhhdmVfZ21wIiA9IHhu bzsgdGhlbgogICAjIENoZWNrIGZvciB0aGUgcmVjb21tZW5kZWQgYW5kIHJlcXVpcmVkIHZlcnNp b25zIG9mIEdNUC4KICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyBmb3IgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBnbXAuaCIgPiY1CiAkYXNfZWNob19u ICJjaGVja2luZyBmb3IgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBnbXAuaC4uLiAiID4mNjsgfQot ICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisKK2NhdCBjb25m ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKIC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KICNpbmNsdWRlICJnbXAuaCIKIGludApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29u ZmlndXJlLmFjCmluZGV4IGE5MTBjNGZkNmIuLmQxNmEyNzU3NjggMTAwNjQ0Ci0tLSBhL2NvbmZp Z3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTIzLDcgKzIzLDYgQEAgbTRfaW5jbHVkZShj b25maWcvYWN4Lm00KQogbTRfaW5jbHVkZShjb25maWcvb3ZlcnJpZGUubTQpCiBtNF9pbmNsdWRl KGNvbmZpZy9wcm9naW5zdGFsbC5tNCkKIG00X2luY2x1ZGUoY29uZmlnL2VsZi5tNCkKLW00X2lu Y2x1ZGUoY29uZmlnL2RlYnVnaW5mb2QubTQpCiBtNF9pbmNsdWRlKFtsaWJ0b29sLm00XSkKIG00 X2luY2x1ZGUoW2x0b3B0aW9ucy5tNF0pCiBtNF9pbmNsdWRlKFtsdHN1Z2FyLm00XSkKQEAgLTEz ODMsOSArMTM4Miw2IEBAIGdtcGxpYnM9Ii1sbXBjIC1sbXBmciAtbGdtcCIKIGdtcGluYz0KIGhh dmVfZ21wPW5vCiAKLSMgQ2hlY2sgZm9yIGRlYnVnaW5mb2QKLUFDX0RFQlVHSU5GT0QKLQogIyBT cGVjaWZ5IGEgbG9jYXRpb24gZm9yIG1wYwogIyBjaGVjayBmb3IgdGhpcyBmaXJzdCBzbyBpdCBl bmRzIHVwIG9uIHRoZSBsaW5rIGxpbmUgYmVmb3JlIG1wZnIuCiBBQ19BUkdfV0lUSChtcGMsCmRp ZmYgLS1naXQgYS9nZGIvQ2hhbmdlTG9nIGIvZ2RiL0NoYW5nZUxvZwppbmRleCBmMzBlZGFmZGY5 Li5lZWY0ZTBkZjc3IDEwMDY0NAotLS0gYS9nZGIvQ2hhbmdlTG9nCisrKyBiL2dkYi9DaGFuZ2VM b2cKQEAgLTEsMyArMSw5IEBACisyMDIwLTA3LTE2ICBBYXJvbiBNZXJleSAgPGFtZXJleUByZWRo YXQuY29tPgorCisJKiBNYWtlZmlsZS5pbjogUmVwbGFjZSBMSUJERUJVR0lORk9EIHdpdGggREVC VUdJTkZPRF9MSUJTLgorCSogY29uZmlndXJlOiBSZWJ1aWxkLgorCSogY29uZmlndXJlLmFjOiBJ bmNsdWRlIHBrZy5tNC4KKwogMjAyMC0wNy0xNSAgQW5kcmV3IEJ1cmdlc3MgIDxhbmRyZXcuYnVy Z2Vzc0BlbWJlY29zbS5jb20+CiAKIAkqIGYtdHlwZXByaW50LmMgKGZfdHlwZV9wcmludF9iYXNl KTogQWxsb3cgZm9yIGR5bmFtaWMgdHlwZXMgbm90CmRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUu aW4gYi9nZGIvTWFrZWZpbGUuaW4KaW5kZXggOWQ0ODQ0NTczOS4uZjliZGUyYjlhOSAxMDA2NDQK LS0tIGEvZ2RiL01ha2VmaWxlLmluCisrKyBiL2dkYi9NYWtlZmlsZS5pbgpAQCAtNjIzLDcgKzYy Myw3IEBAIENMSUJTID0gJChTSU0pICQoUkVBRExJTkUpICQoT1BDT0RFUykgJChMSUJDVEYpICQo QkZEKSAkKFpMSUIpIFwKIAkkKExJQkVYUEFUKSAkKExJQkxaTUEpICQoTElCQkFCRUxUUkFDRSkg JChMSUJJUFQpIFwKIAkkKFdJTjMyTElCUykgJChMSUJHTlUpICQoTElCSUNPTlYpIFwKIAkkKExJ Qk1QRlIpICQoU1JDSElHSF9MSUJTKSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJQlMpIFwKLQlA TElCREVCVUdJTkZPREAKKwlAREVCVUdJTkZPRF9MSUJTQAogQ0RFUFMgPSAkKE5BVF9DREVQUykg JChTSU0pICQoQkZEKSAkKFJFQURMSU5FX0RFUFMpICQoQ1RGX0RFUFMpIFwKIAkkKE9QQ09ERVMp ICQoSU5UTF9ERVBTKSAkKExJQklCRVJUWSkgJChDT05GSUdfREVQUykgJChMSUJHTlUpIFwKIAkk KExJQlNVUFBPUlQpCmRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQpp bmRleCBlOGJmZGJjNzA5Li5hODMxNjVlNzI5IDEwMDc1NQotLS0gYS9nZGIvY29uZmlndXJlCisr KyBiL2dkYi9jb25maWd1cmUKQEAgLTc2MSw3ICs3NjEsMTEgQEAgUkVQT1JUX0JVR1NfVEVYSQog UkVQT1JUX0JVR1NfVE8KIFBLR1ZFUlNJT04KIENPREVTSUdOX0NFUlQKLUxJQkRFQlVHSU5GT0QK K0RFQlVHSU5GT0RfTElCUworREVCVUdJTkZPRF9DRkxBR1MKK1BLR19DT05GSUdfTElCRElSCitQ S0dfQ09ORklHX1BBVEgKK1BLR19DT05GSUcKIEhBVkVfTkFUSVZFX0dDT1JFX1RBUkdFVAogVEFS R0VUX09CUwogc3ViZGlycwpAQCAtOTM5LDYgKzk0MywxMSBAQCBDQ0MKIENQUAogTUFLRUlORk8K IE1BS0VJTkZPRkxBR1MKK1BLR19DT05GSUcKK1BLR19DT05GSUdfUEFUSAorUEtHX0NPTkZJR19M SUJESVIKK0RFQlVHSU5GT0RfQ0ZMQUdTCitERUJVR0lORk9EX0xJQlMKIFlBQ0MKIFlGTEFHUwog WE1LTUYnCkBAIC0xNjgzLDYgKzE2OTIsMTUgQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVu dCB2YXJpYWJsZXM6CiAgIE1BS0VJTkZPICAgIFBhcmVudCBjb25maWd1cmUgZGV0ZWN0cyBpZiBp dCBpcyBvZiBzdWZmaWNpZW50IHZlcnNpb24uCiAgIE1BS0VJTkZPRkxBR1MKICAgICAgICAgICAg ICAgUGFyYW1ldGVycyBmb3IgTUFLRUlORk8uCisgIFBLR19DT05GSUcgIHBhdGggdG8gcGtnLWNv bmZpZyB1dGlsaXR5CisgIFBLR19DT05GSUdfUEFUSAorICAgICAgICAgICAgICBkaXJlY3Rvcmll cyB0byBhZGQgdG8gcGtnLWNvbmZpZydzIHNlYXJjaCBwYXRoCisgIFBLR19DT05GSUdfTElCRElS CisgICAgICAgICAgICAgIHBhdGggb3ZlcnJpZGluZyBwa2ctY29uZmlnJ3MgYnVpbHQtaW4gc2Vh cmNoIHBhdGgKKyAgREVCVUdJTkZPRF9DRkxBR1MKKyAgICAgICAgICAgICAgQyBjb21waWxlciBm bGFncyBmb3IgREVCVUdJTkZPRCwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCisgIERFQlVHSU5GT0Rf TElCUworICAgICAgICAgICAgICBsaW5rZXIgZmxhZ3MgZm9yIERFQlVHSU5GT0QsIG92ZXJyaWRp bmcgcGtnLWNvbmZpZwogICBZQUNDICAgICAgICBUaGUgYFlldCBBbm90aGVyIENvbXBpbGVyIENv bXBpbGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2UuCiAgICAgICAgICAgICAgIERlZmF1bHRzIHRv IHRoZSBmaXJzdCBwcm9ncmFtIGZvdW5kIG91dCBvZjogYGJpc29uIC15JywgYGJ5YWNjJywKICAg ICAgICAgICAgICAgYHlhY2MnLgpAQCAtMjI3Myw1MiArMjI5MSw2IEBAIHJtIC1mIGNvbmZ0ZXN0 LnZhbAogCiB9ICMgYWNfZm5fY19jb21wdXRlX2ludAogCi0jIGFjX2ZuX2NfY2hlY2tfZGVjbCBM SU5FTk8gU1lNQk9MIFZBUiBJTkNMVURFUwotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQgaW4g SU5DTFVERVMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCi0jIGFjY29yZGluZ2x5LgotYWNf Zm5fY19jaGVja19kZWNsICgpCi17Ci0gIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19s aW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKLSAgYXNfZGVjbF9u YW1lPWBlY2hvICQyfHNlZCAncy8gKiguKi8vJ2AKLSAgYXNfZGVjbF91c2U9YGVjaG8gJDJ8c2Vk IC1lICdzLygvKCgvJyAtZSAncy8pLykgMCYvJyAtZSAncy8sLykgMCYgKC9nJ2AKLSAgeyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRhc19k ZWNsX25hbWUgaXMgZGVjbGFyZWQiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAk YXNfZGVjbF9uYW1lIGlzIGRlY2xhcmVkLi4uICIgPiY2OyB9Ci1pZiBldmFsIFwkeyQzKzp9IGZh bHNlOyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgY2F0IGNv bmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmgu ICAqLwotJDQKLWludAotbWFpbiAoKQotewotI2lmbmRlZiAkYXNfZGVjbF9uYW1lCi0jaWZkZWYg X19jcGx1c3BsdXMKLSAgKHZvaWQpICRhc19kZWNsX3VzZTsKLSNlbHNlCi0gICh2b2lkKSAkYXNf ZGVjbF9uYW1lOwotI2VuZGlmCi0jZW5kaWYKLQotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9G Ci1pZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIGV2YWwgIiQzPXll cyIKLWVsc2UKLSAgZXZhbCAiJDM9bm8iCi1maQotcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29u ZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci1maQotZXZhbCBhY19yZXM9XCQkMwot CSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog JGFjX3JlcyIgPiY1Ci0kYXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9Ci0gIGV2YWwgJGFzX2xpbmVu b19zdGFjazsgJHthc19saW5lbm9fc3RhY2s6Kzp9IHVuc2V0IGFzX2xpbmVubwotCi19ICMgYWNf Zm5fY19jaGVja19kZWNsCi0KICMgYWNfZm5fY19jaGVja19mdW5jIExJTkVOTyBGVU5DIFZBUgog IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFRlc3RzIHdoZXRoZXIgRlVO QyBleGlzdHMsIHNldHRpbmcgdGhlIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseQpAQCAt MjQ0MCw2ICsyNDEyLDUyIEBAICRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KIAogfSAjIGFjX2Zu X2NfY2hlY2tfdHlwZQogCisjIGFjX2ZuX2NfY2hlY2tfZGVjbCBMSU5FTk8gU1lNQk9MIFZBUiBJ TkNMVURFUworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQgaW4gSU5DTFVERVMsIHNldHRpbmcg Y2FjaGUgdmFyaWFibGUgVkFSCisjIGFjY29yZGluZ2x5LgorYWNfZm5fY19jaGVja19kZWNsICgp Cit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGlu ZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgYXNfZGVjbF9uYW1lPWBlY2hvICQyfHNlZCAn cy8gKiguKi8vJ2AKKyAgYXNfZGVjbF91c2U9YGVjaG8gJDJ8c2VkIC1lICdzLygvKCgvJyAtZSAn cy8pLykgMCYvJyAtZSAncy8sLykgMCYgKC9nJ2AKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRhc19kZWNsX25hbWUgaXMgZGVjbGFy ZWQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAkYXNfZGVjbF9uYW1lIGlzIGRl Y2xhcmVkLi4uICIgPiY2OyB9CitpZiBldmFsIFwkeyQzKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFz X2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VP RiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworJDQKK2ludAorbWFp biAoKQoreworI2lmbmRlZiAkYXNfZGVjbF9uYW1lCisjaWZkZWYgX19jcGx1c3BsdXMKKyAgKHZv aWQpICRhc19kZWNsX3VzZTsKKyNlbHNlCisgICh2b2lkKSAkYXNfZGVjbF9uYW1lOworI2VuZGlm CisjZW5kaWYKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9j b21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGV2YWwgIiQzPXllcyIKK2Vsc2UKKyAgZXZhbCAi JDM9bm8iCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBj b25mdGVzdC4kYWNfZXh0CitmaQorZXZhbCBhY19yZXM9XCQkMworCSAgICAgICB7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNf ZWNobyAiJGFjX3JlcyIgPiY2OyB9CisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgJHthc19saW5l bm9fc3RhY2s6Kzp9IHVuc2V0IGFzX2xpbmVubworCit9ICMgYWNfZm5fY19jaGVja19kZWNsCisK ICMgYWNfZm5fY19jaGVja19tZW1iZXIgTElORU5PIEFHR1IgTUVNQkVSIFZBUiBJTkNMVURFUwog IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj IFRyaWVzIHRvIGZpbmQgaWYgdGhlIGZpZWxkIE1FTUJFUiBleGlzdHMgaW4gdHlwZSBBR0dSLCBh ZnRlciBpbmNsdWRpbmcKQEAgLTY4NDQsNyArNjg2MiwxMjcgQEAgZXNhYwogCiAjIEhhbmRsZSBv cHRpb25hbCBkZWJ1Z2luZm9kIHN1cHBvcnQKIAotIyBFbmFibGUgZGVidWdpbmZvZAorCisKKwor CisKKworaWYgdGVzdCAieCRhY19jdl9lbnZfUEtHX0NPTkZJR19zZXQiICE9ICJ4c2V0IjsgdGhl bgorCWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBm aXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWciLCBzbyBpdCBjYW4gYmUg YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9cGtn LWNvbmZpZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y ICRhY193b3JkLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X3BhdGhfUEtHX0NPTkZJRys6fSBmYWxz ZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJFBL R19DT05GSUcgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfUEtHX0NPTkZJ Rz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBw YXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9S Citmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXog IiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj dXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8k YWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wYXRoX1BLR19DT05GSUc9IiRh c19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Cisg ICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKKyAgOzsK K2VzYWMKK2ZpCitQS0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKK2lmIHRlc3QgLW4g IiRQS0dfQ09ORklHIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IHJlc3VsdDogJFBLR19DT05GSUciID4mNQorJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+ JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKK2ZpCitpZiB0ZXN0 IC16ICIkYWNfY3ZfcGF0aF9QS0dfQ09ORklHIjsgdGhlbgorICBhY19wdF9QS0dfQ09ORklHPSRQ S0dfQ09ORklHCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGtnLWNvbmZpZyIsIHNv IGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgcGtnLWNvbmZp ZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBj aGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193 b3JkLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRys6fSBmYWxz ZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJGFj X3B0X1BLR19DT05GSUcgaW4KKyAgW1xcL10qIHwgPzpbXFwvXSopCisgIGFjX2N2X3BhdGhfYWNf cHRfUEtHX0NPTkZJRz0iJGFjX3B0X1BLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl IHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJ RlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3Nh dmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNf ZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1 dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9w YXRoX2FjX3B0X1BLR19DT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNf d29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJ RlM9JGFzX3NhdmVfSUZTCisKKyAgOzsKK2VzYWMKK2ZpCithY19wdF9QS0dfQ09ORklHPSRhY19j dl9wYXRoX2FjX3B0X1BLR19DT05GSUcKK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsg dGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog JGFjX3B0X1BLR19DT05GSUciID4mNQorJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7 IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1 bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisgIGlmIHRlc3QgIngkYWNf cHRfUEtHX0NPTkZJRyIgPSB4OyB0aGVuCisgICAgUEtHX0NPTkZJRz0iIgorICBlbHNlCisgICAg Y2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9v bHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6 IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxl dCIgPiYyO30KK2FjX3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIFBLR19DT05GSUc9JGFj X3B0X1BLR19DT05GSUcKKyAgZmkKK2Vsc2UKKyAgUEtHX0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtH X0NPTkZJRyIKK2ZpCisKK2ZpCitpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KKwlfcGtn X21pbl92ZXJzaW9uPTAuOS4wCisJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiBjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3Zl cnNpb24iID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2 ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uLi4uICIgPiY2OyB9CisJaWYgJFBLR19DT05GSUcgLS1h dGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCisJCXsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFz X2VjaG8gInllcyIgPiY2OyB9CisJZWxzZQorCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKwkJUEtH X0NPTkZJRz0iIgorCWZpCitmaQorCisjIEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2luZm9kIHN1cHBv cnQKIAogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbi4KIGlmIHRl c3QgIiR7d2l0aF9kZWJ1Z2luZm9kK3NldH0iID0gc2V0OyB0aGVuIDoKQEAgLTY4NTgsNzIgKzY5 OTYsOTMgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0byB1c2UgZGVidWdpbmZvZC4u LiAiID4mNjsgfQogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1 bHQ6ICR3aXRoX2RlYnVnaW5mb2QiID4mNQogJGFzX2VjaG8gIiR3aXRoX2RlYnVnaW5mb2QiID4m NjsgfQogCi1pZiB0ZXN0ICIke3dpdGhfZGVidWdpbmZvZH0iID0gbm87IHRoZW4KLSAgeyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1 cHBvcnQgZGlzYWJsZWQ7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiY1Ci0k YXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJsZWQ7IHNv bWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiYyO30KLWVsc2UKLSAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgZGVidWdpbmZvZF9i ZWdpbiBpbiAtbGRlYnVnaW5mb2QiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGRlYnVn aW5mb2RfYmVnaW4gaW4gLWxkZWJ1Z2luZm9kLi4uICIgPiY2OyB9Ci1pZiAke2FjX2N2X2xpYl9k ZWJ1Z2luZm9kX2RlYnVnaW5mb2RfYmVnaW4rOn0gZmFsc2U7IHRoZW4gOgotICAkYXNfZWNob19u ICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCi1M SUJTPSItbGRlYnVnaW5mb2QgICRMSUJTIgotY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29u ZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLworaWYgdGVzdCAieCR3aXRoX2Rl YnVnaW5mb2QiICE9IHhubzsgdGhlbgogCi0vKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KLSAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0 IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwotICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KLSNpZmRlZiBfX2NwbHVz cGx1cwotZXh0ZXJuICJDIgotI2VuZGlmCi1jaGFyIGRlYnVnaW5mb2RfYmVnaW4gKCk7Ci1pbnQK LW1haW4gKCkKLXsKLXJldHVybiBkZWJ1Z2luZm9kX2JlZ2luICgpOwotICA7Ci0gIHJldHVybiAw OwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFj X2N2X2xpYl9kZWJ1Z2luZm9kX2RlYnVnaW5mb2RfYmVnaW49eWVzCitwa2dfZmFpbGVkPW5vCit7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsaWJk ZWJ1Z2luZm9kID49IDAuMTc5IiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBsaWJkZWJ1 Z2luZm9kID49IDAuMTc5Li4uICIgPiY2OyB9CisKK2lmIHRlc3QgLW4gIiRERUJVR0lORk9EX0NG TEFHUyI7IHRoZW4KKyAgICBwa2dfY3ZfREVCVUdJTkZPRF9DRkxBR1M9IiRERUJVR0lORk9EX0NG TEFHUyIKKyBlbGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorICAgIGlmIHRlc3QgLW4g IiRQS0dfQ09ORklHIiAmJiBcCisgICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IFwkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyBcImxpYmRlYnVn aW5mb2QgPj0gMC4xNzlcIiI7IH0gPiY1CisgICgkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50 LWVycm9ycyAibGliZGVidWdpbmZvZCA+PSAwLjE3OSIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/Cisg ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMi ID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuCisgIHBrZ19jdl9ERUJVR0lORk9E X0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgImxpYmRlYnVnaW5mb2QgPj0gMC4xNzkiIDI+ L2Rldi9udWxsYAorCQkgICAgICB0ZXN0ICJ4JD8iICE9ICJ4MCIgJiYgcGtnX2ZhaWxlZD15ZXMK IGVsc2UKLSAgYWNfY3ZfbGliX2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbj1ubworICBwa2df ZmFpbGVkPXllcwogZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpl eHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci1MSUJTPSRhY19j aGVja19saWJfc2F2ZV9MSUJTCisgZWxzZQorICAgIHBrZ19mYWlsZWQ9dW50cmllZAogZmkKLXsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGli X2RlYnVnaW5mb2RfZGVidWdpbmZvZF9iZWdpbiIgPiY1Ci0kYXNfZWNobyAiJGFjX2N2X2xpYl9k ZWJ1Z2luZm9kX2RlYnVnaW5mb2RfYmVnaW4iID4mNjsgfQotaWYgdGVzdCAieCRhY19jdl9saWJf ZGVidWdpbmZvZF9kZWJ1Z2luZm9kX2JlZ2luIiA9IHh5ZXM7IHRoZW4gOgotICBoYXZlX2RlYnVn aW5mb2RfbGliPXllcworaWYgdGVzdCAtbiAiJERFQlVHSU5GT0RfTElCUyI7IHRoZW4KKyAgICBw a2dfY3ZfREVCVUdJTkZPRF9MSUJTPSIkREVCVUdJTkZPRF9MSUJTIgorIGVsaWYgdGVzdCAtbiAi JFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAtbiAiJFBLR19DT05GSUciICYmIFwKKyAg ICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCRQS0dfQ09ORklH IC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwibGliZGVidWdpbmZvZCA+PSAwLjE3OVwiIjsgfSA+ JjUKKyAgKCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJkZWJ1Z2luZm9k ID49IDAuMTc5IikgMj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1 cyA9IDA7IH07IHRoZW4KKyAgcGtnX2N2X0RFQlVHSU5GT0RfTElCUz1gJFBLR19DT05GSUcgLS1s aWJzICJsaWJkZWJ1Z2luZm9kID49IDAuMTc5IiAyPi9kZXYvbnVsbGAKKwkJICAgICAgdGVzdCAi eCQ/IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9eWVzCitlbHNlCisgIHBrZ19mYWlsZWQ9eWVzCiBm aQotCi0gIGFjX2ZuX2NfY2hlY2tfZGVjbCAiJExJTkVOTyIgImRlYnVnaW5mb2RfYmVnaW4iICJh Y19jdl9oYXZlX2RlY2xfZGVidWdpbmZvZF9iZWdpbiIgIiNpbmNsdWRlIDxlbGZ1dGlscy9kZWJ1 Z2luZm9kLmg+Ci0iCi1pZiB0ZXN0ICJ4JGFjX2N2X2hhdmVfZGVjbF9kZWJ1Z2luZm9kX2JlZ2lu IiA9IHh5ZXM7IHRoZW4gOgotICBoYXZlX2RlYnVnaW5mb2RfaD15ZXMKKyBlbHNlCisgICAgcGtn X2ZhaWxlZD11bnRyaWVkCiBmaQogCi0gIGlmIHRlc3QgIngkaGF2ZV9kZWJ1Z2luZm9kX2xpYiIg PSAieHllcyIgLWEgXAotICAgICAgICAgICJ4JGhhdmVfZGVidWdpbmZvZF9oIiA9ICJ4eWVzIjsg dGhlbgogCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX0xJQkRFQlVHSU5GT0QgMSIgPj5jb25mZGVm cy5oCiAKLSAgICBMSUJERUJVR0lORk9EPSItbGRlYnVnaW5mb2QiCitpZiB0ZXN0ICRwa2dfZmFp bGVkID0geWVzOyB0aGVuCisgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQogCi0gIGVsc2UK K2lmICRQS0dfQ09ORklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAwLjIwOyB0aGVuCisg ICAgICAgIF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZD15ZXMKK2Vsc2UKKyAgICAgICAgX3Br Z19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkPW5vCitmaQorICAgICAgICBpZiB0ZXN0ICRfcGtnX3No b3J0X2Vycm9yc19zdXBwb3J0ZWQgPSB5ZXM7IHRoZW4KKwkgICAgICAgIERFQlVHSU5GT0RfUEtH X0VSUk9SUz1gJFBLR19DT05GSUcgLS1zaG9ydC1lcnJvcnMgLS1wcmludC1lcnJvcnMgLS1jZmxh Z3MgLS1saWJzICJsaWJkZWJ1Z2luZm9kID49IDAuMTc5IiAyPiYxYAorICAgICAgICBlbHNlCisJ ICAgICAgICBERUJVR0lORk9EX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tcHJpbnQtZXJyb3Jz IC0tY2ZsYWdzIC0tbGlicyAibGliZGVidWdpbmZvZCA+PSAwLjE3OSIgMj4mMWAKKyAgICAgICAg ZmkKKwkjIFB1dCB0aGUgbmFzdHkgZXJyb3IgbWVzc2FnZSBpbiBjb25maWcubG9nIHdoZXJlIGl0 IGJlbG9uZ3MKKwllY2hvICIkREVCVUdJTkZPRF9QS0dfRVJST1JTIiA+JjUKIAotICAgIGlmIHRl c3QgIiR3aXRoX2RlYnVnaW5mb2QiID0geWVzOyB0aGVuCi0gICAgICBhc19mbl9lcnJvciAkPyAi ZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlIiAiJExJTkVOTyIgNQotICAgIGVsc2UK LSAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzog ZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1 bmF2YWlsYWJsZS4iID4mNQotJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogZGVidWdpbmZvZCBp cyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4i ID4mMjt9Ci0gICAgZmkKLSAgZmkKKwlpZiB0ZXN0ICJ4JHdpdGhfZGVidWdpbmZvZCIgPSB4eWVz OyB0aGVuCisgICAgICAgYXNfZm5fZXJyb3IgJD8gIlwiLS13aXRoLWRlYnVnaW5mb2Qgd2FzIGdp dmVuLCBidXQgbGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlLlwiIiAiJExJTkVO TyIgNQorICAgICBlbHNlCisgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM SU5FTk99OiBXQVJOSU5HOiBsaWJkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGU7IHNv bWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBX QVJOSU5HOiBsaWJkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51c2FibGU7IHNvbWUgZmVhdHVy ZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiYyO30KKyAgICAgZmkKK2VsaWYgdGVzdCAkcGtnX2Zh aWxlZCA9IHVudHJpZWQ7IHRoZW4KKyAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CisJaWYg dGVzdCAieCR3aXRoX2RlYnVnaW5mb2QiID0geHllczsgdGhlbgorICAgICAgIGFzX2ZuX2Vycm9y ICQ/ICJcIi0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbiwgYnV0IGxpYmRlYnVnaW5mb2QgaXMg bWlzc2luZyBvciB1bnVzYWJsZS5cIiIgIiRMSU5FTk8iIDUKKyAgICAgZWxzZQorICAgICAgIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogbGliZGVidWdp bmZvZCBpcyBtaXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWls YWJsZS4iID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogbGliZGVidWdpbmZvZCBpcyBt aXNzaW5nIG9yIHVudXNhYmxlOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4m Mjt9CisgICAgIGZpCitlbHNlCisJREVCVUdJTkZPRF9DRkxBR1M9JHBrZ19jdl9ERUJVR0lORk9E X0NGTEFHUworCURFQlVHSU5GT0RfTElCUz0kcGtnX2N2X0RFQlVHSU5GT0RfTElCUworICAgICAg ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+ JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX0xJQkRF QlVHSU5GT0QgMSIgPj5jb25mZGVmcy5oCisKK2ZpCitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogZGVidWdpbmZvZCBzdXBwb3J0IGRpc2Fi bGVkOyBzb21lIGZlYXR1cmVzIG1heSBiZSB1bmF2YWlsYWJsZS4iID4mNQorJGFzX2VjaG8gIiRh c19tZTogV0FSTklORzogZGVidWdpbmZvZCBzdXBwb3J0IGRpc2FibGVkOyBzb21lIGZlYXR1cmVz IG1heSBiZSB1bmF2YWlsYWJsZS4iID4mMjt9CiBmaQogCiAKZGlmZiAtLWdpdCBhL2dkYi9jb25m aWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCmluZGV4IGI5NzVjZWM4NGYuLmVhY2Q5YjAxOWYg MTAwNjQ0Ci0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwpAQCAt MTgsNyArMTgsOCBAQCBkbmwgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKIGRubCBQcm9jZXNzIHRoaXMgZmlsZSB3 aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgogCi1tNF9pbmNsdWRl KC4uL2NvbmZpZy9kZWJ1Z2luZm9kLm00KQorbTRfaW5jbHVkZShbLi4vY29uZmlnL3BrZy5tNF0p CittNF9pbmNsdWRlKFsuLi9jb25maWcvZGVidWdpbmZvZC5tNF0pCiAKIEFDX0lOSVQobWFpbi5j KQogQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmg6Y29uZmlnLmluLCBbZWNobyA+IHN0YW1wLWhd KQotLSAKMi4yNS40Cgo= --0000000000004038a605aa96b1c4--