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.96) (envelope-from ) id 1wgzaj-006XSD-2N for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 06:47:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wgzai-004tgg-1I for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 06:47:36 +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.96) (envelope-from ) id 1wgzah-004tgW-2K for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 06:47:36 +0000 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wgzaf-00000001yLB-3dbZ for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 06:47:34 +0000 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-448b0ff4a57so2435686fac.2 for ; Mon, 06 Jul 2026 23:47:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783406853; cv=none; d=google.com; s=arc-20260327; b=PmQb5B3XV7z46iZvsMARUMnR/MfSAAAuhLi6DRUsl/AfVX6grJlNlyKgG6VYyDx9dm OTqOvEbGIHjuB34QM1J5uqoo6chI7pduJv8YTHskBTY3oW47OZeLb9MaPynE9BLCDVJi e2T373gu9RTdkyro4EzvK8B3tMPRFf1ngemtw0utUL4xtQ2ZwrK6dY/UECgVxvtoyVeE QmRuKDzLoOXXUk1vEEyY5gAN4dXSt8fGcK8AhpuOSS5DKahbW2ttFGAFYID9bo7trDfT O6IBLBgjCqP+/pUrsF7aDS6oOQtZcamXfnp19zNSrUrY0Y5ETQTQlDgEvX69UksYZbL8 ePNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=d0ke7IVEB7VuCTSV83XsfOSgmhQoksu++0CBzRWMnXY=; fh=+iYlDCvYeuIKYaE9X1PB5NjVDULFJ9KQa9SHASdPlMA=; b=huAmf8yZT4QNwf0Uwcl0XWuemAtKbe2D9vG3hqvx9IhJOacZPQYCBkTiQMxj8K8UZJ 7LkLDcUa8LDGBv/ulvYHG3viBinE19UH4GJnJ3htf3WDnjGj8aQwt4SRFmXaJO5gRX1M 21F54RpjuLV1vq2DkL+j1tzLVth8k9EOJwyjYGPO60mMwks2ryk2+hHMH5SiKtWSbbYP j+neMw02O4ynzlxtyoVX7JOjIPLVxlKg1EWWgLfLSk9xHobfxQycAz8WTuU4njr8OtND +AhOBDfZJAYAo5Um/d2cBfz8fP7GWn3Qsdfam9RNaXpUlR21xOtFr30KtH3rsdxoPWz6 C93w==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783406853; x=1784011653; darn=lists.postgresql.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=d0ke7IVEB7VuCTSV83XsfOSgmhQoksu++0CBzRWMnXY=; b=NspYA8CVNUEh9JB9AIu/AseTHiQFUpdohkpKj1kzKq5lilMlERiTxJxTaxy1hydXdx i5wC+4N3kCu7jr/5UO1CsRwFWb+Sc1lOOqv1W/fmA+GjzsB6RoWu95Czui55PNfsGrTa kOX4GjcJO7snTR7Y8RHBD/EAuuOoUcB3m0BUayQxc1OgEmBKDbm6OF24ZGb5hJTf0xlu ZnbE/Ow9Ezcl6M7pmQMl949+yMxbDQ31pFvJvFTxFZ8VF3Egthy819gG1odHVfYOpQkw Giw23HvgjCnZuE30nuQQ1R04sYscMKqGGa2pDK1wOgbFmmXzpfDuf8I3c+bInHXUn5IJ NKKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783406853; x=1784011653; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=d0ke7IVEB7VuCTSV83XsfOSgmhQoksu++0CBzRWMnXY=; b=tL7Mv3BxOmHW/TyzkoNKklNnKwPXfmouten4zeIrhF5jwFgQTXtQ0XTPW6v80vEBr5 zJTZyuAh3nIfP4jZXwZDzce1cWN1tyLqxE0CPmm5IWRW6eiqjAFLH0Ju2tBDTaf2NWRM ChcyEvnBEftzKtyI+CkdksL1cB7zHzfoe0BuEGZ9y1I5T0G9CG9ug93Kg59FLDj12uC6 RpqBvGwdEjP6Men+pA4gjlXTCT2I4LNRqMmSDluyFNvDkfXet5JArI5pB+Vf6KH3K/eH rURiltvt32i5J+/5bR/rUAQKZBx2tsoJ7iGdZ8uC2d1xz6SXeWBUSxXPdrS4CbNOO6Za 6O9Q== X-Forwarded-Encrypted: i=1; AFNElJ/hL/vNvbq5zJLJE1ABngWvlIPCLyC+eXOt4mVc6ZrtE6JtRQ1n14mNuTLh3uEeVaBtR+RVp4W42jEhvk8s@lists.postgresql.org X-Gm-Message-State: AOJu0Yyt0QEKE6NFgCLAoBlw2/ZK69efpvAHLcM/aBHdqfAmlOvDjTfv Oivg+cOndKYb+bPrvDEqQXYTUW/l5SEw49m0FI+I3GdMGD4OFupmYHFeOYpKGHaMO+OPX6gZpOR T3bVJafWpWatnxq8Zr2uKYNytzbLufJI= X-Gm-Gg: AfdE7ck5X0VH53Y3LhJ7lLXx2TVc14VigkM8dwUWc24bZwPzuwO/b4/pxqTOy25vYp8 dxSrKLwJzwYMlshnkzPfbqtto3o5H5iJlPLQVvNPl9Epen/wKj1bmReA0Vh3j8SsEf+YiE5rSWg kCXSjF5XlRe2KwLAuyitAqPX+GVK1nx7ACBueCsFMSf+ppOGgW0oP712AgBfL+J5JcLXprCKijP /gGt280muBfrZZePvn0ipOPHwEQB+wRt6icrFfk6BFWXcYqjinh0jF5qCRPfaQ8janyABiyyu08 i2WvQ39U X-Received: by 2002:a05:6870:64a5:b0:448:558c:d8cc with SMTP id 586e51a60fabf-451064e7114mr2486614fac.42.1783406852975; Mon, 06 Jul 2026 23:47:32 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Richard Guo Date: Tue, 7 Jul 2026 15:47:21 +0900 X-Gm-Features: AVVi8CcwCGSrkyteA9JCkXIQf7BChfiexVvusoR4HdsGiZFK4Tm7A4iezeoFcFg Message-ID: Subject: Re: Add enable_groupagg GUC parameter to control GroupAggregate usage To: Tatsuro Yamada Cc: Tatsuro Yamada , David Rowley , Ashutosh Bapat , "pgsql-hackers@lists.postgresql.org" Content-Type: multipart/mixed; boundary="000000000000f651a40655ffc3ad" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f651a40655ffc3ad Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jun 29, 2026 at 7:02=E2=80=AFPM Tatsuro Yamada wrote: > Since the enable_groupagg parameter also affects SetOp, Unique, and > other nodes, I've created documentation patches to clarify this. I'm atta= ching > them to this email. They apply on top of your v4 patch. I've thought it over, and I'm inclined to leave the docs as they are. My main concern is consistency with the surrounding parameters. All of the other enable_* GUCs are documented conceptually rather than by the specific node types they affect, and none of them enumerate the nodes you'd see in EXPLAIN. Unique and SetOp are really EXPLAIN labels rather than user-facing concepts, and I'd argue the existing wording already covers them, since sort-based Unique and sorted SetOp are both forms of sort-based grouping. Similarly, enable_hashagg has covered hash-based SetOp for a long time without us documenting it, which is the same convention at work. I'd rather not add that now just to match the new parameter. Attached is a rebased patch to make cfbot work again. - Richard --000000000000f651a40655ffc3ad Content-Type: application/octet-stream; name="v5-0001-Add-an-enable_groupagg-GUC-parameter.patch" Content-Disposition: attachment; filename="v5-0001-Add-an-enable_groupagg-GUC-parameter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mraadpjx0 RnJvbSA0ODEyNjQ5YjBlN2Q5ODQzNzhiNDYyZWVkZjIyZjhkZGYzYWY3MmEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEd1byA8Z3VvZmVuZ2xpbnV4QGdtYWlsLmNvbT4K RGF0ZTogV2VkLCAyNCBKdW4gMjAyNiAxODowOTowNiArMDkwMApTdWJqZWN0OiBbUEFUQ0ggdjVd IEFkZCBhbiBlbmFibGVfZ3JvdXBhZ2cgR1VDIHBhcmFtZXRlcgoKV2UndmUgbG9uZyBoYWQgZW5h YmxlX2hhc2hhZ2cgdG8gZGlzY291cmFnZSBoYXNoZWQgYWdncmVnYXRpb24sIGJ1dAp0aGVyZSB3 YXMgbm8gZXF1aXZhbGVudCBmb3IgZ3JvdXBpbmcgdGhhdCB3b3JrcyBieSByZWFkaW5nIHByZXNv cnRlZAppbnB1dC4gIFRoYXQncyBoYW5keSB3aGVuIGludmVzdGlnYXRpbmcgcGxhbm5lciBjb3N0 IG1pc2VzdGltYXRlcywgYW5kCmFzIGFuIGVzY2FwZSBoYXRjaCB3aGVuIGEgc29ydGVkIGdyb3Vw aW5nIHBsYW4gaXMgY2hvc2VuIG92ZXIgYSBtdWNoCmNoZWFwZXIgaGFzaGVkIG9uZS4KCmVuYWJs ZV9ncm91cGFnZyAob24gYnkgZGVmYXVsdCkgY292ZXJzIHRoZSBHcm91cEFnZ3JlZ2F0ZSBhbmQg R3JvdXAKbm9kZXMsIHRoZSBzb3J0LWJhc2VkIFVuaXF1ZSBzdGVwIHVzZWQgZm9yIERJU1RJTkNU IGFuZCBzZW1pam9pbgp1bmlxdWUtaWZpY2F0aW9uLCBhbmQgdGhlIHNvcnRlZCBtb2RlIG9mIFNl dE9wLiAgSXQgaXNuJ3QgYSBoYXJkCnN3aXRjaDsgaXQgb25seSBidW1wcyBkaXNhYmxlZF9ub2Rl cywgc28gcGxhbnMgd2l0aCBubyBvdGhlciBjaG9pY2UKYXJlIHN0aWxsIHByb2R1Y2VkLgoKU2V2 ZXJhbCByZWdyZXNzaW9uIGFuZCBtb2R1bGUgdGVzdHMgaGFkIGJlZW4gc2V0dGluZyBlbmFibGVf c29ydCBvZmYsCmFuZCBvbmUgZW5hYmxlX2luZGV4c2NhbiBvZmYsIG9ubHkgdG8gZm9yY2UgYSBo YXNoZWQgcGxhbi4gIFVzZQplbmFibGVfZ3JvdXBhZ2cgdGhlcmUgaW5zdGVhZCwgd2hlcmUgdGhh dCB3YXMgdGhlIHJlYWwgaW50ZW50LiAgSW4KdW5pb24uc3FsIHRoaXMgYWxzbyBsZXRzIHVzIHRl c3QgdGhlIGhhc2hlZCBVTklPTiBwYXRoLCB3aGljaCB3ZSBoYWQKbm8gd2F5IHRvIHJlYWNoIGJl Zm9yZS4KCkF1dGhvcjogVGF0c3VybyBZYW1hZGEgPHlhbWF0YXR0c3VAZ21haWwuY29tPgpDby1h dXRob3JlZC1ieTogUmljaGFyZCBHdW8gPGd1b2ZlbmdsaW51eEBnbWFpbC5jb20+ClJldmlld2Vk LWJ5OiBBc2h1dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdtYWlsLmNvbT4KUmV2aWV3 ZWQtYnk6IERhdmlkIFJvd2xleSA8ZGdyb3dsZXltbEBnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0 dHBzOi8vcG9zdGdyLmVzL20vQ0FPS2tLRnZZSFNFc0ZhemtyZjliUkgxNHAtSDI3WE1hcWJaZlJZ alM2RUhCcnV2Wk1RQG1haWwuZ21haWwuY29tCi0tLQogY29udHJpYi9oc3RvcmUvZXhwZWN0ZWQv aHN0b3JlLm91dCAgICAgICAgICAgIHwgIDQgKy0KIGNvbnRyaWIvaHN0b3JlL3NxbC9oc3RvcmUu c3FsICAgICAgICAgICAgICAgICB8ICA0ICstCiBjb250cmliL2x0cmVlL2V4cGVjdGVkL2x0cmVl Lm91dCAgICAgICAgICAgICAgfCAgNCArLQogY29udHJpYi9sdHJlZS9zcWwvbHRyZWUuc3FsICAg ICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAgICAg ICAgICAgICAgICAgICB8IDE0ICsrKysrKysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2Nv c3RzaXplLmMgICAgICAgICB8IDMzICsrKysrKysrKysrKysrLS0tCiBzcmMvYmFja2VuZC9vcHRp bWl6ZXIvdXRpbC9wYXRobm9kZS5jICAgICAgICAgfCAyMCArKysrKysrKysrCiBzcmMvYmFja2Vu ZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdCAgICAgfCAgNyArKysrCiBzcmMvYmFja2Vu ZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgfCAgMSArCiBzcmMvaW5jbHVkZS9v cHRpbWl6ZXIvY29zdC5oICAgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vaW5qZWN0aW9uX3Bv aW50cy9leHBlY3RlZC9oYXNoYWdnLm91dCAgICAgfCAgMiArLQogLi4uL21vZHVsZXMvaW5qZWN0 aW9uX3BvaW50cy9zcWwvaGFzaGFnZy5zcWwgIHwgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvYWdncmVnYXRlcy5vdXQgICAgICB8IDEwICsrLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2dyb3VwaW5nc2V0cy5vdXQgICAgfCAgOCArKy0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2pzb25iLm91dCAgICAgICAgICAgfCAgNiArLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dCB8ICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3JhbmdldHlwZXMub3V0ICAgICAgfCAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zZWxlY3RfZGlzdGluY3Qub3V0IHwgIDQgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c3Vic2VsZWN0Lm91dCAgICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N5 c3ZpZXdzLm91dCAgICAgICAgfCAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91bmlv bi5vdXQgICAgICAgICAgIHwgMzcgKysrKysrKysrKysrLS0tLS0tLQogc3JjL3Rlc3QvcmVncmVz cy9zcWwvYWdncmVnYXRlcy5zcWwgICAgICAgICAgIHwgMTAgKystLS0KIHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2dyb3VwaW5nc2V0cy5zcWwgICAgICAgICB8ICA4ICsrLS0KIHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2pzb25iLnNxbCAgICAgICAgICAgICAgICB8ICA2ICstLQogc3JjL3Rlc3QvcmVncmVz cy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbCAgICAgIHwgIDQgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3JhbmdldHlwZXMuc3FsICAgICAgICAgICB8ICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9zZWxlY3RfZGlzdGluY3Quc3FsICAgICAgfCAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwv c3Vic2VsZWN0LnNxbCAgICAgICAgICAgIHwgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Vu aW9uLnNxbCAgICAgICAgICAgICAgICB8IDE2ICsrKystLS0tCiAyOSBmaWxlcyBjaGFuZ2VkLCAx NTMgaW5zZXJ0aW9ucygrKSwgNzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9o c3RvcmUvZXhwZWN0ZWQvaHN0b3JlLm91dCBiL2NvbnRyaWIvaHN0b3JlL2V4cGVjdGVkL2hzdG9y ZS5vdXQKaW5kZXggYWNlYTg4MDZiYTQuLjk3MTMzNzJiN2E0IDEwMDY0NAotLS0gYS9jb250cmli L2hzdG9yZS9leHBlY3RlZC9oc3RvcmUub3V0CisrKyBiL2NvbnRyaWIvaHN0b3JlL2V4cGVjdGVk L2hzdG9yZS5vdXQKQEAgLTE1MDksNyArMTUwOSw3IEBAIHNlbGVjdCBjb3VudCgqKSBmcm9tIChz ZWxlY3QgaCBmcm9tIChzZWxlY3QgKiBmcm9tIHRlc3Roc3RvcmUgdW5pb24gYWxsIHNlbGVjdCAq CiAoMSByb3cpCiAKIHNldCBlbmFibGVfaGFzaGFnZyA9IHRydWU7Ci1zZXQgZW5hYmxlX3NvcnQg PSBmYWxzZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBmYWxzZTsKIHNlbGVjdCBjb3VudCgqKSBm cm9tIChzZWxlY3QgaCBmcm9tIChzZWxlY3QgKiBmcm9tIHRlc3Roc3RvcmUgdW5pb24gYWxsIHNl bGVjdCAqIGZyb20gdGVzdGhzdG9yZSkgaHMgZ3JvdXAgYnkgaCkgaHMyOwogIGNvdW50IAogLS0t LS0tLQpAQCAtMTUyMiw3ICsxNTIyLDcgQEAgc2VsZWN0IGRpc3RpbmN0ICogZnJvbSAodmFsdWVz IChoc3RvcmUgJycgfHwgJycpLCgnJykpIHYoaCk7CiAgCiAoMSByb3cpCiAKLXNldCBlbmFibGVf c29ydCA9IHRydWU7CitzZXQgZW5hYmxlX2dyb3VwYWdnID0gdHJ1ZTsKIC0tIGJ0cmVlCiBkcm9w IGluZGV4IGhpZHg7CiBjcmVhdGUgaW5kZXggaGlkeCBvbiB0ZXN0aHN0b3JlIHVzaW5nIGJ0cmVl IChoKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaHN0b3JlL3NxbC9oc3RvcmUuc3FsIGIvY29udHJp Yi9oc3RvcmUvc3FsL2hzdG9yZS5zcWwKaW5kZXggOGFlOTVlOGE1MTAuLmFjOTI5ZTA3NTA5IDEw MDY0NAotLS0gYS9jb250cmliL2hzdG9yZS9zcWwvaHN0b3JlLnNxbAorKysgYi9jb250cmliL2hz dG9yZS9zcWwvaHN0b3JlLnNxbApAQCAtMzQ1LDEwICszNDUsMTAgQEAgc2VsZWN0IGNvdW50KGRp c3RpbmN0IGgpIGZyb20gdGVzdGhzdG9yZTsKIHNldCBlbmFibGVfaGFzaGFnZyA9IGZhbHNlOwog c2VsZWN0IGNvdW50KCopIGZyb20gKHNlbGVjdCBoIGZyb20gKHNlbGVjdCAqIGZyb20gdGVzdGhz dG9yZSB1bmlvbiBhbGwgc2VsZWN0ICogZnJvbSB0ZXN0aHN0b3JlKSBocyBncm91cCBieSBoKSBo czI7CiBzZXQgZW5hYmxlX2hhc2hhZ2cgPSB0cnVlOwotc2V0IGVuYWJsZV9zb3J0ID0gZmFsc2U7 CitzZXQgZW5hYmxlX2dyb3VwYWdnID0gZmFsc2U7CiBzZWxlY3QgY291bnQoKikgZnJvbSAoc2Vs ZWN0IGggZnJvbSAoc2VsZWN0ICogZnJvbSB0ZXN0aHN0b3JlIHVuaW9uIGFsbCBzZWxlY3QgKiBm cm9tIHRlc3Roc3RvcmUpIGhzIGdyb3VwIGJ5IGgpIGhzMjsKIHNlbGVjdCBkaXN0aW5jdCAqIGZy b20gKHZhbHVlcyAoaHN0b3JlICcnIHx8ICcnKSwoJycpKSB2KGgpOwotc2V0IGVuYWJsZV9zb3J0 ID0gdHJ1ZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSB0cnVlOwogCiAtLSBidHJlZQogZHJvcCBp bmRleCBoaWR4OwpkaWZmIC0tZ2l0IGEvY29udHJpYi9sdHJlZS9leHBlY3RlZC9sdHJlZS5vdXQg Yi9jb250cmliL2x0cmVlL2V4cGVjdGVkL2x0cmVlLm91dAppbmRleCBmMWQwZWIzN2I4MS4uMGFi NjIzY2MyMDQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbHRyZWUvZXhwZWN0ZWQvbHRyZWUub3V0Cisr KyBiL2NvbnRyaWIvbHRyZWUvZXhwZWN0ZWQvbHRyZWUub3V0CkBAIC03ODkxLDcgKzc4OTEsNyBA QCByZXNldCBlbmFibGVfc2Vxc2NhbjsKIHJlc2V0IGVuYWJsZV9iaXRtYXBzY2FuOwogLS0gdGVz dCBoYXNoIGFnZ3JlZ2F0ZQogc2V0IGVuYWJsZV9oYXNoYWdnPW9uOwotc2V0IGVuYWJsZV9zb3J0 PW9mZjsKK3NldCBlbmFibGVfZ3JvdXBhZ2c9b2ZmOwogRVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VM RUNUIGNvdW50KCopIEZST00gKAogU0VMRUNUIHQgRlJPTSAoU0VMRUNUICogRlJPTSBsdHJlZXRl c3QgVU5JT04gQUxMIFNFTEVDVCAqIEZST00gbHRyZWV0ZXN0KSB0MSBHUk9VUCBCWSB0CkBAIC03 OTE1LDcgKzc5MTUsNyBAQCBTRUxFQ1QgdCBGUk9NIChTRUxFQ1QgKiBGUk9NIGx0cmVldGVzdCBV TklPTiBBTEwgU0VMRUNUICogRlJPTSBsdHJlZXRlc3QpIHQxIEdSTwogKDEgcm93KQogCiByZXNl dCBlbmFibGVfaGFzaGFnZzsKLXJlc2V0IGVuYWJsZV9zb3J0OworcmVzZXQgZW5hYmxlX2dyb3Vw YWdnOwogZHJvcCBpbmRleCB0c3RpZHg7CiAtLSB0ZXN0IGdpc3QgaW5kZXgKIGNyZWF0ZSBpbmRl eCB0c3RpZHggb24gbHRyZWV0ZXN0IHVzaW5nIGdpc3QgKHQgZ2lzdF9sdHJlZV9vcHMoc2lnbGVu PTApKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbHRyZWUvc3FsL2x0cmVlLnNxbCBiL2NvbnRyaWIv bHRyZWUvc3FsL2x0cmVlLnNxbAppbmRleCA4MzMwOTFkYzZiYi4uNWMzMjQxNjBhZmQgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvbHRyZWUvc3FsL2x0cmVlLnNxbAorKysgYi9jb250cmliL2x0cmVlL3Nx bC9sdHJlZS5zcWwKQEAgLTM3Miw3ICszNzIsNyBAQCByZXNldCBlbmFibGVfYml0bWFwc2NhbjsK IC0tIHRlc3QgaGFzaCBhZ2dyZWdhdGUKIAogc2V0IGVuYWJsZV9oYXNoYWdnPW9uOwotc2V0IGVu YWJsZV9zb3J0PW9mZjsKK3NldCBlbmFibGVfZ3JvdXBhZ2c9b2ZmOwogCiBFWFBMQUlOIChDT1NU UyBPRkYpCiBTRUxFQ1QgY291bnQoKikgRlJPTSAoCkBAIC0zODQsNyArMzg0LDcgQEAgU0VMRUNU IHQgRlJPTSAoU0VMRUNUICogRlJPTSBsdHJlZXRlc3QgVU5JT04gQUxMIFNFTEVDVCAqIEZST00g bHRyZWV0ZXN0KSB0MSBHUk8KICkgdDI7CiAKIHJlc2V0IGVuYWJsZV9oYXNoYWdnOwotcmVzZXQg ZW5hYmxlX3NvcnQ7CityZXNldCBlbmFibGVfZ3JvdXBhZ2c7CiAKIGRyb3AgaW5kZXggdHN0aWR4 OwogCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwv Y29uZmlnLnNnbWwKaW5kZXggOTE3MmE0YzVjOTUuLmM2NzEzMGM2MjBlIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBA IC01ODYzLDYgKzU4NjMsMjAgQEAgQU5ZIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u dW1fc3luYzwvcmVwbGFjZWFibGU+ICggPHJlcGxhY2VhYmxlIGNsYXNzPSIKICAgICAgIDwvbGlz dGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50cnkgaWQ9Imd1 Yy1lbmFibGUtZ3JvdXBhZ2ciIHhyZWZsYWJlbD0iZW5hYmxlX2dyb3VwYWdnIj4KKyAgICAgIDx0 ZXJtPjx2YXJuYW1lPmVuYWJsZV9ncm91cGFnZzwvdmFybmFtZT4gKDx0eXBlPmJvb2xlYW48L3R5 cGU+KQorICAgICAgPGluZGV4dGVybT4KKyAgICAgICA8cHJpbWFyeT48dmFybmFtZT5lbmFibGVf Z3JvdXBhZ2c8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5PgorICAg ICAgPC9pbmRleHRlcm0+CisgICAgICA8L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAg PHBhcmE+CisgICAgICAgIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHF1ZXJ5IHBsYW5uZXIncyB1 c2Ugb2Ygc29ydC1iYXNlZCBncm91cGluZworICAgICAgICBhbmQgYWdncmVnYXRpb24gcGxhbiB0 eXBlcy4gVGhlIGRlZmF1bHQgaXMgPGxpdGVyYWw+b248L2xpdGVyYWw+LgorICAgICAgIDwvcGFy YT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgIDx2YXJs aXN0ZW50cnkgaWQ9Imd1Yy1lbmFibGUtaGFzaGFnZyIgeHJlZmxhYmVsPSJlbmFibGVfaGFzaGFn ZyI+CiAgICAgICA8dGVybT48dmFybmFtZT5lbmFibGVfaGFzaGFnZzwvdmFybmFtZT4gKDx0eXBl PmJvb2xlYW48L3R5cGU+KQogICAgICAgPGluZGV4dGVybT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL29wdGltaXplci9wYXRoL2Nvc3RzaXplLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0 aC9jb3N0c2l6ZS5jCmluZGV4IDFjNTc1ZTU2ZmY2Li5hYzUyM2VjZjlhOCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvY29zdHNpemUuYworKysgYi9zcmMvYmFja2VuZC9v cHRpbWl6ZXIvcGF0aC9jb3N0c2l6ZS5jCkBAIC0xNTEsNiArMTUxLDcgQEAgYm9vbAkJZW5hYmxl X3RpZHNjYW4gPSB0cnVlOwogYm9vbAkJZW5hYmxlX3NvcnQgPSB0cnVlOwogYm9vbAkJZW5hYmxl X2luY3JlbWVudGFsX3NvcnQgPSB0cnVlOwogYm9vbAkJZW5hYmxlX2hhc2hhZ2cgPSB0cnVlOwor Ym9vbAkJZW5hYmxlX2dyb3VwYWdnID0gdHJ1ZTsKIGJvb2wJCWVuYWJsZV9uZXN0bG9vcCA9IHRy dWU7CiBib29sCQllbmFibGVfbWF0ZXJpYWwgPSB0cnVlOwogYm9vbAkJZW5hYmxlX21lbW9pemUg PSB0cnVlOwpAQCAtMjgzNywxNCArMjgzOCwxNCBAQCBjb3N0X2FnZyhQYXRoICpwYXRoLCBQbGFu bmVySW5mbyAqcm9vdCwKIAkJLyogd2UgYXJlbid0IGdyb3VwaW5nICovCiAJCXRvdGFsX2Nvc3Qg PSBzdGFydHVwX2Nvc3QgKyBjcHVfdHVwbGVfY29zdDsKIAkJb3V0cHV0X3R1cGxlcyA9IDE7CisK KwkJLyogQUdHX1BMQUlOIG5laXRoZXIgaGFzaGVzIG5vciBzb3J0cywgc28gbmVpdGhlciBzd2l0 Y2ggZGlzYWJsZXMgaXQgKi8KIAl9CiAJZWxzZSBpZiAoYWdnc3RyYXRlZ3kgPT0gQUdHX1NPUlRF RCB8fCBhZ2dzdHJhdGVneSA9PSBBR0dfTUlYRUQpCiAJewogCQkvKiBIZXJlIHdlIGFyZSBhYmxl IHRvIGRlbGl2ZXIgb3V0cHV0IG9uLXRoZS1mbHkgKi8KIAkJc3RhcnR1cF9jb3N0ID0gaW5wdXRf c3RhcnR1cF9jb3N0OwogCQl0b3RhbF9jb3N0ID0gaW5wdXRfdG90YWxfY29zdDsKLQkJaWYgKGFn Z3N0cmF0ZWd5ID09IEFHR19NSVhFRCAmJiAhZW5hYmxlX2hhc2hhZ2cpCi0JCQkrK2Rpc2FibGVk X25vZGVzOwogCQkvKiBjYWxjcyBwaHJhc2VkIHRoaXMgd2F5IHRvIG1hdGNoIEhBU0hFRCBjYXNl LCBzZWUgbm90ZSBhYm92ZSAqLwogCQl0b3RhbF9jb3N0ICs9IGFnZ2Nvc3RzLT50cmFuc0Nvc3Qu c3RhcnR1cDsKIAkJdG90YWxfY29zdCArPSBhZ2djb3N0cy0+dHJhbnNDb3N0LnBlcl90dXBsZSAq IGlucHV0X3R1cGxlczsKQEAgLTI4NTMsMTMgKzI4NTQsMzEgQEAgY29zdF9hZ2coUGF0aCAqcGF0 aCwgUGxhbm5lckluZm8gKnJvb3QsCiAJCXRvdGFsX2Nvc3QgKz0gYWdnY29zdHMtPmZpbmFsQ29z dC5wZXJfdHVwbGUgKiBudW1Hcm91cHM7CiAJCXRvdGFsX2Nvc3QgKz0gY3B1X3R1cGxlX2Nvc3Qg KiBudW1Hcm91cHM7CiAJCW91dHB1dF90dXBsZXMgPSBudW1Hcm91cHM7CisKKwkJLyoKKwkJICog QUdHX01JWEVEIGhhc2hlcyBhdCBsZWFzdCBvbmUgZ3JvdXBpbmcgc2V0LCBzbyBpdCBpcyBkaXNh YmxlZCB3aGVuCisJCSAqIGVuYWJsZV9oYXNoYWdnIGlzIG9mZi4gIEFueSBzb3J0ZWQgZ3JvdXBp bmcgaXQgYWxzbyBwZXJmb3JtcyBpcworCQkgKiBjb3N0ZWQgc2VwYXJhdGVseSwgc2luY2UgY3Jl YXRlX2dyb3VwaW5nc2V0c19wYXRoKCkgY2FsbHMKKwkJICogY29zdF9hZ2coKSBvbmNlIHBlciBy b2xsdXAgYW5kIHRoZSBub24taGFzaGVkIHJvbGx1cHMgY29tZSB0aHJvdWdoCisJCSAqIGFzIEFH R19TT1JURUQuCisJCSAqCisJCSAqIEFHR19TT1JURUQgaXMgZGlzYWJsZWQgd2hlbiBlbmFibGVf Z3JvdXBhZ2cgaXMgb2ZmLCBidXQgb25seSB3aGVuCisJCSAqIHRoZXJlIGFyZSBncm91cGluZyBj b2x1bW5zLiAgVGhlIGVtcHR5IGdyb3VwaW5nIHNldCBhcnJpdmVzIHdpdGgKKwkJICogbnVtR3Jv dXBDb2xzID09IDAgYW5kIGlzIGNvbXB1dGVkIGxpa2UgQUdHX1BMQUlOLCB3aXRoIG5vIGhhc2hp bmcKKwkJICogb3Igc29ydGluZywgc28gaXQgaXNuJ3QgZGlzYWJsZWQuCisJCSAqLworCQlpZiAo YWdnc3RyYXRlZ3kgPT0gQUdHX01JWEVEKQorCQl7CisJCQlpZiAoIWVuYWJsZV9oYXNoYWdnKQor CQkJCSsrZGlzYWJsZWRfbm9kZXM7CisJCX0KKwkJZWxzZSBpZiAobnVtR3JvdXBDb2xzID4gMCAm JiAhZW5hYmxlX2dyb3VwYWdnKQkvKiBBR0dfU09SVEVEICovCisJCQkrK2Rpc2FibGVkX25vZGVz OwogCX0KIAllbHNlCiAJewogCQkvKiBtdXN0IGJlIEFHR19IQVNIRUQgKi8KIAkJc3RhcnR1cF9j b3N0ID0gaW5wdXRfdG90YWxfY29zdDsKLQkJaWYgKCFlbmFibGVfaGFzaGFnZykKLQkJCSsrZGlz YWJsZWRfbm9kZXM7CiAJCXN0YXJ0dXBfY29zdCArPSBhZ2djb3N0cy0+dHJhbnNDb3N0LnN0YXJ0 dXA7CiAJCXN0YXJ0dXBfY29zdCArPSBhZ2djb3N0cy0+dHJhbnNDb3N0LnBlcl90dXBsZSAqIGlu cHV0X3R1cGxlczsKIAkJLyogY29zdCBvZiBjb21wdXRpbmcgaGFzaCB2YWx1ZSAqLwpAQCAtMjg3 MSw2ICsyODkwLDEwIEBAIGNvc3RfYWdnKFBhdGggKnBhdGgsIFBsYW5uZXJJbmZvICpyb290LAog CQkvKiBjb3N0IG9mIHJldHJpZXZpbmcgZnJvbSBoYXNoIHRhYmxlICovCiAJCXRvdGFsX2Nvc3Qg Kz0gY3B1X3R1cGxlX2Nvc3QgKiBudW1Hcm91cHM7CiAJCW91dHB1dF90dXBsZXMgPSBudW1Hcm91 cHM7CisKKwkJLyogQUdHX0hBU0hFRCBpcyBkaXNhYmxlZCB3aGVuIGVuYWJsZV9oYXNoYWdnIGlz IG9mZiAqLworCQlpZiAoIWVuYWJsZV9oYXNoYWdnKQorCQkJKytkaXNhYmxlZF9ub2RlczsKIAl9 CiAKIAkvKgpAQCAtMzM0MCw3ICszMzYzLDcgQEAgY29zdF9ncm91cChQYXRoICpwYXRoLCBQbGFu bmVySW5mbyAqcm9vdCwKIAl9CiAKIAlwYXRoLT5yb3dzID0gb3V0cHV0X3R1cGxlczsKLQlwYXRo LT5kaXNhYmxlZF9ub2RlcyA9IGlucHV0X2Rpc2FibGVkX25vZGVzOworCXBhdGgtPmRpc2FibGVk X25vZGVzID0gaW5wdXRfZGlzYWJsZWRfbm9kZXMgKyAoZW5hYmxlX2dyb3VwYWdnID8gMCA6IDEp OwogCXBhdGgtPnN0YXJ0dXBfY29zdCA9IHN0YXJ0dXBfY29zdDsKIAlwYXRoLT50b3RhbF9jb3N0 ID0gdG90YWxfY29zdDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci91dGls L3BhdGhub2RlLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jCmluZGV4 IDczNTE4YzhmODcwLi4zODc1ZTNkZDU3MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3V0aWwvcGF0aG5vZGUuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRo bm9kZS5jCkBAIC0zMDM2LDYgKzMwMzYsMTYgQEAgY3JlYXRlX3VuaXF1ZV9wYXRoKFBsYW5uZXJJ bmZvICpyb290LAogCQljcHVfb3BlcmF0b3JfY29zdCAqIHN1YnBhdGgtPnJvd3MgKiBudW1Db2xz OwogCXBhdGhub2RlLT5wYXRoLnJvd3MgPSBudW1Hcm91cHM7CiAKKwkvKgorCSAqIE1hcmsgdGhl IHBhdGggYXMgZGlzYWJsZWQgaWYgZW5hYmxlX2dyb3VwYWdnIGlzIG9mZi4gIFdoaWxlIHRoaXMg aXNuJ3QKKwkgKiBhIGdyb3VwaW5nIEFnZyBub2RlLCBpdCBpcyB0aGUgc29ydC1iYXNlZCB3YXkg b2YgcmVtb3ZpbmcgZHVwbGljYXRlcworCSAqIGFuZCBzbyBpcyB0aGUgbmF0dXJhbCBjb3VudGVy cGFydCB0byB0aGUgQUdHX0hBU0hFRCBwYXRoIHRoYXQKKwkgKiBlbmFibGVfaGFzaGFnZyBjb250 cm9sczsgaXQgc2VlbXMgY2xvc2UgZW5vdWdoIHRvIGp1c3RpZnkgbGV0dGluZyB0aGF0CisJICog c3dpdGNoIGNvbnRyb2wgaXQuCisJICovCisJaWYgKCFlbmFibGVfZ3JvdXBhZ2cpCisJCXBhdGhu b2RlLT5wYXRoLmRpc2FibGVkX25vZGVzKys7CisKIAlyZXR1cm4gcGF0aG5vZGU7CiB9CiAKQEAg LTM1MjIsNiArMzUzMiwxNiBAQCBjcmVhdGVfc2V0b3BfcGF0aChQbGFubmVySW5mbyAqcm9vdCwK IAkJICogcXVhbC1jaGVja2luZyBvciBwcm9qZWN0aW9uLgogCQkgKi8KIAkJcGF0aG5vZGUtPnBh dGgudG90YWxfY29zdCArPSBjcHVfb3BlcmF0b3JfY29zdCAqIG91dHB1dFJvd3M7CisKKwkJLyoK KwkJICogTWFyayB0aGUgcGF0aCBhcyBkaXNhYmxlZCBpZiBlbmFibGVfZ3JvdXBhZ2cgaXMgb2Zm LiAgV2hpbGUgdGhpcworCQkgKiBpc24ndCBhIGdyb3VwaW5nIEFnZyBub2RlLCBpdCBpcyB0aGUg c29ydC1iYXNlZCBpbXBsZW1lbnRhdGlvbiBhbmQKKwkJICogc28gaXMgdGhlIG5hdHVyYWwgY291 bnRlcnBhcnQgdG8gdGhlIFNFVE9QX0hBU0hFRCBwYXRoIHRoYXQKKwkJICogZW5hYmxlX2hhc2hh Z2cgY29udHJvbHM7IGl0IHNlZW1zIGNsb3NlIGVub3VnaCB0byBqdXN0aWZ5IGxldHRpbmcKKwkJ ICogdGhhdCBzd2l0Y2ggY29udHJvbCBpdC4KKwkJICovCisJCWlmICghZW5hYmxlX2dyb3VwYWdn KQorCQkJcGF0aG5vZGUtPnBhdGguZGlzYWJsZWRfbm9kZXMrKzsKIAl9CiAJZWxzZQogCXsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0IGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQKaW5kZXggYzkxMThlNzE5ODgu LmRkNzk5YTVlNzBmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJh bWV0ZXJzLmRhdAorKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRh dApAQCAtOTA1LDYgKzkwNSwxMyBAQAogICBib290X3ZhbCA9PiAndHJ1ZScsCiB9LAogCit7IG5h bWUgPT4gJ2VuYWJsZV9ncm91cGFnZycsIHR5cGUgPT4gJ2Jvb2wnLCBjb250ZXh0ID0+ICdQR0Nf VVNFUlNFVCcsIGdyb3VwID0+ICdRVUVSWV9UVU5JTkdfTUVUSE9EJywKKyAgc2hvcnRfZGVzYyA9 PiAnRW5hYmxlcyB0aGUgcGxhbm5lclwncyB1c2Ugb2Ygc29ydC1iYXNlZCBncm91cGluZyBhbmQg YWdncmVnYXRpb24gcGxhbnMuJywKKyAgZmxhZ3MgPT4gJ0dVQ19FWFBMQUlOJywKKyAgdmFyaWFi bGUgPT4gJ2VuYWJsZV9ncm91cGFnZycsCisgIGJvb3RfdmFsID0+ICd0cnVlJywKK30sCisKIHsg bmFtZSA9PiAnZW5hYmxlX2hhc2hhZ2cnLCB0eXBlID0+ICdib29sJywgY29udGV4dCA9PiAnUEdD X1VTRVJTRVQnLCBncm91cCA9PiAnUVVFUllfVFVOSU5HX01FVEhPRCcsCiAgIHNob3J0X2Rlc2Mg PT4gJ0VuYWJsZXMgdGhlIHBsYW5uZXJcJ3MgdXNlIG9mIGhhc2hlZCBhZ2dyZWdhdGlvbiBwbGFu cy4nLAogICBmbGFncyA9PiAnR1VDX0VYUExBSU4nLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmluZGV4IGQ3OTQyZjUwYTcwLi40N2UxMjIxZjNjMyAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxl CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAt NDI2LDYgKzQyNiw3IEBACiAjZW5hYmxlX2FzeW5jX2FwcGVuZCA9IG9uCiAjZW5hYmxlX2JpdG1h cHNjYW4gPSBvbgogI2VuYWJsZV9nYXRoZXJtZXJnZSA9IG9uCisjZW5hYmxlX2dyb3VwYWdnID0g b24KICNlbmFibGVfaGFzaGFnZyA9IG9uCiAjZW5hYmxlX2hhc2hqb2luID0gb24KICNlbmFibGVf aW5jcmVtZW50YWxfc29ydCA9IG9uCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIv Y29zdC5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL2Nvc3QuaAppbmRleCBmMmZkNWQzMTUwNy4u YmRhM2YxNjkwYzAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL29wdGltaXplci9jb3N0LmgKKysr IGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL2Nvc3QuaApAQCAtNTcsNiArNTcsNyBAQCBleHRlcm4g UEdETExJTVBPUlQgYm9vbCBlbmFibGVfdGlkc2NhbjsKIGV4dGVybiBQR0RMTElNUE9SVCBib29s IGVuYWJsZV9zb3J0OwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxlX2luY3JlbWVudGFs X3NvcnQ7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBlbmFibGVfaGFzaGFnZzsKK2V4dGVybiBQ R0RMTElNUE9SVCBib29sIGVuYWJsZV9ncm91cGFnZzsKIGV4dGVybiBQR0RMTElNUE9SVCBib29s IGVuYWJsZV9uZXN0bG9vcDsKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIGVuYWJsZV9tYXRlcmlh bDsKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIGVuYWJsZV9tZW1vaXplOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL2V4cGVjdGVkL2hhc2hhZ2cub3V0IGIv c3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL2V4cGVjdGVkL2hhc2hhZ2cub3V0Cmlu ZGV4IGNjNDI0N2FmOTdkLi4yZjc1ZTliZThiNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxl cy9pbmplY3Rpb25fcG9pbnRzL2V4cGVjdGVkL2hhc2hhZ2cub3V0CisrKyBiL3NyYy90ZXN0L21v ZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9leHBlY3RlZC9oYXNoYWdnLm91dApAQCAtMzYsNyArMzYs NyBAQCBDUkVBVEUgVEFCTEUgaGFzaGFnZ19paih4IElOVEVHRVIpOwogSU5TRVJUIElOVE8gaGFz aGFnZ19paiBTRUxFQ1QgZyBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDUxMDApIGc7CiBTRVQgbWF4 X3BhcmFsbGVsX3dvcmtlcnM9MDsKIFNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVy PTA7Ci1TRVQgZW5hYmxlX3NvcnQ9RkFMU0U7CitTRVQgZW5hYmxlX2dyb3VwYWdnPUZBTFNFOwog U0VUIHdvcmtfbWVtPSc0TUInOwogU0VMRUNUIENPVU5UKCopIEZST00gKFNFTEVDVCBESVNUSU5D VCB4IEZST00gaGFzaGFnZ19paikgczsKIE5PVElDRTogIG5vdGljZSB0cmlnZ2VyZWQgZm9yIGlu amVjdGlvbiBwb2ludCBoYXNoLWFnZ3JlZ2F0ZS1zcGlsbC0xMDAwCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvc3FsL2hhc2hhZ2cuc3FsIGIvc3JjL3Rlc3Qv bW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL3NxbC9oYXNoYWdnLnNxbAppbmRleCA1MWQ4MTQ2MjNm Yy4uNWQ1ODBmOGU0MjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3Bv aW50cy9zcWwvaGFzaGFnZy5zcWwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9p bnRzL3NxbC9oYXNoYWdnLnNxbApAQCAtMTcsNyArMTcsNyBAQCBJTlNFUlQgSU5UTyBoYXNoYWdn X2lqIFNFTEVDVCBnIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsNTEwMCkgZzsKIAogU0VUIG1heF9w YXJhbGxlbF93b3JrZXJzPTA7CiBTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlcj0w OwotU0VUIGVuYWJsZV9zb3J0PUZBTFNFOworU0VUIGVuYWJsZV9ncm91cGFnZz1GQUxTRTsKIFNF VCB3b3JrX21lbT0nNE1CJzsKIAogU0VMRUNUIENPVU5UKCopIEZST00gKFNFTEVDVCBESVNUSU5D VCB4IEZST00gaGFzaGFnZ19paikgczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvYWdncmVnYXRlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FnZ3JlZ2F0 ZXMub3V0CmluZGV4IDcyOGEzZWNkMDNmLi5mMjFmNGUyMjVkYSAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9hZ2dyZWdhdGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2FnZ3JlZ2F0ZXMub3V0CkBAIC0xNDU5LDcgKzE0NTksNyBAQCBkcm9wIGNhc2Nh ZGVzIHRvIHRhYmxlIG1pbm1heHRlc3QyCiBkcm9wIGNhc2NhZGVzIHRvIHRhYmxlIG1pbm1heHRl c3QzCiAtLSBESVNUSU5DVCBjYW4gYWxzbyB0cmlnZ2VyIHdyb25nIGFuc3dlcnMgd2l0aCBoYXNo IGFnZ3JlZ2F0aW9uIChidWcgIzE4NDY1KQogYmVnaW47Ci1zZXQgbG9jYWwgZW5hYmxlX3NvcnQg PSBvZmY7CitzZXQgbG9jYWwgZW5hYmxlX2dyb3VwYWdnID0gb2ZmOwogZXhwbGFpbiAoY29zdHMg b2ZmKQogICBzZWxlY3QgZjEsIChzZWxlY3QgZGlzdGluY3QgbWluKHQxLmYxKSBmcm9tIGludDRf dGJsIHQxIHdoZXJlIHQxLmYxID0gdDAuZjEpCiAgIGZyb20gaW50NF90YmwgdDA7CkBAIC0zODY2 LDcgKzM4NjYsNyBAQCBzZWxlY3Qgdnx8J2EnLCBjYXNlIHdoZW4gdnx8J2EnID0gJ2FhJyB0aGVu IDEgZWxzZSAwIGVuZCwgY291bnQoKikKIC0tCiAtLSBIYXNoIEFnZ3JlZ2F0aW9uIFNwaWxsIHRl c3RzCiAtLQotc2V0IGVuYWJsZV9zb3J0PWZhbHNlOworc2V0IGVuYWJsZV9ncm91cGFnZz1mYWxz ZTsKIHNldCB3b3JrX21lbT0nNjRrQic7CiBzZWxlY3QgdW5pcXVlMSwgY291bnQoKiksIHN1bSh0 d290aG91c2FuZCkgZnJvbSB0ZW5rMQogZ3JvdXAgYnkgdW5pcXVlMQpAQCAtMzkyNSw3ICszOTI1 LDcgQEAgb3JkZXIgYnkgc3VtKHR3b3Rob3VzYW5kKTsKICg0OCByb3dzKQogCiBzZXQgd29ya19t ZW0gdG8gZGVmYXVsdDsKLXNldCBlbmFibGVfc29ydCB0byBkZWZhdWx0Oworc2V0IGVuYWJsZV9n cm91cGFnZyB0byBkZWZhdWx0OwogLS0KIC0tIENvbXBhcmUgcmVzdWx0cyBiZXR3ZWVuIHBsYW5z IHVzaW5nIHNvcnRpbmcgYW5kIHBsYW5zIHVzaW5nIGhhc2gKIC0tIGFnZ3JlZ2F0aW9uLiBGb3Jj ZSBzcGlsbGluZyBpbiBib3RoIGNhc2VzIGJ5IHNldHRpbmcgd29ya19tZW0gbG93LgpAQCAtMzk3 NCw3ICszOTc0LDcgQEAgc2VsZWN0IChnLzIpOjpudW1lcmljIGFzIGMxLCBhcnJheV9hZ2coZzo6 bnVtZXJpYykgYXMgYzIsIGNvdW50KCopIGFzIGMzCiAgIGZyb20gYWdnX2RhdGFfMmsgZ3JvdXAg YnkgZy8yOwogLS0gUHJvZHVjZSByZXN1bHRzIHdpdGggaGFzaCBhZ2dyZWdhdGlvbgogc2V0IGVu YWJsZV9oYXNoYWdnID0gdHJ1ZTsKLXNldCBlbmFibGVfc29ydCA9IGZhbHNlOworc2V0IGVuYWJs ZV9ncm91cGFnZyA9IGZhbHNlOwogc2V0IGppdF9hYm92ZV9jb3N0ID0gMDsKIGV4cGxhaW4gKGNv c3RzIG9mZikKIHNlbGVjdCBnJTEwMDAwIGFzIGMxLCBzdW0oZzo6bnVtZXJpYykgYXMgYzIsIGNv dW50KCopIGFzIGMzCkBAIC00MDA2LDcgKzQwMDYsNyBAQCBzZWxlY3QgKGcvMik6Om51bWVyaWMg YXMgYzEsIHN1bSg3OjppbnQ0KSBhcyBjMiwgY291bnQoKikgYXMgYzMKIGNyZWF0ZSB0YWJsZSBh Z2dfaGFzaF80IGFzCiBzZWxlY3QgKGcvMik6Om51bWVyaWMgYXMgYzEsIGFycmF5X2FnZyhnOjpu dW1lcmljKSBhcyBjMiwgY291bnQoKikgYXMgYzMKICAgZnJvbSBhZ2dfZGF0YV8yayBncm91cCBi eSBnLzI7Ci1zZXQgZW5hYmxlX3NvcnQgPSB0cnVlOworc2V0IGVuYWJsZV9ncm91cGFnZyA9IHRy dWU7CiBzZXQgd29ya19tZW0gdG8gZGVmYXVsdDsKIC0tIENvbXBhcmUgZ3JvdXAgYWdncmVnYXRp b24gcmVzdWx0cyB0byBoYXNoIGFnZ3JlZ2F0aW9uIHJlc3VsdHMKIChzZWxlY3QgKiBmcm9tIGFn Z19oYXNoXzEgZXhjZXB0IHNlbGVjdCAqIGZyb20gYWdnX2dyb3VwXzEpCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dyb3VwaW5nc2V0cy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2dyb3VwaW5nc2V0cy5vdXQKaW5kZXggYjA4MDgzZWM1NGMuLmMzZjAwNzcx ZjZlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2dyb3VwaW5nc2V0cy5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ncm91cGluZ3NldHMub3V0CkBAIC0y MDEwLDcgKzIwMTAsNyBAQCBhbHRlciB0YWJsZSBidWdfMTY3ODQgc2V0IChhdXRvdmFjdXVtX2Vu YWJsZWQgPSAnZmFsc2UnKTsKIHVwZGF0ZSBwZ19jbGFzcyBzZXQgcmVsdHVwbGVzID0gMTAgd2hl cmUgcmVsbmFtZT0nYnVnXzE2Nzg0JzsKIGluc2VydCBpbnRvIGJ1Z18xNjc4NCBzZWxlY3QgZy8x MCwgZyBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDQwKSBnOwogc2V0IHdvcmtfbWVtPSc2NGtCJzsK LXNldCBlbmFibGVfc29ydCA9IGZhbHNlOworc2V0IGVuYWJsZV9ncm91cGFnZyA9IGZhbHNlOwog c2VsZWN0ICogZnJvbQogICAodmFsdWVzICgxKSwoMikpIHYoYSksCiAgIGxhdGVyYWwgKHNlbGVj dCBhLCBpLCBqLCBjb3VudCgqKSBmcm9tCkBAIC0yMjA1LDcgKzIyMDUsNyBAQCBhbHRlciB0YWJs ZSBnc19kYXRhXzEgc2V0IChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIHVwZGF0ZSBw Z19jbGFzcyBzZXQgcmVsdHVwbGVzID0gMTAgd2hlcmUgcmVsbmFtZT0nZ3NfZGF0YV8xJzsKIHNl dCB3b3JrX21lbT0nNjRrQic7CiAtLSBQcm9kdWNlIHJlc3VsdHMgd2l0aCBzb3J0aW5nLgotc2V0 IGVuYWJsZV9zb3J0ID0gdHJ1ZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSB0cnVlOwogc2V0IGVu YWJsZV9oYXNoYWdnID0gZmFsc2U7CiBzZXQgaml0X2Fib3ZlX2Nvc3QgPSAwOwogZXhwbGFpbiAo Y29zdHMgb2ZmKQpAQCAtMjIzNCw3ICsyMjM0LDcgQEAgc2VsZWN0IGcxMDAsIGcxMCwgc3VtKGc6 Om51bWVyaWMpLCBjb3VudCgqKSwgbWF4KGc6OnRleHQpCiBmcm9tIGdzX2RhdGFfMSBncm91cCBi eSBjdWJlIChnMTAwMCwgZzEwMCxnMTApOwogLS0gUHJvZHVjZSByZXN1bHRzIHdpdGggaGFzaCBh Z2dyZWdhdGlvbi4KIHNldCBlbmFibGVfaGFzaGFnZyA9IHRydWU7Ci1zZXQgZW5hYmxlX3NvcnQg PSBmYWxzZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBmYWxzZTsKIGV4cGxhaW4gKGNvc3RzIG9m ZikKIHNlbGVjdCBnMTAwLCBnMTAsIHN1bShnOjpudW1lcmljKSwgY291bnQoKiksIG1heChnOjp0 ZXh0KQogZnJvbSBnc19kYXRhXzEgZ3JvdXAgYnkgY3ViZSAoZzEwMDAsIGcxMDAsZzEwKTsKQEAg LTIyNTUsNyArMjI1NSw3IEBAIGZyb20gZ3NfZGF0YV8xIGdyb3VwIGJ5IGN1YmUgKGcxMDAwLCBn MTAwLGcxMCk7CiBjcmVhdGUgdGFibGUgZ3NfaGFzaF8xIGFzCiBzZWxlY3QgZzEwMCwgZzEwLCBz dW0oZzo6bnVtZXJpYyksIGNvdW50KCopLCBtYXgoZzo6dGV4dCkKIGZyb20gZ3NfZGF0YV8xIGdy b3VwIGJ5IGN1YmUgKGcxMDAwLCBnMTAwLGcxMCk7Ci1zZXQgZW5hYmxlX3NvcnQgPSB0cnVlOwor c2V0IGVuYWJsZV9ncm91cGFnZyA9IHRydWU7CiBzZXQgd29ya19tZW0gdG8gZGVmYXVsdDsKIHNl dCBoYXNoX21lbV9tdWx0aXBsaWVyIHRvIGRlZmF1bHQ7CiAtLSBDb21wYXJlIHJlc3VsdHMKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvanNvbmIub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9qc29uYi5vdXQKaW5kZXggNGUyNDY3ODUyZGIuLmIxZDJjZTVmMDNh IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pzb25iLm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pzb25iLm91dApAQCAtMzQ3Myw3ICszNDczLDcgQEAg U0VMRUNUIGNvdW50KCopIEZST00gKFNFTEVDVCBqIEZST00gKFNFTEVDVCAqIEZST00gdGVzdGpz b25iIFVOSU9OIEFMTCBTRUxFQ1QgKgogKDEgcm93KQogCiBTRVQgZW5hYmxlX2hhc2hhZ2cgPSBv bjsKLVNFVCBlbmFibGVfc29ydCA9IG9mZjsKK1NFVCBlbmFibGVfZ3JvdXBhZ2cgPSBvZmY7CiBT RUxFQ1QgY291bnQoKikgRlJPTSAoU0VMRUNUIGogRlJPTSAoU0VMRUNUICogRlJPTSB0ZXN0anNv bmIgVU5JT04gQUxMIFNFTEVDVCAqIEZST00gdGVzdGpzb25iKSBqcyBHUk9VUCBCWSBqKSBqczI7 CiAgY291bnQgCiAtLS0tLS0tCkBAIC0zNDg2LDkgKzM0ODYsOSBAQCBTRUxFQ1QgZGlzdGluY3Qg KiBGUk9NICh2YWx1ZXMgKGpzb25iICd7fScgfHwgJyc6OnRleHQpLCgne30nKSkgdihqKTsKICB7 fQogKDEgcm93KQogCi1TRVQgZW5hYmxlX3NvcnQgPSBvbjsKK1NFVCBlbmFibGVfZ3JvdXBhZ2cg PSBvbjsKIFJFU0VUIGVuYWJsZV9oYXNoYWdnOwotUkVTRVQgZW5hYmxlX3NvcnQ7CitSRVNFVCBl bmFibGVfZ3JvdXBhZ2c7CiBEUk9QIElOREVYIGppZHg7CiBEUk9QIElOREVYIGppZHhfYXJyYXk7 CiAtLSBidHJlZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tdWx0aXJh bmdldHlwZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMu b3V0CmluZGV4IDYwMDZhZWRlMzFkLi5kNDdjZTRiNmQ2YSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dApAQCAtMzQ0MiwxNCArMzQ0MiwxNCBAQCBO T1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHR5cGUgdHdvX2ludHNfcmFuZ2UKIC0tCiAtLSBDaGVj ayBiZWhhdmlvciB3aGVuIHN1YnR5cGUgbGFja3MgYSBoYXNoIGZ1bmN0aW9uCiAtLQotc2V0IGVu YWJsZV9zb3J0ID0gb2ZmOyAgLS0gdHJ5IHRvIG1ha2UgaXQgcGljayBhIGhhc2ggc2V0b3AgaW1w bGVtZW50YXRpb24KK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBvZmY7ICAtLSB0cnkgdG8gbWFrZSBp dCBwaWNrIGEgaGFzaCBzZXRvcCBpbXBsZW1lbnRhdGlvbgogc2VsZWN0ICd7KDAxLDEwKX0nOjp2 YXJiaXRtdWx0aXJhbmdlIGV4Y2VwdCBzZWxlY3QgJ3soMTAsMTEpfSc6OnZhcmJpdG11bHRpcmFu Z2U7CiAgdmFyYml0bXVsdGlyYW5nZSAKIC0tLS0tLS0tLS0tLS0tLS0tLQogIHsoMDEsMTApfQog KDEgcm93KQogCi1yZXNldCBlbmFibGVfc29ydDsKK3Jlc2V0IGVuYWJsZV9ncm91cGFnZzsKIC0t CiAtLSBPVVQvSU5PVVQvVEFCTEUgZnVuY3Rpb25zCiAtLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9yYW5nZXR5cGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcmFuZ2V0eXBlcy5vdXQKaW5kZXggOThiYTczOGZiMWQuLjA4M2U5NDhiYzQxIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JhbmdldHlwZXMub3V0CisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmFuZ2V0eXBlcy5vdXQKQEAgLTE4MTksMTQgKzE4MTksMTQg QEAgTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byB0eXBlIHR3b19pbnRzX3JhbmdlCiAtLSBDaGVj ayBiZWhhdmlvciB3aGVuIHN1YnR5cGUgbGFja3MgYSBoYXNoIGZ1bmN0aW9uCiAtLQogY3JlYXRl IHR5cGUgdmFyYml0cmFuZ2UgYXMgcmFuZ2UgKHN1YnR5cGUgPSB2YXJiaXQpOwotc2V0IGVuYWJs ZV9zb3J0ID0gb2ZmOyAgLS0gdHJ5IHRvIG1ha2UgaXQgcGljayBhIGhhc2ggc2V0b3AgaW1wbGVt ZW50YXRpb24KK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBvZmY7ICAtLSB0cnkgdG8gbWFrZSBpdCBw aWNrIGEgaGFzaCBzZXRvcCBpbXBsZW1lbnRhdGlvbgogc2VsZWN0ICcoMDEsMTApJzo6dmFyYml0 cmFuZ2UgZXhjZXB0IHNlbGVjdCAnKDEwLDExKSc6OnZhcmJpdHJhbmdlOwogIHZhcmJpdHJhbmdl IAogLS0tLS0tLS0tLS0tLQogICgwMSwxMCkKICgxIHJvdykKIAotcmVzZXQgZW5hYmxlX3NvcnQ7 CityZXNldCBlbmFibGVfZ3JvdXBhZ2c7CiAtLQogLS0gT1VUL0lOT1VUL1RBQkxFIGZ1bmN0aW9u cwogLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2VsZWN0X2Rpc3Rp bmN0Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2VsZWN0X2Rpc3RpbmN0Lm91dApp bmRleCAzNzliYTBiYzlmYS4uNzQxZjcyMzg3NDIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc2VsZWN0X2Rpc3RpbmN0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3NlbGVjdF9kaXN0aW5jdC5vdXQKQEAgLTE4Nyw3ICsxODcsNyBAQCBTRUxFQ1QgRElT VElOQ1QgaHVuZHJlZCwgdHdvIEZST00gdGVuazE7CiBSRVNFVCBlbmFibGVfc2Vxc2NhbjsKIFNF VCBlbmFibGVfaGFzaGFnZz1UUlVFOwogLS0gUHJvZHVjZSByZXN1bHRzIHdpdGggaGFzaCBhZ2dy ZWdhdGlvbi4KLVNFVCBlbmFibGVfc29ydD1GQUxTRTsKK1NFVCBlbmFibGVfZ3JvdXBhZ2c9RkFM U0U7CiBTRVQgaml0X2Fib3ZlX2Nvc3Q9MDsKIEVYUExBSU4gKGNvc3RzIG9mZikKIFNFTEVDVCBE SVNUSU5DVCBnJTEwMDAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMCw5OTk5KSBnOwpAQCAtMjAzLDcg KzIwMyw3IEBAIFNFTEVDVCBESVNUSU5DVCBnJTEwMDAgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMCw5 OTk5KSBnOwogU0VUIGppdF9hYm92ZV9jb3N0IFRPIERFRkFVTFQ7CiBDUkVBVEUgVEFCTEUgZGlz dGluY3RfaGFzaF8yIEFTCiBTRUxFQ1QgRElTVElOQ1QgKGclMTAwMCk6OnRleHQgRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMCw5OTk5KSBnOwotU0VUIGVuYWJsZV9zb3J0PVRSVUU7CitTRVQgZW5hYmxl X2dyb3VwYWdnPVRSVUU7CiBTRVQgd29ya19tZW0gVE8gREVGQVVMVDsKIC0tIENvbXBhcmUgcmVz dWx0cwogKFNFTEVDVCAqIEZST00gZGlzdGluY3RfaGFzaF8xIEVYQ0VQVCBTRUxFQ1QgKiBGUk9N IGRpc3RpbmN0X2dyb3VwXzEpCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3N1YnNlbGVjdC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNlbGVjdC5vdXQK aW5kZXggMjAxNDBmMTcxYWYuLmU3ZmY3MTkxMDgyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3N1YnNlbGVjdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zdWJzZWxlY3Qub3V0CkBAIC0xNDU0LDcgKzE0NTQsNyBAQCB3aGVyZSBvLnRlbiA9IDA7CiAt LSBUZXN0IHJlc2NhbiBvZiBhIGhhc2hlZCBTZXRPcCBub2RlCiAtLQogYmVnaW47Ci1zZXQgbG9j YWwgZW5hYmxlX3NvcnQgPSBvZmY7CitzZXQgbG9jYWwgZW5hYmxlX2dyb3VwYWdnID0gb2ZmOwog ZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IGNvdW50KCopIGZyb20KICAgb25layBvIGNyb3Nz IGpvaW4gbGF0ZXJhbCAoCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N5 c3ZpZXdzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0CmluZGV4 IDEzMmI1NmE1ODY0Li4xZTMyN2MyYWZhNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zeXN2aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2 aWV3cy5vdXQKQEAgLTE2MSw2ICsxNjEsNyBAQCBzZWxlY3QgbmFtZSwgc2V0dGluZyBmcm9tIHBn X3NldHRpbmdzIHdoZXJlIG5hbWUgbGlrZSAnZW5hYmxlJSc7CiAgZW5hYmxlX2VhZ2VyX2FnZ3Jl Z2F0ZSAgICAgICAgIHwgb24KICBlbmFibGVfZ2F0aGVybWVyZ2UgICAgICAgICAgICAgfCBvbgog IGVuYWJsZV9ncm91cF9ieV9yZW9yZGVyaW5nICAgICB8IG9uCisgZW5hYmxlX2dyb3VwYWdnICAg ICAgICAgICAgICAgIHwgb24KICBlbmFibGVfaGFzaGFnZyAgICAgICAgICAgICAgICAgfCBvbgog IGVuYWJsZV9oYXNoam9pbiAgICAgICAgICAgICAgICB8IG9uCiAgZW5hYmxlX2luY3JlbWVudGFs X3NvcnQgICAgICAgIHwgb24KQEAgLTE4MCw3ICsxODEsNyBAQCBzZWxlY3QgbmFtZSwgc2V0dGlu ZyBmcm9tIHBnX3NldHRpbmdzIHdoZXJlIG5hbWUgbGlrZSAnZW5hYmxlJSc7CiAgZW5hYmxlX3Nl cXNjYW4gICAgICAgICAgICAgICAgIHwgb24KICBlbmFibGVfc29ydCAgICAgICAgICAgICAgICAg ICAgfCBvbgogIGVuYWJsZV90aWRzY2FuICAgICAgICAgICAgICAgICB8IG9uCi0oMjUgcm93cykK KygyNiByb3dzKQogCiAtLSBUaGVyZSBhcmUgYWx3YXlzIHdhaXQgZXZlbnQgZGVzY3JpcHRpb25z IGZvciB2YXJpb3VzIHR5cGVzLiAgSW5qZWN0aW9uUG9pbnQKIC0tIG1heSBiZSBwcmVzZW50IG9y IGFic2VudCwgZGVwZW5kaW5nIG9uIGhpc3Rvcnkgc2luY2UgbGFzdCBwb3N0bWFzdGVyIHN0YXJ0 LgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91bmlvbi5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VuaW9uLm91dAppbmRleCBjYTkwODllOWE3ZC4uODRhYmNk NmIxNGYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdW5pb24ub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdW5pb24ub3V0CkBAIC0zODYsMTQgKzM4Niwx NCBAQCBzZWxlY3QgY291bnQoKikgZnJvbQogKDEgcm93KQogCiAtLSB0aGlzIHF1ZXJ5IHdpbGwg cHJlZmVyIGEgc29ydGVkIHNldG9wIHVubGVzcyB3ZSBmb3JjZSBpdC4KLXNldCBlbmFibGVfaW5k ZXhzY2FuIHRvIG9mZjsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgdG8gb2ZmOwogZXhwbGFpbiAoY29z dHMgb2ZmKQogc2VsZWN0IHVuaXF1ZTEgZnJvbSB0ZW5rMSBleGNlcHQgc2VsZWN0IHVuaXF1ZTIg ZnJvbSB0ZW5rMSB3aGVyZSB1bmlxdWUyICE9IDEwOwotICAgICAgICAgICBRVUVSWSBQTEFOICAg ICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAg ICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg SGFzaFNldE9wIEV4Y2VwdAotICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxCi0gICAtPiAgU2VxIFNj YW4gb24gdGVuazEgdGVuazFfMQorICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2luZyB0ZW5rMV91 bmlxdWUxIG9uIHRlbmsxCisgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlbmsxX3VuaXF1 ZTIgb24gdGVuazEgdGVuazFfMQogICAgICAgICAgRmlsdGVyOiAodW5pcXVlMiA8PiAxMCkKICg0 IHJvd3MpCiAKQEAgLTQwMyw3ICs0MDMsNyBAQCBzZWxlY3QgdW5pcXVlMSBmcm9tIHRlbmsxIGV4 Y2VwdCBzZWxlY3QgdW5pcXVlMiBmcm9tIHRlbmsxIHdoZXJlIHVuaXF1ZTIgIT0gMTA7CiAgICAg ICAxMAogKDEgcm93KQogCi1yZXNldCBlbmFibGVfaW5kZXhzY2FuOworcmVzZXQgZW5hYmxlX2dy b3VwYWdnOwogLS0gdGhlIGhhc2hlZCBpbXBsZW1lbnRhdGlvbiBpcyBzZW5zaXRpdmUgdG8gY2hp bGQgcGxhbnMnIHR1cGxlIHNsb3QgdHlwZXMKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCAq IGZyb20gaW50OF90YmwgaW50ZXJzZWN0IHNlbGVjdCBxMiwgcTEgZnJvbSBpbnQ4X3RibCBvcmRl ciBieSAxLCAyOwpAQCAtOTgxLDE5ICs5ODEsMzAgQEAgc2VsZWN0IGV4Y2VwdCBzZWxlY3Q7CiAK IC0tIGNoZWNrIGhhc2hlZCBpbXBsZW1lbnRhdGlvbgogc2V0IGVuYWJsZV9oYXNoYWdnID0gdHJ1 ZTsKLXNldCBlbmFibGVfc29ydCA9IGZhbHNlOwotLS0gV2UndmUgbm8gd2F5IHRvIGNoZWNrIGhh c2hlZCBVTklPTiBhcyB0aGUgZW1wdHkgcGF0aGtleXMgaW4gdGhlIEFwcGVuZCBhcmUKLS0tIGZp bmUgdG8gbWFrZSB1c2Ugb2YgVW5pcXVlLCB3aGljaCBpcyBjaGVhcGVyIHRoYW4gSGFzaEFnZ3Jl Z2F0ZSBhbmQgd2UndmUKLS0tIG5vIG1lYW5zIHRvIGRpc2FibGUgVW5pcXVlLgorc2V0IGVuYWJs ZV9ncm91cGFnZyA9IGZhbHNlOworZXhwbGFpbiAoY29zdHMgb2ZmKQorc2VsZWN0IGZyb20gZ2Vu ZXJhdGVfc2VyaWVzKDEsNSkgdW5pb24gc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMyk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAg ICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgSGFzaEFnZ3JlZ2F0ZQorICAgLT4gIEFwcGVuZAorICAgICAg ICAgLT4gIEZ1bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2VyaWVzCisgICAgICAgICAtPiAgRnVu Y3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMgZ2VuZXJhdGVfc2VyaWVzXzEKKyg0IHJvd3Mp CisKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDUp IGludGVyc2VjdCBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwzKTsKICAgICAgICAgICAg ICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAKIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBTZXRP cCBJbnRlcnNlY3QKKyBIYXNoU2V0T3AgSW50ZXJzZWN0CiAgICAtPiAgRnVuY3Rpb24gU2NhbiBv biBnZW5lcmF0ZV9zZXJpZXMKICAgIC0+ICBGdW5jdGlvbiBTY2FuIG9uIGdlbmVyYXRlX3Nlcmll cyBnZW5lcmF0ZV9zZXJpZXNfMQogKDMgcm93cykKIAorc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2Vy aWVzKDEsNSkgdW5pb24gc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMyk7CistLQorKDEg cm93KQorCiBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSw1KSB1bmlvbiBhbGwgc2VsZWN0 IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMyk7CiAtLQogKDggcm93cykKQEAgLTEwMTYsNyArMTAy Nyw3IEBAIHNlbGVjdCBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDUpIGV4Y2VwdCBhbGwgc2VsZWN0 IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMyk7CiAKIC0tIGNoZWNrIHNvcnRlZCBpbXBsZW1lbnRh dGlvbgogc2V0IGVuYWJsZV9oYXNoYWdnID0gZmFsc2U7Ci1zZXQgZW5hYmxlX3NvcnQgPSB0cnVl Oworc2V0IGVuYWJsZV9ncm91cGFnZyA9IHRydWU7CiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxl Y3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSw1KSB1bmlvbiBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9z ZXJpZXMoMSwzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAg ICAgICAgICAgICAgICAgICAgICAKQEAgLTEwNzUsNyArMTA4Niw3IEBAIHNlbGVjdCBmcm9tIGN0 ZSB1bmlvbiBzZWxlY3QgZnJvbSBjdGU7CiAoMSByb3cpCiAKIHJlc2V0IGVuYWJsZV9oYXNoYWdn OwotcmVzZXQgZW5hYmxlX3NvcnQ7CityZXNldCBlbmFibGVfZ3JvdXBhZ2c7CiAtLQogLS0gQ2hl Y2sgaGFuZGxpbmcgb2YgYSBjYXNlIHdpdGggdW5rbm93biBjb25zdGFudHMuICBXZSBkb24ndCBn dWFyYW50ZWUKIC0tIGFuIHVuZGVjb3JhdGVkIGNvbnN0YW50IHdpbGwgd29yayBpbiBhbGwgY2Fz ZXMsIGJ1dCBoaXN0b3JpY2FsbHkgdGhpcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvYWdncmVnYXRlcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9hZ2dyZWdhdGVzLnNxbApp bmRleCAzNDI2MDVkNTQ5Ny4uNWNiOWE5ZGMxYmUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2FnZ3JlZ2F0ZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2FnZ3JlZ2F0 ZXMuc3FsCkBAIC00OTMsNyArNDkzLDcgQEAgZHJvcCB0YWJsZSBtaW5tYXh0ZXN0IGNhc2NhZGU7 CiAKIC0tIERJU1RJTkNUIGNhbiBhbHNvIHRyaWdnZXIgd3JvbmcgYW5zd2VycyB3aXRoIGhhc2gg YWdncmVnYXRpb24gKGJ1ZyAjMTg0NjUpCiBiZWdpbjsKLXNldCBsb2NhbCBlbmFibGVfc29ydCA9 IG9mZjsKK3NldCBsb2NhbCBlbmFibGVfZ3JvdXBhZ2cgPSBvZmY7CiBleHBsYWluIChjb3N0cyBv ZmYpCiAgIHNlbGVjdCBmMSwgKHNlbGVjdCBkaXN0aW5jdCBtaW4odDEuZjEpIGZyb20gaW50NF90 YmwgdDEgd2hlcmUgdDEuZjEgPSB0MC5mMSkKICAgZnJvbSBpbnQ0X3RibCB0MDsKQEAgLTE3MDIs NyArMTcwMiw3IEBAIHNlbGVjdCB2fHwnYScsIGNhc2Ugd2hlbiB2fHwnYScgPSAnYWEnIHRoZW4g MSBlbHNlIDAgZW5kLCBjb3VudCgqKQogLS0gSGFzaCBBZ2dyZWdhdGlvbiBTcGlsbCB0ZXN0cwog LS0KIAotc2V0IGVuYWJsZV9zb3J0PWZhbHNlOworc2V0IGVuYWJsZV9ncm91cGFnZz1mYWxzZTsK IHNldCB3b3JrX21lbT0nNjRrQic7CiAKIHNlbGVjdCB1bmlxdWUxLCBjb3VudCgqKSwgc3VtKHR3 b3Rob3VzYW5kKSBmcm9tIHRlbmsxCkBAIC0xNzExLDcgKzE3MTEsNyBAQCBoYXZpbmcgc3VtKGZp dmV0aG91cykgPiA0OTc1CiBvcmRlciBieSBzdW0odHdvdGhvdXNhbmQpOwogCiBzZXQgd29ya19t ZW0gdG8gZGVmYXVsdDsKLXNldCBlbmFibGVfc29ydCB0byBkZWZhdWx0Oworc2V0IGVuYWJsZV9n cm91cGFnZyB0byBkZWZhdWx0OwogCiAtLQogLS0gQ29tcGFyZSByZXN1bHRzIGJldHdlZW4gcGxh bnMgdXNpbmcgc29ydGluZyBhbmQgcGxhbnMgdXNpbmcgaGFzaApAQCAtMTc2Niw3ICsxNzY2LDcg QEAgc2VsZWN0IChnLzIpOjpudW1lcmljIGFzIGMxLCBhcnJheV9hZ2coZzo6bnVtZXJpYykgYXMg YzIsIGNvdW50KCopIGFzIGMzCiAtLSBQcm9kdWNlIHJlc3VsdHMgd2l0aCBoYXNoIGFnZ3JlZ2F0 aW9uCiAKIHNldCBlbmFibGVfaGFzaGFnZyA9IHRydWU7Ci1zZXQgZW5hYmxlX3NvcnQgPSBmYWxz ZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBmYWxzZTsKIAogc2V0IGppdF9hYm92ZV9jb3N0ID0g MDsKIApAQCAtMTc5OSw3ICsxNzk5LDcgQEAgY3JlYXRlIHRhYmxlIGFnZ19oYXNoXzQgYXMKIHNl bGVjdCAoZy8yKTo6bnVtZXJpYyBhcyBjMSwgYXJyYXlfYWdnKGc6Om51bWVyaWMpIGFzIGMyLCBj b3VudCgqKSBhcyBjMwogICBmcm9tIGFnZ19kYXRhXzJrIGdyb3VwIGJ5IGcvMjsKIAotc2V0IGVu YWJsZV9zb3J0ID0gdHJ1ZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSB0cnVlOwogc2V0IHdvcmtf bWVtIHRvIGRlZmF1bHQ7CiAKIC0tIENvbXBhcmUgZ3JvdXAgYWdncmVnYXRpb24gcmVzdWx0cyB0 byBoYXNoIGFnZ3JlZ2F0aW9uIHJlc3VsdHMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL2dyb3VwaW5nc2V0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ncm91cGluZ3NldHMu c3FsCmluZGV4IGE1OTQ0NDliNjk3Li5jNWQ0ZWQyZWI1NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvZ3JvdXBpbmdzZXRzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9n cm91cGluZ3NldHMuc3FsCkBAIC01ODMsNyArNTgzLDcgQEAgdXBkYXRlIHBnX2NsYXNzIHNldCBy ZWx0dXBsZXMgPSAxMCB3aGVyZSByZWxuYW1lPSdidWdfMTY3ODQnOwogaW5zZXJ0IGludG8gYnVn XzE2Nzg0IHNlbGVjdCBnLzEwLCBnIGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsNDApIGc7CiAKIHNl dCB3b3JrX21lbT0nNjRrQic7Ci1zZXQgZW5hYmxlX3NvcnQgPSBmYWxzZTsKK3NldCBlbmFibGVf Z3JvdXBhZ2cgPSBmYWxzZTsKIAogc2VsZWN0ICogZnJvbQogICAodmFsdWVzICgxKSwoMikpIHYo YSksCkBAIC02MDksNyArNjA5LDcgQEAgc2V0IHdvcmtfbWVtPSc2NGtCJzsKIAogLS0gUHJvZHVj ZSByZXN1bHRzIHdpdGggc29ydGluZy4KIAotc2V0IGVuYWJsZV9zb3J0ID0gdHJ1ZTsKK3NldCBl bmFibGVfZ3JvdXBhZ2cgPSB0cnVlOwogc2V0IGVuYWJsZV9oYXNoYWdnID0gZmFsc2U7CiBzZXQg aml0X2Fib3ZlX2Nvc3QgPSAwOwogCkBAIC02MjQsNyArNjI0LDcgQEAgZnJvbSBnc19kYXRhXzEg Z3JvdXAgYnkgY3ViZSAoZzEwMDAsIGcxMDAsZzEwKTsKIC0tIFByb2R1Y2UgcmVzdWx0cyB3aXRo IGhhc2ggYWdncmVnYXRpb24uCiAKIHNldCBlbmFibGVfaGFzaGFnZyA9IHRydWU7Ci1zZXQgZW5h YmxlX3NvcnQgPSBmYWxzZTsKK3NldCBlbmFibGVfZ3JvdXBhZ2cgPSBmYWxzZTsKIAogZXhwbGFp biAoY29zdHMgb2ZmKQogc2VsZWN0IGcxMDAsIGcxMCwgc3VtKGc6Om51bWVyaWMpLCBjb3VudCgq KSwgbWF4KGc6OnRleHQpCkBAIC02MzQsNyArNjM0LDcgQEAgY3JlYXRlIHRhYmxlIGdzX2hhc2hf MSBhcwogc2VsZWN0IGcxMDAsIGcxMCwgc3VtKGc6Om51bWVyaWMpLCBjb3VudCgqKSwgbWF4KGc6 OnRleHQpCiBmcm9tIGdzX2RhdGFfMSBncm91cCBieSBjdWJlIChnMTAwMCwgZzEwMCxnMTApOwog Ci1zZXQgZW5hYmxlX3NvcnQgPSB0cnVlOworc2V0IGVuYWJsZV9ncm91cGFnZyA9IHRydWU7CiBz ZXQgd29ya19tZW0gdG8gZGVmYXVsdDsKIHNldCBoYXNoX21lbV9tdWx0aXBsaWVyIHRvIGRlZmF1 bHQ7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2pzb25iLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2pzb25iLnNxbAppbmRleCBkMjhlZDFjMWU4NS4uZDRlOGQ3ZDhjOWUg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2pzb25iLnNxbAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9qc29uYi5zcWwKQEAgLTkyNywxMyArOTI3LDEzIEBAIFNFTEVDVCBjb3Vu dChkaXN0aW5jdCBqKSBGUk9NIHRlc3Rqc29uYjsKIFNFVCBlbmFibGVfaGFzaGFnZyA9IG9mZjsK IFNFTEVDVCBjb3VudCgqKSBGUk9NIChTRUxFQ1QgaiBGUk9NIChTRUxFQ1QgKiBGUk9NIHRlc3Rq c29uYiBVTklPTiBBTEwgU0VMRUNUICogRlJPTSB0ZXN0anNvbmIpIGpzIEdST1VQIEJZIGopIGpz MjsKIFNFVCBlbmFibGVfaGFzaGFnZyA9IG9uOwotU0VUIGVuYWJsZV9zb3J0ID0gb2ZmOworU0VU IGVuYWJsZV9ncm91cGFnZyA9IG9mZjsKIFNFTEVDVCBjb3VudCgqKSBGUk9NIChTRUxFQ1QgaiBG Uk9NIChTRUxFQ1QgKiBGUk9NIHRlc3Rqc29uYiBVTklPTiBBTEwgU0VMRUNUICogRlJPTSB0ZXN0 anNvbmIpIGpzIEdST1VQIEJZIGopIGpzMjsKIFNFTEVDVCBkaXN0aW5jdCAqIEZST00gKHZhbHVl cyAoanNvbmIgJ3t9JyB8fCAnJzo6dGV4dCksKCd7fScpKSB2KGopOwotU0VUIGVuYWJsZV9zb3J0 ID0gb247CitTRVQgZW5hYmxlX2dyb3VwYWdnID0gb247CiAKIFJFU0VUIGVuYWJsZV9oYXNoYWdn OwotUkVTRVQgZW5hYmxlX3NvcnQ7CitSRVNFVCBlbmFibGVfZ3JvdXBhZ2c7CiAKIERST1AgSU5E RVggamlkeDsKIERST1AgSU5ERVggamlkeF9hcnJheTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL211bHRpcmFuZ2V0eXBlcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9tdWx0 aXJhbmdldHlwZXMuc3FsCmluZGV4IGRkZmY3MjJiMjhjLi5jZjBmZmY2ZmRkZCAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9tdWx0aXJhbmdldHlwZXMuc3FsCkBAIC04NjIsMTEgKzg2MiwxMSBAQCBk cm9wIHR5cGUgdHdvX2ludHMgY2FzY2FkZTsKIC0tIENoZWNrIGJlaGF2aW9yIHdoZW4gc3VidHlw ZSBsYWNrcyBhIGhhc2ggZnVuY3Rpb24KIC0tCiAKLXNldCBlbmFibGVfc29ydCA9IG9mZjsgIC0t IHRyeSB0byBtYWtlIGl0IHBpY2sgYSBoYXNoIHNldG9wIGltcGxlbWVudGF0aW9uCitzZXQgZW5h YmxlX2dyb3VwYWdnID0gb2ZmOyAgLS0gdHJ5IHRvIG1ha2UgaXQgcGljayBhIGhhc2ggc2V0b3Ag aW1wbGVtZW50YXRpb24KIAogc2VsZWN0ICd7KDAxLDEwKX0nOjp2YXJiaXRtdWx0aXJhbmdlIGV4 Y2VwdCBzZWxlY3QgJ3soMTAsMTEpfSc6OnZhcmJpdG11bHRpcmFuZ2U7CiAKLXJlc2V0IGVuYWJs ZV9zb3J0OworcmVzZXQgZW5hYmxlX2dyb3VwYWdnOwogCiAtLQogLS0gT1VUL0lOT1VUL1RBQkxF IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yYW5nZXR5cGVzLnNxbAppbmRleCA1YzRiMDMzN2I3 YS4uZGJmZTBkMDQ5ZGEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlw ZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlwZXMuc3FsCkBAIC01ODcs MTEgKzU4NywxMSBAQCBkcm9wIHR5cGUgdHdvX2ludHMgY2FzY2FkZTsKIAogY3JlYXRlIHR5cGUg dmFyYml0cmFuZ2UgYXMgcmFuZ2UgKHN1YnR5cGUgPSB2YXJiaXQpOwogCi1zZXQgZW5hYmxlX3Nv cnQgPSBvZmY7ICAtLSB0cnkgdG8gbWFrZSBpdCBwaWNrIGEgaGFzaCBzZXRvcCBpbXBsZW1lbnRh dGlvbgorc2V0IGVuYWJsZV9ncm91cGFnZyA9IG9mZjsgIC0tIHRyeSB0byBtYWtlIGl0IHBpY2sg YSBoYXNoIHNldG9wIGltcGxlbWVudGF0aW9uCiAKIHNlbGVjdCAnKDAxLDEwKSc6OnZhcmJpdHJh bmdlIGV4Y2VwdCBzZWxlY3QgJygxMCwxMSknOjp2YXJiaXRyYW5nZTsKIAotcmVzZXQgZW5hYmxl X3NvcnQ7CityZXNldCBlbmFibGVfZ3JvdXBhZ2c7CiAKIC0tCiAtLSBPVVQvSU5PVVQvVEFCTEUg ZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZWxlY3RfZGlzdGlu Y3Quc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2VsZWN0X2Rpc3RpbmN0LnNxbAppbmRleCA1 MGFjN2RkZTM5Ni4uMmVkMTYxNmIwOTggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3NlbGVjdF9kaXN0aW5jdC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2VsZWN0X2Rp c3RpbmN0LnNxbApAQCAtODEsNyArODEsNyBAQCBTRVQgZW5hYmxlX2hhc2hhZ2c9VFJVRTsKIAog LS0gUHJvZHVjZSByZXN1bHRzIHdpdGggaGFzaCBhZ2dyZWdhdGlvbi4KIAotU0VUIGVuYWJsZV9z b3J0PUZBTFNFOworU0VUIGVuYWJsZV9ncm91cGFnZz1GQUxTRTsKIAogU0VUIGppdF9hYm92ZV9j b3N0PTA7CiAKQEAgLTk2LDcgKzk2LDcgQEAgU0VUIGppdF9hYm92ZV9jb3N0IFRPIERFRkFVTFQ7 CiBDUkVBVEUgVEFCTEUgZGlzdGluY3RfaGFzaF8yIEFTCiBTRUxFQ1QgRElTVElOQ1QgKGclMTAw MCk6OnRleHQgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMCw5OTk5KSBnOwogCi1TRVQgZW5hYmxlX3Nv cnQ9VFJVRTsKK1NFVCBlbmFibGVfZ3JvdXBhZ2c9VFJVRTsKIAogU0VUIHdvcmtfbWVtIFRPIERF RkFVTFQ7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNlbGVjdC5zcWwg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzZWxlY3Quc3FsCmluZGV4IDNkZWZiYzI5MTc3Li43 NmJjZTVjZGJhNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2VsZWN0LnNx bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzZWxlY3Quc3FsCkBAIC03MzAsNyArNzMw LDcgQEAgd2hlcmUgby50ZW4gPSAwOwogLS0gVGVzdCByZXNjYW4gb2YgYSBoYXNoZWQgU2V0T3Ag bm9kZQogLS0KIGJlZ2luOwotc2V0IGxvY2FsIGVuYWJsZV9zb3J0ID0gb2ZmOworc2V0IGxvY2Fs IGVuYWJsZV9ncm91cGFnZyA9IG9mZjsKIAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IGNv dW50KCopIGZyb20KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VuaW9uLnNxbCBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VuaW9uLnNxbAppbmRleCA3ODBiNzA0YjUzYi4uYzhkZTI3 NmMyYjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VuaW9uLnNxbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC91bmlvbi5zcWwKQEAgLTEzNSwxMyArMTM1LDEzIEBAIHNlbGVj dCBjb3VudCgqKSBmcm9tCiAgICggc2VsZWN0IHVuaXF1ZTEgZnJvbSB0ZW5rMSBpbnRlcnNlY3Qg c2VsZWN0IGZpdmV0aG91cyBmcm9tIHRlbmsxICkgc3M7CiAKIC0tIHRoaXMgcXVlcnkgd2lsbCBw cmVmZXIgYSBzb3J0ZWQgc2V0b3AgdW5sZXNzIHdlIGZvcmNlIGl0Lgotc2V0IGVuYWJsZV9pbmRl eHNjYW4gdG8gb2ZmOworc2V0IGVuYWJsZV9ncm91cGFnZyB0byBvZmY7CiAKIGV4cGxhaW4gKGNv c3RzIG9mZikKIHNlbGVjdCB1bmlxdWUxIGZyb20gdGVuazEgZXhjZXB0IHNlbGVjdCB1bmlxdWUy IGZyb20gdGVuazEgd2hlcmUgdW5pcXVlMiAhPSAxMDsKIHNlbGVjdCB1bmlxdWUxIGZyb20gdGVu azEgZXhjZXB0IHNlbGVjdCB1bmlxdWUyIGZyb20gdGVuazEgd2hlcmUgdW5pcXVlMiAhPSAxMDsK IAotcmVzZXQgZW5hYmxlX2luZGV4c2NhbjsKK3Jlc2V0IGVuYWJsZV9ncm91cGFnZzsKIAogLS0g dGhlIGhhc2hlZCBpbXBsZW1lbnRhdGlvbiBpcyBzZW5zaXRpdmUgdG8gY2hpbGQgcGxhbnMnIHR1 cGxlIHNsb3QgdHlwZXMKIGV4cGxhaW4gKGNvc3RzIG9mZikKQEAgLTMyMSwxNCArMzIxLDE0IEBA IHNlbGVjdCBleGNlcHQgc2VsZWN0OwogCiAtLSBjaGVjayBoYXNoZWQgaW1wbGVtZW50YXRpb24K IHNldCBlbmFibGVfaGFzaGFnZyA9IHRydWU7Ci1zZXQgZW5hYmxlX3NvcnQgPSBmYWxzZTsKK3Nl dCBlbmFibGVfZ3JvdXBhZ2cgPSBmYWxzZTsKIAotLS0gV2UndmUgbm8gd2F5IHRvIGNoZWNrIGhh c2hlZCBVTklPTiBhcyB0aGUgZW1wdHkgcGF0aGtleXMgaW4gdGhlIEFwcGVuZCBhcmUKLS0tIGZp bmUgdG8gbWFrZSB1c2Ugb2YgVW5pcXVlLCB3aGljaCBpcyBjaGVhcGVyIHRoYW4gSGFzaEFnZ3Jl Z2F0ZSBhbmQgd2UndmUKLS0tIG5vIG1lYW5zIHRvIGRpc2FibGUgVW5pcXVlLgorZXhwbGFpbiAo Y29zdHMgb2ZmKQorc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsNSkgdW5pb24gc2VsZWN0 IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMyk7CiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxlY3Qg ZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSw1KSBpbnRlcnNlY3Qgc2VsZWN0IGZyb20gZ2VuZXJhdGVf c2VyaWVzKDEsMyk7CiAKK3NlbGVjdCBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDUpIHVuaW9uIHNl bGVjdCBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDMpOwogc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2Vy aWVzKDEsNSkgdW5pb24gYWxsIHNlbGVjdCBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDMpOwogc2Vs ZWN0IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsNSkgaW50ZXJzZWN0IHNlbGVjdCBmcm9tIGdlbmVy YXRlX3NlcmllcygxLDMpOwogc2VsZWN0IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsNSkgaW50ZXJz ZWN0IGFsbCBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwzKTsKQEAgLTMzNyw3ICszMzcs NyBAQCBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSw1KSBleGNlcHQgYWxsIHNlbGVjdCBm cm9tIGdlbmVyYXRlX3NlcmllcygxLDMpOwogCiAtLSBjaGVjayBzb3J0ZWQgaW1wbGVtZW50YXRp b24KIHNldCBlbmFibGVfaGFzaGFnZyA9IGZhbHNlOwotc2V0IGVuYWJsZV9zb3J0ID0gdHJ1ZTsK K3NldCBlbmFibGVfZ3JvdXBhZ2cgPSB0cnVlOwogCiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxl Y3QgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSw1KSB1bmlvbiBzZWxlY3QgZnJvbSBnZW5lcmF0ZV9z ZXJpZXMoMSwzKTsKQEAgLTM2Myw3ICszNjMsNyBAQCB3aXRoIGN0ZSBhcyBub3QgbWF0ZXJpYWxp emVkIChzZWxlY3QgcyBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDUpIHMpCiBzZWxlY3QgZnJvbSBj dGUgdW5pb24gc2VsZWN0IGZyb20gY3RlOwogCiByZXNldCBlbmFibGVfaGFzaGFnZzsKLXJlc2V0 IGVuYWJsZV9zb3J0OworcmVzZXQgZW5hYmxlX2dyb3VwYWdnOwogCiAtLQogLS0gQ2hlY2sgaGFu ZGxpbmcgb2YgYSBjYXNlIHdpdGggdW5rbm93biBjb25zdGFudHMuICBXZSBkb24ndCBndWFyYW50 ZWUKLS0gCjIuMzkuNSAoQXBwbGUgR2l0LTE1NCkKCg== --000000000000f651a40655ffc3ad--