Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oaAIv-0000Ai-7h for pgsql-hackers@arkaria.postgresql.org; Mon, 19 Sep 2022 06:30:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oaAIt-00080M-6B for pgsql-hackers@arkaria.postgresql.org; Mon, 19 Sep 2022 06:30:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oaAIs-00080C-IY for pgsql-hackers@lists.postgresql.org; Mon, 19 Sep 2022 06:30:50 +0000 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oaAIk-0000ro-Pn for pgsql-hackers@lists.postgresql.org; Mon, 19 Sep 2022 06:30:49 +0000 Received: by mail-wr1-x431.google.com with SMTP id t14so45900183wrx.8 for ; Sun, 18 Sep 2022 23:30:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date; bh=D5GmpiwwAQw88XuCjw4BaC1weWlAAWUiMAaX7qFVoUI=; b=D5135IBfddOnWZGiXs93IrgOjnguxDBvPNkW6da2mXUM/+jA/CD3cJWHsbJhxTYtFY nc2K4mmIe0kfJ6gTOnzb6XOJKeXc0S6E0U6mYx5bIc1EU62ftyKC4QEBDFRq/1KRZl0w pKHkOOP6B/MBMdn1AypoEyFq0+8suawqlkfdnI0lSp/Yom04bGJpltIQTP+Nx1yRgsgu 6SyxFEYuowkMYpe/Ou8LNicqx8FdigZj7xmfpU01Z2hJ2jmeqtNK6NXDdL/Tvj8/bhlz zprpE4Nw7vTxuX2xWyg8lr+OdwZuOkPy1eSaSbsre1+VrDRykilfNtG8bkFITyU7ga8o e9Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date; bh=D5GmpiwwAQw88XuCjw4BaC1weWlAAWUiMAaX7qFVoUI=; b=FNMGFQ2IxtkU8NO3uBtf/47NRWXVkCisJ1r8ZJDkfpcZrc+00aJl2OGUCNrnnMK5qG BM3mWHRYRntCrFy3UQOeY/plY0yJo1u4mnfN1FAWltZfYqL9o2oMHslj/Y/JZdzYw10m p8BS+IBaoZMAk8wZw65CbxUO0PY7oKO2UuCh45A7jvbd/vVp925leFDPVQQlRklJ0K5F ARMyeO8ogWXP9G1hGX1C1LSWYiRM/JJp6OKbt0UsM+XJ4DpjzSSq00a736C0Z3P4VtWt 8nf6VGr0NvkHI2S/pxvVYtjHzYWv9lBadB/kX/voVXk29b9vAIN6PM8+/ebAFK3cJHNM 3G6g== X-Gm-Message-State: ACrzQf3FyUypNbsCpQqxUhcciBZ8gKXaFlzLPSGfnvdSDe5sSZMYkyvH PPAJdPlI1YWgTSSlZ8jMa5b3Es+XaN+lF09Y X-Google-Smtp-Source: AMsMyM5WG1z2Pp9oi68XK05srD91+3Ip0Kj7txg/lwXXeSUYzFniyVVpSgINVErp339pXMlisG/w8g== X-Received: by 2002:adf:f4cc:0:b0:228:ab76:fa13 with SMTP id h12-20020adff4cc000000b00228ab76fa13mr9742353wrp.110.1663569040345; Sun, 18 Sep 2022 23:30:40 -0700 (PDT) Received: from [192.168.4.216] ([54.239.6.184]) by smtp.gmail.com with ESMTPSA id fc9-20020a05600c524900b003a84375d0d1sm13702714wmb.44.2022.09.18.23.30.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 18 Sep 2022 23:30:39 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Cq0CkhiBRpS9hmIgxt8Drvc0" Message-ID: <6d0d8a57-0e9c-7fcb-5072-aae544dafa5c@gmail.com> Date: Mon, 19 Sep 2022 08:29:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: Query Jumbling for CALL and SET utility statements Content-Language: en-US From: "Drouvot, Bertrand" To: Fujii Masao , Julien Rouhaud Cc: Michael Paquier , Jeremy Schneider , PostgreSQL Hackers , Pavel Stehule , Andres Freund , "Imseih (AWS), Sami" References: <46ca04f9-1e37-c862-9a28-c5dffaee412f@amazon.com> <20220831190604.l2luuhj3xkau7dvk@awork3.anarazel.de> <09c04aba-7f12-e524-20f7-3f92c1479fdf@amazon.com> <9aee54f2-5cc1-5b64-1f73-6961932e7bd2@amazon.com> <20220908065012.l3bd2np7wj52cxco@jrouhaud> <20220908112919.2ytxpkitiw6lt2u6@jrouhaud> <37d32e91-4a08-afaf-a3a8-fd0578e4db50@oss.nttdata.com> <706ee610-4297-453b-f6f2-1e79161414f6@gmail.com> In-Reply-To: <706ee610-4297-453b-f6f2-1e79161414f6@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. --------------Cq0CkhiBRpS9hmIgxt8Drvc0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 9/16/22 5:47 PM, Drouvot, Bertrand wrote: > Hi, > > On 9/16/22 2:53 PM, Fujii Masao wrote: >> >> >>> Attached v5 to normalize 2PC commands too, so that we get things like: >> >> +        case T_VariableSetStmt: >> +            { >> +                VariableSetStmt *stmt = (VariableSetStmt *) node; >> + >> +                /* stmt->name is NULL for RESET ALL */ >> +                if (stmt->name) >> +                { >> +                    APP_JUMB_STRING(stmt->name); >> +                    JumbleExpr(jstate, (Node *) stmt->args); >> >> With the patch, "SET ... TO DEFAULT" and "RESET ..." are counted as >> the same query. >> Is this intentional? > > Thanks for looking at the patch! > No, it is not intentional, good catch! > >> Which might be ok because their behavior is basically the same. >> But I'm afaid which may cause users to be confused. For example, they >> may fail to >> find the pgss entry for RESET command they ran and just wonder why the >> command was >> not recorded. To avoid such confusion, how about appending stmt->kind >> to the jumble? >> Thought? > > I think that's a good idea and will provide a new version taking care of > it (and also Sami's comments up-thread). Please find attached v6 taking care of the remarks mentioned above. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------Cq0CkhiBRpS9hmIgxt8Drvc0 Content-Type: text/plain; charset=UTF-8; name="v6-0001-JumbleQuery-on-Call-and-Set.patch" Content-Disposition: attachment; filename="v6-0001-JumbleQuery-on-Call-and-Set.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3BnX3N0 YXRfc3RhdGVtZW50cy5vdXQgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3Rl ZC9wZ19zdGF0X3N0YXRlbWVudHMub3V0CmluZGV4IGZmMDE2NmZiOWQuLmFkOGNlYmNiYWQg MTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3BnX3N0 YXRfc3RhdGVtZW50cy5vdXQKKysrIGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvZXhw ZWN0ZWQvcGdfc3RhdF9zdGF0ZW1lbnRzLm91dApAQCAtMjcyLDcgKzI3Miw3IEBAIEZST00g cGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiOwogIHdhbF9y ZWNvcmRzID4gJDIgYXMgd2FsX3JlY29yZHNfZ2VuZXJhdGVkLCAgICAgICAgICAgICAgICt8 ICAgICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgfCAKICB3YWxfcmVjb3JkcyA+PSByb3dzIGFzIHdhbF9yZWNvcmRzX2dlX3Jvd3Mg ICAgICAgICAgICAgICArfCAgICAgICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIHwgCiAgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JE RVIgQlkgcXVlcnkgQ09MTEFURSAiQyIgICAgICAgIHwgICAgICAgfCAgICAgIHwgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8IAotIFNFVCBwZ19zdGF0 X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IEZBTFNFICAgICAgICAgICAgICB8ICAgICAx IHwgICAgMCB8IGYgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgICAg fCB0CisgU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0gJDEgICAgICAg ICAgICAgICAgIHwgICAgIDEgfCAgICAwIHwgZiAgICAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICAgICB8IHQKICBVUERBVEUgcGdzc190ZXN0IFNFVCBiID0gJDEgV0hF UkUgYSA+ICQyICAgICAgICAgICAgICAgICAgfCAgICAgMSB8ICAgIDMgfCB0ICAgICAgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgIHwgdAogKDcgcm93cykKIApAQCAt NDIzLDYgKzQyMywxNTUgQEAgU0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0 YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIjsKICBTRUxFQ1QgcXVl cnksIGNhbGxzLCByb3dzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5 IENPTExBVEUgIkMiIHwgICAgIDAgfCAgICAwCiAoNiByb3dzKQogCistLSBQTC9wZ1NRTCBw cm9jZWR1cmUgYW5kIHBnX3N0YXRfc3RhdGVtZW50cy50cmFjayA9IHRvcAorQ1JFQVRFIFBS T0NFRFVSRSBNSU5VU19UV08oaSBJTlRFR0VSKSBBUyAkJAorREVDTEFSRQorICByIElOVEVH RVI7CitCRUdJTgorICBTRUxFQ1QgKGkgLSAxIC0gMS4wKTo6SU5URUdFUiBJTlRPIHI7CitF TkQ7ICQkIExBTkdVQUdFIHBscGdzcWw7CitDUkVBVEUgUFJPQ0VEVVJFIFNVTV9UV08oaSBJ TlRFR0VSLCBqIElOVEVHRVIpIEFTICQkCitERUNMQVJFCisgIHIgSU5URUdFUjsKK0JFR0lO CisgIFNFTEVDVCAoaiArIGopOjpJTlRFR0VSIElOVE8gcjsKK0VORDsgJCQgTEFOR1VBR0Ug cGxwZ3NxbDsKK1NFVCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2sgPSAndG9wJzsKK1NFVCBw Z19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IFRSVUU7CitTRUxFQ1QgcGdfc3Rh dF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0IAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworQ0FMTCBNSU5VU19UV08o Myk7CitDQUxMIE1JTlVTX1RXTyg3KTsKK0NBTEwgU1VNX1RXTygzLCA4KTsKK0NBTEwgU1VN X1RXTyg3LCA1KTsKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19zdGF0X3N0 YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGNhbGxzIHwgcm93cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tLQorIENBTEwgTUlOVVNfVFdPKCQxKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMiB8ICAgIDAKKyBD QUxMIFNVTV9UV08oJDEsICQyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDIgfCAgICAwCisgU0VMRUNUIHBnX3N0YXRf c3RhdGVtZW50c19yZXNldCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAxIHwgICAgMQorIFNFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJP TSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyIgfCAgICAg MCB8ICAgIDAKKyg0IHJvd3MpCisKKy0tIEVuc3VyZSBDQUxMIGlzIHRyYWNrZWQgZXZlbiBp ZiBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSBpcyBGQUxTRQorU0VUIHBnX3N0 YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0gRkFMU0U7CitTRUxFQ1QgcGdfc3RhdF9z dGF0ZW1lbnRzX3Jlc2V0KCk7CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0IAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworQ0FMTCBNSU5VU19UV08oMyk7 CitDQUxMIE1JTlVTX1RXTyg3KTsKK0NBTEwgU1VNX1RXTygzLCA4KTsKK0NBTEwgU1VNX1RX Tyg3LCA1KTsKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19zdGF0X3N0YXRl bWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGNhbGxzIHwgcm93cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t Ky0tLS0tLQorIENBTEwgTUlOVVNfVFdPKCQxKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMiB8ICAgIDAKKyBDQUxM IFNVTV9UV08oJDEsICQyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgIDIgfCAgICAwCisgU0VMRUNUIHBnX3N0YXRfc3Rh dGVtZW50c19yZXNldCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAxIHwgICAgMQorIFNFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBw Z19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyIgfCAgICAgMCB8 ICAgIDAKKyg0IHJvd3MpCisKK1NFVCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0 eSA9IFRSVUU7CistLSBQTC9wZ1NRTCBwcm9jZWR1cmUgYW5kIHBnX3N0YXRfc3RhdGVtZW50 cy50cmFjayA9IGFsbAorLS0gd2UgZHJvcCBhbmQgcmVjcmVhdGUgdGhlIHByb2NlZHVyZXMg dG8gYXZvaWQgYW55IGNhY2hpbmcgZnVubmllcworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50 cmFja191dGlsaXR5ID0gRkFMU0U7CitEUk9QIFBST0NFRFVSRSBNSU5VU19UV08oSU5URUdF Uik7CitEUk9QIFBST0NFRFVSRSBTVU1fVFdPKElOVEVHRVIsIElOVEVHRVIpOworQ1JFQVRF IFBST0NFRFVSRSBNSU5VU19UV08oaSBJTlRFR0VSKSBBUyAkJAorREVDTEFSRQorICByIElO VEVHRVI7CitCRUdJTgorICBTRUxFQ1QgKGkgLSAxIC0gMS4wKTo6SU5URUdFUiBJTlRPIHI7 CitFTkQ7ICQkIExBTkdVQUdFIHBscGdzcWw7CitDUkVBVEUgUFJPQ0VEVVJFIFNVTV9UV08o aSBJTlRFR0VSLCBqIElOVEVHRVIpIEFTICQkCitERUNMQVJFCisgIHIgSU5URUdFUjsKK0JF R0lOCisgIFNFTEVDVCAoaiArIGopOjpJTlRFR0VSIElOVE8gcjsKK0VORDsgJCQgTEFOR1VB R0UgcGxwZ3NxbDsKK1NFVCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2sgPSAnYWxsJzsKK1NF VCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IFRSVUU7CitTRUxFQ1QgcGdf c3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0IAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworQ0FMTCBNSU5VU19U V08oMyk7CitDQUxMIE1JTlVTX1RXTyg3KTsKK0NBTEwgU1VNX1RXTygzLCA4KTsKK0NBTEwg U1VNX1RXTyg3LCA1KTsKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19zdGF0 X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IGNhbGxzIHwgcm93cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tKy0tLS0tLQorIENBTEwgTUlOVVNfVFdPKCQxKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMiB8ICAgIDAK KyBDQUxMIFNVTV9UV08oJDEsICQyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDIgfCAgICAwCisgU0VMRUNUIChpIC0g JDIgLSAkMyk6OklOVEVHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAyIHwgICAgMgorIFNFTEVDVCAoaiArIGopOjpJTlRFR0VSICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgMiB8ICAgIDIKKyBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDEgfCAgICAxCisg U0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRF UiBCWSBxdWVyeSBDT0xMQVRFICJDIiB8ICAgICAwIHwgICAgMAorKDYgcm93cykKKworLS0g RW5zdXJlIENBTEwgaXMgdHJhY2tlZCBldmVuIGlmIHBnX3N0YXRfc3RhdGVtZW50cy50cmFj a191dGlsaXR5IGlzIEZBTFNFCitTRVQgcGdfc3RhdF9zdGF0ZW1lbnRzLnRyYWNrX3V0aWxp dHkgPSBGQUxTRTsKK1NFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKTsKKyBwZ19z dGF0X3N0YXRlbWVudHNfcmVzZXQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAor KDEgcm93KQorCitDQUxMIE1JTlVTX1RXTygzKTsKK0NBTEwgTUlOVVNfVFdPKDcpOworQ0FM TCBTVU1fVFdPKDMsIDgpOworQ0FMTCBTVU1fVFdPKDcsIDUpOworU0VMRUNUIHF1ZXJ5LCBj YWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xM QVRFICJDIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgY2FsbHMgfCByb3dzIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tCisgQ0FMTCBNSU5VU19UV08o JDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAyIHwgICAgMAorIENBTEwgU1VNX1RXTygkMSwgJDIpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg MiB8ICAgIDAKKyBTRUxFQ1QgKGkgLSAxIC0gMS4wKTo6SU5URUdFUiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDIgfCAgICAyCisgU0VM RUNUIChqICsgaik6OklOVEVHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAyIHwgICAgMgorIFNFTEVDVCBwZ19zdGF0X3N0 YXRlbWVudHNfcmVzZXQoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgMSB8ICAgIDEKKyBTRUxFQ1QgcXVlcnksIGNhbGxzLCByb3dzIEZST00g cGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiIHwgICAgIDAg fCAgICAwCisoNiByb3dzKQorCitTRVQgcGdfc3RhdF9zdGF0ZW1lbnRzLnRyYWNrX3V0aWxp dHkgPSBUUlVFOworLS0gU0VUCitTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7 CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAKKygxIHJvdykKKworc2V0IGVuYWJsZV9zZXFzY2FuPWZhbHNlOworc2V0IGVuYWJs ZV9zZXFzY2FuPXRydWU7CitzZXQgc2VxX3BhZ2VfY29zdD0yLjA7CitzZXQgc2VxX3BhZ2Vf Y29zdD0xLjA7CitzZXQgZW5hYmxlX3NlcXNjYW4gdG8gZGVmYXVsdDsKK3NldCBzZXFfcGFn ZV9jb3N0IHRvIGRlZmF1bHQ7CityZXNldCBzZXFfcGFnZV9jb3N0OworcmVzZXQgZW5hYmxl X3NlcXNjYW47CitTRUxFQ1QgcXVlcnksIGNhbGxzLCByb3dzIEZST00gcGdfc3RhdF9zdGF0 ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcXVlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBjYWxscyB8IHJvd3MgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LSstLS0tLS0KKyBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDEgfCAgICAxCisgU0VM RUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBC WSBxdWVyeSBDT0xMQVRFICJDIiB8ICAgICAwIHwgICAgMAorIHJlc2V0IGVuYWJsZV9zZXFz Y2FuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgMSB8ICAgIDAKKyByZXNldCBzZXFfcGFnZV9jb3N0ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDEg fCAgICAwCisgc2V0IGVuYWJsZV9zZXFzY2FuIHRvIGRlZmF1bHQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAxIHwgICAgMAorIHNldCBl bmFibGVfc2Vxc2Nhbj0kMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgMiB8ICAgIDAKKyBzZXQgc2VxX3BhZ2VfY29zdCB0 byBkZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgIDEgfCAgICAwCisgc2V0IHNlcV9wYWdlX2Nvc3Q9JDEgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAyIHwg ICAgMAorKDggcm93cykKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5 ID0gRkFMU0U7CiAtLQogLS0gcXVlcmllcyB3aXRoIGxvY2tpbmcgY2xhdXNlcwogLS0KQEAg LTU1MywxMSArNzAyLDgwIEBAIFNFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19z dGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CiAgU0VMRUNUIHF1 ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVy eSBDT0xMQVRFICJDIiB8ICAgICAwIHwgICAgMAogKDkgcm93cykKIAorLS0gMlBDCitTRUxF Q1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jl c2V0IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworY3JlYXRl IHRhYmxlIHRlc3RfdHggKGEgaW50KTsKK2JlZ2luOworcHJlcGFyZSB0cmFuc2FjdGlvbiAn dHgxJzsKK2luc2VydCBpbnRvIHRlc3RfdHggdmFsdWVzICgxKTsKK2NvbW1pdCBwcmVwYXJl ZCAndHgxJzsKK2JlZ2luOworcHJlcGFyZSB0cmFuc2FjdGlvbiAndHgyJzsKK2luc2VydCBp bnRvIHRlc3RfdHggdmFsdWVzICgyKTsKK2NvbW1pdCBwcmVwYXJlZCAndHgyJzsKK2JlZ2lu OworcHJlcGFyZSB0cmFuc2FjdGlvbiAndHgzJzsKK2luc2VydCBpbnRvIHRlc3RfdHggdmFs dWVzICgzKTsKK3JvbGxiYWNrIHByZXBhcmVkICd0eDMnOworYmVnaW47CitwcmVwYXJlIHRy YW5zYWN0aW9uICd0eDQnOworaW5zZXJ0IGludG8gdGVzdF90eCB2YWx1ZXMgKDQpOworcm9s bGJhY2sgcHJlcGFyZWQgJ3R4NCc7CitTRUxFQ1QgcXVlcnksIGNhbGxzLCByb3dzIEZST00g cGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBjYWxscyB8IHJvd3MgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLSstLS0tLS0KKyBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0 KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIDEg fCAgICAxCisgU0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVt ZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIiB8ICAgICAwIHwgICAgMAorIGJlZ2lu ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgNCB8ICAgIDAKKyBjb21taXQgcHJlcGFyZWQgJDEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgIDIgfCAgICAwCisgY3JlYXRlIHRhYmxlIHRlc3RfdHggKGEgaW50KSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAxIHwg ICAgMAorIGluc2VydCBpbnRvIHRlc3RfdHggdmFsdWVzICgkMSkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgNCB8ICAgIDQKKyBwcmVwYXJl IHRyYW5zYWN0aW9uICQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgIDQgfCAgICAwCisgcm9sbGJhY2sgcHJlcGFyZWQgJDEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgICAyIHwgICAgMAorKDggcm93cykKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50 cmFja191dGlsaXR5ID0gRkFMU0U7CitTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0 KCk7CisgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAKKygxIHJvdykKKworYmVnaW47CitwcmVwYXJlIHRyYW5zYWN0aW9uICd0eDEn OworaW5zZXJ0IGludG8gdGVzdF90eCB2YWx1ZXMgKDEpOworY29tbWl0IHByZXBhcmVkICd0 eDEnOworYmVnaW47CitwcmVwYXJlIHRyYW5zYWN0aW9uICd0eDInOworaW5zZXJ0IGludG8g dGVzdF90eCB2YWx1ZXMgKDIpOworY29tbWl0IHByZXBhcmVkICd0eDInOworYmVnaW47Citw cmVwYXJlIHRyYW5zYWN0aW9uICd0eDMnOworaW5zZXJ0IGludG8gdGVzdF90eCB2YWx1ZXMg KDMpOworcm9sbGJhY2sgcHJlcGFyZWQgJ3R4Myc7CitiZWdpbjsKK3ByZXBhcmUgdHJhbnNh Y3Rpb24gJ3R4NCc7CitpbnNlcnQgaW50byB0ZXN0X3R4IHZhbHVlcyAoNCk7Cityb2xsYmFj ayBwcmVwYXJlZCAndHg0JzsKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19z dGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGNhbGxzIHwgcm93cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tKy0tLS0tLQorIFNFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMSB8ICAg IDEKKyBTRUxFQ1QgcXVlcnksIGNhbGxzLCByb3dzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRz IE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiIHwgICAgIDAgfCAgICAwCisgaW5zZXJ0IGlu dG8gdGVzdF90eCB2YWx1ZXMgKCQxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICA0IHwgICAgNAorKDMgcm93cykKKwogLS0KIC0tIFRyYWNr IHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyByZXRyaWV2ZWQgb3IgYWZmZWN0ZWQgYnkgdGhl IHV0aWxpdHkKIC0tIGNvbW1hbmRzIG9mIENPUFksIEZFVENILCBDUkVBVEUgVEFCTEUgQVMs IENSRUFURSBNQVRFUklBTElaRUQgVklFVywKIC0tIFJFRlJFU0ggTUFURVJJQUxJWkVEIFZJ RVcgYW5kIFNFTEVDVCBJTlRPCiAtLQorU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191 dGlsaXR5ID0gVFJVRTsKIFNFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKTsKICBw Z19zdGF0X3N0YXRlbWVudHNfcmVzZXQgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpk aWZmIC0tZ2l0IGEvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvcGdfc3RhdF9zdGF0ZW1l bnRzLmMgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVudHMu YwppbmRleCBiYTg2OGYwZGU5Li42MmRlOWI5MzI1IDEwMDY0NAotLS0gYS9jb250cmliL3Bn X3N0YXRfc3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVudHMuYworKysgYi9jb250cmliL3Bn X3N0YXRfc3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVudHMuYwpAQCAtMTA2LDYgKzEwNiwx MSBAQCBzdGF0aWMgY29uc3QgdWludDMyIFBHU1NfUEdfTUFKT1JfVkVSU0lPTiA9IFBHX1ZF UlNJT05fTlVNIC8gMTAwOwogI2RlZmluZSBQR1NTX0hBTkRMRURfVVRJTElUWShuKQkJKCFJ c0EobiwgRXhlY3V0ZVN0bXQpICYmIFwKIAkJCQkJCQkJCSFJc0EobiwgUHJlcGFyZVN0bXQp ICYmIFwKIAkJCQkJCQkJCSFJc0EobiwgRGVhbGxvY2F0ZVN0bXQpKQorLyoKKyAqIEZvcmNl IHRyYWNrIHRob3NlIHV0aWxpdHkgc3RhdGVtZW50cworICogd2hhdGV2ZXIgdGhlIHZhbHVl IG9mIHBnc3NfdHJhY2tfdXRpbGl0eSBpcy4KKyAqLworI2RlZmluZSBGT1JDRV9UUkFDS19V VElMSVRZKG4pCShJc0EobiwgQ2FsbFN0bXQpKQogCiAvKgogICogRXh0ZW5zaW9uIHZlcnNp b24gbnVtYmVyLCBmb3Igc3VwcG9ydGluZyBvbGRlciBleHRlbnNpb24gdmVyc2lvbnMnIG9i amVjdHMKQEAgLTgzMiw3ICs4MzcsNyBAQCBwZ3NzX3Bvc3RfcGFyc2VfYW5hbHl6ZShQYXJz ZVN0YXRlICpwc3RhdGUsIFF1ZXJ5ICpxdWVyeSwgSnVtYmxlU3RhdGUgKmpzdGF0ZSkKIAkg KiBpbmhlcml0IGZyb20gdGhlIHVuZGVybHlpbmcgc3RhdGVtZW50J3Mgb25lIChleGNlcHQg REVBTExPQ0FURSB3aGljaCBpcwogCSAqIGVudGlyZWx5IHVudHJhY2tlZCkuCiAJICovCi0J aWYgKHF1ZXJ5LT51dGlsaXR5U3RtdCkKKwlpZiAocXVlcnktPnV0aWxpdHlTdG10ICYmICFq c3RhdGUpCiAJewogCQlpZiAocGdzc190cmFja191dGlsaXR5ICYmICFQR1NTX0hBTkRMRURf VVRJTElUWShxdWVyeS0+dXRpbGl0eVN0bXQpKQogCQkJcXVlcnktPnF1ZXJ5SWQgPSBVSU5U NjRDT05TVCgwKTsKQEAgLTEwOTcsNyArMTEwMiw4IEBAIHBnc3NfUHJvY2Vzc1V0aWxpdHko UGxhbm5lZFN0bXQgKnBzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZywKIAkgKiB0aGF0 IHVzZXIgY29uZmlndXJlZCBhbm90aGVyIGV4dGVuc2lvbiB0byBoYW5kbGUgdXRpbGl0eSBz dGF0ZW1lbnRzCiAJICogb25seS4KIAkgKi8KLQlpZiAocGdzc19lbmFibGVkKGV4ZWNfbmVz dGVkX2xldmVsKSAmJiBwZ3NzX3RyYWNrX3V0aWxpdHkpCisJaWYgKHBnc3NfZW5hYmxlZChl eGVjX25lc3RlZF9sZXZlbCkgJiYKKwkJKHBnc3NfdHJhY2tfdXRpbGl0eSB8fCBGT1JDRV9U UkFDS19VVElMSVRZKHBhcnNldHJlZSkpKQogCQlwc3RtdC0+cXVlcnlJZCA9IFVJTlQ2NENP TlNUKDApOwogCiAJLyoKQEAgLTExMTQsNyArMTEyMCw4IEBAIHBnc3NfUHJvY2Vzc1V0aWxp dHkoUGxhbm5lZFN0bXQgKnBzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZywKIAkgKgog CSAqIExpa2V3aXNlLCB3ZSBkb24ndCB0cmFjayBleGVjdXRpb24gb2YgREVBTExPQ0FURS4K IAkgKi8KLQlpZiAocGdzc190cmFja191dGlsaXR5ICYmIHBnc3NfZW5hYmxlZChleGVjX25l c3RlZF9sZXZlbCkgJiYKKwlpZiAoKHBnc3NfdHJhY2tfdXRpbGl0eSB8fCBGT1JDRV9UUkFD S19VVElMSVRZKHBhcnNldHJlZSkpICYmCisJCXBnc3NfZW5hYmxlZChleGVjX25lc3RlZF9s ZXZlbCkgJiYKIAkJUEdTU19IQU5ETEVEX1VUSUxJVFkocGFyc2V0cmVlKSkKIAl7CiAJCWlu c3RyX3RpbWUJc3RhcnQ7CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50 cy9zcWwvcGdfc3RhdF9zdGF0ZW1lbnRzLnNxbCBiL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1l bnRzL3NxbC9wZ19zdGF0X3N0YXRlbWVudHMuc3FsCmluZGV4IGEwMWYxODM3MjcuLmQ0NDk0 ZTgxYjggMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL3NxbC9wZ19z dGF0X3N0YXRlbWVudHMuc3FsCisrKyBiL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL3Nx bC9wZ19zdGF0X3N0YXRlbWVudHMuc3FsCkBAIC0yMDEsNiArMjAxLDk2IEBAIFNFTEVDVCBQ TFVTX09ORSgxKTsKIAogU0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRf c3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIjsKIAorLS0gUEwvcGdTUUwg cHJvY2VkdXJlIGFuZCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2sgPSB0b3AKK0NSRUFURSBQ Uk9DRURVUkUgTUlOVVNfVFdPKGkgSU5URUdFUikgQVMgJCQKK0RFQ0xBUkUKKyAgciBJTlRF R0VSOworQkVHSU4KKyAgU0VMRUNUIChpIC0gMSAtIDEuMCk6OklOVEVHRVIgSU5UTyByOwor RU5EOyAkJCBMQU5HVUFHRSBwbHBnc3FsOworCitDUkVBVEUgUFJPQ0VEVVJFIFNVTV9UV08o aSBJTlRFR0VSLCBqIElOVEVHRVIpIEFTICQkCitERUNMQVJFCisgIHIgSU5URUdFUjsKK0JF R0lOCisgIFNFTEVDVCAoaiArIGopOjpJTlRFR0VSIElOVE8gcjsKK0VORDsgJCQgTEFOR1VB R0UgcGxwZ3NxbDsKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFjayA9ICd0b3AnOwor U0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0gVFJVRTsKK1NFTEVDVCBw Z19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKTsKK0NBTEwgTUlOVVNfVFdPKDMpOworQ0FMTCBN SU5VU19UV08oNyk7CitDQUxMIFNVTV9UV08oMywgOCk7CitDQUxMIFNVTV9UV08oNywgNSk7 CisKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMg T1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisKKy0tIEVuc3VyZSBDQUxMIGlzIHRyYWNr ZWQgZXZlbiBpZiBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSBpcyBGQUxTRQor U0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0gRkFMU0U7CitTRUxFQ1Qg cGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CitDQUxMIE1JTlVTX1RXTygzKTsKK0NBTEwg TUlOVVNfVFdPKDcpOworQ0FMTCBTVU1fVFdPKDMsIDgpOworQ0FMTCBTVU1fVFdPKDcsIDUp OworU0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBP UkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIjsKK1NFVCBwZ19zdGF0X3N0YXRlbWVudHMudHJh Y2tfdXRpbGl0eSA9IFRSVUU7CisKKy0tIFBML3BnU1FMIHByb2NlZHVyZSBhbmQgcGdfc3Rh dF9zdGF0ZW1lbnRzLnRyYWNrID0gYWxsCistLSB3ZSBkcm9wIGFuZCByZWNyZWF0ZSB0aGUg cHJvY2VkdXJlcyB0byBhdm9pZCBhbnkgY2FjaGluZyBmdW5uaWVzCitTRVQgcGdfc3RhdF9z dGF0ZW1lbnRzLnRyYWNrX3V0aWxpdHkgPSBGQUxTRTsKK0RST1AgUFJPQ0VEVVJFIE1JTlVT X1RXTyhJTlRFR0VSKTsKK0RST1AgUFJPQ0VEVVJFIFNVTV9UV08oSU5URUdFUiwgSU5URUdF Uik7CisKK0NSRUFURSBQUk9DRURVUkUgTUlOVVNfVFdPKGkgSU5URUdFUikgQVMgJCQKK0RF Q0xBUkUKKyAgciBJTlRFR0VSOworQkVHSU4KKyAgU0VMRUNUIChpIC0gMSAtIDEuMCk6OklO VEVHRVIgSU5UTyByOworRU5EOyAkJCBMQU5HVUFHRSBwbHBnc3FsOworCitDUkVBVEUgUFJP Q0VEVVJFIFNVTV9UV08oaSBJTlRFR0VSLCBqIElOVEVHRVIpIEFTICQkCitERUNMQVJFCisg IHIgSU5URUdFUjsKK0JFR0lOCisgIFNFTEVDVCAoaiArIGopOjpJTlRFR0VSIElOVE8gcjsK K0VORDsgJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50 cmFjayA9ICdhbGwnOworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0g VFJVRTsKK1NFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKTsKK0NBTEwgTUlOVVNf VFdPKDMpOworQ0FMTCBNSU5VU19UV08oNyk7CitDQUxMIFNVTV9UV08oMywgOCk7CitDQUxM IFNVTV9UV08oNywgNSk7CisKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19z dGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisKKy0tIEVuc3Vy ZSBDQUxMIGlzIHRyYWNrZWQgZXZlbiBpZiBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRp bGl0eSBpcyBGQUxTRQorU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0g RkFMU0U7CitTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CitDQUxMIE1JTlVT X1RXTygzKTsKK0NBTEwgTUlOVVNfVFdPKDcpOworQ0FMTCBTVU1fVFdPKDMsIDgpOworQ0FM TCBTVU1fVFdPKDcsIDUpOworU0VMRUNUIHF1ZXJ5LCBjYWxscywgcm93cyBGUk9NIHBnX3N0 YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIjsKK1NFVCBwZ19zdGF0 X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IFRSVUU7CisKKy0tIFNFVAorU0VMRUNUIHBn X3N0YXRfc3RhdGVtZW50c19yZXNldCgpOworc2V0IGVuYWJsZV9zZXFzY2FuPWZhbHNlOwor c2V0IGVuYWJsZV9zZXFzY2FuPXRydWU7CitzZXQgc2VxX3BhZ2VfY29zdD0yLjA7CitzZXQg c2VxX3BhZ2VfY29zdD0xLjA7CitzZXQgZW5hYmxlX3NlcXNjYW4gdG8gZGVmYXVsdDsKK3Nl dCBzZXFfcGFnZV9jb3N0IHRvIGRlZmF1bHQ7CityZXNldCBzZXFfcGFnZV9jb3N0OworcmVz ZXQgZW5hYmxlX3NlcXNjYW47CisKK1NFTEVDVCBxdWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBw Z19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisKK1NFVCBw Z19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IEZBTFNFOworCiAtLQogLS0gcXVl cmllcyB3aXRoIGxvY2tpbmcgY2xhdXNlcwogLS0KQEAgLTI1MCwxMSArMzQwLDYzIEBAIERS T1AgRlVOQ1RJT04gUExVU19UV08oSU5URUdFUik7CiAKIFNFTEVDVCBxdWVyeSwgY2FsbHMs IHJvd3MgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAi QyI7CiAKKy0tIDJQQworU0VMRUNUIHBnX3N0YXRfc3RhdGVtZW50c19yZXNldCgpOworCitj cmVhdGUgdGFibGUgdGVzdF90eCAoYSBpbnQpOworYmVnaW47CitwcmVwYXJlIHRyYW5zYWN0 aW9uICd0eDEnOworaW5zZXJ0IGludG8gdGVzdF90eCB2YWx1ZXMgKDEpOworY29tbWl0IHBy ZXBhcmVkICd0eDEnOworCitiZWdpbjsKK3ByZXBhcmUgdHJhbnNhY3Rpb24gJ3R4Mic7Citp bnNlcnQgaW50byB0ZXN0X3R4IHZhbHVlcyAoMik7Citjb21taXQgcHJlcGFyZWQgJ3R4Mic7 CisKK2JlZ2luOworcHJlcGFyZSB0cmFuc2FjdGlvbiAndHgzJzsKK2luc2VydCBpbnRvIHRl c3RfdHggdmFsdWVzICgzKTsKK3JvbGxiYWNrIHByZXBhcmVkICd0eDMnOworCitiZWdpbjsK K3ByZXBhcmUgdHJhbnNhY3Rpb24gJ3R4NCc7CitpbnNlcnQgaW50byB0ZXN0X3R4IHZhbHVl cyAoNCk7Cityb2xsYmFjayBwcmVwYXJlZCAndHg0JzsKKworU0VMRUNUIHF1ZXJ5LCBjYWxs cywgcm93cyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRF ICJDIjsKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50cy50cmFja191dGlsaXR5ID0gRkFMU0U7 CitTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CisKK2JlZ2luOworcHJlcGFy ZSB0cmFuc2FjdGlvbiAndHgxJzsKK2luc2VydCBpbnRvIHRlc3RfdHggdmFsdWVzICgxKTsK K2NvbW1pdCBwcmVwYXJlZCAndHgxJzsKKworYmVnaW47CitwcmVwYXJlIHRyYW5zYWN0aW9u ICd0eDInOworaW5zZXJ0IGludG8gdGVzdF90eCB2YWx1ZXMgKDIpOworY29tbWl0IHByZXBh cmVkICd0eDInOworCitiZWdpbjsKK3ByZXBhcmUgdHJhbnNhY3Rpb24gJ3R4Myc7CitpbnNl cnQgaW50byB0ZXN0X3R4IHZhbHVlcyAoMyk7Cityb2xsYmFjayBwcmVwYXJlZCAndHgzJzsK KworYmVnaW47CitwcmVwYXJlIHRyYW5zYWN0aW9uICd0eDQnOworaW5zZXJ0IGludG8gdGVz dF90eCB2YWx1ZXMgKDQpOworcm9sbGJhY2sgcHJlcGFyZWQgJ3R4NCc7CisKK1NFTEVDVCBx dWVyeSwgY2FsbHMsIHJvd3MgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVl cnkgQ09MTEFURSAiQyI7CisKIC0tCiAtLSBUcmFjayB0aGUgdG90YWwgbnVtYmVyIG9mIHJv d3MgcmV0cmlldmVkIG9yIGFmZmVjdGVkIGJ5IHRoZSB1dGlsaXR5CiAtLSBjb21tYW5kcyBv ZiBDT1BZLCBGRVRDSCwgQ1JFQVRFIFRBQkxFIEFTLCBDUkVBVEUgTUFURVJJQUxJWkVEIFZJ RVcsCiAtLSBSRUZSRVNIIE1BVEVSSUFMSVpFRCBWSUVXIGFuZCBTRUxFQ1QgSU5UTwogLS0K K1NFVCBwZ19zdGF0X3N0YXRlbWVudHMudHJhY2tfdXRpbGl0eSA9IFRSVUU7CiBTRUxFQ1Qg cGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCk7CiAKIENSRUFURSBUQUJMRSBwZ3NzX2N0YXMg QVMgU0VMRUNUIGEsICdjdGFzJyBiIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwKSBhOwpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bnc3RhdHN0YXRlbWVudHMuc2dtbCBiL2RvYy9z cmMvc2dtbC9wZ3N0YXRzdGF0ZW1lbnRzLnNnbWwKaW5kZXggZWNmNmNkNmJmMy4uZDE4ZjM2 MzJlOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Bnc3RhdHN0YXRlbWVudHMuc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvcGdzdGF0c3RhdGVtZW50cy5zZ21sCkBAIC00ODcsMTMgKzQ4 NywxNSBAQAogCiAgIDxwYXJhPgogICAgUGxhbm5hYmxlIHF1ZXJpZXMgKHRoYXQgaXMsIDxj b21tYW5kPlNFTEVDVDwvY29tbWFuZD4sIDxjb21tYW5kPklOU0VSVDwvY29tbWFuZD4sCi0g ICA8Y29tbWFuZD5VUERBVEU8L2NvbW1hbmQ+LCBhbmQgPGNvbW1hbmQ+REVMRVRFPC9jb21t YW5kPikgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUKLSAgIDxzdHJ1Y3RuYW1lPnBnX3N0 YXRfc3RhdGVtZW50czwvc3RydWN0bmFtZT4gZW50cnkgd2hlbmV2ZXIgdGhleSBoYXZlIGlk ZW50aWNhbCBxdWVyeQotICAgc3RydWN0dXJlcyBhY2NvcmRpbmcgdG8gYW4gaW50ZXJuYWwg aGFzaCBjYWxjdWxhdGlvbi4gIFR5cGljYWxseSwgdHdvCi0gICBxdWVyaWVzIHdpbGwgYmUg Y29uc2lkZXJlZCB0aGUgc2FtZSBmb3IgdGhpcyBwdXJwb3NlIGlmIHRoZXkgYXJlCi0gICBz ZW1hbnRpY2FsbHkgZXF1aXZhbGVudCBleGNlcHQgZm9yIHRoZSB2YWx1ZXMgb2YgbGl0ZXJh bCBjb25zdGFudHMKLSAgIGFwcGVhcmluZyBpbiB0aGUgcXVlcnkuICBVdGlsaXR5IGNvbW1h bmRzICh0aGF0IGlzLCBhbGwgb3RoZXIgY29tbWFuZHMpCi0gICBhcmUgY29tcGFyZWQgc3Ry aWN0bHkgb24gdGhlIGJhc2lzIG9mIHRoZWlyIHRleHR1YWwgcXVlcnkgc3RyaW5ncywgaG93 ZXZlci4KKyAgIDxjb21tYW5kPlVQREFURTwvY29tbWFuZD4sIGFuZCA8Y29tbWFuZD5ERUxF VEU8L2NvbW1hbmQ+KSBhcyB3ZWxsIGFzCisgICA8Y29tbWFuZD5DQUxMPC9jb21tYW5kPiwg PGNvbW1hbmQ+U0VUPC9jb21tYW5kPiwgPGNvbW1hbmQ+UFJFUEFSRSBUUkFOU0FDVElPTjwv Y29tbWFuZD4sCisgICA8Y29tbWFuZD5DT01NSVQgUFJFUEFSRUQ8L2NvbW1hbmQ+IGFuZCA8 Y29tbWFuZD5ST0xMQkFDSyBQUkVQQVJFRDwvY29tbWFuZD4KKyAgIGFyZSBjb21iaW5lZCBp bnRvIGEgc2luZ2xlIDxzdHJ1Y3RuYW1lPnBnX3N0YXRfc3RhdGVtZW50czwvc3RydWN0bmFt ZT4gZW50cnkKKyAgIHdoZW5ldmVyIHRoZXkgaGF2ZSBpZGVudGljYWwgcXVlcnkgc3RydWN0 dXJlcyBhY2NvcmRpbmcgdG8gYW4gaW50ZXJuYWwgaGFzaCBjYWxjdWxhdGlvbi4KKyAgIFR5 cGljYWxseSwgdHdvIHF1ZXJpZXMgd2lsbCBiZSBjb25zaWRlcmVkIHRoZSBzYW1lIGZvciB0 aGlzIHB1cnBvc2UgaWYgdGhleSBhcmUKKyAgIHNlbWFudGljYWxseSBlcXVpdmFsZW50IGV4 Y2VwdCBmb3IgdGhlIHZhbHVlcyBvZiBsaXRlcmFsIGNvbnN0YW50cyBhcHBlYXJpbmcKKyAg IGluIHRoZSBjb21tYW5kLiBBbGwgb3RoZXIgY29tbWFuZHMgYXJlIGNvbXBhcmVkIHN0cmlj dGx5IG9uIHRoZSBiYXNpcworICAgb2YgdGhlaXIgdGV4dHVhbCBxdWVyeSBzdHJpbmdzLCBo b3dldmVyLgogICA8L3BhcmE+CiAKICAgPG5vdGU+CkBAIC03ODEsOSArNzgzLDkgQEAKICAg ICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgogICAgICAgPHZhcm5hbWU+cGdfc3RhdF9zdGF0 ZW1lbnRzLnRyYWNrX3V0aWxpdHk8L3Zhcm5hbWU+IGNvbnRyb2xzIHdoZXRoZXIKLSAgICAg IHV0aWxpdHkgY29tbWFuZHMgYXJlIHRyYWNrZWQgYnkgdGhlIG1vZHVsZS4gIFV0aWxpdHkg Y29tbWFuZHMgYXJlCisgICAgICB1dGlsaXR5IGNvbW1hbmRzIGFyZSB0cmFja2VkIGJ5IHRo ZSBtb2R1bGUuIFRyYWNrZWQgdXRpbGl0eSBjb21tYW5kcyBhcmUKICAgICAgIGFsbCB0aG9z ZSBvdGhlciB0aGFuIDxjb21tYW5kPlNFTEVDVDwvY29tbWFuZD4sIDxjb21tYW5kPklOU0VS VDwvY29tbWFuZD4sCi0gICAgICA8Y29tbWFuZD5VUERBVEU8L2NvbW1hbmQ+IGFuZCA8Y29t bWFuZD5ERUxFVEU8L2NvbW1hbmQ+LgorICAgICAgPGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5k PiwgPGNvbW1hbmQ+REVMRVRFPC9jb21tYW5kPiBhbmQgPGNvbW1hbmQ+Q0FMTDwvY29tbWFu ZD4uCiAgICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyA8bGl0ZXJhbD5vbjwvbGl0ZXJhbD4u CiAgICAgICBPbmx5IHN1cGVydXNlcnMgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcuCiAgICAg IDwvcGFyYT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDgyZjAzZmM5YzkuLmM3ZjQyMjc1MDggMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueQpAQCAtMTA4OTAsNiArMTA4OTAsNyBAQCBUcmFuc2FjdGlvblN0bXQ6 CiAKIAkJCQkJbi0+a2luZCA9IFRSQU5TX1NUTVRfUFJFUEFSRTsKIAkJCQkJbi0+Z2lkID0g JDM7CisJCQkJCW4tPmdpZF9sb2NhdGlvbiA9IEAzOwogCQkJCQkkJCA9IChOb2RlICopIG47 CiAJCQkJfQogCQkJfCBDT01NSVQgUFJFUEFSRUQgU2NvbnN0CkBAIC0xMDg5OCw2ICsxMDg5 OSw3IEBAIFRyYW5zYWN0aW9uU3RtdDoKIAogCQkJCQluLT5raW5kID0gVFJBTlNfU1RNVF9D T01NSVRfUFJFUEFSRUQ7CiAJCQkJCW4tPmdpZCA9ICQzOworCQkJCQluLT5naWRfbG9jYXRp b24gPSBAMzsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KIAkJCXwgUk9MTEJBQ0sg UFJFUEFSRUQgU2NvbnN0CkBAIC0xMDkwNiw2ICsxMDkwOCw3IEBAIFRyYW5zYWN0aW9uU3Rt dDoKIAogCQkJCQluLT5raW5kID0gVFJBTlNfU1RNVF9ST0xMQkFDS19QUkVQQVJFRDsKIAkJ CQkJbi0+Z2lkID0gJDM7CisJCQkJCW4tPmdpZF9sb2NhdGlvbiA9IEAzOwogCQkJCQkkJCA9 IChOb2RlICopIG47CiAJCQkJfQogCQk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9taXNjL3F1ZXJ5anVtYmxlLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3F1ZXJ5anVt YmxlLmMKaW5kZXggYTY3NDg3ZTVmZS4uNjk4OTBhNmEyNiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9xdWVyeWp1bWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L21pc2MvcXVlcnlqdW1ibGUuYwpAQCAtMTA0LDcgKzEwNCw3IEBAIEp1bWJsZVF1ZXJ5KFF1 ZXJ5ICpxdWVyeSwgY29uc3QgY2hhciAqcXVlcnl0ZXh0KQogCiAJQXNzZXJ0KElzUXVlcnlJ ZEVuYWJsZWQoKSk7CiAKLQlpZiAocXVlcnktPnV0aWxpdHlTdG10KQorCWlmIChxdWVyeS0+ dXRpbGl0eVN0bXQgJiYgIUlzSnVtYmxlVXRpbGl0eUFsbG93ZWQocXVlcnktPnV0aWxpdHlT dG10KSkKIAl7CiAJCXF1ZXJ5LT5xdWVyeUlkID0gY29tcHV0ZV91dGlsaXR5X3F1ZXJ5X2lk KHF1ZXJ5dGV4dCwKIAkJCQkJCQkJCQkJCSAgcXVlcnktPnN0bXRfbG9jYXRpb24sCkBAIC0y NDAsMTAgKzI0MCwxMSBAQCBzdGF0aWMgdm9pZAogSnVtYmxlUXVlcnlJbnRlcm5hbChKdW1i bGVTdGF0ZSAqanN0YXRlLCBRdWVyeSAqcXVlcnkpCiB7CiAJQXNzZXJ0KElzQShxdWVyeSwg UXVlcnkpKTsKLQlBc3NlcnQocXVlcnktPnV0aWxpdHlTdG10ID09IE5VTEwpOworCUFzc2Vy dChxdWVyeS0+dXRpbGl0eVN0bXQgPT0gTlVMTCB8fCBJc0p1bWJsZVV0aWxpdHlBbGxvd2Vk KHF1ZXJ5LT51dGlsaXR5U3RtdCkpOwogCiAJQVBQX0pVTUIocXVlcnktPmNvbW1hbmRUeXBl KTsKIAkvKiByZXN1bHRSZWxhdGlvbiBpcyB1c3VhbGx5IHByZWRpY3RhYmxlIGZyb20gY29t bWFuZFR5cGUgKi8KKwlKdW1ibGVFeHByKGpzdGF0ZSwgKE5vZGUgKikgcXVlcnktPnV0aWxp dHlTdG10KTsKIAlKdW1ibGVFeHByKGpzdGF0ZSwgKE5vZGUgKikgcXVlcnktPmN0ZUxpc3Qp OwogCUp1bWJsZVJhbmdlVGFibGUoanN0YXRlLCBxdWVyeS0+cnRhYmxlKTsKIAlKdW1ibGVF eHByKGpzdGF0ZSwgKE5vZGUgKikgcXVlcnktPmpvaW50cmVlKTsKQEAgLTM4Myw2ICszODQs NDcgQEAgSnVtYmxlRXhwcihKdW1ibGVTdGF0ZSAqanN0YXRlLCBOb2RlICpub2RlKQogCQkJ CUFQUF9KVU1CKHZhci0+dmFybGV2ZWxzdXApOwogCQkJfQogCQkJYnJlYWs7CisJCWNhc2Ug VF9DYWxsU3RtdDoKKwkJCXsKKwkJCQlDYWxsU3RtdCAgICpzdG10ID0gKENhbGxTdG10ICop IG5vZGU7CisJCQkJRnVuY0V4cHIgICAqZXhwciA9IHN0bXQtPmZ1bmNleHByOworCisJCQkJ QVBQX0pVTUIoZXhwci0+ZnVuY2lkKTsKKwkJCQlKdW1ibGVFeHByKGpzdGF0ZSwgKE5vZGUg KikgZXhwci0+YXJncyk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBUX1ZhcmlhYmxlU2V0 U3RtdDoKKwkJCXsKKwkJCQlWYXJpYWJsZVNldFN0bXQgKnN0bXQgPSAoVmFyaWFibGVTZXRT dG10ICopIG5vZGU7CisKKwkJCQkvKiBzdG10LT5uYW1lIGlzIE5VTEwgZm9yIFJFU0VUIEFM TCAqLworCQkJCWlmIChzdG10LT5uYW1lKQorCQkJCXsKKwkJCQkJQVBQX0pVTUIoc3RtdC0+ a2luZCk7CisJCQkJCUFQUF9KVU1CX1NUUklORyhzdG10LT5uYW1lKTsKKwkJCQkJSnVtYmxl RXhwcihqc3RhdGUsIChOb2RlICopIHN0bXQtPmFyZ3MpOworCQkJCX0KKwkJCX0KKwkJCWJy ZWFrOworCQljYXNlIFRfQV9Db25zdDoKKwkJCXsKKwkJCQlpbnQJCQlsb2MgPSAoKGNvbnN0 IEFfQ29uc3QgKikgbm9kZSktPmxvY2F0aW9uOworCisJCQkJUmVjb3JkQ29uc3RMb2NhdGlv bihqc3RhdGUsIGxvYyk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBUX1RyYW5zYWN0aW9u U3RtdDoKKwkJCXsKKwkJCQlUcmFuc2FjdGlvblN0bXQgKnN0bXQgPSAoVHJhbnNhY3Rpb25T dG10ICopIG5vZGU7CisKKwkJCQlBc3NlcnQoc3RtdC0+a2luZCA9PSBUUkFOU19TVE1UX1BS RVBBUkUgfHwKKwkJCQkJICAgc3RtdC0+a2luZCA9PSBUUkFOU19TVE1UX0NPTU1JVF9QUkVQ QVJFRCB8fAorCQkJCQkgICBzdG10LT5raW5kID09IFRSQU5TX1NUTVRfUk9MTEJBQ0tfUFJF UEFSRUQpOworCisJCQkJQVBQX0pVTUIoc3RtdC0+a2luZCk7CisJCQkJUmVjb3JkQ29uc3RM b2NhdGlvbihqc3RhdGUsIHN0bXQtPmdpZF9sb2NhdGlvbik7CisJCQl9CisJCQlicmVhazsK IAkJY2FzZSBUX0NvbnN0OgogCQkJewogCQkJCUNvbnN0CSAgICpjID0gKENvbnN0ICopIG5v ZGU7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMv aW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKaW5kZXggNjk1ODMwNmE3ZC4uZTk4MjNjNTFm OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3Ny Yy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzI4MSw2ICszMjgxLDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgVHJhbnNhY3Rpb25TdG10CiAJY2hhcgkgICAqc2F2ZXBvaW50X25hbWU7 IC8qIGZvciBzYXZlcG9pbnQgY29tbWFuZHMgKi8KIAljaGFyCSAgICpnaWQ7CQkJLyogZm9y IHR3by1waGFzZS1jb21taXQgcmVsYXRlZCBjb21tYW5kcyAqLwogCWJvb2wJCWNoYWluOwkJ CS8qIEFORCBDSEFJTiBvcHRpb24gKi8KKwlpbnQJCQlnaWRfbG9jYXRpb247CS8qIGdpZCBs b2NhdGlvbiAqLwogfSBUcmFuc2FjdGlvblN0bXQ7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3F1ZXJ5anVtYmxlLmggYi9z cmMvaW5jbHVkZS91dGlscy9xdWVyeWp1bWJsZS5oCmluZGV4IDNjMmQ5YmVhYjIuLmRmYmIw NjBmNTUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL3F1ZXJ5anVtYmxlLmgKKysr IGIvc3JjL2luY2x1ZGUvdXRpbHMvcXVlcnlqdW1ibGUuaApAQCAtODUsNCArODUsMjQgQEAg SXNRdWVyeUlkRW5hYmxlZCh2b2lkKQogCXJldHVybiBxdWVyeV9pZF9lbmFibGVkOwogfQog CisvKgorICogSnVtYmxlIHRob3NlIHV0aWxpdHkgc3RhdGVtZW50cworICovCitzdGF0aWMg aW5saW5lIGJvb2wKK0lzSnVtYmxlVXRpbGl0eUFsbG93ZWQoTm9kZSAqbikKK3sKKwlpZiAo SXNBKG4sIENhbGxTdG10KSB8fCBJc0EobiwgVmFyaWFibGVTZXRTdG10KSkKKwkJcmV0dXJu IHRydWU7CisJZWxzZSBpZiAoSXNBKG4sIFRyYW5zYWN0aW9uU3RtdCkpCisJeworCQlUcmFu c2FjdGlvblN0bXQgKnN0bXQgPSAoVHJhbnNhY3Rpb25TdG10ICopIG47CisKKwkJcmV0dXJu IChzdG10LT5raW5kID09IFRSQU5TX1NUTVRfUFJFUEFSRSB8fAorCQkJCXN0bXQtPmtpbmQg PT0gVFJBTlNfU1RNVF9DT01NSVRfUFJFUEFSRUQgfHwKKwkJCQlzdG10LT5raW5kID09IFRS QU5TX1NUTVRfUk9MTEJBQ0tfUFJFUEFSRUQpOworCX0KKwllbHNlCisJCXJldHVybiBmYWxz ZTsKK30KKwogI2VuZGlmCQkJCQkJCS8qIFFVRVJZSlVNQkxFX0ggKi8K --------------Cq0CkhiBRpS9hmIgxt8Drvc0--