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 1vRPes-00CVmF-1W for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Dec 2025 06:51:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vRPep-006mFi-2P for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Dec 2025 06:51:12 +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.96) (envelope-from ) id 1vRPep-006mFZ-0i for pgsql-hackers@lists.postgresql.org; Fri, 05 Dec 2025 06:51:11 +0000 Received: from mail-yw1-x1129.google.com ([2607:f8b0:4864:20::1129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vRPek-003Eo1-2q for pgsql-hackers@lists.postgresql.org; Fri, 05 Dec 2025 06:51:11 +0000 Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-78ab039ddb4so17963797b3.3 for ; Thu, 04 Dec 2025 22:51:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764917464; x=1765522264; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=733+dzDFG6jOrEv/9MgESSNU6qaL8JIr4ZGb5AFgnXY=; b=BfIAzFGrwhrqaQbGX2w06q3JKMkoYg5UBvCgFoSIxtncUNAuroelNVrdP8LP1NREGJ 0EAIlli0CRSEzo7dgxvOh/F/YBDkcH34/nQK0WsSMgke21tNMXlV4kMBPfyR7ghaZE5i BPwRDhU5PIO1DBskICCSgOSakhOeV+uYbITXse0D5bPQOV5cZRkz8Xf6rmi6+rYjjA9E vBb2wHQdLSFT6eojdU0qdwZiCy9QST90WlrmidL+ejj163J0EiZIhHjlVYjcCcy+j1Cj CLPRKW34pvIqmUevLmBor0irYWU6OYBfzwkMN2Zd2tO8IEdYgHWzM+fjIOhLr+LOuysl +3EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764917464; x=1765522264; h=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; bh=733+dzDFG6jOrEv/9MgESSNU6qaL8JIr4ZGb5AFgnXY=; b=Xoyhn0YL2+6PTMYaIfoiTIqVIG+QsAwEZhfzxxwewomb/WiN7hGLwPgrWQMZQS7t1Y uyY7omyFNEPyKKU5tyhAkG1MfiiXilTr6kCwQnVlw3Akw9l1yIeYP9RUtG7rQeYrBk8f VVRQZlE5p1Dl0CuXHU/wPKspEaRlyEFwc/cn8fMtke5CHvi4QhitoTE4MCzlRbZUhWhe isk2ech8wrBg0P1m9Kp+v+XINOINyjaDxuwVTnIHFFm96L9YLRJ/AA0g6nkQSJUkmyr/ 2SX7vk3FogO/09XtpTmf5mupRhi6L9Mwa/VJIBaG1L/Zgw+315hraGmfyX2RsnGNCAzx 55+g== X-Forwarded-Encrypted: i=1; AJvYcCWdY2g6l8Gj58CQkSTj3zHtc3OeXGnms47bea+lhXNdYUvaeSalha3JKUacBUh6y90ngCDeIfIn2cXOUW8G@lists.postgresql.org X-Gm-Message-State: AOJu0YySn8IAmRnxIRkJ2gRnbm/6n5uwPIS4oYeCBJ7m+2ZXbR/NQgs7 Cp1u9UG/BXkjP0w0TNdfM5pmEOAiAnCJ0SRScxNkV6TKhqgUn3e2J3suxwiGt4J7U+YQMTj/Vdw 2396jT/N5JmWVPQqxUk1yqwvHS/IN5Xs= X-Gm-Gg: ASbGncvi78HGzTHPnamq0kRGx42EMUQiPt+KeKVmxhQqODPtPdKW9MVOochIRGhoiVX bo2vOgqGlJ0CSM+L3z5XUjTiTx3sgbsRkX1hAoRr7I1Tf1jUlcangInb0fHjSCqW1x/TdpdjZh1 F86oGtQjTObR7zWFxrgjBNUUstj/lUSUd2iSjsH21nvZZJgCh76LEkLYAWcQFKmJ6cNX7inmKMo D+Ado53WsEjqJAR3vv6ztCzwXY8/0Nyutxvi5d5kthm8ZqnTx2Ba9ID6k9eJpjqajgwm5uur+gO YxovXRSDihYTBWT21H152bYjl74GYGyJMANKWPgRbPrTpce71R/jWUVpWlayomQ1yUGC1py48Pm 6pxtWPFkJkAbSYg== X-Google-Smtp-Source: AGHT+IGFzo+mhZn/NwtCzXFV3Xh5um+bnHLNPOwvg3pDzLd8MWzsXU5SsU9+ubURWhigHYa9ZrBF/KFTURLxjBQ0wp8= X-Received: by 2002:a05:690e:1205:b0:641:f5bc:697b with SMTP id 956f58d0204a3-64437045fe8mr6253261d50.71.1764917464272; Thu, 04 Dec 2025 22:51:04 -0800 (PST) MIME-Version: 1.0 References: <9d6897bd-855d-44a6-8ebe-17b2b1d04430@uni-muenster.de> <62426ced-0795-4191-876a-4fa16d277757@uni-muenster.de> In-Reply-To: <62426ced-0795-4191-876a-4fa16d277757@uni-muenster.de> From: Pavel Stehule Date: Fri, 5 Dec 2025 07:50:25 +0100 X-Gm-Features: AWmQ_bkDq_CYX1nxdeF-079hodivfzoTUzGYmLlt2HX4NFYZmky1tiQOeuPa0Lo Message-ID: Subject: Re: proposal: schema variables To: Jim Jones Cc: Bruce Momjian , Dmitry Dolgov <9erthalion6@gmail.com>, Laurenz Albe , Erik Rijkers , Michael Paquier , Amit Kapila , DUVAL REMI , PostgreSQL Hackers , jian he , Alvaro Herrera , PegoraroF10 Content-Type: multipart/mixed; boundary="00000000000084c14506452ede2f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000084c14506452ede2f Content-Type: multipart/alternative; boundary="00000000000084c14406452ede2d" --00000000000084c14406452ede2d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi st 3. 12. 2025 v 14:44 odes=C3=ADlatel Jim Jones napsal: > Hi Pavel > > On 03/12/2025 05:27, Pavel Stehule wrote: > > Hi > > > > fresh rebase after a87987cafca683e9076c424f99bae117211a83a4 > > > I'm going through the patch again and have a few initial comments. > > > =3D=3D Memory Management =3D=3D > > DROP VARIABLE seems to be leaking memory: > > postgres=3D# CREATE TEMPORARY VARIABLE var AS text; > CREATE VARIABLE > postgres=3D# LET var =3D repeat('=F0=9F=90=98', 100000000); > LET > postgres=3D# SELECT pg_size_pretty(used_bytes) > FROM pg_backend_memory_contexts > WHERE name =3D 'session variables'; > pg_size_pretty > ---------------- > 381 MB > (1 row) > > postgres=3D# DROP VARIABLE var; > DROP VARIABLE > postgres=3D# SELECT pg_size_pretty(used_bytes) > FROM pg_backend_memory_contexts > WHERE name =3D 'session variables'; > pg_size_pretty > ---------------- > 381 MB > (1 row) > > > If we simply set the variable to NULL it works as expected: > > > postgres=3D# LET var =3D repeat('=F0=9F=90=98', 100000000); > LET > postgres=3D# SELECT pg_size_pretty(used_bytes) > FROM pg_backend_memory_contexts > WHERE name =3D 'session variables'; > pg_size_pretty > ---------------- > 381 MB > (1 row) > > postgres=3D# LET var =3D NULL; > LET > postgres=3D# SELECT pg_size_pretty(used_bytes) > FROM pg_backend_memory_contexts > WHERE name =3D 'session variables'; > pg_size_pretty > ---------------- > 240 bytes > (1 row) > > Most likely you forgot to pfree "svar->value" at DropVariableByName(), e.= g. > > void > DropVariableByName(char *varname) > { > > ... > > if (!svar->typbyval && !svar->isnull) > pfree(DatumGetPointer(svar->value)); > > (void) hash_search(sessionvars, > varname, > HASH_REMOVE, > NULL); > > } > > yes, there was a bug, fixed > > =3D=3D TAB completion =3D=3D > > Why suggest CREATE VARIABLE (non-temporary) if it is not supported? > > postgres=3D# CREATE V > VARIABLE VIEW > postgres=3D# CREATE VARIABLE var AS int; > ERROR: only temporal session variables are supported > > It would be nice to have tab completion for DROP VARIABLE and LET as well= : > > postgres=3D# DROP VARIABLE > > postgres=3D# LET > > > > =3D=3D Missing IF EXISTS in DROP VARIABLE =3D=3D > > DROP VARIABLE IF EXISTS var; > ERROR: syntax error at or near "EXISTS" > LINE 1: DROP VARIABLE IF EXISTS var; > > ^ > Both mentioned issues are related to the declared target of this patchset - maximal reduction of the size. But It not difficult to support these requested features - see the patches 0008 and 0009 Best regards Pavel > > > Best, Jim > > > > --00000000000084c14406452ede2d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

st 3. 12. 2025 v=C2=A014:44 o= des=C3=ADlatel Jim Jones <j= im.jones@uni-muenster.de> napsal:
Hi Pavel

On 03/12/2025 05:27, Pavel Stehule wrote:
> Hi
>
> fresh rebase after=C2=A0a87987cafca683e9076c424f99bae117211a83a4


I'm going through the patch again and have a few initial comments.
<= /blockquote>
=C2=A0

=3D=3D Memory Management =3D=3D

DROP VARIABLE seems to be leaking memory:

postgres=3D# CREATE TEMPORARY VARIABLE var AS text;
CREATE VARIABLE
postgres=3D# LET var =3D repeat('=F0=9F=90=98', 100000000);
LET
postgres=3D# SELECT pg_size_pretty(used_bytes)
FROM pg_backend_memory_contexts
WHERE name =3D 'session variables';
=C2=A0pg_size_pretty
----------------
=C2=A0381 MB
(1 row)

postgres=3D# DROP VARIABLE var;
DROP VARIABLE
postgres=3D# SELECT pg_size_pretty(used_bytes)
FROM pg_backend_memory_contexts
WHERE name =3D 'session variables';
=C2=A0pg_size_pretty
----------------
=C2=A0381 MB
(1 row)


If we simply set the variable to NULL it works as expected:


postgres=3D# LET var =3D repeat('=F0=9F=90=98', 100000000);
LET
postgres=3D# SELECT pg_size_pretty(used_bytes)
FROM pg_backend_memory_contexts
WHERE name =3D 'session variables';
=C2=A0pg_size_pretty
----------------
=C2=A0381 MB
(1 row)

postgres=3D# LET var =3D NULL;
LET
postgres=3D# SELECT pg_size_pretty(used_bytes)
FROM pg_backend_memory_contexts
WHERE name =3D 'session variables';
=C2=A0pg_size_pretty
----------------
=C2=A0240 bytes
(1 row)

Most likely you forgot to pfree "svar->value" at DropVariableB= yName(), e.g.

void
DropVariableByName(char *varname)
{

...

if (!svar->typbyval && !svar->isnull)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 pfree(DatumGetPointer(svar->value));

(void) hash_search(sessionvars,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0varnam= e,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0HASH_R= EMOVE,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0NULL);=

}


yes, there was a bug, fixed
= =C2=A0

=3D=3D TAB completion =3D=3D

Why suggest CREATE VARIABLE (non-temporary) if it is not supported?

postgres=3D# CREATE V<TAB>
VARIABLE=C2=A0 VIEW
postgres=3D# CREATE VARIABLE var AS int;
ERROR:=C2=A0 only temporal session variables are supported

It would be nice to have tab completion for DROP VARIABLE and LET as well:<= br>
postgres=3D# DROP VARIABLE <TAB>

postgres=3D# LET <TAB>



=3D=3D Missing IF EXISTS in DROP VARIABLE =3D=3D

DROP VARIABLE IF EXISTS var;
ERROR:=C2=A0 syntax error at or near "EXISTS"
LINE 1: DROP VARIABLE IF EXISTS var;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^

Both mentioned issues are related to the declared target = of this patchset - maximal reduction of the size.

= But It not difficult to support these requested features - see the patches = 0008 and 0009

Best regards

Pavel

=C2=A0


Best, Jim



--00000000000084c14406452ede2d-- --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0007-DISCARD-TEMP.patch" Content-Disposition: attachment; filename="v20251205-0007-DISCARD-TEMP.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65qi2 RnJvbSBhNjIzM2FkYzhmYTNjOGY4NTMwZmIxY2MwYzgyYmYzODQ2OTAyZjliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDIwOjA0OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCA3LzldIERJU0NBUkQgVEVNUAoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQuc2dt bCAgICAgICAgICAgICAgICAgfCAgMyArKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQu YyAgICAgICAgICAgICAgICB8ICAzICsrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKwogc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgIDIgKysKIC4uLi9leHBlY3RlZC9zZXNz aW9uX3ZhcmlhYmxlc19kZGwub3V0ICAgICAgICB8ICA3ICsrKysrKysKIC4uLi9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsICAgICB8IDEwICsrKysrKysrKysKIDYgZmlsZXMg Y2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kaXNjYXJkLnNn bWwKaW5kZXggYmY0NGM1MjNjYWMuLjI3MDBmN2I3Y2QwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvcmVmL2Rpc2NhcmQuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQuc2dtbApA QCAtNzAsNyArNzAsOCBAQCBESVNDQVJEIHsgQUxMIHwgUExBTlMgfCBTRVFVRU5DRVMgfCBURU1Q T1JBUlkgfCBURU1QIH0KICAgICA8dGVybT48bGl0ZXJhbD5URU1QT1JBUlk8L2xpdGVyYWw+IG9y IDxsaXRlcmFsPlRFTVA8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+Ci0gICAgICBEcm9wcyBhbGwgdGVtcG9yYXJ5IHRhYmxlcyBjcmVhdGVkIGluIHRoZSBjdXJy ZW50IHNlc3Npb24uCisgICAgICBEcm9wcyBhbGwgdGVtcG9yYXJ5IHRhYmxlcyBhbmQgdGVtcG9y YXJ5IHNlc3Npb24gdmFyaWFibGVzIGNyZWF0ZWQgaW4KKyAgICAgIHRoZSBjdXJyZW50IHNlc3Np b24uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kaXNjYXJkLmMgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9kaXNjYXJkLmMKaW5kZXggODEzMzlhNzVhNTIuLmRlMzIyYzM1YzUxIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kaXNjYXJkLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvZGlzY2FyZC5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvZGlz Y2FyZC5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ByZXBhcmUuaCIKICNpbmNsdWRlICJjb21tYW5k cy9zZXF1ZW5jZS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNp bmNsdWRlICJ1dGlscy9ndWMuaCIKICNpbmNsdWRlICJ1dGlscy9wb3J0YWwuaCIKIApAQCAtNDYs NiArNDcsNyBAQCBEaXNjYXJkQ29tbWFuZChEaXNjYXJkU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExl dmVsKQogCiAJCWNhc2UgRElTQ0FSRF9URU1QOgogCQkJUmVzZXRUZW1wVGFibGVOYW1lc3BhY2Uo KTsKKwkJCVJlc2V0U2Vzc2lvblZhcmlhYmxlcygpOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoK QEAgLTc1LDQgKzc3LDUgQEAgRGlzY2FyZEFsbChib29sIGlzVG9wTGV2ZWwpCiAJUmVzZXRQbGFu Q2FjaGUoKTsKIAlSZXNldFRlbXBUYWJsZU5hbWVzcGFjZSgpOwogCVJlc2V0U2VxdWVuY2VDYWNo ZXMoKTsKKwlSZXNldFNlc3Npb25WYXJpYWJsZXMoKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuYwppbmRleCA1YTJkZTA0ZTU4Yi4uNDc0ZTM0ODJjMjggMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTQxNiwzICs0MTYsMjMgQEAgRXhl Y3V0ZUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCiAJUG9wQWN0aXZlU25hcHNob3QoKTsK IH0KKworLyoKKyAqIEZhc3QgZHJvcCBvZiB0aGUgY29tcGxldGUgY29udGVudCBvZiB0aGUgc2Vz c2lvbiB2YXJpYWJsZXMgaGFzaCB0YWJsZSwgYW5kCisgKiBjbGVhbnVwIG9mIGFueSBsaXN0IHRo YXQgd291bGRuJ3QgYmUgcmVsZXZhbnQgYW55bW9yZS4KKyAqIFRoaXMgaXMgdXNlZCBieSB0aGUg RElTQ0FSRCBURU1QLgorICovCit2b2lkCitSZXNldFNlc3Npb25WYXJpYWJsZXModm9pZCkKK3sK KwkvKiBkZXN0cm95IGhhc2ggdGFibGUgYW5kIHJlc2V0IHJlbGF0ZWQgbWVtb3J5IGNvbnRleHQg Ki8KKwlpZiAoc2Vzc2lvbnZhcnMpCisJeworCQloYXNoX2Rlc3Ryb3koc2Vzc2lvbnZhcnMpOwor CQlzZXNzaW9udmFycyA9IE5VTEw7CisJfQorCisJLyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVk IGJ5IHNlc3Npb24gdmFyaWFibGVzICovCisJaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0g TlVMTCkKKwkJTWVtb3J5Q29udGV4dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworfQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IGM0YjRkOWU2ODMyLi5j YzFhYTdjZTIzYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAt MzcsNCArMzcsNiBAQCBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1v ZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIGV4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCiAJCQkJ CQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVudiwgUXVlcnlDb21wbGV0aW9uICpxYyk7CiAK K2V4dGVybiB2b2lkIFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKTsKKwogI2VuZGlmCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQK aW5kZXggY2M2ZjU5ZThiZTUuLmYxMmQxZjFhNmFlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC00MSwzICs0MSwxMCBA QCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9MRSBUTyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNz aW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50 OworLS0gc2hvdWxkIGZhaWwKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworRVJST1I6 ICBzZXNzaW9uIHZhcmlhYmxlICJ4IiBhbHJlYWR5IGV4aXN0cworRElTQ0FSRCBURU1QOworLS0g c2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDkyZTk3ZWEyYWIw Li5jNjlmZDRiZmE0NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3Zhcmlh Ymxlc19kZGwuc3FsCkBAIC01NCwzICs1NCwxMyBAQCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9M RSBUTyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3Jv bGVfMDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsK KworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNob3VsZCBmYWlsCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworRElTQ0FSRCBURU1QOworCistLSBzaG91bGQg YmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OwotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Disposition: attachment; filename="v20251205-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65q11 RnJvbSA2NjUxYmMxZDk3NThmYTNhMGYwZmFjNzhmYzk0N2NmNDc0YmI1MWQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMDY6MTc6NTQgKzAxMDAKU3ViamVjdDogW1BB VENIIDgvOV0gc3VwcG9ydCBDUkVBVEUgSUYgTk9UIEVYSVNUUyBhbmQgRFJPUCBJRiBFWElTVFMK Ci0tLQogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCAgICAgICAgIHwgMTIg KysrKystCiBkb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAx MiArKysrKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8 IDQzICsrKysrKysrKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAg ICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwub3V0ICAgICAgICB8ICA2ICsrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwgICAgIHwgIDYgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMo KyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRl X3ZhcmlhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sCmlu ZGV4IDExYjFlZjc0MjEyLi4yODZiZmY2MmI2YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Jl Zi9jcmVhdGVfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJp YWJsZS5zZ21sCkBAIC0yNiw3ICsyNiw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogCiAg PHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgotQ1JFQVRFIHsgVEVNUCB8IFRFTVBPUkFMIH0g VkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxl PiBbIEFTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRhdGFfdHlwZTwvcmVwbGFj ZWFibGU+CitDUkVBVEUgeyBURU1QIHwgVEVNUE9SQUwgfSBWQVJJQUJMRSAgWyBJRiBOT1QgRVhJ U1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBb IEFTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRhdGFfdHlwZTwvcmVwbGFjZWFi bGU+CiA8L3N5bm9wc2lzPgogIDwvcmVmc3lub3BzaXNkaXY+CiAgPHJlZnNlY3QxPgpAQCAtNjgs NiArNjgsMTYgQEAgQ1JFQVRFIHsgVEVNUCB8IFRFTVBPUkFMIH0gVkFSSUFCTEUgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2UKIAogICA8dmFyaWFibGVsaXN0Pgog CisgICA8dmFybGlzdGVudHJ5ICBpZD0ic3FsLWNyZWF0ZXZhcmlhYmxlLWlmLW5vdC1leGlzdHMi PgorICAgIDx0ZXJtPjxsaXRlcmFsPklGIE5PVCBFWElTVFM8L2xpdGVyYWw+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBEbyBub3QgdGhyb3cgYW4gZXJyb3IgaWYg dGhlIG5hbWUgYWxyZWFkeSBleGlzdHMuIEEgbm90aWNlIGlzIGlzc3VlZCBpbgorICAgICAgdGhp cyBjYXNlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5 PgorCiAgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUtbmFtZSI+CiAgICAg PHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3Bf dmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCmluZGV4 IGRlZGU0MmU0ZmZiLi41ZGU2YTczNzQ5MyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9k cm9wX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNn bWwKQEAgLTI2LDcgKzI2LDcgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAKICA8cmVmc3lu b3BzaXNkaXY+CiA8c3lub3BzaXM+Ci1EUk9QIFZBUklBQkxFIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KK0RST1AgVkFSSUFCTEUgWyBJRiBFWElTVFMg XSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+CiA8L3N5 bm9wc2lzPgogIDwvcmVmc3lub3BzaXNkaXY+CiAKQEAgLTQyLDYgKzQyLDE2IEBAIERST1AgVkFS SUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgog IDxyZWZzZWN0MT4KICAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgogICA8dmFyaWFibGVsaXN0 PgorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48bGl0ZXJhbD5JRiBFWElTVFM8L2xpdGVy YWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBEbyBub3QgdGhy b3cgYW4gZXJyb3IgaWYgdGhlIHNlc3Npb24gdmFyaWFibGUgZG9lcyBub3QgZXhpc3QuIEEgbm90 aWNlIGlzCisgICAgICBpc3N1ZWQgaW4gdGhpcyBjYXNlLgorICAgICA8L3BhcmE+CisgICAgPC9s aXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5PgogICAgIDx0 ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT48L3Rl cm0+CiAgICAgPGxpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5j CmluZGV4IDQ3NGUzNDgyYzI4Li5mOWZlMTZmNDMwNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuYwpAQCAtOTcsNyArOTcsNyBAQCBjcmVhdGVfc2Vzc2lvbnZhcnNfaGFz aHRhYmxlcyh2b2lkKQogICogUmV0dXJucyBlbnRyeSBvZiBzZXNzaW9uIHZhcmlhYmxlIHNwZWNp ZmllZCBieSBuYW1lCiAgKi8KIHN0YXRpYyBTVmFyaWFibGUKLXNlYXJjaF92YXJpYWJsZShjaGFy ICp2YXJuYW1lKQorc2VhcmNoX3ZhcmlhYmxlKGNoYXIgKnZhcm5hbWUsIGJvb2wgbWlzc2luZ19v aykKIHsKIAlTVmFyaWFibGUJc3ZhcjsKIApAQCAtMTA3LDcgKzEwNyw3IEBAIHNlYXJjaF92YXJp YWJsZShjaGFyICp2YXJuYW1lKQogCXN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlYXJjaChzZXNz aW9udmFycywgdmFybmFtZSwKIAkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxMKTsKIAotCWlmICgh c3ZhcikKKwlpZiAoIXN2YXIgJiYgIW1pc3Npbmdfb2spCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJ KGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNUKSwKIAkJCQkgZXJybXNnKCJzZXNzaW9u IHZhcmlhYmxlIFwiJXNcIiBkb2Vzbid0IGV4aXN0IiwKQEAgLTEyOSw3ICsxMjksNyBAQCBnZXRf c2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIHsKIAlT VmFyaWFibGUJc3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3Zh ciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAKIAkvKiBvbmx5IG93bmVyIGNh biBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLwogCSp0eXBpZCA9IHN2YXItPnZhcnR5cGU7CkBA IC0xNDksNyArMTQ5LDcgQEAgR2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2 YXJuYW1lLAogCVNWYXJpYWJsZQlzdmFyOwogCURhdHVtCQlyZXN1bHQ7CiAKLQlzdmFyID0gc2Vh cmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSwg ZmFsc2UpOwogCiAJaWYgKHN2YXItPnZhcnR5cGUgIT0gdHlwaWQgfHwgc3Zhci0+dmFydHlwbW9k ICE9IHR5cG1vZCkKIAkJZXJlcG9ydChFUlJPUiwKQEAgLTE4Niw3ICsxODYsNyBAQCBTZXRTZXNz aW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsCiB7CiAJU1ZhcmlhYmxlCXN2 YXI7CiAKLQlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCXN2YXIgPSBzZWFyY2hf dmFyaWFibGUodmFybmFtZSwgZmFsc2UpOwogCiAJaWYgKHN2YXItPnZhcnR5cGUgIT0gdHlwaWQg fHwgc3Zhci0+dmFydHlwbW9kICE9IHR5cG1vZCkKIAkJZXJlcG9ydChFUlJPUiwKQEAgLTI5Miwx MCArMjkyLDE4IEBAIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vz c2lvblZhclN0bXQgKnN0bXQpCiAJCQkJCSAgIEhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAlpZiAo Zm91bmQpCi0JCWVyZXBvcnQoRVJST1IsCi0JCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVf T0JKRUNUKSwKLQkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIFwiJXNcIiBhbHJlYWR5IGV4 aXN0cyIsCi0JCQkJCQlzdG10LT5uYW1lKSkpOworCXsKKwkJaWYgKHN0bXQtPmlmX25vdF9leGlz dHMpCisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVf T0JKRUNUKSwKKwkJCQkJIGVycm1zZygic2Vzc2lvbiB2YXJpYWJsZSBcIiVzXCIgYWxyZWFkeSBl eGlzdHMsIHNraXBwaW5nIiwKKwkJCQkJCQlzdG10LT5uYW1lKSkpOworCQllbHNlCisJCQllcmVw b3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJ CQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIFwiJXNcIiBhbHJlYWR5IGV4aXN0cyIsCisJCQkJ CQkJc3RtdC0+bmFtZSkpKTsKKwl9CiAKIAluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1lLCBzdG10 LT5uYW1lKTsKIAlzdmFyLT52YXJ0eXBlID0gdHlwZWlkOwpAQCAtMzEzLDI0ICszMjEsMzEgQEAg Q3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAq c3RtdCkKICAqIERyb3AgdmFyaWFibGUgYnkgbmFtZQogICovCiB2b2lkCi1Ecm9wVmFyaWFibGVC eU5hbWUoY2hhciAqdmFybmFtZSkKK0Ryb3BWYXJpYWJsZUJ5TmFtZShEcm9wU2Vzc2lvblZhclN0 bXQgKnN0bXQpCiB7CiAJU1ZhcmlhYmxlCXN2YXI7CiAKLQlzdmFyID0gc2VhcmNoX3ZhcmlhYmxl KHZhcm5hbWUpOworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUoc3RtdC0+bmFtZSwgc3RtdC0+bWlz c2luZ19vayk7CisJaWYgKCFzdmFyKQorCXsKKwkJZXJlcG9ydChOT1RJQ0UsCisJCQkJKGVycm1z Zygic2Vzc2lvbiB2YXJpYWJsZSBcIiVzXCIgZG9lcyBub3QgZXhpc3RzLCBza2lwcGluZyIsCisJ CQkJCQlzdG10LT5uYW1lKSkpOworCQlyZXR1cm47CisJfQogCiAJLyogb25seSBvd25lciBjYW4g Z2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KIAlpZiAoc3Zhci0+dmFyb3duZXIgIT0gR2V0VXNl cklkKCkgJiYgIXN1cGVydXNlcigpKQogCQllcmVwb3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVS UkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCiAJCQkJIGVycm1zZygibXVzdCBiZSBvd25l ciBvZiBzZXNzaW9uIHZhcmlhYmxlICVzIiwKLQkJCQkJCXZhcm5hbWUpKSk7CisJCQkJCQlzdG10 LT5uYW1lKSkpOwogCiAJaWYgKCFzdmFyLT50eXBieXZhbCAmJiAhc3Zhci0+aXNudWxsKQogCQlw ZnJlZShEYXR1bUdldFBvaW50ZXIoc3Zhci0+dmFsdWUpKTsKIAogCWlmIChoYXNoX3NlYXJjaChz ZXNzaW9udmFycywKLQkJCQkJICAgdmFybmFtZSwKKwkJCQkJICAgc3RtdC0+bmFtZSwKIAkJCQkJ ICAgSEFTSF9SRU1PVkUsCiAJCQkJCSAgIE5VTEwpID09IE5VTEwpCiAJCWVsb2coRVJST1IsICJo YXNoIHRhYmxlIGNvcnJ1cHRlZCIpOwpAQCAtMzU0LDcgKzM2OSw3IEBAIEV4ZWN1dGVMZXRTdG10 KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAljaGFyCSAgICp2YXJuYW1lID0gcXVlcnktPnJlc3VsdFZh cmlhYmxlOwogCVNWYXJpYWJsZQlzdmFyOwogCi0Jc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJu YW1lKTsKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUsIGZhbHNlKTsKIAogCS8qIG9u bHkgb3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJaWYgKHN2YXItPnZhcm93 bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDMyN2Vj Zjg4NzEyLi44ZTM3MjVkZjQxYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC01MzQyLDcgKzUzNDIsNyBAQCBj cmVhdGVfZXh0ZW5zaW9uX29wdF9pdGVtOgogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKgogICoJ CVFVRVJZIDoKLSAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSB2YXJu YW1lIFtBU10gdHlwZQorICoJCQkJQ1JFQVRFIHsgVEVNUCB8IFRFTVBPUkFSWSB9IFZBUklBQkxF IFtJRiBOT1QgRVhJU1RTIF0gdmFybmFtZSBbQVNdIHR5cGUKICAqCiAgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCiAKQEAgLTUzNTksMTQgKzUzNTksMzEgQEAgQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CiAK IAkJCQkJbi0+bmFtZSA9ICQ0OwogCQkJCQluLT50eXBlTmFtZSA9ICQ2OworCQkJCQluLT5pZl9u b3RfZXhpc3RzID0gZmFsc2U7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CisJCSAgfCBD UkVBVEUgT3B0VGVtcCBWQVJJQUJMRSBJRl9QIE5PVCBFWElTVFMgQ29sSWQgb3B0X2FzIFR5cGVu YW1lCisJCQkJeworCQkJCQlDcmVhdGVTZXNzaW9uVmFyU3RtdCAqbiA9IG1ha2VOb2RlKENyZWF0 ZVNlc3Npb25WYXJTdG10KTsKKworCQkJCQlpZiAoJDIgIT0gUkVMUEVSU0lTVEVOQ0VfVEVNUCkK KwkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05P VF9TVVBQT1JURUQpLAorCQkJCQkJCSBlcnJtc2coIm9ubHkgdGVtcG9yYWwgc2Vzc2lvbiB2YXJp YWJsZXMgYXJlIHN1cHBvcnRlZCIpLAorCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24oQDIpKSk7 CisKKwkJCQkJbi0+bmFtZSA9ICQ3OworCQkJCQluLT50eXBlTmFtZSA9ICQ5OworCQkJCQluLT5p Zl9ub3RfZXhpc3RzID0gdHJ1ZTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwogCQk7 CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgogICoKICAqCQlRVUVSWSA6Ci0gKgkJCQlEUk9QIFZB UklBQkxFIHZhcm5hbWUKKyAqCQkJCURST1AgVkFSSUFCTEUgWyBJRiBFWElTVFMgXSB2YXJuYW1l CiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC01Mzc2LDggKzUzOTMsMTggQEAgRHJv cFNlc3Npb25WYXJTdG10OgogCQkJCQlEcm9wU2Vzc2lvblZhclN0bXQgKm4gPSBtYWtlTm9kZShE cm9wU2Vzc2lvblZhclN0bXQpOwogCiAJCQkJCW4tPm5hbWUgPSAkMzsKKwkJCQkJbi0+bWlzc2lu Z19vayA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQkJfCBEUk9QIFZB UklBQkxFIElGX1AgRVhJU1RTIENvbElkCisJCQkJeworCQkJCQlEcm9wU2Vzc2lvblZhclN0bXQg Km4gPSBtYWtlTm9kZShEcm9wU2Vzc2lvblZhclN0bXQpOworCisJCQkJCW4tPm5hbWUgPSAkNTsK KwkJCQkJbi0+bWlzc2luZ19vayA9IHRydWU7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9 CisKIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggM2YxYzhj YjVlODkuLmZkOTExZjUyMzRmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHku YworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAtMTA3Myw3ICsxMDczLDcgQEAg c3RhbmRhcmRfUHJvY2Vzc1V0aWxpdHkoUGxhbm5lZFN0bXQgKnBzdG10LAogCiAJCWNhc2UgVF9E cm9wU2Vzc2lvblZhclN0bXQ6CiAJCQkvKiBObyBldmVudCB0cmlnZ2VycyBmb3IgY2F0YWxvZyBs ZXNzIHNlc3Npb24gdmFyaWFibGVzICovCi0JCQlEcm9wVmFyaWFibGVCeU5hbWUoKChEcm9wU2Vz c2lvblZhclN0bXQgKikgcGFyc2V0cmVlKS0+bmFtZSk7CisJCQlEcm9wVmFyaWFibGVCeU5hbWUo KERyb3BTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBU X0xldFN0bXQ6CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggY2Mx YWE3Y2UyM2IuLjNmMDdhZTU1YWFjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAidGNvcC9jbWR0YWcuaCIKIAogZXh0 ZXJuIHZvaWQgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9u VmFyU3RtdCAqc3RtdCk7Ci1leHRlcm4gdm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFy bmFtZSk7CitleHRlcm4gdm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoRHJvcFNlc3Npb25WYXJTdG10 ICpzdG10KTsKIAogZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2so Y2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wgKmlzbnVsbCk7CiBl eHRlcm4gdm9pZCBTZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUs CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVk ZS9ub2Rlcy9wYXJzZW5vZGVzLmgKaW5kZXggM2RlY2M2MzlkODEuLjQ3OTQxZDlkYzk5IDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0zNTkyLDYgKzM1OTIsNyBAQCB0eXBlZGVmIHN0cnVjdCBD cmVhdGVTZXNzaW9uVmFyU3RtdAogCU5vZGVUYWcJCXR5cGU7CiAJY2hhcgkgICAqbmFtZTsJCS8q IHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgKi8KIAlUeXBlTmFtZSAgICp0eXBlTmFtZTsJCS8qIHRo ZSB0eXBlIG9mIHZhcmlhYmxlICovCisJYm9vbAkJaWZfbm90X2V4aXN0czsJLyoganVzdCBkbyBu b3RoaW5nIGlmIHZhcmlhYmxlIGFscmVhZHkgZXhpc3RzPyAqLwogfSBDcmVhdGVTZXNzaW9uVmFy U3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzYwMSw3ICszNjAyLDggQEAg dHlwZWRlZiBzdHJ1Y3QgQ3JlYXRlU2Vzc2lvblZhclN0bXQKIHR5cGVkZWYgc3RydWN0IERyb3BT ZXNzaW9uVmFyU3RtdAogewogCU5vZGVUYWcJCXR5cGU7Ci0JY2hhcgkgICAqbmFtZTsKKwljaGFy CSAgICpuYW1lOwkJCS8qIHRoZSB2YXJpYWJsZSBuYW1lIHRvIGRyb3AgKi8KKwlib29sCQltaXNz aW5nX29rOwkJLyogc2tpcCBlcnJvciBvZiB2YXJpYWJsZSBpcyBtaXNzaW5nICovCiB9IERyb3BT ZXNzaW9uVmFyU3RtdDsKIAogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nl c3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggZjEyZDFmMWE2YWUuLjc0MjcyODAzM2U0IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2Rk bC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19k ZGwub3V0CkBAIC00OCwzICs0OCw5IEBAIEVSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgYWxy ZWFkeSBleGlzdHMKIERJU0NBUkQgVEVNUDsKIC0tIHNob3VsZCBiZSBvawogQ1JFQVRFIFRFTVAg VkFSSUFCTEUgeCBBUyBpbnQ7CistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxF IElGIE5PVCBFWElTVFMgeCBBUyBpbnQ7CitOT1RJQ0U6ICBzZXNzaW9uIHZhcmlhYmxlICJ4IiBh bHJlYWR5IGV4aXN0cywgc2tpcHBpbmcKK0RST1AgVkFSSUFCTEUgSUYgRVhJU1RTIHg7CitEUk9Q IFZBUklBQkxFIElGIEVYSVNUUyB4OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgZG9l cyBub3QgZXhpc3RzLCBza2lwcGluZwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5zcWwKaW5kZXggYzY5ZmQ0YmZhNDcuLmE2MDRmNDM1NTVjIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTY0LDMg KzY0LDkgQEAgRElTQ0FSRCBURU1QOwogCiAtLSBzaG91bGQgYmUgb2sKIENSRUFURSBURU1QIFZB UklBQkxFIHggQVMgaW50OworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxF IElGIE5PVCBFWElTVFMgeCBBUyBpbnQ7CisKK0RST1AgVkFSSUFCTEUgSUYgRVhJU1RTIHg7CitE Uk9QIFZBUklBQkxFIElGIEVYSVNUUyB4OwotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Disposition: attachment; filename="v20251205-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65p10 RnJvbSBkNDEzOGUwOWRiNDI0OTQ2MjY3NjFjYjY1ZTRiNjVlOTdkNjFlZmUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMTg6NDk6MDYgKzAxMDAKU3ViamVjdDogW1BB VENIIDkvOV0gdXNlIG5hbWVzIG9mIGN1cnJlbnRseSB1c2VkIHRlbXAgdmFyaWFibGVzIGZvciB0 YWIKIGNvbXBsZXRlIG9mIERST1AgVkFSSUFCTEUsIExFVCBhbmQgVkFSSUFCTEUoKQoKLS0tCiBz cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAzNiArKysrKysr KysrKysrKysrKysrCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAgICAgICAgICAg ICAgfCAxOSArKysrKysrKystCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAg ICAgICAgICAgfCAgNSArKysKIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0 ICAgICAgICB8IDE2ICsrKysrKysrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVz X2RkbC5zcWwgICAgIHwgIDggKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpp bmRleCBmOWZlMTZmNDMwNC4uOTdmZjNlMzdiOGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRl ICJleGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNp bmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfdHlwZS5oIgogI2lu Y2x1ZGUgInJld3JpdGUvcmV3cml0ZUhhbmRsZXIuaCIKQEAgLTQ1MSwzICs0NTIsMzggQEAgUmVz ZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpCiAJaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0g TlVMTCkKIAkJTWVtb3J5Q29udGV4dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOwogfQor CisvKgorICogcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcworICoKKyAq IFJldHVybnMgbGlzdCBvZiB0ZW1wb3Jhcnkgc2Vzc2lvbiB2YXJpYWJsZXMuIEl0IGlzIHVzZWQg YnkgcHNxbCdzCisgKiB0YWIgY29tcGxldGUgZm9yIERST1AgVkFSSUFCTEUgYW5kIExFVCBjb21t YW5kcy4KKyAqLworRGF0dW0KK3BnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFt ZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlJbml0TWF0ZXJpYWxpemVkU1JGKGZjaW5mbywgTUFU X1NSRl9VU0VfRVhQRUNURURfREVTQyk7CisKKwlpZiAoc2Vzc2lvbnZhcnMpCisJeworCQlSZXR1 cm5TZXRJbmZvICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8tPnJlc3VsdGluZm87 CisJCUhBU0hfU0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOworCisJCWhhc2hf c2VxX2luaXQoJnN0YXR1cywgc2Vzc2lvbnZhcnMpOworCisJCXdoaWxlICgoc3ZhciA9IChTVmFy aWFibGUpIGhhc2hfc2VxX3NlYXJjaCgmc3RhdHVzKSkgIT0gTlVMTCkKKwkJeworCQkJRGF0dW0J CXZhbHVlc1sxXTsKKwkJCWJvb2wJCW51bGxzWzFdOworCisJCQl2YWx1ZXNbMF0gPSBDU3RyaW5n R2V0VGV4dERhdHVtKChOYW1lU3RyKHN2YXItPnZhcm5hbWUpKSk7CisJCQludWxsc1swXSA9IGZh bHNlOworCisJCQl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNldFJlc3VsdCwgcnNpbmZv LT5zZXREZXNjLAorCQkJCQkJCQkgdmFsdWVzLCBudWxscyk7CisJCX0KKwl9CisKKwlyZXR1cm4g KERhdHVtKSAwOworfQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5j IGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmluZGV4IDQ0NTE5NTliODFlLi5iZWYy MmEzMzFlZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCisrKyBi L3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAtMTIwMCw2ICsxMjAwLDExIEBAIEtl eXdvcmRzX2Zvcl9saXN0X29mX293bmVyX3JvbGVzLCAiUFVCTElDIgogIiAgRlJPTSBwZ19jYXRh bG9nLnBnX3RpbWV6b25lX25hbWVzKCkgIlwKICIgV0hFUkUgcGdfY2F0YWxvZy5xdW90ZV9saXRl cmFsKHBnX2NhdGFsb2cubG93ZXIobmFtZSkpIExJS0UgcGdfY2F0YWxvZy5sb3dlcignJXMnKSIK IAorI2RlZmluZSBRdWVyeV9mb3JfbGlzdF9vZl90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXMg XAorIlNFTEVDVCB2YXJuYW1lICJcCisiICAgRlJPTSBwZ19jYXRhbG9nLnBnX2dldF90ZW1wb3Jh cnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKSBBUyB2YXJuYW1lICJcCisiICBXSEVSRSB2YXJu YW1lIExJS0UgJyVzJyIKKwogLyogUHJpdmlsZWdlIG9wdGlvbnMgc2hhcmVkIGJldHdlZW4gR1JB TlQgYW5kIFJFVk9LRSAqLwogI2RlZmluZSBQcml2aWxlZ2Vfb3B0aW9uc19vZl9ncmFudF9hbmRf cmV2b2tlIFwKICJTRUxFQ1QiLCAiSU5TRVJUIiwgIlVQREFURSIsICJERUxFVEUiLCAiVFJVTkNB VEUiLCAiUkVGRVJFTkNFUyIsICJUUklHR0VSIiwgXApAQCAtNDM2MCw2ICs0MzY1LDEwIEBAIG1h dGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKE1hdGNoZXMoIkRS T1AiLCAiVFJBTlNGT1JNIiwgIkZPUiIsIE1hdGNoQW55LCAiTEFOR1VBR0UiLCBNYXRjaEFueSkp CiAJCUNPTVBMRVRFX1dJVEgoIkNBU0NBREUiLCAiUkVTVFJJQ1QiKTsKIAorCS8qIERST1AgVkFS SUFCTEUgKi8KKwllbHNlIGlmIChNYXRjaGVzKCJEUk9QIiwgIlZBUklBQkxFIikpCisJCUNPTVBM RVRFX1dJVEhfUVVFUlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFi bGVzKTsKKwogLyogRVhFQ1VURSAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkVYRUNVVEUiKSkKIAkJ Q09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl9wcmVwYXJlZF9zdGF0ZW1lbnRz KTsKQEAgLTQ4MDAsNiArNDgwOSw4IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJu X2lkLAogCiAvKiBMRVQgKi8KIAkvKiBDb21wbGV0ZSBMRVQgPHZhcmlhYmxlPiB3aXRoICI9IiAq LworCWVsc2UgaWYgKE1hdGNoZXMoIkxFVCIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZKFF1ZXJ5 X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CiAJZWxzZSBpZiAoVGFp bE1hdGNoZXMoIkxFVCIsIE1hdGNoQW55KSkKIAkJQ09NUExFVEVfV0lUSCgiPSIpOwogCkBAIC01 MjkyLDcgKzUzMDMsNyBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAkJ Q09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUllfUExVUyhRdWVyeV9mb3JfbGlzdF9vZl92YWN1dW1h YmxlcywKIAkJCQkJCQkJCQkiVkVSQk9TRSIsCiAJCQkJCQkJCQkJIkFOQUxZWkUiLAotCQkJCQkJ CQkJCSJPTkxZIik7CisJCQkJCQkJCQkiT05MWSIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIlZBQ1VV TSIsIE1hdGNoQW55TiwgIlZFUkJPU0UiKSkKIAkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUllf UExVUyhRdWVyeV9mb3JfbGlzdF9vZl92YWN1dW1hYmxlcywKIAkJCQkJCQkJCQkiQU5BTFlaRSIs CkBAIC01MzU5LDYgKzUzNzAsMTIgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5f aWQsCiAJCSAqLwogCX0KIAorLyoKKyAqIFZBUklBQkxFIGZlbmNlCisgKi8KKwllbHNlIGlmIChU YWlsTWF0Y2hlcygiVkFSSUFCTEUiLCAiKCIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZKFF1ZXJ5 X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisKIC8qIFdJVEggW1JF Q1VSU0lWRV0gKi8KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA2NmFmMmQ5NmQ2 Ny4uMDk3ZGU1ZGE4NjEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI2MTIsNCArMTI2 MTIsOSBAQAogICBwcm9hcmduYW1lcyA9PiAne3BpZCxpb19pZCxpb19nZW5lcmF0aW9uLHN0YXRl LG9wZXJhdGlvbixvZmYsbGVuZ3RoLHRhcmdldCxoYW5kbGVfZGF0YV9sZW4scmF3X3Jlc3VsdCxy ZXN1bHQsdGFyZ2V0X2Rlc2MsZl9zeW5jLGZfbG9jYWxtZW0sZl9idWZmZXJlZH0nLAogICBwcm9z cmMgPT4gJ3BnX2dldF9haW9zJyB9LAogCisjIFNlc3Npb24gdmFyaWFibGVzIHN1cHBvcnQKK3sg b2lkID0+ICc4MDY4JywgZGVzY3IgPT4gJ3JldHVybnMgbmFtZXMgb2YgdGVtcG9yYXJ5IHNlc3Np b24gdmFyaWFibGVzJywKKyAgcHJvbmFtZSA9PiAncGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3Zh cmlhYmxlc19uYW1lcycsIHByb3Jvd3MgPT4gJzEwMDAnLCBwcm9yZXRzZXQgPT4gJ3QnLAorICBw cm92b2xhdGlsZSA9PiAndicsIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAndGV4 dCcsIHByb2FyZ3R5cGVzID0+ICcnLAorICBwcm9zcmMgPT4gJ3BnX2dldF90ZW1wb3Jhcnlfc2Vz c2lvbl92YXJpYWJsZXNfbmFtZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggNzQyNzI4MDMzZTQuLmM4NzU3 ZjRjYmJkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zh cmlhYmxlc19kZGwub3V0CkBAIC01NCwzICs1NCwxOSBAQCBOT1RJQ0U6ICBzZXNzaW9uIHZhcmlh YmxlICJ4IiBhbHJlYWR5IGV4aXN0cywgc2tpcHBpbmcKIERST1AgVkFSSUFCTEUgSUYgRVhJU1RT IHg7CiBEUk9QIFZBUklBQkxFIElGIEVYSVNUUyB4OwogTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJs ZSAieCIgZG9lcyBub3QgZXhpc3RzLCBza2lwcGluZworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBB UyBpbnQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB5IEFTIGludDsKK1NFTEVDVCAqIEZST00gcGdf Z2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOworIHBnX2dldF90ZW1wb3Jh cnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyB5CisgeAorKDIgcm93cykKKworRFJPUCBWQVJJQUJMRSB4OworRFJP UCBWQVJJQUJMRSB5OworU0VMRUNUICogRlJPTSBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFy aWFibGVzX25hbWVzKCk7CisgcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1l cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykK KwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRs LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKaW5k ZXggYTYwNGY0MzU1NWMuLjBjNTFiMGEyZjQwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTcwLDMgKzcwLDExIEBAIENSRUFURSBURU1Q IFZBUklBQkxFIElGIE5PVCBFWElTVFMgeCBBUyBpbnQ7CiAKIERST1AgVkFSSUFCTEUgSUYgRVhJ U1RTIHg7CiBEUk9QIFZBUklBQkxFIElGIEVYSVNUUyB4OworCitDUkVBVEUgVEVNUCBWQVJJQUJM RSB4IEFTIGludDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHkgQVMgaW50OworU0VMRUNUICogRlJP TSBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKCk7CisKK0RST1AgVkFS SUFCTEUgeDsKK0RST1AgVkFSSUFCTEUgeTsKK1NFTEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFy eV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOwotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0005-svariableReceiver.patch" Content-Disposition: attachment; filename="v20251205-0005-svariableReceiver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65r44 RnJvbSAyODI2ZWQ0M2IzZDAwOTZlMjNmOTgxMjEwMTA1MjM1Njk5Y2I3NmM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IFN1biwgMSBKdW4gMjAyNSAyMToyMDoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS85 XSBzdmFyaWFibGVSZWNlaXZlcgoKYWxsb3dzIHRvIHN0b3JlIHJlc3VsdCBvZiB0aGUgcXVlcnkg dG8gc2Vzc2lvbiB2YXJpYWJsZQoKQ2hlY2sgY29ycmVjdCBmb3JtYXQgb2YgcmVzdWx0IC0gb25l IGNvbHVtbiwgb25lIHJvdy4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmMgIHwgIDUwICsrKysrKysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZSAgICAg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkICAgICAgICAg fCAgIDEgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYyB8IDE0OSAr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgICAgICAgICAg ICAgICAgICB8ICAgNyArKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o ICB8ICAgMyArCiBzcmMvaW5jbHVkZS9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oIHwgIDIy ICsrKysKIHNyYy9pbmNsdWRlL3Rjb3AvZGVzdC5oICAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICB8ICAgMSArCiA5IGZpbGVz IGNoYW5nZWQsIDIzNSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tl bmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9p bmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggNDRhYTlkZDE4OGIuLmM1YjZmODk2MjcxIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0xNzEsNiArMTcxLDU2IEBAIEdl dFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwKIAlyZXR1cm4gcmVz dWx0OwogfQogCisvKgorICogU3RvcmUgdGhlIGdpdmVuIHZhbHVlIGluIGEgc2Vzc2lvbiB2YXJp YWJsZSBpbiB0aGUgY2FjaGUuCisgKi8KK3ZvaWQKK1NldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBl Y2hlY2soY2hhciAqdmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJ CQkJCQkJCURhdHVtIHZhbHVlLCBib29sIGlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwor CXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisKKwlpZiAoc3Zhci0+dmFydHlwZSAh PSB0eXBpZCB8fCBzdmFyLT52YXJ0eXBtb2QgIT0gdHlwbW9kKQorCQllcmVwb3J0KEVSUk9SLAor CQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCSBlcnJtc2coInNl c3Npb24gdmFyaWFibGUgJXMgaXMgbm90IG9mIGEgdHlwZSAlcyBidXQgdHlwZSAlcyIsCisJCQkJ CQl2YXJuYW1lLAorCQkJCQkJZm9ybWF0X3R5cGVfd2l0aF90eXBlbW9kKHR5cGlkLCB0eXBtb2Qp LAorCQkJCQkJZm9ybWF0X3R5cGVfd2l0aF90eXBlbW9kKHN2YXItPnZhcnR5cGUsIHN2YXItPnZh cnR5cG1vZCkpKSk7CisKKwkvKiBvbmx5IG93bmVyIGNhbiBzZXQgY29udGVudCBvZiB2YXJpYWJs ZSAqLworCWlmIChzdmFyLT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJ VklMRUdFKSwKKwkJCQkgZXJybXNnKCJwZXJtaXNzaW9uIGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJp YWJsZSAlcyIsCisJCQkJCQl2YXJuYW1lKSkpOworCisJaWYgKCFzdmFyLT50eXBieXZhbCkKKwl7 CisJCWlmICghaXNudWxsKQorCQl7CisJCQlNZW1vcnlDb250ZXh0IG9sZGN4dDsKKworCQkJLyoK KwkJCSAqIERvIGNvcHkgb2YgdmFsdWUgaW4gc2Vzc2lvbiB2YXJpYWJsZXMgY29udGV4dC4gVGhp cyBvcGVyYXRpb24KKwkJCSAqIGNhbiBmYWlsLCBzbyBkbyBpdCBiZWZvcmUgcmVsZWFzaW5nIHRo ZSBvbGQgY29udGVudC4KKwkJCSAqLworCQkJb2xkY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRv KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworCQkJdmFsdWUgPSBkYXR1bUNvcHkodmFsdWUsIHN2 YXItPnR5cGJ5dmFsLCBzdmFyLT50eXBsZW4pOworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9s ZGN4dCk7CisJCX0KKworCQlpZiAoIXN2YXItPmlzbnVsbCkKKwkJCXBmcmVlKERhdHVtR2V0UG9p bnRlcihzdmFyLT52YWx1ZSkpOworCX0KKworCXN2YXItPnZhbHVlID0gdmFsdWU7CisJc3Zhci0+ aXNudWxsID0gaXNudWxsOworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZQppbmRleCAx MTExOGQwY2UwMi4uNzEyNDhhMzRmMjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9y L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlCkBAIC03Niw2ICs3 Niw3IEBAIE9CSlMgPSBcCiAJbm9kZVdpbmRvd0FnZy5vIFwKIAlub2RlV29ya3RhYmxlc2Nhbi5v IFwKIAlzcGkubyBcCisJc3ZhcmlhYmxlUmVjZWl2ZXIubyBcCiAJdHF1ZXVlLm8gXAogCXRzdG9y ZVJlY2VpdmVyLm8KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVp bGQgYi9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5idWlsZAppbmRleCAyY2VhNDFmODc3MS4u NDkxMDkyZmNjNGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxk CisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkCkBAIC02NCw2ICs2NCw3IEBA IGJhY2tlbmRfc291cmNlcyArPSBmaWxlcygKICAgJ25vZGVXaW5kb3dBZ2cuYycsCiAgICdub2Rl V29ya3RhYmxlc2Nhbi5jJywKICAgJ3NwaS5jJywKKyAgJ3N2YXJpYWJsZVJlY2VpdmVyLmMnLAog ICAndHF1ZXVlLmMnLAogICAndHN0b3JlUmVjZWl2ZXIuYycsCiApCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uYjI3MDllOTIxMWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9zdmFyaWFibGVSZWNlaXZlci5jCkBAIC0wLDAgKzEsMTQ5IEBACisvKi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAqCisgKiBzdmFyaWFibGVSZWNlaXZlci5jCisgKgkgIEFuIGltcGxlbWVudGF0aW9uIG9m IERlc3RSZWNlaXZlciB0aGF0IHN0b3JlcyB0aGUgcmVzdWx0IHZhbHVlIGluCisgKgkgIGEgc2Vz c2lvbiB2YXJpYWJsZS4KKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyNCwg UG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdo dCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgor ICogSURFTlRJRklDQVRJT04KKyAqCSAgc3JjL2JhY2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVj ZWl2ZXIuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpbmNsdWRlICJwb3N0Z3Jl cy5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2RldG9hc3Qu aCIKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVy LmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2Fj aGUuaCIKKyNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgorCisvKgorICogVGhpcyBEZXN0UmVj ZWl2ZXIgaXMgdXNlZCBieSB0aGUgTEVUIGNvbW1hbmQgZm9yIHN0b3JpbmcgdGhlIHJlc3VsdCB0 byBhCisgKiBzZXNzaW9uIHZhcmlhYmxlLiAgVGhlIHJlc3VsdCBoYXMgdG8gaGF2ZSBvbmx5IG9u ZSB0dXBsZSB3aXRoIG9ubHkgb25lCisgKiBub24tZGVsZXRlZCBhdHRyaWJ1dGUuICBUaGUgcm93 IGNvdW50ZXIgKGZpZWxkICJyb3dzIikgaXMgaW5jcmVtZW50ZWQKKyAqIGFmdGVyIHJlY2Vpdmlu ZyBhIHJvdywgYW5kIGFuIGVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZXJlIGFyZSBubyByb3dzIG9y CisgKiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSByZWNlaXZlZCByb3dzLiAgQSByZWNlaXZlZCB0 dXBsZSBjYW5ub3QgdG8gaGF2ZQorICogZGVsZXRlZCBhdHRyaWJ1dGVzLiAgVGhlIHZhbHVlIGlz IGRldG9hc3RlZCBiZWZvcmUgc3RvcmluZyBpdCBpbiB0aGUKKyAqIHNlc3Npb24gdmFyaWFibGUu CisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisJRGVzdFJlY2VpdmVyIHB1YjsKKwljaGFyCSAgICp2 YXJuYW1lOworCU9pZAkJCXR5cGlkOworCWludDMyCQl0eXBtb2Q7CisJYm9vbAkJbmVlZF9kZXRv YXN0OwkvKiBkbyB3ZSBuZWVkIHRvIGRldG9hc3QgdGhlIGF0dHJpYnV0ZT8gKi8KKwlpbnQJCQly b3dzOwkJCS8qIHJvdyBjb3VudGVyICovCit9IFNWYXJpYWJsZVN0YXRlOworCisvKgorICogUHJl cGFyZSB0byByZWNlaXZlIHR1cGxlcyBmcm9tIGV4ZWN1dG9yLgorICovCitzdGF0aWMgdm9pZAor c3ZhcmlhYmxlU3RhcnR1cFJlY2VpdmVyKERlc3RSZWNlaXZlciAqc2VsZiwgaW50IG9wZXJhdGlv biwgVHVwbGVEZXNjIHR5cGVpbmZvKQoreworCVNWYXJpYWJsZVN0YXRlICpteVN0YXRlID0gKFNW YXJpYWJsZVN0YXRlICopIHNlbGY7CisJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cjsKKworCUFzc2Vy dChteVN0YXRlLT5wdWIubXlkZXN0ID09IERlc3RWYXJpYWJsZSk7CisJQXNzZXJ0KHR5cGVpbmZv LT5uYXR0cyA9PSAxKTsKKworCWF0dHIgPSBUdXBsZURlc2NBdHRyKHR5cGVpbmZvLCAwKTsKKwor CUFzc2VydCghYXR0ci0+YXR0aXNkcm9wcGVkKTsKKworCW15U3RhdGUtPnR5cGlkID0gYXR0ci0+ YXR0dHlwaWQ7CisJbXlTdGF0ZS0+dHlwbW9kID0gYXR0ci0+YXR0dHlwbW9kOworCisJbXlTdGF0 ZS0+bmVlZF9kZXRvYXN0ID0gYXR0ci0+YXR0bGVuID09IC0xOworCW15U3RhdGUtPnJvd3MgPSAw OworfQorCisvKgorICogUmVjZWl2ZSBhIHR1cGxlIGZyb20gdGhlIGV4ZWN1dG9yIGFuZCBzdG9y ZSBpdCBpbiB0aGUgc2Vzc2lvbiB2YXJpYWJsZS4KKyAqLworc3RhdGljIGJvb2wKK3N2YXJpYWJs ZVJlY2VpdmVTbG90KFR1cGxlVGFibGVTbG90ICpzbG90LCBEZXN0UmVjZWl2ZXIgKnNlbGYpCit7 CisJU1ZhcmlhYmxlU3RhdGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsKKwlE YXR1bQkJdmFsdWU7CisJYm9vbAkJaXNudWxsOworCWJvb2wJCWZyZWV2YWwgPSBmYWxzZTsKKwor CS8qIG1ha2Ugc3VyZSB0aGUgdHVwbGUgaXMgZnVsbHkgZGVjb25zdHJ1Y3RlZCAqLworCXNsb3Rf Z2V0YWxsYXR0cnMoc2xvdCk7CisKKwl2YWx1ZSA9IHNsb3QtPnR0c192YWx1ZXNbMF07CisJaXNu dWxsID0gc2xvdC0+dHRzX2lzbnVsbFswXTsKKworCWlmIChteVN0YXRlLT5uZWVkX2RldG9hc3Qg JiYgIWlzbnVsbCAmJiBWQVJBVFRfSVNfRVhURVJOQUwoRGF0dW1HZXRQb2ludGVyKHZhbHVlKSkp CisJeworCQl2YWx1ZSA9IFBvaW50ZXJHZXREYXR1bShkZXRvYXN0X2V4dGVybmFsX2F0dHIoKHN0 cnVjdCB2YXJsZW5hICopCisJCQkJCQkJCQkJCQkJICBEYXR1bUdldFBvaW50ZXIodmFsdWUpKSk7 CisJCWZyZWV2YWwgPSB0cnVlOworCX0KKworCW15U3RhdGUtPnJvd3MgKz0gMTsKKworCWlmICht eVN0YXRlLT5yb3dzID4gMSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X1RPT19NQU5ZX1JPV1MpLAorCQkJCSBlcnJtc2coImV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0 aGFuIG9uZSByb3ciKSkpOworCisJU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhteVN0 YXRlLT52YXJuYW1lLAorCQkJCQkJCQkJbXlTdGF0ZS0+dHlwaWQsIG15U3RhdGUtPnR5cG1vZCwK KwkJCQkJCQkJCXZhbHVlLCBpc251bGwpOworCisJaWYgKGZyZWV2YWwpCisJCXBmcmVlKERhdHVt R2V0UG9pbnRlcih2YWx1ZSkpOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBDbGVhbiB1 cCBhdCBlbmQgb2YgdGhlIGV4ZWN1dG9yIHJ1bgorICovCitzdGF0aWMgdm9pZAorc3ZhcmlhYmxl U2h1dGRvd25SZWNlaXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJaWYgKCgoU1ZhcmlhYmxl U3RhdGUgKikgc2VsZiktPnJvd3MgPT0gMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX05PX0RBVEFfRk9VTkQpLAorCQkJCSBlcnJtc2coImV4cHJlc3Npb24gcmV0dXJu ZWQgbm8gcm93cyIpKSk7Cit9CisKKy8qCisgKiBEZXN0cm95IHRoZSByZWNlaXZlciB3aGVuIHdl IGFyZSBkb25lIHdpdGggaXQKKyAqLworc3RhdGljIHZvaWQKK3N2YXJpYWJsZURlc3Ryb3lSZWNl aXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJcGZyZWUoKChTVmFyaWFibGVTdGF0ZSAqKSBz ZWxmKS0+dmFybmFtZSk7CisJcGZyZWUoc2VsZik7Cit9CisKKy8qCisgKiBJbml0aWFsbHkgY3Jl YXRlIGEgRGVzdFJlY2VpdmVyIG9iamVjdC4KKyAqLworRGVzdFJlY2VpdmVyICoKK0NyZWF0ZVZh cmlhYmxlRGVzdFJlY2VpdmVyKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxlU3RhdGUgKnNl bGYgPSAoU1ZhcmlhYmxlU3RhdGUgKikgcGFsbG9jMChzaXplb2YoU1ZhcmlhYmxlU3RhdGUpKTsK KworCXNlbGYtPnB1Yi5yZWNlaXZlU2xvdCA9IHN2YXJpYWJsZVJlY2VpdmVTbG90OworCXNlbGYt PnB1Yi5yU3RhcnR1cCA9IHN2YXJpYWJsZVN0YXJ0dXBSZWNlaXZlcjsKKwlzZWxmLT5wdWIuclNo dXRkb3duID0gc3ZhcmlhYmxlU2h1dGRvd25SZWNlaXZlcjsKKwlzZWxmLT5wdWIuckRlc3Ryb3kg PSBzdmFyaWFibGVEZXN0cm95UmVjZWl2ZXI7CisJc2VsZi0+cHViLm15ZGVzdCA9IERlc3RWYXJp YWJsZTsKKworCXNlbGYtPnZhcm5hbWUgPSBwc3RyZHVwKHZhcm5hbWUpOworCisJcmV0dXJuIChE ZXN0UmVjZWl2ZXIgKikgc2VsZjsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvZGVz dC5jIGIvc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMKaW5kZXggYjYyMDc2NmM5MzguLjBjMWVlZWIy MmE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL2Rlc3QuYworKysgYi9zcmMvYmFja2Vu ZC90Y29wL2Rlc3QuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgImV4ZWN1dG9yL2Z1bmN0 aW9ucy5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL3RxdWV1ZS5oIgogI2luY2x1ZGUgImV4ZWN1dG9y L3RzdG9yZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIu aCIKICNpbmNsdWRlICJsaWJwcS9saWJwcS5oIgogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0Lmgi CiAKQEAgLTE1NSw2ICsxNTYsOSBAQCBDcmVhdGVEZXN0UmVjZWl2ZXIoQ29tbWFuZERlc3QgZGVz dCkKIAogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgogCQkJcmV0dXJuIENyZWF0ZUV4cGxh aW5TZXJpYWxpemVEZXN0UmVjZWl2ZXIoTlVMTCk7CisKKwkJY2FzZSBEZXN0VmFyaWFibGU6CisJ CQlyZXR1cm4gQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIoTlVMTCk7CiAJfQogCiAJLyogc2hv dWxkIG5ldmVyIGdldCBoZXJlICovCkBAIC0xOTEsNiArMTk1LDcgQEAgRW5kQ29tbWFuZChjb25z dCBRdWVyeUNvbXBsZXRpb24gKnFjLCBDb21tYW5kRGVzdCBkZXN0LCBib29sIGZvcmNlX3VuZGVj b3JhdGVkX28KIAkJY2FzZSBEZXN0VHJhbnNpZW50UmVsOgogCQljYXNlIERlc3RUdXBsZVF1ZXVl OgogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgorCQljYXNlIERlc3RWYXJpYWJsZToKIAkJ CWJyZWFrOwogCX0KIH0KQEAgLTIzNyw2ICsyNDIsNyBAQCBOdWxsQ29tbWFuZChDb21tYW5kRGVz dCBkZXN0KQogCQljYXNlIERlc3RUcmFuc2llbnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6 CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxpemU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJ YnJlYWs7CiAJfQogfQpAQCAtMjgxLDYgKzI4Nyw3IEBAIFJlYWR5Rm9yUXVlcnkoQ29tbWFuZERl c3QgZGVzdCkKIAkJY2FzZSBEZXN0VHJhbnNpZW50UmVsOgogCQljYXNlIERlc3RUdXBsZVF1ZXVl OgogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgorCQljYXNlIERlc3RWYXJpYWJsZToKIAkJ CWJyZWFrOwogCX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25f dmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRl eCAzNjg3NDkwYmNiMS4uNjEwYjc1Nzg5OWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmgKQEAgLTIzLDYgKzIzLDkgQEAgZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFibGUo UGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CiBleHRlcm4g dm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSk7CiAKIGV4dGVybiBEYXR1bSBH ZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBpZCwg aW50MzIgdHlwbW9kLCBib29sICppc251bGwpOworZXh0ZXJuIHZvaWQgU2V0U2Vzc2lvblZhcmlh YmxlV2l0aFR5cGVjaGVjayhjaGFyICp2YXJuYW1lLAorCQkJCQkJCQkJCQlPaWQgdHlwaWQsIGlu dDMyIHR5cG1vZCwKKwkJCQkJCQkJCQkJRGF0dW0gdmFsdWUsIGJvb2wgaXNudWxsKTsKIAogZXh0 ZXJuIHZvaWQgZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZh cm5hbWUsCiAJCQkJCQkJCQkJCQkJT2lkICp0eXBpZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmggYi9zcmMvaW5jbHVkZS9leGVjdXRvci9zdmFy aWFibGVSZWNlaXZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5k ZDAxYzkzYzllOAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJp YWJsZVJlY2VpdmVyLmgKQEAgLTAsMCArMSwyMiBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgor ICogc3ZhcmlhYmxlUmVjZWl2ZXIuaAorICoJICBwcm90b3R5cGVzIGZvciBzdmFyaWFibGVSZWNl aXZlci5jCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDI0LCBQb3N0 Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj KSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBz cmMvaW5jbHVkZS9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oCisgKgorICotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKi8KKworI2lmbmRlZiBTVkFSSUFCTEVfUkVDRUlWRVJfSAorI2RlZmluZSBTVkFS SUFCTEVfUkVDRUlWRVJfSAorCisjaW5jbHVkZSAidGNvcC9kZXN0LmgiCisKK2V4dGVybiBEZXN0 UmVjZWl2ZXIgKkNyZWF0ZVZhcmlhYmxlRGVzdFJlY2VpdmVyKGNoYXIgKnZhcm5hbWUpOworCisj ZW5kaWYJCQkJCQkJLyogU1ZBUklBQkxFX1JFQ0VJVkVSX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3Rjb3AvZGVzdC5oIGIvc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmgKaW5kZXggMDBjMDky ZTNkN2MuLjZjZTNlYTBlNjE3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2Rlc3QuaAor KysgYi9zcmMvaW5jbHVkZS90Y29wL2Rlc3QuaApAQCAtOTcsNiArOTcsNyBAQCB0eXBlZGVmIGVu dW0KIAlEZXN0VHJhbnNpZW50UmVsLAkJCS8qIHJlc3VsdHMgc2VudCB0byB0cmFuc2llbnQgcmVs YXRpb24gKi8KIAlEZXN0VHVwbGVRdWV1ZSwJCQkJLyogcmVzdWx0cyBzZW50IHRvIHR1cGxlIHF1 ZXVlICovCiAJRGVzdEV4cGxhaW5TZXJpYWxpemUsCQkvKiByZXN1bHRzIGFyZSBzZXJpYWxpemVk IGFuZCBkaXNjYXJkZWQgKi8KKwlEZXN0VmFyaWFibGUsCQkJCS8qIHJlc3VsdHMgc2VudCB0byBz ZXNzaW9uIHZhcmlhYmxlICovCiB9IENvbW1hbmREZXN0OwogCiAvKiAtLS0tLS0tLS0tLS0tLS0t CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29s cy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDE2ZGZiMTdiNDRlLi5jNjI1ZDI0MmIyMSAx MDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rv b2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTI2NzUsNiArMjY3NSw3IEBAIFNUUkxFTgog U1YKIFNWYXJpYWJsZURhdGEKIFNWYXJpYWJsZQorU1ZhcmlhYmxlU3RhdGUKIFNZTkNIUk9OSVpB VElPTl9CQVJSSUVSCiBTWVNURU1fSU5GTwogU2FtcGxlU2NhbgotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="UTF-8"; name="v20251205-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Disposition: attachment; filename="v20251205-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65qs3 RnJvbSA1YTdlMzYzYzZlMDJjNmJiYzE1OWY3OTRjYzY4NzVjMDc4NTk5NjhlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDE4OjA1OjAzICswMTAwClN1YmplY3Q6IFtQ QVRDSCA2LzldIExFVCBjb21tYW5kIC0gYXNzaWduIGEgcmVzdWx0IG9mIGV4cHJlc3Npb24gdG8g dGhlIAogc2Vzc2lvbiB2YXJpYWJsZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK VGhlIHZhbHVlIGlzIGFzc2lnbmVkIHRvIHNlc3Npb24gdmFyaWFibGVzIHVzdWFsbHkgYnkgU0VU IGNvbW1hbmQuIFVuZm9ydHVuYXRlbHkKdGhlcmUgYXJlIHR3byByZWFzb25zIHdoeSBTRVQgc2hv dWxkIG5vdCBiZSB1c2VkIGZvciB0aGlzIHB1cnBvc2UgaW4gUG9zdGdyZXMuCgoxLiBVc2luZyBh X2V4cHIgaW5zaWRlIGdlbmVyaWNfc2V0IHJhbSBydWxlIHByb2R1Y2VzIHJlZHVjZSBjb25mbGlj dHMsIHNvIGl0IG5lZWRzCsKgIMKgdG90YWwgcmVpbXBsZW1lbnRhdGlvbiBvZiByZWxhdGVkIGdy YW0gcnVsZXMuCgoyLiBTRVQgaXMgbm8gcGxhbiBjb21tYW5kIC0gc28gaXQgZG9lc24ndCBzdXBw b3J0IHVzYWdlIG9mIHBhcmFtZXRlcnMuCgozLiBFeGNlcHRpbmcgaW1wbGVtZW50YXRpb24gaXNz dWVzLCB0aGVyZSBpcyBmYWN0LCBzbyBpZiB3ZSB1c2UgU0VUIGNvbW1hbmQKwqAgwqBmb3IgYXNz aWduaW5nIHZhbHVlcyB0byBzZXNzaW9uIHZhcmlhYmxlcywgdGhlbiB0aGVyZSBjYW4gYmUgY29s bGlzaW9ucwrCoCDCoGJldHdlZW4gc2Vzc2lvbiB2YXJpYWJsZXMgYW5kIEdVQywgYW5kIHRoZW4g d2UgbmVlZCBzb21lIGNvbmNlcHRzLCBob3cKwqAgwqB0aGVzZSBjb2xsaXNpb25zIHNob3VsZCBi ZSBzb2x2ZWQsIG9yIGhvdyB0byBwcm90ZWN0IHNlbGYgYWdhaW5zdCB0aGVzZQrCoCDCoGNvbGxp c2lvbnMuIFdpdGggdGhlIGRlZGljYXRlZCBjb21tYW5kLCB0aGUgY29sbGlzaW9ucyBiZXR3ZWVu IEdVQyBhbmQgc2Vzc2lvbgrCoCDCoHZhcmlhYmxlcyBhcmUgbm90IHBvc3NpYmxlLgoKVGhlIGNv bW1hbmQgTEVUIGlzIGV4ZWN1dGVkIGFzIHVzdWFsIHF1ZXJ5IGV4ZWN1dGlvbi4gVGhlIHJlc3Vs dCBpcyBzdG9yZWQKdG8gdGhlIHRhcmdldCBzZXNzaW9uIHZhcmlhYmxlIChyZXN1bHRWYXJpYWJs ZSkgYnkgdXNpbmcgVmFyaWFibGVEZXN0UmVjZWl2ZXIuCgpJbXBsZW1lbnRhdGlvbnMgb2YgRVhQ TEFJTiBMRVQgYW5kIFBSRVBBUkUgTEVUIHN0YXRlbWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQKbm93 LiBQb3N0cG9uZWQgdG8gbmV4dCBzdGVwIGR1ZSByZWR1Y2luZyBwYXRjaCBzaXplLgotLS0KIGRv Yy9zcmMvc2dtbC9kZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNyArKysrCiBk b2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwgICAgICAgICAgICAgICAgfCAgIDEgKwogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCAgICAgICAgIHwgICAzICsKIGRvYy9z cmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3Jj L3NnbWwvcmVmL2xldC5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgOTUgKysrKysrKysrKysr KysKIGRvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAgICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAgODYgKysr KysrKysrKysrCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyAgICAgICAgICAgICAgICAg fCAgIDggKysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgICAgICB8 ICAgMSArCiBzcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jICAgICAgICAgICAgICAgICAgfCAx MDMgKysrKysrKysrKysrLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAg ICAgICAgICAgfCAgMzggKysrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgICAg ICAgICAgICAgICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAg ICAgICAgICAgIHwgICA5ICsrCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jICAgICAg ICAgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAg ICAgICAgIHwgIDE1ICsrKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAg ICAgICAgIHwgICA5ICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg ICAgICAgfCAgIDUgKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICAgICAg ICAgIHwgIDE1ICsrKwogc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggICAgICAgICAgICAg ICAgIHwgICAzICsKIHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oICAgICAgICAgICAgICAg fCAgIDEgKwogc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAgICAgICAgICAgIHwg ICAxICsKIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0ICAgICAgICB8IDEy MyArKysrKysrKysrKysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19k bWwuc3FsICAgICB8ICA4NyArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgfCAgIDEgKwogMjUgZmlsZXMgY2hhbmdlZCwgNjI0IGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dt bC9yZWYvbGV0LnNnbWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mv c3JjL3NnbWwvZGRsLnNnbWwKaW5kZXggMTUwYjA0ZjFkNGIuLjkyMTYzZDBhNzRhIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBA IC01NjgzLDEwICs1NjgzLDM3IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3Vy ZW1lbnQgV0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICBzZXNzaW9u IHZhcmlhYmxlIGlkZW50aWZpZXIsIGFuZCBjYW4gYmUgdXNlZCBvbmx5IGZvciBzZXNzaW9uIHZh cmlhYmxlCiAgICAgaWRlbnRpZmllci4gVGhlIHNwZWNpYWwgc3ludGF4IGZvciBhY2Nlc3Npbmcg c2Vzc2lvbiB2YXJpYWJsZXMgcmVtb3ZlcwogICAgIHJpc2sgb2YgY29sbGlzaW9ucyBiZXR3ZWVu IHZhcmlhYmxlIGlkZW50aWZpZXJzIGFuZCBjb2x1bW4gbmFtZXMuCisgICA8L3BhcmE+CisKKyAg IDxwYXJhPgorICAgIFRoZSB2YWx1ZSBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgc2V0IHdpdGgg dGhlIFNRTCBzdGF0ZW1lbnQKKyAgICA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+LiAgVGhlIHZhbHVl IG9mIGEgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUgcmV0cmlldmVkCisgICAgd2l0aCB0aGUgU1FM IHN0YXRlbWVudCA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+LgogPHByb2dyYW1saXN0aW5nPgor Q1JFQVRFIFZBUklBQkxFIHZhcjEgQVMgZGF0ZTsKK0xFVCB2YXIxID0gY3VycmVudF9kYXRlOwor U0VMRUNUIFZBUklBQkxFKHZhcjEpOworPC9wcm9ncmFtbGlzdGluZz4KKworICAgIG9yCisKKzxw cm9ncmFtbGlzdGluZz4KK0NSRUFURSBWQVJJQUJMRSBwdWJsaWMuY3VycmVudF91c2VyX2lkIEFT IGludGVnZXI7CitHUkFOVCBTRUxFQ1QgT04gVkFSSUFCTEUgcHVibGljLmN1cnJlbnRfdXNlcl9p ZCBUTyBQVUJMSUM7CitMRVQgY3VycmVudF91c2VyX2lkID0gKFNFTEVDVCBpZCBGUk9NIHVzZXJz IFdIRVJFIHVzZW5hbWUgPSBzZXNzaW9uX3VzZXIpOwogU0VMRUNUIFZBUklBQkxFKGN1cnJlbnRf dXNlcl9pZCk7CiA8L3Byb2dyYW1saXN0aW5nPgogICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAg ICBUaGUgdmFsdWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50 IHNlc3Npb24uIFJldHJpZXZpbmcKKyAgICBhIHZhcmlhYmxlJ3MgdmFsdWUgcmV0dXJucyBhIDxs aXRlcmFsPk5VTEw8L2xpdGVyYWw+LCB1bmxlc3MgaXRzIHZhbHVlIGhhcworICAgIGJlZW4gc2V0 IHRvIHNvbWV0aGluZyBlbHNlIGluIHRoZSBjdXJyZW50IHNlc3Npb24gdXNpbmcgdGhlCisgICAg PGNvbW1hbmQ+TEVUPC9jb21tYW5kPiBjb21tYW5kLiAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIG5v dCB0cmFuc2FjdGlvbmFsOgorICAgIGFueSBjaGFuZ2VzIG1hZGUgdG8gdGhlIHZhbHVlIG9mIGEg c2Vzc2lvbiB2YXJpYWJsZSBpbiBhIHRyYW5zYWN0aW9uIHdvbid0CisgICAgYmUgdW5kb25lIGlm IHRoZSB0cmFuc2FjdGlvbiBpcyByb2xsZWQgYmFjayAoanVzdCBsaWtlIHZhcmlhYmxlcyBpbgor ICAgIHByb2NlZHVyYWwgbGFuZ3VhZ2VzKS4KKyAgIDwvcGFyYT4KICAgPC9zZWN0MT4KIAogIDxz ZWN0MSBpZD0iZGRsLW90aGVycyI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZp bGVzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwKaW5kZXggYTczNDk5MTk2 NTguLmNkM2ZhYTY2N2YwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCkBAIC0xNTcsNiArMTU3LDcg QEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJl Y3RvcnkuCiA8IUVOVElUWSBncmFudCAgICAgICAgICAgICAgU1lTVEVNICJncmFudC5zZ21sIj4K IDwhRU5USVRZIGltcG9ydEZvcmVpZ25TY2hlbWEgU1lTVEVNICJpbXBvcnRfZm9yZWlnbl9zY2hl bWEuc2dtbCI+CiA8IUVOVElUWSBpbnNlcnQgICAgICAgICAgICAgU1lTVEVNICJpbnNlcnQuc2dt bCI+Cis8IUVOVElUWSBsZXQgICAgICAgICAgICAgICAgU1lTVEVNICJsZXQuc2dtbCI+CiA8IUVO VElUWSBsaXN0ZW4gICAgICAgICAgICAgU1lTVEVNICJsaXN0ZW4uc2dtbCI+CiA8IUVOVElUWSBs b2FkICAgICAgICAgICAgICAgU1lTVEVNICJsb2FkLnNnbWwiPgogPCFFTlRJVFkgbG9jayAgICAg ICAgICAgICAgIFNZU1RFTSAibG9jay5zZ21sIj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJs ZS5zZ21sCmluZGV4IDVlZDc0YzVjMTczLi4xMWIxZWY3NDIxMiAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV92YXJpYWJsZS5zZ21sCkBAIC0xMDcsNiArMTA3LDggQEAgQ1JFQVRFIHsgVEVNUCB8IFRF TVBPUkFMIH0gVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3Jl cGxhY2UKICAgIENyZWF0ZSBhbiBkYXRlIHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwv bGl0ZXJhbD46CiA8cHJvZ3JhbWxpc3Rpbmc+CiBDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHZh cjEgQVMgZGF0ZTsKK0xFVCB2YXIxID0gY3VycmVudF9kYXRlOworU0VMRUNUIFZBUklBQkxFKHZh cjEpOwogPC9wcm9ncmFtbGlzdGluZz4KICAgPC9wYXJhPgogCkBAIC0xMjYsNiArMTI4LDcgQEAg Q1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CiAKICAgPHNpbXBsZWxpc3Qg dHlwZT0iaW5saW5lIj4KICAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWRyb3B2YXJpYWJs ZSIvPjwvbWVtYmVyPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtbGV0Ii8+PC9tZW1i ZXI+CiAgIDwvc2ltcGxlbGlzdD4KICA8L3JlZnNlY3QxPgogCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJp YWJsZS5zZ21sCmluZGV4IGU4NTE3YTc4MjAwLi5kZWRlNDJlNGZmYiAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9k cm9wX3ZhcmlhYmxlLnNnbWwKQEAgLTc4LDYgKzc4LDcgQEAgRFJPUCBWQVJJQUJMRSB2YXIxOwog CiAgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CiAgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9 InNxbC1jcmVhdGV2YXJpYWJsZSIvPjwvbWVtYmVyPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5k PSJzcWwtbGV0Ii8+PC9tZW1iZXI+CiAgIDwvc2ltcGxlbGlzdD4KICA8L3JlZnNlY3QxPgogCmRp ZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2xldC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9s ZXQuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTkwOWQyMDNl OTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2xldC5zZ21sCkBAIC0wLDAg KzEsOTUgQEAKKzwhLS0KK2RvYy9zcmMvc2dtbC9yZWYvbGV0LnNnbWwKK1Bvc3RncmVTUUwgZG9j dW1lbnRhdGlvbgorLS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWxldCI+CisgPGluZGV4dGVybSB6 b25lPSJzcWwtbGV0Ij4KKyAgPHByaW1hcnk+TEVUPC9wcmltYXJ5PgorIDwvaW5kZXh0ZXJtPgor CisgPGluZGV4dGVybT4KKyAgPHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJpbWFyeT4KKyAg PHNlY29uZGFyeT5jaGFuZ2luZzwvc2Vjb25kYXJ5PgorIDwvaW5kZXh0ZXJtPgorCisgPHJlZm1l dGE+CisgIDxyZWZlbnRyeXRpdGxlPkxFVDwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43 PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9y ZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+TEVU PC9yZWZuYW1lPgorICA8cmVmcHVycG9zZT5jaGFuZ2UgYSBzZXNzaW9uIHZhcmlhYmxlJ3MgdmFs dWU8L3JlZnB1cnBvc2U+CisgPC9yZWZuYW1lZGl2PgorCisgPHJlZnN5bm9wc2lzZGl2PgorPHN5 bm9wc2lzPgorTEVUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXNzaW9uX3Zhcmlh YmxlPC9yZXBsYWNlYWJsZT4gPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3FsX2V4 cHJlc3Npb248L3JlcGxhY2VhYmxlPgorPC9zeW5vcHNpcz4KKyA8L3JlZnN5bm9wc2lzZGl2Pgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+RGVzY3JpcHRpb248L3RpdGxlPgorCisgIDxwYXJhPgor ICAgVGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFuZCBhc3NpZ25zIGEgdmFsdWUgdG8g dGhlIHNwZWNpZmllZCBzZXNzaW9uCisgICB2YXJpYWJsZS4KKyAgPC9wYXJhPgorCisgPC9yZWZz ZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgorCisgIDx2 YXJpYWJsZWxpc3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5zZXNzaW9uX3ZhcmlhYmxlPC9yZXBsYWNlYWJsZT48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9mIHRoZSBzZXNzaW9u IHZhcmlhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVu dHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5zcWxfZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0 aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBbiBhcmJpdHJhcnkgU1FMIGV4cHJlc3Npb24uICBU aGUgcmVzdWx0IG11c3QgYmUgb2YgYSBkYXRhIHR5cGUgdGhhdCBjYW4KKyAgICAgIGJlIGNhc3Qg dG8gdGhlIHR5cGUgb2YgdGhlIHNlc3Npb24gdmFyaWFibGUgaW4gYW4gYXNzaWdubWVudC4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICA8L3Zh cmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+RXhhbXBs ZXM8L3RpdGxlPgorPHByb2dyYW1saXN0aW5nPgorQ1JFQVRFIFZBUklBQkxFIG15dmFyIEFTIGlu dGVnZXI7CitMRVQgbXl2YXIgPSAxMDsKK0xFVCBteXZhciA9IChTRUxFQ1Qgc3VtKHZhbCkgRlJP TSB0YWIpOworPC9wcm9ncmFtbGlzdGluZz4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgor ICA8dGl0bGU+Q29tcGF0aWJpbGl0eTwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1h bmQ+TEVUPC9jb21tYW5kPiBpcyBhIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFt ZT4KKyAgIGV4dGVuc2lvbi4KKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+ CisgIDx0aXRsZT5TZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5l Ij4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXZhcmlhYmxlIi8+PC9tZW1i ZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJl cj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+Cis8L3JlZmVudHJ5PgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5z Z21sCmluZGV4IGMwM2U3NjkyYzdhLi42ZmNkN2E4MTMyMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3JlZmVyZW5jZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbApAQCAt MTg1LDYgKzE4NSw3IEBACiAgICAmZ3JhbnQ7CiAgICAmaW1wb3J0Rm9yZWlnblNjaGVtYTsKICAg ICZpbnNlcnQ7CisgICAmbGV0OwogICAgJmxpc3RlbjsKICAgICZsb2FkOwogICAgJmxvY2s7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggYzViNmY4OTYyNzEuLjVh MmRlMDRlNThiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0x OSwxNCArMTksMTkgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJj YXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgi CisjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKKyNpbmNsdWRlICJleGVjdXRvci9zdmFy aWFibGVSZWNlaXZlci5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgInBhcnNl ci9wYXJzZV90eXBlLmgiCisjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlSGFuZGxlci5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgorI2luY2x1ZGUgInRjb3AvdGNvcHByb3QuaCIKICNpbmNs dWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUg InV0aWxzL2RhdHVtLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAi dXRpbHMvbWVtdXRpbHMuaCIKKyNpbmNsdWRlICJ1dGlscy9zbmFwbWdyLmgiCiAjaW5jbHVkZSAi dXRpbHMvc3lzY2FjaGUuaCIKIAogLyoKQEAgLTMzMCwzICszMzUsODQgQEAgRHJvcFZhcmlhYmxl QnlOYW1lKGNoYXIgKnZhcm5hbWUpCiAJCQkJCSAgIE5VTEwpID09IE5VTEwpCiAJCWVsb2coRVJS T1IsICJoYXNoIHRhYmxlIGNvcnJ1cHRlZCIpOwogfQorCisvKgorICogQXNzaWduIHRoZSByZXN1 bHQgb2YgdGhlIGV2YWx1YXRlZCBleHByZXNzaW9uIHRvIHRoZSBzZXNzaW9uIHZhcmlhYmxlCisg Ki8KK3ZvaWQKK0V4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCSAgIExldFN0 bXQgKnN0bXQsCisJCQkgICBQYXJhbUxpc3RJbmZvIHBhcmFtcywKKwkJCSAgIFF1ZXJ5RW52aXJv bm1lbnQgKnF1ZXJ5RW52LAorCQkJICAgUXVlcnlDb21wbGV0aW9uICpxYykKK3sKKwlRdWVyeQkg ICAqcXVlcnkgPSBjYXN0Tm9kZShRdWVyeSwgc3RtdC0+cXVlcnkpOworCUxpc3QJICAgKnJld3Jp dHRlbjsKKwlEZXN0UmVjZWl2ZXIgKmRlc3Q7CisJUGxhbm5lZFN0bXQgKnBsYW47CisJUXVlcnlE ZXNjICAqcXVlcnlEZXNjOworCWNoYXIJICAgKnZhcm5hbWUgPSBxdWVyeS0+cmVzdWx0VmFyaWFi bGU7CisJU1ZhcmlhYmxlCXN2YXI7CisKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUp OworCisJLyogb25seSBvd25lciBjYW4gc2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KKwlpZiAo c3Zhci0+dmFyb3duZXIgIT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQorCQllcmVwb3J0 KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJ CQkJIGVycm1zZygicGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUgJXMiLAor CQkJCQkJdmFybmFtZSkpKTsKKworCS8qIGNyZWF0ZSBhIGRlc3QgcmVjZWl2ZXIgZm9yIExFVCAq LworCWRlc3QgPSBDcmVhdGVWYXJpYWJsZURlc3RSZWNlaXZlcih2YXJuYW1lKTsKKworCS8qIHJ1 biB0aGUgcXVlcnkgcmV3cml0ZXIgKi8KKwlxdWVyeSA9IGNvcHlPYmplY3QocXVlcnkpOworCisJ cmV3cml0dGVuID0gUXVlcnlSZXdyaXRlKHF1ZXJ5KTsKKworCUFzc2VydChsaXN0X2xlbmd0aChy ZXdyaXR0ZW4pID09IDEpOworCisJcXVlcnkgPSBsaW5pdGlhbF9ub2RlKFF1ZXJ5LCByZXdyaXR0 ZW4pOworCUFzc2VydChxdWVyeS0+Y29tbWFuZFR5cGUgPT0gQ01EX1NFTEVDVCk7CisKKwkvKiBw bGFuIHRoZSBxdWVyeSAqLworCXBsYW4gPSBwZ19wbGFuX3F1ZXJ5KHF1ZXJ5LCBwc3RhdGUtPnBf c291cmNldGV4dCwKKwkJCQkJCSBDVVJTT1JfT1BUX1BBUkFMTEVMX09LLCBwYXJhbXMsIE5VTEwp OworCisJLyoKKwkgKiBVc2UgYSBzbmFwc2hvdCB3aXRoIGFuIHVwZGF0ZWQgY29tbWFuZCBJRCB0 byBlbnN1cmUgdGhpcyBxdWVyeSBzZWVzIHRoZQorCSAqIHJlc3VsdHMgb2YgYW55IHByZXZpb3Vz bHkgZXhlY3V0ZWQgcXVlcmllcy4gIChUaGlzIGNvdWxkIG9ubHkgbWF0dGVyIGlmCisJICogdGhl IHBsYW5uZXIgZXhlY3V0ZWQgYW4gYWxsZWdlZGx5LXN0YWJsZSBmdW5jdGlvbiB0aGF0IGNoYW5n ZWQgdGhlCisJICogZGF0YWJhc2UgY29udGVudHMsIGJ1dCBsZXQncyBkbyBpdCBhbnl3YXkgdG8g YmUgcGFyYWxsZWwgdG8gdGhlIEVYUExBSU4KKwkgKiBjb2RlIHBhdGguKQorCSAqLworCVB1c2hD b3BpZWRTbmFwc2hvdChHZXRBY3RpdmVTbmFwc2hvdCgpKTsKKwlVcGRhdGVBY3RpdmVTbmFwc2hv dENvbW1hbmRJZCgpOworCisJLyogY3JlYXRlIGEgUXVlcnlEZXNjLCByZWRpcmVjdGluZyBvdXRw dXQgdG8gb3VyIHR1cGxlIHJlY2VpdmVyICovCisJcXVlcnlEZXNjID0gQ3JlYXRlUXVlcnlEZXNj KHBsYW4sIHBzdGF0ZS0+cF9zb3VyY2V0ZXh0LAorCQkJCQkJCQlHZXRBY3RpdmVTbmFwc2hvdCgp LCBJbnZhbGlkU25hcHNob3QsCisJCQkJCQkJCWRlc3QsIHBhcmFtcywgcXVlcnlFbnYsIDApOwor CisJLyogY2FsbCBFeGVjdXRvclN0YXJ0IHRvIHByZXBhcmUgdGhlIHBsYW4gZm9yIGV4ZWN1dGlv biAqLworCUV4ZWN1dG9yU3RhcnQocXVlcnlEZXNjLCAwKTsKKworCS8qCisJICogUnVuIHRoZSBw bGFuIHRvIGNvbXBsZXRpb24uICBUaGUgcmVzdWx0IHNob3VsZCBiZSBvbmx5IG9uZSByb3cuICBU bworCSAqIGNoZWNrIGlmIHRoZXJlIGFyZSB0b28gbWFueSByZXN1bHQgcm93cywgd2UgdHJ5IHRv IGZldGNoIHR3by4KKwkgKi8KKwlFeGVjdXRvclJ1bihxdWVyeURlc2MsIEZvcndhcmRTY2FuRGly ZWN0aW9uLCAyTCk7CisKKwkvKiBzYXZlIHRoZSByb3djb3VudCBpZiB3ZSdyZSBnaXZlbiBhIFF1 ZXJ5Q29tcGxldGlvbiB0byBmaWxsICovCisJaWYgKHFjKQorCQlTZXRRdWVyeUNvbXBsZXRpb24o cWMsIENNRFRBR19MRVQsIHF1ZXJ5RGVzYy0+ZXN0YXRlLT5lc19wcm9jZXNzZWQpOworCisJLyog YW5kIGNsZWFuIHVwICovCisJRXhlY3V0b3JGaW5pc2gocXVlcnlEZXNjKTsKKwlFeGVjdXRvckVu ZChxdWVyeURlc2MpOworCisJRnJlZVF1ZXJ5RGVzYyhxdWVyeURlc2MpOworCisJUG9wQWN0aXZl U25hcHNob3QoKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5j IGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKaW5kZXggYzFlYjgxZjc5ZTUuLmZkYjEz YWRhNzVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYworKysgYi9z cmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwpAQCAtNDM3NCw2ICs0Mzc0LDE0IEBAIHJhd19l eHByZXNzaW9uX3RyZWVfd2Fsa2VyX2ltcGwoTm9kZSAqbm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7 CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQl7CisJCQkJTGV0U3RtdCAg ICAqc3RtdCA9IChMZXRTdG10ICopIG5vZGU7CisKKwkJCQlpZiAoV0FMSyhzdG10LT5xdWVyeSkp CisJCQkJCXJldHVybiB0cnVlOworCQkJfQorCQkJYnJlYWs7CiAJCWNhc2UgVF9QTEFzc2lnblN0 bXQ6CiAJCQl7CiAJCQkJUExBc3NpZ25TdG10ICpzdG10ID0gKFBMQXNzaWduU3RtdCAqKSBub2Rl OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCmluZGV4IGMwMDMzMWJlNmI4Li42ZGM2 Mzk1NGE2MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5j CisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc1LDYgKzM3 NSw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVlcnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9z dHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAogCWdsb2ItPnBhcnRpdGlvbl9kaXJlY3RvcnkgPSBO VUxMOwogCWdsb2ItPnJlbF9ub3RudWxsYXR0c19oYXNoID0gTlVMTDsKIAlnbG9iLT5zZXNzaW9u VmFyaWFibGVzID0gTklMOworCWdsb2ItPnJlc3VsdFZhcmlhYmxlID0gcGFyc2UtPnJlc3VsdFZh cmlhYmxlOwogCiAJLyoKIAkgKiBBc3Nlc3Mgd2hldGhlciBpdCdzIGZlYXNpYmxlIHRvIHVzZSBw YXJhbGxlbCBtb2RlIGZvciB0aGlzIHF1ZXJ5LiBXZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cGFyc2VyL2FuYWx5emUuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggODg1 MTA2OTIyZDAuLmNkNmFlZmYzMDQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5h bHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKQEAgLTUzLDE1ICs1Mywx OCBAQAogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvZ3VjLmgi CiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCisjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAj aW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKIAogCi0vKiBQYXNzdGhyb3VnaCBkYXRhIGZvciB0 cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQgKi8KKy8qIFBhc3N0aHJvdWdoIGRhdGEgZm9yIHRy YW5zZm9ybUFzc2lnblRhcmdldCAqLwogdHlwZWRlZiBzdHJ1Y3QgU2VsZWN0U3RtdFBhc3N0aHJv dWdoCiB7Ci0JUExBc3NpZ25TdG10ICpzdG10OwkJCS8qIHRoZSBhc3NpZ25tZW50IHN0YXRlbWVu dCAqLworCU5vZGUJICAgKnN0bXQ7CQkJLyogdGhlIGFzc2lnbm1lbnQgc3RhdGVtZW50ICovCiAJ Tm9kZQkgICAqdGFyZ2V0OwkJCS8qIG5vZGUgcmVwcmVzZW50aW5nIHRoZSB0YXJnZXQgdmFyaWFi bGUgKi8KKwljaGFyCSAgICp0YXJnZXRfbmFtZTsJLyogdGhlIG5hbWUgdXNlZCBieSBlcnIgKi8K IAlMaXN0CSAgICppbmRpcmVjdGlvbjsJLyogaW5kaXJlY3Rpb24geWV0IHRvIGJlIGFwcGxpZWQg dG8gdGFyZ2V0ICovCisJQ29lcmNpb25Db250ZXh0IGNjb250ZXh0OyAJLyogY29udGV4dCBpbmRp Y2F0b3JzIHRvIGNvbnRyb2wgY29lcmNpb25zICovCiB9IFNlbGVjdFN0bXRQYXNzdGhyb3VnaDsK IAogLyogSG9vayBmb3IgcGx1Z2lucyB0byBnZXQgY29udHJvbCBhdCBlbmQgb2YgcGFyc2UgYW5h bHlzaXMgKi8KQEAgLTg1LDcgKzg4LDcgQEAgc3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1SZXR1cm5T dG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUmV0dXJuU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkg KnRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10 KTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtUExBc3NpZ25TdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwKIAkJCQkJCQkJCVBMQXNzaWduU3RtdCAqc3RtdCk7Ci1zdGF0aWMgTGlzdCAqdHJhbnNmb3Jt UExBc3NpZ25TdG10VGFyZ2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqdGxpc3QsCitzdGF0 aWMgTGlzdCAqdHJhbnNmb3JtQXNzaWduVGFyZ2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAq dGxpc3QsCiAJCQkJCQkJCQkJIFNlbGVjdFN0bXRQYXNzdGhyb3VnaCAqcGFzc3RocnUpOwogc3Rh dGljIFF1ZXJ5ICp0cmFuc2Zvcm1EZWNsYXJlQ3Vyc29yU3RtdChQYXJzZVN0YXRlICpwc3RhdGUs CiAJCQkJCQkJCQkJIERlY2xhcmVDdXJzb3JTdG10ICpzdG10KTsKQEAgLTk1LDYgKzk4LDggQEAg c3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1DcmVhdGVUYWJsZUFzU3RtdChQYXJzZVN0YXRlICpwc3Rh dGUsCiAJCQkJCQkJCQkJIENyZWF0ZVRhYmxlQXNTdG10ICpzdG10KTsKIHN0YXRpYyBRdWVyeSAq dHJhbnNmb3JtQ2FsbFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQlDYWxsU3RtdCAq c3RtdCk7CitzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRl LAorCQkJCQkJCSAgIExldFN0bXQgKnN0bXQpOwogc3RhdGljIHZvaWQgdHJhbnNmb3JtTG9ja2lu Z0NsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsIFF1ZXJ5ICpxcnksCiAJCQkJCQkJCSAgIExvY2tp bmdDbGF1c2UgKmxjLCBib29sIHB1c2hlZERvd24pOwogI2lmZGVmIERFQlVHX05PREVfVEVTVFNf RU5BQkxFRApAQCAtMzQyLDYgKzM0Nyw3IEBAIHRyYW5zZm9ybVN0bXQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBOb2RlICpwYXJzZVRyZWUpCiAJCQljYXNlIFRfVXBkYXRlU3RtdDoKIAkJCWNhc2UgVF9E ZWxldGVTdG10OgogCQkJY2FzZSBUX01lcmdlU3RtdDoKKwkJCWNhc2UgVF9MZXRTdG10OgogCQkJ CSh2b2lkKSB0ZXN0X3Jhd19leHByZXNzaW9uX2NvdmVyYWdlKHBhcnNlVHJlZSwgTlVMTCk7CiAJ CQkJYnJlYWs7CiAJCQlkZWZhdWx0OgpAQCAtNDIxLDYgKzQyNywxMSBAQCB0cmFuc2Zvcm1TdG10 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqcGFyc2VUcmVlKQogCQkJCQkJCQkJICAgKENhbGxT dG10ICopIHBhcnNlVHJlZSk7CiAJCQlicmVhazsKIAorCQljYXNlIFRfTGV0U3RtdDoKKwkJCXJl c3VsdCA9IHRyYW5zZm9ybUxldFN0bXQocHN0YXRlLAorCQkJCQkJCQkJICAoTGV0U3RtdCAqKSBw YXJzZVRyZWUpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAogCQkJLyoKQEAgLTQ4Miw2ICs0 OTMsNyBAQCBzdG10X3JlcXVpcmVzX3BhcnNlX2FuYWx5c2lzKFJhd1N0bXQgKnBhcnNlVHJlZSkK IAkJY2FzZSBUX0V4cGxhaW5TdG10OgogCQljYXNlIFRfQ3JlYXRlVGFibGVBc1N0bXQ6CiAJCWNh c2UgVF9DYWxsU3RtdDoKKwkJY2FzZSBUX0xldFN0bXQ6CiAJCQlyZXN1bHQgPSB0cnVlOwogCQkJ YnJlYWs7CiAKQEAgLTU0Nyw2ICs1NTksNyBAQCBxdWVyeV9yZXF1aXJlc19yZXdyaXRlX3BsYW4o UXVlcnkgKnF1ZXJ5KQogCQkJY2FzZSBUX0V4cGxhaW5TdG10OgogCQkJY2FzZSBUX0NyZWF0ZVRh YmxlQXNTdG10OgogCQkJY2FzZSBUX0NhbGxTdG10OgorCQkJY2FzZSBUX0xldFN0bXQ6CiAJCQkJ cmVzdWx0ID0gdHJ1ZTsKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CkBAIC0xMzkwLDcgKzE0MDMs NyBAQCBjb3VudF9yb3dleHByX2NvbHVtbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHBy KQogICoKICAqIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyB1c2VkIHRvIHRyYW5zZm9ybSB0aGUgc291 cmNlIGV4cHJlc3Npb24gb2YgYQogICogUExBc3NpZ25TdG10LiAgSW4gdGhhdCB1c2FnZSwgcGFz c3RocnUgaXMgbm9uLU5VTEwgYW5kIHdlIG5lZWQgdG8KLSAqIGNhbGwgdHJhbnNmb3JtUExBc3Np Z25TdG10VGFyZ2V0IGFmdGVyIHRoZSBpbml0aWFsIHRyYW5zZm9ybWF0aW9uIG9mIHRoZQorICog Y2FsbCB0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQgYWZ0ZXIgdGhlIGluaXRpYWwgdHJhbnNmb3JtYXRp b24gb2YgdGhlCiAgKiBTRUxFQ1QncyB0YXJnZXRsaXN0LiAgKFdlIGNvdWxkIGdlbmVyYWxpemUg dGhpcyBpbnRvIGFuIGFyYml0cmFyeSBjYWxsYmFjawogICogZnVuY3Rpb24sIGJ1dCBmb3Igbm93 IHRoYXQgd291bGQganVzdCBiZSBtb3JlIG5vdGF0aW9uIHdpdGggbm8gYmVuZWZpdC4pCiAgKiBB bGwgdGhlIHJlc3QgaXMgdGhlIHNhbWUgYXMgYSByZWd1bGFyIFNlbGVjdFN0bXQuCkBAIC0xNDQz LDggKzE0NTYsOCBAQCB0cmFuc2Zvcm1TZWxlY3RTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2Vs ZWN0U3RtdCAqc3RtdCwKIAkgKiBPdGhlcndpc2UsIG1hcmsgY29sdW1uIG9yaWdpbnMgKHdoaWNo IGFyZSB1c2VsZXNzIGluIGEgUExBc3NpZ25TdG10KS4KIAkgKi8KIAlpZiAocGFzc3RocnUpCi0J CXFyeS0+dGFyZ2V0TGlzdCA9IHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChwc3RhdGUsIHFy eS0+dGFyZ2V0TGlzdCwKLQkJCQkJCQkJCQkJCQkgIHBhc3N0aHJ1KTsKKwkJcXJ5LT50YXJnZXRM aXN0ID0gdHJhbnNmb3JtQXNzaWduVGFyZ2V0KHBzdGF0ZSwgcXJ5LT50YXJnZXRMaXN0LAorCQkJ CQkJCQkJCQkJcGFzc3RocnUpOwogCWVsc2UKIAkJbWFya1RhcmdldExpc3RPcmlnaW5zKHBzdGF0 ZSwgcXJ5LT50YXJnZXRMaXN0KTsKIApAQCAtMjg0Miw5ICsyODU1LDExIEBAIHRyYW5zZm9ybVBM QXNzaWduU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFBMQXNzaWduU3RtdCAqc3RtdCkKIAkJCQkJ CSAgIEVYUFJfS0lORF9VUERBVEVfVEFSR0VUKTsKIAogCS8qIFNldCB1cCBwYXNzdGhyb3VnaCBk YXRhIGZvciB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQgKi8KLQlwYXNzdGhydS5zdG10ID0g c3RtdDsKKwlwYXNzdGhydS5zdG10ID0gKE5vZGUgKikgc3RtdDsKIAlwYXNzdGhydS50YXJnZXQg PSB0YXJnZXQ7CisJcGFzc3RocnUudGFyZ2V0X25hbWUgPSBzdG10LT5uYW1lOwogCXBhc3N0aHJ1 LmluZGlyZWN0aW9uID0gaW5kaXJlY3Rpb247CisJcGFzc3RocnUuY2NvbnRleHQgPSBDT0VSQ0lP Tl9QTFBHU1FMOwogCiAJLyoKIAkgKiBUbyBhdm9pZCBkdXBsaWNhdGluZyBhIGxvdCBvZiBjb2Rl LCB3ZSB1c2UgdHJhbnNmb3JtU2VsZWN0U3RtdCB0byBkbwpAQCAtMjg2NywxOCArMjg4MiwyMSBA QCB0cmFuc2Zvcm1QTEFzc2lnblN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQTEFzc2lnblN0bXQg KnN0bXQpCiAKIC8qCiAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBhZGp1c3QgYSBTRUxFQ1QncyB0 bGlzdCB0byBtYWtlIHRoZSBvdXRwdXQgc3VpdGFibGUKLSAqIGZvciBhc3NpZ25tZW50IHRvIGEg UExBc3NpZ25TdG10J3MgdGFyZ2V0IHZhcmlhYmxlLgorICogZm9yIGFzc2lnbm1lbnQgdG8gYSBQ TEFzc2lnblN0bXQncyB0YXJnZXQgdmFyaWFibGUgcHIgTEVUJ3MgdGFyZ2V0CisgKiBzZXNzaW9u IHZhcmlhYmxlLgogICoKICAqIE5vdGU6IHdlIGFjdHVhbGx5IG1vZGlmeSB0aGUgdGxlLT5leHBy IGluLXBsYWNlLCBidXQgdGhlIGZ1bmN0aW9uJ3MgQVBJCiAgKiBpcyBzZXQgdXAgdG8gbm90IHBy ZXN1bWUgdGhhdC4KICAqLwogc3RhdGljIExpc3QgKgotdHJhbnNmb3JtUExBc3NpZ25TdG10VGFy Z2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqdGxpc3QsCi0JCQkJCQkJU2VsZWN0U3RtdFBh c3N0aHJvdWdoICpwYXNzdGhydSkKK3RyYW5zZm9ybUFzc2lnblRhcmdldChQYXJzZVN0YXRlICpw c3RhdGUsIExpc3QgKnRsaXN0LAorCQkJCQkgIFNlbGVjdFN0bXRQYXNzdGhyb3VnaCAqcGFzc3Ro cnUpCiB7Ci0JUExBc3NpZ25TdG10ICpzdG10ID0gcGFzc3RocnUtPnN0bXQ7CisJTm9kZQkgICAq c3RtdCA9IHBhc3N0aHJ1LT5zdG10OwogCU5vZGUJICAgKnRhcmdldCA9IHBhc3N0aHJ1LT50YXJn ZXQ7CisJY2hhcgkgICAqdGFyZ2V0X25hbWUgPSBwYXNzdGhydS0+dGFyZ2V0X25hbWU7CiAJTGlz dAkgICAqaW5kaXJlY3Rpb24gPSBwYXNzdGhydS0+aW5kaXJlY3Rpb247CisJQ29lcmNpb25Db250 ZXh0IGNjb250ZXh0ID0gcGFzc3RocnUtPmNjb250ZXh0OwogCU9pZAkJCXRhcmdldHR5cGU7CiAJ aW50MzIJCXRhcmdldHR5cG1vZDsKIAlPaWQJCQl0YXJnZXRjb2xsYXRpb247CkBAIC0yOTEzLDcg KzI5MzEsNyBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRl LCBMaXN0ICp0bGlzdCwKIAkJdGxlLT5leHByID0gKEV4cHIgKikKIAkJCXRyYW5zZm9ybUFzc2ln bm1lbnRJbmRpcmVjdGlvbihwc3RhdGUsCiAJCQkJCQkJCQkJICAgdGFyZ2V0LAotCQkJCQkJCQkJ CSAgIHN0bXQtPm5hbWUsCisJCQkJCQkJCQkJICAgdGFyZ2V0X25hbWUsCiAJCQkJCQkJCQkJICAg ZmFsc2UsCiAJCQkJCQkJCQkJICAgdGFyZ2V0dHlwZSwKIAkJCQkJCQkJCQkgICB0YXJnZXR0eXBt b2QsCkBAIC0yOTIxLDEwICsyOTM5LDEwIEBAIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQ YXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAogCQkJCQkJCQkJCSAgIGluZGlyZWN0aW9u LAogCQkJCQkJCQkJCSAgIGxpc3RfaGVhZChpbmRpcmVjdGlvbiksCiAJCQkJCQkJCQkJICAgKE5v ZGUgKikgdGxlLT5leHByLAotCQkJCQkJCQkJCSAgIENPRVJDSU9OX1BMUEdTUUwsCisJCQkJCQkJ CQkJICAgY2NvbnRleHQsCiAJCQkJCQkJCQkJICAgZXhwckxvY2F0aW9uKHRhcmdldCkpOwogCX0K LQllbHNlIGlmICh0YXJnZXR0eXBlICE9IHR5cGVfaWQgJiYKKwllbHNlIGlmIChJc0Eoc3RtdCwg UExBc3NpZ25TdG10KSAmJiB0YXJnZXR0eXBlICE9IHR5cGVfaWQgJiYKIAkJCSAodGFyZ2V0dHlw ZSA9PSBSRUNPUkRPSUQgfHwgSVNDT01QTEVYKHRhcmdldHR5cGUpKSAmJgogCQkJICh0eXBlX2lk ID09IFJFQ09SRE9JRCB8fCBJU0NPTVBMRVgodHlwZV9pZCkpKQogCXsKQEAgLTI5NDcsNyArMjk2 NSw3IEBAIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExp c3QgKnRsaXN0LAogCQkJY29lcmNlX3RvX3RhcmdldF90eXBlKHBzdGF0ZSwKIAkJCQkJCQkJICBv cmlnX2V4cHIsIHR5cGVfaWQsCiAJCQkJCQkJCSAgdGFyZ2V0dHlwZSwgdGFyZ2V0dHlwbW9kLAot CQkJCQkJCQkgIENPRVJDSU9OX1BMUEdTUUwsCisJCQkJCQkJCSAgY2NvbnRleHQsCiAJCQkJCQkJ CSAgQ09FUkNFX0lNUExJQ0lUX0NBU1QsCiAJCQkJCQkJCSAgLTEpOwogCQkvKiBXaXRoIENPRVJD SU9OX1BMUEdTUUwsIHRoaXMgZXJyb3IgaXMgcHJvYmFibHkgdW5yZWFjaGFibGUgKi8KQEAgLTI5 NTYsNyArMjk3NCw3IEBAIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0YXRlICpw c3RhdGUsIExpc3QgKnRsaXN0LAogCQkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01B VENIKSwKIAkJCQkJIGVycm1zZygidmFyaWFibGUgXCIlc1wiIGlzIG9mIHR5cGUgJXMiCiAJCQkJ CQkJIiBidXQgZXhwcmVzc2lvbiBpcyBvZiB0eXBlICVzIiwKLQkJCQkJCQlzdG10LT5uYW1lLAor CQkJCQkJCXRhcmdldF9uYW1lLAogCQkJCQkJCWZvcm1hdF90eXBlX2JlKHRhcmdldHR5cGUpLAog CQkJCQkJCWZvcm1hdF90eXBlX2JlKHR5cGVfaWQpKSwKIAkJCQkJIGVycmhpbnQoIllvdSB3aWxs IG5lZWQgdG8gcmV3cml0ZSBvciBjYXN0IHRoZSBleHByZXNzaW9uLiIpLApAQCAtMzMyNCw2ICsz MzQyLDU5IEBAIHRyYW5zZm9ybUNhbGxTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ2FsbFN0bXQg KnN0bXQpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAqIHRyYW5zZm9ybUxldFN0bXQgLQor ICoJICB0cmFuc2Zvcm0gYW4gTGV0IFN0YXRlbWVudAorICovCitzdGF0aWMgUXVlcnkgKgordHJh bnNmb3JtTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIExldFN0bXQgKnN0bXQpCit7CisJUXVl cnkJICAgKnFyeTsKKwlRdWVyeQkgICAqcmVzdWx0OworCU5vZGUJICAgKnRhcmdldDsKKwlWYXJp YWJsZUZlbmNlICp2ZjsKKwlTZWxlY3RTdG10UGFzc3Rocm91Z2ggcGFzc3RocnU7CisJUGFyYW0J ICAgKnBhcmFtdmFyOworCisJLyogZ3JhbSBhbGxvd3Mgb25seSBTRUxFQ1QgKi8KKwlBc3NlcnQo SXNBKHN0bXQtPnF1ZXJ5LCBTZWxlY3RTdG10KSk7CisKKwkvKiBVc2UgaW1wbGljaXQgVmFyaWFi bGVGZW5jZSBmb3IgZm9yY2luZyBzZXNzaW9uIHZhcmlhYmxlcyAqLworCXZmID0gbWFrZU5vZGUo VmFyaWFibGVGZW5jZSk7CisJdmYtPnZhcm5hbWUgPSBzdG10LT50YXJnZXQ7CisJdmYtPmxvY2F0 aW9uID0gc3RtdC0+bG9jYXRpb247CisKKwl0YXJnZXQgPSB0cmFuc2Zvcm1FeHByKHBzdGF0ZSwg KE5vZGUgKikgdmYsIEVYUFJfS0lORF9MRVRfVEFSR0VUKTsKKworCXBhcmFtdmFyID0gY2FzdE5v ZGUoUGFyYW0sIHRhcmdldCk7CisKKwlBc3NlcnQocGFyYW12YXItPnBhcmFta2luZCA9PSBQQVJB TV9WQVJJQUJMRSk7CisKKwkvKiBTZXQgdXAgcGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3Jt QXNzaWduVGFyZ2V0ICovCisJcGFzc3RocnUuc3RtdCA9IChOb2RlICopIHN0bXQ7CisJcGFzc3Ro cnUudGFyZ2V0ID0gKE5vZGUgKikgcGFyYW12YXI7CisJcGFzc3RocnUudGFyZ2V0X25hbWUgPSBw YXJhbXZhci0+cGFyYW12YXJuYW1lOworCXBhc3N0aHJ1LmluZGlyZWN0aW9uID0gTklMOworCXBh c3N0aHJ1LmNjb250ZXh0ID0gQ09FUkNJT05fQVNTSUdOTUVOVDsKKworCS8qIHdlIG5lZWQgdG8g cG9zdHBvbmUgY29udmVyc2lvbiBvZiAidW5rbm93biIgdG8gdGV4dCAqLworCXBzdGF0ZS0+cF9y ZXNvbHZlX3Vua25vd25zID0gZmFsc2U7CisKKwlxcnkgPSB0cmFuc2Zvcm1TZWxlY3RTdG10KHBz dGF0ZSwgKFNlbGVjdFN0bXQgKikgc3RtdC0+cXVlcnksICZwYXNzdGhydSk7CisKKwlxcnktPnJl c3VsdFZhcmlhYmxlID0gcGFyYW12YXItPnBhcmFtdmFybmFtZTsKKwlxcnktPmNhblNldFRhZyA9 IHRydWU7CisKKwlzdG10LT5xdWVyeSA9IChOb2RlICopIHFyeTsKKworCS8qIHJlcHJlc2VudCB0 aGUgY29tbWFuZCBhcyBhIHV0aWxpdHkgUXVlcnkgKi8KKwlyZXN1bHQgPSBtYWtlTm9kZShRdWVy eSk7CisJcmVzdWx0LT5jb21tYW5kVHlwZSA9IENNRF9VVElMSVRZOworCXJlc3VsdC0+dXRpbGl0 eVN0bXQgPSAoTm9kZSAqKSBzdG10OworCisJcmV0dXJuIHJlc3VsdDsKK30KKwogLyoKICAqIFBy b2R1Y2UgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBMb2NrQ2xhdXNlU3RyZW5ndGggdmFs dWUuCiAgKiBUaGlzIHNob3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gdmFsaWQgdmFsdWVzIChub3Qg TENTX05PTkUpLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSBiL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggODM3MzMwYTgwN2YuLjMyN2VjZjg4NzEyIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkKQEAgLTMwMSw3ICszMDEsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZp ZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCQlE cm9wVHJhbnNmb3JtU3RtdAogCQlEcm9wVXNlck1hcHBpbmdTdG10IEV4cGxhaW5TdG10IEZldGNo U3RtdAogCQlHcmFudFN0bXQgR3JhbnRSb2xlU3RtdCBJbXBvcnRGb3JlaWduU2NoZW1hU3RtdCBJ bmRleFN0bXQgSW5zZXJ0U3RtdAotCQlMaXN0ZW5TdG10IExvYWRTdG10IExvY2tTdG10IE1lcmdl U3RtdCBOb3RpZnlTdG10IEV4cGxhaW5hYmxlU3RtdCBQcmVwYXJhYmxlU3RtdAorCQlMZXRTdG10 IExpc3RlblN0bXQgTG9hZFN0bXQgTG9ja1N0bXQgTWVyZ2VTdG10IE5vdGlmeVN0bXQgRXhwbGFp bmFibGVTdG10IFByZXBhcmFibGVTdG10CiAJCUNyZWF0ZUZ1bmN0aW9uU3RtdCBBbHRlckZ1bmN0 aW9uU3RtdCBSZWluZGV4U3RtdCBSZW1vdmVBZ2dyU3RtdAogCQlSZW1vdmVGdW5jU3RtdCBSZW1v dmVPcGVyU3RtdCBSZW5hbWVTdG10IFJldHVyblN0bXQgUmV2b2tlU3RtdCBSZXZva2VSb2xlU3Rt dAogCQlSdWxlQWN0aW9uU3RtdCBSdWxlQWN0aW9uU3RtdE9yRW1wdHkgUnVsZVN0bXQKQEAgLTc0 Nyw3ICs3NDcsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAq cmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCUtFRVAgS0VZIEtFWVMKIAog CUxBQkVMIExBTkdVQUdFIExBUkdFX1AgTEFTVF9QIExBVEVSQUxfUAotCUxFQURJTkcgTEVBS1BS T09GIExFQVNUIExFRlQgTEVWRUwgTElLRSBMSU1JVCBMSVNURU4gTE9BRCBMT0NBTAorCUxFQURJ TkcgTEVBS1BST09GIExFQVNUIExFVCBMRUZUIExFVkVMIExJS0UgTElNSVQgTElTVEVOIExPQUQg TE9DQUwKIAlMT0NBTFRJTUUgTE9DQUxUSU1FU1RBTVAgTE9DQVRJT04gTE9DS19QIExPQ0tFRCBM T0dHRUQgTFNOX1AKIAogCU1BUFBJTkcgTUFUQ0ggTUFUQ0hFRCBNQVRFUklBTElaRUQgTUFYVkFM VUUgTUVSR0UgTUVSR0VfQUNUSU9OIE1FVEhPRApAQCAtMTA5NSw2ICsxMDk1LDcgQEAgc3RtdDoK IAkJCXwgSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQKIAkJCXwgSW5kZXhTdG10CiAJCQl8IEluc2Vy dFN0bXQKKwkJCXwgTGV0U3RtdAogCQkJfCBMaXN0ZW5TdG10CiAJCQl8IFJlZnJlc2hNYXRWaWV3 U3RtdAogCQkJfCBMb2FkU3RtdApAQCAtMTI5MzIsNiArMTI5MzMsMzcgQEAgb3B0X2hvbGQ6IC8q IEVNUFRZICovCQkJCQkJeyAkJCA9IDA7IH0KIAkJCXwgV0lUSE9VVCBIT0xECQkJCQl7ICQkID0g MDsgfQogCQk7CiAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqCQlRVUVSWToKKyAqCQkJ CUxFVCBTVEFURU1FTlQKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitMZXRTdG10OglMRVQg Q29sSWQgJz0nIGFfZXhwcgorCQkJCXsKKwkJCQkJTGV0U3RtdAkgICAqbiA9IG1ha2VOb2RlKExl dFN0bXQpOworCQkJCQlTZWxlY3RTdG10ICpzZWxlY3Q7CisJCQkJCVJlc1RhcmdldCAgKnJlczsK KworCQkJCQluLT50YXJnZXQgPSAkMjsKKworCQkJCQlzZWxlY3QgPSBtYWtlTm9kZShTZWxlY3RT dG10KTsKKwkJCQkJcmVzID0gbWFrZU5vZGUoUmVzVGFyZ2V0KTsKKworCQkJCQkvKiBjcmVhdGUg dGFyZ2V0IGxpc3QgZm9yIGltcGxpY2l0IHF1ZXJ5ICovCisJCQkJCXJlcy0+bmFtZSA9IE5VTEw7 CisJCQkJCXJlcy0+aW5kaXJlY3Rpb24gPSBOSUw7CisJCQkJCXJlcy0+dmFsID0gKE5vZGUgKikg JDQ7CisJCQkJCXJlcy0+bG9jYXRpb24gPSBANDsKKworCQkJCQlzZWxlY3QtPnRhcmdldExpc3Qg PSBsaXN0X21ha2UxKHJlcyk7CisJCQkJCW4tPnF1ZXJ5ID0gKE5vZGUgKikgc2VsZWN0OworCisJ CQkJCW4tPmxvY2F0aW9uID0gQDI7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CisJCTsK KwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAgKgogICoJCVFVRVJZOgpAQCAtMTgwMzcsNiArMTgw NjksNyBAQCB1bnJlc2VydmVkX2tleXdvcmQ6CiAJCQl8IExBUkdFX1AKIAkJCXwgTEFTVF9QCiAJ CQl8IExFQUtQUk9PRgorCQkJfCBMRVQKIAkJCXwgTEVWRUwKIAkJCXwgTElTVEVOCiAJCQl8IExP QUQKQEAgLTE4NjUzLDYgKzE4Njg2LDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJfCBMRUFL UFJPT0YKIAkJCXwgTEVBU1QKIAkJCXwgTEVGVAorCQkJfCBMRVQKIAkJCXwgTEVWRUwKIAkJCXwg TElLRQogCQkJfCBMSVNURU4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9h Z2cuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwppbmRleCBiODM0MDU1N2IzNC4u YTliZDRlNjgxNTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwor KysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKQEAgLTU4NCw2ICs1ODQsMTAgQEAg Y2hlY2tfYWdnbGV2ZWxzX2FuZF9jb25zdHJhaW50cyhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUg KmV4cHIpCiAJCQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOwogCisJCWNhc2UgRVhQUl9LSU5E X0xFVF9UQVJHRVQ6CisJCQllcnJraW5kID0gdHJ1ZTsKKwkJCWJyZWFrOworCiAJCQkvKgogCQkJ ICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQg dGhlCiAJCQkgKiBjb21waWxlciB3aWxsIHdhcm4gaWYgd2UgYWRkIGEgbmV3IFBhcnNlRXhwcktp bmQgd2l0aG91dApAQCAtMTAyMyw2ICsxMDI3LDkgQEAgdHJhbnNmb3JtV2luZG93RnVuY0NhbGwo UGFyc2VTdGF0ZSAqcHN0YXRlLCBXaW5kb3dGdW5jICp3ZnVuYywKIAkJY2FzZSBFWFBSX0tJTkRf Q1lDTEVfTUFSSzoKIAkJCWVycmtpbmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9L SU5EX0xFVF9UQVJHRVQ6CisJCQllcnJraW5kID0gdHJ1ZTsKKwkJCWJyZWFrOwogCiAJCQkvKgog CQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRo YXQgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwppbmRleCBhYTI0ODNjOTZhNi4uYmM2YWFiNzVj Y2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwpAQCAtNTkxLDYgKzU5MSw5IEBAIHRyYW5zZm9y bUNvbHVtblJlZihQYXJzZVN0YXRlICpwc3RhdGUsIENvbHVtblJlZiAqY3JlZikKIAkJY2FzZSBF WFBSX0tJTkRfUEFSVElUSU9OX0JPVU5EOgogCQkJZXJyID0gXygiY2Fubm90IHVzZSBjb2x1bW4g cmVmZXJlbmNlIGluIHBhcnRpdGlvbiBib3VuZCBleHByZXNzaW9uIik7CiAJCQlicmVhazsKKwkJ Y2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVyciA9IF8oImNhbm5vdCB1c2UgY29sdW1u IHJlZmVyZW5jZSBhcyB0YXJnZXQgb2YgTEVUIGNvbW1hbmQiKTsKKwkJCWJyZWFrOwogCiAJCQkv KgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNv IHRoYXQgdGhlCkBAIC05NjEsNiArOTY0LDcgQEAgZXhwcl9raW5kX2FsbG93c19zZXNzaW9uX3Zh cmlhYmxlcyhQYXJzZUV4cHJLaW5kIHBfZXhwcl9raW5kKQogCQljYXNlIEVYUFJfS0lORF9SRVRV Uk5JTkc6CiAJCWNhc2UgRVhQUl9LSU5EX1ZBTFVFUzoKIAkJY2FzZSBFWFBSX0tJTkRfVkFMVUVT X1NJTkdMRToKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKIAkJCXJlc3VsdCA9IHRydWU7 CiAJCQlicmVhazsKIApAQCAtMTk4MCw2ICsxOTg0LDkgQEAgdHJhbnNmb3JtU3ViTGluayhQYXJz ZVN0YXRlICpwc3RhdGUsIFN1YkxpbmsgKnN1YmxpbmspCiAJCWNhc2UgRVhQUl9LSU5EX0dFTkVS QVRFRF9DT0xVTU46CiAJCQllcnIgPSBfKCJjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIGNvbHVtbiBn ZW5lcmF0aW9uIGV4cHJlc3Npb24iKTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9MRVRf VEFSR0VUOgorCQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBhcyBhIHRhcmdldCBvZiBM RVQgY29tbWFuZCIpOworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRp b25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKQEAgLTMzMzksNiArMzM0 Niw4IEBAIFBhcnNlRXhwcktpbmROYW1lKFBhcnNlRXhwcktpbmQgZXhwcktpbmQpCiAJCQlyZXR1 cm4gIkdFTkVSQVRFRCBBUyI7CiAJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJCQlyZXR1 cm4gIkNZQ0xFIjsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCXJldHVybiAiTEVU IjsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2Fz ZSBoZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X2Z1bmMuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMKaW5kZXggNzc4ZDY5YzZm M2MuLjEzNjE2YzliM2MyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZnVu Yy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMKQEAgLTI3ODMsNiArMjc4 Myw5IEBAIGNoZWNrX3NyZl9jYWxsX3BsYWNlbWVudChQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUg Kmxhc3Rfc3JmLCBpbnQgbG9jYXRpb24pCiAJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJ CQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VU OgorCQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlz IGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxp dHkuYwppbmRleCA3ZGM5YzBhNmM4MC4uM2YxYzhjYjVlODkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC0y MzcsNiArMjM3LDcgQEAgQ2xhc3NpZnlVdGlsaXR5Q29tbWFuZEFzUmVhZE9ubHkoTm9kZSAqcGFy c2V0cmVlKQogCiAJCWNhc2UgVF9DYWxsU3RtdDoKIAkJY2FzZSBUX0RvU3RtdDoKKwkJY2FzZSBU X0xldFN0bXQ6CiAJCQl7CiAJCQkJLyoKIAkJCQkgKiBDb21tYW5kcyBpbnNpZGUgdGhlIERPIGJs b2NrIG9yIHRoZSBjYWxsZWQgcHJvY2VkdXJlIG1pZ2h0CkBAIC0xMDc1LDYgKzEwNzYsMTEgQEAg c3RhbmRhcmRfUHJvY2Vzc1V0aWxpdHkoUGxhbm5lZFN0bXQgKnBzdG10LAogCQkJRHJvcFZhcmlh YmxlQnlOYW1lKCgoRHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSktPm5hbWUpOwogCQkJ YnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlFeGVjdXRlTGV0U3RtdChwc3RhdGUsIChM ZXRTdG10ICopIHBhcnNldHJlZSwgcGFyYW1zLAorCQkJCQkJICAgcXVlcnlFbnYsIHFjKTsKKwkJ CWJyZWFrOworCiAJCWRlZmF1bHQ6CiAJCQkvKiBBbGwgb3RoZXIgc3RhdGVtZW50IHR5cGVzIGhh dmUgZXZlbnQgdHJpZ2dlciBzdXBwb3J0ICovCiAJCQlQcm9jZXNzVXRpbGl0eVNsb3cocHN0YXRl LCBwc3RtdCwgcXVlcnlTdHJpbmcsCkBAIC0yMjE5LDYgKzIyMjUsMTAgQEAgVXRpbGl0eUNvbnRh aW5zUXVlcnkoTm9kZSAqcGFyc2V0cmVlKQogCQkJCXJldHVybiBVdGlsaXR5Q29udGFpbnNRdWVy eShxcnktPnV0aWxpdHlTdG10KTsKIAkJCXJldHVybiBxcnk7CiAKKwkJY2FzZSBUX0xldFN0bXQ6 CisJCQlxcnkgPSBjYXN0Tm9kZShRdWVyeSwgKChMZXRTdG10ICopIHBhcnNldHJlZSktPnF1ZXJ5 KTsKKwkJCXJldHVybiBxcnk7CisKIAkJZGVmYXVsdDoKIAkJCXJldHVybiBOVUxMOwogCX0KQEAg LTI0MTQsNiArMjQyNCwxMCBAQCBDcmVhdGVDb21tYW5kVGFnKE5vZGUgKnBhcnNldHJlZSkKIAkJ CXRhZyA9IENNRFRBR19TRUxFQ1Q7CiAJCQlicmVhazsKIAorCQljYXNlIFRfTGV0U3RtdDoKKwkJ CXRhZyA9IENNRFRBR19MRVQ7CisJCQlicmVhazsKKwogCQkJLyogdXRpbGl0eSBzdGF0ZW1lbnRz IC0tLSBzYW1lIHdoZXRoZXIgcmF3IG9yIGNvb2tlZCAqLwogCQljYXNlIFRfVHJhbnNhY3Rpb25T dG10OgogCQkJewpAQCAtMzMwNCw2ICszMzE4LDcgQEAgR2V0Q29tbWFuZExvZ0xldmVsKE5vZGUg KnBhcnNldHJlZSkKIAkJCWJyZWFrOwogCiAJCWNhc2UgVF9QTEFzc2lnblN0bXQ6CisJCWNhc2Ug VF9MZXRTdG10OgogCQkJbGV2ID0gTE9HU1RNVF9BTEw7CiAJCQlicmVhazsKIApkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21w bGV0ZS5pbi5jCmluZGV4IDAyMmI5ZGY0MDVhLi40NDUxOTU5YjgxZSAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuaW4uYwpAQCAtMTI2NSw4ICsxMjY1LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHNx bF9jb21tYW5kc1tdID0gewogCSJBQk9SVCIsICJBTFRFUiIsICJBTkFMWVpFIiwgIkJFR0lOIiwg IkNBTEwiLCAiQ0hFQ0tQT0lOVCIsICJDTE9TRSIsICJDTFVTVEVSIiwKIAkiQ09NTUVOVCIsICJD T01NSVQiLCAiQ09QWSIsICJDUkVBVEUiLCAiREVBTExPQ0FURSIsICJERUNMQVJFIiwKIAkiREVM RVRFIEZST00iLCAiRElTQ0FSRCIsICJETyIsICJEUk9QIiwgIkVORCIsICJFWEVDVVRFIiwgIkVY UExBSU4iLAotCSJGRVRDSCIsICJHUkFOVCIsICJJTVBPUlQgRk9SRUlHTiBTQ0hFTUEiLCAiSU5T RVJUIElOVE8iLCAiTElTVEVOIiwgIkxPQUQiLCAiTE9DSyIsCi0JIk1FUkdFIElOVE8iLCAiTU9W RSIsICJOT1RJRlkiLCAiUFJFUEFSRSIsCisJIkZFVENIIiwgIkdSQU5UIiwgIklNUE9SVCBGT1JF SUdOIFNDSEVNQSIsICJJTlNFUlQgSU5UTyIsICJMRVQiLAorCSJMSVNURU4iLCAiTE9BRCIsICJM T0NLIiwgIk1FUkdFIElOVE8iLCAiTU9WRSIsICJOT1RJRlkiLCAiUFJFUEFSRSIsCiAJIlJFQVNT SUdOIiwgIlJFRlJFU0ggTUFURVJJQUxJWkVEIFZJRVciLCAiUkVJTkRFWCIsICJSRUxFQVNFIiwK IAkiUkVTRVQiLCAiUkVWT0tFIiwgIlJPTExCQUNLIiwKIAkiU0FWRVBPSU5UIiwgIlNFQ1VSSVRZ IExBQkVMIiwgIlNFTEVDVCIsICJTRVQiLCAiU0hPVyIsICJTVEFSVCIsCkBAIC00Nzk4LDYgKzQ3 OTgsMTEgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5faWQsCiAJZWxzZSBpZiAo VGFpbE1hdGNoZXMoIlZBTFVFUyIpICYmICFUYWlsTWF0Y2hlcygiREVGQVVMVCIsICJWQUxVRVMi KSkKIAkJQ09NUExFVEVfV0lUSCgiKCIpOwogCisvKiBMRVQgKi8KKwkvKiBDb21wbGV0ZSBMRVQg PHZhcmlhYmxlPiB3aXRoICI9IiAqLworCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJMRVQiLCBNYXRj aEFueSkpCisJCUNPTVBMRVRFX1dJVEgoIj0iKTsKKwogLyogTE9DSyAqLwogCS8qIENvbXBsZXRl IExPQ0sgW1RBQkxFXSBbT05MWV0gd2l0aCBhIGxpc3Qgb2YgdGFibGVzICovCiAJZWxzZSBpZiAo TWF0Y2hlcygiTE9DSyIpKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IDYxMGI3NTc4OTllLi5jNGI0ZDllNjgzMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMTYsOCArMTYsMTAgQEAKICNkZWZpbmUgU0VTU0lPTlZBUklBQkxF X0gKIAogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgIm5vZGVz L3BhcmFtcy5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9ub2RlLmgiCiAjaW5jbHVkZSAibm9k ZXMvcGFyc2Vub2Rlcy5oIgorI2luY2x1ZGUgInRjb3AvY21kdGFnLmgiCiAKIGV4dGVybiB2b2lk IENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQg KnN0bXQpOwogZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpOwpA QCAtMzIsNCArMzQsNyBAQCBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5 cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJCQlpbnQzMiAqdHlwbW9kLAog CQkJCQkJCQkJCQkJCU9pZCAqY29sbGlkKTsKIAorZXh0ZXJuIHZvaWQgRXhlY3V0ZUxldFN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10LCBQYXJhbUxpc3RJbmZvIHBhcmFtcywK KwkJCQkJCSAgIFF1ZXJ5RW52aXJvbm1lbnQgKnF1ZXJ5RW52LCBRdWVyeUNvbXBsZXRpb24gKnFj KTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKaW5kZXggNDg3NDY0YjE0YjEuLjNkZWNj NjM5ZDgxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIv c3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0xNDcsNiArMTQ3LDkgQEAgdHlwZWRl ZiBzdHJ1Y3QgUXVlcnkKIAkgKi8KIAlpbnQJCQlyZXN1bHRSZWxhdGlvbiBwZ19ub2RlX2F0dHIo cXVlcnlfanVtYmxlX2lnbm9yZSk7CiAKKwkvKiB0YXJnZXQgdmFyaWFibGUgb2YgTEVUIHN0YXRl bWVudCAqLworCWNoYXIJICAgKnJlc3VsdFZhcmlhYmxlOworCiAJLyogaGFzIGFnZ3JlZ2F0ZXMg aW4gdGxpc3Qgb3IgaGF2aW5nUXVhbCAqLwogCWJvb2wJCWhhc0FnZ3MgcGdfbm9kZV9hdHRyKHF1 ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCS8qIGhhcyB3aW5kb3cgZnVuY3Rpb25zIGluIHRsaXN0ICov CkBAIC0yMTcwLDYgKzIxNzMsMTggQEAgdHlwZWRlZiBzdHJ1Y3QgTWVyZ2VTdG10CiAJV2l0aENs YXVzZSAqd2l0aENsYXVzZTsJCS8qIFdJVEggY2xhdXNlICovCiB9IE1lcmdlU3RtdDsKIAorLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoJCUxldCBTdGF0ZW1lbnQKKyAqIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTGV0U3RtdAoreworCU5vZGVUYWcJCXR5 cGU7CisJY2hhcgkgICAqdGFyZ2V0OwkJCS8qIHRhcmdldCB2YXJpYWJsZSAqLworCU5vZGUJICAg KnF1ZXJ5OwkJCS8qIHNvdXJjZSBleHByZXNzaW9uICovCisJUGFyc2VMb2MJbG9jYXRpb247Cit9 IExldFN0bXQ7CisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlTZWxlY3QgU3RhdGVt ZW50CiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggYi9zcmMv aW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAppbmRleCA5N2EwMGRmOGQxZi4uNGFhMGEwN2Y0NGEg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCisrKyBiL3NyYy9pbmNs dWRlL25vZGVzL3BhdGhub2Rlcy5oCkBAIC0xOTIsNiArMTkyLDkgQEAgdHlwZWRlZiBzdHJ1Y3Qg UGxhbm5lckdsb2JhbAogCiAJLyogbGlzdCBvZiB1c2VkIHNlc3Npb24gdmFyaWFibGVzICovCiAJ TGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKKworCS8qIG5hbWUgb2Ygc2Vzc2lvbiB2YXJpYWJs ZSB1c2VkIGxpa2UgdGFyZ2V0IG9mIExFVCBjb21tYW5kICovCisJY2hhcgkgICAqcmVzdWx0VmFy aWFibGU7CiB9IFBsYW5uZXJHbG9iYWw7CiAKIC8qIG1hY3JvIGZvciBmZXRjaGluZyB0aGUgUGxh biBhc3NvY2lhdGVkIHdpdGggYSBTdWJQbGFuIG5vZGUgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL3BhcnNlci9rd2xpc3QuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAppbmRleCA4 YjFmMmJkM2I2OC4uMjE4MTkyNzY4MmMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9r d2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKQEAgLTI1OCw2ICsyNTgs NyBAQCBQR19LRVlXT1JEKCJsZWFkaW5nIiwgTEVBRElORywgUkVTRVJWRURfS0VZV09SRCwgQkFS RV9MQUJFTCkKIFBHX0tFWVdPUkQoImxlYWtwcm9vZiIsIExFQUtQUk9PRiwgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGVhc3QiLCBMRUFTVCwgQ09MX05BTUVf S0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImxlZnQiLCBMRUZULCBUWVBFX0ZVTkNf TkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgibGV0IiwgTEVULCBVTlJFU0VS VkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsZXZlbCIsIExFVkVMLCBVTlJF U0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsaWtlIiwgTElLRSwgVFlQ RV9GVU5DX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImxpbWl0IiwgTElN SVQsIFJFU0VSVkVEX0tFWVdPUkQsIEFTX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv cGFyc2VyL3BhcnNlX25vZGUuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKaW5k ZXggODRlODg2OTQwZDguLjAyNjc0M2I3MzM3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJz ZXIvcGFyc2Vfbm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKQEAg LTgyLDYgKzgyLDcgQEAgdHlwZWRlZiBlbnVtIFBhcnNlRXhwcktpbmQKIAlFWFBSX0tJTkRfQ09Q WV9XSEVSRSwJCS8qIFdIRVJFIGNvbmRpdGlvbiBpbiBDT1BZIEZST00gKi8KIAlFWFBSX0tJTkRf R0VORVJBVEVEX0NPTFVNTiwgLyogZ2VuZXJhdGlvbiBleHByZXNzaW9uIGZvciBhIGNvbHVtbiAq LwogCUVYUFJfS0lORF9DWUNMRV9NQVJLLAkJLyogY3ljbGUgbWFyayB2YWx1ZSAqLworCUVYUFJf S0lORF9MRVRfVEFSR0VULAkJLyogb25seSBzZXNzaW9uIHZhcmlhYmxlcyAqLwogfSBQYXJzZUV4 cHJLaW5kOwogCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oIGIv c3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKaW5kZXggN2U1OWQwYTUyNzUuLmZkMjEyMjU3 MTY3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAorKysgYi9zcmMv aW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaApAQCAtMTg1LDYgKzE4NSw3IEBAIFBHX0NNRFRBRyhD TURUQUdfR1JBTlQsICJHUkFOVCIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfR1JBTlRfUk9MRSwgIkdSQU5UIFJPTEUiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01E VEFHKENNRFRBR19JTVBPUlRfRk9SRUlHTl9TQ0hFTUEsICJJTVBPUlQgRk9SRUlHTiBTQ0hFTUEi LCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0lOU0VSVCwgIklOU0VSVCIs IGZhbHNlLCBmYWxzZSwgdHJ1ZSkKK1BHX0NNRFRBRyhDTURUQUdfTEVULCAiTEVUIiwgZmFsc2Us IGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfTElTVEVOLCAiTElTVEVOIiwgZmFsc2Us IGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfTE9BRCwgIkxPQUQiLCBmYWxzZSwgZmFs c2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19MT0NLX1RBQkxFLCAiTE9DSyBUQUJMRSIsIGZh bHNlLCBmYWxzZSwgZmFsc2UpCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nl c3Npb25fdmFyaWFibGVzX2RtbC5vdXQKaW5kZXggMDFlZmE3MWM4ZjAuLjc5YTA2MmY2ZWZhIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19k bWwub3V0CkBAIC0xMzMsMyArMTMzLDEyNiBAQCBSRVNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nh bl9zaXplOwogUkVTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlcjsKIERST1AgVEFC TEUgdGVzdHZhcl90ZXN0dGFiOwogRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOworQ1JFQVRFIFRF TVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworLS0gTEVUIHN0bXQgaXMgbm90IGFs bG93ZWQgaW5zaWRlIENURQorV0lUSCB4IEFTIChMRVQgIHRlbXBfdmFyMDMgPSAzLjE0KSBTRUxF Q1QgKiBGUk9NIHg7CitFUlJPUjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICJMRVQiCitMSU5F IDE6IFdJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VMRUNUICogRlJPTSB4Owor ICAgICAgICAgICAgICAgICAgIF4KKy0tIExFVCBzdG10IHJlcXVpcmVzIHJlc3VsdCB3aXRoIGV4 YWN0bHkgb25lIHJvdworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMoMSwxKTsKK1NF TEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyB0ZW1wX3ZhcjAzIAorLS0tLS0tLS0tLS0tCisg ICAgICAgICAgMQorKDEgcm93KQorCistLSBzaG91bGQgZmFpbAorTEVUIHRlbXBfdmFyMDMgPSBn ZW5lcmF0ZV9zZXJpZXMoMSwyKTsKK0VSUk9SOiAgZXhwcmVzc2lvbiByZXR1cm5lZCBtb3JlIHRo YW4gb25lIHJvdworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMoMSwwKTsKK0VSUk9S OiAgZXhwcmVzc2lvbiByZXR1cm5lZCBubyByb3dzCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElP TiB0ZXN0dmFyX3NxbDAxKG51bWVyaWMpCitSRVRVUk5TIHZvaWQgQVMgJCQKK0xFVCB0ZW1wX3Zh cjAzID0gJDE7CiskJCBMQU5HVUFHRSBzcWw7CitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0 ZXN0dmFyX3NxbDAyKCkKK1JFVFVSTlMgbnVtZXJpYyBBUyAkJAorU0VMRUNUIFZBUklBQkxFKHRl bXBfdmFyMDMpOworJCQgTEFOR1VBR0Ugc3FsOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7 CisgdGVzdHZhcl9zcWwwMSAKKy0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1Qg dGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyB0ZXN0dmFyX3NxbDAyIHwg dGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyAgICAgICAgICAzLjE0 IHwgICAgICAgMy4xNAorKDEgcm93KQorCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0 dmFyX3BsKHZhcmNoYXIpCitSRVRVUk5TIHZhcmNoYXIgQVMgJCQKK0JFR0lOCisgIExFVCB0ZW1w X3ZhcjAzID0gJDE6Om51bWVyaWM7CisgIFJFVFVSTiBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VO RAorJCQgTEFOR1VBR0UgcGxwZ3NxbCBTRUNVUklUWSBERUZJTkVSOworU0VMRUNUIHRlc3R2YXJf cGwoJzMuMTQnKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNAorKDEgcm93KQor CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CitTRVQgcGxhbl9jYWNoZV9tb2RlIHRvIGZvcmNl X2dlbmVyaWNfcGxhbjsKKy0tIHNob3VsZCBub3QgY3Jhc2gKK1NFTEVDVCB0ZXN0dmFyX3NxbDAx KDMuMTQpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlICJ0ZW1wX3ZhcjAzIiBkb2Vzbid0IGV4 aXN0CitDT05URVhUOiAgU1FMIGZ1bmN0aW9uICJ0ZXN0dmFyX3NxbDAxIiBkdXJpbmcgaW5saW5p bmcKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxFKHRlbXBfdmFyMDMpOworRVJST1I6 ICBzZXNzaW9uIHZhcmlhYmxlICJ0ZW1wX3ZhcjAzIiBkb2Vzbid0IGV4aXN0CitTRUxFQ1QgdGVz dHZhcl9wbCgnMy4xNDE1OTInKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIw MyIgZG9lc24ndCBleGlzdAorQ09OVEVYVDogIFNRTCBzdGF0ZW1lbnQgIkxFVCB0ZW1wX3ZhcjAz ID0gJDE6Om51bWVyaWMiCitQTC9wZ1NRTCBmdW5jdGlvbiB0ZXN0dmFyX3BsKGNoYXJhY3RlciB2 YXJ5aW5nKSBsaW5lIDMgYXQgU1FMIHN0YXRlbWVudAorLS0gY2FuIHdvcmsgYWdhaW4gaWYgd2Ug Y3JlYXRlIHZhcmlhYmxlCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAzIEFTIG51bWVy aWM7CitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKKyB0ZXN0dmFyX3NxbDAxIAorLS0tLS0t LS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxF KHRlbXBfdmFyMDMpOworIHRlc3R2YXJfc3FsMDIgfCB0ZW1wX3ZhcjAzIAorLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorICAgICAgICAgIDMuMTQgfCAgICAgICAzLjE0CisoMSByb3cpCisK K1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0MTU5MicpOworIHRlc3R2YXJfcGwgCistLS0tLS0tLS0t LS0KKyAzLjE0MTU5MgorKDEgcm93KQorCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFy aWFibGVfdGVzdF9yb2xlXzA0OworU0VUIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rl c3Rfcm9sZV8wNDsKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsK K0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUgdGVtcF92YXIw MworQ09OVEVYVDogIFNRTCBmdW5jdGlvbiAidGVzdHZhcl9zcWwwMSIgc3RhdGVtZW50IDEKKy0t IHNob3VsZCBiZSBvayAoc2VjdXJpdHkgZGVmaW5lcikKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0 MTU5MicpOworIHRlc3R2YXJfcGwgCistLS0tLS0tLS0tLS0KKyAzLjE0MTU5MgorKDEgcm93KQor CitTRVQgUk9MRSBUTyBERUZBVUxUOworRFJPUCBGVU5DVElPTiB0ZXN0dmFyX3NxbDAxKG51bWVy aWMpOworRFJPUCBGVU5DVElPTiB0ZXN0dmFyX3NxbDAyKCk7CitEUk9QIEZVTkNUSU9OIHRlc3R2 YXJfcGwodmFyY2hhcik7CitEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wNDsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMzsKK1NFVCBwbGFuX2NhY2hlX21vZGUg VE8gREVGQVVMVDsKKy0tIHRlc3QgZXh0ZW5kZWQgcXVlcnkgcHJvdG9jb2wKK0NSRUFURSBURU1Q IFZBUklBQkxFIHRlbXBfdmFyMDQgQVMgaW50OworTEVUIHRlbXBfdmFyMDQgPSAkMSBcYmluZCAx MCBcZworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOworIHRlbXBfdmFyMDQgCistLS0tLS0t LS0tLS0KKyAgICAgICAgIDEwCisoMSByb3cpCisKK0xFVCB0ZW1wX3ZhcjA0ID0gJDEgXHBhcnNl IGxldHBzCitcYmluZF9uYW1lZCBsZXRwcyAxMDAgXGcKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3Zh cjA0KTsKKyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAgIDEwMAorKDEgcm93KQor CitcY2xvc2VfcHJlcGFyZWQgbGV0cHMKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwNDsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCmluZGV4IGJmNTZi MTk0NjdiLi5iODQwOGM5N2NhZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZG1sLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kbWwuc3FsCkBAIC0xMTgsMyArMTE4LDkwIEBAIFJFU0VUIG1heF9wYXJhbGxl bF93b3JrZXJzX3Blcl9nYXRoZXI7CiAKIERST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOwogRFJP UCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAz IEFTIG51bWVyaWM7CisKKy0tIExFVCBzdG10IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBDVEUKK1dJ VEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VMRUNUICogRlJPTSB4OworCistLSBM RVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBleGFjdGx5IG9uZSByb3cKK0xFVCB0ZW1wX3Zh cjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMyk7 CisKKy0tIHNob3VsZCBmYWlsCitMRVQgdGVtcF92YXIwMyA9IGdlbmVyYXRlX3NlcmllcygxLDIp OworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMoMSwwKTsKKworQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKQorUkVUVVJOUyB2b2lkIEFTICQk CitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ugc3FsOworCitDUkVBVEUgT1IgUkVQ TEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NxbDAyKCkKK1JFVFVSTlMgbnVtZXJpYyBBUyAkJAorU0VM RUNUIFZBUklBQkxFKHRlbXBfdmFyMDMpOworJCQgTEFOR1VBR0Ugc3FsOworCitTRUxFQ1QgdGVz dHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxFKHRlbXBf dmFyMDMpOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3BsKHZhcmNoYXIp CitSRVRVUk5TIHZhcmNoYXIgQVMgJCQKK0JFR0lOCisgIExFVCB0ZW1wX3ZhcjAzID0gJDE6Om51 bWVyaWM7CisgIFJFVFVSTiBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VORAorJCQgTEFOR1VBR0Ug cGxwZ3NxbCBTRUNVUklUWSBERUZJTkVSOworCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNCcpOwor CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CisKK1NFVCBwbGFuX2NhY2hlX21vZGUgdG8gZm9y Y2VfZ2VuZXJpY19wbGFuOworCistLSBzaG91bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVzdHZhcl9z cWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxFKHRlbXBfdmFyMDMp OworU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQxNTkyJyk7CisKKy0tIGNhbiB3b3JrIGFnYWluIGlm IHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBu dW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitTRUxFQ1QgdGVzdHZhcl9zcWww MigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0MTU5Micp OworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzA0Owor CitTRVQgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzA0OworCistLSBz aG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CisKKy0tIHNob3VsZCBiZSBv ayAoc2VjdXJpdHkgZGVmaW5lcikKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0MTU5MicpOworCitT RVQgUk9MRSBUTyBERUZBVUxUOworCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsMDEobnVtZXJp Yyk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsMDIoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZh cl9wbCh2YXJjaGFyKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0 X3JvbGVfMDQ7CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMzsKKworU0VUIHBsYW5fY2FjaGVf bW9kZSBUTyBERUZBVUxUOworCistLSB0ZXN0IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29sCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKKworTEVUIHRlbXBfdmFyMDQgPSAk MSBcYmluZCAxMCBcZworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOworCitMRVQgdGVtcF92 YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJpbmRfbmFtZWQgbGV0cHMgMTAwIFxnCitTRUxFQ1Qg VkFSSUFCTEUodGVtcF92YXIwNCk7CisKK1xjbG9zZV9wcmVwYXJlZCBsZXRwcworCitEUk9QIFZB UklBQkxFIHRlbXBfdmFyMDQ7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IGM2MjVkMjQy YjIxLi4wZGRkYTVkYzRkMiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTE1NTEsNiAr MTU1MSw3IEBAIExhcmdlT2JqZWN0RGVzYwogTGF0Y2gKIExhdW5jaGVyTGFzdFN0YXJ0VGltZXNF bnRyeQogTGVycEZ1bmMKK0xldFN0bXQKIExleERlc2NyCiBMZXhlbWVFbnRyeQogTGV4ZW1lSGFz aEtleQotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Disposition: attachment; filename="v20251205-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65rq6 RnJvbSAyYzQ5YTVhMWVmMzc3NzkwZGIyOTI0ODkyOGU0MjM4ODZiMDU2N2FhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDIwOjQyOjU2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAzLzldIGNvbGxlY3Qgc2Vzc2lvbiB2YXJpYWJsZXMgdXNlZCBpbiBwbGFuIGFuZCBhc3Np Z24gcGFyYW1pZAoKSW4gdGhlIHBsYW4gc3RhZ2Ugd2UgbmVlZCB0byBjb2xsZWN0IHVzZWQgc2Vz c2lvbiB2YXJpYWJsZXMuIE9uIHRoZQpvcmRlciBvZiB0aGlzIGxpc3QsIHRoZSBwYXJhbSBub2Rl cyBnZXRzIHBhcmFtaWQgKGZpeF9wYXJhbV9ub2RlKS4KVGhpcyBudW1iZXIgaXMgdXNlZCAobGF0 ZXIpIGFzIGluZGV4IHRvIGJ1ZmZlciBvZiB2YWx1ZXMgb2YgdGhlCnVzZWQgc2Vzc2lvbiB2YXJp YWJsZXMuIFRoZSBidWZmZXIgaXMgcHJlcGFyZWQgYW5kIGZpbGxlZCBieSBleGVjdXRvci4KClNv bWUgdW5zdXBwb3J0ZWQgb3B0aW1pemF0aW9ucyBhcmUgZGlzYWJsZWQ6CgoqIHBhcmFsbGVsIGV4 ZWN1dGlvbgoqIHNpbXBsZSBleHByZXNzaW9uIGV4ZWN1dGlvbiBpbiBQTC9wZ1NRTAoqIFNRTCBm dW5jdGlvbnMgaW5saW5pbmcKCkJlZm9yZSBleGVjdXRpb24gb2YgcXVlcnkgd2l0aCBzZXNzaW9u IHZhcmlhYmxlcyB3ZSBuZWVkIHRvIGNvbGxlY3QKdXNlZCBzZXNzaW9uIHZhcmlhYmxlcy4gVGhp cyBsaXN0IGlzIHVzZWQgZm9yIGxvYWRpbmcgdmFyaWFibGVzIHRvCmV4ZWN1dGVkIHF1ZXJ5LgoK cGxhbgotLS0KIGRvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sICAgICAgICAgICAgICAgIHwgIDYg KysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgIHwgMTAgKysrCiBz cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICB8IDM5ICsrKysrKysrKysK IHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgIHwgMTEgKysrCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICB8IDk0ICsrKysrKysrKysrKysr KysrKysrKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYyB8ICAz ICsKIHNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgIHwgMzUgKysrKysr KystCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAgICAgICAgICAgICB8IDEwICsrLQog c3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgfCAgMiArCiBzcmMvaW5j bHVkZS9ub2Rlcy9wYXRobm9kZXMuaCAgICAgICAgICAgICB8ICA1ICsrCiBzcmMvaW5jbHVkZS9u b2Rlcy9wbGFubm9kZXMuaCAgICAgICAgICAgICB8ICAzICsKIHNyYy9pbmNsdWRlL29wdGltaXpl ci9wbGFubWFpbi5oICAgICAgICAgIHwgIDIgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE0IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BhcmFs bGVsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGFyYWxsZWwuc2dtbAppbmRleCBhZjQzNDg0NzAzZS4u ODQzZTJjM2Y2NjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCkBAIC01MjQsNiArNTI0LDEyIEBAIEVYUExBSU4g U0VMRUNUICogRlJPTSBwZ2JlbmNoX2FjY291bnRzIFdIRVJFIGZpbGxlciBMSUtFICcleCUnOwog ICAgICAgICBQbGFuIG5vZGVzIHRoYXQgcmVmZXJlbmNlIGEgY29ycmVsYXRlZCA8bGl0ZXJhbD5T dWJQbGFuPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgorCisgICAg PGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzYWdlIG9mIGEgc2Vzc2lvbiB2YXJp YWJsZS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICA8L2l0ZW1pemVkbGlzdD4K IAogIDxzZWN0MiBpZD0icGFyYWxsZWwtbGFiZWxpbmciPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3ku YwppbmRleCA4ZTcwYTg1YTNmNy4uNTI0NDJjNzQ2YTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5j eS5jCkBAIC0xOTAyLDYgKzE5MDIsMTYgQEAgZmluZF9leHByX3JlZmVyZW5jZXNfd2Fsa2VyKE5v ZGUgKm5vZGUsCiAJewogCQlQYXJhbQkgICAqcGFyYW0gPSAoUGFyYW0gKikgbm9kZTsKIAorCQkv KgorCQkqIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlIHZhcmlhYmxlIGNhbm5vdCBiZSB1 c2VkIGluIHBlcnNpc3RlbnQKKwkJKiBjYXRhbG9nIGJhc2VkIG9iamVjdC4KKwkJKi8KKwkJaWYg KHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpCisJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBlcnJt c2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEgcGVy c2lzdGVudCBvYmplY3QiLAorCQkJCQkJCXBhcmFtLT5wYXJhbXZhcm5hbWUpKSk7CisKIAkJLyog QSBwYXJhbWV0ZXIgbXVzdCBkZXBlbmQgb24gdGhlIHBhcmFtZXRlcidzIGRhdGF0eXBlICovCiAJ CWFkZF9vYmplY3RfYWRkcmVzcyhUeXBlUmVsYXRpb25JZCwgcGFyYW0tPnBhcmFtdHlwZSwgMCwK IAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwppbmRleCAyNDhlMTc4MjIwYi4uNDRhYTlkZDE4OGIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTEzMiw2ICsxMzIsNDUgQEAgZ2V0X3Nlc3Npb25f dmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCiAJKmNvbGxpZCA9IHN2 YXItPnZhcmNvbGxhdGlvbjsKIH0KIAorLyoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWx1 ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSAoaW4gdGhlIGN1cnJlbnQgbWVtb3J5CisgKiBjb250 ZXh0KS4KKyAqLworRGF0dW0KK0dldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAq dmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJCQkJCQkJCWJvb2wg KmlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwlEYXR1bQkJcmVzdWx0OworCisJc3ZhciA9 IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBlICE9IHR5cGlk IHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygic2Vzc2lvbiB2 YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJCQkJCXZhcm5h bWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1vZCksCisJCQkJ CQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+dmFydHlwbW9k KSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJ aWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0Up LAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVz IiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPmlzbnVsbCkKKwkJcmVzdWx0ID0g ZGF0dW1Db3B5KHN2YXItPnZhbHVlLCBzdmFyLT50eXBieXZhbCwgc3Zhci0+dHlwbGVuKTsKKwll bHNlCisJCXJlc3VsdCA9IChEYXR1bSkgMDsKKworCSppc251bGwgPSBzdmFyLT5pc251bGw7CisK KwlyZXR1cm4gcmVzdWx0OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxh bm5lci5jCmluZGV4IDBlNzg2MjhiZjAxLi5jMDAzMzFiZTZiOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc0LDYgKzM3NCw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVl cnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAog CWdsb2ItPmRlcGVuZHNPblJvbGUgPSBmYWxzZTsKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5 ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CisJZ2xvYi0+c2Vz c2lvblZhcmlhYmxlcyA9IE5JTDsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFz aWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKQEAgLTYxNyw2ICs2 MTgsOSBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlf c3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAlyZXN1bHQtPnBhcmFtRXhlY1R5cGVzID0gZ2xv Yi0+cGFyYW1FeGVjVHlwZXM7CiAJLyogdXRpbGl0eVN0bXQgc2hvdWxkIGJlIG51bGwsIGJ1dCB3 ZSBtaWdodCBhcyB3ZWxsIGNvcHkgaXQgKi8KIAlyZXN1bHQtPnV0aWxpdHlTdG10ID0gcGFyc2Ut PnV0aWxpdHlTdG10OworCisJcmVzdWx0LT5zZXNzaW9uVmFyaWFibGVzID0gZ2xvYi0+c2Vzc2lv blZhcmlhYmxlczsKKwogCXJlc3VsdC0+c3RtdF9sb2NhdGlvbiA9IHBhcnNlLT5zdG10X2xvY2F0 aW9uOwogCXJlc3VsdC0+c3RtdF9sZW4gPSBwYXJzZS0+c3RtdF9sZW47CiAKQEAgLTgwNSw2ICs4 MDksMTMgQEAgc3VicXVlcnlfcGxhbm5lcihQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFy c2UsIGNoYXIgKnBsYW5fbmFtZSwKIAkgKi8KIAlwdWxsX3VwX3N1YnF1ZXJpZXMocm9vdCk7CiAK KwkvKgorCSAqIENoZWNrIGlmIHNvbWUgc3VicXVlcnkgdXNlcyBhIHNlc3Npb24gdmFyaWFibGUu ICBUaGUgZmxhZworCSAqIGhhc1Nlc3Npb25WYXJpYWJsZXMgc2hvdWxkIGJlIHRydWUgaWYgdGhl IHF1ZXJ5IG9yIHNvbWUgc3VicXVlcnkgdXNlcyBhCisJICogc2Vzc2lvbiB2YXJpYWJsZS4KKwkg Ki8KKwlwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhyb290KTsKKwogCS8qCiAJICogSWYg dGhpcyBpcyBhIHNpbXBsZSBVTklPTiBBTEwgcXVlcnksIGZsYXR0ZW4gaXQgaW50byBhbiBhcHBl bmRyZWwuIFdlCiAJICogZG8gdGhpcyBub3cgYmVjYXVzZSBpdCByZXF1aXJlcyBhcHBseWluZyBw dWxsX3VwX3N1YnF1ZXJpZXMgdG8gdGhlIGxlYWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJl ZnMuYwppbmRleCBjY2RjOWJjMjY0YS4uNDhkZThiZjRmMTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv cGxhbi9zZXRyZWZzLmMKQEAgLTIxMCw2ICsyMTAsOCBAQCBzdGF0aWMgTGlzdCAqc2V0X3JldHVy bmluZ19jbGF1c2VfcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwKIHN0YXRpYyBMaXN0ICpz ZXRfd2luZG93YWdnX3J1bmNvbmRpdGlvbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAog CQkJCQkJCQkJCQkJICAgTGlzdCAqcnVuY29uZGl0aW9uLAogCQkJCQkJCQkJCQkJICAgUGxhbiAq cGxhbik7CitzdGF0aWMgYm9vbCBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIo Tm9kZSAqbm9kZSwKKwkJCQkJCQkJCQkJCSBQbGFubmVySW5mbyAqcm9vdCk7CiAKIAogLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCkBAIC0xMzQxLDYgKzEzNDMsNTAgQEAgc2V0X3BsYW5fcmVmcyhQbGFu bmVySW5mbyAqcm9vdCwgUGxhbiAqcGxhbiwgaW50IHJ0b2Zmc2V0KQogCXJldHVybiBwbGFuOwog fQogCisvKgorICogU2VhcmNoIHVzYWdlIG9mIHNlc3Npb24gdmFyaWFibGVzIGluIHN1YnF1ZXJp ZXMKKyAqLwordm9pZAorcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXMoUGxhbm5lckluZm8g KnJvb3QpCit7CisJUXVlcnkJICAgKnF1ZXJ5ID0gcm9vdC0+cGFyc2U7CisKKwlpZiAocXVlcnkt Pmhhc1Nlc3Npb25WYXJpYWJsZXMpCisJeworCQlyb290LT5oYXNTZXNzaW9uVmFyaWFibGVzID0g dHJ1ZTsKKwl9CisJZWxzZQorCXsKKwkJKHZvaWQpIHF1ZXJ5X3RyZWVfd2Fsa2VyKHF1ZXJ5LAor CQkJCQkJCQkgcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXNfd2Fsa2VyLAorCQkJCQkJCQkg KHZvaWQgKikgcm9vdCwgMCk7CisJfQorfQorCitzdGF0aWMgYm9vbAorcHVsbF91cF9oYXNfc2Vz c2lvbl92YXJpYWJsZXNfd2Fsa2VyKE5vZGUgKm5vZGUsIFBsYW5uZXJJbmZvICpyb290KQorewor CWlmIChub2RlID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKwlpZiAoSXNBKG5vZGUsIFF1ZXJ5 KSkKKwl7CisJCVF1ZXJ5CSAgICpxdWVyeSA9IChRdWVyeSAqKSBub2RlOworCisJCWlmIChxdWVy eS0+aGFzU2Vzc2lvblZhcmlhYmxlcykKKwkJeworCQkJcm9vdC0+aGFzU2Vzc2lvblZhcmlhYmxl cyA9IHRydWU7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKworCQkvKiByZWN1cnNlIGludG8gc3Vi c2VsZWN0cyAqLworCQlyZXR1cm4gcXVlcnlfdHJlZV93YWxrZXIoKFF1ZXJ5ICopIG5vZGUsCisJ CQkJCQkJCSBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAo dm9pZCAqKSByb290LCAwKTsKKwl9CisJcmV0dXJuIGV4cHJlc3Npb25fdHJlZV93YWxrZXIobm9k ZSwgcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXNfd2Fsa2VyLAorCQkJCQkJCQkgICh2b2lk ICopIHJvb3QpOworfQorCiAvKgogICogc2V0X2luZGV4b25seXNjYW5fcmVmZXJlbmNlcwogICoJ CURvIHNldF9wbGFuX3JlZmVyZW5jZXMgcHJvY2Vzc2luZyBvbiBhbiBJbmRleE9ubHlTY2FuCkBA IC0yMTQxLDYgKzIxODcsMTAgQEAgZml4X2V4cHJfY29tbW9uKFBsYW5uZXJJbmZvICpyb290LCBO b2RlICpub2RlKQogICogSWYgaXQncyBhIFBBUkFNX01VTFRJRVhQUiwgcmVwbGFjZSBpdCB3aXRo IHRoZSBhcHByb3ByaWF0ZSBQYXJhbSBmcm9tCiAgKiByb290LT5tdWx0aWV4cHJfcGFyYW1zOyBv dGhlcndpc2Ugbm8gY2hhbmdlIGlzIG5lZWRlZC4KICAqIEp1c3QgZm9yIHBhcmFub2lhJ3Mgc2Fr ZSwgd2UgbWFrZSBhIGNvcHkgb2YgdGhlIG5vZGUgaW4gZWl0aGVyIGNhc2UuCisgKgorICogSWYg aXQncyBhIFBBUkFNX1ZBUklBQkxFLCB0aGVuIHdlIGNvbGxlY3QgdXNlZCBzZXNzaW9uIHZhcmlh YmxlcyBpbgorICogdGhlIGxpc3Qgcm9vdC0+Z2xvYi0+c2Vzc2lvblZhcmlhYmxlLiAgQWxzbywg YXNzaWduIHRoZSBwYXJhbWV0ZXIncworICogInBhcmFtaWQiIHRvIHRoZSBwYXJhbWV0ZXIncyBw b3NpdGlvbiBpbiB0aGF0IGxpc3QuCiAgKi8KIHN0YXRpYyBOb2RlICoKIGZpeF9wYXJhbV9ub2Rl KFBsYW5uZXJJbmZvICpyb290LCBQYXJhbSAqcCkKQEAgLTIxNTksNiArMjIwOSw0MyBAQCBmaXhf cGFyYW1fbm9kZShQbGFubmVySW5mbyAqcm9vdCwgUGFyYW0gKnApCiAJCQllbG9nKEVSUk9SLCAi dW5leHBlY3RlZCBQQVJBTV9NVUxUSUVYUFIgSUQ6ICVkIiwgcC0+cGFyYW1pZCk7CiAJCXJldHVy biBjb3B5T2JqZWN0KGxpc3RfbnRoKHBhcmFtcywgY29sbm8gLSAxKSk7CiAJfQorCisJaWYgKHAt PnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSkKKwl7CisJCWludAkJCW4gPSAwOworCisJCS8q IHdlIHdpbGwgbW9kaWZ5IG9iamVjdCAqLworCQlwID0gKFBhcmFtICopIGNvcHlPYmplY3QocCk7 CisKKwkJLyoKKwkJICogTm93LCB3ZSBjYW4gYWN0dWFsaXplIGxpc3Qgb2Ygc2Vzc2lvbiB2YXJp YWJsZXMsIGFuZCB3ZSBjYW4KKwkJICogY29tcGxldGUgcGFyYW1pZCBwYXJhbWV0ZXIuCisJCSAq LworCQlmb3JlYWNoX25vZGUoUGFyYW0sIHBhcmFtdmFyLCByb290LT5nbG9iLT5zZXNzaW9uVmFy aWFibGVzKQorCQl7CisJCQlpZiAoc3RyY21wKHBhcmFtdmFyLT5wYXJhbXZhcm5hbWUsIHAtPnBh cmFtdmFybmFtZSkgPT0gMCkKKwkJCXsKKwkJCQlwLT5wYXJhbWlkID0gcGFyYW12YXItPnBhcmFt aWQ7CisKKwkJCQlyZXR1cm4gKE5vZGUgKikgcDsKKwkJCX0KKworCQkJbiArPSAxOworCQl9CisK KwkJcC0+cGFyYW1pZCA9IG47CisKKwkJLyoKKwkJICogQmVjYXVzZSBzZXNzaW9uIHZhcmlhYmxl cyBhcmUgY2F0YWxvZ2xlc3MsIHdlIGNhbm5vdCB0byB1c2UgcGxhbgorCQkgKiBpbnZhbGlkYXRp b24uIFRoZW4gd2UgbmVlZCB0byBjaGVjayB0eXBlLCB0eXBtb2QsIGNvbGxpZCBhbnkgdGltZSwK KwkJICogd2hlbiB3ZSBsb2FkIHZhbHVlcyBvZiBzZXNzaW9uIHZhcmlhYmxlcyB0byBwYXJhbWV0 ZXIncyBidWZmZXIuCisJCSAqIEZvciB0aGlzIHB1cnBvc2UgaXQgaXMgbW9yZSBlYXN5IHRvIHNh dmUgY29tcGxldGUgUGFyYW0gbm9kZS4KKwkJICovCisJCXJvb3QtPmdsb2ItPnNlc3Npb25WYXJp YWJsZXMgPSBsYXBwZW5kKHJvb3QtPmdsb2ItPnNlc3Npb25WYXJpYWJsZXMsIHApOworCisJCXJl dHVybiAoTm9kZSAqKSBwOworCX0KKwogCXJldHVybiAoTm9kZSAqKSBjb3B5T2JqZWN0KHApOwog fQogCkBAIC0yMjIwLDcgKzIzMDcsOSBAQCBmaXhfYWx0ZXJuYXRpdmVfc3VicGxhbihQbGFubmVy SW5mbyAqcm9vdCwgQWx0ZXJuYXRpdmVTdWJQbGFuICphc3BsYW4sCiAgKiByZXBsYWNpbmcgQWdn cmVmIG5vZGVzIHRoYXQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IGluaXRwbGFuIG91dHB1dCBQYXJh bXMsCiAgKiBjaG9vc2luZyB0aGUgYmVzdCBpbXBsZW1lbnRhdGlvbiBmb3IgQWx0ZXJuYXRpdmVT dWJQbGFucywKICAqIGxvb2tpbmcgdXAgb3BlcmF0b3Igb3Bjb2RlIGluZm8gZm9yIE9wRXhwciBh bmQgcmVsYXRlZCBub2RlcywKLSAqIGFuZCBhZGRpbmcgT0lEcyBmcm9tIHJlZ2NsYXNzIENvbnN0 IG5vZGVzIGludG8gcm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLgorICogYWRkaW5nIE9JRHMgZnJv bSByZWdjbGFzcyBDb25zdCBub2RlcyBpbnRvIHJvb3QtPmdsb2ItPnJlbGF0aW9uT2lkcywKKyAq IGFzc2lnbmluZyBwYXJhbXZhcmlkIHRvIFBBUkFNX1ZBUklBQkxFIHBhcmFtcywgYW5kIGNvbGxl Y3RpbmcgdGhlCisgKiBvZiBzZXNzaW9uIHZhcmlhYmxlcyBpbiB0aGUgcm9vdC0+Z2xvYi0+c2Vz c2lvblZhcmlhYmxlcyBsaXN0LgogICoKICAqICdub2RlJzogdGhlIGV4cHJlc3Npb24gdG8gYmUg bW9kaWZpZWQKICAqICdydG9mZnNldCc6IGhvdyBtdWNoIHRvIGluY3JlbWVudCB2YXJub3MgYnkK QEAgLTIyNDIsNyArMjMzMSw4IEBAIGZpeF9zY2FuX2V4cHIoUGxhbm5lckluZm8gKnJvb3QsIE5v ZGUgKm5vZGUsIGludCBydG9mZnNldCwgZG91YmxlIG51bV9leGVjKQogCQlyb290LT5tdWx0aWV4 cHJfcGFyYW1zICE9IE5JTCB8fAogCQlyb290LT5nbG9iLT5sYXN0UEhJZCAhPSAwIHx8CiAJCXJv b3QtPm1pbm1heF9hZ2dzICE9IE5JTCB8fAotCQlyb290LT5oYXNBbHRlcm5hdGl2ZVN1YlBsYW5z KQorCQlyb290LT5oYXNBbHRlcm5hdGl2ZVN1YlBsYW5zIHx8CisJCXJvb3QtPmhhc1Nlc3Npb25W YXJpYWJsZXMpCiAJewogCQlyZXR1cm4gZml4X3NjYW5fZXhwcl9tdXRhdG9yKG5vZGUsICZjb250 ZXh0KTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9p bnRyZWUuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jCmluZGV4 IDc1ODE2OTU2NDdkLi4yODJiYjdkNWUyNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3ByZXAvcHJlcGpvaW50cmVlLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3ByZXAv cHJlcGpvaW50cmVlLmMKQEAgLTE2NDksNiArMTY0OSw5IEBAIHB1bGxfdXBfc2ltcGxlX3N1YnF1 ZXJ5KFBsYW5uZXJJbmZvICpyb290LCBOb2RlICpqdG5vZGUsIFJhbmdlVGJsRW50cnkgKnJ0ZSwK IAkvKiBJZiBzdWJxdWVyeSBoYWQgYW55IFJMUyBjb25kaXRpb25zLCBub3cgbWFpbiBxdWVyeSBk b2VzIHRvbyAqLwogCXBhcnNlLT5oYXNSb3dTZWN1cml0eSB8PSBzdWJxdWVyeS0+aGFzUm93U2Vj dXJpdHk7CiAKKwkvKiBpZiB0aGUgc3VicXVlcnkgaGFkIHNlc3Npb24gdmFyaWFibGVzLCB0aGUg bWFpbiBxdWVyeSBkb2VzIHRvbyAqLworCXBhcnNlLT5oYXNTZXNzaW9uVmFyaWFibGVzIHw9IHN1 YnF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzOworCiAJLyoKIAkgKiBzdWJxdWVyeSB3b24ndCBi ZSBwdWxsZWQgdXAgaWYgaXQgaGFzQWdncywgaGFzV2luZG93RnVuY3MsIG9yCiAJICogaGFzVGFy Z2V0U1JGcywgc28gbm8gd29yayBuZWVkZWQgb24gdGhvc2UgZmxhZ3MKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci91dGlsL2NsYXVzZXMuYwppbmRleCBiZGE0YzRlYjI5Mi4uYzZhYTA5YThkMzkgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYworKysgYi9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJj YXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZXhlY3V0 b3IvZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgpAQCAtOTQ3LDYgKzk0OCwxMyBA QCBtYXhfcGFyYWxsZWxfaGF6YXJkX3dhbGtlcihOb2RlICpub2RlLCBtYXhfcGFyYWxsZWxfaGF6 YXJkX2NvbnRleHQgKmNvbnRleHQpCiAJCWlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFNX0VY VEVSTikKIAkJCXJldHVybiBmYWxzZTsKIAorCQkvKiB3ZSBkb24ndCBzdXBwb3J0IHBhc3Npbmcg c2Vzc2lvbiB2YXJpYWJsZXMgdG8gd29ya2VycyAqLworCQlpZiAocGFyYW0tPnBhcmFta2luZCA9 PSBQQVJBTV9WQVJJQUJMRSkKKwkJeworCQkJaWYgKG1heF9wYXJhbGxlbF9oYXphcmRfdGVzdChQ Uk9QQVJBTExFTF9SRVNUUklDVEVELCBjb250ZXh0KSkKKwkJCQlyZXR1cm4gdHJ1ZTsKKwkJfQor CiAJCWlmIChwYXJhbS0+cGFyYW1raW5kICE9IFBBUkFNX0VYRUMgfHwKIAkJCSFsaXN0X21lbWJl cl9pbnQoY29udGV4dC0+c2FmZV9wYXJhbV9pZHMsIHBhcmFtLT5wYXJhbWlkKSkKIAkJewpAQCAt MjQwNSw2ICsyNDEzLDcgQEAgY29udmVydF9zYW9wX3RvX2hhc2hlZF9zYW9wX3dhbGtlcihOb2Rl ICpub2RlLCB2b2lkICpjb250ZXh0KQogICoJICB2YWx1ZSBvZiB0aGUgUGFyYW0uCiAgKiAyLiBG b2xkIHN0YWJsZSwgYXMgd2VsbCBhcyBpbW11dGFibGUsIGZ1bmN0aW9ucyB0byBjb25zdGFudHMu CiAgKiAzLiBSZWR1Y2UgUGxhY2VIb2xkZXJWYXIgbm9kZXMgdG8gdGhlaXIgY29udGFpbmVkIGV4 cHJlc3Npb25zLgorICogNC4gQ3VycmVudCB2YWx1ZSBvZiBzZXNzaW9uIHZhcmlhYmxlIGNhbiBi ZSB1c2VkIGZvciBlc3RpbWF0aW9uIHRvby4KICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwog Tm9kZSAqCkBAIC0yNTMxLDYgKzI1NDAsMjkgQEAgZXZhbF9jb25zdF9leHByZXNzaW9uc19tdXRh dG9yKE5vZGUgKm5vZGUsCiAJCQkJCQl9CiAJCQkJCX0KIAkJCQl9CisJCQkJZWxzZSBpZiAocGFy YW0tPnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSAmJgorCQkJCQkJIGNvbnRleHQtPmVzdGlt YXRlKQorCQkJCXsKKwkJCQkJaW50MTYJCXR5cExlbjsKKwkJCQkJYm9vbAkJdHlwQnlWYWw7CisJ CQkJCURhdHVtCQlwdmFsOworCQkJCQlib29sCQlpc251bGw7CisKKwkJCQkJZ2V0X3R5cGxlbmJ5 dmFsKHBhcmFtLT5wYXJhbXR5cGUsICZ0eXBMZW4sICZ0eXBCeVZhbCk7CisKKwkJCQkJcHZhbCA9 IEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2socGFyYW0tPnBhcmFtdmFybmFtZSwKKwkJ CQkJCQkJCQkJCQkJICAgcGFyYW0tPnBhcmFtdHlwZSwKKwkJCQkJCQkJCQkJCQkJICAgcGFyYW0t PnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkJCQkgICAmaXNudWxsKTsKKworCQkJCQlyZXR1cm4g KE5vZGUgKikgbWFrZUNvbnN0KHBhcmFtLT5wYXJhbXR5cGUsCisJCQkJCQkJCQkJCSAgcGFyYW0t PnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkgIHBhcmFtLT5wYXJhbWNvbGxpZCwKKwkJCQkJCQkJ CQkJICAoaW50KSB0eXBMZW4sCisJCQkJCQkJCQkJCSAgcHZhbCwKKwkJCQkJCQkJCQkJICBpc251 bGwsCisJCQkJCQkJCQkJCSAgdHlwQnlWYWwpOworCQkJCX0KIAogCQkJCS8qCiAJCQkJICogTm90 IHJlcGxhY2VhYmxlLCBzbyBqdXN0IGNvcHkgdGhlIFBhcmFtIChubyBuZWVkIHRvCkBAIC00OTAz LDcgKzQ5MzUsOCBAQCBpbmxpbmVfZnVuY3Rpb24oT2lkIGZ1bmNpZCwgT2lkIHJlc3VsdF90eXBl LCBPaWQgcmVzdWx0X2NvbGxpZCwKIAkJcXVlcnl0cmVlLT5saW1pdE9mZnNldCB8fAogCQlxdWVy eXRyZWUtPmxpbWl0Q291bnQgfHwKIAkJcXVlcnl0cmVlLT5zZXRPcGVyYXRpb25zIHx8Ci0JCWxp c3RfbGVuZ3RoKHF1ZXJ5dHJlZS0+dGFyZ2V0TGlzdCkgIT0gMSkKKwkJKGxpc3RfbGVuZ3RoKHF1 ZXJ5dHJlZS0+dGFyZ2V0TGlzdCkgIT0gMSkgfHwKKwkJcXVlcnl0cmVlLT5oYXNTZXNzaW9uVmFy aWFibGVzKQogCQlnb3RvIGZhaWw7CiAKIAkvKiBJZiB0aGUgZnVuY3Rpb24gcmVzdWx0IGlzIGNv bXBvc2l0ZSwgcmVzb2x2ZSBpdCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1n ci9mbWdyLmMgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwppbmRleCAwZmU2M2M2YmI4 My4uZDI2ZTc0NGUyOTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5jCkBAIC0xOTkxLDkgKzE5OTEsMTMg QEAgZ2V0X2NhbGxfZXhwcl9hcmdfc3RhYmxlKE5vZGUgKmV4cHIsIGludCBhcmdudW0pCiAJICov CiAJaWYgKElzQShhcmcsIENvbnN0KSkKIAkJcmV0dXJuIHRydWU7Ci0JaWYgKElzQShhcmcsIFBh cmFtKSAmJgotCQkoKFBhcmFtICopIGFyZyktPnBhcmFta2luZCA9PSBQQVJBTV9FWFRFUk4pCi0J CXJldHVybiB0cnVlOworCWlmIChJc0EoYXJnLCBQYXJhbSkpCisJeworCQlQYXJhbQkgICAqcCA9 IChQYXJhbSAqKSBhcmc7CisKKwkJaWYgKHAtPnBhcmFta2luZCA9PSBQQVJBTV9FWFRFUk4gfHwg cC0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCQkJcmV0dXJuIHRydWU7CisJfQogCiAJ cmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IDk2YmU5NjhjM2Q0Li4zNjg3NDkwYmNiMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMjIsNiArMjIsOCBAQAogZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFi bGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CiBleHRl cm4gdm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSk7CiAKK2V4dGVybiBEYXR1 bSBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBp ZCwgaW50MzIgdHlwbW9kLCBib29sICppc251bGwpOworCiBleHRlcm4gdm9pZCBnZXRfc2Vzc2lv bl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJ CQlPaWQgKnR5cGlkLAogCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2QsCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rl cy5oCmluZGV4IDQ2YTg2NTU2MjFkLi45N2EwMGRmOGQxZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvbm9kZXMvcGF0aG5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgK QEAgLTE4OSw2ICsxODksOSBAQCB0eXBlZGVmIHN0cnVjdCBQbGFubmVyR2xvYmFsCiAJLyogZXh0 ZW5zaW9uIHN0YXRlICovCiAJdm9pZAkgICoqZXh0ZW5zaW9uX3N0YXRlIHBnX25vZGVfYXR0cihy ZWFkX3dyaXRlX2lnbm9yZSk7CiAJaW50CQkJZXh0ZW5zaW9uX3N0YXRlX2FsbG9jYXRlZDsKKwor CS8qIGxpc3Qgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCUxpc3QJICAgKnNlc3Npb25W YXJpYWJsZXM7CiB9IFBsYW5uZXJHbG9iYWw7CiAKIC8qIG1hY3JvIGZvciBmZXRjaGluZyB0aGUg UGxhbiBhc3NvY2lhdGVkIHdpdGggYSBTdWJQbGFuIG5vZGUgKi8KQEAgLTU0Nyw2ICs1NTAsOCBA QCBzdHJ1Y3QgUGxhbm5lckluZm8KIAlib29sCQloYXNSZWN1cnNpb247CiAJLyogdHJ1ZSBpZiBh IHBsYW5uZXIgZXh0ZW5zaW9uIG1heSByZXBsYW4gdGhpcyBzdWJxdWVyeSAqLwogCWJvb2wJCWFz c3VtZVJlcGxhbm5pbmc7CisJLyogdHJ1ZSBpZiBzZXNzaW9uIHZhcmlhYmxlcyB3ZXJlIHVzZWQg Ki8KKwlib29sCQloYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJLyoKIAkgKiBUaGUgcmFuZ2V0YWJs ZSBpbmRleCBmb3IgdGhlIFJURV9HUk9VUCBSVEUsIG9yIDAgaWYgdGhlcmUgaXMgbm8KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMv cGxhbm5vZGVzLmgKaW5kZXggYzQzOTNhOTQzMjEuLjYxNzU0YWU0ZWZjIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFu bm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIHR5cGVkZWYgc3RydWN0IFBsYW5uZWRTdG10CiAJ ICovCiAJTGlzdAkgICAqZXh0ZW5zaW9uX3N0YXRlOwogCisJLyogUEFSQU1fVkFSSUFCTEUgUGFy YW1zICovCisJTGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKKwogCS8qIHN0YXRlbWVudCBsb2Nh dGlvbiBpbiBzb3VyY2Ugc3RyaW5nIChjb3BpZWQgZnJvbSBRdWVyeSkgKi8KIAkvKiBzdGFydCBs b2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLwogCVBhcnNlTG9jCXN0bXRfbG9jYXRpb247CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4uaCBiL3NyYy9pbmNsdWRl L29wdGltaXplci9wbGFubWFpbi5oCmluZGV4IDAwYWRkZjE1OTkyLi5mYjgxY2ViMzc1ZiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgKKysrIGIvc3JjL2luY2x1 ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgKQEAgLTEzMiw0ICsxMzIsNiBAQCBleHRlcm4gdm9pZCBy ZWNvcmRfcGxhbl9mdW5jdGlvbl9kZXBlbmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgZnVu Y2lkKTsKIGV4dGVybiB2b2lkIHJlY29yZF9wbGFuX3R5cGVfZGVwZW5kZW5jeShQbGFubmVySW5m byAqcm9vdCwgT2lkIHR5cGlkKTsKIGV4dGVybiBib29sIGV4dHJhY3RfcXVlcnlfZGVwZW5kZW5j aWVzX3dhbGtlcihOb2RlICpub2RlLCBQbGFubmVySW5mbyAqY29udGV4dCk7CiAKK2V4dGVybiB2 b2lkIHB1bGxfdXBfaGFzX3Nlc3Npb25fdmFyaWFibGVzKFBsYW5uZXJJbmZvICpyb290KTsKKwog I2VuZGlmCQkJCQkJCS8qIFBMQU5NQUlOX0ggKi8KLS0gCjIuNTIuMAoK --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0002-parsing-session-variable-fences.patch" Content-Disposition: attachment; filename="v20251205-0002-parsing-session-variable-fences.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65rz7 RnJvbSBmMTZiZTgyMWFjNzBiMjk2ZDk4MGU5MzI1OWRlOTJhZGYyMmZkYjI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDE1OjI4OjU5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAyLzldIHBhcnNpbmcgc2Vzc2lvbiB2YXJpYWJsZSBmZW5jZXMKClRoZSBzZXNzaW9uIHZh cmlhYmxlcyBjYW4gYmUgdXNlZCBpbiBxdWVyeSBvbmx5IGluc2lkZSB0aGUgdmFyaWFibGUgZmVu Y2UuClRoaXMgaXMgc3BlY2lhbCBzeW50YXggVkFSSUFCTEUodmFybmFtZSksIHRoYXQgZWxpbWlu YXRlcyBhIHJpc2sgb2YKY29sbGlzaW9uIGJldHdlZW4gdmFyaWFibGUgYW5kIGNvbHVtbiBpZGVu dGlmaWVyLgoKVGhlIHNlc3Npb24gdmFyaWFibGVzIGNhbm5vdCBiZSB1c2VkIGFzIHBhcmFtZXRl cnMgb2YgQ0FMTCBvciBFWEVDVVRFCmNvbW1hbmRzLiBUaGVzZSBjb21tYW5kcyBldmFsdWF0ZXMg YXJndW1lbnRzIGJ5IGRpcmVjdCBjYWxsIG9mIGV4cHJlc3Npb24KZXhlY3V0b3IsIGFuZCBkaXJl Y3QgYWNjZXNzIHRvIHNlc3Npb24gdmFyaWFibGVzIGZyb20gZXhwcmVzc2lvbiBleGVjdXRvcgp3 aWxsIGJlIGltcGxlbWVudGVkIGxhdGVyIChpbiBuZXh0IHN0ZXApCi0tLQogZG9jL3NyYy9zZ21s L2RkbC5zZ21sICAgICAgICAgICAgICAgICAgIHwgIDExICsrKwogc3JjL2JhY2tlbmQvY29tbWFu ZHMvcHJlcGFyZS5jICAgICAgICAgIHwgICA4ICsrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMgfCAgMjEgKysrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5j ICAgICAgICAgICB8ICAgNiArKwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAg ICAgIHwgICA3ICsrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgfCAg MTcgKysrLQogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgIHwgMTE5ICsr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYyAgICAgICB8 ICAgNyArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jICAgICAgIHwgICA4ICsr CiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggfCAgIDUgKwogc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICAgIHwgIDEyICsrKwogc3JjL2luY2x1ZGUv bm9kZXMvcHJpbW5vZGVzLmggICAgICAgICAgIHwgICA1ICsKIHNyYy9pbmNsdWRlL3BhcnNlci9w YXJzZV9ub2RlLmggICAgICAgICB8ICAgMSArCiBzcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5j ICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAg ICAgICB8ICAgMSArCiAxNiBmaWxlcyBjaGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvZGRsLnNnbWwKaW5kZXggMTBmMWEwMGMyNzUuLjE1MGIwNGYxZDRiIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01Njc2 LDYgKzU2NzYsMTcgQEAgRVhQTEFJTiBTRUxFQ1QgY291bnQoKikgRlJPTSBtZWFzdXJlbWVudCBX SEVSRSBsb2dkYXRlICZndDs9IERBVEUgJzIwMDgtMDEtMDEnOwogICAgIFRoZSBzZXNzaW9uIHZh cmlhYmxlIGhvbGRzIHZhbHVlIGluIHNlc3Npb24gbWVtb3J5LiAgVGhpcyB2YWx1ZSBpcyBwcml2 YXRlCiAgICAgdG8gZWFjaCBzZXNzaW9uIGFuZCBpcyByZWxlYXNlZCB3aGVuIHRoZSBzZXNzaW9u IGVuZHMuCiAgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEluIGFuIHF1ZXJ5IHRoZSBzZXNz aW9uIHZhcmlhYmxlIGNhbiBiZSB1c2VkIG9ubHkgaW5zaWRlCisgICAgPGZpcnN0dGVybT52YXJp YWJsZSBmZW5jZTwvZmlyc3R0ZXJtPi4gVGhpcyBpcyBzcGVjaWFsIHN5bnRheCBmb3IKKyAgICBz ZXNzaW9uIHZhcmlhYmxlIGlkZW50aWZpZXIsIGFuZCBjYW4gYmUgdXNlZCBvbmx5IGZvciBzZXNz aW9uIHZhcmlhYmxlCisgICAgaWRlbnRpZmllci4gVGhlIHNwZWNpYWwgc3ludGF4IGZvciBhY2Nl c3Npbmcgc2Vzc2lvbiB2YXJpYWJsZXMgcmVtb3ZlcworICAgIHJpc2sgb2YgY29sbGlzaW9ucyBi ZXR3ZWVuIHZhcmlhYmxlIGlkZW50aWZpZXJzIGFuZCBjb2x1bW4gbmFtZXMuCis8cHJvZ3JhbWxp c3Rpbmc+CitTRUxFQ1QgVkFSSUFCTEUoY3VycmVudF91c2VyX2lkKTsKKzwvcHJvZ3JhbWxpc3Rp bmc+CisgICA8L3BhcmE+CiAgIDwvc2VjdDE+CiAKICA8c2VjdDEgaWQ9ImRkbC1vdGhlcnMiPgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvcHJlcGFyZS5jCmluZGV4IDM0YjY0MTBkNmEyLi5mY2FkY2Q5YmMzZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jCisrKyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ByZXBhcmUuYwpAQCAtMzQxLDYgKzM0MSwxNCBAQCBFdmFsdWF0ZVBhcmFtcyhQYXJz ZVN0YXRlICpwc3RhdGUsIFByZXBhcmVkU3RhdGVtZW50ICpwc3RtdCwgTGlzdCAqcGFyYW1zLAog CQlpKys7CiAJfQogCisJLyoKKwkgKiBUaGUgYXJndW1lbnRzIG9mIEVYRUNVVEUgYXJlIGV2YWx1 YXRlZCBieSBhIGRpcmVjdCBleHByZXNzaW9uIGV4ZWN1dG9yCisJICogY2FsbC4gIFRoaXMgbW9k ZSBkb2Vzbid0IHN1cHBvcnQgc2Vzc2lvbiB2YXJpYWJsZXMgeWV0LiBJdCB3aWxsIGJlCisJICog ZW5hYmxlZCBsYXRlci4gVGhpcyBjYXNlIHNob3VsZCBiZSBibG9ja2VkIHBhcnNlciBieQorCSAq IGV4cHJfa2luZF9hbGxvd3Nfc2Vzc2lvbl92YXJpYWJsZXMsIHNvIG9ubHkgYXNzZXJ0aW9ucyBp cyB1c2VkIGhlcmUuCisJICovCisJQXNzZXJ0KCFwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxl cyk7CisKIAkvKiBQcmVwYXJlIHRoZSBleHByZXNzaW9ucyBmb3IgZXhlY3V0aW9uICovCiAJZXhw cnN0YXRlcyA9IEV4ZWNQcmVwYXJlRXhwckxpc3QocGFyYW1zLCBlc3RhdGUpOwogCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggYTczODFkZjI1NWEuLjI0OGUxNzgy MjBiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0xMTEsNiAr MTExLDI3IEBAIHNlYXJjaF92YXJpYWJsZShjaGFyICp2YXJuYW1lKQogCXJldHVybiBzdmFyOwog fQogCisvKgorICogUmV0dXJucyB0aGUgdHlwZSwgdHlwbW9kIGFuZCBjb2xsaWQgb2YgdGhlIGdp dmVuIHNlc3Npb24gdmFyaWFibGUuCisgKgorICogUmFpc2VzIGFuIGVycm9yIHdoZW4gdGhlIHZh cmlhYmxlIGRvZXNuJ3QgZXhpc3RzIGFuZCAqZXJyb3IgaXMgbnVsbC4KKyAqLwordm9pZAorZ2V0 X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCisJCQkJ CQkJCQkJT2lkICp0eXBpZCwKKwkJCQkJCQkJCQlpbnQzMiAqdHlwbW9kLAorCQkJCQkJCQkJCU9p ZCAqY29sbGlkKQoreworCVNWYXJpYWJsZQlzdmFyOworCisJc3ZhciA9IHNlYXJjaF92YXJpYWJs ZSh2YXJuYW1lKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxl ICovCisJKnR5cGlkID0gc3Zhci0+dmFydHlwZTsKKwkqdHlwbW9kID0gc3Zhci0+dmFydHlwbW9k OworCSpjb2xsaWQgPSBzdmFyLT52YXJjb2xsYXRpb247Cit9CisKIC8qCiAgKiBDcmVhdGVzIGEg bmV3IHZhcmlhYmxlIC0gZG9lcyBuZXcgZW50cnkgaW4gc2Vzc2lvbnZhcnMKICAqCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25v ZGVGdW5jcy5jCmluZGV4IGQyMjgzMThkYzcyLi5jMWViODFmNzllNSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1 bmNzLmMKQEAgLTE2NjksNiArMTY2OSw5IEBAIGV4cHJMb2NhdGlvbihjb25zdCBOb2RlICpleHBy KQogCQljYXNlIFRfUGFyYW1SZWY6CiAJCQlsb2MgPSAoKGNvbnN0IFBhcmFtUmVmICopIGV4cHIp LT5sb2NhdGlvbjsKIAkJCWJyZWFrOworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJCWxvYyA9 ICgoY29uc3QgVmFyaWFibGVGZW5jZSAqKSBleHByKS0+bG9jYXRpb247CisJCQlicmVhazsKIAkJ Y2FzZSBUX0FfQ29uc3Q6CiAJCQlsb2MgPSAoKGNvbnN0IEFfQ29uc3QgKikgZXhwciktPmxvY2F0 aW9uOwogCQkJYnJlYWs7CkBAIC00NzAxLDYgKzQ3MDQsOSBAQCByYXdfZXhwcmVzc2lvbl90cmVl X3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVlOwogCQkJfQogCQkJYnJl YWs7CisJCWNhc2UgVF9WYXJpYWJsZUZlbmNlOgorCQkJLyogd2UgYXNzdW1lIHRoZSBmaWVsZHMg Y29udGFpbiBub3RoaW5nIGludGVyZXN0aW5nICovCisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJ CWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgbm9kZSB0eXBlOiAlZCIsCiAJCQkJIChpbnQpIG5v ZGVUYWcobm9kZSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggMDUzMTRlN2U3NmIuLjg4NTEwNjky MmQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMKQEAgLTYxOSw2ICs2MTksNyBAQCB0cmFuc2Zvcm1EZWxl dGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRGVsZXRlU3RtdCAqc3RtdCkKIAlxcnktPmhhc1dp bmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JG cyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9o YXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9u VmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBA IC0xMDQ0LDYgKzEwNDUsNyBAQCB0cmFuc2Zvcm1JbnNlcnRTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwgSW5zZXJ0U3RtdCAqc3RtdCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9o YXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzU3ViTGlua3MgPSBwc3RhdGUtPnBfaGFzU3ViTGlua3M7 CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJs ZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKQEAgLTE1Mjcs NiArMTUyOSw3IEBAIHRyYW5zZm9ybVNlbGVjdFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBTZWxl Y3RTdG10ICpzdG10LAogCXFyeS0+aGFzV2luZG93RnVuY3MgPSBwc3RhdGUtPnBfaGFzV2luZG93 RnVuY3M7CiAJcXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNSRnM7CiAJ cXJ5LT5oYXNBZ2dzID0gcHN0YXRlLT5wX2hhc0FnZ3M7CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFi bGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlmb3JlYWNoKGwsIHN0bXQt PmxvY2tpbmdDbGF1c2UpCiAJewpAQCAtMTc1Myw2ICsxNzU2LDcgQEAgdHJhbnNmb3JtVmFsdWVz Q2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCkKIAlxcnktPmpvaW50 cmVlID0gbWFrZUZyb21FeHByKHBzdGF0ZS0+cF9qb2lubGlzdCwgTlVMTCk7CiAKIAlxcnktPmhh c1N1YkxpbmtzID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlh YmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2Nv bGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBAIC0yMDA0LDYgKzIwMDgsNyBAQCB0cmFuc2Zvcm1T ZXRPcGVyYXRpb25TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCkKIAlx cnktPmhhc1dpbmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFz VGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBz dGF0ZS0+cF9oYXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9o YXNTZXNzaW9uVmFyaWFibGVzOwogCiAJZm9yZWFjaChsLCBsb2NraW5nQ2xhdXNlKQogCXsKQEAg LTI0NzYsNiArMjQ4MSw3IEBAIHRyYW5zZm9ybVJldHVyblN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRl LCBSZXR1cm5TdG10ICpzdG10KQogCXFyeS0+aGFzV2luZG93RnVuY3MgPSBwc3RhdGUtPnBfaGFz V2luZG93RnVuY3M7CiAJcXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNS RnM7CiAJcXJ5LT5oYXNBZ2dzID0gcHN0YXRlLT5wX2hhc0FnZ3M7CisJcXJ5LT5oYXNTZXNzaW9u VmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlhc3NpZ25fcXVl cnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKQEAgLTI1NDMsNiArMjU0OSw3IEBAIHRyYW5z Zm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10KQogCiAJ cXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNSRnM7CiAJcXJ5LT5oYXNT dWJMaW5rcyA9IHBzdGF0ZS0+cF9oYXNTdWJMaW5rczsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJs ZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xs YXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggMGE1ZWZkNzMzZGMuLjgzNzMz MGE4MDdmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTUzMSw3ICs1MzEsNyBAQCBzdGF0aWMgTm9kZSAqbWFr ZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAq cXVlcnkpOwogJXR5cGUgPG5vZGU+CWRlZl9hcmcgY29sdW1uRWxlbSB3aGVyZV9jbGF1c2Ugd2hl cmVfb3JfY3VycmVudF9jbGF1c2UKIAkJCQlhX2V4cHIgYl9leHByIGNfZXhwciBBZXhwckNvbnN0 IGluZGlyZWN0aW9uX2VsIG9wdF9zbGljZV9ib3VuZAogCQkJCWNvbHVtbnJlZiBoYXZpbmdfY2xh dXNlIGZ1bmNfdGFibGUgeG1sdGFibGUgYXJyYXlfZXhwcgotCQkJCU9wdFdoZXJlQ2xhdXNlIG9w ZXJhdG9yX2RlZl9hcmcKKwkJCQlPcHRXaGVyZUNsYXVzZSBvcGVyYXRvcl9kZWZfYXJnIHZhcmlh YmxlX2ZlbmNlCiAldHlwZSA8bGlzdD4Jb3B0X2NvbHVtbl9hbmRfcGVyaW9kX2xpc3QKICV0eXBl IDxsaXN0Pglyb3dzZnJvbV9pdGVtIHJvd3Nmcm9tX2xpc3Qgb3B0X2NvbF9kZWZfbGlzdAogJXR5 cGUgPGJvb2xlYW4+IG9wdF9vcmRpbmFsaXR5IG9wdF93aXRob3V0X292ZXJsYXBzCkBAIC04ODcs NyArODg3LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJl bG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICAqLwogJW5vbmFzc29jCVVOQk9V TkRFRCBORVNURUQgLyogaWRlYWxseSB3b3VsZCBoYXZlIHNhbWUgcHJlY2VkZW5jZSBhcyBJREVO VCAqLwogJW5vbmFzc29jCUlERU5UIFBBUlRJVElPTiBSQU5HRSBST1dTIEdST1VQUyBQUkVDRURJ TkcgRk9MTE9XSU5HIENVQkUgUk9MTFVQCi0JCQlTRVQgS0VZUyBPQkpFQ1RfUCBTQ0FMQVIgVkFM VUVfUCBXSVRIIFdJVEhPVVQgUEFUSAorCQkJU0VUIEtFWVMgT0JKRUNUX1AgU0NBTEFSIFZBTFVF X1AgV0lUSCBXSVRIT1VUIFBBVEggVkFSSUFCTEUKICVsZWZ0CQlPcCBPUEVSQVRPUgkJLyogbXVs dGktY2hhcmFjdGVyIG9wcyBhbmQgdXNlci1kZWZpbmVkIG9wZXJhdG9ycyAqLwogJWxlZnQJCScr JyAnLScKICVsZWZ0CQknKicgJy8nICclJwpAQCAtMTU3MTksNiArMTU3MTksOCBAQCBjX2V4cHI6 CQljb2x1bW5yZWYJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJCQllbHNlCiAJCQkJCQkkJCA9ICQy OwogCQkJCX0KKwkJCXwgdmFyaWFibGVfZmVuY2UKKwkJCQl7ICQkID0gJDE7IH0KIAkJCXwgY2Fz ZV9leHByCiAJCQkJeyAkJCA9ICQxOyB9CiAJCQl8IGZ1bmNfZXhwcgpAQCAtMTcxMjEsNiArMTcx MjMsMTcgQEAgY2FzZV9hcmc6CWFfZXhwcgkJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJfCAvKkVN UFRZKi8JCQkJCQkJCXsgJCQgPSBOVUxMOyB9CiAJCTsKIAordmFyaWFibGVfZmVuY2U6CisJCQlW QVJJQUJMRSAnKCcgQ29sSWQgJyknCisJCQkJeworCQkJCQlWYXJpYWJsZUZlbmNlICp2ZiA9IG1h a2VOb2RlKFZhcmlhYmxlRmVuY2UpOworCisJCQkJCXZmLT52YXJuYW1lID0gJDM7CisJCQkJCXZm LT5sb2NhdGlvbiA9IEAzOworCQkJCQkkJCA9IChOb2RlICopIHZmOworCQkJCX0KKwkJOworCiBj b2x1bW5yZWY6CUNvbElkCiAJCQkJewogCQkJCQkkJCA9IG1ha2VDb2x1bW5SZWYoJDEsIE5JTCwg QDEsIHl5c2Nhbm5lcik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhw ci5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwppbmRleCA0NTI0ZTQ5YzMyNi4u YWEyNDgzYzk2YTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwpAQCAtMTgsNiArMTgsNyBAQAog I2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2Fn Z3JlZ2F0ZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgorI2luY2x1ZGUgImNvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRl ICJub2Rlcy9tYWtlZnVuY3MuaCIKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKQEAgLTc3 LDYgKzc4LDcgQEAgc3RhdGljIE5vZGUgKnRyYW5zZm9ybVdob2xlUm93UmVmKFBhcnNlU3RhdGUg KnBzdGF0ZSwKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1JbmRpcmVjdGlvbihQYXJzZVN0YXRlICpw c3RhdGUsIEFfSW5kaXJlY3Rpb24gKmluZCk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtVHlwZUNh c3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBUeXBlQ2FzdCAqdGMpOwogc3RhdGljIE5vZGUgKnRyYW5z Zm9ybUNvbGxhdGVDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDb2xsYXRlQ2xhdXNlICpjKTsK K3N0YXRpYyBOb2RlICp0cmFuc2Zvcm1WYXJpYWJsZUZlbmNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg VmFyaWFibGVGZW5jZSAqdmYpOwogc3RhdGljIE5vZGUgKnRyYW5zZm9ybUpzb25PYmplY3RDb25z dHJ1Y3RvcihQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQkJCUpzb25PYmplY3RDb25zdHJ1 Y3RvciAqY3Rvcik7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtSnNvbkFycmF5Q29uc3RydWN0b3Io UGFyc2VTdGF0ZSAqcHN0YXRlLApAQCAtMzcxLDYgKzM3MywxMCBAQCB0cmFuc2Zvcm1FeHByUmVj dXJzZShQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmV4cHIpCiAJCQlyZXN1bHQgPSB0cmFuc2Zv cm1Kc29uRnVuY0V4cHIocHN0YXRlLCAoSnNvbkZ1bmNFeHByICopIGV4cHIpOwogCQkJYnJlYWs7 CiAKKwkJY2FzZSBUX1ZhcmlhYmxlRmVuY2U6CisJCQlyZXN1bHQgPSB0cmFuc2Zvcm1WYXJpYWJs ZUZlbmNlKHBzdGF0ZSwgKFZhcmlhYmxlRmVuY2UgKikgZXhwcik7CisJCQlicmVhazsKKwogCQlk ZWZhdWx0OgogCQkJLyogc2hvdWxkIG5vdCByZWFjaCBoZXJlICovCiAJCQllbG9nKEVSUk9SLCAi dW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQiLCAoaW50KSBub2RlVGFnKGV4cHIpKTsKQEAgLTkw NCw2ICs5MTAsMTE5IEBAIHRyYW5zZm9ybVBhcmFtUmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUGFy YW1SZWYgKnByZWYpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAqIFJldHVybnMgdHJ1ZSBp ZiB0aGUgZ2l2ZW4gZXhwcmVzc2lvbiBraW5kIGlzIHZhbGlkIGZvciBzZXNzaW9uIHZhcmlhYmxl cy4KKyAqIFNlc3Npb24gdmFyaWFibGVzIGNhbiBiZSB1c2VkIGV2ZXJ5d2hlcmUgd2hlcmUgZXh0 ZXJuYWwgcGFyYW1ldGVycyBjYW4gYmUKKyAqIHVzZWQuICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUg bm90IGFsbG93ZWQgaW4gRERMIGNvbW1hbmRzIG9yIGluIGNvbnN0cmFpbnRzLgorICoKKyAqIEFu IGlkZW50aWZpZXIgY2FuIGJlIHBhcnNlZCBhcyBhIHNlc3Npb24gdmFyaWFibGUgb25seSBmb3Ig ZXhwcmVzc2lvbiBraW5kcworICogd2hlcmUgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIGFsbG93ZWQu ICBUaGlzIGlzIHRoZSBwcmltYXJ5IHVzYWdlIG9mIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAq IFRoZSBzZWNvbmQgdXNhZ2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBkZWNpZGUgd2hldGhlciBh ICJjb2x1bW4gZG9lcyBub3QKKyAqIGV4aXN0IiBvciBhICJjb2x1bW4gb3IgdmFyaWFibGUgZG9l cyBub3QgZXhpc3QiIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIGJlCisgKiBwcmludGVkLiAgV2hlbiB3 ZSBhcmUgaW4gYW4gZXhwcmVzc2lvbiB3aGVyZSBzZXNzaW9uIHZhcmlhYmxlcyBjYW5ub3QgYmUK KyAqIHVzZWQsIHdlIHJhaXNlIHRoZSBmaXJzdCBmb3JtIG9mIGVycm9yIG1lc3NhZ2UuCisgKi8K K3N0YXRpYyBib29sCitleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFibGVzKFBhcnNlRXhw cktpbmQgcF9leHByX2tpbmQpCit7CisJYm9vbAkJcmVzdWx0ID0gZmFsc2U7CisKKwlzd2l0Y2gg KHBfZXhwcl9raW5kKQorCXsKKwkJY2FzZSBFWFBSX0tJTkRfTk9ORToKKwkJCUFzc2VydChmYWxz ZSk7CQkvKiBjYW4ndCBoYXBwZW4gKi8KKwkJCXJldHVybiBmYWxzZTsKKworCQkJLyogc2Vzc2lv biB2YXJpYWJsZXMgYWxsb3dlZCAqLworCQljYXNlIEVYUFJfS0lORF9PVEhFUjoKKwkJY2FzZSBF WFBSX0tJTkRfSk9JTl9PTjoKKwkJY2FzZSBFWFBSX0tJTkRfRlJPTV9TVUJTRUxFQ1Q6CisJCWNh c2UgRVhQUl9LSU5EX0ZST01fRlVOQ1RJT046CisJCWNhc2UgRVhQUl9LSU5EX1dIRVJFOgorCQlj YXNlIEVYUFJfS0lORF9IQVZJTkc6CisJCWNhc2UgRVhQUl9LSU5EX0ZJTFRFUjoKKwkJY2FzZSBF WFBSX0tJTkRfV0lORE9XX1BBUlRJVElPTjoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX09SREVS OgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfUkFOR0U6CisJCWNhc2UgRVhQUl9LSU5E X1dJTkRPV19GUkFNRV9ST1dTOgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfR1JPVVBT OgorCQljYXNlIEVYUFJfS0lORF9TRUxFQ1RfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lORF9VUERB VEVfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lORF9VUERBVEVfU09VUkNFOgorCQljYXNlIEVYUFJf S0lORF9NRVJHRV9XSEVOOgorCQljYXNlIEVYUFJfS0lORF9NRVJHRV9SRVRVUk5JTkc6CisJCWNh c2UgRVhQUl9LSU5EX0dST1VQX0JZOgorCQljYXNlIEVYUFJfS0lORF9PUkRFUl9CWToKKwkJY2Fz ZSBFWFBSX0tJTkRfRElTVElOQ1RfT046CisJCWNhc2UgRVhQUl9LSU5EX0xJTUlUOgorCQljYXNl IEVYUFJfS0lORF9PRkZTRVQ6CisJCWNhc2UgRVhQUl9LSU5EX1JFVFVSTklORzoKKwkJY2FzZSBF WFBSX0tJTkRfVkFMVUVTOgorCQljYXNlIEVYUFJfS0lORF9WQUxVRVNfU0lOR0xFOgorCQkJcmVz dWx0ID0gdHJ1ZTsKKwkJCWJyZWFrOworCisJCQkvKiBzZXNzaW9uIHZhcmlhYmxlcyBub3QgYWxs b3dlZCAqLworCQljYXNlIEVYUFJfS0lORF9JTlNFUlRfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lO RF9FWEVDVVRFX1BBUkFNRVRFUjoKKwkJY2FzZSBFWFBSX0tJTkRfQ0FMTF9BUkdVTUVOVDoKKwkJ Y2FzZSBFWFBSX0tJTkRfQ0hFQ0tfQ09OU1RSQUlOVDoKKwkJY2FzZSBFWFBSX0tJTkRfRE9NQUlO X0NIRUNLOgorCQljYXNlIEVYUFJfS0lORF9DT0xVTU5fREVGQVVMVDoKKwkJY2FzZSBFWFBSX0tJ TkRfRlVOQ1RJT05fREVGQVVMVDoKKwkJY2FzZSBFWFBSX0tJTkRfSU5ERVhfRVhQUkVTU0lPTjoK KwkJY2FzZSBFWFBSX0tJTkRfSU5ERVhfUFJFRElDQVRFOgorCQljYXNlIEVYUFJfS0lORF9TVEFU U19FWFBSRVNTSU9OOgorCQljYXNlIEVYUFJfS0lORF9UUklHR0VSX1dIRU46CisJCWNhc2UgRVhQ Ul9LSU5EX1BBUlRJVElPTl9CT1VORDoKKwkJY2FzZSBFWFBSX0tJTkRfUEFSVElUSU9OX0VYUFJF U1NJT046CisJCWNhc2UgRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU46CisJCWNhc2UgRVhQUl9L SU5EX0pPSU5fVVNJTkc6CisJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CisJCWNhc2UgRVhQ Ul9LSU5EX0FMVEVSX0NPTF9UUkFOU0ZPUk06CisJCWNhc2UgRVhQUl9LSU5EX1BPTElDWToKKwkJ Y2FzZSBFWFBSX0tJTkRfQ09QWV9XSEVSRToKKwkJCXJlc3VsdCA9IGZhbHNlOworCQkJYnJlYWs7 CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIE5vZGUgKgordHJhbnNmb3JtVmFy aWFibGVGZW5jZShQYXJzZVN0YXRlICpwc3RhdGUsIFZhcmlhYmxlRmVuY2UgKnZmKQoreworCVBh cmFtCSAgICpwYXJhbTsKKwlPaWQJCQl0eXBpZDsKKwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCWNv bGxpZDsKKworCS8qIFZhcmlhYmxlRmVuY2UgY2FuIGJlIHVzZWQgb25seSBpbiBjb250ZXh0IHdo ZW4gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQgKi8KKwlpZiAoIWV4cHJfa2luZF9hbGxvd3Nfc2Vz c2lvbl92YXJpYWJsZXMocHN0YXRlLT5wX2V4cHJfa2luZCkpCisJCWVyZXBvcnQoRVJST1IsCisJ CQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2co InNlc3Npb24gdmFyaWFibGUgcmVmZXJlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgaGVyZSIpLAorCQkJ CSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCB2Zi0+bG9jYXRpb24pKSk7CisKKwlnZXRfc2Vz c2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQodmYtPnZhcm5hbWUsCisJCQkJCQkJCQkJ CSZ0eXBpZCwgJnR5cG1vZCwgJmNvbGxpZCk7CisKKworCXBhcmFtID0gbWFrZU5vZGUoUGFyYW0p OworCisJcGFyYW0tPnBhcmFta2luZCA9IFBBUkFNX1ZBUklBQkxFOworCXBhcmFtLT5wYXJhbXZh cm5hbWUgPSBwc3RyZHVwKHZmLT52YXJuYW1lKTsKKwlwYXJhbS0+cGFyYW10eXBlID0gdHlwaWQ7 CisJcGFyYW0tPnBhcmFtdHlwbW9kID0gdHlwbW9kOworCXBhcmFtLT5wYXJhbWNvbGxpZCA9IGNv bGxpZDsKKworCXBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzID0gdHJ1ZTsKKworCXJldHVy biAoTm9kZSAqKSBwYXJhbTsKK30KKwogLyogVGVzdCB3aGV0aGVyIGFuIGFfZXhwciBpcyBhIHBs YWluIE5VTEwgY29uc3RhbnQgb3Igbm90ICovCiBzdGF0aWMgYm9vbAogZXhwcklzTnVsbENvbnN0 YW50KE5vZGUgKmFyZykKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJn ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKaW5kZXggNTFkNzcwM2VmZjcu LjI0NGVmY2RkZjMyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2Uu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYwpAQCAtNDA1LDYgKzQwNSw3 IEBAIHRyYW5zZm9ybU1lcmdlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIE1lcmdlU3RtdCAqc3Rt dCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IGZhbHNlOwogCXFyeS0+aGFzU3ViTGlua3MgPSBw c3RhdGUtPnBfaGFzU3ViTGlua3M7CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRl LT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3Rh dGUsIHFyeSk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQu YyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYwppbmRleCA5MDVjOTc1ZDgzYi4u MmY0MjYyN2YwMDkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKQEAgLTIwMzMsNiArMjAz MywxMyBAQCBGaWd1cmVDb2xuYW1lSW50ZXJuYWwoTm9kZSAqbm9kZSwgY2hhciAqKm5hbWUpCiAJ CQkJCQkgKGludCkgKChKc29uRnVuY0V4cHIgKikgbm9kZSktPm9wKTsKIAkJCX0KIAkJCWJyZWFr OworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJCXsKKwkJCQkvKiByZXR1cm4gbGFzdCBmaWVs ZCBuYW1lICovCisJCQkJKm5hbWUgPSAoKFZhcmlhYmxlRmVuY2UgKikgbm9kZSktPnZhcm5hbWU7 CisJCQkJcmV0dXJuIDI7CisJCQl9CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwog CX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRleCA2Y2Y5MGJlNDBiYi4uY2I5YzQ1NmUz MzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKQEAgLTg4MTYsNiArODgxNiwxNCBAQCBn ZXRfcGFyYW1ldGVyKFBhcmFtICpwYXJhbSwgZGVwYXJzZV9jb250ZXh0ICpjb250ZXh0KQogCQl9 CiAJfQogCisJLyogTm90ZTogY2FuIGJlIGJlIHVzZWQgYnkgRVhQTEFJTiAqLworCWlmIChwYXJh bS0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCXsKKwkJYXBwZW5kU3RyaW5nSW5mbyhj b250ZXh0LT5idWYsICJWQVJJQUJMRVMoJXMpIiwKKwkJCQkJCSBxdW90ZV9pZGVudGlmaWVyKHBh cmFtLT5wYXJhbXZhcm5hbWUpKTsKKwkJcmV0dXJuOworCX0KKwogCS8qCiAJICogTm90IFBBUkFN X0VYRUMsIG9yIGNvdWxkbid0IGZpbmQgcmVmZXJlbnQ6IGp1c3QgcHJpbnQgJE4uCiAJICoKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCAxZWQ0MGQ4N2EzOC4uOTZi ZTk2OGMzZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFi bGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTIy LDQgKzIyLDkgQEAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOwogZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxl QnlOYW1lKGNoYXIgKnZhcm5hbWUpOwogCitleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJs ZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKKwkJCQkJCQkJCQkJCQlPaWQgKnR5 cGlkLAorCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2QsCisJCQkJCQkJCQkJCQkJT2lkICpjb2xs aWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA1NjdlNTk3MGU1MC4uNDg3 NDY0YjE0YjEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBl ZGVmIHN0cnVjdCBRdWVyeQogCWJvb2wJCWhhc1Jvd1NlY3VyaXR5IHBnX25vZGVfYXR0cihxdWVy eV9qdW1ibGVfaWdub3JlKTsKIAkvKiBwYXJzZXIgaGFzIGFkZGVkIGFuIFJURV9HUk9VUCBSVEUg Ki8KIAlib29sCQloYXNHcm91cFJURSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7 CisJLyogdXNlcyBzZXNzaW9uIHZhcmlhYmxlcyAqLworCWJvb2wJCWhhc1Nlc3Npb25WYXJpYWJs ZXMgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCS8qIGlzIGEgUkVUVVJOIHN0 YXRlbWVudCAqLwogCWJvb2wJCWlzUmV0dXJuIHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdu b3JlKTsKIApAQCAtMzIyLDYgKzMyNCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbVJlZgogCVBh cnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8K IH0gUGFyYW1SZWY7CiAKKy8qCisgKiBWYXJpYWJsZUZlbmNlIC0gZW5zdXJlIHNvIGZpZWxkcyB3 aWxsIGJlIGludGVycHJldHRlZCBhcyBhIHZhcmlhYmxlCisgKi8KK3R5cGVkZWYgc3RydWN0IFZh cmlhYmxlRmVuY2UKK3sKKwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAgKnZhcm5hbWU7CQkvKiB2 YXJpYWJsZSBuYW1lICovCisJUGFyc2VMb2MJbG9jYXRpb247CQkvKiB0b2tlbiBsb2NhdGlvbiwg b3IgLTEgaWYgdW5rbm93biAqLworfSBWYXJpYWJsZUZlbmNlOworCiAvKgogICogQV9FeHByIC0g aW5maXgsIHByZWZpeCwgYW5kIHBvc3RmaXggZXhwcmVzc2lvbnMKICAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9k ZXMuaAppbmRleCAxYjQ0MzZmMmZmNi4uNzYwY2EwM2Y3ZTEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5o CkBAIC0zNzgsNiArMzc4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgQ29uc3QKICAqCQkJCW9mIHRoZSBg cGFyYW1pZCcgZmllbGQgY29udGFpbiB0aGUgU3ViTGluaydzIHN1YkxpbmtJZCwgYW5kCiAgKgkJ CQl0aGUgbG93LW9yZGVyIDE2IGJpdHMgY29udGFpbiB0aGUgY29sdW1uIG51bWJlci4gIChUaGlz IHR5cGUKICAqCQkJCW9mIFBhcmFtIGlzIGFsc28gY29udmVydGVkIHRvIFBBUkFNX0VYRUMgZHVy aW5nIHBsYW5uaW5nLikKKyAqCQlQQVJBTV9WQVJJQUJMRTogIFRoZSBwYXJhbWV0ZXIgaXMgYSBy ZWZlcmVuY2UgdG8gYSBzZXNzaW9uIHZhcmlhYmxlCisgKgkJCQkocGFyYW12YXJuYW1lIGhvbGRz IHRoZSB2YXJpYWJsZSdzIG5hbWUpLgogICovCiB0eXBlZGVmIGVudW0gUGFyYW1LaW5kCiB7CkBA IC0zODUsNiArMzg3LDcgQEAgdHlwZWRlZiBlbnVtIFBhcmFtS2luZAogCVBBUkFNX0VYRUMsCiAJ UEFSQU1fU1VCTElOSywKIAlQQVJBTV9NVUxUSUVYUFIsCisJUEFSQU1fVkFSSUFCTEUsCiB9IFBh cmFtS2luZDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGFyYW0KQEAgLTM5OSw2ICs0MDIsOCBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJhbQogCWludDMyCQlwYXJhbXR5cG1vZDsKIAkvKiBPSUQgb2YgY29sbGF0 aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KIAlPaWQJCQlwYXJhbWNvbGxpZDsKKwkvKiBP SUQgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlIG9yIEludmFsaWRPaWQgaWYgbm9uZSAqLworCWNo YXIJICAgKnBhcmFtdmFybmFtZSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CiAJ LyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8KIAlQYXJzZUxvYwlsb2NhdGlv bjsKIH0gUGFyYW07CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5o IGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAppbmRleCBmN2QwN2M4NDU0Mi4uODRl ODg2OTQwZDggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKKysr IGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaApAQCAtMjI4LDYgKzIyOCw3IEBAIHN0 cnVjdCBQYXJzZVN0YXRlCiAJYm9vbAkJcF9oYXNUYXJnZXRTUkZzOwogCWJvb2wJCXBfaGFzU3Vi TGlua3M7CiAJYm9vbAkJcF9oYXNNb2RpZnlpbmdDVEU7CisJYm9vbAkJcF9oYXNTZXNzaW9uVmFy aWFibGVzOwogCiAJTm9kZQkgICAqcF9sYXN0X3NyZjsJCS8qIG1vc3QgcmVjZW50IHNldC1yZXR1 cm5pbmcgZnVuYy9vcCBmb3VuZCAqLwogCmRpZmYgLS1naXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwppbmRleCBkMTk0MjViN2E3 MS4uOTY4NTc4NzRmZmUgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9leGVjLmMK KysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwpAQCAtODI2OCw3ICs4MjY4LDggQEAg ZXhlY19pc19zaW1wbGVfcXVlcnkoUExwZ1NRTF9leHByICpleHByKQogCQlxdWVyeS0+c29ydENs YXVzZSB8fAogCQlxdWVyeS0+bGltaXRPZmZzZXQgfHwKIAkJcXVlcnktPmxpbWl0Q291bnQgfHwK LQkJcXVlcnktPnNldE9wZXJhdGlvbnMpCisJCXF1ZXJ5LT5zZXRPcGVyYXRpb25zIHx8CisJCXF1 ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgpkaWZmIC0t Z2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdAppbmRleCA1ZjI1OWRkN2M4Zi4uZjczMmVjYmNmODYgMTAwNjQ0Ci0t LSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2lu ZGVudC90eXBlZGVmcy5saXN0CkBAIC0zMjI2LDYgKzMyMjYsNyBAQCBWYWxpZGF0b3JWYWxpZGF0 ZUNCCiBWYWx1ZXNTY2FuCiBWYWx1ZXNTY2FuU3RhdGUKIFZhcgorVmFyaWFibGVGZW5jZQogVmFy Qml0CiBWYXJDaGFyCiBWYXJQYXJhbVN0YXRlCi0tIAoyLjUyLjAKCg== --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Disposition: attachment; filename="v20251205-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65rh5 RnJvbSA0ZWUxODJlNmJiYmYwMThlNzVmNjEyMDUyN2MzZDFiMGQ1ZTQxNmIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIyIE5vdiAyMDI1IDA2OjQwOjQ2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCA0LzldIGZpbGwgYW4gYXV4aWxpYXJ5IGJ1ZmZlciB3aXRoIHZhbHVlcyBvZiBzZXNzaW9u IAogdmFyaWFibGVzIHVzZWQgaW4gcXVlcnkKCmFuZCBsb2NrcyB2YXJpYWJsZXMgdXNlZCBpbiBx dWVyeS4gTm93IHdlIGNhbiByZWFkIHRoZSBjb250ZW50IG9mIGFueQpzZXNzaW9uIHZhcmlhYmxl LiBEaXJlY3QgcmVhZGluZyBmcm9tIGV4cHJlc3Npb24gZXhlY3V0b3IgaXMgbm90IGFsbG93ZWQs CnNvIHdlIGNhbm5vdCB0byB1c2Ugc2Vzc2lvbiB2YXJpYWJsZXMgaW5zaWRlIENBTEwgb3IgRVhF Q1VURSBjb21tYW5kcwooY2FuIGJlIHN1cHBvcnRlZCB3aXRoIGRpcmVjdCBhY2Nlc3MgdG8gc2Vz c2lvbiB2YXJpYWJsZXMgKGZyb20gZXhwcmVzc2lvbgpleGVjdXRvcikgLSBwb3N0cG9uZWQpLgoK VXNpbmcgc2Vzc2lvbiB2YXJpYWJsZXMgYmxvY2tzIHBhcmFsbGVsIHF1ZXJ5IGV4ZWN1dGlvbi4g SXQgaXMgbm90CnRlY2huaWNhbCBwcm9ibGVtIChpdCBqdXN0IG5lZWRzIGEgc2VyaWFsaXphdGlv bi9kZXNlcmlhbGl6YXRpb24gb2YKZXNfc2Vzc2lvbl92YXJpYmxlcyBidWZmZXIpLCBidXQgaXQg aW5jcmVhc2VzIGEgc2l6ZSBvZiBwYXRjaCAoYW5kIHRoZW4KaXQgaXMgcG9zdHBvbmVkKS4KLS0t CiBzcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5jICAgICAgICAgICAgICAgfCAgMjkgKysr Kwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYyAgICAgICAgICAgICAgIHwgIDQ5ICsr KysrKysKIHNyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAx NCArKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQgICAgICAgIHwgMTM1 ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAg ICAgICAgICAgIHwgICA1ICsKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwu c3FsICAgICB8IDEyMCArKysrKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgfCAgIDEgKwogNyBmaWxlcyBjaGFuZ2VkLCAzNTMgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vz c2lvbl92YXJpYWJsZXNfZG1sLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjRXhwci5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYwpp bmRleCBiMDVmZjQ3NmE2My4uOWE4Njg5NjIyMWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL2V4ZWNFeHByLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYwpA QCAtMTA2OSw2ICsxMDY5LDM1IEBAIEV4ZWNJbml0RXhwclJlYyhFeHByICpub2RlLCBFeHByU3Rh dGUgKnN0YXRlLAogCQkJCQkJCUV4cHJFdmFsUHVzaFN0ZXAoc3RhdGUsICZzY3JhdGNoKTsKIAkJ CQkJCX0KIAkJCQkJCWJyZWFrOworCQkJCQljYXNlIFBBUkFNX1ZBUklBQkxFOgorCQkJCQkJewor CQkJCQkJCWludAkJCWVzX251bV9zZXNzaW9uX3ZhcmlhYmxlcyA9IDA7CisJCQkJCQkJU2Vzc2lv blZhcmlhYmxlVmFsdWUgKmVzX3Nlc3Npb25fdmFyaWFibGVzID0gTlVMTDsKKwkJCQkJCQlTZXNz aW9uVmFyaWFibGVWYWx1ZSAqdmFyOworCisJCQkJCQkJaWYgKHN0YXRlLT5wYXJlbnQgJiYgc3Rh dGUtPnBhcmVudC0+c3RhdGUpCisJCQkJCQkJeworCQkJCQkJCQllc19zZXNzaW9uX3ZhcmlhYmxl cyA9IHN0YXRlLT5wYXJlbnQtPnN0YXRlLT5lc19zZXNzaW9uX3ZhcmlhYmxlczsKKwkJCQkJCQkJ ZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzID0gc3RhdGUtPnBhcmVudC0+c3RhdGUtPmVzX251bV9z ZXNzaW9uX3ZhcmlhYmxlczsKKwkJCQkJCQl9CisKKwkJCQkJCQlBc3NlcnQoZXNfc2Vzc2lvbl92 YXJpYWJsZXMpOworCisJCQkJCQkJLyogcGFyYW1ldGVyIHNhbml0eSBjaGVja3MgKi8KKwkJCQkJ CQlpZiAocGFyYW0tPnBhcmFtaWQgPj0gZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzKQorCQkJCQkJ CQllbG9nKEVSUk9SLCAicGFyYW1pZCBvZiBQQVJBTV9WQVJJQUJMRSBwYXJhbSBpcyBvdXQgb2Yg cmFuZ2UiKTsKKworCQkJCQkJCXZhciA9ICZlc19zZXNzaW9uX3ZhcmlhYmxlc1twYXJhbS0+cGFy YW1pZF07CisKKwkJCQkJCQkvKgorCQkJCQkJCSAqIEluIHRoaXMgY2FzZSwgcGFzcyB0aGUgdmFs dWUgbGlrZSBhIGNvbnN0YW50LgorCQkJCQkJCSAqLworCQkJCQkJCXNjcmF0Y2gub3Bjb2RlID0g RUVPUF9DT05TVDsKKwkJCQkJCQlzY3JhdGNoLmQuY29uc3R2YWwudmFsdWUgPSB2YXItPnZhbHVl OworCQkJCQkJCXNjcmF0Y2guZC5jb25zdHZhbC5pc251bGwgPSB2YXItPmlzbnVsbDsKKwkJCQkJ CQlFeHByRXZhbFB1c2hTdGVwKHN0YXRlLCAmc2NyYXRjaCk7CisJCQkJCQl9CisJCQkJCQlicmVh azsKIAkJCQkJZGVmYXVsdDoKIAkJCQkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgcGFyYW1r aW5kOiAlZCIsCiAJCQkJCQkJIChpbnQpIHBhcmFtLT5wYXJhbWtpbmQpOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKaW5kZXggMjdjOWVlYzY5N2IuLjE5OGJlMGNmMTQzIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGFydGl0aW9uLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvbWF0 dmlldy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRl ICJjb21tYW5kcy90cmlnZ2VyLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNp bmNsdWRlICJleGVjdXRvci9leGVjUGFydGl0aW9uLmgiCkBAIC0xOTYsNiArMTk3LDU0IEBAIHN0 YW5kYXJkX0V4ZWN1dG9yU3RhcnQoUXVlcnlEZXNjICpxdWVyeURlc2MsIGludCBlZmxhZ3MpCiAJ QXNzZXJ0KHF1ZXJ5RGVzYy0+c291cmNlVGV4dCAhPSBOVUxMKTsKIAllc3RhdGUtPmVzX3NvdXJj ZVRleHQgPSBxdWVyeURlc2MtPnNvdXJjZVRleHQ7CiAKKwkvKgorCSAqIFRoZSBleGVjdXRvciBk b2Vzbid0IHdvcmsgd2l0aCBzZXNzaW9uIHZhcmlhYmxlcyBkaXJlY3RseS4gVmFsdWVzIG9mCisJ ICogcmVsYXRlZCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgY29waWVkIHRvIGEgZGVkaWNhdGVkIGFy cmF5LCBhbmQgdGhpcworCSAqIGFycmF5IGlzIHBhc3NlZCB0byB0aGUgZXhlY3V0b3IuIFRoaXMg YXJyYXkgaXMgc3RhYmxlICJzbmFwc2hvdCIgb2YKKwkgKiB2YWx1ZXMgb2YgdXNlZCBzZXNzaW9u IHZhcmlhYmxlcy4gVGhlcmUgYXJlIHRocmVlIGJlbmVmaXRzIG9mIHRoaXMKKwkgKiBzdHJhdGVn eToKKwkgKgorCSAqIC0gY29uc2lzdGVuY3kgd2l0aCBleHRlcm5hbCBwYXJhbWV0ZXJzIGFuZCBw bHBnc3FsIHZhcmlhYmxlcywKKwkgKgorCSAqIC0gc2Vzc2lvbiB2YXJpYWJsZXMgY2FuIGJlIHBh cmFsbGVsIHNhZmUsCisJICoKKwkgKiAtIHdlIGRvbid0IG5lZWQgbWFrZSBmcmVzaCBjb3B5IGZv ciBhbnkgcmVhZCBvZiBzZXNzaW9uIHZhcmlhYmxlICh0aGlzCisJICogaXMgbmVjZXNzYXJ5IGJl Y2F1c2UgdGhlIGludGVybmFsbHkgdGhlIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGNoYW5nZWQK KwkgKiBpbnNpZGUgcXVlcnkgZXhlY3V0aW9uIHRpbWUsIGFuZCB0aGVuIGEgcmVmZXJlbmNlIHRv IHByZXZpb3VzbHkKKwkgKiByZXR1cm5lZCB2YWx1ZSBjYW4gYmUgY29ycnVwdGVkKS4KKwkgKi8K KwlpZiAocXVlcnlEZXNjLT5wbGFubmVkc3RtdC0+c2Vzc2lvblZhcmlhYmxlcykKKwl7CisJCWlu dAkJCW5TZXNzaW9uVmFyaWFibGVzOworCQlpbnQJCQlpID0gMDsKKworCQkvKgorCQkgKiBJbiB0 aGlzIGNhc2UsIHRoZSBxdWVyeSB1c2VzIHNlc3Npb24gdmFyaWFibGVzLCBidXQgd2UgaGF2ZSB0 bworCQkgKiBwcmVwYXJlIHRoZSBhcnJheSB3aXRoIHBhc3NlZCB2YWx1ZXMgKG9mIHVzZWQgc2Vz c2lvbiB2YXJpYWJsZXMpCisJCSAqIGZpcnN0LgorCQkgKi8KKwkJQXNzZXJ0KCFJc1BhcmFsbGVs V29ya2VyKCkpOworCQluU2Vzc2lvblZhcmlhYmxlcyA9IGxpc3RfbGVuZ3RoKHF1ZXJ5RGVzYy0+ cGxhbm5lZHN0bXQtPnNlc3Npb25WYXJpYWJsZXMpOworCisJCS8qIGNyZWF0ZSB0aGUgYXJyYXkg dXNlZCBmb3IgcGFzc2luZyB2YWx1ZXMgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCQll c3RhdGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzID0gKFNlc3Npb25WYXJpYWJsZVZhbHVlICopCisJ CQlwYWxsb2MoblNlc3Npb25WYXJpYWJsZXMgKiBzaXplb2YoU2Vzc2lvblZhcmlhYmxlVmFsdWUp KTsKKworCQkvKiBmaWxsIHRoZSBhcnJheSAqLworCQlmb3JlYWNoX25vZGUoUGFyYW0sIHBhcmFt LCBxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5zZXNzaW9uVmFyaWFibGVzKQorCQl7CisJCQllc3Rh dGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzW2ldLnZhbHVlID0KKwkJCQlHZXRTZXNzaW9uVmFyaWFi bGVXaXRoVHlwZWNoZWNrKHBhcmFtLT5wYXJhbXZhcm5hbWUsCisJCQkJCQkJCQkJCQlwYXJhbS0+ cGFyYW10eXBlLAorCQkJCQkJCQkJCQkJcGFyYW0tPnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkJ JmVzdGF0ZS0+ZXNfc2Vzc2lvbl92YXJpYWJsZXNbaV0uaXNudWxsKTsKKworCQkJaSsrOworCQl9 CisKKwkJZXN0YXRlLT5lc19udW1fc2Vzc2lvbl92YXJpYWJsZXMgPSBuU2Vzc2lvblZhcmlhYmxl czsKKwl9CisKIAkvKgogCSAqIEZpbGwgaW4gdGhlIHF1ZXJ5IGVudmlyb25tZW50LCBpZiBhbnks IGZyb20gcXVlcnlEZXNjLgogCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhl Y25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaAppbmRleCA2NGZmNjk5NjQz MS4uZDA2NDJlYWU0MTggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5o CisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCkBAIC02NDUsNiArNjQ1LDE2IEBA IHR5cGVkZWYgc3RydWN0IEFzeW5jUmVxdWVzdAogCQkJCQkJCQkgKiB0dXBsZXMpICovCiB9IEFz eW5jUmVxdWVzdDsKIAorLyogLS0tLS0tLS0tLS0tLS0tLQorICogU2Vzc2lvblZhcmlhYmxlVmFs dWUKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgU2Vzc2lvblZhcmlh YmxlVmFsdWUKK3sKKwlib29sCQlpc251bGw7CisJRGF0dW0JCXZhbHVlOworfSBTZXNzaW9uVmFy aWFibGVWYWx1ZTsKKwogLyogLS0tLS0tLS0tLS0tLS0tLQogICoJICBFU3RhdGUgaW5mb3JtYXRp b24KICAqCkBAIC03MDQsNiArNzE0LDEwIEBAIHR5cGVkZWYgc3RydWN0IEVTdGF0ZQogCVBhcmFt TGlzdEluZm8gZXNfcGFyYW1fbGlzdF9pbmZvOwkvKiB2YWx1ZXMgb2YgZXh0ZXJuYWwgcGFyYW1z ICovCiAJUGFyYW1FeGVjRGF0YSAqZXNfcGFyYW1fZXhlY192YWxzOwkvKiB2YWx1ZXMgb2YgaW50 ZXJuYWwgcGFyYW1zICovCiAKKwkvKiBTZXNzaW9uIHZhcmlhYmxlcyBpbmZvOiAqLworCWludAkJ CWVzX251bV9zZXNzaW9uX3ZhcmlhYmxlczsJLyogbnVtYmVyIG9mIHVzZWQgdmFyaWFibGVzICov CisJU2Vzc2lvblZhcmlhYmxlVmFsdWUgKmVzX3Nlc3Npb25fdmFyaWFibGVzOyAvKiBhcnJheSBv ZiBjb3BpZXMgb2YgdmFsdWVzICovCisKIAlRdWVyeUVudmlyb25tZW50ICplc19xdWVyeUVudjsJ LyogcXVlcnkgZW52aXJvbm1lbnQgKi8KIAogCS8qIE90aGVyIHdvcmtpbmcgc3RhdGU6ICovCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5v dXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAxZWZhNzFjOGYwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kbWwub3V0CkBAIC0wLDAgKzEsMTM1IEBACitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1w X3ZhcjAxIEFTIGludDsKKy0tIHNob3VsZCBub3QgYmUgYWNjZXNzaWJsZSB3aXRob3V0IHZhcmlh YmxlJ3MgZmVuY2UKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1QgdGVtcF92YXIwMTsKK0VSUk9SOiAg Y29sdW1uICJ0ZW1wX3ZhcjAxIiBkb2VzIG5vdCBleGlzdAorTElORSAxOiBTRUxFQ1QgdGVtcF92 YXIwMTsKKyAgICAgICAgICAgICAgIF4KKy0tIHNob3VsZCBiZSBvaworU0VMRUNUIFZBUklBQkxF KHRlbXBfdmFyMDEpOworIHRlbXBfdmFyMDEgCistLS0tLS0tLS0tLS0KKyAgICAgICAgICAgCiso MSByb3cpCisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0RPICQkCitCRUdJTgorICBSQUlTRSBOT1RJ Q0UgJyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VORDsKKyQkOworTk9USUNFOiAgPE5VTEw+ CistLSB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgYnkgcGVyc2lzdGVudCBvYmplY3RzCistLSB0 aGF0IGNoZWNrcyBkZXBlbmRlbmN5CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVklFVyB0 ZW1wdiBBUyBTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CitFUlJPUjogIHNlc3Npb24gdmFy aWFibGUgInRlbXBfdmFyMDEiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEgcGVyc2lzdGVudCBv YmplY3QKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc3FsKCkKK1JFVFVSTlMg aW50IEFTICQkCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CiskJCBMQU5HVUFHRSBzcWw7 CitTRUxFQ1QgdGVzdHZhcl9zcWwoKTsKKyB0ZXN0dmFyX3NxbCAKKy0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgIAorKDEgcm93KQorCistLSBzZXNzaW9uIHZhcmlhYmxlIGNhbm5vdCBiZSB1c2Vk IGFzIHBhcmFtZXRlciBvZiBDQUxMIG9yIEVYRUNVVEUKK0NSRUFURSBPUiBSRVBMQUNFIFBST0NF RFVSRSB0ZXN0dmFyX3Byb2MoaW50KQorQVMgJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScs ICQxOworRU5EOworJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0NB TEwgdGVzdHZhcl9wcm9jKFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKK0VSUk9SOiAgc2Vzc2lvbiB2 YXJpYWJsZSByZWZlcmVuY2UgaXMgbm90IHN1cHBvcnRlZCBoZXJlCitMSU5FIDE6IENBTEwgdGVz dHZhcl9wcm9jKFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgorUFJFUEFSRSBwcmVwc3RtdChpbnQpIEFTIFNFTEVDVCAkMTsKKy0tIHNo b3VsZCBub3QgY3Jhc2gKK0VYRUNVVEUgcHJlcHN0bXQoVkFSSUFCTEUodGVtcF92YXIwMSkpOwor RVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBub3Qgc3VwcG9ydGVkIGhlcmUK K0xJTkUgMTogRVhFQ1VURSBwcmVwc3RtdChWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorRFJPUCBQUk9DRURVUkUgdGVzdHZhcl9wcm9j OworREVBTExPQ0FURSBwcmVwc3RtdDsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJp YWJsZV90ZXN0X3JvbGVfMDM7CitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3Nk KCkKK1JFVFVSTlMgdm9pZCBBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgVkFSSUFC TEUodGVtcF92YXIwMSk7CitFTkQ7CiskJCBMQU5HVUFHRSBwbHBnc3FsOworLS0gb25seSBvd25l ciBjYW4gcmVhZCBkYXRhCitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworLS0gc2hvdWxkIGZhaWwKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsK K0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUgdGVtcF92YXIw MQorLS0gZnggd2l0aCBzZWN1cml0eSBkZWZpbmVyIHNob3VsZCBiZSBvaworU0VMRUNUIHRlc3R2 YXJfc2QoKTsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUg dGVtcF92YXIwMQorQ09OVEVYVDogIFBML3BnU1FMIGV4cHJlc3Npb24gIlZBUklBQkxFKHRlbXBf dmFyMDEpIgorUEwvcGdTUUwgZnVuY3Rpb24gdGVzdHZhcl9zZCgpIGxpbmUgMyBhdCBSQUlTRQor U0VUIFJPTEUgVE8gZGVmYXVsdDsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMTsKKy0tIHRoZXJl IGlzIG5vdCBwbGFuIGNhY2hlIGludmFsaWRhdGlvbgorLS0gYnV0IHN0aWxsIGZ1bmN0aW9ucyB0 aGF0IHVzZXMgZHJvcHBlZCB2YXJpYWJsZXMKKy0tIHNob3VsZCBub3QgdG8gY3Jhc2gKK1NFTEVD VCB0ZXN0dmFyX3NkKCk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDEiIGRv ZXNuJ3QgZXhpc3QKK0NPTlRFWFQ6ICBQTC9wZ1NRTCBleHByZXNzaW9uICJWQVJJQUJMRSh0ZW1w X3ZhcjAxKSIKK1BML3BnU1FMIGZ1bmN0aW9uIHRlc3R2YXJfc2QoKSBsaW5lIDMgYXQgUkFJU0UK K1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlICJ0ZW1wX3Zh cjAxIiBkb2Vzbid0IGV4aXN0CitDT05URVhUOiAgU1FMIGZ1bmN0aW9uICJ0ZXN0dmFyX3NxbCIg ZHVyaW5nIGlubGluaW5nCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsKCk7CitEUk9QIEZVTkNU SU9OIHRlc3R2YXJfc2QoKTsKK0RST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworQ1JFQVRFIFRBQkxFIHRlc3R2YXJfdGVzdHRhYihhIGludCk7CitDUkVBVEUg VEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyIEFTIGludDsKK0lOU0VSVCBJTlRPIHRlc3R2YXJfdGVz dHRhYiBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApOworQ1JFQVRFIElOREVY IHRlc3R2YXJfdGVzdHRhYl9hIE9OIHRlc3R2YXJfdGVzdHRhYihhKTsKK0FOQUxZWkUgdGVzdHZh cl90ZXN0dGFiOworLS0gZm9yY2UgaW5kZXgKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBPRkY7Cist LSBpbmRleCBzY2FuIHNob3VsZCBiZSB1c2VkCitFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAq IEZST00gdGVzdHZhcl90ZXN0dGFiIFdIRVJFIGEgPSBWQVJJQUJMRSh0ZW1wX3ZhcjAyKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlc3R2YXJfdGVzdHRhYl9hIG9uIHRlc3R2 YXJfdGVzdHRhYgorICAgSW5kZXggQ29uZDogKGEgPSBWQVJJQUJMRVModGVtcF92YXIwMikpCiso MiByb3dzKQorCitEUk9QIElOREVYIHRlc3R2YXJfdGVzdHRhYl9hOworU0VUIGVuYWJsZV9zZXFz Y2FuIFRPIERFRkFVTFQ7CistLSBwYXJhbGxlbCBleGVjdXRpb24gc2hvdWxkIGJlIGJsb2NrZWQK Ky0tIEVuY291cmFnZSB1c2Ugb2YgcGFyYWxsZWwgcGxhbnMKK1NFVCBwYXJhbGxlbF9zZXR1cF9j b3N0ID0gMDsKK1NFVCBwYXJhbGxlbF90dXBsZV9jb3N0ID0gMDsKK1NFVCBtaW5fcGFyYWxsZWxf dGFibGVfc2Nhbl9zaXplID0gMDsKK1NFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVy ID0gMjsKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxkIGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9G RikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hFUkUgYSA9IDEwMDsKKyAgICAgICAg ICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdhdGhlcgorICAgV29ya2VycyBQbGFubmVkOiAy CisgICAtPiAgUGFyYWxsZWwgU2VxIFNjYW4gb24gdGVzdHZhcl90ZXN0dGFiCisgICAgICAgICBG aWx0ZXI6IChhID0gMTAwKQorKDQgcm93cykKKworLS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgbm90 IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBTZXEgU2NhbiBvbiB0ZXN0dmFyX3Rlc3R0YWIKKyAgIEZpbHRlcjogKGEgPSBWQVJJQUJM RVModGVtcF92YXIwMikpCisoMiByb3dzKQorCitSRVNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0Owor UkVTRVQgcGFyYWxsZWxfdHVwbGVfY29zdDsKK1JFU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemU7CitSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOworRFJPUCBUQUJM RSB0ZXN0dmFyX3Rlc3R0YWI7CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDI7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQppbmRleCA5ZGE3YzZhYjkyOC4uNTUzNjdhMTNkNjkgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQwLDMgKzE0MCw4IEBAIHRlc3Q6IGZhc3RfZGVm YXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9wcyB0 aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVyIHRlc3RzIG1h eSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBBbm90aGVyIGdyb3Vw IG9mIHBhcmFsbGVsIHRlc3RzIChzZXNzaW9uIHZhcmlhYmxlcyByZWxhdGVkKQorIyAtLS0tLS0t LS0tCit0ZXN0OiBzZXNzaW9uX3ZhcmlhYmxlc19kZGwgc2Vzc2lvbl92YXJpYWJsZXNfZG1sCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmY1NmIxOTQ2N2IKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCkBA IC0wLDAgKzEsMTIwIEBACitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAxIEFTIGludDsK KworLS0gc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIHdpdGhvdXQgdmFyaWFibGUncyBmZW5jZQor LS0gc2hvdWxkIGZhaWwKK1NFTEVDVCB0ZW1wX3ZhcjAxOworCistLSBzaG91bGQgYmUgb2sKK1NF TEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKworLS0gc2hvdWxkIG5vdCBjcmFzaAorRE8gJCQK K0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRU5EOwor JCQ7CisKKy0tIHZhcmlhYmxlcyBjYW5ub3QgYmUgdXNlZCBieSBwZXJzaXN0ZW50IG9iamVjdHMK Ky0tIHRoYXQgY2hlY2tzIGRlcGVuZGVuY3kKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBW SUVXIHRlbXB2IEFTIFNFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKworQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKQorUkVUVVJOUyBpbnQgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKyQkIExBTkdVQUdFIHNxbDsKKworU0VMRUNUIHRlc3R2YXJf c3FsKCk7CisKKy0tIHNlc3Npb24gdmFyaWFibGUgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1ldGVy IG9mIENBTEwgb3IgRVhFQ1VURQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHRlc3R2YXJf cHJvYyhpbnQpCitBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgJDE7CitFTkQ7Cisk JCBMQU5HVUFHRSBwbHBnc3FsOworCistLSBzaG91bGQgbm90IGNyYXNoCitDQUxMIHRlc3R2YXJf cHJvYyhWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CisKK1BSRVBBUkUgcHJlcHN0bXQoaW50KSBBUyBT RUxFQ1QgJDE7CisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0VYRUNVVEUgcHJlcHN0bXQoVkFSSUFC TEUodGVtcF92YXIwMSkpOworCitEUk9QIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2M7CitERUFMTE9D QVRFIHByZXBzdG10OworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NkKCkKK1JF VFVSTlMgdm9pZCBBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgVkFSSUFCTEUodGVt cF92YXIwMSk7CitFTkQ7CiskJCBMQU5HVUFHRSBwbHBnc3FsOworCistLSBvbmx5IG93bmVyIGNh biByZWFkIGRhdGEKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3Jv bGVfMDM7CisKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CisK Ky0tIGZ4IHdpdGggc2VjdXJpdHkgZGVmaW5lciBzaG91bGQgYmUgb2sKK1NFTEVDVCB0ZXN0dmFy X3NkKCk7CisKK1NFVCBST0xFIFRPIGRlZmF1bHQ7CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIw MTsKKworLS0gdGhlcmUgaXMgbm90IHBsYW4gY2FjaGUgaW52YWxpZGF0aW9uCistLSBidXQgc3Rp bGwgZnVuY3Rpb25zIHRoYXQgdXNlcyBkcm9wcGVkIHZhcmlhYmxlcworLS0gc2hvdWxkIG5vdCB0 byBjcmFzaAorCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworU0VMRUNUIHRlc3R2YXJfc3FsKCk7CisK K0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zZCgp OworCitEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsKKwor Q1JFQVRFIFRBQkxFIHRlc3R2YXJfdGVzdHRhYihhIGludCk7CitDUkVBVEUgVEVNUCBWQVJJQUJM RSB0ZW1wX3ZhcjAyIEFTIGludDsKKworSU5TRVJUIElOVE8gdGVzdHZhcl90ZXN0dGFiIFNFTEVD VCAqIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCk7CisKK0NSRUFURSBJTkRFWCB0ZXN0dmFy X3Rlc3R0YWJfYSBPTiB0ZXN0dmFyX3Rlc3R0YWIoYSk7CisKK0FOQUxZWkUgdGVzdHZhcl90ZXN0 dGFiOworCistLSBmb3JjZSBpbmRleAorU0VUIGVuYWJsZV9zZXFzY2FuIFRPIE9GRjsKKworLS0g aW5kZXggc2NhbiBzaG91bGQgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBG Uk9NIHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gVkFSSUFCTEUodGVtcF92YXIwMik7CisKK0RS T1AgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2E7CisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBERUZB VUxUOworCistLSBwYXJhbGxlbCBleGVjdXRpb24gc2hvdWxkIGJlIGJsb2NrZWQKKy0tIEVuY291 cmFnZSB1c2Ugb2YgcGFyYWxsZWwgcGxhbnMKK1NFVCBwYXJhbGxlbF9zZXR1cF9jb3N0ID0gMDsK K1NFVCBwYXJhbGxlbF90dXBsZV9jb3N0ID0gMDsKK1NFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nh bl9zaXplID0gMDsKK1NFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0gMjsKKwor LS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxF Q1QgKiBGUk9NIHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gMTAwOworCistLSBwYXJhbGxlbCBw bGFuIHNob3VsZCBub3QgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9N IHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gVkFSSUFCTEUodGVtcF92YXIwMik7CisKK1JFU0VU IHBhcmFsbGVsX3NldHVwX2Nvc3Q7CitSRVNFVCBwYXJhbGxlbF90dXBsZV9jb3N0OworUkVTRVQg bWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZTsKK1JFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJz X3Blcl9nYXRoZXI7CisKK0RST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOworRFJPUCBWQVJJQUJM RSB0ZW1wX3ZhcjAyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxp c3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCBmNzMyZWNiY2Y4Ni4u MTZkZmIxN2I0NGUgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0yNzMzLDYgKzI3MzMs NyBAQCBTZXJpYWxpemVkVHJhbnNhY3Rpb25TdGF0ZQogU2Vzc2lvbgogU2Vzc2lvbkJhY2t1cFN0 YXRlCiBTZXNzaW9uRW5kVHlwZQorU2Vzc2lvblZhcmlhYmxlVmFsdWUKIFNldENvbnN0cmFpbnRT dGF0ZQogU2V0Q29uc3RyYWludFN0YXRlRGF0YQogU2V0Q29uc3RyYWludFRyaWdnZXJEYXRhCi0t IAoyLjUyLjAKCg== --00000000000084c14506452ede2f Content-Type: text/x-patch; charset="US-ASCII"; name="v20251205-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20251205-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_misi65s98 RnJvbSA5MDBkZDZhOWYxMDA2M2VkZDBiYmU4M2JiZWI5YTEyZTU4OTQ4MDBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDE5IE5vdiAyMDI1IDE5OjM2OjA3ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAxLzldIENSRUFURSBWQVJJQUJMRSwgRFJPUCBWQVJJQUJMRQoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjMgKysKIGRvYy9zcmMvc2dt bC9nbG9zc2FyeS5zZ21sICAgICAgICAgICAgICAgICAgICB8ICAxNSArKwogZG9jL3NyYy9zZ21s L3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAgICAgICAgIHwgICAyICsKIGRvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAgICAgICB8IDEzMiArKysrKysrKysrKwogZG9jL3Ny Yy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwgICAgICAgICAgIHwgIDg0ICsrKysrKysKIGRv Yy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYyAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAyMjIgKysrKysrKysrKysrKysr KysrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAgNTUg KysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAy NiArKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgICAgIHwgIDEw ICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMjUg KysKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAyMyAr Kwogc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAxICsK IHNyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oICAgICAgICAgICAgICAgICB8ICAgMiArCiAu Li4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCAgICAgICAgfCAgNDMgKysrKwog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICstCiAu Li4vcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCAgICAgfCAgNTYgKysrKysK IHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgNCArCiAy MSBmaWxlcyBjaGFuZ2VkLCA3MjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sCiBjcmVh dGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC9z ZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2RkbC5z Z21sIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCmluZGV4IDA5YWQ4NDAwZmQwLi4xMGYxYTAwYzI3 NSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9k ZGwuc2dtbApAQCAtNTY1NSw2ICs1NjU1LDI5IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZS T00gbWVhc3VyZW1lbnQgV0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAg IDwvcGFyYT4KICA8L3NlY3QxPgogCisgIDxzZWN0MSBpZD0iZGRsLXNlc3Npb24tdmFyaWFibGVz Ij4KKyAgIDx0aXRsZT5TZXNzaW9uIFZhcmlhYmxlczwvdGl0bGU+CisKKyAgIDxpbmRleHRlcm0g em9uZT0iZGRsLXNlc3Npb24tdmFyaWFibGVzIj4KKyAgICA8cHJpbWFyeT5TZXNzaW9uIHZhcmlh YmxlczwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICA8aW5kZXh0ZXJtPgorICAgIDxw cmltYXJ5PnNlc3Npb24gdmFyaWFibGU8L3ByaW1hcnk+CisgICA8L2luZGV4dGVybT4KKworICAg PHBhcmE+CisgICAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHRlbXBvcmFsIGRhdGFiYXNlIG9iamVj dHMgdGhhdCBjYW4gaG9sZCBhIHZhbHVlLgorICAgIEEgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUg Y3JlYXRlZCBieSB0aGUgPGNvbW1hbmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5kPgorICAgIGNv bW1hbmQuIE9ubHkgb3duZXIgY2FuIHVzZSBzZXNzaW9uIHZhcmlhYmxlLgorICAgPC9wYXJhPgor CisgICA8cGFyYT4KKyAgICBUaGUgc2Vzc2lvbiB2YXJpYWJsZSBob2xkcyB2YWx1ZSBpbiBzZXNz aW9uIG1lbW9yeS4gIFRoaXMgdmFsdWUgaXMgcHJpdmF0ZQorICAgIHRvIGVhY2ggc2Vzc2lvbiBh bmQgaXMgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRzLgorICAgPC9wYXJhPgorICA8L3Nl Y3QxPgorCiAgPHNlY3QxIGlkPSJkZGwtb3RoZXJzIj4KICAgPHRpdGxlPk90aGVyIERhdGFiYXNl IE9iamVjdHM8L3RpdGxlPgogCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dt bCBiL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCmluZGV4IGE3NmNmNWMzODNmLi42NGQ1ZmQ0 MDIxOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwKKysrIGIvZG9jL3Ny Yy9zZ21sL2dsb3NzYXJ5LnNnbWwKQEAgLTE3MjYsNiArMTcyNiwyMSBAQAogICAgPC9nbG9zc2Rl Zj4KICAgPC9nbG9zc2VudHJ5PgogCisgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS1zZXNzaW9u LXZhcmlhYmxlIj4KKyAgIDxnbG9zc3Rlcm0+U2Vzc2lvbiB2YXJpYWJsZTwvZ2xvc3N0ZXJtPgor ICAgPGdsb3NzZGVmPgorICAgIDxwYXJhPgorICAgICBBIHRlbXBvcmFsIGRhdGFiYXNlIG9iamVj dCB0aGF0IGhvbGRzIGEgdmFsdWUgaW4gc2Vzc2lvbiBtZW1vcnkuICBUaGlzCisgICAgIHZhbHVl IGlzIHByaXZhdGUgdG8gZWFjaCBzZXNzaW9uIGFuZCBpcyByZWxlYXNlZCB3aGVuIHRoZSBzZXNz aW9uIGVuZHMuCisgICAgIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBzZXNzaW9uIHZhcmlhYmxl IGlzIG51bGwuICBSZWFkIG9yIHdyaXRlIGFjY2VzcworICAgICB0byBzZXNzaW9uIHZhcmlhYmxl cyBpcyBhbGxvd2VkIG9ubHkgdG8gb3duZXIgKGNyZWF0b3IpLgorICAgIDwvcGFyYT4KKyAgICA8 cGFyYT4KKyAgICAgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSA8eHJlZiBsaW5rZW5kPSJkZGwt c2Vzc2lvbi12YXJpYWJsZXMiLz4uCisgICAgPC9wYXJhPgorICAgPC9nbG9zc2RlZj4KKyAgPC9n bG9zc2VudHJ5PgorCiAgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS1zaGFyZWQtbWVtb3J5Ij4K ICAgIDxnbG9zc3Rlcm0+U2hhcmVkIG1lbW9yeTwvZ2xvc3N0ZXJtPgogICAgPGdsb3NzZGVmPgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9hbGxmaWxlcy5zZ21sCmluZGV4IGUxNjc0MDZjNzQ0Li5hNzM0OTkxOTY1OCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvYWxsZmlsZXMuc2dtbApAQCAtOTksNiArOTksNyBAQCBDb21wbGV0ZSBsaXN0IG9mIHVzYWJs ZSBzZ21sIHNvdXJjZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KIDwhRU5USVRZIGNyZWF0ZVR5 cGUgICAgICAgICBTWVNURU0gImNyZWF0ZV90eXBlLnNnbWwiPgogPCFFTlRJVFkgY3JlYXRlVXNl ciAgICAgICAgIFNZU1RFTSAiY3JlYXRlX3VzZXIuc2dtbCI+CiA8IUVOVElUWSBjcmVhdGVVc2Vy TWFwcGluZyAgU1lTVEVNICJjcmVhdGVfdXNlcl9tYXBwaW5nLnNnbWwiPgorPCFFTlRJVFkgY3Jl YXRlVmFyaWFibGUgICAgIFNZU1RFTSAiY3JlYXRlX3ZhcmlhYmxlLnNnbWwiPgogPCFFTlRJVFkg Y3JlYXRlVmlldyAgICAgICAgIFNZU1RFTSAiY3JlYXRlX3ZpZXcuc2dtbCI+CiA8IUVOVElUWSBk ZWFsbG9jYXRlICAgICAgICAgU1lTVEVNICJkZWFsbG9jYXRlLnNnbWwiPgogPCFFTlRJVFkgZGVj bGFyZSAgICAgICAgICAgIFNZU1RFTSAiZGVjbGFyZS5zZ21sIj4KQEAgLTE0Nyw2ICsxNDgsNyBA QCBDb21wbGV0ZSBsaXN0IG9mIHVzYWJsZSBzZ21sIHNvdXJjZSBmaWxlcyBpbiB0aGlzIGRpcmVj dG9yeS4KIDwhRU5USVRZIGRyb3BUeXBlICAgICAgICAgICBTWVNURU0gImRyb3BfdHlwZS5zZ21s Ij4KIDwhRU5USVRZIGRyb3BVc2VyICAgICAgICAgICBTWVNURU0gImRyb3BfdXNlci5zZ21sIj4K IDwhRU5USVRZIGRyb3BVc2VyTWFwcGluZyAgICBTWVNURU0gImRyb3BfdXNlcl9tYXBwaW5nLnNn bWwiPgorPCFFTlRJVFkgZHJvcFZhcmlhYmxlICAgICAgIFNZU1RFTSAiZHJvcF92YXJpYWJsZS5z Z21sIj4KIDwhRU5USVRZIGRyb3BWaWV3ICAgICAgICAgICBTWVNURU0gImRyb3Bfdmlldy5zZ21s Ij4KIDwhRU5USVRZIGVuZCAgICAgICAgICAgICAgICBTWVNURU0gImVuZC5zZ21sIj4KIDwhRU5U SVRZIGV4ZWN1dGUgICAgICAgICAgICBTWVNURU0gImV4ZWN1dGUuc2dtbCI+CmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3Jl Zi9jcmVhdGVfdmFyaWFibGUuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uNWVkNzRjNWMxNzMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV92YXJpYWJsZS5zZ21sCkBAIC0wLDAgKzEsMTMyIEBACis8IS0tCitkb2Mvc3JjL3NnbWwv cmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KKy0tPgor Cis8cmVmZW50cnkgaWQ9InNxbC1jcmVhdGV2YXJpYWJsZSI+CisgPGluZGV4dGVybSB6b25lPSJz cWwtY3JlYXRldmFyaWFibGUiPgorICA8cHJpbWFyeT5DUkVBVEUgVkFSSUFCTEU8L3ByaW1hcnk+ CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0ZXJtPgorICA8cHJpbWFyeT5zZXNzaW9uIHZhcmlh YmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5PmRlZmluaW5nPC9zZWNvbmRhcnk+CisgPC9pbmRl eHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+Q1JFQVRFIFZBUklBQkxFPC9y ZWZlbnRyeXRpdGxlPgorICA8bWFudm9sbnVtPjc8L21hbnZvbG51bT4KKyAgPHJlZm1pc2NpbmZv PlNRTCAtIExhbmd1YWdlIFN0YXRlbWVudHM8L3JlZm1pc2NpbmZvPgorIDwvcmVmbWV0YT4KKwor IDxyZWZuYW1lZGl2PgorICA8cmVmbmFtZT5DUkVBVEUgVkFSSUFCTEU8L3JlZm5hbWU+CisgIDxy ZWZwdXJwb3NlPmRlZmluZSBhIHNlc3Npb24gdmFyaWFibGU8L3JlZnB1cnBvc2U+CisgPC9yZWZu YW1lZGl2PgorCisgPHJlZnN5bm9wc2lzZGl2PgorPHN5bm9wc2lzPgorQ1JFQVRFIHsgVEVNUCB8 IFRFTVBPUkFMIH0gVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8 L3JlcGxhY2VhYmxlPiBbIEFTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRhdGFf dHlwZTwvcmVwbGFjZWFibGU+Cis8L3N5bm9wc2lzPgorIDwvcmVmc3lub3BzaXNkaXY+CisgPHJl ZnNlY3QxPgorICA8dGl0bGU+RGVzY3JpcHRpb248L3RpdGxlPgorCisgIDxwYXJhPgorICAgVGhl IDxjb21tYW5kPkNSRUFURSBWQVJJQUJMRTwvY29tbWFuZD4gY29tbWFuZCBjcmVhdGVzIGEgdGVt cG9yYWwgc2Vzc2lvbgorICAgdmFyaWFibGUuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRo ZSB2YWx1ZSBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgbG9jYWwgdG8gdGhlIGN1cnJlbnQgc2Vz c2lvbi4gIFJldHJpZXZpbmcKKyAgIGEgc2Vzc2lvbiB2YXJpYWJsZSdzIHZhbHVlIHJldHVybnMg TlVMTCwgdW5sZXNzIGl0cyB2YWx1ZSBpcyBzZXQgdG8KKyAgIHNvbWV0aGluZyBlbHNlIGluIHRo ZSBjdXJyZW50IHNlc3Npb24gd2l0aCBhIDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFuZC4K KyAgIFRoZSBjb250ZW50IG9mIGEgc2Vzc2lvbiB2YXJpYWJsZSBpcyBub3QgdHJhbnNhY3Rpb25h bC4gVGhpcyBpcyB0aGUgc2FtZSBhcworICAgcmVndWxhciB2YXJpYWJsZXMgaW4gcHJvY2VkdXJh bCBsYW5ndWFnZXMuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFNlc3Npb24gdmFyaWFibGVz IGFyZSByZXRyaWV2ZWQgYnkgdGhlIDxjb21tYW5kPlNFTEVDVDwvY29tbWFuZD4KKyAgIGNvbW1h bmQuICBUaGVpciB2YWx1ZSBpcyBzZXQgd2l0aCB0aGUgPGNvbW1hbmQ+TEVUPC9jb21tYW5kPiBj b21tYW5kLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTZXNzaW9uIHZhcmlhYmxlcyBjYW5u b3QgYmUgdXNlZCBpbiB2aWV3cyBvciBpbiBTUUwgZnVuY3Rpb25zIHVzaW5nCisgICBTUUwtY29u Zm9ybWluZyBzdHlsZSBzeW50YXguCisgIDwvcGFyYT4KKworICA8bm90ZT4KKyAgIDxwYXJhPgor ICAgIFNlc3Npb24gdmFyaWFibGVzIGNhbiBiZSA8cXVvdGU+c2hhZG93ZWQ8L3F1b3RlPiBieSBv dGhlciBpZGVudGlmaWVycy4KKyAgICBGb3IgZGV0YWlscywgc2VlIDx4cmVmIGxpbmtlbmQ9ImRk bC1zZXNzaW9uLXZhcmlhYmxlcyIvPi4KKyAgIDwvcGFyYT4KKyAgPC9ub3RlPgorIDwvcmVmc2Vj dDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KKworICA8dmFy aWFibGVsaXN0PgorCisgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUtbmFt ZSI+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxh Y2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIG5h bWUgb2YgdGhlIHNlc3Npb24gdmFyaWFibGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVt PgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV2 YXJpYWJsZS1kYXRhX3R5cGUiPgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5kYXRhX3R5cGU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAg IDxwYXJhPgorICAgICAgVGhlIG5hbWUsIG9wdGlvbmFsbHkgc2NoZW1hLXF1YWxpZmllZCwgb2Yg dGhlIGRhdGEgdHlwZSBvZiB0aGUgc2Vzc2lvbgorICAgICAgdmFyaWFibGUuIE9ubHkgYnVpbGRp biBzY2FsYXIgZGF0YSB0eXBlcyBhcmUgYWxsb3dlZC4gQXJyYXlzIG9yIGNvbXBvc2l0ZQorICAg ICAgdHlwZXMgYXJlIG5vdCBhbGxvd2VkLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4K KyAgIDwvdmFybGlzdGVudHJ5PgorCisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisK KyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Ob3RlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBVc2Ug dGhlIDxjb21tYW5kPkRST1AgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgdG8gcmVtb3ZlIGEg c2Vzc2lvbgorICAgdmFyaWFibGUuCisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNl Y3QxPgorICA8dGl0bGU+RXhhbXBsZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAgQ3JlYXRlIGFu IGRhdGUgc2Vzc2lvbiB2YXJpYWJsZSA8bGl0ZXJhbD52YXIxPC9saXRlcmFsPjoKKzxwcm9ncmFt bGlzdGluZz4KK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgdmFyMSBBUyBkYXRlOworPC9wcm9n cmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAg PHRpdGxlPkNvbXBhdGliaWxpdHk8L3RpdGxlPgorCisgIDxwYXJhPgorICAgVGhlIDxjb21tYW5k PkNSRUFURSBWQVJJQUJMRTwvY29tbWFuZD4gY29tbWFuZCBpcyBhCisgICA8cHJvZHVjdG5hbWU+ UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IGV4dGVuc2lvbi4KKyAgPC9wYXJhPgorIDwvcmVmc2Vj dDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5TZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBs ZWxpc3QgdHlwZT0iaW5saW5lIj4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWRyb3B2 YXJpYWJsZSIvPjwvbWVtYmVyPgorICA8L3NpbXBsZWxpc3Q+CisgPC9yZWZzZWN0MT4KKworPC9y ZWZlbnRyeT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21s IGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU4NTE3YTc4MjAwCi0tLSAvZGV2L251bGwKKysrIGIvZG9j L3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKQEAgLTAsMCArMSw4NCBAQAorPCEtLQor ZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKK1Bvc3RncmVTUUwgZG9jdW1lbnRh dGlvbgorLS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWRyb3B2YXJpYWJsZSI+CisgPGluZGV4dGVy bSB6b25lPSJzcWwtZHJvcHZhcmlhYmxlIj4KKyAgPHByaW1hcnk+RFJPUCBWQVJJQUJMRTwvcHJp bWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxpbmRleHRlcm0+CisgIDxwcmltYXJ5PnNlc3Npb24g dmFyaWFibGU8L3ByaW1hcnk+CisgIDxzZWNvbmRhcnk+cmVtb3Zpbmc8L3NlY29uZGFyeT4KKyA8 L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRsZT5EUk9QIFZBUklBQkxF PC9yZWZlbnRyeXRpdGxlPgorICA8bWFudm9sbnVtPjc8L21hbnZvbG51bT4KKyAgPHJlZm1pc2Np bmZvPlNRTCAtIExhbmd1YWdlIFN0YXRlbWVudHM8L3JlZm1pc2NpbmZvPgorIDwvcmVmbWV0YT4K KworIDxyZWZuYW1lZGl2PgorICA8cmVmbmFtZT5EUk9QIFZBUklBQkxFPC9yZWZuYW1lPgorICA8 cmVmcHVycG9zZT5yZW1vdmUgYSBzZXNzaW9uIHZhcmlhYmxlPC9yZWZwdXJwb3NlPgorIDwvcmVm bmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0RST1AgVkFSSUFCTEUg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgorPC9zeW5v cHNpcz4KKyA8L3JlZnN5bm9wc2lzZGl2PgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+RGVzY3Jp cHRpb248L3RpdGxlPgorCisgIDxwYXJhPgorICAgPGNvbW1hbmQ+RFJPUCBWQVJJQUJMRTwvY29t bWFuZD4gcmVtb3ZlcyBhIHNlc3Npb24gdmFyaWFibGUuCisgICBBIHNlc3Npb24gdmFyaWFibGUg Y2FuIG9ubHkgYmUgcmVtb3ZlZCBieSBpdHMgb3duZXIgb3IgYSBzdXBlcnVzZXIuCisgIDwvcGFy YT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0 bGU+CisgIDx2YXJpYWJsZWxpc3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAg PGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9mIGEgc2Vzc2lvbiB2YXJp YWJsZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4K KyAgPC92YXJpYWJsZWxpc3Q+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxl PkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRvIHJlbW92ZSB0aGUgc2Vzc2lvbiB2 YXJpYWJsZSA8bGl0ZXJhbD52YXIxPC9saXRlcmFsPjoKKworPHByb2dyYW1saXN0aW5nPgorRFJP UCBWQVJJQUJMRSB2YXIxOworPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CisgPC9yZWZzZWN0MT4K KworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkNvbXBhdGliaWxpdHk8L3RpdGxlPgorCisgIDxwYXJh PgorICAgVGhlIDxjb21tYW5kPkRST1AgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgaXMgYQor ICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNpb24uCisgIDwv cGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2VlIEFsc288L3Rp dGxlPgorCisgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVyPjx4cmVmIGxp bmtlbmQ9InNxbC1jcmVhdGV2YXJpYWJsZSIvPjwvbWVtYmVyPgorICA8L3NpbXBsZWxpc3Q+Cisg PC9yZWZzZWN0MT4KKworPC9yZWZlbnRyeT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWZl cmVuY2Uuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbAppbmRleCAyY2YwMmMzN2Ix Ny4uYzAzZTc2OTJjN2EgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKQEAgLTEyNyw2ICsxMjcsNyBAQAogICAg JmNyZWF0ZVR5cGU7CiAgICAmY3JlYXRlVXNlcjsKICAgICZjcmVhdGVVc2VyTWFwcGluZzsKKyAg ICZjcmVhdGVWYXJpYWJsZTsKICAgICZjcmVhdGVWaWV3OwogICAgJmRlYWxsb2NhdGU7CiAgICAm ZGVjbGFyZTsKQEAgLTE3NSw2ICsxNzYsNyBAQAogICAgJmRyb3BUeXBlOwogICAgJmRyb3BVc2Vy OwogICAgJmRyb3BVc2VyTWFwcGluZzsKKyAgICZkcm9wVmFyaWFibGU7CiAgICAmZHJvcFZpZXc7 CiAgICAmZW5kOwogICAgJmV4ZWN1dGU7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5k cy9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCmluZGV4IDY0Y2I2Mjc4 NDA5Li5kNDJlZDg5NTJhMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvTWFrZWZp bGUKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvTWFrZWZpbGUKQEAgLTU0LDYgKzU0LDcgQEAg T0JKUyA9IFwKIAlzZWNsYWJlbC5vIFwKIAlzZXF1ZW5jZS5vIFwKIAlzZXF1ZW5jZV94bG9nLm8g XAorCXNlc3Npb25fdmFyaWFibGUubyBcCiAJc3RhdHNjbWRzLm8gXAogCXN1YnNjcmlwdGlvbmNt ZHMubyBcCiAJdGFibGVjbWRzLm8gXApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv ZHJvcGNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMKaW5kZXggY2ViOWEy MjliNjMuLjk1MjRmODY3ODU3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9w Y21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMKQEAgLTIyLDYgKzIy LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFs b2cvcGdfcHJvYy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgorI2luY2x1ZGUgImNv bW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNs dWRlICJwYXJzZXIvcGFyc2VfdHlwZS5oIgogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9tZXNvbi5idWlsZAppbmRleCA1ZmMzNTgyNmIxYy4uMWVlYjE4ZmQ5NjAgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL21lc29uLmJ1aWxkCkBAIC00Miw2ICs0Miw3IEBAIGJhY2tlbmRfc291cmNlcyArPSBm aWxlcygKICAgJ3NlY2xhYmVsLmMnLAogICAnc2VxdWVuY2UuYycsCiAgICdzZXF1ZW5jZV94bG9n LmMnLAorICAnc2Vzc2lvbl92YXJpYWJsZS5jJywKICAgJ3N0YXRzY21kcy5jJywKICAgJ3N1YnNj cmlwdGlvbmNtZHMuYycsCiAgICd0YWJsZWNtZHMuYycsCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmE3 MzgxZGYyNTVhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5jCkBAIC0wLDAgKzEsMjIyIEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisg KiBzZXNzaW9uX3ZhcmlhYmxlLmMKKyAqCSAgc2Vzc2lvbiB2YXJpYWJsZSBjcmVhdGlvbi9tYW5p cHVsYXRpb24gY29tbWFuZHMKKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAy NSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHly aWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisg KgorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5jbHVkZSAicG9z dGdyZXMuaCIKKworI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKKyNpbmNsdWRlICJj YXRhbG9nL3BnX2xhbmd1YWdlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCisjaW5j bHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJzZV90 eXBlLmgiCisjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVkZSAidXRpbHMvYWNsLmgi CisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgor I2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgi CisjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKKworLyoKKyAqIFRoZSBzZXNzaW9uIHZhcmlh YmxlcyBhcmUgc3RvcmVkIGluIHRoZSBiYWNrZW5kJ3MgcHJpdmF0ZSBtZW1vcnkgKGRhdGEsCisg KiBtZXRhZGF0YSkgaW4gdGhlIGRlZGljYXRlZCBtZW1vcnkgY29udGV4dCBTVmFyaWFibGVNZW1v cnlDb250ZXh0IGluIGJpbmFyeQorICogZm9ybWF0LiBUaGV5IGFyZSBzdG9yZWQgaW4gdGhlICJz ZXNzaW9udmFycyIgaGFzaCB0YWJsZSwgd2hvc2Uga2V5IGlzIHRoZQorICogbmFtZSBvZiB0aGUg dmFyaWFibGUuCisgKgorICogT25seSBvd25lciAoY3JlYXRvcikgY2FuIGFjY2VzcyB0aGUgc2Vz c2lvbiB2YXJpYWJsZXMuIEJlY2F1c2UgdGhlcmUgaXMKKyAqIG5vdCBjYXRhbG9nIHN1cHBvcnQs IHRoZXJlIGlzIG5vdCBwb3NzaWJpbGl0eSB0byB0cmFjayBkZXBlbmRlY2llcywgYW5kCisgKiB0 aGVuIG9ubHkgYnVpbGRpbiB0eXBlcy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgU1ZhcmlhYmxlRGF0 YQoreworCU5hbWVEYXRhCXZhcm5hbWU7CisKKwlPaWQJCQl2YXJvd25lcjsKKwlPaWQJCQl2YXJ0 eXBlOworCWludDMyCQl2YXJ0eXBtb2Q7CisJT2lkCQkJdmFyY29sbGF0aW9uOworCisJYm9vbAkJ aXNudWxsOworCURhdHVtCQl2YWx1ZTsKKworCWludDE2CQl0eXBsZW47CisJYm9vbAkJdHlwYnl2 YWw7Cit9IFNWYXJpYWJsZURhdGE7CisKK3R5cGVkZWYgU1ZhcmlhYmxlRGF0YSAqU1ZhcmlhYmxl OworCitzdGF0aWMgSFRBQiAqc2Vzc2lvbnZhcnMgPSBOVUxMOwkvKiBoYXNoIHRhYmxlIGZvciBz ZXNzaW9uIHZhcmlhYmxlcyAqLworCitzdGF0aWMgTWVtb3J5Q29udGV4dCBTVmFyaWFibGVNZW1v cnlDb250ZXh0ID0gTlVMTDsKKworLyoKKyAqIENyZWF0ZSB0aGUgaGFzaCB0YWJsZSBmb3Igc3Rv cmluZyBzZXNzaW9uIHZhcmlhYmxlcy4KKyAqLworc3RhdGljIHZvaWQKK2NyZWF0ZV9zZXNzaW9u dmFyc19oYXNodGFibGVzKHZvaWQpCit7CisJSEFTSENUTAkJdmFyc19jdGw7CisKKwlBc3NlcnQo IXNlc3Npb252YXJzKTsKKworCWlmICghU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCkKKwl7CisJCS8q IHdlIG5lZWQgb3VyIG93biBsb25nLWxpdmVkIG1lbW9yeSBjb250ZXh0ICovCisJCVNWYXJpYWJs ZU1lbW9yeUNvbnRleHQgPQorCQkJQWxsb2NTZXRDb250ZXh0Q3JlYXRlKFRvcE1lbW9yeUNvbnRl eHQsCisJCQkJCQkJCSAgInNlc3Npb24gdmFyaWFibGVzIiwKKwkJCQkJCQkJICBBTExPQ1NFVF9T VEFSVF9TTUFMTF9TSVpFUyk7CisJfQorCisJdmFyc19jdGwua2V5c2l6ZSA9IE5BTUVEQVRBTEVO OworCXZhcnNfY3RsLmVudHJ5c2l6ZSA9IHNpemVvZihTVmFyaWFibGVEYXRhKTsKKwl2YXJzX2N0 bC5oY3h0ID0gU1ZhcmlhYmxlTWVtb3J5Q29udGV4dDsKKworCXNlc3Npb252YXJzID0gaGFzaF9j cmVhdGUoIlNlc3Npb24gdmFyaWFibGVzIiwgNjQsICZ2YXJzX2N0bCwKKwkJCQkJCQkgIEhBU0hf RUxFTSB8IEhBU0hfU1RSSU5HUyB8IEhBU0hfQ09OVEVYVCk7Cit9CisKKy8qCisgKiBSZXR1cm5z IGVudHJ5IG9mIHNlc3Npb24gdmFyaWFibGUgc3BlY2lmaWVkIGJ5IG5hbWUKKyAqLworc3RhdGlj IFNWYXJpYWJsZQorc2VhcmNoX3ZhcmlhYmxlKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxl CXN2YXI7CisKKwlpZiAoIXNlc3Npb252YXJzKQorCQljcmVhdGVfc2Vzc2lvbnZhcnNfaGFzaHRh YmxlcygpOworCisJc3ZhciA9IChTVmFyaWFibGUpIGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLCB2 YXJuYW1lLAorCQkJCQkJCQkgICBIQVNIX0ZJTkQsIE5VTEwpOworCisJaWYgKCFzdmFyKQorCQll cmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJ CQkJIGVycm1zZygic2Vzc2lvbiB2YXJpYWJsZSBcIiVzXCIgZG9lc24ndCBleGlzdCIsCisJCQkJ CQl2YXJuYW1lKSkpOworCisJcmV0dXJuIHN2YXI7Cit9CisKKy8qCisgKiBDcmVhdGVzIGEgbmV3 IHZhcmlhYmxlIC0gZG9lcyBuZXcgZW50cnkgaW4gc2Vzc2lvbnZhcnMKKyAqCisgKiBVc2VkIGJ5 IENSRUFURSBWQVJJQUJMRSBjb21tYW5kCisgKi8KK3ZvaWQKK0NyZWF0ZVZhcmlhYmxlKFBhcnNl U3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpCit7CisJT2lkCQkJdHlw ZWlkOworCWludDMyCQl0eXBtb2Q7CisJT2lkCQkJdHlwY29sbGF0aW9uOworCU9pZAkJCXZhcm93 bmVyID0gR2V0VXNlcklkKCk7CisJU1ZhcmlhYmxlCXN2YXI7CisJYm9vbAkJZm91bmQ7CisJSGVh cFR1cGxlCXByb2N0dXA7CisJRm9ybV9wZ19wcm9jIHByb2M7CisJaW50MTYJCXR5cGxlbjsKKwli b29sCQl0eXBieXZhbDsKKwlPaWQJCQl0eXBpbnB1dDsKKwlPaWQJCQl0eXBpb3BhcmFtOworCUFj bFJlc3VsdAlhY2xyZXN1bHQ7CisKKwl0eXBlbmFtZVR5cGVJZEFuZE1vZChwc3RhdGUsIHN0bXQt PnR5cGVOYW1lLCAmdHlwZWlkLCAmdHlwbW9kKTsKKworCWlmIChnZXRfdHlwdHlwZSh0eXBlaWQp ICE9IFRZUFRZUEVfQkFTRSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X1dST05HX09CSkVDVF9UWVBFKSwKKwkJCQkgZXJybXNnKCIlcyBpcyBub3QgYSBiYXNlIHR5cGUi LAorCQkJCQkJZm9ybWF0X3R5cGVfYmUodHlwZWlkKSkpKTsKKworCWlmIChPaWRJc1ZhbGlkKGdl dF9lbGVtZW50X3R5cGUodHlwZWlkKSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUo RVJSQ09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCisJCQkJIGVycm1zZygiJXMgdHlwZSBpcyBhbiBh cnJheSIsCisJCQkJCQlmb3JtYXRfdHlwZV9iZSh0eXBlaWQpKSkpOworCisJYWNscmVzdWx0ID0g b2JqZWN0X2FjbGNoZWNrKFR5cGVSZWxhdGlvbklkLCB0eXBlaWQsIEdldFVzZXJJZCgpLCBBQ0xf VVNBR0UpOworCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCWFjbGNoZWNrX2Vycm9y X3R5cGUoYWNscmVzdWx0LCB0eXBlaWQpOworCisJLyogYWxsb3cgb25seSBidWlsZGluIHR5cGVz ICovCisJZ2V0VHlwZUlucHV0SW5mbyh0eXBlaWQsICZ0eXBpbnB1dCwgJnR5cGlvcGFyYW0pOwor CisJcHJvY3R1cCA9IFNlYXJjaFN5c0NhY2hlMShQUk9DT0lELCBPYmplY3RJZEdldERhdHVtKHR5 cGlucHV0KSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHByb2N0dXApKQorCQllbG9nKEVSUk9S LCAiY2Fubm90IHRvIGZpbmQgZnVuY3Rpb24gb2lkICVkIiwgdHlwaW5wdXQpOworCisJcHJvYyA9 IChGb3JtX3BnX3Byb2MpIEdFVFNUUlVDVChwcm9jdHVwKTsKKwlpZiAocHJvYy0+cHJvbGFuZyAh PSBJTlRFUk5BTGxhbmd1YWdlSWQpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJS Q09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCisJCQkJIGVycm1zZygiJXMgaXMgbm90IGEgaW50ZXJu YWwgdHlwZSIsCisJCQkJCQlmb3JtYXRfdHlwZV9iZSh0eXBlaWQpKSkpOworCisJUmVsZWFzZVN5 c0NhY2hlKHByb2N0dXApOworCisJZ2V0X3R5cGxlbmJ5dmFsKHR5cGVpZCwgJnR5cGxlbiwgJnR5 cGJ5dmFsKTsKKwl0eXBjb2xsYXRpb24gPSBnZXRfdHlwY29sbGF0aW9uKHR5cGVpZCk7CisKKwlp ZiAoIXNlc3Npb252YXJzKQorCQljcmVhdGVfc2Vzc2lvbnZhcnNfaGFzaHRhYmxlcygpOworCisJ c3ZhciA9IGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLCBzdG10LT5uYW1lLAorCQkJCQkgICBIQVNI X0VOVEVSLCAmZm91bmQpOworCisJaWYgKGZvdW5kKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShl cnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCisJCQkJIGVycm1zZygic2Vzc2lvbiB2 YXJpYWJsZSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAorCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwor CW5hbWVzdHJjcHkoJnN2YXItPnZhcm5hbWUsIHN0bXQtPm5hbWUpOworCXN2YXItPnZhcnR5cGUg PSB0eXBlaWQ7CisJc3Zhci0+dmFydHlwbW9kID0gdHlwbW9kOworCXN2YXItPnZhcmNvbGxhdGlv biA9IHR5cGNvbGxhdGlvbjsKKwlzdmFyLT52YXJvd25lciA9IHZhcm93bmVyOworCXN2YXItPnR5 cGxlbiA9IHR5cGxlbjsKKwlzdmFyLT50eXBieXZhbCA9IHR5cGJ5dmFsOworCisJc3Zhci0+dmFs dWUgPSAoRGF0dW0pIDA7CisJc3Zhci0+aXNudWxsID0gdHJ1ZTsKK30KKworLyoKKyAqIERyb3Ag dmFyaWFibGUgYnkgbmFtZQorICovCit2b2lkCitEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFy bmFtZSkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFy bmFtZSk7CisKKwkvKiBvbmx5IG93bmVyIGNhbiBnZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLwor CWlmIChzdmFyLT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkpCisJCWVy ZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdF KSwKKwkJCQkgZXJybXNnKCJtdXN0IGJlIG93bmVyIG9mIHNlc3Npb24gdmFyaWFibGUgJXMiLAor CQkJCQkJdmFybmFtZSkpKTsKKworCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlzbnVs bCkKKwkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7CisKKwlpZiAoaGFzaF9z ZWFyY2goc2Vzc2lvbnZhcnMsCisJCQkJCSAgIHZhcm5hbWUsCisJCQkJCSAgIEhBU0hfUkVNT1ZF LAorCQkJCQkgICBOVUxMKSA9PSBOVUxMKQorCQllbG9nKEVSUk9SLCAiaGFzaCB0YWJsZSBjb3Jy dXB0ZWQiKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IGMzYTBhMzU0YTljLi4wYTVlZmQ3MzNkYyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CkBAIC0yOTAsMTMgKzI5MCwxMyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2 ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwog CQlDb25zdHJhaW50c1NldFN0bXQgQ29weVN0bXQgQ3JlYXRlQXNTdG10IENyZWF0ZUNhc3RTdG10 CiAJCUNyZWF0ZURvbWFpblN0bXQgQ3JlYXRlRXh0ZW5zaW9uU3RtdCBDcmVhdGVHcm91cFN0bXQg Q3JlYXRlT3BDbGFzc1N0bXQKIAkJQ3JlYXRlT3BGYW1pbHlTdG10IEFsdGVyT3BGYW1pbHlTdG10 IENyZWF0ZVBMYW5nU3RtdAotCQlDcmVhdGVTY2hlbWFTdG10IENyZWF0ZVNlcVN0bXQgQ3JlYXRl U3RtdCBDcmVhdGVTdGF0c1N0bXQgQ3JlYXRlVGFibGVTcGFjZVN0bXQKLQkJQ3JlYXRlRmR3U3Rt dCBDcmVhdGVGb3JlaWduU2VydmVyU3RtdCBDcmVhdGVGb3JlaWduVGFibGVTdG10CisJCUNyZWF0 ZVNjaGVtYVN0bXQgQ3JlYXRlU2VxU3RtdCBDcmVhdGVTZXNzaW9uVmFyU3RtdCBDcmVhdGVTdG10 IENyZWF0ZVN0YXRzU3RtdAorCQlDcmVhdGVUYWJsZVNwYWNlU3RtdCBDcmVhdGVGZHdTdG10IENy ZWF0ZUZvcmVpZ25TZXJ2ZXJTdG10IENyZWF0ZUZvcmVpZ25UYWJsZVN0bXQKIAkJQ3JlYXRlQXNz ZXJ0aW9uU3RtdCBDcmVhdGVUcmFuc2Zvcm1TdG10IENyZWF0ZVRyaWdTdG10IENyZWF0ZUV2ZW50 VHJpZ1N0bXQKIAkJQ3JlYXRlVXNlclN0bXQgQ3JlYXRlVXNlck1hcHBpbmdTdG10IENyZWF0ZVJv bGVTdG10IENyZWF0ZVBvbGljeVN0bXQKIAkJQ3JlYXRlZGJTdG10IERlY2xhcmVDdXJzb3JTdG10 IERlZmluZVN0bXQgRGVsZXRlU3RtdCBEaXNjYXJkU3RtdCBEb1N0bXQKIAkJRHJvcE9wQ2xhc3NT dG10IERyb3BPcEZhbWlseVN0bXQgRHJvcFN0bXQKLQkJRHJvcENhc3RTdG10IERyb3BSb2xlU3Rt dAorCQlEcm9wQ2FzdFN0bXQgRHJvcFJvbGVTdG10IERyb3BTZXNzaW9uVmFyU3RtdAogCQlEcm9w ZGJTdG10IERyb3BUYWJsZVNwYWNlU3RtdAogCQlEcm9wVHJhbnNmb3JtU3RtdAogCQlEcm9wVXNl ck1hcHBpbmdTdG10IEV4cGxhaW5TdG10IEZldGNoU3RtdApAQCAtNzg5LDggKzc4OSw4IEBAIHN0 YXRpYyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICph bGlhc2VzLCBOb2RlICpxdWVyeSk7CiAJVUVTQ0FQRSBVTkJPVU5ERUQgVU5DT05ESVRJT05BTCBV TkNPTU1JVFRFRCBVTkVOQ1JZUFRFRCBVTklPTiBVTklRVUUgVU5LTk9XTgogCVVOTElTVEVOIFVO TE9HR0VEIFVOVElMIFVQREFURSBVU0VSIFVTSU5HCiAKLQlWQUNVVU0gVkFMSUQgVkFMSURBVEUg VkFMSURBVE9SIFZBTFVFX1AgVkFMVUVTIFZBUkNIQVIgVkFSSUFESUMgVkFSWUlORwotCVZFUkJP U0UgVkVSU0lPTl9QIFZJRVcgVklFV1MgVklSVFVBTCBWT0xBVElMRQorCVZBQ1VVTSBWQUxJRCBW QUxJREFURSBWQUxJREFUT1IgVkFMVUVfUCBWQUxVRVMgVkFSQ0hBUiBWQVJJQURJQyBWQVJJQUJM RQorCVZBUllJTkcgVkVSQk9TRSBWRVJTSU9OX1AgVklFVyBWSUVXUyBWSVJUVUFMIFZPTEFUSUxF CiAKIAlXQUlUIFdIRU4gV0hFUkUgV0hJVEVTUEFDRV9QIFdJTkRPVyBXSVRIIFdJVEhJTiBXSVRI T1VUIFdPUksgV1JBUFBFUiBXUklURQogCkBAIC0xMDU2LDYgKzEwNTYsNyBAQCBzdG10OgogCQkJ fCBDcmVhdGVQb2xpY3lTdG10CiAJCQl8IENyZWF0ZVBMYW5nU3RtdAogCQkJfCBDcmVhdGVTY2hl bWFTdG10CisJCQl8IENyZWF0ZVNlc3Npb25WYXJTdG10CiAJCQl8IENyZWF0ZVNlcVN0bXQKIAkJ CXwgQ3JlYXRlU3RtdAogCQkJfCBDcmVhdGVTdWJzY3JpcHRpb25TdG10CkBAIC0xMDgzLDYgKzEw ODQsNyBAQCBzdG10OgogCQkJfCBEcm9wVGFibGVTcGFjZVN0bXQKIAkJCXwgRHJvcFRyYW5zZm9y bVN0bXQKIAkJCXwgRHJvcFJvbGVTdG10CisJCQl8IERyb3BTZXNzaW9uVmFyU3RtdAogCQkJfCBE cm9wVXNlck1hcHBpbmdTdG10CiAJCQl8IERyb3BkYlN0bXQKIAkJCXwgRXhlY3V0ZVN0bXQKQEAg LTUzMzYsNiArNTMzOCw0NyBAQCBjcmVhdGVfZXh0ZW5zaW9uX29wdF9pdGVtOgogCQkJCX0KIAkJ OwogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJQ1JFQVRF IHsgVEVNUCB8IFRFTVBPUkFSWSB9IFZBUklBQkxFIHZhcm5hbWUgW0FTXSB0eXBlCisgKgorICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqLworCitDcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJCUNSRUFURSBP cHRUZW1wIFZBUklBQkxFIENvbElkIG9wdF9hcyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRl U2Vzc2lvblZhclN0bXQgKm4gPSBtYWtlTm9kZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJ CQkJaWYgKCQyICE9IFJFTFBFUlNJU1RFTkNFX1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkg ZXJybXNnKCJvbmx5IHRlbXBvcmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwK KwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNDsK KwkJCQkJbi0+dHlwZU5hbWUgPSAkNjsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJ OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJRFJPUCBW QVJJQUJMRSB2YXJuYW1lCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitEcm9wU2Vzc2lv blZhclN0bXQ6CisJCQlEUk9QIFZBUklBQkxFIENvbElkCisJCQkJeworCQkJCQlEcm9wU2Vzc2lv blZhclN0bXQgKm4gPSBtYWtlTm9kZShEcm9wU2Vzc2lvblZhclN0bXQpOworCisJCQkJCW4tPm5h bWUgPSAkMzsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCiAvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKICAqCiAgKiBBTFRFUiBFWFRFTlNJT04gbmFtZSBVUERBVEUgWyBUTyB2ZXJz aW9uIF0KQEAgLTE4MTU0LDYgKzE4MTk3LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBW QUxJREFURQogCQkJfCBWQUxJREFUT1IKIAkJCXwgVkFMVUVfUAorCQkJfCBWQVJJQUJMRQogCQkJ fCBWQVJZSU5HCiAJCQl8IFZFUlNJT05fUAogCQkJfCBWSUVXCkBAIC0xODgxMiw2ICsxODg1Niw3 IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwgVkFMVUVfUAogCQkJfCBWQUxVRVMKIAkJCXwg VkFSQ0hBUgorCQkJfCBWQVJJQUJMRQogCQkJfCBWQVJJQURJQwogCQkJfCBWRVJCT1NFCiAJCQl8 IFZFUlNJT05fUApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgYi9zcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYwppbmRleCBkMThhM2E2MGE0Ni4uN2RjOWMwYTZjODAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNrZW5kL3Rj b3AvdXRpbGl0eS5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvc2NoZW1h Y21kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3NlY2xhYmVsLmgiCiAjaW5jbHVkZSAiY29tbWFu ZHMvc2VxdWVuY2UuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAj aW5jbHVkZSAiY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRz L3RhYmxlY21kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3RhYmxlc3BhY2UuaCIKQEAgLTE4Myw2 ICsxODQsNyBAQCBDbGFzc2lmeVV0aWxpdHlDb21tYW5kQXNSZWFkT25seShOb2RlICpwYXJzZXRy ZWUpCiAJCWNhc2UgVF9DcmVhdGVSYW5nZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVSb2xlU3RtdDoK IAkJY2FzZSBUX0NyZWF0ZVNjaGVtYVN0bXQ6CisJCWNhc2UgVF9DcmVhdGVTZXNzaW9uVmFyU3Rt dDoKIAkJY2FzZSBUX0NyZWF0ZVNlcVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTdGF0c1N0bXQ6CiAJ CWNhc2UgVF9DcmVhdGVTdG10OgpAQCAtMjAxLDYgKzIwMyw3IEBAIENsYXNzaWZ5VXRpbGl0eUNv bW1hbmRBc1JlYWRPbmx5KE5vZGUgKnBhcnNldHJlZSkKIAkJY2FzZSBUX0Ryb3BUYWJsZVNwYWNl U3RtdDoKIAkJY2FzZSBUX0Ryb3BVc2VyTWFwcGluZ1N0bXQ6CiAJCWNhc2UgVF9Ecm9wZGJTdG10 OgorCQljYXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgogCQljYXNlIFRfR3JhbnRSb2xlU3RtdDoK IAkJY2FzZSBUX0dyYW50U3RtdDoKIAkJY2FzZSBUX0ltcG9ydEZvcmVpZ25TY2hlbWFTdG10OgpA QCAtMTA2Myw2ICsxMDY2LDE1IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10 ICpwc3RtdCwKIAkJCX0KIAkJCWJyZWFrOwogCisJCWNhc2UgVF9DcmVhdGVTZXNzaW9uVmFyU3Rt dDoKKwkJCUNyZWF0ZVZhcmlhYmxlKHBzdGF0ZSwgKENyZWF0ZVNlc3Npb25WYXJTdG10ICopIHBh cnNldHJlZSk7CisJCQlicmVhazsKKworCQljYXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgorCQkJ LyogTm8gZXZlbnQgdHJpZ2dlcnMgZm9yIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlcyAq LworCQkJRHJvcFZhcmlhYmxlQnlOYW1lKCgoRHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJl ZSktPm5hbWUpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCS8qIEFsbCBvdGhlciBzdGF0 ZW1lbnQgdHlwZXMgaGF2ZSBldmVudCB0cmlnZ2VyIHN1cHBvcnQgKi8KIAkJCVByb2Nlc3NVdGls aXR5U2xvdyhwc3RhdGUsIHBzdG10LCBxdWVyeVN0cmluZywKQEAgLTEzODgsNiArMTQwMCw3IEBA IFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJfQogCQkJCWJyZWFr OwogCisKIAkJCQkvKgogCQkJCSAqICoqKioqKioqKioqKiogb2JqZWN0IGNyZWF0aW9uIC8gZGVz dHJ1Y3Rpb24gKioqKioqKioqKioqKioKIAkJCQkgKi8KQEAgLTMyMzUsNiArMzI0OCwxNCBAQCBD cmVhdGVDb21tYW5kVGFnKE5vZGUgKnBhcnNldHJlZSkKIAkJCX0KIAkJCWJyZWFrOwogCisJCWNh c2UgVF9DcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJCXRhZyA9IENNRFRBR19DUkVBVEVfVkFSSUFC TEU7CisJCQlicmVhazsKKworCQljYXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgorCQkJdGFnID0g Q01EVEFHX0RST1BfVkFSSUFCTEU7CisJCQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJZWxvZyhX QVJOSU5HLCAidW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQiLAogCQkJCSAoaW50KSBub2RlVGFn KHBhcnNldHJlZSkpOwpAQCAtMzc3Myw2ICszNzk0LDExIEBAIEdldENvbW1hbmRMb2dMZXZlbChO b2RlICpwYXJzZXRyZWUpCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lv blZhclN0bXQ6CisJCWNhc2UgVF9Ecm9wU2Vzc2lvblZhclN0bXQ6CisJCQlsZXYgPSBMT0dTVE1U X0RETDsKKwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAJCQllbG9nKFdBUk5JTkcsICJ1bnJlY29n bml6ZWQgbm9kZSB0eXBlOiAlZCIsCiAJCQkJIChpbnQpIG5vZGVUYWcocGFyc2V0cmVlKSk7CmRp ZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgYi9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKaW5kZXggMjBkN2E2NWM2MTQuLjAyMmI5ZGY0MDVhIDEwMDY0NAot LS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCkBAIC0xMzY0LDYgKzEzNjQsNyBAQCBzdGF0aWMgY29uc3QgcGdzcWxf dGhpbmdfdCB3b3Jkc19hZnRlcl9jcmVhdGVbXSA9IHsKIAl7IlVTRVIiLCBRdWVyeV9mb3JfbGlz dF9vZl9yb2xlcywgTlVMTCwgTlVMTCwgS2V5d29yZHNfZm9yX3VzZXJfdGhpbmd9LAogCXsiVVNF UiBNQVBQSU5HIEZPUiIsIE5VTEwsIE5VTEwsIE5VTEx9LAogCXsiVklFVyIsIE5VTEwsIE5VTEws ICZRdWVyeV9mb3JfbGlzdF9vZl92aWV3c30sCisJeyJWQVJJQUJMRSIsIE5VTEwsIE5VTEwsIE5V TEwsIE5VTEwsIFRISU5HX05PX0NSRUFURX0sCiAJe05VTEx9CQkJCQkJLyogZW5kIG9mIGxpc3Qg Ki8KIH07CiAKQEAgLTM3MjMsNyArMzcyNCw3IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBw YXR0ZXJuX2lkLAogLyogQ1JFQVRFIFRBQkxFIC0tLSBpcyBhbGxvd2VkIGluc2lkZSBDUkVBVEUg U0NIRU1BLCBzbyB1c2UgVGFpbE1hdGNoZXMgKi8KIAkvKiBDb21wbGV0ZSAiQ1JFQVRFIFRFTVAv VEVNUE9SQVJZIiB3aXRoIHRoZSBwb3NzaWJsZSB0ZW1wIG9iamVjdHMgKi8KIAllbHNlIGlmIChU YWlsTWF0Y2hlcygiQ1JFQVRFIiwgIlRFTVB8VEVNUE9SQVJZIikpCi0JCUNPTVBMRVRFX1dJVEgo IlNFUVVFTkNFIiwgIlRBQkxFIiwgIlZJRVciKTsKKwkJQ09NUExFVEVfV0lUSCgiU0VRVUVOQ0Ui LCAiVEFCTEUiLCAiVkFSSUFCTEUiLCAiVklFVyIpOwogCS8qIENvbXBsZXRlICJDUkVBVEUgVU5M T0dHRUQiIHdpdGggVEFCTEUgb3IgU0VRVUVOQ0UgKi8KIAllbHNlIGlmIChUYWlsTWF0Y2hlcygi Q1JFQVRFIiwgIlVOTE9HR0VEIikpCiAJCUNPTVBMRVRFX1dJVEgoIlRBQkxFIiwgIlNFUVVFTkNF Iik7CkBAIC00MDc2LDYgKzQwNzcsMTMgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRl cm5faWQsCiAJCQlDT01QTEVURV9XSVRIKCIsIiwgIikiKTsKIAl9CiAKKy8qIENSRUFURSBWQVJJ QUJMRSAqLworCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJURU1QfFRFTVBPUkFSWSIsICJW QVJJQUJMRSIsIE1hdGNoQW55KSkKKwkJQ09NUExFVEVfV0lUSCgiQVMiKTsKKwllbHNlIGlmIChU YWlsTWF0Y2hlcygiVkFSSUFCTEUiLCBNYXRjaEFueSwgIkFTIikpCisJCS8qIENvbXBsZXRlIENS RUFURSBWQVJJQUJMRSA8bmFtZT4gd2l0aCBBUyB0eXBlcyAqLworCQlDT01QTEVURV9XSVRIX1ND SEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl9kYXRhdHlwZXMpOworCiAvKiBDUkVBVEUgVklF VyAtLS0gaXMgYWxsb3dlZCBpbnNpZGUgQ1JFQVRFIFNDSEVNQSwgc28gdXNlIFRhaWxNYXRjaGVz ICovCiAJLyogQ29tcGxldGUgQ1JFQVRFIFsgT1IgUkVQTEFDRSBdIFZJRVcgPG5hbWU+IHdpdGgg QVMgb3IgV0lUSCAqLwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJDUkVBVEUiLCAiVklFVyIsIE1h dGNoQW55KSB8fApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xZWQ0MGQ4N2EzOAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtMCwwICsx LDI1IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBzZXNzaW9udmFyaWFibGUuaAorICoJ ICBwcm90b3R5cGVzIGZvciBzZXNzaW9udmFyaWFibGUuYy4KKyAqCisgKgorICogUG9ydGlvbnMg Q29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdy b3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZl cnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25f dmFyaWFibGUuaAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpZm5kZWYgU0VTU0lP TlZBUklBQkxFX0gKKyNkZWZpbmUgU0VTU0lPTlZBUklBQkxFX0gKKworI2luY2x1ZGUgImNhdGFs b2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJzZV9ub2RlLmgiCisjaW5j bHVkZSAibm9kZXMvcGFyc2Vub2Rlcy5oIgorCitleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQ YXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKK2V4dGVybiB2 b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsKKworI2VuZGlmCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9w YXJzZW5vZGVzLmgKaW5kZXggZDE0Mjk0YTRlY2UuLjU2N2U1OTcwZTUwIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oCkBAIC0zNTU1LDYgKzM1NTUsMjkgQEAgdHlwZWRlZiBzdHJ1Y3QgQWx0ZXJTdGF0 c1N0bXQKIAlib29sCQltaXNzaW5nX29rOwkJLyogc2tpcCBlcnJvciBpZiBzdGF0aXN0aWNzIG9i amVjdCBpcyBtaXNzaW5nICovCiB9IEFsdGVyU3RhdHNTdG10OwogCisKKy8qIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqCQlDcmVhdGUgVmFyaWFibGUgU3RhdGVtZW50CisgKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IENyZWF0ZVNlc3Npb25WYXJTdG10Cit7 CisJTm9kZVRhZwkJdHlwZTsKKwljaGFyCSAgICpuYW1lOwkJLyogdGhlIHZhcmlhYmxlIHRvIGNy ZWF0ZSAqLworCVR5cGVOYW1lICAgKnR5cGVOYW1lOwkJLyogdGhlIHR5cGUgb2YgdmFyaWFibGUg Ki8KK30gQ3JlYXRlU2Vzc2lvblZhclN0bXQ7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAqCQlEUk9QIFZhcmlhYmxlIFN0YXRlbWVudAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICovCit0eXBlZGVmIHN0cnVjdCBEcm9wU2Vzc2lvblZhclN0bXQKK3sKKwlOb2RlVGFnCQl0eXBl OworCWNoYXIJICAgKm5hbWU7Cit9IERyb3BTZXNzaW9uVmFyU3RtdDsKKworCiAvKiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgKgkJQ3JlYXRlIEZ1bmN0aW9uIFN0YXRlbWVudAogICogLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5o IGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCmluZGV4IDVkNGZlMjdlZjk2Li44YjFmMmJk M2I2OCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBiL3NyYy9p bmNsdWRlL3BhcnNlci9rd2xpc3QuaApAQCAtNDg5LDYgKzQ4OSw3IEBAIFBHX0tFWVdPUkQoInZh bGlkYXRvciIsIFZBTElEQVRPUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgidmFsdWUiLCBWQUxVRV9QLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwp CiBQR19LRVlXT1JEKCJ2YWx1ZXMiLCBWQUxVRVMsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJ2YXJjaGFyIiwgVkFSQ0hBUiwgQ09MX05BTUVfS0VZV09SRCwgQkFS RV9MQUJFTCkKK1BHX0tFWVdPUkQoInZhcmlhYmxlIiwgVkFSSUFCTEUsIFVOUkVTRVJWRURfS0VZ V09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInZhcmlhZGljIiwgVkFSSUFESUMsIFJFU0VS VkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ2YXJ5aW5nIiwgVkFSWUlORywg VU5SRVNFUlZFRF9LRVlXT1JELCBBU19MQUJFTCkKIFBHX0tFWVdPUkQoInZlcmJvc2UiLCBWRVJC T1NFLCBUWVBFX0ZVTkNfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggYi9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3Qu aAppbmRleCBjNDYwNmQ2NTA0My4uN2U1OWQwYTUyNzUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3Rjb3AvY21kdGFnbGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oCkBA IC0xMjMsNiArMTIzLDcgQEAgUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfVFJBTlNGT1JNLCAiQ1JF QVRFIFRSQU5TRk9STSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JF QVRFX1RSSUdHRVIsICJDUkVBVEUgVFJJR0dFUiIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfQ1JFQVRFX1RZUEUsICJDUkVBVEUgVFlQRSIsIHRydWUsIGZhbHNlLCBmYWxz ZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX1VTRVJfTUFQUElORywgIkNSRUFURSBVU0VSIE1B UFBJTkciLCB0cnVlLCBmYWxzZSwgZmFsc2UpCitQR19DTURUQUcoQ01EVEFHX0NSRUFURV9WQVJJ QUJMRSwgIkNSRUFURSBWQVJJQUJMRSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhD TURUQUdfQ1JFQVRFX1ZJRVcsICJDUkVBVEUgVklFVyIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBH X0NNRFRBRyhDTURUQUdfREVBTExPQ0FURSwgIkRFQUxMT0NBVEUiLCBmYWxzZSwgZmFsc2UsIGZh bHNlKQogUEdfQ01EVEFHKENNRFRBR19ERUFMTE9DQVRFX0FMTCwgIkRFQUxMT0NBVEUgQUxMIiwg ZmFsc2UsIGZhbHNlLCBmYWxzZSkKQEAgLTE3NSw2ICsxNzYsNyBAQCBQR19DTURUQUcoQ01EVEFH X0RST1BfVFJBTlNGT1JNLCAiRFJPUCBUUkFOU0ZPUk0iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQ R19DTURUQUcoQ01EVEFHX0RST1BfVFJJR0dFUiwgIkRST1AgVFJJR0dFUiIsIHRydWUsIGZhbHNl LCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRFJPUF9UWVBFLCAiRFJPUCBUWVBFIiwgdHJ1ZSwg ZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9QX1VTRVJfTUFQUElORywgIkRST1Ag VVNFUiBNQVBQSU5HIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQorUEdfQ01EVEFHKENNRFRBR19EUk9Q X1ZBUklBQkxFLCAiRFJPUCBWQVJJQUJMRSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRB RyhDTURUQUdfRFJPUF9WSUVXLCAiRFJPUCBWSUVXIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdf Q01EVEFHKENNRFRBR19FWEVDVVRFLCAiRVhFQ1VURSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQ R19DTURUQUcoQ01EVEFHX0VYUExBSU4sICJFWFBMQUlOIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNf ZGRsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRs Lm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uY2M2ZjU5ZThiZTUK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5vdXQKQEAgLTAsMCArMSw0MyBAQAorU0VUIGxvZ19zdGF0ZW1lbnQgVE8gZGRs OworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFTIGludDsKK0VSUk9SOiAg b25seSB0ZW1wb3JhbCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkCistLSBzaG91bGQg YmUgb2sKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7CistLSBzaG91bGQgdG8g ZmFpbAorQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsKK0VSUk9SOiAgc2Vzc2lv biB2YXJpYWJsZSAieCIgYWxyZWFkeSBleGlzdHMKKy0tIHNob3VsZCB0byBmYWlsCitEUk9QIFZB UklBQkxFIHk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInkiIGRvZXNuJ3QgZXhpc3QKKy0t IHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworQ1JFQVRFIFRZUEUgdGVzdF90eXBlIEFT ICh4IGludCwgeSBpbnQpOworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFT IHRlc3RfdHlwZTsKK0VSUk9SOiAgb25seSB0ZW1wb3JhbCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUg c3VwcG9ydGVkCitEUk9QIFRZUEUgdGVzdF90eXBlOworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFU RSBWQVJJQUJMRSB4IEFTIGludFtdOworRVJST1I6ICBvbmx5IHRlbXBvcmFsIHNlc3Npb24gdmFy aWFibGVzIGFyZSBzdXBwb3J0ZWQKK0NSRUFURSBET01BSU4gdGVzdF9kb21haW4gQVMgaW50Owor LS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFTIHRlc3RfZG9tYWluOworRVJS T1I6ICBvbmx5IHRlbXBvcmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQKK0RST1Ag RE9NQUlOIHRlc3RfZG9tYWluOworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxl X3Rlc3Rfcm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0 X3JvbGVfMDI7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xl XzAxOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitTRVQgUk9MRSBUTyBkZWZhdWx0 OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKKy0t IHNob3VsZCB0byBmYWlsCitEUk9QIFZBUklBQkxFIHg7CitFUlJPUjogIG11c3QgYmUgb3duZXIg b2Ygc2Vzc2lvbiB2YXJpYWJsZSB4CitTRVQgUk9MRSBUTyBkZWZhdWx0OworU0VUIFJPTEUgVE8g cmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKKy0tIHNob3VsZCBiZSBvawor RFJPUCBWQVJJQUJMRSB4OworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RST1AgUk9MRSByZWdyZXNz X3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lv bl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRl eCBjYzZkNzk5YmNlYS4uOWRhN2M2YWI5MjggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQpAQCAtMTE1LDcgKzExNSw3IEBAIHRlc3Q6IGpzb24ganNvbmIganNvbl9lbmNvZGluZyBqc29u cGF0aCBqc29ucGF0aF9lbmNvZGluZyBqc29uYl9qc29ucGF0aCBzcWxqc29uCiAjIE5COiB0ZW1w LnNxbCBkb2VzIHJlY29ubmVjdHMgd2hpY2ggdHJhbnNpZW50bHkgdXNlcyAyIGNvbm5lY3Rpb25z LAogIyBzbyBrZWVwIHRoaXMgcGFyYWxsZWwgZ3JvdXAgdG8gYXQgbW9zdCAxOSB0ZXN0cwogIyAt LS0tLS0tLS0tCi10ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0ZW1wIGRvbWFp biByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90YWJsZSBzZXF1 ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0IHdpdGggeG1s Cit0ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0ZW1wIGRvbWFpbiByYW5nZWZ1 bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90YWJsZSBzZXF1ZW5jZSBwb2x5 bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0IHdpdGggeG1sIHNlc3Npb25f dmFyaWFibGVzX2RkbAogCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBncm91cCBvZiBwYXJhbGxl bCB0ZXN0cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJs ZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5z cWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkyZTk3ZWEyYWIwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNf ZGRsLnNxbApAQCAtMCwwICsxLDU2IEBACitTRVQgbG9nX3N0YXRlbWVudCBUTyBkZGw7CisKKy0t IHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNob3VsZCBi ZSBvaworQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsKKworLS0gc2hvdWxkIHRv IGZhaWwKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNob3VsZCB0 byBmYWlsCitEUk9QIFZBUklBQkxFIHk7CisKKy0tIHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJM RSB4OworCitDUkVBVEUgVFlQRSB0ZXN0X3R5cGUgQVMgKHggaW50LCB5IGludCk7CisKKy0tIHNo b3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5cGU7CisKK0RST1AgVFlQ RSB0ZXN0X3R5cGU7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBp bnRbXTsKKworQ1JFQVRFIERPTUFJTiB0ZXN0X2RvbWFpbiBBUyBpbnQ7CisKKy0tIHNob3VsZCB0 byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X2RvbWFpbjsKKworRFJPUCBET01BSU4g dGVzdF9kb21haW47CisKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0 X3JvbGVfMDE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xl XzAyOworCitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAx OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworU0VUIFJPTEUgVE8gZGVmYXVs dDsKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CisK Ky0tIHNob3VsZCB0byBmYWlsCitEUk9QIFZBUklBQkxFIHg7CisKK1NFVCBST0xFIFRPIGRlZmF1 bHQ7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOwor CistLSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFCTEUgeDsKKworU0VUIFJPTEUgVE8gREVGQVVM VDsKK0RST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOworRFJP UCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1naXQg YS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90 eXBlZGVmcy5saXN0CmluZGV4IGMxYWQ4MGE0MThkLi41ZjI1OWRkN2M4ZiAxMDA2NDQKLS0tIGEv c3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKQEAgLTU2Myw2ICs1NjMsNyBAQCBDcmVhdGVSb2xlU3RtdAogQ3JlYXRl U2NoZW1hU3RtdAogQ3JlYXRlU2NoZW1hU3RtdENvbnRleHQKIENyZWF0ZVNlcVN0bXQKK0NyZWF0 ZVNlc3Npb25WYXJTdG10CiBDcmVhdGVTdGF0c1N0bXQKIENyZWF0ZVN0bXQKIENyZWF0ZVN0bXRD b250ZXh0CkBAIC02NjcsNiArNjY4LDcgQEAgRHJvcEJlaGF2aW9yCiBEcm9wT3duZWRTdG10CiBE cm9wUmVwbGljYXRpb25TbG90Q21kCiBEcm9wUm9sZVN0bXQKK0Ryb3BTZXNzaW9uVmFyU3RtdAog RHJvcFN0bXQKIERyb3BTdWJzY3JpcHRpb25TdG10CiBEcm9wVGFibGVTcGFjZVN0bXQKQEAgLTI2 NzEsNiArMjY3Myw4IEBAIFNTTF9DVFgKIFNUQVJUVVBJTkZPCiBTVFJMRU4KIFNWCitTVmFyaWFi bGVEYXRhCitTVmFyaWFibGUKIFNZTkNIUk9OSVpBVElPTl9CQVJSSUVSCiBTWVNURU1fSU5GTwog U2FtcGxlU2NhbgotLSAKMi41Mi4wCgo= --00000000000084c14506452ede2f--