Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rLYVe-008dEk-Jg for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Jan 2024 00:56:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rLYVa-00Gbjn-R3 for pgsql-hackers@arkaria.postgresql.org; Fri, 05 Jan 2024 00:56:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rLYVa-00Gbjf-4W for pgsql-hackers@lists.postgresql.org; Fri, 05 Jan 2024 00:56:22 +0000 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rLYVT-00FaZC-N6 for pgsql-hackers@postgresql.org; Fri, 05 Jan 2024 00:56:21 +0000 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1d3f8af8297so6759745ad.2 for ; Thu, 04 Jan 2024 16:56:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1704416173; x=1705020973; darn=postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=0roQsqPK133n3XkympmSHVGlBcQrzoUJWoA+gNO/yy4=; b=Ufu74GATMCIf3sqQOh1Hg+m4TO9nbbZxGL3+mz74rguELH91HPMOk7nPT68PFngC4W 0o4NLs7CTSFsjgV9ppZ1tUxkpqo+Dl2iFS1lWG1/YoEc24nAEQbhWFj+2iwnF1WKy713 gAeZV163zY/Lq9n0fPq6S+ksf0FQbtewDHqslDtmFXc27KYeLGY9CjLQFtVtzsQcwKDc J3eezXhyexZq15QF4TY3UknxMXE8UOr1dJDqO9beCdP1r1AFii8z5J/qsOoWTV0PkCpd SJGVHoeE88pMYDaMNnR8siLJlehrECABjkkjOE3IX+oS87WO306a4drJ0bjLZr10bvnb WYhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704416173; x=1705020973; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0roQsqPK133n3XkympmSHVGlBcQrzoUJWoA+gNO/yy4=; b=JCqnmIBDffDvPbx6/ia2TWUfT0sJKs+XFQTmlSHXToSSNbbqAkaku9+a6VDgQdBeZI 1gAFTkP3oSKyn0Rh+F5ekDQGslECcHSFaVK7YqFhvIIo8OvKuq48zwY1D2iBjIQkAFHQ Bg5JmrDNw4ADBvS0jDjnHwo8SqBjAPWXan5vh7WZnTzOvhNWV1P8q17QIGktB5oD4GVU QB/7li731kyX4SQQiltXPpx5MSonHJG/ln3pHyG05BnrfoGcH8aDKmTZsjKkHnkEHuHw eAALVOWo4ZQXJYhhjPv4UUL334kCNzKaTXyds8Y9AMdHOwn2eWDR+m+MbrnuQB00z7s3 A6XQ== X-Gm-Message-State: AOJu0YxSzgxHlS6X+m+nQlUbsXzdZeHEbu63rCSDkZVGzbe230xV42oL bzUQf9iWzElzj3/pW2T10qFI6AM+crdm X-Google-Smtp-Source: AGHT+IHQ3Ez95mu8EUyl7ue7VUtYkiFkd2TwV90seT9rgqVjA6kvQBuh0msSF1YYLQystOsU5oSvcg== X-Received: by 2002:a17:903:2450:b0:1d4:deff:5b0f with SMTP id l16-20020a170903245000b001d4deff5b0fmr1456077pls.76.1704416173061; Thu, 04 Jan 2024 16:56:13 -0800 (PST) Received: from [172.18.10.36] ([12.126.244.130]) by smtp.gmail.com with ESMTPSA id a15-20020a170902b58f00b001ca86a9caccsm207673pls.228.2024.01.04.16.56.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jan 2024 16:56:12 -0800 (PST) Message-ID: <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> Subject: Re: [17] CREATE SUBSCRIPTION ... SERVER From: Jeff Davis To: Bharath Rupireddy Cc: Ashutosh Bapat , Joe Conway , pgsql-hackers@postgresql.org Date: Thu, 04 Jan 2024 16:56:11 -0800 In-Reply-To: References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-rAcBX5BGvet8j3XuS7hS" User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-rAcBX5BGvet8j3XuS7hS Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2024-01-02 at 15:14 +0530, Bharath Rupireddy wrote: > Can the pg_create_connection predefined role related code be put into > a separate 0001 patch? I think this can go in a separate commit. Done (see below for details). > 2. Can one use {FDW, user_mapping, foreign_server} combo other than > the built-in pg_connection_fdw? Yes, you can use any FDW for which you have USAGE privileges, passes the validations, and provides enough of the expected fields to form a connection string. There was some discussion on this point already. Initially, I implemented it with more catalog and grammar support, which improved error checking, but others objected that the grammar wasn't worth it and that it was too inflexible. See: https://www.postgresql.org/message-id/172273.1693403385%40sss.pgh.pa.us https://www.postgresql.org/message-id/CAExHW5unvpDv6yMSmqurHP7Du1PqoJFWVxeK= -4YNm5EnoNJiSQ%40mail.gmail.com > If yes, why to allow say oracle_fdw > foreign server and user mapping with logical replication? Isn't this > a > security concern? A user would need USAGE privileges on that other FDW and also must be a member of pg_create_subscription. In v16, a user with such privileges would already be able to create such connection by specifying the raw connection string, so that's not a new risk with my proposal. > 3. I'd like to understand how the permission model works with this > feature amidst various users a) subscription owner b) table owner c) > FDW owner d) user mapping owner e) foreign server owner f) superuser > g) user with which logical replication bg workers (table sync, > {parallel} apply workers) are started up and running. (a) The subscription owner is only relevant if the subscription is created with run_as_owner=3Dtrue, in which case the logical worker applies the changes with the privileges of the subscription owner. [No change.] (b) The table owner is only relevant if the subscription is created with run_as_owner=3Dfalse (default), in which case the logical worker applies the changes with the privileges of the table owner. [No change.] (c) The FDW owner is irrelevant, though the creator of a foreign server must have USAGE privileges on it. [No change.] (d) User mappings do not have owners. [No change.] (e) The foreign server owner is irrelevant, but USAGE privileges on the foreign server are needed to create a subscription to it. [New behavior.] (f) Not sure what you mean here, but superusers can do anything. [No change.] (g) The actual user the process runs as is still the subscription owner. If run_as_owner=3Dfalse, the actions are performed as the table owner; if run_as_owner=3Dtrue, the actions are performed as the subscription owner. [No change.] There are only two actual changes to the model: 1. Users with USAGE privileges on a foreign server can create subscriptions using that foreign server instead of a connection string (they still need to be a member of pg_create_subscription). 2. I created a conceptual separation of privileges between pg_create_subscription and pg_create_connection; though by default pg_create_subscription has exactly the same capabilities as before. There is no behavior change unless the administrator revokes pg_create_connection from pg_create_subscription. I'd like to also add the capability for subscriptions to a server to use a passwordless connection as long as the server is trusted somehow. The password_required subscription option is already fairly complex, so we'd need to come up with a sensible way for those options to interact. > What if foreign server owner doesn't have permissions on the table > being applied by logical replication bg workers? The owner of the foreign server is irrelevant -- only the USAGE privileges on that foreign server matter, and only when it comes to creating subscriptions. > What if foreign server owner is changed with ALTER SERVER ... OWNER > TO > when logical replication is in-progress? That should have no effect as long as the USAGE priv is still present. Note that if the owner of the *subscription* changes, it may find a different user mapping. > What if the owner of=C2=A0 {FDW, user_mapping, foreign_server} is > different > from a subscription owner with USAGE privilege granted? Can the > subscription still use the foreign server? Yes. > 4. How does the invalidation of {FDW, user_mapping, foreign_server} > affect associated subscription and vice-versa? If the user mapping or foreign server change, it causes the apply worker to re-build the connection string from those objects and restart if something important changed. If the FDW changes I don't think that matters. > 5. What if the password is changed in user mapping with ALTER USER > MAPPING? Will it refresh the subscription so that all the logical > replication workers get restarted with new connection info? Yes. Notice the subscription_change_cb. That's actually one of the nice features -- if your connection info changes, update it in one place to affect all subscriptions to that server. > 6. How does this feature fit if a subscription is created with > run_as_owner? Will it check if the table owner has permissions to use > {FDW, user_mapping, foreign_server} comob? See above. > Can we emit an informative error message and hint using > initClosestMatch, updateClosestMatch, getClosestMatch similar to > other > FDWs elsewhere in the code? Done. > 8. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errmsg("password is requir= ed"), > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errdetail("Non-superusers = must provide a > password in the connection string."))); >=20 > The error message and detail look generic, can it be improved to > include something about pg_connection_fdw? I believe this is addressed after some refactoring -- the FDW itself doesn't try to validate that a password exists, because we can't rely on that anyway (someone can use an FDW with no validation or different validation). Instead, the subscription does this validation. Note that there is an unrelated hole in the way the subscription does the validation of password_required, which will be addressed separately as a part of this other thread: https://www.postgresql.org/message-id/e5892973ae2a80a1a3e0266806640dae3c428= 100.camel%40j-davis.com > 9. > +{ oid =3D> '6015', oid_symbol =3D> 'PG_CONNECTION_FDW', > +=C2=A0 descr =3D> 'Pseudo FDW for connections to Postgres', > +=C2=A0 fdwname =3D> 'pg_connection_fdw', fdwowner =3D> 'POSTGRES', >=20 > What if the database cluster is initialized with an owner different > than 'POSTGRES' at the time of initdb? Will the fdwowner be correct > in > that case? Thank you, I changed it to use the conventional BKI_DEFAULT(POSTGRES) instead. (The previous way worked, but was not consistent with existing patterns.) > 10. > +# src/include/catalog/pg_foreign_data_wrapper.dat > +{ oid =3D> '6015', oid_symbol =3D> 'PG_CONNECTION_FDW', >=20 > Do we want to REVOKE USAGE ON FOREIGN DATA WRAPPER pg_connection_fdw > FROM PUBLIC The FDW doesn't have USAGE privileges by default so we don't need to revoke them. > and REVOKE EXECUTE ON its handler functions? It has no handler function. I don't see a reason to restrict privileges on postgresql_fdw_validator(); it seems useful for testing/debugging. > 11. How about splitting patches in the following manner for better > manageability (all of which can go as separate commits) of this > feature? > 0001 for pg_create_connection predefined role per comment #1. > 0002 for introducing in-built FDW pg_connection_fdw. > 0003 utilizing in-built FDW for logical replication to provide CREATE > SUBSCRIPTION ... SERVER. Good suggestion, though I split it a bit differently: 0001: fix postgresql_fdw_validator to use libpq options via walrcv method. This is appropriate for looser validation that doesn't try to check for password_required or that a password is set -- that's left up to the subscription. 0002: built-in pg_connection_fdw, also includes code for validation and transforming into a connection string. This creates a lot of test diffs in foreign_data.out because I need to exclude the built in FDW (it's owned by the bootstrap supseruser which is not a stable username). It would be nice if there was a way to use a negative-matching regex in a psql \dew+ command -- something like "(?!pg_)*" -- but I couldn't find a way to do that because "(?...)" seems to not work in psql. Let me know if you know a trick to do so. 0003: CREATE SUBSCRIPTION... SERVER. 0004: Add pg_create_connection role. Regards, Jeff Davis --=-rAcBX5BGvet8j3XuS7hS Content-Disposition: attachment; filename*0=v5-0001-Fix-postgresql_fdw_validator-to-use-full-libpq-op.pat; filename*1=ch Content-Type: text/x-patch; name="v5-0001-Fix-postgresql_fdw_validator-to-use-full-libpq-op.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA1Y2QxMDBhY2E0OWMyMzM1N2I3ZmRhMDIxODdjZDU5ZGM2ZGY0ZGE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDQgSmFuIDIwMjQgMTI6MTU6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIIHY1IDEvNF0gRml4 IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB0byB1c2UgZnVsbCBsaWJwcSBvcHRpb25zCiBsaXN0 LgoKRXh0ZW5kIHRoZSB3YWxyY3ZfIEFQSSB0byByZXRyaWV2ZSB0aGUgb3B0aW9ucyBsaXN0IGZy b20gbGlicHEsIGFuZAp1c2UgdGhhdCBmb3IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yKCkuIFVu LWRlcHJlY2F0ZSBpdC4KLS0tCiBzcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYyAgICAgICAg ICAgICAgICAgfCA2NyArKysrKysrLS0tLS0tLS0tLS0tCiAuLi4vbGlicHF3YWxyZWNlaXZlci9s aWJwcXdhbHJlY2VpdmVyLmMgICAgICAgfCA0NyArKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9y ZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oICAgICAgICAgfCAyMCArKysrKysKIDMgZmlsZXMgY2hh bmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24u YwppbmRleCAwMmUxODk4MTMxLi43NDdjYzExYTYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9m b3JlaWduL2ZvcmVpZ24uYworKysgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwpAQCAt MjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJsaWIvc3RyaW5n aW5mby5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dh bHJlY2VpdmVyLmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGls cy9tZW11dGlscy5oIgogI2luY2x1ZGUgInV0aWxzL3JlbC5oIgpAQCAtNTQ5LDQwICs1NTAsNiBA QCBwZ19vcHRpb25zX3RvX3RhYmxlKFBHX0ZVTkNUSU9OX0FSR1MpCiB9CiAKIAotLyoKLSAqIERl c2NyaWJlcyB0aGUgdmFsaWQgb3B0aW9ucyBmb3IgcG9zdGdyZXNxbCBGRFcsIHNlcnZlciwgYW5k IHVzZXIgbWFwcGluZy4KLSAqLwotc3RydWN0IENvbm5lY3Rpb25PcHRpb24KLXsKLQljb25zdCBj aGFyICpvcHRuYW1lOwotCU9pZAkJCW9wdGNvbnRleHQ7CQkvKiBPaWQgb2YgY2F0YWxvZyBpbiB3 aGljaCBvcHRpb24gbWF5IGFwcGVhciAqLwotfTsKLQotLyoKLSAqIENvcGllZCBmcm9tIGZlLWNv bm5lY3QuYyBQUWNvbm5pbmZvT3B0aW9ucy4KLSAqCi0gKiBUaGUgbGlzdCBpcyBzbWFsbCAtIGRv bid0IGJvdGhlciB3aXRoIGJzZWFyY2ggaWYgaXQgc3RheXMgc28uCi0gKi8KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiBsaWJwcV9jb25uaW5mb19vcHRpb25zW10gPSB7Ci0J eyJhdXRodHlwZSIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InNlcnZpY2UiLCBGb3Jl aWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJ1c2VyIiwgVXNlck1hcHBpbmdSZWxhdGlvbklkfSwK LQl7InBhc3N3b3JkIiwgVXNlck1hcHBpbmdSZWxhdGlvbklkfSwKLQl7ImNvbm5lY3RfdGltZW91 dCIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7ImRibmFtZSIsIEZvcmVpZ25TZXJ2ZXJS ZWxhdGlvbklkfSwKLQl7Imhvc3QiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJob3N0 YWRkciIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InBvcnQiLCBGb3JlaWduU2VydmVy UmVsYXRpb25JZH0sCi0JeyJ0dHkiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJvcHRp b25zIiwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWR9LAotCXsicmVxdWlyZXNzbCIsIEZvcmVpZ25T ZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InNzbG1vZGUiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0s Ci0JeyJnc3NsaWIiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJnc3NkZWxlZ2F0aW9u IiwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWR9LAotCXtOVUxMLCBJbnZhbGlkT2lkfQotfTsKLQot CiAvKgogICogQ2hlY2sgaWYgdGhlIHByb3ZpZGVkIG9wdGlvbiBpcyBvbmUgb2YgbGlicHEgY29u bmluZm8gb3B0aW9ucy4KICAqIGNvbnRleHQgaXMgdGhlIE9pZCBvZiB0aGUgY2F0YWxvZyB0aGUg b3B0aW9uIGNhbWUgZnJvbSwgb3IgMCBpZiB3ZQpAQCAtNTkzLDkgKzU2MCwyMyBAQCBpc19jb25u aW5mb19vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uLCBPaWQgY29udGV4dCkKIHsKIAljb25zdCBz dHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiAqb3B0OwogCi0JZm9yIChvcHQgPSBsaWJwcV9jb25uaW5m b19vcHRpb25zOyBvcHQtPm9wdG5hbWU7IG9wdCsrKQotCQlpZiAoY29udGV4dCA9PSBvcHQtPm9w dGNvbnRleHQgJiYgc3RyY21wKG9wdC0+b3B0bmFtZSwgb3B0aW9uKSA9PSAwKQotCQkJcmV0dXJu IHRydWU7CisJLyogc2tpcCBvcHRpb25zIHRoYXQgbXVzdCBiZSBvdmVycmlkZGVuICovCisJaWYg KHN0cmNtcChvcHRpb24sICJjbGllbnRfZW5jb2RpbmciKSA9PSAwKQorCQlyZXR1cm4gZmFsc2U7 CisKKwlmb3IgKG9wdCA9IHdhbHJjdl9jb25uaW5mb19vcHRpb25zKCk7IG9wdC0+b3B0bmFtZTsg b3B0KyspCisJeworCQlpZiAoc3RyY21wKG9wdC0+b3B0bmFtZSwgb3B0aW9uKSA9PSAwKQorCQl7 CisJCQlpZiAob3B0LT5pc2RlYnVnKQorCQkJCXJldHVybiBmYWxzZTsKKworCQkJaWYgKG9wdC0+ aXNzZWNyZXQgfHwgc3RyY21wKG9wdC0+b3B0bmFtZSwgInVzZXIiKSA9PSAwKQorCQkJCXJldHVy biAoY29udGV4dCA9PSBVc2VyTWFwcGluZ1JlbGF0aW9uSWQpOworCisJCQlyZXR1cm4gKGNvbnRl eHQgPT0gRm9yZWlnblNlcnZlclJlbGF0aW9uSWQpOworCQl9CisJfQogCXJldHVybiBmYWxzZTsK IH0KIApAQCAtNjA2LDExICs1ODcsNiBAQCBpc19jb25uaW5mb19vcHRpb24oY29uc3QgY2hhciAq b3B0aW9uLCBPaWQgY29udGV4dCkKICAqCiAgKiBWYWxpZCBzZXJ2ZXIgb3B0aW9ucyBhcmUgYWxs IGxpYnBxIGNvbm5pbmZvIG9wdGlvbnMgZXhjZXB0CiAgKiB1c2VyIGFuZCBwYXNzd29yZCAtLSB0 aGVzZSBtYXkgb25seSBhcHBlYXIgaW4gVVNFUiBNQVBQSU5HIG9wdGlvbnMuCi0gKgotICogQ2F1 dGlvbjogdGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCBhbmQgaXMgbm93IG1lYW50IG9ubHkg Zm9yIHRlc3RpbmcKLSAqIHB1cnBvc2VzLCBiZWNhdXNlIHRoZSBsaXN0IG9mIG9wdGlvbnMgaXQg a25vd3MgYWJvdXQgZG9lc24ndCBuZWNlc3NhcmlseQotICogc3F1YXJlIHdpdGggdGhvc2Uga25v d24gdG8gd2hpY2hldmVyIGxpYnBxIGluc3RhbmNlIHlvdSBtaWdodCBiZSB1c2luZy4KLSAqIElu cXVpcmUgb2YgbGlicHEgaXRzZWxmLCBpbnN0ZWFkLgogICovCiBEYXR1bQogcG9zdGdyZXNxbF9m ZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1MpCkBAIC02MjAsNiArNTk2LDkgQEAgcG9zdGdy ZXNxbF9mZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlMaXN0Q2VsbCAgICpjZWxs OwogCisJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRpbmcgdXMgbGlicHEgY2FsbHMuICovCisJ bG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwgZmFsc2UpOworCiAJZm9yZWFjaChjZWxsLCBv cHRpb25zX2xpc3QpCiAJewogCQlEZWZFbGVtICAgICpkZWYgPSBsZmlyc3QoY2VsbCk7CkBAIC02 MzYsOSArNjE1LDkgQEAgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJCQkgKiB3aXRoIGEgdmFsaWQgb3B0aW9uIHRoYXQgbG9va3Mgc2ltaWxhciwgaWYgdGhlcmUg aXMgb25lLgogCQkJICovCiAJCQlpbml0Q2xvc2VzdE1hdGNoKCZtYXRjaF9zdGF0ZSwgZGVmLT5k ZWZuYW1lLCA0KTsKLQkJCWZvciAob3B0ID0gbGlicHFfY29ubmluZm9fb3B0aW9uczsgb3B0LT5v cHRuYW1lOyBvcHQrKykKKwkJCWZvciAob3B0ID0gd2FscmN2X2Nvbm5pbmZvX29wdGlvbnMoKTsg b3B0LT5vcHRuYW1lOyBvcHQrKykKIAkJCXsKLQkJCQlpZiAoY2F0YWxvZyA9PSBvcHQtPm9wdGNv bnRleHQpCisJCQkJaWYgKGlzX2Nvbm5pbmZvX29wdGlvbihvcHQtPm9wdG5hbWUsIGNhdGFsb2cp KQogCQkJCXsKIAkJCQkJaGFzX3ZhbGlkX29wdGlvbnMgPSB0cnVlOwogCQkJCQl1cGRhdGVDbG9z ZXN0TWF0Y2goJm1hdGNoX3N0YXRlLCBvcHQtPm9wdG5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbGlicHF3YWxyZWNlaXZlci9saWJwcXdhbHJlY2VpdmVyLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIu YwppbmRleCBjOTc0ODUzOWFhLi4yYzRjNDQwMTI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIuYworKysgYi9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIuYwpA QCAtNTMsNiArNTMsNyBAQCBzdGF0aWMgV2FsUmVjZWl2ZXJDb25uICpsaWJwcXJjdl9jb25uZWN0 KGNvbnN0IGNoYXIgKmNvbm5pbmZvLAogCQkJCQkJCQkJCSBjb25zdCBjaGFyICphcHBuYW1lLCBj aGFyICoqZXJyKTsKIHN0YXRpYyB2b2lkIGxpYnBxcmN2X2NoZWNrX2Nvbm5pbmZvKGNvbnN0IGNo YXIgKmNvbm5pbmZvLAogCQkJCQkJCQkJYm9vbCBtdXN0X3VzZV9wYXNzd29yZCk7CitzdGF0aWMg Y29uc3Qgc3RydWN0IENvbm5lY3Rpb25PcHRpb24gKmxpYnBxcmN2X2Nvbm5pbmZvX29wdGlvbnMo dm9pZCk7CiBzdGF0aWMgY2hhciAqbGlicHFyY3ZfZ2V0X2Nvbm5pbmZvKFdhbFJlY2VpdmVyQ29u biAqY29ubik7CiBzdGF0aWMgdm9pZCBsaWJwcXJjdl9nZXRfc2VuZGVyaW5mbyhXYWxSZWNlaXZl ckNvbm4gKmNvbm4sCiAJCQkJCQkJCQljaGFyICoqc2VuZGVyX2hvc3QsIGludCAqc2VuZGVyX3Bv cnQpOwpAQCAtODYsNiArODcsNyBAQCBzdGF0aWMgdm9pZCBsaWJwcXJjdl9kaXNjb25uZWN0KFdh bFJlY2VpdmVyQ29ubiAqY29ubik7CiBzdGF0aWMgV2FsUmVjZWl2ZXJGdW5jdGlvbnNUeXBlIFBR V2FsUmVjZWl2ZXJGdW5jdGlvbnMgPSB7CiAJLndhbHJjdl9jb25uZWN0ID0gbGlicHFyY3ZfY29u bmVjdCwKIAkud2FscmN2X2NoZWNrX2Nvbm5pbmZvID0gbGlicHFyY3ZfY2hlY2tfY29ubmluZm8s CisJLndhbHJjdl9jb25uaW5mb19vcHRpb25zID0gbGlicHFyY3ZfY29ubmluZm9fb3B0aW9ucywK IAkud2FscmN2X2dldF9jb25uaW5mbyA9IGxpYnBxcmN2X2dldF9jb25uaW5mbywKIAkud2FscmN2 X2dldF9zZW5kZXJpbmZvID0gbGlicHFyY3ZfZ2V0X3NlbmRlcmluZm8sCiAJLndhbHJjdl9pZGVu dGlmeV9zeXN0ZW0gPSBsaWJwcXJjdl9pZGVudGlmeV9zeXN0ZW0sCkBAIC0yODQsNiArMjg2LDUx IEBAIGxpYnBxcmN2X2NoZWNrX2Nvbm5pbmZvKGNvbnN0IGNoYXIgKmNvbm5pbmZvLCBib29sIG11 c3RfdXNlX3Bhc3N3b3JkKQogCVBRY29ubmluZm9GcmVlKG9wdHMpOwogfQogCitzdGF0aWMgY29u c3Qgc3RydWN0IENvbm5lY3Rpb25PcHRpb24gKgorbGlicHFyY3ZfY29ubmluZm9fb3B0aW9ucyh2 b2lkKQoreworCXN0YXRpYyBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbgkqY29ubmVjdGlvbl9vcHRp b25zID0gTlVMTDsKKwlzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbgkJCSpwb3B0OworCVBRY29ubmlu Zm9PcHRpb24JCQkJKmNvbm5kZWZhdWx0czsKKwlQUWNvbm5pbmZvT3B0aW9uCQkJCSpsb3B0Owor CWludAkJCQkJCQkJIG51bV9saWJwcV9vcHRzCQk9IDA7CisKKwlpZiAoY29ubmVjdGlvbl9vcHRp b25zKQorCQlyZXR1cm4gY29ubmVjdGlvbl9vcHRpb25zOworCisJY29ubmRlZmF1bHRzID0gUFFj b25uZGVmYXVsdHMoKTsKKwlmb3IgKGxvcHQgPSBjb25uZGVmYXVsdHM7IGxvcHQtPmtleXdvcmQ7 IGxvcHQrKykKKwkJbnVtX2xpYnBxX29wdHMrKzsKKworCWNvbm5lY3Rpb25fb3B0aW9ucyA9IE1l bW9yeUNvbnRleHRBbGxvYygKKwkJVG9wTWVtb3J5Q29udGV4dCwKKwkJc2l6ZW9mKHN0cnVjdCBD b25uZWN0aW9uT3B0aW9uKSAqIChudW1fbGlicHFfb3B0cyArIDEpKTsKKworCXBvcHQgPSBjb25u ZWN0aW9uX29wdGlvbnM7CisJZm9yIChsb3B0ID0gY29ubmRlZmF1bHRzOyBsb3B0LT5rZXl3b3Jk OyBsb3B0KyspCisJeworCQlwb3B0LT5pc3NlY3JldCA9IGZhbHNlOworCQlwb3B0LT5pc2RlYnVn ID0gZmFsc2U7CisKKwkJaWYgKHN0cmNocihsb3B0LT5kaXNwY2hhciwgJyonKSkKKwkJCXBvcHQt Pmlzc2VjcmV0ID0gdHJ1ZTsKKwkJZWxzZSBpZiAoc3RyY2hyKGxvcHQtPmRpc3BjaGFyLCAnRCcp KQorCQkJcG9wdC0+aXNkZWJ1ZyA9IHRydWU7CisKKwkJcG9wdC0+b3B0bmFtZSA9IE1lbW9yeUNv bnRleHRTdHJkdXAoVG9wTWVtb3J5Q29udGV4dCwKKwkJCQkJCQkJCQkJbG9wdC0+a2V5d29yZCk7 CisJCXBvcHQrKzsKKwl9CisKKwlwb3B0LT5vcHRuYW1lID0gTlVMTDsKKwlwb3B0LT5pc3NlY3Jl dCA9IGZhbHNlOworCXBvcHQtPmlzZGVidWcgPSBmYWxzZTsKKworCVBRY29ubmluZm9GcmVlKGNv bm5kZWZhdWx0cyk7CisKKwlyZXR1cm4gY29ubmVjdGlvbl9vcHRpb25zOworfQorCiAvKgogICog UmV0dXJuIGEgdXNlci1kaXNwbGF5YWJsZSBjb25uaW5mbyBzdHJpbmcuICBBbnkgc2VjdXJpdHkt c2Vuc2l0aXZlIGZpZWxkcwogICogYXJlIG9iZnVzY2F0ZWQuCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v d2FscmVjZWl2ZXIuaAppbmRleCAwODk5ODkxY2RiLi41NDEzNzdlMDk1IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oCisrKyBiL3NyYy9pbmNsdWRlL3Jl cGxpY2F0aW9uL3dhbHJlY2VpdmVyLmgKQEAgLTIyMyw2ICsyMjMsMTYgQEAgdHlwZWRlZiBzdHJ1 Y3QgV2FsUmN2RXhlY1Jlc3VsdAogCVR1cGxlRGVzYwl0dXBsZWRlc2M7CiB9IFdhbFJjdkV4ZWNS ZXN1bHQ7CiAKKy8qCisgKiBEZXNjcmliZXMgdGhlIHZhbGlkIG9wdGlvbnMgZm9yIHBvc3RncmVz cWwgRkRXLCBzZXJ2ZXIsIGFuZCB1c2VyIG1hcHBpbmcuCisgKi8KK3N0cnVjdCBDb25uZWN0aW9u T3B0aW9uCit7CisJY29uc3QgY2hhciAqb3B0bmFtZTsKKwlib29sCQlpc3NlY3JldDsJCS8qIGlz IG9wdGlvbiBmb3IgYSBwYXNzd29yZD8gKi8KKwlib29sCQlpc2RlYnVnOwkJLyogaXMgb3B0aW9u IGEgZGVidWcgb3B0aW9uPyAqLworfTsKKwogLyogV0FMIHJlY2VpdmVyIC0gbGlicHF3YWxyZWNl aXZlciBob29rcyAqLwogCiAvKgpAQCAtMjUwLDYgKzI2MCwxMyBAQCB0eXBlZGVmIFdhbFJlY2Vp dmVyQ29ubiAqKCp3YWxyY3ZfY29ubmVjdF9mbikgKGNvbnN0IGNoYXIgKmNvbm5pbmZvLAogdHlw ZWRlZiB2b2lkICgqd2FscmN2X2NoZWNrX2Nvbm5pbmZvX2ZuKSAoY29uc3QgY2hhciAqY29ubmlu Zm8sCiAJCQkJCQkJCQkJICBib29sIG11c3RfdXNlX3Bhc3N3b3JkKTsKIAorLyoKKyAqIHdhbHJj dl9jb25uaW5mb19vcHRpb25zX2ZuCisgKgorICogUmV0dXJuIGEgcG9pbnRlciB0byBhIHN0YXRp YyBhcnJheSBvZiB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgZnJvbSBsaWJwcS4KKyAqLwordHlwZWRl ZiBjb25zdCBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiAqKCp3YWxyY3ZfY29ubmluZm9fb3B0aW9u c19mbikgKHZvaWQpOworCiAvKgogICogd2FscmN2X2dldF9jb25uaW5mb19mbgogICoKQEAgLTM4 OSw2ICs0MDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXYWxSZWNlaXZlckZ1bmN0aW9uc1R5cGUKIHsK IAl3YWxyY3ZfY29ubmVjdF9mbiB3YWxyY3ZfY29ubmVjdDsKIAl3YWxyY3ZfY2hlY2tfY29ubmlu Zm9fZm4gd2FscmN2X2NoZWNrX2Nvbm5pbmZvOworCXdhbHJjdl9jb25uaW5mb19vcHRpb25zX2Zu IHdhbHJjdl9jb25uaW5mb19vcHRpb25zOwogCXdhbHJjdl9nZXRfY29ubmluZm9fZm4gd2FscmN2 X2dldF9jb25uaW5mbzsKIAl3YWxyY3ZfZ2V0X3NlbmRlcmluZm9fZm4gd2FscmN2X2dldF9zZW5k ZXJpbmZvOwogCXdhbHJjdl9pZGVudGlmeV9zeXN0ZW1fZm4gd2FscmN2X2lkZW50aWZ5X3N5c3Rl bTsKQEAgLTQxMCw2ICs0MjgsOCBAQCBleHRlcm4gUEdETExJTVBPUlQgV2FsUmVjZWl2ZXJGdW5j dGlvbnNUeXBlICpXYWxSZWNlaXZlckZ1bmN0aW9uczsKIAlXYWxSZWNlaXZlckZ1bmN0aW9ucy0+ d2FscmN2X2Nvbm5lY3QoY29ubmluZm8sIGxvZ2ljYWwsIG11c3RfdXNlX3Bhc3N3b3JkLCBhcHBu YW1lLCBlcnIpCiAjZGVmaW5lIHdhbHJjdl9jaGVja19jb25uaW5mbyhjb25uaW5mbywgbXVzdF91 c2VfcGFzc3dvcmQpIFwKIAlXYWxSZWNlaXZlckZ1bmN0aW9ucy0+d2FscmN2X2NoZWNrX2Nvbm5p bmZvKGNvbm5pbmZvLCBtdXN0X3VzZV9wYXNzd29yZCkKKyNkZWZpbmUgd2FscmN2X2Nvbm5pbmZv X29wdGlvbnMoKSBcCisJV2FsUmVjZWl2ZXJGdW5jdGlvbnMtPndhbHJjdl9jb25uaW5mb19vcHRp b25zKCkKICNkZWZpbmUgd2FscmN2X2dldF9jb25uaW5mbyhjb25uKSBcCiAJV2FsUmVjZWl2ZXJG dW5jdGlvbnMtPndhbHJjdl9nZXRfY29ubmluZm8oY29ubikKICNkZWZpbmUgd2FscmN2X2dldF9z ZW5kZXJpbmZvKGNvbm4sIHNlbmRlcl9ob3N0LCBzZW5kZXJfcG9ydCkgXAotLSAKMi4zNC4xCgo= --=-rAcBX5BGvet8j3XuS7hS Content-Disposition: attachment; filename*0=v5-0002-Add-built-in-foreign-data-wrapper-pg_connection_f.pat; filename*1=ch Content-Type: text/x-patch; name="v5-0002-Add-built-in-foreign-data-wrapper-pg_connection_f.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3ZjQ0MjZkYTBlODQwYTUxNWEyMDdkMDBkMzZmZWQ4ODM3NzkyNzAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6MzM6MjggLTA4MDAKU3ViamVjdDogW1BBVENIIHY1IDIvNF0gQWRk IGJ1aWx0LWluIGZvcmVpZ24gZGF0YSB3cmFwcGVyIHBnX2Nvbm5lY3Rpb25fZmR3LgoKSW4gcHJl cGFyYXRpb24gZm9yIENSRUFURSBTVUJTQ1JJUFRJT04gLi4uIFNFUlZFUi4KLS0tCiBkb2Mvc3Jj L3NnbWwvZnVuYy5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTkgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2ZvcmVpZ24vZm9yZWlnbi5jICAgICAgICAgICAgICAgICB8IDE0NSArKysrCiBzcmMvYmluL3Bn X2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgICAgfCAgMjMgKy0KIHNyYy9pbmNsdWRl L2NhdGFsb2cvbWVzb24uYnVpbGQgICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vY2F0YWxvZy9w Z19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQgICAgICAgfCAgMjEgKwogc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5oIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2luY2x1ZGUvZm9yZWln bi9mb3JlaWduLmggICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvZm9yZWlnbl9kYXRhLm91dCAgICB8IDc2MCArKysrKysrKystLS0tLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwgICAgICAgICB8IDI3NiArKysrLS0tCiAx MSBmaWxlcyBjaGFuZ2VkLCA3NzAgaW5zZXJ0aW9ucygrKSwgNDg2IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXIuZGF0CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbCBiL2RvYy9zcmMvc2dt bC9mdW5jLnNnbWwKaW5kZXggY2VjMjFlNDJjMC4uODNhNTczZjhkMSAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL2Z1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0yNzg3 Nyw2ICsyNzg3NywyNSBAQCBwb3N0Z3Jlcz0jIFNFTEVDVCAnMC8wJzo6cGdfbHNuICsgcGQuc2Vn bWVudF9udW1iZXIgKiBwcy5zZXR0aW5nOjppbnQgKyA6b2Zmc2V0CiAgICAgICAgPC9wYXJhPjwv ZW50cnk+CiAgICAgICA8L3Jvdz4KIAorICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnkgcm9sZT0i ZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAgICA8 aW5kZXh0ZXJtPgorICAgICAgICAgPHByaW1hcnk+cGdfY29ubmluZm9fZnJvbV9zZXJ2ZXI8L3By aW1hcnk+CisgICAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgICA8ZnVuY3Rpb24+cGdfY29ubmlu Zm9fZnJvbV9zZXJ2ZXI8L2Z1bmN0aW9uPiAoIDxwYXJhbWV0ZXI+c2VydmVybmFtZTwvcGFyYW1l dGVyPiA8dHlwZT50ZXh0PC90eXBlPiwgPHBhcmFtZXRlcj51c2VybmFtZTwvcGFyYW1ldGVyPiA8 dHlwZT50ZXh0PC90eXBlPiwgPHBhcmFtZXRlcj5hcHBlbmRfb3ZlcnJpZGVzPC9wYXJhbWV0ZXI+ IDx0eXBlPmJvb2xlYW48L3R5cGU+ICkKKyAgICAgICAgPHJldHVybnZhbHVlPnRleHQ8L3JldHVy bnZhbHVlPgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgUmV0dXJucyBj b25uZWN0aW9uIHN0cmluZyBnZW5lcmF0ZWQgZnJvbSB0aGUgb3B0aW9ucyBmb3IgdGhlIHNlcnZl cgorICAgICAgICBhbmQgdXNlciBtYXBwaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4KKyAg ICAgICAgPHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxlPiBhbmQKKyAgICAgICAg PHJlcGxhY2VhYmxlPnVzZXJuYW1lPC9yZXBsYWNlYWJsZT4uIElmCisgICAgICAgIDxyZXBsYWNl YWJsZT5hcHBlbmRfb3ZlcnJpZGVzPC9yZXBsYWNlYWJsZT4gaXMKKyAgICAgICAgPGxpdGVyYWw+ dHJ1ZTwvbGl0ZXJhbD4sIGl0IGFwcGVuZHMgb3ZlcnJpZGUgcGFyYW1ldGVycyBuZWNlc3Nhcnkg Zm9yCisgICAgICAgIG1ha2luZyBjb25uZWN0aW9ucyBmcm9tIHRoZSBzZXJ2ZXIuCisgICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKwogICAgICAgPHJvdz4KICAgICAgICA8ZW50 cnkgaWQ9InBnLWxvZ2ljYWwtZW1pdC1tZXNzYWdlIiByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+CiAgICAgICAgIDxpbmRleHRlcm0+CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9N YWtlZmlsZQppbmRleCBkNmIyM2I0YmZkLi43NTZhMDUyYTcwIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUK QEAgLTEzNiw2ICsxMzYsNyBAQCBQT1NUR1JFU19CS0lfREFUQSA9ICQoYWRkcHJlZml4ICQodG9w X3NyY2Rpcikvc3JjL2luY2x1ZGUvY2F0YWxvZy8sXAogCXBnX2NvbGxhdGlvbi5kYXQgXAogCXBn X2NvbnZlcnNpb24uZGF0IFwKIAlwZ19kYXRhYmFzZS5kYXQgXAorCXBnX2ZvcmVpZ25fZGF0YV93 cmFwcGVyLmRhdCBcCiAJcGdfbGFuZ3VhZ2UuZGF0IFwKIAlwZ19uYW1lc3BhY2UuZGF0IFwKIAlw Z19vcGNsYXNzLmRhdCBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24u YyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCmluZGV4IDc0N2NjMTFhNjAuLmZkMWI2 NDRkNzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCisrKyBiL3Ny Yy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0xOCwxOCArMTgsMjIgQEAKICNpbmNsdWRl ICJjYXRhbG9nL3BnX2ZvcmVpZ25fc2VydmVyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19mb3Jl aWduX3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ191c2VyX21hcHBpbmcuaCIKKyNpbmNs dWRlICJjb21tYW5kcy9kZWZyZW0uaCIKICNpbmNsdWRlICJmb3JlaWduL2Zkd2FwaS5oIgogI2lu Y2x1ZGUgImZvcmVpZ24vZm9yZWlnbi5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRl ICJsaWIvc3RyaW5naW5mby5oIgorI2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCiAjaW5jbHVkZSAi bWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vd2FscmVjZWl2ZXIuaCIKKyNpbmNs dWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUg InV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRp bHMvc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy92YXJsZW5hLmgiCiAKK3N0YXRpYyBib29s IGlzX2Nvbm5pbmZvX29wdGlvbihjb25zdCBjaGFyICpvcHRpb24sIE9pZCBjb250ZXh0KTsKIAog LyoKICAqIEdldEZvcmVpZ25EYXRhV3JhcHBlciAtCWxvb2sgdXAgdGhlIGZvcmVpZ24tZGF0YSB3 cmFwcGVyIGJ5IE9JRC4KQEAgLTE5MSw2ICsxOTUsMTE1IEBAIEdldEZvcmVpZ25TZXJ2ZXJCeU5h bWUoY29uc3QgY2hhciAqc3J2bmFtZSwgYm9vbCBtaXNzaW5nX29rKQogfQogCiAKKy8qCisgKiBW YWx1ZXMgaW4gY29ubmVjdGlvbiBzdHJpbmdzIG11c3QgYmUgZW5jbG9zZWQgaW4gc2luZ2xlIHF1 b3Rlcy4gU2luZ2xlCisgKiBxdW90ZXMgYW5kIGJhY2tzbGFzaGVzIG11c3QgYmUgZXNjYXBlZCB3 aXRoIGJhY2tzbGFzaC4KKyAqLworc3RhdGljIHZvaWQKK2FwcGVuZEVzY2FwZWRWYWx1ZShTdHJp bmdJbmZvIHN0ciwgY29uc3QgY2hhciAqdmFsKQoreworCWFwcGVuZFN0cmluZ0luZm9DaGFyKHN0 ciwgJ1wnJyk7CisJZm9yIChpbnQgaSA9IDA7IHZhbFtpXSAhPSAnXDAnOyBpKyspCisJeworCQlp ZiAodmFsW2ldID09ICdcXCcgfHwgdmFsW2ldID09ICdcJycpCisJCQlhcHBlbmRTdHJpbmdJbmZv Q2hhcihzdHIsICdcXCcpOworCQlhcHBlbmRTdHJpbmdJbmZvQ2hhcihzdHIsIHZhbFtpXSk7CisJ fQorCWFwcGVuZFN0cmluZ0luZm9DaGFyKHN0ciwgJ1wnJyk7Cit9CisKKworLyoKKyAqIEhlbHBl ciBmb3IgRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoKSBhbmQgcGdfY29ubmVjdGlvbl92 YWxpZGF0b3IoKS4KKyAqCisgKiBUcmFuc2Zvcm0gYSBMaXN0IG9mIERlZkVsZW0gaW50byBhIGNv bm5lY3Rpb24gc3RyaW5nLgorICovCitzdGF0aWMgY2hhciAqCitvcHRpb25zX3RvX2Nvbm5pbmZv KExpc3QgKm9wdGlvbnMsIGJvb2wgYXBwZW5kX292ZXJyaWRlcykKK3sKKwlTdHJpbmdJbmZvRGF0 YQkgc3RyOworCUxpc3RDZWxsCQkqbGM7CisJYm9vbAkJCSBmaXJzdCA9IHRydWU7CisKKwlpbml0 U3RyaW5nSW5mbygmc3RyKTsKKwlmb3JlYWNoKGxjLCBvcHRpb25zKQorCXsKKwkJRGVmRWxlbSAq ZCA9IChEZWZFbGVtICopIGxmaXJzdChsYyk7CisJCWNoYXIgKm5hbWUgPSBkLT5kZWZuYW1lOwor CQljaGFyICp2YWx1ZTsKKworCQkvKiBpZ25vcmUgdW5rbm93biBvcHRpb25zICovCisJCWlmICgh aXNfY29ubmluZm9fb3B0aW9uKG5hbWUsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkKSAmJgorCQkJ IWlzX2Nvbm5pbmZvX29wdGlvbihuYW1lLCBVc2VyTWFwcGluZ1JlbGF0aW9uSWQpKQorCQkJY29u dGludWU7CisKKwkJdmFsdWUgPSBkZWZHZXRTdHJpbmcoZCk7CisKKwkJYXBwZW5kU3RyaW5nSW5m bygmc3RyLCAiJXMlcyA9ICIsCisJCQkJCQkgZmlyc3QgPyAiIiA6ICIgIiwgbmFtZSk7CisJCWFw cGVuZEVzY2FwZWRWYWx1ZSgmc3RyLCB2YWx1ZSk7CisJCWZpcnN0ID0gZmFsc2U7CisJfQorCisJ Lyogb3ZlcnJpZGUgY2xpZW50X2VuY29kaW5nICovCisJaWYgKGFwcGVuZF9vdmVycmlkZXMpCisJ eworCQlhcHBlbmRTdHJpbmdJbmZvKCZzdHIsICIlc2NsaWVudF9lbmNvZGluZyA9ICIsCisJCQkJ CQkgZmlyc3QgPyAiIiA6ICIgIik7CisJCWFwcGVuZEVzY2FwZWRWYWx1ZSgmc3RyLCBHZXREYXRh YmFzZUVuY29kaW5nTmFtZSgpKTsKKwl9CisKKwlyZXR1cm4gc3RyLmRhdGE7Cit9CisKKworLyoK KyAqIEdpdmVuIGEgdXNlciBJRCBhbmQgc2VydmVyIElELCByZXR1cm4gYSBwb3N0Z3JlcyBjb25u ZWN0aW9uIHN0cmluZyBzdWl0YWJsZQorICogdG8gcGFzcyB0byBsaWJwcS4KKyAqLworY2hhciAq CitGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhPaWQgdXNlcmlkLCBPaWQgc2VydmVyaWQs IGJvb2wgYXBwZW5kX292ZXJyaWRlcykKK3sKKwlzdGF0aWMgTWVtb3J5Q29udGV4dAkgdG1wY29u dGV4dCA9IE5VTEw7CisJRm9yZWlnblNlcnZlcgkJCSpzZXJ2ZXI7CisJVXNlck1hcHBpbmcJCQkJ KnVtOworCUxpc3QJCQkJCSpvcHRpb25zOworCWNoYXIJCQkJCSpjb25uaW5mbzsKKwlNZW1vcnlD b250ZXh0CQkJIG9sZGNvbnRleHQ7CisKKwkvKiBMb2FkIHRoZSBsaWJyYXJ5IHByb3ZpZGluZyB1 cyBsaWJwcSBjYWxscy4gKi8KKwlsb2FkX2ZpbGUoImxpYnBxd2FscmVjZWl2ZXIiLCBmYWxzZSk7 CisKKwkvKgorCSAqIFVzZSBhIHRlbXBvcmFyeSBjb250ZXh0IHJhdGhlciB0aGFuIHRyeWluZyB0 byB0cmFjayBpbmRpdmlkdWFsCisJICogYWxsb2NhdGlvbnMgaW4gR2V0Rm9yZWlnblNlcnZlcigp IGFuZCBHZXRVc2VyTWFwcGluZygpLgorCSAqLworCWlmICh0bXBjb250ZXh0ID09IE5VTEwpCisJ CXRtcGNvbnRleHQgPSBBbGxvY1NldENvbnRleHRDcmVhdGUoVG9wTWVtb3J5Q29udGV4dCwKKwkJ CQkJCQkJCQkgICAidGVtcCBjb250ZXh0IGZvciBidWlsZGluZyBjb25uZWN0aW9uIHN0cmluZyIs CisJCQkJCQkJCQkJICAgQUxMT0NTRVRfREVGQVVMVF9TSVpFUyk7CisKKwlvbGRjb250ZXh0ID0g TWVtb3J5Q29udGV4dFN3aXRjaFRvKHRtcGNvbnRleHQpOworCisJc2VydmVyID0gR2V0Rm9yZWln blNlcnZlcihzZXJ2ZXJpZCk7CisJdW0gPSBHZXRVc2VyTWFwcGluZyh1c2VyaWQsIHNlcnZlcmlk KTsKKworCS8qIHVzZXIgbWFwcGluZyBvcHRpb25zIG92ZXJyaWRlIHNlcnZlciBvcHRpb25zICov CisJb3B0aW9ucyA9IGxpc3RfY29uY2F0KHNlcnZlci0+b3B0aW9ucywgdW0tPm9wdGlvbnMpOwor CisJY29ubmluZm8gPSBvcHRpb25zX3RvX2Nvbm5pbmZvKG9wdGlvbnMsIGFwcGVuZF9vdmVycmlk ZXMpOworCisJLyogY29weSBvbmx5IGNvbm5pbmZvIGludG8gdGhlIGN1cnJlbnQgY29udGV4dCAq LworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKKworCWNvbm5pbmZvID0gcHN0 cmR1cChjb25uaW5mbyk7CisKKwlNZW1vcnlDb250ZXh0UmVzZXQodG1wY29udGV4dCk7CisKKwly ZXR1cm4gY29ubmluZm87Cit9CisKKwogLyoKICAqIEdldFVzZXJNYXBwaW5nIC0gbG9vayB1cCB0 aGUgdXNlciBtYXBwaW5nLgogICoKQEAgLTU4MCw2ICs2OTMsMzggQEAgaXNfY29ubmluZm9fb3B0 aW9uKGNvbnN0IGNoYXIgKm9wdGlvbiwgT2lkIGNvbnRleHQpCiAJcmV0dXJuIGZhbHNlOwogfQog CisvKgorICogcGdfY29ubmluZm9fZnJvbV9zZXJ2ZXIKKyAqCisgKiBFeHRyYWN0IGNvbm5lY3Rp b24gc3RyaW5nIGZyb20gdGhlIGdpdmVuIGZvcmVpZ24gc2VydmVyLgorICovCitEYXR1bQorcGdf Y29ubmluZm9fZnJvbV9zZXJ2ZXIoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwljaGFyICpzZXJ2ZXJf bmFtZSA9IHRleHRfdG9fY3N0cmluZyhQR19HRVRBUkdfVEVYVF9QKDApKTsKKwljaGFyICp1c2Vy X25hbWUgPSB0ZXh0X3RvX2NzdHJpbmcoUEdfR0VUQVJHX1RFWFRfUCgxKSk7CisJYm9vbCAgYXBw ZW5kX292ZXJyaWRlcyA9IFBHX0dFVEFSR19CT09MKDIpOworCU9pZCBzZXJ2ZXJpZCA9IGdldF9m b3JlaWduX3NlcnZlcl9vaWQoc2VydmVyX25hbWUsIGZhbHNlKTsKKwlPaWQgdXNlcmlkID0gZ2V0 X3JvbGVfb2lkX29yX3B1YmxpYyh1c2VyX25hbWUpOworCUFjbFJlc3VsdCBhY2xyZXN1bHQ7CisJ Y2hhciAqY29ubmluZm87CisKKwkvKiBpZiB0aGUgc3BlY2lmaWVkIHVzZXJpZCBpcyBub3QgUFVC TElDLCBjaGVjayBTRVQgUk9MRSBwcml2aWxlZ2VzICovCisJaWYgKHVzZXJpZCAhPSBBQ0xfSURf UFVCTElDKQorCQljaGVja19jYW5fc2V0X3JvbGUoR2V0VXNlcklkKCksIHVzZXJpZCk7CisKKwkv KiBBQ0wgY2hlY2sgb24gZm9yZWlnbiBzZXJ2ZXIgKi8KKwlhY2xyZXN1bHQgPSBvYmplY3RfYWNs Y2hlY2soRm9yZWlnblNlcnZlclJlbGF0aW9uSWQsIHNlcnZlcmlkLAorCQkJCQkJCQlHZXRVc2Vy SWQoKSwgQUNMX1VTQUdFKTsKKwlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQlhY2xj aGVja19lcnJvcihhY2xyZXN1bHQsIE9CSkVDVF9GT1JFSUdOX1NFUlZFUiwgc2VydmVyX25hbWUp OworCisJY29ubmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyh1c2VyaWQsIHNl cnZlcmlkLAorCQkJCQkJCQkJCQkgYXBwZW5kX292ZXJyaWRlcyk7CisKKwlQR19SRVRVUk5fVEVY VF9QKGNzdHJpbmdfdG9fdGV4dChjb25uaW5mbykpOworfQorCiAKIC8qCiAgKiBWYWxpZGF0ZSB0 aGUgZ2VuZXJpYyBvcHRpb24gZ2l2ZW4gdG8gU0VSVkVSIG9yIFVTRVIgTUFQUElORy4KZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jCmluZGV4IDIyZDFlNmNmOTIuLjdiOWM3OTAwNWUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMjA2Nyw2 ICsyMDY3LDI3IEBAIHNlbGVjdER1bXBhYmxlU3RhdGlzdGljc09iamVjdChTdGF0c0V4dEluZm8g KnNvYmosIEFyY2hpdmUgKmZvdXQpCiAJCXNvYmotPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5U X05PTkU7CiB9CiAKKy8qCisgKiBzZWxlY3REdW1wYWJsZUZkdzogcG9saWN5LXNldHRpbmcgc3Vi cm91dGluZQorICoJCU1hcmsgZm9yZWlnbiBkYXRhIHdyYXBwZXIgYXMgdG8gYmUgZHVtcGVkIG9y IG5vdAorICoKKyAqIEZyb2VpZ24gRGF0YSBXcmFwcGVycyBkbyBub3QgYmVsb25nIHRvIGFueSBw YXJ0aWN1bGFyIG5hbWVzcGFjZS4gIFRvCisgKiBpZGVudGlmeSBidWlsdC1pbiBmb3JlaWduIGRh dGEgd3JhcHBlcnMsIHdlIG11c3QgcmVzb3J0IHRvIGNoZWNraW5nIHdoZXRoZXIKKyAqIHRoZSBt ZXRob2QncyBPSUQgaXMgaW4gdGhlIHJhbmdlIHJlc2VydmVkIGZvciBpbml0ZGIuCisgKi8KK3N0 YXRpYyB2b2lkCitzZWxlY3REdW1wYWJsZUZkdyhGZHdJbmZvICpmZHdpbmZvLCBBcmNoaXZlICpm b3V0KQoreworCWlmIChjaGVja0V4dGVuc2lvbk1lbWJlcnNoaXAoJmZkd2luZm8tPmRvYmosIGZv dXQpKQorCQlyZXR1cm47CQkJCQkvKiBleHRlbnNpb24gbWVtYmVyc2hpcCBvdmVycmlkZXMgYWxs IGVsc2UgKi8KKworCWlmIChmZHdpbmZvLT5kb2JqLmNhdElkLm9pZCA8PSAoT2lkKSBnX2xhc3Rf YnVpbHRpbl9vaWQpCisJCWZkd2luZm8tPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5UX05PTkU7 CisJZWxzZQorCQlmZHdpbmZvLT5kb2JqLmR1bXAgPSBmb3V0LT5kb3B0LT5pbmNsdWRlX2V2ZXJ5 dGhpbmcgPworCQkJRFVNUF9DT01QT05FTlRfQUxMIDogRFVNUF9DT01QT05FTlRfTk9ORTsKK30K KwogLyoKICAqIHNlbGVjdER1bXBhYmxlT2JqZWN0OiBwb2xpY3ktc2V0dGluZyBzdWJyb3V0aW5l CiAgKgkJTWFyayBhIGdlbmVyaWMgZHVtcGFibGUgb2JqZWN0IGFzIHRvIGJlIGR1bXBlZCBvciBu b3QKQEAgLTk3MzIsNyArOTc1Myw3IEBAIGdldEZvcmVpZ25EYXRhV3JhcHBlcnMoQXJjaGl2ZSAq Zm91dCwgaW50ICpudW1Gb3JlaWduRGF0YVdyYXBwZXJzKQogCQlmZHdpbmZvW2ldLmZkd29wdGlv bnMgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfZmR3b3B0aW9ucykpOwogCiAJCS8q IERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVtcCBpdCAqLwotCQlzZWxlY3REdW1wYWJsZU9i amVjdCgmKGZkd2luZm9baV0uZG9iaiksIGZvdXQpOworCQlzZWxlY3REdW1wYWJsZUZkdygmZmR3 aW5mb1tpXSwgZm91dCk7CiAKIAkJLyogTWFyayB3aGV0aGVyIEZEVyBoYXMgYW4gQUNMICovCiAJ CWlmICghUFFnZXRpc251bGwocmVzLCBpLCBpX2Zkd2FjbCkpCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL21lc29uLmJ1aWxkIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWls ZAppbmRleCAyYmNiZTMyN2NmLi5jODc1MzNjOWIyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQK QEAgLTgzLDYgKzgzLDcgQEAgYmtpX2RhdGEgPSBbCiAgICdwZ19jb2xsYXRpb24uZGF0JywKICAg J3BnX2NvbnZlcnNpb24uZGF0JywKICAgJ3BnX2RhdGFiYXNlLmRhdCcsCisgICdwZ19mb3JlaWdu X2RhdGFfd3JhcHBlci5kYXQnLAogICAncGdfbGFuZ3VhZ2UuZGF0JywKICAgJ3BnX25hbWVzcGFj ZS5kYXQnLAogICAncGdfb3BjbGFzcy5kYXQnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2ZvcmVpZ25fZGF0YV93cmFwcGVyLmRhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi5lZjY4ZmU1OTY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQKQEAgLTAsMCArMSwyMSBAQAorIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyMKKyMgcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuZGF0CisjICAgIEluaXRpYWwgY29u dGVudHMgb2YgdGhlIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIHN5c3RlbSBjYXRhbG9nLgorIwor IyBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2 ZWxvcG1lbnQgR3JvdXAKKyMgUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9m IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyMKKyMgc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1sKKworeyBv aWQgPT4gJzYwMTUnLCBvaWRfc3ltYm9sID0+ICdQR19DT05ORUNUSU9OX0ZEVycsCisgIGRlc2Ny ID0+ICdQc2V1ZG8gRkRXIGZvciBjb25uZWN0aW9ucyB0byBQb3N0Z3JlcycsCisgIGZkd25hbWUg PT4gJ3BnX2Nvbm5lY3Rpb25fZmR3JywKKyAgZmR3dmFsaWRhdG9yID0+ICdwb3N0Z3Jlc3FsX2Zk d192YWxpZGF0b3InLAorICBmZHdhY2wgPT4gJ19udWxsXycsIGZkd29wdGlvbnMgPT4gJ19udWxs Xyd9LAorCitdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0 YV93cmFwcGVyLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVy LmgKaW5kZXggNWUzOWU0YjQyZi4uYTc4NzA3ZmI1OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuaApAQCAtMzAsOCArMzAsOCBAQCBDQVRBTE9HKHBn X2ZvcmVpZ25fZGF0YV93cmFwcGVyLDIzMjgsRm9yZWlnbkRhdGFXcmFwcGVyUmVsYXRpb25JZCkK IHsKIAlPaWQJCQlvaWQ7CQkJLyogb2lkICovCiAJTmFtZURhdGEJZmR3bmFtZTsJCS8qIGZvcmVp Z24tZGF0YSB3cmFwcGVyIG5hbWUgKi8KLQlPaWQJCQlmZHdvd25lciBCS0lfTE9PS1VQKHBnX2F1 dGhpZCk7IC8qIEZEVyBvd25lciAqLwotCU9pZAkJCWZkd2hhbmRsZXIgQktJX0xPT0tVUF9PUFQo cGdfcHJvYyk7IC8qIGhhbmRsZXIgZnVuY3Rpb24sIG9yIDAKKwlPaWQJCQlmZHdvd25lciBCS0lf REVGQVVMVChQT1NUR1JFUykgQktJX0xPT0tVUChwZ19hdXRoaWQpOyAvKiBGRFcgb3duZXIgKi8K KwlPaWQJCQlmZHdoYW5kbGVyIEJLSV9ERUZBVUxUKDApIEJLSV9MT09LVVBfT1BUKHBnX3Byb2Mp OyAvKiBoYW5kbGVyIGZ1bmN0aW9uLCBvciAwCiAJCQkJCQkJCQkJCQkJICogaWYgbm9uZSAqLwog CU9pZAkJCWZkd3ZhbGlkYXRvciBCS0lfTE9PS1VQX09QVChwZ19wcm9jKTsJLyogb3B0aW9uIHZh bGlkYXRpb24KIAkJCQkJCQkJCQkJCQkJICogZnVuY3Rpb24sIG9yIDAgaWYKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0CmluZGV4IDc5NzkzOTI3NzYuLmIyNTE3NzVkYmIgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdApAQCAtNzUxNiw2ICs3NTE2LDEwIEBACiAgIHByb25hbWUgPT4gJ3Bvc3RncmVzcWxf ZmR3X3ZhbGlkYXRvcicsIHByb3JldHR5cGUgPT4gJ2Jvb2wnLAogICBwcm9hcmd0eXBlcyA9PiAn X3RleHQgb2lkJywgcHJvc3JjID0+ICdwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3InIH0sCiAKK3sg b2lkID0+ICc2MTIzJywgZGVzY3IgPT4gJ2V4dHJhY3QgY29ubmVjdGlvbiBzdHJpbmcgZnJvbSB0 aGUgZ2l2ZW4gZm9yZWlnbiBzZXJ2ZXInLAorICBwcm9uYW1lID0+ICdwZ19jb25uaW5mb19mcm9t X3NlcnZlcicsIHByb3JldHR5cGUgPT4gJ3RleHQnLAorICBwcm9hcmd0eXBlcyA9PiAndGV4dCB0 ZXh0IGJvb2wnLCBwcm9zcmMgPT4gJ3BnX2Nvbm5pbmZvX2Zyb21fc2VydmVyJyB9LAorCiB7IG9p ZCA9PiAnMjI5MCcsIGRlc2NyID0+ICdJL08nLAogICBwcm9uYW1lID0+ICdyZWNvcmRfaW4nLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsCiAgIHByb2FyZ3R5cGVz ID0+ICdjc3RyaW5nIG9pZCBpbnQ0JywgcHJvc3JjID0+ICdyZWNvcmRfaW4nIH0sCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaCBiL3NyYy9pbmNsdWRlL2ZvcmVpZ24v Zm9yZWlnbi5oCmluZGV4IDgyYjgxNTMxMDAuLmI1YjliOTdmNGQgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBiL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWln bi5oCkBAIC02OSw2ICs2OSw4IEBAIGV4dGVybiBGb3JlaWduU2VydmVyICpHZXRGb3JlaWduU2Vy dmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLAogCQkJCQkJCQkJCQkgICBiaXRzMTYgZmxhZ3MpOwog ZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUoY29uc3QgY2hhciAq c3J2bmFtZSwKIAkJCQkJCQkJCQkJIGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gY2hhciAqRm9y ZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoT2lkIHVzZXJpZCwgT2lkIHNlcnZlcmlkLAorCQkJ CQkJCQkJCSAgIGJvb2wgYXBwZW5kX292ZXJyaWRlcyk7CiBleHRlcm4gVXNlck1hcHBpbmcgKkdl dFVzZXJNYXBwaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2ZXJpZCk7CiBleHRlcm4gRm9yZWlnbkRh dGFXcmFwcGVyICpHZXRGb3JlaWduRGF0YVdyYXBwZXIoT2lkIGZkd2lkKTsKIGV4dGVybiBGb3Jl aWduRGF0YVdyYXBwZXIgKkdldEZvcmVpZ25EYXRhV3JhcHBlckV4dGVuZGVkKE9pZCBmZHdpZCwK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dAppbmRleCAxZGZlMjNj YzFlLi5kNTFlODNmZjkyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zv cmVpZ25fZGF0YS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2Rh dGEub3V0CkBAIC0yMSwxNSArMjEsMTUgQEAgQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X3JvbGUy OwogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgU1VQRVJVU0VSOwogQ1JFQVRF IFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0OwogQ1JFQVRFIFJPTEUgcmVncmVzc191bnByaXZp bGVnZWRfcm9sZTsKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBkdW1teTsKLUNPTU1FTlQg T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXkgSVMgJ3VzZWxlc3MnOwotQ1JFQVRFIEZPUkVJ R04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3X3ZhbGlk YXRvcjsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2R1bW15OworQ09NTUVO VCBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2R1bW15IElTICd1c2VsZXNzJzsKK0NS RUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgVkFMSURBVE9SIHBv c3RncmVzcWxfZmR3X3ZhbGlkYXRvcjsKIC0tIEF0IHRoaXMgcG9pbnQgd2Ugc2hvdWxkIGhhdmUg MiBidWlsdC1pbiB3cmFwcGVycyBhbmQgbm8gc2VydmVycy4KLVNFTEVDVCBmZHduYW1lLCBmZHdo YW5kbGVyOjpyZWdwcm9jLCBmZHd2YWxpZGF0b3I6OnJlZ3Byb2MsIGZkd29wdGlvbnMgRlJPTSBw Z19mb3JlaWduX2RhdGFfd3JhcHBlciBPUkRFUiBCWSAxLCAyLCAzOwotICBmZHduYW1lICAgfCBm ZHdoYW5kbGVyIHwgICAgICAgZmR3dmFsaWRhdG9yICAgICAgIHwgZmR3b3B0aW9ucyAKLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCi0gZHVtbXkgICAgICB8IC0gICAgICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAKLSBwb3N0Z3Jlc3FsIHwgLSAgICAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8 IAorU0VMRUNUIGZkd25hbWUsIGZkd2hhbmRsZXI6OnJlZ3Byb2MsIGZkd3ZhbGlkYXRvcjo6cmVn cHJvYywgZmR3b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25h bWUgTElLRSAncmVncmVzc18lJyBPUkRFUiBCWSAxLCAyLCAzOworICAgICAgZmR3bmFtZSAgICAg ICB8IGZkd2hhbmRsZXIgfCAgICAgICBmZHd2YWxpZGF0b3IgICAgICAgfCBmZHdvcHRpb25zIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkgICAgICB8IC0gICAgICAgICAgfCAtICAg ICAgICAgICAgICAgICAgICAgICAgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCAtICAgICAgICAg IHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgCiAoMiByb3dzKQogCiBTRUxFQ1Qgc3J2bmFt ZSwgc3J2b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fc2VydmVyOwpAQCAtNDMsMTgwICs0MywxODAg QEAgU0VMRUNUICogRlJPTSBwZ191c2VyX21hcHBpbmc7CiAoMCByb3dzKQogCiAtLSBDUkVBVEUg Rk9SRUlHTiBEQVRBIFdSQVBQRVIKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVkFM SURBVE9SIGJhcjsgICAgICAgICAgICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQ UEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBiYXI7ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9S OiAgZnVuY3Rpb24gYmFyKHRleHRbXSwgb2lkKSBkb2VzIG5vdCBleGlzdAotQ1JFQVRFIEZPUkVJ R04gREFUQSBXUkFQUEVSIGZvbzsKLVxkZXcKLSAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIAotLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0g ICAgICAgfCAtCi0gZm9vICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAg ICAgIHwgLQotIHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAg ICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvcgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vOworXGRldyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycworICAgICAgICBOYW1lICAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkgICAgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLQorIHJlZ3Jlc3NfZm9vICAg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLQorIHJlZ3Jlc3Nf cG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdy ZXNxbF9mZHdfdmFsaWRhdG9yCiAoMyByb3dzKQogCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vOyAtLSBkdXBsaWNhdGUKLUVSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgImZvbyIg YWxyZWFkeSBleGlzdHMKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0aW5nICcxJyk7Ci1cZGV3KwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9y ZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVn ZXMgfCAgRkRXIG9wdGlvbnMgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gZHVtbXkg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIHwgdXNlbGVz cwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0g ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEn KSB8IAotIHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8 IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICB8IAorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAtLSBkdXBs aWNhdGUKK0VSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBhbHJlYWR5 IGV4aXN0cworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TICh0ZXN0aW5nICcxJyk7Citc ZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxp ZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgIEZEVyBvcHRpb25zICB8IERlc2Ny aXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVz c19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICh0ZXN0aW5nICcxJykg fCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAg ICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICB8IAogKDMgcm93cykKIAotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287 Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKHRlc3RpbmcgJzEnLCB0 ZXN0aW5nICcyJyk7ICAgLS0gRVJST1IKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19mb287CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAo dGVzdGluZyAnMScsIHRlc3RpbmcgJzInKTsgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gInRl c3RpbmciIHByb3ZpZGVkIG1vcmUgdGhhbiBvbmNlCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vIE9QVElPTlMgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJyk7Ci1cZGV3KwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg Zm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZp bGVnZXMgfCAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICB8IERlc2NyaXB0aW9uIAotLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJykg fCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBw b3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19m b28gT1BUSU9OUyAodGVzdGluZyAnMScsIGFub3RoZXIgJzInKTsKK1xkZXcrIHJlZ3Jlc3NfKgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycworICAgICAgICBOYW1lICAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAg ICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICB8IERl c2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf ZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHVzZWxlc3MKKyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJykgfCAKKyByZWdyZXNzX3Bv c3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVz cWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAKICgzIHJvd3MpCiAKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwor RFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIFNFVCBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgLS0gRVJST1IKLUVS Uk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJm b28iCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287IC0tIEVSUk9SCitF UlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0ZSBmb3JlaWduLWRhdGEgd3JhcHBlciAi cmVncmVzc19mb28iCiBISU5UOiAgTXVzdCBiZSBzdXBlcnVzZXIgdG8gY3JlYXRlIGEgZm9yZWln bi1kYXRhIHdyYXBwZXIuCiBSRVNFVCBST0xFOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBWQUxJREFUT1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwotXGRldysKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1k YXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBI YW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBG RFcgb3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAg ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAKLSBwb3N0Z3Jl c3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zk d192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgCitDUkVBVEUg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvcjsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisg ICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIg fCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRp b25zIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAg ICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwor IHJlZ3Jlc3NfZm9vICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg IHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICB8IAorIHJlZ3Jlc3NfcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICB8IAogKDMgcm93cykKIAogLS0gSEFORExFUiByZWxhdGVkIGNoZWNrcwog Q1JFQVRFIEZVTkNUSU9OIGludmFsaWRfZmR3X2hhbmRsZXIoKSBSRVRVUk5TIGludCBMQU5HVUFH RSBTUUwgQVMgJ1NFTEVDVCAxOyc7Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9m ZHcgSEFORExFUiBpbnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRMRVIgaW52YWxpZF9mZHdfaGFuZGxl cjsgIC0tIEVSUk9SCiBFUlJPUjogIGZ1bmN0aW9uIGludmFsaWRfZmR3X2hhbmRsZXIgbXVzdCBy ZXR1cm4gdHlwZSBmZHdfaGFuZGxlcgotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3Rf ZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGludmFsaWRfZmR3X2hhbmRsZXI7 ICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfdGVzdF9mZHcg SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW52YWxpZF9mZHdfaGFuZGxlcjsgIC0t IEVSUk9SCiBFUlJPUjogIGNvbmZsaWN0aW5nIG9yIHJlZHVuZGFudCBvcHRpb25zCi1MSU5FIDE6 IC4uLkdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFO RExFUiBpbi4uLgorTElORSAxOiAuLi5XUkFQUEVSIHJlZ3Jlc3NfdGVzdF9mZHcgSEFORExFUiB0 ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi1DUkVBVEUgRk9SRUlHTiBEQVRB IFdSQVBQRVIgdGVzdF9mZHcgSEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyOwotRFJPUCBGT1JFSUdO IERBVEEgV1JBUFBFUiB0ZXN0X2ZkdzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX3Rlc3RfZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlcjsKK0RST1AgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc190ZXN0X2ZkdzsKIC0tIEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAobm9uZXhpc3RlbnQgJ2Zk dycpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TIChub25leGlzdGVudCAnZmR3Jyk7ICAgICAgICAgLS0gRVJST1IKIEVSUk9S OiAgaW52YWxpZCBvcHRpb24gIm5vbmV4aXN0ZW50IgogSElOVDogIFRoZXJlIGFyZSBubyB2YWxp ZCBvcHRpb25zIGluIHRoaXMgY29udGV4dC4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv bzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERB VEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVS Uk9SCiBFUlJPUjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICI7IgotTElORSAxOiBBTFRFUiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb287Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBWQUxJREFUT1IgYmFyOyAg ICAgICAgICAgICAgIC0tIEVSUk9SCitMSU5FIDE6IEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBi YXI7ICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgZnVuY3Rpb24gYmFyKHRleHRbXSwg b2lkKSBkb2VzIG5vdCBleGlzdAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE5PIFZB TElEQVRPUjsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwotICAgIE5hbWUgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAg ICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9wdGlvbnMgfCBEZXNjcmlwdGlvbiAKLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg IHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICB8IHVzZWxlc3MKLSBmb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28g Tk8gVkFMSURBVE9SOworXGRldysgcmVncmVzc18qCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMK KyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxl ciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9w dGlvbnMgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX2R1bW15 ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCB1c2VsZXNz CisgcmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAg ICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgIHwgCisgcmVncmVzc19wb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgIHwgCiAoMyByb3dzKQogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gT1BUSU9OUyAoYSAnMScsIGIgJzInKTsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBPUFRJT05TIChTRVQgYyAnNCcpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChhICcxJywgYiAnMicpOworQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoU0VUIGMgJzQnKTsgICAg ICAgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gImMiIG5vdCBmb3VuZAotQUxURVIgRk9SRUlH TiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKERST1AgYyk7ICAgICAgICAgICAgLS0gRVJST1IK K0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKERST1AgYyk7 ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgb3B0aW9uICJjIiBub3QgZm91bmQKLUFMVEVS IEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgeCAnMScsIERST1AgeCk7Ci1c ZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNz IHByaXZpbGVnZXMgfCAgRkRXIG9wdGlvbnMgICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAt ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg LSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg KGEgJzEnLCBiICcyJykgfCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgIHwgCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TIChBREQgeCAnMScsIERST1AgeCk7CitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBm b3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2Vz cyBwcml2aWxlZ2VzIHwgIEZEVyBvcHRpb25zICAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVzc19mb28gICAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8IChhICcxJywgYiAnMicpIHwgCisgcmVncmVzc19wb3N0 Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3Fs X2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgCiAo MyByb3dzKQogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoRFJPUCBh LCBTRVQgYiAnMycsIEFERCBjICc0Jyk7Ci1cZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0g ICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAg IFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgRkRXIG9wdGlvbnMgICB8 IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JykgfCAKLSBwb3N0Z3Jlc3Fs IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192 YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgCitBTFRFUiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChEUk9QIGEsIFNFVCBiICcz JywgQUREIGMgJzQnKTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVy cworICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5k bGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgRkRX IG9wdGlvbnMgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jl c3NfZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICB8IHVzZWxlc3MKKyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgKGIgJzMnLCBjICc0JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKLUFMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChhICcyJyk7Ci1BTFRFUiBGT1JFSUdOIERB VEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoYiAnNCcpOyAgICAgICAgICAgICAtLSBFUlJPUgorQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoYSAnMicpOworQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoYiAnNCcpOyAgICAg ICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gImIiIHByb3ZpZGVkIG1vcmUgdGhhbiBv bmNlCi1cZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwotICAgIE5hbWUgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAg ICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgICAgICBGRFcgb3B0aW9ucyAgICAgIHwgRGVzY3JpcHRp b24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8IHVzZWxlc3MKLSBmb28gICAgICAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IChiICczJywgYyAnNCcsIGEgJzInKSB8IAot IHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3Rn cmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJz CisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRs ZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAg RkRXIG9wdGlvbnMgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg LSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfZm9vICAgICAgICB8IHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJykgfCAKKyByZWdy ZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBv c3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgIHwgCiAoMyByb3dzKQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgZCAnNScpOyAgICAgICAg IC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0 YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBP UFRJT05TIChBREQgZCAnNScpOyAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIHBlcm1pc3Npb24g ZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIKIEhJTlQ6 ICBNdXN0IGJlIHN1cGVydXNlciB0byBhbHRlciBhIGZvcmVpZ24tZGF0YSB3cmFwcGVyLgogU0VU IFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXI7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gT1BUSU9OUyAoQUREIGQgJzUnKTsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdy YXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVy IHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAg IEZEVyBvcHRpb25zICAgICAgICAgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAg ICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JywgYSAnMicsIGQgJzUnKSB8IAotIHBv c3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVz cWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BU SU9OUyAoQUREIGQgJzUnKTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRh dGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxl Z2VzIHwgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1 c2VsZXNzCisgcmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IChiICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlk YXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IAogKDMgcm93cykKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9XTkVSIFRPIHJl Z3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8g Y2hhbmdlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgIC0t IEVSUk9SCitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNoYW5nZSBvd25lciBvZiBmb3Jl aWduLWRhdGEgd3JhcHBlciAicmVncmVzc19mb28iCiBISU5UOiAgVGhlIG93bmVyIG9mIGEgZm9y ZWlnbi1kYXRhIHdyYXBwZXIgbXVzdCBiZSBhIHN1cGVydXNlci4KLUFMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xl X3N1cGVyOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBOT1NVUEVSVVNFUjsK IFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwotQUxURVIgRk9SRUlHTiBEQVRBIFdS QVBQRVIgZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAg cGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9yZWlnbi1kYXRhIHdyYXBwZXIgImZvbyIKK0FM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7 ICAgICAgICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9y ZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2Vy IHRvIGFsdGVyIGEgZm9yZWlnbi1kYXRhIHdyYXBwZXIuCiBSRVNFVCBST0xFOwotXGRldysKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKLSAgICBOYW1lICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3Mg cHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICAgfCBEZXNjcmlwdGlvbiAK LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCi0g Zm9vICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyICAgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBh ICcyJywgZCAnNScpIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAg fCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICAgfCBEZXNj cmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf ZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfZm9vICAgICAgICB8IHJlZ3Jlc3NfdGVz dF9yb2xlX3N1cGVyICAgfCAtICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJywgZCAnNScpIHwgCisgcmVncmVz c19wb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0 Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBSRU5BTUUgVE8gZm9vMTsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJz Ci0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAg ICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAgIEZEVyBv cHRpb25zICAgICAgICAgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwg LSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbzEgICAgICAgfCByZWdyZXNzX3Rlc3Rf cm9sZV9zdXBlciAgIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JywgYSAnMicsIGQgJzUnKSB8IAotIHBvc3RncmVz cWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gUkVOQU1FIFRP IHJlZ3Jlc3NfZm9vMTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEg d3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2Vz IHwgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2Vs ZXNzCisgcmVncmVzc19mb28xICAgICAgIHwgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgICB8IC0g ICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IChi ICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRv ciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAog KDMgcm93cykKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vMSBSRU5BTUUgVE8gZm9v OworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28xIFJFTkFNRSBUTyByZWdy ZXNzX2ZvbzsKIC0tIEhBTkRMRVIgcmVsYXRlZCBjaGVja3MKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBIQU5ETEVSIGludmFsaWRfZmR3X2hhbmRsZXI7ICAtLSBFUlJPUgorQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiBpbnZhbGlkX2Zkd19oYW5k bGVyOyAgLS0gRVJST1IKIEVSUk9SOiAgZnVuY3Rpb24gaW52YWxpZF9mZHdfaGFuZGxlciBtdXN0 IHJldHVybiB0eXBlIGZkd19oYW5kbGVyCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgYW55dGhpbmc7ICAtLSBFUlJPUgorQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiB0ZXN0X2Zkd19oYW5k bGVyIEhBTkRMRVIgYW55dGhpbmc7ICAtLSBFUlJPUgogRVJST1I6ICBjb25mbGljdGluZyBvciBy ZWR1bmRhbnQgb3B0aW9ucwotTElORSAxOiAuLi5GT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFO RExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgYW4uLi4KK0xJTkUgMTogLi4uREFUQSBXUkFQ UEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGFuLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFu ZGxlcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVz dF9mZHdfaGFuZGxlcjsKIFdBUk5JTkc6ICBjaGFuZ2luZyB0aGUgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgaGFuZGxlciBjYW4gY2hhbmdlIGJlaGF2aW9yIG9mIGV4aXN0aW5nIGZvcmVpZ24gdGFibGVz CiBEUk9QIEZVTkNUSU9OIGludmFsaWRfZmR3X2hhbmRsZXIoKTsKIC0tIERST1AgRk9SRUlHTiBE QVRBIFdSQVBQRVIKQEAgLTIyNCw1MiArMjI0LDUyIEBAIERST1AgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgbm9uZXhpc3RlbnQ7ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIGZv cmVpZ24tZGF0YSB3cmFwcGVyICJub25leGlzdGVudCIgZG9lcyBub3QgZXhpc3QKIERST1AgRk9S RUlHTiBEQVRBIFdSQVBQRVIgSUYgRVhJU1RTIG5vbmV4aXN0ZW50OwogTk9USUNFOiAgZm9yZWln bi1kYXRhIHdyYXBwZXIgIm5vbmV4aXN0ZW50IiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKLVxk ZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKLSAgICBOYW1lICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8ICAgICBIYW5kbGVyICAgICAgfCAgICAgICAgVmFsaWRh dG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAg ICAgICAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgICAg ICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCi0gZm9vICAgICAgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlX3N1cGVyICAgfCB0ZXN0X2Zkd19oYW5kbGVyIHwgLSAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJywgZCAn NScpIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg ICAgICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgICAgIEhhbmRsZXIgICAgICB8ICAgICAgICBWYWxp ZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgICAgICAgICBGRFcgb3B0aW9ucyAg ICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IC0gICAgICAgICAgICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCisg cmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgICB8IHRlc3RfZmR3 X2hhbmRsZXIgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IChiICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICAgICAgICAgICB8IHBvc3RncmVzcWxf ZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IAogKDMgcm93cykKIAogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVy OyAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVz c190ZXN0X3JvbGVfc3VwZXIiIGNhbm5vdCBiZSBkcm9wcGVkIGJlY2F1c2Ugc29tZSBvYmplY3Rz IGRlcGVuZCBvbiBpdAotREVUQUlMOiAgb3duZXIgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9v CitERVRBSUw6ICBvd25lciBvZiBmb3JlaWduLWRhdGEgd3JhcHBlciByZWdyZXNzX2ZvbwogU0VU IFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXI7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbzsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBSRVNFVCBST0xF OwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwotXGRldysKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRh IHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5k bGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBGRFcg b3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwotIHBvc3RncmVzcWwg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3Zh bGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAKK1xkZXcrIHJlZ3Jl c3NfKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisgICAgICAgIE5hbWUgICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAg ICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRpb25zIHwgRGVzY3JpcHRpb24gCistLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfcG9zdGdyZXNxbCB8IHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRh dG9yIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IAogKDIgcm93cykKIAotQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZm9vOworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OworQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIENP TU1FTlQgT04gU0VSVkVSIHMxIElTICdmb3JlaWduIHNlcnZlcic7CiBDUkVBVEUgVVNFUiBNQVBQ SU5HIEZPUiBjdXJyZW50X3VzZXIgU0VSVkVSIHMxOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1Ig Y3VycmVudF91c2VyIFNFUlZFUiBzMTsJCQkJLS0gRVJST1IKIEVSUk9SOiAgdXNlciBtYXBwaW5n IGZvciAicmVncmVzc19mb3JlaWduX2RhdGFfdXNlciIgYWxyZWFkeSBleGlzdHMgZm9yIHNlcnZl ciAiczEiCiBDUkVBVEUgVVNFUiBNQVBQSU5HIElGIE5PVCBFWElTVFMgRk9SIGN1cnJlbnRfdXNl ciBTRVJWRVIgczE7IC0tIE5PVElDRQogTk9USUNFOiAgdXNlciBtYXBwaW5nIGZvciAicmVncmVz c19mb3JlaWduX2RhdGFfdXNlciIgYWxyZWFkeSBleGlzdHMgZm9yIHNlcnZlciAiczEiLCBza2lw cGluZwotXGRldysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwg QWNjZXNzIHByaXZpbGVnZXMgfCBGRFcgb3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAt ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg IHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAg ICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgfCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0g ICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwor ICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVy IHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBGRFcgb3B0 aW9ucyB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IHVzZWxlc3MK KyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAg ICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKIFxkZXMrCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24gc2VydmVycwog IE5hbWUgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRm9yZWlnbi1kYXRhIHdyYXBwZXIg fCBBY2Nlc3MgcHJpdmlsZWdlcyB8IFR5cGUgfCBWZXJzaW9uIHwgRkRXIG9wdGlvbnMgfCAgRGVz Y3JpcHRpb24gICAKIC0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCi0gczEgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICB8ICAg ICAgICAgfCAgICAgICAgICAgICB8IGZvcmVpZ24gc2VydmVyCisgczEgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg IHwgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICB8IGZvcmVpZ24gc2VydmVyCiAoMSByb3cp CiAKIFxkZXUrCkBAIC0yNzksMjUgKzI3OSwyNSBAQCBOT1RJQ0U6ICB1c2VyIG1hcHBpbmcgZm9y ICJyZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIiBhbHJlYWR5IGV4aXN0cyBmb3Igc2VydmVyCiAg czEgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IAogKDEgcm93KQogCi1EUk9QIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBF UlJPUgotRVJST1I6ICBjYW5ub3QgZHJvcCBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28gYmVjYXVz ZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAotREVUQUlMOiAgc2VydmVyIHMxIGRlcGVuZHMg b24gZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjog IGNhbm5vdCBkcm9wIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vIGJlY2F1c2Ugb3Ro ZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQKK0RFVEFJTDogIHNlcnZlciBzMSBkZXBlbmRzIG9uIGZv cmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCiB1c2VyIG1hcHBpbmcgZm9yIHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgb24gc2VydmVyIHMxIGRlcGVuZHMgb24gc2VydmVyIHMxCiBISU5U OiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9v LgogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBtdXN0 IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbworRFJPUCBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgorRVJST1I6ICBtdXN0IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3Nf Zm9vCiBSRVNFVCBST0xFOwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gQ0FTQ0FERTsK K0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gQ0FTQ0FERTsKIE5PVElDRTog IGRyb3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmplY3RzCiBERVRBSUw6ICBkcm9wIGNhc2NhZGVz IHRvIHNlcnZlciBzMQogZHJvcCBjYXNjYWRlcyB0byB1c2VyIG1hcHBpbmcgZm9yIHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgb24gc2VydmVyIHMxCi1cZGV3KwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBl cnMKLSAgICBOYW1lICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAg ICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRpb25z IHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIGR1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCB1c2VsZXNzCi0gcG9zdGdyZXNxbCB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9y IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IAorXGRldysgcmVncmVzc18qCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFj Y2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9wdGlvbnMgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVzc19wb3N0Z3Jlc3FsIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgCiAoMiByb3dzKQogCiBcZGVzKwpAQCAt MzEzLDg3ICszMTMsMTI1IEBAIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIG9uIHNlcnZlciBzMQogKDAgcm93cykKIAogLS0gZXhlcmNp c2UgQ1JFQVRFIFNFUlZFUgotQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgImZvbyIgZG9lcyBub3QgZXhpc3QKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g T1BUSU9OUyAoInRlc3Qgd3JhcHBlciIgJ3RydWUnKTsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0NSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0VS Uk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBkb2VzIG5vdCBleGlzdAor Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKCJ0ZXN0IHdy YXBwZXIiICd0cnVlJyk7CitDUkVBVEUgU0VSVkVSIHMxIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vOworQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBzZXJ2ZXIgInMxIiBhbHJl YWR5IGV4aXN0cwotQ1JFQVRFIFNFUlZFUiBJRiBOT1QgRVhJU1RTIHMxIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbzsJLS0gTm8gRVJST1IsIGp1c3QgTk9USUNFCitDUkVBVEUgU0VSVkVSIElGIE5P VCBFWElTVFMgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CS0tIE5vIEVSUk9S LCBqdXN0IE5PVElDRQogTk9USUNFOiAgc2VydmVyICJzMSIgYWxyZWFkeSBleGlzdHMsIHNraXBw aW5nCi1DUkVBVEUgU0VSVkVSIHMyIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICho b3N0ICdhJywgZGJuYW1lICdiJyk7Ci1DUkVBVEUgU0VSVkVSIHMzIFRZUEUgJ29yYWNsZScgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIFNFUlZFUiBzNCBUWVBFICdvcmFjbGUnIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7Ci1D UkVBVEUgU0VSVkVSIHM1IFZFUlNJT04gJzE1LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsK LUNSRUFURSBTRVJWRVIgczYgVkVSU0lPTiAnMTYuMCcgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9v IE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsKLUNSRUFURSBTRVJWRVIgczcgVFlQRSAn b3JhY2xlJyBWRVJTSU9OICcxNy4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAo aG9zdCAnYScsIGRibmFtZSAnYicpOwotQ1JFQVRFIFNFUlZFUiBzOCBGT1JFSUdOIERBVEEgV1JB UFBFUiBwb3N0Z3Jlc3FsIE9QVElPTlMgKGZvbyAnMScpOyAtLSBFUlJPUgorQ1JFQVRFIFNFUlZF UiBzMiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywg ZGJuYW1lICdiJyk7CitDUkVBVEUgU0VSVkVSIHMzIFRZUEUgJ29yYWNsZScgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc19mb287CitDUkVBVEUgU0VSVkVSIHM0IFRZUEUgJ29yYWNsZScgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAn YicpOworQ1JFQVRFIFNFUlZFUiBzNSBWRVJTSU9OICcxNS4wJyBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczYgVkVSU0lPTiAnMTYuMCcgRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwor Q1JFQVRFIFNFUlZFUiBzNyBUWVBFICdvcmFjbGUnIFZFUlNJT04gJzE3LjAnIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsKK0NS RUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIE9Q VElPTlMgKGZvbyAnMScpOyAtLSBFUlJPUgogRVJST1I6ICBpbnZhbGlkIG9wdGlvbiAiZm9vIgot Q1JFQVRFIFNFUlZFUiBzOCBGT1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jlc3FsIE9QVElPTlMg KGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpOworQ1JFQVRFIFNFUlZFUiBzOCBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgT1BUSU9OUyAoaG9zdCAnbG9jYWxo b3N0JywgZGJuYW1lICdzOGRiJyk7CiBcZGVzKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJz CiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3JhcHBl ciB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgIFR5cGUgIHwgVmVyc2lvbiB8ICAgICAgICAgICAgRkRX IG9wdGlvbnMgICAgICAgICAgICB8IERlc2NyaXB0aW9uIAogLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KLSBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczIgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgICAgICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAot IHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAKLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAg ICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0gczUgICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE2LjAgICAgfCAoaG9zdCAn YScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzNyAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCBvcmFj bGUgfCAxNy4wICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0gczgg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0ICdsb2NhbGhvc3QnLCBk Ym5hbWUgJ3M4ZGInKSB8IAorIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzMiAgIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAg IHwgCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8 ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzNSAgIHwg cmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgCisgczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNz X2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTYuMCAgICB8ICho b3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAorIHM3ICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAK KyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAg IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9z dCcsIGRibmFtZSAnczhkYicpIHwgCiAoOCByb3dzKQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUNSRUFURSBTRVJWRVIgdDEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAg ICAgICAgICAgLS0gRVJST1I6IG5vIHVzYWdlIG9uIEZEVwotRVJST1I6ICBwZXJtaXNzaW9uIGRl bmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCitDUkVBVEUgU0VSVkVSIHQxIEZPUkVJ R04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgLS0gRVJST1I6IG5v IHVzYWdlIG9uIEZEVworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRh IHdyYXBwZXIgcmVncmVzc19mb28KIFJFU0VUIFJPTEU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdO IERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitHUkFOVCBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsKIFNF VCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiB0MSBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHQxIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfZm9vOwogUkVTRVQgUk9MRTsKIFxkZXMrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMK ICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVy IHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgVHlwZSAgfCBWZXJzaW9uIHwgICAgICAgICAgICBGRFcg b3B0aW9ucyAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKLSBzMiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0g czMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IAotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg Zm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAg ICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzNSAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdh JywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNs ZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzOCAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHBvc3RncmVzcWwgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRi bmFtZSAnczhkYicpIHwgCi0gdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28g ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHMxICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAKKyBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBk Ym5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM0ICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAg ICAgICAgICAgfCAKKyBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3Nf Zm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgczYgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAor IHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAg ICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCisgdDEgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAogKDkgcm93cykKIAotUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBGUk9NIHJlZ3Jlc3NfdGVzdF9yb2xlOwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRB IFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKK1JFVk9LRSBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBGUk9NIHJlZ3Jlc3NfdGVzdF9yb2xlOwor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X2luZGlyZWN0OwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VS VkVSIHQyIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgIC0tIEVSUk9S Ci1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28K K0NSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAg ICAgICAgICAgICAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KIFJFU0VUIFJPTEU7CiBHUkFOVCByZWdyZXNzX3Rl c3RfaW5kaXJlY3QgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUNSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworQ1JFQVRF IFNFUlZFUiB0MiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIFxkZXMrCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBmb3JlaWduIHNlcnZlcnMKICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVyIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgVHlwZSAgfCBW ZXJzaW9uIHwgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICAgIHwgRGVzY3JpcHRpb24g CiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAK LSBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5h bWUgJ2InKSAgICAgICAgICAgIHwgCi0gczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAotIHM0ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAg ICAgICAgfCAKLSBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9k YXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM3 ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAn YicpICAgICAgICAgICAgfCAKLSBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHBv c3RncmVzcWwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCi0gdDEgICB8IHJlZ3Jlc3Nf dGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IAotIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg fCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgczIgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykg ICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVz c19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg fCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwg CisgczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE2 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzNyAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgfCBvcmFjbGUgfCAxNy4wICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAg ICAgICAgIHwgCisgczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Bv c3RncmVzcWwgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0 ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKSB8IAorIHQxICAgfCByZWdyZXNzX3Rlc3Rfcm9s ZSAgICAgICAgIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyB0 MiAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgCiAoMTAgcm93cykKIAogUkVTRVQgUk9MRTsKIFJFVk9LRSByZWdy ZXNzX3Rlc3RfaW5kaXJlY3QgRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKKy0tCistLSB0ZXN0IHBn X2Nvbm5lY3Rpb25fZmR3CistLQorXHNldCBWRVJCT1NJVFkgdGVyc2UKK0NSRUFURSBTRVJWRVIg Y29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHcK KyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIGNsaWVudF9lbmNvZGluZyAnTEFUSU4xJyk7IC0t IGZhaWwKK0VSUk9SOiAgaW52YWxpZCBvcHRpb24gImNsaWVudF9lbmNvZGluZyIKK0NSRUFURSBT RVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlv bl9mZHcKKyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIG5vbnNlbnNlICdhc2RmJyk7IC0tIGZh aWwKK0VSUk9SOiAgaW52YWxpZCBvcHRpb24gIm5vbnNlbnNlIgorQ1JFQVRFIFNFUlZFUiBjb25u ZWN0aW9uX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdworICBP UFRJT05TIChob3N0ICd0aGVob3N0JywgcGFzc3dvcmQgJ3NlY3JldCcpOyAtLSBmYWlsCitFUlJP UjogIGludmFsaWQgb3B0aW9uICJwYXNzd29yZCIKK1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKK0NS RUFURSBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29u bmVjdGlvbl9mZHcKKyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIHBvcnQgJzU0MzInKTsKK0NS RUFURSBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBjb25uZWN0aW9u X3NlcnZlcgorICBPUFRJT05TICh1c2VyICdyb2xlJywgcGFzc3dvcmQgJ3NlY3JldCcsIGhvc3Qg J290aGVyaG9zdCcpOyAtLSBmYWlsCitFUlJPUjogIGludmFsaWQgb3B0aW9uICJob3N0IgorQ1JF QVRFIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNvbm5lY3Rpb25f c2VydmVyCisgIE9QVElPTlMgKHVzZXIgJ3JvbGUnLCBwYXNzd29yZCAnc2VjcmV0Jyk7CitDUkVB VEUgVVNFUiBNQVBQSU5HIEZPUiBQVUJMSUMgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyCisgIE9Q VElPTlMgKHVzZXIgJ3B1YmxpY3VzZXInLCBwYXNzd29yZCAnc2VjcmV0MicpOworU0VMRUNUIHBn X2Nvbm5pbmZvX2Zyb21fc2VydmVyKCdjb25uZWN0aW9uX3NlcnZlcicsICdyZWdyZXNzX3Rlc3Rf cm9sZScsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgIHBnX2Nvbm5pbmZvX2Zyb21fc2Vy dmVyICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgaG9zdCA9ICd0aGVob3N0JyBw b3J0ID0gJzU0MzInIHVzZXIgPSAncm9sZScgcGFzc3dvcmQgPSAnc2VjcmV0JworKDEgcm93KQor CitTRUxFQ1QgcGdfY29ubmluZm9fZnJvbV9zZXJ2ZXIoJ2Nvbm5lY3Rpb25fc2VydmVyJywgJ3Jl Z3Jlc3NfdGVzdF9yb2xlMicsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZ19j b25uaW5mb19mcm9tX3NlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBob3N0ID0gJ3RoZWhvc3QnIHBvcnQgPSAnNTQzMicgdXNlciA9ICdwdWJsaWN1c2Vy JyBwYXNzd29yZCA9ICdzZWNyZXQyJworKDEgcm93KQorCitEUk9QIFVTRVIgTUFQUElORyBGT1Ig cmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOworRFJPUCBVU0VSIE1B UFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CitEUk9QIFNFUlZFUiBj b25uZWN0aW9uX3NlcnZlcjsKIC0tIEFMVEVSIFNFUlZFUgogQUxURVIgU0VSVkVSIHMwOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAg c3ludGF4IGVycm9yIGF0IG9yIG5lYXIgIjsiCkBAIC00MTAsMTggKzQ0OCwxOCBAQCBHUkFOVCBV U0FHRSBPTiBGT1JFSUdOIFNFUlZFUiBzNiBUTyByZWdyZXNzX3Rlc3Rfcm9sZTIgV0lUSCBHUkFO VCBPUFRJT047CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMK ICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVy IHwgICAgICAgICAgICAgICAgICAgQWNjZXNzIHByaXZpbGVnZXMgICAgICAgICAgICAgICAgICAg fCAgVHlwZSAgfCBWZXJzaW9uIHwgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICAgIHwg RGVzY3JpcHRpb24gCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyPVUv cmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDEuMCAgICAgfCAoc2VydmVybmFt ZSAnczEnKSAgICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcj1V L3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIrfCAgICAgICAgfCAxLjAgICAgIHwgKHNlcnZlcm5h bWUgJ3MxJykgICAgICAgICAgICAgICAgIHwgCiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlPVUvcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IAotIHMyICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDEuMSAgICAgfCAoaG9zdCAn YScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzMyAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKCJ0bnMg bmFtZSIgJ29yY2wnLCBwb3J0ICcxNTIxJykgIHwgCi0gczQgICB8IHJlZ3Jlc3NfZm9yZWlnbl9k YXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8IChob3N0 ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM1ICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKLSBzNiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlcj1VL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIrfCAgICAgICAgfCAxNi4wICAgIHwgKGhv c3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczIgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMS4xICAgICB8ICho b3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAo InRucyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1MjEnKSAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwg KGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczUgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyPVUvcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2LjAgICAg fCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0X3Jv bGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgMTcuMCAg ICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM4ICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbCAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAg ICAgfCAoaG9zdCAnbG9jYWxob3N0JywgZGJuYW1lICdzOGRiJykgfCAKLSB0MSAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gdDIgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM3ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAg ICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCisgdDEgICB8IHJl Z3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHQyICAgfCBy ZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8 ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKICgxMCByb3dz KQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKQEAgLTQzNSw3ICs0NzMsNyBAQCBHUkFO VCByZWdyZXNzX3Rlc3Rfcm9sZTIgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBTRVQgUk9MRSByZWdy ZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBWRVJTSU9OICcxLjEnOwogQUxURVIgU0VS VkVSIHMxIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlMjsgICAgICAgICAgICAgICAgLS0gRVJS T1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZv bworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVn cmVzc19mb28KIFJFU0VUIFJPTEU7CiBBTFRFUiBTRVJWRVIgczggT1BUSU9OUyAoZm9vICcxJyk7 ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUiBvcHRpb24gdmFsaWRhdGlvbgogRVJS T1I6ICBpbnZhbGlkIG9wdGlvbiAiZm9vIgpAQCAtNDQ4LDI5ICs0ODYsMjkgQEAgR1JBTlQgcmVn cmVzc190ZXN0X2luZGlyZWN0IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwogU0VUIFJPTEUgcmVncmVz c190ZXN0X3JvbGU7CiBBTFRFUiBTRVJWRVIgczEgT1dORVIgVE8gcmVncmVzc190ZXN0X2luZGly ZWN0OwogUkVTRVQgUk9MRTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv byBUTyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBUTyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBTRVQgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBPV05FUiBUTyByZWdyZXNzX3Rlc3Rf aW5kaXJlY3Q7CiBSRVNFVCBST0xFOwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVz c190ZXN0X2luZGlyZWN0IiBjYW5ub3QgYmUgZHJvcHBlZCBiZWNhdXNlIHNvbWUgb2JqZWN0cyBk ZXBlbmQgb24gaXQKLURFVEFJTDogIHByaXZpbGVnZXMgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVy IGZvbworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVz c19mb28KIG93bmVyIG9mIHNlcnZlciBzMQogXGRlcysKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJzCiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBGb3JlaWduLWRhdGEgd3JhcHBlciB8ICAgICAgICAgICAgICAgICAgIEFjY2VzcyBwcml2 aWxlZ2VzICAgICAgICAgICAgICAgICAgIHwgIFR5cGUgIHwgVmVyc2lvbiB8ICAgICAgICAgICAg IEZEVyBvcHRpb25zICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uIAogLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K LSBzMSAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IGZvbyAgICAgICAgICAgICAgICAg IHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICAgICAg fCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAgICAgICAgICAgICAgICAg IHwgCi0gczIgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgIHwgMS4xICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAg ICAgICB8IAotIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoInRucyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1 MjEnKSAgICAgfCAKLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAg ICAgICAgICAgICAgIHwgCi0gczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28g ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IAotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg Zm9vICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyPVUvcmVncmVz c19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2LjAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAg ICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVz c190ZXN0X2luZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUg J3MxJykgICAgICAgICAgICAgICAgICAgIHwgCisgczIgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRh X3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMS4xICAgICB8IChob3N0ICdh JywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoInRu cyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1MjEnKSAgICAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwg KGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAgIHwgCisgczUgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyPVUvcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVz c190ZXN0X3JvbGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAg fCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3Jh Y2xlIHwgMTcuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAot IHM4ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbCAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICB8ICAgICAgICAgfCAoZGJuYW1lICdkYjEnLCBjb25uZWN0X3RpbWVvdXQgJzMwJykg fCAKLSB0MSAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gdDIgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IAorIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19m b28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAg ICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jl c3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGRibmFtZSAnZGIxJywgY29ubmVj dF90aW1lb3V0ICczMCcpIHwgCisgdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBy ZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IAorIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAg IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKICgxMCByb3dzKQogCiBBTFRFUiBTRVJWRVIgczgg UkVOQU1FIHRvIHM4bmV3OwpAQCAtNDc4LDE3ICs1MTYsMTcgQEAgQUxURVIgU0VSVkVSIHM4IFJF TkFNRSB0byBzOG5ldzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBz ZXJ2ZXJzCiAgTmFtZSAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRm9yZWlnbi1kYXRh IHdyYXBwZXIgfCAgICAgICAgICAgICAgICAgICBBY2Nlc3MgcHJpdmlsZWdlcyAgICAgICAgICAg ICAgICAgICB8ICBUeXBlICB8IFZlcnNpb24gfCAgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAg ICAgICAgICAgfCBEZXNjcmlwdGlvbiAKIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgIHwgcmVncmVz c190ZXN0X2luZGlyZWN0ICAgICB8IGZvbyAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0 X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEg ICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAgICAgICAgICAgICAgICAgIHwgCi0gczIgICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8 IDEuMSAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKLSBzMyAg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3Jh Y2xlIHwgICAgICAgICB8ICgidG5zIG5hbWUiICdvcmNsJywgcG9ydCAnMTUyMScpICAgICB8IAot IHM0ICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAg IHwgCi0gczUgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAKLSBzNiAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXI9VS9yZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyK3wgICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAg ICAgICAgICAgICB8IAorIHMxICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jl c3NfZm9vICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2lu ZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAg ICAgICAgICAgICAgICAgIHwgCisgczIgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg cmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDEuMSAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgICAgfCAKKyBzMyAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICgidG5zIG5hbWUi ICdvcmNsJywgcG9ydCAnMTUyMScpICAgICB8IAorIHM0ICAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3Qg J2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAgIHwgCisgczUgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzNiAgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXI9VS9yZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyK3wgICAgICAgIHwgMTYuMCAg ICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAogICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190 ZXN0X3JvbGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAgfCAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcgICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNs ZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKLSBz OG5ldyB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgICAgICAgICB8IChkYm5hbWUgJ2RiMScsIGNvbm5lY3RfdGltZW91dCAnMzAnKSB8 IAotIHQxICAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gdDIgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAKKyBzNyAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNz X2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgb3JhY2xlIHwgMTcuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykg ICAgICAgICAgICAgICB8IAorIHM4bmV3IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGRibmFtZSAnZGIxJywgY29u bmVjdF90aW1lb3V0ICczMCcpIHwgCisgdDEgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAg IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyB0MiAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAg ICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAogKDEwIHJvd3MpCiAKIEFMVEVSIFNFUlZF UiBzOG5ldyBSRU5BTUUgdG8gczg7CkBAIC01MDEsMTYgKzUzOSwxNiBAQCBOT1RJQ0U6ICBzZXJ2 ZXIgIm5vbmV4aXN0ZW50IiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMKICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVyIAogLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gczEgICB8IHJlZ3Jlc3NfdGVzdF9pbmRp cmVjdCAgICAgfCBmb28KLSBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwot IHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczQgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IGZvbwotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczcgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzOCAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHBvc3RncmVzcWwKLSB0MSAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAg ICB8IGZvbwotIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vCisgczEgICB8 IHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdCAgICAgfCByZWdyZXNzX2ZvbworIHMyICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzMyAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczQgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbworIHM1ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28KKyBzNiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9v CisgczcgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM4ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19wb3N0Z3Jlc3FsCisgdDEgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbworIHQyICAgfCByZWdyZXNz X3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28KICgxMCByb3dzKQogCiBTRVQgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTsKQEAgLTUyMiwxNSArNTYwLDE1IEBAIFJFU0VUIFJPTEU7CiAgICAg ICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJzCiAgTmFtZSB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3JhcHBlciAKIC0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHMyICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCBmb28KLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwotIHM1ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCBmb28KLSBzNyAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZv bwotIHM4ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbAotIHQxICAg fCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vCi0gdDIgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlICAgICAgICAgfCBmb28KKyBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfZm9vCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2Zv bworIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzNSAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczYgICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM3ICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbAorIHQxICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAg ICAgIHwgcmVncmVzc19mb28KKyB0MiAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IHJl Z3Jlc3NfZm9vCiAoOSByb3dzKQogCiBBTFRFUiBTRVJWRVIgczIgT1dORVIgVE8gcmVncmVzc190 ZXN0X3JvbGU7CkBAIC01NDEsMTQgKzU3OSwxNCBAQCBSRVNFVCBST0xFOwogICAgICAgICAgICAg ICAgICBMaXN0IG9mIGZvcmVpZ24gc2VydmVycwogIE5hbWUgfCAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgRm9yZWlnbi1kYXRhIHdyYXBwZXIgCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzMyAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbwotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9v Ci0gczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNiAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgZm9vCi0gczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3Fs Ci0gdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28KLSB0MiAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IGZvbworIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgcmVncmVzc19mb28KKyBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfZm9vCisgczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2Zv bworIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzNyAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczggICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Bvc3RncmVzcWwKKyB0MSAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vCisgdDIgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlICAgICAgICAgfCByZWdyZXNzX2ZvbwogKDggcm93cykKIAogQ1JFQVRFIFVTRVIgTUFQUElO RyBGT1IgY3VycmVudF91c2VyIFNFUlZFUiBzMzsKQEAgLTU2OSwxMyArNjA3LDEzIEBAIE5PVElD RTogIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIG9uIHNlcnZlciBzCiAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2 ZXJzCiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3Jh cHBlciAKIC0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczUgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbwotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9v Ci0gczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsCi0gdDEgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28KLSB0MiAgIHwgcmVncmVzc190ZXN0X3Jv bGUgICAgICAgICB8IGZvbworIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28KKyBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9v CisgczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM3ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzOCAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbAorIHQxICAgfCByZWdyZXNz X3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28KKyB0MiAgIHwgcmVncmVzc190ZXN0X3Jv bGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vCiAoNyByb3dzKQogCiBcZGV1CkBAIC02OTAsNyArNzI4 LDcgQEAgRFJPUCBTRVJWRVIgczc7CiAKIC0tIENSRUFURSBGT1JFSUdOIFRBQkxFCiBDUkVBVEUg U0NIRU1BIGZvcmVpZ25fc2NoZW1hOwotQ1JFQVRFIFNFUlZFUiBzMCBGT1JFSUdOIERBVEEgV1JB UFBFUiBkdW1teTsKK0NSRUFURSBTRVJWRVIgczAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19kdW1teTsKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZ0MSAoKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVh ciAiOyIKIExJTkUgMTogQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQxICgpOwpAQCAtNzU4LDkgKzc5 Niw5IEBAIENSRUFURSBJTkRFWCBpZF9mdDFfYzIgT04gZnQxIChjMik7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBjYW5ub3QgY3JlYXRlIGluZGV4IG9uIHJl bGF0aW9uICJmdDEiCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZv ciBmb3JlaWduIHRhYmxlcy4KIFNFTEVDVCAqIEZST00gZnQxOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBmb3JlaWduLWRhdGEg d3JhcHBlciAiZHVtbXkiIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFw cGVyICJyZWdyZXNzX2R1bW15IiBoYXMgbm8gaGFuZGxlcgogRVhQTEFJTiBTRUxFQ1QgKiBGUk9N IGZ0MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJP UjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJkdW1teSIgaGFzIG5vIGhhbmRsZXIKK0VSUk9SOiAg Zm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZHVtbXkiIGhhcyBubyBoYW5kbGVyCiBDUkVB VEUgVEFCTEUgbHQxIChhIElOVCkgUEFSVElUSU9OIEJZIFJBTkdFIChhKTsKIENSRUFURSBGT1JF SUdOIFRBQkxFIGZ0X3BhcnQxCiAgIFBBUlRJVElPTiBPRiBsdDEgRk9SIFZBTFVFUyBGUk9NICgw KSBUTyAoMTAwMCkgU0VSVkVSIHMwOwpAQCAtOTY2LDMwICsxMDA0LDMwIEBAIE5PVElDRTogIHJl bGF0aW9uICJkb2VzbnRfZXhpc3RfZnQxIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKIEFMVEVS IEZPUkVJR04gVEFCTEUgSUYgRVhJU1RTIGRvZXNudF9leGlzdF9mdDEgUkVOQU1FIFRPIGZvcmVp Z25fdGFibGVfMTsKIE5PVElDRTogIHJlbGF0aW9uICJkb2VzbnRfZXhpc3RfZnQxIiBkb2VzIG5v dCBleGlzdCwgc2tpcHBpbmcKIC0tIEluZm9ybWF0aW9uIHNjaGVtYQotU0VMRUNUICogRlJPTSBp bmZvcm1hdGlvbl9zY2hlbWEuZm9yZWlnbl9kYXRhX3dyYXBwZXJzIE9SREVSIEJZIDEsIDI7CitT RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcnMgV0hF UkUgYXV0aG9yaXphdGlvbl9pZGVudGlmaWVyID0gJ3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIn IE9SREVSIEJZIDEsIDI7CiAgZm9yZWlnbl9kYXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25f ZGF0YV93cmFwcGVyX25hbWUgfCBhdXRob3JpemF0aW9uX2lkZW50aWZpZXIgIHwgbGlicmFyeV9u YW1lIHwgZm9yZWlnbl9kYXRhX3dyYXBwZXJfbGFuZ3VhZ2UgCiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGR1bW15ICAgICAgICAgICAgICAgICAg ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgICAgICAgICAgICAgIHwgYwotIHJlZ3Jl c3Npb24gICAgICAgICAgICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8ICAgICAgICAgICAgICB8IGMKLSByZWdyZXNzaW9uICAg ICAgICAgICAgICAgICAgIHwgcG9zdGdyZXNxbCAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCAgICAgICAgICAgICAgfCBjCisgcmVncmVzc2lvbiAgICAgICAgICAg ICAgICAgICB8IHJlZ3Jlc3NfZHVtbXkgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgICAgICAgICAgICAgIHwgYworIHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAgICAg fCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 ICAgICAgICAgICAgICB8IGMKKyByZWdyZXNzaW9uICAgICAgICAgICAgICAgICAgIHwgcmVncmVz c19wb3N0Z3Jlc3FsICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAgICAgICAg ICAgICAgfCBjCiAoMyByb3dzKQogCiBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5m b3JlaWduX2RhdGFfd3JhcHBlcl9vcHRpb25zIE9SREVSIEJZIDEsIDIsIDM7CiAgZm9yZWlnbl9k YXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25fZGF0YV93cmFwcGVyX25hbWUgfCBvcHRpb25f bmFtZSAgfCBvcHRpb25fdmFsdWUgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAgICAg fCB0ZXN0IHdyYXBwZXIgfCB0cnVlCisgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IHJl Z3Jlc3NfZm9vICAgICAgICAgICAgICAgfCB0ZXN0IHdyYXBwZXIgfCB0cnVlCiAoMSByb3cpCiAK IFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmZvcmVpZ25fc2VydmVycyBPUkRFUiBC WSAxLCAyOwogIGZvcmVpZ25fc2VydmVyX2NhdGFsb2cgfCBmb3JlaWduX3NlcnZlcl9uYW1lIHwg Zm9yZWlnbl9kYXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25fZGF0YV93cmFwcGVyX25hbWUg fCBmb3JlaWduX3NlcnZlcl90eXBlIHwgZm9yZWlnbl9zZXJ2ZXJfdmVyc2lvbiB8IGF1dGhvcml6 YXRpb25faWRlbnRpZmllciAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzaW9uICAgICAgICAgICAgIHwg czAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAgICAgfCBkdW1t eSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyCi0gcmVncmVzc2lvbiAgICAg ICAgICAgICB8IHM0ICAgICAgICAgICAgICAgICAgfCByZWdyZXNzaW9uICAgICAgICAgICAgICAg ICAgIHwgZm9vICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcgotIHJlZ3Jl c3Npb24gICAgICAgICAgICAgfCBzNSAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAg ICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIHwgMTUuMCAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlCi0gcmVn cmVzc2lvbiAgICAgICAgICAgICB8IHM2ICAgICAgICAgICAgICAgICAgfCByZWdyZXNzaW9uICAg ICAgICAgICAgICAgICAgIHwgZm9vICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgfCAxNi4wICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0 Ci0gcmVncmVzc2lvbiAgICAgICAgICAgICB8IHM4ICAgICAgICAgICAgICAgICAgfCByZWdyZXNz aW9uICAgICAgICAgICAgICAgICAgIHwgcG9zdGdyZXNxbCAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlcgotIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCB0MSAgICAgICAgICAgICAgICAg IHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfdGVzdF9pbmRpcmVjdAotIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCB0MiAgICAgICAgICAg ICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlCisgcmVncmVzc2lvbiAgICAgICAgICAgICB8IHMwICAgICAgICAg ICAgICAgICAgfCByZWdyZXNzaW9uICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19kdW1teSAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcgorIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCBz NCAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfZm9vICAgICAgICAgICAgICAgfCBvcmFjbGUgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIKKyByZWdyZXNzaW9uICAgICAg ICAgICAgIHwgczUgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAg ICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8IDE1 LjAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZQorIHJlZ3Jlc3Npb24gICAg ICAgICAgICAgfCBzNiAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAg ICAgICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwg MTYuMCAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdAorIHJlZ3Jlc3Np b24gICAgICAgICAgICAgfCBzOCAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIK KyByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Np b24gICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rlc3RfaW5k aXJlY3QKKyByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDIgICAgICAgICAgICAgICAgICB8IHJl Z3Jlc3Npb24gICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rl c3Rfcm9sZQogKDcgcm93cykKIAogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuZm9y ZWlnbl9zZXJ2ZXJfb3B0aW9ucyBPUkRFUiBCWSAxLCAyLCAzOwpAQCAtMTAyOCwyMCArMTA2Niwy MCBAQCBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51c2VyX21hcHBpbmdfb3B0aW9u cyBPUkRFUiBCWSBsb3dlcihhdXRob3JpemF0aQogIHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAg fCByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHVzZXJuYW1l ICAgICB8IGJvYgogKDcgcm93cykKIAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEu dXNhZ2VfcHJpdmlsZWdlcyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9i amVjdF9uYW1lIElOICgnczYnLCAnZm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKK1NFTEVD VCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzYWdlX3ByaXZpbGVnZXMgV0hFUkUgb2JqZWN0 X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ3JlZ3Jlc3Nf Zm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKICAgICAgICAgICBncmFudG9yICAgICAgICAg IHwgICAgICAgICAgZ3JhbnRlZSAgICAgICAgICB8IG9iamVjdF9jYXRhbG9nIHwgb2JqZWN0X3Nj aGVtYSB8IG9iamVjdF9uYW1lIHwgICAgIG9iamVjdF90eXBlICAgICAgfCBwcml2aWxlZ2VfdHlw ZSB8IGlzX2dyYW50YWJsZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgIHwgRk9S RUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IFlFUwotIHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAgIHwgcmVncmVzc2lvbiAgICAg fCAgICAgICAgICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVT QUdFICAgICAgICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfZm9vIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IFlFUworIHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAgIHwgcmVn cmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBGT1JFSUdOIERBVEEg V1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAg IHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAg ICAgICB8IHM2ICAgICAgICAgIHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAg ICB8IFlFUwogIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdCAgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZTIg ICAgICAgIHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgczYgICAgICAgICAgfCBG T1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdFICAgICAgICAgIHwgWUVTCiAoNCByb3dzKQogCi1T RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVSRSBv YmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAnZm9v JykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKK1NFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2No ZW1hLnJvbGVfdXNhZ2VfZ3JhbnRzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBB TkQgb2JqZWN0X25hbWUgSU4gKCdzNicsICdyZWdyZXNzX2ZvbycpIE9SREVSIEJZIDEsIDIsIDMs IDQsIDU7CiAgICAgICAgICAgZ3JhbnRvciAgICAgICAgICB8ICAgICAgICAgIGdyYW50ZWUgICAg ICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8ICAg ICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzaW9uICAgICB8 ICAgICAgICAgICAgICAgfCBmb28gICAgICAgICB8IEZPUkVJR04gREFUQSBXUkFQUEVSIHwgVVNB R0UgICAgICAgICAgfCBZRVMKLSByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190 ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IGZvbyAg ICAgICAgIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IE5PCisgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdy ZXNzaW9uICAgICB8ICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyB8IEZPUkVJR04gREFUQSBX UkFQUEVSIHwgVVNBR0UgICAgICAgICAgfCBZRVMKKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAg ICAgICB8IHJlZ3Jlc3NfZm9vIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAg ICB8IE5PCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVzdF9pbmRpcmVj dCAgICAgfCByZWdyZXNzaW9uICAgICB8ICAgICAgICAgICAgICAgfCBzNiAgICAgICAgICB8IEZP UkVJR04gU0VSVkVSICAgICAgIHwgVVNBR0UgICAgICAgICAgfCBZRVMKICByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgICAgIHwgcmVncmVzc190ZXN0X3JvbGUyICAgICAgICB8IHJlZ3Jlc3Npb24gICAg IHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAgIHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBV U0FHRSAgICAgICAgICB8IFlFUwogKDQgcm93cykKQEAgLTEwNzEsMTggKzExMDksMTggQEAgU0VM RUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNlcl9tYXBwaW5nX29wdGlvbnMgT1JERVIg QlkgMSwgMiwgMywgNDsKICByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgfCByZWdyZXNzaW9uICAg ICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHVzZXJuYW1lICAgIHwgYm9iCiAoNSBy b3dzKQogCi1TRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51c2FnZV9wcml2aWxlZ2Vz IFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2JqZWN0X25hbWUgSU4gKCdz NicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OworU0VMRUNUICogRlJPTSBpbmZvcm1h dGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JF SUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAncmVncmVzc19mb28nKSBPUkRFUiBCWSAx LCAyLCAzLCA0LCA1OwogICAgICAgICAgIGdyYW50b3IgICAgICAgICAgfCAgICAgICAgZ3JhbnRl ZSAgICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8 ICAgICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAg ICAgICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAg ICAgICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2lu ZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBG T1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAg ICAgICAgICAgICAgIHwgczYgICAgICAgICAgfCBGT1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdF ICAgICAgICAgIHwgWUVTCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVz dF9yb2xlMiAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAg IHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAgICB8IFlFUwogKDMgcm93cykK IAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hF UkUgb2JqZWN0X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2Jywg J2ZvbycpIE9SREVSIEJZIDEsIDIsIDMsIDQsIDU7CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9u X3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdO JScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAncmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAy LCAzLCA0LCA1OwogICAgICAgICAgIGdyYW50b3IgICAgICAgICAgfCAgICAgICAgZ3JhbnRlZSAg ICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8ICAg ICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAg ICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAg ICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGly ZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBGT1JF SUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3RfaW5k aXJlY3QgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAg ICAgICAgICAgIHwgczYgICAgICAgICAgfCBGT1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdFICAg ICAgICAgIHwgWUVTCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlMiAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAgIHwg Rk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAgICB8IFlFUwogKDMgcm93cykKQEAg LTEwOTgsMTMgKzExMzYsMTMgQEAgU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNl cl9tYXBwaW5nX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMywgNDsKIFJFU0VUIFJPTEU7CiAtLSBo YXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlCiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0 YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLAotICAgIChTRUxFQ1Qgb2lk IEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZT0nZm9vJyksICdVU0FH RScpOworICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUg ZmR3bmFtZT0ncmVncmVzc19mb28nKSwgJ1VTQUdFJyk7CiAgaGFzX2ZvcmVpZ25fZGF0YV93cmFw cGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIHQK ICgxIHJvdykKIAotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3Jl Z3Jlc3NfdGVzdF9yb2xlJywgJ2ZvbycsICdVU0FHRScpOworU0VMRUNUIGhhc19mb3JlaWduX2Rh dGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9yb2xlJywgJ3JlZ3Jlc3NfZm9vJywg J1VTQUdFJyk7CiAgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIHQKQEAgLTExMTIsMzQgKzExNTAsMzQgQEAg U0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9y b2xlJywgJ2ZvbycsICdVU0FHRScpOwogCiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVy X3ByaXZpbGVnZSgKICAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX3JvbGVzIFdIRVJFIHJvbG5hbWU9 J3JlZ3Jlc3NfdGVzdF9yb2xlJyksCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWduX2Rh dGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdmb28nKSwgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBv aWQgRlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdyZWdyZXNzX2Zv bycpLCAnVVNBR0UnKTsKICBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlIAogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdAogKDEgcm93KQogCiBTRUxFQ1Qg aGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgKLSAgICAoU0VMRUNUIG9pZCBGUk9N IHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWU9J2ZvbycpLCAnVVNBR0UnKTsK KyAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25h bWU9J3JlZ3Jlc3NfZm9vJyksICdVU0FHRScpOwogIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9w cml2aWxlZ2UgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICB0CiAoMSBy b3cpCiAKIFNFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKAotICAgIChT RUxFQ1Qgb2lkIEZST00gcGdfcm9sZXMgV0hFUkUgcm9sbmFtZT0ncmVncmVzc190ZXN0X3JvbGUn KSwgJ2ZvbycsICdVU0FHRScpOworICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfcm9sZXMgV0hFUkUg cm9sbmFtZT0ncmVncmVzc190ZXN0X3JvbGUnKSwgJ3JlZ3Jlc3NfZm9vJywgJ1VTQUdFJyk7CiAg aGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogIHQKICgxIHJvdykKIAotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFf d3JhcHBlcl9wcml2aWxlZ2UoJ2ZvbycsICdVU0FHRScpOworU0VMRUNUIGhhc19mb3JlaWduX2Rh dGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfZm9vJywgJ1VTQUdFJyk7CiAgaGFzX2ZvcmVp Z25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogIHQKICgxIHJvdykKIAotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3Jh cHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9yb2xlJywgJ2ZvbycsICdVU0FHRScpOworR1JB TlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVzc190 ZXN0X3JvbGU7CitTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVn cmVzc190ZXN0X3JvbGUnLCAncmVncmVzc19mb28nLCAnVVNBR0UnKTsKICBoYXNfZm9yZWlnbl9k YXRhX3dyYXBwZXJfcHJpdmlsZWdlIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgdApAQCAtMTE5OSwyNSArMTIzNywyNSBAQCBHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNF UlZFUiBzNCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBwdWJs aWMgU0VSVkVSIHM0OwogQUxURVIgU0VSVkVSIHM2IE9QVElPTlMgKERST1AgaG9zdCwgRFJPUCBk Ym5hbWUpOwogQUxURVIgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIg czYgT1BUSU9OUyAoRFJPUCB1c2VybmFtZSk7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvcjsKK0FMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7 CiBXQVJOSU5HOiAgY2hhbmdpbmcgdGhlIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHZhbGlkYXRvciBj YW4gY2F1c2UgdGhlIG9wdGlvbnMgZm9yIGRlcGVuZGVudCBvYmplY3RzIHRvIGJlY29tZSBpbnZh bGlkCiAtLSBQcml2aWxlZ2VzCiBTRVQgUk9MRSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwot Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2JhcjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0ZSBmb3Jl aWduLWRhdGEgd3JhcHBlciAiZm9vYmFyIgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vYmFyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0VSUk9S OiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdy ZXNzX2Zvb2JhciIKIEhJTlQ6ICBNdXN0IGJlIHN1cGVydXNlciB0byBjcmVhdGUgYSBmb3JlaWdu LWRhdGEgd3JhcHBlci4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChn b3RjaGEgJ3RydWUnKTsgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBwZXJtaXNzaW9uIGRlbmll ZCB0byBhbHRlciBmb3JlaWduLWRhdGEgd3JhcHBlciAiZm9vIgorQUxURVIgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7ICAgICAgICAgLS0g RVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9yZWlnbi1kYXRhIHdy YXBwZXIgInJlZ3Jlc3NfZm9vIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGFsdGVyIGEg Zm9yZWlnbi1kYXRhIHdyYXBwZXIuCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1dO RVIgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlz c2lvbiBkZW5pZWQgdG8gY2hhbmdlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28i CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdyZXNz X3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0 byBjaGFuZ2Ugb3duZXIgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIgogSElO VDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGNoYW5nZSBvd25lciBvZiBhIGZvcmVpZ24tZGF0YSB3 cmFwcGVyLgotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWln bi1kYXRhIHdyYXBwZXIgZm9vCi1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBk ZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwotQ1JFQVRFIFNFUlZFUiBzOSBGT1JF SUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJP UjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28KK0RST1Ag Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWlnbi1kYXRh IHdyYXBwZXIgcmVncmVzc19mb28KK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgIC0tIEVSUk9SCitFUlJPUjogIHBl cm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciByZWdyZXNzX2ZvbworQ1JF QVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAg ICAgICAgICAgICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVp Z24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCiBBTFRFUiBTRVJWRVIgczQgVkVSU0lPTiAnMC41 JzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgbXVz dCBiZSBvd25lciBvZiBmb3JlaWduIHNlcnZlciBzNAogQUxURVIgU0VSVkVSIHM0IE9XTkVSIFRP IHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7ICAgICAgICAgICAgIC0tIEVSUk9SCkBAIC0xMjMz LDIxICsxMjcxLDIxIEBAIEVSUk9SOiAgbXVzdCBiZSBvd25lciBvZiBmb3JlaWduIHNlcnZlciBz NgogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBzNjsgICAg ICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWlnbiBzZXJ2 ZXIgczYKIFJFU0VUIFJPTEU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBw b3N0Z3Jlc3FsIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7Ci1HUkFOVCBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBXSVRI IEdSQU5UIE9QVElPTjsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfcG9zdGdyZXNxbCBUTyByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOworR1JBTlQgVVNBR0Ug T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVzc191bnByaXZpbGVn ZWRfcm9sZSBXSVRIIEdSQU5UIE9QVElPTjsKIFNFVCBST0xFIHJlZ3Jlc3NfdW5wcml2aWxlZ2Vk X3JvbGU7Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vYmFyOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3Jl YXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb29iYXIiCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdS QVBQRVIgcmVncmVzc19mb29iYXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0byBjcmVhdGUgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgInJlZ3Jlc3NfZm9vYmFyIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGNyZWF0ZSBh IGZvcmVpZ24tZGF0YSB3cmFwcGVyLgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9Q VElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Np b24gZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChnb3RjaGEgJ3RydWUnKTsgICAg ICAgICAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0byBhbHRlciBmb3JlaWdu LWRhdGEgd3JhcHBlciAicmVncmVzc19mb28iCiBISU5UOiAgTXVzdCBiZSBzdXBlcnVzZXIgdG8g YWx0ZXIgYSBmb3JlaWduLWRhdGEgd3JhcHBlci4KLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBt dXN0IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwotR1JBTlQgVVNBR0UgT04g Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgLS0g V0FSTklORwotV0FSTklORzogIG5vIHByaXZpbGVnZXMgd2VyZSBncmFudGVkIGZvciAicG9zdGdy ZXNxbCIKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBUTyByZWdyZXNz X3Rlc3Rfcm9sZTsKLUNSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdy ZXNxbDsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIG11c3QgYmUgb3duZXIgb2Yg Zm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgLS0g V0FSTklORworV0FSTklORzogIG5vIHByaXZpbGVnZXMgd2VyZSBncmFudGVkIGZvciAicmVncmVz c19wb3N0Z3Jlc3FsIgorR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19mb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitDUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbDsKIEFMVEVSIFNFUlZFUiBzNiBWRVJTSU9OICcw LjUnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBt dXN0IGJlIG93bmVyIG9mIGZvcmVpZ24gc2VydmVyIHM2CiBEUk9QIFNFUlZFUiBzNjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTEy NjMsMTUgKzEzMDEsMTUgQEAgRVJST1I6ICBtdXN0IGJlIG93bmVyIG9mIGZvcmVpZ24gc2VydmVy IHM2CiBEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2OyAg ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgbXVzdCBiZSBvd25lciBvZiBmb3JlaWduIHNl cnZlciBzNgogUkVTRVQgUk9MRTsKLVJFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gRlJPTSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorUkVWT0tFIFVT QUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEZST00gcmVncmVzc191bnBy aXZpbGVnZWRfcm9sZTsgLS0gRVJST1IKIEVSUk9SOiAgZGVwZW5kZW50IHByaXZpbGVnZXMgZXhp c3QKIEhJTlQ6ICBVc2UgQ0FTQ0FERSB0byByZXZva2UgdGhlbSB0b28uCi1SRVZPS0UgVVNBR0Ug T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9s ZSBDQVNDQURFOworUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3Nf Zm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBDQVNDQURFOwogU0VUIFJPTEUgcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQ UEVSIGZvbyBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgICAtLSBFUlJPUgotRVJST1I6ICBwZXJtaXNz aW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCi1DUkVBVEUgU0VSVkVSIHMx MCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK LUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X3JvbGU7ICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZv cmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCitDUkVBVEUgU0VSVkVSIHMxMCBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgor RVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVz c19mb28KIEFMVEVSIFNFUlZFUiBzOSBWRVJTSU9OICcxLjEnOwogR1JBTlQgVVNBR0UgT04gRk9S RUlHTiBTRVJWRVIgczkgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBDUkVBVEUgVVNFUiBNQVBQSU5H IEZPUiBjdXJyZW50X3VzZXIgU0VSVkVSIHM5OwpAQCAtMTI4MCw3ICsxMzE4LDcgQEAgTk9USUNF OiAgZHJvcCBjYXNjYWRlcyB0byAyIG90aGVyIG9iamVjdHMKIERFVEFJTDogIGRyb3AgY2FzY2Fk ZXMgdG8gdXNlciBtYXBwaW5nIGZvciBwdWJsaWMgb24gc2VydmVyIHM5CiBkcm9wIGNhc2NhZGVz IHRvIHVzZXIgbWFwcGluZyBmb3IgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBvbiBzZXJ2ZXIg czkKIFJFU0VUIFJPTEU7Ci1DUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFUQSBXUkFQUEVSIGZv bzsKK0NSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBH UkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiBzOSBUTyByZWdyZXNzX3VucHJpdmlsZWdlZF9y b2xlOwogU0VUIFJPTEUgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIEFMVEVSIFNFUlZFUiBz OSBWRVJTSU9OICcxLjInOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgpAQCAtMTI5Miw3ICsxMzMwLDcgQEAgRFJPUCBTRVJWRVIgczkgQ0FTQ0FERTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIG11c3QgYmUg b3duZXIgb2YgZm9yZWlnbiBzZXJ2ZXIgczkKIC0tIENoZWNrIHZpc2liaWxpdHkgb2YgdXNlciBt YXBwaW5nIGRhdGEKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiBz MTAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworQ1JFQVRFIFNFUlZFUiBzMTAgRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwdWJsaWMg U0VSVkVSIHMxMCBPUFRJT05TICh1c2VyICdzZWNyZXQnKTsKIENSRUFURSBVU0VSIE1BUFBJTkcg Rk9SIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgU0VSVkVSIHMxMCBPUFRJT05TICh1c2VyICdz ZWNyZXQnKTsKIC0tIG93bmVyIG9mIHNlcnZlciBjYW4gc2VlIHNvbWUgb3B0aW9uIGZpZWxkcwpA QCAtMTg5MCwxNCArMTkyOCwxNCBAQCBEUk9QIFRBQkxFIGZkX3B0MSBDQVNDQURFOwogTk9USUNF OiAgZHJvcCBjYXNjYWRlcyB0byBmb3JlaWduIHRhYmxlIGZ0MgogLS0gSU1QT1JUIEZPUkVJR04g U0NIRU1BCiBJTVBPUlQgRk9SRUlHTiBTQ0hFTUEgczEgRlJPTSBTRVJWRVIgczkgSU5UTyBwdWJs aWM7IC0tIEVSUk9SCi1FUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iIGhhcyBubyBo YW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIgaGFzIG5v IGhhbmRsZXIKIElNUE9SVCBGT1JFSUdOIFNDSEVNQSBzMSBMSU1JVCBUTyAodDEpIEZST00gU0VS VkVSIHM5IElOVE8gcHVibGljOyAtLUVSUk9SCi1FUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVy ICJmb28iIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdy ZXNzX2ZvbyIgaGFzIG5vIGhhbmRsZXIKIElNUE9SVCBGT1JFSUdOIFNDSEVNQSBzMSBFWENFUFQg KHQxKSBGUk9NIFNFUlZFUiBzOSBJTlRPIHB1YmxpYzsgLS0gRVJST1IKLUVSUk9SOiAgZm9yZWln bi1kYXRhIHdyYXBwZXIgImZvbyIgaGFzIG5vIGhhbmRsZXIKK0VSUk9SOiAgZm9yZWlnbi1kYXRh IHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBoYXMgbm8gaGFuZGxlcgogSU1QT1JUIEZPUkVJR04gU0NI RU1BIHMxIEVYQ0VQVCAodDEsIHQyKSBGUk9NIFNFUlZFUiBzOSBJTlRPIHB1YmxpYwogT1BUSU9O UyAob3B0aW9uMSAndmFsdWUxJywgb3B0aW9uMiAndmFsdWUyJyk7IC0tIEVSUk9SCi1FUlJPUjog IGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVp Z24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIgaGFzIG5vIGhhbmRsZXIKIC0tIERST1AgRk9S RUlHTiBUQUJMRQogRFJPUCBGT1JFSUdOIFRBQkxFIG5vX3RhYmxlOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIGZvcmVpZ24gdGFibGUgIm5vX3Rh YmxlIiBkb2VzIG5vdCBleGlzdApAQCAtMjE1NSwxMyArMjE5MywxMyBAQCBEUk9QIFRBQkxFIHRl bXBfcGFydGVkOwogRFJPUCBTQ0hFTUEgZm9yZWlnbl9zY2hlbWEgQ0FTQ0FERTsKIERST1AgUk9M RSByZWdyZXNzX3Rlc3Rfcm9sZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVS Uk9SCiBFUlJPUjogIHJvbGUgInJlZ3Jlc3NfdGVzdF9yb2xlIiBjYW5ub3QgYmUgZHJvcHBlZCBi ZWNhdXNlIHNvbWUgb2JqZWN0cyBkZXBlbmQgb24gaXQKLURFVEFJTDogIHByaXZpbGVnZXMgZm9y IGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KIHByaXZpbGVnZXMgZm9yIHNlcnZlciBzNAogb3du ZXIgb2YgdXNlciBtYXBwaW5nIGZvciByZWdyZXNzX3Rlc3Rfcm9sZSBvbiBzZXJ2ZXIgczYKIERS T1AgU0VSVkVSIHQxIENBU0NBREU7CiBOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHVzZXIgbWFw cGluZyBmb3IgcHVibGljIG9uIHNlcnZlciB0MQogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jl c3NfdGVzdF9yb2xlIFNFUlZFUiBzNjsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIENB U0NBREU7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIENBU0NBREU7CiBO T1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIDUgb3RoZXIgb2JqZWN0cwogREVUQUlMOiAgZHJvcCBj YXNjYWRlcyB0byBzZXJ2ZXIgczQKIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIG9uIHNlcnZlciBzNApAQCAtMjE3NiwxNyArMjIxNCwx NyBAQCBEUk9QIFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0OwogRFJPUCBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlOwogRFJPUCBST0xFIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7ICAgICAgICAg ICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVzc191bnByaXZpbGVn ZWRfcm9sZSIgY2Fubm90IGJlIGRyb3BwZWQgYmVjYXVzZSBzb21lIG9iamVjdHMgZGVwZW5kIG9u IGl0Ci1ERVRBSUw6ICBwcml2aWxlZ2VzIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBwb3N0Z3Jl c3FsCi1SRVZPS0UgQUxMIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgRlJPTSBy ZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19wb3N0Z3Jlc3FsCitSRVZPS0UgQUxMIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2Vk X3JvbGU7CiBEUk9QIFJPTEUgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIERST1AgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTI7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwg Q0FTQ0FERTsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXkgQ0FTQ0FERTsKK0RST1Ag Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIENBU0NBREU7CitEUk9QIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZHVtbXkgQ0FTQ0FERTsKIE5PVElDRTogIGRyb3Ag Y2FzY2FkZXMgdG8gc2VydmVyIHMwCiBcYwogRFJPUCBST0xFIHJlZ3Jlc3NfZm9yZWlnbl9kYXRh X3VzZXI7CiAtLSBBdCB0aGlzIHBvaW50IHdlIHNob3VsZCBoYXZlIG5vIHdyYXBwZXJzLCBubyBz ZXJ2ZXJzLCBhbmQgbm8gbWFwcGluZ3MuCi1TRUxFQ1QgZmR3bmFtZSwgZmR3aGFuZGxlciwgZmR3 dmFsaWRhdG9yLCBmZHdvcHRpb25zIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXI7CitTRUxF Q1QgZmR3bmFtZSwgZmR3aGFuZGxlciwgZmR3dmFsaWRhdG9yLCBmZHdvcHRpb25zIEZST00gcGdf Zm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZSBMSUtFICdyZWdyZXNzXyUnOwogIGZk d25hbWUgfCBmZHdoYW5kbGVyIHwgZmR3dmFsaWRhdG9yIHwgZmR3b3B0aW9ucyAKIC0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCiAoMCByb3dzKQpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9kYXRhLnNxbCBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwKaW5kZXggZWVmYjg2MGFkYy4uNDM0NjFkZTdm OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9kYXRhLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JlaWduX2RhdGEuc3FsCkBAIC0zMSwxNTUgKzMxLDE4 NyBAQCBDUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBTVVBFUlVTRVI7CiBDUkVB VEUgUk9MRSByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3VucHJp dmlsZWdlZF9yb2xlOwogCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXk7Ci1DT01N RU5UIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGR1bW15IElTICd1c2VsZXNzJzsKLUNSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jlc3FsIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192 YWxpZGF0b3I7CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19kdW1teTsKK0NP TU1FTlQgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19kdW1teSBJUyAndXNlbGVzcyc7 CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIFZBTElEQVRP UiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CiAKIC0tIEF0IHRoaXMgcG9pbnQgd2Ugc2hvdWxk IGhhdmUgMiBidWlsdC1pbiB3cmFwcGVycyBhbmQgbm8gc2VydmVycy4KLVNFTEVDVCBmZHduYW1l LCBmZHdoYW5kbGVyOjpyZWdwcm9jLCBmZHd2YWxpZGF0b3I6OnJlZ3Byb2MsIGZkd29wdGlvbnMg RlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBPUkRFUiBCWSAxLCAyLCAzOworU0VMRUNUIGZk d25hbWUsIGZkd2hhbmRsZXI6OnJlZ3Byb2MsIGZkd3ZhbGlkYXRvcjo6cmVncHJvYywgZmR3b3B0 aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWUgTElLRSAncmVn cmVzc18lJyBPUkRFUiBCWSAxLCAyLCAzOwogU0VMRUNUIHNydm5hbWUsIHNydm9wdGlvbnMgRlJP TSBwZ19mb3JlaWduX3NlcnZlcjsKIFNFTEVDVCAqIEZST00gcGdfdXNlcl9tYXBwaW5nOwogCiAt LSBDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gVkFMSURBVE9SIGJhcjsgICAgICAgICAgICAtLSBFUlJPUgotQ1JFQVRFIEZPUkVJR04g REFUQSBXUkFQUEVSIGZvbzsKLVxkZXcKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbyBWQUxJREFUT1IgYmFyOyAgICAgICAgICAgIC0tIEVSUk9SCitDUkVBVEUgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CitcZGV3IHJlZ3Jlc3NfKgogCi1DUkVBVEUgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAtLSBkdXBsaWNhdGUKLURST1AgRk9SRUlHTiBEQVRBIFdS QVBQRVIgZm9vOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0 aW5nICcxJyk7Ci1cZGV3KworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OyAtLSBkdXBsaWNhdGUKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CitD UkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAodGVzdGluZyAn MScpOworXGRldysgcmVncmVzc18qCiAKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwot Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0aW5nICcxJywgdGVz dGluZyAnMicpOyAgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9Q VElPTlMgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJyk7Ci1cZGV3KworRFJPUCBGT1JFSUdOIERB VEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbyBPUFRJT05TICh0ZXN0aW5nICcxJywgdGVzdGluZyAnMicpOyAgIC0tIEVSUk9SCitD UkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAodGVzdGluZyAn MScsIGFub3RoZXIgJzInKTsKK1xkZXcrIHJlZ3Jlc3NfKgogCi1EUk9QIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbzsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBTRVQg Uk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287 IC0tIEVSUk9SCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287IC0tIEVS Uk9SCiBSRVNFVCBST0xFOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBWQUxJREFU T1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwotXGRldysKK0NSRUFURSBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBWQUxJREFUT1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwor XGRldysgcmVncmVzc18qCiAKIC0tIEhBTkRMRVIgcmVsYXRlZCBjaGVja3MKIENSRUFURSBGVU5D VElPTiBpbnZhbGlkX2Zkd19oYW5kbGVyKCkgUkVUVVJOUyBpbnQgTEFOR1VBR0UgU1FMIEFTICdT RUxFQ1QgMTsnOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3IEhBTkRMRVIg aW52YWxpZF9mZHdfaGFuZGxlcjsgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgdGVzdF9mZHcgSEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW52YWxpZF9mZHdf aGFuZGxlcjsgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHcg SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyOwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0 X2ZkdzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRM RVIgaW52YWxpZF9mZHdfaGFuZGxlcjsgIC0tIEVSUk9SCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdS QVBQRVIgcmVncmVzc190ZXN0X2ZkdyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFORExFUiBp bnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlcjsKK0RST1AgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc190ZXN0X2ZkdzsKIAogLS0gQUxURVIgRk9SRUlHTiBEQVRB IFdSQVBQRVIKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChub25leGlz dGVudCAnZmR3Jyk7ICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIE9QVElPTlMgKG5vbmV4aXN0ZW50ICdmZHcnKTsgICAgICAgICAtLSBFUlJP UgogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLSBFUlJPUgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFZBTElEQVRP UiBiYXI7ICAgICAgICAgICAgICAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBOTyBWQUxJREFUT1I7Ci1cZGV3KworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb287ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorQUxURVIgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVkFMSURBVE9SIGJhcjsgICAgICAgICAgICAg ICAtLSBFUlJPUgorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gTk8gVkFM SURBVE9SOworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv byBPUFRJT05TIChhICcxJywgYiAnMicpOwotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9v IE9QVElPTlMgKFNFVCBjICc0Jyk7ICAgICAgICAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIGZvbyBPUFRJT05TIChEUk9QIGMpOyAgICAgICAgICAgIC0tIEVSUk9SCi1BTFRF UiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoQUREIHggJzEnLCBEUk9QIHgpOwot XGRldysKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGEg JzEnLCBiICcyJyk7CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJ T05TIChTRVQgYyAnNCcpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChEUk9QIGMpOyAgICAgICAgICAgIC0tIEVSUk9SCitB TFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChBREQgeCAnMScs IERST1AgeCk7CitcZGV3KyByZWdyZXNzXyoKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vIE9QVElPTlMgKERST1AgYSwgU0VUIGIgJzMnLCBBREQgYyAnNCcpOwotXGRldysKK0FMVEVS IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKERST1AgYSwgU0VUIGIg JzMnLCBBREQgYyAnNCcpOworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBPUFRJT05TIChhICcyJyk7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gT1BUSU9OUyAoYiAnNCcpOyAgICAgICAgICAgICAtLSBFUlJPUgotXGRldysKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGEgJzInKTsKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGIgJzQnKTsgICAgICAgICAg ICAgLS0gRVJST1IKK1xkZXcrIHJlZ3Jlc3NfKgogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9s ZTsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgZCAnNScpOyAg ICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBP UFRJT05TIChBREQgZCAnNScpOyAgICAgICAgIC0tIEVSUk9SCiBTRVQgUk9MRSByZWdyZXNzX3Rl c3Rfcm9sZV9zdXBlcjsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChB REQgZCAnNScpOwotXGRldysKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v IE9QVElPTlMgKEFERCBkICc1Jyk7CitcZGV3KyByZWdyZXNzXyoKIAotQUxURVIgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZV9z dXBlcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9XTkVSIFRPIHJl Z3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwogQUxURVIgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBOT1NVUEVSVVNFUjsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVz dF9yb2xlX3N1cGVyOwotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKEFE RCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKIFJFU0VUIFJP TEU7Ci1cZGV3KworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBSRU5BTUUgVE8gZm9vMTsKLVxkZXcrCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28xIFJFTkFNRSBUTyBmb287CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv byBSRU5BTUUgVE8gcmVncmVzc19mb28xOworXGRldysgcmVncmVzc18qCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzEgUkVOQU1FIFRPIHJlZ3Jlc3NfZm9vOwogCiAtLSBI QU5ETEVSIHJlbGF0ZWQgY2hlY2tzCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFO RExFUiBpbnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFORExFUiBhbnl0aGluZzsgIC0t IEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFORExFUiB0ZXN0X2Zkd19o YW5kbGVyOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiBp bnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGFueXRoaW5nOyAg LS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIg dGVzdF9mZHdfaGFuZGxlcjsKIERST1AgRlVOQ1RJT04gaW52YWxpZF9mZHdfaGFuZGxlcigpOwog CiAtLSBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSCiBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IG5vbmV4aXN0ZW50OyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRFJPUCBGT1JFSUdO IERBVEEgV1JBUFBFUiBJRiBFWElTVFMgbm9uZXhpc3RlbnQ7Ci1cZGV3KworXGRldysgcmVncmVz c18qCiAKIERST1AgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsgICAgICAgICAgICAgICAg ICAgICAgICAgIC0tIEVSUk9SCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsKLURS T1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbzsKIFJFU0VUIFJPTEU7CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3Vw ZXI7Ci1cZGV3KworXGRldysgcmVncmVzc18qCiAKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb287Ci1DUkVBVEUgU0VSVkVSIHMxIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsKK0NSRUFU RSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczEgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBDT01NRU5UIE9OIFNFUlZFUiBzMSBJUyAn Zm9yZWlnbiBzZXJ2ZXInOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgY3VycmVudF91c2VyIFNF UlZFUiBzMTsKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIGN1cnJlbnRfdXNlciBTRVJWRVIgczE7 CQkJCS0tIEVSUk9SCiBDUkVBVEUgVVNFUiBNQVBQSU5HIElGIE5PVCBFWElTVFMgRk9SIGN1cnJl bnRfdXNlciBTRVJWRVIgczE7IC0tIE5PVElDRQotXGRldysKK1xkZXcrIHJlZ3Jlc3NfKgogXGRl cysKIFxkZXUrCi1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogU0VUIFJPTEUgcmVn cmVzc190ZXN0X3JvbGU7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBDQVNDQURFOyAg ICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQg Uk9MRTsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIENBU0NBREU7Ci1cZGV3KworRFJP UCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBDQVNDQURFOworXGRldysgcmVncmVz c18qCiBcZGVzKwogXGRldSsKIAogLS0gZXhlcmNpc2UgQ1JFQVRFIFNFUlZFUgotQ1JFQVRFIFNF UlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgLS0gRVJS T1IKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoInRlc3Qgd3JhcHBl ciIgJ3RydWUnKTsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwot Q1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAg ICAgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgSUYgTk9UIEVYSVNUUyBzMSBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb287CS0tIE5vIEVSUk9SLCBqdXN0IE5PVElDRQotQ1JFQVRFIFNFUlZFUiBzMiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwot Q1JFQVRFIFNFUlZFUiBzMyBUWVBFICdvcmFjbGUnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsK LUNSRUFURSBTRVJWRVIgczQgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g T1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwotQ1JFQVRFIFNFUlZFUiBzNSBWRVJTSU9O ICcxNS4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287Ci1DUkVBVEUgU0VSVkVSIHM2IFZFUlNJ T04gJzE2LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChob3N0ICdhJywgZGJu YW1lICdiJyk7Ci1DUkVBVEUgU0VSVkVSIHM3IFRZUEUgJ29yYWNsZScgVkVSU0lPTiAnMTcuMCcg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsK LUNSRUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBPUFRJT05T IChmb28gJzEnKTsgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcG9zdGdyZXNxbCBPUFRJT05TIChob3N0ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKTsK K0NSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAg ICAgICAgICAgICAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TICgidGVzdCB3cmFwcGVyIiAndHJ1ZScpOworQ1JFQVRFIFNFUlZFUiBzMSBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0NS RUFURSBTRVJWRVIgSUYgTk9UIEVYSVNUUyBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsJLS0gTm8gRVJST1IsIGp1c3QgTk9USUNFCitDUkVBVEUgU0VSVkVSIHMyIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsK K0NSRUFURSBTRVJWRVIgczMgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczQgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7CitDUkVBVEUg U0VSVkVSIHM1IFZFUlNJT04gJzE1LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OworQ1JFQVRFIFNFUlZFUiBzNiBWRVJTSU9OICcxNi4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7CitDUkVBVEUgU0VSVkVS IHM3IFRZUEUgJ29yYWNsZScgVkVSU0lPTiAnMTcuMCcgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOworQ1JFQVRFIFNFUlZFUiBz OCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgT1BUSU9OUyAoZm9vICcx Jyk7IC0tIEVSUk9SCitDUkVBVEUgU0VSVkVSIHM4IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfcG9zdGdyZXNxbCBPUFRJT05TIChob3N0ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKTsK IFxkZXMrCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUNSRUFURSBTRVJWRVIgdDEgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAgICAgICAgICAgLS0gRVJST1I6IG5vIHVzYWdl IG9uIEZEVworQ1JFQVRFIFNFUlZFUiB0MSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv bzsgICAgICAgICAgICAgICAgIC0tIEVSUk9SOiBubyB1c2FnZSBvbiBGRFcKIFJFU0VUIFJPTEU7 Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0 X3JvbGU7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBU TyByZWdyZXNzX3Rlc3Rfcm9sZTsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRF IFNFUlZFUiB0MSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHQxIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOwogUkVTRVQgUk9MRTsKIFxkZXMrCiAKLVJF Vk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gRlJPTSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBUTyByZWdyZXNz X3Rlc3RfaW5kaXJlY3Q7CitSRVZPS0UgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb28gRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKIFNFVCBS T0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiB0MiBGT1JFSUdOIERBVEEgV1JB UFBFUiBmb287ICAgICAgICAgICAgICAgICAtLSBFUlJPUgorQ1JFQVRFIFNFUlZFUiB0MiBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBS RVNFVCBST0xFOwogR1JBTlQgcmVncmVzc190ZXN0X2luZGlyZWN0IFRPIHJlZ3Jlc3NfdGVzdF9y b2xlOwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VSVkVSIHQyIEZPUkVJ R04gREFUQSBXUkFQUEVSIGZvbzsKK0NSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19mb287CiBcZGVzKwogUkVTRVQgUk9MRTsKIFJFVk9LRSByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKIAorLS0KKy0tIHRlc3QgcGdfY29ubmVj dGlvbl9mZHcKKy0tCisKK1xzZXQgVkVSQk9TSVRZIHRlcnNlCitDUkVBVEUgU0VSVkVSIGNvbm5l Y3Rpb25fc2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3CisgIE9Q VElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBjbGllbnRfZW5jb2RpbmcgJ0xBVElOMScpOyAtLSBmYWls CitDUkVBVEUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBn X2Nvbm5lY3Rpb25fZmR3CisgIE9QVElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBub25zZW5zZSAnYXNk ZicpOyAtLSBmYWlsCitDUkVBVEUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyIEZPUkVJR04gREFU QSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3CisgIE9QVElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBw YXNzd29yZCAnc2VjcmV0Jyk7IC0tIGZhaWwKK1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKKworQ1JF QVRFIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25u ZWN0aW9uX2ZkdworICBPUFRJT05TIChob3N0ICd0aGVob3N0JywgcG9ydCAnNTQzMicpOworCitD UkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgY29ubmVjdGlv bl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncm9sZScsIHBhc3N3b3JkICdzZWNyZXQnLCBob3N0 ICdvdGhlcmhvc3QnKTsgLS0gZmFpbAorCitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNz X3Rlc3Rfcm9sZSBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncm9s ZScsIHBhc3N3b3JkICdzZWNyZXQnKTsKK0NSRUFURSBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBT RVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncHVibGljdXNlcicsIHBh c3N3b3JkICdzZWNyZXQyJyk7CisKK1NFTEVDVCBwZ19jb25uaW5mb19mcm9tX3NlcnZlcignY29u bmVjdGlvbl9zZXJ2ZXInLCAncmVncmVzc190ZXN0X3JvbGUnLCBmYWxzZSk7CisKK1NFTEVDVCBw Z19jb25uaW5mb19mcm9tX3NlcnZlcignY29ubmVjdGlvbl9zZXJ2ZXInLCAncmVncmVzc190ZXN0 X3JvbGUyJywgZmFsc2UpOworCitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3Jv bGUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJ QyBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CitEUk9QIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZl cjsKKwogLS0gQUxURVIgU0VSVkVSCiBBTFRFUiBTRVJWRVIgczA7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQUxURVIgU0VSVkVSIHMwIE9QVElP TlMgKGEgJzEnKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTIwOCw3 ICsyNDAsNyBAQCBHUkFOVCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgVE8gcmVncmVzc190ZXN0X3Jv bGU7CiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBPV05FUiBU TyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBSRVNFVCBST0xFOwotR1JBTlQgVVNBR0UgT04gRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKK0dSQU5UIFVT QUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9p bmRpcmVjdDsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwogQUxURVIgU0VSVkVSIHMxIE9X TkVSIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKIFJFU0VUIFJPTEU7CkBAIC0yOTMsNyArMzI1 LDcgQEAgRFJPUCBTRVJWRVIgczc7CiAKIC0tIENSRUFURSBGT1JFSUdOIFRBQkxFCiBDUkVBVEUg U0NIRU1BIGZvcmVpZ25fc2NoZW1hOwotQ1JFQVRFIFNFUlZFUiBzMCBGT1JFSUdOIERBVEEgV1JB UFBFUiBkdW1teTsKK0NSRUFURSBTRVJWRVIgczAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19kdW1teTsKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZ0MSAoKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQxICgpIFNF UlZFUiBub19zZXJ2ZXI7ICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBDUkVBVEUgRk9SRUlH TiBUQUJMRSBmdDEgKApAQCAtNDUzLDIwICs0ODUsMjAgQEAgQUxURVIgRk9SRUlHTiBUQUJMRSBJ RiBFWElTVFMgZG9lc250X2V4aXN0X2Z0MSBSRU5BTUUgVE8gZm9yZWlnbl90YWJsZV8xOwogCiAt LSBJbmZvcm1hdGlvbiBzY2hlbWEKIAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEu Zm9yZWlnbl9kYXRhX3dyYXBwZXJzIE9SREVSIEJZIDEsIDI7CitTRUxFQ1QgKiBGUk9NIGluZm9y bWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcnMgV0hFUkUgYXV0aG9yaXphdGlvbl9p ZGVudGlmaWVyID0gJ3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXInIE9SREVSIEJZIDEsIDI7CiBT RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcl9vcHRp b25zIE9SREVSIEJZIDEsIDIsIDM7CiBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5m b3JlaWduX3NlcnZlcnMgT1JERVIgQlkgMSwgMjsKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLmZvcmVpZ25fc2VydmVyX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMzsKIFNFTEVDVCAq IEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzZXJfbWFwcGluZ3MgT1JERVIgQlkgbG93ZXIoYXV0 aG9yaXphdGlvbl9pZGVudGlmaWVyKSwgMiwgMzsKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnVzZXJfbWFwcGluZ19vcHRpb25zIE9SREVSIEJZIGxvd2VyKGF1dGhvcml6YXRpb25f aWRlbnRpZmllciksIDIsIDMsIDQ7Ci1TRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51 c2FnZV9wcml2aWxlZ2VzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2Jq ZWN0X25hbWUgSU4gKCdzNicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OwotU0VMRUNU ICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hFUkUgb2JqZWN0 X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ2ZvbycpIE9S REVSIEJZIDEsIDIsIDMsIDQsIDU7CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51 c2FnZV9wcml2aWxlZ2VzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2Jq ZWN0X25hbWUgSU4gKCdzNicsICdyZWdyZXNzX2ZvbycpIE9SREVSIEJZIDEsIDIsIDMsIDQsIDU7 CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn cmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OwogU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEuZm9yZWlnbl90YWJsZXMgT1JERVIgQlkgMSwgMiwgMzsKIFNFTEVDVCAq IEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmZvcmVpZ25fdGFibGVfb3B0aW9ucyBPUkRFUiBCWSAx LCAyLCAzLCA0OwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7CiBTRUxFQ1QgKiBGUk9NIGlu Zm9ybWF0aW9uX3NjaGVtYS51c2VyX21hcHBpbmdfb3B0aW9ucyBPUkRFUiBCWSAxLCAyLCAzLCA0 OwotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn Zm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKLVNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnJvbGVfdXNhZ2VfZ3JhbnRzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04l JyBBTkQgb2JqZWN0X25hbWUgSU4gKCdzNicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1 OworU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn cmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OworU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hFUkUgb2JqZWN0X3R5cGUgTElLRSAn Rk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ3JlZ3Jlc3NfZm9vJykgT1JERVIg QlkgMSwgMiwgMywgNCwgNTsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBjdXJyZW50X3VzZXIgU0VS VkVSIHQxOwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGUyOwogU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEudXNlcl9tYXBwaW5nX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMywgNDsK QEAgLTQ3NSwxOCArNTA3LDE4IEBAIFJFU0VUIFJPTEU7CiAKIC0tIGhhc19mb3JlaWduX2RhdGFf d3JhcHBlcl9wcml2aWxlZ2UKIFNFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmls ZWdlKCdyZWdyZXNzX3Rlc3Rfcm9sZScsCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWdu X2RhdGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdmb28nKSwgJ1VTQUdFJyk7Ci1TRUxFQ1QgaGFz X2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLCAnZm9v JywgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBl ciBXSEVSRSBmZHduYW1lPSdyZWdyZXNzX2ZvbycpLCAnVVNBR0UnKTsKK1NFTEVDVCBoYXNfZm9y ZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKCdyZWdyZXNzX3Rlc3Rfcm9sZScsICdyZWdyZXNz X2ZvbycsICdVU0FHRScpOwogU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxl Z2UoCiAgICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19yb2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNz X3Rlc3Rfcm9sZScpLAotICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXIgV0hFUkUgZmR3bmFtZT0nZm9vJyksICdVU0FHRScpOworICAgIChTRUxFQ1Qgb2lkIEZST00g cGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZT0ncmVncmVzc19mb28nKSwgJ1VT QUdFJyk7CiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgKLSAgICAo U0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWU9J2Zv bycpLCAnVVNBR0UnKTsKKyAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFw cGVyIFdIRVJFIGZkd25hbWU9J3JlZ3Jlc3NfZm9vJyksICdVU0FHRScpOwogU0VMRUNUIGhhc19m b3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19y b2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNzX3Rlc3Rfcm9sZScpLCAnZm9vJywgJ1VTQUdFJyk7 Ci1TRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgnZm9vJywgJ1VTQUdF Jyk7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190 ZXN0X3JvbGU7Ci1TRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVn cmVzc190ZXN0X3JvbGUnLCAnZm9vJywgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBvaWQgRlJPTSBw Z19yb2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNzX3Rlc3Rfcm9sZScpLCAncmVncmVzc19mb28n LCAnVVNBR0UnKTsKK1NFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKCdy ZWdyZXNzX2ZvbycsICdVU0FHRScpOworR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19mb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitTRUxFQ1QgaGFzX2ZvcmVpZ25f ZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLCAncmVncmVzc19mb28n LCAnVVNBR0UnKTsKIAogLS0gaGFzX3NlcnZlcl9wcml2aWxlZ2UKIFNFTEVDVCBoYXNfc2VydmVy X3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLApAQCAtNTA4LDE2ICs1NDAsMTYgQEAgR1JB TlQgVVNBR0UgT04gRk9SRUlHTiBTRVJWRVIgczQgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBEUk9Q IFVTRVIgTUFQUElORyBGT1IgcHVibGljIFNFUlZFUiBzNDsKIEFMVEVSIFNFUlZFUiBzNiBPUFRJ T05TIChEUk9QIGhvc3QsIERST1AgZGJuYW1lKTsKIEFMVEVSIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2IE9QVElPTlMgKERST1AgdXNlcm5hbWUpOwotQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0 b3I7CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBWQUxJREFUT1IgcG9z dGdyZXNxbF9mZHdfdmFsaWRhdG9yOwogCiAtLSBQcml2aWxlZ2VzCiBTRVQgUk9MRSByZWdyZXNz X3VucHJpdmlsZWdlZF9yb2xlOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2Jhcjsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb28gT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7ICAgICAgICAgLS0gRVJST1IKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3VucHJpdmlsZWdl ZF9yb2xlOyAtLSBFUlJPUgotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1HUkFOVCBVU0FHRSBPTiBGT1JFSUdO IERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUNSRUFU RSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAgICAgICAgICAgICAg ICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vYmFyOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0tIEVS Uk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdy ZXNzX3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK K0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jl c3NfdGVzdF9yb2xlOyAgIC0tIEVSUk9SCitDUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQUxURVIg U0VSVkVSIHM0IFZFUlNJT04gJzAuNSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0tIEVSUk9SCiBBTFRFUiBTRVJWRVIgczQgT1dORVIgVE8gcmVncmVzc191bnByaXZpbGVnZWRf cm9sZTsgICAgICAgICAgICAgLS0gRVJST1IKIERST1AgU0VSVkVSIHM0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgpAQCAtNTI3LDE1ICs1 NTksMTUgQEAgQUxURVIgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIg czYgT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7IC0tIEUKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBy ZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczY7ICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQg Uk9MRTsKIAotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBU TyByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRB IFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgV0lUSCBHUkFOVCBPUFRJ T047CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVz cWwgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgV0lU SCBHUkFOVCBPUFRJT047CiBTRVQgUk9MRSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwotQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2JhcjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0tIEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoZ290 Y2hhICd0cnVlJyk7ICAgICAgICAgLS0gRVJST1IKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotR1JBTlQgVVNB R0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9s ZTsgLS0gV0FSTklORwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFRP IHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBF UiBwb3N0Z3Jlc3FsOworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vYmFy OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0t IEVSUk9SCitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAtLSBX QVJOSU5HCitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBU TyByZWdyZXNzX3Rlc3Rfcm9sZTsKK0NSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19wb3N0Z3Jlc3FsOwogQUxURVIgU0VSVkVSIHM2IFZFUlNJT04gJzAuNSc7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBEUk9QIFNFUlZFUiBzNjsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK IEdSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHM2IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAg ICAgICAgICAtLSBFUlJPUgpAQCAtNTQ2LDE3ICs1NzgsMTcgQEAgQUxURVIgVVNFUiBNQVBQSU5H IEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczYgT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7 IC0tIEUKIERST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczY7 ICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQgUk9MRTsKIAotUkVWT0tFIFVTQUdFIE9OIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7IC0t IEVSUk9SCi1SRVZPS0UgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEZST00gcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZSBDQVNDQURFOworUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsg LS0gRVJST1IKK1JFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv byBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgQ0FTQ0FERTsKIFNFVCBST0xFIHJlZ3Jl c3NfdW5wcml2aWxlZ2VkX3JvbGU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgczEw IEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X3JvbGU7ICAgLS0gRVJST1IKK0NSRUFURSBTRVJWRVIgczEwIEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBBTFRFUiBT RVJWRVIgczkgVkVSU0lPTiAnMS4xJzsKIEdSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHM5 IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgY3VycmVudF91 c2VyIFNFUlZFUiBzOTsKIERST1AgU0VSVkVSIHM5IENBU0NBREU7CiBSRVNFVCBST0xFOwotQ1JF QVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHM5 IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOwogR1JBTlQgVVNBR0UgT04gRk9SRUlH TiBTRVJWRVIgczkgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIFNFVCBST0xFIHJlZ3Jl c3NfdW5wcml2aWxlZ2VkX3JvbGU7CiBBTFRFUiBTRVJWRVIgczkgVkVSU0lPTiAnMS4yJzsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTU2Niw3ICs1OTgsNyBA QCBEUk9QIFNFUlZFUiBzOSBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLS0gRVJST1IKIAogLS0gQ2hlY2sgdmlzaWJpbGl0eSBvZiB1c2VyIG1hcHBpbmcg ZGF0YQogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VSVkVSIHMxMCBGT1JF SUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHMxMCBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbzsKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIg czEwIE9QVElPTlMgKHVzZXIgJ3NlY3JldCcpOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZSBTRVJWRVIgczEwIE9QVElPTlMgKHVzZXIgJ3NlY3JldCcp OwogLS0gb3duZXIgb2Ygc2VydmVyIGNhbiBzZWUgc29tZSBvcHRpb24gZmllbGRzCkBAIC04NDcs MjAgKzg3OSwyMCBAQCBEUk9QIFNDSEVNQSBmb3JlaWduX3NjaGVtYSBDQVNDQURFOwogRFJPUCBS T0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0g RVJST1IKIERST1AgU0VSVkVSIHQxIENBU0NBREU7CiBEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2OwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g Q0FTQ0FERTsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gQ0FTQ0FERTsK IERST1AgU0VSVkVSIHM4IENBU0NBREU7CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0 OwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwogRFJPUCBST0xFIHJlZ3Jlc3NfdW5wcml2 aWxlZ2VkX3JvbGU7ICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKLVJFVk9LRSBBTEwg T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxl Z2VkX3JvbGU7CitSRVZPS0UgQUxMIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9z dGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7CiBEUk9QIFJPTEUgcmVncmVz c191bnByaXZpbGVnZWRfcm9sZTsKIERST1AgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTI7Ci1EUk9Q IEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgQ0FTQ0FERTsKLURST1AgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZHVtbXkgQ0FTQ0FERTsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19wb3N0Z3Jlc3FsIENBU0NBREU7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfZHVtbXkgQ0FTQ0FERTsKIFxjCiBEUk9QIFJPTEUgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl cjsKIAogLS0gQXQgdGhpcyBwb2ludCB3ZSBzaG91bGQgaGF2ZSBubyB3cmFwcGVycywgbm8gc2Vy dmVycywgYW5kIG5vIG1hcHBpbmdzLgotU0VMRUNUIGZkd25hbWUsIGZkd2hhbmRsZXIsIGZkd3Zh bGlkYXRvciwgZmR3b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyOworU0VMRUNU IGZkd25hbWUsIGZkd2hhbmRsZXIsIGZkd3ZhbGlkYXRvciwgZmR3b3B0aW9ucyBGUk9NIHBnX2Zv cmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWUgTElLRSAncmVncmVzc18lJzsKIFNFTEVD VCBzcnZuYW1lLCBzcnZvcHRpb25zIEZST00gcGdfZm9yZWlnbl9zZXJ2ZXI7CiBTRUxFQ1QgKiBG Uk9NIHBnX3VzZXJfbWFwcGluZzsKLS0gCjIuMzQuMQoK --=-rAcBX5BGvet8j3XuS7hS Content-Disposition: attachment; filename="v5-0003-CREATE-SUSBCRIPTION-.-SERVER.patch" Content-Type: text/x-patch; name="v5-0003-CREATE-SUSBCRIPTION-.-SERVER.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA4MDVmN2FiMjNmYWJjMTFjN2RjNTM2NzQxMmYyNGE4OGE4MDU2Y2YxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6NDI6NDggLTA4MDAKU3ViamVjdDogW1BBVENIIHY1IDMvNF0gQ1JF QVRFIFNVU0JDUklQVElPTiAuLi4gU0VSVkVSLgoKLS0tCiAuLi4vcG9zdGdyZXNfZmR3L2V4cGVj dGVkL3Bvc3RncmVzX2Zkdy5vdXQgICAgfCAgIDggKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvc3Fs L3Bvc3RncmVzX2Zkdy5zcWwgICAgIHwgICA3ICsKIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vi c2NyaXB0aW9uLnNnbWwgICAgICB8ICAxOCArLQogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vi c2NyaXB0aW9uLnNnbWwgICAgIHwgIDExICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNj cmlwdGlvbi5jICAgICAgICAgfCAgMzEgKystCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3Jp cHRpb25jbWRzLmMgICAgICAgfCAxODIgKysrKysrKysrKysrKysrKy0tCiBzcmMvYmFja2VuZC9m b3JlaWduL2ZvcmVpZ24uYyAgICAgICAgICAgICAgICAgfCAgMjUgKysrCiBzcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAgMjAgKysKIHNyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICB8ICAxMiArLQogc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgICAgIHwgIDI3ICsrLQogc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXAuaCAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iaW4vcHNxbC90YWIt Y29tcGxldGUuYyAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaCAgICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9mb3JlaWdu L2ZvcmVpZ24uaCAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oICAgICAgICAgICAgICAgIHwgICAzICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvZm9yZWlnbl9kYXRhLm91dCAgICB8ICAxNCArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zdWJzY3JpcHRpb24ub3V0ICAgIHwgIDQwICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zv cmVpZ25fZGF0YS5zcWwgICAgICAgICB8ICAxNyArKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbCAgICAgICAgIHwgIDQ1ICsrKysrCiBzcmMvdGVzdC9zdWJzY3JpcHRpb24v dC8wMDFfcmVwX2NoYW5nZXMucGwgICAgfCAgNTcgKysrKysrCiAyMCBmaWxlcyBjaGFuZ2VkLCA0 OTcgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNf ZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKaW5kZXggZDgzZjZhZThjYi4uNWNlODNiY2I5 MSAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3 Lm91dAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0 CkBAIC0yNTYsNiArMjU2LDE0IEBAIFNFTEVDVCBjMywgYzQgRlJPTSBmdDEgT1JERVIgQlkgYzMs IGMxIExJTUlUIDE7ICAtLSBzaG91bGQgd29yayBhZ2FpbgogQU5BTFlaRSBmdDE7CiBBTFRFUiBG T1JFSUdOIFRBQkxFIGZ0MiBPUFRJT05TICh1c2VfcmVtb3RlX2VzdGltYXRlICd0cnVlJyk7CiAt LSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLSB0ZXN0IHN1YnNjcmlwdGlvbgorLS0gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQ1JFQVRF IFNVQlNDUklQVElPTiByZWdyZXNzX3BnZmR3X3N1YnNjcmlwdGlvbiBTRVJWRVIgdGVzdHNlcnZl cjEKKyAgUFVCTElDQVRJT04gcHViMSBXSVRIIChzbG90X25hbWUgPSBOT05FLCBjb25uZWN0ID0g ZmFsc2UpOworV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBj b25uZWN0ZWQKK0hJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFs bHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwg YW5kIHJlZnJlc2ggdGhlIHN1YnNjcmlwdGlvbi4KK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf cGdmZHdfc3Vic2NyaXB0aW9uOworLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdCBlcnJvciBjYXNlIGZv ciBjcmVhdGUgcHVibGljYXRpb24gb24gZm9yZWlnbiB0YWJsZQogLS0gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogQ1JF QVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZnRibCBGT1IgVEFCTEUgZnQxOyAgLS0gc2hvdWxkIGZh aWwKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3Fs IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKaW5kZXggOTBjOGZh NGI3MC4uODFkYWM0OTgxYyAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bv c3RncmVzX2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zk dy5zcWwKQEAgLTI0OCw2ICsyNDgsMTMgQEAgU0VMRUNUIGMzLCBjNCBGUk9NIGZ0MSBPUkRFUiBC WSBjMywgYzEgTElNSVQgMTsgIC0tIHNob3VsZCB3b3JrIGFnYWluCiBBTkFMWVpFIGZ0MTsKIEFM VEVSIEZPUkVJR04gVEFCTEUgZnQyIE9QVElPTlMgKHVzZV9yZW1vdGVfZXN0aW1hdGUgJ3RydWUn KTsKIAorLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0gdGVzdCBzdWJzY3JpcHRpb24KKy0tID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K K0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19wZ2Zkd19zdWJzY3JpcHRpb24gU0VSVkVSIHRl c3RzZXJ2ZXIxCisgIFBVQkxJQ0FUSU9OIHB1YjEgV0lUSCAoc2xvdF9uYW1lID0gTk9ORSwgY29u bmVjdCA9IGZhbHNlKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfcGdmZHdfc3Vic2NyaXB0 aW9uOworCiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLSB0ZXN0IGVycm9yIGNhc2UgZm9yIGNyZWF0ZSBwdWJs aWNhdGlvbiBvbiBmb3JlaWduIHRhYmxlCiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9kb2Mv c3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9h bHRlcl9zdWJzY3JpcHRpb24uc2dtbAppbmRleCA2ZDM2ZmYwZGM5Li42ZDIxOTE0NWE5IDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwKQEAgLTIxLDYgKzIxLDcgQEAg UG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAKICA8cmVmc3lub3BzaXNkaXY+CiA8c3lub3BzaXM+ CitBTFRFUiBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8 L3JlcGxhY2VhYmxlPiBTRVJWRVIgPHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxl PgogQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1l PC9yZXBsYWNlYWJsZT4gQ09OTkVDVElPTiAnPHJlcGxhY2VhYmxlPmNvbm5pbmZvPC9yZXBsYWNl YWJsZT4nCiBBTFRFUiBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5hbWU8L3JlcGxhY2VhYmxlPiBTRVQgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnB1YmxpY2F0aW9uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi5dIFsgV0lUSCAo IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9vcHRpb248L3JlcGxh Y2VhYmxlPiBbPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2Vh YmxlPl0gWywgLi4uIF0gKSBdCiBBTFRFUiBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBBREQgUFVCTElDQVRJT04gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAu Li5dIFsgV0lUSCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9v cHRpb248L3JlcGxhY2VhYmxlPiBbPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFs dWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0gKSBdCkBAIC05NCwxMyArOTUsMjQgQEAgQUxURVIg U1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4gUkVOQU1FIFRPIDwKICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAK KyAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1hbHRlcnN1YnNjcmlwdGlvbi1wYXJhbXMtc2VydmVy Ij4KKyAgICA8dGVybT48bGl0ZXJhbD5TRVJWRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3Rp dGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgY2xhdXNlIHJlcGxhY2VzIHRoZSBmb3JlaWdu IHNlcnZlciBvciBjb25uZWN0aW9uIHN0cmluZyBvcmlnaW5hbGx5CisgICAgICBzZXQgYnkgPHhy ZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbiIvPiB3aXRoIHRoZSBmb3JlaWduIHNl cnZlcgorICAgICAgPHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxlPi4KKyAgICAg PC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxp c3RlbnRyeSBpZD0ic3FsLWFsdGVyc3Vic2NyaXB0aW9uLXBhcmFtcy1jb25uZWN0aW9uIj4KICAg ICA8dGVybT48bGl0ZXJhbD5DT05ORUNUSU9OICc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29ubmluZm88L3JlcGxhY2VhYmxlPic8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRl bT4KICAgICAgPHBhcmE+Ci0gICAgICBUaGlzIGNsYXVzZSByZXBsYWNlcyB0aGUgY29ubmVjdGlv biBzdHJpbmcgb3JpZ2luYWxseSBzZXQgYnkKLSAgICAgIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVh dGVzdWJzY3JpcHRpb24iLz4uICBTZWUgdGhlcmUgZm9yIG1vcmUKLSAgICAgIGluZm9ybWF0aW9u LgorICAgICAgVGhpcyBjbGF1c2UgcmVwbGFjZXMgdGhlIGZvcmVpZ24gc2VydmVyIG9yIGNvbm5l Y3Rpb24gc3RyaW5nIG9yaWdpbmFsbHkKKyAgICAgIHNldCBieSA8eHJlZiBsaW5rZW5kPSJzcWwt Y3JlYXRlc3Vic2NyaXB0aW9uIi8+IHdpdGggdGhlIGNvbm5lY3Rpb24KKyAgICAgIHN0cmluZyA8 cmVwbGFjZWFibGU+Y29ubmluZm88L3JlcGxhY2VhYmxlPi4KICAgICAgPC9wYXJhPgogICAgIDwv bGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vi c2NyaXB0aW9uLnNnbWwKaW5kZXggZjFjMjBiM2E0Ni4uNWYyYzUwYTMxZSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwKQEAgLTIyLDcgKzIyLDcgQEAgUG9zdGdy ZVNRTCBkb2N1bWVudGF0aW9uCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgogQ1JFQVRF IFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3Vic2NyaXB0aW9u X25hbWU8L3JlcGxhY2VhYmxlPgotICAgIENPTk5FQ1RJT04gJzxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb25uaW5mbzwvcmVwbGFjZWFibGU+JworICAgIHsgU0VSVkVSIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXJ2ZXJuYW1lPC9yZXBsYWNlYWJsZT4gfCBDT05ORUNU SU9OICc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29ubmluZm88L3JlcGxhY2VhYmxl PicgfQogICAgIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJs aWNhdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXQogICAgIFsgV0lUSCAoIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdWJzY3JpcHRpb25fcGFyYW1ldGVyPC9yZXBsYWNlYWJs ZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5d IFssIC4uLiBdICkgXQogPC9zeW5vcHNpcz4KQEAgLTc3LDYgKzc3LDE1IEBAIENSRUFURSBTVUJT Q1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1YnNjcmlwdGlvbl9uYW1l PC9yZXBsYWNlYWJsCiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8 dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy1zZXJ2ZXIiPgor ICAgIDx0ZXJtPjxsaXRlcmFsPlNFUlZFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ c2VydmVybmFtZTwvcmVwbGFjZWFibGU+PC9saXRlcmFsPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+ CisgICAgIDxwYXJhPgorICAgICAgQSBmb3JlaWduIHNlcnZlciB0byB1c2UgZm9yIHRoZSBjb25u ZWN0aW9uLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5 PgorCiAgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy1j b25uZWN0aW9uIj4KICAgICA8dGVybT48bGl0ZXJhbD5DT05ORUNUSU9OICc8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29ubmluZm88L3JlcGxhY2VhYmxlPic8L2xpdGVyYWw+PC90ZXJt PgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCmluZGV4 IGM1MTZjMjVhYzcuLmIzY2JjMTcwZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv cGdfc3Vic2NyaXB0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRp b24uYwpAQCAtMjAsMTIgKzIwLDE1IEBACiAjaW5jbHVkZSAiYWNjZXNzL3RhYmxlYW0uaCIKICNp bmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIKKyNp bmNsdWRlICJjYXRhbG9nL3BnX2ZvcmVpZ25fc2VydmVyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9w Z19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbl9yZWwu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJmb3JlaWduL2ZvcmVp Z24uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9tYWtlZnVuY3Mu aCIKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKKyNpbmNsdWRlICJ1dGlscy9hY2wuaCIKICNp bmNsdWRlICJ1dGlscy9hcnJheS5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5j bHVkZSAidXRpbHMvZm1ncm9pZHMuaCIKQEAgLTc1LDEwICs3OCwzMCBAQCBHZXRTdWJzY3JpcHRp b24oT2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2spCiAJc3ViLT5ydW5hc293bmVyID0gc3ViZm9y bS0+c3VicnVuYXNvd25lcjsKIAogCS8qIEdldCBjb25uaW5mbyAqLwotCWRhdHVtID0gU3lzQ2Fj aGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJUFRJT05PSUQsCi0JCQkJCQkJCSAgIHR1cCwKLQkJCQkJ CQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8pOwotCXN1Yi0+Y29ubmluZm8g PSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwlpZiAoT2lkSXNWYWxpZChzdWJmb3JtLT5z dWJzZXJ2ZXIpKQorCXsKKwkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKworCQkvKiByZWNoZWNrIEFD TCAqLworCQlhY2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2soRm9yZWlnblNlcnZlclJlbGF0aW9u SWQsCisJCQkJCQkJCQlzdWJmb3JtLT5zdWJzZXJ2ZXIsCisJCQkJCQkJCQlzdWJmb3JtLT5zdWJv d25lciwgQUNMX1VTQUdFKTsKKworCQlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQkJ YWNsY2hlY2tfZXJyb3IoYWNscmVzdWx0LCBPQkpFQ1RfRk9SRUlHTl9TRVJWRVIsCisJCQkJCQkg ICBGb3JlaWduU2VydmVyTmFtZShzdWJmb3JtLT5zdWJzZXJ2ZXIpKTsKKworCQlzdWItPmNvbm5p bmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoc3ViZm9ybS0+c3Vib3duZXIsCisJ CQkJCQkJCQkJCQkJICBzdWJmb3JtLT5zdWJzZXJ2ZXIsCisJCQkJCQkJCQkJCQkJICB0cnVlKTsK Kwl9CisJZWxzZQorCXsKKwkJZGF0dW0gPSBTeXNDYWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQ VElPTk9JRCwKKwkJCQkJCQkJCSAgIHR1cCwKKwkJCQkJCQkJCSAgIEFudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmNvbm5pbmZvKTsKKwkJc3ViLT5jb25uaW5mbyA9IFRleHREYXR1bUdldENTdHJpbmco ZGF0dW0pOworCX0KIAogCS8qIEdldCBzbG90bmFtZSAqLwogCWRhdHVtID0gU3lzQ2FjaGVHZXRB dHRyKFNVQlNDUklQVElPTk9JRCwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1 YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMu YwppbmRleCA3NWU2Y2Q4YWUzLi42MDI4N2M3M2U3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vi c2NyaXB0aW9uY21kcy5jCkBAIC0yNSwxNCArMjUsMTcgQEAKICNpbmNsdWRlICJjYXRhbG9nL29i amVjdGFkZHJlc3MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2F1dGhpZF9kLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19kYXRhYmFzZV9kLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19mb3JlaWdu X3NlcnZlci5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190 eXBlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ191c2VyX21hcHBpbmcuaCIKICNpbmNsdWRlICJj b21tYW5kcy9kYmNvbW1hbmRzLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGVmcmVtLmgiCiAjaW5j bHVkZSAiY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgorI2luY2x1ZGUg ImZvcmVpZ24vZm9yZWlnbi5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgIm5v ZGVzL21ha2VmdW5jcy5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgpAQCAtNTc0LDYgKzU3Nyw4IEBA IENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlv blN0bXQgKnN0bXQsCiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19zdWJzY3JpcHRpb25dOwogCU9p ZAkJCW93bmVyID0gR2V0VXNlcklkKCk7CiAJSGVhcFR1cGxlCXR1cDsKKwlPaWQJCQlzZXJ2ZXJp ZDsKKwlPaWQJCQl1bWlkOwogCWNoYXIJICAgKmNvbm5pbmZvOwogCWNoYXIJCW9yaWdpbm5hbWVb TkFNRURBVEFMRU5dOwogCUxpc3QJICAgKnB1YmxpY2F0aW9uczsKQEAgLTY2NiwxNSArNjcxLDQy IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlw dGlvblN0bXQgKnN0bXQsCiAJaWYgKG9wdHMuc3luY2hyb25vdXNfY29tbWl0ID09IE5VTEwpCiAJ CW9wdHMuc3luY2hyb25vdXNfY29tbWl0ID0gIm9mZiI7CiAKLQljb25uaW5mbyA9IHN0bXQtPmNv bm5pbmZvOwotCXB1YmxpY2F0aW9ucyA9IHN0bXQtPnB1YmxpY2F0aW9uOwotCiAJLyogTG9hZCB0 aGUgbGlicmFyeSBwcm92aWRpbmcgdXMgbGlicHEgY2FsbHMuICovCiAJbG9hZF9maWxlKCJsaWJw cXdhbHJlY2VpdmVyIiwgZmFsc2UpOwogCisJaWYgKHN0bXQtPnNlcnZlcm5hbWUpCisJeworCQlG b3JlaWduU2VydmVyCSpzZXJ2ZXI7CisJCVVzZXJNYXBwaW5nCQkqdW07CisKKwkJQXNzZXJ0KCFz dG10LT5jb25uaW5mbyk7CisJCWNvbm5pbmZvID0gTlVMTDsKKworCQlzZXJ2ZXIgPSBHZXRGb3Jl aWduU2VydmVyQnlOYW1lKHN0bXQtPnNlcnZlcm5hbWUsIGZhbHNlKTsKKwkJYWNscmVzdWx0ID0g b2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLCBzZXJ2ZXItPnNlcnZlcmlk LCBvd25lciwgQUNMX1VTQUdFKTsKKwkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJ CWFjbGNoZWNrX2Vycm9yKGFjbHJlc3VsdCwgT0JKRUNUX0ZPUkVJR05fU0VSVkVSLCBzZXJ2ZXIt PnNlcnZlcm5hbWUpOworCisJCXVtID0gR2V0VXNlck1hcHBpbmcob3duZXIsIHNlcnZlci0+c2Vy dmVyaWQpOworCisJCXNlcnZlcmlkID0gc2VydmVyLT5zZXJ2ZXJpZDsKKwkJdW1pZCA9IHVtLT51 bWlkOworCQljb25uaW5mbyA9IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKG93bmVyLCBz ZXJ2ZXJpZCwgdHJ1ZSk7CisJfQorCWVsc2UKKwl7CisJCUFzc2VydChzdG10LT5jb25uaW5mbyk7 CisKKwkJc2VydmVyaWQgPSBJbnZhbGlkT2lkOworCQl1bWlkID0gSW52YWxpZE9pZDsKKwkJY29u bmluZm8gPSBzdG10LT5jb25uaW5mbzsKKwl9CisKIAkvKiBDaGVjayB0aGUgY29ubmVjdGlvbiBp bmZvIHN0cmluZy4gKi8KIAl3YWxyY3ZfY2hlY2tfY29ubmluZm8oY29ubmluZm8sIG9wdHMucGFz c3dvcmRyZXF1aXJlZCAmJiAhc3VwZXJ1c2VyKCkpOwogCisJcHVibGljYXRpb25zID0gc3RtdC0+ cHVibGljYXRpb247CisKIAkvKiBFdmVyeXRoaW5nIG9rLCBmb3JtIGEgbmV3IHR1cGxlLiAqLwog CW1lbXNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1ZXMpKTsKIAltZW1zZXQobnVsbHMsIGZhbHNl LCBzaXplb2YobnVsbHMpKTsKQEAgLTY5Nyw4ICs3MjksMTIgQEAgQ3JlYXRlU3Vic2NyaXB0aW9u KFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAl2YWx1 ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZGlzYWJsZW9uZXJyIC0gMV0gPSBCb29sR2V0RGF0 dW0ob3B0cy5kaXNhYmxlb25lcnIpOwogCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJw YXNzd29yZHJlcXVpcmVkIC0gMV0gPSBCb29sR2V0RGF0dW0ob3B0cy5wYXNzd29yZHJlcXVpcmVk KTsKIAl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3VicnVuYXNvd25lciAtIDFdID0gQm9v bEdldERhdHVtKG9wdHMucnVuYXNvd25lcik7Ci0JdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9u X3N1YmNvbm5pbmZvIC0gMV0gPQotCQlDU3RyaW5nR2V0VGV4dERhdHVtKGNvbm5pbmZvKTsKKwl2 YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3Vic2VydmVyIC0gMV0gPSBzZXJ2ZXJpZDsKKwlp ZiAoIU9pZElzVmFsaWQoc2VydmVyaWQpKQorCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25f c3ViY29ubmluZm8gLSAxXSA9CisJCQlDU3RyaW5nR2V0VGV4dERhdHVtKGNvbm5pbmZvKTsKKwll bHNlCisJCW51bGxzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvIC0gMV0gPSB0cnVl OwogCWlmIChvcHRzLnNsb3RfbmFtZSkKIAkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1 YnNsb3RuYW1lIC0gMV0gPQogCQkJRGlyZWN0RnVuY3Rpb25DYWxsMShuYW1laW4sIENTdHJpbmdH ZXREYXR1bShvcHRzLnNsb3RfbmFtZSkpOwpAQCAtNzE5LDYgKzc1NSwyMCBAQCBDcmVhdGVTdWJz Y3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10 LAogCiAJcmVjb3JkRGVwZW5kZW5jeU9uT3duZXIoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3Vi aWQsIG93bmVyKTsKIAorCU9iamVjdEFkZHJlc3NTZXQobXlzZWxmLCBTdWJzY3JpcHRpb25SZWxh dGlvbklkLCBzdWJpZCk7CisKKwlpZiAoc3RtdC0+c2VydmVybmFtZSkKKwl7CisJCU9iamVjdEFk ZHJlc3MgcmVmZXJlbmNlZDsKKwkJQXNzZXJ0KE9pZElzVmFsaWQoc2VydmVyaWQpICYmIE9pZElz VmFsaWQodW1pZCkpOworCisJCU9iamVjdEFkZHJlc3NTZXQocmVmZXJlbmNlZCwgRm9yZWlnblNl cnZlclJlbGF0aW9uSWQsIHNlcnZlcmlkKTsKKwkJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYs ICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CisKKwkJT2JqZWN0QWRkcmVzc1NldChy ZWZlcmVuY2VkLCBVc2VyTWFwcGluZ1JlbGF0aW9uSWQsIHVtaWQpOworCQlyZWNvcmREZXBlbmRl bmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfTk9STUFMKTsKKwl9CisKIAlS ZXBsaWNhdGlvbk9yaWdpbk5hbWVGb3JMb2dpY2FsUmVwKHN1YmlkLCBJbnZhbGlkT2lkLCBvcmln aW5uYW1lLCBzaXplb2Yob3JpZ2lubmFtZSkpOwogCXJlcGxvcmlnaW5fY3JlYXRlKG9yaWdpbm5h bWUpOwogCkBAIC04MzUsOCArODg1LDYgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUg KnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAlpZiAob3B0cy5lbmFibGVk KQogCQlBcHBseUxhdW5jaGVyV2FrZXVwQXRDb21taXQoKTsKIAotCU9iamVjdEFkZHJlc3NTZXQo bXlzZWxmLCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCk7Ci0KIAlJbnZva2VPYmplY3RQ b3N0Q3JlYXRlSG9vayhTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCwgMCk7CiAKIAlyZXR1 cm4gbXlzZWxmOwpAQCAtMTEyNCw2ICsxMTcyLDggQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VT dGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJbWVtc2V0KG51bGxz LCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CiAJbWVtc2V0KHJlcGxhY2VzLCBmYWxzZSwgc2l6ZW9m KHJlcGxhY2VzKSk7CiAKKwlPYmplY3RBZGRyZXNzU2V0KG15c2VsZiwgU3Vic2NyaXB0aW9uUmVs YXRpb25JZCwgc3ViaWQpOworCiAJc3dpdGNoIChzdG10LT5raW5kKQogCXsKIAkJY2FzZSBBTFRF Ul9TVUJTQ1JJUFRJT05fT1BUSU9OUzoKQEAgLTEyNDQsNyArMTI5NCw4OSBAQCBBbHRlclN1YnNj cmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwK IAkJCQlicmVhazsKIAkJCX0KIAorCQljYXNlIEFMVEVSX1NVQlNDUklQVElPTl9TRVJWRVI6CisJ CQl7CisJCQkJRm9yZWlnblNlcnZlcgkqbmV3X3NlcnZlcjsKKwkJCQlVc2VyTWFwcGluZwkJKm5l d191bTsKKwkJCQlPYmplY3RBZGRyZXNzCSByZWZlcmVuY2VkOworCQkJCUFjbFJlc3VsdAkJIGFj bHJlc3VsdDsKKwkJCQljaGFyCQkJKmNvbm5pbmZvOworCisJCQkJLyoKKwkJCQkgKiBSZW1vdmUg d2hhdCB3YXMgdGhlcmUgYmVmb3JlLCBlaXRoZXIgYW5vdGhlciBmb3JlaWduIHNlcnZlcgorCQkJ CSAqIG9yIGEgY29ubmVjdGlvbiBzdHJpbmcuCisJCQkJICovCisJCQkJaWYgKGZvcm0tPnN1YnNl cnZlcikKKwkJCQl7CisJCQkJCVVzZXJNYXBwaW5nICpvbGRfdW0gPSBHZXRVc2VyTWFwcGluZyhm b3JtLT5zdWJvd25lciwgZm9ybS0+c3Vic2VydmVyKTsKKworCQkJCQlkZWxldGVEZXBlbmRlbmN5 UmVjb3Jkc0ZvclNwZWNpZmljKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIGZvcm0tPm9pZCwKKwkJ CQkJCQkJCQkJCQkgICBERVBFTkRFTkNZX05PUk1BTCwKKwkJCQkJCQkJCQkJCQkgICBGb3JlaWdu U2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVyKTsKKwkJCQkJZGVsZXRlRGVwZW5kZW5j eVJlY29yZHNGb3JTcGVjaWZpYyhTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBmb3JtLT5vaWQsCisJ CQkJCQkJCQkJCQkJICAgREVQRU5ERU5DWV9OT1JNQUwsCisJCQkJCQkJCQkJCQkJICAgVXNlck1h cHBpbmdSZWxhdGlvbklkLCBvbGRfdW0tPnVtaWQpOworCQkJCX0KKwkJCQllbHNlCisJCQkJewor CQkJCQludWxsc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25uaW5mbyAtIDFdID0gdHJ1ZTsK KwkJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8gLSAxXSA9IHRy dWU7CisJCQkJfQorCisJCQkJLyoKKwkJCQkgKiBGaW5kIHRoZSBuZXcgc2VydmVyIGFuZCB1c2Vy IG1hcHBpbmcuIENoZWNrIEFDTCBvZiBzZXJ2ZXIKKwkJCQkgKiBiYXNlZCBvbiBjdXJyZW50IHVz ZXIgSUQsIGJ1dCBmaW5kIHRoZSB1c2VyIG1hcHBpbmcgYmFzZWQKKwkJCQkgKiBvbiB0aGUgc3Vi c2NyaXB0aW9uIG93bmVyLgorCQkJCSAqLworCQkJCW5ld19zZXJ2ZXIgPSBHZXRGb3JlaWduU2Vy dmVyQnlOYW1lKHN0bXQtPnNlcnZlcm5hbWUsIGZhbHNlKTsKKwkJCQlhY2xyZXN1bHQgPSBvYmpl Y3RfYWNsY2hlY2soRm9yZWlnblNlcnZlclJlbGF0aW9uSWQsCisJCQkJCQkJCQkJCW5ld19zZXJ2 ZXItPnNlcnZlcmlkLAorCQkJCQkJCQkJCQlmb3JtLT5zdWJvd25lciwgQUNMX1VTQUdFKTsKKwkJ CQlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQkJCQlhY2xjaGVja19lcnJvcihhY2xy ZXN1bHQsIE9CSkVDVF9GT1JFSUdOX1NFUlZFUiwKKwkJCQkJCQkJICAgbmV3X3NlcnZlci0+c2Vy dmVybmFtZSk7CisKKwkJCQluZXdfdW0gPSBHZXRVc2VyTWFwcGluZyhmb3JtLT5zdWJvd25lciwg bmV3X3NlcnZlci0+c2VydmVyaWQpOworCisJCQkJY29ubmluZm8gPSBGb3JlaWduU2VydmVyQ29u bmVjdGlvblN0cmluZyhmb3JtLT5zdWJvd25lciwKKwkJCQkJCQkJCQkJCQkJIG5ld19zZXJ2ZXIt PnNlcnZlcmlkLAorCQkJCQkJCQkJCQkJCQkgdHJ1ZSk7CisKKwkJCQkvKiBMb2FkIHRoZSBsaWJy YXJ5IHByb3ZpZGluZyB1cyBsaWJwcSBjYWxscy4gKi8KKwkJCQlsb2FkX2ZpbGUoImxpYnBxd2Fs cmVjZWl2ZXIiLCBmYWxzZSk7CisJCQkJLyogQ2hlY2sgdGhlIGNvbm5lY3Rpb24gaW5mbyBzdHJp bmcuICovCisJCQkJd2FscmN2X2NoZWNrX2Nvbm5pbmZvKGNvbm5pbmZvLAorCQkJCQkJCQkJICBz dWItPnBhc3N3b3JkcmVxdWlyZWQgJiYgIXN1Yi0+b3duZXJzdXBlcnVzZXIpOworCisJCQkJdmFs dWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gbmV3X3NlcnZlci0+c2Vy dmVyaWQ7CisJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3Vic2VydmVyIC0gMV0g PSB0cnVlOworCisJCQkJT2JqZWN0QWRkcmVzc1NldChyZWZlcmVuY2VkLCBGb3JlaWduU2VydmVy UmVsYXRpb25JZCwgbmV3X3NlcnZlci0+c2VydmVyaWQpOworCQkJCXJlY29yZERlcGVuZGVuY3lP bigmbXlzZWxmLCAmcmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwpOworCisJCQkJT2JqZWN0 QWRkcmVzc1NldChyZWZlcmVuY2VkLCBVc2VyTWFwcGluZ1JlbGF0aW9uSWQsIG5ld191bS0+dW1p ZCk7CisJCQkJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRF TkNZX05PUk1BTCk7CisJCQkJdXBkYXRlX3R1cGxlID0gdHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOwor CiAJCWNhc2UgQUxURVJfU1VCU0NSSVBUSU9OX0NPTk5FQ1RJT046CisJCQkvKiByZW1vdmUgcmVm ZXJlbmNlIHRvIGZvcmVpZ24gc2VydmVyIGFuZCBkZXBlbmRlbmNpZXMsIGlmIHByZXNlbnQgKi8K KwkJCWlmIChmb3JtLT5zdWJzZXJ2ZXIpCisJCQl7CisJCQkJVXNlck1hcHBpbmcgKm9sZF91bSA9 IEdldFVzZXJNYXBwaW5nKGZvcm0tPnN1Ym93bmVyLCBmb3JtLT5zdWJzZXJ2ZXIpOworCisJCQkJ ZGVsZXRlRGVwZW5kZW5jeVJlY29yZHNGb3JTcGVjaWZpYyhTdWJzY3JpcHRpb25SZWxhdGlvbklk LCBmb3JtLT5vaWQsCisJCQkJCQkJCQkJCQkgICBERVBFTkRFTkNZX05PUk1BTCwKKwkJCQkJCQkJ CQkJCSAgIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLCBmb3JtLT5zdWJzZXJ2ZXIpOworCQkJCWRl bGV0ZURlcGVuZGVuY3lSZWNvcmRzRm9yU3BlY2lmaWMoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwg Zm9ybS0+b2lkLAorCQkJCQkJCQkJCQkJICAgREVQRU5ERU5DWV9OT1JNQUwsCisJCQkJCQkJCQkJ CQkgICBVc2VyTWFwcGluZ1JlbGF0aW9uSWQsIG9sZF91bS0+dW1pZCk7CisKKwkJCQl2YWx1ZXNb QW51bV9wZ19zdWJzY3JpcHRpb25fc3Vic2VydmVyIC0gMV0gPSBJbnZhbGlkT2lkOworCQkJCXJl cGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gdHJ1ZTsKKwkJCX0K KwogCQkJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRpbmcgdXMgbGlicHEgY2FsbHMuICovCiAJ CQlsb2FkX2ZpbGUoImxpYnBxd2FscmVjZWl2ZXIiLCBmYWxzZSk7CiAJCQkvKiBDaGVjayB0aGUg Y29ubmVjdGlvbiBpbmZvIHN0cmluZy4gKi8KQEAgLTE0NTUsOCArMTU4Nyw2IEBAIEFsdGVyU3Vi c2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10 LAogCiAJdGFibGVfY2xvc2UocmVsLCBSb3dFeGNsdXNpdmVMb2NrKTsKIAotCU9iamVjdEFkZHJl c3NTZXQobXlzZWxmLCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCk7Ci0KIAlJbnZva2VP YmplY3RQb3N0QWx0ZXJIb29rKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkLCAwKTsKIAog CS8qIFdha2UgdXAgcmVsYXRlZCByZXBsaWNhdGlvbiB3b3JrZXJzIHRvIGhhbmRsZSB0aGlzIGNo YW5nZSBxdWlja2x5LiAqLwpAQCAtMTU0MSw5ICsxNjcxLDI1IEBAIERyb3BTdWJzY3JpcHRpb24o RHJvcFN1YnNjcmlwdGlvblN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAlzdWJuYW1lID0g cHN0cmR1cChOYW1lU3RyKCpEYXR1bUdldE5hbWUoZGF0dW0pKSk7CiAKIAkvKiBHZXQgY29ubmlu Zm8gKi8KLQlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0ck5vdE51bGwoU1VCU0NSSVBUSU9OT0lELCB0 dXAsCi0JCQkJCQkJCSAgIEFudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvKTsKLQljb25u aW5mbyA9IFRleHREYXR1bUdldENTdHJpbmcoZGF0dW0pOworCWlmIChPaWRJc1ZhbGlkKGZvcm0t PnN1YnNlcnZlcikpCisJeworCQlBY2xSZXN1bHQgYWNscmVzdWx0OworCisJCWFjbHJlc3VsdCA9 IG9iamVjdF9hY2xjaGVjayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVy LAorCQkJCQkJCQkJZm9ybS0+c3Vib3duZXIsIEFDTF9VU0FHRSk7CisJCWlmIChhY2xyZXN1bHQg IT0gQUNMQ0hFQ0tfT0spCisJCQlhY2xjaGVja19lcnJvcihhY2xyZXN1bHQsIE9CSkVDVF9GT1JF SUdOX1NFUlZFUiwKKwkJCQkJCSAgIEZvcmVpZ25TZXJ2ZXJOYW1lKGZvcm0tPnN1YnNlcnZlcikp OworCisJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoZm9ybS0+c3Vi b3duZXIsCisJCQkJCQkJCQkJCQkgZm9ybS0+c3Vic2VydmVyLCB0cnVlKTsKKwl9CisJZWxzZQor CXsKKwkJZGF0dW0gPSBTeXNDYWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwgdHVw LAorCQkJCQkJCQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8pOworCQljb25u aW5mbyA9IFRleHREYXR1bUdldENTdHJpbmcoZGF0dW0pOworCX0KIAogCS8qIEdldCBzbG90bmFt ZSAqLwogCWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyKFNVQlNDUklQVElPTk9JRCwgdHVwLApAQCAt MTY0NCw2ICsxNzkwLDcgQEAgRHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAq c3RtdCwgYm9vbCBpc1RvcExldmVsKQogCX0KIAogCS8qIENsZWFuIHVwIGRlcGVuZGVuY2llcyAq LworCWRlbGV0ZURlcGVuZGVuY3lSZWNvcmRzRm9yKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1 YmlkLCBmYWxzZSk7CiAJZGVsZXRlU2hhcmVkRGVwZW5kZW5jeVJlY29yZHNGb3IoU3Vic2NyaXB0 aW9uUmVsYXRpb25JZCwgc3ViaWQsIDApOwogCiAJLyogUmVtb3ZlIGFueSBhc3NvY2lhdGVkIHJl bGF0aW9uIHN5bmNocm9uaXphdGlvbiBzdGF0ZXMuICovCkBAIC0xODUzLDYgKzIwMDAsMTcgQEAg QWx0ZXJTdWJzY3JpcHRpb25Pd25lcl9pbnRlcm5hbChSZWxhdGlvbiByZWwsIEhlYXBUdXBsZSB0 dXAsIE9pZCBuZXdPd25lcklkKQogCQlhY2xjaGVja19lcnJvcihhY2xyZXN1bHQsIE9CSkVDVF9E QVRBQkFTRSwKIAkJCQkJICAgZ2V0X2RhdGFiYXNlX25hbWUoTXlEYXRhYmFzZUlkKSk7CiAKKwlp ZiAoZm9ybS0+c3Vic2VydmVyKQorCXsKKwkJVXNlck1hcHBpbmcgKm9sZF91bSA9IEdldFVzZXJN YXBwaW5nKGZvcm0tPnN1Ym93bmVyLCBmb3JtLT5zdWJzZXJ2ZXIpOworCQlVc2VyTWFwcGluZyAq bmV3X3VtID0gR2V0VXNlck1hcHBpbmcobmV3T3duZXJJZCwgZm9ybS0+c3Vic2VydmVyKTsKKwor CQlpZiAoY2hhbmdlRGVwZW5kZW5jeUZvcihTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBmb3JtLT5v aWQsCisJCQkJCQkJCVVzZXJNYXBwaW5nUmVsYXRpb25JZCwgb2xkX3VtLT51bWlkLCBuZXdfdW0t PnVtaWQpICE9IDEpCisJCQllbG9nKEVSUk9SLCAiY291bGQgbm90IGNoYW5nZSB1c2VyIG1hcHBp bmcgZGVwZW5kZW5jeSBmb3Igc3Vic2NyaXB0aW9uICV1IiwKKwkJCQkgZm9ybS0+b2lkKTsKKwl9 CisKIAlmb3JtLT5zdWJvd25lciA9IG5ld093bmVySWQ7CiAJQ2F0YWxvZ1R1cGxlVXBkYXRlKHJl bCwgJnR1cC0+dF9zZWxmLCB0dXApOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9mb3JlaWdu L2ZvcmVpZ24uYyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCmluZGV4IGZkMWI2NDRk NzIuLmQ1ZDc4YzM0N2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5j CisrKyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0xODAsNiArMTgwLDMxIEBA IEdldEZvcmVpZ25TZXJ2ZXJFeHRlbmRlZChPaWQgc2VydmVyaWQsIGJpdHMxNiBmbGFncykKIH0K IAogCisvKgorICogRm9yZWlnblNlcnZlck5hbWUgLSBnZXQgbmFtZSBvZiBmb3JlaWduIHNlcnZl ci4KKyAqLworY2hhciAqCitGb3JlaWduU2VydmVyTmFtZShPaWQgc2VydmVyaWQpCit7CisJRm9y bV9wZ19mb3JlaWduX3NlcnZlciBzZXJ2ZXJmb3JtOworCWNoYXIgKnNlcnZlcm5hbWU7CisJSGVh cFR1cGxlCXRwOworCisJdHAgPSBTZWFyY2hTeXNDYWNoZTEoRk9SRUlHTlNFUlZFUk9JRCwgT2Jq ZWN0SWRHZXREYXR1bShzZXJ2ZXJpZCkpOworCisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHRwKSkK KwkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIGZvcmVpZ24gc2VydmVyICV1 Iiwgc2VydmVyaWQpOworCisJc2VydmVyZm9ybSA9IChGb3JtX3BnX2ZvcmVpZ25fc2VydmVyKSBH RVRTVFJVQ1QodHApOworCisJc2VydmVybmFtZSA9IHBzdHJkdXAoTmFtZVN0cihzZXJ2ZXJmb3Jt LT5zcnZuYW1lKSk7CisKKwlSZWxlYXNlU3lzQ2FjaGUodHApOworCisJcmV0dXJuIHNlcnZlcm5h bWU7Cit9CisKKwogLyoKICAqIEdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUgLSBsb29rIHVwIHRoZSBm b3JlaWduIHNlcnZlciBkZWZpbml0aW9uIGJ5IG5hbWUuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDZi ODgwOTZlOGUuLjBhMDI0YWI2MzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFt LnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTA2NDgsNiArMTA2NDgsMTYg QEAgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdDoKIAkJCQkJbi0+b3B0aW9ucyA9ICQ4OwogCQkJCQkk JCA9IChOb2RlICopIG47CiAJCQkJfQorCQkJfCBDUkVBVEUgU1VCU0NSSVBUSU9OIG5hbWUgU0VS VkVSIG5hbWUgUFVCTElDQVRJT04gbmFtZV9saXN0IG9wdF9kZWZpbml0aW9uCisJCQkJeworCQkJ CQlDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpuID0KKwkJCQkJCW1ha2VOb2RlKENyZWF0ZVN1YnNj cmlwdGlvblN0bXQpOworCQkJCQluLT5zdWJuYW1lID0gJDM7CisJCQkJCW4tPnNlcnZlcm5hbWUg PSAkNTsKKwkJCQkJbi0+cHVibGljYXRpb24gPSAkNzsKKwkJCQkJbi0+b3B0aW9ucyA9ICQ4Owor CQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgpAQCAtMTA2NzcsNiArMTA2ODcsMTYgQEAgQWx0ZXJTdWJzY3JpcHRpb25TdG10OgogCQkJCQlu LT5jb25uaW5mbyA9ICQ1OwogCQkJCQkkJCA9IChOb2RlICopIG47CiAJCQkJfQorCQkJfCBBTFRF UiBTVUJTQ1JJUFRJT04gbmFtZSBTRVJWRVIgbmFtZQorCQkJCXsKKwkJCQkJQWx0ZXJTdWJzY3Jp cHRpb25TdG10ICpuID0KKwkJCQkJCW1ha2VOb2RlKEFsdGVyU3Vic2NyaXB0aW9uU3RtdCk7CisK KwkJCQkJbi0+a2luZCA9IEFMVEVSX1NVQlNDUklQVElPTl9TRVJWRVI7CisJCQkJCW4tPnN1Ym5h bWUgPSAkMzsKKwkJCQkJbi0+c2VydmVybmFtZSA9ICQ1OworCQkJCQkkJCA9IChOb2RlICopIG47 CisJCQkJfQogCQkJfCBBTFRFUiBTVUJTQ1JJUFRJT04gbmFtZSBSRUZSRVNIIFBVQkxJQ0FUSU9O IG9wdF9kZWZpbml0aW9uCiAJCQkJewogCQkJCQlBbHRlclN1YnNjcmlwdGlvblN0bXQgKm4gPQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggOTExODM1YzVjYi4u NGNiOTRhMWVlOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93 b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBA IC00MDAzLDcgKzQwMDMsOSBAQCBtYXliZV9yZXJlYWRfc3Vic2NyaXB0aW9uKHZvaWQpCiB9CiAK IC8qCi0gKiBDYWxsYmFjayBmcm9tIHN1YnNjcmlwdGlvbiBzeXNjYWNoZSBpbnZhbGlkYXRpb24u CisgKiBDYWxsYmFjayBmcm9tIHN1YnNjcmlwdGlvbiBzeXNjYWNoZSBpbnZhbGlkYXRpb24uIEFs c28gbmVlZGVkIGZvciBzZXJ2ZXIgb3IKKyAqIHVzZXIgbWFwcGluZyBpbnZhbGlkYXRpb24sIHdo aWNoIGNhbiBjaGFuZ2UgdGhlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZm9yCisgKiBzdWJzY3Jp cHRpb25zIHRoYXQgY29ubmVjdCB1c2luZyBhIHNlcnZlciBvYmplY3QuCiAgKi8KIHN0YXRpYyB2 b2lkCiBzdWJzY3JpcHRpb25fY2hhbmdlX2NiKERhdHVtIGFyZywgaW50IGNhY2hlaWQsIHVpbnQz MiBoYXNodmFsdWUpCkBAIC00NjM5LDYgKzQ2NDEsMTQgQEAgSW5pdGlhbGl6ZUxvZ1JlcFdvcmtl cih2b2lkKQogCUNhY2hlUmVnaXN0ZXJTeXNjYWNoZUNhbGxiYWNrKFNVQlNDUklQVElPTk9JRCwK IAkJCQkJCQkJICBzdWJzY3JpcHRpb25fY2hhbmdlX2NiLAogCQkJCQkJCQkgIChEYXR1bSkgMCk7 CisJLyogS2VlcCB1cyBpbmZvcm1lZCBhYm91dCBzdWJzY3JpcHRpb24gY2hhbmdlcy4gKi8KKwlD YWNoZVJlZ2lzdGVyU3lzY2FjaGVDYWxsYmFjayhGT1JFSUdOU0VSVkVST0lELAorCQkJCQkJCQkg IHN1YnNjcmlwdGlvbl9jaGFuZ2VfY2IsCisJCQkJCQkJCSAgKERhdHVtKSAwKTsKKwkvKiBLZWVw IHVzIGluZm9ybWVkIGFib3V0IHN1YnNjcmlwdGlvbiBjaGFuZ2VzLiAqLworCUNhY2hlUmVnaXN0 ZXJTeXNjYWNoZUNhbGxiYWNrKFVTRVJNQVBQSU5HT0lELAorCQkJCQkJCQkgIHN1YnNjcmlwdGlv bl9jaGFuZ2VfY2IsCisJCQkJCQkJCSAgKERhdHVtKSAwKTsKIAogCUNhY2hlUmVnaXN0ZXJTeXNj YWNoZUNhbGxiYWNrKEFVVEhPSUQsCiAJCQkJCQkJCSAgc3Vic2NyaXB0aW9uX2NoYW5nZV9jYiwK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcC5jCmluZGV4IDdiOWM3OTAwNWUuLjY0NTY0MTZhZDMgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAt NDY1NSw2ICs0NjU1LDcgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCWludAkJ CWlfc3ViZGlzYWJsZW9uZXJyOwogCWludAkJCWlfc3VicGFzc3dvcmRyZXF1aXJlZDsKIAlpbnQJ CQlpX3N1YnJ1bmFzb3duZXI7CisJaW50CQkJaV9zdWJzZXJ2ZXJuYW1lOwogCWludAkJCWlfc3Vi Y29ubmluZm87CiAJaW50CQkJaV9zdWJzbG90bmFtZTsKIAlpbnQJCQlpX3N1YnN5bmNjb21taXQ7 CkBAIC00NzI2LDEwICs0NzI3LDEyIEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkK IAkJCQkJCSAgTE9HSUNBTFJFUF9PUklHSU5fQU5ZKTsKIAogCWlmIChkb3B0LT5iaW5hcnlfdXBn cmFkZSAmJiBmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE3MDAwMCkKLQkJYXBwZW5kUFFFeHBCdWZm ZXJTdHIocXVlcnksICIgby5yZW1vdGVfbHNuIEFTIHN1Ym9yaWdpbnJlbW90ZWxzbixcbiIKKwkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgZnMuc3J2bmFtZSBBUyBzdWJzZXJ2ZXJuYW1l LFxuIgorCQkJCQkJCSAiIG8ucmVtb3RlX2xzbiBBUyBzdWJvcmlnaW5yZW1vdGVsc24sXG4iCiAJ CQkJCQkJICIgcy5zdWJlbmFibGVkXG4iKTsKIAllbHNlCi0JCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LCAiIE5VTEwgQVMgc3Vib3JpZ2lucmVtb3RlbHNuLFxuIgorCQlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwgIiBOVUxMIEFTIHN1YnNlcnZlcm5hbWUsXG4iCisJCQkJCQkJICIgTlVM TCBBUyBzdWJvcmlnaW5yZW1vdGVsc24sXG4iCiAJCQkJCQkJICIgZmFsc2UgQVMgc3ViZW5hYmxl ZFxuIik7CiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKQEAgLTQ3MzcsNiArNDc0MCw4 IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAogCWlmIChkb3B0LT5iaW5hcnlf dXBncmFkZSAmJiBmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE3MDAwMCkKIAkJYXBwZW5kUFFFeHBC dWZmZXJTdHIocXVlcnksCisJCQkJCQkJICJMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19mb3JlaWdu X3NlcnZlciBmcyBcbiIKKwkJCQkJCQkgIiAgICBPTiBmcy5vaWQgPSBzLnN1YnNlcnZlciBcbiIK IAkJCQkJCQkgIkxFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX3JlcGxpY2F0aW9uX29yaWdpbl9zdGF0 dXMgbyBcbiIKIAkJCQkJCQkgIiAgICBPTiBvLmV4dGVybmFsX2lkID0gJ3BnXycgfHwgcy5vaWQ6 OnRleHQgXG4iKTsKIApAQCAtNDc2Miw2ICs0NzY3LDcgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNo aXZlICpmb3V0KQogCWlfc3ViZGlzYWJsZW9uZXJyID0gUFFmbnVtYmVyKHJlcywgInN1YmRpc2Fi bGVvbmVyciIpOwogCWlfc3VicGFzc3dvcmRyZXF1aXJlZCA9IFBRZm51bWJlcihyZXMsICJzdWJw YXNzd29yZHJlcXVpcmVkIik7CiAJaV9zdWJydW5hc293bmVyID0gUFFmbnVtYmVyKHJlcywgInN1 YnJ1bmFzb3duZXIiKTsKKwlpX3N1YnNlcnZlcm5hbWUgPSBQUWZudW1iZXIocmVzLCAic3Vic2Vy dmVybmFtZSIpOwogCWlfc3ViY29ubmluZm8gPSBQUWZudW1iZXIocmVzLCAic3ViY29ubmluZm8i KTsKIAlpX3N1YnNsb3RuYW1lID0gUFFmbnVtYmVyKHJlcywgInN1YnNsb3RuYW1lIik7CiAJaV9z dWJzeW5jY29tbWl0ID0gUFFmbnVtYmVyKHJlcywgInN1YnN5bmNjb21taXQiKTsKQEAgLTQ3ODEs NyArNDc4NywxMCBAQCBnZXRTdWJzY3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCUFzc2lnbkR1 bXBJZCgmc3ViaW5mb1tpXS5kb2JqKTsKIAkJc3ViaW5mb1tpXS5kb2JqLm5hbWUgPSBwZ19zdHJk dXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3VibmFtZSkpOwogCQlzdWJpbmZvW2ldLnJvbG5hbWUg PSBnZXRSb2xlTmFtZShQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJvd25lcikpOwotCisJCWlmIChQ UWdldGlzbnVsbChyZXMsIGksIGlfc3Vic2VydmVybmFtZSkpCisJCQlzdWJpbmZvW2ldLnN1YnNl cnZlcm5hbWUgPSBOVUxMOworCQllbHNlCisJCQlzdWJpbmZvW2ldLnN1YnNlcnZlcm5hbWUgPSBw Z19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3Vic2VydmVybmFtZSkpOwogCQlzdWJpbmZv W2ldLnN1YmJpbmFyeSA9CiAJCQlwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3ViYmlu YXJ5KSk7CiAJCXN1YmluZm9baV0uc3Vic3RyZWFtID0KQEAgLTUwMDcsOSArNTAxNiwxNyBAQCBk dW1wU3Vic2NyaXB0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFN1YnNjcmlwdGlvbkluZm8gKnN1 YmluZm8pCiAJYXBwZW5kUFFFeHBCdWZmZXIoZGVscSwgIkRST1AgU1VCU0NSSVBUSU9OICVzO1xu IiwKIAkJCQkJICBxc3VibmFtZSk7CiAKLQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIkNSRUFU RSBTVUJTQ1JJUFRJT04gJXMgQ09OTkVDVElPTiAiLAorCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5 LCAiQ1JFQVRFIFNVQlNDUklQVElPTiAlcyAiLAogCQkJCQkgIHFzdWJuYW1lKTsKLQlhcHBlbmRT dHJpbmdMaXRlcmFsQUgocXVlcnksIHN1YmluZm8tPnN1YmNvbm5pbmZvLCBmb3V0KTsKKwlpZiAo c3ViaW5mby0+c3Vic2VydmVybmFtZSkKKwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LCAi U0VSVkVSICVzIiwgZm10SWQoc3ViaW5mby0+c3Vic2VydmVybmFtZSkpOworCX0KKwllbHNlCisJ eworCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIkNPTk5FQ1RJT04gIik7CisJCWFwcGVuZFN0 cmluZ0xpdGVyYWxBSChxdWVyeSwgc3ViaW5mby0+c3ViY29ubmluZm8sIGZvdXQpOworCX0KIAog CS8qIEJ1aWxkIGxpc3Qgb2YgcXVvdGVkIHB1YmxpY2F0aW9ucyBhbmQgYXBwZW5kIHRoZW0gdG8g cXVlcnkuICovCiAJaWYgKCFwYXJzZVBHQXJyYXkoc3ViaW5mby0+c3VicHVibGljYXRpb25zLCAm cHVibmFtZXMsICZucHVibmFtZXMpKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaCBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggOWEzNDM0N2NmYy4uZDNhYWEy Njg2MSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5oCkBAIC02NjksNiArNjY5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1N1 YnNjcmlwdGlvbkluZm8KIAljaGFyCSAgICpzdWJkaXNhYmxlb25lcnI7CiAJY2hhcgkgICAqc3Vi cGFzc3dvcmRyZXF1aXJlZDsKIAljaGFyCSAgICpzdWJydW5hc293bmVyOworCWNoYXIJICAgKnN1 YnNlcnZlcm5hbWU7CiAJY2hhcgkgICAqc3ViY29ubmluZm87CiAJY2hhcgkgICAqc3Vic2xvdG5h bWU7CiAJY2hhcgkgICAqc3Vic3luY2NvbW1pdDsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYwppbmRleCAwOTkxNDE2 NWU0Li45OTVmNGY3ZjIyIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMK KysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCkBAIC0zMzIyLDcgKzMzMjIsNyBAQCBw c3FsX2NvbXBsZXRpb24oY29uc3QgY2hhciAqdGV4dCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogCiAv KiBDUkVBVEUgU1VCU0NSSVBUSU9OICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlNV QlNDUklQVElPTiIsIE1hdGNoQW55KSkKLQkJQ09NUExFVEVfV0lUSCgiQ09OTkVDVElPTiIpOwor CQlDT01QTEVURV9XSVRIKCJTRVJWRVIiLCAiQ09OTkVDVElPTiIpOwogCWVsc2UgaWYgKE1hdGNo ZXMoIkNSRUFURSIsICJTVUJTQ1JJUFRJT04iLCBNYXRjaEFueSwgIkNPTk5FQ1RJT04iLCBNYXRj aEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIlBVQkxJQ0FUSU9OIik7CiAJZWxzZSBpZiAoTWF0Y2hl cygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIsIE1hdGNoQW55LCAiQ09OTkVDVElPTiIsCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAppbmRleCBjYTMyNjI1NTg1Li43NGU5MDRiMTFk IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKQEAgLTkzLDkgKzkzLDExIEBA IENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vic2NyaXB0aW9uUmVsYXRpb25JZCkgQktJ X1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAJYm9vbAkJc3VicnVuYXNvd25lcjsJLyogVHJ1ZSBp ZiByZXBsaWNhdGlvbiBzaG91bGQgZXhlY3V0ZSBhcyB0aGUKIAkJCQkJCQkJICogc3Vic2NyaXB0 aW9uIG93bmVyICovCiAKKwlPaWQJCQlzdWJzZXJ2ZXI7CQkvKiBTZXQgaWYgY29ubmVjdGluZyB3 aXRoIHNlcnZlciAqLworCiAjaWZkZWYgQ0FUQUxPR19WQVJMRU4JCQkvKiB2YXJpYWJsZS1sZW5n dGggZmllbGRzIHN0YXJ0IGhlcmUgKi8KIAkvKiBDb25uZWN0aW9uIHN0cmluZyB0byB0aGUgcHVi bGlzaGVyICovCi0JdGV4dAkJc3ViY29ubmluZm8gQktJX0ZPUkNFX05PVF9OVUxMOworCXRleHQJ CXN1YmNvbm5pbmZvOwkvKiBTZXQgaWYgY29ubmVjdGluZyB3aXRoIGNvbm5lY3Rpb24gc3RyaW5n ICovCiAKIAkvKiBTbG90IG5hbWUgb24gcHVibGlzaGVyICovCiAJTmFtZURhdGEJc3Vic2xvdG5h bWUgQktJX0ZPUkNFX05VTEw7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVp Z24uaCBiL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCmluZGV4IGI1YjliOTdmNGQuLmEy ZjA0Y2U5YWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBi L3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCkBAIC02NSw2ICs2NSw3IEBAIHR5cGVkZWYg c3RydWN0IEZvcmVpZ25UYWJsZQogCiAKIGV4dGVybiBGb3JlaWduU2VydmVyICpHZXRGb3JlaWdu U2VydmVyKE9pZCBzZXJ2ZXJpZCk7CitleHRlcm4gY2hhciAqRm9yZWlnblNlcnZlck5hbWUoT2lk IHNlcnZlcmlkKTsKIGV4dGVybiBGb3JlaWduU2VydmVyICpHZXRGb3JlaWduU2VydmVyRXh0ZW5k ZWQoT2lkIHNlcnZlcmlkLAogCQkJCQkJCQkJCQkgICBiaXRzMTYgZmxhZ3MpOwogZXh0ZXJuIEZv cmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUoY29uc3QgY2hhciAqc3J2bmFtZSwK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBiMzE4MWYzNGFlLi42ZDZiMjQyY2VjIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oCkBAIC00MDQxLDYgKzQwNDEsNyBAQCB0eXBlZGVmIHN0cnVjdCBDcmVh dGVTdWJzY3JpcHRpb25TdG10CiB7CiAJTm9kZVRhZwkJdHlwZTsKIAljaGFyCSAgICpzdWJuYW1l OwkJLyogTmFtZSBvZiB0aGUgc3Vic2NyaXB0aW9uICovCisJY2hhcgkgICAqc2VydmVybmFtZTsJ CS8qIFNlcnZlciBuYW1lIG9mIHB1Ymxpc2hlciAqLwogCWNoYXIJICAgKmNvbm5pbmZvOwkJLyog Q29ubmVjdGlvbiBzdHJpbmcgdG8gcHVibGlzaGVyICovCiAJTGlzdAkgICAqcHVibGljYXRpb247 CS8qIE9uZSBvciBtb3JlIHB1YmxpY2F0aW9uIHRvIHN1YnNjcmliZSB0byAqLwogCUxpc3QJICAg Km9wdGlvbnM7CQkvKiBMaXN0IG9mIERlZkVsZW0gbm9kZXMgKi8KQEAgLTQwNDksNiArNDA1MCw3 IEBAIHR5cGVkZWYgc3RydWN0IENyZWF0ZVN1YnNjcmlwdGlvblN0bXQKIHR5cGVkZWYgZW51bSBB bHRlclN1YnNjcmlwdGlvblR5cGUKIHsKIAlBTFRFUl9TVUJTQ1JJUFRJT05fT1BUSU9OUywKKwlB TFRFUl9TVUJTQ1JJUFRJT05fU0VSVkVSLAogCUFMVEVSX1NVQlNDUklQVElPTl9DT05ORUNUSU9O LAogCUFMVEVSX1NVQlNDUklQVElPTl9TRVRfUFVCTElDQVRJT04sCiAJQUxURVJfU1VCU0NSSVBU SU9OX0FERF9QVUJMSUNBVElPTiwKQEAgLTQwNjMsNiArNDA2NSw3IEBAIHR5cGVkZWYgc3RydWN0 IEFsdGVyU3Vic2NyaXB0aW9uU3RtdAogCU5vZGVUYWcJCXR5cGU7CiAJQWx0ZXJTdWJzY3JpcHRp b25UeXBlIGtpbmQ7IC8qIEFMVEVSX1NVQlNDUklQVElPTl9PUFRJT05TLCBldGMgKi8KIAljaGFy CSAgICpzdWJuYW1lOwkJLyogTmFtZSBvZiB0aGUgc3Vic2NyaXB0aW9uICovCisJY2hhcgkgICAq c2VydmVybmFtZTsJCS8qIFNlcnZlciBuYW1lIG9mIHB1Ymxpc2hlciAqLwogCWNoYXIJICAgKmNv bm5pbmZvOwkJLyogQ29ubmVjdGlvbiBzdHJpbmcgdG8gcHVibGlzaGVyICovCiAJTGlzdAkgICAq cHVibGljYXRpb247CS8qIE9uZSBvciBtb3JlIHB1YmxpY2F0aW9uIHRvIHN1YnNjcmliZSB0byAq LwogCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBMaXN0IG9mIERlZkVsZW0gbm9kZXMgKi8KZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dAppbmRleCBkNTFlODNmZjkyLi42 Njg1YzEzNGM2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ZvcmVpZ25f ZGF0YS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2RhdGEub3V0 CkBAIC00MzIsNiArNDMyLDIwIEBAIFNFTEVDVCBwZ19jb25uaW5mb19mcm9tX3NlcnZlcignY29u bmVjdGlvbl9zZXJ2ZXInLCAncmVncmVzc190ZXN0X3JvbGUyJywgZmFsc2UpCiBEUk9QIFVTRVIg TUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOwog RFJPUCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CiBE Uk9QIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZlcjsKK1NFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xl OworQ1JFQVRFIFNFUlZFUiB0MyBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2Zk dzsgICAtLSBFUlJPUjogbm8gcGVybWlzc2lvbnMgb24gRkRXCitFUlJPUjogIHBlcm1pc3Npb24g ZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBwZ19jb25uZWN0aW9uX2ZkdworUkVTRVQg Uk9MRTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25f ZmR3IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOworU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7CitD UkVBVEUgU0VSVkVSIHQzIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3Owor SU1QT1JUIEZPUkVJR04gU0NIRU1BIGZvbyBGUk9NIFNFUlZFUiB0MyBJTlRPIGJhcjsgLS0gZmFp bHMKK0VSUk9SOiAgc2NoZW1hICJiYXIiIGRvZXMgbm90IGV4aXN0CitDUkVBVEUgVVNFUiBNQVBQ SU5HIEZPUiBQVUJMSUMgU0VSVkVSIHQzIE9QVElPTlMgKHVzZXIgJ3gnLCBwYXNzd29yZCAnc2Vj cmV0Jyk7CitEUk9QIFVTRVIgTUFQUElORyBGT1IgUFVCTElDIFNFUlZFUiB0MzsKK0RST1AgU0VS VkVSIHQzOworUkVTRVQgUk9MRTsKK1JFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBwZ19jb25uZWN0aW9uX2ZkdyBGUk9NIHJlZ3Jlc3NfdGVzdF9yb2xlOwogLS0gQUxURVIgU0VS VkVSCiBBTFRFUiBTRVJWRVIgczA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVhciAiOyIKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAppbmRleCBiMTVlZGRiZmYz Li43Yjg2NmE2ZmU2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNj cmlwdGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24u b3V0CkBAIC0xNDQsNiArMTQ0LDQ2IEBAIEVSUk9SOiAgY291bGQgbm90IGNvbm5lY3QgdG8gdGhl IHB1Ymxpc2hlcjogaW52YWxpZCBwb3J0IG51bWJlcjogIi0xIgogQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdmb29iYXInOwogRVJST1I6ICBpbnZhbGlkIGNv bm5lY3Rpb24gc3RyaW5nIHN5bnRheDogbWlzc2luZyAiPSIgYWZ0ZXIgImZvb2JhciIgaW4gY29u bmVjdGlvbiBpbmZvIHN0cmluZwogCitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitHUkFO VCBDUkVBVEUgT04gREFUQUJBU0UgUkVHUkVTU0lPTiBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNl cjM7CitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgQ09OTkVDVElPTiAnZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHBhc3N3b3JkPXJlZ3Jlc3NfZmFrZXBhc3N3b3JkJyBQ VUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKHNsb3RfbmFtZSA9IE5PTkUsIGNvbm5lY3QgPSBmYWxz ZSk7CitXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5l Y3RlZAorSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBj cmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQg cmVmcmVzaCB0aGUgc3Vic2NyaXB0aW9uLgorRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViNjsKKy0tIHRlc3QgdXNpbmcgYSBzZXJ2ZXIgb2JqZWN0IGluc3RlYWQgb2YgY29ubmVjdGlv biBzdHJpbmcKK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKK0NSRUFURSBTRVJWRVIgcmVn cmVzc190ZXN0c2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3Owor Q1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjMgU0VSVkVS IHJlZ3Jlc3NfdGVzdHNlcnZlcgorICBPUFRJT05TIChwYXNzd29yZCAnc2VjcmV0Jyk7CitHUkFO VCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIgVE8gcmVncmVzc19z dWJzY3JpcHRpb25fdXNlcjM7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIzOworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IFNF UlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIgUFVCTElDQVRJT04gdGVzdHB1YgorICBXSVRIIChzbG90 X25hbWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOworV0FSTklORzogIHN1YnNjcmlwdGlvbiB3 YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKK0hJTlQ6ICBUbyBpbml0aWF0ZSByZXBs aWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBl bmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIHJlZnJlc2ggdGhlIHN1YnNjcmlwdGlvbi4KK1JF U0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKKy0tIHRlc3QgYW4gRkRXIHdpdGggbm8gdmFsaWRh dG9yCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mZHc7CitDUkVBVEUgU0VS VkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mZHcK KyAgT1BUSU9OUyAoYWJjICd4eXonKTsKK0NSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIyCisgIE9QVElPTlMg KHBhc3N3b3JkICdzZWNyZXQnKTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHJlZ3Jl c3NfdGVzdHNlcnZlcjIgVE8gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CitTRVQgU0VTU0lP TiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworQUxURVIgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjI7CitBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVy OworUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIyOworRFJP UCBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMjsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIg cmVncmVzc19mZHc7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBPV05FUiBU TyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOyAtLSBmYWlsLCBubyB1c2VyIG1hcHBpbmcKK0VS Uk9SOiAgdXNlciBtYXBwaW5nIG5vdCBmb3VuZCBmb3IgdXNlciAicmVncmVzc19zdWJzY3JpcHRp b25fdXNlciIsIHNlcnZlciAicmVncmVzc190ZXN0c2VydmVyIgorRFJPUCBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViNjsKK0RST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyOworRFJPUCBTRVJWRVIgcmVncmVz c190ZXN0c2VydmVyOworUkVWT0tFIENSRUFURSBPTiBEQVRBQkFTRSByZWdyZXNzaW9uIEZST00g cmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7CiBcZFJzKwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKICAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9mb3JlaWduX2RhdGEuc3FsCmluZGV4IDQzNDYxZGU3ZjkuLjMzN2Fj YWZjMmQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9kYXRhLnNxbApAQCAtMjEyLDYgKzIx MiwyMyBAQCBEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNv bm5lY3Rpb25fc2VydmVyOwogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgY29u bmVjdGlvbl9zZXJ2ZXI7CiBEUk9QIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZlcjsKIAorU0VUIFJP TEUgcmVncmVzc190ZXN0X3JvbGU7CitDUkVBVEUgU0VSVkVSIHQzIEZPUkVJR04gREFUQSBXUkFQ UEVSIHBnX2Nvbm5lY3Rpb25fZmR3OyAgIC0tIEVSUk9SOiBubyBwZXJtaXNzaW9ucyBvbiBGRFcK K1JFU0VUIFJPTEU7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25u ZWN0aW9uX2ZkdyBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsKK1NFVCBST0xFIHJlZ3Jlc3NfdGVzdF9y b2xlOworCitDUkVBVEUgU0VSVkVSIHQzIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rp b25fZmR3OworCitJTVBPUlQgRk9SRUlHTiBTQ0hFTUEgZm9vIEZST00gU0VSVkVSIHQzIElOVE8g YmFyOyAtLSBmYWlscworCitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBQVUJMSUMgU0VSVkVSIHQz IE9QVElPTlMgKHVzZXIgJ3gnLCBwYXNzd29yZCAnc2VjcmV0Jyk7CitEUk9QIFVTRVIgTUFQUElO RyBGT1IgUFVCTElDIFNFUlZFUiB0MzsKK0RST1AgU0VSVkVSIHQzOworCitSRVNFVCBST0xFOwor UkVWT0tFIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3IEZS T00gcmVncmVzc190ZXN0X3JvbGU7CisKIC0tIEFMVEVSIFNFUlZFUgogQUxURVIgU0VSVkVSIHMw OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEFM VEVSIFNFUlZFUiBzMCBPUFRJT05TIChhICcxJyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0tIEVSUk9SCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24u c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbAppbmRleCA0NDRlNTYz ZmYzLi45NWM4MjYwMzBiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3Jp cHRpb24uc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKQEAg LTg4LDYgKzg4LDUxIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNSBDT05O RUNUSU9OICdwb3J0PS0xJyBQVUJMSUNBVElPTiB0ZXN0cHViOwogLS0gZmFpbCAtIGludmFsaWQg Y29ubmVjdGlvbiBzdHJpbmcgZHVyaW5nIEFMVEVSCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIENPTk5FQ1RJT04gJ2Zvb2Jhcic7CiAKK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTjsKK0dSQU5UIENSRUFURSBPTiBEQVRBQkFTRSBSRUdSRVNTSU9OIFRPIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyMzsKKworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCBwYXNzd29yZD1yZWdyZXNzX2Zh a2VwYXNzd29yZCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChzbG90X25hbWUgPSBOT05FLCBj b25uZWN0ID0gZmFsc2UpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNjsKKwor LS0gdGVzdCB1c2luZyBhIHNlcnZlciBvYmplY3QgaW5zdGVhZCBvZiBjb25uZWN0aW9uIHN0cmlu ZworCitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitDUkVBVEUgU0VSVkVSIHJlZ3Jlc3Nf dGVzdHNlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdzsKK0NSRUFU RSBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiByZWdy ZXNzX3Rlc3RzZXJ2ZXIKKyAgT1BUSU9OUyAocGFzc3dvcmQgJ3NlY3JldCcpOworR1JBTlQgVVNB R0UgT04gRk9SRUlHTiBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyIFRPIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIzOworCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIzOworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IFNFUlZF UiByZWdyZXNzX3Rlc3RzZXJ2ZXIgUFVCTElDQVRJT04gdGVzdHB1YgorICBXSVRIIChzbG90X25h bWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOworUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9O OworCistLSB0ZXN0IGFuIEZEVyB3aXRoIG5vIHZhbGlkYXRvcgorQ1JFQVRFIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZmR3OworQ1JFQVRFIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIy IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZmR3CisgIE9QVElPTlMgKGFiYyAneHl6Jyk7 CitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMyBTRVJW RVIgcmVncmVzc190ZXN0c2VydmVyMgorICBPUFRJT05TIChwYXNzd29yZCAnc2VjcmV0Jyk7CitH UkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIyIFRPIHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YjYgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjI7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViNiBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyOworCitSRVNFVCBTRVNTSU9OIEFV VEhPUklaQVRJT047CitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlcjMgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjI7CitEUk9QIFNFUlZFUiByZWdyZXNzX3Rl c3RzZXJ2ZXIyOworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZkdzsKKworQUxU RVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgT1dORVIgVE8gcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlcjsgLS0gZmFpbCwgbm8gdXNlciBtYXBwaW5nCitEUk9QIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWI2OworCitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlcjMgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjsKK0RST1AgU0VSVkVSIHJlZ3Jl c3NfdGVzdHNlcnZlcjsKK1JFVk9LRSBDUkVBVEUgT04gREFUQUJBU0UgcmVncmVzc2lvbiBGUk9N IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOworCiBcZFJzKwogCiBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNFVCBQVUJMSUNBVElPTiB0ZXN0cHViMiwgdGVzdHB1YjMgV0lUSCAo cmVmcmVzaCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAw MV9yZXBfY2hhbmdlcy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwMV9yZXBfY2hhbmdl cy5wbAppbmRleCA5Y2NlYmQ4OTBhLi40Y2JmMmRjZWFhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMDFfcmVwX2NoYW5nZXMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0 aW9uL3QvMDAxX3JlcF9jaGFuZ2VzLnBsCkBAIC0yNyw2ICsyNyw4IEBAICRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWJfbm90cmVwIEFTIFNF TEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwxMCkgQVMgYSIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFRBQkxFIHRhYl9pbnMgQVMgU0VMRUNUIGdlbmVy YXRlX3NlcmllcygxLDEwMDIpIEFTIGEiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCisJIkNSRUFURSBUQUJMRSB0YWJfaW5zMiBBUyBTRUxFQ1QgZ2VuZXJhdGVfc2Vy aWVzKDEsMTAwMikgQVMgYSIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKIAkiQ1JFQVRFIFRBQkxFIHRhYl9mdWxsIEFTIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwx MCkgQVMgYSIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFU RSBUQUJMRSB0YWJfZnVsbDIgKHggdGV4dCkiKTsKQEAgLTY1LDYgKzY3LDcgQEAgJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKICMgU2V0dXAgc3RydWN0dXJlIG9uIHN1YnNj cmliZXIKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRB QkxFIHRhYl9ub3RyZXAgKGEgaW50KSIpOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiX2lucyAoYSBpbnQpIik7Ciskbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0YWJfaW5zMiAoYSBpbnQp Iik7CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJM RSB0YWJfZnVsbCAoYSBpbnQpIik7CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIkNSRUFURSBUQUJMRSB0YWJfZnVsbDIgKHggdGV4dCkiKTsKICRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLApAQCAtMTEwLDYgKzExMywyMiBAQCAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFNVQlNDUklQVElPTiB0YXBf c3ViIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0cicgUFVCTElDQVRJT04gdGFwX3B1Yiwg dGFwX3B1Yl9pbnNfb25seSIKICk7CiAKK215ICRwdWJsaXNoZXJfaG9zdCA9ICRub2RlX3B1Ymxp c2hlci0+aG9zdDsKK215ICRwdWJsaXNoZXJfcG9ydCA9ICRub2RlX3B1Ymxpc2hlci0+cG9ydDsK KyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgU0VSVkVS IHRhcF9zdWIyX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdyBP UFRJT05TIChob3N0ICckcHVibGlzaGVyX2hvc3QnLCBwb3J0ICckcHVibGlzaGVyX3BvcnQnLCBk Ym5hbWUgJ3Bvc3RncmVzJykiCispOworCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgUFVCTElDIFNFUlZFUiB0YXBfc3Vi Ml9zZXJ2ZXIiCispOworCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAi Q1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9zaW1wbGVfcHViIEZPUiBUQUJMRSB0YWJfaW5zMiIpOwor Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNVQlND UklQVElPTiB0YXBfc3ViMiBTRVJWRVIgdGFwX3N1YjJfc2VydmVyIFBVQkxJQ0FUSU9OIHRhcF9z aW1wbGVfcHViIFdJVEggKHBhc3N3b3JkX3JlcXVpcmVkPWZhbHNlKSIKKyk7CisKICMgV2FpdCBm b3IgaW5pdGlhbCB0YWJsZSBzeW5jIHRvIGZpbmlzaAogJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9m b3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAndGFwX3N1YicpOwogCkBAIC0x MjEsMTEgKzE0MCwyMiBAQCAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWJfaW5zIik7CiBpcygkcmVzdWx0 LCBxcSgxMDAyKSwgJ2NoZWNrIGluaXRpYWwgZGF0YSB3YXMgY29waWVkIHRvIHN1YnNjcmliZXIn KTsKIAorJHJlc3VsdCA9CisgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiU0VMRUNUIGNvdW50KCopIEZST00gdGFiX2luczIiKTsKK2lzKCRyZXN1bHQsIHFxKDEwMDIp LCAnY2hlY2sgaW5pdGlhbCBkYXRhIHdhcyBjb3BpZWQgdG8gc3Vic2NyaWJlcicpOworCiskbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIFNVQlNDUklQVElPTiB0 YXBfc3ViMiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHInIik7CisKICRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIklOU0VSVCBJTlRPIHRhYl9pbnMgU0VMRUNU IGdlbmVyYXRlX3NlcmllcygxLDUwKSIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIkRFTEVURSBGUk9NIHRhYl9pbnMgV0hFUkUgYSA+IDIwIik7CiAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiVVBEQVRFIHRhYl9pbnMgU0VUIGEgPSAtYSIp OwogCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJJTlNFUlQgSU5U TyB0YWJfaW5zMiBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsNTApIik7CisKKyRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQUxURVIgU1VCU0NSSVBUSU9OIHRhcF9zdWIy IFNFUlZFUiB0YXBfc3ViMl9zZXJ2ZXIiKTsKKwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKIAkiSU5TRVJUIElOVE8gdGFiX3JlcCBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVz KDEsNTApIik7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiREVMRVRF IEZST00gdGFiX3JlcCBXSEVSRSBhID4gMjAiKTsKQEAgLTE1OCw2ICsxODgsMTAgQEAgJHJlc3Vs dCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1QgY291 bnQoKiksIG1pbihhKSwgbWF4KGEpIEZST00gdGFiX2lucyIpOwogaXMoJHJlc3VsdCwgcXEoMTA1 MnwxfDEwMDIpLCAnY2hlY2sgcmVwbGljYXRlZCBpbnNlcnRzIG9uIHN1YnNjcmliZXInKTsKIAor JHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxF Q1QgY291bnQoKiksIG1pbihhKSwgbWF4KGEpIEZST00gdGFiX2luczIiKTsKK2lzKCRyZXN1bHQs IHFxKDEwNTJ8MXwxMDAyKSwgJ2NoZWNrIHJlcGxpY2F0ZWQgaW5zZXJ0cyBvbiBzdWJzY3JpYmVy Jyk7CisKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK IAkiU0VMRUNUIGNvdW50KCopLCBtaW4oYSksIG1heChhKSBGUk9NIHRhYl9yZXAiKTsKIGlzKCRy ZXN1bHQsIHFxKDIwfC0yMHwtMSksICdjaGVjayByZXBsaWNhdGVkIGNoYW5nZXMgb24gc3Vic2Ny aWJlcicpOwpAQCAtNDQ5LDEwICs0ODMsMjcgQEAgJG5vZGVfcHVibGlzaGVyLT5wb2xsX3F1ZXJ5 X3VudGlsKCdwb3N0Z3JlcycsCiAgIG9yIGRpZQogICAiVGltZWQgb3V0IHdoaWxlIHdhaXRpbmcg Zm9yIGFwcGx5IHRvIHJlc3RhcnQgYWZ0ZXIgY2hhbmdpbmcgUFVCTElDQVRJT04iOwogCisjIHRl c3QgdGhhdCBjaGFuZ2VzIHRvIGEgZm9yZWlnbiBzZXJ2ZXIgc3Vic2NyaXB0aW9uIGNhdXNlIHRo ZSB3b3JrZXIKKyMgdG8gcmVzdGFydAorJG9sZHBpZCA9ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBwaWQgRlJPTSBwZ19zdGF0X3JlcGxpY2F0aW9uIFdI RVJFIGFwcGxpY2F0aW9uX25hbWUgPSAndGFwX3N1YjInIEFORCBzdGF0ZSA9ICdzdHJlYW1pbmcn OyIKKyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQUxURVIg U0VSVkVSIHRhcF9zdWIyX3NlcnZlciBPUFRJT05TIChzc2xtb2RlICdkaXNhYmxlJykiCispOwor JG5vZGVfcHVibGlzaGVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBw aWQgIT0gJG9sZHBpZCBGUk9NIHBnX3N0YXRfcmVwbGljYXRpb24gV0hFUkUgYXBwbGljYXRpb25f bmFtZSA9ICd0YXBfc3ViMicgQU5EIHN0YXRlID0gJ3N0cmVhbWluZyc7IgorICApCisgIG9yIGRp ZQorICAiVGltZWQgb3V0IHdoaWxlIHdhaXRpbmcgZm9yIGFwcGx5IHRvIHJlc3RhcnQgYWZ0ZXIg Y2hhbmdpbmcgUFVCTElDQVRJT04iOworCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLAogCSJJTlNFUlQgSU5UTyB0YWJfaW5zIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAw MSwxMTAwKSIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRFTEVU RSBGUk9NIHRhYl9yZXAiKTsKIAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKKwkiSU5TRVJUIElOVE8gdGFiX2luczIgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxMDAxLDEx MDApIik7CisKICMgUmVzdGFydCB0aGUgcHVibGlzaGVyIGFuZCBjaGVjayB0aGUgc3RhdGUgb2Yg dGhlIHN1YnNjcmliZXIgd2hpY2gKICMgc2hvdWxkIGJlIGluIGEgc3RyZWFtaW5nIHN0YXRlIGFm dGVyIGNhdGNoaW5nIHVwLgogJG5vZGVfcHVibGlzaGVyLT5zdG9wKCdmYXN0Jyk7CkBAIC00NjUs NiArNTE2LDExIEBAICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKIGlzKCRyZXN1bHQsIHFxKDExNTJ8MXwxMTAwKSwKIAknY2hlY2sgcmVwbGljYXRlZCBp bnNlcnRzIGFmdGVyIHN1YnNjcmlwdGlvbiBwdWJsaWNhdGlvbiBjaGFuZ2UnKTsKIAorJHJlc3Vs dCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291 bnQoKiksIG1pbihhKSwgbWF4KGEpIEZST00gdGFiX2luczIiKTsKK2lzKCRyZXN1bHQsIHFxKDEx NTJ8MXwxMTAwKSwKKwknY2hlY2sgcmVwbGljYXRlZCBpbnNlcnRzIGFmdGVyIHN1YnNjcmlwdGlv biBwdWJsaWNhdGlvbiBjaGFuZ2UnKTsKKwogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1QgY291bnQoKiksIG1pbihhKSwgbWF4KGEpIEZS T00gdGFiX3JlcCIpOwogaXMoJHJlc3VsdCwgcXEoMjB8LTIwfC0xKSwKQEAgLTUzMyw2ICs1ODks NyBAQCAkbm9kZV9wdWJsaXNoZXItPnBvbGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywKIAogIyBj aGVjayBhbGwgdGhlIGNsZWFudXAKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiRFJPUCBTVUJTQ1JJUFRJT04gdGFwX3N1Yl9yZW5hbWVkIik7Ciskbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRST1AgU1VCU0NSSVBUSU9OIHRhcF9zdWIyIik7 CiAKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki U0VMRUNUIGNvdW50KCopIEZST00gcGdfc3Vic2NyaXB0aW9uIik7Ci0tIAoyLjM0LjEKCg== --=-rAcBX5BGvet8j3XuS7hS Content-Disposition: attachment; filename="v5-0004-Introduce-pg_create_connection-predefined-role.patch" Content-Type: text/x-patch; name="v5-0004-Introduce-pg_create_connection-predefined-role.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzMGE4NDgyYWM1YTA5ODFhNmViZWZlNmY0YTI0ZDJlM2IyYTAxZDEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6MTM6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIIHY1IDQvNF0gSW50 cm9kdWNlIHBnX2NyZWF0ZV9jb25uZWN0aW9uIHByZWRlZmluZWQgcm9sZS4KCkluIGFkZGl0aW9u IHRvIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb24sIG1lbWJlcnNoaXAgaW4gdGhpcyByb2xlIGlzCm5l Y2Vzc2FyeSB0byBjcmVhdGUgYSBzdWJzY3JpcHRpb24gd2l0aCBhIGNvbm5lY3Rpb24gc3RyaW5n LiBUaGUKcGdfY3JlYXRlX3N1YnNjcmlwdGlvbiByb2xlIGlzIGEgbWVtYmVyIG9mIHBnX2NyZWF0 ZV9jb25uZWN0aW9uLCBzbyBieQpkZWZhdWx0IHBnX2NyZWF0ZV9zdWJzY3JpcHRpb24gaGFzIHRo ZSBzYW1lIGNhcGFiaWxpdHkgYXMgYmVmb3JlLgoKQW4gYWRtaW5pc3RyYXRvciBtYXkgcmV2b2tl IHBnX2NyZWF0ZV9jb25uZWN0aW9uIGZyb20KcGdfY3JlYXRlX3N1YnNjcmlwdGlvbiwgd2hpY2gg d2lsbCBlbmFibGUgdGhlIHByaXZpbGVnZXMgdG8gYmUKc2VwYXJhdGVkLiBUaGF0IHdpbGwgYmUg dXNlZnVsIGluIGFuIHVwY29taW5nIGNoYW5nZSB0byBpbnRyb2R1Y2UKQ1JFQVRFIFNVQlNDUklQ VElPTiAuLi4gU0VSVkVSLCB3aGljaCB3aWxsIG5vdCB1c2UgYSByYXcgY29ubmVjdGlvbgpzdHJp bmcsIGFuZCB0aGVyZWZvcmUgbm90IHJlcXVpcmUgbWVtYmVyc2hpcCBpbiB0aGUKcGdfY3JlYXRl X2Nvbm5lY3Rpb24gcm9sZS4KLS0tCiBkb2Mvc3JjL3NnbWwvdXNlci1tYW5hZy5zZ21sICAgICAg ICAgICAgICAgfCAxMiArKysrKysrKysrLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX2Z1 bmN0aW9ucy5zcWwgICB8ICAyICsrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25j bWRzLmMgICAgfCAxOSArKysrKysrKysrKysrKysrLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2F1dGhpZC5kYXQgICAgICAgICAgfCAgNSArKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zdWJzY3JpcHRpb24ub3V0IHwgMTEgKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3N1YnNjcmlwdGlvbi5zcWwgICAgICB8IDE0ICsrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5n ZWQsIDU4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3VzZXItbWFuYWcuc2dtbCBiL2RvYy9zcmMvc2dtbC91c2VyLW1hbmFnLnNnbWwKaW5k ZXggOTJhMjk5ZDJkMy4uNGY0YzIwYmEzYyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3VzZXIt bWFuYWcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvdXNlci1tYW5hZy5zZ21sCkBAIC02ODcsMTEg KzY4NywxOSBAQCBEUk9QIFJPTEUgZG9vbWVkX3JvbGU7CiAgICAgICAgPGVudHJ5PkFsbG93IHVz ZSBvZiBjb25uZWN0aW9uIHNsb3RzIHJlc2VydmVkIHZpYQogICAgICAgIDx4cmVmIGxpbmtlbmQ9 Imd1Yy1yZXNlcnZlZC1jb25uZWN0aW9ucyIvPi48L2VudHJ5PgogICAgICAgPC9yb3c+CisgICAg ICA8cm93PgorICAgICAgIDxlbnRyeT5wZ19jcmVhdGVfY29ubmVjdGlvbjwvZW50cnk+CisgICAg ICAgPGVudHJ5PkFsbG93IHVzZXJzIHRvIHNwZWNpZnkgYSBjb25uZWN0aW9uIHN0cmluZyBkaXJl Y3RseSBpbiA8bGluaworICAgICAgIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24iPjxj b21tYW5kPkNSRUFURQorICAgICAgIFNVQlNDUklQVElPTjwvY29tbWFuZD48L2xpbms+LjwvZW50 cnk+CisgICAgICA8L3Jvdz4KICAgICAgIDxyb3c+CiAgICAgICAgPGVudHJ5PnBnX2NyZWF0ZV9z dWJzY3JpcHRpb248L2VudHJ5PgogICAgICAgIDxlbnRyeT5BbGxvdyB1c2VycyB3aXRoIDxsaXRl cmFsPkNSRUFURTwvbGl0ZXJhbD4gcGVybWlzc2lvbiBvbiB0aGUKLSAgICAgICBkYXRhYmFzZSB0 byBpc3N1ZQotICAgICAgIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24iPjxj b21tYW5kPkNSRUFURSBTVUJTQ1JJUFRJT048L2NvbW1hbmQ+PC9saW5rPi48L2VudHJ5PgorICAg ICAgIGRhdGFiYXNlIHRvIGlzc3VlIDxsaW5rCisgICAgICAgbGlua2VuZD0ic3FsLWNyZWF0ZXN1 YnNjcmlwdGlvbiI+PGNvbW1hbmQ+Q1JFQVRFCisgICAgICAgU1VCU0NSSVBUSU9OPC9jb21tYW5k PjwvbGluaz4uICBUaGlzIHJvbGUgaXMgYSBtZW1iZXIgb2YKKyAgICAgICA8bGl0ZXJhbD5wZ19j cmVhdGVfY29ubmVjdGlvbjwvbGl0ZXJhbD4uPC9lbnRyeT4KICAgICAgIDwvcm93PgogICAgICA8 L3Rib2R5PgogICAgIDwvdGdyb3VwPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fZnVuY3Rpb25zLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX2Z1bmN0aW9u cy5zcWwKaW5kZXggZjMxNWZlY2YxOC4uNzM1MTI2ODhkZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV9mdW5jdGlvbnMuc3FsCkBAIC03ODEsMyArNzgxLDUgQEAgR1JBTlQgcGdfcmVhZF9h bGxfc2V0dGluZ3MgVE8gcGdfbW9uaXRvcjsKIEdSQU5UIHBnX3JlYWRfYWxsX3N0YXRzIFRPIHBn X21vbml0b3I7CiAKIEdSQU5UIHBnX3N0YXRfc2Nhbl90YWJsZXMgVE8gcGdfbW9uaXRvcjsKKwor R1JBTlQgcGdfY3JlYXRlX2Nvbm5lY3Rpb24gVE8gcGdfY3JlYXRlX3N1YnNjcmlwdGlvbjsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCA2MDI4N2M3M2U3Li4wMzU1 NWQ1MTU5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRz LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBAIC02MDks OSArNjA5LDkgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRl U3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJUHJldmVudEluVHJhbnNhY3Rpb25CbG9jayhpc1Rv cExldmVsLCAiQ1JFQVRFIFNVQlNDUklQVElPTiAuLi4gV0lUSCAoY3JlYXRlX3Nsb3QgPSB0cnVl KSIpOwogCiAJLyoKLQkgKiBXZSBkb24ndCB3YW50IHRvIGFsbG93IHVucHJpdmlsZWdlZCB1c2Vy cyB0byBiZSBhYmxlIHRvIHRyaWdnZXIKLQkgKiBhdHRlbXB0cyB0byBhY2Nlc3MgYXJiaXRyYXJ5 IG5ldHdvcmsgZGVzdGluYXRpb25zLCBzbyByZXF1aXJlIHRoZSB1c2VyCi0JICogdG8gaGF2ZSBi ZWVuIHNwZWNpZmljYWxseSBhdXRob3JpemVkIHRvIGNyZWF0ZSBzdWJzY3JpcHRpb25zLgorCSAq IFdlIGRvbid0IHdhbnQgdG8gYWxsb3cgdW5wcml2aWxlZ2VkIHVzZXJzIHRvIHV0aWxpemUgdGhl IHJlc291cmNlcyB0aGF0CisJICogYSBzdWJzY3JpcHRpb24gcmVxdWlyZXMgKHN1Y2ggYXMgYSBi YWNrZ3JvdW5kIHdvcmtlciksIHNvIHJlcXVpcmUgdGhlCisJICogdXNlciB0byBoYXZlIGJlZW4g c3BlY2lmaWNhbGx5IGF1dGhvcml6ZWQgdG8gY3JlYXRlIHN1YnNjcmlwdGlvbnMuCiAJICovCiAJ aWYgKCFoYXNfcHJpdnNfb2Zfcm9sZShvd25lciwgUk9MRV9QR19DUkVBVEVfU1VCU0NSSVBUSU9O KSkKIAkJZXJlcG9ydChFUlJPUiwKQEAgLTY5Nyw2ICs2OTcsMTkgQEAgQ3JlYXRlU3Vic2NyaXB0 aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAl7 CiAJCUFzc2VydChzdG10LT5jb25uaW5mbyk7CiAKKwkJLyoKKwkJICogV2UgZG9uJ3Qgd2FudCB0 byBhbGxvdyB1bnByaXZpbGVnZWQgdXNlcnMgdG8gYmUgYWJsZSB0byB0cmlnZ2VyCisJCSAqIGF0 dGVtcHRzIHRvIGFjY2VzcyBhcmJpdHJhcnkgbmV0d29yayBkZXN0aW5hdGlvbnMsIHNvIHJlcXVp cmUgdGhlIHVzZXIKKwkJICogdG8gaGF2ZSBiZWVuIHNwZWNpZmljYWxseSBhdXRob3JpemVkIHRv IGNyZWF0ZSBjb25uZWN0aW9ucy4KKwkJICovCisJCWlmICghaGFzX3ByaXZzX29mX3JvbGUob3du ZXIsIFJPTEVfUEdfQ1JFQVRFX0NPTk5FQ1RJT04pKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJ KGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKKwkJCQkJIGVycm1zZygi cGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIHN1YnNjcmlwdGlvbiB3aXRoIGEgY29ubmVjdGlv biBzdHJpbmciKSwKKwkJCQkJIGVycmRldGFpbCgiT25seSByb2xlcyB3aXRoIHByaXZpbGVnZXMg b2YgdGhlIFwiJXNcIiByb2xlIG1heSBjcmVhdGUgc3Vic2NyaXB0aW9ucyB3aXRoIENPTk5FQ1RJ T04gc3BlY2lmaWVkLiIsCisJCQkJCQkJICAgInBnX2NyZWF0ZV9jb25uZWN0aW9uIiksCisJCQkJ CSBlcnJoaW50KCJDcmVhdGUgYSBzdWJzY3JpcHRpb24gdG8gYSBmb3JlaWduIHNlcnZlciBieSBz cGVjaWZ5aW5nIFNFUlZFUiBpbnN0ZWFkLiIpKSk7CisKIAkJc2VydmVyaWQgPSBJbnZhbGlkT2lk OwogCQl1bWlkID0gSW52YWxpZE9pZDsKIAkJY29ubmluZm8gPSBzdG10LT5jb25uaW5mbzsKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmRhdCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfYXV0aGlkLmRhdAppbmRleCA4MmEyZWMyODYyLi5kY2ZhZDdhMGMwIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2F1dGhpZC5kYXQKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19hdXRoaWQuZGF0CkBAIC05NCw1ICs5NCwxMCBAQAogICByb2xjcmVhdGVy b2xlID0+ICdmJywgcm9sY3JlYXRlZGIgPT4gJ2YnLCByb2xjYW5sb2dpbiA9PiAnZicsCiAgIHJv bHJlcGxpY2F0aW9uID0+ICdmJywgcm9sYnlwYXNzcmxzID0+ICdmJywgcm9sY29ubmxpbWl0ID0+ ICctMScsCiAgIHJvbHBhc3N3b3JkID0+ICdfbnVsbF8nLCByb2x2YWxpZHVudGlsID0+ICdfbnVs bF8nIH0sCit7IG9pZCA9PiAnNjEyMicsIG9pZF9zeW1ib2wgPT4gJ1JPTEVfUEdfQ1JFQVRFX0NP Tk5FQ1RJT04nLAorICByb2xuYW1lID0+ICdwZ19jcmVhdGVfY29ubmVjdGlvbicsIHJvbHN1cGVy ID0+ICdmJywgcm9saW5oZXJpdCA9PiAndCcsCisgIHJvbGNyZWF0ZXJvbGUgPT4gJ2YnLCByb2xj cmVhdGVkYiA9PiAnZicsIHJvbGNhbmxvZ2luID0+ICdmJywKKyAgcm9scmVwbGljYXRpb24gPT4g J2YnLCByb2xieXBhc3NybHMgPT4gJ2YnLCByb2xjb25ubGltaXQgPT4gJy0xJywKKyAgcm9scGFz c3dvcmQgPT4gJ19udWxsXycsIHJvbHZhbGlkdW50aWwgPT4gJ19udWxsXycgfSwKIAogXQpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CmluZGV4IDdiODY2YTZmZTYu LjI3Mzc5MDE3NTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2Ny aXB0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5v dXQKQEAgLTE1Nyw3ICsxNTcsMTYgQEAgQ1JFQVRFIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHc7CiBDUkVBVEUgVVNFUiBNQVBQ SU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2Vy dmVyCiAgIE9QVElPTlMgKHBhc3N3b3JkICdzZWNyZXQnKTsKIEdSQU5UIFVTQUdFIE9OIEZPUkVJ R04gU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlciBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy MzsKKy0tIHRlbXBvcmFyaWx5IHJldm9rZSBwZ19jcmVhdGVfY29ubmVjdGlvbiBmcm9tIHBnX2Ny ZWF0ZV9zdWJzY3JpcHRpb24KKy0tIHRvIHRlc3QgdGhhdCBDUkVBVEUgU1VCU0NSSVBUSU9OIC4u LiBDT05ORUNUSU9OIGZhaWxzCitSRVZPS0UgcGdfY3JlYXRlX2Nvbm5lY3Rpb24gRlJPTSBwZ19j cmVhdGVfc3Vic2NyaXB0aW9uOwogU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyMzsKKy0tIGZhaWwgLSBub3QgYSBtZW1iZXIgb2YgcGdfY3JlYXRlX2Nv bm5lY3Rpb24sIGNhbm5vdCB1c2UgQ09OTkVDVElPTgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdy ZXNzX3Rlc3RzdWI2IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCBwYXNz d29yZD1yZWdyZXNzX2Zha2VwYXNzd29yZCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChzbG90 X25hbWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmll ZCB0byBjcmVhdGUgc3Vic2NyaXB0aW9uIHdpdGggYSBjb25uZWN0aW9uIHN0cmluZworREVUQUlM OiAgT25seSByb2xlcyB3aXRoIHByaXZpbGVnZXMgb2YgdGhlICJwZ19jcmVhdGVfY29ubmVjdGlv biIgcm9sZSBtYXkgY3JlYXRlIHN1YnNjcmlwdGlvbnMgd2l0aCBDT05ORUNUSU9OIHNwZWNpZmll ZC4KK0hJTlQ6ICBDcmVhdGUgYSBzdWJzY3JpcHRpb24gdG8gYSBmb3JlaWduIHNlcnZlciBieSBz cGVjaWZ5aW5nIFNFUlZFUiBpbnN0ZWFkLgorLS0gc3VjY2VlZCAtIHN1YnNjcmlwdGlvbiB0byBm b3JlaWduIHNlcnZlcgogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IFNFUlZF UiByZWdyZXNzX3Rlc3RzZXJ2ZXIgUFVCTElDQVRJT04gdGVzdHB1YgogICBXSVRIIChzbG90X25h bWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOwogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMg Y3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKQEAgLTE4Myw2ICsxOTIsOCBAQCBEUk9QIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2OwogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXI7CiBEUk9QIFNF UlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXI7CiBSRVZPS0UgQ1JFQVRFIE9OIERBVEFCQVNFIHJlZ3Jl c3Npb24gRlJPTSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKKy0tIHJlLWdyYW50IHBnX2Ny ZWF0ZV9jb25uZWN0aW9uIHRvIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb24KK0dSQU5UIHBnX2NyZWF0 ZV9jb25uZWN0aW9uIFRPIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb247CiBTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7CiBcZFJzKwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCmluZGV4IDk1YzgyNjAzMGIuLmIw NDFhNmQ1NDIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbApAQCAtMTAzLDkg KzEwMywxOSBAQCBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyCiAgIE9QVElPTlMgKHBhc3N3b3JkICdzZWNy ZXQnKTsKIEdSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlciBU TyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKIAorLS0gdGVtcG9yYXJpbHkgcmV2b2tlIHBn X2NyZWF0ZV9jb25uZWN0aW9uIGZyb20gcGdfY3JlYXRlX3N1YnNjcmlwdGlvbgorLS0gdG8gdGVz dCB0aGF0IENSRUFURSBTVUJTQ1JJUFRJT04gLi4uIENPTk5FQ1RJT04gZmFpbHMKK1JFVk9LRSBw Z19jcmVhdGVfY29ubmVjdGlvbiBGUk9NIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb247CisKIFNFVCBT RVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CisKKy0tIGZh aWwgLSBub3QgYSBtZW1iZXIgb2YgcGdfY3JlYXRlX2Nvbm5lY3Rpb24sIGNhbm5vdCB1c2UgQ09O TkVDVElPTgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IENPTk5FQ1RJT04g J2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCBwYXNzd29yZD1yZWdyZXNzX2Zha2VwYXNzd29y ZCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChzbG90X25hbWUgPSBOT05FLCBjb25uZWN0ID0g ZmFsc2UpOworCistLSBzdWNjZWVkIC0gc3Vic2NyaXB0aW9uIHRvIGZvcmVpZ24gc2VydmVyCiBD UkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNl cnZlciBQVUJMSUNBVElPTiB0ZXN0cHViCiAgIFdJVEggKHNsb3RfbmFtZSA9IE5PTkUsIGNvbm5l Y3QgPSBmYWxzZSk7CisKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKIAogLS0gdGVzdCBh biBGRFcgd2l0aCBubyB2YWxpZGF0b3IKQEAgLTEzMSw2ICsxNDEsMTAgQEAgRFJPUCBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViNjsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyOwogRFJPUCBTRVJWRVIg cmVncmVzc190ZXN0c2VydmVyOwogUkVWT0tFIENSRUFURSBPTiBEQVRBQkFTRSByZWdyZXNzaW9u IEZST00gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CisKKy0tIHJlLWdyYW50IHBnX2NyZWF0 ZV9jb25uZWN0aW9uIHRvIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb24KK0dSQU5UIHBnX2NyZWF0ZV9j b25uZWN0aW9uIFRPIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb247CisKIFNFVCBTRVNTSU9OIEFVVEhP UklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjsKIAogXGRScysKLS0gCjIuMzQuMQoK --=-rAcBX5BGvet8j3XuS7hS--