Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qT1um-0089iL-MY for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Aug 2023 15:13:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qT1tn-00AJSo-0j for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Aug 2023 15:11:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qT1tm-00AJSg-Fr for pgsql-hackers@lists.postgresql.org; Mon, 07 Aug 2023 15:11:59 +0000 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qT1ti-0012hw-Bk for pgsql-hackers@lists.postgresql.org; Mon, 07 Aug 2023 15:11:57 +0000 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-317f1c480eeso433230f8f.2 for ; Mon, 07 Aug 2023 08:11:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691421112; x=1692025912; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=MN3YHKG2ui7QD4hs85XJ78roUB4ALLbRZOsvU2o5SyU=; b=TucuRv+V6aA/PNBi447juu+K7hUHSqAZXpDdQG2btp1WjMfva2V69z8/Wd6ZP8vsNB 1ja9EGB9LddOjfZzdOmaeoJUKrLOurZsIvU/IYsDJgyIXWmX26K8UsBicwFkFPIcxtfh 2W+ACU4mwi8PeR32MO1gjxpe8tRVlykPe3s+z8SPDrjSoiEAQ61+m9zxU1eFlVu/6XpJ kB+ZEpLBRnNIGALvEJCRNd/BOqKebO/jhHAR8F3qBi7OR0/4/2EWNJ8vfnH5U4nN9dTr UPvx4E0KuU8TG2vRZPkO8lHAn8dAjfEd5mW6BkWCp1TbzlTtxeXjIiFtVuNDzZy1gj4s /6Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691421112; x=1692025912; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MN3YHKG2ui7QD4hs85XJ78roUB4ALLbRZOsvU2o5SyU=; b=LDakGXcskMokC1CtZFEGXQUMXbKlQZsiLRrwrZw76q25lhrGMj0T6aV3KKFftQJ7bN h4OIKsEf5/orSMnBliN8jHjnuOFmrTOsj6uKrdA5tDZrkX7BhY5jwKg5N8D9tOM6Hrtt bjPv/zw5BKGelIwtMZlLVc8p+LB0OSJpSG/lBq29WYMznm58T94gSsl25T/jrnXwPHRZ 2BH5PtgYsZzs6GnVRRm8tvmRLTJnx94YOBWdQgXNaOEHWpPxZVlY5Q112UqugGH8xhEH okEEkY+GS2Bmh1gFDdEDragG/qPj5APRVmmRH15IqeMEeOOKrm81gd2Ax43y3XxxXqxu svxA== X-Gm-Message-State: AOJu0YzGtXYM/gjnhpcsO8AgEtIQOx/5iqb2ra5lHe9ea47OcXlaK/AV dFlfnoK3wvfTxxBe+MCT2Ijpvvmu2Xs= X-Google-Smtp-Source: AGHT+IEEI6HQ9WEqpXf+3zMQIqbxtlOVPriULRbhu+9fhZd0iDTIwSz0JoOcqw5V7PYPJZF1Urbm5w== X-Received: by 2002:adf:f1ca:0:b0:317:60f0:41e7 with SMTP id z10-20020adff1ca000000b0031760f041e7mr6149319wro.19.1691421111639; Mon, 07 Aug 2023 08:11:51 -0700 (PDT) Received: from ?IPV6:2a01:cb11:55e:1700:5895:85de:39e1:3dba? ([2a01:cb11:55e:1700:5895:85de:39e1:3dba]) by smtp.gmail.com with ESMTPSA id x11-20020adfffcb000000b0031779e82414sm10833157wrs.79.2023.08.07.08.11.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Aug 2023 08:11:51 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------oT6Mw3s81ipFYY8oA99SBXzt" Message-ID: <1dc98591-0d06-f0da-bc88-21f529d6fb8e@gmail.com> Date: Mon, 7 Aug 2023 17:11:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: WIP: new system catalog pg_wait_event From: "Drouvot, Bertrand" To: Tom Lane Cc: PostgreSQL Hackers References: <0e2ae164-dc89-03c3-cf7f-de86378053ac@gmail.com> <3658241.1691161701@sss.pgh.pa.us> <0109438a-9672-322b-7638-04ad47c97d0f@gmail.com> Content-Language: en-US In-Reply-To: <0109438a-9672-322b-7638-04ad47c97d0f@gmail.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------oT6Mw3s81ipFYY8oA99SBXzt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 8/7/23 10:23 AM, Drouvot, Bertrand wrote: > Hi, > > On 8/4/23 5:08 PM, Tom Lane wrote: >> "Drouvot, Bertrand" writes: >>> Now that fa88928470 generates automatically code and documentation >>> related to wait events, why not exposing the wait events description >>> through a system catalog relation? >> >> I think you'd be better off making this a view over a set-returning >> function.  The nearby work to allow run-time extensibility of the >> set of wait events is not going to be happy with a static catalog. > > Oh right, good point, thanks!: I'll come back with a new patch version to make > use of SRF instead. Please find attached v2 making use of SRF. v2: - adds a new pg_wait_event.c that acts as the "template" for the SRF - generates pg_wait_event_insert.c (through generate-wait_event_types.pl) that is included into pg_wait_event.c That way I think it's flexible enough to add more code if needed in the SRF. The patch also: - updates the doc - works with autoconf and meson - adds a simple test I'm adding a new CF entry for it. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------oT6Mw3s81ipFYY8oA99SBXzt Content-Type: text/plain; charset=UTF-8; name="v2-0001-pg_wait_event.patch" Content-Disposition: attachment; filename="v2-0001-pg_wait_event.patch" Content-Transfer-Encoding: base64 RnJvbSA2M2YxMzE2YjJjMTYwYjcyYmRjMWJjZmY2MjcyZTI4ODhmY2UwZGI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBiZHJvdXZvdEFXUyA8YmRyb3V2b3RAYW1hem9uLmNv bT4KRGF0ZTogU2F0LCA1IEF1ZyAyMDIzIDEyOjM5OjQyICswMDAwClN1YmplY3Q6IFtQQVRD SCB2Ml0gcGdfd2FpdF9ldmVudAoKQWRkaW5nIGEgbmV3IHN5c3RlbSB2aWV3LCBuYW1lbHkg cGdfd2FpdF9ldmVudCwgdGhhdCBkZXNjcmliZXMgdGhlIHdhaXQgZXZlbnRzLgotLS0KIGRv Yy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCAgICAgICAgICAgICAgICB8IDU1ICsrKysr KysrKysrKysrCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAg ICAgfCAgMyArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS8uZ2l0aWdub3JlICAgICAg ICAgfCAgMSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZSAgICAgICAg ICAgfCAgNiArLQogLi4uL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRfZXZlbnRfdHlwZXMucGwg ICAgIHwgNzYgKysrKysrKysrKysrKy0tLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvbWVzb24uYnVpbGQgICAgICAgIHwgIDEgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdfd2FpdF9ldmVudC5jICAgIHwgNDEgKysrKysrKysrKwogc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgIDYgKysKIHNyYy9pbmNsdWRlL3V0 aWxzL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICB8ICA0ICstCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAgICAgICAgfCAgMyArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3N5c3ZpZXdzLm91dCAgICAgICAgfCAgOCArKwogc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc3lzdmlld3Muc3FsICAgICAgICAgICAgIHwgIDQgKwogc3JjL3Rvb2xzL21z dmMvY2xlYW4uYmF0ICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogMTMgZmlsZXMgY2hh bmdlZCwgMTgzIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQogIDE5LjglIGRvYy9z cmMvc2dtbC8KICA2MC42JSBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS8KICAgNS4zJSBz cmMvaW5jbHVkZS9jYXRhbG9nLwogICA1LjclIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv CiAgIDMuMCUgc3JjL3Rlc3QvcmVncmVzcy9zcWwvCiAgIDUuMyUgc3JjLwoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9zeXN0 ZW0tdmlld3Muc2dtbAppbmRleCA1N2IyMjgwNzZlLi5lOWNiZWZmNjgyIDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sCkBAIC0yMjEsNiArMjIxLDExIEBACiAgICAgICA8ZW50cnk+dmll d3M8L2VudHJ5PgogICAgICA8L3Jvdz4KIAorICAgICA8cm93PgorICAgICAgPGVudHJ5Pjxs aW5rIGxpbmtlbmQ9InZpZXctcGctd2FpdC1ldmVudCI+PHN0cnVjdG5hbWU+cGdfd2FpdF9l dmVudDwvc3RydWN0bmFtZT48L2xpbms+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT53YWl0IGV2 ZW50czwvZW50cnk+CisgICAgIDwvcm93PgorCiAgICAgPC90Ym9keT4KICAgIDwvdGdyb3Vw PgogICA8L3RhYmxlPgpAQCAtNDgyNSw0ICs0ODMwLDU0IEBAIFNFTEVDVCAqIEZST00gcGdf bG9ja3MgcGwgTEVGVCBKT0lOIHBnX3ByZXBhcmVkX3hhY3RzIHBweAogICA8L3RhYmxlPgog IDwvc2VjdDE+CiAKKworIDxzZWN0MSBpZD0idmlldy1wZy13YWl0LWV2ZW50Ij4KKyAgPHRp dGxlPjxzdHJ1Y3RuYW1lPnBnX3dhaXRfZXZlbnQ8L3N0cnVjdG5hbWU+PC90aXRsZT4KKwor ICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctd2FpdC1ldmVudCI+CisgICA8cHJpbWFyeT5w Z193YWl0X2V2ZW50PC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4KKyAg IFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3dhaXRfZXZlbnQ8L3N0cnVjdG5hbWU+IHByb3Zp ZGVzIGRlc2NyaXB0aW9uIGFib3V0IHRoZQorICAgd2FpdCBldmVudHMuCisgIDwvcGFyYT4K KworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfd2FpdF9ldmVudDwvc3Ry dWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0 aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5 cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAg IDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPndhaXRfZXZlbnRfbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBXYWl0IGV2ZW50IG5hbWUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVzY3JpcHRpb248L3N0cnVj dGZpZWxkPiA8dHlwZT50ZXh0ZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgIFdhaXQgZXZlbnQgZGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+ CisgPC9zZWN0MT4KKwogPC9jaGFwdGVyPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCmluZGV4IGFmNjVhZjZiZGQuLmY4NmE0ZGQ3NzAgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTEzNDIsMyArMTM0Miw2IEBAIENSRUFURSBWSUVX IHBnX3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAgICAgICAgIHNzLnN0YXRzX3Jlc2V0 CiAgICAgRlJPTSBwZ19zdWJzY3JpcHRpb24gYXMgcywKICAgICAgICAgIHBnX3N0YXRfZ2V0 X3N1YnNjcmlwdGlvbl9zdGF0cyhzLm9pZCkgYXMgc3M7CisKK0NSRUFURSBWSUVXIHBnX3dh aXRfZXZlbnQgQVMKKyAgICBTRUxFQ1QgKiBGUk9NIHBnX2dldF93YWl0X2V2ZW50cygpIEFT IHdlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvLmdpdGlnbm9y ZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5Ly5naXRpZ25vcmUKaW5kZXggZDc3MDc5 Mjg1Yi4uYWQwODlhMGI2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvLmdpdGlnbm9yZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS8uZ2l0aWdu b3JlCkBAIC0xLDIgKzEsMyBAQAogL3Bnc3RhdF93YWl0X2V2ZW50LmMKIC93YWl0X2V2ZW50 X3R5cGVzLmgKKy9wZ193YWl0X2V2ZW50X2luc2VydC5jCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L01ha2VmaWxlCmluZGV4IGYxMTE3NzQ1ZDQuLjg1OTVlNmVhNzcgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCkBAIC0zMiwxMCArMzIsMTQgQEAgT0JKUyA9IFwK IAlwZ3N0YXRfc3Vic2NyaXB0aW9uLm8gXAogCXBnc3RhdF93YWwubyBcCiAJcGdzdGF0X3hh Y3QubyBcCisJcGdfd2FpdF9ldmVudC5vIFwKIAl3YWl0X2V2ZW50Lm8KIAogaW5jbHVkZSAk KHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL2NvbW1vbi5tawogCitwZ193YWl0X2V2ZW50Lm86 IHBnX3dhaXRfZXZlbnRfaW5zZXJ0LmMKK3BnX3dhaXRfZXZlbnRfaW5zZXJ0LmM6IHdhaXRf ZXZlbnRfdHlwZXMuaAorCiB3YWl0X2V2ZW50Lm86IHBnc3RhdF93YWl0X2V2ZW50LmMKIHBn c3RhdF93YWl0X2V2ZW50LmM6IHdhaXRfZXZlbnRfdHlwZXMuaAogCXRvdWNoICRACkBAIC00 NCw0ICs0OCw0IEBAIHdhaXRfZXZlbnRfdHlwZXMuaDogJCh0b3Bfc3JjZGlyKS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X25hbWVzLnR4CiAJJChQRVJMKSAkKHNy Y2RpcikvZ2VuZXJhdGUtd2FpdF9ldmVudF90eXBlcy5wbCAtLWNvZGUgJDwKIAogbWFpbnRh aW5lci1jbGVhbjogY2xlYW4KLQlybSAtZiB3YWl0X2V2ZW50X3R5cGVzLmggcGdzdGF0X3dh aXRfZXZlbnQuYworCXJtIC1mIHdhaXRfZXZlbnRfdHlwZXMuaCBwZ3N0YXRfd2FpdF9ldmVu dC5jIHBnX3dhaXRfZXZlbnRfaW5zZXJ0LmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRfZXZlbnRfdHlwZXMucGwgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9nZW5lcmF0ZS13YWl0X2V2ZW50X3R5cGVzLnBsCmluZGV4IDU2 MzM1ZTg3MzAuLjZmMmI4MjNiNmIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L2dlbmVyYXRlLXdhaXRfZXZlbnRfdHlwZXMucGwKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdF9ldmVudF90eXBlcy5wbApAQCAtNCw2ICs0 LDcgQEAKICMgR2VuZXJhdGUgd2FpdCBldmVudHMgc3VwcG9ydCBmaWxlcyBmcm9tIHdhaXRf ZXZlbnRfbmFtZXMudHh0OgogIyAtIHdhaXRfZXZlbnRfdHlwZXMuaCAoaWYgLS1jb2RlIGlz IHBhc3NlZCkKICMgLSBwZ3N0YXRfd2FpdF9ldmVudC5jIChpZiAtLWNvZGUgaXMgcGFzc2Vk KQorIyAtIHBnX3dhaXRfZXZlbnRfaW5zZXJ0LmMgKGlmIC0tY29kZSBpcyBwYXNzZWQpCiAj IC0gd2FpdF9ldmVudF90eXBlcy5zZ21sIChpZiAtLWRvY3MgaXMgcGFzc2VkKQogIwogIyBQ b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2 ZWxvcG1lbnQgR3JvdXAKQEAgLTk4LDggKzk5LDEwIEBAIGlmICgkZ2VuX2NvZGUpCiAJIyBt dWx0aXBsZSB0aW1lcy4KIAlteSAkaHRtcCA9ICIkb3V0cHV0X3BhdGgvd2FpdF9ldmVudF90 eXBlcy5oLnRtcCQkIjsKIAlteSAkY3RtcCA9ICIkb3V0cHV0X3BhdGgvcGdzdGF0X3dhaXRf ZXZlbnQuYy50bXAkJCI7CisJbXkgJGljdG1wID0gIiRvdXRwdXRfcGF0aC9wZ193YWl0X2V2 ZW50X2luc2VydC5jLnRtcCQkIjsKIAlvcGVuIG15ICRoLCAnPicsICRodG1wIG9yIGRpZSAi Q291bGQgbm90IG9wZW4gJGh0bXA6ICQhIjsKIAlvcGVuIG15ICRjLCAnPicsICRjdG1wIG9y IGRpZSAiQ291bGQgbm90IG9wZW4gJGN0bXA6ICQhIjsKKwlvcGVuIG15ICRpYywgJz4nLCAk aWN0bXAgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkaWN0bXA6ICQhIjsKIAogCW15ICRoZWFk ZXJfY29tbWVudCA9CiAJICAnLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMjksMTYgKzEz MiwxNyBAQCBpZiAoJGdlbl9jb2RlKQogCiAJcHJpbnRmICRjICRoZWFkZXJfY29tbWVudCwg J3Bnc3RhdF93YWl0X2V2ZW50LmMnOwogCisJcHJpbnRmICRpYyAkaGVhZGVyX2NvbW1lbnQs ICdwZ193YWl0X2V2ZW50X2luc2VydC5jJzsKKwogCSMgdWMoKSBpcyBiZWluZyB1c2VkIHRv IGZvcmNlIHRoZSBjb21wYXJpc29uIHRvIGJlIGNhc2UtaW5zZW5zaXRpdmUuCiAJZm9yZWFj aCBteSAkd2FpdGNsYXNzIChzb3J0IHsgdWMoJGEpIGNtcCB1YygkYikgfSBrZXlzICVoYXNo d2UpCiAJewogCi0JCSMgRG9uJ3QgZ2VuZXJhdGUgLmMgYW5kIC5oIGZpbGVzIGZvciBFeHRl bnNpb24sIExXTG9jayBhbmQKLQkJIyBMb2NrLCB0aGVzZSBhcmUgaGFuZGxlZCBpbmRlcGVu ZGVudGx5LgotCQluZXh0Ci0JCSAgaWYgKCAkd2FpdGNsYXNzIGVxICdXYWl0RXZlbnRFeHRl bnNpb24nCi0JCQl8fCAkd2FpdGNsYXNzIGVxICdXYWl0RXZlbnRMV0xvY2snCi0JCQl8fCAk d2FpdGNsYXNzIGVxICdXYWl0RXZlbnRMb2NrJyk7CisJCSMgRG9uJ3QgZ2VuZXJhdGUgLmMg KGV4Y2VwdCBwZ193YWl0X2V2ZW50X2luc2VydC5jKSBhbmQgLmggZmlsZXMgZm9yCisJCSMg RXh0ZW5zaW9uLCBMV0xvY2sgYW5kIExvY2ssIHRoZXNlIGFyZSBoYW5kbGVkIGluZGVwZW5k ZW50bHkuCisJCW15ICRpc19leGNlcHRpb24gPSAkd2FpdGNsYXNzIGVxICdXYWl0RXZlbnRF eHRlbnNpb24nIHx8CisJCQkJCQkgICAkd2FpdGNsYXNzIGVxICdXYWl0RXZlbnRMV0xvY2sn IHx8CisJCQkJCQkgICAkd2FpdGNsYXNzIGVxICdXYWl0RXZlbnRMb2NrJzsKIAogCQlteSAk bGFzdCA9ICR3YWl0Y2xhc3M7CiAJCSRsYXN0ID1+IHMvXldhaXRFdmVudC8vOwpAQCAtMTQ3 LDUwICsxNTEsNzYgQEAgaWYgKCRnZW5fY29kZSkKIAkJbXkgJGZpcnN0cGFzcyA9IDE7CiAJ CW15ICRwZ193YWl0X2NsYXNzOwogCi0JCXByaW50ZiAkYwotCQkgICJzdGF0aWMgY29uc3Qg Y2hhciAqXG5wZ3N0YXRfZ2V0X3dhaXRfJGxhc3RsYygkd2FpdGNsYXNzIHcpXG57XG4iOwot CQlwcmludGYgJGMgIlx0Y29uc3QgY2hhciAqZXZlbnRfbmFtZSA9IFwidW5rbm93biB3YWl0 IGV2ZW50XCI7XG5cbiI7Ci0JCXByaW50ZiAkYyAiXHRzd2l0Y2ggKHcpXG5cdHtcbiI7CisJ CWlmICghJGlzX2V4Y2VwdGlvbikKKwkJeworCQkJcHJpbnRmICRjCisJCQkgICJzdGF0aWMg Y29uc3QgY2hhciAqXG5wZ3N0YXRfZ2V0X3dhaXRfJGxhc3RsYygkd2FpdGNsYXNzIHcpXG57 XG4iOworCQkJcHJpbnRmICRjICJcdGNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSBcInVua25v d24gd2FpdCBldmVudFwiO1xuXG4iOworCQkJcHJpbnRmICRjICJcdHN3aXRjaCAodylcblx0 e1xuIjsKKwkJfQogCiAJCWZvcmVhY2ggbXkgJHdldiAoQHsgJGhhc2h3ZXskd2FpdGNsYXNz fSB9KQogCQl7Ci0JCQlpZiAoJGZpcnN0cGFzcykKKwkJCWlmICgkZmlyc3RwYXNzICYmICEk aXNfZXhjZXB0aW9uKQogCQkJewogCQkJCXByaW50ZiAkaCAidHlwZWRlZiBlbnVtXG57XG4i OwogCQkJCSRwZ193YWl0X2NsYXNzID0gIlBHX1dBSVRfIiAuICRsYXN0dWM7CiAJCQkJcHJp bnRmICRoICJcdCVzID0gJXMiLCAkd2V2LT5bMF0sICRwZ193YWl0X2NsYXNzOwogCQkJCSRj b250aW51ZSA9ICIsXG4iOwogCQkJfQotCQkJZWxzZQorCQkJZWxzaWYgKCEkaXNfZXhjZXB0 aW9uKQogCQkJewogCQkJCXByaW50ZiAkaCAiJXNcdCVzIiwgJGNvbnRpbnVlLCAkd2V2LT5b MF07CiAJCQkJJGNvbnRpbnVlID0gIixcbiI7CiAJCQl9Ci0JCQkkZmlyc3RwYXNzID0gMDsK IAotCQkJcHJpbnRmICRjICJcdFx0IGNhc2UgJXM6XG4iLCAkd2V2LT5bMF07Ci0JCQkjIEFw cGx5IHF1b3RlcyB0byB0aGUgd2FpdCBldmVudCBuYW1lIHN0cmluZy4KLQkJCXByaW50ZiAk YyAiXHRcdFx0IGV2ZW50X25hbWUgPSBcIiVzXCI7XG5cdFx0XHQgYnJlYWs7XG4iLAotCQkJ ICAkd2V2LT5bMV07CisJCQlpZiAoISRpc19leGNlcHRpb24pCisJCQl7CisJCQkJJGZpcnN0 cGFzcyA9IDA7CisKKwkJCQlwcmludGYgJGMgIlx0XHQgY2FzZSAlczpcbiIsICR3ZXYtPlsw XTsKKwkJCQkjIEFwcGx5IHF1b3RlcyB0byB0aGUgd2FpdCBldmVudCBuYW1lIHN0cmluZy4K KwkJCQlwcmludGYgJGMgIlx0XHRcdCBldmVudF9uYW1lID0gXCIlc1wiO1xuXHRcdFx0IGJy ZWFrO1xuIiwKKwkJCQkkd2V2LT5bMV07CisJCQl9CisKKwkJCW15ICRuZXdfZGVzYyA9IHN1 YnN0ciAkd2V2LT5bMl0sIDEsIC0yOworCQkJJG5ld19kZXNjID1+IHMvJy9cXCcvZzsKKwkJ CSRuZXdfZGVzYyA9fiBzLzwuKj4oLio/KTwuKj4vJDEvZzsKKwkJCSRuZXdfZGVzYyA9fiBz Lzx4cmVmIGxpbmtlbmQ9Imd1Yy0oLio/KSJcLz4vJDEvZzsKKwkJCSRuZXdfZGVzYyA9fiBz Lzsgc2VlLiokLy87CisKKwkJCXByaW50ZiAkaWMgIlx0bWVtc2V0KHZhbHVlcywgMCwgc2l6 ZW9mKHZhbHVlcykpO1xuIjsKKwkJCXByaW50ZiAkaWMgIlx0bWVtc2V0KG51bGxzLCAwLCBz aXplb2YobnVsbHMpKTtcblxuIjsKKwkJCXByaW50ZiAkaWMgIlx0dmFsdWVzWzBdID0gQ1N0 cmluZ0dldFRleHREYXR1bShcIiVzXCIpO1xuIiwgJHdldi0+WzFdOworCQkJcHJpbnRmICRp YyAiXHR2YWx1ZXNbMV0gPSBDU3RyaW5nR2V0VGV4dERhdHVtKFwiJXNcIik7XG5cbiIsICRu ZXdfZGVzYzsKKworCQkJcHJpbnRmICRpYyAiXHR0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2lu Zm8tPnNldFJlc3VsdCwgcnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTtcblxuIjsK IAkJfQogCi0JCXByaW50ZiAkaCAiXG59ICR3YWl0Y2xhc3M7XG5cbiI7CisJCWlmICghJGlz X2V4Y2VwdGlvbikKKwkJeworCQkJcHJpbnRmICRoICJcbn0gJHdhaXRjbGFzcztcblxuIjsK IAotCQlwcmludGYgJGMKLQkJICAiXHRcdFx0IC8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhh dCBjb21waWxlciB3aWxsIHdhcm4gKi9cbiI7Ci0JCXByaW50ZiAkYyAiXHR9XG5cbiI7Ci0J CXByaW50ZiAkYyAiXHRyZXR1cm4gZXZlbnRfbmFtZTtcbiI7Ci0JCXByaW50ZiAkYyAifVxu XG4iOworCQkJcHJpbnRmICRjCisJCQkgICJcdFx0XHQgLyogbm8gZGVmYXVsdCBjYXNlLCBz byB0aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAqL1xuIjsKKwkJCXByaW50ZiAkYyAiXHR9XG5c biI7CisJCQlwcmludGYgJGMgIlx0cmV0dXJuIGV2ZW50X25hbWU7XG4iOworCQkJcHJpbnRm ICRjICJ9XG5cbiI7CisJCX0KIAl9CiAKIAlwcmludGYgJGggIiNlbmRpZiAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogV0FJVF9FVkVOVF9UWVBFU19IICovXG4iOwogCWNsb3NlICRo OwogCWNsb3NlICRjOworCWNsb3NlICRpYzsKIAogCXJlbmFtZSgkaHRtcCwgIiRvdXRwdXRf cGF0aC93YWl0X2V2ZW50X3R5cGVzLmgiKQogCSAgfHwgZGllICJyZW5hbWU6ICRodG1wIHRv ICRvdXRwdXRfcGF0aC93YWl0X2V2ZW50X3R5cGVzLmg6ICQhIjsKIAlyZW5hbWUoJGN0bXAs ICIkb3V0cHV0X3BhdGgvcGdzdGF0X3dhaXRfZXZlbnQuYyIpCiAJICB8fCBkaWUgInJlbmFt ZTogJGN0bXAgdG8gJG91dHB1dF9wYXRoL3Bnc3RhdF93YWl0X2V2ZW50LmM6ICQhIjsKKwly ZW5hbWUoJGljdG1wLCAiJG91dHB1dF9wYXRoL3BnX3dhaXRfZXZlbnRfaW5zZXJ0LmMiKQor CSAgfHwgZGllICJyZW5hbWU6ICRpY3RtcCB0byAkb3V0cHV0X3BhdGgvcGdfd2FpdF9ldmVu dF9pbnNlcnQuYzogJCEiOwogfQogIyBHZW5lcmF0ZSB0aGUgLnNnbWwgZmlsZS4KIGVsc2lm ICgkZ2VuX2RvY3MpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9t ZXNvbi5idWlsZCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCmlu ZGV4IDk2MzNmMzYyM2MuLjc3NGUwYmQzNDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L21lc29uLmJ1aWxkCkBAIC0yMyw2ICsyMyw3IEBAIGJhY2tlbmRfc291cmNlcyArPSBm aWxlcygKICMgc2VlbXMgbmljZXIgdG8gbm90IGFkZCB0aGF0IGFzIGFuIGluY2x1ZGUgcGF0 aCBmb3IgdGhlIHdob2xlIGJhY2tlbmQuCiB3YWl0ZXZlbnRfc291cmNlcyA9IGZpbGVzKAog ICAnd2FpdF9ldmVudC5jJywKKyAgJ3BnX3dhaXRfZXZlbnQuYycsCiApCiAKIHdhaXRfZXZl bnQgPSBzdGF0aWNfbGlicmFyeSgnd2FpdF9ldmVudF9uYW1lcycsCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ193YWl0X2V2ZW50LmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ193YWl0X2V2ZW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMC4uOTQwN2QxODI1NAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3BnX3dhaXRfZXZlbnQuYwpAQCAtMCwwICsxLDQxIEBA CisvKiAtLS0tLS0tLS0tCisgKiBwZ193YWl0X2V2ZW50LmMKKyAqICAgIFdhaXQgZXZlbnQg cmVwb3J0aW5nIGluZnJhc3RydWN0dXJlLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMS0y MDIzLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqCisgKiBJ REVOVElGSUNBVElPTgorICogICAgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdfd2Fp dF9ldmVudC5jCisgKgorICogTk9URVMKKyAqCisgKiBUaGUgInBnX3dhaXRfZXZlbnRfaW5z ZXJ0LmMiIGluY2x1ZGVkIGluIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkKKyAqICAgICAg ICAgICAgICAgICAgICBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9nZW5lcmF0ZS13YWl0 X2V2ZW50X3R5cGVzLnBsCisgKgorICovCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworI2lu Y2x1ZGUgImZ1bmNhcGkuaCIKKyNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorCisvKgor ICogVGhpcyBmdW5jdGlvbiBsaXN0cyB0aGUgd2FpdCBldmVudHMgYW5kIHRoZWlyIGRlc2Ny aXB0aW9ucy4KKyAqCisgKiBUaGUgc3lzdGVtIHZpZXcgcGdfd2FpdF9ldmVudCBwcm92aWRl cyBhIHVzZXIgaW50ZXJmYWNlIHRvIHRoaXMKKyAqIFNSRi4KKyAqLworRGF0dW0KK3BnX2dl dF93YWl0X2V2ZW50cyhQR19GVU5DVElPTl9BUkdTKQoreworI2RlZmluZSBOVU1fV0FJVF9F VkVOVF9UQUJMRVNfRUxFTSAyCisJUmV0dXJuU2V0SW5mbyAqcnNpbmZvID0gKFJldHVyblNl dEluZm8gKikgZmNpbmZvLT5yZXN1bHRpbmZvOworCURhdHVtICAgICAgIHZhbHVlc1tOVU1f V0FJVF9FVkVOVF9UQUJMRVNfRUxFTV07CisJYm9vbCAgICAgICAgbnVsbHNbTlVNX1dBSVRf RVZFTlRfVEFCTEVTX0VMRU1dOworCisJLyogQnVpbGQgdHVwbGVzdG9yZSB0byBob2xkIHRo ZSByZXN1bHQgcm93cyAqLworCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNpbmZvLCAwKTsKKwor CSNpbmNsdWRlICJwZ193YWl0X2V2ZW50X2luc2VydC5jIgorCXJldHVybiAoRGF0dW0pIDA7 Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA2OTk2MDczOTg5Li41N2Q4ODc1 ZGVlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTU0MTcsNiArNTQxNywxMiBA QAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1lcyA9PiAn e3BpZCxkYXRpZCxwaWQsdXNlc3lzaWQsYXBwbGljYXRpb25fbmFtZSxzdGF0ZSxxdWVyeSx3 YWl0X2V2ZW50X3R5cGUsd2FpdF9ldmVudCx4YWN0X3N0YXJ0LHF1ZXJ5X3N0YXJ0LGJhY2tl bmRfc3RhcnQsc3RhdGVfY2hhbmdlLGNsaWVudF9hZGRyLGNsaWVudF9ob3N0bmFtZSxjbGll bnRfcG9ydCxiYWNrZW5kX3hpZCxiYWNrZW5kX3htaW4sYmFja2VuZF90eXBlLHNzbCxzc2x2 ZXJzaW9uLHNzbGNpcGhlcixzc2xiaXRzLHNzbF9jbGllbnRfZG4sc3NsX2NsaWVudF9zZXJp YWwsc3NsX2lzc3Vlcl9kbixnc3NfYXV0aCxnc3NfcHJpbmMsZ3NzX2VuYyxnc3NfZGVsZWdh dGlvbixsZWFkZXJfcGlkLHF1ZXJ5X2lkfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRf YWN0aXZpdHknIH0sCit7IG9pZCA9PiAnODQwMycsIGRlc2NyID0+ICdkZXNjcmliZSB3YWl0 IGV2ZW50cycsCisgIHByb25hbWUgPT4gJ3BnX2dldF93YWl0X2V2ZW50cycsIHByb2Nvc3Qg PT4gJzEwJywgcHJvcm93cyA9PiAnMTAwJywKKyAgcHJvcmV0c2V0ID0+ICd0JywgcHJvdm9s YXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLAorICBwcm9hcmd0eXBlcyA9 PiAnJywgcHJvYWxsYXJndHlwZXMgPT4gJ3t0ZXh0LHRleHR9JywKKyAgcHJvYXJnbW9kZXMg PT4gJ3tvLG99JywgcHJvYXJnbmFtZXMgPT4gJ3t3YWl0X2V2ZW50X25hbWUsZGVzY3JpcHRp b259JywKKyAgcHJvc3JjID0+ICdwZ19nZXRfd2FpdF9ldmVudHMnIH0sCiB7IG9pZCA9PiAn MzMxOCcsCiAgIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBpbmZvcm1hdGlvbiBhYm91dCBwcm9n cmVzcyBvZiBiYWNrZW5kcyBydW5uaW5nIG1haW50ZW5hbmNlIGNvbW1hbmQnLAogICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvJywgcHJvcm93cyA9PiAnMTAwJywg cHJvcmV0c2V0ID0+ICd0JywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL21lc29u LmJ1aWxkIGIvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQKaW5kZXggNmRlNWQ5Mzc5 OS4uNGYxNGY3NzBlZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVp bGQKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQKQEAgLTEsNiArMSw2IEBA CiAjIENvcHlyaWdodCAoYykgMjAyMi0yMDIzLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9w bWVudCBHcm91cAogCi13YWl0X2V2ZW50X291dHB1dCA9IFsnd2FpdF9ldmVudF90eXBlcy5o JywgJ3Bnc3RhdF93YWl0X2V2ZW50LmMnXQord2FpdF9ldmVudF9vdXRwdXQgPSBbJ3dhaXRf ZXZlbnRfdHlwZXMuaCcsICdwZ3N0YXRfd2FpdF9ldmVudC5jJywgJ3BnX3dhaXRfZXZlbnRf aW5zZXJ0LmMnXQogd2FpdF9ldmVudF90YXJnZXQgPSBjdXN0b21fdGFyZ2V0KCd3YWl0X2V2 ZW50X25hbWVzJywKICAgaW5wdXQ6IGZpbGVzKCcuLi8uLi9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3dhaXRfZXZlbnRfbmFtZXMudHh0JyksCiAgIG91dHB1dDogd2FpdF9ldmVudF9vdXRw dXQsCkBAIC0xMSw3ICsxMSw3IEBAIHdhaXRfZXZlbnRfdGFyZ2V0ID0gY3VzdG9tX3Rhcmdl dCgnd2FpdF9ldmVudF9uYW1lcycsCiAgIF0sCiAgIGJ1aWxkX2J5X2RlZmF1bHQ6IHRydWUs CiAgIGluc3RhbGw6IHRydWUsCi0gIGluc3RhbGxfZGlyOiBbZGlyX2luY2x1ZGVfc2VydmVy IC8gJ3V0aWxzJywgZmFsc2VdLAorICBpbnN0YWxsX2RpcjogW2Rpcl9pbmNsdWRlX3NlcnZl ciAvICd1dGlscycsIGZhbHNlLCBmYWxzZV0sCiApCiAKIHdhaXRfZXZlbnRfdHlwZXNfaCA9 IHdhaXRfZXZlbnRfdGFyZ2V0WzBdCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 CmluZGV4IGUwN2FmY2Q0YWEuLjIzYjVmN2RiY2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CkBAIC0yNjMxLDYgKzI2MzEsOSBAQCBwZ192aWV3c3wgU0VMRUNUIG4u bnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgRlJPTSAocGdfY2xhc3MgYwogICAgICBMRUZU IEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFtZXNwYWNlKSkpCiAg IFdIRVJFIChjLnJlbGtpbmQgPSAndic6OiJjaGFyIik7CitwZ193YWl0X2V2ZW50fCBTRUxF Q1Qgd2FpdF9ldmVudF9uYW1lLAorICAgIGRlc2NyaXB0aW9uCisgICBGUk9NIHBnX2dldF93 YWl0X2V2ZW50cygpIHdlKHdhaXRfZXZlbnRfbmFtZSwgZGVzY3JpcHRpb24pOwogU0VMRUNU IHRhYmxlbmFtZSwgcnVsZW5hbWUsIGRlZmluaXRpb24gRlJPTSBwZ19ydWxlcwogV0hFUkUg c2NoZW1hbmFtZSA9ICdwZ19jYXRhbG9nJwogT1JERVIgQlkgdGFibGVuYW1lLCBydWxlbmFt ZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2aWV3cy5vdXQKaW5kZXggMDAxYzZl N2ViOS4uMTIzMDliZTI2NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zeXN2aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2aWV3 cy5vdXQKQEAgLTEzNCw2ICsxMzQsMTQgQEAgc2VsZWN0IG5hbWUsIHNldHRpbmcgZnJvbSBw Z19zZXR0aW5ncyB3aGVyZSBuYW1lIGxpa2UgJ2VuYWJsZSUnOwogIGVuYWJsZV90aWRzY2Fu ICAgICAgICAgICAgICAgICB8IG9uCiAoMjEgcm93cykKIAorLS0gVGhlcmUgd2lsbCBzdXJl bHkgYmUgYXQgbGVhc3QgMjQwIHdhaXQgZXZlbnRzIGFuZCBhdCBsZWFzdCAyNyByZWxhdGVk IHRvIFdBTAorc2VsZWN0IGNvdW50KCopID4gMjM5IGFzIG9rLCBjb3VudCgqKSBGSUxURVIg KFdIRVJFIGRlc2NyaXB0aW9uIGxpa2UgJyVXQUwlJykgPiAyNiBBUyBva193YWxfZGVzYwor ICBmcm9tIHBnX3dhaXRfZXZlbnQ7Cisgb2sgfCBva193YWxfZGVzYyAKKy0tLS0rLS0tLS0t LS0tLS0tLQorIHQgIHwgdAorKDEgcm93KQorCiAtLSBUZXN0IHRoYXQgdGhlIHBnX3RpbWV6 b25lX25hbWVzIGFuZCBwZ190aW1lem9uZV9hYmJyZXZzIHZpZXdzIGFyZQogLS0gbW9yZS1v ci1sZXNzIHdvcmtpbmcuICBXZSBjYW4ndCB0ZXN0IHRoZWlyIGNvbnRlbnRzIGluIGFueSBn cmVhdCBkZXRhaWwKIC0tIHdpdGhvdXQgdGhlIG91dHB1dHMgY2hhbmdpbmcgYW55dGltZSBJ QU5BIHVwZGF0ZXMgdGhlIHVuZGVybHlpbmcgZGF0YSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3N5c3ZpZXdzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N5c3Zp ZXdzLnNxbAppbmRleCAzNTFlNDY5Yzc3Li42YmM2YmQxMzIyIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9zeXN2aWV3cy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvc3lzdmlld3Muc3FsCkBAIC01NSw2ICs1NSwxMCBAQCBzZWxlY3QgY291bnQoKikgPSAw IGFzIG9rIGZyb20gcGdfc3RhdF93YWxfcmVjZWl2ZXI7CiAtLSBhIHJlZ3Jlc3Npb24gdGVz dCBydW4uCiBzZWxlY3QgbmFtZSwgc2V0dGluZyBmcm9tIHBnX3NldHRpbmdzIHdoZXJlIG5h bWUgbGlrZSAnZW5hYmxlJSc7CiAKKy0tIFRoZXJlIHdpbGwgc3VyZWx5IGJlIGF0IGxlYXN0 IDI0MCB3YWl0IGV2ZW50cyBhbmQgYXQgbGVhc3QgMjcgcmVsYXRlZCB0byBXQUwKK3NlbGVj dCBjb3VudCgqKSA+IDIzOSBhcyBvaywgY291bnQoKikgRklMVEVSIChXSEVSRSBkZXNjcmlw dGlvbiBsaWtlICclV0FMJScpID4gMjYgQVMgb2tfd2FsX2Rlc2MKKyAgZnJvbSBwZ193YWl0 X2V2ZW50OworCiAtLSBUZXN0IHRoYXQgdGhlIHBnX3RpbWV6b25lX25hbWVzIGFuZCBwZ190 aW1lem9uZV9hYmJyZXZzIHZpZXdzIGFyZQogLS0gbW9yZS1vci1sZXNzIHdvcmtpbmcuICBX ZSBjYW4ndCB0ZXN0IHRoZWlyIGNvbnRlbnRzIGluIGFueSBncmVhdCBkZXRhaWwKIC0tIHdp dGhvdXQgdGhlIG91dHB1dHMgY2hhbmdpbmcgYW55dGltZSBJQU5BIHVwZGF0ZXMgdGhlIHVu ZGVybHlpbmcgZGF0YSwKZGlmZiAtLWdpdCBhL3NyYy90b29scy9tc3ZjL2NsZWFuLmJhdCBi L3NyYy90b29scy9tc3ZjL2NsZWFuLmJhdAppbmRleCA3Y2IyM2VhODk0Li4wMjhkMTc0ZDg3 IDEwMDc1NQotLS0gYS9zcmMvdG9vbHMvbXN2Yy9jbGVhbi5iYXQKKysrIGIvc3JjL3Rvb2xz L21zdmMvY2xlYW4uYmF0CkBAIC01NSw2ICs1NSw3IEBAIGlmIGV4aXN0IHNyY1xpbmNsdWRl XGNhdGFsb2dcaGVhZGVyLXN0YW1wIGRlbCAvcSBzcmNcaW5jbHVkZVxjYXRhbG9nXGhlYWRl ci1zdGFtCiBpZiBleGlzdCBkb2Ncc3JjXHNnbWxcdmVyc2lvbi5zZ21sIGRlbCAvcSBkb2Nc c3JjXHNnbWxcdmVyc2lvbi5zZ21sCiAKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFj a2VuZFx1dGlsc1xhY3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jIGRlbCAvcSBzcmNcYmFj a2VuZFx1dGlsc1xhY3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jCitpZiAlRElTVCU9PTEg aWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlccGdfd2FpdF9ldmVudF9pbnNl cnQuYyBkZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlccGdfd2FpdF9ldmVudF9p bnNlcnQuYwogaWYgJURJU1QlPT0xIGlmIGV4aXN0IHNyY1xiYWNrZW5kXHV0aWxzXGFjdGl2 aXR5XHdhaXRfZXZlbnRfdHlwZXMuaCBkZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZp dHlcd2FpdF9ldmVudF90eXBlcy5oCiBpZiAlRElTVCU9PTEgaWYgZXhpc3Qgc3JjXGJhY2tl bmRcdXRpbHNcZm1ncm9pZHMuaCBkZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcZm1ncm9pZHMu aAogaWYgJURJU1QlPT0xIGlmIGV4aXN0IHNyY1xiYWNrZW5kXHV0aWxzXGZtZ3Jwcm90b3Mu aCBkZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcZm1ncnByb3Rvcy5oCi0tIAoyLjM0LjEKCg== --------------oT6Mw3s81ipFYY8oA99SBXzt--