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 1qXOqE-006Bv2-4u for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Aug 2023 16:30:22 +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 1qXOqC-001M0z-NV for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Aug 2023 16:30:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qXOqC-001M0S-8a for pgsql-hackers@lists.postgresql.org; Sat, 19 Aug 2023 16:30:20 +0000 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qXOq8-00152o-Jm for pgsql-hackers@lists.postgresql.org; Sat, 19 Aug 2023 16:30:19 +0000 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3197808bb08so1733507f8f.2 for ; Sat, 19 Aug 2023 09:30:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692462614; x=1693067414; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=tCqybG94/leafRRncB+9vnwK0vFSB35QM23BFuhRREM=; b=la/Vq5Au96FOQHzh9XHITaW1d/6jnQmMDef+No+Rm/2qKFA0JJZtHgpaS/ND4+P0i1 mf2M063aS90gni8kNDY++kZSPmqa7YRqpfSlwpa8119bjL+xpsltVNF3tfMbHYTfG01z H/S7zSav9O7XDQ0CgSn+OcMXhhgcRu+83soXMfmMs0oOT0sNR6sD0MqU/tJKnLe+l9Du mQX0ujWa2Z8mq3N79Gxmzvj/aA+xOPDtF7p0X0KG86Kwf6I2F7ggAhBQv54zRTncEv9/ A21YJwSQu0af3L8pBJjMSbbkjy5TtVdgLGlghhD76vKk9XBQaoxlbnqrehSKXvuc5Vah l8zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692462614; x=1693067414; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tCqybG94/leafRRncB+9vnwK0vFSB35QM23BFuhRREM=; b=P8LwK34RfS2WOGDCAja0m5dsEQAWSjZmPA4lqlJBSPAiPmGFcERA1X2unX+Xf7UHRx mVhbocu+1gBqTY6wGYZrgSRz7aQ22XS6d61KWhQL/IXB/YWpmqtYgnMQADva6l2I/KGO vcMV61tPOww39IuReJqtMOW3p4KQvnxM2HX7ZTH+XQEwmMI82TBvYPUtehXmoGALYcTh VSf6+TtmWmCu/qrFGsMUu8fmTyfWy6vgml6mlx1JmZndRpSR6AacgVhVr86VOUbvmKW3 Va3SMa7+BOZqZ2w0cvz7Ff/VJKBp6qTTxkKYIBAdIGvnmw7VchaMNQBV+P10JJ/bP8OC A3Mg== X-Gm-Message-State: AOJu0Yw83k1KALmrI+RTO/dEsfGjlwPq6SAGmLa+MTKVFVeZLKpo8USp 9J2rr0EuqcuRddAh1i4MXS0= X-Google-Smtp-Source: AGHT+IFh8GrSjW89Mz5bPOhSeXr0B3VR9JA1n8d8ccOw6C+CSHCSArdXYP7zVoL8+4hY3WokICNcoA== X-Received: by 2002:a5d:5961:0:b0:319:77c4:68d1 with SMTP id e33-20020a5d5961000000b0031977c468d1mr1661731wri.23.1692462613980; Sat, 19 Aug 2023 09:30:13 -0700 (PDT) Received: from ?IPV6:2a01:cb11:55e:1700:7896:cda5:60cf:8c6a? ([2a01:cb11:55e:1700:7896:cda5:60cf:8c6a]) by smtp.gmail.com with ESMTPSA id a3-20020a5d4d43000000b00319779ee691sm6662658wru.28.2023.08.19.09.30.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 19 Aug 2023 09:30:13 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------R7dAT0FN00l1J50o3hQ4idLh" Message-ID: <6f507a90-55db-4804-b360-eea4170d15fb@gmail.com> Date: Sat, 19 Aug 2023 18:30:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: WIP: new system catalog pg_wait_event To: Michael Paquier Cc: Masahiro Ikeda , Kyotaro Horiguchi , tgl@sss.pgh.pa.us, pgsql-hackers@lists.postgresql.org References: <2f84b397-d020-493c-924c-610b9dd18f8d@gmail.com> <735fbd560ae914c96faaa23cc8d9a118@oss.nttdata.com> <393fe340ab6980f399402a7dfbe13c4c@oss.nttdata.com> <0159e907-890d-4f11-8754-0311d7027bb7@gmail.com> <4fb03626-79aa-4c10-a002-2e5b71e65d22@gmail.com> Content-Language: en-US From: "Drouvot, Bertrand" In-Reply-To: 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. --------------R7dAT0FN00l1J50o3hQ4idLh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 8/19/23 12:00 PM, Michael Paquier wrote: > On Sat, Aug 19, 2023 at 11:35:01AM +0200, Drouvot, Bertrand wrote: >> Hi, >> >> On 8/18/23 12:31 PM, Michael Paquier wrote: >> Thanks! Please find attached v9 fixing this typo. > > I was looking at v8, and this looks pretty good to me. Great! > I have > spotted a few minor things. > > + proretset => 't', provolatile => 's', prorettype => 'record', > This function should be volatile. Oh right, I copied/pasted this and should have paid more attention to that part. Fixed in v10 attached. > By the way, shouldn't the results of GetWaitEventExtensionNames() in > the SQL function be freed? I mean that: > for (int idx = 0; idx < nbextwaitevents; idx++) > pfree(waiteventnames[idx]); > pfree(waiteventnames); > I don't think it's needed. The reason is that they are palloc in a short-lived memory context while executing pg_get_wait_events(). > + /* Handling extension custom wait events */ > Nit warning: s/Handling/Handle/, or "Handling of". Thanks, fixed in v10. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------R7dAT0FN00l1J50o3hQ4idLh Content-Type: text/plain; charset=UTF-8; name="v10-0001-Add-catalog-pg_wait_events.patch" Content-Disposition: attachment; filename="v10-0001-Add-catalog-pg_wait_events.patch" Content-Transfer-Encoding: base64 RnJvbSA0MGVhZTI5YjgwOTIwZDM4NTllYzc4YmQyNDg1MDM2Y2E0YWI0ZjZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBiZHJvdXZvdEFXUyA8YmRyb3V2b3RAYW1hem9uLmNv bT4KRGF0ZTogU2F0LCA1IEF1ZyAyMDIzIDEyOjM5OjQyICswMDAwClN1YmplY3Q6IFtQQVRD SCB2MTBdIEFkZCBjYXRhbG9nIHBnX3dhaXRfZXZlbnRzCgpBZGRpbmcgYSBuZXcgc3lzdGVt IHZpZXcsIG5hbWVseSBwZ193YWl0X2V2ZW50cywgdGhhdCBkZXNjcmliZXMgdGhlIHdhaXQK ZXZlbnRzLgotLS0KIGRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgICAgICAgICAgICAg ICAgICB8IDEzICsrLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgICAg ICAgICAgIHwgNjQgKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvTWFrZWZpbGUgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbCAgICAgICAgICB8ICAzICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 Ly5naXRpZ25vcmUgICAgICAgICB8ICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L01ha2VmaWxlICAgICAgICAgICB8ICA4ICstCiAuLi4vYWN0aXZpdHkvZ2VuZXJhdGUtd2Fp dF9ldmVudF90eXBlcy5wbCAgICAgfCA1NCArKysrKysrKysrLQogc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvbWVzb24uYnVpbGQgICAgICAgIHwgIDEgKwogc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jICAgICAgIHwgNDQgKysrKysrKysrCiBzcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X2Z1bmNzLmMgfCA5MyArKysrKysrKysr KysrKysrKysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAg ICAgfCAgNiArKwogc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQgICAgICAgICAgICAg ICAgIHwgIDQgKy0KIHNyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCAgICAgICAgICAg ICAgICB8ICAxICsKIC4uLi9tb2R1bGVzL3dvcmtlcl9zcGkvdC8wMDFfd29ya2VyX3NwaS5w bCAgICB8ICA2ICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgICAg ICAgICAgfCAgNCArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N5c3ZpZXdzLm91dCAg ICAgICAgfCAxNiArKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9zeXN2aWV3cy5zcWwgICAg ICAgICAgICAgfCAgNCArCiBzcmMvdG9vbHMvbXN2Yy9Tb2x1dGlvbi5wbSAgICAgICAgICAg ICAgICAgICAgfCAgMyArLQogc3JjL3Rvb2xzL21zdmMvY2xlYW4uYmF0ICAgICAgICAgICAg ICAgICAgICAgIHwgIDEgKwogMTkgZmlsZXMgY2hhbmdlZCwgMzE4IGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQogIDIxLjElIGRvYy9zcmMvc2dtbC8KICA1OS41JSBzcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS8KICAgMy41JSBzcmMvaW5jbHVkZS9jYXRhbG9nLwogICA0 LjUlIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvCiAgIDQuNSUgc3JjL3Rlc3QvCiAgIDMu MCUgc3JjL3Rvb2xzL21zdmMvCiAgIDMuNiUgc3JjLwoKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCmlu ZGV4IDcwNTExYTIzODguLjZjNTNjMWVkOTEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9t b25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAt MTEwMyw3ICsxMTAzLDcgQEAgcG9zdGdyZXMgICAyNzA5MyAgMC4wICAwLjAgIDMwMDk2ICAy NzUyID8gICAgICAgIFNzICAgMTE6MzQgICAwOjAwIHBvc3RncmVzOiBzZXIKICAgJndhaXRf ZXZlbnRfdHlwZXM7CiAKICAgIDxwYXJhPgotICAgICBIZXJlIGlzIGFuIGV4YW1wbGUgb2Yg aG93IHdhaXQgZXZlbnRzIGNhbiBiZSB2aWV3ZWQ6CisgICAgIEhlcmUgYXJlIGV4YW1wbGVz IG9mIGhvdyB3YWl0IGV2ZW50cyBjYW4gYmUgdmlld2VkOgogCiA8cHJvZ3JhbWxpc3Rpbmc+ CiBTRUxFQ1QgcGlkLCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRfZXZlbnQgRlJPTSBwZ19zdGF0 X2FjdGl2aXR5IFdIRVJFIHdhaXRfZXZlbnQgaXMgTk9UIE5VTEw7CkBAIC0xMTEyLDYgKzEx MTIsMTcgQEAgU0VMRUNUIHBpZCwgd2FpdF9ldmVudF90eXBlLCB3YWl0X2V2ZW50IEZST00g cGdfc3RhdF9hY3Rpdml0eSBXSEVSRSB3YWl0X2V2ZW50IGkKICAyNTQwIHwgTG9jayAgICAg ICAgICAgIHwgcmVsYXRpb24KICA2NjQ0IHwgTFdMb2NrICAgICAgICAgIHwgUHJvY0FycmF5 CiAoMiByb3dzKQorPC9wcm9ncmFtbGlzdGluZz4KKworPHByb2dyYW1saXN0aW5nPgorU0VM RUNUIGEucGlkLCBhLndhaXRfZXZlbnQsIHcuZGVzY3JpcHRpb24KK0ZST00gcGdfc3RhdF9h Y3Rpdml0eSBhIEpPSU4gcGdfd2FpdF9ldmVudHMgdworT04gKGEud2FpdF9ldmVudF90eXBl ID0gdy50eXBlIEFORCBhLndhaXRfZXZlbnQgPSB3Lm5hbWUpCitXSEVSRSB3YWl0X2V2ZW50 IGlzIE5PVCBOVUxMIGFuZCBhLnN0YXRlID0gJ2FjdGl2ZSc7CistWyBSRUNPUkQgMSBdLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCitwaWQgICAgICAgICB8IDY4NjY3NAord2FpdF9ldmVudCAgfCBXQUxJbml0 U3luYworZGVzY3JpcHRpb24gfCBXYWl0aW5nIGZvciBhIG5ld2x5IGluaXRpYWxpemVkIFdB TCBmaWxlIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZQogPC9wcm9ncmFtbGlzdGluZz4KICAg IDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21s IGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4IDU3YjIyODA3NmUuLjJi MzVjMmY5MWIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTIyMSw2ICsyMjEsMTEg QEAKICAgICAgIDxlbnRyeT52aWV3czwvZW50cnk+CiAgICAgIDwvcm93PgogCisgICAgIDxy b3c+CisgICAgICA8ZW50cnk+PGxpbmsgbGlua2VuZD0idmlldy1wZy13YWl0LWV2ZW50cyI+ PHN0cnVjdG5hbWU+cGdfd2FpdF9ldmVudHM8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+ CisgICAgICA8ZW50cnk+d2FpdCBldmVudHM8L2VudHJ5PgorICAgICA8L3Jvdz4KKwogICAg IDwvdGJvZHk+CiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KQEAgLTQ4MjUsNCArNDgzMCw2 MyBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9JTiBwZ19wcmVwYXJlZF94 YWN0cyBwcHgKICAgPC90YWJsZT4KICA8L3NlY3QxPgogCisKKyA8c2VjdDEgaWQ9InZpZXct cGctd2FpdC1ldmVudHMiPgorICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfd2FpdF9ldmVudHM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctd2Fp dC1ldmVudHMiPgorICAgPHByaW1hcnk+cGdfd2FpdF9ldmVudHM8L3ByaW1hcnk+CisgIDwv aW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfd2Fp dF9ldmVudHM8L3N0cnVjdG5hbWU+IHByb3ZpZGVzIGRlc2NyaXB0aW9uIGFib3V0IHRoZQor ICAgd2FpdCBldmVudHMuCisgIDwvcGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0 cnVjdG5hbWU+cGdfd2FpdF9ldmVudHM8L3N0cnVjdG5hbWU+IENvbHVtbnM8L3RpdGxlPgor ICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhlYWQ+CisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50eXBlPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IFdhaXQgZXZlbnQgdHlwZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5u YW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIFdhaXQgZXZlbnQgbmFtZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5kZXNjcmlwdGlvbjwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBXYWl0IGV2ZW50 IGRlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAg PC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKIDwvY2hh cHRlcj4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQv TWFrZWZpbGUKaW5kZXggMWM5MjkzODNjNC4uM2UyNzVhYzc1OSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvTWFrZWZpbGUKQEAgLTEzNCw3 ICsxMzQsNyBAQCBzdG9yYWdlL2xtZ3IvbHdsb2NrbmFtZXMuaDogc3RvcmFnZS9sbWdyL2dl bmVyYXRlLWx3bG9ja25hbWVzLnBsIHN0b3JhZ2UvbG1nci9sdwogCSQoTUFLRSkgLUMgc3Rv cmFnZS9sbWdyIGx3bG9ja25hbWVzLmggbHdsb2NrbmFtZXMuYwogCiB1dGlscy9hY3Rpdml0 eS93YWl0X2V2ZW50X3R5cGVzLmg6IHV0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRfZXZl bnRfdHlwZXMucGwgdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQKLQkkKE1B S0UpIC1DIHV0aWxzL2FjdGl2aXR5IHdhaXRfZXZlbnRfdHlwZXMuaCBwZ3N0YXRfd2FpdF9l dmVudC5jCisJJChNQUtFKSAtQyB1dGlscy9hY3Rpdml0eSB3YWl0X2V2ZW50X3R5cGVzLmgg cGdzdGF0X3dhaXRfZXZlbnQuYyB3YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYwogCiAjIHJ1biB0 aGlzIHVuY29uZGl0aW9uYWxseSB0byBhdm9pZCBuZWVkaW5nIHRvIGtub3cgaXRzIGRlcGVu ZGVuY2llcyBoZXJlOgogc3VibWFrZS1jYXRhbG9nLWhlYWRlcnM6CkBAIC0zMTEsNiArMzEx LDcgQEAgbWFpbnRhaW5lci1jbGVhbjogZGlzdGNsZWFuCiAJICAgICAgc3RvcmFnZS9sbWdy L2x3bG9ja25hbWVzLmMgXAogCSAgICAgIHN0b3JhZ2UvbG1nci9sd2xvY2tuYW1lcy5oIFwK IAkgICAgICB1dGlscy9hY3Rpdml0eS9wZ3N0YXRfd2FpdF9ldmVudC5jIFwKKwkgICAgICB1 dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYyBcCiAJICAgICAgdXRpbHMv YWN0aXZpdHkvd2FpdF9ldmVudF90eXBlcy5oIFwKIAkgICAgICB1dGlscy9hZHQvanNvbnBh dGhfZ3JhbS5jIFwKIAkgICAgICB1dGlscy9hZHQvanNvbnBhdGhfZ3JhbS5oIFwKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCBhZjY1YWY2YmRkLi4zNjJiMWVh OGQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMzQyLDMg KzEzNDIsNiBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3N1YnNjcmlwdGlvbl9zdGF0cyBBUwog ICAgICAgICBzcy5zdGF0c19yZXNldAogICAgIEZST00gcGdfc3Vic2NyaXB0aW9uIGFzIHMs CiAgICAgICAgICBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25fc3RhdHMocy5vaWQpIGFzIHNz OworCitDUkVBVEUgVklFVyBwZ193YWl0X2V2ZW50cyBBUworICAgIFNFTEVDVCAqIEZST00g cGdfZ2V0X3dhaXRfZXZlbnRzKCkgQVMgd2U7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS8uZ2l0aWdub3JlIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv LmdpdGlnbm9yZQppbmRleCBkNzcwNzkyODViLi5iZDBjMGM3NzcyIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS8uZ2l0aWdub3JlCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5Ly5naXRpZ25vcmUKQEAgLTEsMiArMSwzIEBACiAvcGdzdGF0X3dh aXRfZXZlbnQuYwogL3dhaXRfZXZlbnRfdHlwZXMuaAorL3dhaXRfZXZlbnRfZnVuY3NfZGF0 YS5jCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZSBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCmluZGV4IGYxMTE3NzQ1ZDQu LmY1N2NmMzk1OGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01h a2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCkBAIC0z MiwxMCArMzIsMTQgQEAgT0JKUyA9IFwKIAlwZ3N0YXRfc3Vic2NyaXB0aW9uLm8gXAogCXBn c3RhdF93YWwubyBcCiAJcGdzdGF0X3hhY3QubyBcCi0Jd2FpdF9ldmVudC5vCisJd2FpdF9l dmVudC5vIFwKKwl3YWl0X2V2ZW50X2Z1bmNzLm8KIAogaW5jbHVkZSAkKHRvcF9zcmNkaXIp L3NyYy9iYWNrZW5kL2NvbW1vbi5tawogCit3YWl0X2V2ZW50X2Z1bmNzLm86IHdhaXRfZXZl bnRfZnVuY3NfZGF0YS5jCit3YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYzogd2FpdF9ldmVudF90 eXBlcy5oCisKIHdhaXRfZXZlbnQubzogcGdzdGF0X3dhaXRfZXZlbnQuYwogcGdzdGF0X3dh aXRfZXZlbnQuYzogd2FpdF9ldmVudF90eXBlcy5oCiAJdG91Y2ggJEAKQEAgLTQ0LDQgKzQ4 LDQgQEAgd2FpdF9ldmVudF90eXBlcy5oOiAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfbmFtZXMudHgKIAkkKFBFUkwpICQoc3JjZGlyKS9n ZW5lcmF0ZS13YWl0X2V2ZW50X3R5cGVzLnBsIC0tY29kZSAkPAogCiBtYWludGFpbmVyLWNs ZWFuOiBjbGVhbgotCXJtIC1mIHdhaXRfZXZlbnRfdHlwZXMuaCBwZ3N0YXRfd2FpdF9ldmVu dC5jCisJcm0gLWYgd2FpdF9ldmVudF90eXBlcy5oIHBnc3RhdF93YWl0X2V2ZW50LmMgd2Fp dF9ldmVudF9mdW5jc19kYXRhLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L2dlbmVyYXRlLXdhaXRfZXZlbnRfdHlwZXMucGwgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9nZW5lcmF0ZS13YWl0X2V2ZW50X3R5cGVzLnBsCmluZGV4IDU2MzM1ZTg3 MzAuLjljNDU1N2Q5MDMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L2dlbmVyYXRlLXdhaXRfZXZlbnRfdHlwZXMucGwKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvZ2VuZXJhdGUtd2FpdF9ldmVudF90eXBlcy5wbApAQCAtNCw2ICs0LDcgQEAK ICMgR2VuZXJhdGUgd2FpdCBldmVudHMgc3VwcG9ydCBmaWxlcyBmcm9tIHdhaXRfZXZlbnRf bmFtZXMudHh0OgogIyAtIHdhaXRfZXZlbnRfdHlwZXMuaCAoaWYgLS1jb2RlIGlzIHBhc3Nl ZCkKICMgLSBwZ3N0YXRfd2FpdF9ldmVudC5jIChpZiAtLWNvZGUgaXMgcGFzc2VkKQorIyAt IHdhaXRfZXZlbnRfZnVuY3NfZGF0YS5jIChpZiAtLWNvZGUgaXMgcGFzc2VkKQogIyAtIHdh aXRfZXZlbnRfdHlwZXMuc2dtbCAoaWYgLS1kb2NzIGlzIHBhc3NlZCkKICMKICMgUG9ydGlv bnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjMsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3Bt ZW50IEdyb3VwCkBAIC05OCw4ICs5OSwxMCBAQCBpZiAoJGdlbl9jb2RlKQogCSMgbXVsdGlw bGUgdGltZXMuCiAJbXkgJGh0bXAgPSAiJG91dHB1dF9wYXRoL3dhaXRfZXZlbnRfdHlwZXMu aC50bXAkJCI7CiAJbXkgJGN0bXAgPSAiJG91dHB1dF9wYXRoL3Bnc3RhdF93YWl0X2V2ZW50 LmMudG1wJCQiOworCW15ICR3Y3RtcCA9ICIkb3V0cHV0X3BhdGgvd2FpdF9ldmVudF9mdW5j c19kYXRhLmMudG1wJCQiOwogCW9wZW4gbXkgJGgsICc+JywgJGh0bXAgb3IgZGllICJDb3Vs ZCBub3Qgb3BlbiAkaHRtcDogJCEiOwogCW9wZW4gbXkgJGMsICc+JywgJGN0bXAgb3IgZGll ICJDb3VsZCBub3Qgb3BlbiAkY3RtcDogJCEiOworCW9wZW4gbXkgJHdjLCAnPicsICR3Y3Rt cCBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICR3Y3RtcDogJCEiOwogCiAJbXkgJGhlYWRlcl9j b21tZW50ID0KIAkgICcvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTEyOSwxMiArMTMyLDE0 IEBAIGlmICgkZ2VuX2NvZGUpCiAKIAlwcmludGYgJGMgJGhlYWRlcl9jb21tZW50LCAncGdz dGF0X3dhaXRfZXZlbnQuYyc7CiAKKwlwcmludGYgJHdjICRoZWFkZXJfY29tbWVudCwgJ3dh aXRfZXZlbnRfZnVuY3NfZGF0YS5jJzsKKworCSMgR2VuZXJhdGUgdGhlIHBnc3RhdF93YWl0 X2V2ZW50LmMgYW5kIHdhaXRfZXZlbnRfdHlwZXMuaCBmaWxlcwogCSMgdWMoKSBpcyBiZWlu ZyB1c2VkIHRvIGZvcmNlIHRoZSBjb21wYXJpc29uIHRvIGJlIGNhc2UtaW5zZW5zaXRpdmUu CiAJZm9yZWFjaCBteSAkd2FpdGNsYXNzIChzb3J0IHsgdWMoJGEpIGNtcCB1YygkYikgfSBr ZXlzICVoYXNod2UpCiAJewotCi0JCSMgRG9uJ3QgZ2VuZXJhdGUgLmMgYW5kIC5oIGZpbGVz IGZvciBFeHRlbnNpb24sIExXTG9jayBhbmQKLQkJIyBMb2NrLCB0aGVzZSBhcmUgaGFuZGxl ZCBpbmRlcGVuZGVudGx5LgorCQkjIERvbid0IGdlbmVyYXRlIHRoZSBwZ3N0YXRfd2FpdF9l dmVudC5jIGFuZCB3YWl0X2V2ZW50X3R5cGVzLmggZmlsZXMKKwkJIyBmb3IgRXh0ZW5zaW9u LCBMV0xvY2sgYW5kIExvY2ssIHRoZXNlIGFyZSBoYW5kbGVkIGluZGVwZW5kZW50bHkuCiAJ CW5leHQKIAkJICBpZiAoICR3YWl0Y2xhc3MgZXEgJ1dhaXRFdmVudEV4dGVuc2lvbicKIAkJ CXx8ICR3YWl0Y2xhc3MgZXEgJ1dhaXRFdmVudExXTG9jaycKQEAgLTE4MywxNCArMTg4LDU1 IEBAIGlmICgkZ2VuX2NvZGUpCiAJCXByaW50ZiAkYyAifVxuXG4iOwogCX0KIAorCSMgR2Vu ZXJhdGUgd2FpdF9ldmVudF9mdW5jc19kYXRhLmMsIGZvciB0aGUgY29udGVudHMgb2Ygc3Rh dGljIEMKKwkjIHN0cnVjdHVyZSBob2xkaW5nIGFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQg dGhlIHdhaXQgZXZlbnRzLgorCSMgdWMoKSBpcyBiZWluZyB1c2VkIHRvIGZvcmNlIHRoZSBj b21wYXJpc29uIHRvIGJlIGNhc2UtaW5zZW5zaXRpdmUsCisJIyBldmVuIHRob3VnaCBpdCBp cyBub3Qgc3RyaWN0bHkgbWFuZGF0b3J5IGhlcmUuCisJZm9yZWFjaCBteSAkd2FpdGNsYXNz IChzb3J0IHsgdWMoJGEpIGNtcCB1YygkYikgfSBrZXlzICVoYXNod2UpCisJeworCQlteSAk bGFzdCA9ICR3YWl0Y2xhc3M7CisJCSRsYXN0ID1+IHMvXldhaXRFdmVudC8vOworCisJCWZv cmVhY2ggbXkgJHdldiAoQHsgJGhhc2h3ZXskd2FpdGNsYXNzfSB9KQorCQl7CisJCQlteSAk bmV3X2Rlc2MgPSBzdWJzdHIgJHdldi0+WzJdLCAxLCAtMjsKKwkJCSMgRXNjYXBlIHNpbmds ZSBxdW90ZXMuCisJCQkkbmV3X2Rlc2MgPX4gcy8nL1xcJy9nOworCisJCQkjIFJlcGxhY2Ug dGhlICJxdW90ZSIgbWFya3VwcyBieSByZWFsIG9uZXMuCisJCQkkbmV3X2Rlc2MgPX4gcy88 cXVvdGU+KC4qPyk8XC9xdW90ZT4vXFwiJDFcXCIvZzsKKworCQkJIyBSZW1vdmUgU0dNTCBt YXJrdXBzLgorCQkJJG5ld19kZXNjID1+IHMvPC4qPz4oLio/KTwuKj8+LyQxL2c7CisKKwkJ CSMgVHdlYWsgY29udGVudHMgYWJvdXQgbGlua3MgPHhyZWYgbGlua2VuZD0idGV4dCIvPiBv biBHVUNzLAorCQkJd2hpbGUgKG15ICgkY2FwdHVyZSkgPQorCQkJCSRuZXdfZGVzYyA9fiBt Lzx4cmVmIGxpbmtlbmQ9Imd1Yy0oLio/KSJcLz4vZykKKwkJCXsKKwkJCQkkY2FwdHVyZSA9 fiBzLy0vXy9nOworCQkJCSRuZXdfZGVzYyA9fiBzLzx4cmVmIGxpbmtlbmQ9Imd1Yy0uKj8i XC8+LyRjYXB0dXJlL2c7CisJCQl9CisJCQkjIFRoZW4gcmVtb3ZlIGFueSByZWZlcmVuY2Ug dG8gInNlZSA8eHJlZiBsaW5rZW5kPSJ0ZXh0Ii8+Ii4KKwkJCSRuZXdfZGVzYyA9fiBzLzsg c2VlLiokLy87CisKKwkJCSMgT25lIGVsZW1lbnQgdG8gdGhlIEMgc3RydWN0dXJlIGhvbGRp bmcgdGhlIHdhaXQgZXZlbnQKKwkJCSMgaW5mbywgYXMgb2YgKHR5cGUsIG5hbWUsIGRlc2Ny aXB0aW9uKS4KKwkJCXByaW50ZiAkd2MgIlx0e1wiJXNcIiwgXCIlc1wiLCBcIiVzXCJ9LFxu IiwgJGxhc3QsICR3ZXYtPlsxXSwKKwkJCSAgJG5ld19kZXNjOworCQl9CisJfQorCiAJcHJp bnRmICRoICIjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdBSVRfRVZFTlRf VFlQRVNfSCAqL1xuIjsKIAljbG9zZSAkaDsKIAljbG9zZSAkYzsKKwljbG9zZSAkd2M7CiAK IAlyZW5hbWUoJGh0bXAsICIkb3V0cHV0X3BhdGgvd2FpdF9ldmVudF90eXBlcy5oIikKIAkg IHx8IGRpZSAicmVuYW1lOiAkaHRtcCB0byAkb3V0cHV0X3BhdGgvd2FpdF9ldmVudF90eXBl cy5oOiAkISI7CiAJcmVuYW1lKCRjdG1wLCAiJG91dHB1dF9wYXRoL3Bnc3RhdF93YWl0X2V2 ZW50LmMiKQogCSAgfHwgZGllICJyZW5hbWU6ICRjdG1wIHRvICRvdXRwdXRfcGF0aC9wZ3N0 YXRfd2FpdF9ldmVudC5jOiAkISI7CisJcmVuYW1lKCR3Y3RtcCwgIiRvdXRwdXRfcGF0aC93 YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYyIpCisJICB8fCBkaWUgInJlbmFtZTogJHdjdG1wIHRv ICRvdXRwdXRfcGF0aC93YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYzogJCEiOwogfQogIyBHZW5l cmF0ZSB0aGUgLnNnbWwgZmlsZS4KIGVsc2lmICgkZ2VuX2RvY3MpCkBAIC0yNDksNyArMjk1 LDcgQEAgVXNhZ2U6IHBlcmwgIFstLW91dHB1dCA8cGF0aD5dIFstLWNvZGUgXSBbIC0tc2dt bCBdIGlucHV0X2ZpbGUKIAogT3B0aW9uczoKICAgICAtLW91dGRpciAgICAgICAgIE91dHB1 dCBkaXJlY3RvcnkgKGRlZmF1bHQgJy4nKQotICAgIC0tY29kZSAgICAgICAgICAgR2VuZXJh dGUgd2FpdF9ldmVudF90eXBlcy5oIGFuZCBwZ3N0YXRfd2FpdF9ldmVudC5jLgorICAgIC0t Y29kZSAgICAgICAgICAgR2VuZXJhdGUgQyBhbmQgaGVhZGVyIGZpbGVzLgogICAgIC0tc2dt bCAgICAgICAgICAgR2VuZXJhdGUgd2FpdF9ldmVudF90eXBlcy5zZ21sLgogCiBnZW5lcmF0 ZS13YWl0X2V2ZW50X3R5cGVzLnBsIGdlbmVyYXRlcyB0aGUgU0dNTCBkb2N1bWVudGF0aW9u IGFuZCBjb2RlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9tZXNv bi5idWlsZCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCmluZGV4 IDk2MzNmMzYyM2MuLjQ2YTI3ZTc1NDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L21lc29uLmJ1aWxkCkBAIC0yMyw2ICsyMyw3IEBAIGJhY2tlbmRfc291cmNlcyArPSBmaWxl cygKICMgc2VlbXMgbmljZXIgdG8gbm90IGFkZCB0aGF0IGFzIGFuIGluY2x1ZGUgcGF0aCBm b3IgdGhlIHdob2xlIGJhY2tlbmQuCiB3YWl0ZXZlbnRfc291cmNlcyA9IGZpbGVzKAogICAn d2FpdF9ldmVudC5jJywKKyAgJ3dhaXRfZXZlbnRfZnVuY3MuYycsCiApCiAKIHdhaXRfZXZl bnQgPSBzdGF0aWNfbGlicmFyeSgnd2FpdF9ldmVudF9uYW1lcycsCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKaW5kZXggNGI5YjVjMDFjYi4uZDMxNzY3ZGY4 MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudC5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwpAQCAtMjY0 LDYgKzI2NCw1MCBAQCBHZXRXYWl0RXZlbnRFeHRlbnNpb25JZGVudGlmaWVyKHVpbnQxNiBl dmVudElkKQogfQogCiAKKy8qCisgKiBSZXR1cm5zIGEgbGlzdCBvZiBjdXJyZW50bHkgZGVm aW5lZCBjdXN0b20gd2FpdCBldmVudCBuYW1lcyBmb3IgZXh0ZW5zaW9ucy4KKyAqIFRoZSBy ZXN1bHQgaXMgYSBwYWxsb2MnZCBhcnJheSwgd2l0aCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRz IHJldHVybmVkIGludG8KKyAqICpud2FpdGV2ZW50cy4KKyAqLworY2hhciAqKgorR2V0V2Fp dEV2ZW50RXh0ZW5zaW9uTmFtZXMoaW50ICpud2FpdGV2ZW50cykKK3sKKwljaGFyCSAgKip3 YWl0ZXZlbnRuYW1lczsKKwlXYWl0RXZlbnRFeHRlbnNpb25FbnRyeUJ5TmFtZSAqaGVudHJ5 OworCUhBU0hfU0VRX1NUQVRVUyBoYXNoX3NlcTsKKwlpbnQJCQlpbmRleDsKKwlpbnQJCQll bHM7CisKKwlMV0xvY2tBY3F1aXJlKFdhaXRFdmVudEV4dGVuc2lvbkxvY2ssIExXX1NIQVJF RCk7CisKKwkvKiBOb3cgd2UgY2FuIHNhZmVseSBjb3VudCB0aGUgbnVtYmVyIG9mIGVudHJp ZXMgKi8KKwllbHMgPSBoYXNoX2dldF9udW1fZW50cmllcyhXYWl0RXZlbnRFeHRlbnNpb25I YXNoQnlOYW1lKTsKKworCS8qIEFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgYWxsIGVudHJp ZXMgKi8KKwl3YWl0ZXZlbnRuYW1lcyA9IHBhbGxvYyhlbHMgKiBzaXplb2YoY2hhcltOQU1F REFUQUxFTl0pKTsKKworCS8qIE5vdyBzY2FuIHRoZSBoYXNoIHRhYmxlIHRvIGNvcHkgdGhl IGRhdGEgKi8KKwloYXNoX3NlcV9pbml0KCZoYXNoX3NlcSwgV2FpdEV2ZW50RXh0ZW5zaW9u SGFzaEJ5TmFtZSk7CisKKwlpbmRleCA9IDA7CisJd2hpbGUgKChoZW50cnkgPSAoV2FpdEV2 ZW50RXh0ZW5zaW9uRW50cnlCeU5hbWUgKikgaGFzaF9zZXFfc2VhcmNoKCZoYXNoX3NlcSkp ICE9IE5VTEwpCisJeworCisJCXdhaXRldmVudG5hbWVzW2luZGV4XSA9IHBhbGxvYyhzaXpl b2YoY2hhcltOQU1FREFUQUxFTl0pKTsKKwkJc3RybGNweSh3YWl0ZXZlbnRuYW1lc1tpbmRl eF0sIGhlbnRyeS0+d2FpdF9ldmVudF9uYW1lLAorCQkJCXNpemVvZihjaGFyW05BTUVEQVRB TEVOXSkpOworCisJCWluZGV4Kys7CisJfQorCisJTFdMb2NrUmVsZWFzZShXYWl0RXZlbnRF eHRlbnNpb25Mb2NrKTsKKworCUFzc2VydChpbmRleCA9PSBlbHMpOworCisJKm53YWl0ZXZl bnRzID0gaW5kZXg7CisJcmV0dXJuIHdhaXRldmVudG5hbWVzOworfQorCiAvKgogICogQ29u ZmlndXJlIHdhaXQgZXZlbnQgcmVwb3J0aW5nIHRvIHJlcG9ydCB3YWl0IGV2ZW50cyB0byAq d2FpdF9ldmVudF9pbmZvLgogICogKndhaXRfZXZlbnRfaW5mbyBuZWVkcyB0byBiZSB2YWxp ZCB1bnRpbCBwZ3N0YXRfcmVzZXRfd2FpdF9ldmVudF9zdG9yYWdlKCkKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfZnVuY3MuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfZnVuY3MuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44MWNlODE2NmI2Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9mdW5jcy5jCkBAIC0w LDAgKzEsOTMgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogd2FpdF9ldmVudF9m dW5jcy5jCisgKgkgIEZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIHdhaXQgZXZlbnQgZGF0YS4K KyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBH bG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5 NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICoKKyAq IElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRf ZXZlbnRfZnVuY3MuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpbmNsdWRl ICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiZnVuY2FwaS5oIgorI2luY2x1ZGUgInV0aWxz L2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvd2FpdF9ldmVudC5oIgorCisvKgorICog RWFjaCB3YWl0IGV2ZW50IGhhcyBvbmUgY29ycmVzcG9uZGluZyBlbnRyeSBpbiB0aGlzIHN0 cnVjdHVyZSwgZmVkIHRvCisgKiB0aGUgU1FMIGZ1bmN0aW9uIG9mIHRoaXMgZmlsZS4KKyAq Lworc3RhdGljIGNvbnN0IHN0cnVjdAoreworCWNvbnN0IGNoYXIgKnR5cGU7CisJY29uc3Qg Y2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpkZXNjcmlwdGlvbjsKK30KKword2FpdEV2ZW50 RGF0YVtdID0KK3sKKyNpbmNsdWRlICJ3YWl0X2V2ZW50X2Z1bmNzX2RhdGEuYyIKKwkvKiBl bmQgb2YgbGlzdCAqLworCXtOVUxMLCBOVUxMLCBOVUxMfQorfTsKKworCisvKgorICogcGdf Z2V0X3dhaXRfZXZlbnRzCisgKgorICogTGlzdCBhbGwgdGhlIHdhaXQgZXZlbnRzIHR5cGUs IG5hbWUgYW5kIGRlc2NyaXB0aW9uLgorICovCitEYXR1bQorcGdfZ2V0X3dhaXRfZXZlbnRz KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisjZGVmaW5lIFBHX0dFVF9XQUlUX0VWRU5UU19DT0xT IDMKKwlSZXR1cm5TZXRJbmZvICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8t PnJlc3VsdGluZm87CisJY2hhcgkgICoqd2FpdGV2ZW50bmFtZXM7CisJaW50CQkJbmJleHR3 YWl0ZXZlbnRzOworCisJLyogQnVpbGQgdHVwbGVzdG9yZSB0byBob2xkIHRoZSByZXN1bHQg cm93cyAqLworCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNpbmZvLCAwKTsKKworCS8qIEl0ZXJh dGUgb3ZlciB0aGUgbGlzdCBvZiB3YWl0IGV2ZW50cyAqLworCWZvciAoaW50IGlkeCA9IDA7 IHdhaXRFdmVudERhdGFbaWR4XS50eXBlICE9IE5VTEw7IGlkeCsrKQorCXsKKwkJRGF0dW0J CXZhbHVlc1tQR19HRVRfV0FJVF9FVkVOVFNfQ09MU10gPSB7MH07CisJCWJvb2wJCW51bGxz W1BHX0dFVF9XQUlUX0VWRU5UU19DT0xTXSA9IHswfTsKKworCQl2YWx1ZXNbMF0gPSBDU3Ry aW5nR2V0VGV4dERhdHVtKHdhaXRFdmVudERhdGFbaWR4XS50eXBlKTsKKwkJdmFsdWVzWzFd ID0gQ1N0cmluZ0dldFRleHREYXR1bSh3YWl0RXZlbnREYXRhW2lkeF0ubmFtZSk7CisJCXZh bHVlc1syXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0od2FpdEV2ZW50RGF0YVtpZHhdLmRlc2Ny aXB0aW9uKTsKKworCQl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNldFJlc3VsdCwg cnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsKKwl9CisKKwkvKiBIYW5kbGUgZXh0 ZW5zaW9uIGN1c3RvbSB3YWl0IGV2ZW50cyAqLworCXdhaXRldmVudG5hbWVzID0gR2V0V2Fp dEV2ZW50RXh0ZW5zaW9uTmFtZXMoJm5iZXh0d2FpdGV2ZW50cyk7CisKKwlmb3IgKGludCBp ZHggPSAwOyBpZHggPCBuYmV4dHdhaXRldmVudHM7IGlkeCsrKQorCXsKKwkJU3RyaW5nSW5m b0RhdGEgYnVmOworCQlEYXR1bQkJdmFsdWVzW1BHX0dFVF9XQUlUX0VWRU5UU19DT0xTXSA9 IHswfTsKKwkJYm9vbAkJbnVsbHNbUEdfR0VUX1dBSVRfRVZFTlRTX0NPTFNdID0gezB9Owor CisKKwkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRleHREYXR1bSgiRXh0ZW5zaW9uIik7CisJ CXZhbHVlc1sxXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0od2FpdGV2ZW50bmFtZXNbaWR4XSk7 CisKKwkJaW5pdFN0cmluZ0luZm8oJmJ1Zik7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmco JmJ1ZiwgIldhaXRpbmcgZm9yIGN1c3RvbSB3YWl0IGV2ZW50IFwiIik7CisJCWFwcGVuZFN0 cmluZ0luZm9TdHJpbmcoJmJ1Ziwgd2FpdGV2ZW50bmFtZXNbaWR4XSk7CisJCWFwcGVuZFN0 cmluZ0luZm9TdHJpbmcoJmJ1ZiwgIlwiIGRlZmluZWQgYnkgYW4gZXh0ZW5zaW9uIG1vZHVs ZSIpOworCisJCXZhbHVlc1syXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oYnVmLmRhdGEpOwor CisJCXR1cGxlc3RvcmVfcHV0dmFsdWVzKHJzaW5mby0+c2V0UmVzdWx0LCByc2luZm8tPnNl dERlc2MsIHZhbHVlcywgbnVsbHMpOworCX0KKworCXJldHVybiAoRGF0dW0pIDA7Cit9CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA2OTk2MDczOTg5Li4xMmZhYzE1Y2ViIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTU0MTcsNiArNTQxNywxMiBAQAogICBw cm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1lcyA9PiAne3BpZCxk YXRpZCxwaWQsdXNlc3lzaWQsYXBwbGljYXRpb25fbmFtZSxzdGF0ZSxxdWVyeSx3YWl0X2V2 ZW50X3R5cGUsd2FpdF9ldmVudCx4YWN0X3N0YXJ0LHF1ZXJ5X3N0YXJ0LGJhY2tlbmRfc3Rh cnQsc3RhdGVfY2hhbmdlLGNsaWVudF9hZGRyLGNsaWVudF9ob3N0bmFtZSxjbGllbnRfcG9y dCxiYWNrZW5kX3hpZCxiYWNrZW5kX3htaW4sYmFja2VuZF90eXBlLHNzbCxzc2x2ZXJzaW9u LHNzbGNpcGhlcixzc2xiaXRzLHNzbF9jbGllbnRfZG4sc3NsX2NsaWVudF9zZXJpYWwsc3Ns X2lzc3Vlcl9kbixnc3NfYXV0aCxnc3NfcHJpbmMsZ3NzX2VuYyxnc3NfZGVsZWdhdGlvbixs ZWFkZXJfcGlkLHF1ZXJ5X2lkfScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfYWN0aXZp dHknIH0sCit7IG9pZCA9PiAnODQwMycsIGRlc2NyID0+ICdkZXNjcmliZSB3YWl0IGV2ZW50 cycsCisgIHByb25hbWUgPT4gJ3BnX2dldF93YWl0X2V2ZW50cycsIHByb2Nvc3QgPT4gJzEw JywgcHJvcm93cyA9PiAnMjUwJywKKyAgcHJvcmV0c2V0ID0+ICd0JywgcHJvdm9sYXRpbGUg PT4gJ3YnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLAorICBwcm9hcmd0eXBlcyA9PiAnJywg cHJvYWxsYXJndHlwZXMgPT4gJ3t0ZXh0LHRleHQsdGV4dH0nLAorICBwcm9hcmdtb2RlcyA9 PiAne28sbyxvfScsIHByb2FyZ25hbWVzID0+ICd7dHlwZSxuYW1lLGRlc2NyaXB0aW9ufScs CisgIHByb3NyYyA9PiAncGdfZ2V0X3dhaXRfZXZlbnRzJyB9LAogeyBvaWQgPT4gJzMzMTgn LAogICBkZXNjciA9PiAnc3RhdGlzdGljczogaW5mb3JtYXRpb24gYWJvdXQgcHJvZ3Jlc3Mg b2YgYmFja2VuZHMgcnVubmluZyBtYWludGVuYW5jZSBjb21tYW5kJywKICAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbycsIHByb3Jvd3MgPT4gJzEwMCcsIHByb3Jl dHNldCA9PiAndCcsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9tZXNvbi5idWls ZCBiL3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCmluZGV4IDZkZTVkOTM3OTkuLmMx Nzk0Nzg2MTEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCisr KyBiL3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCkBAIC0xLDYgKzEsNiBAQAogIyBD b3B5cmlnaHQgKGMpIDIwMjItMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQg R3JvdXAKIAotd2FpdF9ldmVudF9vdXRwdXQgPSBbJ3dhaXRfZXZlbnRfdHlwZXMuaCcsICdw Z3N0YXRfd2FpdF9ldmVudC5jJ10KK3dhaXRfZXZlbnRfb3V0cHV0ID0gWyd3YWl0X2V2ZW50 X3R5cGVzLmgnLCAncGdzdGF0X3dhaXRfZXZlbnQuYycsICd3YWl0X2V2ZW50X2Z1bmNzX2Rh dGEuYyddCiB3YWl0X2V2ZW50X3RhcmdldCA9IGN1c3RvbV90YXJnZXQoJ3dhaXRfZXZlbnRf bmFtZXMnLAogICBpbnB1dDogZmlsZXMoJy4uLy4uL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv d2FpdF9ldmVudF9uYW1lcy50eHQnKSwKICAgb3V0cHV0OiB3YWl0X2V2ZW50X291dHB1dCwK QEAgLTExLDcgKzExLDcgQEAgd2FpdF9ldmVudF90YXJnZXQgPSBjdXN0b21fdGFyZ2V0KCd3 YWl0X2V2ZW50X25hbWVzJywKICAgXSwKICAgYnVpbGRfYnlfZGVmYXVsdDogdHJ1ZSwKICAg aW5zdGFsbDogdHJ1ZSwKLSAgaW5zdGFsbF9kaXI6IFtkaXJfaW5jbHVkZV9zZXJ2ZXIgLyAn dXRpbHMnLCBmYWxzZV0sCisgIGluc3RhbGxfZGlyOiBbZGlyX2luY2x1ZGVfc2VydmVyIC8g J3V0aWxzJywgZmFsc2UsIGZhbHNlXSwKICkKIAogd2FpdF9ldmVudF90eXBlc19oID0gd2Fp dF9ldmVudF90YXJnZXRbMF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRf ZXZlbnQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaAppbmRleCAzZWViZGZh ZDM4Li4wMDliMDNhNTIwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy93YWl0X2V2 ZW50LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oCkBAIC02Myw2ICs2 Myw3IEBAIGV4dGVybiB2b2lkIFdhaXRFdmVudEV4dGVuc2lvblNobWVtSW5pdCh2b2lkKTsK IGV4dGVybiBTaXplIFdhaXRFdmVudEV4dGVuc2lvblNobWVtU2l6ZSh2b2lkKTsKIAogZXh0 ZXJuIHVpbnQzMiBXYWl0RXZlbnRFeHRlbnNpb25OZXcoY29uc3QgY2hhciAqd2FpdF9ldmVu dF9uYW1lKTsKK2V4dGVybiBjaGFyICoqR2V0V2FpdEV2ZW50RXh0ZW5zaW9uTmFtZXMoaW50 ICpud2FpdGV2ZW50cyk7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHBnc3RhdF9yZXBvcnRfd2Fp dF9zdGFydCgpIC0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS90 LzAwMV93b3JrZXJfc3BpLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3QvMDAx X3dvcmtlcl9zcGkucGwKaW5kZXggMjZiOGE0OWJlYy4uMjk2NWFjZDc4OSAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3QvMDAxX3dvcmtlcl9zcGkucGwKKysr IGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3QvMDAxX3dvcmtlcl9zcGkucGwKQEAg LTQ3LDYgKzQ3LDEyIEBAICRyZXN1bHQgPSAkbm9kZS0+cG9sbF9xdWVyeV91bnRpbCgKIGlz KCRyZXN1bHQsIDEsCiAJJ2R5bmFtaWMgYmd3b3JrZXIgaGFzIHJlcG9ydGVkICJ3b3JrZXJf c3BpX21haW4iIGFzIHdhaXQgZXZlbnQnKTsKIAorIyBDaGVjayB0aGUgd2FpdCBldmVudCB1 c2VkIGJ5IHRoZSBkeW5hbWljIGJnd29ya2VyIGFwcGVhcnMgaW4gcGdfd2FpdF9ldmVudHMK KyRyZXN1bHQgPSAkbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJcVtTRUxFQ1QgY291 bnQoKikgPiAwIGZyb20gcGdfd2FpdF9ldmVudHMgd2hlcmUgdHlwZSA9ICdFeHRlbnNpb24n IGFuZCBuYW1lID0gJ3dvcmtlcl9zcGlfbWFpbic7XQorKTsKK2lzKCRyZXN1bHQsICd0Jywg JyJ3b3JrZXJfc3BpX21haW4iIGlzIHJlcG9ydGVkIGluIHBnX3dhaXRfZXZlbnRzJyk7CisK IG5vdGUgInRlc3RpbmcgYmd3b3JrZXJzIGxvYWRlZCB3aXRoIHNoYXJlZF9wcmVsb2FkX2xp YnJhcmllcyI7CiAKICMgQ3JlYXRlIHRoZSBkYXRhYmFzZSBmaXJzdCBzbyBhcyB0aGUgd29y a2VycyBjYW4gY29ubmVjdCB0byBpdCB3aGVuCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0CmluZGV4IGUwN2FmY2Q0YWEuLjU1NDQ3ZDgwOTAgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0yNjMxLDYgKzI2MzEsMTAgQEAgcGdfdmlld3N8IFNF TEVDVCBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgIEZST00gKHBnX2NsYXNzIGMKICAg ICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJlbG5hbWVzcGFj ZSkpKQogICBXSEVSRSAoYy5yZWxraW5kID0gJ3YnOjoiY2hhciIpOworcGdfd2FpdF9ldmVu dHN8IFNFTEVDVCB0eXBlLAorICAgIG5hbWUsCisgICAgZGVzY3JpcHRpb24KKyAgIEZST00g cGdfZ2V0X3dhaXRfZXZlbnRzKCkgd2UodHlwZSwgbmFtZSwgZGVzY3JpcHRpb24pOwogU0VM RUNUIHRhYmxlbmFtZSwgcnVsZW5hbWUsIGRlZmluaXRpb24gRlJPTSBwZ19ydWxlcwogV0hF UkUgc2NoZW1hbmFtZSA9ICdwZ19jYXRhbG9nJwogT1JERVIgQlkgdGFibGVuYW1lLCBydWxl bmFtZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2aWV3cy5vdXQKaW5kZXggMDAx YzZlN2ViOS4uYWFlNWQ1MWUxYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zeXN2aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2 aWV3cy5vdXQKQEAgLTEzNCw2ICsxMzQsMjIgQEAgc2VsZWN0IG5hbWUsIHNldHRpbmcgZnJv bSBwZ19zZXR0aW5ncyB3aGVyZSBuYW1lIGxpa2UgJ2VuYWJsZSUnOwogIGVuYWJsZV90aWRz Y2FuICAgICAgICAgICAgICAgICB8IG9uCiAoMjEgcm93cykKIAorLS0gVGhlcmUgYXJlIGFs d2F5cyB3YWl0IGV2ZW50IGRlc2NyaXB0aW9ucyBmb3IgdmFyaW91cyB0eXBlcy4KK3NlbGVj dCB0eXBlLCBjb3VudCgqKSA+IDAgYXMgb2sgRlJPTSBwZ193YWl0X2V2ZW50cworICBncm91 cCBieSB0eXBlIG9yZGVyIGJ5IHR5cGUgQ09MTEFURSAiQyI7CisgICB0eXBlICAgIHwgb2sg CistLS0tLS0tLS0tLSstLS0tCisgQWN0aXZpdHkgIHwgdAorIEJ1ZmZlclBpbiB8IHQKKyBD bGllbnQgICAgfCB0CisgRXh0ZW5zaW9uIHwgdAorIElPICAgICAgICB8IHQKKyBJUEMgICAg ICAgfCB0CisgTFdMb2NrICAgIHwgdAorIExvY2sgICAgICB8IHQKKyBUaW1lb3V0ICAgfCB0 CisoOSByb3dzKQorCiAtLSBUZXN0IHRoYXQgdGhlIHBnX3RpbWV6b25lX25hbWVzIGFuZCBw Z190aW1lem9uZV9hYmJyZXZzIHZpZXdzIGFyZQogLS0gbW9yZS1vci1sZXNzIHdvcmtpbmcu ICBXZSBjYW4ndCB0ZXN0IHRoZWlyIGNvbnRlbnRzIGluIGFueSBncmVhdCBkZXRhaWwKIC0t IHdpdGhvdXQgdGhlIG91dHB1dHMgY2hhbmdpbmcgYW55dGltZSBJQU5BIHVwZGF0ZXMgdGhl IHVuZGVybHlpbmcgZGF0YSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N5 c3ZpZXdzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N5c3ZpZXdzLnNxbAppbmRleCAz NTFlNDY5Yzc3Li42YjRlMjQ2MDFkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9zeXN2aWV3cy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3lzdmlld3Muc3Fs CkBAIC01NSw2ICs1NSwxMCBAQCBzZWxlY3QgY291bnQoKikgPSAwIGFzIG9rIGZyb20gcGdf c3RhdF93YWxfcmVjZWl2ZXI7CiAtLSBhIHJlZ3Jlc3Npb24gdGVzdCBydW4uCiBzZWxlY3Qg bmFtZSwgc2V0dGluZyBmcm9tIHBnX3NldHRpbmdzIHdoZXJlIG5hbWUgbGlrZSAnZW5hYmxl JSc7CiAKKy0tIFRoZXJlIGFyZSBhbHdheXMgd2FpdCBldmVudCBkZXNjcmlwdGlvbnMgZm9y IHZhcmlvdXMgdHlwZXMuCitzZWxlY3QgdHlwZSwgY291bnQoKikgPiAwIGFzIG9rIEZST00g cGdfd2FpdF9ldmVudHMKKyAgZ3JvdXAgYnkgdHlwZSBvcmRlciBieSB0eXBlIENPTExBVEUg IkMiOworCiAtLSBUZXN0IHRoYXQgdGhlIHBnX3RpbWV6b25lX25hbWVzIGFuZCBwZ190aW1l em9uZV9hYmJyZXZzIHZpZXdzIGFyZQogLS0gbW9yZS1vci1sZXNzIHdvcmtpbmcuICBXZSBj YW4ndCB0ZXN0IHRoZWlyIGNvbnRlbnRzIGluIGFueSBncmVhdCBkZXRhaWwKIC0tIHdpdGhv dXQgdGhlIG91dHB1dHMgY2hhbmdpbmcgYW55dGltZSBJQU5BIHVwZGF0ZXMgdGhlIHVuZGVy bHlpbmcgZGF0YSwKZGlmZiAtLWdpdCBhL3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtIGIv c3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KaW5kZXggYzk4YTFlOWY5YS4uYTUwZjczMDI2 MCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KKysrIGIvc3JjL3Rv b2xzL21zdmMvU29sdXRpb24ucG0KQEAgLTU4OCw3ICs1ODgsOCBAQCBzdWIgR2VuZXJhdGVG aWxlcwogCQkJJ3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnRfdHlwZXMuaCcsCiAJCQkn c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudF9uYW1lcy50eHQnKSkKIAl7 Ci0JCXByaW50ICJHZW5lcmF0aW5nIHBnc3RhdF93YWl0X2V2ZW50LmMgYW5kIHdhaXRfZXZl bnRfdHlwZXMuaC4uLlxuIjsKKwkJcHJpbnQKKwkJICAiR2VuZXJhdGluZyBwZ3N0YXRfd2Fp dF9ldmVudC5jLCB3YWl0X2V2ZW50X3R5cGVzLmggYW5kIHdhaXRfZXZlbnRfZnVuY3NfZGF0 YS5jLi4uXG4iOwogCQlteSAkYWN0aXYgPSAnc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkn OwogCQlzeXN0ZW0oCiAJCQkicGVybCAkYWN0aXYvZ2VuZXJhdGUtd2FpdF9ldmVudF90eXBl cy5wbCAtLW91dGRpciAkYWN0aXYgLS1jb2RlICRhY3Rpdi93YWl0X2V2ZW50X25hbWVzLnR4 dCIKZGlmZiAtLWdpdCBhL3NyYy90b29scy9tc3ZjL2NsZWFuLmJhdCBiL3NyYy90b29scy9t c3ZjL2NsZWFuLmJhdAppbmRleCA3Y2IyM2VhODk0Li5hYzhkYTU4MWU0IDEwMDc1NQotLS0g YS9zcmMvdG9vbHMvbXN2Yy9jbGVhbi5iYXQKKysrIGIvc3JjL3Rvb2xzL21zdmMvY2xlYW4u YmF0CkBAIC01NSw2ICs1NSw3IEBAIGlmIGV4aXN0IHNyY1xpbmNsdWRlXGNhdGFsb2dcaGVh ZGVyLXN0YW1wIGRlbCAvcSBzcmNcaW5jbHVkZVxjYXRhbG9nXGhlYWRlci1zdGFtCiBpZiBl eGlzdCBkb2Ncc3JjXHNnbWxcdmVyc2lvbi5zZ21sIGRlbCAvcSBkb2Ncc3JjXHNnbWxcdmVy c2lvbi5zZ21sCiAKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFja2VuZFx1dGlsc1xh Y3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jIGRlbCAvcSBzcmNcYmFja2VuZFx1dGlsc1xh Y3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jCitpZiAlRElTVCU9PTEgaWYgZXhpc3Qgc3Jj XGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlcd2FpdF9ldmVudF9mdW5jc19kYXRhLmMgZGVsIC9x IHNyY1xiYWNrZW5kXHV0aWxzXGFjdGl2aXR5XHdhaXRfZXZlbnRfZnVuY3NfZGF0YS5jCiBp ZiAlRElTVCU9PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlcd2FpdF9l dmVudF90eXBlcy5oIGRlbCAvcSBzcmNcYmFja2VuZFx1dGlsc1xhY3Rpdml0eVx3YWl0X2V2 ZW50X3R5cGVzLmgKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFja2VuZFx1dGlsc1xm bWdyb2lkcy5oIGRlbCAvcSBzcmNcYmFja2VuZFx1dGlsc1xmbWdyb2lkcy5oCiBpZiAlRElT VCU9PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcZm1ncnByb3Rvcy5oIGRlbCAvcSBz cmNcYmFja2VuZFx1dGlsc1xmbWdycHJvdG9zLmgKLS0gCjIuMzQuMQoK --------------R7dAT0FN00l1J50o3hQ4idLh--