Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vSaZy-001Lju-39 for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Dec 2025 12:43:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vSaZx-00H0t4-1k for pgsql-hackers@arkaria.postgresql.org; Mon, 08 Dec 2025 12:43:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vRgNT-00AV5V-1n for pgsql-hackers@lists.postgresql.org; Sat, 06 Dec 2025 00:42:24 +0000 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vRgNQ-003MtA-39 for pgsql-hackers@lists.postgresql.org; Sat, 06 Dec 2025 00:42:23 +0000 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-3e3dac349easo2299314fac.2 for ; Fri, 05 Dec 2025 16:42:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=illuminatedcomputing-com.20230601.gappssmtp.com; s=20230601; t=1764981738; x=1765586538; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=3B7dIOMnUJQmSsRyJ8fWKPwfNAAEOrHdqNZ7FsjV0As=; b=v3fw36mvuA5od3AfsKbhsVZUCQwmvnY/7/Lj8JRS6RbOwq26x4W02bAVCHSUI7prU+ e+gZukIEkLxqn9+PBiXApwmUiOeOPg1qnla8BrrdQCWtSYKPieZ/OcJLJA0cSd/2UUDb szuirIGmft1Mh2p2NzXMj7yLdyVNdJ3Sv382Y00mdoX9NZAOxD8/1UZRFdbx/zHLgKOf Yt0J18OnWKZ1SqD/M8/jyN3YuXA0tNXsSEW21vI/tmAenZw5g5nQWu3mhJwJzvqwEDGg xbjmyA97iHRnXALNHQPPZihSbLvTLxiyYcnkn8jl7oEhcQNAK2gKqYAocRw4wgzSWigP sHbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764981738; x=1765586538; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3B7dIOMnUJQmSsRyJ8fWKPwfNAAEOrHdqNZ7FsjV0As=; b=nxAX6td5P5K+LLJ25xLUY2od9oZ5qFeuoaHXXjrPjIDnEKsa73k3hQsX/pfVzbLrO0 w+lU3DV6lZg93qNKPcZ5+9dlGAxVrnTTDgpkRu+zfUuBE/vWM/ddZFyI+pdXqwOZTwRn BkUpe48HZekBhuVtsiERYzZrWobnvyN6u5E12q7tu8wqve7nnuwOym5nEsbkvUzjJlzF SwzkyLUoFipsQOETdT8XVajhRrJz3mSHPvjAfoDWSbpAoSeiIFJKn2Ns1QjM09QM/v4K B6dV5VV1I/W2nDlK1BfhTp2aMBh6/AbMK9NvVVMndSSwklGtcoD4a3brc5AaT9y+wwa9 VT0Q== X-Forwarded-Encrypted: i=1; AJvYcCVF/jOJ6umelNihmzsNUEcM7KqL9n+dPRoc6mSuSut+ymPNqi8WjbkXt5+nj4jt8YGWiOR/HQ+Mwhz9Aizp@lists.postgresql.org X-Gm-Message-State: AOJu0YzKTGt1NHS8svNG9+Y0rLClcCSdgPS0saCrVg78bw0w/0J4zYeb bNs+M0ZHG5FDy0zBLMqxRqSk5VuDRpef7hun8MI/Bw2VtzZ4CnRanOK+4OMhXJ+wskipxSJ8YYd 1P/U29XFf0+tcXsE9mU/DwZ3C3E0F6YiuOuOe0+x3AA== X-Gm-Gg: ASbGncu50OenCLp0ixDgVsPIXC9iHuWyU8HwW4uQ10gtEM2VHnQCRoxb3beLPCWydqT 5dtAPOVMAHzIr8+uVoWJGrvODzPsh1JbHgoz8KE+oNPujSMdFNQjm0YQUs/VFpWkHK1PZSqeTiw KB98U8if9MnBtI9miJRA1Bmr8wgqV/2h6M4JewcZpHCH78/mnvNMCF+hnCcbLJNS2ZarXmjw1V7 laU49LpIKhmou7ECvDGRR8z/k+sLK3NscjvYaexmJNTCoh7jrwkvTtfCRASQzhOvJDflkwvLtTO PIQ= X-Google-Smtp-Source: AGHT+IHTNSIJ9w2SetxdJuDDiQqoHSiC9HZZ86tKdoqpe5LDOWnOat6KOy+/5wHINQOXcYuc0NBrIhxiBVv/RKoCWh0= X-Received: by 2002:a05:6820:f008:b0:659:9a49:8e07 with SMTP id 006d021491bc7-6599a98ad19mr504354eaf.73.1764981737863; Fri, 05 Dec 2025 16:42:17 -0800 (PST) MIME-Version: 1.0 References: <2f5364f3-a1d3-4410-98f3-d788b11e6525@eisentraut.org> <1ace7bc1-9dd4-42c9-a473-517cef37cce9@eisentraut.org> <6F8D7105-BD1C-432D-84F3-BC688C0C8EDC@gmail.com> <9B820A52-D2F6-465D-B258-6FE8EBA59FAE@gmail.com> <53a13f97-340f-4d04-9dcc-77ca3ffb6a6a@eisentraut.org> <85ac7f0e-d95f-4377-ade0-8941fd328012@eisentraut.org> In-Reply-To: <85ac7f0e-d95f-4377-ade0-8941fd328012@eisentraut.org> From: Paul A Jungwirth Date: Fri, 5 Dec 2025 16:42:05 -0800 X-Gm-Features: AWmQ_bkjk7PdzOg0oCQYRpKrNMwc3_YZh1r19PQY9h2MDrKidEHGNBs3mxOrtTo Message-ID: Subject: Re: SQL:2011 Application Time Update & Delete To: Peter Eisentraut Cc: Chao Li , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000086536706453dd523" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000086536706453dd523 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Nov 27, 2025 at 7:44=E2=80=AFAM Peter Eisentraut wrote: > Review of v62-0001-Document-temporal-update-delete.patch: Thanks for the review! Here are v63 patches addressing your feedback, plus some other things. > This patch could be included in 0002 or placed after it, because it > would not be applicable before committing 0002. Okay, merged into one patch. The other one had some references to the glossary entry here, so it can't come earlier. > As in the previous patches you submitted that had images, the source > .txt starts with empty lines that appear as extra top padding in the > output. That should be removed. Removed. > Review of v62-0002-Add-UPDATE-DELETE-FOR-PORTION-OF.patch: > > 1) doc/src/sgml/ref/delete.sgml, doc/src/sgml/ref/update.sgml > > The use of "range_name" in the synopsis confused me for a while. I > was thinking terms of range variables. Maybe range_column_name would > be better. Changed. > The word "interval" is used here, but not in the usual SQL sense. > Let's be careful about that. Maybe "range" or, well, "portion" would > be better. Okay. > Also, there is some use of the word "history", but that's not a > defined term here. Maybe that could be written differently to avoid > that. I replaced most cases of "history" with "application time". I think it is a nice word to use though: concise, clear, and not jargony. I think in the remaining case it is pretty clear it's a synonym. Note that in ddl.sgml and dml.sgml I use "history" quite a bit to explain what application time is all about. > The syntactic details of what for_portion_of_target is should be in > the synopsis. It could be broken out, like "where > for_portion_of_target is" etc. Done. > start_time/end_time is described as "value", but it's really an > expression. I don't see any treatment anywhere what kinds of > expressions are allowed. Your commit message says NOW() is allowed, > but how is that enforced? I would have expected to see a call to > contain_volatile_functions() perhaps. I don't see any relevant tests. > (At least if we're claiming NOW() is allowed, it should be in a test.) With EXPR_KIND_FOR_PORTION we can forbid a lot of things. I was not forbidding volatile functions though, so I added a check for that. Testing with NOW() is tricky. I took some inspiration from this clever trick, used in expression.sql: `SELECT current_timestamp =3D NOW()`. I went for something similar, where the test calls the function but avoids printing the timestamp itself. The tests now show that current_date is allowed while clock_timestamp is not. > The documentation writes that temporal leftovers are included in the > returned count. I don't think this patches the SQL standard. > Consider subclause , under ROW_COUNT it > says: > > """ > Otherwise, let SC be the directly contained in > S. If is specified, then let MCN be =E2=80=9CAS > =E2=80=9D; otherwise, let MCN be the zero-length charac= ter > string. The value of ROW_COUNT is effectively derived by executing the > statement: > > SELECT COUNT(*) > FROM T MCN > WHERE SC > > before the execution of S. > """ > > This means that the row count is determined by how many rows matched > the search condition before the statement, not how many rows ended up > after the statement. Okay, fixed. > 2) src/backend/parser/analyze.c > > addForPortionOfWhereConditions(): > > It is not correct to augment the statement with artificial clauses at > this stage. Most easily, this is evident if you reverse-compile the > statement: > > CREATE FUNCTION foo() RETURNS text > BEGIN ATOMIC > UPDATE for_portion_of_test > FOR PORTION OF valid_at FROM '2018-01-15' TO '2019-01-01' > SET name =3D 'one^1' RETURNING name; > END; > > \sf+ foo > CREATE OR REPLACE FUNCTION public.foo() > RETURNS text > LANGUAGE sql > 1 BEGIN ATOMIC > 2 UPDATE for_portion_of_test SET name =3D 'one^1'::text > 3 WHERE (for_portion_of_test.valid_at && > daterange('2018-01-15'::date, '2019-01-01'::date)) > 4 RETURNING for_portion_of_test.name; > 5 END > > You can do these kinds of query modifications in the rewriter or > later, because the stored node tree for a function, view, etc. is > captured before that point. (For this particular case, either the > rewriter or the optimizer might be an appropriate place, not sure.) Okay, I thought it might be harmless for DML, so thanks for showing an example where it matters. I moved this into the rewriter. > Conversely, you need to do some work that the FOR PORTION OF clause > gets printed back out when reverse-compiling an UPDATE statement. > (See get_update_query_def() in ruleutils.c.) Add some tests, too. Done. > transformForPortionOfClause(): > > Using get_typname_and_namespace() to get the name of a range type and > then using that to construct a function call of the same name is > fragile. > > Also, it leads to unexpected error messages when the types don't > match: > > DELETE FROM for_portion_of_test > FOR PORTION OF valid_at FROM 1 TO 2; > ERROR: function pg_catalog.daterange(integer, integer) does not exist > > Well, you cover that in the tests, but I don't think it's right. > > There should be a way to go into the catalogs and get the correct > range constructor function for a range type using only OID references. > Then you can build a FuncExpr node directly and don't need to go the > detour of building a fake FuncCall node to transform. (You'd still > need to transform the arguments separately in that case.) I added a function, get_range_constructor2, which I call to build a FuncExpr now. I got rid of get_typname_and_namespace. That said, looking up the constructor is tricky, because there isn't a direct oid lookup you can make. The rule is that it has the same name as the rangetype, with two args both matching the subtype. At least the rule is encapsulated now. And I think this function will be useful for the PERIODs patch, which needs similar don't-parse-your-own-node-trees work. I improved the error message as well, if the types don't match. These patches include several other improvements & tests related to type-checking the FOR PORTION OF target. In particular jian he's recent finding about WITHOUT OVERLAPS lacking DOMAIN support [0] made me realize I needed that here too. > transformUpdateTargetList(): > > The error message should provide a reason, like "cannot update column > X because it is mentioned in FOR PORTION OF". Okay. > 3) src/backend/parser/gram.y > > I don't think there is a clear policy on that (maybe there should be), > but I wouldn't put every single node type into the %union. Instead, > declare the result type of a production as and use a bit of > casting. Okay. I was following things like OnConflictClause, but I can see how this makes the list unwieldy. Now the production just a Node. > 4) src/backend/utils/adt/ri_triggers.c > > Is this comment change created by this patch or an existing situation? You're right, it should be separate. Submitted elsewhere as its own patch. > 5) src/include/nodes/parsenodes.h > > Similar to the documentation issue mentioned above, the comments for > the ForPortionOfClause struct use somewhat inconsistent terminology. > The comment says , the field is range_name. Also vs > target_start etc. hinders quick mental processing. The use of the > word "target" in this context is also new. Okay, I updated the comment to match the fields. "target" is used in the syntax docs above for update & delete, and also in dml.sgml. I think it's important to have a word for what portion of history you want to change. I like "target" because it accommodates both the FROM ... TO ... syntax and the (...) syntax, it is concise and vivid, and it isn't ambiguous. Do you want me to add a glossary entry for, say, "target, for portion of"? > The location field should have type ParseLoc. Okay. > 6) src/include/parser/parse_node.h > > Somehow, the EXPR_KIND_UPDATE_PORTION switch cases all appear in > different orders in different places. Could you arrange it so that > there is some consistency there? Fixed. > Also, maybe name this so it does not give the impression that it does > not apply to DELETE. Maybe EXPR_KIND_FOR_PORTION. Changed. > 7) src/test/regress/expected/for_portion_of.out, > src/test/regress/sql/for_portion_of.sql > > There are several places where the SELECT statement after an UPDATE or > DELETE statement is indented as if it were part of the previous > statement. That is probably not intentional. Fixed. > For the first few tests, I would prefer to see a SELECT after each > UPDATE or DELETE so you can see what each statement is doing > separately. Okay, done. > There are tests about RETURNING behavior, but the expected behavior > does not appear to be mentioned in the documentation. Added. > 8) src/test/regress/expected/privileges.out, > src/test/regress/sql/privileges.sql > > This tests that UPDATE privilege on the range column is required. But > I don't see this matching the SQL standard, and I also don't see why > it would be needed, since you are not actually writing to that column. > SELECT privilege of the column is required, because it becomes > effectively part of the WHERE clause. That should be tested here. You really don't need update permission? The columns do get updated. I changed it, but it seems a little strange. On the other hand since you don't need insert permission for leftovers, maybe it's consistent. I added a check requiring select permission and updated the tests. For the PERIODs patch (which is less ready than the rest and lower priority to me), I'm still wrongly adding to updatedCols for now, because it turns out that ExecInitGenerated won't update the generated valid_at column otherwise, because it calls ExecGetUpdatedCols, which looks in the perminfo. Maybe that is a misuse of the property that needs to be improved first. > 9) src/test/regress/expected/updatable_views.out, > src/test/regress/sql/updatable_views.sql > > Add something like ORDER BY id, valid_at to the example queries here > (similar to for_portion_of.sql). That makes them easier to understand > and also more stable in execution. Okay. > 10) src/test/subscription/t/034_temporal.pl > > Many of these tests just fail because there is no replica identity > set, and that's already tested with a plain UPDATE statement. The > addition of FOR PORTION OF doesn't change that. Maybe we can drop > most of these tests. Okay. Replaced with a comment though, since there is a systematic structure there I want to preserve. > It might also be useful to add a few tests to contrib/test_decoding, > to demonstrate on a logical-decoding level how a statement with FOR > PORTION OF resolves into multiple different row events. Done. I also improved the executor where I was setting up a state object for each partition in a partition tree. Now I do this lazily, so that you don't pay for every partition if you are only changing one. Rebased to 8f1791c6183. [0] https://www.postgresql.org/message-id/CACJufxGoAmN_0iJ%3DhjTG0vGpOSOyy-= vYyfE%2B-q0AWxrq2_p5XQ%40mail.gmail.com Yours, --=20 Paul ~{:-) pj@illuminatedcomputing.com --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0001-Add-range_get_constructor2.patch" Content-Disposition: attachment; filename="v63-0001-Add-range_get_constructor2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfah10 RnJvbSA3NTI3NDA4ZjE0MmFiNjFkOGU2OGJmYzUyNjAxMTg1ZDE4ZjQyZDQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMiBEZWMgMjAyNSAyMTozMDoxMyAtMDgwMApTdWJqZWN0 OiBbUEFUQ0ggdjYzIDEvOF0gQWRkIHJhbmdlX2dldF9jb25zdHJ1Y3RvcjIKCkxvb2sgdXAgdGhl IHR3by1hcmcgY29uc3RydWN0b3IgZm9yIGEgZ2l2ZW4gcmFuZ2V0eXBlLiBXZSBuZWVkIHRoaXMg Zm9yClVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YsIHNvIHRoYXQgd2UgY2FuIGJ1aWxkIGEg cmFuZ2UgZnJvbSB0aGUgRlJPTS9UTwpib3VuZHMuCgpUaGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUg YW4gZWFzeSB3YXkgdG8gZmluZCB0aGUgY29uc3RydWN0b3IuIFRoZSBydWxlIGlzIHRoYXQKdGhl IGZ1bmN0aW9uIGhhcyB0aGUgc2FtZSBuYW1lIGFzIHRoZSByYW5nZXR5cGUsIHdpdGggYXJndW1l bnRzIG1ha2luZyB0aGUKcmFuZ2UncyBzdWJ0eXBlLiBJZGVhbGx5IHdlIGNvdWxkIGp1c3QgdXNl IHRoZSByYW5nZSdzIHR5cGUgb2lkLCBidXQgSSBzZWUgYSB3YXkKdG8gZG8gdGhhdC4gVGhlcmUg YXJlIG5vIHBnX2RlcGVuZCBlbnRyaWVzIGZvciBidWlsdC1pbiByYW5nZXR5cGVzLCBvbmx5CnVz ZXItZGVmaW5lZCBvbmVzLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0 ZWRjb21wdXRpbmcuY29tPgotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5j IHwgNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL3V0aWxzL2xz eXNjYWNoZS5oICAgICAgIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMgYi9zcmMv YmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYwppbmRleCBmYTdjZDdlMDZhNy4uMTAyNjky ODg0YmIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCkBAIC0zNjE1LDYgKzM2MTUs NzQgQEAgZ2V0X3JhbmdlX2NvbGxhdGlvbihPaWQgcmFuZ2VPaWQpCiAJCXJldHVybiBJbnZhbGlk T2lkOwogfQogCisvKgorICogZ2V0X3JhbmdlX2NvbnN0cnVjdG9yMgorICoJCUdldHMgdGhlIDIt YXJnIGNvbnN0cnVjdG9yIGZvciB0aGUgZ2l2ZW4gcmFuZ2V0eXBlLgorICoKKyAqIEl0IHNob3Vs ZCBiZSB0aGUgZnVuY3Rpb24gd2hvc2UgbmFtZSBhbmQgbmFtZXNwYWNlIG1hdGNoIHRoZSByYW5n ZXR5cGUsCisgKiBoYXMgMiBhcmdzIG1hdGNoaW5nIHRoZSBzdWJ0eXBlLCBhbmQgcmV0dXJucyB0 aGUgcmFuZ2V0eXBlLiBUbyBiZSBleHRyYSBzdXJlLAorICogd2UgbWFrZSBzdXJlIHRoYXQgcHJv c3JjIGlzICdyYW5nZV9jb25zdHJ1Y3RvcjInIGFuZCBwcm9iaW4gSVMgTlVMTC4KKyAqCisgKiBX ZSBjYW4ndCB1c2UgcGdfZGVwZW5kLCBiZWNhdXNlIGJ1aWx0LWluIHJhbmdldHlwZXMgZG9uJ3Qg aGF2ZSBlbnRyaWVzIHRoZXJlLgorICoKKyAqIERvbWFpbnMgb24gcmFuZ2V0eXBlcyBkb24ndCBk ZWZpbmUgdGhlaXIgb3duIGNvbnN0cnVjdG9ycywKKyAqIHNvIGNhbGxlciBzaG91bGQgcGFzcyB0 aGUgYmFzZXR5cGUgb2lkLgorICovCitPaWQKK2dldF9yYW5nZV9jb25zdHJ1Y3RvcjIoT2lkIHJu Z3R5cGlkKQoreworCU9pZAkJCXJhbmdlX3R5cGVsZW0gPSBnZXRfcmFuZ2Vfc3VidHlwZShybmd0 eXBpZCk7CisJY2hhcgkgICAqcm5nbmFtZTsKKwlPaWQJCQlybmduYW1lc3BhY2U7CisJT2lkCQkJ YXJnb2lkc1syXTsKKwlvaWR2ZWN0b3IgICphcmd0eXBlczsKKwlIZWFwVHVwbGUJdHA7CisKKwkv KiBJcyBpdCByZWFsbHkgYSByYW5nZXR5cGU/ICovCisJaWYgKCFPaWRJc1ZhbGlkKHJhbmdlX3R5 cGVsZW0pKQorCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcmFuZ2UgJXUi LCBybmd0eXBpZCk7CisKKwkvKiBHZXQgdGhlIHJhbmdlJ3MgbmFtZSBhbmQgbmFtZXNwYWNlICov CisJdHAgPSBTZWFyY2hTeXNDYWNoZTEoVFlQRU9JRCwgT2JqZWN0SWRHZXREYXR1bShybmd0eXBp ZCkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHRwKSkKKwl7CisJCUZvcm1fcGdfdHlwZSB0eXB0 dXAgPSAoRm9ybV9wZ190eXBlKSBHRVRTVFJVQ1QodHApOworCisJCXJuZ25hbWUgPSBwc3RyZHVw KE5hbWVTdHIodHlwdHVwLT50eXBuYW1lKSk7CisJCXJuZ25hbWVzcGFjZSA9IHR5cHR1cC0+dHlw bmFtZXNwYWNlOworCQlSZWxlYXNlU3lzQ2FjaGUodHApOworCX0KKwllbHNlCisJCWVsb2coRVJS T1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciB0eXBlICV1Iiwgcm5ndHlwaWQpOworCisJLyog RmluZCB0aGUgY29uc3RydWN0b3IgKi8KKwlhcmdvaWRzWzBdID0gcmFuZ2VfdHlwZWxlbTsKKwlh cmdvaWRzWzFdID0gcmFuZ2VfdHlwZWxlbTsKKwlhcmd0eXBlcyA9IGJ1aWxkb2lkdmVjdG9yKGFy Z29pZHMsIDIpOworCXRwID0gU2VhcmNoU3lzQ2FjaGUzKFBST0NOQU1FQVJHU05TUCwKKwkJCQkJ CSBQb2ludGVyR2V0RGF0dW0ocm5nbmFtZSksCisJCQkJCQkgUG9pbnRlckdldERhdHVtKGFyZ3R5 cGVzKSwKKwkJCQkJCSBPYmplY3RJZEdldERhdHVtKHJuZ25hbWVzcGFjZSkpOworCWlmIChIZWFw VHVwbGVJc1ZhbGlkKHRwKSkKKwl7CisJCUZvcm1fcGdfcHJvYyBwcm9jdHVwID0gKEZvcm1fcGdf cHJvYykgR0VUU1RSVUNUKHRwKTsKKwkJT2lkCQkJcmVzdWx0OworCQlEYXR1bQkJcHJvc3JjID0g U3lzQ2FjaGVHZXRBdHRyTm90TnVsbChQUk9DTkFNRUFSR1NOU1AsIHRwLAorCQkJCQkJCQkJCQkJ CUFudW1fcGdfcHJvY19wcm9zcmMpOworCisJCS8qIFNhbml0eS1jaGVja2luZyAqLworCQlpZiAo cHJvY3R1cC0+cHJvcmV0dHlwZSA9PSBybmd0eXBpZCAmJgorCQkJc3RyY21wKFRleHREYXR1bUdl dENTdHJpbmcocHJvc3JjKSwgInJhbmdlX2NvbnN0cnVjdG9yMiIpID09IDAgJiYKKwkJCWhlYXBf YXR0aXNudWxsKHRwLCBBbnVtX3BnX3Byb2NfcHJvYmluLCBOVUxMKSkKKwkJeworCQkJcmVzdWx0 ID0gcHJvY3R1cC0+b2lkOworCQkJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKwkJCXJldHVybiByZXN1 bHQ7CisJCX0KKwl9CisJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHByb2Nl ZHVyZSAlcyIsIHJuZ25hbWUpOworfQorCiAvKgogICogZ2V0X3JhbmdlX211bHRpcmFuZ2UKICAq CQlSZXR1cm5zIHRoZSBtdWx0aXJhbmdlIHR5cGUgb2YgYSBnaXZlbiByYW5nZSB0eXBlCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxz L2xzeXNjYWNoZS5oCmluZGV4IDUwZmIxNDllOWFjLi5hZDNkNWYzM2I1ZSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5 c2NhY2hlLmgKQEAgLTIwMCw2ICsyMDAsNyBAQCBleHRlcm4gY2hhciAqZ2V0X25hbWVzcGFjZV9u YW1lKE9pZCBuc3BpZCk7CiBleHRlcm4gY2hhciAqZ2V0X25hbWVzcGFjZV9uYW1lX29yX3RlbXAo T2lkIG5zcGlkKTsKIGV4dGVybiBPaWQJZ2V0X3JhbmdlX3N1YnR5cGUoT2lkIHJhbmdlT2lkKTsK IGV4dGVybiBPaWQJZ2V0X3JhbmdlX2NvbGxhdGlvbihPaWQgcmFuZ2VPaWQpOworZXh0ZXJuIE9p ZAlnZXRfcmFuZ2VfY29uc3RydWN0b3IyKE9pZCByYW5nZU9pZCk7CiBleHRlcm4gT2lkCWdldF9y YW5nZV9tdWx0aXJhbmdlKE9pZCByYW5nZU9pZCk7CiBleHRlcm4gT2lkCWdldF9tdWx0aXJhbmdl X3JhbmdlKE9pZCBtdWx0aXJhbmdlT2lkKTsKIGV4dGVybiBPaWQJZ2V0X2luZGV4X2NvbHVtbl9v cGNsYXNzKE9pZCBpbmRleF9vaWQsIGludCBhdHRubyk7Ci0tIAoyLjQ3LjMKCg== --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0005-Look-up-additional-temporal-foreign-key-helper-p.patch" Content-Disposition: attachment; filename="v63-0005-Look-up-additional-temporal-foreign-key-helper-p.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfal44 RnJvbSBlMjUyNjQyYWRmMTM1NGMzZDg4ZTFhODAxNzNkM2EyYjFjMGY1ZDQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTY6MTE6NDcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyA1LzhdIExvb2sgdXAgYWRkaXRpb25hbCB0ZW1wb3JhbCBmb3JlaWduIGtl eSBoZWxwZXIgcHJvYwoKVG8gaW1wbGVtZW50IENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQg b24gdGVtcG9yYWwgZm9yZWlnbiBrZXlzLCB3ZQpuZWVkIGFuIGludGVyc2VjdCBmdW5jdGlvbi4g V2UgY2FuIGxvb2sgdGhlbSBpdCB3aGVuIHdlIGxvb2sgdXAgdGhlIG9wZXJhdG9ycwphbHJlYWR5 IG5lZWRlZCBmb3IgdGVtcG9yYWwgZm9yZWlnbiBrZXlzIChpbmNsdWRpbmcgTk8gQUNUSU9OIGNv bnN0cmFpbnRzKS4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVtaW5hdGVkY29t cHV0aW5nLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYyB8IDMy ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJs ZWNtZHMuYyAgICB8ICA1ICsrKy0tCiBzcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jICAgICAg ICB8ICAyICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYyB8IDEyICsrKysr Ky0tLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCB8ICA5ICsrKystLS0t CiA1IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMKaW5kZXggNWIyYTgxMzIzMDYuLjA1Y2FkN2ZhZGRl IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYworKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwpAQCAtMTYzNSw3ICsxNjM1LDcgQEAg RGVjb25zdHJ1Y3RGa0NvbnN0cmFpbnRSb3coSGVhcFR1cGxlIHR1cGxlLCBpbnQgKm51bWZrcywK IH0KIAogLyoKLSAqIEZpbmRGS1BlcmlvZE9wZXJzIC0KKyAqIEZpbmRGS1BlcmlvZE9wZXJzQW5k UHJvY3MgLQogICoKICAqIExvb2tzIHVwIHRoZSBvcGVyYXRvciBvaWRzIHVzZWQgZm9yIHRoZSBQ RVJJT0QgcGFydCBvZiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LgogICogVGhlIG9wY2xhc3Mgc2hv dWxkIGJlIHRoZSBvcGNsYXNzIG9mIHRoYXQgUEVSSU9EIGVsZW1lbnQuCkBAIC0xNjQ2LDEyICsx NjQ2LDE1IEBAIERlY29uc3RydWN0RmtDb25zdHJhaW50Um93KEhlYXBUdXBsZSB0dXBsZSwgaW50 ICpudW1ma3MsCiAgKiBUaGF0IHdheSBmb3JlaWduIGtleXMgY2FuIGNvbXBhcmUgZmthdHRyIDxA IHJhbmdlX2FnZyhwa2F0dHIpLgogICogaW50ZXJzZWN0b3Blcm9pZCBpcyB1c2VkIGJ5IE5PIEFD VElPTiBjb25zdHJhaW50cyB0byB0cmltIHRoZSByYW5nZSBiZWluZyBjb25zaWRlcmVkCiAgKiB0 byBqdXN0IHdoYXQgd2FzIHVwZGF0ZWQvZGVsZXRlZC4KKyAqIGludGVyc2VjdHByb2NvaWQgaXMg dXNlZCB0byBsaW1pdCB0aGUgZWZmZWN0IG9mIENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQK KyAqIHdoZW4gdGhlIFBLIHJlY29yZCBpcyBjaGFuZ2VkIHdpdGggRk9SIFBPUlRJT04gT0YuCiAg Ki8KIHZvaWQKLUZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAotCQkJCSAgT2lkICpjb250 YWluZWRieW9wZXJvaWQsCi0JCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAotCQkJ CSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKQorRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9jcyhPaWQg b3BjbGFzcywKKwkJCQkJCSAgT2lkICpjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9pZCAq YWdnZWRjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9pZCAqaW50ZXJzZWN0b3Blcm9pZCwK KwkJCQkJCSAgT2lkICppbnRlcnNlY3Rwcm9jb2lkKQogewogCU9pZAkJCW9wZmFtaWx5ID0gSW52 YWxpZE9pZDsKIAlPaWQJCQlvcGNpbnR5cGUgPSBJbnZhbGlkT2lkOwpAQCAtMTY5Myw2ICsxNjk2 LDE3IEBAIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAogCQkJCQkJCSAgIGFnZ2VkY29u dGFpbmVkYnlvcGVyb2lkLAogCQkJCQkJCSAgICZzdHJhdCk7CiAKKwkvKgorCSAqIEhhcmRjb2Rl IGludGVyc2VjdCBvcGVyYXRvcnMgZm9yIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGJlY2F1c2Ug d2UKKwkgKiBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB0byBsb29rIHVwIG9wZXJhdG9ycyB0aGF0 IGFyZW4ndCB1c2VkIGluCisJICogaW5kZXhlcy4KKwkgKgorCSAqIElmIHlvdSBjaGFuZ2UgdGhp cyBjb2RlLCB5b3UgbXVzdCBjaGFuZ2UgdGhlIGNvZGUgaW4KKwkgKiB0cmFuc2Zvcm1Gb3JQb3J0 aW9uT2ZDbGF1c2UuCisJICoKKwkgKiBYWFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRv IGxvb2sgdXAgdGhlIG9wZXJhdG9yLCBwZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVz LgorCSAqLwogCXN3aXRjaCAob3BjaW50eXBlKQogCXsKIAkJY2FzZSBBTllSQU5HRU9JRDoKQEAg LTE3MDQsNiArMTcxOCwxNCBAQCBGaW5kRktQZXJpb2RPcGVycyhPaWQgb3BjbGFzcywKIAkJZGVm YXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNpbnR5 cGUpOwogCX0KKworCS8qCisJICogTG9vayB1cCB0aGUgaW50ZXJzZWN0IHByb2MuIFdlIHVzZSB0 aGlzIGluIHRlbXBvcmFsIGZvcmVpZ24ga2V5cyB3aXRoCisJICogQ0FTQ0FERS9TRVQgTlVMTC9T RVQgREVGQVVMVCB0byBidWlsZCB0aGUgRk9SIFBPUlRJT04gT0YgYm91bmRzLiBJZgorCSAqIHRo aXMgaXMgbWlzc2luZyB3ZSBkb24ndCBuZWVkIHRvIGNvbXBsYWluIGhlcmUsIGJlY2F1c2UgRk9S IFBPUlRJT04gT0YKKwkgKiB3aWxsIG5vdCBiZSBhbGxvd2VkLgorCSAqLworCSppbnRlcnNlY3Rw cm9jb2lkID0gZ2V0X29wY29kZSgqaW50ZXJzZWN0b3Blcm9pZCk7CiB9CiAKIC8qCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jCmluZGV4IDA3ZTViOTU3ODJlLi4yZTVjYTQ1ZjgzOSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKQEAgLTEwNTY0LDkgKzEwNTY0LDEwIEBAIEFUQWRkRm9yZWlnbktl eUNvbnN0cmFpbnQoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlv biByZWwsCiAJCU9pZAkJCXBlcmlvZG9wZXJvaWQ7CiAJCU9pZAkJCWFnZ2VkcGVyaW9kb3Blcm9p ZDsKIAkJT2lkCQkJaW50ZXJzZWN0b3Blcm9pZDsKKwkJT2lkCQkJaW50ZXJzZWN0cHJvY29pZDsK IAotCQlGaW5kRktQZXJpb2RPcGVycyhvcGNsYXNzZXNbbnVtcGtzIC0gMV0sICZwZXJpb2RvcGVy b2lkLCAmYWdnZWRwZXJpb2RvcGVyb2lkLAotCQkJCQkJICAmaW50ZXJzZWN0b3Blcm9pZCk7CisJ CUZpbmRGS1BlcmlvZE9wZXJzQW5kUHJvY3Mob3BjbGFzc2VzW251bXBrcyAtIDFdLCAmcGVyaW9k b3Blcm9pZCwgJmFnZ2VkcGVyaW9kb3Blcm9pZCwKKwkJCQkJCQkJICAmaW50ZXJzZWN0b3Blcm9p ZCwgJmludGVyc2VjdHByb2NvaWQpOwogCX0KIAogCS8qIEZpcnN0LCBjcmVhdGUgdGhlIGNvbnN0 cmFpbnQgY2F0YWxvZyBlbnRyeSBpdHNlbGYuICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRleCA0NGE0 NmI3ODI0Yi4uNTY4ZTk3M2I4YjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFs eXplLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMTUzOSw3ICsxNTM5 LDcgQEAgdHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJ LyoKIAkJICogV2hhdGV2ZXIgb3BlcmF0b3IgaXMgdXNlZCBmb3IgaW50ZXJzZWN0IGJ5IHRlbXBv cmFsIGZvcmVpZ24ga2V5cywKIAkJICogd2UgY2FuIHVzZSBpdHMgYmFja2luZyBwcm9jZWR1cmUg Zm9yIGludGVyc2VjdHMgaW4gRk9SIFBPUlRJT04gT0YuCi0JCSAqIFhYWDogU2hhcmUgY29kZSB3 aXRoIEZpbmRGS1BlcmlvZE9wZXJzPworCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBGaW5kRktQ ZXJpb2RPcGVyc0FuZFByb2NzPwogCQkgKi8KIAkJc3dpdGNoIChvcGNpbnR5cGUpCiAJCXsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKaW5kZXggMDU5ZmM1ZWJmNjAuLjY5ZjdkZTI1ZTIz IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwpAQCAtMTI4LDcgKzEyOCw4IEBAIHR5 cGVkZWYgc3RydWN0IFJJX0NvbnN0cmFpbnRJbmZvCiAJT2lkCQkJZmZfZXFfb3Byc1tSSV9NQVhf TlVNS0VZU107IC8qIGVxdWFsaXR5IG9wZXJhdG9ycyAoRksgPSBGSykgKi8KIAlPaWQJCQlwZXJp b2RfY29udGFpbmVkX2J5X29wZXI7CS8qIGFueXJhbmdlIDxAIGFueXJhbmdlICovCiAJT2lkCQkJ YWdnZWRfcGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVyOyAvKiBma2F0dHIgPEAgcmFuZ2VfYWdnKHBr YXR0cikgKi8KLQlPaWQJCQlwZXJpb2RfaW50ZXJzZWN0X29wZXI7CS8qIGFueXJhbmdlICogYW55 cmFuZ2UgKi8KKwlPaWQJCQlwZXJpb2RfaW50ZXJzZWN0X29wZXI7CS8qIGFueXJhbmdlICogYW55 cmFuZ2UgKG9yIG11bHRpcmFuZ2UpICovCisJT2lkCQkJcGVyaW9kX2ludGVyc2VjdF9wcm9jOwkv KiBhbnlyYW5nZSAqIGFueXJhbmdlIChvciBtdWx0aXJhbmdlKSAqLwogCWRsaXN0X25vZGUJdmFs aWRfbGluazsJCS8qIExpbmsgaW4gbGlzdCBvZiB2YWxpZCBlbnRyaWVzICovCiB9IFJJX0NvbnN0 cmFpbnRJbmZvOwogCkBAIC0yMzM3LDEwICsyMzM4LDExIEBAIHJpX0xvYWRDb25zdHJhaW50SW5m byhPaWQgY29uc3RyYWludE9pZCkKIAl7CiAJCU9pZAkJCW9wY2xhc3MgPSBnZXRfaW5kZXhfY29s dW1uX29wY2xhc3MoY29uRm9ybS0+Y29uaW5kaWQsIHJpaW5mby0+bmtleXMpOwogCi0JCUZpbmRG S1BlcmlvZE9wZXJzKG9wY2xhc3MsCi0JCQkJCQkgICZyaWluZm8tPnBlcmlvZF9jb250YWluZWRf Ynlfb3BlciwKLQkJCQkJCSAgJnJpaW5mby0+YWdnZWRfcGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVy LAotCQkJCQkJICAmcmlpbmZvLT5wZXJpb2RfaW50ZXJzZWN0X29wZXIpOworCQlGaW5kRktQZXJp b2RPcGVyc0FuZFByb2NzKG9wY2xhc3MsCisJCQkJCQkJCSAgJnJpaW5mby0+cGVyaW9kX2NvbnRh aW5lZF9ieV9vcGVyLAorCQkJCQkJCQkgICZyaWluZm8tPmFnZ2VkX3BlcmlvZF9jb250YWluZWRf Ynlfb3BlciwKKwkJCQkJCQkJICAmcmlpbmZvLT5wZXJpb2RfaW50ZXJzZWN0X29wZXIsCisJCQkJ CQkJCSAgJnJpaW5mby0+cGVyaW9kX2ludGVyc2VjdF9wcm9jKTsKIAl9CiAKIAlSZWxlYXNlU3lz Q2FjaGUodHVwKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWlu dC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50LmgKaW5kZXggNGFmY2ViNWM2 OTIuLjliNThmNjE4ZjllIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0 cmFpbnQuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaApAQCAtMjg4 LDEwICsyODgsMTEgQEAgZXh0ZXJuIHZvaWQgRGVjb25zdHJ1Y3RGa0NvbnN0cmFpbnRSb3coSGVh cFR1cGxlIHR1cGxlLCBpbnQgKm51bWZrcywKIAkJCQkJCQkJCSAgIEF0dHJOdW1iZXIgKmNvbmtl eSwgQXR0ck51bWJlciAqY29uZmtleSwKIAkJCQkJCQkJCSAgIE9pZCAqcGZfZXFfb3BycywgT2lk ICpwcF9lcV9vcHJzLCBPaWQgKmZmX2VxX29wcnMsCiAJCQkJCQkJCQkgICBpbnQgKm51bV9ma19k ZWxfc2V0X2NvbHMsIEF0dHJOdW1iZXIgKmZrX2RlbF9zZXRfY29scyk7Ci1leHRlcm4gdm9pZCBG aW5kRktQZXJpb2RPcGVycyhPaWQgb3BjbGFzcywKLQkJCQkJCQkgIE9pZCAqY29udGFpbmVkYnlv cGVyb2lkLAotCQkJCQkJCSAgT2lkICphZ2dlZGNvbnRhaW5lZGJ5b3Blcm9pZCwKLQkJCQkJCQkg IE9pZCAqaW50ZXJzZWN0b3Blcm9pZCk7CitleHRlcm4gdm9pZCBGaW5kRktQZXJpb2RPcGVyc0Fu ZFByb2NzKE9pZCBvcGNsYXNzLAorCQkJCQkJCQkJICBPaWQgKmNvbnRhaW5lZGJ5b3Blcm9pZCwK KwkJCQkJCQkJCSAgT2lkICphZ2dlZGNvbnRhaW5lZGJ5b3Blcm9pZCwKKwkJCQkJCQkJCSAgT2lk ICppbnRlcnNlY3RvcGVyb2lkLAorCQkJCQkJCQkJICBPaWQgKmludGVyc2VjdHByb2NvaWQpOwog CiBleHRlcm4gYm9vbCBjaGVja19mdW5jdGlvbmFsX2dyb3VwaW5nKE9pZCByZWxpZCwKIAkJCQkJ CQkJCSAgSW5kZXggdmFybm8sIEluZGV4IHZhcmxldmVsc3VwLAotLSAKMi40Ny4zCgo= --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0003-Add-isolation-tests-for-UPDATE-DELETE-FOR-PORTIO.patch" Content-Disposition: attachment; filename="v63-0003-Add-isolation-tests-for-UPDATE-DELETE-FOR-PORTIO.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfako2 RnJvbSBiZWE1NzM0NjE0MjU5MjQ1OGY1NjdjMGI3MWZjZTIzZTZmNzk3ZWEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMjUgMTk6NTk6NTIgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyAzLzhdIEFkZCBpc29sYXRpb24gdGVzdHMgZm9yIFVQREFURS9ERUxFVEUg Rk9SIFBPUlRJT04gT0YKCkNvbmN1cnJlbnQgdXBkYXRlcy9kZWxldGVzIGluIFJFQUQgQ09NTUlU VEVEIG1vZGUgZG9uJ3QgZ2l2ZSB5b3Ugd2hhdCB5b3Ugd2FudDoKdGhlIHNlY29uZCB1cGRhdGUv ZGVsZXRlIGZhaWxzIHRvIGxlZnRvdmVycyBmcm9tIHRoZSBmaXJzdCwgc28geW91IGVzc2VudGlh bGx5CmhhdmUgbG9zdCB1cGRhdGVzL2RlbGV0ZXMuIEJ1dCB3ZSBhcmUgZm9sbG93aW5nIHRoZSBy dWxlcywgYW5kIG90aGVyIFJEQk1TZXMKZ2l2ZSB5b3Ugc2NyZXd5IHJlc3VsdHMgaW4gUkVBRCBD T01NSVRURUQgdG9vIChhbGJlaXQgZGlmZmVyZW50KS4KCk9uZSBhcHByb2FjaCBpcyB0byBsb2Nr IHRoZSBoaXN0b3J5IHlvdSB3YW50IHdpdGggU0VMRUNUIEZPUiBVUERBVEUgYmVmb3JlCmlzc3Vp bmcgdGhlIGFjdHVhbCBVUERBVEUvREVMRVRFLiBUaGF0IHdheSB5b3Ugc2VlIHRoZSBsZWZ0b3Zl cnMgb2YgYW55b25lIGVsc2UKd2hvIGFsc28gdG91Y2hlZCB0aGF0IGhpc3RvcnkuIFRoZSBpc29s YXRpb24gdGVzdHMgaGVyZSB1c2UgdGhhdCBhcHByb2FjaCBhbmQKc2hvdyB0aGF0IGl0J3Mgdmlh YmxlLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcu Y29tPgotLS0KIGRvYy9zcmMvc2dtbC9kbWwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMTYgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwg ICAgNCArCiAuLi4vaXNvbGF0aW9uL2V4cGVjdGVkL2Zvci1wb3J0aW9uLW9mLm91dCAgICAgfCA1 ODAzICsrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVk dWxlICAgICAgICAgfCAgICAxICsKIHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9ydGlv bi1vZi5zcGVjICB8ICA3NTAgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDY1NzQgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9mb3ItcG9y dGlvbi1vZi5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mv Zm9yLXBvcnRpb24tb2Yuc3BlYwoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kbWwuc2dtbCBi L2RvYy9zcmMvc2dtbC9kbWwuc2dtbAppbmRleCBjNWUzOWQ0ZWNhNS4uZDE1NmQwYzkzMTYgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9kbWwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZG1sLnNn bWwKQEAgLTM5Myw2ICszOTMsMjIgQEAgV0hFUkUgcHJvZHVjdF9ubyA9IDU7CiAgICBjb2x1bW4g cmVmZXJlbmNlcyBhcmUgbm90LgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBJbiA8bGl0ZXJh bD5SRUFEIENPTU1JVFRFRDwvbGl0ZXJhbD4gbW9kZSwgdGVtcG9yYWwgdXBkYXRlcyBhbmQgZGVs ZXRlcyBjYW4KKyAgIHlpZWxkIHVuZXhwZWN0ZWQgcmVzdWx0cyB3aGVuIHRoZXkgY29uY3VycmVu dGx5IHRvdWNoIHRoZSBzYW1lIHJvdy4gSXQgaXMKKyAgIHBvc3NpYmxlIHRvIGxvc2UgYWxsIG9y IHBhcnQgb2YgdGhlIHNlY29uZCB1cGRhdGUgb3IgZGVsZXRlLiBUaGF0J3MgYmVjYXVzZQorICAg YWZ0ZXIgdGhlIGZpcnN0IHVwZGF0ZSBjaGFuZ2VzIHRoZSBzdGFydC9lbmQgdGltZXMgb2YgdGhl IG9yaWdpbmFsCisgICByZWNvcmQsIGl0IG1heSBubyBsb25nZXIgZml0IHdpdGhpbiB0aGUgc2Vj b25kIHF1ZXJ5J3MgPGxpdGVyYWw+Rk9SIFBPUlRJT04KKyAgIE9GPC9saXRlcmFsPiBib3VuZHMs IHNvIGl0IGJlY29tZXMgZGlzcXVhbGlmaWVkIGZyb20gdGhlIHF1ZXJ5LiBPbiB0aGUgb3RoZXIK KyAgIGhhbmQgdGhlIGp1c3QtaW5zZXJ0ZWQgdGVtcG9yYWwgbGVmdG92ZXJzIG1heSBiZSBvdmVy bG9va2VkIGJ5IHRoZSBzZWNvbmQgcXVlcnksCisgICB3aGljaCBoYXMgYWxyZWFkeSBzY2FubmVk IHRoZSB0YWJsZSB0byBmaW5kIHJvd3MgdG8gbW9kaWZ5LiBUbyBzb2x2ZSB0aGVzZQorICAgcHJv YmxlbXMsIHByZWNlZGUgZXZlcnkgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZSB3aXRoIGEgPGxpdGVy YWw+U0VMRUNUIEZPUgorICAgVVBEQVRFPC9saXRlcmFsPiBtYXRjaGluZyB0aGUgc2FtZSBjcml0 ZXJpYSAoaW5jbHVkaW5nIHRoZSB0YXJnZXRlZCBwb3J0aW9uIG9mCisgICBhcHBsaWNhdGlvbiB0 aW1lKS4gVGhhdCB3YXkgdGhlIGFjdHVhbCB1cGRhdGUvZGVsZXRlIGRvZXNuJ3QgYmVnaW4gdW50 aWwgdGhlCisgICBsb2NrIGlzIGhlbGQsIGFuZCBhbGwgY29uY3VycmVudCBsZWZ0b3ZlcnMgd2ls bCBiZSB2aXNpYmxlLiBJbiBvdGhlcgorICAgdHJhbnNhY3Rpb24gaXNvbGF0aW9uIGxldmVscywg dGhpcyBsb2NrIGlzIG5vdCByZXF1aXJlZC4KKyAgPC9wYXJhPgorCiAgIDxwYXJhPgogICAgV2hl biB0ZW1wb3JhbCBsZWZ0b3ZlcnMgYXJlIGluc2VydGVkLCBhbGwgPGxpdGVyYWw+SU5TRVJUPC9s aXRlcmFsPgogICAgdHJpZ2dlcnMgYXJlIGZpcmVkLCBidXQgcGVybWlzc2lvbiBjaGVja3MgZm9y IGluc2VydGluZyByb3dzIGFyZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9k ZU1vZGlmeVRhYmxlLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYwpp bmRleCAwNTRjZjE4OTdkYS4uOTNiNmM3NDkwODMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVN b2RpZnlUYWJsZS5jCkBAIC0xNDM3LDYgKzE0MzcsMTAgQEAgRXhlY0ZvclBvcnRpb25PZkxlZnRv dmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJICogV2UgaGF2ZSBhbHJlYWR5IGxv Y2tlZCB0aGUgdHVwbGUgaW4gRXhlY1VwZGF0ZS9FeGVjRGVsZXRlLCBhbmQgaXQgaGFzCiAJICog cGFzc2VkIEV2YWxQbGFuUXVhbC4gVGhpcyBlbnN1cmVzIHRoYXQgY29uY3VycmVudCB1cGRhdGVz IGluIFJFQUQKIAkgKiBDT01NSVRURUQgY2FuJ3QgaW5zZXJ0IGNvbmZsaWN0aW5nIHRlbXBvcmFs IGxlZnRvdmVycy4KKwkgKgorCSAqIEl0IGRvZXMgKm5vdCogcHJvdGVjdCBhZ2FpbnN0IGNvbmN1 cnJlbnQgdXBkYXRlL2RlbGV0ZXMgb3Zlcmxvb2tpbmcKKwkgKiBlYWNoIG90aGVycycgbGVmdG92 ZXJzIHRob3VnaC4gU2VlIG91ciBpc29sYXRpb24gdGVzdHMgZm9yIGRldGFpbHMKKwkgKiBhYm91 dCB0aGF0IGFuZCBhIHZpYWJsZSB3b3JrYXJvdW5kLgogCSAqLwogCWlmICghdGFibGVfdHVwbGVf ZmV0Y2hfcm93X3ZlcnNpb24ocmVzdWx0UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLCB0dXBsZWlk LCBTbmFwc2hvdEFueSwgb2xkdHVwbGVTbG90KSkKIAkJZWxvZyhFUlJPUiwgImZhaWxlZCB0byBm ZXRjaCB0dXBsZSBmb3IgRk9SIFBPUlRJT04gT0YiKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lz b2xhdGlvbi9leHBlY3RlZC9mb3ItcG9ydGlvbi1vZi5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvZm9yLXBvcnRpb24tb2Yub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi44OWY2NDZkZDg5OQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xh dGlvbi9leHBlY3RlZC9mb3ItcG9ydGlvbi1vZi5vdXQKQEAgLTAsMCArMSw1ODAzIEBACitQYXJz ZWQgdGVzdCBzcGVjIHdpdGggMiBzZXNzaW9ucworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFy YyBzMnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMg czFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0 ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMmxv Y2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScg QU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIgQlkgdmFs aWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAn MjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBw cm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0w MSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93KQor CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0g OC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy NS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFsb2NrMjAyNSBzMXVw ZDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01N SVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJsb2NrMjAyNTAzOiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKScKKyAg T1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAz OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg JiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBE QVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUtMDQt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDMtMDEpfCA4LjAw CitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDQtMDEs MjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCiso NSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTIw MjYgczJ1cGQyMDI1MjAyNiBzMmMgczFsb2NrMjAyNSBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBz MXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTIwMjY6 IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBG T1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAy Ni0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9k dWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwy MDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDYtMDEsMjAyNi0wNi0wMSl8MTAuMDAKKygyIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDYtMDEpfCA4 LjAwCitbMSwyKXxbMjAyNS0wNi0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAyNi0wNi0wMSl8MTAuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoNSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczFsb2NrMjAy NSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFyYzog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYg J1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRF OworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBT RVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUg aWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisg IE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjc6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy Ny0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEt MDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoNSByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczFs b2NrMjAyNSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFxCitz dGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMWxvY2syMDI1 OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQg Rk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFjOiBDT01NSVQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVj dHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAy NS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKKygxIHJvdykKKworc3Rl cCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEw LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczJsb2NrMjAyNTIwMjYgczJ1cGQy MDI1MjAyNiBzMmMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENP TU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVE Oworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAg T1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTog CisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMybG9jazIwMjUyMDI2OiAKKyAg U0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0 ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQ REFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwg OC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKK3N0 ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDEtMDEp fDEwLjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIwMjYt MDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMydXBkMjAyNyBzMWxvY2syMDI1IHMyYyBzMXVwZDIw MjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRU RUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0 ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAn WzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVS IEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjc6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0w MScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBX SEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAx KScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+CitzdGVw IHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZhbGlk X2F0fHByaWNlCistLSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMXVwZDIwMjU6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0w MSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy Ny0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxv Y2syMDI1MDMgczJ1cGQyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0 ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJj OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUw MzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0 IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAy NS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0g J1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRF UiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01N SVQ7CitzdGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorKDEgcm93KQorCitzdGVwIHMxdXBk MjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1 LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8IDguMDAKK1sxLDIp fFsyMDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJj IHMybG9jazIwMjUyMDI2IHMydXBkMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMx YyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOwor c3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMy bG9jazIwMjUyMDI2OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIg QlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAx LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+Citz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wNi0wMSl8MTAuMDAKKygxIHJvdykK Kworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDEtMDEp fCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIwMjYt MDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAyNSBzMXVwZDIw MjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRU RUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0 ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAn WzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVS IEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3 LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAx LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwy MDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sx LDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBzMWxv Y2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQg Q09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz CisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIwMjUt MDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAg czJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNU ICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdb MjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsK KworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAor WzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKK3N0ZXAgczF1 cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIw MjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEs Mil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBz MWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF QUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJv ZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEs MjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKwor c3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTogCisg IFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9h dCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBV UERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8 IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTA2 LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVwZDIwMjUgczFjIHMybG9jazIwMjcgczJkZWwyMDI3 IHMyYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVE Oworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVw IHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sx LDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBC WSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZS T00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjct MDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJv dykKKworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAy Ni0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczF1cGQyMDI1IHMxYyBzMmxvY2syMDI1 MDMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENP TU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAg V0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0w MSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVw ZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1MDM6 IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIwMjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBG T1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEt MDEpfCA4LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAn MjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEs Mil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYt MDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczF1cGQy MDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFyYzog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYg J1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRF OworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBT RVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczJsb2NrMjAyNTIwMjY6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdI RVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEp JworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0w MScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyYyBzMnJjIHMybG9jazIwMjcgczJkZWwyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBz MWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBz MmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIgQlkg dmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEt MDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFsb2Nr MjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlk X2F0IEZPUiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAg czFsb2NrMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0tLS0t LS0rLS0tLS0KKygwIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0w MSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAy Ni0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxv Y2syMDI1MDMgczJkZWwyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0 ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJj OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUw MzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0 IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRP ICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFsb2NrMjAyNTog CisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZP UiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2Nr MjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0tLS0tLS0rLS0t LS0KKygwIHJvd3MpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJwor ICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0w MSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK Kyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1 MjAyNiBzMmRlbDIwMjUyMDI2IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVw IHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MjAy NjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0 IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZS T00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScg VE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1 OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQg Rk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxv Y2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZhbGlkX2F0fHByaWNlCistLSstLS0tLS0tLSst LS0tLQorKDAgcm93cykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTA2 LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJjIHMycmMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1 IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVE Oworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVw IHMybG9jazIwMjc6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sx LDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI3LTAxLTAxLDIwMjgtMDEtMDEpJworICBPUkRFUiBC WSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1 LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCisoMSBy b3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIw MjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEs Mil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJ1cGQyMDI1MDMgczJjIHMxbG9j azIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBD T01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMK KyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDMtMDEsMjAyNS0w NC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBz MnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2sy MDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5E IHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRf YXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIp fFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUyMDI2 IHMydXBkMjAyNTIwMjYgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUyMDI2OiAK KyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9S IFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYt MDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVj dHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAy Ni0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2 LTAxLDIwMjYtMDYtMDEpfDEwLjAwCisoMiByb3dzKQorCitzdGVwIHMxZGVsMjAyNTogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIwMjYt MDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMnVwZDIw MjcgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRU RUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0 ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAn WzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVS IEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAx LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMy dXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEs MjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitb MSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMmxvY2sy MDI1MDMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFE IENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMK KyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0w MS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBz MWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1sy MDI1LTAzLTAxLDIwMjUtMDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOwor CitpZHx2YWxpZF9hdHxwcmljZQorLS0rLS0tLS0tLS0rLS0tLS0KKygwIHJvd3MpCisKK3N0ZXAg czJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMybG9jazIwMjUyMDI2IHMydXBk MjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBD T01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRF RDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUg aWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisg IE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00g cHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYt MDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykK Kworc3RlcCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJp Y2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJy YyBzMmxvY2syMDI3IHMydXBkMjAyNyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQor c3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMy cmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAy NzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0 IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjc6IAorICBVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgt MDEtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIg QlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlU Oworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZhbGlkX2F0fHByaWNlCist LSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUg RlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09N TUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4w MAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAx LDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUw MyBzMnVwZDIwMjUwMyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJj OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTAzOiAKKyAg U0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0 ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQ REFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAx JworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFs b2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZh bGlkX2F0IEZPUiBVUERBVEU7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczFsb2NrMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w MS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dz KQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTIwMjYgczJ1 cGQyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJsb2NrMjAyNTIwMjY6IAorICBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg JiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBE QVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0w MScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx bG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIp JyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2 YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyNS0wNi0wMSwyMDI2LTA2LTAxKXwxMC4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI2LTA2LTAxKXwxMC4wMAorWzEsMil8 WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAyNSBz MWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBD T01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRF RDsKK3N0ZXAgczJsb2NrMjAyNzogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUg aWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjctMDEtMDEsMjAyOC0wMS0wMSknCisg IE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6 IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9k dWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwy MDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitz dGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisK Kworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJkZWwyMDI1 MDMgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUwMzogCisgIFNFTEVDVCAqIEZS T00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUt MDMtMDEsMjAyNS0wNC0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJv dykKKworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6 IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBG T1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMt MDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykK Kworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJy YyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBz MWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsK K3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBz MmxvY2syMDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAn WzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVS IEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAg fHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVDVCAqIEZST00gcHJvZHVj dHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDEtMDEsMjAy Ni0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKKygxIHJvdykKKworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcmMgczJyYyBzMWxv Y2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBz MXJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisg IFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9h dCAmJiAnWzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBV UERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBz MmxvY2syMDI3OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKScKKyAgT1JERVIgQlkg dmFsaWRfYXQgRk9SIFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyNi0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEt MDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBzMWMgczJsb2NrMjAyNTAzIHMyZGVsMjAy NTAzIHMyYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlU VEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7Citz dGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0g J1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRF UiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAg REVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MWM6IENPTU1JVDsKK3N0ZXAgczJsb2NrMjAyNTAzOiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0 cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1 LTA0LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKworaWR8dmFsaWRfYXR8 cHJpY2UKKy0tKy0tLS0tLS0tKy0tLS0tCisoMCByb3dzKQorCitzdGVwIHMyZGVsMjAyNTAzOiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w MS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dz KQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRlbDIw MjUgczFjIHMybG9jazIwMjUyMDI2IHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJjOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMycmM6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczFsb2NrMjAyNTogCisgIFNFTEVD VCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCAmJiAn WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSknCisgIE9SREVSIEJZIHZhbGlkX2F0IEZPUiBVUERBVEU7 CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK KygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmxvY2sy MDI1MjAyNjogCisgIFNFTEVDVCAqIEZST00gcHJvZHVjdHMKKyAgV0hFUkUgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCAmJiAnWzIwMjUtMDYtMDEsMjAyNi0wNi0wMSknCisgIE9SREVSIEJZIHZh bGlkX2F0IEZPUiBVUERBVEU7CisKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjYtMDEtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVM RVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisK K3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNyBzMmRlbDIwMjcgczFs b2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFyYzogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjc6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1 Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI3LTAxLTAxLDIw MjgtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWxvY2syMDI1OiAKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cwor ICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAx LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKKyA8d2FpdGluZyAuLi4+Citz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWxvY2syMDI1OiA8Li4uIGNvbXBsZXRlZD4KK2lkfHZh bGlkX2F0fHByaWNlCistLSstLS0tLS0tLSstLS0tLQorKDAgcm93cykKKworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sx LDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMxbG9jazIw MjUgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcmM6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRUFEIENPTU1JVFRFRDsKK3N0ZXAgczJyYzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQg Q09NTUlUVEVEOworc3RlcCBzMmxvY2syMDI1MDM6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz CisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAzLTAxLDIwMjUt MDQtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworCitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAg czJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxbG9jazIwMjU6IAorICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisg IFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEt MDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1IgVVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIwMjU6IDwuLi4gY29tcGxldGVkPgoraWR8dmFs aWRfYXR8cHJpY2UKKy0tKy0tLS0tLS0tKy0tLS0tCisoMCByb3dzKQorCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyYyBzMnJjIHMybG9jazIwMjUyMDI2 IHMyZGVsMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFy YzogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOworc3RlcCBzMnJjOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVBRCBDT01NSVRURUQ7CitzdGVwIHMybG9jazIwMjUyMDI2OiAK KyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0ICYmICdbMjAyNS0wNi0wMSwyMDI2LTA2LTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9S IFVQREFURTsKKworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAn MjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxbG9jazIwMjU6IAor ICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf YXQgJiYgJ1syMDI1LTAxLTAxLDIwMjYtMDEtMDEpJworICBPUkRFUiBCWSB2YWxpZF9hdCBGT1Ig VVBEQVRFOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxbG9jazIw MjU6IDwuLi4gY29tcGxldGVkPgoraWR8dmFsaWRfYXR8cHJpY2UKKy0tKy0tLS0tLS0tKy0tLS0t CisoMCByb3dzKQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0w Ni0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFyciBzMnJyIHMydXBkMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBE QVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEn IFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAy Ni0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8 WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEt MDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNTAzIHMyYyBzMXVw ZDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFE Oworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEt MDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfCA4LjAw CitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMx cnIgczJyciBzMnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnVwZDIwMjUyMDI2OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYt MDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAn MjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEs Mil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYt MDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJ1 cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVB RDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2Ug PSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0w MSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFy ciBzMnJyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8g JzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0w NC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsy MDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAx KXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisK Kworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMydXBkMjAy NTIwMjYgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFE Oworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBz MnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4w MAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0w MS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAu MDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyciBzMnJyIHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2Ug PSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBu b3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMnVwZDIwMjUwMyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0w MScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBw cmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAg czJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNv dWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBz MWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0w MSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAy NS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRh dGlvbjogczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVw IHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAyNTIw MjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4u Lj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitF UlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0 ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitb MSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMnVwZDIwMjcgczJjIHMxdXBkMjAyNSBzMWMg czFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisK K3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAx MC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3Mg ZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEt MDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMydXBk MjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcy MDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAg Y291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAz LTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsy MDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMgczFx CitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2 LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMXVw ZDIwMjUgczFjIHMydXBkMjAyNyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJwor ICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAw CitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAz IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVB RDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJv dykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEw LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAg czFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVw ZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUyMDI2 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2 LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAuMDAKK1sxLDIpfFsy MDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMx cSBzMnVwZDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2Ug PSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBu b3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMx cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQy MDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5n IC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+ CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVw ZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAw CitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMnVwZDIwMjUyMDI2IHMxdXBkMjAyNSBz MmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEg cm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNF VCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBk MjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2 LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVsMjAy NyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVB VEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEn CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1cGQy MDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYt MDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxcnIgczJyciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0 ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI1 MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVs MjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAn MjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOwor c3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDgu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczF1cGQy MDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQ RUFUQUJMRSBSRUFEOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisg IFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09N TUlUOworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAy Ni0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQor c3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBz MnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUwMzogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIw MjUtMDQtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEp fCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczF1 cGQyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2 LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAy NS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8 IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMmRl bDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRP ICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK KyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4g Y29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29u Y3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJy IHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRP ICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIw MjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBk dWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wNC0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAor ICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlh bGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEs Mil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcg cGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMx cQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3Rl cCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitz dGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBU TyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQg ZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczJk ZWwyMDI1MDMgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUg RlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAx JyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09N TUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmlj ZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sx LDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBz MWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cp CisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTog CisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNv bmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJy ciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQ REFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitb MSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAy Ny0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCBy b3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxdXBkMjAyNSBz MWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEn CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAx LTAxLDIwMjUtMDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4w MAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3Rh cnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUy MDI2IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygx IHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBw cmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUt MDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMmRlbDIwMjcgczF1 cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBF QVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8g JzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor IDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBj b21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25j dXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIg czFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNTAzOiAKKyAg REVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxp emUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIp fFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMg czFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7Citz dGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMx cTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2 YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisK K3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAu Li4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgor RVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxl dGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNyBz MmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF UEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQg cHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7 CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsy MDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXJyIHMycnIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVw IHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAyNTAz OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczJjIHMxZGVs MjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmlj ZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEp fDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI3 IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVB RDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0 ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAor WzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJy IHMycnIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJp Y2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMgczFx CitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIw MjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwy KXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFyciBzMnJyIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0 ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI3 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09N TUlUOworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qg c2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAw CitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMx cnIgczJyciBzMnVwZDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERB VEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScg VE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVw IHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUg YWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAg czFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsy MDI1LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMy dXBkMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIw MjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVs MjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2 LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMnVw ZDIwMjcgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBS RVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4 LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6 ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIg czFxIHMydXBkMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTAzOiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMt MDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBG Uk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEn IFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQg bm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwg NS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0 LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTIwMjYgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVw IHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1 cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVw ZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMWRlbDIwMjUgczFjIHMydXBkMjAyNyBz MmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cp CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1cGQyMDI3OiAKKyAg VVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEt MDEnIFRPICcyMDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBz MXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1 LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMWRlbDIwMjUgczFj IHMydXBkMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg UkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVw IHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEw LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2 LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBz MnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI3OiAKKyAgVVBEQVRFIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcy MDI4LTAxLTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRl bDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2Vz cyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNy0w MS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMXEgczJ1 cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8g JzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx ZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTAzLTAxLDIwMjUtMDQtMDEpfDEwLjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBz MnVwZDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0w MScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxp emUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIp fFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJy IHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIw MjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIw MjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOwor c3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczJjIHMxZGVs MjAyNSBzMWMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMyZGVs MjAyNyBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7 CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMyZGVsMjAyNzogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjct MDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTAzIHMyYyBzMXEKK3N0ZXAgczFy cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAg REVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBz MWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0w MScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxcnIgczJyciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3RlcCBz MXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMWRlbDIwMjU6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYt MDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAg czFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAg fHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsy MDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11 dGF0aW9uOiBzMXJyIHMycnIgczJkZWwyMDI3IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBz MXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjc6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdb MSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1 OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVl IHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMx cnIgczJyciBzMmRlbDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFycjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAz LTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVs MjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4u IGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNv bmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxcnIgczJy ciBzMmRlbDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0w MScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor IDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBj b21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25j dXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIg czFxIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAx LTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBz MXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVs MjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00g cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8g JzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qg c2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAw CitbMSwyKXxbMjAyNS0wNC0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFyciBzMnJyIHMxcSBzMmRlbDIwMjUyMDI2IHMyYyBzMWRlbDIw MjUgczFjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEg cm93KQorCitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRl bGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxZGVs MjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKK3N0ZXAgczFycjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRDsKK3N0ZXAgczJycjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJF UEVBVEFCTEUgUkVBRDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAn MjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOwor c3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0w MSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQor CisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJk ZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMyZGVs MjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXJyIHMycnIgczFxIHMxZGVs MjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxcnI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZS T00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFy ciBzMnJyIHMxcSBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxcnI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMycnI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAy NTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1 ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXJy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMnJyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAy NTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx ZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNj ZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFx OiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZh bGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCitz dGVwIHMxcnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMy cnI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAg czJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlU Oworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2Vy aWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDYtMDEpfCA1LjAwCitb MSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMx cQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAg czJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAy NzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0w MScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDgu MDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNy0wMS0w MSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK Kyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMydXBkMjAy NTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBT RVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01N SVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNl ID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxb MjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0w MSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAy Ni0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRh dGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0 ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2Vy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUyMDI2 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQ REFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAx JyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4w MAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAx LDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczF1cGQyMDI1 IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHBy aWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7Citz dGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6 IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFs aWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUt MDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1 LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgtMDEt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNl cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBU TyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7 CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1 LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAxKXwgOC4wMAorWzEsMil8 WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEt MDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczF1cGQyMDI1IHMxYyBzMnVw ZDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxF Oworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBz MnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4w MAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0w MS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAu MDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFzZXIgczJzZXIgczJ1cGQyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjog QkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElT T0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAn MjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0g OC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90 IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09N TUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4w MAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXNlciBzMnNlciBzMnVwZDIwMjUwMyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFU RSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBU TyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNl ID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQg bm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwg NS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0 LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBz MXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNTIwMjY6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w Ni0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNF VCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjog IGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w Ni0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxb MjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEK K3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMy dXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBj b25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgt MDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAz IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEn CisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6 IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQg cHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qg c2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01N SVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAw CitbMSwyKXxbMjAyNS0wMy0wMSwyMDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUtMDQtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMx c2VyIHMyc2VyIHMxcSBzMnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBz MXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1 MjAyNjogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAor ICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0w MS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25j dXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYt MDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMg czJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxF Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDEgcm93KQorCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VU IHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7 CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNy0wMS0wMSwyMDI4LTAxLTAxKXwxMC4wMAorWzEsMil8WzIwMjgt MDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg1IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRp b246IHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKK3N0 ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2Vy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAq IEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAg ICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitb MSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxdXBk MjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTAzOiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBw cm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAg ICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsy MDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTAzLTAx KXwgOC4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDUgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFx IHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJ U09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUg cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8g JzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMnVwZDIwMjUyMDI2OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2 LTA2LTAxJworICBTRVQgcHJpY2UgPSAxMC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUt MDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8 WzIwMjUtMDYtMDEsMjAyNi0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYt MDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDUgcm93cykK KworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMXVw ZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxF Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAor KDEgcm93KQorCitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VU IHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxdXBkMjAyNTog CisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1cGQy MDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3Mg ZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEt MDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczJ1 cGQyMDI1MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0w MS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAy NS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4w MAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1J VDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNl cmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlU Oworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAor WzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNl ciBzMnNlciBzMXEgczJ1cGQyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFz ZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMydXBkMjAyNTIw MjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEn CisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4u Lj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitF UlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0 ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitb MSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMx cQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAg czJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAy NzogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0w MScKKyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFj OiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEp fCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8WzIwMjYt MDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRl bDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwg U0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0 LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwy MDI1LTAzLTAxKXwgOC4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sx LDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoNCByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFj IHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0 ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVs MjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJv ZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIw MjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1 LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNS0wNi0wMSl8IDguMDAKK1sxLDIp fFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNyBzMmMgczFxCitz dGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNl cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczF1cGQyMDI1OiAK KyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0w MScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUu MDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjYtMDEtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wMS0w MSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK Kyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxdXBkMjAy NSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExF VkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJ QUxJWkFCTEU7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VU IHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7 CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBG Uk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAg ICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEs Mil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIwMjUt MDMtMDEpfCA4LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDI2LTAxLTAxKXwgOC4wMAorWzEsMil8 WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKyg0IHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFx CitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczF1cGQyMDI1 OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEt MDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMS0wMSwyMDI1LTA2LTAxKXwgOC4wMAorWzEsMil8WzIw MjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0 YXRpb246IHMxc2VyIHMyc2VyIHMyZGVsMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAg czFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjc6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3 LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6 ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8 WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxc2VyIHMyc2VyIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQor c3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJz ZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNTAz OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDgu MDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01N SVQ7CitzdGVwIHMxdXBkMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBz ZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAK K1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMg czFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsK K3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy ZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VU IHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAg Y291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVw IHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2 LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjcgczJj IHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VS SUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJM RTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK KygxIHJvdykKKworc3RlcCBzMmRlbDIwMjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIw MjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0 byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNl ciBzMnNlciBzMXEgczJkZWwyMDI1MDMgczJjIHMxdXBkMjAyNSBzMWMgczFxCitzdGVwIHMxc2Vy OiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMmRlbDIwMjUwMzog CisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMjUtMDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxdXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScK KyAgU0VUIHByaWNlID0gOC4wMAorICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291 bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisK Kworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMy YyBzMXVwZDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNF UklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2 LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisKK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3Mg ZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTA2LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYt MDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246 IHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNyBzMmMgczFxCitzdGVwIHMx c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6 IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAy NS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNFVCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjc6IAorICBERUxF VEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAx LTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzog Q09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwg NS4wMAorWzEsMil8WzIwMjUtMDEtMDEsMjAyNi0wMS0wMSl8IDguMDAKK1sxLDIpfFsyMDI2LTAx LTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4w MAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMx dXBkMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFU SU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAt MDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1 Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2 LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0w NC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIw MjUtMDEtMDEsMjAyNS0wMy0wMSl8IDguMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMjYtMDEtMDEp fCA4LjAwCitbMSwyKXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMgczJk ZWwyMDI1MjAyNiBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VS SUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJM RTsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAK KygxIHJvdykKKworc3RlcCBzMXVwZDIwMjU6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFNF VCBwcmljZSA9IDguMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlU Oworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTAxLTAxLDIw MjUtMDYtMDEpfCA4LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMyZGVsMjAy NyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZF TCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFM SVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9NIHByb2R1Y3Rz CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRPICcyMDI4LTAx LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRF IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRP ICcyMDI2LTAxLTAxJworICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK KyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4g Y29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29u Y3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJz ZXIgczFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMx dXBkMjAyNTogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgU0VUIHByaWNlID0gOC4wMAorICBX SEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0 ZXAgczF1cGQyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6 ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3Rl cCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQg ICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8 WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVy bXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFj IHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0 ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0 ZXAgczJkZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK3N0ZXAgczF1cGQyMDI1OiAKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJwor ICBTRVQgcHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2FpdGluZyAuLi4+ CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXVwZDIwMjU6IDwuLi4gY29tcGxldGVkPgorRVJS T1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVudCBkZWxldGUK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIg cm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczJ1cGQyMDI3IHMy YyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNF UklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNl ID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3Rl cCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJv ZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAg ICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAy MC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8 IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0w MS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlv bjogczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCitzdGVwIHMx c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBV UERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0w MScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZS T00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScg VE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0 aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMyYyBzMWRlbDIwMjUg czFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsK K3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy dXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwy MDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK Kworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNl CistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEs MjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitb MSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGlu ZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjcgczJjIHMx cQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAg czJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0w MScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMy YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3 LTAxLTAxLDIwMjgtMDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDQgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFk ZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBzMmMgczFxCitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1 cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXNlciBzMnNlciBzMWRlbDIwMjUgczFjIHMydXBkMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXNl cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNF VCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1J VDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAK K1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFz ZXIgczJzZXIgczJ1cGQyMDI3IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAy OC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwy MDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3Mg ZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNF TEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRf YXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjctMDEt MDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVwZDIw MjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VS SUFMSVpBQkxFOworc3RlcCBzMnVwZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAg U0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7Cisg PHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNv bXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1 cnJlbnQgdXBkYXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0w MSl8MTAuMDAKK1sxLDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQor CisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMnVwZDIwMjUyMDI2IHMxZGVs MjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklB TElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7 CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmlj ZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5n IC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+ CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVw ZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAw CitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMmMgczFkZWwyMDI1 IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7 CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQor CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0g MTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJy ZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHBy b2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAg ICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIw MjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgtMDEtMDEp fDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKwor CitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMyYyBz MWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklB TElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7 CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCiso MSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNF VCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1J VDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUg dG8gY29uY3VycmVudCB1cGRhdGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wMy0wMSwy MDI1LTA0LTAxKXwxMC4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygz IHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIw MjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJ1cGQyMDI1MjAyNjogCisgIFVQREFURSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAy Ni0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitz dGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0w MS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxp emUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0 ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lk ICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIp fFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAx LTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJz ZXIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lO IElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJ T04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJp Y2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVU RSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEt MDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBD T01NSVQ7CitzdGVwIHMydXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHBy aWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOwor c3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor aWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEs Mil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI3LTAxLTAxLDIwMjgt MDEtMDEpfDEwLjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDQgcm93 cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxZGVsMjAyNSBz MWMgczJ1cGQyMDI1MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJ1 cGQyMDI1MDM6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxF Q1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0 ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MXNlciBzMnNlciBzMXEgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKK3N0ZXAg czFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBC RUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZS T00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAg ICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwy KXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisK K3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMydXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYt MDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3Rl cCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w MS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxb MjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEK K3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMy dXBkMjAyNzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcy MDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBz MmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291 bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI3LTAxLTAx KXwgNS4wMAorWzEsMil8WzIwMjctMDEtMDEsMjAyOC0wMS0wMSl8MTAuMDAKK1sxLDIpfFsyMDI4 LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCitz dGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMnNl cjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczFxOiBTRUxFQ1Qg KiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAg ICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQor WzEsMil8WzIwMjAtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygxIHJvdykKKworc3RlcCBzMnVw ZDIwMjUwMzogCisgIFVQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcy MDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBz MmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNvbXBsZXRlZD4KK0VSUk9SOiAgY291 bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1cnJlbnQgdXBkYXRlCitzdGVwIHMx YzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAzLTAx KXwgNS4wMAorWzEsMil8WzIwMjUtMDMtMDEsMjAyNS0wNC0wMSl8MTAuMDAKK1sxLDIpfFsyMDI1 LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0 aW9uOiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBzMXEK K3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMy c2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVD VCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQg ICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t CitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMy dXBkMjAyNTIwMjY6IAorICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAw CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJP TSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBU TyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0 ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjog IGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQorc3Rl cCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0w Ni0wMSl8IDUuMDAKK1sxLDIpfFsyMDI1LTA2LTAxLDIwMjYtMDYtMDEpfDEwLjAwCitbMSwyKXxb MjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFydGluZyBwZXJt dXRhdGlvbjogczFzZXIgczJzZXIgczJkZWwyMDI3IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3Rl cCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6 IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNzogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjctMDEtMDEnIFRPICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAx JworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTog U0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxp ZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0w MS0wMSwyMDI3LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjgtMDEtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygzIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMyZGVs MjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNTAzOiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFk ZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAw CisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIw MjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9O IExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBT RVJJQUxJWkFCTEU7CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0 cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0w Ni0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBz MWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVj dHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8 cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0w MS0wMSwyMDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDYtMDEsMjAzMC0wMS0wMSl8IDUu MDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxZGVs MjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VS SUFMSVpBQkxFOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIw Mjc6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI3LTAxLTAxJyBUTyAnMjAyOC0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwy MDI1LTAxLTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sx LDIpfFsyMDI4LTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMyByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMWRlbDIwMjUgczFjIHMyZGVsMjAyNTAzIHMyYyBz MXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERFTEVURSBGUk9NIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDMtMDEnIFRPICcy MDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7Citz dGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citp ZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwy KXxbMjAyNi0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBw ZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBz MXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRFIEZST00g cHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8g JzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sx LDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFx CitzdGVwIHMxc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MnNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJkZWwyMDI3 OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor c3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworIDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVs MjAyNTogPC4uLiBjb21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNz IGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBT RUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlk X2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNy0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI4LTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9u OiBzMXNlciBzMnNlciBzMmRlbDIwMjUwMyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFz ZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJ TiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUwMzogCisgIERF TEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUt MDMtMDEnIFRPICcyMDI1LTA0LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFk ZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IDwu Li4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8g Y29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICog RlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAg ICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sx LDIpfFsyMDIwLTAxLTAxLDIwMjUtMDMtMDEpfCA1LjAwCitbMSwyKXxbMjAyNS0wNC0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIg czJzZXIgczJkZWwyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09M QVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMmRlbDIwMjUyMDI2OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0w MScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWRlbDIw MjU6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor IDx3YWl0aW5nIC4uLj4KK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxZGVsMjAyNTogPC4uLiBj b21wbGV0ZWQ+CitFUlJPUjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25j dXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9N IHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAg ICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8 WzIwMjAtMDEtMDEsMjAyNS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEt MDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNl ciBzMXEgczJkZWwyMDI3IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4g SVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElP TiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmlj ZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAx LDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI3OiAKKyAgREVMRVRF IEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0w MScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMmM6IENP TU1JVDsKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBk dWUgdG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VM RUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9h dCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0w MSwyMDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjog czFzZXIgczJzZXIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorc3RlcCBz MXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJF R0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJP TSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAg ICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIp fFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1 MDM6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAorICBERUxFVEUgRlJPTSBwcm9k dWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAxLTAxJyBUTyAnMjAy Ni0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQorc3RlcCBzMWM6IENPTU1JVDsK K3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK K2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCistLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAyNS0wMy0wMSl8IDUuMDAKK1sx LDIpfFsyMDI1LTA0LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiByb3dzKQorCisKK3N0YXJ0aW5n IHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1MjAyNiBzMmMgczFkZWwyMDI1 IHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7 CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVWRUwgU0VSSUFMSVpBQkxFOworc3RlcCBz MXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8 dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDEgcm93KQor CitzdGVwIHMyZGVsMjAyNTIwMjY6IAorICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAnMjAyNi0wNi0wMScKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAxLTAxJyBUTyAnMjAyNi0wMS0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitFUlJP UjogIGNvdWxkIG5vdCBzZXJpYWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IGRlbGV0ZQor c3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHByaWNlCist LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEtMDEsMjAy NS0wNi0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTA2LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMiBy b3dzKQorCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMXNlciBzMnNlciBzMXEgczFkZWwyMDI1 IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJk ZWwyMDI3OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKKworc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFxOiBTRUxFQ1QgKiBGUk9NIHByb2R1Y3Rz IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK2lkICAgfHZhbGlkX2F0ICAgICAgICAgICAgICAgfHBy aWNlCistLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLQorWzEsMil8WzIwMjAtMDEt MDEsMjAyNS0wMS0wMSl8IDUuMDAKK1sxLDIpfFsyMDI2LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAw CitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwgNS4wMAorKDMgcm93cykKKworCitzdGFy dGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFxIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI1 MDMgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJM RTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVw IHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAg IHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cp CisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJkZWwyMDI1MDM6IAor ICBERUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDI1LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVw IHMyYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDI1LTAx LTAxKXwgNS4wMAorWzEsMil8WzIwMjYtMDEtMDEsMjAzMC0wMS0wMSl8IDUuMDAKKygyIHJvd3Mp CisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2VyIHMxcSBzMWRlbDIwMjUgczFj IHMyZGVsMjAyNTIwMjYgczJjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNPTEFUSU9OIExFVkVM IFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJ WkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpfCA1 LjAwCisoMSByb3cpCisKK3N0ZXAgczFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEt MDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworc3RlcCBzMWM6IENPTU1JVDsKK3N0ZXAgczJk ZWwyMDI1MjAyNjogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9ICdb MSwyKSc7CisKK3N0ZXAgczJjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMjUtMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFx IHMyZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKK3N0ZXAgczFzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMyc2VyOiBCRUdJTiBJU09MQVRJT04gTEVW RUwgU0VSSUFMSVpBQkxFOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00gcHJvZHVjdHMgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAgICAgICB8cHJpY2UKKy0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxbMjAyMC0wMS0wMSwyMDMw LTAxLTAxKXwgNS4wMAorKDEgcm93KQorCitzdGVwIHMyZGVsMjAyNzogCisgIERFTEVURSBGUk9N IHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjctMDEtMDEnIFRP ICcyMDI4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAgczFkZWwyMDI1OiAK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKyA8d2Fp dGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6IDwuLi4gY29tcGxl dGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUgdG8gY29uY3VycmVu dCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9k dWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAg IHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIw LTAxLTAxLDIwMjctMDEtMDEpfCA1LjAwCitbMSwyKXxbMjAyOC0wMS0wMSwyMDMwLTAxLTAxKXwg NS4wMAorKDIgcm93cykKKworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczFzZXIgczJzZXIgczFx IHMyZGVsMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVHSU4gSVNP TEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xBVElPTiBM RVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxwcmljZQor LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAxLTAxLDIw MzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MDM6IAorICBERUxFVEUg RlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTAzLTAx JyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCitzdGVwIHMxZGVsMjAy NTogCisgIERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7Cisg PHdhaXRpbmcgLi4uPgorc3RlcCBzMmM6IENPTU1JVDsKK3N0ZXAgczFkZWwyMDI1OiA8Li4uIGNv bXBsZXRlZD4KK0VSUk9SOiAgY291bGQgbm90IHNlcmlhbGl6ZSBhY2Nlc3MgZHVlIHRvIGNvbmN1 cnJlbnQgZGVsZXRlCitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMXE6IFNFTEVDVCAqIEZST00g cHJvZHVjdHMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworaWQgICB8dmFsaWRfYXQgICAgICAgICAg ICAgICB8cHJpY2UKKy0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tCitbMSwyKXxb MjAyMC0wMS0wMSwyMDI1LTAzLTAxKXwgNS4wMAorWzEsMil8WzIwMjUtMDQtMDEsMjAzMC0wMS0w MSl8IDUuMDAKKygyIHJvd3MpCisKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxc2VyIHMyc2Vy IHMxcSBzMmRlbDIwMjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorc3RlcCBzMXNlcjogQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsKK3N0ZXAgczJzZXI6IEJFR0lOIElTT0xB VElPTiBMRVZFTCBTRVJJQUxJWkFCTEU7CitzdGVwIHMxcTogU0VMRUNUICogRlJPTSBwcm9kdWN0 cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAgICAgICAgICAgICAgIHxw cmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0KK1sxLDIpfFsyMDIwLTAx LTAxLDIwMzAtMDEtMDEpfCA1LjAwCisoMSByb3cpCisKK3N0ZXAgczJkZWwyMDI1MjAyNjogCisg IERFTEVURSBGUk9NIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MjUtMDYtMDEnIFRPICcyMDI2LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK3N0ZXAg czFkZWwyMDI1OiAKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sx LDIpJzsKKyA8d2FpdGluZyAuLi4+CitzdGVwIHMyYzogQ09NTUlUOworc3RlcCBzMWRlbDIwMjU6 IDwuLi4gY29tcGxldGVkPgorRVJST1I6ICBjb3VsZCBub3Qgc2VyaWFsaXplIGFjY2VzcyBkdWUg dG8gY29uY3VycmVudCBkZWxldGUKK3N0ZXAgczFjOiBDT01NSVQ7CitzdGVwIHMxcTogU0VMRUNU ICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitpZCAgIHx2YWxpZF9hdCAg ICAgICAgICAgICAgIHxwcmljZQorLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0K K1sxLDIpfFsyMDIwLTAxLTAxLDIwMjUtMDYtMDEpfCA1LjAwCitbMSwyKXxbMjAyNi0wNi0wMSwy MDMwLTAxLTAxKXwgNS4wMAorKDIgcm93cykKKwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0 aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSBiL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2No ZWR1bGUKaW5kZXggMTEyZjA1YTM2NzcuLmUwOTQyYmFlZTcyIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9p c29sYXRpb25fc2NoZWR1bGUKQEAgLTExOSwzICsxMTksNCBAQCB0ZXN0OiBzZXJpYWxpemFibGUt cGFyYWxsZWwtMgogdGVzdDogc2VyaWFsaXphYmxlLXBhcmFsbGVsLTMKIHRlc3Q6IG1hdHZpZXct d3JpdGUtc2tldwogdGVzdDogbG9jay1ub3dhaXQKK3Rlc3Q6IGZvci1wb3J0aW9uLW9mCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvZm9yLXBvcnRpb24tb2Yuc3BlYyBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9ydGlvbi1vZi5zcGVjCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NDJlZmQ0MzliYQotLS0gL2Rldi9udWxsCisrKyBi L3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9mb3ItcG9ydGlvbi1vZi5zcGVjCkBAIC0wLDAgKzEs NzUwIEBACisjIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YgdGVzdAorIworIyBUZXN0IGlu c2VydGluZyB0ZW1wb3JhbCBsZWZ0b3ZlcnMgZnJvbSBhIEZPUiBQT1JUSU9OIE9GIHVwZGF0ZS9k ZWxldGUuCisjCisjIEluIFJFQUQgQ09NTUlUVEVEIG1vZGUsIGNvbmN1cnJlbnQgdXBkYXRlcy9k ZWxldGVzIHRvIHRoZSBzYW1lIHJlY29yZHMgY2F1c2UKKyMgd2VpcmQgcmVzdWx0cy4gUG9ydGlv bnMgb2YgaGlzdG9yeSB0aGF0IHNob3VsZCBoYXZlIGJlZW4gdXBkYXRlZC9kZWxldGVkIGRvbid0 CisjIGdldCBjaGFuZ2VkLiBUaGF0J3MgYmVjYXVzZSB0aGUgbGVmdG92ZXJzIGZyb20gb25lIG9w ZXJhdGlvbiBhcmUgYWRkZWQgdG9vCisjIGxhdGUgdG8gYmUgc2VlbiBieSB0aGUgb3RoZXIuIEV2 YWxQbGFuUXVhbCB3aWxsIHJlbG9hZCB0aGUgY2hhbmdlZC1pbi1jb21tb24KKyMgcm93LCBidXQg aXQgd29uJ3QgcmUtc2NhbiB0byBmaW5kIG5ldyBsZWZ0b3ZlcnMuCisjCisjIE1hcmlhREIgc2lt aWxhcmx5IGdpdmVzIHVuZGVzaXJhYmxlIHJlc3VsdHMgaW4gUkVBRCBDT01NSVRURUQgbW9kZSAo YWx0aG91Z2gKKyMgbm90IHRoZSBzYW1lIHJlc3VsdHMpLiBEQjIgZG9lc24ndCBoYXZlIFJFQUQg Q09NTUlUVEVELCBidXQgaXQgZ2l2ZXMgY29ycmVjdAorIyByZXN1bHRzIGF0IGFsbCBsZXZlbHMs IGluIHBhcnRpY3VsYXIgUkVBRCBTVEFCSUxJVFkgKHdoaWNoIHNlZW1zIGNsb3Nlc3QpLgorIwor IyBBIHdvcmthcm91bmQgaXMgdG8gbG9jayB0aGUgcGFydCBvZiBoaXN0b3J5IHlvdSB3YW50IGJl Zm9yZSBjaGFuZ2luZyBpdCAodXNpbmcKKyMgU0VMRUNUIEZPUiBVUERBVEUpLiBUaGF0IHdheSB0 aGUgc2VhcmNoIGZvciByb3dzIGlzIGxhdGUgZW5vdWdoIHRvIHNlZQorIyBsZWZ0b3ZlcnMgZnJv bSB0aGUgb3RoZXIgc2Vzc2lvbihzKS4gVGhpcyBzaG91bGRuJ3QgaW1wb3NlIGFueSBuZXcgZGVh ZGxvY2sKKyMgcmlza3MsIHNpbmNlIHRoZSBsb2NrcyBhcmUgdGhlIHNhbWUgYXMgYmVmb3JlLiBB ZGRpbmcgYSB0aGlyZC9mb3VydGgvZXRjLgorIyBjb25uZWN0aW9uIGFsc28gZG9lc24ndCBjaGFu Z2UgdGhlIHNlbWFudGljcy4gVGhlIFJFQUQgQ09NTUlUVEVEIHRlc3RzIGhlcmUKKyMgdXNlIHRo YXQgYXBwcm9hY2ggdG8gcHJvdmUgdGhhdCBpdCdzIHZpYWJsZSBhbmQgaXNuJ3Qgdml0aWF0ZWQg YnkgYW55IGJ1Z3MuCisjIEluY2lkZW50YWxseSwgdGhpcyBhcHByb2FjaCBhbHNvIHdvcmtzIGlu IE1hcmlhREIuCisjCisjIFdlIHJ1biB0aGUgc2FtZSB0ZXN0cyB1bmRlciBSRVBFQVRBQkxFIFJF QUQgYW5kIFNFUklBTElaQUJMRS4KKyMgSW4gZ2VuZXJhbCB0aGV5IGRvIHdoYXQgeW91J2Qgd2Fu dCB3aXRoIG5vIGV4cGxpY2l0IGxvY2tpbmcgcmVxdWlyZWQsIGJ1dCBzb21lCisjIG9yZGVyaW5n cyByYWlzZSBhIGNvbmN1cnJlbnQgdXBkYXRlL2RlbGV0ZSBmYWlsdXJlIChhcyBleHBlY3RlZCku IElmIHRoZXJlIGlzCisjIGEgcHJpb3IgcmVhZCBieSBzMSwgY29uY3VycmVudCB1cGRhdGUvZGVs ZXRlIGZhaWx1cmVzIGFyZSBtb3JlIGNvbW1vbi4KKyMKKyMgV2UgdGVzdCB1cGRhdGVzIHdoZXJl IHMyIHVwZGF0ZXMgaGlzdG9yeSB0aGF0IGlzOgorIworIyAtIG5vbi1vdmVybGFwcGluZyB3aXRo IHMxLAorIyAtIGNvbnRhaW5lZCBlbnRpcmVseSBpbiBzMSwKKyMgLSBwYXJ0bHkgY29udGFpbmVk IGluIHMxLgorIworIyBXZSBkb24ndCBuZWVkIHRvIHRlc3Qgd2hlcmUgczIgZW50aXJlbHkgY29u dGFpbnMgczEgYmVjYXVzZSBvZiBzeW1tZXRyeToKKyMgd2UgdGVzdCBib3RoIHdoZW4gczEgcHJl Y2VkZXMgczIgYW5kIHdoZW4gczIgcHJlY2VkZXMgczEsICBzbyB0aGF0IHNjZW5hcmlvIGlzCisj IGNvdmVyZWQuCisjCisjIFdlIHRlc3QgdmFyaW91cyBvcmRlcmluZ3Mgb2YgdGhlIHVwZGF0ZS9k ZWxldGUvY29tbWl0IGZyb20gczEgYW5kIHMyLgorIyBOb3RlIHRoYXQgYHMxbG9jayBzMmxvY2sg czFjaGFuZ2VgIGlzIGJvcmluZyBiZWNhdXNlIGl0J3MgdGhlIHNhbWUgYXMKKyMgYHMxbG9jayBz MWNoYW5nZSBzMmxvY2tgLiBJbiBvdGhlciB3b3JkcyBpdCBkb2Vzbid0IG1hdHRlciBpZiBzb21l dGhpbmcKKyMgaW50ZXJwb3NlcyBiZXR3ZWVuIHRoZSBsb2NrIGFuZCBpdHMgY2hhbmdlIChhcyBs b25nIGFzIGV2ZXJ5b25lIGlzIGZvbGxvd2luZworIyB0aGUgc2FtZSBwb2xpY3kpLgorCitzZXR1 cAoreworICBDUkVBVEUgVEFCTEUgcHJvZHVjdHMgKAorCWlkIGludDRyYW5nZSBOT1QgTlVMTCwK Kwl2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisJcHJpY2UgZGVjaW1hbCBOT1QgTlVMTCwK KwlQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpKTsKKyAgSU5TRVJU IElOVE8gcHJvZHVjdHMgVkFMVUVTCisJKCdbMSwyKScsICdbMjAyMC0wMS0wMSwyMDMwLTAxLTAx KScsIDUuMDApOworfQorCit0ZWFyZG93biB7IERST1AgVEFCTEUgcHJvZHVjdHM7IH0KKworc2Vz c2lvbiBzMQorc2V0dXAJCXsgU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsgfQorc3RlcCBzMXJj CXsgQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFQUQgQ09NTUlUVEVEOyB9CitzdGVwIHMxcnIJeyBC RUdJTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOyB9CitzdGVwIHMxc2VyCXsgQkVH SU4gSVNPTEFUSU9OIExFVkVMIFNFUklBTElaQUJMRTsgfQorc3RlcCBzMWxvY2syMDI1IHsKKyAg U0VMRUNUICogRlJPTSBwcm9kdWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0 ICYmICdbMjAyNS0wMS0wMSwyMDI2LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQ REFURTsKK30KK3N0ZXAgczF1cGQyMDI1CXsKKyAgVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjUtMDEtMDEnIFRPICcyMDI2LTAxLTAxJworICBTRVQg cHJpY2UgPSA4LjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczFkZWwyMDI1IHsK KyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyNS0wMS0wMScgVE8gJzIwMjYtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0 ZXAgczFxCXsgU0VMRUNUICogRlJPTSBwcm9kdWN0cyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7IH0K K3N0ZXAgczFjCXsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3NldHVwCQl7IFNFVCBkYXRlc3R5 bGUgVE8gSVNPLCBZTUQ7IH0KK3N0ZXAgczJyYwl7IEJFR0lOIElTT0xBVElPTiBMRVZFTCBSRUFE IENPTU1JVFRFRDsgfQorc3RlcCBzMnJyCXsgQkVHSU4gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsgfQorc3RlcCBzMnNlcgl7IEJFR0lOIElTT0xBVElPTiBMRVZFTCBTRVJJQUxJWkFC TEU7IH0KK3N0ZXAgczJsb2NrMjAyNTAzIHsKKyAgU0VMRUNUICogRlJPTSBwcm9kdWN0cworICBX SEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNS0wMy0wMSwyMDI1LTA0LTAx KScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKK30KK3N0ZXAgczJsb2NrMjAyNTIw MjYgeworICBTRUxFQ1QgKiBGUk9NIHByb2R1Y3RzCisgIFdIRVJFIGlkID0gJ1sxLDIpJyBBTkQg dmFsaWRfYXQgJiYgJ1syMDI1LTA2LTAxLDIwMjYtMDYtMDEpJworICBPUkRFUiBCWSB2YWxpZF9h dCBGT1IgVVBEQVRFOworfQorc3RlcCBzMmxvY2syMDI3IHsKKyAgU0VMRUNUICogRlJPTSBwcm9k dWN0cworICBXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0ICYmICdbMjAyNy0wMS0wMSwy MDI4LTAxLTAxKScKKyAgT1JERVIgQlkgdmFsaWRfYXQgRk9SIFVQREFURTsKK30KK3N0ZXAgczJ1 cGQyMDI1MDMgeworICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyNS0wMy0wMScgVE8gJzIwMjUtMDQtMDEnCisgIFNFVCBwcmljZSA9IDEwLjAwCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJ1cGQyMDI1MjAyNiB7CisgIFVQREFURSBw cm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1LTA2LTAxJyBUTyAn MjAyNi0wNi0wMScKKyAgU0VUIHByaWNlID0gMTAuMDAKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor fQorc3RlcCBzMnVwZDIwMjcgeworICBVUERBVEUgcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEnCisgIFNFVCBwcmljZSA9 IDEwLjAwCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJkZWwyMDI1MDMgeworICBE RUxFVEUgRlJPTSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDI1 LTAzLTAxJyBUTyAnMjAyNS0wNC0wMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworfQorc3RlcCBz MmRlbDIwMjUyMDI2IHsKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAyNS0wNi0wMScgVE8gJzIwMjYtMDYtMDEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK30KK3N0ZXAgczJkZWwyMDI3IHsKKyAgREVMRVRFIEZST00gcHJvZHVjdHMKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyNy0wMS0wMScgVE8gJzIwMjgtMDEtMDEn CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK30KK3N0ZXAgczJjCXsgQ09NTUlUOyB9CisKKyMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBSRUFEIENPTU1JVFRFRCB0 ZXN0cywgVVBEQVRFK1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJj IHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisK KyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVy bXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFsb2NrMjAy NSBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBz ZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBz MnVwZDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2Vl cyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVwZDIw MjUgczFjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBk YXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMg czJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRl ZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMxbG9j azIwMjUgczF1cGQyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMnVwZDIwMjUyMDI2IHMyYyBzMXEK KworIyBzMSB1cGRhdGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVp cmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJj IHMybG9jazIwMjcgczJ1cGQyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCisK KyMgczEgb3ZlcndyaXRlcyB0aGUgcm93IGZyb20gczIgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor IyBMb2NraW5nIGlzIHJlcXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVy bXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMWxvY2syMDI1IHMy YyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIG92ZXJ3cml0ZXMgdGhlIHJvdyBmcm9tIHMyIGFu ZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKKyMgTG9ja2luZyBpcyByZXF1aXJlZCBvciBzMSB3b24ndCBz ZWUgdGhlIGxlZnRvdmVycy4KK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBz MnVwZDIwMjUyMDI2IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBSRUFEIENPTU1JVFRFRCB0ZXN0 cywgVVBEQVRFK0RFTEVURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMy bG9jazIwMjcgczJkZWwyMDI3IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisKKyMg czEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0 YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUwMyBzMmRlbDIwMjUwMyBzMmMgczFsb2NrMjAyNSBz MXVwZDIwMjUgczFjIHMxcQorCisjIHMxIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVz IGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MjAyNiBzMmRl bDIwMjUyMDI2IHMyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0 aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMXVwZDIwMjUg czFjIHMybG9jazIwMjcgczJkZWwyMDI3IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRl ZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxdXBkMjAyNSBzMWMgczJs b2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRlZCBy b3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMxbG9jazIw MjUgczF1cGQyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKwor IyBzMSB1cGRhdGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVpcmVk IG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJjIHMy bG9jazIwMjcgczJkZWwyMDI3IHMxbG9jazIwMjUgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMg czEgc2VlcyB0aGUgbGVmdG92ZXJzIGZyb20gczIKKyMgTG9ja2luZyBpcyByZXF1aXJlZCBvciBz MSB3b24ndCBzZWUgdGhlIGxlZnRvdmVycy4KK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMmxvY2sy MDI1MDMgczJkZWwyMDI1MDMgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBz MSBzZWVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVpcmVkIG9yIHMx IHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIw MjUyMDI2IHMyZGVsMjAyNTIwMjYgczFsb2NrMjAyNSBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKwor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJFQUQgQ09NTUlU VEVEIHRlc3RzLCBERUxFVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJj IHMycmMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBz MXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJz CitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMyYyBzMWxv Y2syMDI1IHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cg YW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMybG9jazIwMjUy MDI2IHMydXBkMjAyNTIwMjYgczJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMXEKKworIyBz MiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMx ZGVsMjAyNSBzMWMgczJsb2NrMjAyNyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMg dGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFsb2NrMjAyNSBzMWRlbDIw MjUgczFjIHMybG9jazIwMjUwMyBzMnVwZDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0 aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBz MnJjIHMxbG9jazIwMjUgczFkZWwyMDI1IHMxYyBzMmxvY2syMDI1MjAyNiBzMnVwZDIwMjUyMDI2 IHMyYyBzMXEKKworIyBzMSBkZWxldGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5n IGlzIHJlcXVpcmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24g czFyYyBzMnJjIHMybG9jazIwMjcgczJ1cGQyMDI3IHMxbG9jazIwMjUgczJjIHMxZGVsMjAyNSBz MWMgczFxCisKKyMgczEgZGVsZXRlcyB0aGUgbmV3IHJvdyBmcm9tIHMyIGFuZCBpdHMgbGVmdG92 ZXJzCisjIExvY2tpbmcgaXMgcmVxdWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3ZlcnMu CitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTAzIHMydXBkMjAyNTAzIHMxbG9jazIw MjUgczJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZGVsZXRlcyB0aGUgbmV3IHJvdyBmcm9t IHMyIGFuZCBpdHMgbGVmdG92ZXJzCisjIExvY2tpbmcgaXMgcmVxdWlyZWQgb3IgczEgd29uJ3Qg c2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTIwMjYg czJ1cGQyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorCisjICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUkVBRCBDT01NSVRURUQgdGVz dHMsIERFTEVURStERUxFVEU6CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKworIyBzMSBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBz MmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMxcQorCisj IHMxIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11 dGF0aW9uIHMxcmMgczJyYyBzMmxvY2syMDI1MDMgczJkZWwyMDI1MDMgczJjIHMxbG9jazIwMjUg czFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBpZ25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2Vl cyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczJsb2NrMjAyNTIwMjYgczJk ZWwyMDI1MjAyNiBzMmMgczFsb2NrMjAyNSBzMWRlbDIwMjUgczFjIHMxcQorCisjIHMyIHNlZXMg dGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyYyBzMnJjIHMxbG9jazIwMjUgczFkZWwyMDI1 IHMxYyBzMmxvY2syMDI3IHMyZGVsMjAyNyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVs ZXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcmMgczJyYyBzMWxvY2syMDI1IHMxZGVsMjAyNSBzMWMg czJsb2NrMjAyNTAzIHMyZGVsMjAyNTAzIHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBkZWxl dGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJjIHMycmMgczFs b2NrMjAyNSBzMWRlbDIwMjUgczFjIHMybG9jazIwMjUyMDI2IHMyZGVsMjAyNTIwMjYgczJjIHMx cQorCisjIHMxIGRlbGV0ZXMgdGhlIGxlZnRvdmVycyBmcm9tIHMyCisjIExvY2tpbmcgaXMgcmVx dWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJjIHMy cmMgczJsb2NrMjAyNyBzMmRlbDIwMjcgczFsb2NrMjAyNSBzMmMgczFkZWwyMDI1IHMxYyBzMXEK KworIyBzMSBkZWxldGVzIHRoZSBsZWZ0b3ZlcnMgZnJvbSBzMgorIyBMb2NraW5nIGlzIHJlcXVp cmVkIG9yIHMxIHdvbid0IHNlZSB0aGUgbGVmdG92ZXJzLgorcGVybXV0YXRpb24gczFyYyBzMnJj IHMybG9jazIwMjUwMyBzMmRlbDIwMjUwMyBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUgczFjIHMx cQorCisjIHMxIGRlbGV0ZXMgdGhlIGxlZnRvdmVycyBmcm9tIHMyCisjIExvY2tpbmcgaXMgcmVx dWlyZWQgb3IgczEgd29uJ3Qgc2VlIHRoZSBsZWZ0b3ZlcnMuCitwZXJtdXRhdGlvbiBzMXJjIHMy cmMgczJsb2NrMjAyNTIwMjYgczJkZWwyMDI1MjAyNiBzMWxvY2syMDI1IHMyYyBzMWRlbDIwMjUg czFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMg UkVQRUFUQUJMRSBSRUFEIHRlc3RzLCBVUERBVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJt dXRhdGlvbiBzMXJyIHMycnIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMx IHJlbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0 aW9uIHMxcnIgczJyciBzMnVwZDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBy ZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBz ZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMy dXBkMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0 cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMydXBkMjAy NTAzIHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxl ZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MjAy NiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRp b24gczFyciBzMnJyIHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWls cyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJ1cGQyMDI1 MDMgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVw ZGF0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBz MWMgczFxCisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9tIGNv bmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNyBzMmMg czF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitw ZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMx cQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIg czJyciBzMXEgczJ1cGQyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVz IHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQyMDI1IHMxYyBz MnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGxvYWRzIHRoZSB1cGRhdGVkIHJvdworcGVybXV0YXRp b24gczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBz MiBsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRp b24gczFyciBzMnJyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTIwMjYgczJjIHMxcQorCisj IHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBz MXEgczJ1cGQyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29u Y3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MDMgczF1 cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQor cGVybXV0YXRpb24gczFyciBzMnJyIHMxcSBzMnVwZDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFj IHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUkVQ RUFUQUJMRSBSRUFEIHRlc3RzLCBVUERBVEUrREVMRVRFOgorIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRh dGlvbiBzMXJyIHMycnIgczJkZWwyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIGln bm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9u IHMxcnIgczJyciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBpZ25v cmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBz MXJyIHMycnIgczJkZWwyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVz IHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXVwZDIwMjUgczFjIHMyZGVs MjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRhdGlvbiBz MXJyIHMycnIgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgbG9hZHMg dGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIg czJyciBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQorCisjIHMxIGZhaWxzIGZy b20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMmRlbDIwMjcgczF1 cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQor cGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQor CisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJy ciBzMmRlbDIwMjUyMDI2IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIyB3aXRoIHByaW9yIHJl YWQgYnkgczE6CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRp b24gczFyciBzMnJyIHMxcSBzMmRlbDIwMjcgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczEg ZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMxcSBz MmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1 cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTIwMjYgczJj IHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczFxIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKKworIyBzMiBs b2FkcyB0aGUgdXBkYXRlZCByb3cKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQyMDI1 IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFu ZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczF1cGQyMDI1 IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQg ZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNyBzMXVwZDIwMjUgczJj IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMx IGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEg czJkZWwyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJFUEVBVEFCTEUgUkVBRCB0ZXN0cywgREVMRVRF K1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisj IHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNyBz MmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQg c2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJ1cGQyMDI1MDMgczJj IHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNl ZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczJj IHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9y ZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFkZWwyMDI1IHMxYyBz MnVwZDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNl ZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJ1 cGQyMDI1MjAyNiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQor cGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKwor IyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIg czJ1cGQyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25j dXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFyciBzMnJyIHMydXBkMjAyNTIwMjYgczFkZWwy MDI1IHMyYyBzMWMgczFxCisKKyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWls cyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBk MjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQg dXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMydXBkMjAyNTAzIHMyYyBzMWRlbDIw MjUgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0 aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKwor IyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFkZWwy MDI1IHMxYyBzMnVwZDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93 CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MDMgczJj IHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3Zl cnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUyMDI2 IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczFxIHMydXBkMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBm YWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMy dXBkMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3Vy cmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczJ1cGQyMDI1MjAyNiBzMWRl bDIwMjUgczJjIHMxYyBzMXEKKworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisjIFJFUEVBVEFCTEUgUkVBRCB0ZXN0cywgREVMRVRFK0RFTEVURToKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRv dmVycworcGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBz MXEKKworIyBzMSByZWxvYWRzIHRoZSB1cGRhdGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJz CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJkZWwyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFx CisKKyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor cGVybXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczJjIHMxZGVsMjAyNSBzMWMgczFx CisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFkZWwy MDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93 CitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFx CisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycwor cGVybXV0YXRpb24gczFyciBzMnJyIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFx CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFyciBz MnJyIHMyZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNv bmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczJkZWwyMDI1MDMgczFkZWwy MDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVy bXV0YXRpb24gczFyciBzMnJyIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCisK KyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQg ZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1 IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlv biBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMyYyBzMWRlbDIwMjUgczFjIHMxcQorCisjIHMx IGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEg czJkZWwyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVzIHRoZSBsZWZ0 b3ZlcnMKK3Blcm11dGF0aW9uIHMxcnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjcg czJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXJy IHMycnIgczFxIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI1MDMgczJjIHMxcQorCisjIHMyIGlnbm9y ZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMx cnIgczJyciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBm YWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMy ZGVsMjAyNyBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJl bnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXJyIHMycnIgczFxIHMyZGVsMjAyNTAzIHMxZGVsMjAy NSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11 dGF0aW9uIHMxcnIgczJyciBzMXEgczJkZWwyMDI1MjAyNiBzMWRlbDIwMjUgczJjIHMxYyBzMXEK KworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNFUklBTEla QUJMRSB0ZXN0cywgVVBEQVRFK1VQREFURToKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCisjIHMxIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFz ZXIgczJzZXIgczJ1cGQyMDI3IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9hZHMg dGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2Vy IHMyc2VyIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIHJlbG9hZHMg dGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2Vy IHMyc2VyIHMydXBkMjAyNTIwMjYgczJjIHMxdXBkMjAyNSBzMWMgczFxCisKKyMgczIgc2VlcyB0 aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMydXBk MjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRhdGlvbiBz MXNlciBzMnNlciBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2Fk cyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFz ZXIgczJzZXIgczF1cGQyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBmYWls cyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMnVwZDIw MjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVw ZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczF1cGQyMDI1IHMyYyBz MWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24g czFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyMgd2l0 aCBwcmlvciByZWFkIGJ5IHMxOgorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUK K3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjcgczJjIHMxdXBkMjAyNSBzMWMg czFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFz ZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMxIGZh aWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBz MnVwZDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMyIHNlZXMgdGhlIGxlZnRv dmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI3 IHMyYyBzMXEKKworIyBzMiBsb2FkcyB0aGUgdXBkYXRlZCByb3cKK3Blcm11dGF0aW9uIHMxc2Vy IHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMydXBkMjAyNTAzIHMyYyBzMXEKKworIyBzMiBsb2Fk cyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFz ZXIgczJzZXIgczFxIHMxdXBkMjAyNSBzMWMgczJ1cGQyMDI1MjAyNiBzMmMgczFxCisKKyMgczEg ZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFx IHMydXBkMjAyNyBzMXVwZDIwMjUgczJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1 cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJ1cGQyMDI1MDMgczF1 cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQor cGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBz MWMgczFxCisKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBT RVJJQUxJWkFCTEUgdGVzdHMsIFVQREFURStERUxFVEU6CisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBzMSBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0 aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBp Z25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXNlciBzMnNlciBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMSBp Z25vcmVzIHRoZSBkZWxldGVkIHJvdyBhbmQgc2VlcyBpdHMgbGVmdG92ZXJzCitwZXJtdXRhdGlv biBzMXNlciBzMnNlciBzMmRlbDIwMjUyMDI2IHMyYyBzMXVwZDIwMjUgczFjIHMxcQorCisjIHMy IHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczF1cGQyMDI1IHMx YyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGxvYWRzIHRoZSB1cGRhdGVkIHJvdworcGVybXV0 YXRpb24gczFzZXIgczJzZXIgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMg czIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0 aW9uIHMxc2VyIHMyc2VyIHMxdXBkMjAyNSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCisKKyMg czEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIg czJkZWwyMDI3IHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3Vy cmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNTAzIHMxdXBkMjAy NSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMyZGVsMjAyNTIwMjYgczF1cGQyMDI1IHMyYyBzMWMgczFxCisK KyMjIHdpdGggcHJpb3IgcmVhZCBieSBzMToKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQg ZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI3IHMyYyBzMXVwZDIw MjUgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0 aW9uIHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUwMyBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKwor IyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNl ciBzMXEgczJkZWwyMDI1MjAyNiBzMmMgczF1cGQyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVzIHRo ZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMy ZGVsMjAyNyBzMmMgczFxCisKKyMgczIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93CitwZXJtdXRhdGlv biBzMXNlciBzMnNlciBzMXEgczF1cGQyMDI1IHMxYyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMg czIgbG9hZHMgdGhlIHVwZGF0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0b3ZlcnMKK3Blcm11dGF0 aW9uIHMxc2VyIHMyc2VyIHMxcSBzMXVwZDIwMjUgczFjIHMyZGVsMjAyNTIwMjYgczJjIHMxcQor CisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBkZWxldGUKK3Blcm11dGF0aW9uIHMxc2VyIHMy c2VyIHMxcSBzMmRlbDIwMjcgczF1cGQyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJv bSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVsMjAy NTAzIHMxdXBkMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCBk ZWxldGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMmRlbDIwMjUyMDI2IHMxdXBkMjAy NSBzMmMgczFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMgU0VSSUFMSVpBQkxFIHRlc3RzLCBERUxFVEUrVVBEQVRFOgorIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0aGUgbGVmdG92ZXJzCitw ZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMnVwZDIwMjcgczJjIHMxZGVsMjAyNSBzMWMgczFxCisK KyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVy bXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MDMgczJjIHMxZGVsMjAyNSBzMWMgczFxCisK KyMgczEgcmVsb2FkcyB0aGUgdXBkYXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVycworcGVy bXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMmMgczFkZWwyMDI1IHMxYyBzMXEK KworIyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxZGVs MjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBkZWxldGVkIHJv dworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUwMyBzMmMg czFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRzIGxlZnRvdmVy cworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBzMnVwZDIwMjUyMDI2IHMy YyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgdXBkYXRlCitwZXJtdXRhdGlvbiBz MXNlciBzMnNlciBzMnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMg ZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1 MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVw ZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJ1cGQyMDI1MjAyNiBzMWRlbDIwMjUgczJj IHMxYyBzMXEKKworIyMgd2l0aCBwcmlvciByZWFkIGJ5IHMxOgorCisjIHMxIGZhaWxzIGZyb20g Y29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjcg czJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0 ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMydXBkMjAyNTAzIHMyYyBzMWRlbDIwMjUg czFjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9u IHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjUyMDI2IHMyYyBzMWRlbDIwMjUgczFjIHMxcQorCisj IHMyIHNlZXMgdGhlIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxZGVs MjAyNSBzMWMgczJ1cGQyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25vcmVzIHRoZSBkZWxldGVkIHJv dworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxZGVsMjAyNSBzMWMgczJ1cGQyMDI1MDMg czJjIHMxcQorCisjIHMyIGlnbm9yZXMgdGhlIGRlbGV0ZWQgcm93IGFuZCBzZWVzIGl0cyBsZWZ0 b3ZlcnMKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMWRlbDIwMjUgczFjIHMydXBkMjAy NTIwMjYgczJjIHMxcQorCisjIHMxIGZhaWxzIGZyb20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11 dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFxCisK KyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IHVwZGF0ZQorcGVybXV0YXRpb24gczFzZXIgczJz ZXIgczFxIHMydXBkMjAyNTAzIHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjIHMxIGZhaWxzIGZy b20gY29uY3VycmVudCB1cGRhdGUKK3Blcm11dGF0aW9uIHMxc2VyIHMyc2VyIHMxcSBzMnVwZDIw MjUyMDI2IHMxZGVsMjAyNSBzMmMgczFjIHMxcQorCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyMgU0VSSUFMSVpBQkxFIHRlc3RzLCBERUxFVEUrREVMRVRFOgor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgczEgc2VlcyB0 aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczJjIHMxZGVs MjAyNSBzMWMgczFxCisKKyMgczEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRz IGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1MDMgczJjIHMxZGVs MjAyNSBzMWMgczFxCisKKyMgczEgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNlZXMgaXRz IGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1MjAyNiBzMmMgczFk ZWwyMDI1IHMxYyBzMXEKKworIyBzMiBzZWVzIHRoZSBsZWZ0b3ZlcnMKK3Blcm11dGF0aW9uIHMx c2VyIHMyc2VyIHMxZGVsMjAyNSBzMWMgczJkZWwyMDI3IHMyYyBzMXEKKworIyBzMiBpZ25vcmVz IHRoZSBkZWxldGVkIHJvdworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBz MmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5kIHNl ZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFkZWwyMDI1IHMxYyBz MmRlbDIwMjUyMDI2IHMyYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRl CitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMmRlbDIwMjcgczFkZWwyMDI1IHMyYyBzMWMgczFx CisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIg czJzZXIgczJkZWwyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJv bSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczJkZWwyMDI1MjAy NiBzMWRlbDIwMjUgczJjIHMxYyBzMXEKKworIyB3aXRoIHByaW9yIHJlYWQgYnkgczE6CisKKyMg czEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIg czFxIHMyZGVsMjAyNyBzMmMgczFkZWwyMDI1IHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNv bmN1cnJlbnQgZGVsZXRlCitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1MDMg czJjIHMxZGVsMjAyNSBzMWMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0 ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVsMjAyNTIwMjYgczJjIHMxZGVsMjAy NSBzMWMgczFxCisKKyMgczIgc2VlcyB0aGUgbGVmdG92ZXJzCitwZXJtdXRhdGlvbiBzMXNlciBz MnNlciBzMXEgczFkZWwyMDI1IHMxYyBzMmRlbDIwMjcgczJjIHMxcQorCisjIHMyIGlnbm9yZXMg dGhlIGRlbGV0ZWQgcm93CitwZXJtdXRhdGlvbiBzMXNlciBzMnNlciBzMXEgczFkZWwyMDI1IHMx YyBzMmRlbDIwMjUwMyBzMmMgczFxCisKKyMgczIgaWdub3JlcyB0aGUgZGVsZXRlZCByb3cgYW5k IHNlZXMgaXRzIGxlZnRvdmVycworcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMxZGVsMjAy NSBzMWMgczJkZWwyMDI1MjAyNiBzMmMgczFxCisKKyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50 IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJzZXIgczFxIHMyZGVsMjAyNyBzMWRlbDIwMjUg czJjIHMxYyBzMXEKKworIyBzMSBmYWlscyBmcm9tIGNvbmN1cnJlbnQgZGVsZXRlCitwZXJtdXRh dGlvbiBzMXNlciBzMnNlciBzMXEgczJkZWwyMDI1MDMgczFkZWwyMDI1IHMyYyBzMWMgczFxCisK KyMgczEgZmFpbHMgZnJvbSBjb25jdXJyZW50IGRlbGV0ZQorcGVybXV0YXRpb24gczFzZXIgczJz ZXIgczFxIHMyZGVsMjAyNTIwMjYgczFkZWwyMDI1IHMyYyBzMWMgczFxCi0tIAoyLjQ3LjMKCg== --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0002-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Disposition: attachment; filename="v63-0002-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfajq1 RnJvbSA4NTFmMWVkZDI1NDllMmRiNTRlYjRhZTA5ZTgzMDZjMmUzYjEzMTExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMjUgSnVuIDIwMjEgMTg6NTQ6MzUgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyAyLzhdIEFkZCBVUERBVEUvREVMRVRFIEZPUiBQT1JUSU9OIE9GCgotIEFk ZGVkIGJpc29uIHN1cHBvcnQgZm9yIEZPUiBQT1JUSU9OIE9GIHN5bnRheC4gVGhlIGJvdW5kcyBt dXN0IGJlCiAgY29uc3RhbnQsIHNvIHdlIGZvcmJpZCBjb2x1bW4gcmVmZXJlbmNlcywgc3VicXVl cmllcywgZXRjLiBXZSBkbwogIGFjY2VwdCBmdW5jdGlvbnMgbGlrZSBOT1coKS4KLSBBZGRlZCBs b2dpYyB0byBleGVjdXRvciB0byBpbnNlcnQgbmV3IHJvd3MgZm9yIHRoZSAidGVtcG9yYWwgbGVm dG92ZXIiCiAgcGFydCBvZiBhIHJlY29yZCB0b3VjaGVkIGJ5IGEgRk9SIFBPUlRJT04gT0YgcXVl cnkuCi0gRG9jdW1lbnRlZCBGT1IgUE9SVElPTiBPRi4KLSBBZGRlZCB0ZXN0cy4KCkF1dGhvcjog UGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiAuLi4v cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQgICAgfCAgIDQ1ICstCiBjb250 cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCAgICAgfCAgIDM0ICsKIGNvbnRy aWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGwub3V0ICAgICAgICB8ICAgNTIgKwogY29udHJp Yi90ZXN0X2RlY29kaW5nL3NxbC9kZGwuc3FsICAgICAgICAgICAgIHwgICAzMCArCiBkb2Mvc3Jj L3NnbWwvZG1sLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTM5ICsrCiBkb2Mvc3Jj L3NnbWwvZ2xvc3Nhcnkuc2dtbCAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsKIGRvYy9zcmMv c2dtbC9pbWFnZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIGRvYy9zcmMv c2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZyAgICAgICB8ICAgNDEgKwogZG9jL3NyYy9z Z21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUudHh0ICAgICAgIHwgICAxMCArCiBkb2Mvc3JjL3Nn bWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmcgICAgICAgfCAgIDQ1ICsKIGRvYy9zcmMvc2dt bC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dCAgICAgICB8ICAgMTAgKwogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgICAgIHwgICAgNiArCiBkb2Mvc3JjL3NnbWwv cmVmL2RlbGV0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgMTE2ICstCiBkb2Mvc3JjL3NnbWwv cmVmL3VwZGF0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgMTE3ICstCiBkb2Mvc3JjL3NnbWwv dHJpZ2dlci5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIHNyYy9iYWNrZW5kL2V4 ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2JhY2tlbmQvZXhl Y3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwgIDM1MiArKy0KIHNyYy9iYWNrZW5kL25v ZGVzL25vZGVGdW5jcy5jICAgICAgICAgICAgICAgICB8ICAgMzMgKwogc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jICAgICAgIHwgICAgNiArLQogc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vcGxhbm5lci5jICAgICAgICAgIHwgICAgMSArCiBzcmMvYmFja2VuZC9vcHRp bWl6ZXIvdXRpbC9wYXRobm9kZS5jICAgICAgICAgfCAgICAzICstCiBzcmMvYmFja2VuZC9wYXJz ZXIvYW5hbHl6ZS5jICAgICAgICAgICAgICAgICAgfCAgMzU1ICsrLQogc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgICA5OSArLQogc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX2FnZy5jICAgICAgICAgICAgICAgIHwgICAxMCArCiBzcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfY29sbGF0ZS5jICAgICAgICAgICAgfCAgICAxICsKIHNyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9leHByLmMgICAgICAgICAgICAgICB8ICAgIDggKwogc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2Z1bmMuYyAgICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfbWVyZ2UuYyAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMvYmFja2VuZC9yZXdyaXRl L3Jld3JpdGVIYW5kbGVyLmMgICAgICAgICAgfCAgIDc1ICstCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcnVsZXV0aWxzLmMgICAgICAgICAgICAgfCAgIDQxICsKIHNyYy9pbmNsdWRlL25vZGVzL2V4 ZWNub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgMjIgKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oICAgICAgICAgICAgICAgIHwgICAyMCArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXRo bm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9pbmNsdWRlL25vZGVzL3BsYW5u b2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5v ZGVzLmggICAgICAgICAgICAgICAgIHwgICAzMyArCiBzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0 aG5vZGUuaCAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6 ZS5oICAgICAgICAgICAgICAgICAgfCAgICAzICstCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmggICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9u b2RlLmggICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9m b3JfcG9ydGlvbl9vZi5vdXQgIHwgMjA2NyArKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCAgICAgIHwgICAyOCArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQgfCAgIDMyICsKIC4uLi9yZWdyZXNzL2V4 cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0ICAgICB8ICAyNDUgKy0KIHNyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgICB8IDEzNTYgKysrKysrKysrKysKIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsICAgICAgICAgICB8ICAgMjcgKwogc3JjL3Rl c3QvcmVncmVzcy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbCAgICAgIHwgICAxNCArCiBzcmMvdGVz dC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbCAgICAgfCAgMTIwICstCiBzcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMzRfdGVtcG9yYWwucGwgICAgICAgfCAgIDg1ICstCiBzcmMvdG9v bHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgICAgICAgfCAgICAzICsKIDUwIGZpbGVz IGNoYW5nZWQsIDU2MzcgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnCiBjcmVhdGUg bW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUudHh0CiBjcmVh dGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUuc3ZnCiBj cmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUudHh0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlv bl9vZi5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9y dGlvbl9vZi5zcWwKCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9w b3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNf ZmR3Lm91dAppbmRleCA0OGUzMTg1YjIyNy4uODZhODdiZmYwZDcgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKKysrIGIvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dApAQCAtNTAsMTEgKzUwLDE5IEBA IENSRUFURSBUQUJMRSAiUyAxIi4iVCA0IiAoCiAJYzMgdGV4dCwKIAlDT05TVFJBSU5UIHQ0X3Br ZXkgUFJJTUFSWSBLRVkgKGMxKQogKTsKK0NSRUFURSBUQUJMRSAiUyAxIi4iVCA1IiAoCisJYzEg aW50NHJhbmdlIE5PVCBOVUxMLAorCWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRh dGVyYW5nZSBOT1QgTlVMTCwKKwlDT05TVFJBSU5UIHQ1X3BrZXkgUFJJTUFSWSBLRVkgKGMxLCBj NCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKIC0tIERpc2FibGUgYXV0b3ZhY3V1bSBmb3IgdGhlc2Ug dGFibGVzIHRvIGF2b2lkIHVuZXhwZWN0ZWQgZWZmZWN0cyBvZiB0aGF0CiBBTFRFUiBUQUJMRSAi UyAxIi4iVCAxIiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogQUxURVIgVEFC TEUgIlMgMSIuIlQgMiIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVS IFRBQkxFICJTIDEiLiJUIDMiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBB TFRFUiBUQUJMRSAiUyAxIi4iVCA0IiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScp OworQUxURVIgVEFCTEUgIlMgMSIuIlQgNSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFs c2UnKTsKIElOU0VSVCBJTlRPICJTIDEiLiJUIDEiCiAJU0VMRUNUIGlkLAogCSAgICAgICBpZCAl IDEwLApAQCAtODEsMTAgKzg5LDE3IEBAIElOU0VSVCBJTlRPICJTIDEiLiJUIDQiCiAJICAgICAg ICdBQUEnIHx8IHRvX2NoYXIoaWQsICdGTTAwMCcpCiAJRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwg MTAwKSBpZDsKIERFTEVURSBGUk9NICJTIDEiLiJUIDQiIFdIRVJFIGMxICUgMyAhPSAwOwktLSBk ZWxldGUgZm9yIG91dGVyIGpvaW4gdGVzdHMKK0lOU0VSVCBJTlRPICJTIDEiLiJUIDUiCisJU0VM RUNUIGludDRyYW5nZShpZCwgaWQgKyAxKSwKKwkgICAgICAgaWQgKyAxLAorCSAgICAgICAnQUFB JyB8fCB0b19jaGFyKGlkLCAnRk0wMDAnKSwKKyAgICAgICAgJ1syMDAwLTAxLTAxLDIwMjAtMDEt MDEpJworCUZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMCkgaWQ7CiBBTkFMWVpFICJTIDEiLiJU IDEiOwogQU5BTFlaRSAiUyAxIi4iVCAyIjsKIEFOQUxZWkUgIlMgMSIuIlQgMyI7CiBBTkFMWVpF ICJTIDEiLiJUIDQiOworQU5BTFlaRSAiUyAxIi4iVCA1IjsKIC0tID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIGNy ZWF0ZSBmb3JlaWduIHRhYmxlcwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTMyLDYgKzE0NywxMiBAQCBD UkVBVEUgRk9SRUlHTiBUQUJMRSBmdDcgKAogCWMyIGludCBOT1QgTlVMTCwKIAljMyB0ZXh0CiAp IFNFUlZFUiBsb29wYmFjazMgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUg J1QgNCcpOworQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQ4ICgKKwljMSBpbnQ0cmFuZ2UgTk9UIE5V TEwsCisJYzIgaW50IE5PVCBOVUxMLAorCWMzIHRleHQsCisJYzQgZGF0ZXJhbmdlIE5PVCBOVUxM CispIFNFUlZFUiBsb29wYmFjayBPUFRJT05TIChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFt ZSAnVCA1Jyk7CiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSB0ZXN0cyBmb3IgdmFsaWRhdG9yCiAtLSA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CkBAIC0yMTQsNyArMjM1LDggQEAgQUxURVIgRk9SRUlHTiBUQUJMRSBmdDIgQUxURVIg Q09MVU1OIGMxIE9QVElPTlMgKGNvbHVtbl9uYW1lICdDIDEnKTsKICBwdWJsaWMgfCBmdDUgICB8 IGxvb3BiYWNrICB8IChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFtZSAnVCA0JykgfCAKICBw dWJsaWMgfCBmdDYgICB8IGxvb3BiYWNrMiB8IChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFt ZSAnVCA0JykgfCAKICBwdWJsaWMgfCBmdDcgICB8IGxvb3BiYWNrMyB8IChzY2hlbWFfbmFtZSAn UyAxJywgdGFibGVfbmFtZSAnVCA0JykgfCAKLSg2IHJvd3MpCisgcHVibGljIHwgZnQ4ICAgfCBs b29wYmFjayAgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1QgNScpIHwgCisoNyBy b3dzKQogCiAtLSBUZXN0IHRoYXQgYWx0ZXJhdGlvbiBvZiBzZXJ2ZXIgb3B0aW9ucyBjYXVzZXMg cmVjb25uZWN0aW9uCiAtLSBSZW1vdGUncyBlcnJvcnMgbWlnaHQgYmUgbm9uLUVuZ2xpc2gsIHNv IGhpZGUgdGhlbSB0byBlbnN1cmUgc3RhYmxlIHJlc3VsdHMKQEAgLTYzMDMsNiArNjMyNSwyNyBA QCBERUxFVEUgRlJPTSBmdDIgV0hFUkUgYzEgPSAxMjAwIFJFVFVSTklORyB0YWJsZW9pZDo6cmVn Y2xhc3M7CiAgZnQyCiAoMSByb3cpCiAKKy0tIFRlc3QgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCitV UERBVEUgZnQ4IEZPUiBQT1JUSU9OIE9GIGM0IEZST00gJzIwMDUtMDEtMDEnIFRPICcyMDA2LTAx LTAxJworU0VUIGMyID0gYzIgKyAxCitXSEVSRSBjMSA9ICdbMSwyKSc7CitFUlJPUjogIGZvcmVp Z24gdGFibGVzIGRvbid0IHN1cHBvcnQgRk9SIFBPUlRJT04gT0YKK1NFTEVDVCAqIEZST00gZnQ4 IFdIRVJFIGMxID0gJ1sxLDIpJyBPUkRFUiBCWSBjMSwgYzQ7CisgIGMxICAgfCBjMiB8ICAgYzMg ICB8ICAgICAgICAgICBjNCAgICAgICAgICAgIAorLS0tLS0tLSstLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbMSwyKSB8ICAyIHwgQUFBMDAxIHwgWzAxLTAxLTIwMDAs MDEtMDEtMjAyMCkKKygxIHJvdykKKworLS0gVGVzdCBERUxFVEUgRk9SIFBPUlRJT04gT0YKK0RF TEVURSBGUk9NIGZ0OCBGT1IgUE9SVElPTiBPRiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAw Ni0wMS0wMScKK1dIRVJFIGMxID0gJ1syLDMpJzsKK0VSUk9SOiAgZm9yZWlnbiB0YWJsZXMgZG9u J3Qgc3VwcG9ydCBGT1IgUE9SVElPTiBPRgorU0VMRUNUICogRlJPTSBmdDggV0hFUkUgYzEgPSAn WzIsMyknIE9SREVSIEJZIGMxLCBjNDsKKyAgYzEgICB8IGMyIHwgICBjMyAgIHwgICAgICAgICAg IGM0ICAgICAgICAgICAgCistLS0tLS0tKy0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIFsyLDMpIHwgIDMgfCBBQUEwMDIgfCBbMDEtMDEtMjAwMCwwMS0wMS0yMDIwKQor KDEgcm93KQorCiAtLSBUZXN0IFVQREFURS9ERUxFVEUgd2l0aCBSRVRVUk5JTkcgb24gYSB0aHJl ZS10YWJsZSBqb2luCiBJTlNFUlQgSU5UTyBmdDIgKGMxLGMyLGMzKQogICBTRUxFQ1QgaWQsIGlk IC0gMTIwMCwgdG9fY2hhcihpZCwgJ0ZNMDAwMDAnKSBGUk9NIGdlbmVyYXRlX3NlcmllcygxMjAx LCAxMzAwKSBpZDsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jl c19mZHcuc3FsIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKaW5k ZXggOWE4ZjllMjgxMzUuLjczOGZjMjRmYjA3IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVz X2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwv cG9zdGdyZXNfZmR3LnNxbApAQCAtNTQsMTIgKzU0LDIwIEBAIENSRUFURSBUQUJMRSAiUyAxIi4i VCA0IiAoCiAJYzMgdGV4dCwKIAlDT05TVFJBSU5UIHQ0X3BrZXkgUFJJTUFSWSBLRVkgKGMxKQog KTsKK0NSRUFURSBUQUJMRSAiUyAxIi4iVCA1IiAoCisJYzEgaW50NHJhbmdlIE5PVCBOVUxMLAor CWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVMTCwKKwlD T05TVFJBSU5UIHQ1X3BrZXkgUFJJTUFSWSBLRVkgKGMxLCBjNCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKIAogLS0gRGlzYWJsZSBhdXRvdmFjdXVtIGZvciB0aGVzZSB0YWJsZXMgdG8gYXZvaWQgdW5l eHBlY3RlZCBlZmZlY3RzIG9mIHRoYXQKIEFMVEVSIFRBQkxFICJTIDEiLiJUIDEiIFNFVCAoYXV0 b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRFUiBUQUJMRSAiUyAxIi4iVCAyIiBTRVQg KGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogQUxURVIgVEFCTEUgIlMgMSIuIlQgMyIg U0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRBQkxFICJTIDEiLiJU IDQiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CitBTFRFUiBUQUJMRSAiUyAx Ii4iVCA1IiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogCiBJTlNFUlQgSU5U TyAiUyAxIi4iVCAxIgogCVNFTEVDVCBpZCwKQEAgLTg3LDExICs5NSwxOCBAQCBJTlNFUlQgSU5U TyAiUyAxIi4iVCA0IgogCSAgICAgICAnQUFBJyB8fCB0b19jaGFyKGlkLCAnRk0wMDAnKQogCUZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMCkgaWQ7CiBERUxFVEUgRlJPTSAiUyAxIi4iVCA0IiBX SEVSRSBjMSAlIDMgIT0gMDsJLS0gZGVsZXRlIGZvciBvdXRlciBqb2luIHRlc3RzCitJTlNFUlQg SU5UTyAiUyAxIi4iVCA1IgorCVNFTEVDVCBpbnQ0cmFuZ2UoaWQsIGlkICsgMSksCisJICAgICAg IGlkICsgMSwKKwkgICAgICAgJ0FBQScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJyksCisgICAgICAg ICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScKKwlGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDAp IGlkOwogCiBBTkFMWVpFICJTIDEiLiJUIDEiOwogQU5BTFlaRSAiUyAxIi4iVCAyIjsKIEFOQUxZ WkUgIlMgMSIuIlQgMyI7CiBBTkFMWVpFICJTIDEiLiJUIDQiOworQU5BTFlaRSAiUyAxIi4iVCA1 IjsKIAogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0gY3JlYXRlIGZvcmVpZ24gdGFibGVzCkBAIC0xNDYsNiAr MTYxLDE0IEBAIENSRUFURSBGT1JFSUdOIFRBQkxFIGZ0NyAoCiAJYzMgdGV4dAogKSBTRVJWRVIg bG9vcGJhY2szIE9QVElPTlMgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1lICdUIDQnKTsK IAorQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQ4ICgKKwljMSBpbnQ0cmFuZ2UgTk9UIE5VTEwsCisJ YzIgaW50IE5PVCBOVUxMLAorCWMzIHRleHQsCisJYzQgZGF0ZXJhbmdlIE5PVCBOVUxMCispIFNF UlZFUiBsb29wYmFjayBPUFRJT05TIChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFtZSAnVCA1 Jyk7CisKKwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdHMgZm9yIHZhbGlkYXRvcgogLS0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpAQCAtMTUzOCw2ICsxNTYxLDE3IEBAIEVYUExBSU4gKHZlcmJvc2UsIGNvc3RzIG9mZikK IERFTEVURSBGUk9NIGZ0MiBXSEVSRSBjMSA9IDEyMDAgUkVUVVJOSU5HIHRhYmxlb2lkOjpyZWdj bGFzczsgICAgICAgICAgICAgICAgICAgICAgIC0tIGNhbiBiZSBwdXNoZWQgZG93bgogREVMRVRF IEZST00gZnQyIFdIRVJFIGMxID0gMTIwMCBSRVRVUk5JTkcgdGFibGVvaWQ6OnJlZ2NsYXNzOwog CistLSBUZXN0IFVQREFURSBGT1IgUE9SVElPTiBPRgorVVBEQVRFIGZ0OCBGT1IgUE9SVElPTiBP RiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAwNi0wMS0wMScKK1NFVCBjMiA9IGMyICsgMQor V0hFUkUgYzEgPSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmdDggV0hFUkUgYzEgPSAnWzEsMikn IE9SREVSIEJZIGMxLCBjNDsKKworLS0gVGVzdCBERUxFVEUgRk9SIFBPUlRJT04gT0YKK0RFTEVU RSBGUk9NIGZ0OCBGT1IgUE9SVElPTiBPRiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAwNi0w MS0wMScKK1dIRVJFIGMxID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0g J1syLDMpJyBPUkRFUiBCWSBjMSwgYzQ7CisKIC0tIFRlc3QgVVBEQVRFL0RFTEVURSB3aXRoIFJF VFVSTklORyBvbiBhIHRocmVlLXRhYmxlIGpvaW4KIElOU0VSVCBJTlRPIGZ0MiAoYzEsYzIsYzMp CiAgIFNFTEVDVCBpZCwgaWQgLSAxMjAwLCB0b19jaGFyKGlkLCAnRk0wMDAwMCcpIEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEyMDEsIDEzMDApIGlkOwpkaWZmIC0tZ2l0IGEvY29udHJpYi90ZXN0X2Rl Y29kaW5nL2V4cGVjdGVkL2RkbC5vdXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQv ZGRsLm91dAppbmRleCBiY2QxZjc0YjJiYy4uNjgxOTgxMmU4MDYgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGwub3V0CisrKyBiL2NvbnRyaWIvdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGwub3V0CkBAIC0xOTIsNiArMTkyLDU4IEBAIFNFTEVDVCBkYXRhIEZS T00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBO VUxMLCAnaW5jCiAgQ09NTUlUCiAoMzMgcm93cykKIAorLS0gRk9SIFBPUlRJT04gT0Ygc2V0dXAK K0NSRUFURSBUQUJMRSByZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsKGlkIGludDRyYW5nZSwg dmFsaWRfYXQgZGF0ZXJhbmdlLCBzb21lZGF0YSBpbnQsIHRleHQgdmFyY2hhcigxMjApLCBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpKTsKK0lOU0VSVCBJTlRPIHJl cGxpY2F0aW9uX2V4YW1wbGVfdGVtcG9yYWwgVkFMVUVTICgnWzEsMiknLCAnWzIwMDAtMDEtMDEs MjAyMC0wMS0wMSknLCAxLCAnYWFhJyk7CitJTlNFUlQgSU5UTyByZXBsaWNhdGlvbl9leGFtcGxl X3RlbXBvcmFsIFZBTFVFUyAoJ1syLDMpJywgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywgMSwg J2FhYScpOworLyogZGlzcGxheSByZXN1bHRzICovCitTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2lj YWxfc2xvdF9nZXRfY2hhbmdlcygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlVMTCwgJ2luY2x1 ZGUteGlkcycsICcwJywgJ3NraXAtZW1wdHkteGFjdHMnLCAnMScpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQkVHSU4KKyB0YWJs ZSBwdWJsaWMucmVwbGljYXRpb25fZXhhbXBsZV90ZW1wb3JhbDogSU5TRVJUOiBpZFtpbnQ0cmFu Z2VdOidbMSwyKScgdmFsaWRfYXRbZGF0ZXJhbmdlXTonWzAxLTAxLTIwMDAsMDEtMDEtMjAyMCkn IHNvbWVkYXRhW2ludGVnZXJdOjEgdGV4dFtjaGFyYWN0ZXIgdmFyeWluZ106J2FhYScKKyBDT01N SVQKKyBCRUdJTgorIHRhYmxlIHB1YmxpYy5yZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsOiBJ TlNFUlQ6IGlkW2ludDRyYW5nZV06J1syLDMpJyB2YWxpZF9hdFtkYXRlcmFuZ2VdOidbMDEtMDEt MjAwMCwwMS0wMS0yMDIwKScgc29tZWRhdGFbaW50ZWdlcl06MSB0ZXh0W2NoYXJhY3RlciB2YXJ5 aW5nXTonYWFhJworIENPTU1JVAorKDYgcm93cykKKworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9G IHN1cHBvcnQKK0JFR0lOOworICBVUERBVEUgcmVwbGljYXRpb25fZXhhbXBsZV90ZW1wb3JhbAor ICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTAtMDEtMDEnIFRPICcyMDExLTAx LTAxJworICAgIFNFVCBzb21lZGF0YSA9IDIsCisgICAgICAgIHRleHQgPSAnYmJiJworICAgIFdI RVJFIGlkID0gJ1sxLDIpJzsKK0NPTU1JVDsKKy8qIGRpc3BsYXkgcmVzdWx0cyAqLworU0VMRUNU IGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcs IE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5LXhhY3RzJywgJzEn KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgQkVHSU4KKyB0YWJsZSBwdWJsaWMucmVwbGljYXRpb25fZXhhbXBsZV90ZW1w b3JhbDogVVBEQVRFOiBvbGQta2V5OiBpZFtpbnQ0cmFuZ2VdOidbMSwyKScgdmFsaWRfYXRbZGF0 ZXJhbmdlXTonWzAxLTAxLTIwMDAsMDEtMDEtMjAyMCknIG5ldy10dXBsZTogaWRbaW50NHJhbmdl XTonWzEsMiknIHZhbGlkX2F0W2RhdGVyYW5nZV06J1swMS0wMS0yMDEwLDAxLTAxLTIwMTEpJyBz b21lZGF0YVtpbnRlZ2VyXToyIHRleHRbY2hhcmFjdGVyIHZhcnlpbmddOidiYmInCisgdGFibGUg cHVibGljLnJlcGxpY2F0aW9uX2V4YW1wbGVfdGVtcG9yYWw6IElOU0VSVDogaWRbaW50NHJhbmdl XTonWzEsMiknIHZhbGlkX2F0W2RhdGVyYW5nZV06J1swMS0wMS0yMDAwLDAxLTAxLTIwMTApJyBz b21lZGF0YVtpbnRlZ2VyXToxIHRleHRbY2hhcmFjdGVyIHZhcnlpbmddOidhYWEnCisgdGFibGUg cHVibGljLnJlcGxpY2F0aW9uX2V4YW1wbGVfdGVtcG9yYWw6IElOU0VSVDogaWRbaW50NHJhbmdl XTonWzEsMiknIHZhbGlkX2F0W2RhdGVyYW5nZV06J1swMS0wMS0yMDExLDAxLTAxLTIwMjApJyBz b21lZGF0YVtpbnRlZ2VyXToxIHRleHRbY2hhcmFjdGVyIHZhcnlpbmddOidhYWEnCisgQ09NTUlU CisoNSByb3dzKQorCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0Ygc3VwcG9ydAorQkVHSU47Cisg IERFTEVURSBGUk9NIHJlcGxpY2F0aW9uX2V4YW1wbGVfdGVtcG9yYWwKKyAgICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDEyLTAxLTAxJyBUTyAnMjAxMy0wMS0wMScKKyAgICBXSEVS RSBpZCA9ICdbMiwzKSc7CitDT01NSVQ7CisvKiBkaXNwbGF5IHJlc3VsdHMgKi8KK1NFTEVDVCBk YXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBO VUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBCRUdJTgorIHRhYmxlIHB1YmxpYy5yZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsOiBE RUxFVEU6IGlkW2ludDRyYW5nZV06J1syLDMpJyB2YWxpZF9hdFtkYXRlcmFuZ2VdOidbMDEtMDEt MjAwMCwwMS0wMS0yMDIwKScKKyB0YWJsZSBwdWJsaWMucmVwbGljYXRpb25fZXhhbXBsZV90ZW1w b3JhbDogSU5TRVJUOiBpZFtpbnQ0cmFuZ2VdOidbMiwzKScgdmFsaWRfYXRbZGF0ZXJhbmdlXTon WzAxLTAxLTIwMDAsMDEtMDEtMjAxMiknIHNvbWVkYXRhW2ludGVnZXJdOjEgdGV4dFtjaGFyYWN0 ZXIgdmFyeWluZ106J2FhYScKKyB0YWJsZSBwdWJsaWMucmVwbGljYXRpb25fZXhhbXBsZV90ZW1w b3JhbDogSU5TRVJUOiBpZFtpbnQ0cmFuZ2VdOidbMiwzKScgdmFsaWRfYXRbZGF0ZXJhbmdlXTon WzAxLTAxLTIwMTMsMDEtMDEtMjAyMCknIHNvbWVkYXRhW2ludGVnZXJdOjEgdGV4dFtjaGFyYWN0 ZXIgdmFyeWluZ106J2FhYScKKyBDT01NSVQKKyg1IHJvd3MpCisKIC0tIE1FUkdFIHN1cHBvcnQK IEJFR0lOOwogTUVSR0UgSU5UTyByZXBsaWNhdGlvbl9leGFtcGxlIHQKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsLnNxbCBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9z cWwvZGRsLnNxbAppbmRleCAyZjhlNGU3ZjJjYy4uNmQwYjdkNzc3NzggMTAwNjQ0Ci0tLSBhL2Nv bnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsLnNxbAorKysgYi9jb250cmliL3Rlc3RfZGVjb2Rp bmcvc3FsL2RkbC5zcWwKQEAgLTkzLDYgKzkzLDM2IEBAIENPTU1JVDsKIC8qIGRpc3BsYXkgcmVz dWx0cyAqLwogU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3Jl Z3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lwLWVt cHR5LXhhY3RzJywgJzEnKTsKIAorLS0gRk9SIFBPUlRJT04gT0Ygc2V0dXAKK0NSRUFURSBUQUJM RSByZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsKGlkIGludDRyYW5nZSwgdmFsaWRfYXQgZGF0 ZXJhbmdlLCBzb21lZGF0YSBpbnQsIHRleHQgdmFyY2hhcigxMjApLCBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpKTsKK0lOU0VSVCBJTlRPIHJlcGxpY2F0aW9uX2V4 YW1wbGVfdGVtcG9yYWwgVkFMVUVTICgnWzEsMiknLCAnWzIwMDAtMDEtMDEsMjAyMC0wMS0wMSkn LCAxLCAnYWFhJyk7CitJTlNFUlQgSU5UTyByZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsIFZB TFVFUyAoJ1syLDMpJywgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywgMSwgJ2FhYScpOworCisv KiBkaXNwbGF5IHJlc3VsdHMgKi8KK1NFTEVDVCBkYXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dl dF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywg JzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBP RiBzdXBwb3J0CitCRUdJTjsKKyAgVVBEQVRFIHJlcGxpY2F0aW9uX2V4YW1wbGVfdGVtcG9yYWwK KyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDEwLTAxLTAxJyBUTyAnMjAxMS0w MS0wMScKKyAgICBTRVQgc29tZWRhdGEgPSAyLAorICAgICAgICB0ZXh0ID0gJ2JiYicKKyAgICBX SEVSRSBpZCA9ICdbMSwyKSc7CitDT01NSVQ7CisKKy8qIGRpc3BsYXkgcmVzdWx0cyAqLworU0VM RUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xv dCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5LXhhY3RzJywg JzEnKTsKKworLS0gREVMRVRFIEZPUiBQT1JUSU9OIE9GIHN1cHBvcnQKK0JFR0lOOworICBERUxF VEUgRlJPTSByZXBsaWNhdGlvbl9leGFtcGxlX3RlbXBvcmFsCisgICAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxMi0wMS0wMScgVE8gJzIwMTMtMDEtMDEnCisgICAgV0hFUkUgaWQg PSAnWzIsMyknOworQ09NTUlUOworCisvKiBkaXNwbGF5IHJlc3VsdHMgKi8KK1NFTEVDVCBkYXRh IEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxM LCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7CisK IC0tIE1FUkdFIHN1cHBvcnQKIEJFR0lOOwogTUVSR0UgSU5UTyByZXBsaWNhdGlvbl9leGFtcGxl IHQKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kbWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kbWwu c2dtbAppbmRleCA2MWM2NGNmNmM0OS4uYzVlMzlkNGVjYTUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9kbWwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZG1sLnNnbWwKQEAgLTI2MSw2ICsyNjEs MTQ1IEBAIERFTEVURSBGUk9NIHByb2R1Y3RzOwogICA8L3BhcmE+CiAgPC9zZWN0MT4KIAorIDxz ZWN0MSBpZD0iZG1sLWFwcGxpY2F0aW9uLXRpbWUtdXBkYXRlLWRlbGV0ZSI+CisgIDx0aXRsZT5V cGRhdGluZyBhbmQgRGVsZXRpbmcgVGVtcG9yYWwgRGF0YTwvdGl0bGU+CisKKyAgPHBhcmE+Cisg ICBTcGVjaWFsIHN5bnRheCBpcyBhdmFpbGFibGUgdG8gdXBkYXRlIGFuZCBkZWxldGUgZnJvbSA8 bGluaworICAgbGlua2VuZD0iZGRsLWFwcGxpY2F0aW9uLXRpbWUiPmFwcGxpY2F0aW9uLXRpbWUg dGVtcG9yYWwgdGFibGVzPC9saW5rPi4gKE5vCisgICBleHRyYSBzeW50YXggaXMgcmVxdWlyZWQg dG8gaW5zZXJ0IGludG8gdGhlbTogdGhlIHVzZXIganVzdAorICAgcHJvdmlkZXMgdGhlIGFwcGxp Y2F0aW9uIHRpbWUgbGlrZSBhbnkgb3RoZXIgYXR0cmlidXRlLikgV2hlbiB1cGRhdGluZworICAg b3IgZGVsZXRpbmcsIHRoZSB1c2VyIGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBwb3J0aW9uIG9mIGhp c3RvcnkuIE9ubHkKKyAgIHJvd3Mgb3ZlcmxhcHBpbmcgdGhhdCBoaXN0b3J5IGFyZSBhZmZlY3Rl ZCwgYW5kIHdpdGhpbiB0aG9zZSByb3dzIG9ubHkKKyAgIHRoZSB0YXJnZXRlZCBoaXN0b3J5IGlz IGNoYW5nZWQuIElmIGEgcm93IGNvbnRhaW5zIG1vcmUgaGlzdG9yeSBiZXlvbmQKKyAgIHdoYXQg aXMgdGFyZ2V0ZWQsIGl0cyBhcHBsaWNhdGlvbiB0aW1lIGlzIHJlZHVjZWQgdG8gZml0IHdpdGhp biB0aGUKKyAgIHRhcmdldGVkIHBvcnRpb24sIGFuZCBuZXcgcm93cyBhcmUgaW5zZXJ0ZWQgdG8g cHJlc2VydmUgdGhlIGhpc3RvcnkKKyAgIHRoYXQgd2FzIG5vdCB0YXJnZXRlZC4KKyAgPC9wYXJh PgorCisgIDxwYXJhPgorICAgUmVjYWxsIHRoZSBleGFtcGxlIHRhYmxlIGZyb20gPHhyZWYgbGlu a2VuZD0idGVtcG9yYWwtZW50aXRpZXMtZmlndXJlIiAvPiwKKyAgIGNvbnRhaW5pbmcgdGhpcyBk YXRhOgorCis8cHJvZ3JhbWxpc3Rpbmc+CisgcHJvZHVjdF9ubyB8IHByaWNlIHwgICAgICAgIHZh bGlkX2F0CistLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg ICAgICAgICAgNSB8ICA1LjAwIHwgWzIwMjAtMDEtMDEsMjAyMi0wMS0wMSkKKyAgICAgICAgICA1 IHwgIDguMDAgfCBbMjAyMi0wMS0wMSwpCisgICAgICAgICAgNiB8ICA5LjAwIHwgWzIwMjEtMDEt MDEsMjAyNC0wMS0wMSkKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgIEEgdGVtcG9yYWwgdXBkYXRl IG1pZ2h0IGxvb2sgbGlrZSB0aGlzOgorCis8cHJvZ3JhbWxpc3Rpbmc+CitVUERBVEUgcHJvZHVj dHMKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyMy0wOS0wMScgVE8gJzIwMjUt MDMtMDEnCisgIEFTIHAKKyAgU0VUIHByaWNlID0gMTIuMDAKKyAgV0hFUkUgcHJvZHVjdF9ubyA9 IDU7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICBUaGF0IGNvbW1hbmQgd2lsbCB1cGRhdGUgdGhl IHNlY29uZCByZWNvcmQgZm9yIHByb2R1Y3QgNS4gSXQgd2lsbCBzZXQgdGhlCisgICBwcmljZSB0 byAxMi4wMCBhbmQgdGhlIGFwcGxpY2F0aW9uIHRpbWUgdG8gPGxpdGVyYWw+WzIwMjMtMDktMDEs MjAyNS0wMy0wMSk8L2xpdGVyYWw+LgorICAgVGhlbiwgc2luY2UgdGhlIHJvdydzIGFwcGxpY2F0 aW9uIHRpbWUgd2FzIG9yaWdpbmFsbHkKKyAgIDxsaXRlcmFsPlsyMDIyLTAxLTAxLCk8L2xpdGVy YWw+LCB0aGUgY29tbWFuZCBtdXN0IGluc2VydCB0d28KKyAgIDxnbG9zc3Rlcm0gbGlua2VuZD0i Z2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbAorICAgbGVmdG92ZXJzPC9nbG9z c3Rlcm0+OiBvbmUgZm9yIGhpc3RvcnkgYmVmb3JlIFNlcHRlbWJlciAxLCAyMDIzLCBhbmQKKyAg IGFub3RoZXIgZm9yIGhpc3Rvcnkgc2luY2UgTWFyY2ggMSwgMjAyNS4gQWZ0ZXIgdGhlIHVwZGF0 ZSwgdGhlIHRhYmxlCisgICBoYXMgZm91ciByb3dzIGZvciBwcm9kdWN0IDU6CisKKzxwcm9ncmFt bGlzdGluZz4KKyBwcm9kdWN0X25vIHwgcHJpY2UgfCAgICAgICAgdmFsaWRfYXQKKy0tLS0tLS0t LS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICA1IHwgIDUu MDAgfCBbMjAyMC0wMS0wMSwyMDIyLTAxLTAxKQorICAgICAgICAgIDUgfCAgOC4wMCB8IFsyMDIy LTAxLTAxLDIwMjMtMDktMDEpCisgICAgICAgICAgNSB8IDEyLjAwIHwgWzIwMjMtMDktMDEsMjAy NS0wMy0wMSkKKyAgICAgICAgICA1IHwgIDguMDAgfCBbMjAyNS0wMy0wMSwpCis8L3Byb2dyYW1s aXN0aW5nPgorCisgICBUaGUgbmV3IGhpc3RvcnkgY291bGQgYmUgcGxvdHRlZCBhcyBpbiA8eHJl ZiBsaW5rZW5kPSJ0ZW1wb3JhbC11cGRhdGUtZmlndXJlIi8+LgorICA8L3BhcmE+CisKKyAgPGZp Z3VyZSBpZD0idGVtcG9yYWwtdXBkYXRlLWZpZ3VyZSI+CisgICA8dGl0bGU+VGVtcG9yYWwgVXBk YXRlIEV4YW1wbGU8L3RpdGxlPgorICAgPG1lZGlhb2JqZWN0PgorICAgIDxpbWFnZW9iamVjdD4K KyAgICAgPGltYWdlZGF0YSBmaWxlcmVmPSJpbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnN2ZyIgZm9y bWF0PSJTVkciIHdpZHRoPSIxMDAlIi8+CisgICAgPC9pbWFnZW9iamVjdD4KKyAgIDwvbWVkaWFv YmplY3Q+CisgIDwvZmlndXJlPgorCisgIDxwYXJhPgorICAgU2ltaWxhcmx5LCBhIHNwZWNpZmlj IHBvcnRpb24gb2YgaGlzdG9yeSBtYXkgYmUgdGFyZ2V0ZWQgd2hlbgorICAgZGVsZXRpbmcgcm93 cyBmcm9tIGEgdGFibGUuIEluIHRoYXQgY2FzZSwgdGhlIG9yaWdpbmFsIHJvd3MgYXJlCisgICBy ZW1vdmVkLCBidXQgbmV3CisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFs LWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+CisgICBhcmUgaW5zZXJ0 ZWQgdG8gcHJlc2VydmUgdGhlIHVudG91Y2hlZCBoaXN0b3J5LiBUaGUgc3ludGF4IGZvciBhCisg ICB0ZW1wb3JhbCBkZWxldGUgaXM6CisKKzxwcm9ncmFtbGlzdGluZz4KK0RFTEVURSBGUk9NIHBy b2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjEtMDgtMDEnIFRPICcy MDIzLTA5LTAxJworICBBUyBwCitXSEVSRSBwcm9kdWN0X25vID0gNTsKKzwvcHJvZ3JhbWxpc3Rp bmc+CisKKyAgIENvbnRpbnVpbmcgdGhlIGV4YW1wbGUsIHRoaXMgY29tbWFuZCB3b3VsZCBkZWxl dGUgdHdvIHJlY29yZHMuIFRoZQorICAgZmlyc3QgcmVjb3JkIHdvdWxkIHlpZWxkIGEgc2luZ2xl IHRlbXBvcmFsIGxlZnRvdmVyLCBhbmQgdGhlIHNlY29uZAorICAgd291bGQgYmUgZGVsZXRlZCBl bnRpcmVseS4gVGhlIHJvd3MgZm9yIHByb2R1Y3QgNSB3b3VsZCBub3cgYmU6CisKKzxwcm9ncmFt bGlzdGluZz4KKyBwcm9kdWN0X25vIHwgcHJpY2UgfCAgICAgICAgdmFsaWRfYXQKKy0tLS0tLS0t LS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICA1IHwgIDUu MDAgfCBbMjAyMC0wMS0wMSwyMDIxLTA4LTAxKQorICAgICAgICAgIDUgfCAxMi4wMCB8IFsyMDIz LTA5LTAxLDIwMjUtMDMtMDEpCisgICAgICAgICAgNSB8ICA4LjAwIHwgWzIwMjUtMDMtMDEsKQor PC9wcm9ncmFtbGlzdGluZz4KKworICAgVGhlIG5ldyBoaXN0b3J5IGNvdWxkIGJlIHBsb3R0ZWQg YXMgaW4gPHhyZWYgbGlua2VuZD0idGVtcG9yYWwtZGVsZXRlLWZpZ3VyZSIvPi4KKyAgPC9wYXJh PgorCisgIDxmaWd1cmUgaWQ9InRlbXBvcmFsLWRlbGV0ZS1maWd1cmUiPgorICAgPHRpdGxlPlRl bXBvcmFsIERlbGV0ZSBFeGFtcGxlPC90aXRsZT4KKyAgIDxtZWRpYW9iamVjdD4KKyAgICA8aW1h Z2VvYmplY3Q+CisgICAgIDxpbWFnZWRhdGEgZmlsZXJlZj0iaW1hZ2VzL3RlbXBvcmFsLWRlbGV0 ZS5zdmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgorICAgIDwvaW1hZ2VvYmplY3Q+Cisg ICA8L21lZGlhb2JqZWN0PgorICA8L2ZpZ3VyZT4KKworICA8cGFyYT4KKyAgIEluc3RlYWQgb2Yg dXNpbmcgdGhlIDxsaXRlcmFsPkZST00gLi4uIFRPIC4uLjwvbGl0ZXJhbD4gc3ludGF4LAorICAg dGVtcG9yYWwgdXBkYXRlL2RlbGV0ZSBjb21tYW5kcyBjYW4gYWxzbyBnaXZlIHRoZSB0YXJnZXRl ZAorICAgcmFuZ2UvbXVsdGlyYW5nZSBkaXJlY3RseSwgaW5zaWRlIHBhcmVudGhlc2VzLiBGb3Ig ZXhhbXBsZToKKyAgIDxsaXRlcmFsPkRFTEVURSBGUk9NIHByb2R1Y3RzIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0ICgnWzIwMjgtMDEtMDEsKScpIC4uLjwvbGl0ZXJhbD4uCisgICBUaGlzIHN5bnRh eCBpcyByZXF1aXJlZCB3aGVuIGFwcGxpY2F0aW9uIHRpbWUgaXMgc3RvcmVkCisgICBpbiBhIG11 bHRpcmFuZ2UgY29sdW1uLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBXaGVuIGFwcGxpY2F0 aW9uIHRpbWUgaXMgc3RvcmVkIGluIGEgcmFuZ2V0eXBlIGNvbHVtbiwgemVybywgb25lIG9yCisg ICB0d28gdGVtcG9yYWwgbGVmdG92ZXJzIGFyZSBwcm9kdWNlZCBieSBlYWNoIHJvdyB0aGF0IGlz CisgICB1cGRhdGVkL2RlbGV0ZWQuIFdpdGggYSBtdWx0aXJhbmdlIGNvbHVtbiwgb25seSB6ZXJv IG9yIG9uZSB0ZW1wb3JhbAorICAgbGVmdG92ZXIgaXMgcHJvZHVjZWQuIFRoZSBsZWZ0b3ZlciBi b3VuZHMgYXJlIGNvbXB1dGVkIHVzaW5nCisgICA8bGl0ZXJhbD5yYW5nZV9taW51c19tdWx0aTwv bGl0ZXJhbD4gYW5kCisgICA8bGl0ZXJhbD5tdWx0aXJhbmdlX21pbnVzX211bHRpPC9saXRlcmFs PgorICAgKHNlZSA8eHJlZiBsaW5rZW5kPSJmdW5jdGlvbnMtcmFuZ2UiLz4pLgorICA8L3BhcmE+ CisKKyAgPHBhcmE+CisgICBUaGUgYm91bmRzIGdpdmVuIHRvIDxsaXRlcmFsPkZPUiBQT1JUSU9O IE9GPC9saXRlcmFsPiBtdXN0IGJlCisgICBjb25zdGFudC4gRnVuY3Rpb25zIGxpa2UgPGxpdGVy YWw+Tk9XKCk8L2xpdGVyYWw+IGFyZSBhbGxvd2VkLCBidXQKKyAgIGNvbHVtbiByZWZlcmVuY2Vz IGFyZSBub3QuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFdoZW4gdGVtcG9yYWwgbGVmdG92 ZXJzIGFyZSBpbnNlcnRlZCwgYWxsIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4KKyAgIHRyaWdn ZXJzIGFyZSBmaXJlZCwgYnV0IHBlcm1pc3Npb24gY2hlY2tzIGZvciBpbnNlcnRpbmcgcm93cyBh cmUKKyAgIHNraXBwZWQuCisgIDwvcGFyYT4KKyA8L3NlY3QxPgorCiAgPHNlY3QxIGlkPSJkbWwt cmV0dXJuaW5nIj4KICAgPHRpdGxlPlJldHVybmluZyBEYXRhIGZyb20gTW9kaWZpZWQgUm93czwv dGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sIGIvZG9jL3Ny Yy9zZ21sL2dsb3NzYXJ5LnNnbWwKaW5kZXggYTc2Y2Y1YzM4M2YuLjEwNDI5ZWRiYjUyIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZ2xv c3Nhcnkuc2dtbApAQCAtMTkxNiw2ICsxOTE2LDIxIEBACiAgICA8L2dsb3NzZGVmPgogICA8L2ds b3NzZW50cnk+CiAKKyAgPGdsb3NzZW50cnkgaWQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVy cyI+CisgICA8Z2xvc3N0ZXJtPlRlbXBvcmFsIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPgorICAgPGds b3NzZGVmPgorICAgIDxwYXJhPgorICAgICBBZnRlciBhIHRlbXBvcmFsIHVwZGF0ZSBvciBkZWxl dGUsIHRoZSBwb3J0aW9uIG9mIGhpc3RvcnkgdGhhdCB3YXMgbm90CisgICAgIHVwZGF0ZWQvZGVs ZXRlZC4gV2hlbiB1c2luZyByYW5nZXMgdG8gdHJhY2sgYXBwbGljYXRpb24gdGltZSwgdGhlcmUg bWF5IGJlCisgICAgIHplcm8sIG9uZSwgb3IgdHdvIHN0cmV0Y2hlcyBvZiBoaXN0b3J5IHRoYXQg d2VyZSBub3QgdXBkYXRlZC9kZWxldGVkCisgICAgIChiZWZvcmUgYW5kL29yIGFmdGVyIHRoZSBw b3J0aW9uIHRoYXQgd2FzIHVwZGF0ZWQvZGVsZXRlZCkuIE5ldyByb3dzIGFyZQorICAgICBhdXRv bWF0aWNhbGx5IGluc2VydGVkIGludG8gdGhlIHRhYmxlIHRvIHByZXNlcnZlIHRoYXQgaGlzdG9y eS4gQSBzaW5nbGUKKyAgICAgbXVsdGlyYW5nZSBjYW4gYWNjb21tb2RhdGUgdGhlIHVudG91Y2hl ZCBoaXN0b3J5IGJlZm9yZSBhbmQgYWZ0ZXIgdGhlCisgICAgIHVwZGF0ZS9kZWxldGUsIHNvIHRo ZXJlIHdpbGwgYmUgb25seSB6ZXJvIG9yIG9uZSBsZWZ0b3Zlci4KKyAgICA8L3BhcmE+CisgICA8 L2dsb3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGdsb3NzZW50cnkgaWQ9Imdsb3NzYXJ5 LXRlbXBvcmFsLXRhYmxlIj4KICAgIDxnbG9zc3Rlcm0+VGVtcG9yYWwgdGFibGU8L2dsb3NzdGVy bT4KICAgIDxnbG9zc2RlZj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZp bGUgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlCmluZGV4IGZkNTViOWFkMjNmLi4zOGY4 ODY5ZDc4ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmlsZQorKysgYi9k b2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlCkBAIC03LDcgKzcsOSBAQCBBTExfSU1BR0VTID0g XAogCWdpbi5zdmcgXAogCXBhZ2VsYXlvdXQuc3ZnIFwKIAl0ZW1wb3JhbC1lbnRpdGllcy5zdmcg XAotCXRlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnCisJdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcgXAor CXRlbXBvcmFsLXVwZGF0ZS5zdmcgXAorCXRlbXBvcmFsLWRlbGV0ZS5zdmcKIAogRElUQUEgPSBk aXRhYQogRE9UID0gZG90CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFs LWRlbGV0ZS5zdmcgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS5zdmcKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjJkOGIxZDZlYzdiCi0tLSAvZGV2 L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnCkBAIC0w LDAgKzEsNDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3 dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzMwIDIyNCIgd2lkdGg9IjEzMzAiIGhl aWdodD0iMjI0IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmVyc2lvbj0i MS4wIj4KKyAgPGRlZnM+CisgICAgPGZpbHRlciBpZD0iZjIiIHg9IjAiIHk9IjAiIHdpZHRoPSIy MDAlIiBoZWlnaHQ9IjIwMCUiPgorICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0i U291cmNlR3JhcGhpYyIgZHg9IjUiIGR5PSI1Ii8+CisgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVz dWx0PSJibHVyT3V0IiBpbj0ib2ZmT3V0IiBzdGREZXZpYXRpb249IjMiLz4KKyAgICAgIDxmZUJs ZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPgorICAg IDwvZmlsdGVyPgorICA8L2RlZnM+CisgIDxnIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVj YXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CisgICAgPHJlY3QgeD0iMCIgeT0i MCIgd2lkdGg9IjEzMzAiIGhlaWdodD0iMjI0IiBzdHlsZT0iZmlsbDogI2ZmZmZmZiIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJN Njg1LjAgNjMuMCBMNjg1LjAgMTQ3LjAgTDEwMDUuMCAxNDcuMCBMMTAwNS4wIDYzLjAgeiIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBk PSJNMzE1LjAgNjMuMCBMMzE1LjAgMTQ3LjAgTDI1LjAgMTQ3LjAgTDI1LjAgNjMuMCB6Ii8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9 Ik0xMDA1LjAgNjMuMCBMMTAwNS4wIDE0Ny4wIEwxMjc1LjAgMTQ3LjAgTDEyNzUuMCA2My4wIHoi Lz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0 cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIg ZD0iTTIwNS4wIDE2OC4wIEwyMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAw MDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tl LWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTI1LjAgMTY4LjAgTDI1LjAgMTgxLjAg Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBz dHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUi IGQ9Ik0zODUuMCAxNjguMCBMMzg1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAw MDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9r ZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik01NjUuMCAxNjguMCBMNTY1LjAgMTgx LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAw IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5v bmUiIGQ9Ik03NDUuMCAxNjguMCBMNzQ1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIj MDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0 cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik05MjUuMCAxNjguMCBMOTI1LjAg MTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAw MDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9 Im5vbmUiIGQ9Ik0xMTA1LjAgMTY4LjAgTDExMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJv a2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3Vu ZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTEyODUuMCAxNjguMCBM MTI4NS4wIDE4MS4wICIvPgorICAgIDx0ZXh0IHg9IjQ2IiB5PSI5NiIgZm9udC1mYW1pbHk9IkNv dXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVj dHM8L3RleHQ+CisgICAgPHRleHQgeD0iNDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIi IGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDUuMDAsPC90 ZXh0PgorICAgIDx0ZXh0IHg9IjgzIiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIEphbiAyMDIwLDEgQXVn IDIwMjEpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291 cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIwPC90 ZXh0PgorICAgIDx0ZXh0IHg9IjIwMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9u dC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIxPC90ZXh0PgorICAg IDx0ZXh0IHg9IjM4MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIx NSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIyPC90ZXh0PgorICAgIDx0ZXh0IHg9 IjU2MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tl PSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjcwNiIgeT0i OTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZp bGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjcwMCIgeT0iMTEwIiBm b250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIj MDAwMDAwIj4oNSwgMTIuMDAsPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijc0MyIgeT0iMTI0IiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj5bMSBTZXAgMjAyMywxIE1hciAyMDI1KSk8L3RleHQ+CisgICAgPHRleHQgeD0iNzQwIiB5 PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUi IGZpbGw9IiMwMDAwMDAiPjIwMjQ8L3RleHQ+CisgICAgPHRleHQgeD0iOTIwIiB5PSIxOTQiIGZv bnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMw MDAwMDAiPjIwMjU8L3RleHQ+CisgICAgPHRleHQgeD0iMTAyNiIgeT0iOTYiIGZvbnQtZmFtaWx5 PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnBy b2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjEwMjAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNv dXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDgu MDAsPC90ZXh0PgorICAgIDx0ZXh0IHg9IjEwNTYiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgTWFyIDIw MjUsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iMTEwMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291 cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI2PC90 ZXh0PgorICAgIDx0ZXh0IHg9IjEyODkiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZv bnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+Li4uPC90ZXh0PgorICA8 L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVs ZXRlLnR4dCBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnR4dApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmY3OWIyMjA3YzMKLS0tIC9kZXYvbnVs bAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQKQEAgLTAsMCAr MSwxMCBAQAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgIHwKK3wgcHJvZHVjdHMgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcHJvZHVjdHMg ICAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgfAorfCAoNSwg NS4wMCwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAoNSwgMTIuMDAsICAgICAgICAgICAgICAgICAgICB8ICg1LCA4LjAwLCAgICAgICAgICAg ICAgICB8Cit8ICAgWzEgSmFuIDIwMjAsMSBBdWcgMjAyMSkpIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgWzEgU2VwIDIwMjMsMSBNYXIgMjAyNSkpICAgIHwgICBbMSBN YXIgMjAyNSwpKSAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK3wgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgIHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEgICAgICAgICAgICAgIDIwMjIgICAgICAg ICAgICAgIDIwMjMgICAgICAgICAgICAgIDIwMjQgICAgICAgICAgICAgIDIwMjUgICAgICAgICAg ICAgIDIwMjYgICAgICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdl cy90ZW1wb3JhbC11cGRhdGUuc3ZnIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRh dGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42YzdjNDNjOGQy MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRl LnN2ZwpAQCAtMCwwICsxLDQ1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmcgeG1sbnM9 Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMzMCAyMjQiIHdpZHRo PSIxMzMwIiBoZWlnaHQ9IjIyNCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24i IHZlcnNpb249IjEuMCI+CisgIDxkZWZzPgorICAgIDxmaWx0ZXIgaWQ9ImYyIiB4PSIwIiB5PSIw IiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIj4KKyAgICAgIDxmZU9mZnNldCByZXN1bHQ9Im9m Zk91dCIgaW49IlNvdXJjZUdyYXBoaWMiIGR4PSI1IiBkeT0iNSIvPgorICAgICAgPGZlR2F1c3Np YW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgaW49Im9mZk91dCIgc3RkRGV2aWF0aW9uPSIzIi8+Cisg ICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJibHVyT3V0IiBtb2RlPSJub3Jt YWwiLz4KKyAgICA8L2ZpbHRlcj4KKyAgPC9kZWZzPgorICA8ZyBzdHJva2Utd2lkdGg9IjEiIHN0 cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgorICAgIDxyZWN0 IHg9IjAiIHk9IjAiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIyNCIgc3R5bGU9ImZpbGw6ICNmZmZm ZmYiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAi IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5 ZGQ5OSIgZD0iTTM4NS4wIDYzLjAgTDM4NS4wIDE0Ny4wIEwyNS4wIDE0Ny4wIEwyNS4wIDYzLjAg eiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIg c3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlk ZDk5IiBkPSJNMTI4NS4wIDYzLjAgTDEyODUuMCAxNDcuMCBMOTc1LjAgMTQ3LjAgTDk3NS4wIDYz LjAgeiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAw MCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIj OTlkZDk5IiBkPSJNMzg1LjAgMTQ3LjAgTDY4NS4wIDE0Ny4wIEw2ODUuMCA2My4wIEwzODUuMCA2 My4wIHoiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAw MDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0i Izk5ZGQ5OSIgZD0iTTY4NS4wIDYzLjAgTDY4NS4wIDE0Ny4wIEw5NzUuMCAxNDcuMCBMOTc1LjAg NjMuMCB6Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAw MDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9 Im5vbmUiIGQ9Ik0yMDUuMCAxNjguMCBMMjA1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tl PSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQi IHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yNS4wIDE2OC4wIEwyNS4w IDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAw MDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxs PSJub25lIiBkPSJNMzg1LjAgMTY4LjAgTDM4NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9r ZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5k IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNTY1LjAgMTY4LjAgTDU2 NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIx LjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBm aWxsPSJub25lIiBkPSJNNzQ1LjAgMTY4LjAgTDc0NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0 cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJv dW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNOTI1LjAgMTY4LjAg TDkyNS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRo PSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5k IiBmaWxsPSJub25lIiBkPSJNMTEwNS4wIDE2OC4wIEwxMTA1LjAgMTgxLjAgIi8+CisgICAgPHBh dGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNh cD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0xMjg1LjAg MTY4LjAgTDEyODUuMCAxODEuMCAiLz4KKyAgICA8dGV4dCB4PSI0NiIgeT0iOTYiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCA1 LjAwLDwvdGV4dD4KKyAgICA8dGV4dCB4PSI4NiIgeT0iMTI0IiBmb250LWZhbWlseT0iQ291cmll ciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5bMSBKYW4gMjAy MCwxIEphbiAyMDIyKSk8L3RleHQ+CisgICAgPHRleHQgeD0iMjAiIHk9IjE5NCIgZm9udC1mYW1p bHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+ MjAyMDwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMTwvdGV4 dD4KKyAgICA8dGV4dCB4PSI0MDYiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1z aXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAg ICA8dGV4dCB4PSI0MDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0i MTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsIDguMDAsPC90ZXh0PgorICAgIDx0 ZXh0IHg9IjQ0NSIgeT0iMTI0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIg c3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5bMSBKYW4gMjAyMiwxIFNlcCAyMDIzKSk8L3Rl eHQ+CisgICAgPHRleHQgeD0iMzgwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjI8L3RleHQ+CisgICAg PHRleHQgeD0iNTYwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1 IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjM8L3RleHQ+CisgICAgPHRleHQgeD0i NzA2IiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0i bm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAgPHRleHQgeD0iNzAwIiB5 PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUi IGZpbGw9IiMwMDAwMDAiPig1LCAxMi4wMCw8L3RleHQ+CisgICAgPHRleHQgeD0iNzQzIiB5PSIx MjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZp bGw9IiMwMDAwMDAiPlsxIFNlcCAyMDIzLDEgTWFyIDIwMjUpKTwvdGV4dD4KKyAgICA8dGV4dCB4 PSI3NDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4dD4KKyAgICA8dGV4dCB4PSI5MjAiIHk9 IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIg ZmlsbD0iIzAwMDAwMCI+MjAyNTwvdGV4dD4KKyAgICA8dGV4dCB4PSI5OTYiIHk9Ijk2IiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSI5OTAiIHk9IjExMCIgZm9udC1mYW1p bHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+ KDUsIDguMDAsPC90ZXh0PgorICAgIDx0ZXh0IHg9IjEwMjYiIHk9IjEyNCIgZm9udC1mYW1pbHk9 IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEg TWFyIDIwMjUsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iMTEwMCIgeT0iMTk0IiBmb250LWZhbWls eT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4y MDI2PC90ZXh0PgorICAgIDx0ZXh0IHg9IjEyODkiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+Li4uPC90ZXh0 PgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9y YWwtdXBkYXRlLnR4dCBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODdhMTYzODI4MTAKLS0tIC9k ZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS50eHQKQEAg LTAsMCArMSwxMCBAQAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBjR1JFICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBjR1JFICAgICAgICAgICAgICAgICAgICAgICAgfCBjR1JFICAgICAgICAgICAg ICAgICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBwcm9kdWN0cyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICAgfCBw cm9kdWN0cyAgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAg fAorfCAoNSwgNS4wMCwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoNSwgOC4wMCwgICAgICAg ICAgICAgICAgICAgfCAoNSwgMTIuMDAsICAgICAgICAgICAgICAgICB8ICg1LCA4LjAwLCAgICAg ICAgICAgICAgICAgICAgfAorfCAgIFsxIEphbiAyMDIwLDEgSmFuIDIwMjIpKSAgICAgICAgfCAg IFsxIEphbiAyMDIyLDEgU2VwIDIwMjMpKSAgfCAgIFsxIFNlcCAyMDIzLDEgTWFyIDIwMjUpKSB8 ICAgWzEgTWFyIDIwMjUsKSkgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKworCit8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICB8CisyMDIwICAgICAgICAgICAgICAyMDIxICAgICAgICAgICAg ICAyMDIyICAgICAgICAgICAgICAyMDIzICAgICAgICAgICAgICAyMDI0ICAgICAgICAgICAgICAy MDI1ICAgICAgICAgICAgICAyMDI2ICAgICAgICAgICAgICAuLi4KZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCmluZGV4IDc1YTUwOGJlYmZhLi5mN2JiNWExOTdmMSAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zOTQsNiArMzk0LDEy IEBAIENSRUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFt ZTwvcmVwbGFjZWFibGU+CiAgICBmb3IgZWFjaCByb3cgaW5zZXJ0ZWQsIHVwZGF0ZWQsIG9yIGRl bGV0ZWQuCiAgIDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIEZvciBhbiA8Y29tbWFuZD5VUERBVEUv REVMRVRFIC4uLiBGT1IgUE9SVElPTiBPRjwvY29tbWFuZD4gY29tbWFuZCwgdGhlCisgICBwdWJs aWNhdGlvbiB3aWxsIHB1Ymxpc2ggYW4gPGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPiBvciA8Y29t bWFuZD5ERUxFVEU8L2NvbW1hbmQ+LAorICAgZm9sbG93ZWQgYnkgb25lIDxjb21tYW5kPklOU0VS VDwvY29tbWFuZD4gZm9yIGVhY2ggdGVtcG9yYWwgbGVmdG92ZXIgcm93IGluc2VydGVkLgorICA8 L3BhcmE+CisKICAgPHBhcmE+CiAgICA8Y29tbWFuZD5BVFRBQ0g8L2NvbW1hbmQ+aW5nIGEgdGFi bGUgaW50byBhIHBhcnRpdGlvbiB0cmVlIHdob3NlIHJvb3QgaXMKICAgIHB1Ymxpc2hlZCB1c2lu ZyBhIHB1YmxpY2F0aW9uIHdpdGggPGxpdGVyYWw+cHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Q8 L2xpdGVyYWw+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sIGIvZG9j L3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbAppbmRleCA1YjUyZjc3ZTI4Zi4uNzI3ZDc2MTdhYzQg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi9kZWxldGUuc2dtbApAQCAtMjIsMTEgKzIyLDE4IEBAIFBvc3RncmVTUUwgZG9jdW1l bnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KIFsgV0lUSCBbIFJFQ1VSU0lW RSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj53aXRoX3F1ZXJ5PC9yZXBsYWNlYWJs ZT4gWywgLi4uXSBdCi1ERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFjZWFibGU+IF0KK0RFTEVURSBGUk9N IFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBs YWNlYWJsZT4gWyAqIF0KKyAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5yYW5nZV9jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCisg ICAgWyBbIEFTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNl YWJsZT4gXQogICAgIFsgVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZyb21f aXRlbTwvcmVwbGFjZWFibGU+IFssIC4uLl0gXQogICAgIFsgV0hFUkUgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmNvbmRpdGlvbjwvcmVwbGFjZWFibGU+IHwgV0hFUkUgQ1VSUkVOVCBP RiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y3Vyc29yX25hbWU8L3JlcGxhY2VhYmxl PiBdCiAgICAgWyBSRVRVUk5JTkcgWyBXSVRIICggeyBPTEQgfCBORVcgfSBBUyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+b3V0cHV0X2FsaWFzPC9yZXBsYWNlYWJsZT4gWywgLi4uXSAp IF0KICAgICAgICAgICAgICAgICB7ICogfCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ b3V0cHV0X2V4cHJlc3Npb248L3JlcGxhY2VhYmxlPiBbIFsgQVMgXSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+b3V0cHV0X25hbWU8L3JlcGxhY2VhYmxlPiBdIH0gWywgLi4uXSBdCisK KzxwaHJhc2U+d2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9u X29mX3RhcmdldDwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgorCit7IEZST00gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiBUTyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPiB8CisgICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBvcnRpb248L3JlcGxhY2VhYmxlPiApIH0KIDwv c3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtNTUsNiArNjIsNDkgQEAgREVMRVRF IEZST00gWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8 L3JlcGxhY2VhYmxlPiBbICoKICAgIGNpcmN1bXN0YW5jZXMuCiAgIDwvcGFyYT4KIAorICA8cGFy YT4KKyAgIElmIHRoZSB0YWJsZSBoYXMgYSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiwKKyAg IHlvdSBtYXkgc3VwcGx5IGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwgYW5kIHRoZSBkZWxldGUgd2lsbAorICAgb25seSBhZmZlY3Qgcm93cyB0aGF0IG92ZXJsYXAg dGhlIGdpdmVuIHBvcnRpb24uIEZ1cnRoZXJtb3JlLCBpZiBhIHJvdydzCisgICBhcHBsaWNhdGlv biB0aW1lIGV4dGVuZHMgb3V0c2lkZSB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVy YWw+IGJvdW5kcywKKyAgIHRoZW4gdGhlIGRlbGV0ZSB3aWxsIG9ubHkgY2hhbmdlIHRoZSBhcHBs aWNhdGlvbiB0aW1lIHdpdGhpbiB0aG9zZSBib3VuZHMuCisgICBJbiBlZmZlY3QgeW91IGFyZSBk ZWxldGluZyB0aGUgaGlzdG9yeSB0YXJnZXRlZCBieSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwv bGl0ZXJhbD4KKyAgIGFuZCBubyBtb21lbnRzIG91dHNpZGUuCisgIDwvcGFyYT4KKworICA8cGFy YT4KKyAgIFNwZWNpZmljYWxseSwgYWZ0ZXIgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1 Y3RuYW1lPiBkZWxldGVzIGEgcm93LAorICAgaXQgd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVy YWw+CisgICBuZXcgPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3Zl cnMiPnRlbXBvcmFsIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ug b3IgbXVsdGlyYW5nZSByZWNlaXZlcyB0aGUgcmVtYWluaW5nIGFwcGxpY2F0aW9uIHRpbWUgb3V0 c2lkZQorICAgdGhlIHRhcmdldGVkIDxsaXRlcmFsPkZST008L2xpdGVyYWw+LzxsaXRlcmFsPlRP PC9saXRlcmFsPiBib3VuZHMsIHdpdGggdGhlCisgICBvcmlnaW5hbCB2YWx1ZXMgaW4gdGhlaXIg b3RoZXIgY29sdW1ucy4gRm9yIHJhbmdlIGNvbHVtbnMsIHRoZXJlIHdpbGwgYmUgemVybworICAg dG8gdHdvIGluc2VydGVkIHJlY29yZHMsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBvcmlnaW5h bCBhcHBsaWNhdGlvbiB0aW1lIHdhcworICAgY29tcGxldGVseSBkZWxldGVkLCBleHRlbmRlZCBi ZWZvcmUvYWZ0ZXIgdGhlIGNoYW5nZSwgb3IgYm90aC4gRm9yCisgICBpbnN0YW5jZSBnaXZlbiBh biBvcmlnaW5hbCByYW5nZSBvZiA8bGl0ZXJhbD5bMiw2KTwvbGl0ZXJhbD4sIGEgZGVsZXRlIG9m CisgICA8bGl0ZXJhbD5bMSw3KTwvbGl0ZXJhbD4geWllbGRzIG5vIGxlZnRvdmVycywgYSBkZWxl dGUgb2YKKyAgIDxsaXRlcmFsPlsyLDUpPC9saXRlcmFsPiB5aWVsZHMgb25lLCBhbmQgYSBkZWxl dGUgb2YKKyAgIDxsaXRlcmFsPlszLDUpPC9saXRlcmFsPiB5aWVsZHMgdHdvLiBNdWx0aXJhbmdl cyBuZXZlciByZXF1aXJlIHR3byB0ZW1wb3JhbAorICAgbGVmdG92ZXJzLCBiZWNhdXNlIG9uZSB2 YWx1ZSBjYW4gYWx3YXlzIGNvbnRhaW4gd2hhdGV2ZXIgYXBwbGljYXRpb24gdGltZSByZW1haW5z LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0cyBmaXJl IDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4gdHJpZ2dlcnMuCisgICBCb3RoIDxsaXRlcmFsPlNU QVRFTUVOVDwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlJPVzwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJl IGZpcmVkLgorICAgVGhlIDxsaXRlcmFsPkJFRk9SRSBERUxFVEU8L2xpdGVyYWw+IHRyaWdnZXJz IGFyZSBmaXJlZCBmaXJzdCwgdGhlbgorICAgPGxpdGVyYWw+QkVGT1JFIElOU0VSVDwvbGl0ZXJh bD4sIHRoZW4gPGxpdGVyYWw+QUZURVIgSU5TRVJUPC9saXRlcmFsPiwKKyAgIHRoZW4gPGxpdGVy YWw+QUZURVIgREVMRVRFPC9saXRlcmFsPi4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgVGhl c2Ugc2Vjb25kYXJ5IGluc2VydHMgZG8gbm90IHJlcXVpcmUgPGxpdGVyYWw+SU5TRVJUPC9saXRl cmFsPiBwcml2aWxlZ2Ugb24KKyAgIHRoZSB0YWJsZS4gVGhpcyBpcyBiZWNhdXNlIGNvbmNlcHR1 YWxseSBubyBuZXcgaW5mb3JtYXRpb24gaGFzIGJlZW4gYWRkZWQuCisgICBUaGUgaW5zZXJ0ZWQg cm93cyBvbmx5IHByZXNlcnZlIGV4aXN0aW5nIGRhdGEgYWJvdXQgdGhlIHVudGFyZ2V0ZWQgdGlt ZSBwZXJpb2QuCisgICBOb3RlIHRoaXMgbWF5IHJlc3VsdCBpbiB1c2VycyBmaXJpbmcgPGxpdGVy YWw+SU5TRVJUPC9saXRlcmFsPiB0cmlnZ2VycyB3aG8KKyAgIGRvbid0IGhhdmUgaW5zZXJ0IHBy aXZpbGVnZXMsIHNvIGJlIGNhcmVmdWwgYWJvdXQgPGxpdGVyYWw+U0VDVVJJVFkgREVGSU5FUjwv bGl0ZXJhbD4KKyAgIHRyaWdnZXIgZnVuY3Rpb25zIQorICA8L3BhcmE+CisKICAgPHBhcmE+CiAg ICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVUVVJOSU5HPC9saXRlcmFsPiBjbGF1c2UgY2F1c2Vz IDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4KICAgIHRvIGNvbXB1dGUgYW5kIHJldHVybiB2YWx1 ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1YWxseSBkZWxldGVkLgpAQCAtMTE3LDYgKzE2Nyw1 OCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxp c3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmFuZ2VfY29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAg ICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2Ug Y29sdW1uIHRvIHVzZSB3aGVuIHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCBkZWxldGUuCisgICAgIDwv cGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0 ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0 aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAg PHBhcmE+CisgICAgICBUaGUgcG9ydGlvbiB0byBkZWxldGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5n IGEgcmFuZ2UgY29sdW1uLAorICAgICAgeW91IG1heSBnaXZlIHRoaXMgaW4gdGhlIGZvcm0gPGxp dGVyYWw+RlJPTTwvbGl0ZXJhbD4KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+VE88L2xpdGVyYWw+CisgICAgICA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPi4KKyAg ICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKKyAgICAgIDxsaXRlcmFsPig8L2xpdGVyYWw+PHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBvcnRpb248L3JlcGxhY2VhYmxlPjxsaXRlcmFs Pik8L2xpdGVyYWw+CisgICAgICB3aGVyZSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cG9ydGlvbjwvcmVwbGFjZWFibGU+IGlzIGFuIGV4cHJlc3Npb24KKyAgICAgIHRoYXQgeWllbGRz IGEgdmFsdWUgb2YgdGhlIHNhbWUgdHlwZSBhcworICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnJhbmdlX2NvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFyYT4K KyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+ CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3Jl cGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhl IGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgZGVsZXRl LgorICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0 aGUgcmFuZ2UgZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdl X2NvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVy YWw+IGhlcmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAgdW5i b3VuZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0 ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwvdGVy bT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1lIChl eGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMgbXVz dCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAg ICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9jb2x1bW5fbmFtZTwvcmVw bGFjZWFibGU+LiBBCisgICAgICA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBoZXJlIGluZGljYXRl cyBhIGRlbGV0ZSB3aG9zZSBlbmQgaXMgdW5ib3VuZGVkCisgICAgICAoYXMgd2l0aCByYW5nZSB0 eXBlcykuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisKICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmZyb21faXRlbTwvcmVwbGFjZWFibGU+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KQEAg LTIzOCw2ICszNDAsMTAgQEAgREVMRVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b3VudDwvcmVwbGFjZWFibGU+CiAgICBzdXBwcmVzc2VkIGJ5IGEgPGxpdGVyYWw+QkVGT1JFIERF TEVURTwvbGl0ZXJhbD4gdHJpZ2dlci4gIElmIDxyZXBsYWNlYWJsZQogICAgY2xhc3M9InBhcmFt ZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBpcyAwLCBubyByb3dzIHdlcmUgZGVsZXRlZCBieQog ICAgdGhlIHF1ZXJ5ICh0aGlzIGlzIG5vdCBjb25zaWRlcmVkIGFuIGVycm9yKS4KKyAgIElmIDxs aXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMgdXNlZCwgdGhlCisgICA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBkb2VzIG5vdCBpbmNs dWRlCisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+ dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+CisgICB0aGF0IHdlcmUgaW5zZXJ0ZWQuCiAg IDwvcGFyYT4KIAogICA8cGFyYT4KQEAgLTI0NSw3ICszNTEsMTMgQEAgREVMRVRFIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+CiAgICBjbGF1c2UsIHRo ZSByZXN1bHQgd2lsbCBiZSBzaW1pbGFyIHRvIHRoYXQgb2YgYSA8Y29tbWFuZD5TRUxFQ1Q8L2Nv bW1hbmQ+CiAgICBzdGF0ZW1lbnQgY29udGFpbmluZyB0aGUgY29sdW1ucyBhbmQgdmFsdWVzIGRl ZmluZWQgaW4gdGhlCiAgICA8bGl0ZXJhbD5SRVRVUk5JTkc8L2xpdGVyYWw+IGxpc3QsIGNvbXB1 dGVkIG92ZXIgdGhlIHJvdyhzKSBkZWxldGVkIGJ5IHRoZQotICAgY29tbWFuZC4KKyAgIGNvbW1h bmQuIElmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMgdXNlZCwgdGhlCisg ICA8bGl0ZXJhbD5SRVRVUk5JTkc8L2xpdGVyYWw+IGNsYXVzZSBnaXZlcyBvbmUgcmVzdWx0IGZv ciBlYWNoIGRlbGV0ZWQgcm93LAorICAgYnV0IGRvZXMgbm90IGluY2x1ZGUgaW5zZXJ0ZWQKKyAg IDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3Jh bCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4uCisgICBUaGUgdmFsdWUgb2YgdGhlIGFwcGxpY2F0aW9u LXRpbWUgY29sdW1uIG1hdGNoZXMgdGhlIG9sZCB2YWx1ZSBvZiB0aGUgZGVsZXRlZAorICAgcm93 KHMpLiBOb3RlIHRoaXMgd2lsbCByZXByZXNlbnQgbW9yZSBhcHBsaWNhdGlvbiB0aW1lIHRoYW4g d2FzIGFjdHVhbGx5IGVyYXNlZCwKKyAgIGlmIHRlbXBvcmFsIGxlZnRvdmVycyB3ZXJlIGluc2Vy dGVkLgogICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3JlZi91cGRhdGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggNDBj Y2EwNjM5NDYuLmFmYzY4MDc0NzA3IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0 ZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIyLDcgKzIyLDkg QEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lz PgogWyBXSVRIIFsgUkVDVVJTSVZFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPndp dGhfcXVlcnk8L3JlcGxhY2VhYmxlPiBbLCAuLi5dIF0KLVVQREFURSBbIE9OTFkgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsg WyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFjZWFibGU+ IF0KK1VQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVf bmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfY29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNl YWJsZT4gXQorICAgIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlh czwvcmVwbGFjZWFibGU+IF0KICAgICBTRVQgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA9IHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmV4cHJlc3Npb248L3JlcGxhY2VhYmxlPiB8IERFRkFVTFQgfSB8CiAgICAgICAgICAg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxl PiBbLCAuLi5dICkgPSBbIFJPVyBdICggeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+IHwgREVGQVVMVCB9IFssIC4uLl0gKSB8CiAgICAgICAg ICAgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBbLCAuLi5dICkgPSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdWItU0VM RUNUPC9yZXBsYWNlYWJsZT4gKQpAQCAtMzEsNiArMzMsMTEgQEAgVVBEQVRFIFsgT05MWSBdIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAq IF0gWwogICAgIFsgV0hFUkUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbmRpdGlv bjwvcmVwbGFjZWFibGU+IHwgV0hFUkUgQ1VSUkVOVCBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y3Vyc29yX25hbWU8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBSRVRVUk5JTkcgWyBX SVRIICggeyBPTEQgfCBORVcgfSBBUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3V0 cHV0X2FsaWFzPC9yZXBsYWNlYWJsZT4gWywgLi4uXSApIF0KICAgICAgICAgICAgICAgICB7ICog fCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3V0cHV0X2V4cHJlc3Npb248L3JlcGxh Y2VhYmxlPiBbIFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3V0cHV0X25h bWU8L3JlcGxhY2VhYmxlPiBdIH0gWywgLi4uXSBdCisKKzxwaHJhc2U+d2hlcmUgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+ IGlzOjwvcGhyYXNlPgorCit7IEZST00gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0 YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiBUTyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPiB8CisgICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnBvcnRpb248L3JlcGxhY2VhYmxlPiApIH0KIDwvc3lub3BzaXM+CiAgPC9yZWZzeW5vcHNp c2Rpdj4KIApAQCAtNTIsNiArNTksNTEgQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0gWwogICAgY2ly Y3Vtc3RhbmNlcy4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgSWYgdGhlIHRhYmxlIGhhcyBh IHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uLAorICAgeW91IG1heSBzdXBwbHkgYSA8bGl0ZXJh bD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLCBhbmQgdGhlIHVwZGF0ZSB3aWxsCisg ICBvbmx5IGFmZmVjdCByb3dzIHRoYXQgb3ZlcmxhcCB0aGUgZ2l2ZW4gcG9ydGlvbi4gRnVydGhl cm1vcmUsIGlmIGEgcm93J3MKKyAgIGFwcGxpY2F0aW9uIHRpbWUgZXh0ZW5kcyBvdXRzaWRlIHRo ZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLAorICAgdGhlbiB0aGUg dXBkYXRlIHdpbGwgb25seSBjaGFuZ2UgdGhlIGFwcGxpY2F0aW9uIHRpbWUgd2l0aGluIHRob3Nl IGJvdW5kcy4KKyAgIEluIGVmZmVjdCB5b3UgYXJlIHVwZGF0aW5nIHRoZSBoaXN0b3J5IHRhcmdl dGVkIGJ5IDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPgorICAgYW5kIG5vIG1vbWVu dHMgb3V0c2lkZS4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgU3BlY2lmaWNhbGx5LCB3aGVu IDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gdXBkYXRlcyBhIHJvdywKKyAg IGl0IHdpbGwgZmlyc3Qgc2hyaW5rIHRoZSByYW5nZSBvciBtdWx0aXJhbmdlIHNvIHRoYXQgaXRz IGFwcGxpY2F0aW9uIHRpbWUKKyAgIG5vIGxvbmdlciBleHRlbmRzIGJleW9uZCB0aGUgdGFyZ2V0 ZWQgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGJvdW5kcy4KKyAgIFRoZW4gPHBy b2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiB3aWxsIDxsaXRlcmFsPklOU0VSVDwv bGl0ZXJhbD4KKyAgIG5ldyA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxl ZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+OgorICAgcm93cyB3aG9zZSBy YW5nZSBvciBtdWx0aXJhbmdlIHJlY2VpdmVzIHRoZSByZW1haW5pbmcgYXBwbGljYXRpb24gdGlt ZSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4vPGxpdGVy YWw+VE88L2xpdGVyYWw+IGJvdW5kcywgd2l0aCB0aGUKKyAgIG9yaWdpbmFsIHZhbHVlcyBpbiB0 aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucywgdGhlcmUgd2lsbCBiZSB6ZXJv CisgICB0byB0d28gaW5zZXJ0ZWQgcmVjb3JkcywgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIG9y aWdpbmFsIGFwcGxpY2F0aW9uIHRpbWUgd2FzCisgICBjb21wbGV0ZWx5IHVwZGF0ZWQsIGV4dGVu ZGVkIGJlZm9yZS9hZnRlciB0aGUgY2hhbmdlLCBvciBib3RoLiBGb3IKKyAgIGluc3RhbmNlIGdp dmVuIGFuIG9yaWdpbmFsIHJhbmdlIG9mIDxsaXRlcmFsPlsyLDYpPC9saXRlcmFsPiwgYW4gdXBk YXRlIG9mCisgICA8bGl0ZXJhbD5bMSw3KTwvbGl0ZXJhbD4geWllbGRzIG5vIGxlZnRvdmVycywg YW4gdXBkYXRlIG9mCisgICA8bGl0ZXJhbD5bMiw1KTwvbGl0ZXJhbD4geWllbGRzIG9uZSwgYW5k IGFuIHVwZGF0ZSBvZgorICAgPGxpdGVyYWw+WzMsNSk8L2xpdGVyYWw+IHlpZWxkcyB0d28uIE11 bHRpcmFuZ2VzIG5ldmVyIHJlcXVpcmUgdHdvIHRlbXBvcmFsCisgICBsZWZ0b3ZlcnMsIGJlY2F1 c2Ugb25lIHZhbHVlIGNhbiBhbHdheXMgY29udGFpbiB3aGF0ZXZlciBhcHBsaWNhdGlvbiB0aW1l IHJlbWFpbnMuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRoZXNlIHNlY29uZGFyeSBpbnNl cnRzIGZpcmUgPGxpdGVyYWw+SU5TRVJUPC9saXRlcmFsPiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxp dGVyYWw+U1RBVEVNRU5UPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+Uk9XPC9saXRlcmFsPiB0cmln Z2VycyBhcmUgZmlyZWQuCisgICBUaGUgPGxpdGVyYWw+QkVGT1JFIFVQREFURTwvbGl0ZXJhbD4g dHJpZ2dlcnMgYXJlIGZpcmVkIGZpcnN0LCB0aGVuCisgICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJU PC9saXRlcmFsPiwgdGhlbiA8bGl0ZXJhbD5BRlRFUiBJTlNFUlQ8L2xpdGVyYWw+LAorICAgdGhl biA8bGl0ZXJhbD5BRlRFUiBVUERBVEU8L2xpdGVyYWw+LgorICA8L3BhcmE+CisKKyAgPHBhcmE+ CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0cyBkbyBub3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNF UlQ8L2xpdGVyYWw+IHByaXZpbGVnZSBvbgorICAgdGhlIHRhYmxlLiBUaGlzIGlzIGJlY2F1c2Ug Y29uY2VwdHVhbGx5IG5vIG5ldyBpbmZvcm1hdGlvbiBoYXMgYmVlbiBhZGRlZC4KKyAgIFRoZSBp bnNlcnRlZCByb3dzIG9ubHkgcHJlc2VydmUgZXhpc3RpbmcgZGF0YSBhYm91dCB0aGUgdW50YXJn ZXRlZCB0aW1lIHBlcmlvZC4KKyAgIE5vdGUgdGhpcyBtYXkgcmVzdWx0IGluIHVzZXJzIGZpcmlu ZyA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHRyaWdnZXJzIHdobworICAgZG9uJ3QgaGF2ZSBp bnNlcnQgcHJpdmlsZWdlcywgc28gYmUgY2FyZWZ1bCBhYm91dCA8bGl0ZXJhbD5TRUNVUklUWSBE RUZJTkVSPC9saXRlcmFsPgorICAgdHJpZ2dlciBmdW5jdGlvbnMhCisgIDwvcGFyYT4KKwogICA8 cGFyYT4KICAgIFRoZSBvcHRpb25hbCA8bGl0ZXJhbD5SRVRVUk5JTkc8L2xpdGVyYWw+IGNsYXVz ZSBjYXVzZXMgPGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPgogICAgdG8gY29tcHV0ZSBhbmQgcmV0 dXJuIHZhbHVlKHMpIGJhc2VkIG9uIGVhY2ggcm93IGFjdHVhbGx5IHVwZGF0ZWQuCkBAIC0xMTYs NiArMTY4LDU4IEBAIFVQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsKICAgICA8L2xpc3RpdGVtPgogICAg PC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX2NvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT48L3Rl cm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSByYW5nZSBvciBtdWx0 aXJhbmdlIGNvbHVtbiB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nIGEgdGVtcG9yYWwgdXBkYXRlLgor ICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5m b3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+ CisgICAgIDxwYXJhPgorICAgICAgVGhlIHBvcnRpb24gdG8gdXBkYXRlLiBJZiB5b3UgYXJlIHRh cmdldGluZyBhIHJhbmdlIGNvbHVtbiwKKyAgICAgIHlvdSBtYXkgZ2l2ZSB0aGlzIGluIHRoZSBm b3JtIDxsaXRlcmFsPkZST008L2xpdGVyYWw+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+c3RhcnRfdGltZTwvcmVwbGFjZWFibGU+IDxsaXRlcmFsPlRPPC9saXRlcmFsPgor ICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmVuZF90aW1lPC9yZXBsYWNlYWJs ZT4uCisgICAgICBPdGhlcndpc2UgeW91IG11c3QgdXNlCisgICAgICA8bGl0ZXJhbD4oPC9saXRl cmFsPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wb3J0aW9uPC9yZXBsYWNlYWJsZT48 bGl0ZXJhbD4pPC9saXRlcmFsPgorICAgICAgd2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBvcnRpb248L3JlcGxhY2VhYmxlPiBpcyBhbiBleHByZXNzaW9uCisgICAgICB0aGF0 IHlpZWxkcyBhIHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKKyAgICAgIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5yYW5nZV9jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+LgorICAgICA8 L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlz dGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90 aW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAg ICAgIFRoZSBlYXJsaWVzdCB0aW1lIChpbmNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFs IHVwZGF0ZS4KKyAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5 cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5yYW5nZV9jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICA8bGl0ZXJhbD5OVUxM PC9saXRlcmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgYmVnaW5uaW5nIGlzCisg ICAgICB1bmJvdW5kZWQgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgorICAgICA8L3BhcmE+CisgICAg PC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAg IDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwvcmVwbGFjZWFi bGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbGF0ZXN0 IHRpbWUgKGV4Y2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgdXBkYXRlLgorICAgICAg VGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2Ug ZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX2NvbHVtbl9u YW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUg aW5kaWNhdGVzIGFuIHVwZGF0ZSB3aG9zZSBlbmQgaXMgdW5ib3VuZGVkCisgICAgICAoYXMgd2l0 aCByYW5nZSB0eXBlcykuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJs aXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxp c3RpdGVtPgpAQCAtMjgzLDYgKzM4NywxMCBAQCBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmNvdW50PC9yZXBsYWNlYWJsZT4KICAgIHVwZGF0ZXMgd2VyZSBzdXBwcmVzc2Vk IGJ5IGEgPGxpdGVyYWw+QkVGT1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlci4gIElmCiAgICA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBpcyAwLCBu byByb3dzIHdlcmUKICAgIHVwZGF0ZWQgYnkgdGhlIHF1ZXJ5ICh0aGlzIGlzIG5vdCBjb25zaWRl cmVkIGFuIGVycm9yKS4KKyAgIElmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3 YXMgdXNlZCwgdGhlCisgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3Jl cGxhY2VhYmxlPiBkb2VzIG5vdCBpbmNsdWRlCisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3Nz YXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+Cisg ICB0aGF0IHdlcmUgaW5zZXJ0ZWQuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KQEAgLTI5MCw3ICsz OTgsMTIgQEAgVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVw bGFjZWFibGU+CiAgICBjbGF1c2UsIHRoZSByZXN1bHQgd2lsbCBiZSBzaW1pbGFyIHRvIHRoYXQg b2YgYSA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+CiAgICBzdGF0ZW1lbnQgY29udGFpbmluZyB0 aGUgY29sdW1ucyBhbmQgdmFsdWVzIGRlZmluZWQgaW4gdGhlCiAgICA8bGl0ZXJhbD5SRVRVUk5J Tkc8L2xpdGVyYWw+IGxpc3QsIGNvbXB1dGVkIG92ZXIgdGhlIHJvdyhzKSB1cGRhdGVkIGJ5IHRo ZQotICAgY29tbWFuZC4KKyAgIGNvbW1hbmQuIElmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9s aXRlcmFsPiB3YXMgdXNlZCwgdGhlCisgICA8bGl0ZXJhbD5SRVRVUk5JTkc8L2xpdGVyYWw+IGNs YXVzZSBnaXZlcyBvbmUgcmVzdWx0IGZvciBlYWNoIHVwZGF0ZWQgcm93LAorICAgYnV0IGRvZXMg bm90IGluY2x1ZGUgaW5zZXJ0ZWQKKyAgIDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVt cG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4uCisgICBUaGUg dmFsdWUgb2YgdGhlIGFwcGxpY2F0aW9uLXRpbWUgY29sdW1uIG1hdGNoZXMgdGhlIG5ldyB2YWx1 ZSBvZiB0aGUgdXBkYXRlZAorICAgcm93KHMpLgogICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4KIApk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC90cmln Z2VyLnNnbWwKaW5kZXggMDA2MmYxYTNmZDEuLjJiNjhjMzg4MmVjIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAg LTM3Myw2ICszNzMsMTUgQEAKICAgICByZXNwb25zaWJpbGl0eSB0byBhdm9pZCB0aGF0LgogICAg PC9wYXJhPgogCisgICA8cGFyYT4KKyAgICBJZiBhbiA8Y29tbWFuZD5VUERBVEU8L2NvbW1hbmQ+ IG9yIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4gdXNlcworICAgIDxsaXRlcmFsPkZPUiBQT1JU SU9OIE9GPC9saXRlcmFsPiwgY2F1c2luZyBuZXcgcm93cyB0byBiZSBpbnNlcnRlZAorICAgIHRv IHByZXNlcnZlIHRoZSBsZWZ0b3ZlciB1bnRhcmdldGVkIHBhcnQgb2YgbW9kaWZpZWQgcmVjb3Jk cywgdGhlbgorICAgIDxjb21tYW5kPklOU0VSVDwvY29tbWFuZD4gdHJpZ2dlcnMgYXJlIGZpcmVk IGZvciBlYWNoIGluc2VydGVkCisgICAgcm93LiBFYWNoIHJvdyBpcyBpbnNlcnRlZCBzZXBhcmF0 ZWx5LCBzbyB0aGV5IGZpcmUgdGhlaXIgb3duCisgICAgc3RhdGVtZW50IHRyaWdnZXJzLCBhbmQg dGhleSBoYXZlIHRoZWlyIG93biB0cmFuc2l0aW9uIHRhYmxlcy4KKyAgIDwvcGFyYT4KKwogICAg PHBhcmE+CiAgICAgPGluZGV4dGVybT4KICAgICAgPHByaW1hcnk+dHJpZ2dlcjwvcHJpbWFyeT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgYi9zcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjTWFpbi5jCmluZGV4IDI3YzllZWM2OTdiLi4yNjljODc3ZGJjZiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYworKysgYi9zcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjTWFpbi5jCkBAIC0xMjk1LDYgKzEyOTUsNyBAQCBJbml0UmVzdWx0UmVs SW5mbyhSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCXJlc3VsdFJlbEluZm8tPnJpX3By b2plY3RSZXR1cm5pbmcgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8tPnJpX29uQ29uZmxpY3RBcmJp dGVySW5kZXhlcyA9IE5JTDsKIAlyZXN1bHRSZWxJbmZvLT5yaV9vbkNvbmZsaWN0ID0gTlVMTDsK KwlyZXN1bHRSZWxJbmZvLT5yaV9mb3JQb3J0aW9uT2YgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8t PnJpX1JldHVybmluZ1Nsb3QgPSBOVUxMOwogCXJlc3VsdFJlbEluZm8tPnJpX1RyaWdPbGRTbG90 ID0gTlVMTDsKIAlyZXN1bHRSZWxJbmZvLT5yaV9UcmlnTmV3U2xvdCA9IE5VTEw7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyBiL3NyYy9iYWNrZW5k L2V4ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jCmluZGV4IGU0NGYxMjIzODg2Li4wNTRjZjE4OTdk YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKKysr IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKQEAgLTY5LDYgKzY5LDcg QEAKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2RhdHVtLmgi CiAjaW5jbHVkZSAidXRpbHMvaW5qZWN0aW9uX3BvaW50LmgiCisjaW5jbHVkZSAidXRpbHMvcmFu Z2V0eXBlcy5oIgogI2luY2x1ZGUgInV0aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3NuYXBt Z3IuaCIKIApAQCAtMTMyLDcgKzEzMyw2IEBAIHR5cGVkZWYgc3RydWN0IFVwZGF0ZUNvbnRleHQK IAlMb2NrVHVwbGVNb2RlIGxvY2ttb2RlOwogfSBVcGRhdGVDb250ZXh0OwogCi0KIHN0YXRpYyB2 b2lkIEV4ZWNCYXRjaEluc2VydChNb2RpZnlUYWJsZVN0YXRlICptdHN0YXRlLAogCQkJCQkJCVJl c3VsdFJlbEluZm8gKnJlc3VsdFJlbEluZm8sCiAJCQkJCQkJVHVwbGVUYWJsZVNsb3QgKipzbG90 cywKQEAgLTE1Myw2ICsxNTMsMTAgQEAgc3RhdGljIGJvb2wgRXhlY09uQ29uZmxpY3RVcGRhdGUo TW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCQkJCQkJCQkgVHVwbGVUYWJsZVNsb3QgKmV4 Y2x1ZGVkU2xvdCwKIAkJCQkJCQkJIGJvb2wgY2FuU2V0VGFnLAogCQkJCQkJCQkgVHVwbGVUYWJs ZVNsb3QgKipyZXR1cm5pbmcpOworc3RhdGljIHZvaWQgRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVy cyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCisJCQkJCQkJCQkgIEVTdGF0ZSAqZXN0YXRl LAorCQkJCQkJCQkJICBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAorCQkJCQkJCQkJICBJ dGVtUG9pbnRlciB0dXBsZWlkKTsKIHN0YXRpYyBUdXBsZVRhYmxlU2xvdCAqRXhlY1ByZXBhcmVU dXBsZVJvdXRpbmcoTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0ZSwKIAkJCQkJCQkJCQkJICAgRVN0 YXRlICplc3RhdGUsCiAJCQkJCQkJCQkJCSAgIFBhcnRpdGlvblR1cGxlUm91dGluZyAqcHJvdXRl LApAQCAtMTc1LDYgKzE3OSw5IEBAIHN0YXRpYyBUdXBsZVRhYmxlU2xvdCAqRXhlY01lcmdlTWF0 Y2hlZChNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiBzdGF0aWMgVHVwbGVUYWJsZVNsb3Qg KkV4ZWNNZXJnZU5vdE1hdGNoZWQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCQkJCQkJ CQkJCSAgIFJlc3VsdFJlbEluZm8gKnJlc3VsdFJlbEluZm8sCiAJCQkJCQkJCQkJICAgYm9vbCBj YW5TZXRUYWcpOworc3RhdGljIHZvaWQgRXhlY1NldHVwVHJhbnNpdGlvbkNhcHR1cmVTdGF0ZShN b2RpZnlUYWJsZVN0YXRlICptdHN0YXRlLCBFU3RhdGUgKmVzdGF0ZSk7CitzdGF0aWMgdm9pZCBm aXJlQlNUcmlnZ2VycyhNb2RpZnlUYWJsZVN0YXRlICpub2RlKTsKK3N0YXRpYyB2b2lkIGZpcmVB U1RyaWdnZXJzKE1vZGlmeVRhYmxlU3RhdGUgKm5vZGUpOwogCiAKIC8qCkBAIC0xMzU3LDYgKzEz NjQsMjM1IEBAIEV4ZWNJbnNlcnQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCXJldHVy biByZXN1bHQ7CiB9CiAKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJz CisgKgorICoJCUluc2VydCB0dXBsZXMgZm9yIHRoZSB1bnRvdWNoZWQgcG9ydGlvbiBvZiBhIHJv dyBpbiBhIEZPUgorICoJCVBPUlRJT04gT0YgVVBEQVRFL0RFTEVURQorICogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICov CitzdGF0aWMgdm9pZAorRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRl eHQgKmNvbnRleHQsCisJCQkJCQkgIEVTdGF0ZSAqZXN0YXRlLAorCQkJCQkJICBSZXN1bHRSZWxJ bmZvICpyZXN1bHRSZWxJbmZvLAorCQkJCQkJICBJdGVtUG9pbnRlciB0dXBsZWlkKQoreworCU1v ZGlmeVRhYmxlU3RhdGUgKm10c3RhdGUgPSBjb250ZXh0LT5tdHN0YXRlOworCU1vZGlmeVRhYmxl ICpub2RlID0gKE1vZGlmeVRhYmxlICopIG10c3RhdGUtPnBzLnBsYW47CisJRm9yUG9ydGlvbk9m RXhwciAqZm9yUG9ydGlvbk9mID0gKEZvclBvcnRpb25PZkV4cHIgKikgbm9kZS0+Zm9yUG9ydGlv bk9mOworCUF0dHJOdW1iZXIJcmFuZ2VBdHRubzsKKwlEYXR1bQkJb2xkUmFuZ2U7CisJVHlwZUNh Y2hlRW50cnkgKnR5cGNhY2hlOworCUZvclBvcnRpb25PZlN0YXRlICpmcG9TdGF0ZTsKKwlUdXBs ZVRhYmxlU2xvdCAqb2xkdHVwbGVTbG90OworCVR1cGxlVGFibGVTbG90ICpsZWZ0b3ZlclNsb3Q7 CisJVHVwbGVDb252ZXJzaW9uTWFwICptYXAgPSBOVUxMOworCUhlYXBUdXBsZQlvbGR0dXBsZSA9 IE5VTEw7CisJQ21kVHlwZQkJb2xkT3BlcmF0aW9uOworCVRyYW5zaXRpb25DYXB0dXJlU3RhdGUg Km9sZFRjczsKKwlGbWdySW5mbwlmbGluZm87CisJUmV0dXJuU2V0SW5mbyByc2k7CisJYm9vbAkJ ZGlkSW5pdCA9IGZhbHNlOworCWJvb2wJCXNob3VsZEZyZWUgPSBmYWxzZTsKKworCUxPQ0FMX0ZD SU5GTyhmY2luZm8sIDIpOworCisJaWYgKCFyZXN1bHRSZWxJbmZvLT5yaV9mb3JQb3J0aW9uT2Yp CisJeworCQkvKgorCQkgKiBJZiB3ZSBkb24ndCBoYXZlIGEgRm9yUG9ydGlvbk9mU3RhdGUgeWV0 LCB3ZSBtdXN0IGJlIGEgcGFydGl0aW9uCisJCSAqIGNoaWxkIGJlaW5nIGhpdCBmb3IgdGhlIGZp cnN0IHRpbWUuIE1ha2UgYSBjb3B5IGZyb20gdGhlIHJvb3QsIHdpdGgKKwkJICogb3VyIG93biB0 dXBsZVRhYmxlU2xvdC4gV2UgZG8gdGhpcyBsYXppbHkgc28gdGhhdCB3ZSBkb24ndCBwYXkgdGhl CisJCSAqIHByaWNlIG9mIHVudXNlZCBwYXJ0aXRpb25zLgorCQkgKi8KKwkJRm9yUG9ydGlvbk9m U3RhdGUgKmxlYWZTdGF0ZSA9IG1ha2VOb2RlKEZvclBvcnRpb25PZlN0YXRlKTsKKworCQlpZiAo IW10c3RhdGUtPnJvb3RSZXN1bHRSZWxJbmZvKQorCQkJZWxvZyhFUlJPUiwgIm5vIHJvb3QgcmVs YXRpb24gYnV0IHJpX2ZvclBvcnRpb25PZiBpcyB1bmluaXRpYWxpemVkIik7CisKKwkJZnBvU3Rh dGUgPSBtdHN0YXRlLT5yb290UmVzdWx0UmVsSW5mby0+cmlfZm9yUG9ydGlvbk9mOworCQlBc3Nl cnQoZnBvU3RhdGUpOworCisJCWxlYWZTdGF0ZS0+ZnBfcmFuZ2VOYW1lID0gZnBvU3RhdGUtPmZw X3JhbmdlTmFtZTsKKwkJbGVhZlN0YXRlLT5mcF9yYW5nZVR5cGUgPSBmcG9TdGF0ZS0+ZnBfcmFu Z2VUeXBlOworCQlsZWFmU3RhdGUtPmZwX3JhbmdlQXR0bm8gPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VB dHRubzsKKwkJbGVhZlN0YXRlLT5mcF90YXJnZXRSYW5nZSA9IGZwb1N0YXRlLT5mcF90YXJnZXRS YW5nZTsKKwkJbGVhZlN0YXRlLT5mcF9MZWZ0b3ZlciA9IGZwb1N0YXRlLT5mcF9MZWZ0b3ZlcjsK KwkJLyogRWFjaCBwYXJ0aXRpb24gbmVlZHMgYSBzbG90IG1hdGNoaW5nIGl0cyB0dXBsZSBkZXNj cmlwdG9yICovCisJCWxlYWZTdGF0ZS0+ZnBfRXhpc3RpbmcgPQorCQkJdGFibGVfc2xvdF9jcmVh dGUocmVzdWx0UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLAorCQkJCQkJCSAgJm10c3RhdGUtPnBz LnN0YXRlLT5lc190dXBsZVRhYmxlKTsKKworCQlyZXN1bHRSZWxJbmZvLT5yaV9mb3JQb3J0aW9u T2YgPSBsZWFmU3RhdGU7CisJfQorCWZwb1N0YXRlID0gcmVzdWx0UmVsSW5mby0+cmlfZm9yUG9y dGlvbk9mOworCW9sZHR1cGxlU2xvdCA9IGZwb1N0YXRlLT5mcF9FeGlzdGluZzsKKwlsZWZ0b3Zl clNsb3QgPSBmcG9TdGF0ZS0+ZnBfTGVmdG92ZXI7CisKKwkvKgorCSAqIEdldCB0aGUgb2xkIHBy ZS1VUERBVEUvREVMRVRFIHR1cGxlLiBXZSB3aWxsIHVzZSBpdHMgcmFuZ2UgdG8gY29tcHV0ZQor CSAqIHVudG91Y2hlZCBwYXJ0cyBvZiBoaXN0b3J5LCBhbmQgaWYgbmVjZXNzYXJ5IHdlIHdpbGwg aW5zZXJ0IGNvcGllcyB3aXRoCisJICogdHJ1bmNhdGVkIHN0YXJ0L2VuZCB0aW1lcy4KKwkgKgor CSAqIFdlIGhhdmUgYWxyZWFkeSBsb2NrZWQgdGhlIHR1cGxlIGluIEV4ZWNVcGRhdGUvRXhlY0Rl bGV0ZSwgYW5kIGl0IGhhcworCSAqIHBhc3NlZCBFdmFsUGxhblF1YWwuIFRoaXMgZW5zdXJlcyB0 aGF0IGNvbmN1cnJlbnQgdXBkYXRlcyBpbiBSRUFECisJICogQ09NTUlUVEVEIGNhbid0IGluc2Vy dCBjb25mbGljdGluZyB0ZW1wb3JhbCBsZWZ0b3ZlcnMuCisJICovCisJaWYgKCF0YWJsZV90dXBs ZV9mZXRjaF9yb3dfdmVyc2lvbihyZXN1bHRSZWxJbmZvLT5yaV9SZWxhdGlvbkRlc2MsIHR1cGxl aWQsIFNuYXBzaG90QW55LCBvbGR0dXBsZVNsb3QpKQorCQllbG9nKEVSUk9SLCAiZmFpbGVkIHRv IGZldGNoIHR1cGxlIGZvciBGT1IgUE9SVElPTiBPRiIpOworCisJLyoKKwkgKiBHZXQgdGhlIG9s ZCByYW5nZSBvZiB0aGUgcmVjb3JkIGJlaW5nIHVwZGF0ZWQvZGVsZXRlZC4gTXVzdCByZWFkIHdp dGgKKwkgKiB0aGUgYXR0bm8gb2YgdGhlIGxlYWYgcGFydGl0aW9uIGJlaW5nIHVwZGF0ZWQuCisJ ICovCisKKwlyYW5nZUF0dG5vID0gZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm87CisJ aWYgKHJlc3VsdFJlbEluZm8tPnJpX1Jvb3RSZXN1bHRSZWxJbmZvKQorCQltYXAgPSBFeGVjR2V0 Q2hpbGRUb1Jvb3RNYXAocmVzdWx0UmVsSW5mbyk7CisJaWYgKG1hcCAhPSBOVUxMKQorCQlyYW5n ZUF0dG5vID0gbWFwLT5hdHRyTWFwLT5hdHRudW1zW3JhbmdlQXR0bm8gLSAxXTsKKwlzbG90X2dl dGFsbGF0dHJzKG9sZHR1cGxlU2xvdCk7CisKKwlpZiAob2xkdHVwbGVTbG90LT50dHNfaXNudWxs W3JhbmdlQXR0bm8gLSAxXSkKKwkJZWxvZyhFUlJPUiwgImZvdW5kIGEgTlVMTCByYW5nZSBpbiBh IHRlbXBvcmFsIHRhYmxlIik7CisJb2xkUmFuZ2UgPSBvbGR0dXBsZVNsb3QtPnR0c192YWx1ZXNb cmFuZ2VBdHRubyAtIDFdOworCisJLyoKKwkgKiBHZXQgdGhlIHJhbmdlJ3MgdHlwZSBjYWNoZSBl bnRyeS4gVGhpcyBpcyB3b3J0aCBjYWNoaW5nIGZvciB0aGUgd2hvbGUKKwkgKiBVUERBVEUvREVM RVRFIGFzIHJhbmdlIGZ1bmN0aW9ucyBkby4KKwkgKi8KKworCXR5cGNhY2hlID0gZnBvU3RhdGUt PmZwX2xlZnRvdmVyc3R5cGNhY2hlOworCWlmICh0eXBjYWNoZSA9PSBOVUxMKQorCXsKKwkJdHlw Y2FjaGUgPSBsb29rdXBfdHlwZV9jYWNoZShmb3JQb3J0aW9uT2YtPnJhbmdlVHlwZSwgMCk7CisJ CWZwb1N0YXRlLT5mcF9sZWZ0b3ZlcnN0eXBjYWNoZSA9IHR5cGNhY2hlOworCX0KKworCS8qCisJ ICogR2V0IHRoZSByYW5nZXMgdG8gdGhlIGxlZnQvcmlnaHQgb2YgdGhlIHRhcmdldGVkIHJhbmdl LiBXZSBjYWxsIGEgU0VUT0YKKwkgKiBzdXBwb3J0IGZ1bmN0aW9uIGFuZCBpbnNlcnQgYXMgbWFu eSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgYXMgaXQgZ2l2ZXMgdXMuCisJICogQWx0aG91Z2ggcmFuZ2V0 eXBlcyBoYXZlIDAvMS8yIGxlZnRvdmVycywgbXVsdGlyYW5nZXMgaGF2ZSAwLzEsIGFuZAorCSAq IG90aGVyIHR5cGVzIG1heSBoYXZlIG1vcmUuCisJICovCisKKwlmbWdyX2luZm8oZm9yUG9ydGlv bk9mLT53aXRob3V0UG9ydGlvblByb2MsICZmbGluZm8pOworCXJzaS50eXBlID0gVF9SZXR1cm5T ZXRJbmZvOworCXJzaS5lY29udGV4dCA9IG10c3RhdGUtPnBzLnBzX0V4cHJDb250ZXh0OworCXJz aS5leHBlY3RlZERlc2MgPSBOVUxMOworCXJzaS5hbGxvd2VkTW9kZXMgPSAoaW50KSAoU0ZSTV9W YWx1ZVBlckNhbGwpOworCXJzaS5yZXR1cm5Nb2RlID0gU0ZSTV9WYWx1ZVBlckNhbGw7CisJcnNp LnNldFJlc3VsdCA9IE5VTEw7CisJcnNpLnNldERlc2MgPSBOVUxMOworCisJSW5pdEZ1bmN0aW9u Q2FsbEluZm9EYXRhKCpmY2luZm8sICZmbGluZm8sIDIsIEludmFsaWRPaWQsIE5VTEwsIChOb2Rl ICopICZyc2kpOworCWZjaW5mby0+YXJnc1swXS52YWx1ZSA9IG9sZFJhbmdlOworCWZjaW5mby0+ YXJnc1swXS5pc251bGwgPSBmYWxzZTsKKwlmY2luZm8tPmFyZ3NbMV0udmFsdWUgPSBmcG9TdGF0 ZS0+ZnBfdGFyZ2V0UmFuZ2U7CisJZmNpbmZvLT5hcmdzWzFdLmlzbnVsbCA9IGZhbHNlOworCisJ LyoKKwkgKiBJZiB0aGVyZSBhcmUgcGFydGl0aW9ucywgd2UgbXVzdCBpbnNlcnQgaW50byB0aGUg cm9vdCB0YWJsZSwgc28gd2UgZ2V0CisJICogdHVwbGUgcm91dGluZy4gV2UgYWxyZWFkeSBzZXQg dXAgbGVmdG92ZXJTbG90IHdpdGggdGhlIHJvb3QgdHVwbGUKKwkgKiBkZXNjcmlwdG9yLgorCSAq LworCWlmIChyZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbykKKwkJcmVzdWx0UmVs SW5mbyA9IHJlc3VsdFJlbEluZm8tPnJpX1Jvb3RSZXN1bHRSZWxJbmZvOworCisJLyoKKwkgKiBJ bnNlcnQgYSBsZWZ0b3ZlciBmb3IgZWFjaCB2YWx1ZSByZXR1cm5lZCBieSB0aGUgd2l0aG91dF9w b3J0aW9uIGhlbHBlcgorCSAqIGZ1bmN0aW9uCisJICovCisJd2hpbGUgKHRydWUpCisJeworCQlE YXR1bQkJbGVmdG92ZXIgPSBGdW5jdGlvbkNhbGxJbnZva2UoZmNpbmZvKTsKKworCQkvKiBBcmUg d2UgZG9uZT8gKi8KKwkJaWYgKHJzaS5pc0RvbmUgPT0gRXhwckVuZFJlc3VsdCkKKwkJCWJyZWFr OworCisJCWlmIChmY2luZm8tPmlzbnVsbCkKKwkJCWVsb2coRVJST1IsICJHb3QgYSBudWxsIGZy b20gd2l0aG91dF9wb3J0aW9uIGZ1bmN0aW9uIik7CisKKwkJLyoKKwkJICogRG9lcyB0aGUgbmV3 IERhdHVtIHZpb2xhdGUgZG9tYWluIGNoZWNrcz8gUm93LWxldmVsIENIRUNLCisJCSAqIGNvbnN0 cmFpbnRzIGFyZSB2YWxpZGF0ZWQgYnkgRXhlY0luc2VydCwgc28gd2UgZG9uJ3QgbmVlZCB0byBk bworCQkgKiBhbnl0aGluZyBoZXJlIGZvciB0aG9zZS4KKwkJICovCisJCWlmIChmb3JQb3J0aW9u T2YtPmlzRG9tYWluKQorCQkJZG9tYWluX2NoZWNrKGxlZnRvdmVyLCBmYWxzZSwgZm9yUG9ydGlv bk9mLT5yYW5nZVZhci0+dmFydHlwZSwgTlVMTCwgTlVMTCk7CisKKwkJaWYgKCFkaWRJbml0KQor CQl7CisJCQkvKgorCQkJICogTWFrZSBhIGNvcHkgb2YgdGhlIHByZS1VUERBVEUgcm93LiBUaGVu IHdlJ2xsIG92ZXJ3cml0ZSB0aGUKKwkJCSAqIHJhbmdlIGNvbHVtbiBiZWxvdy4gQ29udmVydCBv bGR0dXBsZSB0byB0aGUgYmFzZSB0YWJsZSdzIGZvcm1hdAorCQkJICogaWYgbmVjZXNzYXJ5LiBX ZSBuZWVkIHRvIGluc2VydCB0ZW1wb3JhbCBsZWZ0b3ZlcnMgdGhyb3VnaCB0aGUKKwkJCSAqIHJv b3QgcGFydGl0aW9uIHNvIHRoZXkgZ2V0IHJvdXRlZCBjb3JyZWN0bHkuCisJCQkgKi8KKwkJCWlm IChtYXAgIT0gTlVMTCkKKwkJCXsKKwkJCQlsZWZ0b3ZlclNsb3QgPSBleGVjdXRlX2F0dHJfbWFw X3Nsb3QobWFwLT5hdHRyTWFwLAorCQkJCQkJCQkJCQkJCSBvbGR0dXBsZVNsb3QsCisJCQkJCQkJ CQkJCQkJIGxlZnRvdmVyU2xvdCk7CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJb2xkdHVwbGUg PSBFeGVjRmV0Y2hTbG90SGVhcFR1cGxlKG9sZHR1cGxlU2xvdCwgZmFsc2UsICZzaG91bGRGcmVl KTsKKwkJCQlFeGVjRm9yY2VTdG9yZUhlYXBUdXBsZShvbGR0dXBsZSwgbGVmdG92ZXJTbG90LCBm YWxzZSk7CisJCQl9CisKKwkJCS8qCisJCQkgKiBTYXZlIHNvbWUgbXRzdGF0ZSB0aGluZ3Mgc28g d2UgY2FuIHJlc3RvcmUgdGhlbSBiZWxvdy4gWFhYOgorCQkJICogU2hvdWxkIHdlIGNyZWF0ZSBv dXIgb3duIE1vZGlmeVRhYmxlU3RhdGUgaW5zdGVhZD8KKwkJCSAqLworCQkJb2xkT3BlcmF0aW9u ID0gbXRzdGF0ZS0+b3BlcmF0aW9uOworCQkJbXRzdGF0ZS0+b3BlcmF0aW9uID0gQ01EX0lOU0VS VDsKKwkJCW9sZFRjcyA9IG10c3RhdGUtPm10X3RyYW5zaXRpb25fY2FwdHVyZTsKKworCQkJZGlk SW5pdCA9IHRydWU7CisJCX0KKworCQlsZWZ0b3ZlclNsb3QtPnR0c192YWx1ZXNbZm9yUG9ydGlv bk9mLT5yYW5nZVZhci0+dmFyYXR0bm8gLSAxXSA9IGxlZnRvdmVyOworCQlsZWZ0b3ZlclNsb3Qt PnR0c19pc251bGxbZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm8gLSAxXSA9IGZhbHNl OworCQlFeGVjTWF0ZXJpYWxpemVTbG90KGxlZnRvdmVyU2xvdCk7CisKKwkJLyoKKwkJICogSWYg dGhlcmUgYXJlIHBhcnRpdGlvbnMsIHdlIG11c3QgaW5zZXJ0IGludG8gdGhlIHJvb3QgdGFibGUs IHNvIHdlCisJCSAqIGdldCB0dXBsZSByb3V0aW5nLiBXZSBhbHJlYWR5IHNldCB1cCBsZWZ0b3Zl clNsb3Qgd2l0aCB0aGUgcm9vdAorCQkgKiB0dXBsZSBkZXNjcmlwdG9yLgorCQkgKi8KKwkJaWYg KHJlc3VsdFJlbEluZm8tPnJpX1Jvb3RSZXN1bHRSZWxJbmZvKQorCQkJcmVzdWx0UmVsSW5mbyA9 IHJlc3VsdFJlbEluZm8tPnJpX1Jvb3RSZXN1bHRSZWxJbmZvOworCisJCS8qCisJCSAqIFRoZSBz dGFuZGFyZCBzYXlzIHRoYXQgZWFjaCB0ZW1wb3JhbCBsZWZ0b3ZlciBzaG91bGQgZXhlY3V0ZSBp dHMKKwkJICogb3duIElOU0VSVCBzdGF0ZW1lbnQsIGZpcmluZyBhbGwgc3RhdGVtZW50IGFuZCBy b3cgdHJpZ2dlcnMsIGJ1dAorCQkgKiBza2lwcGluZyBpbnNlcnQgcGVybWlzc2lvbiBjaGVja3Mu IFRoZXJlZm9yZSB3ZSBnaXZlIGVhY2ggaW5zZXJ0CisJCSAqIGl0cyBvd24gdHJhbnNpdGlvbiB0 YWJsZS4gSWYgd2UganVzdCBwdXNoICYgcG9wIGEgbmV3IHRyaWdnZXIgbGV2ZWwKKwkJICogZm9y IGVhY2ggaW5zZXJ0LCB3ZSBnZXQgZXhhY3RseSB3aGF0IHdlIG5lZWQuCisJCSAqCisJCSAqIFdl IGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGluc2VydHMgZG9uJ3QgYWRkIHRvIHRoZSBST1df Q09VTlQKKwkJICogZGlhZ25vc3RpYyBvciB0aGUgY29tbWFuZCB0YWcsIHNvIHdlIHBhc3MgZmFs c2UgZm9yIGNhblNldFRhZy4KKwkJICovCisJCUFmdGVyVHJpZ2dlckJlZ2luUXVlcnkoKTsKKwkJ RXhlY1NldHVwVHJhbnNpdGlvbkNhcHR1cmVTdGF0ZShtdHN0YXRlLCBlc3RhdGUpOworCQlmaXJl QlNUcmlnZ2VycyhtdHN0YXRlKTsKKwkJRXhlY0luc2VydChjb250ZXh0LCByZXN1bHRSZWxJbmZv LCBsZWZ0b3ZlclNsb3QsIGZhbHNlLCBOVUxMLCBOVUxMKTsKKwkJZmlyZUFTVHJpZ2dlcnMobXRz dGF0ZSk7CisJCUFmdGVyVHJpZ2dlckVuZFF1ZXJ5KGVzdGF0ZSk7CisJfQorCisJaWYgKGRpZElu aXQpCisJeworCQltdHN0YXRlLT5vcGVyYXRpb24gPSBvbGRPcGVyYXRpb247CisJCW10c3RhdGUt Pm10X3RyYW5zaXRpb25fY2FwdHVyZSA9IG9sZFRjczsKKworCQlpZiAoc2hvdWxkRnJlZSkKKwkJ CWhlYXBfZnJlZXR1cGxlKG9sZHR1cGxlKTsKKwl9Cit9CisKIC8qIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlFeGVj QmF0Y2hJbnNlcnQKICAqCkBAIC0xNTEwLDcgKzE3NDYsOCBAQCBFeGVjRGVsZXRlQWN0KE1vZGlm eVRhYmxlQ29udGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKICAq CiAgKiBDbG9zaW5nIHN0ZXBzIG9mIHR1cGxlIGRlbGV0aW9uOyB0aGlzIGludm9rZXMgQUZURVIg Rk9SIEVBQ0ggUk9XIHRyaWdnZXJzLAogICogaW5jbHVkaW5nIHRoZSBVUERBVEUgdHJpZ2dlcnMg aWYgdGhlIGRlbGV0aW9uIGlzIGJlaW5nIGRvbmUgYXMgcGFydCBvZiBhCi0gKiBjcm9zcy1wYXJ0 aXRpb24gdHVwbGUgbW92ZS4KKyAqIGNyb3NzLXBhcnRpdGlvbiB0dXBsZSBtb3ZlLiBJdCBhbHNv IGluc2VydHMgdGVtcG9yYWwgbGVmdG92ZXJzIGZyb20gYQorICogREVMRVRFIEZPUiBQT1JUSU9O IE9GLgogICovCiBzdGF0aWMgdm9pZAogRXhlY0RlbGV0ZUVwaWxvZ3VlKE1vZGlmeVRhYmxlQ29u dGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKQEAgLTE1NDMsNiAr MTc4MCwxMCBAQCBFeGVjRGVsZXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0 LCBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQlhcl9kZWxldGVfdHJpZ190Y3MgPSBO VUxMOwogCX0KIAorCS8qIENvbXB1dGUgdGVtcG9yYWwgbGVmdG92ZXJzIGluIEZPUiBQT1JUSU9O IE9GICovCisJaWYgKCgoTW9kaWZ5VGFibGUgKikgY29udGV4dC0+bXRzdGF0ZS0+cHMucGxhbikt PmZvclBvcnRpb25PZikKKwkJRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhjb250ZXh0LCBlc3Rh dGUsIHJlc3VsdFJlbEluZm8sIHR1cGxlaWQpOworCiAJLyogQUZURVIgUk9XIERFTEVURSBUcmln Z2VycyAqLwogCUV4ZWNBUkRlbGV0ZVRyaWdnZXJzKGVzdGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVw bGVpZCwgb2xkdHVwbGUsCiAJCQkJCQkgYXJfZGVsZXRlX3RyaWdfdGNzLCBjaGFuZ2luZ1BhcnQp OwpAQCAtMTk2OCw3ICsyMjA5LDEwIEBAIEV4ZWNDcm9zc1BhcnRpdGlvblVwZGF0ZShNb2RpZnlU YWJsZUNvbnRleHQgKmNvbnRleHQsCiAJaWYgKHJlc3VsdFJlbEluZm8gPT0gbXRzdGF0ZS0+cm9v dFJlc3VsdFJlbEluZm8pCiAJCUV4ZWNQYXJ0aXRpb25DaGVja0VtaXRFcnJvcihyZXN1bHRSZWxJ bmZvLCBzbG90LCBlc3RhdGUpOwogCi0JLyogSW5pdGlhbGl6ZSB0dXBsZSByb3V0aW5nIGluZm8g aWYgbm90IGFscmVhZHkgZG9uZS4gKi8KKwkvKgorCSAqIEluaXRpYWxpemUgdHVwbGUgcm91dGlu ZyBpbmZvIGlmIG5vdCBhbHJlYWR5IGRvbmUuIE5vdGUgd2hhdGV2ZXIgd2UgZG8KKwkgKiBoZXJl IG11c3QgYmUgZG9uZSBpbiBFeGVjSW5pdE1vZGlmeVRhYmxlIGZvciBGT1IgUE9SVElPTiBPRiBh cyB3ZWxsLgorCSAqLwogCWlmIChtdHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9 PSBOVUxMKQogCXsKIAkJUmVsYXRpb24Jcm9vdFJlbCA9IG10c3RhdGUtPnJvb3RSZXN1bHRSZWxJ bmZvLT5yaV9SZWxhdGlvbkRlc2M7CkBAIC0yMzE3LDcgKzI1NjEsOCBAQCBscmVwbGFjZToKICAq IEV4ZWNVcGRhdGVFcGlsb2d1ZSAtLSBzdWJyb3V0aW5lIGZvciBFeGVjVXBkYXRlCiAgKgogICog Q2xvc2luZyBzdGVwcyBvZiB1cGRhdGluZyBhIHR1cGxlLiAgTXVzdCBiZSBjYWxsZWQgaWYgRXhl Y1VwZGF0ZUFjdAotICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRh dGVkLgorICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVkLiBJ dCBhbHNvIGluc2VydHMgdGVtcG9yYWwKKyAqIGxlZnRvdmVycyBmcm9tIGFuIFVQREFURSBGT1Ig UE9SVElPTiBPRi4KICAqLwogc3RhdGljIHZvaWQKIEV4ZWNVcGRhdGVFcGlsb2d1ZShNb2RpZnlU YWJsZUNvbnRleHQgKmNvbnRleHQsIFVwZGF0ZUNvbnRleHQgKnVwZGF0ZUN4dCwKQEAgLTIzMzUs NiArMjU4MCwxMCBAQCBFeGVjVXBkYXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250 ZXh0LCBVcGRhdGVDb250ZXh0ICp1cGRhdGVDeHQsCiAJCQkJCQkJCQkJCSAgIE5VTEwsIE5JTCwK IAkJCQkJCQkJCQkJICAgKHVwZGF0ZUN4dC0+dXBkYXRlSW5kZXhlcyA9PSBUVV9TdW1tYXJpemlu ZykpOwogCisJLyogQ29tcHV0ZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgaW4gRk9SIFBPUlRJT04gT0Yg Ki8KKwlpZiAoKChNb2RpZnlUYWJsZSAqKSBjb250ZXh0LT5tdHN0YXRlLT5wcy5wbGFuKS0+Zm9y UG9ydGlvbk9mKQorCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKGNvbnRleHQsIGNvbnRleHQt PmVzdGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVpZCk7CisKIAkvKiBBRlRFUiBST1cgVVBEQVRF IFRyaWdnZXJzICovCiAJRXhlY0FSVXBkYXRlVHJpZ2dlcnMoY29udGV4dC0+ZXN0YXRlLCByZXN1 bHRSZWxJbmZvLAogCQkJCQkJIE5VTEwsIE5VTEwsCkBAIC01MDg1LDYgKzUzMzQsMTAxIEBAIEV4 ZWNJbml0TW9kaWZ5VGFibGUoTW9kaWZ5VGFibGUgKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBpbnQg ZWZsYWdzKQogCQl9CiAJfQogCisJLyoKKwkgKiBJZiBuZWVkZWQsIGluaXRpYWxpemUgdGhlIHRh cmdldCByYW5nZSBmb3IgRk9SIFBPUlRJT04gT0YuCisJICovCisJaWYgKG5vZGUtPmZvclBvcnRp b25PZikKKwl7CisJCVJlc3VsdFJlbEluZm8gKnJvb3RSZWxJbmZvOworCQlUdXBsZURlc2MJdHVw RGVzYzsKKwkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mOworCQlEYXR1bQkJdGFyZ2V0 UmFuZ2U7CisJCWJvb2wJCWlzTnVsbDsKKwkJRXhwckNvbnRleHQgKmVjb250ZXh0OworCQlFeHBy U3RhdGUgICpleHByU3RhdGU7CisJCUZvclBvcnRpb25PZlN0YXRlICpmcG9TdGF0ZTsKKworCQly b290UmVsSW5mbyA9IG10c3RhdGUtPnJlc3VsdFJlbEluZm87CisJCWlmIChyb290UmVsSW5mby0+ cmlfUm9vdFJlc3VsdFJlbEluZm8pCisJCQlyb290UmVsSW5mbyA9IHJvb3RSZWxJbmZvLT5yaV9S b290UmVzdWx0UmVsSW5mbzsKKworCQl0dXBEZXNjID0gcm9vdFJlbEluZm8tPnJpX1JlbGF0aW9u RGVzYy0+cmRfYXR0OworCQlmb3JQb3J0aW9uT2YgPSAoRm9yUG9ydGlvbk9mRXhwciAqKSBub2Rl LT5mb3JQb3J0aW9uT2Y7CisKKwkJLyogRXZhbCB0aGUgRk9SIFBPUlRJT04gT0YgdGFyZ2V0ICov CisJCWlmIChtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dCA9PSBOVUxMKQorCQkJRXhlY0Fzc2ln bkV4cHJDb250ZXh0KGVzdGF0ZSwgJm10c3RhdGUtPnBzKTsKKwkJZWNvbnRleHQgPSBtdHN0YXRl LT5wcy5wc19FeHByQ29udGV4dDsKKworCQlleHByU3RhdGUgPSBFeGVjUHJlcGFyZUV4cHIoKEV4 cHIgKikgZm9yUG9ydGlvbk9mLT50YXJnZXRSYW5nZSwgZXN0YXRlKTsKKwkJdGFyZ2V0UmFuZ2Ug PSBFeGVjRXZhbEV4cHIoZXhwclN0YXRlLCBlY29udGV4dCwgJmlzTnVsbCk7CisJCWlmIChpc051 bGwpCisJCQllbG9nKEVSUk9SLCAiZ290IGEgTlVMTCBGT1IgUE9SVElPTiBPRiB0YXJnZXQiKTsK KworCQkvKiBDcmVhdGUgc3RhdGUgZm9yIEZPUiBQT1JUSU9OIE9GIG9wZXJhdGlvbiAqLworCisJ CWZwb1N0YXRlID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mU3RhdGUpOworCQlmcG9TdGF0ZS0+ZnBf cmFuZ2VOYW1lID0gZm9yUG9ydGlvbk9mLT5yYW5nZV9uYW1lOworCQlmcG9TdGF0ZS0+ZnBfcmFu Z2VUeXBlID0gZm9yUG9ydGlvbk9mLT5yYW5nZVR5cGU7CisJCWZwb1N0YXRlLT5mcF9yYW5nZUF0 dG5vID0gZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm87CisJCWZwb1N0YXRlLT5mcF90 YXJnZXRSYW5nZSA9IHRhcmdldFJhbmdlOworCisJCS8qIEluaXRpYWxpemUgc2xvdCBmb3IgdGhl IGV4aXN0aW5nIHR1cGxlICovCisKKwkJZnBvU3RhdGUtPmZwX0V4aXN0aW5nID0KKwkJCXRhYmxl X3Nsb3RfY3JlYXRlKHJvb3RSZWxJbmZvLT5yaV9SZWxhdGlvbkRlc2MsCisJCQkJCQkJICAmbXRz dGF0ZS0+cHMuc3RhdGUtPmVzX3R1cGxlVGFibGUpOworCisJCS8qIENyZWF0ZSB0aGUgdHVwbGUg c2xvdCBmb3IgSU5TRVJUaW5nIHRoZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgKi8KKworCQlmcG9TdGF0 ZS0+ZnBfTGVmdG92ZXIgPQorCQkJRXhlY0luaXRFeHRyYVR1cGxlU2xvdChtdHN0YXRlLT5wcy5z dGF0ZSwgdHVwRGVzYywgJlRUU09wc1ZpcnR1YWwpOworCisJCXJvb3RSZWxJbmZvLT5yaV9mb3JQ b3J0aW9uT2YgPSBmcG9TdGF0ZTsKKworCQkvKgorCQkgKiBNYWtlIHN1cmUgdGhlIHJvb3QgcmVs YXRpb24gaGFzIHRoZSBGT1IgUE9SVElPTiBPRiBjbGF1c2UgdG9vLiBFYWNoCisJCSAqIHBhcnRp dGlvbiBuZWVkcyBpdHMgb3duIFR1cGxlVGFibGVTbG90LCBzaW5jZSB0aGV5IGNhbiBoYXZlCisJ CSAqIGRpZmZlcmVudCBkZXNjcmlwdG9ycywgc28gdGhleSdsbCB1c2UgdGhlIHJvb3QgZnBvU3Rh dGUgdG8KKwkJICogaW5pdGlhbGl6ZSBvbmUgaWYgbmVjZXNzYXJ5LgorCQkgKi8KKwkJaWYgKG5v ZGUtPnJvb3RSZWxhdGlvbiA+IDApCisJCQltdHN0YXRlLT5yb290UmVzdWx0UmVsSW5mby0+cmlf Zm9yUG9ydGlvbk9mID0gZnBvU3RhdGU7CisKKwkJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kID09 IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUgJiYKKwkJCW10c3RhdGUtPm10X3BhcnRpdGlvbl90 dXBsZV9yb3V0aW5nID09IE5VTEwpCisJCXsKKwkJCS8qCisJCQkgKiBXZSB3aWxsIG5lZWQgdHVw bGUgcm91dGluZyB0byBpbnNlcnQgdGVtcG9yYWwgbGVmdG92ZXJzLiBTaW5jZQorCQkJICogd2Ug YXJlIGluaXRpYWxpemluZyB0aGluZ3MgYmVmb3JlIEV4ZWNDcm9zc1BhcnRpdGlvblVwZGF0ZQor CQkJICogcnVucywgd2UgbXVzdCBkbyBldmVyeXRoaW5nIGl0IG5lZWRzIGFzIHdlbGwuCisJCQkg Ki8KKwkJCVJlbGF0aW9uCXJvb3RSZWwgPSBtdHN0YXRlLT5yb290UmVzdWx0UmVsSW5mby0+cmlf UmVsYXRpb25EZXNjOworCQkJTWVtb3J5Q29udGV4dCBvbGRjeHQ7CisKKwkJCS8qIFRoaW5ncyBi dWlsdCBoZXJlIGhhdmUgdG8gbGFzdCBmb3IgdGhlIHF1ZXJ5IGR1cmF0aW9uLiAqLworCQkJb2xk Y3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGVzdGF0ZS0+ZXNfcXVlcnlfY3h0KTsKKworCQkJ bXRzdGF0ZS0+bXRfcGFydGl0aW9uX3R1cGxlX3JvdXRpbmcgPQorCQkJCUV4ZWNTZXR1cFBhcnRp dGlvblR1cGxlUm91dGluZyhlc3RhdGUsIHJvb3RSZWwpOworCisJCQkvKgorCQkJICogQmVmb3Jl IGEgcGFydGl0aW9uJ3MgdHVwbGUgY2FuIGJlIHJlLXJvdXRlZCwgaXQgbXVzdCBmaXJzdCBiZQor CQkJICogY29udmVydGVkIHRvIHRoZSByb290J3MgZm9ybWF0LCBzbyB3ZSdsbCBuZWVkIGEgc2xv dCBmb3IKKwkJCSAqIHN0b3Jpbmcgc3VjaCB0dXBsZXMuCisJCQkgKi8KKwkJCUFzc2VydChtdHN0 YXRlLT5tdF9yb290X3R1cGxlX3Nsb3QgPT0gTlVMTCk7CisJCQltdHN0YXRlLT5tdF9yb290X3R1 cGxlX3Nsb3QgPSB0YWJsZV9zbG90X2NyZWF0ZShyb290UmVsLCBOVUxMKTsKKworCQkJTWVtb3J5 Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7CisJCX0KKworCQkvKgorCQkgKiBEb24ndCBmcmVlIHRo ZSBFeHByQ29udGV4dCBoZXJlIGJlY2F1c2UgdGhlIHJlc3VsdCBtdXN0IGxhc3QgZm9yCisJCSAq IHRoZSB3aG9sZSBxdWVyeS4KKwkJICovCisJfQorCiAJLyoKIAkgKiBJZiB3ZSBoYXZlIGFueSBz ZWNvbmRhcnkgcmVsYXRpb25zIGluIGFuIFVQREFURSBvciBERUxFVEUsIHRoZXkgbmVlZCB0bwog CSAqIGJlIHRyZWF0ZWQgbGlrZSBub24tbG9ja2VkIHJlbGF0aW9ucyBpbiBTRUxFQ1QgRk9SIFVQ REFURSwgaS5lLiwgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3Mu YyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCmluZGV4IGQyMjgzMThkYzcyLi5kNzc0 MzU4Y2ZmYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysrIGIv c3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKQEAgLTI1NjcsNiArMjU2NywyMCBAQCBleHBy ZXNzaW9uX3RyZWVfd2Fsa2VyX2ltcGwoTm9kZSAqbm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7CiAJ CQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX0ZvclBvcnRpb25PZkV4cHI6CisJCQl7CisJCQkJRm9y UG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mID0gKEZvclBvcnRpb25PZkV4cHIgKikgbm9kZTsK KworCQkJCWlmIChXQUxLKGZvclBvcnRpb25PZi0+dGFyZ2V0RnJvbSkpCisJCQkJCXJldHVybiB0 cnVlOworCQkJCWlmIChXQUxLKGZvclBvcnRpb25PZi0+dGFyZ2V0VG8pKQorCQkJCQlyZXR1cm4g dHJ1ZTsKKwkJCQlpZiAoV0FMSyhmb3JQb3J0aW9uT2YtPnRhcmdldFJhbmdlKSkKKwkJCQkJcmV0 dXJuIHRydWU7CisJCQkJaWYgKFdBTEsoZm9yUG9ydGlvbk9mLT5vdmVybGFwc0V4cHIpKQorCQkJ CQlyZXR1cm4gdHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNlIFRfUGFydGl0aW9uUHJ1bmVT dGVwT3A6CiAJCQl7CiAJCQkJUGFydGl0aW9uUHJ1bmVTdGVwT3AgKm9wc3RlcCA9IChQYXJ0aXRp b25QcnVuZVN0ZXBPcCAqKSBub2RlOwpAQCAtMjcxNSw2ICsyNzI5LDggQEAgcXVlcnlfdHJlZV93 YWxrZXJfaW1wbChRdWVyeSAqcXVlcnksCiAJCXJldHVybiB0cnVlOwogCWlmIChXQUxLKHF1ZXJ5 LT5tZXJnZUpvaW5Db25kaXRpb24pKQogCQlyZXR1cm4gdHJ1ZTsKKwlpZiAoV0FMSyhxdWVyeS0+ Zm9yUG9ydGlvbk9mKSkKKwkJcmV0dXJuIHRydWU7CiAJaWYgKFdBTEsocXVlcnktPnJldHVybmlu Z0xpc3QpKQogCQlyZXR1cm4gdHJ1ZTsKIAlpZiAoV0FMSyhxdWVyeS0+am9pbnRyZWUpKQpAQCAt MzYwOSw2ICszNjI1LDIyIEBAIGV4cHJlc3Npb25fdHJlZV9tdXRhdG9yX2ltcGwoTm9kZSAqbm9k ZSwKIAkJCQlyZXR1cm4gKE5vZGUgKikgbmV3bm9kZTsKIAkJCX0KIAkJCWJyZWFrOworCQljYXNl IFRfRm9yUG9ydGlvbk9mRXhwcjoKKwkJCXsKKwkJCQlGb3JQb3J0aW9uT2ZFeHByICpmcG8gPSAo Rm9yUG9ydGlvbk9mRXhwciAqKSBub2RlOworCQkJCUZvclBvcnRpb25PZkV4cHIgKm5ld25vZGU7 CisKKwkJCQlGTEFUQ09QWShuZXdub2RlLCBmcG8sIEZvclBvcnRpb25PZkV4cHIpOworCQkJCU1V VEFURShuZXdub2RlLT5yYW5nZVZhciwgZnBvLT5yYW5nZVZhciwgVmFyICopOworCQkJCU1VVEFU RShuZXdub2RlLT50YXJnZXRGcm9tLCBmcG8tPnRhcmdldEZyb20sIE5vZGUgKik7CisJCQkJTVVU QVRFKG5ld25vZGUtPnRhcmdldFRvLCBmcG8tPnRhcmdldFRvLCBOb2RlICopOworCQkJCU1VVEFU RShuZXdub2RlLT50YXJnZXRSYW5nZSwgZnBvLT50YXJnZXRSYW5nZSwgTm9kZSAqKTsKKwkJCQlN VVRBVEUobmV3bm9kZS0+b3ZlcmxhcHNFeHByLCBmcG8tPm92ZXJsYXBzRXhwciwgTm9kZSAqKTsK KwkJCQlNVVRBVEUobmV3bm9kZS0+cmFuZ2VUYXJnZXRMaXN0LCBmcG8tPnJhbmdlVGFyZ2V0TGlz dCwgTGlzdCAqKTsKKworCQkJCXJldHVybiAoTm9kZSAqKSBuZXdub2RlOworCQkJfQorCQkJYnJl YWs7CiAJCWNhc2UgVF9QYXJ0aXRpb25QcnVuZVN0ZXBPcDoKIAkJCXsKIAkJCQlQYXJ0aXRpb25Q cnVuZVN0ZXBPcCAqb3BzdGVwID0gKFBhcnRpdGlvblBydW5lU3RlcE9wICopIG5vZGU7CkBAIC0z NzkwLDYgKzM4MjIsNyBAQCBxdWVyeV90cmVlX211dGF0b3JfaW1wbChRdWVyeSAqcXVlcnksCiAJ TVVUQVRFKHF1ZXJ5LT5vbkNvbmZsaWN0LCBxdWVyeS0+b25Db25mbGljdCwgT25Db25mbGljdEV4 cHIgKik7CiAJTVVUQVRFKHF1ZXJ5LT5tZXJnZUFjdGlvbkxpc3QsIHF1ZXJ5LT5tZXJnZUFjdGlv bkxpc3QsIExpc3QgKik7CiAJTVVUQVRFKHF1ZXJ5LT5tZXJnZUpvaW5Db25kaXRpb24sIHF1ZXJ5 LT5tZXJnZUpvaW5Db25kaXRpb24sIE5vZGUgKik7CisJTVVUQVRFKHF1ZXJ5LT5mb3JQb3J0aW9u T2YsIHF1ZXJ5LT5mb3JQb3J0aW9uT2YsIEZvclBvcnRpb25PZkV4cHIgKik7CiAJTVVUQVRFKHF1 ZXJ5LT5yZXR1cm5pbmdMaXN0LCBxdWVyeS0+cmV0dXJuaW5nTGlzdCwgTGlzdCAqKTsKIAlNVVRB VEUocXVlcnktPmpvaW50cmVlLCBxdWVyeS0+am9pbnRyZWUsIEZyb21FeHByICopOwogCU1VVEFU RShxdWVyeS0+c2V0T3BlcmF0aW9ucywgcXVlcnktPnNldE9wZXJhdGlvbnMsIE5vZGUgKik7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgYi9zcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMKaW5kZXggOGFmMDkxYmE2NDcuLjRh NDNmNTc5Zjg0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVw bGFuLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCkBAIC0z MTYsNyArMzE2LDcgQEAgc3RhdGljIE1vZGlmeVRhYmxlICptYWtlX21vZGlmeXRhYmxlKFBsYW5u ZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAogCQkJCQkJCQkJIExpc3QgKndpdGhDaGVja09w dGlvbkxpc3RzLCBMaXN0ICpyZXR1cm5pbmdMaXN0cywKIAkJCQkJCQkJCSBMaXN0ICpyb3dNYXJr cywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJCQkJCQkJCQkgTGlzdCAqbWVyZ2VBY3Rp b25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkJCQkJCSBpbnQgZXBxUGFy YW0pOworCQkJCQkJCQkJIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50IGVwcVBh cmFtKTsKIHN0YXRpYyBHYXRoZXJNZXJnZSAqY3JlYXRlX2dhdGhlcl9tZXJnZV9wbGFuKFBsYW5u ZXJJbmZvICpyb290LAogCQkJCQkJCQkJCQkgR2F0aGVyTWVyZ2VQYXRoICpiZXN0X3BhdGgpOwog CkBAIC0yNjc1LDYgKzI2NzUsNyBAQCBjcmVhdGVfbW9kaWZ5dGFibGVfcGxhbihQbGFubmVySW5m byAqcm9vdCwgTW9kaWZ5VGFibGVQYXRoICpiZXN0X3BhdGgpCiAJCQkJCQkJYmVzdF9wYXRoLT5v bmNvbmZsaWN0LAogCQkJCQkJCWJlc3RfcGF0aC0+bWVyZ2VBY3Rpb25MaXN0cywKIAkJCQkJCQli ZXN0X3BhdGgtPm1lcmdlSm9pbkNvbmRpdGlvbnMsCisJCQkJCQkJYmVzdF9wYXRoLT5mb3JQb3J0 aW9uT2YsCiAJCQkJCQkJYmVzdF9wYXRoLT5lcHFQYXJhbSk7CiAKIAljb3B5X2dlbmVyaWNfcGF0 aF9pbmZvKCZwbGFuLT5wbGFuLCAmYmVzdF9wYXRoLT5wYXRoKTsKQEAgLTcwMDEsNyArNzAwMiw3 IEBAIG1ha2VfbW9kaWZ5dGFibGUoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnN1YnBsYW4sCiAJ CQkJIExpc3QgKndpdGhDaGVja09wdGlvbkxpc3RzLCBMaXN0ICpyZXR1cm5pbmdMaXN0cywKIAkJ CQkgTGlzdCAqcm93TWFya3MsIE9uQ29uZmxpY3RFeHByICpvbmNvbmZsaWN0LAogCQkJCSBMaXN0 ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAotCQkJCSBpbnQg ZXBxUGFyYW0pCisJCQkJIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50IGVwcVBh cmFtKQogewogCU1vZGlmeVRhYmxlICpub2RlID0gbWFrZU5vZGUoTW9kaWZ5VGFibGUpOwogCWJv b2wJCXJldHVybmluZ19vbGRfb3JfbmV3ID0gZmFsc2U7CkBAIC03MDcwLDYgKzcwNzEsNyBAQCBt YWtlX21vZGlmeXRhYmxlKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAogCQlub2Rl LT5leGNsUmVsVGxpc3QgPSBvbmNvbmZsaWN0LT5leGNsUmVsVGxpc3Q7CiAJfQogCW5vZGUtPnVw ZGF0ZUNvbG5vc0xpc3RzID0gdXBkYXRlQ29sbm9zTGlzdHM7CisJbm9kZS0+Zm9yUG9ydGlvbk9m ID0gKE5vZGUgKikgZm9yUG9ydGlvbk9mOwogCW5vZGUtPndpdGhDaGVja09wdGlvbkxpc3RzID0g d2l0aENoZWNrT3B0aW9uTGlzdHM7CiAJbm9kZS0+cmV0dXJuaW5nT2xkQWxpYXMgPSByb290LT5w YXJzZS0+cmV0dXJuaW5nT2xkQWxpYXM7CiAJbm9kZS0+cmV0dXJuaW5nTmV3QWxpYXMgPSByb290 LT5wYXJzZS0+cmV0dXJuaW5nTmV3QWxpYXM7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRp bWl6ZXIvcGxhbi9wbGFubmVyLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVy LmMKaW5kZXggMGU3ODYyOGJmMDEuLmIzNDllMWM5YTZhIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3Bs YW4vcGxhbm5lci5jCkBAIC0yMTUxLDYgKzIxNTEsNyBAQCBncm91cGluZ19wbGFubmVyKFBsYW5u ZXJJbmZvICpyb290LCBkb3VibGUgdHVwbGVfZnJhY3Rpb24sCiAJCQkJCQkJCQkJcGFyc2UtPm9u Q29uZmxpY3QsCiAJCQkJCQkJCQkJbWVyZ2VBY3Rpb25MaXN0cywKIAkJCQkJCQkJCQltZXJnZUpv aW5Db25kaXRpb25zLAorCQkJCQkJCQkJCXBhcnNlLT5mb3JQb3J0aW9uT2YsCiAJCQkJCQkJCQkJ YXNzaWduX3NwZWNpYWxfZXhlY19wYXJhbShyb290KSk7CiAJCX0KIApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5vZGUuYyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci91dGlsL3BhdGhub2RlLmMKaW5kZXggYjZiZTRkZGJkMDEuLjAxMzI2ZDc0OTMzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jCisrKyBiL3NyYy9iYWNr ZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMKQEAgLTM2MzYsNyArMzYzNiw3IEBAIGNyZWF0 ZV9tb2RpZnl0YWJsZV9wYXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJ CQkJCQlMaXN0ICp3aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJ CQkJCQlMaXN0ICpyb3dNYXJrcywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJCQkJCQlM aXN0ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAotCQkJCQkJ aW50IGVwcVBhcmFtKQorCQkJCQkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mLCBpbnQg ZXBxUGFyYW0pCiB7CiAJTW9kaWZ5VGFibGVQYXRoICpwYXRobm9kZSA9IG1ha2VOb2RlKE1vZGlm eVRhYmxlUGF0aCk7CiAKQEAgLTM3MDIsNiArMzcwMiw3IEBAIGNyZWF0ZV9tb2RpZnl0YWJsZV9w YXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJcGF0aG5vZGUtPnJldHVy bmluZ0xpc3RzID0gcmV0dXJuaW5nTGlzdHM7CiAJcGF0aG5vZGUtPnJvd01hcmtzID0gcm93TWFy a3M7CiAJcGF0aG5vZGUtPm9uY29uZmxpY3QgPSBvbmNvbmZsaWN0OworCXBhdGhub2RlLT5mb3JQ b3J0aW9uT2YgPSBmb3JQb3J0aW9uT2Y7CiAJcGF0aG5vZGUtPmVwcVBhcmFtID0gZXBxUGFyYW07 CiAJcGF0aG5vZGUtPm1lcmdlQWN0aW9uTGlzdHMgPSBtZXJnZUFjdGlvbkxpc3RzOwogCXBhdGhu b2RlLT5tZXJnZUpvaW5Db25kaXRpb25zID0gbWVyZ2VKb2luQ29uZGl0aW9uczsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5h bHl6ZS5jCmluZGV4IDA1MzE0ZTdlNzZiLi40NGE0NmI3ODI0YiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5j CkBAIC0yNCw4ICsyNCwxMSBAQAogCiAjaW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2luY2x1ZGUg ImFjY2Vzcy9zdHJhdG51bS5oIgogI2luY2x1ZGUgImFjY2Vzcy9zeXNhdHRyLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9kZXBlbmRlbmN5LmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19hbS5oIgorI2lu Y2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2Mu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZy ZW0uaCIKQEAgLTUxLDcgKzU0LDEwIEBACiAjaW5jbHVkZSAicGFyc2VyL3BhcnNldHJlZS5oIgog I2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRp bnMuaCIKKyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5o IgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL3JhbmdldHlw ZXMuaCIKICNpbmNsdWRlICJ1dGlscy9yZWwuaCIKICNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5o IgogCkBAIC03Miw2ICs3OCwxMCBAQCBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybURlbGV0ZVN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBEZWxldGVTdG10ICpzdG10KTsKIHN0YXRpYyBRdWVyeSAqdHJh bnNmb3JtSW5zZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQpOwog c3RhdGljIE9uQ29uZmxpY3RFeHByICp0cmFuc2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNlU3Rh dGUgKnBzdGF0ZSwKIAkJCQkJCQkJCQkJCSBPbkNvbmZsaWN0Q2xhdXNlICpvbkNvbmZsaWN0Q2xh dXNlKTsKK3N0YXRpYyBGb3JQb3J0aW9uT2ZFeHByICp0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1 c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAorCQkJCQkJCQkJCQkJCSBpbnQgcnRpbmRleCwKKwkJCQkJ CQkJCQkJCQkgRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2ZDbGF1c2UsCisJCQkJCQkJ CQkJCQkJIGJvb2wgaXNVcGRhdGUpOwogc3RhdGljIGludAljb3VudF9yb3dleHByX2NvbHVtbnMo UGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3Jt U2VsZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQsCiAJCQkJCQkJ CSAgU2VsZWN0U3RtdFBhc3N0aHJvdWdoICpwYXNzdGhydSk7CkBAIC02MDQsNiArNjE0LDEyIEBA IHRyYW5zZm9ybURlbGV0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEZWxldGVTdG10ICpzdG10 KQogCW5zaXRlbS0+cF9sYXRlcmFsX29ubHkgPSBmYWxzZTsKIAluc2l0ZW0tPnBfbGF0ZXJhbF9v ayA9IHRydWU7CiAKKwlpZiAoc3RtdC0+Zm9yUG9ydGlvbk9mKQorCQlxcnktPmZvclBvcnRpb25P ZiA9IHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZShwc3RhdGUsCisJCQkJCQkJCQkJCQkJCXFy eS0+cmVzdWx0UmVsYXRpb24sCisJCQkJCQkJCQkJCQkJCXN0bXQtPmZvclBvcnRpb25PZiwKKwkJ CQkJCQkJCQkJCQkJZmFsc2UpOworCiAJcXVhbCA9IHRyYW5zZm9ybVdoZXJlQ2xhdXNlKHBzdGF0 ZSwgc3RtdC0+d2hlcmVDbGF1c2UsCiAJCQkJCQkJCUVYUFJfS0lORF9XSEVSRSwgIldIRVJFIik7 CiAKQEAgLTEyMzksNyArMTI1NSw3IEBAIHRyYW5zZm9ybU9uQ29uZmxpY3RDbGF1c2UoUGFyc2VT dGF0ZSAqcHN0YXRlLAogCQkgKiBOb3cgdHJhbnNmb3JtIHRoZSBVUERBVEUgc3ViZXhwcmVzc2lv bnMuCiAJCSAqLwogCQlvbkNvbmZsaWN0U2V0ID0KLQkJCXRyYW5zZm9ybVVwZGF0ZVRhcmdldExp c3QocHN0YXRlLCBvbkNvbmZsaWN0Q2xhdXNlLT50YXJnZXRMaXN0KTsKKwkJCXRyYW5zZm9ybVVw ZGF0ZVRhcmdldExpc3QocHN0YXRlLCBvbkNvbmZsaWN0Q2xhdXNlLT50YXJnZXRMaXN0LCBOVUxM KTsKIAogCQlvbkNvbmZsaWN0V2hlcmUgPSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsCiAJ CQkJCQkJCQkJCSAgIG9uQ29uZmxpY3RDbGF1c2UtPndoZXJlQ2xhdXNlLApAQCAtMTI2OSw2ICsx Mjg1LDMxNyBAQCB0cmFuc2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwK IAlyZXR1cm4gcmVzdWx0OwogfQogCisvKgorICogdHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xhdXNl CisgKgorICoJICBUcmFuc2Zvcm1zIGEgRm9yUG9ydGlvbk9mQ2xhdXNlIGluIGFuIFVQREFURS9E RUxFVEUgc3RhdGVtZW50LgorICoKKyAqCSAgLSBMb29rIHVwIHRoZSByYW5nZS9wZXJpb2QgcmVx dWVzdGVkLgorICoJICAtIEJ1aWxkIGEgY29tcGF0aWJsZSByYW5nZSB2YWx1ZSBmcm9tIHRoZSBG Uk9NIGFuZCBUTyBleHByZXNzaW9ucy4KKyAqCSAgLSBCdWlsZCBhbiAib3ZlcmxhcHMiIGV4cHJl c3Npb24gZm9yIGZpbHRlcmluZywgdXNlZCBsYXRlciBieSB0aGUKKyAqCQlyZXdyaXRlci4KKyAq CSAgLSBGb3IgVVBEQVRFcywgYnVpbGQgYW4gImludGVyc2VjdHMiIGV4cHJlc3Npb24gdGhlIHJl d3JpdGVyIGNhbiBhZGQKKyAqCQl0byB0aGUgdGFyZ2V0TGlzdCB0byBjaGFuZ2UgdGhlIHRlbXBv cmFsIGJvdW5kcy4KKyAqLworc3RhdGljIEZvclBvcnRpb25PZkV4cHIgKgordHJhbnNmb3JtRm9y UG9ydGlvbk9mQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJCQlpbnQgcnRpbmRleCwK KwkJCQkJCQlGb3JQb3J0aW9uT2ZDbGF1c2UgKmZvclBvcnRpb25PZiwKKwkJCQkJCQlib29sIGlz VXBkYXRlKQoreworCVJlbGF0aW9uCXRhcmdldHJlbCA9IHBzdGF0ZS0+cF90YXJnZXRfcmVsYXRp b247CisJY2hhcgkgICAqcmFuZ2VfbmFtZSA9IGZvclBvcnRpb25PZi0+cmFuZ2VfbmFtZTsKKwlp bnQJCQlyYW5nZV9hdHRubyA9IEludmFsaWRBdHRyTnVtYmVyOworCUZvcm1fcGdfYXR0cmlidXRl IGF0dHI7CisJT2lkCQkJYXR0YmFzZXR5cGU7CisJT2lkCQkJb3BjbGFzczsKKwlPaWQJCQlvcGZh bWlseTsKKwlPaWQJCQlvcGNpbnR5cGU7CisJT2lkCQkJZnVuY2lkID0gSW52YWxpZE9pZDsKKwlT dHJhdGVneU51bWJlciBzdHJhdDsKKwlPaWQJCQlvcGlkOworCU9wRXhwcgkgICAqb3A7CisJRm9y UG9ydGlvbk9mRXhwciAqcmVzdWx0OworCVZhcgkJICAgKnJhbmdlVmFyOworCisJLyogV2UgZG9u J3Qgc3VwcG9ydCBGT1IgUE9SVElPTiBPRiBGRFcgcXVlcmllcy4gKi8KKwlpZiAodGFyZ2V0cmVs LT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9GT1JFSUdOX1RBQkxFKQorCQllcmVwb3J0KEVS Uk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkg ZXJybXNnKCJmb3JlaWduIHRhYmxlcyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GIikpKTsK KworCXJlc3VsdCA9IG1ha2VOb2RlKEZvclBvcnRpb25PZkV4cHIpOworCisJLyogTG9vayB1cCB0 aGUgRk9SIFBPUlRJT04gT0YgbmFtZSByZXF1ZXN0ZWQuICovCisJcmFuZ2VfYXR0bm8gPSBhdHRu YW1lQXR0TnVtKHRhcmdldHJlbCwgcmFuZ2VfbmFtZSwgZmFsc2UpOworCWlmIChyYW5nZV9hdHRu byA9PSBJbnZhbGlkQXR0ck51bWJlcikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShF UlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJCSBlcnJtc2coImNvbHVtbiBvciBwZXJpb2Qg XCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlyYW5nZV9u YW1lLAorCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJIHBh cnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGZvclBvcnRpb25PZi0+bG9jYXRpb24pKSk7CisJYXR0 ciA9IFR1cGxlRGVzY0F0dHIodGFyZ2V0cmVsLT5yZF9hdHQsIHJhbmdlX2F0dG5vIC0gMSk7CisK KwlhdHRiYXNldHlwZSA9IGdldEJhc2VUeXBlKGF0dHItPmF0dHR5cGlkKTsKKworCXJhbmdlVmFy ID0gbWFrZVZhcigKKwkJCQkJICAgcnRpbmRleCwKKwkJCQkJICAgcmFuZ2VfYXR0bm8sCisJCQkJ CSAgIGF0dHItPmF0dHR5cGlkLAorCQkJCQkgICBhdHRyLT5hdHR0eXBtb2QsCisJCQkJCSAgIGF0 dHItPmF0dGNvbGxhdGlvbiwKKwkJCQkJICAgMCk7CisJcmFuZ2VWYXItPmxvY2F0aW9uID0gZm9y UG9ydGlvbk9mLT5sb2NhdGlvbjsKKwlyZXN1bHQtPnJhbmdlVmFyID0gcmFuZ2VWYXI7CisKKwkv KiBSZXF1aXJlIFNFTEVDVCBwcml2aWxlZ2Ugb24gdGhlIGFwcGxpY2F0aW9uLXRpbWUgY29sdW1u LiAqLworCW1hcmtWYXJGb3JTZWxlY3RQcml2KHBzdGF0ZSwgcmFuZ2VWYXIpOworCisJLyoKKwkg KiBVc2UgdGhlIGJhc2V0eXBlIGZvciB0aGUgdGFyZ2V0LCB3aGljaCBzaG91bGRuJ3QgYmUgcmVx dWlyZWQgdG8gZm9sbG93CisJICogZG9tYWluIHJ1bGVzLiBUaGUgdGFibGUncyBjb2x1bW4gdHlw ZSBpcyBpbiB0aGUgVmFyIGlmIHdlIG5lZWQgaXQuCisJICovCisJcmVzdWx0LT5yYW5nZVR5cGUg PSBhdHRiYXNldHlwZTsKKwlyZXN1bHQtPmlzRG9tYWluID0gYXR0YmFzZXR5cGUgIT0gYXR0ci0+ YXR0dHlwaWQ7CisKKwlpZiAoZm9yUG9ydGlvbk9mLT50YXJnZXQpCisJeworCQlPaWQJCQlkZWNs YXJlZF90YXJnZXRfdHlwZSA9IGF0dGJhc2V0eXBlOworCQlPaWQJCQlhY3R1YWxfdGFyZ2V0X3R5 cGU7CisKKwkJLyoKKwkJICogV2Ugd2VyZSBhbHJlYWR5IGdpdmVuIGFuIGV4cHJlc3Npb24gZm9y IHRoZSB0YXJnZXQsIHNvIHdlIGRvbid0CisJCSAqIGhhdmUgdG8gYnVpbGQgYW55dGhpbmcuIFdl IHN0aWxsIGhhdmUgdG8gbWFrZSBzdXJlIHdlIGdvdCB0aGUgcmlnaHQKKwkJICogdHlwZS4gTlVM TCB3aWxsIGJlIGNhdWdodCBiZSB0aGUgZXhlY3V0b3IuCisJCSAqLworCisJCXJlc3VsdC0+dGFy Z2V0UmFuZ2UgPSB0cmFuc2Zvcm1FeHByKHBzdGF0ZSwKKwkJCQkJCQkJCQkJZm9yUG9ydGlvbk9m LT50YXJnZXQsCisJCQkJCQkJCQkJCUVYUFJfS0lORF9GT1JfUE9SVElPTik7CisKKwkJYWN0dWFs X3RhcmdldF90eXBlID0gZXhwclR5cGUocmVzdWx0LT50YXJnZXRSYW5nZSk7CisKKwkJaWYgKCFj YW5fY29lcmNlX3R5cGUoMSwgJmFjdHVhbF90YXJnZXRfdHlwZSwgJmRlY2xhcmVkX3RhcmdldF90 eXBlLCBDT0VSQ0lPTl9JTVBMSUNJVCkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29k ZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IGNv ZXJjZSBGT1IgUE9SVElPTiBPRiB0YXJnZXQgZnJvbSAlcyB0byAlcyIsCisJCQkJCQkJZm9ybWF0 X3R5cGVfYmUoYWN0dWFsX3RhcmdldF90eXBlKSwKKwkJCQkJCQlmb3JtYXRfdHlwZV9iZShkZWNs YXJlZF90YXJnZXRfdHlwZSkpLAorCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgZXhw ckxvY2F0aW9uKGZvclBvcnRpb25PZi0+dGFyZ2V0KSkpKTsKKworCQlyZXN1bHQtPnRhcmdldFJh bmdlID0gY29lcmNlX3R5cGUocHN0YXRlLAorCQkJCQkJCQkJCSAgcmVzdWx0LT50YXJnZXRSYW5n ZSwKKwkJCQkJCQkJCQkgIGFjdHVhbF90YXJnZXRfdHlwZSwKKwkJCQkJCQkJCQkgIGRlY2xhcmVk X3RhcmdldF90eXBlLAorCQkJCQkJCQkJCSAgLTEsCisJCQkJCQkJCQkJICBDT0VSQ0lPTl9JTVBM SUNJVCwKKwkJCQkJCQkJCQkgIENPRVJDRV9JTVBMSUNJVF9DQVNULAorCQkJCQkJCQkJCSAgZXhw ckxvY2F0aW9uKGZvclBvcnRpb25PZi0+dGFyZ2V0KSk7CisKKwkJLyoKKwkJICogWFhYOiBGb3Ig bm93IHdlIG9ubHkgc3VwcG9ydCByYW5nZXMgYW5kIG11bHRpcmFuZ2VzLCBzbyB3ZSBmYWlsIG9u CisJCSAqIGFueXRoaW5nIGVsc2UuCisJCSAqLworCQlpZiAoIXR5cGVfaXNfcmFuZ2UoYXR0YmFz ZXR5cGUpICYmICF0eXBlX2lzX211bHRpcmFuZ2UoYXR0YmFzZXR5cGUpKQorCQkJZXJlcG9ydChF UlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAor CQkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBpcyBub3QgYSBy YW5nZSBvciBtdWx0aXJhbmdlIHR5cGUiLAorCQkJCQkJCXJhbmdlX25hbWUsCisJCQkJCQkJUmVs YXRpb25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJCSBwYXJzZXJfZXJycG9zaXRp b24ocHN0YXRlLCBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKSkpOworCisJfQorCWVsc2UKKwl7CisJ CU9pZAkJCXJuZ3N1YnR5cGU7CisJCU9pZAkJCWRlY2xhcmVkX2FyZ190eXBlc1syXTsKKwkJT2lk CQkJYWN0dWFsX2FyZ190eXBlc1syXTsKKwkJTGlzdAkgICAqYXJnczsKKworCQkvKgorCQkgKiBN YWtlIHN1cmUgaXQncyBhIHJhbmdlIGNvbHVtbi4gWFhYOiBXZSBjb3VsZCBzdXBwb3J0IHRoaXMg c3ludGF4IG9uCisJCSAqIG11bHRpcmFuZ2UgY29sdW1ucyB0b28sIGlmIHdlIGp1c3QgYnVpbHQg YSBvbmUtcmFuZ2UgbXVsdGlyYW5nZQorCQkgKiBmcm9tIHRoZSBGUk9NL1RPIHBocmFzZXMuCisJ CSAqLworCQlpZiAoIXR5cGVfaXNfcmFuZ2UoYXR0YmFzZXR5cGUpKQorCQkJZXJlcG9ydChFUlJP UiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAorCQkJ CQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBpcyBub3QgYSByYW5n ZSB0eXBlIiwKKwkJCQkJCQlyYW5nZV9uYW1lLAorCQkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25O YW1lKHRhcmdldHJlbCkpLAorCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgZm9yUG9y dGlvbk9mLT5sb2NhdGlvbikpKTsKKworCQlybmdzdWJ0eXBlID0gZ2V0X3JhbmdlX3N1YnR5cGUo YXR0YmFzZXR5cGUpOworCQlkZWNsYXJlZF9hcmdfdHlwZXNbMF0gPSBybmdzdWJ0eXBlOworCQlk ZWNsYXJlZF9hcmdfdHlwZXNbMV0gPSBybmdzdWJ0eXBlOworCisJCS8qCisJCSAqIEJ1aWxkIGEg cmFuZ2UgZnJvbSB0aGUgRlJPTSAuLi4gVE8gLi4uIGJvdW5kcy4gVGhpcyBzaG91bGQgZ2l2ZSBh CisJCSAqIGNvbnN0YW50IHJlc3VsdCwgc28gd2UgYWNjZXB0IGZ1bmN0aW9ucyBsaWtlIE5PVygp IGJ1dCBub3QgY29sdW1uCisJCSAqIHJlZmVyZW5jZXMsIHN1YnF1ZXJpZXMsIGV0Yy4KKwkJICov CisJCXJlc3VsdC0+dGFyZ2V0RnJvbSA9IHRyYW5zZm9ybUV4cHIocHN0YXRlLAorCQkJCQkJCQkJ CSAgIGZvclBvcnRpb25PZi0+dGFyZ2V0X3N0YXJ0LAorCQkJCQkJCQkJCSAgIEVYUFJfS0lORF9G T1JfUE9SVElPTik7CisJCXJlc3VsdC0+dGFyZ2V0VG8gPSB0cmFuc2Zvcm1FeHByKHBzdGF0ZSwK KwkJCQkJCQkJCQkgZm9yUG9ydGlvbk9mLT50YXJnZXRfZW5kLAorCQkJCQkJCQkJCSBFWFBSX0tJ TkRfRk9SX1BPUlRJT04pOworCQlhY3R1YWxfYXJnX3R5cGVzWzBdID0gZXhwclR5cGUocmVzdWx0 LT50YXJnZXRGcm9tKTsKKwkJYWN0dWFsX2FyZ190eXBlc1sxXSA9IGV4cHJUeXBlKHJlc3VsdC0+ dGFyZ2V0VG8pOworCQlhcmdzID0gbGlzdF9tYWtlMihjb3B5T2JqZWN0KHJlc3VsdC0+dGFyZ2V0 RnJvbSksCisJCQkJCQkgIGNvcHlPYmplY3QocmVzdWx0LT50YXJnZXRUbykpOworCisJCS8qCisJ CSAqIENoZWNrIHRoZSBib3VuZCB0eXBlcyBzZXBhcmF0ZWx5LCBmb3IgYmV0dGVyIGVycm9yIG1l c3NhZ2UgYW5kCisJCSAqIGxvY2F0aW9uCisJCSAqLworCQlpZiAoIWNhbl9jb2VyY2VfdHlwZSgx LCBhY3R1YWxfYXJnX3R5cGVzLCBkZWNsYXJlZF9hcmdfdHlwZXMsIENPRVJDSU9OX0lNUExJQ0lU KSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlT TUFUQ0gpLAorCQkJCQkgZXJybXNnKCJjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GICVz IGJvdW5kIGZyb20gJXMgdG8gJXMiLAorCQkJCQkJCSJGUk9NIiwKKwkJCQkJCQlmb3JtYXRfdHlw ZV9iZShhY3R1YWxfYXJnX3R5cGVzWzBdKSwKKwkJCQkJCQlmb3JtYXRfdHlwZV9iZShkZWNsYXJl ZF9hcmdfdHlwZXNbMF0pKSwKKwkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGV4cHJM b2NhdGlvbihmb3JQb3J0aW9uT2YtPnRhcmdldF9zdGFydCkpKSk7CisJCWlmICghY2FuX2NvZXJj ZV90eXBlKDEsICZhY3R1YWxfYXJnX3R5cGVzWzFdLCAmZGVjbGFyZWRfYXJnX3R5cGVzWzFdLCBD T0VSQ0lPTl9JTVBMSUNJVCkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJD T0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IGNvZXJjZSBG T1IgUE9SVElPTiBPRiAlcyBib3VuZCBmcm9tICVzIHRvICVzIiwKKwkJCQkJCQkiVE8iLAorCQkJ CQkJCWZvcm1hdF90eXBlX2JlKGFjdHVhbF9hcmdfdHlwZXNbMV0pLAorCQkJCQkJCWZvcm1hdF90 eXBlX2JlKGRlY2xhcmVkX2FyZ190eXBlc1sxXSkpLAorCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9u KHBzdGF0ZSwgZXhwckxvY2F0aW9uKGZvclBvcnRpb25PZi0+dGFyZ2V0X2VuZCkpKSk7CisKKwkJ bWFrZV9mbl9hcmd1bWVudHMocHN0YXRlLCBhcmdzLCBhY3R1YWxfYXJnX3R5cGVzLCBkZWNsYXJl ZF9hcmdfdHlwZXMpOworCQlyZXN1bHQtPnRhcmdldFJhbmdlID0gKE5vZGUgKikgbWFrZUZ1bmNF eHByKAorCQkJCQkJCQkJCQkJCWdldF9yYW5nZV9jb25zdHJ1Y3RvcjIoYXR0YmFzZXR5cGUpLAor CQkJCQkJCQkJCQkJCWF0dGJhc2V0eXBlLAorCQkJCQkJCQkJCQkJCWFyZ3MsCisJCQkJCQkJCQkJ CQkJSW52YWxpZE9pZCwgSW52YWxpZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOworCX0KKwlp ZiAoY29udGFpbl92b2xhdGlsZV9mdW5jdGlvbnNfYWZ0ZXJfcGxhbm5pbmcoKEV4cHIgKikgcmVz dWx0LT50YXJnZXRSYW5nZSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycm1zZygiRk9SIFBP UlRJT04gT0YgYm91bmRzIGNhbm5vdCBjb250YWluIHZvbGF0aWxlIGZ1bmN0aW9ucyIpKSk7CisK KwkvKgorCSAqIEJ1aWxkIG92ZXJsYXBzRXhwciB0byB1c2UgYXMgYW4gZXh0cmEgcXVhbC4gVGhp cyBtZWFucyB3ZSBvbmx5IGhpdCByb3dzCisJICogbWF0Y2hpbmcgdGhlIEZST00gJiBUTyBib3Vu ZHMuIFdlIG11c3QgbG9vayB1cCB0aGUgb3ZlcmxhcHMgb3BlcmF0b3IKKwkgKiAodXN1YWxseSAi JiYiKS4KKwkgKi8KKwlvcGNsYXNzID0gR2V0RGVmYXVsdE9wQ2xhc3MoYXR0ci0+YXR0dHlwaWQs IEdJU1RfQU1fT0lEKTsKKwlpZiAoIU9pZElzVmFsaWQob3BjbGFzcykpCisJCWVyZXBvcnQoRVJS T1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNUKSwKKwkJCQkgZXJybXNn KCJkYXRhIHR5cGUgJXMgaGFzIG5vIGRlZmF1bHQgb3BlcmF0b3IgY2xhc3MgZm9yIGFjY2VzcyBt ZXRob2QgXCIlc1wiIiwKKwkJCQkJCWZvcm1hdF90eXBlX2JlKGF0dHItPmF0dHR5cGlkKSwgImdp c3QiKSwKKwkJCQkgZXJyaGludCgiWW91IG11c3QgZGVmaW5lIGEgZGVmYXVsdCBvcGVyYXRvciBj bGFzcyBmb3IgdGhlIGRhdGEgdHlwZS4iKSkpOworCisJLyogTG9vayB1cCB0aGUgb3BlcmF0b3Jz IGFuZCBmdW5jdGlvbnMgd2UgbmVlZC4gKi8KKwlzdHJhdCA9IFJUT3ZlcmxhcFN0cmF0ZWd5TnVt YmVyOworCUdldE9wZXJhdG9yRnJvbUNvbXBhcmVUeXBlKG9wY2xhc3MsIEludmFsaWRPaWQsIENP TVBBUkVfT1ZFUkxBUCwgJm9waWQsICZzdHJhdCk7CisJb3AgPSBtYWtlTm9kZShPcEV4cHIpOwor CW9wLT5vcG5vID0gb3BpZDsKKwlvcC0+b3BmdW5jaWQgPSBnZXRfb3Bjb2RlKG9waWQpOworCW9w LT5vcHJlc3VsdHR5cGUgPSBCT09MT0lEOworCW9wLT5hcmdzID0gbGlzdF9tYWtlMihjb3B5T2Jq ZWN0KHJhbmdlVmFyKSwgY29weU9iamVjdChyZXN1bHQtPnRhcmdldFJhbmdlKSk7CisJcmVzdWx0 LT5vdmVybGFwc0V4cHIgPSAoTm9kZSAqKSBvcDsKKworCS8qCisJICogTG9vayB1cCB0aGUgd2l0 aG91dF9wb3J0aW9uIGZ1bmMuIFRoaXMgY29tcHV0ZXMgdGhlIGJvdW5kcyBvZiB0ZW1wb3JhbAor CSAqIGxlZnRvdmVycy4KKwkgKgorCSAqIFhYWDogRmluZCBhIG1vcmUgZXh0ZW5zaWJsZSB3YXkg dG8gbG9vayB1cCB0aGUgZnVuY3Rpb24sIHBlcm1pdHRpbmcKKwkgKiB1c2VyLWRlZmluZWQgdHlw ZXMuIEFuIG9wY2xhc3Mgc3VwcG9ydCBmdW5jdGlvbiBkb2Vzbid0IG1ha2Ugc2Vuc2UsCisJICog c2luY2UgdGhlcmUgaXMgbm8gaW5kZXggaW52b2x2ZWQuIFBlcmhhcHMgYSB0eXBlIHN1cHBvcnQg ZnVuY3Rpb24uCisJICovCisJaWYgKGdldF9vcGNsYXNzX29wZmFtaWx5X2FuZF9pbnB1dF90eXBl KG9wY2xhc3MsICZvcGZhbWlseSwgJm9wY2ludHlwZSkpCisJCXN3aXRjaCAob3BjaW50eXBlKQor CQl7CisJCQljYXNlIEFOWVJBTkdFT0lEOgorCQkJCXJlc3VsdC0+d2l0aG91dFBvcnRpb25Qcm9j ID0gRl9SQU5HRV9NSU5VU19NVUxUSTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQU5ZTVVMVElSQU5H RU9JRDoKKwkJCQlyZXN1bHQtPndpdGhvdXRQb3J0aW9uUHJvYyA9IEZfTVVMVElSQU5HRV9NSU5V U19NVUxUSTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgInVuZXhw ZWN0ZWQgb3BjaW50eXBlOiAldSIsIG9wY2ludHlwZSk7CisJCX0KKwllbHNlCisJCWVsb2coRVJS T1IsICJ1bmV4cGVjdGVkIG9wY2xhc3M6ICV1Iiwgb3BjbGFzcyk7CisKKwlpZiAoaXNVcGRhdGUp CisJeworCQkvKgorCQkgKiBOb3cgbWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUgc3RhcnQvZW5kIHRp bWUgb2YgdGhlIHJlY29yZC4gRm9yIGEKKwkJICogcmFuZ2UgY29sIChyKSB0aGlzIGlzIGByID0g ciAqIHRhcmdldFJhbmdlYCAod2hlcmUgKiBpcyB0aGUKKwkJICogaW50ZXJzZWN0IG9wZXJhdG9y KS4KKwkJICovCisJCU9pZAkJCWludGVyc2VjdG9wZXJvaWQ7CisJCUxpc3QJICAgKmZ1bmNBcmdz OworCQlOb2RlCSAgICpyYW5nZVRMRUV4cHI7CisJCVRhcmdldEVudHJ5ICp0bGU7CisKKwkJLyoK KwkJICogV2hhdGV2ZXIgb3BlcmF0b3IgaXMgdXNlZCBmb3IgaW50ZXJzZWN0IGJ5IHRlbXBvcmFs IGZvcmVpZ24ga2V5cywKKwkJICogd2UgY2FuIHVzZSBpdHMgYmFja2luZyBwcm9jZWR1cmUgZm9y IGludGVyc2VjdHMgaW4gRk9SIFBPUlRJT04gT0YuCisJCSAqIFhYWDogU2hhcmUgY29kZSB3aXRo IEZpbmRGS1BlcmlvZE9wZXJzPworCQkgKi8KKwkJc3dpdGNoIChvcGNpbnR5cGUpCisJCXsKKwkJ CWNhc2UgQU5ZUkFOR0VPSUQ6CisJCQkJaW50ZXJzZWN0b3Blcm9pZCA9IE9JRF9SQU5HRV9JTlRF UlNFQ1RfUkFOR0VfT1A7CisJCQkJYnJlYWs7CisJCQljYXNlIEFOWU1VTFRJUkFOR0VPSUQ6CisJ CQkJaW50ZXJzZWN0b3Blcm9pZCA9IE9JRF9NVUxUSVJBTkdFX0lOVEVSU0VDVF9NVUxUSVJBTkdF X09QOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9SLCAidW5leHBlY3Rl ZCBvcGNpbnR5cGU6ICV1Iiwgb3BjaW50eXBlKTsKKwkJfQorCQlmdW5jaWQgPSBnZXRfb3Bjb2Rl KGludGVyc2VjdG9wZXJvaWQpOworCQlpZiAoIU9pZElzVmFsaWQoZnVuY2lkKSkKKwkJCWVyZXBv cnQoRVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNUKSwKKwkJCQkJ ZXJybXNnKCJjb3VsZCBub3QgaWRlbnRpZnkgYW4gaW50ZXJzZWN0IGZ1bmN0aW9uIGZvciB0eXBl ICVzIiwKKwkJCQkJCSAgIGZvcm1hdF90eXBlX2JlKG9wY2ludHlwZSkpKTsKKworCQlmdW5jQXJn cyA9IGxpc3RfbWFrZTIoY29weU9iamVjdChyYW5nZVZhciksCisJCQkJCQkJICBjb3B5T2JqZWN0 KHJlc3VsdC0+dGFyZ2V0UmFuZ2UpKTsKKwkJcmFuZ2VUTEVFeHByID0gKE5vZGUgKikgbWFrZUZ1 bmNFeHByKGZ1bmNpZCwgYXR0YmFzZXR5cGUsIGZ1bmNBcmdzLAorCQkJCQkJCQkJCQkgSW52YWxp ZE9pZCwgSW52YWxpZE9pZCwKKwkJCQkJCQkJCQkJIENPRVJDRV9FWFBMSUNJVF9DQUxMKTsKKwor CQkvKgorCQkgKiBDb2VyY2UgdG8gZG9tYWluIGlmIG5lY2Vzc2FyeS4gSWYgd2Ugc2tpcCB0aGlz LCB3ZSB3aWxsIGFsbG93CisJCSAqIHVwZGF0aW5nIHRvIGZvcmJpZGRlbiB2YWx1ZXMuCisJCSAq LworCQlyYW5nZVRMRUV4cHIgPSBjb2VyY2VfdHlwZShwc3RhdGUsCisJCQkJCQkJCSAgIHJhbmdl VExFRXhwciwKKwkJCQkJCQkJICAgYXR0YmFzZXR5cGUsCisJCQkJCQkJCSAgIGF0dHItPmF0dHR5 cGlkLAorCQkJCQkJCQkgICAtMSwKKwkJCQkJCQkJICAgQ09FUkNJT05fSU1QTElDSVQsCisJCQkJ CQkJCSAgIENPRVJDRV9JTVBMSUNJVF9DQVNULAorCQkJCQkJCQkgICBleHByTG9jYXRpb24oZm9y UG9ydGlvbk9mLT50YXJnZXQpKTsKKworCQkvKiBNYWtlIGEgVExFIHRvIHNldCB0aGUgcmFuZ2Ug Y29sdW1uICovCisJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gTklMOworCQl0bGUgPSBtYWtl VGFyZ2V0RW50cnkoKEV4cHIgKikgcmFuZ2VUTEVFeHByLCByYW5nZV9hdHRubywgcmFuZ2VfbmFt ZSwKKwkJCQkJCQkgIGZhbHNlKTsKKwkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5k KHJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0LCB0bGUpOworCisJCS8qCisJCSAqIFRoZSByYW5nZSBj b2x1bW4gd2lsbCBjaGFuZ2UsIGJ1dCB5b3UgZG9uJ3QgbmVlZCBVUERBVEUgcGVybWlzc2lvbgor CQkgKiBvbiBpdCwgc28gd2UgZG9uJ3QgYWRkIHRvIHVwZGF0ZWRDb2xzIGhlcmUuCisJCSAqLwor CX0KKwllbHNlCisJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gTklMOworCisJcmVzdWx0LT5y YW5nZV9uYW1lID0gcmFuZ2VfbmFtZTsKKworCXJldHVybiByZXN1bHQ7Cit9CiAKIC8qCiAgKiBC dWlsZE9uQ29uZmxpY3RFeGNsdWRlZFRhcmdldGxpc3QKQEAgLTI1MDksNiArMjgzNiwxMyBAQCB0 cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkK IAkJCQkJCQkJCQkgc3RtdC0+cmVsYXRpb24tPmluaCwKIAkJCQkJCQkJCQkgdHJ1ZSwKIAkJCQkJ CQkJCQkgQUNMX1VQREFURSk7CisKKwlpZiAoc3RtdC0+Zm9yUG9ydGlvbk9mKQorCQlxcnktPmZv clBvcnRpb25PZiA9IHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZShwc3RhdGUsCisJCQkJCQkJ CQkJCQkJCXFyeS0+cmVzdWx0UmVsYXRpb24sCisJCQkJCQkJCQkJCQkJCXN0bXQtPmZvclBvcnRp b25PZiwKKwkJCQkJCQkJCQkJCQkJdHJ1ZSk7CisKIAluc2l0ZW0gPSBwc3RhdGUtPnBfdGFyZ2V0 X25zaXRlbTsKIAogCS8qIHN1YnF1ZXJpZXMgaW4gRlJPTSBjYW5ub3QgYWNjZXNzIHRoZSByZXN1 bHQgcmVsYXRpb24gKi8KQEAgLTI1MzUsNyArMjg2OSw4IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10KQogCSAqIE5vdyB3ZSBhcmUgZG9u ZSB3aXRoIFNFTEVDVC1saWtlIHByb2Nlc3NpbmcsIGFuZCBjYW4gZ2V0IG9uIHdpdGgKIAkgKiB0 cmFuc2Zvcm1pbmcgdGhlIHRhcmdldCBsaXN0IHRvIG1hdGNoIHRoZSBVUERBVEUgdGFyZ2V0IGNv bHVtbnMuCiAJICovCi0JcXJ5LT50YXJnZXRMaXN0ID0gdHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlz dChwc3RhdGUsIHN0bXQtPnRhcmdldExpc3QpOworCXFyeS0+dGFyZ2V0TGlzdCA9IHRyYW5zZm9y bVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLCBzdG10LT50YXJnZXRMaXN0LAorCQkJCQkJCQkJCQkJ cXJ5LT5mb3JQb3J0aW9uT2YpOwogCiAJcXJ5LT5ydGFibGUgPSBwc3RhdGUtPnBfcnRhYmxlOwog CXFyeS0+cnRlcGVybWluZm9zID0gcHN0YXRlLT5wX3J0ZXBlcm1pbmZvczsKQEAgLTI1NTQsNyAr Mjg4OSw3IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBVcGRhdGVT dG10ICpzdG10KQogICoJaGFuZGxlIFNFVCBjbGF1c2UgaW4gVVBEQVRFL01FUkdFL0lOU0VSVCAu Li4gT04gQ09ORkxJQ1QgVVBEQVRFCiAgKi8KIExpc3QgKgotdHJhbnNmb3JtVXBkYXRlVGFyZ2V0 TGlzdChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKm9yaWdUbGlzdCkKK3RyYW5zZm9ybVVwZGF0 ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpvcmlnVGxpc3QsIEZvclBvcnRp b25PZkV4cHIgKmZvclBvcnRpb25PZikKIHsKIAlMaXN0CSAgICp0bGlzdCA9IE5JTDsKIAlSVEVQ ZXJtaXNzaW9uSW5mbyAqdGFyZ2V0X3Blcm1pbmZvOwpAQCAtMjYwNyw2ICsyOTQyLDIwIEBAIHRy YW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpvcmlnVGxp c3QpCiAJCQkJCSBlcnJoaW50KCJTRVQgdGFyZ2V0IGNvbHVtbnMgY2Fubm90IGJlIHF1YWxpZmll ZCB3aXRoIHRoZSByZWxhdGlvbiBuYW1lLiIpIDogMCwKIAkJCQkJIHBhcnNlcl9lcnJwb3NpdGlv bihwc3RhdGUsIG9yaWdUYXJnZXQtPmxvY2F0aW9uKSkpOwogCisJCS8qCisJCSAqIElmIHRoaXMg aXMgYSBGT1IgUE9SVElPTiBPRiB1cGRhdGUsIGZvcmJpZCBkaXJlY3RseSBzZXR0aW5nIHRoZQor CQkgKiByYW5nZSBjb2x1bW4sIHNpbmNlIHRoYXQgd291bGQgY29uZmxpY3Qgd2l0aCB0aGUgaW1w bGljaXQgdXBkYXRlcy4KKwkJICovCisJCWlmIChmb3JQb3J0aW9uT2YgIT0gTlVMTCkKKwkJewor CQkJaWYgKGF0dHJubyA9PSBmb3JQb3J0aW9uT2YtPnJhbmdlVmFyLT52YXJhdHRubykKKwkJCQll cmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJ CQkJIGVycm1zZygiY2Fubm90IHVwZGF0ZSBjb2x1bW4gXCIlc1wiIGJlY2F1c2UgaXQgaXMgdXNl ZCBpbiBGT1IgUE9SVElPTiBPRiIsCisJCQkJCQkJCW9yaWdUYXJnZXQtPm5hbWUpLAorCQkJCQkJ IHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIG9yaWdUYXJnZXQtPmxvY2F0aW9uKSkpOworCQl9 CisKIAkJdXBkYXRlVGFyZ2V0TGlzdEVudHJ5KHBzdGF0ZSwgdGxlLCBvcmlnVGFyZ2V0LT5uYW1l LAogCQkJCQkJCSAgYXR0cm5vLAogCQkJCQkJCSAgb3JpZ1RhcmdldC0+aW5kaXJlY3Rpb24sCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueQppbmRleCBjM2EwYTM1NGE5Yy4uZDBlMzdlMDkxNzkgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAt NTU1LDYgKzU1NSw4IEBAIHN0YXRpYyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFy ICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVyeSk7CiAldHlwZSA8cmFuZ2U+CXJl bGF0aW9uX2V4cHIKICV0eXBlIDxyYW5nZT4JZXh0ZW5kZWRfcmVsYXRpb25fZXhwcgogJXR5cGUg PHJhbmdlPglyZWxhdGlvbl9leHByX29wdF9hbGlhcworJXR5cGUgPGFsaWFzPglvcHRfYWxpYXMK KyV0eXBlIDxub2RlPglmb3JfcG9ydGlvbl9vZl9jbGF1c2UKICV0eXBlIDxub2RlPgl0YWJsZXNh bXBsZV9jbGF1c2Ugb3B0X3JlcGVhdGFibGVfY2xhdXNlCiAldHlwZSA8dGFyZ2V0Pgl0YXJnZXRf ZWwgc2V0X3RhcmdldCBpbnNlcnRfY29sdW1uX2l0ZW0KIApAQCAtNzYzLDcgKzc2NSw3IEBAIHN0 YXRpYyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICph bGlhc2VzLCBOb2RlICpxdWVyeSk7CiAJT1ZFUiBPVkVSTEFQUyBPVkVSTEFZIE9WRVJSSURJTkcg T1dORUQgT1dORVIKIAogCVBBUkFMTEVMIFBBUkFNRVRFUiBQQVJTRVIgUEFSVElBTCBQQVJUSVRJ T04gUEFTU0lORyBQQVNTV09SRCBQQVRICi0JUEVSSU9EIFBMQUNJTkcgUExBTiBQTEFOUyBQT0xJ Q1kKKwlQRVJJT0QgUExBQ0lORyBQTEFOIFBMQU5TIFBPTElDWSBQT1JUSU9OCiAJUE9TSVRJT04g UFJFQ0VESU5HIFBSRUNJU0lPTiBQUkVTRVJWRSBQUkVQQVJFIFBSRVBBUkVEIFBSSU1BUlkKIAlQ UklPUiBQUklWSUxFR0VTIFBST0NFRFVSQUwgUFJPQ0VEVVJFIFBST0NFRFVSRVMgUFJPR1JBTSBQ VUJMSUNBVElPTgogCkBAIC04ODIsMTIgKzg4NCwxNSBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vy c2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkp OwogICoganNvbl9wcmVkaWNhdGVfdHlwZV9jb25zdHJhaW50IGFuZCBqc29uX2tleV91bmlxdWVu ZXNzX2NvbnN0cmFpbnRfb3B0CiAgKiBwcm9kdWN0aW9ucyAoc2VlIGNvbW1lbnRzIHRoZXJlKS4K ICAqCisgKiBUTyBpcyBhc3NpZ25lZCB0aGUgc2FtZSBwcmVjZWRlbmNlIGFzIElERU5ULCB0byBz dXBwb3J0IHRoZSBvcHRfaW50ZXJ2YWwKKyAqIHByb2R1Y3Rpb24gKHNlZSBjb21tZW50IHRoZXJl KS4KKyAqCiAgKiBMaWtlIHRoZSBVTkJPVU5ERUQgUFJFQ0VESU5HL0ZPTExPV0lORyBjYXNlLCBO RVNURUQgaXMgYXNzaWduZWQgYSBsb3dlcgogICogcHJlY2VkZW5jZSB0aGFuIFBBVEggdG8gZml4 IGFtYmlndWl0eSBpbiB0aGUganNvbl90YWJsZSBwcm9kdWN0aW9uLgogICovCiAlbm9uYXNzb2MJ VU5CT1VOREVEIE5FU1RFRCAvKiBpZGVhbGx5IHdvdWxkIGhhdmUgc2FtZSBwcmVjZWRlbmNlIGFz IElERU5UICovCiAlbm9uYXNzb2MJSURFTlQgUEFSVElUSU9OIFJBTkdFIFJPV1MgR1JPVVBTIFBS RUNFRElORyBGT0xMT1dJTkcgQ1VCRSBST0xMVVAKLQkJCVNFVCBLRVlTIE9CSkVDVF9QIFNDQUxB UiBWQUxVRV9QIFdJVEggV0lUSE9VVCBQQVRICisJCQlTRVQgS0VZUyBPQkpFQ1RfUCBTQ0FMQVIg VE8gVVNJTkcgVkFMVUVfUCBXSVRIIFdJVEhPVVQgUEFUSAogJWxlZnQJCU9wIE9QRVJBVE9SCQkv KiBtdWx0aS1jaGFyYWN0ZXIgb3BzIGFuZCB1c2VyLWRlZmluZWQgb3BlcmF0b3JzICovCiAlbGVm dAkJJysnICctJwogJWxlZnQJCScqJyAnLycgJyUnCkBAIC0xMjU1MCw2ICsxMjU1NSwyMCBAQCBE ZWxldGVTdG10OiBvcHRfd2l0aF9jbGF1c2UgREVMRVRFX1AgRlJPTSByZWxhdGlvbl9leHByX29w dF9hbGlhcwogCQkJCQluLT53aXRoQ2xhdXNlID0gJDE7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsK IAkJCQl9CisJCQl8IG9wdF93aXRoX2NsYXVzZSBERUxFVEVfUCBGUk9NIHJlbGF0aW9uX2V4cHIg Zm9yX3BvcnRpb25fb2ZfY2xhdXNlIG9wdF9hbGlhcworCQkJdXNpbmdfY2xhdXNlIHdoZXJlX29y X2N1cnJlbnRfY2xhdXNlIHJldHVybmluZ19jbGF1c2UKKwkJCQl7CisJCQkJCURlbGV0ZVN0bXQg Km4gPSBtYWtlTm9kZShEZWxldGVTdG10KTsKKworCQkJCQluLT5yZWxhdGlvbiA9ICQ0OworCQkJ CQluLT5mb3JQb3J0aW9uT2YgPSAoRm9yUG9ydGlvbk9mQ2xhdXNlICopICQ1OworCQkJCQluLT5y ZWxhdGlvbi0+YWxpYXMgPSAkNjsKKwkJCQkJbi0+dXNpbmdDbGF1c2UgPSAkNzsKKwkJCQkJbi0+ d2hlcmVDbGF1c2UgPSAkODsKKwkJCQkJbi0+cmV0dXJuaW5nQ2xhdXNlID0gJDk7CisJCQkJCW4t PndpdGhDbGF1c2UgPSAkMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KIAkJOwogCiB1 c2luZ19jbGF1c2U6CkBAIC0xMjYyNCw2ICsxMjY0MywyNSBAQCBVcGRhdGVTdG10OiBvcHRfd2l0 aF9jbGF1c2UgVVBEQVRFIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzCiAJCQkJCW4tPndpdGhDbGF1 c2UgPSAkMTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwgb3B0X3dpdGhfY2xh dXNlIFVQREFURSByZWxhdGlvbl9leHByCisJCQlmb3JfcG9ydGlvbl9vZl9jbGF1c2Ugb3B0X2Fs aWFzCisJCQlTRVQgc2V0X2NsYXVzZV9saXN0CisJCQlmcm9tX2NsYXVzZQorCQkJd2hlcmVfb3Jf Y3VycmVudF9jbGF1c2UKKwkJCXJldHVybmluZ19jbGF1c2UKKwkJCQl7CisJCQkJCVVwZGF0ZVN0 bXQgKm4gPSBtYWtlTm9kZShVcGRhdGVTdG10KTsKKworCQkJCQluLT5yZWxhdGlvbiA9ICQzOwor CQkJCQluLT5mb3JQb3J0aW9uT2YgPSAoRm9yUG9ydGlvbk9mQ2xhdXNlICopICQ0OworCQkJCQlu LT5yZWxhdGlvbi0+YWxpYXMgPSAkNTsKKwkJCQkJbi0+dGFyZ2V0TGlzdCA9ICQ3OworCQkJCQlu LT5mcm9tQ2xhdXNlID0gJDg7CisJCQkJCW4tPndoZXJlQ2xhdXNlID0gJDk7CisJCQkJCW4tPnJl dHVybmluZ0NsYXVzZSA9ICQxMDsKKwkJCQkJbi0+d2l0aENsYXVzZSA9ICQxOworCQkJCQkkJCA9 IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIHNldF9jbGF1c2VfbGlzdDoKQEAgLTE0MTIxLDYg KzE0MTU5LDQ0IEBAIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzOiByZWxhdGlvbl9leHByCQkJCQkl cHJlYyBVTUlOVVMKIAkJCQl9CiAJCTsKIAorb3B0X2FsaWFzOgorCQkJQVMgQ29sSWQKKwkJCQl7 CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1ha2VOb2RlKEFsaWFzKTsKKworCQkJCQlhbGlhcy0+ YWxpYXNuYW1lID0gJDI7CisJCQkJCSQkID0gYWxpYXM7CisJCQkJfQorCQkJfCBCYXJlQ29sTGFi ZWwKKwkJCQl7CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1ha2VOb2RlKEFsaWFzKTsKKworCQkJ CQlhbGlhcy0+YWxpYXNuYW1lID0gJDE7CisJCQkJCSQkID0gYWxpYXM7CisJCQkJfQorCQkJfCAv KiBlbXB0eSAqLyAlcHJlYyBVTUlOVVMgeyAkJCA9IE5VTEw7IH0KKwkJOworCitmb3JfcG9ydGlv bl9vZl9jbGF1c2U6CisJCQlGT1IgUE9SVElPTiBPRiBDb2xJZCAnKCcgYV9leHByICcpJworCQkJ CXsKKwkJCQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpuID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mQ2xh dXNlKTsKKwkJCQkJbi0+cmFuZ2VfbmFtZSA9ICQ0OworCQkJCQluLT5sb2NhdGlvbiA9IEA0Owor CQkJCQluLT50YXJnZXQgPSAkNjsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwg Rk9SIFBPUlRJT04gT0YgQ29sSWQgRlJPTSBhX2V4cHIgVE8gYV9leHByCisJCQkJeworCQkJCQlG b3JQb3J0aW9uT2ZDbGF1c2UgKm4gPSBtYWtlTm9kZShGb3JQb3J0aW9uT2ZDbGF1c2UpOworCQkJ CQluLT5yYW5nZV9uYW1lID0gJDQ7CisJCQkJCW4tPmxvY2F0aW9uID0gQDQ7CisJCQkJCW4tPnRh cmdldF9zdGFydCA9ICQ2OworCQkJCQluLT50YXJnZXRfZW5kID0gJDg7CisJCQkJCSQkID0gKE5v ZGUgKikgbjsKKwkJCQl9CisJCTsKKwogLyoKICAqIFRBQkxFU0FNUExFIGRlY29yYXRpb24gaW4g YSBGUk9NIGl0ZW0KICAqLwpAQCAtMTQ5NjEsMTYgKzE1MDM3LDI1IEBAIG9wdF90aW1lem9uZToK IAkJCXwgLypFTVBUWSovCQkJCQkJCQl7ICQkID0gZmFsc2U7IH0KIAkJOwogCisvKgorICogV2Ug bmVlZCB0byBoYW5kbGUgdGhpcyBzaGlmdC9yZWR1Y2UgY29uZmxpY3Q6CisgKiBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NIHQgKyBJTlRFUlZBTCAnMScgWUVBUiBUTyBNT05USC4KKyAqIFdl IGRvbid0IHNlZSBmYXIgZW5vdWdoIGFoZWFkIHRvIGtub3cgaWYgdGhlcmUgaXMgYW5vdGhlciBU TyBjb21pbmcuCisgKiBXZSBwcmVmZXIgdG8gaW50ZXJwcmV0IHRoaXMgYXMgRlJPTSAodCArIElO VEVSVkFMICcxJyBZRUFSIFRPIE1PTlRIKSwKKyAqIGkuZS4gdG8gc2hpZnQuCisgKiBUaGF0IGdp dmVzIHRoZSB1c2VyIHRoZSBvcHRpb24gb2YgYWRkaW5nIHBhcmVudGhlc2VzIHRvIGdldCB0aGUg b3RoZXIgbWVhbmluZy4KKyAqIElmIHdlIHJlZHVjZWQsIGludGVydmFscyBjb3VsZCBuZXZlciBo YXZlIGEgVE8uCisgKi8KIG9wdF9pbnRlcnZhbDoKLQkJCVlFQVJfUAorCQkJWUVBUl9QCQkJCQkJ CQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxpc3RfbWFrZTEobWFrZUludENvbnN0KElO VEVSVkFMX01BU0soWUVBUiksIEAxKSk7IH0KIAkJCXwgTU9OVEhfUAogCQkJCXsgJCQgPSBsaXN0 X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKE1PTlRIKSwgQDEpKTsgfQotCQkJfCBE QVlfUAorCQkJfCBEQVlfUAkJCQkJCQkJCQkJCQkJCQklcHJlYyBJUwogCQkJCXsgJCQgPSBsaXN0 X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKERBWSksIEAxKSk7IH0KLQkJCXwgSE9V Ul9QCisJCQl8IEhPVVJfUAkJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxpc3Rf bWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soSE9VUiksIEAxKSk7IH0KLQkJCXwgTUlO VVRFX1AKKwkJCXwgTUlOVVRFX1AJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxp c3RfbWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soTUlOVVRFKSwgQDEpKTsgfQogCQkJ fCBpbnRlcnZhbF9zZWNvbmQKIAkJCQl7ICQkID0gJDE7IH0KQEAgLTE4MDQ1LDYgKzE4MTMwLDcg QEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBQTEFOCiAJCQl8IFBMQU5TCiAJCQl8IFBPTElD WQorCQkJfCBQT1JUSU9OCiAJCQl8IFBSRUNFRElORwogCQkJfCBQUkVQQVJFCiAJCQl8IFBSRVBB UkVECkBAIC0xODY3Niw2ICsxODc2Miw3IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwgUExB TgogCQkJfCBQTEFOUwogCQkJfCBQT0xJQ1kKKwkJCXwgUE9SVElPTgogCQkJfCBQT1NJVElPTgog CQkJfCBQUkVDRURJTkcKIAkJCXwgUFJFUEFSRQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX2FnZy5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jCmluZGV4IGI4 MzQwNTU3YjM0Li5hOTIyYzMxMDAzZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX2FnZy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwpAQCAtNTgzLDYg KzU4MywxMyBAQCBjaGVja19hZ2dsZXZlbHNfYW5kX2NvbnN0cmFpbnRzKFBhcnNlU3RhdGUgKnBz dGF0ZSwgTm9kZSAqZXhwcikKIAkJY2FzZSBFWFBSX0tJTkRfQ1lDTEVfTUFSSzoKIAkJCWVycmtp bmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX0ZPUl9QT1JUSU9OOgorCQkJ aWYgKGlzQWdnKQorCQkJCWVyciA9IF8oImFnZ3JlZ2F0ZSBmdW5jdGlvbnMgYXJlIG5vdCBhbGxv d2VkIGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb25zIik7CisJCQllbHNlCisJCQkJZXJyID0g XygiZ3JvdXBpbmcgb3BlcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJT04gT0Yg ZXhwcmVzc2lvbnMiKTsKKworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRl bnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKQEAgLTEwMjMsNiAr MTAzMCw5IEBAIHRyYW5zZm9ybVdpbmRvd0Z1bmNDYWxsKFBhcnNlU3RhdGUgKnBzdGF0ZSwgV2lu ZG93RnVuYyAqd2Z1bmMsCiAJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJCQllcnJraW5k ID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9GT1JfUE9SVElPTjoKKwkJCWVy ciA9IF8oIndpbmRvdyBmdW5jdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIEZPUiBQT1JUSU9OIE9G IGV4cHJlc3Npb25zIik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVu dGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NvbGxhdGUuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9jb2xsYXRlLmMKaW5kZXggZDJlMjE4MzUzZjMuLjUyMjM0NWIxNjY4IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV9jb2xsYXRlLmMKQEAgLTQ4NCw2ICs0ODQsNyBAQCBhc3NpZ25fY29sbGF0aW9u c193YWxrZXIoTm9kZSAqbm9kZSwgYXNzaWduX2NvbGxhdGlvbnNfY29udGV4dCAqY29udGV4dCkK IAkJY2FzZSBUX0pvaW5FeHByOgogCQljYXNlIFRfRnJvbUV4cHI6CiAJCWNhc2UgVF9PbkNvbmZs aWN0RXhwcjoKKwkJY2FzZSBUX0ZvclBvcnRpb25PZkV4cHI6CiAJCWNhc2UgVF9Tb3J0R3JvdXBD bGF1c2U6CiAJCWNhc2UgVF9NZXJnZUFjdGlvbjoKIAkJCSh2b2lkKSBleHByZXNzaW9uX3RyZWVf d2Fsa2VyKG5vZGUsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5j IGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwppbmRleCA0NTI0ZTQ5YzMyNi4uM2Nk OWU5ZjJlZmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKKysr IGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwpAQCAtNTg1LDYgKzU4NSw5IEBAIHRy YW5zZm9ybUNvbHVtblJlZihQYXJzZVN0YXRlICpwc3RhdGUsIENvbHVtblJlZiAqY3JlZikKIAkJ Y2FzZSBFWFBSX0tJTkRfUEFSVElUSU9OX0JPVU5EOgogCQkJZXJyID0gXygiY2Fubm90IHVzZSBj b2x1bW4gcmVmZXJlbmNlIGluIHBhcnRpdGlvbiBib3VuZCBleHByZXNzaW9uIik7CiAJCQlicmVh azsKKwkJY2FzZSBFWFBSX0tJTkRfRk9SX1BPUlRJT046CisJCQllcnIgPSBfKCJjYW5ub3QgdXNl IGNvbHVtbiByZWZlcmVuY2UgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiIpOworCQkJYnJl YWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNh c2UgaGVyZSwgc28gdGhhdCB0aGUKQEAgLTE4NjEsNiArMTg2NCw5IEBAIHRyYW5zZm9ybVN1Ykxp bmsoUGFyc2VTdGF0ZSAqcHN0YXRlLCBTdWJMaW5rICpzdWJsaW5rKQogCQljYXNlIEVYUFJfS0lO RF9HRU5FUkFURURfQ09MVU1OOgogCQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBpbiBj b2x1bW4gZ2VuZXJhdGlvbiBleHByZXNzaW9uIik7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJ TkRfRk9SX1BPUlRJT046CisJCQllcnIgPSBfKCJjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIEZPUiBQ T1JUSU9OIE9GIGV4cHJlc3Npb24iKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUg aXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCkBAIC0z MjIwLDYgKzMyMjYsOCBAQCBQYXJzZUV4cHJLaW5kTmFtZShQYXJzZUV4cHJLaW5kIGV4cHJLaW5k KQogCQkJcmV0dXJuICJHRU5FUkFURUQgQVMiOwogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJL OgogCQkJcmV0dXJuICJDWUNMRSI7CisJCWNhc2UgRVhQUl9LSU5EX0ZPUl9QT1JUSU9OOgorCQkJ cmV0dXJuICJGT1IgUE9SVElPTiBPRiI7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRp b25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vf ZnVuYy5jCmluZGV4IDc3OGQ2OWM2ZjNjLi5jNjk5MTYzYTUwOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vf ZnVuYy5jCkBAIC0yNzgzLDYgKzI3ODMsOSBAQCBjaGVja19zcmZfY2FsbF9wbGFjZW1lbnQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50IGxvY2F0aW9uKQogCQljYXNlIEVY UFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRydWU7CiAJCQlicmVhazsKKwkJY2Fz ZSBFWFBSX0tJTkRfRk9SX1BPUlRJT046CisJCQllcnIgPSBfKCJzZXQtcmV0dXJuaW5nIGZ1bmN0 aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbnMiKTsKKwkJ CWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0 OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJnZS5jCmluZGV4IDUx ZDc3MDNlZmY3Li5lZDI3NmM0MTQ2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKQEAgLTM4 NSw3ICszODUsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBNZXJn ZVN0bXQgKnN0bXQpCiAJCQkJCXBzdGF0ZS0+cF9pc19pbnNlcnQgPSBmYWxzZTsKIAkJCQkJYWN0 aW9uLT50YXJnZXRMaXN0ID0KIAkJCQkJCXRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QocHN0YXRl LAotCQkJCQkJCQkJCQkJICBtZXJnZVdoZW5DbGF1c2UtPnRhcmdldExpc3QpOworCQkJCQkJCQkJ CQkJICBtZXJnZVdoZW5DbGF1c2UtPnRhcmdldExpc3QsIE5VTEwpOwogCQkJCX0KIAkJCQlicmVh azsKIAkJCWNhc2UgQ01EX0RFTEVURToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Jld3JpdGUv cmV3cml0ZUhhbmRsZXIuYyBiL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIuYwpp bmRleCBmZmNmMmZmMWZlMi4uZWUyNjczMDg0MTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Jl d3JpdGUvcmV3cml0ZUhhbmRsZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXdyaXRlL3Jld3JpdGVI YW5kbGVyLmMKQEAgLTM3MzIsNiArMzczMiwzMCBAQCByZXdyaXRlVGFyZ2V0VmlldyhRdWVyeSAq cGFyc2V0cmVlLCBSZWxhdGlvbiB2aWV3KQogCQkJCQkJCQkJICAmcGFyc2V0cmVlLT5oYXNTdWJM aW5rcyk7CiAJfQogCisJaWYgKHBhcnNldHJlZS0+Zm9yUG9ydGlvbk9mICYmIHBhcnNldHJlZS0+ Y29tbWFuZFR5cGUgPT0gQ01EX1VQREFURSkKKwl7CisJCS8qCisJCSAqIExpa2UgdGhlIElOU0VS VC9VUERBVEUgY29kZSBhYm92ZSwgdXBkYXRlIHRoZSByZXNub3MgaW4gdGhlCisJCSAqIGF1eGls aWFyeSBVUERBVEUgdGFyZ2V0bGlzdCB0byByZWZlciB0byBjb2x1bW5zIG9mIHRoZSBiYXNlCisJ CSAqIHJlbGF0aW9uLgorCQkgKi8KKwkJZm9yZWFjaChsYywgcGFyc2V0cmVlLT5mb3JQb3J0aW9u T2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJeworCQkJVGFyZ2V0RW50cnkgKnRsZSA9IChUYXJnZXRF bnRyeSAqKSBsZmlyc3QobGMpOworCQkJVGFyZ2V0RW50cnkgKnZpZXdfdGxlOworCisJCQlpZiAo dGxlLT5yZXNqdW5rKQorCQkJCWNvbnRpbnVlOworCisJCQl2aWV3X3RsZSA9IGdldF90bGVfYnlf cmVzbm8odmlld190YXJnZXRsaXN0LCB0bGUtPnJlc25vKTsKKwkJCWlmICh2aWV3X3RsZSAhPSBO VUxMICYmICF2aWV3X3RsZS0+cmVzanVuayAmJiBJc0Eodmlld190bGUtPmV4cHIsIFZhcikpCisJ CQkJdGxlLT5yZXNubyA9ICgoVmFyICopIHZpZXdfdGxlLT5leHByKS0+dmFyYXR0bm87CisJCQll bHNlCisJCQkJZWxvZyhFUlJPUiwgImF0dHJpYnV0ZSBudW1iZXIgJWQgbm90IGZvdW5kIGluIHZp ZXcgdGFyZ2V0bGlzdCIsCisJCQkJCSB0bGUtPnJlc25vKTsKKwkJfQorCX0KKwogCS8qCiAJICog Rm9yIFVQREFURS9ERUxFVEUvTUVSR0UsIHB1bGwgdXAgYW55IFdIRVJFIHF1YWxzIGZyb20gdGhl IHZpZXcuICBXZQogCSAqIGtub3cgdGhhdCBhbnkgVmFycyBpbiB0aGUgcXVhbHMgbXVzdCByZWZl cmVuY2UgdGhlIG9uZSBiYXNlIHJlbGF0aW9uLApAQCAtNDA4OCw2ICs0MTEyLDM3IEBAIFJld3Jp dGVRdWVyeShRdWVyeSAqcGFyc2V0cmVlLCBMaXN0ICpyZXdyaXRlX2V2ZW50cywgaW50IG9yaWdf cnRfbGVuZ3RoLAogCQllbHNlIGlmIChldmVudCA9PSBDTURfVVBEQVRFKQogCQl7CiAJCQlBc3Nl cnQocGFyc2V0cmVlLT5vdmVycmlkZSA9PSBPVkVSUklESU5HX05PVF9TRVQpOworCisJCQlpZiAo cGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YpCisJCQl7CisJCQkJLyoKKwkJCQkgKiBEb24ndCBhZGQg Rk9SIFBPUlRJT04gT0YgZGV0YWlscyB1bnRpbCB3ZSdyZSBkb25lIHJld3JpdGluZworCQkJCSAq IGEgdmlldyB1cGRhdGUsIHNvIHRoYXQgd2UgZG9uJ3QgYWRkIHRoZSBzYW1lIHF1YWwgYW5kIFRM RQorCQkJCSAqIG9uIHRoZSByZWN1cnNpb24uCisJCQkJICoKKwkJCQkgKiBWaWV3cyBkb24ndCBu ZWVkIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwgaGVyZSB0byByZW1hcCBWYXJzOworCQkJCSAqIHRo YXQgaXMgaGFuZGxlZCBieSB0aGUgdHJlZSB3YWxrZXIuCisJCQkJICovCisJCQkJaWYgKHJ0X2Vu dHJ5X3JlbGF0aW9uLT5yZF9yZWwtPnJlbGtpbmQgIT0gUkVMS0lORF9WSUVXKQorCQkJCXsKKwkJ CQkJTGlzdENlbGwgICAqdGw7CisKKwkJCQkJLyoKKwkJCQkJICogQWRkIHF1YWw6IFVQREFURSBG T1IgUE9SVElPTiBPRiBzaG91bGQgYmUgbGltaXRlZCB0bworCQkJCQkgKiByb3dzIHRoYXQgb3Zl cmxhcCB0aGUgdGFyZ2V0IHJhbmdlLgorCQkJCQkgKi8KKwkJCQkJQWRkUXVhbChwYXJzZXRyZWUs IHBhcnNldHJlZS0+Zm9yUG9ydGlvbk9mLT5vdmVybGFwc0V4cHIpOworCisJCQkJCS8qIFVwZGF0 ZSBGT1IgUE9SVElPTiBPRiBjb2x1bW4ocykgYXV0b21hdGljYWxseS4gKi8KKwkJCQkJZm9yZWFj aCh0bCwgcGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJCQkJewor CQkJCQkJVGFyZ2V0RW50cnkgKnRsZSA9IChUYXJnZXRFbnRyeSAqKSBsZmlyc3QodGwpOworCisJ CQkJCQlwYXJzZXRyZWUtPnRhcmdldExpc3QgPSBsYXBwZW5kKHBhcnNldHJlZS0+dGFyZ2V0TGlz dCwgdGxlKTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwogCQkJcGFyc2V0cmVlLT50YXJnZXRMaXN0 ID0KIAkJCQlyZXdyaXRlVGFyZ2V0TGlzdElVKHBhcnNldHJlZS0+dGFyZ2V0TGlzdCwKIAkJCQkJ CQkJCXBhcnNldHJlZS0+Y29tbWFuZFR5cGUsCkBAIC00MTMzLDcgKzQxODgsMjUgQEAgUmV3cml0 ZVF1ZXJ5KFF1ZXJ5ICpwYXJzZXRyZWUsIExpc3QgKnJld3JpdGVfZXZlbnRzLCBpbnQgb3JpZ19y dF9sZW5ndGgsCiAJCX0KIAkJZWxzZSBpZiAoZXZlbnQgPT0gQ01EX0RFTEVURSkKIAkJewotCQkJ LyogTm90aGluZyB0byBkbyBoZXJlICovCisJCQlpZiAocGFyc2V0cmVlLT5mb3JQb3J0aW9uT2Yp CisJCQl7CisJCQkJLyoKKwkJCQkgKiBEb24ndCBhZGQgRk9SIFBPUlRJT04gT0YgZGV0YWlscyB1 bnRpbCB3ZSdyZSBkb25lIHJld3JpdGluZworCQkJCSAqIGEgdmlldyBkZWxldGUsIHNvIHRoYXQg d2UgZG9uJ3QgYWRkIHRoZSBzYW1lIHF1YWwgb24gdGhlCisJCQkJICogcmVjdXJzaW9uLgorCQkJ CSAqCisJCQkJICogVmlld3MgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyBzcGVjaWFsIGhlcmUg dG8gcmVtYXAgVmFyczsKKwkJCQkgKiB0aGF0IGlzIGhhbmRsZWQgYnkgdGhlIHRyZWUgd2Fsa2Vy LgorCQkJCSAqLworCQkJCWlmIChydF9lbnRyeV9yZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kICE9 IFJFTEtJTkRfVklFVykKKwkJCQl7CisJCQkJCS8qCisJCQkJCSAqIEFkZCBxdWFsOiBERUxFVEUg Rk9SIFBPUlRJT04gT0Ygc2hvdWxkIGJlIGxpbWl0ZWQgdG8KKwkJCQkJICogcm93cyB0aGF0IG92 ZXJsYXAgdGhlIHRhcmdldCByYW5nZS4KKwkJCQkJICovCisJCQkJCUFkZFF1YWwocGFyc2V0cmVl LCBwYXJzZXRyZWUtPmZvclBvcnRpb25PZi0+b3ZlcmxhcHNFeHByKTsKKwkJCQl9CisJCQl9CiAJ CX0KIAkJZWxzZQogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBjb21tYW5kVHlwZTogJWQi LCAoaW50KSBldmVudCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0 aWxzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKaW5kZXggNmNmOTBiZTQw YmIuLjcyYjBiYzYzMGYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0 aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jCkBAIC01MTUsNiAr NTE1LDggQEAgc3RhdGljIHZvaWQgZ2V0X3J0ZV9hbGlhcyhSYW5nZVRibEVudHJ5ICpydGUsIGlu dCB2YXJubywgYm9vbCB1c2VfYXMsCiAJCQkJCQkgIGRlcGFyc2VfY29udGV4dCAqY29udGV4dCk7 CiBzdGF0aWMgdm9pZCBnZXRfY29sdW1uX2FsaWFzX2xpc3QoZGVwYXJzZV9jb2x1bW5zICpjb2xp bmZvLAogCQkJCQkJCQkgIGRlcGFyc2VfY29udGV4dCAqY29udGV4dCk7CitzdGF0aWMgdm9pZCBn ZXRfZm9yX3BvcnRpb25fb2YoRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mLAorCQkJCQkJ CSAgIGRlcGFyc2VfY29udGV4dCAqY29udGV4dCk7CiBzdGF0aWMgdm9pZCBnZXRfZnJvbV9jbGF1 c2VfY29sZGVmbGlzdChSYW5nZVRibEZ1bmN0aW9uICpydGZ1bmMsCiAJCQkJCQkJCQkgICBkZXBh cnNlX2NvbHVtbnMgKmNvbGluZm8sCiAJCQkJCQkJCQkgICBkZXBhcnNlX2NvbnRleHQgKmNvbnRl eHQpOwpAQCAtNzE3NSw2ICs3MTc3LDkgQEAgZ2V0X3VwZGF0ZV9xdWVyeV9kZWYoUXVlcnkgKnF1 ZXJ5LCBkZXBhcnNlX2NvbnRleHQgKmNvbnRleHQpCiAJCQkJCSBvbmx5X21hcmtlcihydGUpLAog CQkJCQkgZ2VuZXJhdGVfcmVsYXRpb25fbmFtZShydGUtPnJlbGlkLCBOSUwpKTsKIAorCS8qIFBy aW50IHRoZSBGT1IgUE9SVElPTiBPRiwgaWYgbmVlZGVkICovCisJZ2V0X2Zvcl9wb3J0aW9uX29m KHF1ZXJ5LT5mb3JQb3J0aW9uT2YsIGNvbnRleHQpOworCiAJLyogUHJpbnQgdGhlIHJlbGF0aW9u IGFsaWFzLCBpZiBuZWVkZWQgKi8KIAlnZXRfcnRlX2FsaWFzKHJ0ZSwgcXVlcnktPnJlc3VsdFJl bGF0aW9uLCBmYWxzZSwgY29udGV4dCk7CiAKQEAgLTczNzksNiArNzM4NCw5IEBAIGdldF9kZWxl dGVfcXVlcnlfZGVmKFF1ZXJ5ICpxdWVyeSwgZGVwYXJzZV9jb250ZXh0ICpjb250ZXh0KQogCQkJ CQkgb25seV9tYXJrZXIocnRlKSwKIAkJCQkJIGdlbmVyYXRlX3JlbGF0aW9uX25hbWUocnRlLT5y ZWxpZCwgTklMKSk7CiAKKwkvKiBQcmludCB0aGUgRk9SIFBPUlRJT04gT0YsIGlmIG5lZWRlZCAq LworCWdldF9mb3JfcG9ydGlvbl9vZihxdWVyeS0+Zm9yUG9ydGlvbk9mLCBjb250ZXh0KTsKKwog CS8qIFByaW50IHRoZSByZWxhdGlvbiBhbGlhcywgaWYgbmVlZGVkICovCiAJZ2V0X3J0ZV9hbGlh cyhydGUsIHF1ZXJ5LT5yZXN1bHRSZWxhdGlvbiwgZmFsc2UsIGNvbnRleHQpOwogCkBAIC0xMjc1 MCw2ICsxMjc1OCwzOSBAQCBnZXRfcnRlX2FsaWFzKFJhbmdlVGJsRW50cnkgKnJ0ZSwgaW50IHZh cm5vLCBib29sIHVzZV9hcywKIAkJCQkJCSBxdW90ZV9pZGVudGlmaWVyKHJlZm5hbWUpKTsKIH0K IAorLyoKKyAqIGdldF9mb3JfcG9ydGlvbl9vZiAtIHByaW50IEZPUiBQT1JUSU9OIE9GIGlmIG5l ZWRlZAorICogWFhYOiBOZXdsaW5lcyB3b3VsZCBoZWxwIGhlcmUsIGF0IGxlYXN0IHdoZW4gcHJl dHR5LXByaW50aW5nLiBCdXQgdGhlbiB0aGUKKyAqIGFsaWFzIGFuZCBTRVQgd2lsbCBiZSBvbiB0 aGVpciBvd24gbGluZSB3aXRoIGEgbGVhZGluZyBzcGFjZS4KKyAqLworc3RhdGljIHZvaWQKK2dl dF9mb3JfcG9ydGlvbl9vZihGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YsIGRlcGFyc2Vf Y29udGV4dCAqY29udGV4dCkKK3sKKwlpZiAoZm9yUG9ydGlvbk9mKQorCXsKKwkJYXBwZW5kU3Ry aW5nSW5mbyhjb250ZXh0LT5idWYsICIgRk9SIFBPUlRJT04gT0YgJXMiLAorCQkJCQkJIHF1b3Rl X2lkZW50aWZpZXIoZm9yUG9ydGlvbk9mLT5yYW5nZV9uYW1lKSk7CisKKwkJLyoKKwkJICogVHJ5 IHRvIHdyaXRlIGl0IGFzIEZST00gLi4uIFRPIC4uLiBpZiB3ZSByZWNlaXZlZCBpdCB0aGF0IHdh eSwKKwkJICogb3RoZXJ3aXNlICh0YXJnZXRFeHByKS4KKwkJICovCisJCWlmIChmb3JQb3J0aW9u T2YtPnRhcmdldEZyb20gJiYgZm9yUG9ydGlvbk9mLT50YXJnZXRUbykKKwkJeworCQkJYXBwZW5k U3RyaW5nSW5mb1N0cmluZyhjb250ZXh0LT5idWYsICIgRlJPTSAiKTsKKwkJCWdldF9ydWxlX2V4 cHIoZm9yUG9ydGlvbk9mLT50YXJnZXRGcm9tLCBjb250ZXh0LCBmYWxzZSk7CisJCQlhcHBlbmRT dHJpbmdJbmZvU3RyaW5nKGNvbnRleHQtPmJ1ZiwgIiBUTyAiKTsKKwkJCWdldF9ydWxlX2V4cHIo Zm9yUG9ydGlvbk9mLT50YXJnZXRUbywgY29udGV4dCwgZmFsc2UpOworCQl9CisJCWVsc2UKKwkJ eworCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhjb250ZXh0LT5idWYsICIgKCIpOworCQkJZ2V0 X3J1bGVfZXhwcihmb3JQb3J0aW9uT2YtPnRhcmdldFJhbmdlLCBjb250ZXh0LCBmYWxzZSk7CisJ CQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKGNvbnRleHQtPmJ1ZiwgIikiKTsKKwkJfQorCX0KK30K KwogLyoKICAqIGdldF9jb2x1bW5fYWxpYXNfbGlzdCAtIHByaW50IGNvbHVtbiBhbGlhcyBsaXN0 IGZvciBhbiBSVEUKICAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMu aCBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IDY0ZmY2OTk2NDMxLi41ZDFi Y2ExN2IwZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKKysrIGIv c3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRl ICJ1dGlscy9zb3J0c3VwcG9ydC5oIgogI2luY2x1ZGUgInV0aWxzL3R1cGxlc29ydC5oIgogI2lu Y2x1ZGUgInV0aWxzL3R1cGxlc3RvcmUuaCIKKyNpbmNsdWRlICJ1dGlscy90eXBjYWNoZS5oIgog CiAvKgogICogZm9yd2FyZCByZWZlcmVuY2VzIGluIHRoaXMgZmlsZQpAQCAtNDUyLDYgKzQ1Mywy NCBAQCB0eXBlZGVmIHN0cnVjdCBNZXJnZUFjdGlvblN0YXRlCiAJRXhwclN0YXRlICAqbWFzX3do ZW5xdWFsOwkvKiBXSEVOIFtOT1RdIE1BVENIRUQgQU5EIGNvbmRpdGlvbnMgKi8KIH0gTWVyZ2VB Y3Rpb25TdGF0ZTsKIAorLyoKKyAqIEZvclBvcnRpb25PZlN0YXRlCisgKgorICogRXhlY3V0b3Ig c3RhdGUgb2YgYSBGT1IgUE9SVElPTiBPRiBvcGVyYXRpb24uCisgKi8KK3R5cGVkZWYgc3RydWN0 IEZvclBvcnRpb25PZlN0YXRlCit7CisJTm9kZVRhZwkJdHlwZTsKKworCWNoYXIJICAgKmZwX3Jh bmdlTmFtZTsJLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLworCU9pZAkJ CWZwX3JhbmdlVHlwZTsJLyogdGhlIHR5cGUgb2YgdGhlIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Np b24gKi8KKwlpbnQJCQlmcF9yYW5nZUF0dG5vOwkvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNv bHVtbiAqLworCURhdHVtCQlmcF90YXJnZXRSYW5nZTsgLyogdGhlIHJhbmdlL211bHRpcmFuZ2Ug ZnJvbSBGT1IgUE9SVElPTiBPRiAqLworCVR5cGVDYWNoZUVudHJ5ICpmcF9sZWZ0b3ZlcnN0eXBj YWNoZTsJLyogdHlwZSBjYWNoZSBlbnRyeSBvZiB0aGUgcmFuZ2UgKi8KKwlUdXBsZVRhYmxlU2xv dCAqZnBfRXhpc3Rpbmc7CS8qIHNsb3QgdG8gc3RvcmUgb2xkIHR1cGxlICovCisJVHVwbGVUYWJs ZVNsb3QgKmZwX0xlZnRvdmVyOwkvKiBzbG90IHRvIHN0b3JlIGxlZnRvdmVyICovCit9IEZvclBv cnRpb25PZlN0YXRlOworCiAvKgogICogUmVzdWx0UmVsSW5mbwogICoKQEAgLTU4OCw2ICs2MDcs OSBAQCB0eXBlZGVmIHN0cnVjdCBSZXN1bHRSZWxJbmZvCiAJLyogZm9yIE1FUkdFLCBleHByIHN0 YXRlIGZvciBjaGVja2luZyB0aGUgam9pbiBjb25kaXRpb24gKi8KIAlFeHByU3RhdGUgICpyaV9N ZXJnZUpvaW5Db25kaXRpb247CiAKKwkvKiBGT1IgUE9SVElPTiBPRiBldmFsdWF0aW9uIHN0YXRl ICovCisJRm9yUG9ydGlvbk9mU3RhdGUgKnJpX2ZvclBvcnRpb25PZjsKKwogCS8qIHBhcnRpdGlv biBjaGVjayBleHByZXNzaW9uIHN0YXRlIChOVUxMIGlmIG5vdCBzZXQgdXAgeWV0KSAqLwogCUV4 cHJTdGF0ZSAgKnJpX1BhcnRpdGlvbkNoZWNrRXhwcjsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmlu ZGV4IGQxNDI5NGE0ZWNlLi44OTZhMGI0ZWJhYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAt MTQ3LDYgKzE0Nyw5IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5CiAJICovCiAJaW50CQkJcmVzdWx0 UmVsYXRpb24gcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCisJLyogRk9SIFBP UlRJT04gT0YgY2xhdXNlIGZvciBVUERBVEUvREVMRVRFICovCisJRm9yUG9ydGlvbk9mRXhwciAq Zm9yUG9ydGlvbk9mOworCiAJLyogaGFzIGFnZ3JlZ2F0ZXMgaW4gdGxpc3Qgb3IgaGF2aW5nUXVh bCAqLwogCWJvb2wJCWhhc0FnZ3MgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwog CS8qIGhhcyB3aW5kb3cgZnVuY3Rpb25zIGluIHRsaXN0ICovCkBAIC0xNjEzLDYgKzE2MTYsMjEg QEAgdHlwZWRlZiBzdHJ1Y3QgUm93TWFya0NsYXVzZQogCWJvb2wJCXB1c2hlZERvd247CQkvKiBw dXNoZWQgZG93biBmcm9tIGhpZ2hlciBxdWVyeSBsZXZlbD8gKi8KIH0gUm93TWFya0NsYXVzZTsK IAorLyoKKyAqIEZvclBvcnRpb25PZkNsYXVzZQorICoJCXJlcHJlc2VudGF0aW9uIG9mIEZPUiBQ T1JUSU9OIE9GIDxyYW5nZS1uYW1lPiBGUk9NIDx0YXJnZXQtc3RhcnQ+IFRPCisgKgkJPHRhcmdl dC1lbmQ+IG9yIEZPUiBQT1JUSU9OIE9GIDxyYW5nZS1uYW1lPiAoPHRhcmdldD4pCisgKi8KK3R5 cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZkNsYXVzZQoreworCU5vZGVUYWcJCXR5cGU7CisJY2hh cgkgICAqcmFuZ2VfbmFtZTsKKwlQYXJzZUxvYwlsb2NhdGlvbjsKKwlOb2RlCSAgICp0YXJnZXQ7 CisJTm9kZQkgICAqdGFyZ2V0X3N0YXJ0OworCU5vZGUJICAgKnRhcmdldF9lbmQ7Cit9IEZvclBv cnRpb25PZkNsYXVzZTsKKwogLyoKICAqIFdpdGhDbGF1c2UgLQogICoJICAgcmVwcmVzZW50YXRp b24gb2YgV0lUSCBjbGF1c2UKQEAgLTIxMjYsNiArMjE0NCw3IEBAIHR5cGVkZWYgc3RydWN0IERl bGV0ZVN0bXQKIAlOb2RlCSAgICp3aGVyZUNsYXVzZTsJLyogcXVhbGlmaWNhdGlvbnMgKi8KIAlS ZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJOSU5HIGNsYXVzZSAqLwog CVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLworCUZvclBvcnRpb25P ZkNsYXVzZSAqZm9yUG9ydGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBjbGF1c2UgKi8KIH0gRGVs ZXRlU3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjE0MSw2ICsyMTYwLDcg QEAgdHlwZWRlZiBzdHJ1Y3QgVXBkYXRlU3RtdAogCUxpc3QJICAgKmZyb21DbGF1c2U7CQkvKiBv cHRpb25hbCBmcm9tIGNsYXVzZSBmb3IgbW9yZSB0YWJsZXMgKi8KIAlSZXR1cm5pbmdDbGF1c2Ug KnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJOSU5HIGNsYXVzZSAqLwogCVdpdGhDbGF1c2UgKndp dGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLworCUZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9y dGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBjbGF1c2UgKi8KIH0gVXBkYXRlU3RtdDsKIAogLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGF0 aG5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAppbmRleCA0NmE4NjU1NjIx ZC4uMDA0NThjMGIwNWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5o CisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCkBAIC0yNjEzLDYgKzI2MTMsNyBA QCB0eXBlZGVmIHN0cnVjdCBNb2RpZnlUYWJsZVBhdGgKIAlMaXN0CSAgICpyZXR1cm5pbmdMaXN0 czsgLyogcGVyLXRhcmdldC10YWJsZSBSRVRVUk5JTkcgdGxpc3RzICovCiAJTGlzdAkgICAqcm93 TWFya3M7CQkvKiBQbGFuUm93TWFya3MgKG5vbi1sb2NraW5nIG9ubHkpICovCiAJT25Db25mbGlj dEV4cHIgKm9uY29uZmxpY3Q7IC8qIE9OIENPTkZMSUNUIGNsYXVzZSwgb3IgTlVMTCAqLworCUZv clBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZjsgLyogRk9SIFBPUlRJT04gT0YgY2xhdXNlIGZv ciBVUERBVEUvREVMRVRFICovCiAJaW50CQkJZXBxUGFyYW07CQkvKiBJRCBvZiBQYXJhbSBmb3Ig RXZhbFBsYW5RdWFsIHJlLWV2YWwgKi8KIAlMaXN0CSAgICptZXJnZUFjdGlvbkxpc3RzOwkvKiBw ZXItdGFyZ2V0LXRhYmxlIGxpc3RzIG9mIGFjdGlvbnMgZm9yCiAJCQkJCQkJCQkgKiBNRVJHRSAq LwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVzLmggYi9zcmMvaW5jbHVk ZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCBjNDM5M2E5NDMyMS4uOTJiODdjMTQ4NTkgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25v ZGVzL3BsYW5ub2Rlcy5oCkBAIC0zNjgsNiArMzY4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgTW9kaWZ5 VGFibGUKIAlMaXN0CSAgICpvbkNvbmZsaWN0Q29sczsKIAkvKiBXSEVSRSBmb3IgT04gQ09ORkxJ Q1QgVVBEQVRFICovCiAJTm9kZQkgICAqb25Db25mbGljdFdoZXJlOworCS8qIEZPUiBQT1JUSU9O IE9GIGNsYXVzZSBmb3IgVVBEQVRFL0RFTEVURSAqLworCU5vZGUJICAgKmZvclBvcnRpb25PZjsK IAkvKiBSVEkgb2YgdGhlIEVYQ0xVREVEIHBzZXVkbyByZWxhdGlvbiAqLwogCUluZGV4CQlleGNs UmVsUlRJOwogCS8qIHRsaXN0IG9mIHRoZSBFWENMVURFRCBwc2V1ZG8gcmVsYXRpb24gKi8KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9k ZXMvcHJpbW5vZGVzLmgKaW5kZXggMWI0NDM2ZjJmZjYuLjc3MmMwMGI0MGM1IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9w cmltbm9kZXMuaApAQCAtMjM4NSw0ICsyMzg1LDM3IEBAIHR5cGVkZWYgc3RydWN0IE9uQ29uZmxp Y3RFeHByCiAJTGlzdAkgICAqZXhjbFJlbFRsaXN0OwkvKiB0bGlzdCBvZiB0aGUgRVhDTFVERUQg cHNldWRvIHJlbGF0aW9uICovCiB9IE9uQ29uZmxpY3RFeHByOwogCisvKi0tLS0tLS0tLS0KKyAq IEZvclBvcnRpb25PZkV4cHIgLSByZXByZXNlbnRzIGEgRk9SIFBPUlRJT04gT0YgLi4uIGV4cHJl c3Npb24KKyAqCisgKiBXZSBzZXQgdXAgYW4gZXhwcmVzc2lvbiB0byBtYWtlIGEgcmFuZ2UgZnJv bSB0aGUgRlJPTS9UTyBib3VuZHMsCisgKiBzbyB0aGF0IHdlIGNhbiB1c2UgcmFuZ2Ugb3BlcmF0 b3JzIHdpdGggaXQuCisgKgorICogVGhlbiB3ZSBzZXQgdXAgYW4gb3ZlcmxhcHMgZXhwcmVzc2lv biBiZXR3ZWVuIHRoYXQgYW5kIHRoZSByYW5nZSBjb2x1bW4sCisgKiBzbyB0aGF0IHdlIGNhbiBm aW5kIHRoZSByb3dzIHdlIG5lZWQgdG8gdXBkYXRlL2RlbGV0ZS4KKyAqCisgKiBJZiB0aGUgdXNl ciB1c2VkIHRoZSBGUk9NIC4uLiBUTyAuLi4gc3ludGF4LCB3ZSBzYXZlIHRoZSBpbmRpdmlkdWFs CisgKiBleHByZXNzaW9ucyBzbyB0aGF0IHdlIGNhbiBkZXBhcnNlIHRoZW0uCisgKgorICogSW4g dGhlIGV4ZWN1dG9yIHdlJ2xsIGFsc28gYnVpbGQgYW4gaW50ZXJzZWN0IGV4cHJlc3Npb24gYmV0 d2VlbiB0aGUKKyAqIHRhcmdldGVkIHJhbmdlIGFuZCB0aGUgcmFuZ2UgY29sdW1uLCBzbyB0aGF0 IHdlIGNhbiB1cGRhdGUgdGhlIHN0YXJ0L2VuZAorICogYm91bmRzIG9mIHRoZSBVUERBVEUnZCBy ZWNvcmQuCisgKi0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgRm9yUG9ydGlvbk9mRXhw cgoreworCU5vZGVUYWcJCXR5cGU7CisJVmFyCQkgICAqcmFuZ2VWYXI7CQkvKiBSYW5nZSBjb2x1 bW4gKi8KKwljaGFyCSAgICpyYW5nZV9uYW1lOwkJLyogUmFuZ2UgbmFtZSAqLworCU5vZGUJICAg KnRhcmdldEZyb207CQkvKiBGT1IgUE9SVElPTiBPRiBGUk9NIGJvdW5kLCBpZiBnaXZlbiAqLwor CU5vZGUJICAgKnRhcmdldFRvOwkJLyogRk9SIFBPUlRJT04gT0YgVE8gYm91bmQsIGlmIGdpdmVu ICovCisJTm9kZQkgICAqdGFyZ2V0UmFuZ2U7CS8qIEZPUiBQT1JUSU9OIE9GIGJvdW5kcyBhcyBh IHJhbmdlL211bHRpcmFuZ2UgKi8KKwlPaWQJCQlyYW5nZVR5cGU7CQkvKiAoYmFzZSl0eXBlIG9m IHRhcmdldFJhbmdlICovCisJYm9vbAkJaXNEb21haW47CQkvKiBJcyByYW5nZVZhciBhIGRvbWFp bj8gKi8KKwlOb2RlCSAgICpvdmVybGFwc0V4cHI7CS8qIHJhbmdlICYmIHRhcmdldFJhbmdlICov CisJTGlzdAkgICAqcmFuZ2VUYXJnZXRMaXN0OwkvKiBMaXN0IG9mIFRhcmdldEVudHJ5cyB0byBz ZXQgdGhlIHRpbWUKKwkJCQkJCQkJCSAqIGNvbHVtbihzKSAqLworCU9pZAkJCXdpdGhvdXRQb3J0 aW9uUHJvYzsgLyogU1JGIHByb2MgZm9yIG9sZF9yYW5nZSAtIHRhcmdldF9yYW5nZSAqLworfSBG b3JQb3J0aW9uT2ZFeHByOworCiAjZW5kaWYJCQkJCQkJLyogUFJJTU5PREVTX0ggKi8KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL29wdGltaXplci9wYXRobm9kZS5oIGIvc3JjL2luY2x1ZGUvb3B0 aW1pemVyL3BhdGhub2RlLmgKaW5kZXggNmIwMTBmMGIxYTUuLjA4ODUyMDE0OGQ1IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aG5vZGUuaAorKysgYi9zcmMvaW5jbHVkZS9v cHRpbWl6ZXIvcGF0aG5vZGUuaApAQCAtMjg3LDcgKzI4Nyw3IEBAIGV4dGVybiBNb2RpZnlUYWJs ZVBhdGggKmNyZWF0ZV9tb2RpZnl0YWJsZV9wYXRoKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJ CQkJCQkJTGlzdCAqd2l0aENoZWNrT3B0aW9uTGlzdHMsIExpc3QgKnJldHVybmluZ0xpc3RzLAog CQkJCQkJCQkJCQkJTGlzdCAqcm93TWFya3MsIE9uQ29uZmxpY3RFeHByICpvbmNvbmZsaWN0LAog CQkJCQkJCQkJCQkJTGlzdCAqbWVyZ2VBY3Rpb25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0 aW9ucywKLQkJCQkJCQkJCQkJCWludCBlcHFQYXJhbSk7CisJCQkJCQkJCQkJCQlGb3JQb3J0aW9u T2ZFeHByICpmb3JQb3J0aW9uT2YsIGludCBlcHFQYXJhbSk7CiBleHRlcm4gTGltaXRQYXRoICpj cmVhdGVfbGltaXRfcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAogCQkJ CQkJCQkJUGF0aCAqc3VicGF0aCwKIAkJCQkJCQkJCU5vZGUgKmxpbWl0T2Zmc2V0LCBOb2RlICps aW1pdENvdW50LApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2FuYWx5emUuaCBiL3Ny Yy9pbmNsdWRlL3BhcnNlci9hbmFseXplLmgKaW5kZXggZjI5ZWQwM2I0NzYuLjQ2MTRiZTA1MmRj IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6ZS5oCisrKyBiL3NyYy9pbmNs dWRlL3BhcnNlci9hbmFseXplLmgKQEAgLTQzLDcgKzQzLDggQEAgZXh0ZXJuIExpc3QgKnRyYW5z Zm9ybUluc2VydFJvdyhQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKmV4cHJsaXN0LAogCQkJCQkJ CQlMaXN0ICpzdG10Y29scywgTGlzdCAqaWNvbHVtbnMsIExpc3QgKmF0dHJub3MsCiAJCQkJCQkJ CWJvb2wgc3RyaXBfaW5kaXJlY3Rpb24pOwogZXh0ZXJuIExpc3QgKnRyYW5zZm9ybVVwZGF0ZVRh cmdldExpc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLAotCQkJCQkJCQkJICAgTGlzdCAqb3JpZ1RsaXN0 KTsKKwkJCQkJCQkJCSAgIExpc3QgKm9yaWdUbGlzdCwKKwkJCQkJCQkJCSAgIEZvclBvcnRpb25P ZkV4cHIgKmZvclBvcnRpb25PZik7CiBleHRlcm4gdm9pZCB0cmFuc2Zvcm1SZXR1cm5pbmdDbGF1 c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBRdWVyeSAqcXJ5LAogCQkJCQkJCQkJIFJldHVybmluZ0Ns YXVzZSAqcmV0dXJuaW5nQ2xhdXNlLAogCQkJCQkJCQkJIFBhcnNlRXhwcktpbmQgZXhwcktpbmQp OwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUv cGFyc2VyL2t3bGlzdC5oCmluZGV4IDVkNGZlMjdlZjk2Li5iOWYwMzM2NTc1MyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9r d2xpc3QuaApAQCAtMzQ3LDYgKzM0Nyw3IEBAIFBHX0tFWVdPUkQoInBsYWNpbmciLCBQTEFDSU5H LCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGxhbiIsIFBMQU4s IFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBsYW5zIiwgUExB TlMsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBvbGljeSIs IFBPTElDWSwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgicG9y dGlvbiIsIFBPUlRJT04sIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdP UkQoInBvc2l0aW9uIiwgUE9TSVRJT04sIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQ R19LRVlXT1JEKCJwcmVjZWRpbmciLCBQUkVDRURJTkcsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFS RV9MQUJFTCkKIFBHX0tFWVdPUkQoInByZWNpc2lvbiIsIFBSRUNJU0lPTiwgQ09MX05BTUVfS0VZ V09SRCwgQVNfTEFCRUwpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9k ZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAppbmRleCBmN2QwN2M4NDU0Mi4u MTBlOTc1ZDc3OGEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgK KysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaApAQCAtNTYsNiArNTYsNyBAQCB0 eXBlZGVmIGVudW0gUGFyc2VFeHByS2luZAogCUVYUFJfS0lORF9VUERBVEVfU09VUkNFLAkvKiBV UERBVEUgYXNzaWdubWVudCBzb3VyY2UgaXRlbSAqLwogCUVYUFJfS0lORF9VUERBVEVfVEFSR0VU LAkvKiBVUERBVEUgYXNzaWdubWVudCB0YXJnZXQgaXRlbSAqLwogCUVYUFJfS0lORF9NRVJHRV9X SEVOLAkJLyogTUVSR0UgV0hFTiBbTk9UXSBNQVRDSEVEIGNvbmRpdGlvbiAqLworCUVYUFJfS0lO RF9GT1JfUE9SVElPTiwJCS8qIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YgaXRlbSAqLwog CUVYUFJfS0lORF9HUk9VUF9CWSwJCQkvKiBHUk9VUCBCWSAqLwogCUVYUFJfS0lORF9PUkRFUl9C WSwJCQkvKiBPUkRFUiBCWSAqLwogCUVYUFJfS0lORF9ESVNUSU5DVF9PTiwJCS8qIERJU1RJTkNU IE9OICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9u X29mLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNGNhZWQxNjY5MQotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0 CkBAIC0wLDAgKzEsMjA2NyBAQAorLS0gVGVzdHMgZm9yIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJ T04gT0YKK1NFVCBkYXRlc3R5bGUgVE8gSVNPLCBZTUQ7CistLSBXb3JrcyBvbiBub24tUEsgY29s dW1ucworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMCispOworSU5TRVJU IElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAg KCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKScsICdvbmUnKTsKK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEt MTUnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMSc7CitTRUxFQ1QgKiBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTE1KSB8IG9uZQor IFsxLDIpIHwgWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkgfCBvbmVeMQorIFsxLDIpIHwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkgfCBvbmUKKygzIHJvd3MpCisKK0RFTEVURSBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0xNScg VE8gJzIwMTktMDEtMjAnOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg WzIwMTgtMDEtMDIsMjAxOC0wMS0xNSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTkt MDEtMDEpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDE5LTAxLTAxLDIwMTktMDEtMTUpIHwgb25lCisg WzEsMikgfCBbMjAxOS0wMS0yMCwyMDIwLTAxLTAxKSB8IG9uZQorKDQgcm93cykKKworLS0gV2l0 aCBhIHRhYmxlIGFsaWFzIHdpdGggQVMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDItMDEnIFRPICcyMDE5LTAyLTAzJyBB UyB0CisgIFNFVCBuYW1lID0gJ29uZV4yJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wMycgVE8gJzIwMTkt MDItMDQnIEFTIHQ7CistLSBXaXRoIGEgdGFibGUgYWxpYXMgd2l0aG91dCBBUworVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0w Mi0wNCcgVE8gJzIwMTktMDItMDUnIHQKKyAgU0VUIG5hbWUgPSAnb25lXjMnOworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAyLTA1JyBUTyAnMjAxOS0wMi0wNicgdDsKKy0tIFVQREFURSB3aXRoIEZST00KK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDMtMDEnIHRvICcyMDE5LTAzLTAyJworICBTRVQgbmFtZSA9ICdvbmVeNCcKKyAgRlJPTSAo U0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMgdDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9u X29mX3Rlc3QuaWQgPSB0Mi5pZDsKKy0tIERFTEVURSB3aXRoIFVTSU5HCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDMtMDInIFRPICcyMDE5LTAzLTAzJworICBVU0lORyAoU0VMRUNUICdbMSwyKSc6OmludDRyYW5n ZSkgQVMgdDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rlc3QuaWQgPSB0Mi5pZDsKK1NF TEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg IGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEt MTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSB8IG9uZV4xCisgWzEs MikgfCBbMjAxOS0wMS0wMSwyMDE5LTAxLTE1KSB8IG9uZQorIFsxLDIpIHwgWzIwMTktMDEtMjAs MjAxOS0wMi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE5LTAyLTAxLDIwMTktMDItMDMpIHwgb25l XjIKKyBbMSwyKSB8IFsyMDE5LTAyLTA0LDIwMTktMDItMDUpIHwgb25lXjMKKyBbMSwyKSB8IFsy MDE5LTAyLTA2LDIwMTktMDMtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOS0wMy0wMSwyMDE5LTAz LTAyKSB8IG9uZV40CisgWzEsMikgfCBbMjAxOS0wMy0wMywyMDIwLTAxLTAxKSB8IG9uZQorKDkg cm93cykKKworLS0gV29ya3Mgb24gbW9yZSB0aGFuIG9uZSByYW5nZQorRFJPUCBUQUJMRSBmb3Jf cG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkMV9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkMl9hdCBkYXRlcmFu Z2UsCisgIG5hbWUgdGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29m X3Rlc3QgKGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMikn LCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSknLCAn b25lJyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxp ZDFfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdmb28nOworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZh bGlkMl9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlk Ml9hdCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4 LTAxLTE1KSB8IFsyMDE1LTAxLTAxLDIwMjUtMDEtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOC0w MS0xNSwyMDE4LTAyLTAzKSB8IFsyMDE1LTAxLTAxLDIwMjUtMDEtMDEpIHwgZm9vCisoMiByb3dz KQorCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZDJf YXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdiYXInOworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlk Ml9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlkMl9h dCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAx LTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0w MiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEpIHwgYmFyCisgWzEsMikgfCBb MjAxOC0wMS0xNSwyMDE4LTAyLTAzKSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgZm9vCisg WzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAyLTAzKSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEp IHwgYmFyCisoNCByb3dzKQorCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkMV9hdCBGUk9NICcyMDE4LTAxLTIwJyBUTyBOVUxMOworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlk Ml9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlkMl9h dCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAx LTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0w MiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEpIHwgYmFyCisgWzEsMikgfCBb MjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgZm9vCisg WzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEp IHwgYmFyCisoNCByb3dzKQorCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkMl9hdCBGUk9NICcyMDE4LTAxLTIwJyBUTyBOVUxMOworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlk Ml9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlkMl9h dCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAx LTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0w MiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgYmFyCisgWzEsMikgfCBb MjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgZm9vCisg WzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjAp IHwgYmFyCisoNCByb3dzKQorCistLSBUZXN0IHdpdGggTlVMTHMgaW4gdGhlIHNjYWxhci9yYW5n ZSBrZXkgY29sdW1ucy4KKy0tIFRoaXMgd29uJ3QgaGFwcGVuIGlmIHRoZXJlIGlzIGEgUFJJTUFS WSBLRVkgb3IgVU5JUVVFIGNvbnN0cmFpbnQKKy0tIGJ1dCBGT1IgUE9SVElPTiBPRiBzaG91bGRu J3QgcmVxdWlyZSB0aGF0LgorRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRF IFVOTE9HR0VEIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElOVE8gZm9yX3Bv cnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIE5V TEwsICcxIG51bGwnKSwKKyAgKCdbMSwyKScsICcoLCknLCAnMSB1bmJvdW5kZWQnKSwKKyAgKCdb MSwyKScsICdlbXB0eScsICcxIGVtcHR5JyksCisgIChOVUxMLCBOVUxMLCBOVUxMKSwKKyAgKE5V TEwsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE5LTAxLTAxJyksICdudWxsIGtleScpOwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSBOVUxMIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnTlVMTCB0byBOVUxMJzsKK1NFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgICBuYW1lICAgICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIFsxLDIpIHwgZW1wdHkgICAgICAgICAg ICAgICAgICAgfCAxIGVtcHR5CisgWzEsMikgfCAoLCkgICAgICAgICAgICAgICAgICAgICB8IE5V TEwgdG8gTlVMTAorIFsxLDIpIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAxIG51bGwKKyAg ICAgICB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgTlVMTCB0byBOVUxMCisgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorKDUgcm93cykKKworRFJPUCBUQUJMRSBmb3JfcG9y dGlvbl9vZl90ZXN0OworLS0KKy0tIFVQREFURSB0ZXN0cworLS0KK0NSRUFURSBUQUJMRSBmb3Jf cG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UgTk9UIE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgQ09OU1RSQUlOVCBm b3JfcG9ydGlvbl9vZl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUn KSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdb MSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdb MjAxOC0wMS0wMSwyMDE4LTAxLTA1KScsICd0d28nKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0w MSwpJywgJ3RocmVlJyksCisgICgnWzQsNSknLCAnKCwyMDE4LTA0LTAxKScsICdmb3VyJyksCisg ICgnWzUsNiknLCAnKCwpJywgJ2ZpdmUnKQorICA7Citcc2V0IFFVSUVUIGZhbHNlCistLSBVcGRh dGluZyB3aXRoIGEgbWlzc2luZyBjb2x1bW4gZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVM TAorICBTRVQgbmFtZSA9ICdmb28nCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgY29s dW1uIG9yIHBlcmlvZCAiaW52YWxpZF9hdCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rl c3QiIGRvZXMgbm90IGV4aXN0CitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBG Uk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0g VXBkYXRpbmcgdGhlIHJhbmdlIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFNFVCB2 YWxpZF9hdCA9ICdbMTk5MC0wMS0wMSwxOTk5LTAxLTAxKScKKyAgV0hFUkUgaWQgPSAnWzUsNikn OworRVJST1I6ICBjYW5ub3QgdXBkYXRlIGNvbHVtbiAidmFsaWRfYXQiIGJlY2F1c2UgaXQgaXMg dXNlZCBpbiBGT1IgUE9SVElPTiBPRgorTElORSAzOiAgIFNFVCB2YWxpZF9hdCA9ICdbMTk5MC0w MS0wMSwxOTk5LTAxLTAxKScKKyAgICAgICAgICAgICAgXgorLS0gVGhlIHdyb25nIHN0YXJ0IHR5 cGUgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gMSBUTyAnMjAyMC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hF UkUgaWQgPSAnWzMsNCknOworRVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9G IEZST00gYm91bmQgZnJvbSBpbnRlZ2VyIHRvIGRhdGUKK0xJTkUgMjogICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NIDEgVE8gJzIwMjAtMDEtMDEnCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCistLSBUaGUgd3JvbmcgZW5kIHR5cGUgZmFpbHMKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAt MDEtMDEnIFRPIDQKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOwor RVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GIFRPIGJvdW5kIGZyb20gaW50 ZWdlciB0byBkYXRlCitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAw MC0wMS0wMScgVE8gNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KKy0tIFVwZGF0aW5nIHdpdGggdGltZXN0YW1wcyByZXZlcnNlZCBmYWls cworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOC0wNi0wMScgVE8gJzIwMTgtMDEtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjEn CisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAgcmFuZ2UgbG93ZXIgYm91bmQgbXVzdCBi ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmFuZ2UgdXBwZXIgYm91bmQKKy0tIFVwZGF0aW5nIHdp dGggYSBzdWJxdWVyeSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAoU0VMRUNUICcyMDE4LTAxLTAxJykgVE8gJzIwMTgtMDYt MDEnCisgIFNFVCBuYW1lID0gJ25vcGUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAg Y2Fubm90IHVzZSBzdWJxdWVyeSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uCitMSU5FIDI6 ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAoU0VMRUNUICcyMDE4LTAxLTAxJykgVE8g JzIwMS4uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0gVXBk YXRpbmcgd2l0aCBhIGNvbHVtbiBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBT RVQgbmFtZSA9ICdub3BlJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIGNhbm5vdCB1 c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uCitMSU5FIDI6 ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0gVXBkYXRp bmcgd2l0aCB0aW1lc3RhbXBzIGVxdWFsIGRvZXMgbm90aGluZworVVBEQVRFIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8g JzIwMTgtMDQtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjAnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKK1VQREFURSAwCistLSBVcGRhdGluZyBhIGZpbml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhIGZp bml0ZS9vcGVuIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICd0 aHJlZV4xJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgMQorU0VMRUNUICogRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1lICAgCistLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0w MSwyMDE4LTA2LTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAxOC0wNi0wMSwpICAgICAgICAgICB8 IHRocmVlXjEKKygyIHJvd3MpCisKKy0tIFVwZGF0aW5nIGEgZmluaXRlL29wZW4gcG9ydGlvbiB3 aXRoIGFuIG9wZW4vZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAzLTAxJworICBTRVQg bmFtZSA9ICd0aHJlZV4yJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgMQorU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1lICAg CistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwyMDE4LTAzLTAxKSB8IHRocmVlXjIKKyBbMyw0KSB8IFsyMDE4LTAzLTAxLDIw MTgtMDYtMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTA2LTAxLCkgICAgICAgICAgIHwgdGhy ZWVeMQorKDMgcm93cykKKworLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRo IGFuIG9wZW4vZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAyLTAxJworICBTRVQgbmFt ZSA9ICdmb3VyXjEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKK1VQREFURSAxCitTRUxFQ1QgKiBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQsNSknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgIAorLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tCisgWzQsNSkgfCAoLDIwMTgt MDItMDEpICAgICAgICAgICB8IGZvdXJeMQorIFs0LDUpIHwgWzIwMTgtMDItMDEsMjAxOC0wNC0w MSkgfCBmb3VyCisoMiByb3dzKQorCistLSBVcGRhdGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9u IHdpdGggYSBmaW5pdGUvb3BlbiB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPIE5VTEwKKyAgU0VU IG5hbWUgPSAnZm91cl4yJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERBVEUgMgorU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1lICAK Ky0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLQorIFs0LDUpIHwgKCwy MDE3LTAxLTAxKSAgICAgICAgICAgfCBmb3VyXjEKKyBbNCw1KSB8IFsyMDE3LTAxLTAxLDIwMTgt MDItMDEpIHwgZm91cl4yCisgWzQsNSkgfCBbMjAxOC0wMi0wMSwyMDE4LTA0LTAxKSB8IGZvdXJe MgorKDMgcm93cykKKworLS0gVXBkYXRpbmcgYSBmaW5pdGUvZmluaXRlIHBvcnRpb24gd2l0aCBh biBleGFjdCBmaXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPICcyMDE4LTAyLTAxJworICBTRVQgbmFtZSA9 ICdmb3VyXjMnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKK1VQREFURSAxCitTRUxFQ1QgKiBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQsNSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tCisgWzQsNSkgfCAoLDIwMTctMDEt MDEpICAgICAgICAgICB8IGZvdXJeMQorIFs0LDUpIHwgWzIwMTctMDEtMDEsMjAxOC0wMi0wMSkg fCBmb3VyXjMKKyBbNCw1KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDQtMDEpIHwgZm91cl4yCisoMyBy b3dzKQorCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFuCitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVMTAorICBT RVQgbmFtZSA9ICd0d29eMicKKyAgV0hFUkUgaWQgPSAnWzIsMyknOworVVBEQVRFIDEKK1NFTEVD VCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMiwzKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAK Ky0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzIsMykgfCBbMjAx OC0wMS0wMSwyMDE4LTAxLTA1KSB8IHR3b14yCisoMSByb3cpCisKKy0tIFVwZGF0aW5nIGFuIG9w ZW4vb3BlbiBwb3J0aW9uIHdpdGggYSBmaW5pdGUvZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0w MScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVeMScKKyAgV0hFUkUgaWQgPSAn WzUsNiknOworVVBEQVRFIDEKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVS RSBpZCA9ICdbNSw2KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCAgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0KKyBbNSw2KSB8ICgsMjAxOC0wMS0wMSkgICAgICAgICAgIHwgZml2ZQorIFs1 LDYpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBmaXZlXjEKKyBbNSw2KSB8IFsyMDE5LTAx LTAxLCkgICAgICAgICAgIHwgZml2ZQorKDMgcm93cykKKworLS0gVXBkYXRpbmcgYW4gZW5jbG9z ZWQgc3BhbiB3aXRoIHNlcGFyYXRlIHByb3RydWRpbmcgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRP ICcyMDIwLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjInCisgIFdIRVJFIGlkID0gJ1s1LDYp JzsKK1VQREFURSAzCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQg PSAnWzUsNiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgIG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tCisgWzUsNikgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8IGZpdmUKKyBbNSw2KSB8 IFsyMDE3LTAxLTAxLDIwMTgtMDEtMDEpIHwgZml2ZV4yCisgWzUsNikgfCBbMjAxOC0wMS0wMSwy MDE5LTAxLTAxKSB8IGZpdmVeMgorIFs1LDYpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBm aXZlXjIKKyBbNSw2KSB8IFsyMDIwLTAxLTAxLCkgICAgICAgICAgIHwgZml2ZQorKDUgcm93cykK KworLS0gVXBkYXRpbmcgbXVsdGlwbGUgZW5jbG9zZWQgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisg IFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgMworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUg IAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsy MDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgt MDMtMDMpIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDQtMDQpIHwgb25lXjIK KygzIHJvd3MpCisKKy0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcy MDE4LTAzLTEwJywgJzIwMTgtMDMtMTUnKSkKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJF IGlkID0gJ1sxLDIpJzsKK1VQREFURSAxCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QgV0hFUkUgaWQgPSAnWzEsMiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykgfCBvbmVe MgorIFsxLDIpIHwgWzIwMTgtMDItMDMsMjAxOC0wMy0wMykgfCBvbmVeMgorIFsxLDIpIHwgWzIw MTgtMDMtMDMsMjAxOC0wMy0xMCkgfCBvbmVeMgorIFsxLDIpIHwgWzIwMTgtMDMtMTAsMjAxOC0w My0xNSkgfCBvbmVeMworIFsxLDIpIHwgWzIwMTgtMDMtMTUsMjAxOC0wNC0wNCkgfCBvbmVeMgor KDUgcm93cykKKworLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQsIGNvZXJjZWQgZnJv bSBhIHN0cmluZworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKCdbMjAxOC0wMy0xNSwyMDE4LTAzLTE3KScpCisgIFNFVCBuYW1lID0gJ29uZV4z JworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgMQorU0VMRUNUICogRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg IGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDIt MDMpIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgtMDMtMDMpIHwgb25lXjIKKyBb MSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAz LTEwLDIwMTgtMDMtMTUpIHwgb25lXjMKKyBbMSwyKSB8IFsyMDE4LTAzLTE1LDIwMTgtMDMtMTcp IHwgb25lXjMKKyBbMSwyKSB8IFsyMDE4LTAzLTE3LDIwMTgtMDQtMDQpIHwgb25lXjIKKyg2IHJv d3MpCisKKy0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0IG9mIHRoZSB3cm9uZyByYW5n ZSBzdWJ0eXBlIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoaW50NHJhbmdlKDEsIDQpKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9O IE9GIHRhcmdldCBmcm9tIGludDRyYW5nZSB0byBkYXRlcmFuZ2UKK0xJTkUgMjogICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoaW50NHJhbmdlKDEsIDQpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCistLSBVcGRhdGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBhIG5v bi1yYW5nZXR5cGUgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0ICg0KQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAn WzEsMiknOworRVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GIHRhcmdldCBm cm9tIGludGVnZXIgdG8gZGF0ZXJhbmdlCitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFVwZGF0aW5n IHdpdGggYSBkaXJlY3QgdGFyZ2V0IG9mIE5VTEwgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChOVUxMKQorICBTRVQgbmFtZSA9ICdv bmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBnb3QgYSBOVUxMIEZPUiBQT1JU SU9OIE9GIHRhcmdldAorLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQgb2YgZW1wdHkg ZG9lcyBub3RoaW5nCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCAoJ2VtcHR5JykKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK1VQREFURSAwCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hF UkUgaWQgPSAnWzEsMiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykgfCBvbmVeMgorIFsx LDIpIHwgWzIwMTgtMDItMDMsMjAxOC0wMy0wMykgfCBvbmVeMgorIFsxLDIpIHwgWzIwMTgtMDMt MDMsMjAxOC0wMy0xMCkgfCBvbmVeMgorIFsxLDIpIHwgWzIwMTgtMDMtMTAsMjAxOC0wMy0xNSkg fCBvbmVeMworIFsxLDIpIHwgWzIwMTgtMDMtMTUsMjAxOC0wMy0xNykgfCBvbmVeMworIFsxLDIp IHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBvbmVeMgorKDYgcm93cykKKworLS0gVXBkYXRp bmcgdGhlIG5vbi1yYW5nZSBwYXJ0IG9mIHRoZSBQSzoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMTUnIFRPIE5VTEwK KyAgU0VUIGlkID0gJ1s2LDcpJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgNQorU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUg IAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsy MDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgt MDItMTUpIHwgb25lXjIKKygyIHJvd3MpCisKKy0tIFVQREFURSB3aXRoIG5vIFdIRVJFIGNsYXVz ZQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFtZSA9IG5hbWUgfHwgJyonOworVVBE QVRFIDIKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgbmFtZSAgIAorLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4 LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lXjIKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgtMDIt MTUpIHwgb25lXjIKKyBbMiwzKSB8IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpIHwgdHdvXjIKKyBb Myw0KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpIHwgdGhyZWVeMgorIFszLDQpIHwgWzIwMTgt MDMtMDEsMjAxOC0wNi0wMSkgfCB0aHJlZQorIFszLDQpIHwgWzIwMTgtMDYtMDEsMjAzMC0wMS0w MSkgfCB0aHJlZV4xCisgWzMsNCkgfCBbMjAzMC0wMS0wMSwpICAgICAgICAgICB8IHRocmVlXjEq CisgWzQsNSkgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8IGZvdXJeMQorIFs0LDUpIHwgWzIw MTctMDEtMDEsMjAxOC0wMi0wMSkgfCBmb3VyXjMKKyBbNCw1KSB8IFsyMDE4LTAyLTAxLDIwMTgt MDQtMDEpIHwgZm91cl4yCisgWzUsNikgfCAoLDIwMTctMDEtMDEpICAgICAgICAgICB8IGZpdmUK KyBbNSw2KSB8IFsyMDE3LTAxLTAxLDIwMTgtMDEtMDEpIHwgZml2ZV4yCisgWzUsNikgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IGZpdmVeMgorIFs1LDYpIHwgWzIwMTktMDEtMDEsMjAyMC0w MS0wMSkgfCBmaXZlXjIKKyBbNSw2KSB8IFsyMDIwLTAxLTAxLDIwMzAtMDEtMDEpIHwgZml2ZQor IFs1LDYpIHwgWzIwMzAtMDEtMDEsKSAgICAgICAgICAgfCBmaXZlKgorIFs2LDcpIHwgWzIwMTgt MDItMTUsMjAxOC0wMy0wMykgfCBvbmVeMgorIFs2LDcpIHwgWzIwMTgtMDMtMDMsMjAxOC0wMy0x MCkgfCBvbmVeMgorIFs2LDcpIHwgWzIwMTgtMDMtMTAsMjAxOC0wMy0xNSkgfCBvbmVeMworIFs2 LDcpIHwgWzIwMTgtMDMtMTUsMjAxOC0wMy0xNykgfCBvbmVeMworIFs2LDcpIHwgWzIwMTgtMDMt MTcsMjAxOC0wNC0wNCkgfCBvbmVeMgorKDIxIHJvd3MpCisKK1xzZXQgUVVJRVQgdHJ1ZQorLS0g VXBkYXRpbmcgd2l0aCBhIHNoaWZ0L3JlZHVjZSBjb25mbGljdAorLS0gKHJlcXVpcmVzIGEgdHNy YW5nZSBjb2x1bW4pCitDUkVBVEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IHRzcmFuZ2UsCisgIG5hbWUgdGV4dAorKTsK K0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZB TFVFUworICAoJ1sxLDIpJywgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywgJ29uZScpOworLS0g dXBkYXRlcyBbMjAxMS0wMy0wMSAwMTowMjowMCwgMjAxMi0wMS0wMSkgKG5vdGUgMiBtaW51dGVz KQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 CisgICAgRlJPTSAnMjAxMS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBI T1VSIFRPIE1JTlVURQorICAgIFRPICcyMDEyLTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMScK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gVE8gaXMgdXNlZCBmb3IgdGhlIGJvdW5kIGJ1dCBu b3QgdGhlIElOVEVSVkFMOgorLS0gc3ludGF4IGVycm9yCitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQKKyAgICBGUk9NICcyMDEzLTAzLTAxJzo6 dGltZXN0YW1wICsgSU5URVJWQUwgJzE6MDI6MDMnIEhPVVIKKyAgICBUTyAnMjAxNC0wMS0wMScK KyAgU0VUIG5hbWUgPSAnb25lXjInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgc3lu dGF4IGVycm9yIGF0IG9yIG5lYXIgIicyMDE0LTAxLTAxJyIKK0xJTkUgNDogICAgIFRPICcyMDE0 LTAxLTAxJworICAgICAgICAgICAgICAgXgorLS0gYWRkaW5nIHBhcmVucyBmaXhlcyBpdAorLS0g dXBkYXRlcyBbMjAxNS0wMy0wMSAwMTowMDowMCwgMjAxNi0wMS0wMSkgKG5vIG1pbnV0ZXMpCitV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQKKyAg ICBGUk9NICgnMjAxNS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VS KQorICAgIFRPICcyMDE2LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAg ICAgICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwgWyIyMDAwLTAxLTAxIDAwOjAw OjAwIiwiMjAxMS0wMy0wMSAwMTowMjowMCIpIHwgb25lCisgWzEsMikgfCBbIjIwMTEtMDMtMDEg MDE6MDI6MDAiLCIyMDEyLTAxLTAxIDAwOjAwOjAwIikgfCBvbmVeMQorIFsxLDIpIHwgWyIyMDEy LTAxLTAxIDAwOjAwOjAwIiwiMjAxNS0wMy0wMSAwMTowMDowMCIpIHwgb25lCisgWzEsMikgfCBb IjIwMTUtMDMtMDEgMDE6MDA6MDAiLCIyMDE2LTAxLTAxIDAwOjAwOjAwIikgfCBvbmVeMworIFsx LDIpIHwgWyIyMDE2LTAxLTAxIDAwOjAwOjAwIiwiMjAyMC0wMS0wMSAwMDowMDowMCIpIHwgb25l CisoNSByb3dzKQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworLS0gVVBEQVRF IEZPUiBQT1JUSU9OIE9GIGluIGEgQ1RFOgorLS0gVmlzaWJsZSB0byBTRUxFQ1Q6CitJTlNFUlQg SU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVuJyk7CitXSVRIIHVwZGF0 ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1LTAxJworICAgIFNFVCBu YW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMCwxMSknCisgICAgUkVUVVJOSU5H IGlkLCB2YWxpZF9hdCwgbmFtZQorKQorU0VMRUNUICoKKyAgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0IEFTIHQsIHVwZGF0ZV9hcHIKKyAgV0hFUkUgdC5pZCA9IHVwZGF0ZV9hcHIuaWQ7CisgICBp ZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSB8ICAgaWQgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8ICAgbmFtZSAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCB0ZW4gIHwgWzEwLDEx KSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgQXByIDIwMTgKKygxIHJvdykKKworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgbmFtZSAgIAorLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIFsxMCwxMSkgfCBbMjAxOC0wNC0wMSwy MDE4LTA1LTAxKSB8IEFwciAyMDE4CisgWzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMTgtMDQtMDEp IHwgdGVuCisgWzEwLDExKSB8IFsyMDE4LTA1LTAxLDIwMjAtMDEtMDEpIHwgdGVuCisoMyByb3dz KQorCistLSBVUERBVEUgRk9SIFBPUlRJT04gT0Ygd2l0aCBjdXJyZW50X2RhdGUKKy0tIChXZSB0 YWtlIGNhcmUgbm90IHRvIG1ha2UgdGhlIGV4cGVjdGF0aW9uIGRlcGVuZCBvbiB0aGUgdGltZXN0 YW1wLikKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFt ZSkgVkFMVUVTCisgICgnWzk5LDEwMCknLCAnWzIwMDAtMDEtMDEsKScsICdmb28nKTsKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gY3Vy cmVudF9kYXRlIFRPIG51bGwKKyAgU0VUIG5hbWUgPSAnYmFyJworICBXSEVSRSBpZCA9ICdbOTks MTAwKSc7CitTRUxFQ1QgbmFtZSwgbG93ZXIodmFsaWRfYXQpIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdAorICBXSEVSRSBpZCA9ICdbOTksMTAwKScgQU5EIHZhbGlkX2F0IEA+IGN1cnJlbnRfZGF0 ZSAtIDE7CisgbmFtZSB8ICAgbG93ZXIgICAgCistLS0tLS0rLS0tLS0tLS0tLS0tCisgZm9vICB8 IDIwMDAtMDEtMDEKKygxIHJvdykKKworU0VMRUNUIG5hbWUsIHVwcGVyKHZhbGlkX2F0KSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgV0hFUkUgaWQgPSAnWzk5LDEwMCknIEFORCB2YWxpZF9h dCBAPiBjdXJyZW50X2RhdGUgKyAxOworIG5hbWUgfCB1cHBlciAKKy0tLS0tLSstLS0tLS0tCisg YmFyICB8IAorKDEgcm93KQorCistLSBVUERBVEUgRk9SIFBPUlRJT04gT0Ygd2l0aCBjbG9ja190 aW1lc3RhbXAoKQorLS0gZmFpbHMgYmVjYXVzZSB0aGUgZnVuY3Rpb24gaXMgdm9sYXRpbGU6CitV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N IGNsb2NrX3RpbWVzdGFtcCgpOjpkYXRlIFRPIG51bGwKKyAgU0VUIG5hbWUgPSAnYmF6JworICBX SEVSRSBpZCA9ICdbOTksMTAwKSc7CitFUlJPUjogIEZPUiBQT1JUSU9OIE9GIGJvdW5kcyBjYW5u b3QgY29udGFpbiB2b2xhdGlsZSBmdW5jdGlvbnMKKy0tIGNsZWFuIHVwOgorREVMRVRFIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CistLSBOb3QgdmlzaWJs ZSB0byBVUERBVEU6CistLSBUdXBsZXMgdXBkYXRlZC9pbnNlcnRlZCB3aXRoaW4gdGhlIENURSBh cmUgbm90IHZpc2libGUgdG8gdGhlIG1haW4gcXVlcnkgeWV0LAorLS0gYnV0IG5laXRoZXIgYXJl IG9sZCB0dXBsZXMgdGhlIENURSBjaGFuZ2VkOgorSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2Zf dGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMTEsMTIpJywgJ1syMDE4LTAx LTAxLDIwMjAtMDEtMDEpJywgJ2VsZXZlbicpOworV0lUSCB1cGRhdGVfYXByIEFTICgKKyAgVVBE QVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNS0wMScKKyAgICBTRVQgbmFtZSA9ICdBcHIgMjAxOCcK KyAgICBXSEVSRSBpZCA9ICdbMTEsMTIpJworICAgIFJFVFVSTklORyBpZCwgdmFsaWRfYXQsIG5h bWUKKykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBBUyB0CisgIFNFVCBuYW1l ID0gJ01heSAyMDE4JworICBGUk9NIHVwZGF0ZV9hcHIgQVMgagorICBXSEVSRSB0LmlkID0gai5p ZDsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTEsMTIp JzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMTEsMTIpIHwgWzIw MTgtMDQtMDEsMjAxOC0wNS0wMSkgfCBBcHIgMjAxOAorIFsxMSwxMikgfCBbMjAxOC0wMS0wMSwy MDE4LTA0LTAxKSB8IGVsZXZlbgorIFsxMSwxMikgfCBbMjAxOC0wNS0wMSwyMDIwLTAxLTAxKSB8 IGVsZXZlbgorKDMgcm93cykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVS RSBpZCBJTiAoJ1sxMCwxMSknLCAnWzExLDEyKScpOworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9G IGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElPTiBmcG9fdXBkYXRlKF9pZCBpbnQ0 cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2b2lk IExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJDIgVE8gJDMKKyAgICBTRVQg bmFtZSA9IGNvbmNhdChfdGFyZ2V0X2Zyb206OnRleHQsICcgdG8gJywgX3RhcmdldF90aWw6OnRl eHQpCisgICAgV0hFUkUgaWQgPSAkMTsKK0VORDsKKyQkOworU0VMRUNUIGZwb191cGRhdGUoJ1sx MCwxMSknLCAnMjAxNS0wMS0wMScsICcyMDE5LTAxLTAxJyk7CisgZnBvX3VwZGF0ZSAKKy0tLS0t LS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Qg V0hFUkUgaWQgPSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgICAgICAgICAgIG5hbWUgICAgICAgICAgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgtMDEt MDEsMjAxOS0wMS0wMSkgfCAyMDE1LTAxLTAxIHRvIDIwMTktMDEtMDEKKyBbMTAsMTEpIHwgWzIw MTktMDEtMDEsMjAyMC0wMS0wMSkgfCB0ZW4KKygyIHJvd3MpCisKKy0tIFVQREFURSBGT1IgUE9S VElPTiBPRiBpbiBhIGNvbXBpbGVkIFNRTCBmdW5jdGlvbgorQ1JFQVRFIEZVTkNUSU9OIGZwb191 cGRhdGUoKQorUkVUVVJOUyB0ZXh0CitCRUdJTiBBVE9NSUMKKyAgVVBEQVRFIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBU TyAnMjAxOS0wMS0wMScKKyAgICBTRVQgbmFtZSA9ICdvbmVeMScKKyAgICBSRVRVUk5JTkcgbmFt ZTsKK0VORDsKK1xzZisgZnBvX3VwZGF0ZSgpCisgICAgICAgIENSRUFURSBPUiBSRVBMQUNFIEZV TkNUSU9OIHB1YmxpYy5mcG9fdXBkYXRlKCkKKyAgICAgICAgIFJFVFVSTlMgdGV4dAorICAgICAg ICAgTEFOR1VBR0Ugc3FsCisxICAgICAgIEJFR0lOIEFUT01JQworMiAgICAgICAgVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0x NScgVE8gJzIwMTktMDEtMDEnIFNFVCBuYW1lID0gJ29uZV4xJzo6dGV4dAorMyAgICAgICAgICBS RVRVUk5JTkcgZm9yX3BvcnRpb25fb2ZfdGVzdC5uYW1lOworNCAgICAgICBFTkQKK0NSRUFURSBP UiBSRVBMQUNFIGZ1bmN0aW9uIGZwb191cGRhdGUoKQorUkVUVVJOUyB0ZXh0CitCRUdJTiBBVE9N SUMKKyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAxLTE1JywgJzIwMjAtMDEtMDEnKSAqIGRhdGVyYW5nZSgn MjAxOS0wMS0wMScsICcyMDIyLTAxLTAxJykpCisgICAgU0VUIG5hbWUgPSAnb25lXjEnCisgICAg UkVUVVJOSU5HIG5hbWU7CitFTkQ7Citcc2YrIGZwb191cGRhdGUoKQorICAgICAgICBDUkVBVEUg T1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuZnBvX3VwZGF0ZSgpCisgICAgICAgICBSRVRVUk5T IHRleHQKKyAgICAgICAgIExBTkdVQUdFIHNxbAorMSAgICAgICBCRUdJTiBBVE9NSUMKKzIgICAg ICAgIFVQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgo ZGF0ZXJhbmdlKCcyMDE4LTAxLTE1Jzo6ZGF0ZSwgJzIwMjAtMDEtMDEnOjpkYXRlKSAqIGRhdGVy YW5nZSgnMjAxOS0wMS0wMSc6OmRhdGUsICcyMDIyLTAxLTAxJzo6ZGF0ZSkpKSBTRVQgbmFtZSA9 ICdvbmVeMSc6OnRleHQKKzMgICAgICAgICAgUkVUVVJOSU5HIGZvcl9wb3J0aW9uX29mX3Rlc3Qu bmFtZTsKKzQgICAgICAgRU5ECitEUk9QIEZVTkNUSU9OIGZwb191cGRhdGUoKTsKK0RST1AgVEFC TEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKKy0tCistLSBERUxFVEUgdGVzdHMKKy0tCitDUkVBVEUg VEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisgIENP TlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2 YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0w MyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnb25l JyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyksCisgICgn WzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSknLCAndHdvJyksCisgICgnWzMsNCknLCAn WzIwMTgtMDEtMDEsKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0wMSknLCAn Zm91cicpLAorICAoJ1s1LDYpJywgJygsKScsICdmaXZlJyksCisgICgnWzYsNyknLCAnWzIwMTgt MDEtMDEsKScsICdzaXgnKSwKKyAgKCdbNyw4KScsICcoLDIwMTgtMDQtMDEpJywgJ3NldmVuJyks CisgICgnWzgsOSknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnZWlnaHQnKSwKKyAgKCdb OCw5KScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdlaWdodCcpLAorICAoJ1s4LDkpJywg J1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ2VpZ2h0JykKKyAgOworXHNldCBRVUlFVCBmYWxz ZQorLS0gRGVsZXRpbmcgd2l0aCBhIG1pc3NpbmcgY29sdW1uIGZhaWxzCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAx OC0wNi0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIGNvbHVtbiBv ciBwZXJpb2QgImludmFsaWRfYXQiIG9mIHJlbGF0aW9uICJmb3JfcG9ydGlvbl9vZl90ZXN0IiBk b2VzIG5vdCBleGlzdAorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAn MjAxOC0wNi0wMScgVE8gTlVMTAorICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIFRoZSB3 cm9uZyBzdGFydCB0eXBlIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gMSBUTyAnMjAyMC0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzMsNCknOworRVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GIEZS T00gYm91bmQgZnJvbSBpbnRlZ2VyIHRvIGRhdGUKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NIDEgVE8gJzIwMjAtMDEtMDEnCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCistLSBUaGUgd3JvbmcgZW5kIHR5cGUgZmFpbHMKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAw MC0wMS0wMScgVE8gNAorICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIGNvdWxkIG5vdCBj b2VyY2UgRk9SIFBPUlRJT04gT0YgVE8gYm91bmQgZnJvbSBpbnRlZ2VyIHRvIGRhdGUKK0xJTkUg MjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyA0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0g RGVsZXRpbmcgd2l0aCB0aW1lc3RhbXBzIHJldmVyc2VkIGZhaWxzCitERUxFVEUgRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDYt MDEnIFRPICcyMDE4LTAxLTAxJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitFUlJPUjogIHJhbmdl IGxvd2VyIGJvdW5kIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHJhbmdlIHVwcGVyIGJv dW5kCistLSBEZWxldGluZyB3aXRoIGEgc3VicXVlcnkgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAoU0VMRUNUICcy MDE4LTAxLTAxJykgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9S OiAgY2Fubm90IHVzZSBzdWJxdWVyeSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uCitMSU5F IDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAoU0VMRUNUICcyMDE4LTAxLTAxJykg VE8gJzIwMS4uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0g RGVsZXRpbmcgd2l0aCBhIGNvbHVtbiBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2VyKHZhbGlkX2F0KSBUTyBO VUxMCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAgY2Fubm90IHVzZSBjb2x1bW4gcmVm ZXJlbmNlIGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb24KK0xJTkUgMjogICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NIGxvd2VyKHZhbGlkX2F0KSBUTyBOVUxMCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCistLSBEZWxldGluZyB3aXRoIHRpbWVz dGFtcHMgZXF1YWwgZG9lcyBub3RoaW5nCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA0 LTAxJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgMAorLS0gRGVsZXRpbmcgYSBmaW5p dGUvb3BlbiBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w Ni0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgMQorU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAx LTAxLDIwMTgtMDYtMDEpIHwgdGhyZWUKKygxIHJvdykKKworLS0gRGVsZXRpbmcgYSBmaW5pdGUv b3BlbiBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitERUxFVEUgRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAn MjAxOC0wMy0wMScKKyAgV0hFUkUgaWQgPSAnWzYsNyknOworREVMRVRFIDEKK1NFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbNiw3KScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICBpZCAgIHwgICB2YWxpZF9hdCAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0KKyBbNiw3KSB8IFsyMDE4LTAzLTAxLCkgfCBzaXgKKygxIHJvdykKKwor LS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIG9wZW4vZmluaXRlIHRh cmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsK K0RFTEVURSAxCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAn WzQsNSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0K KyBbNCw1KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDQtMDEpIHwgZm91cgorKDEgcm93KQorCistLSBE ZWxldGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYSBmaW5pdGUvb3BlbiB0YXJnZXQK K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbNyw4KSc7CitERUxF VEUgMQorU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s3LDgp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgIHZhbGlkX2F0ICAgIHwgbmFtZSAg CistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzcsOCkgfCAoLDIwMTctMDEtMDEp IHwgc2V2ZW4KKygxIHJvdykKKworLS0gRGVsZXRpbmcgYSBmaW5pdGUvZmluaXRlIHBvcnRpb24g d2l0aCBhbiBleGFjdCBmaXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScgVE8gJzIwMTgtMDQtMDEnCisg IFdIRVJFIGlkID0gJ1s0LDUpJzsKK0RFTEVURSAxCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQsNSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8 IHZhbGlkX2F0IHwgbmFtZSAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0KKygwIHJvd3MpCisKKy0t IERlbGV0aW5nIGFuIGVuY2xvc2VkIHNwYW4KK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgV0hFUkUg aWQgPSAnWzIsMyknOworREVMRVRFIDEKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dCBXSEVSRSBpZCA9ICdbMiwzKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRf YXQgfCBuYW1lIAorLS0tLSstLS0tLS0tLS0tKy0tLS0tLQorKDAgcm93cykKKworLS0gRGVsZXRp bmcgYW4gb3Blbi9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9maW5pdGUgdGFyZ2V0CitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitE RUxFVEUgMQorU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s1 LDYpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgIHZhbGlkX2F0ICAgIHwgbmFt ZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFs1LDYpIHwgKCwyMDE4LTAxLTAx KSB8IGZpdmUKKyBbNSw2KSB8IFsyMDE5LTAxLTAxLCkgfCBmaXZlCisoMiByb3dzKQorCistLSBE ZWxldGluZyBhbiBlbmNsb3NlZCBzcGFuIHdpdGggc2VwYXJhdGUgcHJvdHJ1ZGluZyBzcGFucwor REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTAyLTAzJyBUTyAnMjAxOC0wMy0wMycKKyAgV0hFUkUgaWQgPSAnWzEsMikn OworREVMRVRFIDEKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9 ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykgfCBvbmUKKyBbMSwyKSB8IFsyMDE4 LTAzLTAzLDIwMTgtMDQtMDQpIHwgb25lCisoMiByb3dzKQorCistLSBEZWxldGluZyBtdWx0aXBs ZSBlbmNsb3NlZCBzcGFucworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbOCw5 KSc7CitERUxFVEUgMworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlk ID0gJ1s4LDkpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9hdCB8IG5hbWUg CistLS0tKy0tLS0tLS0tLS0rLS0tLS0tCisoMCByb3dzKQorCistLSBEZWxldGluZyB3aXRoIGEg ZGlyZWN0IHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAzLTEwJywgJzIwMTgtMDMtMTUnKSkK KyAgV0hFUkUgaWQgPSAnWzEsMiknOworREVMRVRFIDEKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMi0wMykg fCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwgb25lCisgWzEsMikgfCBb MjAxOC0wMy0xNSwyMDE4LTA0LTA0KSB8IG9uZQorKDMgcm93cykKKworLS0gRGVsZXRpbmcgd2l0 aCBhIGRpcmVjdCB0YXJnZXQsIGNvZXJjZWQgZnJvbSBhIHN0cmluZworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ1syMDE4LTAzLTE1 LDIwMTgtMDMtMTcpJykKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworREVMRVRFIDEKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lIAorLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEt MDIsMjAxOC0wMi0wMykgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwg b25lCisgWzEsMikgfCBbMjAxOC0wMy0xNywyMDE4LTA0LTA0KSB8IG9uZQorKDMgcm93cykKKwor LS0gRGVsZXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQgb2YgdGhlIHdyb25nIHJhbmdlIHN1YnR5 cGUgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGludDRyYW5nZSgxLCA0KSkKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworRVJS T1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GIHRhcmdldCBmcm9tIGludDRyYW5n ZSB0byBkYXRlcmFuZ2UKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoaW50NHJh bmdlKDEsIDQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCistLSBEZWxl dGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBhIG5vbi1yYW5nZXR5cGUgZmFpbHMKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKDQp CisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgY291bGQgbm90IGNvZXJjZSBGT1IgUE9S VElPTiBPRiB0YXJnZXQgZnJvbSBpbnRlZ2VyIHRvIGRhdGVyYW5nZQorTElORSAyOiAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0ICg0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBOVUxMIGZhaWxzCitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChO VUxMKQorICBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGdvdCBhIE5VTEwgRk9SIFBPUlRJ T04gT0YgdGFyZ2V0CistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBlbXB0eSBk b2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgKCdlbXB0eScpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0RFTEVURSAw CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEsMiknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg bmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8 IFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0wMywyMDE4 LTAzLTEwKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBvbmUKKygz IHJvd3MpCisKKy0tIERFTEVURSB3aXRoIG5vIFdIRVJFIGNsYXVzZQorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDMwLTAx LTAxJyBUTyBOVUxMOworREVMRVRFIDIKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBb MSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0w MywyMDE4LTAzLTEwKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBv bmUKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDYtMDEpIHwgdGhyZWUKKyBbNSw2KSB8ICgs MjAxOC0wMS0wMSkgICAgICAgICAgIHwgZml2ZQorIFs1LDYpIHwgWzIwMTktMDEtMDEsMjAzMC0w MS0wMSkgfCBmaXZlCisgWzYsNykgfCBbMjAxOC0wMy0wMSwyMDMwLTAxLTAxKSB8IHNpeAorIFs3 LDgpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBzZXZlbgorKDggcm93cykKKworXHNldCBR VUlFVCB0cnVlCistLSBVUERBVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIG9ubHkgdGhlIHVwZGF0 ZWQgdmFsdWVzIChub3QgdGhlIGluc2VydGVkIHNpZGUgdmFsdWVzKQorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScg VE8gJzIwMTgtMDItMTUnCisgIFNFVCBuYW1lID0gJ3RocmVlXjMnCisgIFdIRVJFIGlkID0gJ1sz LDQpJworICBSRVRVUk5JTkcgKjsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg IG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBb Myw0KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDItMTUpIHwgdGhyZWVeMworKDEgcm93KQorCistLSBE RUxFVEUgRk9SIFBPUlRJT04gT0Ygd2l0aCBjdXJyZW50X2RhdGUKKy0tIChXZSB0YWtlIGNhcmUg bm90IHRvIG1ha2UgdGhlIGV4cGVjdGF0aW9uIGRlcGVuZCBvbiB0aGUgdGltZXN0YW1wLikKK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzk5LDEwMCknLCAnWzIwMDAtMDEtMDEsKScsICdmb28nKTsKK0RFTEVURSBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBjdXJyZW50 X2RhdGUgVE8gbnVsbAorICBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CitTRUxFQ1QgbmFtZSwgbG93 ZXIodmFsaWRfYXQpIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBXSEVSRSBpZCA9ICdbOTks MTAwKScgQU5EIHZhbGlkX2F0IEA+IGN1cnJlbnRfZGF0ZSAtIDE7CisgbmFtZSB8ICAgbG93ZXIg ICAgCistLS0tLS0rLS0tLS0tLS0tLS0tCisgZm9vICB8IDIwMDAtMDEtMDEKKygxIHJvdykKKwor U0VMRUNUIG5hbWUsIHVwcGVyKHZhbGlkX2F0KSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg V0hFUkUgaWQgPSAnWzk5LDEwMCknIEFORCB2YWxpZF9hdCBAPiBjdXJyZW50X2RhdGUgKyAxOwor IG5hbWUgfCB1cHBlciAKKy0tLS0tLSstLS0tLS0tCisoMCByb3dzKQorCistLSBERUxFVEUgRk9S IFBPUlRJT04gT0Ygd2l0aCBjbG9ja190aW1lc3RhbXAoKQorLS0gZmFpbHMgYmVjYXVzZSB0aGUg ZnVuY3Rpb24gaXMgdm9sYXRpbGU6CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gY2xvY2tfdGltZXN0YW1wKCk6OmRhdGUgVE8g bnVsbAorICBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CitFUlJPUjogIEZPUiBQT1JUSU9OIE9GIGJv dW5kcyBjYW5ub3QgY29udGFpbiB2b2xhdGlsZSBmdW5jdGlvbnMKKy0tIGNsZWFuIHVwOgorREVM RVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CistLSBE RUxFVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIHRoZSBkZWxldGVkIHZhbHVlcyAocmVnYXJkbGVz cyBvZiBib3VuZHMpCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDInIFRPICcyMDE4LTAyLTAzJworICBXSEVS RSBpZCA9ICdbMyw0KScKKyAgUkVUVVJOSU5HICo7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8ICBuYW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMi0wMSwyMDE4LTAyLTE1KSB8IHRocmVlXjMKKygxIHJv dykKKworLS0gREVMRVRFIEZPUiBQT1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzEwLDExKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFU RSBGVU5DVElPTiBmcG9fZGVsZXRlKF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBf dGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitC RUdJTgorICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAkMworICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsK K1NFTEVDVCBmcG9fZGVsZXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScp OworIGZwb19kZWxldGUgCistLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCB0 ZW4KKygxIHJvdykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJ TiAoJ1sxMCwxMSknKTsKKy0tIERFTEVURSBGT1IgUE9SVElPTiBPRiBpbiBhIGNvbXBpbGVkIFNR TCBmdW5jdGlvbgorQ1JFQVRFIEZVTkNUSU9OIGZwb19kZWxldGUoKQorUkVUVVJOUyB0ZXh0CitC RUdJTiBBVE9NSUMKKyAgREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworICAg IFJFVFVSTklORyBuYW1lOworRU5EOworXHNmKyBmcG9fZGVsZXRlKCkKKyAgICAgICAgQ1JFQVRF IE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLmZwb19kZWxldGUoKQorICAgICAgICAgUkVUVVJO UyB0ZXh0CisgICAgICAgICBMQU5HVUFHRSBzcWwKKzEgICAgICAgQkVHSU4gQVRPTUlDCisyICAg ICAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworMyAgICAgICAgICBSRVRVUk5J TkcgZm9yX3BvcnRpb25fb2ZfdGVzdC5uYW1lOworNCAgICAgICBFTkQKK0NSRUFURSBPUiBSRVBM QUNFIGZ1bmN0aW9uIGZwb19kZWxldGUoKQorUkVUVVJOUyB0ZXh0CitCRUdJTiBBVE9NSUMKKyAg REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChkYXRlcmFuZ2UoJzIwMTgtMDEtMTUnLCAnMjAyMC0wMS0wMScpICogZGF0ZXJhbmdlKCcy MDE5LTAxLTAxJywgJzIwMjItMDEtMDEnKSkKKyAgICBSRVRVUk5JTkcgbmFtZTsKK0VORDsKK1xz ZisgZnBvX2RlbGV0ZSgpCisgICAgICAgIENSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHB1Ymxp Yy5mcG9fZGVsZXRlKCkKKyAgICAgICAgIFJFVFVSTlMgdGV4dAorICAgICAgICAgTEFOR1VBR0Ug c3FsCisxICAgICAgIEJFR0lOIEFUT01JQworMiAgICAgICAgREVMRVRFIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKGRhdGVyYW5nZSgnMjAxOC0wMS0x NSc6OmRhdGUsICcyMDIwLTAxLTAxJzo6ZGF0ZSkgKiBkYXRlcmFuZ2UoJzIwMTktMDEtMDEnOjpk YXRlLCAnMjAyMi0wMS0wMSc6OmRhdGUpKSkKKzMgICAgICAgICAgUkVUVVJOSU5HIGZvcl9wb3J0 aW9uX29mX3Rlc3QubmFtZTsKKzQgICAgICAgRU5ECitEUk9QIEZVTkNUSU9OIGZwb19kZWxldGUo KTsKKy0tIHRlc3QgZG9tYWlucyBhbmQgQ0hFQ0sgY29uc3RyYWludHMKKy0tIFdpdGggYSBkb21h aW4gb24gYSByYW5nZXR5cGUKK0NSRUFURSBET01BSU4gZGF0ZXJhbmdlX2QgQVMgZGF0ZXJhbmdl IENIRUNLICh1cHBlcihWQUxVRSkgPD4gJzIwMDUtMDUtMDUnOjpkYXRlKTsKK0NSRUFURSBUQUJM RSBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludGVnZXIsCisgIHZhbGlkX2F0IGRhdGVy YW5nZV9kLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0 MiBWQUxVRVMKKyAgKDEsICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKSwKKyAgKDIs ICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICd0d28nKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0 aW9uX29mX3Rlc3QyIFZBTFVFUworICAoMSwgJ1syMDAwLTAxLTAxLDIwMDUtMDUtMDUpJywgJ25v cGUnKTsKK0VSUk9SOiAgdmFsdWUgZm9yIGRvbWFpbiBkYXRlcmFuZ2VfZCB2aW9sYXRlcyBjaGVj ayBjb25zdHJhaW50ICJkYXRlcmFuZ2VfZF9jaGVjayIKKy0tIFVQREFURSB3b3JrczoKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDEwLTAxLTAxJyBUTyAnMjAxMC0wMS0wNScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJF IGlkID0gMTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoJ1syMDEwLTAxLTA3LDIwMTAtMDEtMDkpJykKKyAgU0VUIG5hbWUgPSAnb25lXjIn CisgIFdIRVJFIGlkID0gMTsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hF UkUgaWQgPSAxIE9SREVSIEJZIHZhbGlkX2F0OworIGlkIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCBuYW1lICAKKy0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgIDEg fCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IG9uZQorICAxIHwgWzIwMTAtMDEtMDEsMjAxMC0w MS0wNSkgfCBvbmVeMQorICAxIHwgWzIwMTAtMDEtMDUsMjAxMC0wMS0wNykgfCBvbmUKKyAgMSB8 IFsyMDEwLTAxLTA3LDIwMTAtMDEtMDkpIHwgb25lXjIKKyAgMSB8IFsyMDEwLTAxLTA5LDIwMjAt MDEtMDEpIHwgb25lCisoNSByb3dzKQorCistLSBUaGUgdGFyZ2V0IGlzIGFsbG93ZWQgdG8gdmlv bGF0ZSB0aGUgZG9tYWluOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzE5OTktMDEtMDEnIFRPICcyMDA1LTA1LTA1JworICBTRVQg bmFtZSA9ICdtaXNzJworICBXSEVSRSBpZCA9IC0xOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnWzE5OTktMDEtMDEsMjAwNS0wNS0wNSkn KQorICBTRVQgbmFtZSA9ICdtaXNzJworICBXSEVSRSBpZCA9IC0xOworLS0gdGVzdCB0aGUgdXBk YXRlZCByb3cgdmlvbGF0aW5nIHRoZSBkb21haW4KK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0 MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcxOTk5LTAxLTAxJyBUTyAnMjAwNS0w NS0wNScKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gMTsKK0VSUk9SOiAgdmFs dWUgZm9yIGRvbWFpbiBkYXRlcmFuZ2VfZCB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJkYXRl cmFuZ2VfZF9jaGVjayIKKy0tIHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgdGhlIGRvbWFpbgorVVBE QVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMDUtMDUtMDUnIFRPICcyMDEwLTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hF UkUgaWQgPSAxOworRVJST1I6ICB2YWx1ZSBmb3IgZG9tYWluIGRhdGVyYW5nZV9kIHZpb2xhdGVz IGNoZWNrIGNvbnN0cmFpbnQgImRhdGVyYW5nZV9kX2NoZWNrIgorLS0gdGVzdCB1cGRhdGVkIHJv dyB2aW9sYXRpbmcgQ0hFQ0sgY29uc3RyYWludHMKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEFERCBDT05TVFJBSU5UIGZwbzJfY2hlY2sgQ0hFQ0sgKHVwcGVyKHZhbGlkX2F0 KSA8PiAnMjAwMS0wMS0xMScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTExJworICBT RVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAxOworRVJST1I6ICBuZXcgcm93IGZvciBy ZWxhdGlvbiAiZm9yX3BvcnRpb25fb2ZfdGVzdDIiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQg ImZwbzJfY2hlY2siCitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoMSwgWzIwMDAtMDEt MDEsMjAwMS0wMS0xMSksIG9uZV4zKS4KK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Qy IERST1AgQ09OU1RSQUlOVCBmcG8yX2NoZWNrOworLS0gdGVzdCBpbnNlcnRzIHZpb2xhdGluZyBD SEVDSyBjb25zdHJhaW50cworQUxURVIgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgQURE IENPTlNUUkFJTlQgZnBvMl9jaGVjayBDSEVDSyAobG93ZXIodmFsaWRfYXQpIDw+ICcyMDAyLTAy LTAyJyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDItMDInCisgIFNFVCBuYW1lID0gJ29u ZV4zJworICBXSEVSRSBpZCA9IDE7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJmb3Jf cG9ydGlvbl9vZl90ZXN0MiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZnBvMl9jaGVjayIK K0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zICgxLCBbMjAwMi0wMi0wMiwyMDEwLTAxLTAx KSwgb25lKS4KK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyIERST1AgQ09OU1RSQUlO VCBmcG8yX2NoZWNrOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBp ZCA9IDEgT1JERVIgQlkgdmFsaWRfYXQ7CisgaWQgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IG5hbWUgIAorLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyAgMSB8IFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgb25lCisgIDEgfCBbMjAxMC0wMS0wMSwyMDEwLTAxLTA1 KSB8IG9uZV4xCisgIDEgfCBbMjAxMC0wMS0wNSwyMDEwLTAxLTA3KSB8IG9uZQorICAxIHwgWzIw MTAtMDEtMDcsMjAxMC0wMS0wOSkgfCBvbmVeMgorICAxIHwgWzIwMTAtMDEtMDksMjAyMC0wMS0w MSkgfCBvbmUKKyg1IHJvd3MpCisKKy0tIERFTEVURSB3b3JrczoKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTAtMDEt MDEnIFRPICcyMDEwLTAxLTA1JworICBXSEVSRSBpZCA9IDI7CitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ1syMDEwLTAxLTA3LDIw MTAtMDEtMDkpJykKKyAgV0hFUkUgaWQgPSAyOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0MiBXSEVSRSBpZCA9IDIgT1JERVIgQlkgdmFsaWRfYXQ7CisgaWQgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tCisgIDIgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHR3bworICAyIHwgWzIwMTAtMDEt MDUsMjAxMC0wMS0wNykgfCB0d28KKyAgMiB8IFsyMDEwLTAxLTA5LDIwMjAtMDEtMDEpIHwgdHdv CisoMyByb3dzKQorCistLSBUaGUgdGFyZ2V0IGlzIGFsbG93ZWQgdG8gdmlvbGF0ZSB0aGUgZG9t YWluOgorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMTk5OS0wMS0wMScgVE8gJzIwMDUtMDUtMDUnCisgIFdIRVJFIGlkID0g LTE7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoJ1sxOTk5LTAxLTAxLDIwMDUtMDUtMDUpJykKKyAgV0hFUkUgaWQgPSAtMTsKKy0t IHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgdGhlIGRvbWFpbgorREVMRVRFIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwNS0wNS0wNScg VE8gJzIwMTAtMDEtMDEnCisgIFdIRVJFIGlkID0gMjsKK0VSUk9SOiAgdmFsdWUgZm9yIGRvbWFp biBkYXRlcmFuZ2VfZCB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJkYXRlcmFuZ2VfZF9jaGVj ayIKKy0tIHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgQ0hFQ0sgY29uc3RyYWludHMKK0FMVEVSIFRB QkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEFERCBDT05TVFJBSU5UIGZwbzJfY2hlY2sgQ0hF Q0sgKGxvd2VyKHZhbGlkX2F0KSA8PiAnMjAwMi0wMi0wMicpOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0w MScgVE8gJzIwMDItMDItMDInCisgIFdIRVJFIGlkID0gMjsKK0VSUk9SOiAgbmV3IHJvdyBmb3Ig cmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3QyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50 ICJmcG8yX2NoZWNrIgorREVUQUlMOiAgRmFpbGluZyByb3cgY29udGFpbnMgKDIsIFsyMDAyLTAy LTAyLDIwMTAtMDEtMDEpLCB0d28pLgorQUxURVIgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIg RFJPUCBDT05TVFJBSU5UIGZwbzJfY2hlY2s7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QyIFdIRVJFIGlkID0gMiBPUkRFUiBCWSB2YWxpZF9hdDsKKyBpZCB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgbmFtZSAKKy0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0KKyAgMiB8IFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgdHdvCisgIDIgfCBbMjAxMC0wMS0w NSwyMDEwLTAxLTA3KSB8IHR3bworICAyIHwgWzIwMTAtMDEtMDksMjAyMC0wMS0wMSkgfCB0d28K KygzIHJvd3MpCisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CistLSBXaXRoIGEg ZG9tYWluIG9uIGEgbXVsdGlyYW5nZXR5cGUKK0NSRUFURSBGVU5DVElPTiBtdWx0aXJhbmdlX2xv d2VycyhtciBhbnltdWx0aXJhbmdlKSBSRVRVUk5TIGFueWFycmF5IExBTkdVQUdFIHNxbCBBUyAk JAorICBTRUxFQ1QgYXJyYXlfYWdnKGxvd2VyKHIpKSBGUk9NIFVOTkVTVChtcikgdShyKTsKKyQk OworQ1JFQVRFIEZVTkNUSU9OIG11bHRpcmFuZ2VfdXBwZXJzKG1yIGFueW11bHRpcmFuZ2UpIFJF VFVSTlMgYW55YXJyYXkgTEFOR1VBR0Ugc3FsIEFTICQkCisgIFNFTEVDVCBhcnJheV9hZ2codXBw ZXIocikpIEZST00gVU5ORVNUKG1yKSB1KHIpOworJCQ7CitDUkVBVEUgRE9NQUlOIGRhdGVtdWx0 aXJhbmdlX2QgQVMgZGF0ZW11bHRpcmFuZ2UgQ0hFQ0sgKE5PVCAnMjAwNS0wNS0wNSc6OmRhdGUg PSBBTlkgKG11bHRpcmFuZ2VfdXBwZXJzKFZBTFVFKSkpOworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0 aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50ZWdlciwKKyAgdmFsaWRfYXQgZGF0ZW11bHRpcmFuZ2Vf ZCwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIgVkFM VUVTCisgICgxLCAne1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpfScsICdvbmUnKSwKKyAgKDIsICd7 WzIwMDAtMDEtMDEsMjAyMC0wMS0wMSl9JywgJ3R3bycpOworSU5TRVJUIElOVE8gZm9yX3BvcnRp b25fb2ZfdGVzdDIgVkFMVUVTCisgICgxLCAne1syMDAwLTAxLTAxLDIwMDUtMDUtMDUpfScsICdu b3BlJyk7CitFUlJPUjogIHZhbHVlIGZvciBkb21haW4gZGF0ZW11bHRpcmFuZ2VfZCB2aW9sYXRl cyBjaGVjayBjb25zdHJhaW50ICJkYXRlbXVsdGlyYW5nZV9kX2NoZWNrIgorLS0gVVBEQVRFIHdv cmtzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0ICgne1syMDEwLTAxLTA3LDIwMTAtMDEtMDkpfScpCisgIFNFVCBuYW1lID0gJ29uZV4yJwor ICBXSEVSRSBpZCA9IDE7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIFdIRVJF IGlkID0gMSBPUkRFUiBCWSB2YWxpZF9hdDsKKyBpZCB8ICAgICAgICAgICAgICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBuYW1lICAKKy0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyAgMSB8IHtbMjAw MC0wMS0wMSwyMDEwLTAxLTA3KSxbMjAxMC0wMS0wOSwyMDIwLTAxLTAxKX0gfCBvbmUKKyAgMSB8 IHtbMjAxMC0wMS0wNywyMDEwLTAxLTA5KX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVe MgorKDIgcm93cykKKworLS0gVGhlIHRhcmdldCBpcyBhbGxvd2VkIHRvIHZpb2xhdGUgdGhlIGRv bWFpbjoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoJ3tbMTk5OS0wMS0wMSwyMDA1LTA1LTA1KX0nKQorICBTRVQgbmFtZSA9ICdtaXNzJwor ICBXSEVSRSBpZCA9IC0xOworLS0gdGVzdCB0aGUgdXBkYXRlZCByb3cgdmlvbGF0aW5nIHRoZSBk b21haW4KK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoJ3tbMTk5OS0wMS0wMSwyMDA1LTA1LTA1KX0nKQorICBTRVQgbmFtZSA9ICdvbmVeMycK KyAgV0hFUkUgaWQgPSAxOworRVJST1I6ICB2YWx1ZSBmb3IgZG9tYWluIGRhdGVtdWx0aXJhbmdl X2QgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZGF0ZW11bHRpcmFuZ2VfZF9jaGVjayIKKy0t IHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgdGhlIGRvbWFpbgorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne1syMDA1LTA1LTA1LDIwMTAtMDEt MDEpfScpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9IDE7CitFUlJPUjogIHZh bHVlIGZvciBkb21haW4gZGF0ZW11bHRpcmFuZ2VfZCB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50 ICJkYXRlbXVsdGlyYW5nZV9kX2NoZWNrIgorLS0gdGVzdCB1cGRhdGVkIHJvdyB2aW9sYXRpbmcg Q0hFQ0sgY29uc3RyYWludHMKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEFE RCBDT05TVFJBSU5UIGZwbzJfY2hlY2sgQ0hFQ0sgKHVwcGVyKHZhbGlkX2F0KSA8PiAnMjAwMS0w MS0xMScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0ICgne1syMDAwLTAxLTAxLDIwMDEtMDEtMTEpfScpCisgIFNFVCBuYW1lID0gJ29uZV4z JworICBXSEVSRSBpZCA9IDE7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJmb3JfcG9y dGlvbl9vZl90ZXN0MiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZnBvMl9jaGVjayIKK0RF VEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zICgxLCB7WzIwMDAtMDEtMDEsMjAwMS0wMS0xMSl9 LCBvbmVeMykuCitBTFRFUiBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBEUk9QIENPTlNUUkFJ TlQgZnBvMl9jaGVjazsKKy0tIHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgQ0hFQ0sgY29uc3RyYWlu dHMKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEFERCBDT05TVFJBSU5UIGZw bzJfY2hlY2sgQ0hFQ0sgKE5PVCAnMjAwMi0wMi0wMic6OmRhdGUgPSBBTlkgKG11bHRpcmFuZ2Vf bG93ZXJzKHZhbGlkX2F0KSkpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0ICgne1syMDAxLTAxLTAxLDIwMDItMDItMDIpfScpCisgIFNFVCBu YW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9IDE7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0 aW9uICJmb3JfcG9ydGlvbl9vZl90ZXN0MiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZnBv Ml9jaGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zICgxLCB7WzIwMDAtMDEtMDEs MjAwMS0wMS0wMSksWzIwMDItMDItMDIsMjAxMC0wMS0wNyksWzIwMTAtMDEtMDksMjAyLi4uLCBv bmUpLgorQUxURVIgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgRFJPUCBDT05TVFJBSU5UIGZw bzJfY2hlY2s7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIFdIRVJFIGlkID0g MSBPUkRFUiBCWSB2YWxpZF9hdDsKKyBpZCB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgICAgfCBuYW1lICAKKy0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyAgMSB8IHtbMjAwMC0wMS0w MSwyMDEwLTAxLTA3KSxbMjAxMC0wMS0wOSwyMDIwLTAxLTAxKX0gfCBvbmUKKyAgMSB8IHtbMjAx MC0wMS0wNywyMDEwLTAxLTA5KX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMgorKDIg cm93cykKKworLS0gREVMRVRFIHdvcmtzOgorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzIwMTAtMDEtMDcsMjAxMC0wMS0wOSl9 JykKKyAgV0hFUkUgaWQgPSAyOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBX SEVSRSBpZCA9IDIgT1JERVIgQlkgdmFsaWRfYXQ7CisgaWQgfCAgICAgICAgICAgICAgICAgICAg IHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgbmFtZSAKKy0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorICAyIHwge1sy MDAwLTAxLTAxLDIwMTAtMDEtMDcpLFsyMDEwLTAxLTA5LDIwMjAtMDEtMDEpfSB8IHR3bworKDEg cm93KQorCistLSBUaGUgdGFyZ2V0IGlzIGFsbG93ZWQgdG8gdmlvbGF0ZSB0aGUgZG9tYWluOgor REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKCd7WzE5OTktMDEtMDEsMjAwNS0wNS0wNSl9JykKKyAgV0hFUkUgaWQgPSAtMTsKKy0tIHRl c3QgaW5zZXJ0cyB2aW9sYXRpbmcgdGhlIGRvbWFpbgorREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzIwMDUtMDUtMDUsMjAxMC0w MS0wMSl9JykKKyAgV0hFUkUgaWQgPSAyOworRVJST1I6ICB2YWx1ZSBmb3IgZG9tYWluIGRhdGVt dWx0aXJhbmdlX2QgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAiZGF0ZW11bHRpcmFuZ2VfZF9j aGVjayIKKy0tIHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgQ0hFQ0sgY29uc3RyYWludHMKK0FMVEVS IFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEFERCBDT05TVFJBSU5UIGZwbzJfY2hlY2sg Q0hFQ0sgKE5PVCAnMjAwMi0wMi0wMic6OmRhdGUgPSBBTlkgKG11bHRpcmFuZ2VfbG93ZXJzKHZh bGlkX2F0KSkpOworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgKCd7WzIwMDEtMDEtMDEsMjAwMi0wMi0wMil9JykKKyAgV0hFUkUgaWQg PSAyOworRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAiZm9yX3BvcnRpb25fb2ZfdGVzdDIi IHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgImZwbzJfY2hlY2siCitERVRBSUw6ICBGYWlsaW5n IHJvdyBjb250YWlucyAoMiwge1syMDAwLTAxLTAxLDIwMDEtMDEtMDEpLFsyMDAyLTAyLTAyLDIw MTAtMDEtMDcpLFsyMDEwLTAxLTA5LDIwMi4uLiwgdHdvKS4KK0FMVEVSIFRBQkxFIGZvcl9wb3J0 aW9uX29mX3Rlc3QyIERST1AgQ09OU1RSQUlOVCBmcG8yX2NoZWNrOworU0VMRUNUICogRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9IDIgT1JERVIgQlkgdmFsaWRfYXQ7CisgaWQg fCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgbmFt ZSAKKy0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLQorICAyIHwge1syMDAwLTAxLTAxLDIwMTAtMDEtMDcpLFsyMDEwLTAxLTA5LDIw MjAtMDEtMDEpfSB8IHR3bworKDEgcm93KQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3QyOworLS0gdGVzdCBvbiBub24tcmFuZ2UvbXVsdGlyYW5nZSBjb2x1bW5zCistLSBXaXRoIGEg ZGlyZWN0IHRhcmdldCBhbmQgYSBzY2FsYXIgY29sdW1uCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRp b25fb2ZfdGVzdDIgKAorICBpZCBpbnRlZ2VyLAorICB2YWxpZF9hdCBkYXRlLAorICBuYW1lIHRl eHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiBWQUxVRVMgKDEsICcyMDIw LTAxLTAxJywgJ29uZScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0ICgnMjAxMC0wMS0wMScpCisgIFNFVCBuYW1lID0gJ29uZV4xJzsKK0VS Uk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3Qy IiBpcyBub3QgYSByYW5nZSBvciBtdWx0aXJhbmdlIHR5cGUKK0xJTkUgMjogICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoJzIwMTAtMDEtMDEnKQorICAgICAgICAgICAgICAgICAgICAgICAgIF4K K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0ICgnMjAxMC0wMS0wMScpOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiBvZiByZWxhdGlv biAiZm9yX3BvcnRpb25fb2ZfdGVzdDIiIGlzIG5vdCBhIHJhbmdlIG9yIG11bHRpcmFuZ2UgdHlw ZQorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnMjAxMC0wMS0wMScpOworICAg ICAgICAgICAgICAgICAgICAgICAgIF4KK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7 CistLSBXaXRoIGEgZGlyZWN0IHRhcmdldCBhbmQgYSBub24teyxtdWx0aX1yYW5nZSBnaXN0YWJs ZSBjb2x1bW4gd2l0aG91dCBvdmVybGFwcworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3QyICgKKyAgaWQgaW50ZWdlciwKKyAgdmFsaWRfYXQgcG9pbnQsCisgIG5hbWUgdGV4dAorKTsK K0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIFZBTFVFUyAoMSwgJzAsMCcsICdvbmUn KTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCAoJzEsMScpCisgIFNFVCBuYW1lID0gJ29uZV4xJzsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9h dCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3QyIiBpcyBub3QgYSByYW5nZSBvciBt dWx0aXJhbmdlIHR5cGUKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJzEsMScp CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCcxLDEnKTsKK0VSUk9SOiAgY29sdW1u ICJ2YWxpZF9hdCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3QyIiBpcyBub3QgYSBy YW5nZSBvciBtdWx0aXJhbmdlIHR5cGUKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCAoJzEsMScpOworICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0RST1AgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDI7CistLSBXaXRoIGEgZGlyZWN0IHRhcmdldCBhbmQgYSBub24teyxtdWx0 aX1yYW5nZSBjb2x1bW4gd2l0aCBvdmVybGFwcworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50ZWdlciwKKyAgdmFsaWRfYXQgYm94LAorICBuYW1lIHRleHQKKyk7 CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiBWQUxVRVMgKDEsICcwLDAsNCw0Jywg J29uZScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0ICgnMSwxLDIsMicpCisgIFNFVCBuYW1lID0gJ29uZV4xJzsKK0VSUk9SOiAgY29sdW1u ICJ2YWxpZF9hdCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3QyIiBpcyBub3QgYSBy YW5nZSBvciBtdWx0aXJhbmdlIHR5cGUKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCAoJzEsMSwyLDInKQorICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0RFTEVURSBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnMSwxLDIsMicp OworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiBvZiByZWxhdGlvbiAiZm9yX3BvcnRpb25fb2Zf dGVzdDIiIGlzIG5vdCBhIHJhbmdlIG9yIG11bHRpcmFuZ2UgdHlwZQorTElORSAyOiAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0ICgnMSwxLDIsMicpOworICAgICAgICAgICAgICAgICAgICAgICAg IF4KK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CistLSB0ZXN0IHRoYXQgd2UgcnVu IHRyaWdnZXJzIG9uIHRoZSBVUERBVEUvREVMRVRFZCByb3cgYW5kIHRoZSBJTlNFUlRlZCByb3dz CitDUkVBVEUgRlVOQ1RJT04gZHVtcF90cmlnZ2VyKCkKK1JFVFVSTlMgVFJJR0dFUiBMQU5HVUFH RSBwbHBnc3FsIEFTCiskJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclOiAlICUgJTonLAorICAg IFRHX05BTUUsIFRHX1dIRU4sIFRHX09QLCBUR19MRVZFTDsKKworICBJRiBUR19BUkdWWzBdIFRI RU4KKyAgICBSQUlTRSBOT1RJQ0UgJyAgb2xkOiAlJywgKFNFTEVDVCBzdHJpbmdfYWdnKG9sZF90 YWJsZTo6dGV4dCwgJ1xuICAgICAgICcpIEZST00gb2xkX3RhYmxlKTsKKyAgRUxTRQorICAgIFJB SVNFIE5PVElDRSAnICBvbGQ6ICUnLCBPTEQudmFsaWRfYXQ7CisgIEVORCBJRjsKKyAgSUYgVEdf QVJHVlsxXSBUSEVOCisgICAgUkFJU0UgTk9USUNFICcgIG5ldzogJScsIChTRUxFQ1Qgc3RyaW5n X2FnZyhuZXdfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9NIG5ld190YWJsZSk7CisgIEVM U0UKKyAgICBSQUlTRSBOT1RJQ0UgJyAgbmV3OiAlJywgTkVXLnZhbGlkX2F0OworICBFTkQgSUY7 CisKKyAgSUYgVEdfT1AgPSAnSU5TRVJUJyBPUiBUR19PUCA9ICdVUERBVEUnIFRIRU4KKyAgICBS RVRVUk4gTkVXOworICBFTFNJRiBUR19PUCA9ICdERUxFVEUnIFRIRU4KKyAgICBSRVRVUk4gT0xE OworICBFTkQgSUY7CitFTkQ7CiskJDsKKy0tIHN0YXRlbWVudCB0cmlnZ2VyczoKK0NSRUFURSBU UklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRF IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NF RFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRl cl9pbnNlcnRfc3RtdAorQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBF QUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNl KTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfc3RtdAorQUZURVIgVVBEQVRFIE9O IGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVS RSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9k ZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsK Ky0tIHJvdyB0cmlnZ2VyczoKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVfcm93CitCRUZPUkUg SU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVB Q0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JF QVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2Vy KGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZU RVIgVVBEQVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBS T0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9S IEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAyMS0wMS0wMScgVE8gJzIwMjItMDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVeMycKKyAg V0hFUkUgaWQgPSAnWzUsNiknOworTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBE QVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8 TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgVVBEQVRFIFJPVzoKK05PVElD RTogICAgb2xkOiBbMjAxOS0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IFsyMDIx LTAxLTAxLDIwMjItMDEtMDEpCitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNF UlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxO VUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDE5LTAxLTAxLDIwMjEtMDEtMDEp CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05PVElD RTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIxLTAxLTAx KQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNFUlQgU1RBVEVNRU5U OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAg b2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVf cm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTog ICAgbmV3OiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2Vy dF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6 ICAgIG5ldzogWzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNl cnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4K K05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93OiBB RlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE5LTAxLTAxLDIwMzAtMDEtMDEp CitOT1RJQ0U6ICAgIG5ldzogWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkKK05PVElDRTogIGZwb19h ZnRlcl91cGRhdGVfc3RtdDogQUZURVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xk OiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyMy0wMS0wMScgVE8g JzIwMjQtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK05PVElDRTogIGZwb19iZWZvcmVf c3RtdDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitO T1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIERF TEVURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKK05PVElD RTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VS VCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5V TEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMjItMDEtMDEsMjAyMy0wMS0wMSkK K05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDIyLTAxLTAxLDIwMjMtMDEtMDEp CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6 CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6 ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBv bGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9y b3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAg ICBuZXc6IFsyMDI0LTAxLTAxLDIwMzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0 X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTog ICAgbmV3OiBbMjAyNC0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2Vy dF9zdG10OiBBRlRFUiBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgor Tk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFG VEVSIERFTEVURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMjItMDEtMDEsMjAzMC0wMS0wMSkK K05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDog QUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTog ICAgbmV3OiA8TlVMTD4KK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1l ICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzEsMikg fCBbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDMtMDMsMjAx OC0wMy0xMCkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAzLTE3LDIwMTgtMDQtMDQpIHwgb25lCisg WzMsNCkgfCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAxOC0w Mi0wMSwyMDE4LTAyLTAyKSB8IHRocmVlXjMKKyBbMyw0KSB8IFsyMDE4LTAyLTAzLDIwMTgtMDIt MTUpIHwgdGhyZWVeMworIFszLDQpIHwgWzIwMTgtMDItMTUsMjAxOC0wNi0wMSkgfCB0aHJlZQor IFs1LDYpIHwgKCwyMDE4LTAxLTAxKSAgICAgICAgICAgfCBmaXZlCisgWzUsNikgfCBbMjAxOS0w MS0wMSwyMDIxLTAxLTAxKSB8IGZpdmUKKyBbNSw2KSB8IFsyMDIxLTAxLTAxLDIwMjItMDEtMDEp IHwgZml2ZV4zCisgWzUsNikgfCBbMjAyMi0wMS0wMSwyMDIzLTAxLTAxKSB8IGZpdmUKKyBbNSw2 KSB8IFsyMDI0LTAxLTAxLDIwMzAtMDEtMDEpIHwgZml2ZQorIFs2LDcpIHwgWzIwMTgtMDMtMDEs MjAzMC0wMS0wMSkgfCBzaXgKKyBbNyw4KSB8ICgsMjAxNy0wMS0wMSkgICAgICAgICAgIHwgc2V2 ZW4KKygxNCByb3dzKQorCistLSBUcmlnZ2VycyB3aXRoIGEgY3VzdG9tIHRyYW5zaXRpb24gdGFi bGUgbmFtZToKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBm b3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFu Z2UsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgVkFM VUVTICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyk7CistLSBzdGF0 ZW1lbnQgdHJpZ2dlcnM6CitDUkVBVEUgVFJJR0dFUiBmcG9fYmVmb3JlX3N0bXQKK0JFRk9SRSBJ TlNFUlQgT1IgVVBEQVRFIE9SIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFD SCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7 CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQKK0FGVEVSIElOU0VSVCBPTiBm b3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitG T1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0 cnVlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfc3RtdAorQUZURVIgVVBEQVRF IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE5FVyBUQUJMRSBBUyBuZXdfdGFi bGUgT0xEIFRBQkxFIEFTIG9sZF90YWJsZQorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJP Q0VEVVJFIGR1bXBfdHJpZ2dlcih0cnVlLCB0cnVlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRl cl9kZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVS RU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRfdGFibGUKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRF IFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgZmFsc2UpOworLS0gcm93IHRyaWdnZXJzOgor Q1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9yb3cKK0JFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9S IERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0 ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVS RU5DSU5HIE5FVyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NF RFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIHRydWUpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVy X3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVO Q0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlIE5FVyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZPUiBF QUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1ZSk7CitDUkVB VEUgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0 aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRfdGFibGUKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgZmFsc2UpOworQkVHSU47 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0x NV90b18yMDE5LTAxLTAxJzsKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIFVQREFU RSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5V TEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBST1c6CitOT1RJQ0U6 ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBbMjAxOC0w MS0xNSwyMDE5LTAxLTAxKQorTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJU IFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVM TD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KQor Tk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIw MTgtMDEtMTUpIixvbmUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElO U0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzog KCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpIixvbmUpCitOT1RJQ0U6ICBmcG9fYmVm b3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxM PgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9S RSBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZU RVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiAo IlsxLDIpIiwiWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogIGZwb19hZnRl cl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8 TlVMTD4KK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTktMDEtMDEsMjAyMC0wMS0wMSki LG9uZSkKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93OiBBRlRFUiBVUERBVEUgUk9XOgor Tk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIsb25lKQor Tk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSIsMjAxOC0w MS0xNV90b18yMDE5LTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9zdG10OiBBRlRF UiBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0x NSwyMDE5LTAxLTAxKSIsMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxKQorUk9MTEJBQ0s7CitCRUdJ TjsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKK05PVElDRTogIGZwb19iZWZvcmVfc3Rt dDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIERFTEVU RSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkKK05PVElDRTog ICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VSVCBT VEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+ CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6ICAg IG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMjEsMjAyMC0wMS0wMSkKK05P VElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAg ICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0yMSwyMDIw LTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNF UlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgi WzEsMikiLCJbMjAxOC0wMS0yMSwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVy X2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIs IlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitO T1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3N0bXQ6IEFGVEVSIERFTEVURSBTVEFURU1FTlQ6CitO T1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitO T1RJQ0U6ICAgIG5ldzogPE5VTEw+CitST0xMQkFDSzsKK0JFR0lOOworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4 LTAxLTAyJworICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOworTk9USUNFOiAgZnBv X2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8 TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBC RUZPUkUgVVBEQVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwyMDIwLTAxLTAx KQorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCitOT1RJQ0U6ICBmcG9f YmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxO VUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJF Rk9SRSBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 IFsyMDE4LTAxLTAyLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3Jvdzog QUZURVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3 OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDIsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogIGZwb19h ZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xk OiA8TlVMTD4KK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDIsMjAyMC0wMS0w MSkiLG9uZSkKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93OiBBRlRFUiBVUERBVEUgUk9X OgorTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIsb25l KQorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSIsTlVM TF90b18yMDE4LTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9zdG10OiBBRlRFUiBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwy MDE4LTAxLTAyKSIsTlVMTF90b18yMDE4LTAxLTAxKQorUk9MTEJBQ0s7CistLSBEZWZlcnJlZCB0 cmlnZ2VycworLS0gKG11c3QgYmUgQ09OU1RSQUlOVCB0cmlnZ2VycyB0aHVzIEFGVEVSIFJPVyB3 aXRoIG5vIHRyYW5zaXRpb24gdGFibGVzKQorRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0 OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElOVE8gZm9yX3Bv cnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKK0NSRUFURSBDT05TVFJBSU5UIFRSSUdH RVIgZnBvX2FmdGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90 ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUg UFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIENPTlNUUkFJTlQg VFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBEQVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVECitGT1IgRUFDSCBST1cgRVhF Q1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgQ09OU1RS QUlOVCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3Bv cnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJP VyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0JFR0lOOwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJzIwMTgtMDEtMTVf dG9fMjAxOS0wMS0wMSc7CitDT01NSVQ7CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3Jvdzog QUZURVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3 OiBbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6 IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5l dzogWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93 OiBBRlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEt MDEpCitOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKK0JFR0lOOworREVM RVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NIE5VTEwgVE8gJzIwMTgtMDEtMjEnOworQ09NTUlUOworTk9USUNFOiAgZnBvX2FmdGVyX2lu c2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMTgtMDEtMjEsMjAxOS0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9k ZWxldGVfcm93OiBBRlRFUiBERUxFVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTE1 LDIwMTktMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYWZ0ZXJf ZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0wMS0w MSwyMDE4LTAxLTE1KQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorQkVHSU47CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8g JzIwMTgtMDEtMDInCisgIFNFVCBuYW1lID0gJ05VTExfdG9fMjAxOC0wMS0wMSc7CitDT01NSVQ7 CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8ICAgICAgICAgICBuYW1lICAgICAgICAgICAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLDIpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTIxLDIwMTkt MDEtMDEpIHwgMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxCisoMiByb3dzKQorCistLSB0ZXN0IEZP UiBQT1JUSU9OIE9GIGZyb20gdHJpZ2dlcnMgZHVyaW5nIEZPUiBQT1JUSU9OIE9GOgorRFJPUCBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3QgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0 CispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1l KSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKSwK KyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0d28nKSwKKyAgKCdbMyw0 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywgJ1sy MDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ2ZvdXInKTsKK0NSRUFURSBGVU5DVElPTiB0cmdfZnBv X3VwZGF0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lO CisgIElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgorICAgIFVQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAx JyBUTyAnMjAxOC0wMy0wMScKKyAgICAgIFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUsICdeJykKKyAg ICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNFIFdIRU4gJ1RH X09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQkOworQ1JFQVRF IEZVTkNUSU9OIHRyZ19mcG9fZGVsZXRlKCkKK1JFVFVSTlMgVFJJR0dFUiBMQU5HVUFHRSBwbHBn c3FsIEFTCiskJAorQkVHSU4KKyAgSUYgcGdfdHJpZ2dlcl9kZXB0aCgpID0gMSBUSEVOCisgICAg REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMy0wMScgVE8gJzIwMTgtMDQtMDEnCisgICAgICBXSEVSRSBpZCA9 IE9MRC5pZDsKKyAgRU5EIElGOworICBSRVRVUk4gQ0FTRSBXSEVOICdUR19PUCcgPSAnREVMRVRF JyBUSEVOIE9MRCBFTFNFIE5FVyBFTkQ7CitFTkQ7CiskJDsKKy0tIFVQREFURSBGT1IgUE9SVElP TiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJlZCBieSBVUERBVEUgRk9SIFBPUlRJT04gT0YKK0NSRUFU RSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRp b25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fdXBkYXRl KCk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgU0VUIG5hbWUgPSBDT05DQVQo bmFtZSwgJyonKQorICBXSEVSRSBpZCA9ICdbMSwyKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEsMiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg aWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAxLDIwMTgtMDItMDEp IHwgb25lCisgWzEsMikgfCBbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSB8IG9uZV4KKyBbMSwyKSB8 IFsyMDE4LTAzLTAxLDIwMTgtMDUtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wNS0wMSwyMDE4 LTA2LTAxKSB8IG9uZSoKKyBbMSwyKSB8IFsyMDE4LTA2LTAxLDIwMjAtMDEtMDEpIHwgb25lCiso NSByb3dzKQorCitEUk9QIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cgT04gZm9yX3BvcnRp b25fb2ZfdGVzdDsKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJl ZCBieSBERUxFVEUgRk9SIFBPUlRJT04gT0YKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxl dGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9X IEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fdXBkYXRlKCk7CitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEn IFRPICcyMDE4LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMiwzKSB8IFsyMDE4LTAxLTAxLDIwMTgt MDItMDEpIHwgdHdvCisgWzIsMykgfCBbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSB8IHR3b14KKyBb MiwzKSB8IFsyMDE4LTAzLTAxLDIwMTgtMDUtMDEpIHwgdHdvCisgWzIsMykgfCBbMjAxOC0wNi0w MSwyMDIwLTAxLTAxKSB8IHR3bworKDQgcm93cykKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl9k ZWxldGVfcm93IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CistLSBERUxFVEUgRk9SIFBPUlRJT04g T0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCitDUkVBVEUg VFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBEQVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSB0cmdfZnBvX2RlbGV0ZSgp OworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFNFVCBuYW1lID0gQ09OQ0FUKG5h bWUsICcqJykKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlk ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMy0w MSkgfCB0aHJlZQorIFszLDQpIHwgWzIwMTgtMDQtMDEsMjAxOC0wNS0wMSkgfCB0aHJlZQorIFsz LDQpIHwgWzIwMTgtMDUtMDEsMjAxOC0wNi0wMSkgfCB0aHJlZSoKKyBbMyw0KSB8IFsyMDE4LTA2 LTAxLDIwMjAtMDEtMDEpIHwgdGhyZWUKKyg0IHJvd3MpCisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0 ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworLS0gREVMRVRFIEZPUiBQT1JU SU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZpcmVkIGJ5IERFTEVURSBGT1IgUE9SVElPTiBPRgorQ1JF QVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb19kZWxl dGUoKTsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0g J1s0LDUpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdb NCw1KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQor IFs0LDUpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkgfCBmb3VyCisgWzQsNSkgfCBbMjAxOC0w NC0wMSwyMDE4LTA1LTAxKSB8IGZvdXIKKyBbNCw1KSB8IFsyMDE4LTA2LTAxLDIwMjAtMDEtMDEp IHwgZm91cgorKDMgcm93cykKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93IE9O IGZvcl9wb3J0aW9uX29mX3Rlc3Q7CistLSBUZXN0IHdpdGggbXVsdGlyYW5nZXMKK0NSRUFURSBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAg dmFsaWRfYXQgZGF0ZW11bHRpcmFuZ2UgTk9UIE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwK KyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl90ZXN0Ml9wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2Zf dGVzdDIgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMyknKSwgZGF0ZXJhbmdlKCcy MDE4LTAyLTA0JywgJzIwMTgtMDMtMDMnKSksICdvbmUnKSwKKyAgKCdbMSwyKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0KScpKSwgJ29uZScpLAor ICAoJ1syLDMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgt MDUtMDEpJykpLCAndHdvJyksCisgICgnWzMsNCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCBudWxsKSksICd0aHJlZScpOworICA7CistLSBVcGRhdGluZyB3aXRoIEZS T00vVE8KK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAxMC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25l XjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgb2Yg cmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rlc3QyIiBpcyBub3QgYSByYW5nZSB0eXBlCitMSU5F IDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMTAt MDEtMDEnCisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0gVXBkYXRpbmcgd2l0aCBtdWx0 aXJhbmdlCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0xMCcsICcyMDE4LTAyLTEw JyksIGRhdGVyYW5nZSgnMjAxOC0wMy0wNScsICcyMDE4LTA1LTAxJykpKQorICBTRVQgbmFtZSA9 ICdvbmVeMScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0MiBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgdmFsaWRfYXQ7CisgIGlkICAg fCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCB7WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCksWzIwMTgt MDItMTAsMjAxOC0wMy0wMyl9IHwgb25lCisgWzEsMikgfCB7WzIwMTgtMDEtMTAsMjAxOC0wMi0w MyksWzIwMTgtMDItMDQsMjAxOC0wMi0xMCl9IHwgb25lXjEKKyBbMSwyKSB8IHtbMjAxOC0wMy0w MywyMDE4LTAzLTA1KX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmUKKyBbMSwyKSB8IHtb MjAxOC0wMy0wNSwyMDE4LTA0LTA0KX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMQor KDQgcm93cykKKworLS0gVXBkYXRpbmcgd2l0aCBzdHJpbmcgY29lcmNpb24KK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ3tbMjAxOC0wMy0w NSwyMDE4LTAzLTEwKX0nKQorICBTRVQgbmFtZSA9ICdvbmVeMicKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9ICdbMSwy KScgT1JERVIgQlkgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCB7 WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCksWzIwMTgtMDItMTAsMjAxOC0wMy0wMyl9IHwgb25lCisg WzEsMikgfCB7WzIwMTgtMDEtMTAsMjAxOC0wMi0wMyksWzIwMTgtMDItMDQsMjAxOC0wMi0xMCl9 IHwgb25lXjEKKyBbMSwyKSB8IHtbMjAxOC0wMy0wMywyMDE4LTAzLTA1KX0gICAgICAgICAgICAg ICAgICAgICAgICAgfCBvbmUKKyBbMSwyKSB8IHtbMjAxOC0wMy0wNSwyMDE4LTAzLTEwKX0gICAg ICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMgorIFsxLDIpIHwge1syMDE4LTAzLTEwLDIwMTgt MDQtMDQpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IG9uZV4xCisoNSByb3dzKQorCistLSBV cGRhdGluZyB3aXRoIHRoZSB3cm9uZyByYW5nZSBzdWJ0eXBlIGZhaWxzCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzEsNCl9Jzo6aW50 NG11bHRpcmFuZ2UpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CitFUlJPUjogIGNvdWxkIG5vdCBjb2VyY2UgRk9SIFBPUlRJT04gT0YgdGFyZ2V0IGZyb20gaW50 NG11bHRpcmFuZ2UgdG8gZGF0ZW11bHRpcmFuZ2UKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoJ3tbMSw0KX0nOjppbnQ0bXVsdGlyYW5nZSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgorLS0gVXBkYXRpbmcgd2l0aCBhIG5vbi1tdWx0aXJhbmdldHlwZSBm YWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0ICg0KQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworRVJS T1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JUSU9OIE9GIHRhcmdldCBmcm9tIGludGVnZXIg dG8gZGF0ZW11bHRpcmFuZ2UKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoNCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLS0gVXBkYXRpbmcgd2l0aCBO VUxMIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKE5VTEwpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CitFUlJPUjogIGdvdCBhIE5VTEwgRk9SIFBPUlRJT04gT0YgdGFyZ2V0CistLSBVcGRhdGlu ZyB3aXRoIGVtcHR5IGRvZXMgbm90aGluZworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne30nKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBX SEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgbmFtZSAgCistLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tCisgWzEsMikgfCB7WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCksWzIwMTgtMDItMTAsMjAxOC0w My0wMyl9IHwgb25lCisgWzEsMikgfCB7WzIwMTgtMDEtMTAsMjAxOC0wMi0wMyksWzIwMTgtMDIt MDQsMjAxOC0wMi0xMCl9IHwgb25lXjEKKyBbMSwyKSB8IHtbMjAxOC0wMy0wMywyMDE4LTAzLTA1 KX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmUKKyBbMSwyKSB8IHtbMjAxOC0wMy0wNSwy MDE4LTAzLTEwKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMgorIFsxLDIpIHwge1sy MDE4LTAzLTEwLDIwMTgtMDQtMDQpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IG9uZV4xCiso NSByb3dzKQorCistLSBEZWxldGluZyB3aXRoIEZST00vVE8KK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAn MjAxMC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK K0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgb2YgcmVsYXRpb24gImZvcl9wb3J0aW9uX29mX3Rl c3QyIiBpcyBub3QgYSByYW5nZSB0eXBlCitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMTAtMDEtMDEnCisgICAgICAgICAgICAgICAgICAg ICAgICAgXgorLS0gRGVsZXRpbmcgd2l0aCBtdWx0aXJhbmdlCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnKSwgZGF0ZXJhbmdlKCcyMDE4LTAz LTAxJywgJzIwMTgtMDMtMTUnKSkpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIHZhbGlk X2F0OworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0KKyBbMiwzKSB8IHtbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KSxbMjAx OC0wMi0xNSwyMDE4LTAzLTAxKSxbMjAxOC0wMy0xNSwyMDE4LTA1LTAxKX0gfCB0d28KKygxIHJv dykKKworLS0gRGVsZXRpbmcgd2l0aCBzdHJpbmcgY29lcmNpb24KK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne1syMDE4LTAzLTA1 LDIwMTgtMDMtMjApfScpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIHZhbGlkX2F0Owor ICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0KKyBbMiwzKSB8IHtbMjAxOC0wMS0wMSwyMDE4LTAxLTE1KSxbMjAxOC0wMi0x NSwyMDE4LTAzLTAxKSxbMjAxOC0wMy0yMCwyMDE4LTA1LTAxKX0gfCB0d28KKygxIHJvdykKKwor LS0gRGVsZXRpbmcgd2l0aCB0aGUgd3JvbmcgcmFuZ2Ugc3VidHlwZSBmYWlscworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzEs NCl9Jzo6aW50NG11bHRpcmFuZ2UpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK0VSUk9SOiAgY291 bGQgbm90IGNvZXJjZSBGT1IgUE9SVElPTiBPRiB0YXJnZXQgZnJvbSBpbnQ0bXVsdGlyYW5nZSB0 byBkYXRlbXVsdGlyYW5nZQorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne1sx LDQpfSc6OmludDRtdWx0aXJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCistLSBEZWxldGluZyB3aXRoIGEgbm9uLW11bHRpcmFuZ2V0eXBlIGZhaWxzCitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoNCkK KyAgV0hFUkUgaWQgPSAnWzIsMyknOworRVJST1I6ICBjb3VsZCBub3QgY29lcmNlIEZPUiBQT1JU SU9OIE9GIHRhcmdldCBmcm9tIGludGVnZXIgdG8gZGF0ZW11bHRpcmFuZ2UKK0xJTkUgMjogICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoNCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgorLS0gRGVsZXRpbmcgd2l0aCBOVUxMIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoTlVMTCkKKyAgV0hFUkUg aWQgPSAnWzIsMyknOworRVJST1I6ICBnb3QgYSBOVUxMIEZPUiBQT1JUSU9OIE9GIHRhcmdldAor LS0gRGVsZXRpbmcgd2l0aCBlbXB0eSBkb2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne30nKQorICBXSEVSRSBp ZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBuYW1lICAKKy0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IHtbMjAxOC0wMS0wMiwyMDE4 LTAxLTEwKSxbMjAxOC0wMi0xMCwyMDE4LTAzLTAzKX0gICAgICAgICAgICAgICAgICAgICAgICAg fCBvbmUKKyBbMSwyKSB8IHtbMjAxOC0wMS0xMCwyMDE4LTAyLTAzKSxbMjAxOC0wMi0wNCwyMDE4 LTAyLTEwKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmVeMQorIFsxLDIpIHwge1syMDE4 LTAzLTAzLDIwMTgtMDMtMDUpfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IG9uZQorIFsxLDIpIHwge1syMDE4LTAzLTA1LDIwMTgtMDMtMTApfSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9uZV4yCisgWzEs MikgfCB7WzIwMTgtMDMtMTAsMjAxOC0wNC0wNCl9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgb25lXjEKKyBbMiwzKSB8IHtbMjAxOC0wMS0wMSwyMDE4 LTAxLTE1KSxbMjAxOC0wMi0xNSwyMDE4LTAzLTAxKSxbMjAxOC0wMy0yMCwyMDE4LTA1LTAxKX0g fCB0d28KKyBbMyw0KSB8IHtbMjAxOC0wMS0wMSwpfSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aHJlZQorKDcgcm93cykKKworRFJP UCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKy0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5n ZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwor Q1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBO VUxMLAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBO VUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlv bl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAx OC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMi0wMywy MDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0 KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTA1LTAxKScsICd0d28n KSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyk7CisgIDsKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE4LTAyLTE1JworICBXSEVS RSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTEwLDIwMTgt MDItMDMpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgtMDItMTApIHwgb25lXjEK KyBbMSwyKSB8IFsyMDE4LTAyLTEwLDIwMTgtMDMtMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0w My0wMywyMDE4LTA0LTA0KSB8IG9uZQorIFsyLDMpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkg fCB0d28KKyBbMiwzKSB8IFsyMDE4LTAyLTE1LDIwMTgtMDUtMDEpIHwgdHdvCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwpICAgICAgICAgICB8IHRocmVlCisoOCByb3dzKQorCitEUk9QIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QyOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworLS0gVGVzdCBGT1Ig UE9SVElPTiBPRiBhZ2FpbnN0IGEgcGFydGl0aW9uZWQgdGFibGUuCistLSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF8xIGhhcyB0aGUgc2FtZSBhdHRudW1zIGFzIHRoZSByb290CistLSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8zIGhhcyB0aGUgZGlmZmVyZW50IGF0dG51bXMgZnJvbSB0aGUgcm9vdAorLS0g dGVtcG9yYWxfcGFydGl0aW9uZWRfNSBoYXMgdGhlIGRpZmZlcmVudCBhdHRudW1zIHRvbywgYnV0 IHJldmVyc2VkCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5U IHRlbXBvcmFsX3Bhcml0aW9uZWRfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKykgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8xIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVT IElOICgnWzEsMiknLCAnWzIsMyknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF8zIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzMs NCknLCAnWzQsNSknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IFBBUlRJ VElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04g dGVtcG9yYWxfcGFydGl0aW9uZWRfMzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk XzMgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfMyBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTCwgQURE IENPTFVNTiB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgRk9S IFZBTFVFUyBJTiAoJ1szLDQpJywgJ1s0LDUpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBERVRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzU7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IERST1AgQ09MVU1OIGlkLCBEUk9QIENPTFVNTiB2 YWxpZF9hdDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgQUREIENPTFVNTiB2 YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsIEFERCBDT0xVTU4gaWQgaW50NHJhbmdlIE5PVCBO VUxMOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgQVRUQUNIIFBBUlRJVElPTiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IEZPUiBWQUxVRVMgSU4gKCdbNSw2KScsICdbNiw3KScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFM VUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAn b25lJyksCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAndGhyZWUnKSwKKyAgKCdbNSw2KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAx LTAxJyksICdmaXZlJyk7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAx KSB8IG9uZQorIFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIFs1LDYp IHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCBmaXZlCisoMyByb3dzKQorCistLSBVcGRhdGUg d2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9yYWxfcGFydGl0 aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8gJzIwMDAt MDQtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBV cGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAzCitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8g JzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDUKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAz LTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4xJworICBXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDEgdG8gcGFydGl0aW9uIDMKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjInLAorICAgICAgaWQg PSAnWzQsNSknCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24g MyB0byBwYXJ0aXRpb24gMQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFt ZSA9ICd0aHJlZV4yJywKKyAgICAgIGlkID0gJ1syLDMpJworICBXSEVSRSBpZCA9ICdbMyw0KSc7 CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDUgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBU TyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJywKKyAgICAgIGlkID0gJ1szLDQp JworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBVcGRhdGUgYWxsIHBhcnRpdGlvbnMgYXQgb25j ZSAoZWFjaCB3aXRoIGxlZnRvdmVycykKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCAgbmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LQorIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDAw LTAzLTAxLDIwMDAtMDQtMDEpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYt MDEpIHwgb25lCisgWzEsMikgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IG9uZQorIFsyLDMp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkgfCB0aHJlZV4yCisgWzMsNCkgfCBbMjAwMC0wMS0w MSwyMDAwLTAzLTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKSB8 IHRocmVlXjEKKyBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwgdGhyZWUKKyBbMyw0 KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgZml2ZV4yCisgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKSB8IHRocmVlCisgWzQsNSkgfCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8 IG9uZV4yCisgWzUsNikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IGZpdmUKKyBbNSw2KSB8 IFsyMDAwLTAzLTAxLDIwMDAtMDQtMDEpIHwgZml2ZV4xCisgWzUsNikgfCBbMjAwMC0wNC0wMSwy MDAwLTA2LTAxKSB8IGZpdmUKKyBbNSw2KSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgZml2 ZQorKDE1IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfMSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBu YW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzEs MikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBvbmVeMQorIFsxLDIpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNi0wMSkgfCBv bmUKKyBbMSwyKSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgb25lCisgWzIsMykgfCBbMjAw MC0wNi0wMSwyMDAwLTA3LTAxKSB8IHRocmVlXjIKKyg1IHJvd3MpCisKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIG5hbWUgICB8 ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0tLS0tLS0rLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdGhyZWUgICB8IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAw MC0wMy0wMSkKKyB0aHJlZV4xIHwgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKQorIHRo cmVlICAgfCBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpCisgZml2ZV4yICB8IFszLDQp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkKKyB0aHJlZSAgIHwgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKQorIG9uZV4yICAgfCBbNCw1KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEp CisoNiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBuYW1lICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIGlk ICAgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBmaXZlICAg fCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IFs1LDYpCisgZml2ZV4xIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBbNSw2KQorIGZpdmUgICB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwg WzUsNikKKyBmaXZlICAgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IFs1LDYpCisoNCByb3dz KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworUkVTRVQgZGF0ZXN0eWxlOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggZGFhZmFhOTRmZGUu LmM3MTk0Mzk1MGE5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZp bGVnZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQK QEAgLTExMTksNiArMTExOSwzNCBAQCBFUlJPUjogIG51bGwgdmFsdWUgaW4gY29sdW1uICJiIiBv ZiByZWxhdGlvbiAiZXJydHN0X3BhcnRfMiIgdmlvbGF0ZXMgbm90LW51bGwgYwogREVUQUlMOiAg RmFpbGluZyByb3cgY29udGFpbnMgKGEsIGIsIGMpID0gKGFhYWEsIG51bGwsIGNjYykuCiBTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIERST1AgVEFCTEUgZXJy dHN0OworLS0gdGVzdCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgcmFuZ2UgdXNlZCBp biBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZf dXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBjMSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IHRz cmFuZ2UsCisJQ09OU1RSQUlOVCB0MXBrIFBSSU1BUlkgS0VZIChjMSwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CistLSBVUERBVEUgcmVxdWlyZXMgc2VsZWN0IHBlcm1pc3Npb24gb24g dGhlIHZhbGlkX2F0IGNvbHVtbiAoYnV0IG5vdCB1cGRhdGUpOgorR1JBTlQgU0VMRUNUIChjMSkg T04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOworR1JBTlQgVVBEQVRFIChjMSkgT04gdDEgVE8g cmVncmVzc19wcml2X3VzZXIyOworR1JBTlQgU0VMRUNUIChjMSwgdmFsaWRfYXQpIE9OIHQxIFRP IHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFVQREFURSAoYzEpIE9OIHQxIFRPIHJlZ3Jlc3Nf cHJpdl91c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIy OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRP ICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmll ZCBmb3IgdGFibGUgdDEKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3Vz ZXIzOworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEn IFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CistLSBERUxFVEUgcmVxdWlyZXMgc2VsZWN0IHBlcm1p c3Npb24gb24gdGhlIHZhbGlkX2F0IGNvbHVtbjoKK0dSQU5UIERFTEVURSBPTiB0MSBUTyByZWdy ZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBERUxFVEUgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIz OworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjI7CitERUxFVEUg RlJPTSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAw MS0wMS0wMSc7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZSB0MQorU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjM7CitERUxFVEUgRlJPTSB0MSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMSc7 CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0RST1AgVEFC TEUgdDE7CiAtLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2aWxlZ2VzIHdoZW4gaW52b2x2ZWQgd2l0 aCBERUxFVEUKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwog QUxURVIgVEFCTEUgYXRlc3Q2IEFERCBDT0xVTU4gdGhyZWUgaW50ZWdlcjsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dAppbmRleCAwM2RmN2U3NWI3Yi4u ZGRiOWQwNjZjOWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRh YmxlX3ZpZXdzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92 aWV3cy5vdXQKQEAgLTM3MDAsNiArMzcwMCwzOCBAQCBzZWxlY3QgKiBmcm9tIHV2X2lvY3VfdGFi OwogCiBkcm9wIHZpZXcgdXZfaW9jdV92aWV3OwogZHJvcCB0YWJsZSB1dl9pb2N1X3RhYjsKKy0t IENoZWNrIFVQREFURSBGT1IgUE9SVElPTiBPRiB3b3JrcyBjb3JyZWN0bHkKK2NyZWF0ZSB0YWJs ZSB1dl9mcG9fdGFiIChpZCBpbnQ0cmFuZ2UsIHZhbGlkX2F0IHRzcmFuZ2UsIGIgZmxvYXQsCisg ICAgY29uc3RyYWludCBwa191dl9mcG9fdGFiIHByaW1hcnkga2V5IChpZCwgdmFsaWRfYXQgd2l0 aG91dCBvdmVybGFwcykpOworaW5zZXJ0IGludG8gdXZfZnBvX3RhYiB2YWx1ZXMgKCdbMSwxXScs ICdbMjAyMC0wMS0wMSwgMjAzMC0wMS0wMSknLCAwKTsKK2NyZWF0ZSB2aWV3IHV2X2Zwb192aWV3 IGFzCisgICAgc2VsZWN0IGIsIGIrMSBhcyBjLCB2YWxpZF9hdCwgaWQsICcyLjAnOjp0ZXh0IGFz IHR3byBmcm9tIHV2X2Zwb190YWI7CitpbnNlcnQgaW50byB1dl9mcG9fdmlldyAoaWQsIHZhbGlk X2F0LCBiKSB2YWx1ZXMgKCdbMSwxXScsICdbMjAxMC0wMS0wMSwgMjAyMC0wMS0wMSknLCAxKTsK K3NlbGVjdCAqIGZyb20gdXZfZnBvX3ZpZXcgb3JkZXIgYnkgaWQsIHZhbGlkX2F0OworIGIgfCBj IHwgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICAg ICB8ICBpZCAgIHwgdHdvIAorLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLQorIDEgfCAyIHwgWyJGcmkg SmFuIDAxIDAwOjAwOjAwIDIwMTAiLCJXZWQgSmFuIDAxIDAwOjAwOjAwIDIwMjAiKSB8IFsxLDIp IHwgMi4wCisgMCB8IDEgfCBbIldlZCBKYW4gMDEgMDA6MDA6MDAgMjAyMCIsIlR1ZSBKYW4gMDEg MDA6MDA6MDAgMjAzMCIpIHwgWzEsMikgfCAyLjAKKygyIHJvd3MpCisKK3VwZGF0ZSB1dl9mcG9f dmlldyBmb3IgcG9ydGlvbiBvZiB2YWxpZF9hdCBmcm9tICcyMDE1LTAxLTAxJyB0byAnMjAyMC0w MS0wMScgc2V0IGIgPSAyIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAqIGZyb20gdXZfZnBv X3ZpZXcgb3JkZXIgYnkgaWQsIHZhbGlkX2F0OworIGIgfCBjIHwgICAgICAgICAgICAgICAgICAg ICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICBpZCAgIHwgdHdvIAorLS0t Ky0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLSstLS0tLQorIDEgfCAyIHwgWyJGcmkgSmFuIDAxIDAwOjAwOjAwIDIwMTAi LCJUaHUgSmFuIDAxIDAwOjAwOjAwIDIwMTUiKSB8IFsxLDIpIHwgMi4wCisgMiB8IDMgfCBbIlRo dSBKYW4gMDEgMDA6MDA6MDAgMjAxNSIsIldlZCBKYW4gMDEgMDA6MDA6MDAgMjAyMCIpIHwgWzEs MikgfCAyLjAKKyAwIHwgMSB8IFsiV2VkIEphbiAwMSAwMDowMDowMCAyMDIwIiwiVHVlIEphbiAw MSAwMDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAorKDMgcm93cykKKworZGVsZXRlIGZyb20g dXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2YgdmFsaWRfYXQgZnJvbSAnMjAxNy0wMS0wMScgdG8g JzIwMjItMDEtMDEnIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAqIGZyb20gdXZfZnBvX3Zp ZXcgb3JkZXIgYnkgaWQsIHZhbGlkX2F0OworIGIgfCBjIHwgICAgICAgICAgICAgICAgICAgICAg ICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICBpZCAgIHwgdHdvIAorLS0tKy0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLSstLS0tLQorIDEgfCAyIHwgWyJGcmkgSmFuIDAxIDAwOjAwOjAwIDIwMTAiLCJU aHUgSmFuIDAxIDAwOjAwOjAwIDIwMTUiKSB8IFsxLDIpIHwgMi4wCisgMiB8IDMgfCBbIlRodSBK YW4gMDEgMDA6MDA6MDAgMjAxNSIsIlN1biBKYW4gMDEgMDA6MDA6MDAgMjAxNyIpIHwgWzEsMikg fCAyLjAKKyAwIHwgMSB8IFsiU2F0IEphbiAwMSAwMDowMDowMCAyMDIyIiwiVHVlIEphbiAwMSAw MDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAorKDMgcm93cykKKwogLS0gVGVzdCB3aG9sZS1y b3cgcmVmZXJlbmNlcyB0byB0aGUgdmlldwogY3JlYXRlIHRhYmxlIHV2X2lvY3VfdGFiIChhIGlu dCB1bmlxdWUsIGIgdGV4dCk7CiBjcmVhdGUgdmlldyB1dl9pb2N1X3ZpZXcgYXMKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CmluZGV4IGYzMTQ0YmRj MzljLi40MDE1NTBiNTQ4MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93 aXRob3V0X292ZXJsYXBzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhv dXRfb3ZlcmxhcHMub3V0CkBAIC0yLDcgKzIsNyBAQAogLS0KIC0tIFdlIGxlYXZlIGJlaGluZCBz ZXZlcmFsIHRhYmxlcyB0byB0ZXN0IHBnX2R1bXAgZXRjOgogLS0gdGVtcG9yYWxfcm5nLCB0ZW1w b3JhbF9ybmcyLAotLS0gdGVtcG9yYWxfZmtfcm5nMnJuZy4KKy0tIHRlbXBvcmFsX2ZrX3JuZzJy bmcsIHRlbXBvcmFsX2ZrMl9ybmcycm5nLgogU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKIC0t CiAtLSB0ZXN0IGlucHV0IHBhcnNlcgpAQCAtODg5LDYgKzg4OSwzNiBAQCBJTlNFUlQgSU5UTyB0 ZW1wb3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQogICAoJ1sxLDIpJywgZGF0ZXJhbmdl KCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s3LDgpJywgJ2ZvbycpLAogICAoJ1syLDMp JywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s5LDEwKScsICdiYXIn KQogOworVVBEQVRFIHRlbXBvcmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTA1LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcxJzsKK1VQREFU RSB0ZW1wb3JhbDMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wNC0wMScgVE8g JzIwMDAtMDYtMDEnCisgIFNFVCBuYW1lID0gbmFtZSB8fCAnMicKKyAgV0hFUkUgaWQgPSAnWzIs MyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbDMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgaWQyICAgfCBuYW1lICAKKy0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAw MC0wMS0wMSwyMDAwLTA1LTAxKSB8IFs3LDgpICB8IGZvbworIFsxLDIpIHwgWzIwMDAtMDUtMDEs MjAwMC0wNy0wMSkgfCBbNyw4KSAgfCBmb28xCisgWzEsMikgfCBbMjAwMC0wNy0wMSwyMDEwLTAx LTAxKSB8IFs3LDgpICB8IGZvbworIFsyLDMpIHwgWzIwMDAtMDEtMDEsMjAwMC0wNC0wMSkgfCBb OSwxMCkgfCBiYXIKKyBbMiwzKSB8IFsyMDAwLTA0LTAxLDIwMDAtMDUtMDEpIHwgWzksMTApIHwg YmFyMgorIFsyLDMpIHwgWzIwMDAtMDUtMDEsMjAwMC0wNi0wMSkgfCBbOSwxMCkgfCBiYXIxMgor IFsyLDMpIHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkgfCBbOSwxMCkgfCBiYXIxCisgWzIsMykg fCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IFs5LDEwKSB8IGJhcgorKDggcm93cykKKworLS0g Y29uZmxpY3RpbmcgaWQgb25seToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsMyAoaWQsIHZhbGlkX2F0 LCBpZDIsIG5hbWUpCisgIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDA1LTAxLTAx JywgJzIwMDYtMDEtMDEnKSwgJ1s4LDkpJywgJ2ZvbzMnKTsKK0VSUk9SOiAgY29uZmxpY3Rpbmcg a2V5IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbDNfcGsiCitE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAwNS0wMS0wMSwyMDA2LTAxLTAx KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIw MDAtMDctMDEsMjAxMC0wMS0wMSkpLgorLS0gY29uZmxpY3RpbmcgaWQyIG9ubHk6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQorICBWQUxVRVMKKyAgKCdb Myw0KScsIGRhdGVyYW5nZSgnMjAwNS0wMS0wMScsICcyMDEwLTAxLTAxJyksICdbOSwxMCknLCAn YmFyMycpOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMgZXhjbHVzaW9u IGNvbnN0cmFpbnQgInRlbXBvcmFsM191bmlxIgorREVUQUlMOiAgS2V5IChpZDIsIHZhbGlkX2F0 KT0oWzksMTApLCBbMjAwNS0wMS0wMSwyMDEwLTAxLTAxKSkgY29uZmxpY3RzIHdpdGggZXhpc3Rp bmcga2V5IChpZDIsIHZhbGlkX2F0KT0oWzksMTApLCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSku CiBEUk9QIFRBQkxFIHRlbXBvcmFsMzsKIC0tCiAtLSB0ZXN0IGNoYW5naW5nIHRoZSBQSydzIGRl cGVuZGVuY2llcwpAQCAtOTIwLDI2ICs5NTAsNDMgQEAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCiAgICgnWzEsMiknLCBkYXRlcmFu Z2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCiAgICgnWzEsMiknLCBkYXRl cmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyksCiAgICgnWzMsNCknLCBk YXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndGhyZWUnKTsKLVNFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotICBpZCAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tCi0gWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8 IG9uZQotIFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKLSBbMyw0KSB8IFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3Ms ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgdGFi bGVvaWQgfCAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0t LS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgdHAxICAgICAg fCBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAtMDItMDEpIHwgb25lCisgdHAxICAgICAgfCBbMSwy KSB8IFsyMDAwLTAyLTAxLDIwMDAtMDMtMDEpIHwgb25lCisgdHAyICAgICAgfCBbMyw0KSB8IFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKICgzIHJvd3MpCiAKLVNFTEVDVCAqIEZST00g dHAxIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgbmFtZSAKLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KLSBb MSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAtMDItMDEpIHwgb25lCi0gWzEsMikgfCBbMjAwMC0wMi0w MSwyMDAwLTAzLTAxKSB8IG9uZQotKDIgcm93cykKLQotU0VMRUNUICogRlJPTSB0cDIgT1JERVIg QlkgaWQsIHZhbGlkX2F0OwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1l ICAKLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCi0gWzMsNCkgfCBb MjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCi0oMSByb3cpCitVUERBVEUgIHRlbXBvcmFs X3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUn IFRPICcyMDAwLTAyLTE1JworICBTRVQgbmFtZSA9ICdvbmUyJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDAtMDItMjAnIFRPICcyMDAwLTAyLTI1JworICBTRVQgaWQgPSAnWzQsNSkn CisgIFdIRVJFIG5hbWUgPSAnb25lJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEn CisgIFNFVCBpZCA9ICdbMiwzKScKKyAgV0hFUkUgbmFtZSA9ICd0aHJlZSc7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNU IHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyB0YWJsZW9pZCB8ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCBuYW1lICAKKy0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0KKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMS0xNSkgfCBv bmUKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDEtMTUsMjAwMC0wMi0wMSkgfCBvbmUyCisg dHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAtMDItMTUpIHwgb25lMgorIHRwMSAg ICAgIHwgWzEsMikgfCBbMjAwMC0wMi0xNSwyMDAwLTAyLTIwKSB8IG9uZQorIHRwMSAgICAgIHwg WzEsMikgfCBbMjAwMC0wMi0yNSwyMDAwLTAzLTAxKSB8IG9uZQorIHRwMSAgICAgIHwgWzIsMykg fCBbMjAwMi0wMS0wMSwyMDAzLTAxLTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0KSB8IFsy MDAwLTAxLTAxLDIwMDAtMDEtMTUpIHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAt MDItMTUsMjAwMi0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzMsNCkgfCBbMjAwMy0wMS0w MSwyMDEwLTAxLTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBbNCw1KSB8IFsyMDAwLTAyLTIwLDIw MDAtMDItMjUpIHwgb25lCisoMTAgcm93cykKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZDsKIC0tIHRlbXBvcmFsIFVOSVFVRToKQEAgLTk1NSwyNiArMTAwMiw0MyBAQCBJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAg KCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwK ICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUn KSwKICAgKCdbMyw0KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0 aHJlZScpOwotU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAotLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KLSBbMSwyKSB8IFsyMDAwLTAx LTAxLDIwMDAtMDItMDEpIHwgb25lCi0gWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8 IG9uZQotIFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorU0VMRUNUIHRh Ymxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyB0YWJsZW9pZCB8ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBuYW1lICAKKy0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0KKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUK KyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyB0cDIg ICAgICB8IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQogKDMgcm93cykK IAotU0VMRUNUICogRlJPTSB0cDEgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotICBpZCAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLQotIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKLSBb MSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAtMDMtMDEpIHwgb25lCi0oMiByb3dzKQotCi1TRUxFQ1Qg KiBGUk9NIHRwMiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFsaWRf YXQgICAgICAgICB8IG5hbWUgIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0KLSBbMyw0KSB8IFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKLSgxIHJvdykK K1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAwMC0wMS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFNFVCBuYW1lID0gJ29uZTInCisg IFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMi0yMCcgVE8gJzIwMDAtMDItMjUnCisg IFNFVCBpZCA9ICdbNCw1KScKKyAgV0hFUkUgbmFtZSA9ICdvbmUnOworVVBEQVRFICB0ZW1wb3Jh bF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAx JyBUTyAnMjAwMy0wMS0wMScKKyAgU0VUIGlkID0gJ1syLDMpJworICBXSEVSRSBuYW1lID0gJ3Ro cmVlJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUnIFRPICcyMDAwLTAyLTE1JworICBXSEVSRSBpZCA9 ICdbMyw0KSc7CitTRUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0w MSwyMDAwLTAxLTE1KSB8IG9uZQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0xNSwyMDAw LTAyLTAxKSB8IG9uZTIKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMi0x NSkgfCBvbmUyCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAyLTE1LDIwMDAtMDItMjApIHwg b25lCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAyLTI1LDIwMDAtMDMtMDEpIHwgb25lCisg dHAxICAgICAgfCBbMiwzKSB8IFsyMDAyLTAxLTAxLDIwMDMtMDEtMDEpIHwgdGhyZWUKKyB0cDIg ICAgICB8IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMS0xNSkgfCB0aHJlZQorIHRwMiAgICAg IHwgWzMsNCkgfCBbMjAwMC0wMi0xNSwyMDAyLTAxLTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBb Myw0KSB8IFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFs0LDUp IHwgWzIwMDAtMDItMjAsMjAwMC0wMi0yNSkgfCBvbmUKKygxMCByb3dzKQogCiBEUk9QIFRBQkxF IHRlbXBvcmFsX3BhcnRpdGlvbmVkOwogLS0gQUxURVIgVEFCTEUgUkVQTElDQSBJREVOVElUWQpA QCAtMTc1NSw2ICsxODE5LDMzIEBAIFVQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgp JwogICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKTsKIEVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAi dGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9m a19ybmcycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIKIERFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJybmciLgorLS0gY2hhbmdp bmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0ZW1wb3JhbF9ybmcKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMn CisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcg anVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcm5nCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworICBTRVQgaWQgPSAn WzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBv biB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9ma19ybmcycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIKK0RF VEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEp KSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJybmciLgor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScp IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzUsNikgfCBbMjAxNi0wMi0w MSwyMDE2LTAzLTAxKQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8 IFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpCisgWzcsOCkgfCBbMjAxOC0wMS0wMiwyMDE4LTAxLTAz KQorKDQgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk IGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBbNSw2 KQorKDEgcm93KQorCiAtLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQg dGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgogREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CiBVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxNi0wMS0wMScsICcyMDE2LTAyLTAxJykKQEAgLTE4MDIsNiArMTg5 Myw0MiBAQCBCRUdJTjsKIENPTU1JVDsKIEVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19ybmcycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIKIERFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBz dGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJybmciLgorLS0gZGVs ZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgt MDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbNSw2KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCisgWzUsNikgfCBbMjAx OC0wMS0wMywyMDE4LTAyLTAxKQorKDIgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19ybmcycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg IGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDUs MjAxOC0wMS0xMCkgfCBbNSw2KQorKDEgcm93KQorCistLSBkZWxldGluZyBqdXN0IGEgcGFydCBm YWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitF UlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMg Zm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnJuZ19mayIgb24gdGFibGUg InRlbXBvcmFsX2ZrX3JuZzJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYp LCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxl ICJ0ZW1wb3JhbF9ma19ybmcycm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJF IGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAx LTAzLDIwMTgtMDItMDEpCisoMiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4 LTAxLTEwKSB8IFs1LDYpCisoMSByb3cpCisKIC0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3Rpbmcg RksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CiBERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKIERFTEVURSBGUk9NIHRlbXBv cmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKQEAgLTE4MTgsMTEgKzE5NDUsMTIgQEAgQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBPTiBERUxFVEUgUkVTVFJJQ1Q7CiBFUlJPUjogIHVu c3VwcG9ydGVkIE9OIERFTEVURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNp bmcgUEVSSU9ECiAtLQotLS0gdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tIHJuZzJy bmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCiAtLSB0ZXN0IEZLIHJlZmVyZW5j ZWQgdXBkYXRlcyBDQVNDQURFCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbNCw1KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQpAQCAtMTgzMCw4ICsxOTU4LDkgQEAgQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnJuZwogICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVND QURFOwogRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtl eSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOSwx MCknKTsKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQpA QCAtMTgzOSw5ICsxOTY4LDEwIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAg ICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwogRVJST1I6ICB1bnN1cHBv cnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBF UklPRAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKK1RSVU5DQVRF IHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51 bGwpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb MTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzEyLDEz KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp Jyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycm5nX2ZrCkBAIC0yMjExLDYgKzIzNDEsMjIgQEAgVVBEQVRFIHRlbXBvcmFsX21sdHJu ZyBTRVQgaWQgPSAnWzcsOCknCiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIEVS Uk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfbWx0cm5nIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrIiBv biB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIKIERFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIuCistLSBjaGFuZ2lu ZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZwor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAyJywgJzIwMTgtMDEtMDMnKSkpCisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hFUkUgaWQg PSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9y YWxfbWx0cm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkKKyAgU0VUIGlkID0gJ1s3LDgpJwor ICBXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUg InRlbXBvcmFsX21sdHJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEtMDEsMjAx OC0wMS0wMiksWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSl9KSBpcyBzdGlsbCByZWZlcmVuY2VkIGZy b20gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmciLgorLS0gdGhlbiBkZWxldGUgdGhl IG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMsNCknOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpKTsKIC0tCiAtLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNU UklDVAogLS0KQEAgLTIyNTMsNiArMjM5OSwxOSBAQCBCRUdJTjsKIENPTU1JVDsKIEVSUk9SOiAg dXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfbWx0cm5nIiB2aW9sYXRlcyBmb3Jl aWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrIiBvbiB0YWJs ZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIKIERFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0 KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jZWQg ZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIuCistLSBkZWxldGluZyBhbiB1 bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nCitG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAyJywgJzIwMTgtMDEtMDMnKSkpCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBkZWxldGluZyBq dXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZworRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wNScsICcy MDE4LTAxLTEwJykpKQorV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVs ZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9m a19tbHRybmcybWx0cm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwge1sy MDE4LTAxLTAxLDIwMTgtMDEtMDIpLFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpfSkgaXMgc3RpbGwg cmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4KKy0tIHRo ZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUg c3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTgtMDItMDEnKSk7CiAtLQogLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IHJh bmdlcwogLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUg Yi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IGNjNmQ3OTliY2VhLi4z ZDQ4MDVlNDMwMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC00OCw3ICs0OCw3 IEBAIHRlc3Q6IGNyZWF0ZV9pbmRleCBjcmVhdGVfaW5kZXhfc3BnaXN0IGNyZWF0ZV92aWV3IGlu ZGV4X2luY2x1ZGluZyBpbmRleF9pbmNsdWRpCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBncm91 cCBvZiBwYXJhbGxlbCB0ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBjcmVhdGVfYWdncmVnYXRl IGNyZWF0ZV9mdW5jdGlvbl9zcWwgY3JlYXRlX2Nhc3QgY29uc3RyYWludHMgdHJpZ2dlcnMgc2Vs ZWN0IGluaGVyaXQgdHlwZWRfdGFibGUgdmFjdXVtIGRyb3BfaWZfZXhpc3RzIHVwZGF0YWJsZV92 aWV3cyByb2xlYXR0cmlidXRlcyBjcmVhdGVfYW0gaGFzaF9mdW5jIGVycm9ycyBpbmZpbml0ZV9y ZWN1cnNlCit0ZXN0OiBjcmVhdGVfYWdncmVnYXRlIGNyZWF0ZV9mdW5jdGlvbl9zcWwgY3JlYXRl X2Nhc3QgY29uc3RyYWludHMgdHJpZ2dlcnMgc2VsZWN0IGluaGVyaXQgdHlwZWRfdGFibGUgdmFj dXVtIGRyb3BfaWZfZXhpc3RzIHVwZGF0YWJsZV92aWV3cyByb2xlYXR0cmlidXRlcyBjcmVhdGVf YW0gaGFzaF9mdW5jIGVycm9ycyBpbmZpbml0ZV9yZWN1cnNlIGZvcl9wb3J0aW9uX29mCiAKICMg LS0tLS0tLS0tLQogIyBzYW5pdHlfY2hlY2sgZG9lcyBhIHZhY3V1bSwgYWZmZWN0aW5nIHRoZSBz b3J0IG9yZGVyIG9mIFNFTEVDVCAqCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9m b3JfcG9ydGlvbl9vZi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5z cWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjcyZmI1MjczMDc3Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3Fs CkBAIC0wLDAgKzEsMTM1NiBAQAorLS0gVGVzdHMgZm9yIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJ T04gT0YKKworU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKKworLS0gV29ya3Mgb24gbm9uLVBL IGNvbHVtbnMKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dCBOT1QgTlVMTAorKTsKK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAyMC0wMS0wMSknLCAnb25lJyk7CisKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTgtMDEtMTUnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMSc7CitTRUxFQ1Qg KiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMTUnIFRPICcyMDE5LTAxLTIwJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIFdpdGggYSB0YWJsZSBhbGlh cyB3aXRoIEFTCisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDItMDEnIFRPICcyMDE5LTAyLTAzJyBBUyB0CisgIFNFVCBu YW1lID0gJ29uZV4yJzsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAyLTAzJyBUTyAnMjAxOS0wMi0wNCcgQVMg dDsKKworLS0gV2l0aCBhIHRhYmxlIGFsaWFzIHdpdGhvdXQgQVMKKworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wNCcg VE8gJzIwMTktMDItMDUnIHQKKyAgU0VUIG5hbWUgPSAnb25lXjMnOworCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDItMDUnIFRPICcyMDE5LTAyLTA2JyB0OworCistLSBVUERBVEUgd2l0aCBGUk9NCisKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDMtMDEnIHRvICcyMDE5LTAzLTAyJworICBTRVQgbmFtZSA9ICdvbmVeNCcKKyAgRlJPTSAo U0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMgdDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9u X29mX3Rlc3QuaWQgPSB0Mi5pZDsKKworLS0gREVMRVRFIHdpdGggVVNJTkcKKworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAzLTAyJyBUTyAnMjAxOS0wMy0wMycKKyAgVVNJTkcgKFNFTEVDVCAnWzEsMiknOjppbnQ0 cmFuZ2UpIEFTIHQyKGlkKQorICBXSEVSRSBmb3JfcG9ydGlvbl9vZl90ZXN0LmlkID0gdDIuaWQ7 CisKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tIFdvcmtzIG9uIG1vcmUgdGhhbiBvbmUgcmFuZ2UKK0RST1AgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgKKyAgaWQg aW50NHJhbmdlLAorICB2YWxpZDFfYXQgZGF0ZXJhbmdlLAorICB2YWxpZDJfYXQgZGF0ZXJhbmdl LAorICBuYW1lIHRleHQgTk9UIE5VTEwKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90 ZXN0IChpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywg J1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ1syMDE1LTAxLTAxLDIwMjUtMDEtMDEpJywgJ29u ZScpOworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxp ZDFfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdmb28nOworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZh bGlkMl9hdDsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWQyX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnYmFyJzsK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0 LCB2YWxpZDJfYXQ7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWQxX2F0IEZST00gJzIwMTgtMDEtMjAnIFRPIE5VTEw7CitTRUxFQ1QgKiBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFsaWQyX2F0 OworCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkMl9hdCBGUk9NICcyMDE4LTAxLTIwJyBUTyBOVUxMOworU0VMRUNUICogRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdDsKKworLS0gVGVz dCB3aXRoIE5VTExzIGluIHRoZSBzY2FsYXIvcmFuZ2Uga2V5IGNvbHVtbnMuCistLSBUaGlzIHdv bid0IGhhcHBlbiBpZiB0aGVyZSBpcyBhIFBSSU1BUlkgS0VZIG9yIFVOSVFVRSBjb25zdHJhaW50 CistLSBidXQgRk9SIFBPUlRJT04gT0Ygc2hvdWxkbid0IHJlcXVpcmUgdGhhdC4KK0RST1AgVEFC TEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBVTkxPR0dFRCBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9h dCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBOVUxMLCAnMSBudWxsJyksCisgICgnWzEsMikn LCAnKCwpJywgJzEgdW5ib3VuZGVkJyksCisgICgnWzEsMiknLCAnZW1wdHknLCAnMSBlbXB0eScp LAorICAoTlVMTCwgTlVMTCwgTlVMTCksCisgIChOVUxMLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAxOS0wMS0wMScpLCAnbnVsbCBrZXknKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0 CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFNFVCBuYW1l ID0gJ05VTEwgdG8gTlVMTCc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisK Ky0tCistLSBVUERBVEUgdGVzdHMKKy0tCisKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0ICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9U IE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9v Zl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5T RVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMK KyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwy KScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAx OC0wMy0wMywyMDE4LTA0LTA0KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwy MDE4LTAxLTA1KScsICd0d28nKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVl JyksCisgICgnWzQsNSknLCAnKCwyMDE4LTA0LTAxKScsICdmb3VyJyksCisgICgnWzUsNiknLCAn KCwpJywgJ2ZpdmUnKQorICA7Citcc2V0IFFVSUVUIGZhbHNlCisKKy0tIFVwZGF0aW5nIHdpdGgg YSBtaXNzaW5nIGNvbHVtbiBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgaW52YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFNFVCBu YW1lID0gJ2ZvbycKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBVcGRhdGluZyB0aGUgcmFu Z2UgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VUIHZhbGlkX2F0ID0gJ1sxOTkw LTAxLTAxLDE5OTktMDEtMDEpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKKy0tIFRoZSB3cm9u ZyBzdGFydCB0eXBlIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gJzIwMjAtMDEtMDEnCisgIFNFVCBuYW1lID0gJ25v cGUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVGhlIHdyb25nIGVuZCB0eXBlIGZhaWxz CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTAxLTAxJyBUTyA0CisgIFNFVCBuYW1lID0gJ25vcGUnCisgIFdIRVJFIGlkID0g J1szLDQpJzsKKworLS0gVXBkYXRpbmcgd2l0aCB0aW1lc3RhbXBzIHJldmVyc2VkIGZhaWxzCitV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE4LTA2LTAxJyBUTyAnMjAxOC0wMS0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMScKKyAg V0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGluZyB3aXRoIGEgc3VicXVlcnkgZmFpbHMK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gKFNFTEVDVCAnMjAxOC0wMS0wMScpIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9ICdu b3BlJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggYSBjb2x1bW4g ZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAg V0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgZXF1YWwg ZG9lcyBub3RoaW5nCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgU0VUIG5hbWUg PSAndGhyZWVeMCcKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGluZyBhIGZpbml0 ZS9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScg VE8gTlVMTAorICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitT RUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzMsNCknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKworLS0gVXBkYXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdp dGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFNFVCBu YW1lID0gJ3RocmVlXjInCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1NFTEVDVCAqIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMyw0KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLSBVcGRhdGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5p dGUgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFNFVCBuYW1lID0gJ2ZvdXJeMScK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIFVwZGF0aW5n IGFuIG9wZW4vZmluaXRlIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorVVBEQVRF IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx Ny0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdmb3VyXjInCisgIFdIRVJFIGlkID0gJ1s0 LDUpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbNCw1 KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBVcGRhdGluZyBhIGZpbml0ZS9maW5pdGUg cG9ydGlvbiB3aXRoIGFuIGV4YWN0IGZpdAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMTgtMDItMDEn CisgIFNFVCBuYW1lID0gJ2ZvdXJeMycKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisKKy0tIFVwZGF0aW5nIGFuIGVuY2xvc2VkIHNwYW4KK1VQREFURSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxM CisgIFNFVCBuYW1lID0gJ3R3b14yJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKworLS0gVXBkYXRpbmcgYW4gb3Blbi9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0 ZS9maW5pdGUgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAxJyBUTyAnMjAxOS0wMS0wMScKKyAgU0VUIG5h bWUgPSAnZml2ZV4xJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzUsNiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0gVXBkYXRpbmcgYW4gZW5jbG9zZWQgc3BhbiB3aXRoIHNlcGFyYXRlIHByb3RydWRpbmcg c3BhbnMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTctMDEtMDEnIFRPICcyMDIwLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZl XjInCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdCBXSEVSRSBpZCA9ICdbNSw2KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBVcGRh dGluZyBtdWx0aXBsZSBlbmNsb3NlZCBzcGFucworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgU0VUIG5hbWUg PSAnb25lXjInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LSBVcGRhdGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMy0xMCcsICcy MDE4LTAzLTE1JykpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEsMiknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQs IGNvZXJjZWQgZnJvbSBhIHN0cmluZworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgKCdbMjAxOC0wMy0xNSwyMDE4LTAzLTE3KScpCisgIFNFVCBu YW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEsMiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0gVXBkYXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQgb2YgdGhlIHdyb25nIHJhbmdlIHN1 YnR5cGUgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IChpbnQ0cmFuZ2UoMSwgNCkpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVS RSBpZCA9ICdbMSwyKSc7CisKKy0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0IG9mIGEg bm9uLXJhbmdldHlwZSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgKDQpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9 ICdbMSwyKSc7CisKKy0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0IG9mIE5VTEwgZmFp bHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChOVUxMKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCist LSBVcGRhdGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBlbXB0eSBkb2VzIG5vdGhpbmcKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnZW1w dHknKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tIFVwZGF0aW5nIHRoZSBub24tcmFuZ2UgcGFydCBvZiB0aGUgUEs6 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTAyLTE1JyBUTyBOVUxMCisgIFNFVCBpZCA9ICdbNiw3KScKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0g J1sxLDIpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIFVQREFURSB3aXRoIG5vIFdIRVJF IGNsYXVzZQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFtZSA9IG5hbWUgfHwgJyon OworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworXHNldCBRVUlFVCB0cnVlCisKKy0tIFVwZGF0aW5nIHdpdGggYSBzaGlmdC9yZWR1Y2Ug Y29uZmxpY3QKKy0tIChyZXF1aXJlcyBhIHRzcmFuZ2UgY29sdW1uKQorQ1JFQVRFIFVOTE9HR0VE IFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCB0c3JhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90 ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAwMC0wMS0w MSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKy0tIHVwZGF0ZXMgWzIwMTEtMDMtMDEgMDE6MDI6MDAs IDIwMTItMDEtMDEpIChub3RlIDIgbWludXRlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0 MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdAorICAgIEZST00gJzIwMTEtMDMtMDEnOjp0aW1l c3RhbXAgKyBJTlRFUlZBTCAnMTowMjowMycgSE9VUiBUTyBNSU5VVEUKKyAgICBUTyAnMjAxMi0w MS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0g VE8gaXMgdXNlZCBmb3IgdGhlIGJvdW5kIGJ1dCBub3QgdGhlIElOVEVSVkFMOgorLS0gc3ludGF4 IGVycm9yCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQKKyAgICBGUk9NICcyMDEzLTAzLTAxJzo6dGltZXN0YW1wICsgSU5URVJWQUwgJzE6MDI6 MDMnIEhPVVIKKyAgICBUTyAnMjAxNC0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjInCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworLS0gYWRkaW5nIHBhcmVucyBmaXhlcyBpdAorLS0gdXBkYXRl cyBbMjAxNS0wMy0wMSAwMTowMDowMCwgMjAxNi0wMS0wMSkgKG5vIG1pbnV0ZXMpCitVUERBVEUg Zm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQKKyAgICBGUk9N ICgnMjAxNS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VSKQorICAg IFRPICcyMDE2LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEs MiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CisKKy0tIFVQREFURSBG T1IgUE9SVElPTiBPRiBpbiBhIENURToKKworLS0gVmlzaWJsZSB0byBTRUxFQ1Q6CitJTlNFUlQg SU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVuJyk7CitXSVRIIHVwZGF0 ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1LTAxJworICAgIFNFVCBu YW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMCwxMSknCisgICAgUkVUVVJOSU5H IGlkLCB2YWxpZF9hdCwgbmFtZQorKQorU0VMRUNUICoKKyAgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0IEFTIHQsIHVwZGF0ZV9hcHIKKyAgV0hFUkUgdC5pZCA9IHVwZGF0ZV9hcHIuaWQ7CitTRUxF Q1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEwLDExKSc7CisKKy0t IFVQREFURSBGT1IgUE9SVElPTiBPRiB3aXRoIGN1cnJlbnRfZGF0ZQorLS0gKFdlIHRha2UgY2Fy ZSBub3QgdG8gbWFrZSB0aGUgZXhwZWN0YXRpb24gZGVwZW5kIG9uIHRoZSB0aW1lc3RhbXAuKQor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxV RVMKKyAgKCdbOTksMTAwKScsICdbMjAwMC0wMS0wMSwpJywgJ2ZvbycpOworVVBEQVRFIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBjdXJyZW50X2Rh dGUgVE8gbnVsbAorICBTRVQgbmFtZSA9ICdiYXInCisgIFdIRVJFIGlkID0gJ1s5OSwxMDApJzsK K1NFTEVDVCBuYW1lLCBsb3dlcih2YWxpZF9hdCkgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IFdIRVJFIGlkID0gJ1s5OSwxMDApJyBBTkQgdmFsaWRfYXQgQD4gY3VycmVudF9kYXRlIC0gMTsK K1NFTEVDVCBuYW1lLCB1cHBlcih2YWxpZF9hdCkgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IFdIRVJFIGlkID0gJ1s5OSwxMDApJyBBTkQgdmFsaWRfYXQgQD4gY3VycmVudF9kYXRlICsgMTsK KworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHdpdGggY2xvY2tfdGltZXN0YW1wKCkKKy0tIGZh aWxzIGJlY2F1c2UgdGhlIGZ1bmN0aW9uIGlzIHZvbGF0aWxlOgorVVBEQVRFIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBjbG9ja190aW1lc3RhbXAo KTo6ZGF0ZSBUTyBudWxsCisgIFNFVCBuYW1lID0gJ2JheicKKyAgV0hFUkUgaWQgPSAnWzk5LDEw MCknOworCistLSBjbGVhbiB1cDoKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hF UkUgaWQgPSAnWzk5LDEwMCknOworCistLSBOb3QgdmlzaWJsZSB0byBVUERBVEU6CistLSBUdXBs ZXMgdXBkYXRlZC9pbnNlcnRlZCB3aXRoaW4gdGhlIENURSBhcmUgbm90IHZpc2libGUgdG8gdGhl IG1haW4gcXVlcnkgeWV0LAorLS0gYnV0IG5laXRoZXIgYXJlIG9sZCB0dXBsZXMgdGhlIENURSBj aGFuZ2VkOgorSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMTEsMTIpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ2Vs ZXZlbicpOworV0lUSCB1cGRhdGVfYXByIEFTICgKKyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA0LTAxJyBUTyAnMjAx OC0wNS0wMScKKyAgICBTRVQgbmFtZSA9ICdBcHIgMjAxOCcKKyAgICBXSEVSRSBpZCA9ICdbMTEs MTIpJworICAgIFJFVFVSTklORyBpZCwgdmFsaWRfYXQsIG5hbWUKKykKK1VQREFURSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEn IFRPICcyMDE4LTA2LTAxJworICBBUyB0CisgIFNFVCBuYW1lID0gJ01heSAyMDE4JworICBGUk9N IHVwZGF0ZV9hcHIgQVMgagorICBXSEVSRSB0LmlkID0gai5pZDsKK1NFTEVDVCAqIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgSU4gKCdbMTAsMTEpJywgJ1sxMSwxMiknKTsKKworLS0g VVBEQVRFIEZPUiBQT1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRP IGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEw LDExKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElP TiBmcG9fdXBkYXRlKF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3Rp bCBkYXRlKQorUkVUVVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJDIgVE8gJDMKKyAgICBTRVQgbmFtZSA9IGNvbmNhdChfdGFyZ2V0X2Zyb206OnRleHQsICcg dG8gJywgX3RhcmdldF90aWw6OnRleHQpCisgICAgV0hFUkUgaWQgPSAkMTsKK0VORDsKKyQkOwor U0VMRUNUIGZwb191cGRhdGUoJ1sxMCwxMSknLCAnMjAxNS0wMS0wMScsICcyMDE5LTAxLTAxJyk7 CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEwLDExKSc7 CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIGNvbXBpbGVkIFNRTCBmdW5jdGlvbgor Q1JFQVRFIEZVTkNUSU9OIGZwb191cGRhdGUoKQorUkVUVVJOUyB0ZXh0CitCRUdJTiBBVE9NSUMK KyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0wMScKKyAgICBTRVQgbmFtZSA9ICdvbmVe MScKKyAgICBSRVRVUk5JTkcgbmFtZTsKK0VORDsKK1xzZisgZnBvX3VwZGF0ZSgpCitDUkVBVEUg T1IgUkVQTEFDRSBmdW5jdGlvbiBmcG9fdXBkYXRlKCkKK1JFVFVSTlMgdGV4dAorQkVHSU4gQVRP TUlDCisgIFVQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMS0xNScsICcyMDIwLTAxLTAxJykgKiBkYXRlcmFuZ2Uo JzIwMTktMDEtMDEnLCAnMjAyMi0wMS0wMScpKQorICAgIFNFVCBuYW1lID0gJ29uZV4xJworICAg IFJFVFVSTklORyBuYW1lOworRU5EOworXHNmKyBmcG9fdXBkYXRlKCkKK0RST1AgRlVOQ1RJT04g ZnBvX3VwZGF0ZSgpOworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tCist LSBERUxFVEUgdGVzdHMKKy0tCisKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0ICgK KyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEws CisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl9wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElO VE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdb MSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdb MjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0w MywyMDE4LTA0LTA0KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAx LTA1KScsICd0d28nKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyksCisg ICgnWzQsNSknLCAnKCwyMDE4LTA0LTAxKScsICdmb3VyJyksCisgICgnWzUsNiknLCAnKCwpJywg J2ZpdmUnKSwKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwpJywgJ3NpeCcpLAorICAoJ1s3LDgp JywgJygsMjAxOC0wNC0wMSknLCAnc2V2ZW4nKSwKKyAgKCdbOCw5KScsICdbMjAxOC0wMS0wMiwy MDE4LTAyLTAzKScsICdlaWdodCcpLAorICAoJ1s4LDkpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMt MDMpJywgJ2VpZ2h0JyksCisgICgnWzgsOSknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAn ZWlnaHQnKQorICA7Citcc2V0IFFVSUVUIGZhbHNlCisKKy0tIERlbGV0aW5nIHdpdGggYSBtaXNz aW5nIGNvbHVtbiBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiBpbnZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgV0hFUkUg aWQgPSAnWzUsNiknOworCistLSBUaGUgd3Jvbmcgc3RhcnQgdHlwZSBmYWlscworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEg VE8gJzIwMjAtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVGhlIHdyb25nIGVu ZCB0eXBlIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPIDQKKyAgV0hFUkUgaWQgPSAnWzMs NCknOworCistLSBEZWxldGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wNi0wMScgVE8gJzIwMTgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKwor LS0gRGVsZXRpbmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0w MS0wMScpIFRPICcyMDE4LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0 aW5nIHdpdGggYSBjb2x1bW4gZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAor ICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdpdGggdGltZXN0YW1wcyBlcXVh bCBkb2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDQtMDEnCisgIFdI RVJFIGlkID0gJ1szLDQpJzsKKworLS0gRGVsZXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdp dGggYSBmaW5pdGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBX SEVSRSBpZCA9ICdbMyw0KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hF UkUgaWQgPSAnWzMsNCknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRpbmcgYSBm aW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFyZ2V0CitERUxFVEUgRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVM TCBUTyAnMjAxOC0wMy0wMScKKyAgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s2LDcpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tIERlbGV0aW5nIGFuIG9wZW4vZmluaXRlIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zp bml0ZSB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAyLTAxJworICBXSEVSRSBpZCA9ICdb NCw1KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQs NSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUg cG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRP IE5VTEwKKyAgV0hFUkUgaWQgPSAnWzcsOCknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IFdIRVJFIGlkID0gJ1s3LDgpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIERl bGV0aW5nIGEgZmluaXRlL2Zpbml0ZSBwb3J0aW9uIHdpdGggYW4gZXhhY3QgZml0CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDItMDEnIFRPICcyMDE4LTA0LTAxJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitTRUxF Q1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzQsNSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRpbmcgYW4gZW5jbG9zZWQgc3BhbgorREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5V TEwgVE8gTlVMTAorICBXSEVSRSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0gRGVsZXRpbmcgYW4gb3Blbi9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9maW5pdGUgdGFy Z2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBXSEVSRSBpZCA9ICdb NSw2KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzUs NiknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRpbmcgYW4gZW5jbG9zZWQgc3Bh biB3aXRoIHNlcGFyYXRlIHByb3RydWRpbmcgc3BhbnMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMycgVE8g JzIwMTgtMDMtMDMnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLSBEZWxldGluZyBtdWx0aXBsZSBlbmNsb3NlZCBzcGFucworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVM TAorICBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QgV0hFUkUgaWQgPSAnWzgsOSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRp bmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMy0xMCcsICcyMDE4 LTAzLTE1JykpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCwgY29lcmNlZCBmcm9tIGEgc3RyaW5nCitE RUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 ICgnWzIwMTgtMDMtMTUsMjAxOC0wMy0xNyknKQorICBXSEVSRSBpZCA9ICdbMSwyKSc7CitTRUxF Q1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAnWzEsMiknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0gRGVsZXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQgb2YgdGhl IHdyb25nIHJhbmdlIHN1YnR5cGUgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGludDRyYW5nZSgxLCA0KSkKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworCistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBhIG5v bi1yYW5nZXR5cGUgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgKDQpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gRGVs ZXRpbmcgd2l0aCBhIGRpcmVjdCB0YXJnZXQgb2YgTlVMTCBmYWlscworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoTlVMTCkKKyAgV0hF UkUgaWQgPSAnWzEsMiknOworCistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldCBvZiBl bXB0eSBkb2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgKCdlbXB0eScpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1NF TEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMSwyKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLSBERUxFVEUgd2l0aCBubyBXSEVSRSBjbGF1c2UKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAzMC0wMS0wMScgVE8gTlVMTDsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1xzZXQgUVVJRVQgdHJ1ZQorCistLSBVUERBVEUg Li4uIFJFVFVSTklORyByZXR1cm5zIG9ubHkgdGhlIHVwZGF0ZWQgdmFsdWVzIChub3QgdGhlIGlu c2VydGVkIHNpZGUgdmFsdWVzKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScgVE8gJzIwMTgtMDItMTUnCisgIFNF VCBuYW1lID0gJ3RocmVlXjMnCisgIFdIRVJFIGlkID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsK KworLS0gREVMRVRFIEZPUiBQT1JUSU9OIE9GIHdpdGggY3VycmVudF9kYXRlCistLSAoV2UgdGFr ZSBjYXJlIG5vdCB0byBtYWtlIHRoZSBleHBlY3RhdGlvbiBkZXBlbmQgb24gdGhlIHRpbWVzdGFt cC4pCitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUp IFZBTFVFUworICAoJ1s5OSwxMDApJywgJ1syMDAwLTAxLTAxLCknLCAnZm9vJyk7CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g Y3VycmVudF9kYXRlIFRPIG51bGwKKyAgV0hFUkUgaWQgPSAnWzk5LDEwMCknOworU0VMRUNUIG5h bWUsIGxvd2VyKHZhbGlkX2F0KSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgV0hFUkUgaWQg PSAnWzk5LDEwMCknIEFORCB2YWxpZF9hdCBAPiBjdXJyZW50X2RhdGUgLSAxOworU0VMRUNUIG5h bWUsIHVwcGVyKHZhbGlkX2F0KSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgV0hFUkUgaWQg PSAnWzk5LDEwMCknIEFORCB2YWxpZF9hdCBAPiBjdXJyZW50X2RhdGUgKyAxOworCistLSBERUxF VEUgRk9SIFBPUlRJT04gT0Ygd2l0aCBjbG9ja190aW1lc3RhbXAoKQorLS0gZmFpbHMgYmVjYXVz ZSB0aGUgZnVuY3Rpb24gaXMgdm9sYXRpbGU6CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gY2xvY2tfdGltZXN0YW1wKCk6OmRh dGUgVE8gbnVsbAorICBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CisKKy0tIGNsZWFuIHVwOgorREVM RVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbOTksMTAwKSc7CisKKy0t IERFTEVURSAuLi4gUkVUVVJOSU5HIHJldHVybnMgdGhlIGRlbGV0ZWQgdmFsdWVzIChyZWdhcmRs ZXNzIG9mIGJvdW5kcykKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMicgVE8gJzIwMTgtMDItMDMnCisgIFdI RVJFIGlkID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsKKworLS0gREVMRVRFIEZPUiBQT1JUSU9O IE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rl c3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElPTiBmcG9fZGVsZXRlKF9pZCBp bnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2 b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAkMwor ICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsKK1NFTEVDVCBmcG9fZGVsZXRlKCdbMTAsMTEp JywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScpOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdCBXSEVSRSBpZCBJTiAoJ1sxMCwxMSknKTsKKworLS0gREVMRVRFIEZPUiBQT1JUSU9O IE9GIGluIGEgY29tcGlsZWQgU1FMIGZ1bmN0aW9uCitDUkVBVEUgRlVOQ1RJT04gZnBvX2RlbGV0 ZSgpCitSRVRVUk5TIHRleHQKK0JFR0lOIEFUT01JQworICBERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScg VE8gJzIwMTktMDEtMDEnCisgICAgUkVUVVJOSU5HIG5hbWU7CitFTkQ7Citcc2YrIGZwb19kZWxl dGUoKQorQ1JFQVRFIE9SIFJFUExBQ0UgZnVuY3Rpb24gZnBvX2RlbGV0ZSgpCitSRVRVUk5TIHRl eHQKK0JFR0lOIEFUT01JQworICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMS0xNScsICcyMDIwLTAx LTAxJykgKiBkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMi0wMS0wMScpKQorICAgIFJFVFVS TklORyBuYW1lOworRU5EOworXHNmKyBmcG9fZGVsZXRlKCkKK0RST1AgRlVOQ1RJT04gZnBvX2Rl bGV0ZSgpOworCisKKy0tIHRlc3QgZG9tYWlucyBhbmQgQ0hFQ0sgY29uc3RyYWludHMKKworLS0g V2l0aCBhIGRvbWFpbiBvbiBhIHJhbmdldHlwZQorQ1JFQVRFIERPTUFJTiBkYXRlcmFuZ2VfZCBB UyBkYXRlcmFuZ2UgQ0hFQ0sgKHVwcGVyKFZBTFVFKSA8PiAnMjAwNS0wNS0wNSc6OmRhdGUpOwor Q1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50ZWdlciwKKyAgdmFs aWRfYXQgZGF0ZXJhbmdlX2QsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0 aW9uX29mX3Rlc3QyIFZBTFVFUworICAoMSwgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywgJ29u ZScpLAorICAoMiwgJ1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpJywgJ3R3bycpOworSU5TRVJUIElO VE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIgVkFMVUVTCisgICgxLCAnWzIwMDAtMDEtMDEsMjAwNS0w NS0wNSknLCAnbm9wZScpOworLS0gVVBEQVRFIHdvcmtzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTAtMDEtMDEnIFRPICcy MDEwLTAxLTA1JworICBTRVQgbmFtZSA9ICdvbmVeMScKKyAgV0hFUkUgaWQgPSAxOworVVBEQVRF IGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnWzIwMTAt MDEtMDcsMjAxMC0wMS0wOSknKQorICBTRVQgbmFtZSA9ICdvbmVeMicKKyAgV0hFUkUgaWQgPSAx OworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9IDEgT1JERVIg QlkgdmFsaWRfYXQ7CistLSBUaGUgdGFyZ2V0IGlzIGFsbG93ZWQgdG8gdmlvbGF0ZSB0aGUgZG9t YWluOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzE5OTktMDEtMDEnIFRPICcyMDA1LTA1LTA1JworICBTRVQgbmFtZSA9ICdtaXNz JworICBXSEVSRSBpZCA9IC0xOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0ICgnWzE5OTktMDEtMDEsMjAwNS0wNS0wNSknKQorICBTRVQgbmFt ZSA9ICdtaXNzJworICBXSEVSRSBpZCA9IC0xOworLS0gdGVzdCB0aGUgdXBkYXRlZCByb3cgdmlv bGF0aW5nIHRoZSBkb21haW4KK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcxOTk5LTAxLTAxJyBUTyAnMjAwNS0wNS0wNScKKyAgU0VU IG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gMTsKKy0tIHRlc3QgaW5zZXJ0cyB2aW9sYXRp bmcgdGhlIGRvbWFpbgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMDUtMDUtMDUnIFRPICcyMDEwLTAxLTAxJworICBTRVQgbmFt ZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAxOworLS0gdGVzdCB1cGRhdGVkIHJvdyB2aW9sYXRp bmcgQ0hFQ0sgY29uc3RyYWludHMKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisg IEFERCBDT05TVFJBSU5UIGZwbzJfY2hlY2sgQ0hFQ0sgKHVwcGVyKHZhbGlkX2F0KSA8PiAnMjAw MS0wMS0xMScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTExJworICBTRVQgbmFtZSA9 ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAxOworQUxURVIgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dDIgRFJPUCBDT05TVFJBSU5UIGZwbzJfY2hlY2s7CistLSB0ZXN0IGluc2VydHMgdmlvbGF0aW5n IENIRUNLIGNvbnN0cmFpbnRzCitBTFRFUiBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBB REQgQ09OU1RSQUlOVCBmcG8yX2NoZWNrIENIRUNLIChsb3dlcih2YWxpZF9hdCkgPD4gJzIwMDIt MDItMDInKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMi0wMicKKyAgU0VUIG5hbWUgPSAn b25lXjMnCisgIFdIRVJFIGlkID0gMTsKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Qy IERST1AgQ09OU1RSQUlOVCBmcG8yX2NoZWNrOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0MiBXSEVSRSBpZCA9IDEgT1JERVIgQlkgdmFsaWRfYXQ7CistLSBERUxFVEUgd29ya3M6 CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDEwLTAxLTAxJyBUTyAnMjAxMC0wMS0wNScKKyAgV0hFUkUgaWQgPSAyOwor REVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKCdbMjAxMC0wMS0wNywyMDEwLTAxLTA5KScpCisgIFdIRVJFIGlkID0gMjsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAyIE9SREVSIEJZIHZhbGlkX2F0 OworLS0gVGhlIHRhcmdldCBpcyBhbGxvd2VkIHRvIHZpb2xhdGUgdGhlIGRvbWFpbjoKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzE5OTktMDEtMDEnIFRPICcyMDA1LTA1LTA1JworICBXSEVSRSBpZCA9IC0xOworREVMRVRF IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCdb MTk5OS0wMS0wMSwyMDA1LTA1LTA1KScpCisgIFdIRVJFIGlkID0gLTE7CistLSB0ZXN0IGluc2Vy dHMgdmlvbGF0aW5nIHRoZSBkb21haW4KK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Qy CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDUtMDUtMDUnIFRPICcyMDEwLTAx LTAxJworICBXSEVSRSBpZCA9IDI7CistLSB0ZXN0IGluc2VydHMgdmlvbGF0aW5nIENIRUNLIGNv bnN0cmFpbnRzCitBTFRFUiBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBBREQgQ09OU1RS QUlOVCBmcG8yX2NoZWNrIENIRUNLIChsb3dlcih2YWxpZF9hdCkgPD4gJzIwMDItMDItMDInKTsK K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAyLTAyJworICBXSEVSRSBpZCA9IDI7CitB TFRFUiBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBEUk9QIENPTlNUUkFJTlQgZnBvMl9jaGVj azsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAyIE9SREVS IEJZIHZhbGlkX2F0OworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKworLS0gV2l0 aCBhIGRvbWFpbiBvbiBhIG11bHRpcmFuZ2V0eXBlCitDUkVBVEUgRlVOQ1RJT04gbXVsdGlyYW5n ZV9sb3dlcnMobXIgYW55bXVsdGlyYW5nZSkgUkVUVVJOUyBhbnlhcnJheSBMQU5HVUFHRSBzcWwg QVMgJCQKKyAgU0VMRUNUIGFycmF5X2FnZyhsb3dlcihyKSkgRlJPTSBVTk5FU1QobXIpIHUocik7 CiskJDsKK0NSRUFURSBGVU5DVElPTiBtdWx0aXJhbmdlX3VwcGVycyhtciBhbnltdWx0aXJhbmdl KSBSRVRVUk5TIGFueWFycmF5IExBTkdVQUdFIHNxbCBBUyAkJAorICBTRUxFQ1QgYXJyYXlfYWdn KHVwcGVyKHIpKSBGUk9NIFVOTkVTVChtcikgdShyKTsKKyQkOworQ1JFQVRFIERPTUFJTiBkYXRl bXVsdGlyYW5nZV9kIEFTIGRhdGVtdWx0aXJhbmdlIENIRUNLIChOT1QgJzIwMDUtMDUtMDUnOjpk YXRlID0gQU5ZIChtdWx0aXJhbmdlX3VwcGVycyhWQUxVRSkpKTsKK0NSRUFURSBUQUJMRSBmb3Jf cG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludGVnZXIsCisgIHZhbGlkX2F0IGRhdGVtdWx0aXJh bmdlX2QsCisgIG5hbWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qy IFZBTFVFUworICAoMSwgJ3tbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKX0nLCAnb25lJyksCisgICgy LCAne1syMDAwLTAxLTAxLDIwMjAtMDEtMDEpfScsICd0d28nKTsKK0lOU0VSVCBJTlRPIGZvcl9w b3J0aW9uX29mX3Rlc3QyIFZBTFVFUworICAoMSwgJ3tbMjAwMC0wMS0wMSwyMDA1LTA1LTA1KX0n LCAnbm9wZScpOworLS0gVVBEQVRFIHdvcmtzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3Qy CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne1syMDEwLTAxLTA3LDIwMTAtMDEtMDkpfScp CisgIFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9IDE7CitTRUxFQ1QgKiBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QyIFdIRVJFIGlkID0gMSBPUkRFUiBCWSB2YWxpZF9hdDsKKy0tIFRo ZSB0YXJnZXQgaXMgYWxsb3dlZCB0byB2aW9sYXRlIHRoZSBkb21haW46CitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzE5OTktMDEtMDEs MjAwNS0wNS0wNSl9JykKKyAgU0VUIG5hbWUgPSAnbWlzcycKKyAgV0hFUkUgaWQgPSAtMTsKKy0t IHRlc3QgdGhlIHVwZGF0ZWQgcm93IHZpb2xhdGluZyB0aGUgZG9tYWluCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzE5OTktMDEtMDEs MjAwNS0wNS0wNSl9JykKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gMTsKKy0t IHRlc3QgaW5zZXJ0cyB2aW9sYXRpbmcgdGhlIGRvbWFpbgorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgne1syMDA1LTA1LTA1LDIwMTAtMDEt MDEpfScpCisgIFNFVCBuYW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9IDE7CistLSB0ZXN0IHVw ZGF0ZWQgcm93IHZpb2xhdGluZyBDSEVDSyBjb25zdHJhaW50cworQUxURVIgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgQUREIENPTlNUUkFJTlQgZnBvMl9jaGVjayBDSEVDSyAodXBwZXIo dmFsaWRfYXQpIDw+ICcyMDAxLTAxLTExJyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzIwMDAtMDEtMDEsMjAwMS0wMS0xMSl9JykK KyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gMTsKK0FMVEVSIFRBQkxFIGZvcl9w b3J0aW9uX29mX3Rlc3QyIERST1AgQ09OU1RSQUlOVCBmcG8yX2NoZWNrOworLS0gdGVzdCBpbnNl cnRzIHZpb2xhdGluZyBDSEVDSyBjb25zdHJhaW50cworQUxURVIgVEFCTEUgZm9yX3BvcnRpb25f b2ZfdGVzdDIKKyAgQUREIENPTlNUUkFJTlQgZnBvMl9jaGVjayBDSEVDSyAoTk9UICcyMDAyLTAy LTAyJzo6ZGF0ZSA9IEFOWSAobXVsdGlyYW5nZV9sb3dlcnModmFsaWRfYXQpKSk7CitVUERBVEUg Zm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzIwMDEt MDEtMDEsMjAwMi0wMi0wMil9JykKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0g MTsKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyIERST1AgQ09OU1RSQUlOVCBmcG8y X2NoZWNrOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9IDEg T1JERVIgQlkgdmFsaWRfYXQ7CistLSBERUxFVEUgd29ya3M6CitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ3tbMjAxMC0wMS0wNywy MDEwLTAxLTA5KX0nKQorICBXSEVSRSBpZCA9IDI7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QyIFdIRVJFIGlkID0gMiBPUkRFUiBCWSB2YWxpZF9hdDsKKy0tIFRoZSB0YXJnZXQg aXMgYWxsb3dlZCB0byB2aW9sYXRlIHRoZSBkb21haW46CitERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJ3tbMTk5OS0wMS0wMSwyMDA1 LTA1LTA1KX0nKQorICBXSEVSRSBpZCA9IC0xOworLS0gdGVzdCBpbnNlcnRzIHZpb2xhdGluZyB0 aGUgZG9tYWluCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoJ3tbMjAwNS0wNS0wNSwyMDEwLTAxLTAxKX0nKQorICBXSEVSRSBpZCA9 IDI7CistLSB0ZXN0IGluc2VydHMgdmlvbGF0aW5nIENIRUNLIGNvbnN0cmFpbnRzCitBTFRFUiBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBBREQgQ09OU1RSQUlOVCBmcG8yX2NoZWNrIENI RUNLIChOT1QgJzIwMDItMDItMDInOjpkYXRlID0gQU5ZIChtdWx0aXJhbmdlX2xvd2Vycyh2YWxp ZF9hdCkpKTsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0ICgne1syMDAxLTAxLTAxLDIwMDItMDItMDIpfScpCisgIFdIRVJFIGlkID0g MjsKK0FMVEVSIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyIERST1AgQ09OU1RSQUlOVCBmcG8y X2NoZWNrOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9IDIg T1JERVIgQlkgdmFsaWRfYXQ7CitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworCist LSB0ZXN0IG9uIG5vbi1yYW5nZS9tdWx0aXJhbmdlIGNvbHVtbnMKKworLS0gV2l0aCBhIGRpcmVj dCB0YXJnZXQgYW5kIGEgc2NhbGFyIGNvbHVtbgorQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50ZWdlciwKKyAgdmFsaWRfYXQgZGF0ZSwKKyAgbmFtZSB0ZXh0Cisp OworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIgVkFMVUVTICgxLCAnMjAyMC0wMS0w MScsICdvbmUnKTsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCAoJzIwMTAtMDEtMDEnKQorICBTRVQgbmFtZSA9ICdvbmVeMSc7CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoJzIw MTAtMDEtMDEnKTsKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CisKKy0tIFdpdGgg YSBkaXJlY3QgdGFyZ2V0IGFuZCBhIG5vbi17LG11bHRpfXJhbmdlIGdpc3RhYmxlIGNvbHVtbiB3 aXRob3V0IG92ZXJsYXBzCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBp ZCBpbnRlZ2VyLAorICB2YWxpZF9hdCBwb2ludCwKKyAgbmFtZSB0ZXh0CispOworSU5TRVJUIElO VE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIgVkFMVUVTICgxLCAnMCwwJywgJ29uZScpOworVVBEQVRF IGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnMSwxJykK KyAgU0VUIG5hbWUgPSAnb25lXjEnOworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCcxLDEnKTsKK0RST1AgVEFCTEUgZm9yX3BvcnRp b25fb2ZfdGVzdDI7CisKKy0tIFdpdGggYSBkaXJlY3QgdGFyZ2V0IGFuZCBhIG5vbi17LG11bHRp fXJhbmdlIGNvbHVtbiB3aXRoIG92ZXJsYXBzCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2Zf dGVzdDIgKAorICBpZCBpbnRlZ2VyLAorICB2YWxpZF9hdCBib3gsCisgIG5hbWUgdGV4dAorKTsK K0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIFZBTFVFUyAoMSwgJzAsMCw0LDQnLCAn b25lJyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKCcxLDEsMiwyJykKKyAgU0VUIG5hbWUgPSAnb25lXjEnOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCcxLDEsMiwyJyk7 CitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworCistLSB0ZXN0IHRoYXQgd2UgcnVu IHRyaWdnZXJzIG9uIHRoZSBVUERBVEUvREVMRVRFZCByb3cgYW5kIHRoZSBJTlNFUlRlZCByb3dz CisKK0NSRUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQorUkVUVVJOUyBUUklHR0VSIExBTkdV QUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCisg ICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworCisgIElGIFRHX0FSR1ZbMF0g VEhFTgorICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cob2xk X3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJPTSBvbGRfdGFibGUpOworICBFTFNFCisgICAg UkFJU0UgTk9USUNFICcgIG9sZDogJScsIE9MRC52YWxpZF9hdDsKKyAgRU5EIElGOworICBJRiBU R19BUkdWWzFdIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyAgbmV3OiAlJywgKFNFTEVDVCBzdHJp bmdfYWdnKG5ld190YWJsZTo6dGV4dCwgJ1xuICAgICAgICcpIEZST00gbmV3X3RhYmxlKTsKKyAg RUxTRQorICAgIFJBSVNFIE5PVElDRSAnICBuZXc6ICUnLCBORVcudmFsaWRfYXQ7CisgIEVORCBJ RjsKKworICBJRiBUR19PUCA9ICdJTlNFUlQnIE9SIFRHX09QID0gJ1VQREFURScgVEhFTgorICAg IFJFVFVSTiBORVc7CisgIEVMU0lGIFRHX09QID0gJ0RFTEVURScgVEhFTgorICAgIFJFVFVSTiBP TEQ7CisgIEVORCBJRjsKK0VORDsKKyQkOworCistLSBzdGF0ZW1lbnQgdHJpZ2dlcnM6CisKK0NS RUFURSBUUklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1Ig REVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRF IFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJTlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgZmFsc2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQKK0FGVEVS IFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VS IGZwb19hZnRlcl9kZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rl c3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFs c2UsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJzOgorCitDUkVBVEUgVFJJR0dFUiBmcG9fYmVm b3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFs c2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9yb3cKK0FGVEVS IElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9S IEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOwor CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZv cl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3Ry aWdnZXIoZmFsc2UsIGZhbHNlKTsKKworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAyMi0wMS0wMScK KyAgU0VUIG5hbWUgPSAnZml2ZV4zJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKK0RFTEVURSBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAyMy0wMS0wMScgVE8gJzIwMjQtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0gVHJpZ2dlcnMgd2l0aCBhIGN1c3RvbSB0cmFuc2l0aW9uIHRhYmxlIG5hbWU6CisKK0RST1Ag VEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4 dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgVkFMVUVTICgnWzEsMiknLCAn WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyk7CisKKy0tIHN0YXRlbWVudCB0cmlnZ2Vy czoKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10CitCRUZPUkUgSU5TRVJUIE9SIFVQ REFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5U IEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCitDUkVBVEUg VFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlv bl9vZl90ZXN0CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1IgRUFDSCBT VEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVlKTsKKwor Q1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUgT04gZm9y X3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJsZSBPTEQg VEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUg ZHVtcF90cmlnZ2VyKHRydWUsIHRydWUpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVs ZXRlX3N0bXQKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lO RyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJzOgorCitD UkVBVEUgVFJJR0dFUiBmcG9fYmVmb3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1Ig REVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NF RFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2Fm dGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZF UkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2Fm dGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZF UkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlIE5FVyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZP UiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1ZSk7CisK K0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9y X3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9sZF90YWJsZQorRk9S IEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcih0cnVlLCBmYWxzZSk7CisK K0JFR0lOOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJzIw MTgtMDEtMTVfdG9fMjAxOS0wMS0wMSc7CitST0xMQkFDSzsKKworQkVHSU47CitERUxFVEUgRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVM TCBUTyAnMjAxOC0wMS0yMSc7CitST0xMQkFDSzsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgt MDEtMDInCisgIFNFVCBuYW1lID0gJ05VTExfdG9fMjAxOC0wMS0wMSc7CitST0xMQkFDSzsKKwor LS0gRGVmZXJyZWQgdHJpZ2dlcnMKKy0tIChtdXN0IGJlIENPTlNUUkFJTlQgdHJpZ2dlcnMgdGh1 cyBBRlRFUiBST1cgd2l0aCBubyB0cmFuc2l0aW9uIHRhYmxlcykKKworRFJPUCBUQUJMRSBmb3Jf cG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOworSU5T RVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMK KyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKworQ1JFQVRF IENPTlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5TRVJUIE9O IGZvcl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVECitGT1Ig RUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisK K0NSRUFURSBDT05TVFJBSU5UIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQ REFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJF RAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFs c2UpOworCitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitB RlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJTklUSUFMTFkg REVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFs c2UsIGZhbHNlKTsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0wMScKKyAg U0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKK0NPTU1JVDsKKworQkVHSU47 CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitDT01NSVQ7CisKK0JFR0lOOworVVBEQVRF IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxM IFRPICcyMDE4LTAxLTAyJworICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOworQ09N TUlUOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIHRlc3QgRk9S IFBPUlRJT04gT0YgZnJvbSB0cmlnZ2VycyBkdXJpbmcgRk9SIFBPUlRJT04gT0Y6CisKK0RST1Ag VEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4 dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFt ZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyks CisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndHdvJyksCisgICgnWzMs NCknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScsICdb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdmb3VyJyk7CisKK0NSRUFURSBGVU5DVElPTiB0cmdf ZnBvX3VwZGF0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JF R0lOCisgIElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgorICAgIFVQREFURSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAy LTAxJyBUTyAnMjAxOC0wMy0wMScKKyAgICAgIFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUsICdeJykK KyAgICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNFIFdIRU4g J1RHX09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQkOworCitD UkVBVEUgRlVOQ1RJT04gdHJnX2Zwb19kZWxldGUoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdF IHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBJRiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAxIFRIRU4K KyAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTAzLTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgICAgIFdIRVJF IGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNFIFdIRU4gJ1RHX09QJyA9ICdE RUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQkOworCistLSBVUERBVEUgRk9S IFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9G CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04g Zm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19m cG9fdXBkYXRlKCk7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFt ZSA9IENPTkNBVChuYW1lLCAnKicpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9y dGlvbl9vZl90ZXN0OworCistLSBVUERBVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIg ZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRl cl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVB Q0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fdXBkYXRlKCk7CisKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1syLDMpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBPTiBmb3Jf cG9ydGlvbl9vZl90ZXN0OworCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdn ZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9S IEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CisKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgt MDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAnKicpCisg IFdIRVJFIGlkID0gJ1szLDQpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dF UiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBERUxF VEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JU SU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxF VEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJF IHRyZ19mcG9fZGVsZXRlKCk7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEn CisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJ R0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBU ZXN0IHdpdGggbXVsdGlyYW5nZXMKKworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Qy ICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlbXVsdGlyYW5nZSBO T1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9u X29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykK Kyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1l KSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MicsICcyMDE4LTAyLTAzKScpLCBkYXRlcmFuZ2UoJzIwMTgtMDItMDQnLCAnMjAxOC0wMy0wMycp KSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAz LTAzJywgJzIwMTgtMDQtMDQpJykpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMSknKSksICd0d28nKSwKKyAgKCdb Myw0KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsIG51bGwpKSwgJ3Ro cmVlJyk7CisgIDsKKworLS0gVXBkYXRpbmcgd2l0aCBGUk9NL1RPCitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScg VE8gJzIwMTAtMDEtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CistLSBVcGRhdGluZyB3aXRoIG11bHRpcmFuZ2UKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTEwJywgJzIwMTgtMDItMTAnKSwgZGF0ZXJhbmdlKCcyMDE4LTAzLTA1JywgJzIw MTgtMDUtMDEnKSkpCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIFdIRVJFIGlkID0gJ1sxLDIpJyBP UkRFUiBCWSB2YWxpZF9hdDsKKy0tIFVwZGF0aW5nIHdpdGggc3RyaW5nIGNvZXJjaW9uCitVUERB VEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCd7WzIw MTgtMDMtMDUsMjAxOC0wMy0xMCl9JykKKyAgU0VUIG5hbWUgPSAnb25lXjInCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQg PSAnWzEsMiknIE9SREVSIEJZIHZhbGlkX2F0OworLS0gVXBkYXRpbmcgd2l0aCB0aGUgd3Jvbmcg cmFuZ2Ugc3VidHlwZSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0ICgne1sxLDQpfSc6OmludDRtdWx0aXJhbmdlKQorICBTRVQgbmFt ZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gVXBkYXRpbmcgd2l0aCBhIG5v bi1tdWx0aXJhbmdldHlwZSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0ICg0KQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworLS0gVXBkYXRpbmcgd2l0aCBOVUxMIGZhaWxzCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKE5VTEwpCisgIFNFVCBu YW1lID0gJ29uZV4zJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBVcGRhdGluZyB3aXRoIGVt cHR5IGRvZXMgbm90aGluZworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0ICgne30nKQorICBTRVQgbmFtZSA9ICdvbmVeMycKKyAgV0hFUkUgaWQg PSAnWzEsMiknOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBXSEVSRSBpZCA9 ICdbMSwyKScgT1JERVIgQlkgdmFsaWRfYXQ7CisKKy0tIERlbGV0aW5nIHdpdGggRlJPTS9UTwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDAtMDEtMDEnIFRPICcyMDEwLTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMScKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworLS0gRGVsZXRpbmcgd2l0aCBtdWx0aXJhbmdlCitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnKSwgZGF0ZXJh bmdlKCcyMDE4LTAzLTAxJywgJzIwMTgtMDMtMTUnKSkpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAnWzIsMyknIE9S REVSIEJZIHZhbGlkX2F0OworLS0gRGVsZXRpbmcgd2l0aCBzdHJpbmcgY29lcmNpb24KK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgn e1syMDE4LTAzLTA1LDIwMTgtMDMtMjApfScpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVD VCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgV0hFUkUgaWQgPSAnWzIsMyknIE9SREVSIEJZ IHZhbGlkX2F0OworLS0gRGVsZXRpbmcgd2l0aCB0aGUgd3JvbmcgcmFuZ2Ugc3VidHlwZSBmYWls cworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKCd7WzEsNCl9Jzo6aW50NG11bHRpcmFuZ2UpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsK Ky0tIERlbGV0aW5nIHdpdGggYSBub24tbXVsdGlyYW5nZXR5cGUgZmFpbHMKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICg0KQorICBX SEVSRSBpZCA9ICdbMiwzKSc7CistLSBEZWxldGluZyB3aXRoIE5VTEwgZmFpbHMKK0RFTEVURSBG Uk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChOVUxM KQorICBXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBEZWxldGluZyB3aXRoIGVtcHR5IGRvZXMgbm90 aGluZworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKCd7fScpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKworU0VMRUNUICogRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUg Zm9yX3BvcnRpb25fb2ZfdGVzdDI7CisKKy0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBl CisKK0NSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CisKK0NS RUFURSBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVM TCwKKyAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UgTk9UIE5VTEwsCisgIG5hbWUgdGV4dCBOT1QgTlVM TCwKKyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl90ZXN0Ml9wayBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25f b2ZfdGVzdDIgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgt MDEtMDIsMjAxOC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAx OC0wMy0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkn LCAnb25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wNS0wMSknLCAndHdvJyks CisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScpOworICA7CisKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTgtMDItMTUnCisgIFdI RVJFIGlkID0gJ1syLDMpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7 CitEUk9QIFRZUEUgbXlkYXRlcmFuZ2U7CisKKy0tIFRlc3QgRk9SIFBPUlRJT04gT0YgYWdhaW5z dCBhIHBhcnRpdGlvbmVkIHRhYmxlLgorLS0gdGVtcG9yYWxfcGFydGl0aW9uZWRfMSBoYXMgdGhl IHNhbWUgYXR0bnVtcyBhcyB0aGUgcm9vdAorLS0gdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBoYXMg dGhlIGRpZmZlcmVudCBhdHRudW1zIGZyb20gdGhlIHJvb3QKKy0tIHRlbXBvcmFsX3BhcnRpdGlv bmVkXzUgaGFzIHRoZSBkaWZmZXJlbnQgYXR0bnVtcyB0b28sIGJ1dCByZXZlcnNlZAorCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0 aW9uZWRfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKykgUEFSVElU SU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8xIFBB UlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAn WzIsMyknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIFBBUlRJVElPTiBP RiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzMsNCknLCAnWzQsNSknKTsK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IFBBUlRJVElPTiBPRiB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYsNyknKTsKKworQUxURVIg VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgREVUQUNIIFBBUlRJVElPTiB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF8zOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBEUk9QIENPTFVN TiBpZCwgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF8zIEFERCBDT0xVTU4gaWQgaW50NHJhbmdlIE5PVCBOVUxMLCBBREQgQ09MVU1OIHZhbGlk X2F0IGRhdGVyYW5nZSBOT1QgTlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk IEFUVEFDSCBQQVJUSVRJT04gdGVtcG9yYWxfcGFydGl0aW9uZWRfMyBGT1IgVkFMVUVTIElOICgn WzMsNCknLCAnWzQsNSknKTsKKworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgREVU QUNIIFBBUlRJVElPTiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81OworQUxURVIgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfNSBEUk9QIENPTFVNTiBpZCwgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IEFERCBDT0xVTU4gdmFsaWRfYXQgZGF0 ZXJhbmdlIE5PVCBOVUxMLCBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTDsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEFUVEFDSCBQQVJUSVRJT04gdGVtcG9yYWxfcGFy dGl0aW9uZWRfNSBGT1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYsNyknKTsKKworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgn WzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnb25lJyksCisg ICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndGhyZWUn KSwKKyAgKCdbNSw2KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICdm aXZlJyk7CisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQ7CisKKy0tIFVwZGF0 ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDEKK1VQREFURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAzLTAxJyBUTyAnMjAw MC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKwor LS0gVXBkYXRlIHdpdGhvdXQgbW92aW5nIHdpdGhpbiBwYXJ0aXRpb24gMworVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDMtMDEn IFRPICcyMDAwLTA0LTAxJworICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBXSEVSRSBpZCA9ICdb Myw0KSc7CisKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDUKK1VQ REFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4xJworICBXSEVS RSBpZCA9ICdbNSw2KSc7CisKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24gMSB0byBwYXJ0aXRpb24g MworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9ICdvbmVeMicsCisg ICAgICBpZCA9ICdbNCw1KScKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBNb3ZlIGZyb20g cGFydGl0aW9uIDMgdG8gcGFydGl0aW9uIDEKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBUTyAnMjAwMC0wNy0wMScK KyAgU0VUIG5hbWUgPSAndGhyZWVeMicsCisgICAgICBpZCA9ICdbMiwzKScKKyAgV0hFUkUgaWQg PSAnWzMsNCknOworCistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDUgdG8gcGFydGl0aW9uIDMKK1VQ REFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJywKKyAgICAg IGlkID0gJ1szLDQpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKKy0tIFVwZGF0ZSBhbGwgcGFy dGl0aW9ucyBhdCBvbmNlIChlYWNoIHdpdGggbGVmdG92ZXJzKQorCitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfMSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor RFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZDsKKworUkVTRVQgZGF0ZXN0eWxlOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAppbmRleCA5NmVmZjExMDRkMi4uMzQwNTA4NzIxZWMg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCkBAIC03NjUsNiArNzY1LDMzIEBAIFVQ REFURSBlcnJ0c3QgU0VUIGEgPSAnYWFhYScsIGIgPSBOVUxMIFdIRVJFIGEgPSAnYWFhJzsKIFNF VCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogRFJPUCBUQUJMRSBl cnJ0c3Q7CiAKKy0tIHRlc3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgb24gdGhlIHJhbmdlIHVz ZWQgaW4gRk9SIFBPUlRJT04gT0YKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19w cml2X3VzZXIxOworQ1JFQVRFIFRBQkxFIHQxICgKKyAgYzEgaW50NHJhbmdlLAorICB2YWxpZF9h dCB0c3JhbmdlLAorCUNPTlNUUkFJTlQgdDFwayBQUklNQVJZIEtFWSAoYzEsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpCispOworLS0gVVBEQVRFIHJlcXVpcmVzIHNlbGVjdCBwZXJtaXNzaW9u IG9uIHRoZSB2YWxpZF9hdCBjb2x1bW4gKGJ1dCBub3QgdXBkYXRlKToKK0dSQU5UIFNFTEVDVCAo YzEpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFVQREFURSAoYzEpIE9OIHQx IFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFNFTEVDVCAoYzEsIHZhbGlkX2F0KSBPTiB0 MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitHUkFOVCBVUERBVEUgKGMxKSBPTiB0MSBUTyByZWdy ZXNzX3ByaXZfdXNlcjM7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91 c2VyMjsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAx JyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUkla QVRJT04gcmVncmVzc19wcml2X3VzZXIzOworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOwor U0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CistLSBERUxFVEUg cmVxdWlyZXMgc2VsZWN0IHBlcm1pc3Npb24gb24gdGhlIHZhbGlkX2F0IGNvbHVtbjoKK0dSQU5U IERFTEVURSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBERUxFVEUgT04gdDEg VE8gcmVncmVzc19wcml2X3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNz X3ByaXZfdXNlcjI7CitERUxFVEUgRlJPTSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMSc7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9O IHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0RFTEVURSBGUk9NIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJzsKK1NFVCBTRVNTSU9OIEFVVEhP UklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworRFJPUCBUQUJMRSB0MTsKKwogLS0gdGVzdCBj b2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyB3aGVuIGludm9sdmVkIHdpdGggREVMRVRFCiBTRVQgU0VT U0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0ZXN0 NiBBREQgQ09MVU1OIHRocmVlIGludGVnZXI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC91cGRhdGFibGVfdmlld3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXBkYXRhYmxl X3ZpZXdzLnNxbAppbmRleCBjMDcxZmZmYzExNi4uNDJkYzA3YTM2NTcgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbApAQCAtMTg4MSw2ICsxODgxLDIwIEBAIHNlbGVj dCAqIGZyb20gdXZfaW9jdV90YWI7CiBkcm9wIHZpZXcgdXZfaW9jdV92aWV3OwogZHJvcCB0YWJs ZSB1dl9pb2N1X3RhYjsKIAorLS0gQ2hlY2sgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHdvcmtzIGNv cnJlY3RseQorY3JlYXRlIHRhYmxlIHV2X2Zwb190YWIgKGlkIGludDRyYW5nZSwgdmFsaWRfYXQg dHNyYW5nZSwgYiBmbG9hdCwKKyAgICBjb25zdHJhaW50IHBrX3V2X2Zwb190YWIgcHJpbWFyeSBr ZXkgKGlkLCB2YWxpZF9hdCB3aXRob3V0IG92ZXJsYXBzKSk7CitpbnNlcnQgaW50byB1dl9mcG9f dGFiIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDIwLTAxLTAxLCAyMDMwLTAxLTAxKScsIDApOworY3Jl YXRlIHZpZXcgdXZfZnBvX3ZpZXcgYXMKKyAgICBzZWxlY3QgYiwgYisxIGFzIGMsIHZhbGlkX2F0 LCBpZCwgJzIuMCc6OnRleHQgYXMgdHdvIGZyb20gdXZfZnBvX3RhYjsKKworaW5zZXJ0IGludG8g dXZfZnBvX3ZpZXcgKGlkLCB2YWxpZF9hdCwgYikgdmFsdWVzICgnWzEsMV0nLCAnWzIwMTAtMDEt MDEsIDIwMjAtMDEtMDEpJywgMSk7CitzZWxlY3QgKiBmcm9tIHV2X2Zwb192aWV3IG9yZGVyIGJ5 IGlkLCB2YWxpZF9hdDsKK3VwZGF0ZSB1dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2YWxpZF9h dCBmcm9tICcyMDE1LTAxLTAxJyB0byAnMjAyMC0wMS0wMScgc2V0IGIgPSAyIHdoZXJlIGlkID0g J1sxLDFdJzsKK3NlbGVjdCAqIGZyb20gdXZfZnBvX3ZpZXcgb3JkZXIgYnkgaWQsIHZhbGlkX2F0 OworZGVsZXRlIGZyb20gdXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2YgdmFsaWRfYXQgZnJvbSAn MjAxNy0wMS0wMScgdG8gJzIwMjItMDEtMDEnIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAq IGZyb20gdXZfZnBvX3ZpZXcgb3JkZXIgYnkgaWQsIHZhbGlkX2F0OworCiAtLSBUZXN0IHdob2xl LXJvdyByZWZlcmVuY2VzIHRvIHRoZSB2aWV3CiBjcmVhdGUgdGFibGUgdXZfaW9jdV90YWIgKGEg aW50IHVuaXF1ZSwgYiB0ZXh0KTsKIGNyZWF0ZSB2aWV3IHV2X2lvY3VfdmlldyBhcwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAppbmRleCA0YWFjYTI0MmJiZS4uYzVj ODlmZTQwYWIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3Zlcmxh cHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsCkBA IC0yLDcgKzIsNyBAQAogLS0KIC0tIFdlIGxlYXZlIGJlaGluZCBzZXZlcmFsIHRhYmxlcyB0byB0 ZXN0IHBnX2R1bXAgZXRjOgogLS0gdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ybmcyLAotLS0gdGVt cG9yYWxfZmtfcm5nMnJuZy4KKy0tIHRlbXBvcmFsX2ZrX3JuZzJybmcsIHRlbXBvcmFsX2ZrMl9y bmcycm5nLgogCiBTRVQgZGF0ZXN0eWxlIFRPIElTTywgWU1EOwogCkBAIC02MzIsNiArNjMyLDIw IEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsMyAoaWQsIHZhbGlkX2F0LCBpZDIsIG5hbWUpCiAgICgn WzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnWzcsOCknLCAn Zm9vJyksCiAgICgnWzIsMyknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAnWzksMTApJywgJ2JhcicpCiA7CitVUERBVEUgdGVtcG9yYWwzIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMDAtMDUtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9IG5h bWUgfHwgJzEnOworVVBEQVRFIHRlbXBvcmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAwLTA0LTAxJyBUTyAnMjAwMC0wNi0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcyJwor ICBXSEVSRSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsMyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBjb25mbGljdGluZyBpZCBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9y YWwzIChpZCwgdmFsaWRfYXQsIGlkMiwgbmFtZSkKKyAgVkFMVUVTCisgICgnWzEsMiknLCBkYXRl cmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpLCAnWzgsOSknLCAnZm9vMycpOworLS0g Y29uZmxpY3RpbmcgaWQyIG9ubHk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbDMgKGlkLCB2YWxpZF9h dCwgaWQyLCBuYW1lKQorICBWQUxVRVMKKyAgKCdbMyw0KScsIGRhdGVyYW5nZSgnMjAwNS0wMS0w MScsICcyMDEwLTAxLTAxJyksICdbOSwxMCknLCAnYmFyMycpOwogRFJPUCBUQUJMRSB0ZW1wb3Jh bDM7CiAKIC0tCkBAIC02NjcsOSArNjgxLDIzIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sxLDIpJywgZGF0ZXJhbmdl KCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAoJ1sxLDIpJywgZGF0ZXJh bmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAogICAoJ1szLDQpJywgZGF0 ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3RocmVlJyk7Ci1TRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAq IEZST00gdHAxIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAqIEZST00gdHAyIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitVUERBVEUgIHRlbXBvcmFs X3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUn IFRPICcyMDAwLTAyLTE1JworICBTRVQgbmFtZSA9ICdvbmUyJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDAtMDItMjAnIFRPICcyMDAwLTAyLTI1JworICBTRVQgaWQgPSAnWzQsNSkn CisgIFdIRVJFIG5hbWUgPSAnb25lJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEn CisgIFNFVCBpZCA9ICdbMiwzKScKKyAgV0hFUkUgbmFtZSA9ICd0aHJlZSc7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNU IHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CiAKIC0tIHRl bXBvcmFsIFVOSVFVRToKQEAgLTY4NSw5ICs3MTMsMjMgQEAgSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCiAgICgnWzEsMiknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCiAgICgnWzEsMiknLCBk YXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyksCiAgICgnWzMsNCkn LCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndGhyZWUnKTsKLVNFTEVD VCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotU0VM RUNUICogRlJPTSB0cDEgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwotU0VMRUNUICogRlJPTSB0cDIg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1VQREFURSAgdGVt cG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w MS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFNFVCBuYW1lID0gJ29uZTInCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wMi0yMCcgVE8gJzIwMDAtMDItMjUnCisgIFNFVCBpZCA9ICdb NCw1KScKKyAgV0hFUkUgbmFtZSA9ICdvbmUnOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25l ZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0w MS0wMScKKyAgU0VUIGlkID0gJ1syLDMpJworICBXSEVSRSBuYW1lID0gJ3RocmVlJzsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDAtMDEtMTUnIFRPICcyMDAwLTAyLTE1JworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitT RUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZDsKIAog LS0gQUxURVIgVEFCTEUgUkVQTElDQSBJREVOVElUWQpAQCAtMTI5MSw2ICsxMzMzLDE4IEBAIENP TU1JVDsKIC0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWlsczoKIFVQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIGlkID0gJ1s3LDgpJwogICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0 ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKKy0tIGNoYW5naW5nIGFu IHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfcm5nCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworICBT RVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1c3Qg YSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKKyAgU0VUIGlkID0gJ1s3LDgp JworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVS RSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CiAtLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBh bmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgogREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cm5nMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CiBVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxp ZF9hdCA9IGRhdGVyYW5nZSgnMjAxNi0wMS0wMScsICcyMDE2LTAyLTAxJykKQEAgLTEzMzgsNiAr MTM5MiwxOCBAQCBCRUdJTjsKIAogICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAy LTAxJyk7CiBDT01NSVQ7CistLSBkZWxldGluZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5 OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hF UkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIGRlbGV0aW5nIGp1 c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0g J1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUsNikn LCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK IC0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBk ZWxldGUgc3VjY2VlZHM6CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1szLDQpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScg QU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKQEAg LTEzNTYsMTIgKzE0MjIsMTMgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBP TiBERUxFVEUgUkVTVFJJQ1Q7CiAKIC0tCi0tLSB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9u cworLS0gcm5nMnJuZyB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucwogLS0KIAogLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0 ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpLCAnWzYsNyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJybmcKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawogICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKQEAgLTEzNjksOCArMTQzNiw5IEBA IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBPTiBERUxFVEUgQ0FTQ0FERSBP TiBVUERBVEUgQ0FTQ0FERTsKIAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5V TEwKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwx MCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb Niw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsK K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnJuZwogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5n X2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQpAQCAtMTM3 OCw5ICsxNDQ2LDEwIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBPTiBE RUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwogCiAtLSB0ZXN0IEZLIHJlZmVyZW5j ZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9m a19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOwotSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMiwxMyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTIsMTMpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0x XScsCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKQEAgLTE3MTYsNiAr MTc4NSwyMCBAQCBCRUdJTjsKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJykpOwogQ09N TUlUOwogLS0gY2hhbmdpbmcgdGhlIHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFs X21sdHJuZyBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRf YXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScp KTsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVt cG9yYWxfbWx0cm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAnMjAxOC0wMS0wMycpKSkKKyAgU0VUIGlkID0gJ1s3LDgp JworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoK K1VQREFURSB0ZW1wb3JhbF9tbHRybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJykpKQorICBTRVQg aWQgPSAnWzcsOCknCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIHRoZW4gZGVsZXRlIHRoZSBv YmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKIFVQ REFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJwogICBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTgtMDItMDEnKSk7CiAKQEAgLTE3NjAsNiArMTg0MywxNyBAQCBCRUdJTjsKIAogICBERUxF VEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9 IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJykpOwog Q09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX21sdHJuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMicsICcyMDE4LTAxLTAzJykpKQorV0hFUkUgaWQg PSAnWzUsNiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkKK1dIRVJFIGlkID0gJ1s1LDYp JzsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQ SyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBp ZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CiAKIC0tCiAtLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVk IHRhYmxlczogcmFuZ2VzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzRf dGVtcG9yYWwucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzRfdGVtcG9yYWwucGwKaW5k ZXggNmJiZjY1NjcyNzkuLmZkZTM4ZWNiOWIzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMzRfdGVtcG9yYWwucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0 X3RlbXBvcmFsLnBsCkBAIC0xMzcsNiArMTM3LDcgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8 c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfbm9fa2V5IiBi ZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMg dXBkYXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNB IElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF9u b19rZXkgREVGQVVMVCIpOworIyBObyBuZWVkIHRvIHRlc3QgYWdhaW4gd2l0aCBGT1IgUE9SVElP TiBPRgogCiAoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBz cWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IFdIRVJFIGlkID0g J1szLDQpJyIpOwpAQCAtMTQ0LDYgKzE0NSwxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxz dGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tl eSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlz aGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNl dCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IERFTEVURSB0 ZW1wb3JhbF9ub19rZXkgREVGQVVMVCIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0g JG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFs X25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAw My0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxz dGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tl eSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlz aGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNl dCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IERFTEVURSBG T1IgUE9SVElPTiBPRiB0ZW1wb3JhbF9ub19rZXkgREVGQVVMVCIpOwogCiAkbm9kZV9wdWJsaXNo ZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApAQCAtMTY1LDE2ICsxNzIsMjIgQEAgJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCiAJIlVQREFURSB0ZW1wb3JhbF9wayBTRVQgYSA9ICdiJyBXSEVSRSBpZCA9ICdb MiwzKSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFU RSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBU TyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFs X3BrIFdIRVJFIGlkID0gJ1szLDQpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIp OwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIAogJHJlc3Vs dCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BrIE9SREVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFx e1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAt MDEtMDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAx LTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUp fFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF9wayBERUZB VUxUJyk7CiAKICMgcmVwbGljYXRlIHdpdGggYSB1bmlxdWUga2V5OgpAQCAtMTkyLDYgKzIwNSw3 IEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRh dGUgdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVw bGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgdXBk YXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4p LAogCSJjYW4ndCBVUERBVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKKyMgTm8gbmVlZCB0 byB0ZXN0IGFnYWluIHdpdGggRk9SIFBPUlRJT04gT0YKIAogKCRyZXN1bHQsICRzdGRvdXQsICRz dGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9N IHRlbXBvcmFsX3VuaXF1ZSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTE5OSw2ICsyMTMsMTIg QEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0 ZSBmcm9tIHRhYmxlICJ0ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBh IHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8gZW5hYmxl IGRlbGV0aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRF UiBUQUJMRS4pLAogCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKKygk cmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdy ZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIp OworaXMoICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0 ZSBmcm9tIHRhYmxlICJ0ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBh IHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxl IGRlbGV0aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRF UiBUQUJMRS4pLAorCSJjYW4ndCBERUxFVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxfdW5pcXVl IERFRkFVTFQiKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7 CiAKQEAgLTI4NywxNiArMzA3LDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCiAk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVtcG9yYWxf bm9fa2V5IFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX25vX2tleSBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEg PSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBXSEVSRSBpZCA9ICdb Myw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVU RSBGUk9NIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAy LTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1 Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxf bm9fa2V5IE9SREVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIK K1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDIt MDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAx LTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF9ub19rZXkgRlVMTCcpOwog CiAjIHJlcGxpY2F0ZSB3aXRoIGEgcHJpbWFyeSBrZXk6CkBAIC0zMTAsMTYgKzMzNiwyMiBAQCAk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKIAkiVVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0gJ2InIFdIRVJFIGlkID0g J1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBE QVRFIHRlbXBvcmFsX3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEn IFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9y YWxfcGsgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMykn Iik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAq IEZST00gdGVtcG9yYWxfcGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7CiBpcyggJHJlc3VsdCwg cXF7WzEsMil8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8WzIwMDAtMDEtMDEsMjAx MC0wMS0wMSl8YgorWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEt MDEtMDEsMjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgogWzQs NSl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX3BrIEZV TEwnKTsKIAogIyByZXBsaWNhdGUgd2l0aCBhIHVuaXF1ZSBrZXk6CkBAIC0zMzMsMTcgKzM2NSwy MyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKIAkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBTRVQgYSA9ICdiJyBX SEVSRSBpZCA9ICdbMiwzKSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCisJIlVQREFURSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1sy LDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJERUxF VEUgRlJPTSB0ZW1wb3JhbF91bmlxdWUgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF91bmlx dWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEt MDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2Nh dGNodXAoJ3N1YjEnKTsKIAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLAogCSJTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBPUkRFUiBCWSBpZCwg dmFsaWRfYXQiKTsKIGlzKCAkcmVzdWx0LCBxcXtbMSwyKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAx KXxhCi1bMiwzKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxiCi1bNCw1KXxbMjAwMC0wMS0wMSwy MDEwLTAxLTAxKXxhfSwgJ3JlcGxpY2F0ZWQgdGVtcG9yYWxfdW5pcXVlIEZVTEwnKTsKK1syLDMp fFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEp fGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1s0LDUpfFsyMDAwLTAxLTAxLDIw MTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgREVGQVVMVCcpOwogCiAj IGNsZWFudXAKIApAQCAtNDI1LDE2ICs0NjMsMjIgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoCiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlVQREFURSB0 ZW1wb3JhbF9wayBTRVQgYSA9ICdiJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKKyRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF9wayBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEg PSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3BrIFdIRVJFIGlkID0gJ1szLDQp JyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZS T00gdGVtcG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScg VE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXIt PndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BrIE9SREVS IEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIw MTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAw LTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1sy LDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEt MDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF9wayBVU0lORyBJTkRFWCcpOwogCiAjIHJlcGxp Y2F0ZSB3aXRoIGEgdW5pcXVlIGtleToKQEAgLTQ0OCwxNiArNDkyLDIyIEBAICRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LAogCSJVUERBVEUgdGVtcG9yYWxfdW5pcXVlIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMp JyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRl bXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBU TyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFs X3VuaXF1ZSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAn WzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwog CiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNF TEVDVCAqIEZST00gdGVtcG9yYWxfdW5pcXVlIE9SREVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMo ICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAw LTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1sy LDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEt MDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1w b3JhbF91bmlxdWUgVVNJTkcgSU5ERVgnKTsKIAogIyBjbGVhbnVwCkBAIC01NDMsNiArNTkzLDcg QEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0 ZSB0YWJsZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBs aWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRh dGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiks CiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF9ub19rZXkgTk9USElORyIpOworIyBObyBuZWVkIHRv IHRlc3QgYWdhaW4gd2l0aCBGT1IgUE9SVElPTiBPRgogCiAoJHJlc3VsdCwgJHN0ZG91dCwgJHN0 ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00g dGVtcG9yYWxfbm9fa2V5IFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtNTUwLDYgKzYwMSwxMiBA QCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRl IGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEg cmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUg ZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVS IFRBQkxFLiksCiAJImNhbid0IERFTEVURSB0ZW1wb3JhbF9ub19rZXkgTk9USElORyIpOworKCRy ZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3Jl cycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7 CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRl IGZyb20gdGFibGUgInRlbXBvcmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEg cmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUg ZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVS IFRBQkxFLiksCisJImNhbid0IERFTEVURSB0ZW1wb3JhbF9ub19rZXkgTk9USElORyIpOwogCiAk bm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApAQCAtNTc1LDYgKzYz Miw3IEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1 cGRhdGUgdGFibGUgInRlbXBvcmFsX3BrIiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBs aWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRh dGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiks CiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF9wayBOT1RISU5HIik7CisjIE5vIG5lZWQgdG8gdGVz dCBhZ2FpbiB3aXRoIEZPUiBQT1JUSU9OIE9GCiAKICgkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJy KSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1w b3JhbF9wayBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTU4Miw2ICs2NDAsMTIgQEAgaXMoICRz dGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9wayIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVu dGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJv bSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJ ImNhbid0IERFTEVURSB0ZW1wb3JhbF9wayBOT1RISU5HIik7CisoJHJlc3VsdCwgJHN0ZG91dCwg JHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZS T00gdGVtcG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScg VE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIsCisJcXEo cHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0ZW1wb3Jh bF9wayIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVi bGlzaGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUs IHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IERFTEVU RSB0ZW1wb3JhbF9wayBOT1RISU5HIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0 Y2h1cCgnc3ViMScpOwogCkBAIC02MDcsNiArNjcxLDcgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNx bDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfdW5pcXVl IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNo ZXMgdXBkYXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBM SUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IFVQREFURSB0ZW1wb3Jh bF91bmlxdWUgTk9USElORyIpOworIyBObyBuZWVkIHRvIHRlc3QgYWdhaW4gd2l0aCBGT1IgUE9S VElPTiBPRgogCiAoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXIt PnBzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfdW5pcXVlIFdIRVJFIGlk ID0gJ1szLDQpJyIpOwpAQCAtNjE0LDYgKzY3OSwxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3Fs OjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3Vu aXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVi bGlzaGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUs IHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IERFTEVU RSB0ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIp ID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBv cmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAn MjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3Fs OjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3Vu aXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVi bGlzaGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRpbmcgZnJvbSB0aGUgdGFibGUs IHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IERFTEVU RSBGT1IgUE9SVElPTiBPRiB0ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOwogCiAkbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xz L3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlz dAppbmRleCBjMWFkODBhNDE4ZC4uZGQ3YTg5MjJmMjIgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CkBAIC04NDEsNiArODQxLDkgQEAgRm9yQm90aFN0YXRlCiBGb3JFYWNoU3RhdGUKIEZvckZp dmVTdGF0ZQogRm9yRm91clN0YXRlCitGb3JQb3J0aW9uT2ZDbGF1c2UKK0ZvclBvcnRpb25PZkV4 cHIKK0ZvclBvcnRpb25PZlN0YXRlCiBGb3JUaHJlZVN0YXRlCiBGb3JlaWduQXN5bmNDb25maWd1 cmVXYWl0X2Z1bmN0aW9uCiBGb3JlaWduQXN5bmNOb3RpZnlfZnVuY3Rpb24KLS0gCjIuNDcuMwoK --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0004-Add-tg_temporal-to-TriggerData.patch" Content-Disposition: attachment; filename="v63-0004-Add-tg_temporal-to-TriggerData.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfaky3 RnJvbSBhYjZiYzUwODhmZDYzM2MyZWU3MTNhZTY1YjBmMjlhNDQwNjIzYjNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTU6NDA6MDYgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyA0LzhdIEFkZCB0Z190ZW1wb3JhbCB0byBUcmlnZ2VyRGF0YQoKVGhpcyBu ZWVkcyB0byBiZSBwYXNzZWQgdG8gb3VyIFJJIHRyaWdnZXJzIHRvIGltcGxlbWVudCB0ZW1wb3Jh bApDQVNDQURFL1NFVCBOVUxML1NFVCBERUZBVUxUIHdoZW4gdGhlIHVzZXIgY29tbWFuZCBpcyBh biBVUERBVEUvREVMRVRFCkZPUiBQT1JUSU9OIE9GLiBUaGUgdHJpZ2dlcnMgd2lsbCB1c2UgdGhl IEZPUiBQT1JUSU9OIE9GIGJvdW5kcyB0byBhdm9pZApvdmVyLWFwcGx5aW5nIHRoZSBjaGFuZ2Ug dG8gcmVmZXJlbmNpbmcgcmVjb3Jkcy4KClByb2JhYmx5IGl0IGlzIHVzZWZ1bCBmb3IgdXNlci1k ZWZpbmVkIHRyaWdnZXJzIGFzIHdlbGwsIGZvciBleGFtcGxlCmF1ZGl0aW5nIG9yIHRyaWdnZXIt YmFzZWQgcmVwbGljYXRpb24uCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWlu YXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbCAgICAgIHwg NTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdHJpZ2dlci5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdHJp Z2dlci5zZ21sIGIvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAppbmRleCAyYjY4YzM4ODJlYy4u Y2ZjMDg0YjM0YzYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbApAQCAtNTYzLDE3ICs1NjMsMTggQEAgQ0FMTEVEX0FT X1RSSUdHRVIoZmNpbmZvKQogPHByb2dyYW1saXN0aW5nPgogdHlwZWRlZiBzdHJ1Y3QgVHJpZ2dl ckRhdGEKIHsKLSAgICBOb2RlVGFnICAgICAgICAgIHR5cGU7Ci0gICAgVHJpZ2dlckV2ZW50ICAg ICB0Z19ldmVudDsKLSAgICBSZWxhdGlvbiAgICAgICAgIHRnX3JlbGF0aW9uOwotICAgIEhlYXBU dXBsZSAgICAgICAgdGdfdHJpZ3R1cGxlOwotICAgIEhlYXBUdXBsZSAgICAgICAgdGdfbmV3dHVw bGU7Ci0gICAgVHJpZ2dlciAgICAgICAgICp0Z190cmlnZ2VyOwotICAgIFR1cGxlVGFibGVTbG90 ICAqdGdfdHJpZ3Nsb3Q7Ci0gICAgVHVwbGVUYWJsZVNsb3QgICp0Z19uZXdzbG90OwotICAgIFR1 cGxlc3RvcmVzdGF0ZSAqdGdfb2xkdGFibGU7Ci0gICAgVHVwbGVzdG9yZXN0YXRlICp0Z19uZXd0 YWJsZTsKLSAgICBjb25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xzOworICAgIE5vZGVUYWcg ICAgICAgICAgICB0eXBlOworICAgIFRyaWdnZXJFdmVudCAgICAgICB0Z19ldmVudDsKKyAgICBS ZWxhdGlvbiAgICAgICAgICAgdGdfcmVsYXRpb247CisgICAgSGVhcFR1cGxlICAgICAgICAgIHRn X3RyaWd0dXBsZTsKKyAgICBIZWFwVHVwbGUgICAgICAgICAgdGdfbmV3dHVwbGU7CisgICAgVHJp Z2dlciAgICAgICAgICAgKnRnX3RyaWdnZXI7CisgICAgVHVwbGVUYWJsZVNsb3QgICAgKnRnX3Ry aWdzbG90OworICAgIFR1cGxlVGFibGVTbG90ICAgICp0Z19uZXdzbG90OworICAgIFR1cGxlc3Rv cmVzdGF0ZSAgICp0Z19vbGR0YWJsZTsKKyAgICBUdXBsZXN0b3Jlc3RhdGUgICAqdGdfbmV3dGFi bGU7CisgICAgY29uc3QgQml0bWFwc2V0ICAgKnRnX3VwZGF0ZWRjb2xzOworICAgIEZvclBvcnRp b25PZlN0YXRlICp0Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiA8L3Byb2dyYW1saXN0aW5n PgogCkBAIC04NDEsNiArODQyLDM5IEBAIHR5cGVkZWYgc3RydWN0IFRyaWdnZXIKICAgICAgICA8 L3BhcmE+CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8 dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PHN0cnVjdGZpZWxkPnRnX3RlbXBvcmFsPC9zdHJ1 Y3RmaWVsZD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAg IFNldCBmb3IgPGxpdGVyYWw+VVBEQVRFPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+REVMRVRFPC9s aXRlcmFsPiBxdWVyaWVzCisgICAgICAgIHRoYXQgdXNlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9G PC9saXRlcmFsPiwgb3RoZXJ3aXNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgICAgQ29u dGFpbnMgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUKKyAgICAgICAgPHN0cnVjdG5h bWU+Rm9yUG9ydGlvbk9mU3RhdGU8L3N0cnVjdG5hbWU+LCBkZWZpbmVkIGluCisgICAgICAgIDxm aWxlbmFtZT5ub2Rlcy9leGVjbm9kZXMuaDwvZmlsZW5hbWU+OgorCis8cHJvZ3JhbWxpc3Rpbmc+ Cit0eXBlZGVmIHN0cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQoreworICAgIE5vZGVUYWcgICAgIHR5 cGU7CisKKyAgICBjaGFyICAgICAgICpmcF9yYW5nZU5hbWU7ICAgLyogdGhlIGNvbHVtbiBuYW1l ZCBpbiBGT1IgUE9SVElPTiBPRiAqLworICAgIE9pZCAgICAgICAgIGZwX3JhbmdlVHlwZTsgICAv KiB0aGUgdHlwZSBvZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiAqLworICAgIGludCAg ICAgICAgIGZwX3JhbmdlQXR0bm87ICAvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAq LworICAgIERhdHVtICAgICAgIGZwX3RhcmdldFJhbmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5n ZSBmcm9tIEZPUiBQT1JUSU9OIE9GICovCisgICAgVHlwZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVy c3R5cGNhY2hlOyAgIC8qIHR5cGUgY2FjaGUgZW50cnkgb2YgdGhlIHJhbmdlICovCit9IEZvclBv cnRpb25PZlN0YXRlOworPC9wcm9ncmFtbGlzdGluZz4KKworICAgICAgIHdoZXJlIDxzdHJ1Y3Rm aWVsZD5mcF9yYW5nZU5hbWU8L3N0cnVjdGZpZWxkPiBpcyB0aGUgcmFuZ2UKKyAgICAgICBjb2x1 bW4gbmFtZWQgaW4gdGhlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2Us CisgICAgICAgPHN0cnVjdGZpZWxkPmZwX3JhbmdlVHlwZTwvc3RydWN0ZmllbGQ+IGlzIGl0cyBy YW5nZSB0eXBlLAorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZUF0dG5vPC9zdHJ1Y3RmaWVs ZD4gaXMgaXRzIGF0dHJpYnV0ZSBudW1iZXIsCisgICAgICAgYW5kIDxzdHJ1Y3RmaWVsZD5mcF90 YXJnZXRSYW5nZTwvc3RydWN0ZmllbGQ+IGlzIGEgcmFuZ2V0eXBlIHZhbHVlIGNyZWF0ZWQKKyAg ICAgICBieSBldmFsdWF0aW5nIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4g Ym91bmRzLgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlz dGVudHJ5PgogICAgIDwvdmFyaWFibGVsaXN0PgogICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90cmln Z2VyLmMKaW5kZXggNTc5YWM4ZDc2YWUuLjQzYjlkODJlNjNhIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dl ci5jCkBAIC00NywxMiArNDcsMTQgQEAKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKICNpbmNs dWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUg InV0aWxzL2RhdHVtLmgiCiAjaW5jbHVkZSAidXRpbHMvZm1ncm9pZHMuaCIKICNpbmNsdWRlICJ1 dGlscy9ndWNfaG9va3MuaCIKICNpbmNsdWRlICJ1dGlscy9pbnZhbC5oIgogI2luY2x1ZGUgInV0 aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAi dXRpbHMvcGxhbmNhY2hlLmgiCisjaW5jbHVkZSAidXRpbHMvcmFuZ2V0eXBlcy5oIgogI2luY2x1 ZGUgInV0aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3NuYXBtZ3IuaCIKICNpbmNsdWRlICJ1 dGlscy9zeXNjYWNoZS5oIgpAQCAtMjY0OSw2ICsyNjUxLDcgQEAgRXhlY0JTRGVsZXRlVHJpZ2dl cnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8pCiAJTG9jVHJpZ2dlckRh dGEudGdfZXZlbnQgPSBUUklHR0VSX0VWRU5UX0RFTEVURSB8CiAJCVRSSUdHRVJfRVZFTlRfQkVG T1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVsYXRpb25E ZXNjOworCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gcmVsaW5mby0+cmlfZm9yUG9ydGlv bk9mOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykKIAl7CiAJ CVRyaWdnZXIgICAgKnRyaWdnZXIgPSAmdHJpZ2Rlc2MtPnRyaWdnZXJzW2ldOwpAQCAtMjc1Nyw2 ICsyNzYwLDcgQEAgRXhlY0JSRGVsZXRlVHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIEVQUVN0YXRl ICplcHFzdGF0ZSwKIAkJVFJJR0dFUl9FVkVOVF9ST1cgfAogCQlUUklHR0VSX0VWRU5UX0JFRk9S RTsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlvbiA9IHJlbGluZm8tPnJpX1JlbGF0aW9uRGVz YzsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IHJlbGluZm8tPnJpX2ZvclBvcnRpb25P ZjsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51bXRyaWdnZXJzOyBpKyspCiAJewogCQlI ZWFwVHVwbGUJbmV3dHVwbGU7CkBAIC0yODU4LDYgKzI4NjIsNyBAQCBFeGVjSVJEZWxldGVUcmln Z2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJVFJJR0dFUl9F VkVOVF9ST1cgfAogCQlUUklHR0VSX0VWRU5UX0lOU1RFQUQ7CiAJTG9jVHJpZ2dlckRhdGEudGdf cmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdf dGVtcG9yYWwgPSByZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2Y7CiAKIAlFeGVjRm9yY2VTdG9yZUhl YXBUdXBsZSh0cmlndHVwbGUsIHNsb3QsIGZhbHNlKTsKIApAQCAtMjkyMSw2ICsyOTI2LDcgQEAg RXhlY0JTVXBkYXRlVHJpZ2dlcnMoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGlu Zm8pCiAJCVRSSUdHRVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9u ID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwogCUxvY1RyaWdnZXJEYXRhLnRnX3VwZGF0ZWRj b2xzID0gdXBkYXRlZENvbHM7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZv LT5yaV9mb3JQb3J0aW9uT2Y7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2Vy czsgaSsrKQogCXsKIAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNb aV07CkBAIC0zMDY0LDYgKzMwNzAsNyBAQCBFeGVjQlJVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVz dGF0ZSwgRVBRU3RhdGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdH RVJfRVZFTlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+ cmlfUmVsYXRpb25EZXNjOworCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gcmVsaW5mby0+ cmlfZm9yUG9ydGlvbk9mOwogCXVwZGF0ZWRDb2xzID0gRXhlY0dldEFsbFVwZGF0ZWRDb2xzKHJl bGluZm8sIGVzdGF0ZSk7CiAJTG9jVHJpZ2dlckRhdGEudGdfdXBkYXRlZGNvbHMgPSB1cGRhdGVk Q29sczsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51bXRyaWdnZXJzOyBpKyspCkBAIC0z MjI2LDYgKzMyMzMsNyBAQCBFeGVjSVJVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVz dWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJVFJJR0dFUl9FVkVOVF9ST1cgfAogCQlUUklHR0VSX0VW RU5UX0lOU1RFQUQ7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9S ZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZvLT5yaV9m b3JQb3J0aW9uT2Y7CiAKIAlFeGVjRm9yY2VTdG9yZUhlYXBUdXBsZSh0cmlndHVwbGUsIG9sZHNs b3QsIGZhbHNlKTsKIApAQCAtMzY5Nyw2ICszNzA1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQWZ0ZXJU cmlnZ2VyU2hhcmVkRGF0YQogCU9pZAkJCWF0c19yZWxpZDsJCS8qIHRoZSByZWxhdGlvbiBpdCdz IG9uICovCiAJT2lkCQkJYXRzX3JvbGlkOwkJLyogcm9sZSB0byBleGVjdXRlIHRoZSB0cmlnZ2Vy ICovCiAJQ29tbWFuZElkCWF0c19maXJpbmdfaWQ7CS8qIElEIGZvciBmaXJpbmcgY3ljbGUgKi8K KwlGb3JQb3J0aW9uT2ZTdGF0ZSAqZm9yX3BvcnRpb25fb2Y7CS8qIHRoZSBGT1IgUE9SVElPTiBP RiBjbGF1c2UgKi8KIAlzdHJ1Y3QgQWZ0ZXJUcmlnZ2Vyc1RhYmxlRGF0YSAqYXRzX3RhYmxlOwkv KiB0cmFuc2l0aW9uIHRhYmxlIGFjY2VzcyAqLwogCUJpdG1hcHNldCAgKmF0c19tb2RpZmllZGNv bHM7CS8qIG1vZGlmaWVkIGNvbHVtbnMgKi8KIH0gQWZ0ZXJUcmlnZ2VyU2hhcmVkRGF0YTsKQEAg LTM5NzAsNiArMzk3OSw3IEBAIHN0YXRpYyBTZXRDb25zdHJhaW50U3RhdGUgU2V0Q29uc3RyYWlu dFN0YXRlQ3JlYXRlKGludCBudW1hbGxvYyk7CiBzdGF0aWMgU2V0Q29uc3RyYWludFN0YXRlIFNl dENvbnN0cmFpbnRTdGF0ZUNvcHkoU2V0Q29uc3RyYWludFN0YXRlIG9yaWdzdGF0ZSk7CiBzdGF0 aWMgU2V0Q29uc3RyYWludFN0YXRlIFNldENvbnN0cmFpbnRTdGF0ZUFkZEl0ZW0oU2V0Q29uc3Ry YWludFN0YXRlIHN0YXRlLAogCQkJCQkJCQkJCQkJCU9pZCB0Z29pZCwgYm9vbCB0Z2lzZGVmZXJy ZWQpOworc3RhdGljIEZvclBvcnRpb25PZlN0YXRlICpDb3B5Rm9yUG9ydGlvbk9mU3RhdGUoRm9y UG9ydGlvbk9mU3RhdGUgKnNyYyk7CiBzdGF0aWMgdm9pZCBjYW5jZWxfcHJpb3Jfc3RtdF90cmln Z2VycyhPaWQgcmVsaWQsIENtZFR5cGUgY21kVHlwZSwgaW50IHRnZXZlbnQpOwogCiAKQEAgLTQx NzcsNiArNDE4Nyw3IEBAIGFmdGVyVHJpZ2dlckFkZEV2ZW50KEFmdGVyVHJpZ2dlckV2ZW50TGlz dCAqZXZlbnRzLAogCQkJbmV3c2hhcmVkLT5hdHNfZXZlbnQgPT0gZXZ0c2hhcmVkLT5hdHNfZXZl bnQgJiYKIAkJCW5ld3NoYXJlZC0+YXRzX2ZpcmluZ19pZCA9PSAwICYmCiAJCQluZXdzaGFyZWQt PmF0c190YWJsZSA9PSBldnRzaGFyZWQtPmF0c190YWJsZSAmJgorCQkJbmV3c2hhcmVkLT5mb3Jf cG9ydGlvbl9vZiA9PSBldnRzaGFyZWQtPmZvcl9wb3J0aW9uX29mICYmCiAJCQluZXdzaGFyZWQt PmF0c19yZWxpZCA9PSBldnRzaGFyZWQtPmF0c19yZWxpZCAmJgogCQkJbmV3c2hhcmVkLT5hdHNf cm9saWQgPT0gZXZ0c2hhcmVkLT5hdHNfcm9saWQgJiYKIAkJCWJtc19lcXVhbChuZXdzaGFyZWQt PmF0c19tb2RpZmllZGNvbHMsCkBAIC00NTUzLDYgKzQ1NjQsOSBAQCBBZnRlclRyaWdnZXJFeGVj dXRlKEVTdGF0ZSAqZXN0YXRlLAogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsOwog CWlmIChUUklHR0VSX0ZPUl9VUERBVEUoTG9jVHJpZ2dlckRhdGEudGdfdHJpZ2dlci0+dGd0eXBl KSkKIAkJTG9jVHJpZ2dlckRhdGEudGdfdXBkYXRlZGNvbHMgPSBldnRzaGFyZWQtPmF0c19tb2Rp ZmllZGNvbHM7CisJaWYgKFRSSUdHRVJfRk9SX1VQREFURShMb2NUcmlnZ2VyRGF0YS50Z190cmln Z2VyLT50Z3R5cGUpIHx8CisJCVRSSUdHRVJfRk9SX0RFTEVURShMb2NUcmlnZ2VyRGF0YS50Z190 cmlnZ2VyLT50Z3R5cGUpKQorCQlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IGV2dHNoYXJl ZC0+Zm9yX3BvcnRpb25fb2Y7CiAKIAlNZW1vcnlDb250ZXh0UmVzZXQocGVyX3R1cGxlX2NvbnRl eHQpOwogCkBAIC02MTAyLDYgKzYxMTYsNDIgQEAgQWZ0ZXJUcmlnZ2VyUGVuZGluZ09uUmVsKE9p ZCByZWxpZCkKIAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qIC0tLS0tLS0tLS0KKyAqIEZvclBvcnRp b25PZlN0YXRlKCkKKyAqCisgKiBDb3B5cyBhIEZvclBvcnRpb25PZlN0YXRlIGludG8gdGhlIGN1 cnJlbnQgbWVtb3J5IGNvbnRleHQuCisgKi8KK3N0YXRpYyBGb3JQb3J0aW9uT2ZTdGF0ZSAqCitD b3B5Rm9yUG9ydGlvbk9mU3RhdGUoRm9yUG9ydGlvbk9mU3RhdGUgKnNyYykKK3sKKwlGb3JQb3J0 aW9uT2ZTdGF0ZSAqZHN0ID0gTlVMTDsKKworCWlmIChzcmMpCisJeworCQlNZW1vcnlDb250ZXh0 IG9sZGN0eDsKKwkJUmFuZ2VUeXBlICAqcjsKKwkJVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlOwor CisJCS8qCisJCSAqIE5lZWQgdG8gbGlmdCB0aGUgRk9SIFBPUlRJT04gT0YgZGV0YWlscyBpbnRv IGEgaGlnaGVyIG1lbW9yeQorCQkgKiBjb250ZXh0IGJlY2F1c2UgY2FzY2FkaW5nIGZvcmVpZ24g a2V5IHVwZGF0ZS9kZWxldGVzIGNhbiBjYXVzZQorCQkgKiB0cmlnZ2VycyB0byBmaXJlIHRyaWdn ZXJzLCBhbmQgdGhlIEFmdGVyVHJpZ2dlckV2ZW50cyB3aWxsIG91dGxpdmUKKwkJICogdGhlIEZQ TyBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBxdWVyeS4KKwkJICovCisJCW9sZGN0eCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhUb3BUcmFuc2FjdGlvbkNvbnRleHQpOworCQlkc3QgPSBtYWtlTm9k ZShGb3JQb3J0aW9uT2ZTdGF0ZSk7CisJCWRzdC0+ZnBfcmFuZ2VOYW1lID0gcHN0cmR1cChzcmMt PmZwX3JhbmdlTmFtZSk7CisJCWRzdC0+ZnBfcmFuZ2VUeXBlID0gc3JjLT5mcF9yYW5nZVR5cGU7 CisJCWRzdC0+ZnBfcmFuZ2VBdHRubyA9IHNyYy0+ZnBfcmFuZ2VBdHRubzsKKworCQlyID0gRGF0 dW1HZXRSYW5nZVR5cGVQKHNyYy0+ZnBfdGFyZ2V0UmFuZ2UpOworCQl0eXBjYWNoZSA9IGxvb2t1 cF90eXBlX2NhY2hlKFJhbmdlVHlwZUdldE9pZChyKSwgVFlQRUNBQ0hFX1JBTkdFX0lORk8pOwor CQlkc3QtPmZwX3RhcmdldFJhbmdlID0gZGF0dW1Db3B5KHNyYy0+ZnBfdGFyZ2V0UmFuZ2UsIHR5 cGNhY2hlLT50eXBieXZhbCwgdHlwY2FjaGUtPnR5cGxlbik7CisJCU1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhvbGRjdHgpOworCX0KKwlyZXR1cm4gZHN0OworfQorCiAvKiAtLS0tLS0tLS0tCiAgKiBB ZnRlclRyaWdnZXJTYXZlRXZlbnQoKQogICoKQEAgLTY1MTgsNiArNjU2OCw3IEBAIEFmdGVyVHJp Z2dlclNhdmVFdmVudChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJ ZWxzZQogCQkJbmV3X3NoYXJlZC5hdHNfdGFibGUgPSBOVUxMOwogCQluZXdfc2hhcmVkLmF0c19t b2RpZmllZGNvbHMgPSBtb2RpZmllZENvbHM7CisJCW5ld19zaGFyZWQuZm9yX3BvcnRpb25fb2Yg PSBDb3B5Rm9yUG9ydGlvbk9mU3RhdGUocmVsaW5mby0+cmlfZm9yUG9ydGlvbk9mKTsKIAogCQlh ZnRlclRyaWdnZXJBZGRFdmVudCgmYWZ0ZXJUcmlnZ2Vycy5xdWVyeV9zdGFja1thZnRlclRyaWdn ZXJzLnF1ZXJ5X2RlcHRoXS5ldmVudHMsCiAJCQkJCQkJICZuZXdfZXZlbnQsICZuZXdfc2hhcmVk KTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaCBiL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3RyaWdnZXIuaAppbmRleCBjZmQ3ZGFhMjBlZC4uYzY3ZTEzMjQzOTEgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaAorKysgYi9zcmMvaW5jbHVk ZS9jb21tYW5kcy90cmlnZ2VyLmgKQEAgLTQxLDYgKzQxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVHJp Z2dlckRhdGEKIAlUdXBsZXN0b3Jlc3RhdGUgKnRnX29sZHRhYmxlOwogCVR1cGxlc3RvcmVzdGF0 ZSAqdGdfbmV3dGFibGU7CiAJY29uc3QgQml0bWFwc2V0ICp0Z191cGRhdGVkY29sczsKKwlGb3JQ b3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9yYWw7CiB9IFRyaWdnZXJEYXRhOwogCiAvKgotLSAKMi40 Ny4zCgo= --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0007-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Disposition: attachment; filename="v63-0007-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfalh6 RnJvbSA3MWI0YjA4ZTg5YzdhNzQ2MDY5ZWFmYzY2MWUzNWY0MWRiZGEyODdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMjkgT2N0IDIwMjQgMTg6NTQ6MzcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyA3LzhdIEV4cG9zZSBGT1IgUE9SVElPTiBPRiB0byBwbHBnc3FsIHRyaWdn ZXJzCgpJdCBpcyBoZWxwZnVsIGZvciB0cmlnZ2VycyB0byBzZWUgd2hhdCB0aGUgRk9SIFBPUlRJ T04gT0YgY2xhdXNlCnNwZWNpZmllZDogYm90aCB0aGUgY29sdW1uL3BlcmlvZCBuYW1lIGFuZCB0 aGUgdGFyZ2V0ZWQgYm91bmRzLiBPdXIgUkkKdHJpZ2dlcnMgcmVxdWlyZSB0aGlzIGluZm9ybWF0 aW9uLCBhbmQgd2UgYXJlIHBhc3NpbmcgaXQgYXMgcGFydCBvZiB0aGUKVHJpZ2dlckRhdGEgc3Ry dWN0LiBUaGlzIGNvbW1pdCBhbGxvd3MgcGxwZ3NxbCB0cmlnZ2VyIGZ1bmN0aW9ucyB0bwphY2Nl c3MgdGhlIHNhbWUgaW5mb3JtYXRpb24sIHVzaW5nIHRoZSBuZXcgVEdfUEVSSU9EX0NPTFVNTiBh bmQKVEdfUEVSSU9EX1RBUkdFVCB2YXJpYWJsZXMuCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRo IDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL3BscGdzcWwu c2dtbCAgICAgICAgICAgICAgICAgICAgfCAyNCArKysrKysrKysKIHNyYy9wbC9wbHBnc3FsL3Ny Yy9wbF9jb21wLmMgICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrCiBzcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfZXhlYy5jICAgICAgICAgICAgICAgICB8IDMyICsrKysrKysrKysrKwogc3JjL3Bs L3BscGdzcWwvc3JjL3BscGdzcWwuaCAgICAgICAgICAgICAgICAgfCAgMiArCiBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dCB8IDU1ICsrKysrKysrKysrLS0tLS0t LS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwgICAgICB8ICA5ICsr Ky0KIDYgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGxw Z3NxbC5zZ21sCmluZGV4IDU2MWY2ZTUwZDYzLi44NmYzMTI0MTZhNSAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3BscGdzcWwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcGxwZ3NxbC5zZ21sCkBA IC00MjQ3LDYgKzQyNDcsMzAgQEAgQVNTRVJUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb25kaXRpb248L3JlcGxhY2VhYmxlPiA8b3B0aW9uYWw+ICwgPHJlcGwKICAgICAgIDwvcGFy YT4KICAgICAgPC9saXN0aXRlbT4KICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgIDx2YXJsaXN0 ZW50cnkgaWQ9InBscGdzcWwtZG1sLXRyaWdnZXItdGctdGVtcG9yYWwtY29sdW1uIj4KKyAgICAg PHRlcm0+PHZhcm5hbWU+VEdfUEVSSU9EX05BTUU8L3Zhcm5hbWU+IDx0eXBlPnRleHQ8L3R5cGU+ PC90ZXJtPgorICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4KKyAgICAgICB0aGUgY29sdW1u IG5hbWUgdXNlZCBpbiBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2Us CisgICAgICAgb3IgZWxzZSA8c3ltYm9sPk5VTEw8L3N5bWJvbD4uCisgICAgICA8L3BhcmE+Cisg ICAgIDwvbGlzdGl0ZW0+CisgICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICA8dmFybGlzdGVudHJ5 IGlkPSJwbHBnc3FsLWRtbC10cmlnZ2VyLXRnLXRlbXBvcmFsLXRhcmdldCI+CisgICAgIDx0ZXJt Pjx2YXJuYW1lPlRHX1BFUklPRF9CT1VORFM8L3Zhcm5hbWU+IDx0eXBlPnRleHQ8L3R5cGU+PC90 ZXJtPgorICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4KKyAgICAgICB0aGUgcmFuZ2UvbXVs dGlyYW5nZS9ldGMuIGdpdmVuIGFzIHRoZSBib3VuZHMgb2YgYQorICAgICAgIDxsaXRlcmFsPkZP UiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2UsIGVpdGhlciBkaXJlY3RseSAod2l0aCBwYXJl bnMgc3ludGF4KQorICAgICAgIG9yIGNvbXB1dGVkIGZyb20gdGhlIDxsaXRlcmFsPkZST008L2xp dGVyYWw+IGFuZCA8bGl0ZXJhbD5UTzwvbGl0ZXJhbD4gYm91bmRzLgorICAgICAgIDxzeW1ib2w+ TlVMTDwvc3ltYm9sPiBpZiA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gd2FzIG5v dCB1c2VkLgorICAgICAgIFRoaXMgaXMgYSB0ZXh0IHZhbHVlIGJhc2VkIG9uIHRoZSB0eXBlJ3Mg b3V0cHV0IGZ1bmN0aW9uLAorICAgICAgIHNpbmNlIHRoZSB0eXBlIGNhbid0IGJlIGtub3duIGF0 IGZ1bmN0aW9uIGNyZWF0aW9uIHRpbWUuCisgICAgICA8L3BhcmE+CisgICAgIDwvbGlzdGl0ZW0+ CisgICAgPC92YXJsaXN0ZW50cnk+CiAgICA8L3ZhcmlhYmxlbGlzdD4KICAgPC9wYXJhPgogCmRp ZmYgLS1naXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfY29tcC5jIGIvc3JjL3BsL3BscGdzcWwv c3JjL3BsX2NvbXAuYwppbmRleCBmNjk3NjY4OWE2OS4uNGU4NTI4ZmNkMWUgMTAwNjQ0Ci0tLSBh L3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3Bs X2NvbXAuYwpAQCAtNjE3LDYgKzYxNywzMiBAQCBwbHBnc3FsX2NvbXBpbGVfY2FsbGJhY2soRnVu Y3Rpb25DYWxsSW5mbyBmY2luZm8sCiAJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9QUk9N SVNFOwogCQkJKChQTHBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9NSVNF X1RHX0FSR1Y7CiAKKwkJCS8qIEFkZCB0aGUgdmFyaWFibGUgdGdfcGVyaW9kX25hbWUgKi8KKwkJ CXZhciA9IHBscGdzcWxfYnVpbGRfdmFyaWFibGUoInRnX3BlcmlvZF9uYW1lIiwgMCwKKwkJCQkJ CQkJCQkgcGxwZ3NxbF9idWlsZF9kYXRhdHlwZShURVhUT0lELAorCQkJCQkJCQkJCQkJCQkJCS0x LAorCQkJCQkJCQkJCQkJCQkJCWZ1bmN0aW9uLT5mbl9pbnB1dF9jb2xsYXRpb24sCisJCQkJCQkJ CQkJCQkJCQkJTlVMTCksCisJCQkJCQkJCQkJIHRydWUpOworCQkJQXNzZXJ0KHZhci0+ZHR5cGUg PT0gUExQR1NRTF9EVFlQRV9WQVIpOworCQkJdmFyLT5kdHlwZSA9IFBMUEdTUUxfRFRZUEVfUFJP TUlTRTsKKwkJCSgoUExwZ1NRTF92YXIgKikgdmFyKS0+cHJvbWlzZSA9IFBMUEdTUUxfUFJPTUlT RV9UR19QRVJJT0RfTkFNRTsKKworCQkJLyoKKwkJCSAqIEFkZCB0aGUgdmFyaWFibGUgdGdfcGVy aW9kX2JvdW5kcy4gVGhpcyBjb3VsZCBiZSBhbnkgcmFuZ2V0eXBlCisJCQkgKiBvciBtdWx0aXJh bmdldHlwZSBvciB1c2VyLXN1cHBsaWVkIHR5cGUsIHNvIHRoZSBiZXN0IHdlIGNhbgorCQkJICog b2ZmZXIgaXMgYSBURVhUIHZhcmlhYmxlLgorCQkJICovCisJCQl2YXIgPSBwbHBnc3FsX2J1aWxk X3ZhcmlhYmxlKCJ0Z19wZXJpb2RfYm91bmRzIiwgMCwKKwkJCQkJCQkJCQkgcGxwZ3NxbF9idWls ZF9kYXRhdHlwZShURVhUT0lELAorCQkJCQkJCQkJCQkJCQkJCS0xLAorCQkJCQkJCQkJCQkJCQkJ CWZ1bmN0aW9uLT5mbl9pbnB1dF9jb2xsYXRpb24sCisJCQkJCQkJCQkJCQkJCQkJTlVMTCksCisJ CQkJCQkJCQkJIHRydWUpOworCQkJQXNzZXJ0KHZhci0+ZHR5cGUgPT0gUExQR1NRTF9EVFlQRV9W QVIpOworCQkJdmFyLT5kdHlwZSA9IFBMUEdTUUxfRFRZUEVfUFJPTUlTRTsKKwkJCSgoUExwZ1NR TF92YXIgKikgdmFyKS0+cHJvbWlzZSA9IFBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfQk9VTkRT OworCiAJCQlicmVhazsKIAogCQljYXNlIFBMUEdTUUxfRVZFTlRfVFJJR0dFUjoKZGlmZiAtLWdp dCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9leGVjLmMgYi9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxf ZXhlYy5jCmluZGV4IGQxOTQyNWI3YTcxLi4zYzVmZTRjYjM4MCAxMDA2NDQKLS0tIGEvc3JjL3Bs L3BscGdzcWwvc3JjL3BsX2V4ZWMuYworKysgYi9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5j CkBAIC0xMzg1LDYgKzEzODUsNyBAQCBwbHBnc3FsX2Z1bGZpbGxfcHJvbWlzZShQTHBnU1FMX2V4 ZWNzdGF0ZSAqZXN0YXRlLAogCQkJCQkJUExwZ1NRTF92YXIgKnZhcikKIHsKIAlNZW1vcnlDb250 ZXh0IG9sZGNvbnRleHQ7CisJRm9yUG9ydGlvbk9mU3RhdGUgKmZwbzsKIAogCWlmICh2YXItPnBy b21pc2UgPT0gUExQR1NRTF9QUk9NSVNFX05PTkUpCiAJCXJldHVybjsJCQkJCS8qIG5vdGhpbmcg dG8gZG8gKi8KQEAgLTE1MTYsNiArMTUxNywzNyBAQCBwbHBnc3FsX2Z1bGZpbGxfcHJvbWlzZShQ THBnU1FMX2V4ZWNzdGF0ZSAqZXN0YXRlLAogCQkJfQogCQkJYnJlYWs7CiAKKwkJY2FzZSBQTFBH U1FMX1BST01JU0VfVEdfUEVSSU9EX05BTUU6CisJCQlpZiAoZXN0YXRlLT50cmlnZGF0YSA9PSBO VUxMKQorCQkJCWVsb2coRVJST1IsICJ0cmlnZ2VyIHByb21pc2UgaXMgbm90IGluIGEgdHJpZ2dl ciBmdW5jdGlvbiIpOworCQkJaWYgKGVzdGF0ZS0+dHJpZ2RhdGEtPnRnX3RlbXBvcmFsKQorCQkJ CWFzc2lnbl90ZXh0X3Zhcihlc3RhdGUsIHZhciwgZXN0YXRlLT50cmlnZGF0YS0+dGdfdGVtcG9y YWwtPmZwX3JhbmdlTmFtZSk7CisJCQllbHNlCisJCQkJYXNzaWduX3NpbXBsZV92YXIoZXN0YXRl LCB2YXIsIChEYXR1bSkgMCwgdHJ1ZSwgZmFsc2UpOworCQkJYnJlYWs7CisKKwkJY2FzZSBQTFBH U1FMX1BST01JU0VfVEdfUEVSSU9EX0JPVU5EUzoKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRhID09 IE5VTEwpCisJCQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0cmln Z2VyIGZ1bmN0aW9uIik7CisKKwkJCWZwbyA9IGVzdGF0ZS0+dHJpZ2RhdGEtPnRnX3RlbXBvcmFs OworCQkJaWYgKGZwbykKKwkJCXsKKworCQkJCU9pZAkJCWZ1bmNpZDsKKwkJCQlib29sCQl2YXJs ZW5hOworCisJCQkJZ2V0VHlwZU91dHB1dEluZm8oZnBvLT5mcF9yYW5nZVR5cGUsICZmdW5jaWQs ICZ2YXJsZW5hKTsKKwkJCQlBc3NlcnQoT2lkSXNWYWxpZChmdW5jaWQpKTsKKworCQkJCWFzc2ln bl90ZXh0X3Zhcihlc3RhdGUsIHZhciwKKwkJCQkJCQkJT2lkT3V0cHV0RnVuY3Rpb25DYWxsKGZ1 bmNpZCwKKwkJCQkJCQkJCQkJCQkgIGZwby0+ZnBfdGFyZ2V0UmFuZ2UpKTsKKwkJCX0KKwkJCWVs c2UKKwkJCQlhc3NpZ25fc2ltcGxlX3Zhcihlc3RhdGUsIHZhciwgKERhdHVtKSAwLCB0cnVlLCBm YWxzZSk7CisJCQlicmVhazsKKwogCQljYXNlIFBMUEdTUUxfUFJPTUlTRV9UR19FVkVOVDoKIAkJ CWlmIChlc3RhdGUtPmV2dHJpZ2RhdGEgPT0gTlVMTCkKIAkJCQllbG9nKEVSUk9SLCAiZXZlbnQg dHJpZ2dlciBwcm9taXNlIGlzIG5vdCBpbiBhbiBldmVudCB0cmlnZ2VyIGZ1bmN0aW9uIik7CmRp ZmYgLS1naXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxwZ3NxbC5oIGIvc3JjL3BsL3BscGdzcWwv c3JjL3BscGdzcWwuaAppbmRleCA1ZjE5M2EzNzE4My4uODAwMDEwNGJjODkgMTAwNjQ0Ci0tLSBh L3NyYy9wbC9wbHBnc3FsL3NyYy9wbHBnc3FsLmgKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3Bs cGdzcWwuaApAQCAtODUsNiArODUsOCBAQCB0eXBlZGVmIGVudW0gUExwZ1NRTF9wcm9taXNlX3R5 cGUKIAlQTFBHU1FMX1BST01JU0VfVEdfQVJHViwKIAlQTFBHU1FMX1BST01JU0VfVEdfRVZFTlQs CiAJUExQR1NRTF9QUk9NSVNFX1RHX1RBRywKKwlQTFBHU1FMX1BST01JU0VfVEdfUEVSSU9EX05B TUUsCisJUExQR1NRTF9QUk9NSVNFX1RHX1BFUklPRF9CT1VORFMsCiB9IFBMcGdTUUxfcHJvbWlz ZV90eXBlOwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3Jf cG9ydGlvbl9vZi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29m Lm91dAppbmRleCAyNGNhZWQxNjY5MS4uZTc3NGYzOGQ0NzggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CkBAIC0xMzEzLDggKzEzMTMsMTMgQEAgQ1JF QVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCiBSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxw Z3NxbCBBUwogJCQKIEJFR0lOCi0gIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywKLSAgICBUR19O QU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisgIElGIFRHX1BFUklPRF9OQU1FIElTIE5P VCBOVUxMIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSBGT1IgUE9SVElPTiBPRiAlICgl KSAlOicsCisgICAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfUEVSSU9EX05BTUUsIFRH X1BFUklPRF9CT1VORFMsIFRHX0xFVkVMOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICclOiAl ICUgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBFTkQg SUY7CiAKICAgSUYgVEdfQVJHVlswXSBUSEVOCiAgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScs IChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9NIG9s ZF90YWJsZSk7CkBAIC0xMzY0LDEwICsxMzY5LDEwIEBAIFVQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0CiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjEtMDEtMDEnIFRPICcyMDIy LTAxLTAxJwogICBTRVQgbmFtZSA9ICdmaXZlXjMnCiAgIFdIRVJFIGlkID0gJ1s1LDYpJzsKLU5P VElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6 ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg KFsyMDIxLTAxLTAxLDIwMjItMDEtMDEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5V TEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVG T1JFIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkpIFJPVzoKIE5P VElDRTogICAgb2xkOiBbMjAxOS0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsy MDIxLTAxLTAxLDIwMjItMDEtMDEpCiBOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJ TlNFUlQgU1RBVEVNRU5UOgpAQCAtMTM5NCwxOSArMTM5OSwxOSBAQCBOT1RJQ0U6ICAgIG5ldzog WzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDog QUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTog ICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfcm93OiBBRlRFUiBVUERB VEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkpIFJPVzoKIE5PVElD RTogICAgb2xkOiBbMjAxOS0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsyMDIx LTAxLTAxLDIwMjItMDEtMDEpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVS IFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVS IFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkp IFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVM TD4KIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAyMy0wMS0wMScgVE8gJzIwMjQtMDEtMDEnCiAgIFdIRVJFIGlkID0gJ1s1 LDYpJzsKLU5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6 CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBERUxFVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKFsyMDIzLTAxLTAxLDIwMjQtMDEtMDEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAg IG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1OT1RJQ0U6ICBmcG9fYmVmb3Jl X3JvdzogQkVGT1JFIERFTEVURSBST1c6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JF IERFTEVURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMjMtMDEtMDEsMjAyNC0wMS0wMSkp IFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAg ICBuZXc6IDxOVUxMPgogTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNU QVRFTUVOVDoKQEAgLTE0MzMsMTAgKzE0MzgsMTAgQEAgTk9USUNFOiAgICBuZXc6IFsyMDI0LTAx LTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElO U0VSVCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzog PE5VTEw+Ci1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoK K05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKFsyMDIzLTAxLTAxLDIwMjQtMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9s ZDogWzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElD RTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElD RTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBv bGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogU0VMRUNUICogRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKQEAgLTE1MDIsMTAgKzE1MDcsMTAg QEAgQkVHSU47CiBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAogICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0wMScKICAgU0VUIG5hbWUgPSAn MjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKLU5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVG T1JFIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpKSBT VEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+ Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBST1c6CitOT1RJQ0U6ICBm cG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIw MTgtMDEtMTUsMjAxOS0wMS0wMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCiBOT1RJ Q0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgpAQCAtMTUzMiwy MCArMTUzNywyMCBAQCBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE5LTAxLTAxLDIwMjAt MDEtMDEpIixvbmUpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VS VCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogKCJb MSwyKSIsIlsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJf dXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIFJPVzoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVf cm93OiBBRlRFUiBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDE4LTAxLTE1LDIw MTktMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIw MjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTE1LDIw MTktMDEtMDEpIiwyMDE4LTAxLTE1X3RvXzIwMTktMDEtMDEpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJf dXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJf dXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMTgt MDEtMTUsMjAxOS0wMS0wMSkpIFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwi WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwi WzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkiLDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKIFJPTExC QUNLOwogQkVHSU47CiBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CiAgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7Ci1OT1RJQ0U6ICBmcG9f YmVmb3JlX3N0bXQ6IEJFRk9SRSBERUxFVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgZnBvX2JlZm9y ZV9zdG10OiBCRUZPUkUgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEt MjEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzog PE5VTEw+Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIERFTEVURSBST1c6CitOT1RJ Q0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIERFTEVURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCAoKCwyMDE4LTAxLTIxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAt MDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CiBOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6 IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgpAQCAtMTU2MCwxMCArMTU2NSwxMCBAQCBOT1RJQ0U6 ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6 ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CiBOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIw MjAtMDEtMDEpIixvbmUpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVM RVRFIFJPVzoKK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xk OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3 OiA8TlVMTD4KLU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNU QVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMjEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6 ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6 ICAgIG5ldzogPE5VTEw+CiBST0xMQkFDSzsKQEAgLTE1NzEsMTAgKzE1NzYsMTAgQEAgQkVHSU47 CiBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NIE5VTEwgVE8gJzIwMTgtMDEtMDInCiAgIFNFVCBuYW1lID0gJ05VTExfdG9fMjAxOC0wMS0w MSc7Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgor Tk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0ICgoLDIwMTgtMDEtMDIpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+ CiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JF IFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIFVQREFURSBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTAyKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6 IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMDEsMjAx OC0wMS0wMikKIE5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VSVCBTVEFURU1F TlQ6CkBAIC0xNTg5LDEwICsxNTk0LDEwIEBAIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIw MTgtMDEtMDIsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3Rt dDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElD RTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDIsMjAyMC0wMS0wMSkiLG9uZSkKLU5PVElD RTogIGZwb19hZnRlcl91cGRhdGVfcm93OiBBRlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBv X2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAo KCwyMDE4LTAxLTAyKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKSIsb25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0w MSwyMDE4LTAxLTAyKSIsTlVMTF90b18yMDE4LTAxLTAxKQotTk9USUNFOiAgZnBvX2FmdGVyX3Vw ZGF0ZV9zdG10OiBBRlRFUiBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgZnBvX2FmdGVyX3Vw ZGF0ZV9zdG10OiBBRlRFUiBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCgsMjAxOC0w MS0wMikpIFNUQVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEs MjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEs MjAxOC0wMS0wMikiLE5VTExfdG9fMjAxOC0wMS0wMSkKIFJPTExCQUNLOwpAQCAtMTYyOSw3ICsx NjM0LDcgQEAgTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCiBOT1RJQ0U6 ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKIE5PVElDRTogICAgb2xk OiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKQotTk9USUNF OiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9f YWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChb MjAxOC0wMS0xNSwyMDE5LTAxLTAxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAx LDIwMjAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKIEJF R0lOOwpAQCAtMTYzOSwxMCArMTY0NCwxMCBAQCBDT01NSVQ7CiBOT1RJQ0U6ICBmcG9fYWZ0ZXJf aW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5P VElDRTogICAgbmV3OiBbMjAxOC0wMS0yMSwyMDE5LTAxLTAxKQotTk9USUNFOiAgZnBvX2FmdGVy X2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRl X3JvdzogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMjEp KSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKIE5PVElDRTog ICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxF VEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVURSBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTIxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6 IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CiBCRUdJTjsK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbAppbmRleCA3MmZiNTI3MzA3Ny4u ZGJkZmEzZTk4ZTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9u X29mLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKQEAg LTg3Myw4ICs4NzMsMTMgQEAgQ1JFQVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCiBSRVRVUk5T IFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUwogJCQKIEJFR0lOCi0gIFJBSVNFIE5PVElDRSAn JTogJSAlICU6JywKLSAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisgIElG IFRHX1BFUklPRF9OQU1FIElTIE5PVCBOVUxMIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyU6ICUg JSBGT1IgUE9SVElPTiBPRiAlICglKSAlOicsCisgICAgICBUR19OQU1FLCBUR19XSEVOLCBUR19P UCwgVEdfUEVSSU9EX05BTUUsIFRHX1BFUklPRF9CT1VORFMsIFRHX0xFVkVMOworICBFTFNFCisg ICAgUkFJU0UgTk9USUNFICclOiAlICUgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdf T1AsIFRHX0xFVkVMOworICBFTkQgSUY7CiAKICAgSUYgVEdfQVJHVlswXSBUSEVOCiAgICAgUkFJ U0UgTk9USUNFICcgIG9sZDogJScsIChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQs ICdcbiAgICAgICAnKSBGUk9NIG9sZF90YWJsZSk7Ci0tIAoyLjQ3LjMKCg== --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0006-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Disposition: attachment; filename="v63-0006-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfalb5 RnJvbSAxNDViODYxZjAyMTNlZGFjN2YxYjFlNDc0YjQ1ZjdlZGRkNGMyYTkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMyBKdW4gMjAyMyAyMTo0MToxMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggdjYzIDYvOF0gQWRkIENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgZm9yIHRl bXBvcmFsIGZvcmVpZ24KIGtleXMKClByZXZpb3VzbHkgd2UgcmFpc2VkIGFuIGVycm9yIGZvciB0 aGVzZSBvcHRpb25zLCBiZWNhdXNlIHRoZWlyCmltcGxlbWVudGF0aW9ucyByZXF1aXJlIEZPUiBQ T1JUSU9OIE9GLiBOb3cgdGhhdCB3ZSBoYXZlIHRlbXBvcmFsClVQREFURS9ERUxFVEUsIHdlIGNh biBpbXBsZW1lbnQgZm9yZWlnbiBrZXlzIHRoYXQgdXNlIGl0LgoKQXV0aG9yOiBQYXVsIEEuIEp1 bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIGRvYy9zcmMvc2dtbC9k ZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIGRvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3RhYmxlLnNnbWwgICAgICAgICAgICB8ICAgMTQgKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8ICAgNjUgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yaV90cmlnZ2Vycy5jICAgICAgICAgICB8ICA2MTcgKysrKysrLQogc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgICAyMiArCiBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dCAgICAgfCAgIDE4ICstCiAuLi4vcmVncmVz cy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCAgICAgfCAxNTk0ICsrKysrKysrKysrKysr KystCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbCAgICAgfCAgOTAw ICsrKysrKysrKy0KIDggZmlsZXMgY2hhbmdlZCwgMzE4NCBpbnNlcnRpb25zKCspLCA1MiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvZGRsLnNnbWwKaW5kZXggMDlhZDg0MDBmZDAuLmEzODdlNWVhZTEzIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC0xODQ4 LDkgKzE4NDgsOSBAQCBDUkVBVEUgVEFCTEUgdmFyaWFudHMgKAogCiAgICAgPHBhcmE+CiAgICAg IDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gc3VwcG9ydHMgdGVtcG9yYWwg Zm9yZWlnbiBrZXlzIHdpdGgKLSAgICAgYWN0aW9uIDxsaXRlcmFsPk5PIEFDVElPTjwvbGl0ZXJh bD4sIGJ1dCBub3QgPGxpdGVyYWw+UkVTVFJJQ1Q8L2xpdGVyYWw+LAotICAgICA8bGl0ZXJhbD5D QVNDQURFPC9saXRlcmFsPiwgPGxpdGVyYWw+U0VUIE5VTEw8L2xpdGVyYWw+LCBvciA8bGl0ZXJh bD5TRVQKLSAgICAgREVGQVVMVDwvbGl0ZXJhbD4uCisgICAgIGFjdGlvbiA8bGl0ZXJhbD5OTyBB Q1RJT048L2xpdGVyYWw+LCA8bGl0ZXJhbD5DQVNDQURFPC9saXRlcmFsPiwKKyAgICAgPGxpdGVy YWw+U0VUIE5VTEw8L2xpdGVyYWw+LCBhbmQgPGxpdGVyYWw+U0VUIERFRkFVTFQ8L2xpdGVyYWw+ LCBidXQgbm90CisgICAgIDxsaXRlcmFsPlJFU1RSSUNUPC9saXRlcmFsPi4KICAgICA8L3BhcmE+ CiAgICA8L3NlY3QzPgogICA8L3NlY3QyPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9j cmVhdGVfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKaW5k ZXggNjU1N2M1Y2ZmZDguLmE4MTcwMWE0OWY0IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2NyZWF0ZV90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNn bWwKQEAgLTEzMTUsNyArMTMxNSw5IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICAg ICA8L3BhcmE+CiAKICAgICAgICAgIDxwYXJhPgotICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9y ZWlnbiBrZXksIHRoaXMgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCisgICAgICAgICAgSW4gYSB0 ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhlIGRlbGV0ZS91cGRhdGUgd2lsbCB1c2UKKyAgICAgICAg ICA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gc2VtYW50aWNzIHRvIGNvbnN0cmFp biB0aGUKKyAgICAgICAgICBlZmZlY3QgdG8gdGhlIGJvdW5kcyBiZWluZyBkZWxldGVkL3VwZGF0 ZWQgaW4gdGhlIHJlZmVyZW5jZWQgcm93LgogICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L2xp c3RpdGVtPgogICAgICAgIDwvdmFybGlzdGVudHJ5PgpAQCAtMTMzMCw3ICsxMzMyLDEwIEBAIFdJ VEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVy YWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgIDxwYXJh PgotICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWlnbiBrZXksIHRoaXMgb3B0aW9uIGlzIG5v dCBzdXBwb3J0ZWQuCisgICAgICAgICAgSW4gYSB0ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhlIGNo YW5nZSB3aWxsIHVzZSA8bGl0ZXJhbD5GT1IgUE9SVElPTgorICAgICAgICAgIE9GPC9saXRlcmFs PiBzZW1hbnRpY3MgdG8gY29uc3RyYWluIHRoZSBlZmZlY3QgdG8gdGhlIGJvdW5kcyBiZWluZwor ICAgICAgICAgIGRlbGV0ZWQvdXBkYXRlZCBpbiB0aGUgcmVmZXJlbmNlZCByb3cuIFRoZSBjb2x1 bW4gbWFrZWQgd2l0aAorICAgICAgICAgIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4gd2lsbCBu b3QgYmUgc2V0IHRvIG51bGwuCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvbGlzdGl0ZW0+ CiAgICAgICAgPC92YXJsaXN0ZW50cnk+CkBAIC0xMzQ3LDcgKzEzNTIsMTAgQEAgV0lUSCAoIE1P RFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVw bGFjZWFibGU+LCBSRU0KICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgPHBhcmE+Ci0gICAg ICAgICAgSW4gYSB0ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhpcyBvcHRpb24gaXMgbm90IHN1cHBv cnRlZC4KKyAgICAgICAgICBJbiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGUgY2hhbmdlIHdp bGwgdXNlIDxsaXRlcmFsPkZPUiBQT1JUSU9OCisgICAgICAgICAgT0Y8L2xpdGVyYWw+IHNlbWFu dGljcyB0byBjb25zdHJhaW4gdGhlIGVmZmVjdCB0byB0aGUgYm91bmRzIGJlaW5nCisgICAgICAg ICAgZGVsZXRlZC91cGRhdGVkIGluIHRoZSByZWZlcmVuY2VkIHJvdy4gVGhlIGNvbHVtbiBtYXJr ZWQgd2l0aAorICAgICAgICAgIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4gd2l0aCBub3QgYmUg c2V0IHRvIGEgZGVmYXVsdCB2YWx1ZS4KICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9saXN0 aXRlbT4KICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5k ZXggMmU1Y2E0NWY4MzkuLmZlNTFiNjAwMDdiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpA QCAtNTYyLDcgKzU2Miw3IEBAIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFUQWRkRm9yZWlnbktleUNv bnN0cmFpbnQoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqCiAJCQkJCQkJCQkJCSAg IFJlbGF0aW9uIHJlbCwgQ29uc3RyYWludCAqZmtjb25zdHJhaW50LAogCQkJCQkJCQkJCQkgICBi b29sIHJlY3Vyc2UsIGJvb2wgcmVjdXJzaW5nLAogCQkJCQkJCQkJCQkgICBMT0NLTU9ERSBsb2Nr bW9kZSk7Ci1zdGF0aWMgaW50CXZhbGlkYXRlRmtPbkRlbGV0ZVNldENvbHVtbnMoaW50IG51bWZr cywgY29uc3QgaW50MTYgKmZrYXR0bnVtcywKK3N0YXRpYyBpbnQJdmFsaWRhdGVGa09uRGVsZXRl U2V0Q29sdW1ucyhpbnQgbnVtZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLCBjb25zdCBpbnQx NiBma3BlcmlvZGF0dG51bSwKIAkJCQkJCQkJCQkgaW50IG51bWZrc2V0Y29scywgaW50MTYgKmZr c2V0Y29sc2F0dG51bXMsCiAJCQkJCQkJCQkJIExpc3QgKmZrc2V0Y29scyk7CiBzdGF0aWMgT2Jq ZWN0QWRkcmVzcyBhZGRGa0NvbnN0cmFpbnQoYWRkRmtDb25zdHJhaW50U2lkZXMgZmtzaWRlLApA QCAtMTAwNzQsNiArMTAwNzQsNyBAQCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3QgKip3 cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCWludDE2CQlma2Rl bHNldGNvbHNbSU5ERVhfTUFYX0tFWVNdID0gezB9OwogCWJvb2wJCXdpdGhfcGVyaW9kOwogCWJv b2wJCXBrX2hhc193aXRob3V0X292ZXJsYXBzOworCWludDE2CQlma3BlcmlvZGF0dG51bSA9IElu dmFsaWRBdHRyTnVtYmVyOwogCWludAkJCWk7CiAJaW50CQkJbnVtZmtzLAogCQkJCW51bXBrcywK QEAgLTEwMTU5LDE1ICsxMDE2MCwyMCBAQCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3Qg Kip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCQkJCQkJCQkJ IGZrY29uc3RyYWludC0+ZmtfYXR0cnMsCiAJCQkJCQkJCQkgZmthdHRudW0sIGZrdHlwb2lkLCBm a2NvbGxvaWQpOwogCXdpdGhfcGVyaW9kID0gZmtjb25zdHJhaW50LT5ma193aXRoX3BlcmlvZCB8 fCBma2NvbnN0cmFpbnQtPnBrX3dpdGhfcGVyaW9kOwotCWlmICh3aXRoX3BlcmlvZCAmJiAhZmtj b25zdHJhaW50LT5ma193aXRoX3BlcmlvZCkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQllcnJjb2Rl KEVSUkNPREVfSU5WQUxJRF9GT1JFSUdOX0tFWSksCi0JCQkJZXJybXNnKCJmb3JlaWduIGtleSB1 c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2lu ZyB0YWJsZSIpKTsKKwlpZiAod2l0aF9wZXJpb2QpCisJeworCQlpZiAoIWZrY29uc3RyYWludC0+ Zmtfd2l0aF9wZXJpb2QpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X0lOVkFMSURfRk9SRUlHTl9LRVkpLAorCQkJCQkgZXJybXNnKCJmb3JlaWduIGtleSB1c2VzIFBF UklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJs ZSIpKSk7CisJCWZrcGVyaW9kYXR0bnVtID0gZmthdHRudW1bbnVtZmtzIC0gMV07CisJfQogCiAJ bnVtZmtkZWxzZXRjb2xzID0gdHJhbnNmb3JtQ29sdW1uTmFtZUxpc3QoUmVsYXRpb25HZXRSZWxp ZChyZWwpLAogCQkJCQkJCQkJCQkgIGZrY29uc3RyYWludC0+ZmtfZGVsX3NldF9jb2xzLAogCQkJ CQkJCQkJCQkgIGZrZGVsc2V0Y29scywgTlVMTCwgTlVMTCk7CiAJbnVtZmtkZWxzZXRjb2xzID0g dmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhudW1ma3MsIGZrYXR0bnVtLAorCQkJCQkJCQkJ CQkJICAgZmtwZXJpb2RhdHRudW0sCiAJCQkJCQkJCQkJCQkgICBudW1ma2RlbHNldGNvbHMsCiAJ CQkJCQkJCQkJCQkgICBma2RlbHNldGNvbHMsCiAJCQkJCQkJCQkJCQkgICBma2NvbnN0cmFpbnQt PmZrX2RlbF9zZXRfY29scyk7CkBAIC0xMDI2OSwxOSArMTAyNzUsMTMgQEAgQVRBZGRGb3JlaWdu S2V5Q29uc3RyYWludChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0 aW9uIHJlbCwKIAkgKi8KIAlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3BlcmlvZCkKIAl7Ci0J CWlmIChma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RS SUNUIHx8Ci0JCQlma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9O X0NBU0NBREUgfHwKLQkJCWZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9B Q1RJT05fU0VUTlVMTCB8fAotCQkJZmtjb25zdHJhaW50LT5ma191cGRfYWN0aW9uID09IEZLQ09O U1RSX0FDVElPTl9TRVRERUZBVUxUKQorCQlpZiAoZmtjb25zdHJhaW50LT5ma191cGRfYWN0aW9u ID09IEZLQ09OU1RSX0FDVElPTl9SRVNUUklDVCkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVy cmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAogCQkJCQllcnJtc2coInVuc3Vw cG9ydGVkICVzIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0Qi LAogCQkJCQkJICAgIk9OIFVQREFURSIpKTsKIAotCQlpZiAoZmtjb25zdHJhaW50LT5ma19kZWxf YWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9SRVNUUklDVCB8fAotCQkJZmtjb25zdHJhaW50LT5m a19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9DQVNDQURFIHx8Ci0JCQlma2NvbnN0cmFp bnQtPmZrX2RlbF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX1NFVE5VTEwgfHwKLQkJCWZrY29u c3RyYWludC0+ZmtfZGVsX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fU0VUREVGQVVMVCkKKwkJ aWYgKGZrY29uc3RyYWludC0+ZmtfZGVsX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fUkVTVFJJ Q1QpCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKIAkJCQkJZXJybXNnKCJ1bnN1cHBvcnRlZCAlcyBhY3Rpb24gZm9yIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9EIiwKQEAgLTEwNjM3LDYgKzEwNjM3LDcgQEAg QVRBZGRGb3JlaWduS2V5Q29uc3RyYWludChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZv ICp0YWIsIFJlbGF0aW9uIHJlbCwKICAqLwogc3RhdGljIGludAogdmFsaWRhdGVGa09uRGVsZXRl U2V0Q29sdW1ucyhpbnQgbnVtZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAorCQkJCQkJCSBj b25zdCBpbnQxNiBma3BlcmlvZGF0dG51bSwKIAkJCQkJCQkgaW50IG51bWZrc2V0Y29scywgaW50 MTYgKmZrc2V0Y29sc2F0dG51bXMsCiAJCQkJCQkJIExpc3QgKmZrc2V0Y29scykKIHsKQEAgLTEw NjUwLDYgKzEwNjUxLDE0IEBAIHZhbGlkYXRlRmtPbkRlbGV0ZVNldENvbHVtbnMoaW50IG51bWZr cywgY29uc3QgaW50MTYgKmZrYXR0bnVtcywKIAkJLyogTWFrZSBzdXJlIGl0J3MgaW4gZmthdHRu dW1zW10gKi8KIAkJZm9yIChpbnQgaiA9IDA7IGogPCBudW1ma3M7IGorKykKIAkJeworCQkJaWYg KGZrcGVyaW9kYXR0bnVtID09IHNldGNvbF9hdHRudW0pCisJCQl7CisJCQkJY2hhcgkgICAqY29s ID0gc3RyVmFsKGxpc3RfbnRoKGZrc2V0Y29scywgaSkpOworCisJCQkJZXJlcG9ydChFUlJPUiwK KwkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9DT0xVTU5fUkVGRVJFTkNFKSwKKwkJCQkJ CSBlcnJtc2coImNvbHVtbiBcIiVzXCIgcmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlv biBjYW5ub3QgYmUgUEVSSU9EIiwgY29sKSkpOworCQkJfQogCQkJaWYgKGZrYXR0bnVtc1tqXSA9 PSBzZXRjb2xfYXR0bnVtKQogCQkJewogCQkJCXNlZW4gPSB0cnVlOwpAQCAtMTM4ODgsMTcgKzEz ODk3LDI2IEBAIGNyZWF0ZUZvcmVpZ25LZXlBY3Rpb25UcmlnZ2VycyhPaWQgbXlSZWxPaWQsIE9p ZCByZWZSZWxPaWQsIENvbnN0cmFpbnQgKmZrY29uc3RyCiAJCWNhc2UgRktDT05TVFJfQUNUSU9O X0NBU0NBREU6CiAJCQlma190cmlnZ2VyLT5kZWZlcnJhYmxlID0gZmFsc2U7CiAJCQlma190cmln Z2VyLT5pbml0ZGVmZXJyZWQgPSBmYWxzZTsKLQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lz dGVtRnVuY05hbWUoIlJJX0ZLZXlfY2FzY2FkZV9kZWwiKTsKKwkJCWlmIChma2NvbnN0cmFpbnQt PmZrX3dpdGhfcGVyaW9kKQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05h bWUoIlJJX0ZLZXlfcGVyaW9kX2Nhc2NhZGVfZGVsIik7CisJCQllbHNlCisJCQkJZmtfdHJpZ2dl ci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9jYXNjYWRlX2RlbCIpOwogCQkJ YnJlYWs7CiAJCWNhc2UgRktDT05TVFJfQUNUSU9OX1NFVE5VTEw6CiAJCQlma190cmlnZ2VyLT5k ZWZlcnJhYmxlID0gZmFsc2U7CiAJCQlma190cmlnZ2VyLT5pbml0ZGVmZXJyZWQgPSBmYWxzZTsK LQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfc2V0bnVs bF9kZWwiKTsKKwkJCWlmIChma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQorCQkJCWZrX3Ry aWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfcGVyaW9kX3NldG51bGxf ZGVsIik7CisJCQllbHNlCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFt ZSgiUklfRktleV9zZXRudWxsX2RlbCIpOwogCQkJYnJlYWs7CiAJCWNhc2UgRktDT05TVFJfQUNU SU9OX1NFVERFRkFVTFQ6CiAJCQlma190cmlnZ2VyLT5kZWZlcnJhYmxlID0gZmFsc2U7CiAJCQlm a190cmlnZ2VyLT5pbml0ZGVmZXJyZWQgPSBmYWxzZTsKLQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1l ID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfc2V0ZGVmYXVsdF9kZWwiKTsKKwkJCWlmIChma2Nv bnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lz dGVtRnVuY05hbWUoIlJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIik7CisJCQllbHNlCisJ CQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRkZWZh dWx0X2RlbCIpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNv Z25pemVkIEZLIGFjdGlvbiB0eXBlOiAlZCIsCkBAIC0xMzk0OCwxNyArMTM5NjYsMjYgQEAgY3Jl YXRlRm9yZWlnbktleUFjdGlvblRyaWdnZXJzKE9pZCBteVJlbE9pZCwgT2lkIHJlZlJlbE9pZCwg Q29uc3RyYWludCAqZmtjb25zdHIKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJT05fQ0FTQ0FERToKIAkJ CWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3RyaWdnZXItPmluaXRkZWZl cnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgi UklfRktleV9jYXNjYWRlX3VwZCIpOworCQkJaWYgKGZrY29uc3RyYWludC0+Zmtfd2l0aF9wZXJp b2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9w ZXJpb2RfY2FzY2FkZV91cGQiKTsKKwkJCWVsc2UKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9 IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X2Nhc2NhZGVfdXBkIik7CiAJCQlicmVhazsKIAkJY2Fz ZSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTDoKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBm YWxzZTsKIAkJCWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dl ci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRudWxsX3VwZCIpOworCQkJ aWYgKGZrY29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25h bWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQiKTsKKwkJCWVs c2UKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3Nl dG51bGxfdXBkIik7CiAJCQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJT05fU0VUREVGQVVM VDoKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3RyaWdnZXItPmlu aXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5j TmFtZSgiUklfRktleV9zZXRkZWZhdWx0X3VwZCIpOworCQkJaWYgKGZrY29uc3RyYWludC0+Zmtf d2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgi UklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQiKTsKKwkJCWVsc2UKKwkJCQlma190cmlnZ2Vy LT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldGRlZmF1bHRfdXBkIik7CiAJ CQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgRksgYWN0 aW9uIHR5cGU6ICVkIiwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmln Z2Vycy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKaW5kZXggNjlmN2Rl MjVlMjMuLmU3NDQ1NzkzZGNlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlf dHJpZ2dlcnMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwpAQCAt NzksNiArNzksMTIgQEAKICNkZWZpbmUgUklfUExBTl9TRVROVUxMX09OVVBEQVRFCQk4CiAjZGVm aW5lIFJJX1BMQU5fU0VUREVGQVVMVF9PTkRFTEVURQkJOQogI2RlZmluZSBSSV9QTEFOX1NFVERF RkFVTFRfT05VUERBVEUJCTEwCisjZGVmaW5lIFJJX1BMQU5fUEVSSU9EX0NBU0NBREVfT05ERUxF VEUJCTExCisjZGVmaW5lIFJJX1BMQU5fUEVSSU9EX0NBU0NBREVfT05VUERBVEUJCTEyCisjZGVm aW5lIFJJX1BMQU5fUEVSSU9EX1NFVE5VTExfT05VUERBVEUJCTEzCisjZGVmaW5lIFJJX1BMQU5f UEVSSU9EX1NFVE5VTExfT05ERUxFVEUJCTE0CisjZGVmaW5lIFJJX1BMQU5fUEVSSU9EX1NFVERF RkFVTFRfT05VUERBVEUJMTUKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfU0VUREVGQVVMVF9PTkRF TEVURQkxNgogCiAjZGVmaW5lIE1BWF9RVU9URURfTkFNRV9MRU4gIChOQU1FREFUQUxFTioyKzMp CiAjZGVmaW5lIE1BWF9RVU9URURfUkVMX05BTUVfTEVOICAoTUFYX1FVT1RFRF9OQU1FX0xFTioy KQpAQCAtMTkzLDYgKzE5OSw3IEBAIHN0YXRpYyBib29sIHJpX0NoZWNrX1BrX01hdGNoKFJlbGF0 aW9uIHBrX3JlbCwgUmVsYXRpb24gZmtfcmVsLAogCQkJCQkJCSAgY29uc3QgUklfQ29uc3RyYWlu dEluZm8gKnJpaW5mbyk7CiBzdGF0aWMgRGF0dW0gcmlfcmVzdHJpY3QoVHJpZ2dlckRhdGEgKnRy aWdkYXRhLCBib29sIGlzX25vX2FjdGlvbik7CiBzdGF0aWMgRGF0dW0gcmlfc2V0KFRyaWdnZXJE YXRhICp0cmlnZGF0YSwgYm9vbCBpc19zZXRfbnVsbCwgaW50IHRna2luZCk7CitzdGF0aWMgRGF0 dW0gdHJpX3NldChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJvb2wgaXNfc2V0X251bGwsIGludCB0 Z2tpbmQpOwogc3RhdGljIHZvaWQgcXVvdGVPbmVOYW1lKGNoYXIgKmJ1ZmZlciwgY29uc3QgY2hh ciAqbmFtZSk7CiBzdGF0aWMgdm9pZCBxdW90ZVJlbGF0aW9uTmFtZShjaGFyICpidWZmZXIsIFJl bGF0aW9uIHJlbCk7CiBzdGF0aWMgdm9pZCByaV9HZW5lcmF0ZVF1YWwoU3RyaW5nSW5mbyBidWYs CkBAIC0yMjksNiArMjM2LDcgQEAgc3RhdGljIGJvb2wgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJ X0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCiAJCQkJCQkJUklfUXVlcnlLZXkgKnFrZXksIFNQSVBs YW5QdHIgcXBsYW4sCiAJCQkJCQkJUmVsYXRpb24gZmtfcmVsLCBSZWxhdGlvbiBwa19yZWwsCiAJ CQkJCQkJVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3QsIFR1cGxlVGFibGVTbG90ICpuZXdzbG90LAor CQkJCQkJCWludCBwZXJpb2RQYXJhbSwgRGF0dW0gcGVyaW9kLAogCQkJCQkJCWJvb2wgaXNfcmVz dHJpY3QsCiAJCQkJCQkJYm9vbCBkZXRlY3ROZXdSb3dzLCBpbnQgZXhwZWN0X09LKTsKIHN0YXRp YyB2b2lkIHJpX0V4dHJhY3RWYWx1ZXMoUmVsYXRpb24gcmVsLCBUdXBsZVRhYmxlU2xvdCAqc2xv dCwKQEAgLTIzOCw2ICsyNDYsMTEgQEAgcGdfbm9yZXR1cm4gc3RhdGljIHZvaWQgcmlfUmVwb3J0 VmlvbGF0aW9uKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCiAJCQkJCQkJCQkJICAg UmVsYXRpb24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJCQkJCQkJCQkJICAgVHVwbGVUYWJs ZVNsb3QgKnZpb2xhdG9yc2xvdCwgVHVwbGVEZXNjIHR1cGRlc2MsCiAJCQkJCQkJCQkJICAgaW50 IHF1ZXJ5bm8sIGJvb2wgaXNfcmVzdHJpY3QsIGJvb2wgcGFydGdvbmUpOworc3RhdGljIGJvb2wg ZnBvX3RhcmdldHNfcGtfcmFuZ2UoY29uc3QgRm9yUG9ydGlvbk9mU3RhdGUgKnRnX3RlbXBvcmFs LAorCQkJCQkJCQkgY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbyk7CitzdGF0aWMgRGF0 dW0gcmVzdHJpY3RfZW5mb3JjZWRfcmFuZ2UoY29uc3QgRm9yUG9ydGlvbk9mU3RhdGUgKnRnX3Rl bXBvcmFsLAorCQkJCQkJCQkJIGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCisJCQkJ CQkJCQkgVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3QpOwogCiAKIC8qCkBAIC00NTEsNiArNDY0LDcg QEAgUklfRktleV9jaGVjayhUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEpCiAJcmlfUGVyZm9ybUNoZWNr KHJpaW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJTlVMTCwg bmV3c2xvdCwKKwkJCQkJLTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJCXBrX3JlbC0+ cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUsCiAJCQkJCVNQSV9P S19TRUxFQ1QpOwpAQCAtNjE2LDYgKzYzMCw3IEBAIHJpX0NoZWNrX1BrX01hdGNoKFJlbGF0aW9u IHBrX3JlbCwgUmVsYXRpb24gZmtfcmVsLAogCXJlc3VsdCA9IHJpX1BlcmZvcm1DaGVjayhyaWlu Zm8sICZxa2V5LCBxcGxhbiwKIAkJCQkJCQkgZmtfcmVsLCBwa19yZWwsCiAJCQkJCQkJIG9sZHNs b3QsIE5VTEwsCisJCQkJCQkJIC0xLCAoRGF0dW0pIDAsCiAJCQkJCQkJIGZhbHNlLAogCQkJCQkJ CSB0cnVlLAkvKiB0cmVhdCBsaWtlIHVwZGF0ZSAqLwogCQkJCQkJCSBTUElfT0tfU0VMRUNUKTsK QEAgLTg5Miw2ICs5MDcsNyBAQCByaV9yZXN0cmljdChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJv b2wgaXNfbm9fYWN0aW9uKQogCXJpX1BlcmZvcm1DaGVjayhyaWluZm8sICZxa2V5LCBxcGxhbiwK IAkJCQkJZmtfcmVsLCBwa19yZWwsCiAJCQkJCW9sZHNsb3QsIE5VTEwsCisJCQkJCS0xLCAoRGF0 dW0pIDAsCiAJCQkJCSFpc19ub19hY3Rpb24sCiAJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBu ZXcgcm93cyAqLwogCQkJCQlTUElfT0tfU0VMRUNUKTsKQEAgLTk5NCw2ICsxMDEwLDcgQEAgUklf RktleV9jYXNjYWRlX2RlbChQR19GVU5DVElPTl9BUkdTKQogCXJpX1BlcmZvcm1DaGVjayhyaWlu Zm8sICZxa2V5LCBxcGxhbiwKIAkJCQkJZmtfcmVsLCBwa19yZWwsCiAJCQkJCW9sZHNsb3QsIE5V TEwsCisJCQkJCS0xLCAoRGF0dW0pIDAsCiAJCQkJCWZhbHNlLAogCQkJCQl0cnVlLAkJLyogbXVz dCBkZXRlY3QgbmV3IHJvd3MgKi8KIAkJCQkJU1BJX09LX0RFTEVURSk7CkBAIC0xMTExLDYgKzEx MjgsNyBAQCBSSV9GS2V5X2Nhc2NhZGVfdXBkKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmlfUGVyZm9y bUNoZWNrKHJpaW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJ b2xkc2xvdCwgbmV3c2xvdCwKKwkJCQkJLTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJ CXRydWUsCQkvKiBtdXN0IGRldGVjdCBuZXcgcm93cyAqLwogCQkJCQlTUElfT0tfVVBEQVRFKTsK QEAgLTEzMzksNiArMTM1Nyw3IEBAIHJpX3NldChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJvb2wg aXNfc2V0X251bGwsIGludCB0Z2tpbmQpCiAJcmlfUGVyZm9ybUNoZWNrKHJpaW5mbywgJnFrZXks IHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwgTlVMTCwKKwkJCQkJ LTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBu ZXcgcm93cyAqLwogCQkJCQlTUElfT0tfVVBEQVRFKTsKQEAgLTEzNzAsNiArMTM4OSw1NDAgQEAg cmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9vbCBpc19zZXRfbnVsbCwgaW50IHRna2lu ZCkKIH0KIAogCisvKgorICogUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwgLQorICoKKyAqIENh c2NhZGVkIGRlbGV0ZSBmb3JlaWduIGtleSByZWZlcmVuY2VzIGF0IGRlbGV0ZSBldmVudCBvbiB0 ZW1wb3JhbCBQSyB0YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX2Nhc2NhZGVfZGVs KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJVHJpZ2dlckRhdGEgKnRyaWdkYXRhID0gKFRyaWdnZXJE YXRhICopIGZjaW5mby0+Y29udGV4dDsKKwljb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZv OworCVJlbGF0aW9uCWZrX3JlbDsKKwlSZWxhdGlvbglwa19yZWw7CisJVHVwbGVUYWJsZVNsb3Qg Km9sZHNsb3Q7CisJUklfUXVlcnlLZXkgcWtleTsKKwlTUElQbGFuUHRyCXFwbGFuOworCURhdHVt CQl0YXJnZXRSYW5nZTsKKworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIg Y2FsbCBvbiB0aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZj aW5mbywgIlJJX0ZLZXlfcGVyaW9kX2Nhc2NhZGVfZGVsIiwgUklfVFJJR1RZUEVfREVMRVRFKTsK KworCXJpaW5mbyA9IHJpX0ZldGNoQ29uc3RyYWludEluZm8odHJpZ2RhdGEtPnRnX3RyaWdnZXIs CisJCQkJCQkJCQl0cmlnZGF0YS0+dGdfcmVsYXRpb24sIHRydWUpOworCisJLyoKKwkgKiBHZXQg dGhlIHJlbGF0aW9uIGRlc2NyaXB0b3JzIG9mIHRoZSBGSyBhbmQgUEsgdGFibGVzIGFuZCB0aGUg b2xkIHR1cGxlLgorCSAqCisJICogZmtfcmVsIGlzIG9wZW5lZCBpbiBSb3dFeGNsdXNpdmVMb2Nr IG1vZGUgc2luY2UgdGhhdCdzIHdoYXQgb3VyCisJICogZXZlbnR1YWwgREVMRVRFIHdpbGwgZ2V0 IG9uIGl0LgorCSAqLworCWZrX3JlbCA9IHRhYmxlX29wZW4ocmlpbmZvLT5ma19yZWxpZCwgUm93 RXhjbHVzaXZlTG9jayk7CisJcGtfcmVsID0gdHJpZ2RhdGEtPnRnX3JlbGF0aW9uOworCW9sZHNs b3QgPSB0cmlnZGF0YS0+dGdfdHJpZ3Nsb3Q7CisKKwkvKgorCSAqIERvbid0IGRlbGV0ZSB0aGFu IG1vcmUgdGhhbiB0aGUgUEsncyBkdXJhdGlvbiwgdHJpbW1lZCBieSBhbiBvcmlnaW5hbAorCSAq IEZPUiBQT1JUSU9OIE9GIGlmIG5lY2Vzc2FyeS4KKwkgKi8KKwl0YXJnZXRSYW5nZSA9IHJlc3Ry aWN0X2VuZm9yY2VkX3JhbmdlKHRyaWdkYXRhLT50Z190ZW1wb3JhbCwgcmlpbmZvLCBvbGRzbG90 KTsKKworCWlmIChTUElfY29ubmVjdCgpICE9IFNQSV9PS19DT05ORUNUKQorCQllbG9nKEVSUk9S LCAiU1BJX2Nvbm5lY3QgZmFpbGVkIik7CisKKwkvKiBGZXRjaCBvciBwcmVwYXJlIGEgc2F2ZWQg cGxhbiBmb3IgdGhlIGNhc2NhZGVkIGRlbGV0ZSAqLworCXJpX0J1aWxkUXVlcnlLZXkoJnFrZXks IHJpaW5mbywgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTkRFTEVURSk7CisKKwlpZiAoKHFwbGFu ID0gcmlfRmV0Y2hQcmVwYXJlZFBsYW4oJnFrZXkpKSA9PSBOVUxMKQorCXsKKwkJU3RyaW5nSW5m b0RhdGEgcXVlcnlidWY7CisJCWNoYXIJCWZrcmVsbmFtZVtNQVhfUVVPVEVEX1JFTF9OQU1FX0xF Tl07CisJCWNoYXIJCWF0dG5hbWVbTUFYX1FVT1RFRF9OQU1FX0xFTl07CisJCWNoYXIJCXBhcmFt bmFtZVsxNl07CisJCWNvbnN0IGNoYXIgKnF1ZXJ5c2VwOworCQlPaWQJCQlxdWVyeW9pZHNbUklf TUFYX05VTUtFWVMgKyAxXTsKKwkJY29uc3QgY2hhciAqZmtfb25seTsKKworCQkvKiAtLS0tLS0t LS0tCisJCSAqIFRoZSBxdWVyeSBzdHJpbmcgYnVpbHQgaXMKKwkJICogIERFTEVURSBGUk9NIFtP TkxZXSA8Zmt0YWJsZT4KKwkJICogIEZPUiBQT1JUSU9OIE9GICRma2F0dCAoJHtuKzF9KQorCQkg KiAgV0hFUkUgJDEgPSBma2F0dDEgW0FORCAuLi5dCisJCSAqIFRoZSB0eXBlIGlkJ3MgZm9yIHRo ZSAkIHBhcmFtZXRlcnMgYXJlIHRob3NlIG9mIHRoZQorCQkgKiBjb3JyZXNwb25kaW5nIFBLIGF0 dHJpYnV0ZXMuCisJCSAqIC0tLS0tLS0tLS0KKwkJICovCisJCWluaXRTdHJpbmdJbmZvKCZxdWVy eWJ1Zik7CisJCWZrX29ubHkgPSBma19yZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BB UlRJVElPTkVEX1RBQkxFID8KKwkJCSIiIDogIk9OTFkgIjsKKwkJcXVvdGVSZWxhdGlvbk5hbWUo ZmtyZWxuYW1lLCBma19yZWwpOworCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwgUklBdHROYW1lKGZr X3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSkpOworCisJCWFwcGVu ZFN0cmluZ0luZm8oJnF1ZXJ5YnVmLCAiREVMRVRFIEZST00gJXMlcyBGT1IgUE9SVElPTiBPRiAl cyAoJCVkKSIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBhdHRuYW1lLCByaWluZm8tPm5r ZXlzICsgMSk7CisJCXF1ZXJ5c2VwID0gIldIRVJFIjsKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBy aWluZm8tPm5rZXlzOyBpKyspCisJCXsKKwkJCU9pZAkJCXBrX3R5cGUgPSBSSUF0dFR5cGUocGtf cmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJcGtfY29sbCA9IFJJQXR0Q29s bGF0aW9uKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW2ldKTsKKwkJCU9pZAkJCWZrX3R5cGUg PSBSSUF0dFR5cGUoZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtf Y29sbCA9IFJJQXR0Q29sbGF0aW9uKGZrX3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW2ldKTsKKwor CQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsCisJCQkJCQkgUklBdHROYW1lKGZrX3JlbCwgcmlpbmZv LT5ma19hdHRudW1zW2ldKSk7CisJCQlzcHJpbnRmKHBhcmFtbmFtZSwgIiQlZCIsIGkgKyAxKTsK KwkJCXJpX0dlbmVyYXRlUXVhbCgmcXVlcnlidWYsIHF1ZXJ5c2VwLAorCQkJCQkJCXBhcmFtbmFt ZSwgcGtfdHlwZSwKKwkJCQkJCQlyaWluZm8tPnBmX2VxX29wcnNbaV0sCisJCQkJCQkJYXR0bmFt ZSwgZmtfdHlwZSk7CisJCQlpZiAocGtfY29sbCAhPSBma19jb2xsICYmICFnZXRfY29sbGF0aW9u X2lzZGV0ZXJtaW5pc3RpYyhwa19jb2xsKSkKKwkJCQlyaV9HZW5lcmF0ZVF1YWxDb2xsYXRpb24o JnF1ZXJ5YnVmLCBwa19jb2xsKTsKKwkJCXF1ZXJ5c2VwID0gIkFORCI7CisJCQlxdWVyeW9pZHNb aV0gPSBwa190eXBlOworCQl9CisKKwkJLyogU2V0IGEgcGFyYW0gZm9yIEZPUiBQT1JUSU9OIE9G IFRPL0ZST00gKi8KKwkJcXVlcnlvaWRzW3JpaW5mby0+bmtleXNdID0gUklBdHRUeXBlKHBrX3Jl bCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7CisKKwkJLyogUHJlcGFy ZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5DaGVjayhxdWVyeWJ1Zi5k YXRhLCByaWluZm8tPm5rZXlzICsgMSwgcXVlcnlvaWRzLAorCQkJCQkJCSAmcWtleSwgZmtfcmVs LCBwa19yZWwpOworCX0KKworCS8qCisJICogV2UgaGF2ZSBhIHBsYW4gbm93LiBCdWlsZCB1cCB0 aGUgYXJndW1lbnRzIGZyb20gdGhlIGtleSB2YWx1ZXMgaW4gdGhlCisJICogZGVsZXRlZCBQSyB0 dXBsZSBhbmQgZGVsZXRlIHRoZSByZWZlcmVuY2luZyByb3dzCisJICovCisJcmlfUGVyZm9ybUNo ZWNrKHJpaW5mbywgJnFrZXksIHFwbGFuLAorCQkJCQlma19yZWwsIHBrX3JlbCwKKwkJCQkJb2xk c2xvdCwgTlVMTCwKKwkJCQkJcmlpbmZvLT5ua2V5cyArIDEsIHRhcmdldFJhbmdlLAorCQkJCQlm YWxzZSwKKwkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyByb3dzICovCisJCQkJCVNQSV9P S19ERUxFVEUpOworCisJaWYgKFNQSV9maW5pc2goKSAhPSBTUElfT0tfRklOSVNIKQorCQllbG9n KEVSUk9SLCAiU1BJX2ZpbmlzaCBmYWlsZWQiKTsKKworCXRhYmxlX2Nsb3NlKGZrX3JlbCwgUm93 RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gUG9pbnRlckdldERhdHVtKE5VTEwpOworfQorCisv KgorICogUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQgLQorICoKKyAqIENhc2NhZGVkIHVwZGF0 ZSBmb3JlaWduIGtleSByZWZlcmVuY2VzIGF0IHVwZGF0ZSBldmVudCBvbiB0ZW1wb3JhbCBQSyB0 YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX2Nhc2NhZGVfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJVHJpZ2dlckRhdGEgKnRyaWdkYXRhID0gKFRyaWdnZXJEYXRhICopIGZjaW5m by0+Y29udGV4dDsKKwljb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZvOworCVJlbGF0aW9u CWZrX3JlbDsKKwlSZWxhdGlvbglwa19yZWw7CisJVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3Q7CisJ VHVwbGVUYWJsZVNsb3QgKm5ld3Nsb3Q7CisJUklfUXVlcnlLZXkgcWtleTsKKwlTUElQbGFuUHRy CXFwbGFuOworCURhdHVtCQl0YXJnZXRSYW5nZTsKKworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBh IHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlf Q2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJX0ZLZXlfcGVyaW9kX2Nhc2NhZGVfdXBkIiwgUklfVFJJ R1RZUEVfVVBEQVRFKTsKKworCXJpaW5mbyA9IHJpX0ZldGNoQ29uc3RyYWludEluZm8odHJpZ2Rh dGEtPnRnX3RyaWdnZXIsCisJCQkJCQkJCQl0cmlnZGF0YS0+dGdfcmVsYXRpb24sIHRydWUpOwor CisJLyoKKwkgKiBHZXQgdGhlIHJlbGF0aW9uIGRlc2NyaXB0b3JzIG9mIHRoZSBGSyBhbmQgUEsg dGFibGVzIGFuZCB0aGUgbmV3IGFuZAorCSAqIG9sZCB0dXBsZS4KKwkgKgorCSAqIGZrX3JlbCBp cyBvcGVuZWQgaW4gUm93RXhjbHVzaXZlTG9jayBtb2RlIHNpbmNlIHRoYXQncyB3aGF0IG91cgor CSAqIGV2ZW50dWFsIFVQREFURSB3aWxsIGdldCBvbiBpdC4KKwkgKi8KKwlma19yZWwgPSB0YWJs ZV9vcGVuKHJpaW5mby0+ZmtfcmVsaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCXBrX3JlbCA9IHRy aWdkYXRhLT50Z19yZWxhdGlvbjsKKwluZXdzbG90ID0gdHJpZ2RhdGEtPnRnX25ld3Nsb3Q7CisJ b2xkc2xvdCA9IHRyaWdkYXRhLT50Z190cmlnc2xvdDsKKworCS8qCisJICogRG9uJ3QgZGVsZXRl IHRoYW4gbW9yZSB0aGFuIHRoZSBQSydzIGR1cmF0aW9uLCB0cmltbWVkIGJ5IGFuIG9yaWdpbmFs CisJICogRk9SIFBPUlRJT04gT0YgaWYgbmVjZXNzYXJ5LgorCSAqLworCXRhcmdldFJhbmdlID0g cmVzdHJpY3RfZW5mb3JjZWRfcmFuZ2UodHJpZ2RhdGEtPnRnX3RlbXBvcmFsLCByaWluZm8sIG9s ZHNsb3QpOworCisJaWYgKFNQSV9jb25uZWN0KCkgIT0gU1BJX09LX0NPTk5FQ1QpCisJCWVsb2co RVJST1IsICJTUElfY29ubmVjdCBmYWlsZWQiKTsKKworCS8qIEZldGNoIG9yIHByZXBhcmUgYSBz YXZlZCBwbGFuIGZvciB0aGUgY2FzY2FkZWQgdXBkYXRlICovCisJcmlfQnVpbGRRdWVyeUtleSgm cWtleSwgcmlpbmZvLCBSSV9QTEFOX1BFUklPRF9DQVNDQURFX09OVVBEQVRFKTsKKworCWlmICgo cXBsYW4gPSByaV9GZXRjaFByZXBhcmVkUGxhbigmcWtleSkpID09IE5VTEwpCisJeworCQlTdHJp bmdJbmZvRGF0YSBxdWVyeWJ1ZjsKKwkJU3RyaW5nSW5mb0RhdGEgcXVhbGJ1ZjsKKwkJY2hhcgkJ ZmtyZWxuYW1lW01BWF9RVU9URURfUkVMX05BTUVfTEVOXTsKKwkJY2hhcgkJYXR0bmFtZVtNQVhf UVVPVEVEX05BTUVfTEVOXTsKKwkJY2hhcgkJcGFyYW1uYW1lWzE2XTsKKwkJY29uc3QgY2hhciAq cXVlcnlzZXA7CisJCWNvbnN0IGNoYXIgKnF1YWxzZXA7CisJCU9pZAkJCXF1ZXJ5b2lkc1syICog UklfTUFYX05VTUtFWVMgKyAxXTsKKwkJY29uc3QgY2hhciAqZmtfb25seTsKKworCQkvKiAtLS0t LS0tLS0tCisJCSAqIFRoZSBxdWVyeSBzdHJpbmcgYnVpbHQgaXMKKwkJICogIFVQREFURSBbT05M WV0gPGZrdGFibGU+CisJCSAqCQkgIEZPUiBQT1JUSU9OIE9GICRma2F0dCAoJHsybisxfSkKKwkJ ICoJCSAgU0VUIGZrYXR0MSA9ICQxLCBbLCAuLi5dCisJCSAqCQkgIFdIRVJFICRuID0gZmthdHQx IFtBTkQgLi4uXQorCQkgKiBUaGUgdHlwZSBpZCdzIGZvciB0aGUgJCBwYXJhbWV0ZXJzIGFyZSB0 aG9zZSBvZiB0aGUKKwkJICogY29ycmVzcG9uZGluZyBQSyBhdHRyaWJ1dGVzLiAgTm90ZSB0aGF0 IHdlIGFyZSBhc3N1bWluZworCQkgKiB0aGVyZSBpcyBhbiBhc3NpZ25tZW50IGNhc3QgZnJvbSB0 aGUgUEsgdG8gdGhlIEZLIHR5cGU7CisJCSAqIGVsc2UgdGhlIHBhcnNlciB3aWxsIGZhaWwuCisJ CSAqIC0tLS0tLS0tLS0KKwkJICovCisJCWluaXRTdHJpbmdJbmZvKCZxdWVyeWJ1Zik7CisJCWlu aXRTdHJpbmdJbmZvKCZxdWFsYnVmKTsKKwkJZmtfb25seSA9IGZrX3JlbC0+cmRfcmVsLT5yZWxr aW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUgPworCQkJIiIgOiAiT05MWSAiOworCQlx dW90ZVJlbGF0aW9uTmFtZShma3JlbG5hbWUsIGZrX3JlbCk7CisJCXF1b3RlT25lTmFtZShhdHRu YW1lLCBSSUF0dE5hbWUoZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAt IDFdKSk7CisKKwkJYXBwZW5kU3RyaW5nSW5mbygmcXVlcnlidWYsICJVUERBVEUgJXMlcyBGT1Ig UE9SVElPTiBPRiAlcyAoJCVkKSBTRVQiLAorCQkJCQkJIGZrX29ubHksIGZrcmVsbmFtZSwgYXR0 bmFtZSwgMiAqIHJpaW5mby0+bmtleXMgKyAxKTsKKworCQlxdWVyeXNlcCA9ICIiOworCQlxdWFs c2VwID0gIldIRVJFIjsKKwkJZm9yIChpbnQgaSA9IDAsIGogPSByaWluZm8tPm5rZXlzOyBpIDwg cmlpbmZvLT5ua2V5czsgaSsrLCBqKyspCisJCXsKKwkJCU9pZAkJCXBrX3R5cGUgPSBSSUF0dFR5 cGUocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJcGtfY29sbCA9IFJJ QXR0Q29sbGF0aW9uKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW2ldKTsKKwkJCU9pZAkJCWZr X3R5cGUgPSBSSUF0dFR5cGUoZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOworCQkJT2lk CQkJZmtfY29sbCA9IFJJQXR0Q29sbGF0aW9uKGZrX3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW2ld KTsKKworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsCisJCQkJCQkgUklBdHROYW1lKGZrX3JlbCwg cmlpbmZvLT5ma19hdHRudW1zW2ldKSk7CisKKwkJCS8qCisJCQkgKiBEb24ndCBzZXQgdGhlIHRl bXBvcmFsIGNvbHVtbihzKS4gRk9SIFBPUlRJT04gT0Ygd2lsbCB0YWtlIGNhcmUKKwkJCSAqIG9m IHRoYXQuCisJCQkgKi8KKwkJCWlmIChpIDwgcmlpbmZvLT5ua2V5cyAtIDEpCisJCQkJYXBwZW5k U3RyaW5nSW5mbygmcXVlcnlidWYsCisJCQkJCQkJCSAiJXMgJXMgPSAkJWQiLAorCQkJCQkJCQkg cXVlcnlzZXAsIGF0dG5hbWUsIGkgKyAxKTsKKworCQkJc3ByaW50ZihwYXJhbW5hbWUsICIkJWQi LCBqICsgMSk7CisJCQlyaV9HZW5lcmF0ZVF1YWwoJnF1YWxidWYsIHF1YWxzZXAsCisJCQkJCQkJ cGFyYW1uYW1lLCBwa190eXBlLAorCQkJCQkJCXJpaW5mby0+cGZfZXFfb3Byc1tpXSwKKwkJCQkJ CQlhdHRuYW1lLCBma190eXBlKTsKKwkJCWlmIChwa19jb2xsICE9IGZrX2NvbGwgJiYgIWdldF9j b2xsYXRpb25faXNkZXRlcm1pbmlzdGljKHBrX2NvbGwpKQorCQkJCXJpX0dlbmVyYXRlUXVhbENv bGxhdGlvbigmcXVlcnlidWYsIHBrX2NvbGwpOworCQkJcXVlcnlzZXAgPSAiLCI7CisJCQlxdWFs c2VwID0gIkFORCI7CisJCQlxdWVyeW9pZHNbaV0gPSBwa190eXBlOworCQkJcXVlcnlvaWRzW2pd ID0gcGtfdHlwZTsKKwkJfQorCQlhcHBlbmRCaW5hcnlTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwgcXVh bGJ1Zi5kYXRhLCBxdWFsYnVmLmxlbik7CisKKwkJLyogU2V0IGEgcGFyYW0gZm9yIEZPUiBQT1JU SU9OIE9GIFRPL0ZST00gKi8KKwkJcXVlcnlvaWRzWzIgKiByaWluZm8tPm5rZXlzXSA9IFJJQXR0 VHlwZShwa19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0pOworCisJ CS8qIFByZXBhcmUgYW5kIHNhdmUgdGhlIHBsYW4gKi8KKwkJcXBsYW4gPSByaV9QbGFuQ2hlY2so cXVlcnlidWYuZGF0YSwgMiAqIHJpaW5mby0+bmtleXMgKyAxLCBxdWVyeW9pZHMsCisJCQkJCQkJ ICZxa2V5LCBma19yZWwsIHBrX3JlbCk7CisJfQorCisJLyoKKwkgKiBXZSBoYXZlIGEgcGxhbiBu b3cuIFJ1biBpdCB0byB1cGRhdGUgdGhlIGV4aXN0aW5nIHJlZmVyZW5jZXMuCisJICovCisJcmlf UGVyZm9ybUNoZWNrKHJpaW5mbywgJnFrZXksIHFwbGFuLAorCQkJCQlma19yZWwsIHBrX3JlbCwK KwkJCQkJb2xkc2xvdCwgbmV3c2xvdCwKKwkJCQkJcmlpbmZvLT5ua2V5cyAqIDIgKyAxLCB0YXJn ZXRSYW5nZSwKKwkJCQkJZmFsc2UsCisJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBuZXcgcm93 cyAqLworCQkJCQlTUElfT0tfVVBEQVRFKTsKKworCWlmIChTUElfZmluaXNoKCkgIT0gU1BJX09L X0ZJTklTSCkKKwkJZWxvZyhFUlJPUiwgIlNQSV9maW5pc2ggZmFpbGVkIik7CisKKwl0YWJsZV9j bG9zZShma19yZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJcmV0dXJuIFBvaW50ZXJHZXREYXR1 bShOVUxMKTsKK30KKworLyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsIC0KKyAqCisg KiBTZXQgZm9yZWlnbiBrZXkgcmVmZXJlbmNlcyB0byBOVUxMIHZhbHVlcyBhdCBkZWxldGUgZXZl bnQgb24gUEsgdGFibGUuCisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRudWxsX2RlbChQ R19GVU5DVElPTl9BUkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdn ZXIgY2FsbCBvbiB0aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2Vy KGZjaW5mbywgIlJJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsIiwgUklfVFJJR1RZUEVfREVMRVRF KTsKKworCS8qIFNoYXJlIGNvZGUgd2l0aCBVUERBVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0 KChUcmlnZ2VyRGF0YSAqKSBmY2luZm8tPmNvbnRleHQsIHRydWUsIFJJX1RSSUdUWVBFX0RFTEVU RSk7Cit9CisKKy8qCisgKiBSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZCAtCisgKgorICogU2V0 IGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgdG8gTlVMTCBhdCB1cGRhdGUgZXZlbnQgb24gUEsgdGFi bGUuCisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZChQR19GVU5DVElPTl9B UkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0 aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJ X0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkIiwgUklfVFJJR1RZUEVfVVBEQVRFKTsKKworCS8qIFNo YXJlIGNvZGUgd2l0aCBERUxFVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0KChUcmlnZ2VyRGF0 YSAqKSBmY2luZm8tPmNvbnRleHQsIHRydWUsIFJJX1RSSUdUWVBFX1VQREFURSk7Cit9CisKKy8q CisgKiBSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbCAtCisgKgorICogU2V0IGZvcmVpZ24g a2V5IHJlZmVyZW5jZXMgdG8gZGVmYXVsdHMgYXQgZGVsZXRlIGV2ZW50IG9uIFBLIHRhYmxlLgor ICovCitEYXR1bQorUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwoUEdfRlVOQ1RJT05fQVJH UykKK3sKKwkvKiBDaGVjayB0aGF0IHRoaXMgaXMgYSB2YWxpZCB0cmlnZ2VyIGNhbGwgb24gdGhl IHJpZ2h0IHRpbWUgYW5kIGV2ZW50LiAqLworCXJpX0NoZWNrVHJpZ2dlcihmY2luZm8sICJSSV9G S2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbCIsIFJJX1RSSUdUWVBFX0RFTEVURSk7CisKKwkvKiBT aGFyZSBjb2RlIHdpdGggVVBEQVRFIGNhc2UgKi8KKwlyZXR1cm4gdHJpX3NldCgoVHJpZ2dlckRh dGEgKikgZmNpbmZvLT5jb250ZXh0LCBmYWxzZSwgUklfVFJJR1RZUEVfREVMRVRFKTsKK30KKwor LyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfdXBkIC0KKyAqCisgKiBTZXQgZm9yZWln biBrZXkgcmVmZXJlbmNlcyB0byBkZWZhdWx0cyBhdCB1cGRhdGUgZXZlbnQgb24gUEsgdGFibGUu CisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X3VwZChQR19GVU5DVElPTl9B UkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0 aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJ X0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfdXBkIiwgUklfVFJJR1RZUEVfVVBEQVRFKTsKKworCS8q IFNoYXJlIGNvZGUgd2l0aCBERUxFVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0KChUcmlnZ2Vy RGF0YSAqKSBmY2luZm8tPmNvbnRleHQsIGZhbHNlLCBSSV9UUklHVFlQRV9VUERBVEUpOworfQor CisvKgorICogdHJpX3NldCAtCisgKgorICogQ29tbW9uIGNvZGUgZm9yIHRlbXBvcmFsIE9OIERF TEVURSBTRVQgTlVMTCwgT04gREVMRVRFIFNFVCBERUZBVUxULCBPTgorICogVVBEQVRFIFNFVCBO VUxMLCBhbmQgT04gVVBEQVRFIFNFVCBERUZBVUxULgorICovCitzdGF0aWMgRGF0dW0KK3RyaV9z ZXQoVHJpZ2dlckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdraW5kKQor eworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm87CisJUmVsYXRpb24JZmtfcmVsOwor CVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdDsKKwlSSV9RdWVyeUtl eSBxa2V5OworCVNQSVBsYW5QdHIJcXBsYW47CisJRGF0dW0JCXRhcmdldFJhbmdlOworCWludDMy CQlxdWVyeW5vOworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmlnZGF0YS0+ dGdfdHJpZ2dlciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7CisKKwkv KgorCSAqIEdldCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQSyB0YWJs ZXMgYW5kIHRoZSBvbGQgdHVwbGUuCisJICoKKwkgKiBma19yZWwgaXMgb3BlbmVkIGluIFJvd0V4 Y2x1c2l2ZUxvY2sgbW9kZSBzaW5jZSB0aGF0J3Mgd2hhdCBvdXIKKwkgKiBldmVudHVhbCBVUERB VEUgd2lsbCBnZXQgb24gaXQuCisJICovCisJZmtfcmVsID0gdGFibGVfb3BlbihyaWluZm8tPmZr X3JlbGlkLCBSb3dFeGNsdXNpdmVMb2NrKTsKKwlwa19yZWwgPSB0cmlnZGF0YS0+dGdfcmVsYXRp b247CisJb2xkc2xvdCA9IHRyaWdkYXRhLT50Z190cmlnc2xvdDsKKworCS8qCisJICogRG9uJ3Qg U0VUIE5VTEwvREVGQVVMVCBtb3JlIHRoYW4gdGhlIFBLJ3MgZHVyYXRpb24sIHRyaW1tZWQgYnkg YW4KKwkgKiBvcmlnaW5hbCBGT1IgUE9SVElPTiBPRiBpZiBuZWNlc3NhcnkuCisJICovCisJdGFy Z2V0UmFuZ2UgPSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZSh0cmlnZGF0YS0+dGdfdGVtcG9yYWws IHJpaW5mbywgb2xkc2xvdCk7CisKKwlpZiAoU1BJX2Nvbm5lY3QoKSAhPSBTUElfT0tfQ09OTkVD VCkKKwkJZWxvZyhFUlJPUiwgIlNQSV9jb25uZWN0IGZhaWxlZCIpOworCisJLyoKKwkgKiBGZXRj aCBvciBwcmVwYXJlIGEgc2F2ZWQgcGxhbiBmb3IgdGhlIHRyaWdnZXIuCisJICovCisJc3dpdGNo ICh0Z2tpbmQpCisJeworCQljYXNlIFJJX1RSSUdUWVBFX1VQREFURToKKwkJCXF1ZXJ5bm8gPSBp c19zZXRfbnVsbAorCQkJCT8gUklfUExBTl9QRVJJT0RfU0VUTlVMTF9PTlVQREFURQorCQkJCTog UklfUExBTl9QRVJJT0RfU0VUREVGQVVMVF9PTlVQREFURTsKKwkJCWJyZWFrOworCQljYXNlIFJJ X1RSSUdUWVBFX0RFTEVURToKKwkJCXF1ZXJ5bm8gPSBpc19zZXRfbnVsbAorCQkJCT8gUklfUExB Tl9QRVJJT0RfU0VUTlVMTF9PTkRFTEVURQorCQkJCTogUklfUExBTl9QRVJJT0RfU0VUREVGQVVM VF9PTkRFTEVURTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZWxvZyhFUlJPUiwgImludmFs aWQgdGdraW5kIHBhc3NlZCB0byByaV9zZXQiKTsKKwl9CisKKwlyaV9CdWlsZFF1ZXJ5S2V5KCZx a2V5LCByaWluZm8sIHF1ZXJ5bm8pOworCisJaWYgKChxcGxhbiA9IHJpX0ZldGNoUHJlcGFyZWRQ bGFuKCZxa2V5KSkgPT0gTlVMTCkKKwl7CisJCVN0cmluZ0luZm9EYXRhIHF1ZXJ5YnVmOworCQlT dHJpbmdJbmZvRGF0YSBxdWFsYnVmOworCQljaGFyCQlma3JlbG5hbWVbTUFYX1FVT1RFRF9SRUxf TkFNRV9MRU5dOworCQljaGFyCQlhdHRuYW1lW01BWF9RVU9URURfTkFNRV9MRU5dOworCQljaGFy CQlwYXJhbW5hbWVbMTZdOworCQljb25zdCBjaGFyICpxdWVyeXNlcDsKKwkJY29uc3QgY2hhciAq cXVhbHNlcDsKKwkJT2lkCQkJcXVlcnlvaWRzW1JJX01BWF9OVU1LRVlTICsgMV07CS8qICsxIGZv ciBGT1IgUE9SVElPTiBPRiAqLworCQljb25zdCBjaGFyICpma19vbmx5OworCQlpbnQJCQludW1f Y29sc190b19zZXQ7CisJCWNvbnN0IGludDE2ICpzZXRfY29sczsKKworCQlzd2l0Y2ggKHRna2lu ZCkKKwkJeworCQkJY2FzZSBSSV9UUklHVFlQRV9VUERBVEU6CisJCQkJLyogLTEgc28gd2UgbGV0 IEZPUiBQT1JUSU9OIE9GIHNldCB0aGUgcmFuZ2UuICovCisJCQkJbnVtX2NvbHNfdG9fc2V0ID0g cmlpbmZvLT5ua2V5cyAtIDE7CisJCQkJc2V0X2NvbHMgPSByaWluZm8tPmZrX2F0dG51bXM7CisJ CQkJYnJlYWs7CisJCQljYXNlIFJJX1RSSUdUWVBFX0RFTEVURToKKworCQkJCS8qCisJCQkJICog SWYgY29uZmRlbHNldGNvbHMgYXJlIHByZXNlbnQsIHRoZW4gd2Ugb25seSB1cGRhdGUgdGhlCisJ CQkJICogY29sdW1ucyBzcGVjaWZpZWQgaW4gdGhhdCBhcnJheSwgb3RoZXJ3aXNlIHdlIHVwZGF0 ZSBhbGwKKwkJCQkgKiB0aGUgcmVmZXJlbmNpbmcgY29sdW1ucy4KKwkJCQkgKi8KKwkJCQlpZiAo cmlpbmZvLT5uZGVsc2V0Y29scyAhPSAwKQorCQkJCXsKKwkJCQkJbnVtX2NvbHNfdG9fc2V0ID0g cmlpbmZvLT5uZGVsc2V0Y29sczsKKwkJCQkJc2V0X2NvbHMgPSByaWluZm8tPmNvbmZkZWxzZXRj b2xzOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiAtMSBzbyB3ZSBsZXQgRk9SIFBP UlRJT04gT0Ygc2V0IHRoZSByYW5nZS4gKi8KKwkJCQkJbnVtX2NvbHNfdG9fc2V0ID0gcmlpbmZv LT5ua2V5cyAtIDE7CisJCQkJCXNldF9jb2xzID0gcmlpbmZvLT5ma19hdHRudW1zOworCQkJCX0K KwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgImludmFsaWQgdGdraW5k IHBhc3NlZCB0byByaV9zZXQiKTsKKwkJfQorCisJCS8qIC0tLS0tLS0tLS0KKwkJICogVGhlIHF1 ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKglVUERBVEUgW09OTFldIDxma3RhYmxlPgorCQkgKgkJ CUZPUiBQT1JUSU9OIE9GICRma2F0dCAoJHtuKzF9KQorCQkgKgkJCVNFVCBma2F0dDEgPSB7TlVM THxERUZBVUxUfSBbLCAuLi5dCisJCSAqCQkJV0hFUkUgJDEgPSBma2F0dDEgW0FORCAuLi5dCisJ CSAqIFRoZSB0eXBlIGlkJ3MgZm9yIHRoZSAkIHBhcmFtZXRlcnMgYXJlIHRob3NlIG9mIHRoZQor CQkgKiBjb3JyZXNwb25kaW5nIFBLIGF0dHJpYnV0ZXMuCisJCSAqIC0tLS0tLS0tLS0KKwkJICov CisJCWluaXRTdHJpbmdJbmZvKCZxdWVyeWJ1Zik7CisJCWluaXRTdHJpbmdJbmZvKCZxdWFsYnVm KTsKKwkJZmtfb25seSA9IGZrX3JlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElU SU9ORURfVEFCTEUgPworCQkJIiIgOiAiT05MWSAiOworCQlxdW90ZVJlbGF0aW9uTmFtZShma3Jl bG5hbWUsIGZrX3JlbCk7CisJCXF1b3RlT25lTmFtZShhdHRuYW1lLCBSSUF0dE5hbWUoZmtfcmVs LCByaWluZm8tPmZrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKSk7CisKKwkJYXBwZW5kU3Ry aW5nSW5mbygmcXVlcnlidWYsICJVUERBVEUgJXMlcyBGT1IgUE9SVElPTiBPRiAlcyAoJCVkKSBT RVQiLAorCQkJCQkJIGZrX29ubHksIGZrcmVsbmFtZSwgYXR0bmFtZSwgcmlpbmZvLT5ua2V5cyAr IDEpOworCisJCS8qCisJCSAqIEFkZCBhc3NpZ25tZW50IGNsYXVzZXMKKwkJICovCisJCXF1ZXJ5 c2VwID0gIiI7CisJCWZvciAoaW50IGkgPSAwOyBpIDwgbnVtX2NvbHNfdG9fc2V0OyBpKyspCisJ CXsKKwkJCXF1b3RlT25lTmFtZShhdHRuYW1lLCBSSUF0dE5hbWUoZmtfcmVsLCBzZXRfY29sc1tp XSkpOworCQkJYXBwZW5kU3RyaW5nSW5mbygmcXVlcnlidWYsCisJCQkJCQkJICIlcyAlcyA9ICVz IiwKKwkJCQkJCQkgcXVlcnlzZXAsIGF0dG5hbWUsCisJCQkJCQkJIGlzX3NldF9udWxsID8gIk5V TEwiIDogIkRFRkFVTFQiKTsKKwkJCXF1ZXJ5c2VwID0gIiwiOworCQl9CisKKwkJLyoKKwkJICog QWRkIFdIRVJFIGNsYXVzZQorCQkgKi8KKwkJcXVhbHNlcCA9ICJXSEVSRSI7CisJCWZvciAoaW50 IGkgPSAwOyBpIDwgcmlpbmZvLT5ua2V5czsgaSsrKQorCQl7CisJCQlPaWQJCQlwa190eXBlID0g UklBdHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW2ldKTsKKwkJCU9pZAkJCWZrX3R5 cGUgPSBSSUF0dFR5cGUoZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJ cGtfY29sbCA9IFJJQXR0Q29sbGF0aW9uKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW2ldKTsK KwkJCU9pZAkJCWZrX2NvbGwgPSBSSUF0dENvbGxhdGlvbihma19yZWwsIHJpaW5mby0+ZmtfYXR0 bnVtc1tpXSk7CisKKwkJCXF1b3RlT25lTmFtZShhdHRuYW1lLAorCQkJCQkJIFJJQXR0TmFtZShm a19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSkpOworCisJCQlzcHJpbnRmKHBhcmFtbmFtZSwg IiQlZCIsIGkgKyAxKTsKKwkJCXJpX0dlbmVyYXRlUXVhbCgmcXVlcnlidWYsIHF1YWxzZXAsCisJ CQkJCQkJcGFyYW1uYW1lLCBwa190eXBlLAorCQkJCQkJCXJpaW5mby0+cGZfZXFfb3Byc1tpXSwK KwkJCQkJCQlhdHRuYW1lLCBma190eXBlKTsKKwkJCWlmIChwa19jb2xsICE9IGZrX2NvbGwgJiYg IWdldF9jb2xsYXRpb25faXNkZXRlcm1pbmlzdGljKHBrX2NvbGwpKQorCQkJCXJpX0dlbmVyYXRl UXVhbENvbGxhdGlvbigmcXVlcnlidWYsIHBrX2NvbGwpOworCQkJcXVhbHNlcCA9ICJBTkQiOwor CQkJcXVlcnlvaWRzW2ldID0gcGtfdHlwZTsKKwkJfQorCisJCS8qIFNldCBhIHBhcmFtIGZvciBG T1IgUE9SVElPTiBPRiBUTy9GUk9NICovCisJCXF1ZXJ5b2lkc1tyaWluZm8tPm5rZXlzXSA9IFJJ QXR0VHlwZShwa19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0pOwor CisJCS8qIFByZXBhcmUgYW5kIHNhdmUgdGhlIHBsYW4gKi8KKwkJcXBsYW4gPSByaV9QbGFuQ2hl Y2socXVlcnlidWYuZGF0YSwgcmlpbmZvLT5ua2V5cyArIDEsIHF1ZXJ5b2lkcywKKwkJCQkJCQkg JnFrZXksIGZrX3JlbCwgcGtfcmVsKTsKKwl9CisKKwkvKgorCSAqIFdlIGhhdmUgYSBwbGFuIG5v dy4gUnVuIGl0IHRvIHVwZGF0ZSB0aGUgZXhpc3RpbmcgcmVmZXJlbmNlcy4KKwkgKi8KKwlyaV9Q ZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVsLAor CQkJCQlvbGRzbG90LCBOVUxMLAorCQkJCQlyaWluZm8tPm5rZXlzICsgMSwgdGFyZ2V0UmFuZ2Us CisJCQkJCWZhbHNlLAorCQkJCQl0cnVlLAkJLyogbXVzdCBkZXRlY3QgbmV3IHJvd3MgKi8KKwkJ CQkJU1BJX09LX1VQREFURSk7CisKKwlpZiAoU1BJX2ZpbmlzaCgpICE9IFNQSV9PS19GSU5JU0gp CisJCWVsb2coRVJST1IsICJTUElfZmluaXNoIGZhaWxlZCIpOworCisJdGFibGVfY2xvc2UoZmtf cmVsLCBSb3dFeGNsdXNpdmVMb2NrKTsKKworCWlmIChpc19zZXRfbnVsbCkKKwkJcmV0dXJuIFBv aW50ZXJHZXREYXR1bShOVUxMKTsKKwllbHNlCisJeworCQkvKgorCQkgKiBJZiB3ZSBqdXN0IGRl bGV0ZWQgb3IgdXBkYXRlZCB0aGUgUEsgcm93IHdob3NlIGtleSB3YXMgZXF1YWwgdG8gdGhlCisJ CSAqIEZLIGNvbHVtbnMnIGRlZmF1bHQgdmFsdWVzLCBhbmQgYSByZWZlcmVuY2luZyByb3cgZXhp c3RzIGluIHRoZSBGSworCQkgKiB0YWJsZSwgd2Ugd291bGQgaGF2ZSB1cGRhdGVkIHRoYXQgcm93 IHRvIHRoZSBzYW1lIHZhbHVlcyBpdCBhbHJlYWR5CisJCSAqIGhhZCAtLS0gYW5kIFJJX0ZLZXlf ZmtfdXBkX2NoZWNrX3JlcXVpcmVkIHdvdWxkIGhlbmNlIGJlbGlldmUgbm8KKwkJICogY2hlY2sg aXMgbmVjZXNzYXJ5LiAgU28gd2UgbmVlZCB0byBkbyBhbm90aGVyIGxvb2t1cCBub3cgYW5kIGlu CisJCSAqIGNhc2UgYSByZWZlcmVuY2Ugc3RpbGwgZXhpc3RzLCBhYm9ydCB0aGUgb3BlcmF0aW9u LiAgVGhhdCBpcworCQkgKiBhbHJlYWR5IGltcGxlbWVudGVkIGluIHRoZSBOTyBBQ1RJT04gdHJp Z2dlciwgc28ganVzdCBydW4gaXQuIChUaGlzCisJCSAqIHJlY2hlY2sgaXMgb25seSBuZWVkZWQg aW4gdGhlIFNFVCBERUZBVUxUIGNhc2UsIHNpbmNlIENBU0NBREUgd291bGQKKwkJICogcmVtb3Zl IHN1Y2ggcm93cyBpbiBjYXNlIG9mIGEgREVMRVRFIG9wZXJhdGlvbiBvciB3b3VsZCBjaGFuZ2Ug dGhlCisJCSAqIEZLIGtleSB2YWx1ZXMgaW4gY2FzZSBvZiBhbiBVUERBVEUsIHdoaWxlIFNFVCBO VUxMIGlzIGNlcnRhaW4gdG8KKwkJICogcmVzdWx0IGluIHJvd3MgdGhhdCBzYXRpc2Z5IHRoZSBG SyBjb25zdHJhaW50LikKKwkJICovCisJCXJldHVybiByaV9yZXN0cmljdCh0cmlnZGF0YSwgdHJ1 ZSk7CisJfQorfQorCiAvKgogICogUklfRktleV9wa191cGRfY2hlY2tfcmVxdWlyZWQgLQogICoK QEAgLTI0ODUsNiArMzAzOCw3IEBAIHJpX1BlcmZvcm1DaGVjayhjb25zdCBSSV9Db25zdHJhaW50 SW5mbyAqcmlpbmZvLAogCQkJCVJJX1F1ZXJ5S2V5ICpxa2V5LCBTUElQbGFuUHRyIHFwbGFuLAog CQkJCVJlbGF0aW9uIGZrX3JlbCwgUmVsYXRpb24gcGtfcmVsLAogCQkJCVR1cGxlVGFibGVTbG90 ICpvbGRzbG90LCBUdXBsZVRhYmxlU2xvdCAqbmV3c2xvdCwKKwkJCQlpbnQgcGVyaW9kUGFyYW0s IERhdHVtIHBlcmlvZCwKIAkJCQlib29sIGlzX3Jlc3RyaWN0LAogCQkJCWJvb2wgZGV0ZWN0TmV3 Um93cywgaW50IGV4cGVjdF9PSykKIHsKQEAgLTI0OTcsOCArMzA1MSw4IEBAIHJpX1BlcmZvcm1D aGVjayhjb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZvLAogCWludAkJCXNwaV9yZXN1bHQ7 CiAJT2lkCQkJc2F2ZV91c2VyaWQ7CiAJaW50CQkJc2F2ZV9zZWNfY29udGV4dDsKLQlEYXR1bQkJ dmFsc1tSSV9NQVhfTlVNS0VZUyAqIDJdOwotCWNoYXIJCW51bGxzW1JJX01BWF9OVU1LRVlTICog Ml07CisJRGF0dW0JCXZhbHNbUklfTUFYX05VTUtFWVMgKiAyICsgMV07CisJY2hhcgkJbnVsbHNb UklfTUFYX05VTUtFWVMgKiAyICsgMV07CiAKIAkvKgogCSAqIFVzZSB0aGUgcXVlcnkgdHlwZSBj b2RlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBxdWVyeSBpcyBydW4gYWdhaW5zdApAQCAtMjU0 MSw2ICszMDk1LDEyIEBAIHJpX1BlcmZvcm1DaGVjayhjb25zdCBSSV9Db25zdHJhaW50SW5mbyAq cmlpbmZvLAogCQlyaV9FeHRyYWN0VmFsdWVzKHNvdXJjZV9yZWwsIG9sZHNsb3QsIHJpaW5mbywg c291cmNlX2lzX3BrLAogCQkJCQkJIHZhbHMsIG51bGxzKTsKIAl9CisJLyogQWRkL3JlcGxhY2Ug YSBxdWVyeSBwYXJhbSBmb3IgdGhlIFBFUklPRCBpZiBuZWVkZWQgKi8KKwlpZiAocGVyaW9kKQor CXsKKwkJdmFsc1twZXJpb2RQYXJhbSAtIDFdID0gcGVyaW9kOworCQludWxsc1twZXJpb2RQYXJh bSAtIDFdID0gJyAnOworCX0KIAogCS8qCiAJICogSW4gUkVBRCBDT01NSVRURUQgbW9kZSwgd2Ug anVzdCBuZWVkIHRvIHVzZSBhbiB1cC10by1kYXRlIHJlZ3VsYXIKQEAgLTMyMjEsNiArMzc4MSwx MiBAQCBSSV9GS2V5X3RyaWdnZXJfdHlwZShPaWQgdGdmb2lkKQogCQljYXNlIEZfUklfRktFWV9T RVRERUZBVUxUX1VQRDoKIAkJY2FzZSBGX1JJX0ZLRVlfTk9BQ1RJT05fREVMOgogCQljYXNlIEZf UklfRktFWV9OT0FDVElPTl9VUEQ6CisJCWNhc2UgRl9SSV9GS0VZX1BFUklPRF9DQVNDQURFX0RF TDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX0NBU0NBREVfVVBEOgorCQljYXNlIEZfUklfRktF WV9QRVJJT0RfU0VUTlVMTF9ERUw6CisJCWNhc2UgRl9SSV9GS0VZX1BFUklPRF9TRVROVUxMX1VQ RDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX1NFVERFRkFVTFRfREVMOgorCQljYXNlIEZfUklf RktFWV9QRVJJT0RfU0VUREVGQVVMVF9VUEQ6CiAJCQlyZXR1cm4gUklfVFJJR0dFUl9QSzsKIAog CQljYXNlIEZfUklfRktFWV9DSEVDS19JTlM6CkBAIC0zMjMwLDMgKzM3OTYsNTAgQEAgUklfRktl eV90cmlnZ2VyX3R5cGUoT2lkIHRnZm9pZCkKIAogCXJldHVybiBSSV9UUklHR0VSX05PTkU7CiB9 CisKKy8qCisgKiBmcG9fdGFyZ2V0c19wa19yYW5nZQorICoKKyAqIFJldHVybnMgdHJ1ZSBpZmYg dGhlIHByaW1hcnkga2V5IHJlZmVyZW5jZWQgYnkgcmlpbmZvIGluY2x1ZGVzIHRoZSByYW5nZQor ICogY29sdW1uIHRhcmdldGVkIGJ5IHRoZSBGT1IgUE9SVElPTiBPRiBjbGF1c2UgKGFjY29yZGlu ZyB0byB0Z190ZW1wb3JhbCkuCisgKi8KK3N0YXRpYyBib29sCitmcG9fdGFyZ2V0c19wa19yYW5n ZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9yYWwsIGNvbnN0IFJJX0NvbnN0cmFp bnRJbmZvICpyaWluZm8pCit7CisJaWYgKHRnX3RlbXBvcmFsID09IE5VTEwpCisJCXJldHVybiBm YWxzZTsKKworCXJldHVybiByaWluZm8tPnBrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdID09 IHRnX3RlbXBvcmFsLT5mcF9yYW5nZUF0dG5vOworfQorCisvKgorICogcmVzdHJpY3RfZW5mb3Jj ZWRfcmFuZ2UgLQorICoKKyAqIFJldHVybnMgYSBEYXR1bSBvZiBSYW5nZVR5cGVQIGhvbGRpbmcg dGhlIGFwcHJvcHJpYXRlIHRpbWVzcGFuCisgKiB0byB0YXJnZXQgY2hpbGQgcmVjb3JkcyB3aGVu IHdlIFJFU1RSSUNUL0NBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQuCisgKgorICogSW4gYSBu b3JtYWwgVVBEQVRFL0RFTEVURSB0aGlzIHNob3VsZCBiZSB0aGUgcmVmZXJlbmNlZCByb3cncyBv d24gdmFsaWQgdGltZSwKKyAqIGJ1dCBpZiB0aGVyZSB3YXMgYSBGT1IgUE9SVElPTiBPRiBjbGF1 c2UsIHRoZW4gd2Ugc2hvdWxkIHVzZSB0aGF0IHRvCisgKiB0cmltIGRvd24gdGhlIHNwYW4gZnVy dGhlci4KKyAqLworc3RhdGljIERhdHVtCityZXN0cmljdF9lbmZvcmNlZF9yYW5nZShjb25zdCBG b3JQb3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9yYWwsIGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpy aWluZm8sIFR1cGxlVGFibGVTbG90ICpvbGRzbG90KQoreworCURhdHVtCQlwa1JlY29yZFJhbmdl OworCWJvb2wJCWlzbnVsbDsKKwlBdHRyTnVtYmVyCWF0dG5vID0gcmlpbmZvLT5wa19hdHRudW1z W3JpaW5mby0+bmtleXMgLSAxXTsKKworCXBrUmVjb3JkUmFuZ2UgPSBzbG90X2dldGF0dHIob2xk c2xvdCwgYXR0bm8sICZpc251bGwpOworCWlmIChpc251bGwpCisJCWVsb2coRVJST1IsICJhcHBs aWNhdGlvbiB0aW1lIHNob3VsZCBub3QgYmUgbnVsbCIpOworCisJaWYgKGZwb190YXJnZXRzX3Br X3JhbmdlKHRnX3RlbXBvcmFsLCByaWluZm8pKQorCXsKKwkJaWYgKCFPaWRJc1ZhbGlkKHJpaW5m by0+cGVyaW9kX2ludGVyc2VjdF9wcm9jKSkKKwkJCWVsb2coRVJST1IsICJpbnZhbGlkIGludGVy c2VjdCBzdXBwb3J0IGZ1bmN0aW9uIik7CisKKwkJcmV0dXJuIE9pZEZ1bmN0aW9uQ2FsbDIocmlp bmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2MsIHBrUmVjb3JkUmFuZ2UsIHRnX3RlbXBvcmFsLT5m cF90YXJnZXRSYW5nZSk7CisJfQorCWVsc2UKKwkJcmV0dXJuIHBrUmVjb3JkUmFuZ2U7Cit9CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBmZDk0NDhlYzdiOS4uNGE1MTg0M2NkNzMgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtNDEyMCw2ICs0MTIwLDI4IEBACiAgIHByb3JldHR5cGUg PT4gJ3RyaWdnZXInLCBwcm9hcmd0eXBlcyA9PiAnJywKICAgcHJvc3JjID0+ICdSSV9GS2V5X25v YWN0aW9uX3VwZCcgfSwKIAorIyBUZW1wb3JhbCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgY29uc3Ry YWludCB0cmlnZ2VycworeyBvaWQgPT4gJzYxMjQnLCBkZXNjciA9PiAndGVtcG9yYWwgcmVmZXJl bnRpYWwgaW50ZWdyaXR5IE9OIERFTEVURSBDQVNDQURFJywKKyAgcHJvbmFtZSA9PiAnUklfRktl eV9wZXJpb2RfY2FzY2FkZV9kZWwnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5cGUgPT4g J3RyaWdnZXInLAorICBwcm9hcmd0eXBlcyA9PiAnJywgcHJvc3JjID0+ICdSSV9GS2V5X3Blcmlv ZF9jYXNjYWRlX2RlbCcgfSwKK3sgb2lkID0+ICc2MTI1JywgZGVzY3IgPT4gJ3RlbXBvcmFsIHJl ZmVyZW50aWFsIGludGVncml0eSBPTiBVUERBVEUgQ0FTQ0FERScsCisgIHByb25hbWUgPT4gJ1JJ X0ZLZXlfcGVyaW9kX2Nhc2NhZGVfdXBkJywgcHJvdm9sYXRpbGUgPT4gJ3YnLCBwcm9yZXR0eXBl ID0+ICd0cmlnZ2VyJywKKyAgcHJvYXJndHlwZXMgPT4gJycsIHByb3NyYyA9PiAnUklfRktleV9w ZXJpb2RfY2FzY2FkZV91cGQnIH0sCit7IG9pZCA9PiAnNjEyOCcsIGRlc2NyID0+ICd0ZW1wb3Jh bCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIFNFVCBOVUxMJywKKyAgcHJvbmFtZSA9 PiAnUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3Jl dHR5cGUgPT4gJ3RyaWdnZXInLAorICBwcm9hcmd0eXBlcyA9PiAnJywgcHJvc3JjID0+ICdSSV9G S2V5X3BlcmlvZF9zZXRudWxsX2RlbCcgfSwKK3sgb2lkID0+ICc2MTI5JywgZGVzY3IgPT4gJ3Rl bXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBVUERBVEUgU0VUIE5VTEwnLAorICBwcm9u YW1lID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZCcsIHByb3ZvbGF0aWxlID0+ICd2Jywg cHJvcmV0dHlwZSA9PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4g J1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkJyB9LAoreyBvaWQgPT4gJzYxMzAnLCBkZXNjciA9 PiAndGVtcG9yYWwgcmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIERFTEVURSBTRVQgREVGQVVMVCcs CisgIHByb25hbWUgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsJywgcHJvdm9sYXRp bGUgPT4gJ3YnLAorICBwcm9yZXR0eXBlID0+ICd0cmlnZ2VyJywgcHJvYXJndHlwZXMgPT4gJycs CisgIHByb3NyYyA9PiAnUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwnIH0sCit7IG9pZCA9 PiAnNjEzMScsIGRlc2NyID0+ICd0ZW1wb3JhbCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgT04gVVBE QVRFIFNFVCBERUZBVUxUJywKKyAgcHJvbmFtZSA9PiAnUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVs dF91cGQnLCBwcm92b2xhdGlsZSA9PiAndicsCisgIHByb3JldHR5cGUgPT4gJ3RyaWdnZXInLCBw cm9hcmd0eXBlcyA9PiAnJywKKyAgcHJvc3JjID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0 X3VwZCcgfSwKKwogeyBvaWQgPT4gJzE2NjYnLAogICBwcm9uYW1lID0+ICd2YXJiaXRlcScsIHBy b2xlYWtwcm9vZiA9PiAndCcsIHByb3JldHR5cGUgPT4gJ2Jvb2wnLAogICBwcm9hcmd0eXBlcyA9 PiAndmFyYml0IHZhcmJpdCcsIHByb3NyYyA9PiAnYml0ZXEnIH0sCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0CmluZGV4IDIxZGM5YjU3ODNhLi5jM2JmOTQ3OTdlNyAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQKQEAgLTQ1NCwxNCAr NDU0LDE3IEBAIHNlbGVjdCBwcm9uYW1lIGZyb20gcGdfcHJvYyB3aGVyZSBwcm9uYW1lIGxpa2Ug RSdSSVxcX0ZLZXklZGVsJyBvcmRlciBieSAxOwogKDMgcm93cykKIAogc2VsZWN0IHByb25hbWUg ZnJvbSBwZ19wcm9jIHdoZXJlIHByb25hbWUgbGlrZSBFJ1JJXFxfRktleSVkZWwnIG9yZGVyIGJ5 IDE7Ci0gICAgICAgIHByb25hbWUgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICAgICAgICAgICAgcHJvbmFtZSAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogIFJJX0ZLZXlfY2FzY2FkZV9kZWwKICBSSV9GS2V5X25vYWN0aW9uX2RlbAorIFJJ X0ZLZXlfcGVyaW9kX2Nhc2NhZGVfZGVsCisgUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwK KyBSSV9GS2V5X3BlcmlvZF9zZXRudWxsX2RlbAogIFJJX0ZLZXlfcmVzdHJpY3RfZGVsCiAgUklf RktleV9zZXRkZWZhdWx0X2RlbAogIFJJX0ZLZXlfc2V0bnVsbF9kZWwKLSg1IHJvd3MpCisoOCBy b3dzKQogCiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxlY3QgcHJvbmFtZSBmcm9tIHBnX3Byb2Mg d2hlcmUgcHJvbmFtZSBpbGlrZSAnMDAlZm9vJyBvcmRlciBieSAxOwpAQCAtNTAwLDE0ICs1MDMs MTcgQEAgc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdoZXJlIHByb25hbWUgbGlrZSBFJ1JJ XFxfRktleSVkZWwnIG9yZGVyIGJ5IDE7CiAoNiByb3dzKQogCiBzZWxlY3QgcHJvbmFtZSBmcm9t IHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUnUklcXF9GS2V5JWRlbCcgb3JkZXIgYnkgMTsK LSAgICAgICAgcHJvbmFtZSAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgICBwcm9uYW1lICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgUklfRktleV9jYXNjYWRlX2RlbAogIFJJX0ZLZXlfbm9hY3Rpb25fZGVsCisgUklfRktl eV9wZXJpb2RfY2FzY2FkZV9kZWwKKyBSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbAorIFJJ X0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsCiAgUklfRktleV9yZXN0cmljdF9kZWwKICBSSV9GS2V5 X3NldGRlZmF1bHRfZGVsCiAgUklfRktleV9zZXRudWxsX2RlbAotKDUgcm93cykKKyg4IHJvd3Mp CiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBwcm9uYW1lIGZyb20gcGdfcHJvYyB3aGVy ZSBwcm9uYW1lIGlsaWtlICcwMCVmb28nIG9yZGVyIGJ5IDE7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dAppbmRleCA0MDE1NTBiNTQ4Mi4uNGQ5ZjI1 YWM0MDUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVy bGFwcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBz Lm91dApAQCAtMTk0Nyw3ICsxOTQ3LDI0IEBAIEVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gREVMRVRF IGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKIC0tCiAtLSBy bmcycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCiAtLQorLS0gVE9DOgorLS0gcmVm ZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCist LSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2VkIGRl bGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCist LSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1 YnNldCkKKy0tCiAtLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLQogVFJV TkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CkBAIC0xOTU2LDI5ICsxOTcz LDU5MyBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n CiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7Ci1FUlJPUjogIHVuc3Vw cG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcg UEVSSU9ECistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzcsOCkKKyBbMTAw LDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNyw4KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy MDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAw LDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0 ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0 ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzgsOSkKKygxIHJvdykKKworLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBOVUxMCistLQogVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcy cm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp Jyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFU RSBTRVQgTlVMTDsKLUVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9y ZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkg fCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTkt MDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IAorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb OCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAsMjAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywg dGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIw MTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hF UkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMjAwLDIw MSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCistLQogLS0g dGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCiBUUlVOQ0FURSB0ZW1w b3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7 CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsK IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9p ZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCiAgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVG QVVMVDsKLUVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBr ZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor VVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3 KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTkt MDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKQorKDMg cm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAn WzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRf YXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJh bmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAy MC0wMS0wMSkgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FT Q0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBv cmFsX2ZrMl9ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZh bGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5n X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgQ0FTQ0FE RSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRF IHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4 KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzcsOCkgICAg ICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs3LDgp ICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3Jh bF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFs5LDEwKSAg ICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkg ICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0 ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIs IHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50 X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgs OSkgICAgICB8IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBk YXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Ju ZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQx LCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9 ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50 X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAg ICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAg ICAgICB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAg ICB8IAorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNF VCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJF IGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBb MjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0 d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsy X3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAg IHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisg WzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzEw MCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAgICAgICAgICAgIHwg CisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisg WzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwgCisoMyBy b3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JyksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxM IHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVz ZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04gVVBE QVRFIFNFVCBOVUxMOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9O IERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRf aWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwy MDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAx LDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1G UE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisoMyByb3dz KQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyks ICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScs ICdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb Niw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgQUxU RVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xV TU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBT RVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisg WzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDAp CisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0x LDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VU IGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFst MSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIGRh dGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNykn KTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5n MiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAg ICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkg ICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3 KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEg fCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0w MS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScp OworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4 LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0x XScsICdbNiw3KScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAn WzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVS SU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIEFMVEVSIENP TFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRF IFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworRVJST1I6ICBj b2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5v dCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAg QUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBP TiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8 IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAg IHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAg ICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8 IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEp IHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIw MSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbOCw5KQorIFsyMDAs MjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiBy b3dzKQorCiAtLQogLS0gdGVzdCBGT1JFSUdOIEtFWSwgbXVsdGlyYW5nZSByZWZlcmVuY2VzIG11 bHRpcmFuZ2UKIC0tCkBAIC0yNDEzLDYgKzI5OTQsNjI2IEBAIERFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSxbMjAxOC0wMS0wMywyMDE4 LTAyCiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sz LDQpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5E IHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKSk7CiAtLQorLS0KKy0tIG1sdHJuZzJtbHRybmcgdGVzdCBPTiBVUERBVEUvREVMRVRF IG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVG QVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3 KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZworICAgIE9OIERF TEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlk ID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAg ICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAg ICAgICAgICAgfCBbNyw4KQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSl9IHwgWzcsOCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0w MS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzcsOCkKKygyIHJvd3MpCisKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScg V0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwy MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9h dCAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAx KX0gfCBbOSwxMCkKKyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgs OSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURF CistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0w MS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAg ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7 WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzYsNykK KygxIHJvdykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRy bmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlk IHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQgCistLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKygw IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJu ZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAgT04gREVMRVRFIFNFVCBO VUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4 KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAg ICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgt MDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzYsNykKKyBbMTAw LDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAg IHwgCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KX0gfCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAg ICAgICAgICAgICAgIHwgCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgCisgWzIwMCwyMDEpIHwge1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRy bmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAg ICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIG5v bi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg ICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEp LFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IAorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IAorIFsyMDAs MjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KQorKDIgcm93cykKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUg dGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8g dGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21s dHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nCisg IEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZworICAgIE9O IERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAg ICAgICAgICAgICAgICAgICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0w MSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWy0xLDApCisgWzEwMCwxMDEpIHwge1syMDE5 LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFstMSwwKQorKDIg cm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQg aWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAx LTAxLDIwMjAtMDEtMDEpfSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwg bnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8 IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAg ICAgICAgICAgICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSl9IHwgWy0xLDApCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEp fSAgICAgICAgICAgICAgICAgICAgICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApCisgWzIw MCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xz KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19m aywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQ REFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbNyw4KSAgICAgIHwgWzYsNykK KygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIg U0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0w MS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAg ICB8IFs3LDgpICAgICAgfCBbNiw3KQorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQ REFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAx LTAxLDIwMjAtMDEtMDEpfSB8IFs5LDEwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IHtbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMp CistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBh cmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzYsNykgICAgICB8IFs2LDcpCisoMSByb3cpCisKKy0tIG5vbi1GUE8gZGVsZXRl OgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkMSB8 IHBhcmVudF9pZDIgCistLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor KDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJu ZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZh bGlkX2F0ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwgWzgsOSkK KygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0 d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRF IFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQx ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg ICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICB8IAorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9y YWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSkn IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAg IHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCAgICAgICAgICAgIHwg CisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21s dHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitV UERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IHtbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKX0gfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEpIHwge1syMDIwLTAx LTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCist LQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSl9IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAt MDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAKKygyIHJvd3Mp CisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAt MDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAKKygyIHJvd3Mp CisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkg fCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8 IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3Mp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxh ciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwg dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcy IChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFp bHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVM RVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworRVJST1I6ICBjb2x1 bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBi ZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBP TiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0g fCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0w MSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IFs2LDcpCisoMiByb3dz KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSl9IHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCBbNiw3 KQorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg IHZhbGlkX2F0ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAgICAgICAgICAgIHwgWzgs OSkKKyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8 IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcy LCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1O IHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfbWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERF TEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScp KSkgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAg ICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7 WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzYsNykg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAg ICAgICAgICAgICAgICAgICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0t IG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbNyw4 KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0w MS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWy0xLDApICAgICB8IFstMSwwKQorIFsx MDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAg ICAgfCBbLTEsMCkgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTAp JyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIw MCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4 LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTkt MDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxp ZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEs MjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzYsNykgICAgICB8IFs2LDcp CisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAg ICAgICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBk YXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtb MjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkg ICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAg ICAgICAgICAgICAgICAgICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4 LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAg ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIw MTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8 IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3Mp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0 cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFy ZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9O IERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKK0VS Uk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgcmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlv biBjYW5ub3QgYmUgUEVSSU9ECistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChwYXJlbnRf aWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEs MjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFs2LDcp CisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSl9IHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1sy MDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFstMSwwKSAg ICAgfCBbNiw3KQorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAn MjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFst MSwwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0g fCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tIEZLIHdpdGggYSBjdXN0b20gcmFu Z2UgdHlwZQorQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBteWRhdGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmszX3JuZzJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcy cm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQsIFBFUklP RCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmczIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5n MnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworRFJPUCBUQUJMRSB0 ZW1wb3JhbF9mazNfcm5nMnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQ RSBteWRhdGVyYW5nZTsKKy0tCiAtLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFu Z2VzCiAtLQogQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCkBAIC0yNDIx LDggKzM2MjIsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgKICAg bmFtZSB0ZXh0LAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKICkgUEFSVElUSU9OIEJZIExJ U1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0cDEgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCkn LCAnWzksMTApJywgJ1sxMSwxMiknKTsKLUNSRUFURSBUQUJMRSB0cDIgcGFydGl0aW9uIE9GIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzIsMyknLCAnWzQsNSknLCAn WzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJyk7CitDUkVBVEUgVEFCTEUgdHAx IFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sx LDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sx MywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMs MjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywg J1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4 LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOwogSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sx LDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLApA QCAtMjQzNSw4ICszNjM2LDggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQogKSBQQVJU SVRJT04gQlkgTElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIHBhcnRpdGlvbiBPRiB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0 KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRBQkxF IHRma3AyIHBhcnRpdGlvbiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBW QUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywg J1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUs NiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywg J1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBUQUJM RSB0ZmtwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1Ig VkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAn WzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywgJ1sy MCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVm ZXJlbmNpbmcgaW5zZXJ0cwogLS0KQEAgLTI0NzgsNyArMzY3OSw3IEBAIFVQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgU0VUIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE2LTAyLTAxJywg JzIwMTYtMDMtCiAtLSBzaG91bGQgZmFpbDoKIFVQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgU0VUIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE2LTAxLTAxJywgJzIwMTYtMDItMDEnKQog ICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMTgtMDItMDEnKTsKLUVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidHAx IiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nX2ZrXzEiIG9uIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n IgorRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0cDEiIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmtfMiIg b24gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmciCiBERVRBSUw6ICBLZXkg KGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwg cmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIi4K IC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgTk8gQUNUSU9OCkBAIC0y NDkwLDM3ICszNjkxLDE2MiBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWwogREVMRVRFIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQg PSBkYXRlcmFuZ2UoJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOwogLS0gc2hvdWxkIGZhaWw6 CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzUsNikn IEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7Ci1F UlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRwMSIgdmlvbGF0ZXMgZm9yZWlnbiBr ZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19ma18xIiBvbiB0 YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyIKK0VSUk9SOiAgdXBkYXRlIG9y IGRlbGV0ZSBvbiB0YWJsZSAidHAxIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrXzIiIG9uIHRhYmxlICJ0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIgogREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2 KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJs ZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyIuCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbNCw1KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb Niw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZwogICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19maywKICAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mawogICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZwogICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVND QURFOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtl eSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNCw1KSB8IFsyMDE5LTAxLTAxLDIwMjAt MDEtMDEpIHwgWzcsOCkKKyBbNCw1KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykK KyBbNCw1KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKK1VQ REFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbNCw1KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbNCw1KSB8IFsyMDE4 LTAxLTAxLDIwMTktMDEtMDEpIHwgWzcsOCkKKyBbNCw1KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWzcsOCkKKygzIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzE1LDE2KScpOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzE2LDE3KScgV0hFUkUgaWQgPSAnWzE1 LDE2KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAsMTEpJzsKKyAg IGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMCwxMSkgfCBbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKSB8IFsxNiwxNykKKyBbMTAsMTEpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbMTUsMTYpCisoMiByb3dzKQorCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJl bmNlZCBkZWxldGVzIENBU0NBREUKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb NSw2KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzUsNiknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNSw2KSB8 IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzgsOSkKKyBbNSw2KSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzUsNiknOworIGlkIHwgdmFsaWRfYXQg fCBwYXJlbnRfaWQgCistLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzE3LDE4KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpLCAnWzE3LDE4KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IFdIRVJFIGlkID0gJ1sxNywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50 X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MTEsMTIpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTcsMTgpCisoMSByb3cpCisKIC0t CiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKIC0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpLCAnWzksMTApJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQog ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVMRVRFIFNF VCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKLUVSUk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRF IGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbMTAsMTEpJyBXSEVSRSBpZCA9ICdb OSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdI RVJFIGlkID0gJ1s2LDcpJzsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzYsNykgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFs2LDcpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBbOSwxMCkKKyBbNiw3KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzksMTApCisoMyByb3dzKQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBp ZCA9ICdbMTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKKyAgaWQgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzYsNykgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IAorIFs2LDcpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbNiw3KSB8IFsyMDIw LTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwxOSknLCBkYXRlcmFuZ2Uo JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTIs MTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxOCwxOSknKTsK K1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxOSwyMCknIFdIRVJF IGlkID0gJ1sxOCwxOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEy LDEzKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTIsMTMp IHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTIsMTMpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbMTgsMTkpCisoMiByb3dzKQorCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCiAtLQorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMSwxMiknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbNyw4KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTEs MTIpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0g J1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzcsOCkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFs3LDgpIHwgWzIwMTgtMDEt MDEsMjAxOS0wMS0wMSkgfCBbMTEsMTIpCisgWzcsOCkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KSB8IFsxMSwxMikKKygzIHJvd3MpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNyw4KSc7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFs3LDgpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBb Nyw4KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgCisgWzcsOCkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IAorKDMgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjAsMjEpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzIwLDIxKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTMsMTQpJzsKKyAgIGlkICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMywxNCkgfCBbMjAxOC0wMS0wMSwyMDIwLTAx LTAxKSB8IAorIFsxMywxNCkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsyMCwyMSkKKygy IHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERF RkFVTFQKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcsIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzAsMSknLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxMiwxMyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbMTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19ybmcycm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19m aywKQEAgLTI1MjgsMTAgKzM4NTQsNzMgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZwogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZwogICAgIE9OIERFTEVU RSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7Ci1FUlJPUjogIHVuc3VwcG9ydGVk IE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9E CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzEzLDE0KScgV0hF UkUgaWQgPSAnWzEyLDEzKSc7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRm a3AyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19ybmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0x LDApLCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzgsOSknOworICBpZCAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbOCw5KSB8IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzEyLDEz KQorKDEgcm93KQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdb MTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBv biB0YWJsZSAidGZrcDIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFs aWRfYXQpPShbLTEsMCksIFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpKSBpcyBub3QgcHJlc2VudCBp biB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSkgfCBbMTIsMTMpCisoMSByb3cpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzIyLDIzKScpOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIy LDIzKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK0VSUk9SOiAgaW5zZXJ0 IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFp bnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBh cmVudF9pZCwgdmFsaWRfYXQpPShbLTEsMCksIFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpKSBpcyBu b3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTQsMTUp JzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxNCwxNSkgfCBb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsyMiwyMykKKygxIHJvdykKKwogLS0KIC0tIHBhcnRp dGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAogLS0KK1RSVU5DQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE0LDE1KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s5LDEwKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTQsMTUp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1sx NCwxNSknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlvbGF0 ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu Z19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CisgICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzksMTApIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTQsMTUpCisoMSBy b3cpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdb MTQsMTUpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xh dGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbLTEsMCksIFsyMDE4 LTAxLTAxLDIwMjEtMDEtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworICAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFs5LDEwKSB8IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzE0LDE1KQorKDEg cm93KQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1syNCwyNSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIw MTgtMDEtMDEsMjAyMC0wMS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1sxNSwxNiknOworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzE1LDE2KSB8IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzI0LDI1 KQorKDEgcm93KQorCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7 CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZzsKIC0tCkBAIC0yNjE3LDMyICs0 MDA2LDE1MCBAQCBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEt MDEsMjAxOC0wMi0wMSl9KSBpcyBzdGlsbCByZWZlcmVuYwogLS0KIC0tIHBhcnRpdGlvbmVkIEZL IHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCiAtLQorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s0LDUpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOwog QUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZwogICBEUk9Q IENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19maywKICAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19mawog ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZwogICAgIE9OIERFTEVURSBDQVNDQURFIE9O IFVQREFURSBDQVNDQURFOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZv ciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorVVBEQVRFIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4KScg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s0LDUpJzsKKyAgaWQgICB8ICAgICAgICAgICAg ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFs0LDUpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAg ICAgICAgICAgICAgICB8IFs3LDgpCisgWzQsNSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSks WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzYsNykKKygyIHJvd3MpCisKK1VQREFURSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9h dCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzQs NSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwg WzcsOCkKKyBbNCw1KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbNyw4KQorKDIgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1 LDE2KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx JykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAsMTEpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTUsMTYpJyk7CitV UERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVS RSBpZCA9ICdbMTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMCwxMSknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsxMCwxMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWzE2LDE3KQorIFsxMCwx MSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzE1LDE2KQorKDIgcm93cykKKwogLS0K IC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCiAtLQorVFJVTkNB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s1LDYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5n IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTkt MDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYp JzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYpIHwge1syMDE4LTAxLTAx LDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMSByb3cpCisK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbOCw5 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzUsNiknOworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQgCistLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTcsMTgpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1sxNywxOCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzExLDEyKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE3LDE4KScp OworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1sx NywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzExLDEy KSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCist LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzExLDEy KSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTcsMTgpCisoMSByb3cpCisKIC0tCiAt LSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKIC0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzksMTApJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOSwxMCknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcKICAgICBP TiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRl ZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpIFNFVCBpZCA9ICdbMTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcp JzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs2LDcpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIFs2LDcpIHwge1syMDE4 LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs5LDEwKQorKDIg cm93cykKKworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzEw LDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CisgIGlkICAgfCAgICAg ICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyBbNiw3KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAg ICAgICAgICAgICAgICAgICAgICAgfCAKKyBbNiw3KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCAKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1sxOCwxOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEyLDEzKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzE4LDE5KScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAn WzE5LDIwKScgV0hFUkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKKyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTIsMTMpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IAor IFsxMiwxMykgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzE4LDE5KQorKDIgcm93cykK KwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAogLS0K K1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1s3LDgpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSksICdbMTEsMTIpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbMTEsMTIpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbNyw4KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNyw4KSB8 IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBb Nyw4KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0g fCBbMTEsMTIpCisoMiByb3dzKQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgV0hFUkUgaWQgPSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzcsOCknOworICBpZCAgIHwgICAg ICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzcsOCkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgCisgWzcsOCkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0w MSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgCisoMiByb3dzKQorCitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIx KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMywxNCkn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwg J1syMCwyMSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVS RSBpZCA9ICdbMjAsMjEpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMywxNCknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsxMywxNCkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgCisgWzEzLDE0KSB8IHtb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMjAsMjEpCisoMiByb3dzKQorCiAtLQogLS0gcGFy dGl0aW9uZWQgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1swLDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGws IG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzEyLDEzKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb OCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzEyLDEzKScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0 cm5nMm1sdHJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbMCwxKScs CiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n X2ZrLApAQCAtMjY1MCwxMCArNDE1Nyw2NyBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nCiAg ICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKLUVSUk9SOiAg dW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1 c2luZyBQRVJJT0QKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcy MDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzEzLDE0KScgV0hFUkUgaWQgPSAnWzEyLDEzKSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzgsOSknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAg ICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzgsOSkgfCB7 WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzAsMSkK KyBbOCw5KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KX0gfCBbMTIsMTMpCisoMiByb3dzKQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0 cm5nIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOCw5 KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAg ICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbOCw5KSB8IHtbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwxKQorIFs4LDkpIHwg e1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFswLDEp CisoMiByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMiwyMyknKTsKK1VQREFURSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1syMywyNCknIFdIRVJFIGlkID0gJ1syMiwyMykn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzE0LDE1KSc7Cisg ICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzE0LDE1KSB8IHtb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbMCwxKQorIFsxNCwxNSkgfCB7WzIwMjAtMDEtMDEs MjAyMS0wMS0wMSl9IHwgWzIyLDIzKQorKDIgcm93cykKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbMCwxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzksMTApJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTQs MTUpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcy MDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworICAg aWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbOSwxMCkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzAsMSkKKyBbOSwxMCkgfCB7WzIw MTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzE0LDE1KQor KDIgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJF IGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CisgICBpZCAgIHwgICAgICAgICAgICAg ICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFs5LDEwKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAg ICAgICAgICAgICAgICAgfCBbMCwxKQorIFs5LDEwKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMCwxKQorKDIgcm93cykKKworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sy NCwyNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTUs MTYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbMjQsMjUpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcg V0hFUkUgaWQgPSAnWzI0LDI1KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTUsMTYpJzsKKyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKyBbMTUsMTYpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFswLDEpCisgWzE1 LDE2KSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMjQsMjUpCisoMiByb3dzKQorCiBE Uk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CiBEUk9QIFRB QkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZzsKIFJFU0VUIGRhdGVzdHlsZTsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwKaW5kZXggYzVjODlmZTQwYWIuLjIy NGRkZWY4NDMwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJs YXBzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbApA QCAtMTQyNCw4ICsxNDI0LDI2IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKIC0t CiAtLSBybmcycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCiAtLQorLS0gVE9DOgor LS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVND QURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVu Y2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0 d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxh ciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMp CistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJz ZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZB VUxUIHN1YnNldCkKIAorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUK Ky0tCisKIFRSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIElOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwpAQCAtMTQz NCwyOCArMTQ1MiwzNDYgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICAgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3JuZwogICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAn WzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5v bi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAw LDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CiAKKy0tCiAtLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAorLS0KKwogVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCiAg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4 LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKIAorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVz IFNFVCBERUZBVUxUCistLQorCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn Wy0xLC0xXScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScs CisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCiAgICAgT04gREVM RVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToK K1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9y YWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRl bXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScp OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g dXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp JywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp LCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9y YWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVM TCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEn IFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSkn IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBv cmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VU IGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdb OCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2Fs YXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwg dGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNykn KTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVM TCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQx KSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0w MS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5n MnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsy X3JuZzJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0n LAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFy ZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgor ICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3 LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlk MSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VU IGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2Fs YXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcy cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs ICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgs OSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU ICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRl bXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcpJywgZGF0 ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScp OworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEg U0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZh bGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrMl9ybmcycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdb LTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChwYXJlbnRfaWQxKSBPTiBV UERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdI RVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBkYXRlcmFuZ2UobnVsbCwg bnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAKIC0tCiAtLSB0ZXN0IEZP UkVJR04gS0VZLCBtdWx0aXJhbmdlIHJlZmVyZW5jZXMgbXVsdGlyYW5nZQpAQCAtMTg1NSw2ICsy MTkxLDQwOCBAQCBXSEVSRSBpZCA9ICdbNSw2KSc7CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CiAKKy0tCisKKy0tCistLSBtbHRy bmcybWx0cm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCistLQorLS0gVE9DOgorLS0g cmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURF CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28g c2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBj b2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQp CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxU IHN1YnNldCkKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0t CisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRy bmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRF IENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9t bHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURF CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIw LTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSkn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwg J1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAor LS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21s dHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VU IE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5n IFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBE RUZBVUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfbWx0cm5nCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQg REVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScp KSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScp OworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxh ciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIENBU0NB REUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdbNyw4 KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzcs OCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzks MTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScs ICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RS VU5DQVRFIHRlbXBvcmFsX21sdHJuZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n CisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maywKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VU IE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIw MTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSkn KTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJu ZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0t IGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAx LTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsICdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUg UEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQ REFURSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRf aWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g ZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0 IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxh ciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBE RUZBVUxUICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQg T04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERB VEUgdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZDEgPSAnWzcs OCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5n MiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0x LC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs ICdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNykn LCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVt cG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBE RUZBVUxUIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIsIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChp ZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMg YmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERF RkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2Zr CisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIERF RkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQx IFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRF IFNFVCBERUZBVUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScs ICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0gRksgd2l0aCBhIGN1c3RvbSByYW5nZSB0 eXBlCisKK0NSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CisK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBteWRhdGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmszX3JuZzJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcy cm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQsIFBFUklP RCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmczIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5n MnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmszX3JuZzJy bmc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzM7CitEUk9QIFRZUEUgbXlkYXRlcmFuZ2U7CisK IC0tCiAtLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCiAtLQpAQCAtMTg2 NSw4ICsyNjAzLDggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCiAg IG5hbWUgdGV4dCwKICAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCiApIFBBUlRJVElPTiBCWSBM SVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdHAxIHBhcnRpdGlvbiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgp JywgJ1s5LDEwKScsICdbMTEsMTIpJyk7Ci1DUkVBVEUgVEFCTEUgdHAyIHBhcnRpdGlvbiBPRiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1syLDMpJywgJ1s0LDUpJywg J1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScpOworQ1JFQVRFIFRBQkxFIHRw MSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdb MSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdb MTMsMTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIz LDI0KScpOworQ1JFQVRFIFRBQkxFIHRwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScs ICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sx OCwxOSknLCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKIElOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAgKCdb MSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKICAg KCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwK QEAgLTE4ODAsOCArMjYxOCw4IEBAIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nICgKICAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n X2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKICkgUEFS VElUSU9OIEJZIExJU1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0ZmtwMSBwYXJ0aXRpb24gT0YgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMs NCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknKTsKLUNSRUFURSBUQUJM RSB0ZmtwMiBwYXJ0aXRpb24gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1Ig VkFMVUVTIElOICgnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScs ICdbMTIsMTMpJyk7CitDUkVBVEUgVEFCTEUgdGZrcDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1 LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScs ICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7CitDUkVBVEUgVEFC TEUgdGZrcDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9S IFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywg J1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdb MjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOwogCiAtLQogLS0gcGFydGl0aW9uZWQgRksg cmVmZXJlbmNpbmcgaW5zZXJ0cwpAQCAtMTk0MCwzNiArMjY3OCw5MCBAQCBERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9 IGRhdGVyYW5nZQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUK IC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04g REVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0 aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcy MDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7 CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIFdIRVJFIGlkID0gJ1s0LDUpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzE1LDE2KScpOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzE2LDE3KScgV0hFUkUgaWQgPSAnWzE1 LDE2KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAsMTEpJzsKIAog LS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCiAtLQogCitU UlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcy MDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzUsNiknOworREVMRVRFIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzE3LDE4KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sx NywxOCknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSwgJ1sxNywxOCknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBX SEVSRSBpZCA9ICdbMTcsMTgpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0g J1sxMSwxMiknOworCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNF VCBOVUxMCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcsIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzksMTApJyk7CiBBTFRFUiBUQUJM RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n CiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKK1VQREFURSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0w MS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbMTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwx MCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0g J1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzYsNyknOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwxOSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywgZGF0 ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEyLDEzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTgs MTkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTksMjAp JyBXSEVSRSBpZCA9ICdbMTgsMTkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMiwxMyknOwogCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBOVUxMCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcsIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzExLDEyKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s3LDgpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxMSwxMiknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzExLDEyKSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAn WzcsOCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0g J1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1s3LDgpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMywxNCknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzIwLDIxKScpOworREVMRVRFIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1syMCwyMSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEzLDE0KSc7CisKIC0tCiAtLSBwYXJ0aXRpb25l ZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKIC0tCiAKK1RSVU5DQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzEyLDEzKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxMiwxMyknKTsK IEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgQUxURVIgQ09M VU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCiAgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrLApAQCAtMTk3NywxMSArMjc2OSwzNCBA QCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBT RVQgREVGQVVMVDsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb MTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbOCw5KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1syMiwyMyknKTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgU0VUIGlkID0gJ1syMywyNCknIFdIRVJFIGlkID0gJ1syMiwyMyknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzE0LDE1KSc7CiAKIC0tCiAtLSBwYXJ0aXRp b25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKIC0tCiAKK1RSVU5DQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE0LDE1KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s5LDEwKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTQsMTUp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1sx NCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdI RVJFIGlkID0gJ1s5LDEwKSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcg V0hFUkUgaWQgPSAnWzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNSwx NiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzI0LDI1KScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1syNCwyNSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzE1LDE2KSc7CisKIERST1Ag VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKIERST1AgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfcm5nOwogCkBAIC0yMDcwLDM2ICsyODg1LDkwIEBAIERFTEVURSBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlk X2F0ID0gZGF0ZW11CiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1s0LDUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZwogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19maywKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZwogICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBp ZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s0LDUpJzsKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmcgV0hFUkUgaWQgPSAnWzQsNSknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAsMTEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9 ICdbMTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MCwxMSknOwogCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s4LDkp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbNSw2KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRy bmcgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTcsMTgpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxNywxOCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzExLDEyKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE3 LDE4KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlk ID0gJ1sxNywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzExLDEyKSc7CisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s5LDEwKScpOwogQUxURVIgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZwogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19maywKICAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZ19mawogICAgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZwogICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7 CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScp KSkgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzYsNykn OworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzEwLDExKScg V0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbMTgsMTkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMiwxMyknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxOCwx OSknKTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxOSwy MCknIFdIRVJFIGlkID0gJ1sxOCwxOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzEyLDEzKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTEs MTIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s3LDgpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTEsMTIpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykp KSBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNyw4KSc7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUgaWQgPSAnWzExLDEyKSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzcs OCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMTMsMTQpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSksICdbMjAsMjEpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgV0hFUkUgaWQgPSAnWzIwLDIxKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTMsMTQpJzsKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZL IHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1swLDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzEyLDEzKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzEy LDEzKScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZwogICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbMCwxKScsCiAgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLApAQCAt MjEwNywxMSArMjk3NiwzNCBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVM RVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKK1VQREFURSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzEzLDE0 KScgV0hFUkUgaWQgPSAnWzEyLDEzKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzgsOSknOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzEzLDE0KScgV0hFUkUgaWQgPSAnWzEyLDEz KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcg V0hFUkUgaWQgPSAnWzgsOSknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0 cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMjIsMjMpJyk7CitVUERBVEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMjMsMjQpJyBXSEVSRSBpZCA9ICdb MjIsMjMpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxNCwx NSknOwogCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1s5LDEwKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE0LDE1KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJt bHRybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1syNCwyNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTUsMTYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbMjQsMjUpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRy bmcgV0hFUkUgaWQgPSAnWzI0LDI1KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTUsMTYpJzsKKwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmc7 CiAKLS0gCjIuNDcuMwoK --00000000000086536706453dd523 Content-Type: application/octet-stream; name="v63-0008-Add-PERIODs.patch" Content-Disposition: attachment; filename="v63-0008-Add-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mitkfalo7 RnJvbSA2ZTdjOTFiMzcxOGQ1ODk0OWRhZTYyMThhMjdhNGM3NGE5MzZmNzcxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjMgLTA3MDAKU3ViamVj dDogW1BBVENIIHY2MyA4LzhdIEFkZCBQRVJJT0RzCgotIEFkZGVkIHBhcnNpbmcgZm9yIFNRTDoy MDExIHN5bnRheCB0byBkZWZpbmUgYW4gYXBwbGljYXRpb24tdGltZSBQRVJJT0Qgb24gYQogIHRh YmxlIChpbiBib3RoIENSRUFURSBUQUJMRSBhbmQgQUxURVIgVEFCTEUpLiBNYWtlIHN1cmUgd2Ug Y3JlYXRlIHRoZSBQRVJJT0QKICBhZnRlciBjb2x1bW5zIGFyZSBrbm93biAoc2luY2UgUEVSSU9E cyBjYW4gcmVmZXIgdG8gdGhlbSkgYnV0IGJlZm9yZQogIGNvbnN0cmFpbnRzIGFyZSBoYW5kbGVk IChzaW5jZSBQRVJJT0RzIGNhbiBhcHBlYXIgaW4gdGhlbSkuCi0gQWRkZWQgQUxURVIgVEFCTEUg RFJPUCBzdXBwb3J0IGZvciBQRVJJT0RzLgotIENyZWF0ZWQgcG9zdGdyZXMucGdfcGVyaW9kIHRh YmxlLgotIENyZWF0ZWQgaW5mb3JtYXRpb25fc2NoZW1hLnBlcmlvZHMgdmlldy4KLSBBZGRlZCBw Z19kdW1wIHN1cHBvcnQuCi0gQWRkZWQgdGVzdHMgYW5kIGRvY3VtZW50YXRpb24uCi0gQXV0b21h dGljYWxseSBkZWZpbmUgYSBjb25zdHJhaW50IGZvciBlYWNoIFBFUklPRCByZXF1aXJpbmcgdGhl IHN0YXJ0IGNvbHVtbgogIHRvIGJlIGxlc3MgdGhhbiB0aGUgZW5kIGNvbHVtbi4KLSBXaGVuIGNy ZWF0aW5nIGEgUEVSSU9ELCBjaG9vc2UgYW4gYXBwcm9wcmlhdGUgcmFuZ2UgdHlwZSB3ZSBjYW4g dXNlIHRvCiAgaW1wbGVtZW50IFBFUklPRC1yZWxhdGVkIG9wZXJhdGlvbnMuIFlvdSBjYW4gY2hv b3NlIG9uZSBleHBsaWNpdGx5IGlmIHRoZXJlCiAgaXMgYW1iaWd1aXR5IChkdWUgdG8gbXVsdGlw bGUgcmFuZ2UgdHlwZXMgY3JlYXRlZCBvdmVyIHRoZSBzYW1lIGJhc2UgdHlwZSkuCgpBdXRob3I6 IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9j L3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAgICAgICAgICAgICAgIHwgIDExMiArCiBkb2Mv c3JjL3NnbWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ2ICsKIGRvYy9z cmMvc2dtbC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dtbCAgICAgICAgICB8ICAgNjMgKwogZG9jL3Ny Yy9zZ21sL3BscGdzcWwuc2dtbCAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogZG9jL3Ny Yy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21sICAgICAgICAgICAgIHwgICAzMSArLQogZG9jL3Ny Yy9zZ21sL3JlZi9jb21tZW50LnNnbWwgICAgICAgICAgICAgICAgIHwgICAgMiArCiBkb2Mvc3Jj L3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sICAgICAgICAgICAgfCAgIDY1ICstCiBkb2Mvc3Jj L3NnbWwvcmVmL2RlbGV0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDE0ICstCiBkb2Mvc3Jj L3NnbWwvcmVmL3VwZGF0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDE0ICstCiBkb2Mvc3Jj L3NnbWwvdHJpZ2dlci5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICstCiBzcmMvYmFj a2VuZC9jYXRhbG9nL01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9iYWNr ZW5kL2NhdGFsb2cvYWNsY2hrLmMgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgICAgICAgICAgICAgIHwgICAxMyArCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgICAgfCAgIDc1ICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvaW5mb3JtYXRpb25fc2NoZW1hLnNxbCAgICB8ICAgMjMgKy0KIHNyYy9iYWNrZW5k L2NhdGFsb2cvbWVzb24uYnVpbGQgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9vYmplY3RhZGRyZXNzLmMgICAgICAgICAgIHwgICA3MiArCiBzcmMvYmFja2VuZC9j YXRhbG9nL3BnX2NvbnN0cmFpbnQuYyAgICAgICAgICAgfCAgIDEwICstCiBzcmMvYmFja2VuZC9j YXRhbG9nL3BnX3BlcmlvZC5jICAgICAgICAgICAgICAgfCAgMTMyICsKIHNyYy9iYWNrZW5kL2Nh dGFsb2cvc3FsX2ZlYXR1cmVzLnR4dCAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9iYWNrZW5kL2Nv bW1hbmRzL2NvbW1lbnQuYyAgICAgICAgICAgICAgICB8ICAgMTAgKwogc3JjL2JhY2tlbmQvY29t bWFuZHMvZHJvcGNtZHMuYyAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvYmFja2VuZC9jb21t YW5kcy9ldmVudF90cmlnZ2VyLmMgICAgICAgICAgfCAgICAyICsKIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3NlY2xhYmVsLmMgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgIDk4MCArKystCiBzcmMvYmFja2VuZC9jb21t YW5kcy90cmlnZ2VyLmMgICAgICAgICAgICAgICAgfCAgICAyICsKIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3ZpZXcuYyAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIHNyYy9iYWNrZW5kL2V4ZWN1 dG9yL25vZGVNb2RpZnlUYWJsZS5jICAgICAgICB8ICAgNDEgKy0KIHNyYy9iYWNrZW5kL25vZGVz L25vZGVGdW5jcy5jICAgICAgICAgICAgICAgICB8ICAgIDMgKwogc3JjL2JhY2tlbmQvcGFyc2Vy L2FuYWx5emUuYyAgICAgICAgICAgICAgICAgIHwgIDE1MCArLQogc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgICA0NSArLQogc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX3JlbGF0aW9uLmMgICAgICAgICAgIHwgICAxMSArCiBzcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAgMTgyICstCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvTWFrZWZpbGUgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZXJpb2QuYyAgICAgICAgICAgICAgICB8ICAgNTggKwogc3JjL2JhY2tlbmQvdXRpbHMvY2Fj aGUvbHN5c2NhY2hlLmMgICAgICAgICAgIHwgIDExNyArCiBzcmMvYmluL3BnX2R1bXAvcGdfYmFj a3VwX2FyY2hpdmVyLmMgICAgICAgICAgfCAgICAxICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMgICAgICAgICAgICAgICAgICAgICB8ICAxODAgKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmggICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBf c29ydC5jICAgICAgICAgICAgICAgIHwgICAyNCArCiBzcmMvYmluL3BzcWwvZGVzY3JpYmUuYyAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDM2ICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZp bGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9oZWFwLmgg ICAgICAgICAgICAgICAgICAgIHwgICAgNCArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1 aWxkICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3Ry YWludC5oICAgICAgICAgICB8ICAgIDMgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfaW5kZXgu aCAgICAgICAgICAgICAgICB8ICAgIDEgLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wZXJpb2Qu aCAgICAgICAgICAgICAgIHwgICA1OCArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3JhbmdlLmgg ICAgICAgICAgICAgICAgfCAgICAyICsKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5o ICAgICAgICAgICAgICB8ICAgIDQgKy0KIHNyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oICAg ICAgICAgICAgICAgICB8ICAgIDQgKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAg ICAgICAgICAgICAgIHwgICAzOSArLQogc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggICAg ICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAgICAg ICAgICAgICAgICAgfCAgICAyICstCiBzcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfdXRpbGNtZC5o ICAgICAgICAgICAgfCAgICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oICAgICAg ICAgICAgICAgICB8ICAgIDQgKwogc3JjL2luY2x1ZGUvdXRpbHMvcGVyaW9kLmggICAgICAgICAg ICAgICAgICAgIHwgICAyMSArCiAuLi4vdGVzdF9kZGxfZGVwYXJzZS90ZXN0X2RkbF9kZXBhcnNl LmMgICAgICAgfCAgICA2ICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25f b2Yub3V0ICB8ICAgNTggKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wZXJpb2RzLm91dCAg ICAgICAgIHwgIDMxOCArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91 dCAgICAgIHwgICAyOSArCiAuLi4vcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91 dCAgICAgfCA0NTAwICsrKysrKysrKysrKysrKystCiBzcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVs X3NjaGVkdWxlICAgICAgICAgICAgfCAgICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3Jf cG9ydGlvbl9vZi5zcWwgICAgICAgfCAgIDUwICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Blcmlv ZHMuc3FsICAgICAgICAgICAgICB8ICAxOTggKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmls ZWdlcy5zcWwgICAgICAgICAgIHwgICAyOCArCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0 X292ZXJsYXBzLnNxbCAgICAgfCAzMDYzICsrKysrKysrKystCiBzcmMvdG9vbHMvcGdpbmRlbnQv dHlwZWRlZnMubGlzdCAgICAgICAgICAgICAgfCAgICAzICsKIDY3IGZpbGVzIGNoYW5nZWQsIDEw NzM5IGluc2VydGlvbnMoKyksIDIxNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvYmFja2VuZC9jYXRhbG9nL3BnX3BlcmlvZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3BlcmlvZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wZXJpb2QuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL3V0aWxz L3BlcmlvZC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9w ZXJpb2RzLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Blcmlv ZHMuc3FsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvY2F0YWxvZ3Muc2dtbAppbmRleCAyZmM2MzQ0Mjk4MC4uZGUwNTA5OGU3NTMgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jYXRh bG9ncy5zZ21sCkBAIC0yMzAsNiArMjMwLDExIEBACiAgICAgICA8ZW50cnk+aW5mb3JtYXRpb24g YWJvdXQgcGFydGl0aW9uIGtleSBvZiB0YWJsZXM8L2VudHJ5PgogICAgICA8L3Jvdz4KIAorICAg ICA8cm93PgorICAgICAgPGVudHJ5PjxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctcGVyaW9kIj48 c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+CisgICAgICA8 ZW50cnk+cGVyaW9kczwvZW50cnk+CisgICAgIDwvcm93PgorCiAgICAgIDxyb3c+CiAgICAgICA8 ZW50cnk+PGxpbmsgbGlua2VuZD0iY2F0YWxvZy1wZy1wb2xpY3kiPjxzdHJ1Y3RuYW1lPnBnX3Bv bGljeTwvc3RydWN0bmFtZT48L2xpbms+PC9lbnRyeT4KICAgICAgIDxlbnRyeT5yb3ctc2VjdXJp dHkgcG9saWNpZXM8L2VudHJ5PgpAQCAtNTc3Myw2ICs1Nzc4LDExMyBAQCBTQ1JBTS1TSEEtMjU2 JDxyZXBsYWNlYWJsZT4mbHQ7aXRlcmF0aW9uIGNvdW50Jmd0OzwvcmVwbGFjZWFibGU+OjxyZXBs YWNlYWJsZT4mbAogICAgICAgIGFyZSBzaW1wbGUgcmVmZXJlbmNlcy4KICAgICAgIDwvcGFyYT48 L2VudHJ5PgogICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAgPC90 YWJsZT4KKyA8L3NlY3QxPgorCisKKyA8c2VjdDEgaWQ9ImNhdGFsb2ctcGctcGVyaW9kIj4KKyAg PHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3BlcmlvZDwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxp bmRleHRlcm0gem9uZT0iY2F0YWxvZy1wZy1wZXJpb2QiPgorICAgPHByaW1hcnk+cGdfcGVyaW9k PC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSBjYXRhbG9nIDxz dHJ1Y3RuYW1lPnBnX3BlcmlvZDwvc3RydWN0bmFtZT4gc3RvcmVzCisgICBpbmZvcm1hdGlvbiBh Ym91dCBzeXN0ZW0gYW5kIGFwcGxpY2F0aW9uIHRpbWUgcGVyaW9kcy4KKyAgPC9wYXJhPgorCisg IDxwYXJhPgorICAgUGVyaW9kcyBhcmUgZGVzY3JpYmVkIGluIDx4cmVmIGxpbmtlbmQ9ImRkbC1w ZXJpb2RzIi8+LgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxzdHJ1Y3RuYW1l PnBnX3BlcmlvZDwvc3RydWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisKKyAgIDx0Z3JvdXAgY29s cz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBD b2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRp b24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisg ICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+b2lkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgUm93IGlkZW50aWZpZXIKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+cGVybmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICBQZXJpb2QgbmFtZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5wZXJyZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAg ICAocmVmZXJlbmNlcyA8bGluayBsaW5rZW5kPSJjYXRhbG9nLXBnLWNsYXNzIj48c3RydWN0bmFt ZT5wZ19jbGFzczwvc3RydWN0bmFtZT48L2xpbms+LjxzdHJ1Y3RmaWVsZD5vaWQ8L3N0cnVjdGZp ZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRoZSB0YWJsZSB0aGlz IHBlcmlvZCBiZWxvbmdzIHRvCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcnN0YXJ0 PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50MjwvdHlwZT4KKyAgICAgICAocmVmZXJlbmNlcyA8bGlu ayBsaW5rZW5kPSJjYXRhbG9nLXBnLWF0dHJpYnV0ZSI+PHN0cnVjdG5hbWU+cGdfYXR0cmlidXRl PC9zdHJ1Y3RuYW1lPjwvbGluaz4uPHN0cnVjdGZpZWxkPmF0dG51bTwvc3RydWN0ZmllbGQ+KQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhlIG51bWJlciBvZiB0aGUgc3Rh cnQgY29sdW1uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcmVuZDwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDI8L3R5cGU+CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0i Y2F0YWxvZy1wZy1hdHRyaWJ1dGUiPjxzdHJ1Y3RuYW1lPnBnX2F0dHJpYnV0ZTwvc3RydWN0bmFt ZT48L2xpbms+LjxzdHJ1Y3RmaWVsZD5hdHRudW08L3N0cnVjdGZpZWxkPikKKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRoZSBudW1iZXIgb2YgdGhlIGVuZCBjb2x1bW4KKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVycmFuZ2U8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQyPC90eXBlPgorICAgICAgIChyZWZlcmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGct YXR0cmlidXRlIj48c3RydWN0bmFtZT5wZ19hdHRyaWJ1dGU8L3N0cnVjdG5hbWU+PC9saW5rPi48 c3RydWN0ZmllbGQ+YXR0bnVtPC9zdHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIHRoZSA8bGl0ZXJhbD5HRU5FUkFURUQ8L2xpdGVy YWw+IGNvbHVtbiB0aGF0IGltcGxlbWVudHMgdGhlIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4u CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcmNvbnN0cmFpbnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0 YWxvZy1wZy1jb25zdHJhaW50Ij48c3RydWN0bmFtZT5wZ19jb25zdHJhaW50PC9zdHJ1Y3RuYW1l PjwvbGluaz4uPHN0cnVjdGZpZWxkPm9pZDwvc3RydWN0ZmllbGQ+KQorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgVGhlIE9JRCBvZiB0aGUgcGVyaW9kJ3MgPGxpdGVyYWw+Q0hF Q0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKwogICAgIDwvdGJvZHk+CiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9kZGwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAppbmRleCBhMzg3 ZTVlYWUxMy4uZjM0M2MzMjIyMGUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKQEAgLTE2MDEsNiArMTYwMSw1MiBAQCBDUkVBVEUg VEFCTEUgY2lyY2xlcyAoCiAgICB0byBleHByZXNzIGFuZCBtYW5hZ2Ugc3VjaCBoaXN0b3JpZXMg aW4gdGVtcG9yYWwgdGFibGVzLgogICA8L3BhcmE+CiAKKyAgPHNlY3QyIGlkPSJkZGwtcGVyaW9k cyI+CisgICA8dGl0bGU+UGVyaW9kczwvdGl0bGU+CisKKyAgIDxpbmRleHRlcm0gem9uZT0iZGRs LXBlcmlvZHMiPgorICAgIDxwcmltYXJ5PnBlcmlvZHM8L3ByaW1hcnk+CisgICA8L2luZGV4dGVy bT4KKworICAgPHBhcmE+CisgICAgQSA8Zmlyc3R0ZXJtPnBlcmlvZDwvZmlyc3R0ZXJtPiBpcyBt ZXRhZGF0YSBhdHRhY2hlZCB0byBhIHRhYmxlCisgICAgdW5pdGluZyB0d28gY29sdW1ucywgYSBz dGFydCB0aW1lIGFuZCBlbmQgdGltZSwgaW50byBvbmUgcmFuZ2UtbGlrZQorICAgIGNvbnN0cnVj dC4gUGVyaW9kcyBhcmUgdXNlZCB0byByZXByZXNlbnQgPGxpbmsKKyAgICBsaW5rZW5kPSJkZGwt c3lzdGVtLXRpbWUiPnN5c3RlbSB0aW1lPC9saW5rPiBhbmQgPGxpbmsKKyAgICBsaW5rZW5kPSJk ZGwtYXBwbGljYXRpb24tdGltZSI+YXBwbGljYXRpb24gdGltZTwvbGluaz4uIEEgc3lzdGVtLXRp bWUKKyAgICBwZXJpb2QgbXVzdCBiZSBuYW1lZCA8bGl0ZXJhbD5zeXN0ZW1fdGltZTwvbGl0ZXJh bD4sIGFuZCBhbgorICAgIGFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kIGNhbiBiZSBuYW1lZCBhbnl0 aGluZyBlbHNlLiBUaGVpciBuYW1lcyBtdXN0CisgICAgbm90IGNvbmZsaWN0IHdpdGggY29sdW1u IG5hbWVzIGZyb20gdGhlIHNhbWUgdGFibGUuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAg IEFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kcyBhcmUgcmVmZXJlbmNlZCBpbiBzZXZlcmFsIHRlbXBv cmFsIG9wZXJhdGlvbnMgZGVzY3JpYmVkIGluCisgICAgdGhpcyBjaGFwdGVyOiB0ZW1wb3JhbCBw cmltYXJ5IGtleXMsIHVuaXF1ZSBjb25zdHJhaW50cywgZm9yZWlnbiBrZXlzLAorICAgIHVwZGF0 ZSBjb21tYW5kcywgYW5kIGRlbGV0ZSBjb21tYW5kcy4KKyAgICBJbiBhbGwgY2FzZXMsIDxwcm9k dWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gc3VwcG9ydHMgZWl0aGVyIHBlcmlvZHMK KyAgICBvciByZWd1bGFyIGNvbHVtbnMgd2l0aCBhIDxsaW5rIGxpbmtlbmQ9InJhbmdldHlwZXMt YnVpbHRpbiI+cmFuZ2V0eXBlIG9yCisgICAgbXVsdGlyYW5nZXR5cGU8L2xpbms+LgorICAgPC9w YXJhPgorCisgICA8cGFyYT4KKyAgICBBcHBsaWNhdGlvbiBwZXJpb2RzIGFyZSBkZWZpbmVkIG9u IGEgdGFibGUgdXNpbmcgdGhlIGZvbGxvd2luZyBzeW50YXg6CisgICA8L3BhcmE+CisKKzxwcm9n cmFtbGlzdGluZz4KK0NSRUFURSBUQUJMRSBiaWxsaW5nX2FkZHJlc3NlcyAoCisgIGN1c3RvbWVy X2lkIGludGVnZXIsCisgIGFkZHJlc3NfaWQgIGludGVnZXIsCisgIHZhbGlkX2Zyb20gIGRhdGUs CisgIHZhbGlkX3RpbCAgIGRhdGUsCisgIDxlbXBoYXNpcz5QRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpPC9lbXBoYXNpcz4KKyk7Cis8L3Byb2dyYW1saXN0aW5nPgor CisgICA8cGFyYT4KKyAgICBQZXJpb2RzIGZvciA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJh bD4gYXJlIGN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQuCisgICA8L3BhcmE+CisgIDwvc2VjdDI+ CisKICAgPHNlY3QyIGlkPSJkZGwtYXBwbGljYXRpb24tdGltZSI+CiAgICA8dGl0bGU+QXBwbGlj YXRpb24gVGltZTwvdGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbmZvcm1hdGlv bl9zY2hlbWEuc2dtbCBiL2RvYy9zcmMvc2dtbC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dtbAppbmRl eCA2MGI0YzRhZThjMC4uZWQ0NDgyMjMwYWEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9pbmZv cm1hdGlvbl9zY2hlbWEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaW5mb3JtYXRpb25fc2NoZW1h LnNnbWwKQEAgLTQxNzEsNiArNDE3MSw2OSBAQCBPUkRFUiBCWSBjLm9yZGluYWxfcG9zaXRpb247 CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0iaW5mb3NjaGVtYS1wZXJpb2Rz Ij4KKyAgPHRpdGxlPjxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+PC90aXRsZT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+IGNvbnRhaW5zIGluZm9y bWF0aW9uIGFib3V0IHRoZQorICAgcGVyaW9kcyBvZiBhbGwgdGFibGVzIGluIHRoZSBjdXJyZW50 IGRhdGFiYXNlLiAgVGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uCisgICBuYW1lcyBhcmUgb25seSBz aG93biBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyBhY2Nlc3MgdG8gdGhlbSAoYnkgd2F5IG9mIGJl aW5nCisgICB0aGUgb3duZXIgb3IgaGF2aW5nIHNvbWUgcHJpdmlsZWdlKS4KKyAgPC9wYXJhPgor CisgIDx0YWJsZT4KKyAgIDx0aXRsZT48bGl0ZXJhbD5wZXJpb2RzPC9saXRlcmFsPiBDb2x1bW5z PC90aXRsZT4KKworICAgPHRncm91cCBjb2xzPSIzIj4KKyAgICA8dGhlYWQ+CisgICAgIDxyb3c+ CisgICAgICA8ZW50cnk+TmFtZTwvZW50cnk+CisgICAgICA8ZW50cnk+RGF0YSBUeXBlPC9lbnRy eT4KKyAgICAgIDxlbnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwv dGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+ dGFibGVfY2F0YWxvZzwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBlPnNxbF9p ZGVudGlmaWVyPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUgZGF0YWJh c2UgY29udGFpbmluZyB0aGUgcGVyaW9kIChhbHdheXMgdGhlIGN1cnJlbnQgZGF0YWJhc2UpPC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0ZXJhbD50 YWJsZV9zY2hlbWE8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRl bnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHNjaGVtYSBj b250YWluaW5nIHRoZSBwZXJpb2Q8L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5PjxsaXRlcmFsPnRhYmxlX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAg IDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5 Pk5hbWUgb2YgdGhlIHRhYmxlIGNvbnRhaW5pbmcgdGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+cGVyaW9kX25hbWU8L2xp dGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwvdHlwZT48 L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+c3RhcnRfY29sdW1uX25h bWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwv dHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHN0YXJ0IGNvbHVtbiBmb3Ig dGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50 cnk+PGxpdGVyYWw+ZW5kX2NvbHVtbl9uYW1lPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8ZW50 cnk+PHR5cGU+c3FsX2lkZW50aWZpZXI8L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5OYW1l IG9mIHRoZSBlbmQgY29sdW1uIGZvciB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAgPC9yb3c+Cisg ICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKICA8c2Vj dDEgaWQ9ImluZm9zY2hlbWEtcmVmZXJlbnRpYWwtY29uc3RyYWludHMiPgogICA8dGl0bGU+PGxp dGVyYWw+cmVmZXJlbnRpYWxfY29uc3RyYWludHM8L2xpdGVyYWw+PC90aXRsZT4KIApkaWZmIC0t Z2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNn bWwKaW5kZXggODZmMzEyNDE2YTUuLmQ4ODI4NmZiZWZhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwKQEAgLTQyNTIs NyArNDI1Miw3IEBAIEFTU0VSVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uZGl0 aW9uPC9yZXBsYWNlYWJsZT4gPG9wdGlvbmFsPiAsIDxyZXBsCiAgICAgIDx0ZXJtPjx2YXJuYW1l PlRHX1BFUklPRF9OQU1FPC92YXJuYW1lPiA8dHlwZT50ZXh0PC90eXBlPjwvdGVybT4KICAgICAg PGxpc3RpdGVtPgogICAgICAgPHBhcmE+Ci0gICAgICAgdGhlIGNvbHVtbiBuYW1lIHVzZWQgaW4g YSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLAorICAgICAgIHRoZSBj b2x1bW4vcGVyaW9kIG5hbWUgdXNlZCBpbiBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRl cmFsPiBjbGF1c2UsCiAgICAgICAgb3IgZWxzZSA8c3ltYm9sPk5VTEw8L3N5bWJvbD4uCiAgICAg ICA8L3BhcmE+CiAgICAgIDwvbGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwKaW5k ZXggOWQyM2FkNWEwZmIuLjQ0MGVjNjE2OTdiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21s CkBAIC02Miw2ICs2Miw4IEBAIEFMVEVSIFRBQkxFIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgIEFMVEVSIENPTlNUUkFJ TlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFj ZWFibGU+IFsgSU5IRVJJVCB8IE5PIElOSEVSSVQgXQogICAgIFZBTElEQVRFIENPTlNUUkFJTlQg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFjZWFi bGU+CiAgICAgRFJPUCBDT05TVFJBSU5UIFsgSUYgRVhJU1RTIF0gIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBbIFJFU1RSSUNUIHwg Q0FTQ0FERSBdCisgICAgQUREIFBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+c3RhcnRfY29sdW1uPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5lbmRfY29sdW1uPC9yZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdCisg ICAgRFJPUCBQRVJJT0QgRk9SIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rf bmFtZTwvcmVwbGFjZWFibGU+IFsgUkVTVFJJQ1QgfCBDQVNDQURFIF0KICAgICBESVNBQkxFIFRS SUdHRVIgWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dHJpZ2dlcl9uYW1lPC9yZXBs YWNlYWJsZT4gfCBBTEwgfCBVU0VSIF0KICAgICBFTkFCTEUgVFJJR0dFUiBbIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj50cmlnZ2VyX25hbWU8L3JlcGxhY2VhYmxlPiB8IEFMTCB8IFVT RVIgXQogICAgIEVOQUJMRSBSRVBMSUNBIFRSSUdHRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnRyaWdnZXJfbmFtZTwvcmVwbGFjZWFibGU+CkBAIC0xMTYsMTAgKzExOCwxMCBAQCBX SVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRl cmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogWyBDT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBdCiB7IENIRUNLICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248L3JlcGxhY2VhYmxlPiApIFsg Tk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJTkhFUklUIF0gfAotICBVTklRVUUgWyBO VUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0g KSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFj ZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0g KSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFj ZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1QgXSBESVNUSU5DVCBdICggPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0g WywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFj ZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CisgIFBSSU1BUlkgS0VZICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywg Li4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CiAgIEVYQ0xVREUgWyBV U0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfbWV0aG9kPC9yZXBsYWNl YWJsZT4gXSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNsdWRlX2VsZW1lbnQ8 L3JlcGxhY2VhYmxlPiBXSVRIIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcGVyYXRv cjwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiBbIFdIRVJFICggPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnByZWRpY2F0ZTwvcmVwbGFjZWFibGU+ICkgXSB8Ci0gIEZPUkVJR04g S0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNl YWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKSBSRUZFUkVOQ0VTIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gIFssIFBFUklP RCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4g XSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29s dW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gXSApIFJFRkVS RU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBsYWNlYWJs ZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxhY2Vh YmxlPiBbLCAuLi4gXSAgWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggRlVMTCB8IE1B VENIIFBBUlRJQUwgfCBNQVRDSCBTSU1QTEUgXSBbIE9OIERFTEVURSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQ REFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9y ZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBOT1QgREVGRVJSQUJMRSBdIFsgSU5JVElB TExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFURSBdIFsgRU5GT1JDRUQgfCBOT1QgRU5G T1JDRUQgXQogCkBAIC02MjQsNiArNjI2LDI5IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAg ICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlzdGVudHJ5IGlk PSJzcWwtYWx0ZXJ0YWJsZS1kZXNjLWFkZC1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRlcmFsPkFE RCBQRVJJT0QgRk9SPC9saXRlcmFsPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJh PgorICAgICAgVGhpcyBmb3JtIGFkZHMgYSBuZXcgcGVyaW9kIHRvIGEgdGFibGUgdXNpbmcgdGhl IHNhbWUgc3ludGF4IGFzCisgICAgICA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldGFibGUiLz4u CisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAg IDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1hbHRlcnRhYmxlLWRlc2MtZHJvcC1wZXJpb2QiPgorICAg IDx0ZXJtPjxsaXRlcmFsPkRST1AgUEVSSU9EIEZPUjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxp c3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgZm9ybSBkcm9wcyB0aGUgc3BlY2lmaWVk IHBlcmlvZCBvbiBhIHRhYmxlLiAgVGhlIHN0YXJ0IGFuZCBlbmQKKyAgICAgIGNvbHVtbnMgd2ls bCBub3QgYmUgZHJvcHBlZCBieSB0aGlzIGNvbW1hbmQgYnV0IHRoZQorICAgICAgPGxpdGVyYWw+ Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQgd2lsbCBiZS4gIFlvdSB3aWxsIG5lZWQgdG8gc2F5 CisgICAgICA8bGl0ZXJhbD5DQVNDQURFPC9saXRlcmFsPiBpZiBhbnl0aGluZyBvdXRzaWRlIHRo ZSB0YWJsZSBkZXBlbmRzIG9uIHRoZQorICAgICAgY29sdW1uLgorICAgICA8L3BhcmE+CisgICAg PC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5IGlkPSJz cWwtYWx0ZXJ0YWJsZS1kZXNjLWRpc2FibGUtZW5hYmxlLXRyaWdnZXIiPgogICAgIDx0ZXJtPjxs aXRlcmFsPkRJU0FCTEU8L2xpdGVyYWw+LzxsaXRlcmFsPkVOQUJMRSBbIFJFUExJQ0EgfCBBTFdB WVMgXSBUUklHR0VSPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvcmVmL2NvbW1lbnQuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY29tbWVu dC5zZ21sCmluZGV4IDhkODEyNDQ5MTBiLi44MmUxM2ZhZjBhNSAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3JlZi9jb21tZW50LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jb21tZW50LnNn bWwKQEAgLTQ0LDYgKzQ0LDcgQEAgQ09NTUVOVCBPTgogICBPUEVSQVRPUiA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+b3BlcmF0b3JfbmFtZTwvcmVwbGFjZWFibGU+ICg8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bGVmdF90eXBlPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yaWdodF90eXBlPC9yZXBsYWNlYWJsZT4pIHwKICAgT1BFUkFU T1IgQ0xBU1MgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9iamVjdF9uYW1lPC9yZXBs YWNlYWJsZT4gVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X21ldGhv ZDwvcmVwbGFjZWFibGU+IHwKICAgT1BFUkFUT1IgRkFNSUxZIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5vYmplY3RfbmFtZTwvcmVwbGFjZWFibGU+IFVTSU5HIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5pbmRleF9tZXRob2Q8L3JlcGxhY2VhYmxlPiB8CisgIFBFUklPRCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVsYXRpb25fbmFtZTwvcmVwbGFjZWFibGU+ LjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+ IHwKICAgUE9MSUNZIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wb2xpY3lfbmFtZTwv cmVwbGFjZWFibGU+IE9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1l PC9yZXBsYWNlYWJsZT4gfAogICBbIFBST0NFRFVSQUwgXSBMQU5HVUFHRSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+b2JqZWN0X25hbWU8L3JlcGxhY2VhYmxlPiB8CiAgIFBST0NFRFVS RSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHJvY2VkdXJlX25hbWU8L3JlcGxhY2Vh YmxlPiBbICggWyBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmdtb2RlPC9yZXBs YWNlYWJsZT4gXSBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmduYW1lPC9yZXBs YWNlYWJsZT4gXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+YXJndHlwZTwvcmVwbGFj ZWFibGU+IFssIC4uLl0gXSApIF0gfApAQCAtMzQxLDYgKzM0Miw3IEBAIENPTU1FTlQgT04gT1BF UkFUT1IgXiAodGV4dCwgdGV4dCkgSVMgJ1BlcmZvcm1zIGludGVyc2VjdGlvbiBvZiB0d28gdGV4 dHMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiAtIChOT05FLCBpbnRlZ2VyKSBJUyAnVW5hcnkgbWlu dXMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiBDTEFTUyBpbnQ0b3BzIFVTSU5HIGJ0cmVlIElTICc0 IGJ5dGUgaW50ZWdlciBvcGVyYXRvcnMgZm9yIGJ0cmVlcyc7CiBDT01NRU5UIE9OIE9QRVJBVE9S IEZBTUlMWSBpbnRlZ2VyX29wcyBVU0lORyBidHJlZSBJUyAnYWxsIGludGVnZXIgb3BlcmF0b3Jz IGZvciBidHJlZXMnOworQ09NTUVOVCBPTiBQRVJJT0QgbXlfdGFibGUubXlfY29sdW1uIElTICdT YWxlcyBwcm9tb3Rpb24gdmFsaWRpdHknOwogQ09NTUVOVCBPTiBQT0xJQ1kgbXlfcG9saWN5IE9O IG15dGFibGUgSVMgJ0ZpbHRlciByb3dzIGJ5IHVzZXJzJzsKIENPTU1FTlQgT04gUFJPQ0VEVVJF IG15X3Byb2MgKGludGVnZXIsIGludGVnZXIpIElTICdSdW5zIGEgcmVwb3J0JzsKIENPTU1FTlQg T04gUFVCTElDQVRJT04gYWxsdGFibGVzIElTICdQdWJsaXNoZXMgYWxsIG9wZXJhdGlvbnMgb24g YWxsIHRhYmxlcyc7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5z Z21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAppbmRleCBhODE3MDFhNDlm NC4uYzllY2IyOWY2MTIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxl LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbApAQCAtMjMsNiAr MjMsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIENSRUFURSBbIFsg R0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUg WyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25h bWU8L3JlcGxhY2VhYmxlPiAoIFsKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4gWyBTVE9SQUdFIHsgUExBSU4gfCBFWFRFUk5BTCB8IEVY VEVOREVEIHwgTUFJTiB8IERFRkFVTFQgfSBdIFsgQ09NUFJFU1NJT04gPHJlcGxhY2VhYmxlPmNv bXByZXNzaW9uX21ldGhvZDwvcmVwbGFjZWFibGU+IF0gWyBDT0xMQVRFIDxyZXBsYWNlYWJsZT5j b2xsYXRpb248L3JlcGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVwbGFj ZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2VhYmxl PnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPgogICAgIHwgTElLRSA8cmVwbGFjZWFibGU+ c291cmNlX3RhYmxlPC9yZXBsYWNlYWJsZT4gWyA8cmVwbGFjZWFibGU+bGlrZV9vcHRpb248L3Jl cGxhY2VhYmxlPiAuLi4gXSB9CiAgICAgWywgLi4uIF0KQEAgLTM3LDYgKzM4LDcgQEAgQ1JFQVRF IFsgWyBHTE9CQUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBU QUJMRSBbIElGIE5PVCBFWEkKIENSRUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFS WSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPgogICAgIE9GIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50eXBlX25hbWU8L3JlcGxhY2VhYmxlPiBbICgK ICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBbIFdJVEggT1BUSU9OUyBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNv bHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVwbGFjZWFi bGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2VhYmxlPnRh YmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiB9CiAgICAgWywgLi4uIF0KICkgXQpAQCAtNDks NiArNTEsNyBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JBUlkgfCBURU1Q IH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogQ1JFQVRFIFsgWyBHTE9CQUwgfCBM T0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElGIE5PVCBF WElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFj ZWFibGU+CiAgICAgUEFSVElUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w YXJlbnRfdGFibGU8L3JlcGxhY2VhYmxlPiBbICgKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIFdJVEggT1BUSU9OUyBdIFsgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJs ZT4gWyAuLi4gXSBdCisgICAgfCA8cmVwbGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxh Y2VhYmxlPgogICAgIHwgPHJlcGxhY2VhYmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxl PiB9CiAgICAgWywgLi4uIF0KICkgXSB7IEZPUiBWQUxVRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBhcnRpdGlvbl9ib3VuZF9zcGVjPC9yZXBsYWNlYWJsZT4gfCBERUZBVUxUIH0K QEAgLTczLDE1ICs3NiwyMCBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JB UlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogICAgIFsgT04gREVM RVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3Jl cGxhY2VhYmxlPiBdIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5y ZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdIH0KIFsgREVGRVJSQUJMRSB8IE5PVCBE RUZFUlJBQkxFIF0gWyBJTklUSUFMTFkgREVGRVJSRUQgfCBJTklUSUFMTFkgSU1NRURJQVRFIF0g WyBFTkZPUkNFRCB8IE5PVCBFTkZPUkNFRCBdCiAKKzxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+IGlzOjwvcGhy YXNlPgorCitQRVJJT0QgRk9SIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4gfCBTWVNURU1fVElNRSB9ICggPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ICkKK1sgV0lUSCAoIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4gPSA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSApIF0KKwogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxl X2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAogWyBDT05TVFJBSU5UIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxl PiBdCiB7IENIRUNLICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248 L3JlcGxhY2VhYmxlPiApIFsgTk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJTkhFUklU IF0gfAotICBVTklRVUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBX SVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhf cGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBX SVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhf cGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1QgXSBESVNU SU5DVCBdICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBs YWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29s dW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w ZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8Cisg IFBSSU1BUlkgS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1l PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gIFdJVEhPVVQgT1ZFUkxBUFMgXSApIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJs ZT4gfAogICBFWENMVURFIFsgVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmlu ZGV4X21ldGhvZDwvcmVwbGFjZWFibGU+IF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+ZXhjbHVkZV9lbGVtZW50PC9yZXBsYWNlYWJsZT4gV0lUSCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+b3BlcmF0b3I8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJsZT4gWyBXSEVS RSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wcmVkaWNhdGU8L3JlcGxhY2VhYmxl PiApIF0gfAotICBGT1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBdICkgUkVGRVJFTkNF UyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmdGFibGU8L3JlcGxhY2VhYmxlPiBb ICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+ IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29s dW1uPC9yZXBsYWNlYWJsZT4gXSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJ T0QgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFj ZWFibGU+IH0gXSApIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJl ZnRhYmxlPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5y ZWZjb2x1bW48L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiB9IF0gKSBdCiAgICAg WyBNQVRDSCBGVUxMIHwgTUFUQ0ggUEFSVElBTCB8IE1BVENIIFNJTVBMRSBdIFsgT04gREVMRVRF IDxyZXBsYWNlYWJsZQogY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBs YWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVm ZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBOT1QgREVG RVJSQUJMRSBdIFsgSU5JVElBTExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFURSBdIFsg RU5GT1JDRUQgfCBOT1QgRU5GT1JDRUQgXQpAQCAtMTQwLDYgKzE0OCwxNCBAQCBXSVRIICggTU9E VUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBs YWNlYWJsZT4sIFJFTQogICAgbmFtZSBhcyBhbnkgZXhpc3RpbmcgZGF0YSB0eXBlIGluIHRoZSBz YW1lIHNjaGVtYS4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgUGVyaW9kcyBtYXkgYmUgZGVm aW5lZCBvbiB0YWJsZXMsIHNwZWNpZnlpbmcgdGhhdCB0d28gZXhpc3RpbmcgY29sdW1ucworICAg cmVwcmVzZW50IHN0YXJ0IGFuZCBlbmQgdmFsdWVzIGZvciB0aGUgcGVyaW9kLiAgUGVyaW9kcyBt YXkgaGF2ZSBhbnkgbmFtZQorICAgdGhhdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggYSBjb2x1bW4g bmFtZSwgYnV0IHRoZSBuYW1lCisgICA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJhbD4gaXMg c3BlY2lhbCwgdXNlZCBmb3IgdmVyc2lvbmluZyB0YWJsZXMuCisgICBTeXN0ZW0gcGVyaW9kcyBh cmUgbm90IHlldCBpbXBsZW1lbnRlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtcGVyaW9kcyIv PiBmb3IgbW9yZSBkZXRhaWxzLgorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9u YWwgY29uc3RyYWludCBjbGF1c2VzIHNwZWNpZnkgY29uc3RyYWludHMgKHRlc3RzKSB0aGF0CiAg ICBuZXcgb3IgdXBkYXRlZCByb3dzIG11c3Qgc2F0aXNmeSBmb3IgYW4gaW5zZXJ0IG9yIHVwZGF0 ZSBvcGVyYXRpb24KQEAgLTgwMCw2ICs4MTYsMzcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0K ICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0ZW50cnkg aWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRlcmFsPlBF UklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9y ZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVy aW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdPC9saXRlcmFsPjwvdGVybT4KKyAgICA8 bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBwZXJpb2QgZGVmaW5pdGlvbiBnaXZlcyBz ZW1hbnRpYyBtZWFuaW5nIHRvIHR3byBleGlzdGluZyBjb2x1bW5zIG9mCisgICAgICB0aGUgdGFi bGUuICBJdCBkZWZpbmVzIGEgInN0YXJ0IGNvbHVtbiIgYW5kIGFuICJlbmQgY29sdW1uIiB3aGVy ZSB0aGUKKyAgICAgIHN0YXJ0IHZhbHVlIGlzIHN0cmljdGx5IGxlc3MgdGhhbiB0aGUgZW5kIHZh bHVlLiAgQQorICAgICAgPGxpdGVyYWw+Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQgaXMgYXV0 b21hdGljYWxseSBjcmVhdGVkIHRvIGVuZm9yY2UKKyAgICAgIHRoaXMuICBZb3UgY2FuIHNwZWNp ZnkgdGhlIG5hbWUgb2YgdGhhdCBjb25zdHJhaW50IHdpdGggdGhlCisgICAgICA8bGl0ZXJhbD5j aGVja19jb25zdHJhaW50X25hbWU8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFyYT4KKworICAgICA8 cGFyYT4KKyAgICAgIEJvdGggY29sdW1ucyBtdXN0IGhhdmUgZXhhY3RseSB0aGUgc2FtZSB0eXBl IGFuZCBtdXN0IGhhdmUgYSByYW5nZSB0eXBlCisgICAgICBkZWZpbmVkIGZyb20gdGhlaXIgYmFz ZSB0eXBlLiAgSWYgdGhlcmUgYXJlIHNldmVyYWwgcmFuZ2UgdHlwZXMgZm9yIHRoYXQKKyAgICAg IGJhc2UgdHlwZSwgeW91IG11c3Qgc3BlY2lmeSB3aGljaCBvbmUgeW91IHdhbnQgYnkgdXNpbmcg dGhlCisgICAgICA8bGl0ZXJhbD5yYW5nZXR5cGU8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgICBBbnkgYmFz ZSB0eXBlIGlzIGFsbG93ZWQsIGFzIGxvbmcgYXMgaXQgaGFzIGEgcmFuZ2UgdHlwZSwgYWx0aG91 Z2ggaXQgaXMKKyAgICAgIGV4cGVjdGVkIHRoYXQgbW9zdCBwZXJpb2RzIHdpbGwgdXNlIHRlbXBv cmFsIHR5cGVzIGxpa2UgPGxpdGVyYWw+dGltZXN0YW1wdHo8L2xpdGVyYWw+CisgICAgICBvciA8 bGl0ZXJhbD5kYXRlPC9saXRlcmFsPi4KKyAgICAgPC9wYXJhPgorCisgICAgIDxwYXJhPgorICAg ICAgQSBoaWRkZW4gPGxpdGVyYWw+R0VORVJBVEVEPC9saXRlcmFsPiBjb2x1bW4gaXMgdXNlZCB0 byBpbXBsZW1lbnQgdGhlIHBlcmlvZCwKKyAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUg cGVyaW9kLiAgSWYgc3VjaCBhIGNvbHVtbiBhbHJlYWR5IGV4aXN0cywgeW91CisgICAgICBjYW4g dXNlIHRoZSA8bGl0ZXJhbD5jb2xleGlzdHM8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4KKyAgICAgIHdpdGggdmFsdWUg PGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gdG8gYXZvaWQgY3JlYXRpbmcgaXQuCisgICAgIDwvcGFy YT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50 cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1jb25zdHJhaW50Ij4KICAgICA8dGVybT48bGl0 ZXJhbD5DT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50 X25hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAt MTE4NCw4ICsxMjMxLDggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgIDx2YXJsaXN0ZW50 cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1yZWZlcmVuY2VzIj4KICAgICA8dGVybT48bGl0 ZXJhbD5SRUZFUkVOQ0VTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwv cmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1u PC9yZXBsYWNlYWJsZT4gKSBdIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0gWyBPTiBERUxFVEUgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlvbjwvcmVwbGFjZWFibGU+IF0gWyBPTiBVUERB VEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlvbjwvcmVw bGFjZWFibGU+IF08L2xpdGVyYWw+IChjb2x1bW4gY29uc3RyYWludCk8L3Rlcm0+CiAKLSAgIDx0 ZXJtPjxsaXRlcmFsPkZPUkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKQotICAgIFJF RkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBsYWNl YWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3JlcGxh Y2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IF0gKSBdCisgICA8dGVybT48bGl0ZXJhbD5GT1JFSUdO IEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkKKyAgICBSRUZFUkVOQ0VTIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gWywgLi4u IF0gWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwv cmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1l PC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0KICAgICBbIE9OIERFTEVURSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJs ZT4gXQogICAgIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZl cmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdPC9saXRlcmFsPgpAQCAtMTIwNSw3ICsxMjUy LDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVy aWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPC9wYXJhPgogCiAgICAgIDxwYXJh PgotICAgICAgSWYgdGhlIGxhc3QgY29sdW1uIGlzIG1hcmtlZCB3aXRoIDxsaXRlcmFsPlBFUklP RDwvbGl0ZXJhbD4sIGl0IGlzCisgICAgICBJZiB0aGUgbGFzdCBrZXkgcGFydCBpcyBtYXJrZWQg d2l0aCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LCBpdCBpcwogICAgICAgdHJlYXRlZCBpbiBh IHNwZWNpYWwgd2F5LiAgV2hpbGUgdGhlIG5vbi08bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+CiAg ICAgICBjb2x1bW5zIGFyZSBjb21wYXJlZCBmb3IgZXF1YWxpdHkgKGFuZCB0aGVyZSBtdXN0IGJl IGF0IGxlYXN0IG9uZSBvZgogICAgICAgdGhlbSksIHRoZSA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVy YWw+IGNvbHVtbiBpcyBub3QuICBJbnN0ZWFkLCB0aGUKQEAgLTEyMTMsOCArMTI2MCwxMCBAQCBX SVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRl cmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgcmVjb3JkcyAoYmFzZWQgb24gdGhlIG5vbi08 bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHBhcnRzIG9mIHRoZSBrZXkpCiAgICAgICB3aG9zZSBj b21iaW5lZCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHZhbHVlcyBjb21wbGV0ZWx5IGNvdmVy IHRoZQogICAgICAgcmVmZXJlbmNpbmcgcmVjb3JkJ3MuICBJbiBvdGhlciB3b3JkcywgdGhlIHJl ZmVyZW5jZSBtdXN0IGhhdmUgYQotICAgICAgcmVmZXJlbnQgZm9yIGl0cyBlbnRpcmUgZHVyYXRp b24uICBUaGlzIGNvbHVtbiBtdXN0IGJlIGEgcmFuZ2Ugb3IKLSAgICAgIG11bHRpcmFuZ2UgdHlw ZS4gIEluIGFkZGl0aW9uLCB0aGUgcmVmZXJlbmNlZCB0YWJsZSBtdXN0IGhhdmUgYSBwcmltYXJ5 CisgICAgICByZWZlcmVudCBmb3IgaXRzIGVudGlyZSBkdXJhdGlvbi4gIFRoaXMgcGFydCBtdXN0 IGJlIGVpdGhlciBhCisgICAgICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRldGFibGUtcGFybXMt cGVyaW9kIj48bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+PC9saW5rPgorICAgICAgb3IgYSBjb2x1 bW4gd2l0aCBhIHJhbmdlIG9yIG11bHRpcmFuZ2UgdHlwZS4KKyAgICAgIEluIGFkZGl0aW9uLCB0 aGUgcmVmZXJlbmNlZCB0YWJsZSBtdXN0IGhhdmUgYSBwcmltYXJ5CiAgICAgICBrZXkgb3IgdW5p cXVlIGNvbnN0cmFpbnQgZGVjbGFyZWQgd2l0aCA8bGl0ZXJhbD5XSVRIT1VUCiAgICAgICBPVkVS TEFQUzwvbGl0ZXJhbD4uIEZpbmFsbHksIGlmIHRoZSBmb3JlaWduIGtleSBoYXMgYSBQRVJJT0QK ICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+IHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCmluZGV4IDcyN2Q3NjE3YWM0Li41 MDBhZDhiZThkMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCkBAIC02Myw3ICs2Myw4IEBAIERFTEVURSBG Uk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9y ZXBsYWNlYWJsZT4gWyAqCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KLSAgIElmIHRoZSB0YWJsZSBo YXMgYSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiwKKyAgIElmIHRoZSB0YWJsZSBoYXMgYSBy YW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiwgb3IgYQorICAgPGxpbmsgbGlua2VuZD0iZGRsLXBl cmlvZHMiPjxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD48L2xpbms+LAogICAgeW91IG1heSBzdXBw bHkgYSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLCBhbmQgdGhlIGRl bGV0ZSB3aWxsCiAgICBvbmx5IGFmZmVjdCByb3dzIHRoYXQgb3ZlcmxhcCB0aGUgZ2l2ZW4gcG9y dGlvbi4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MKICAgIGFwcGxpY2F0aW9uIHRpbWUgZXh0ZW5k cyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLApA QCAtNzgsNyArNzksOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgbmV3IDxnbG9zc3Rl cm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbCBsZWZ0b3Zl cnM8L2dsb3NzdGVybT46CiAgICByb3dzIHdob3NlIHJhbmdlIG9yIG11bHRpcmFuZ2UgcmVjZWl2 ZXMgdGhlIHJlbWFpbmluZyBhcHBsaWNhdGlvbiB0aW1lIG91dHNpZGUKICAgIHRoZSB0YXJnZXRl ZCA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPi88bGl0ZXJhbD5UTzwvbGl0ZXJhbD4gYm91bmRzLCB3 aXRoIHRoZQotICAgb3JpZ2luYWwgdmFsdWVzIGluIHRoZWlyIG90aGVyIGNvbHVtbnMuIEZvciBy YW5nZSBjb2x1bW5zLCB0aGVyZSB3aWxsIGJlIHplcm8KKyAgIG9yaWdpbmFsIHZhbHVlcyBpbiB0 aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucyBhbmQKKyAgIDxsaXRlcmFsPlBF UklPRDwvbGl0ZXJhbD5zLCB0aGVyZSB3aWxsIGJlIHplcm8KICAgIHRvIHR3byBpbnNlcnRlZCBy ZWNvcmRzLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgb3JpZ2luYWwgYXBwbGljYXRpb24gdGlt ZSB3YXMKICAgIGNvbXBsZXRlbHkgZGVsZXRlZCwgZXh0ZW5kZWQgYmVmb3JlL2FmdGVyIHRoZSBj aGFuZ2UsIG9yIGJvdGguIEZvcgogICAgaW5zdGFuY2UgZ2l2ZW4gYW4gb3JpZ2luYWwgcmFuZ2Ug b2YgPGxpdGVyYWw+WzIsNik8L2xpdGVyYWw+LCBhIGRlbGV0ZSBvZgpAQCAtMTcxLDcgKzE3Myw3 IEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnJhbmdlX2NvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAg PGxpc3RpdGVtPgogICAgICA8cGFyYT4KLSAgICAgIFRoZSByYW5nZSBvciBtdWx0aXJhbmdlIGNv bHVtbiB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nIGEgdGVtcG9yYWwgZGVsZXRlLgorICAgICAgVGhl IHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIG9yIHBlcmlvZCB0byB1c2Ugd2hlbiBwZXJmb3Jt aW5nIGEgdGVtcG9yYWwgZGVsZXRlLgogICAgICA8L3BhcmE+CiAgICAgPC9saXN0aXRlbT4KICAg IDwvdmFybGlzdGVudHJ5PgpAQCAtMTgwLDcgKzE4Miw3IEBAIERFTEVURSBGUk9NIFsgT05MWSBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4g WyAqCiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9u X29mX3RhcmdldDwvcmVwbGFjZWFibGU+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+Ci0gICAgICBUaGUgcG9ydGlvbiB0byBkZWxldGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEg cmFuZ2UgY29sdW1uLAorICAgICAgVGhlIHBvcnRpb24gdG8gZGVsZXRlLiBJZiB5b3UgYXJlIHRh cmdldGluZyBhIHJhbmdlIGNvbHVtbiBvciA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LAogICAg ICAgeW91IG1heSBnaXZlIHRoaXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4K ICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNl YWJsZT4gPGxpdGVyYWw+VE88L2xpdGVyYWw+CiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPi4KQEAgLTE5OCw3ICsyMDAsNyBAQCBERUxF VEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFt ZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+CiAgICAgICBU aGUgZWFybGllc3QgdGltZSAoaW5jbHVzaXZlKSB0byBjaGFuZ2UgaW4gYSB0ZW1wb3JhbCBkZWxl dGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBlIG9m IHRoZSByYW5nZSBmcm9tCisgICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUg YmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2QgZnJvbQogICAgICAgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX2NvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKICAg ICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3Nl IGJlZ2lubmluZyBpcwogICAgICAgdW5ib3VuZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KQEAg LTIxMSw3ICsyMTMsNyBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDxsaXN0aXRlbT4K ICAgICAgPHBhcmE+CiAgICAgICBUaGUgbGF0ZXN0IHRpbWUgKGV4Y2x1c2l2ZSkgdG8gY2hhbmdl IGluIGEgdGVtcG9yYWwgZGVsZXRlLgotICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hp bmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2UgZnJvbQorICAgICAgVGhpcyBtdXN0IGJlIGEg dmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2Ugb3IgcGVyaW9kIGZyb20K ICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+LiBBCiAgICAgICA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBoZXJlIGluZGlj YXRlcyBhIGRlbGV0ZSB3aG9zZSBlbmQgaXMgdW5ib3VuZGVkCiAgICAgICAoYXMgd2l0aCByYW5n ZSB0eXBlcykuCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sIGIvZG9j L3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbAppbmRleCBhZmM2ODA3NDcwNy4uZjdhNzljNTdmZjMg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3JlZi91cGRhdGUuc2dtbApAQCAtNjAsNyArNjAsOCBAQCBVUERBVEUgWyBPTkxZIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICog XQogICA8L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3Ig bXVsdGlyYW5nZSBjb2x1bW4sCisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGly YW5nZSBjb2x1bW4sIG9yIGEKKyAgIDxsaW5rIGxpbmtlbmQ9ImRkbC1wZXJpb2RzIj48bGl0ZXJh bD5QRVJJT0Q8L2xpdGVyYWw+PC9saW5rPiwKICAgIHlvdSBtYXkgc3VwcGx5IGEgPGxpdGVyYWw+ Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgYW5kIHRoZSB1cGRhdGUgd2lsbAogICAg b25seSBhZmZlY3Qgcm93cyB0aGF0IG92ZXJsYXAgdGhlIGdpdmVuIHBvcnRpb24uIEZ1cnRoZXJt b3JlLCBpZiBhIHJvdydzCiAgICBhcHBsaWNhdGlvbiB0aW1lIGV4dGVuZHMgb3V0c2lkZSB0aGUg PGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGJvdW5kcywKQEAgLTc3LDcgKzc4LDgg QEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9u YW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgIG5ldyA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3Nz YXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+Ogog ICAgcm93cyB3aG9zZSByYW5nZSBvciBtdWx0aXJhbmdlIHJlY2VpdmVzIHRoZSByZW1haW5pbmcg YXBwbGljYXRpb24gdGltZSBvdXRzaWRlCiAgICB0aGUgdGFyZ2V0ZWQgPGxpdGVyYWw+RlJPTTwv bGl0ZXJhbD4vPGxpdGVyYWw+VE88L2xpdGVyYWw+IGJvdW5kcywgd2l0aCB0aGUKLSAgIG9yaWdp bmFsIHZhbHVlcyBpbiB0aGVpciBvdGhlciBjb2x1bW5zLiBGb3IgcmFuZ2UgY29sdW1ucywgdGhl cmUgd2lsbCBiZSB6ZXJvCisgICBvcmlnaW5hbCB2YWx1ZXMgaW4gdGhlaXIgb3RoZXIgY29sdW1u cy4gRm9yIHJhbmdlIGNvbHVtbnMKKyAgIGFuZCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+cywg dGhlcmUgd2lsbCBiZSB6ZXJvCiAgICB0byB0d28gaW5zZXJ0ZWQgcmVjb3JkcywgZGVwZW5kaW5n IG9uIHdoZXRoZXIgdGhlIG9yaWdpbmFsIGFwcGxpY2F0aW9uIHRpbWUgd2FzCiAgICBjb21wbGV0 ZWx5IHVwZGF0ZWQsIGV4dGVuZGVkIGJlZm9yZS9hZnRlciB0aGUgY2hhbmdlLCBvciBib3RoLiBG b3IKICAgIGluc3RhbmNlIGdpdmVuIGFuIG9yaWdpbmFsIHJhbmdlIG9mIDxsaXRlcmFsPlsyLDYp PC9saXRlcmFsPiwgYW4gdXBkYXRlIG9mCkBAIC0xNzIsNyArMTc0LDcgQEAgVVBEQVRFIFsgT05M WSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJs ZT4gWyAqIF0KICAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vf Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxw YXJhPgotICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIHRvIHVzZSB3aGVuIHBl cmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgICBUaGUgcmFuZ2Ugb3IgbXVsdGlyYW5n ZSBjb2x1bW4gb3IgcGVyaW9kIHRvIHVzZSB3aGVuIHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRh dGUuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CkBA IC0xODEsNyArMTgzLDcgQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8dGVybT48cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJs ZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4KLSAgICAgIFRoZSBwb3J0aW9u IHRvIHVwZGF0ZS4gSWYgeW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisgICAgICBU aGUgcG9ydGlvbiB0byB1cGRhdGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1u IG9yIDxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4sCiAgICAgICB5b3UgbWF5IGdpdmUgdGhpcyBp biB0aGUgZm9ybSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgogICAgICAgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwvbGl0 ZXJhbD4KICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwvcmVw bGFjZWFibGU+LgpAQCAtMTk5LDcgKzIwMSw3IEBAIFVQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCiAgICAg PGxpc3RpdGVtPgogICAgICA8cGFyYT4KICAgICAgIFRoZSBlYXJsaWVzdCB0aW1lIChpbmNsdXNp dmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIHVwZGF0ZS4KLSAgICAgIFRoaXMgbXVzdCBiZSBh IHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAgIFRo aXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIG9y IHBlcmlvZCBmcm9tCiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vf Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPi4gQQogICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJh bD4gaGVyZSBpbmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGJlZ2lubmluZyBpcwogICAgICAgdW5i b3VuZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KQEAgLTIxMiw3ICsyMTQsNyBAQCBVUERBVEUg WyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxh Y2VhYmxlPiBbICogXQogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+CiAgICAgICBUaGUgbGF0 ZXN0IHRpbWUgKGV4Y2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgdXBkYXRlLgotICAg ICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFu Z2UgZnJvbQorICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlw ZSBvZiB0aGUgcmFuZ2Ugb3IgcGVyaW9kIGZyb20KICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5yYW5nZV9jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+LiBBCiAgICAgICA8bGl0 ZXJhbD5OVUxMPC9saXRlcmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgZW5kIGlz IHVuYm91bmRlZAogICAgICAgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3RyaWdnZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKaW5kZXgg Y2ZjMDg0YjM0YzYuLjcyZjc5MThkY2MxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvdHJpZ2dl ci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAgLTg2MCwxNiArODYwLDIx IEBAIHR5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZlN0YXRlCiAKICAgICBjaGFyICAgICAgICpm cF9yYW5nZU5hbWU7ICAgLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLwog ICAgIE9pZCAgICAgICAgIGZwX3JhbmdlVHlwZTsgICAvKiB0aGUgdHlwZSBvZiB0aGUgRk9SIFBP UlRJT04gT0YgZXhwcmVzc2lvbiAqLwotICAgIGludCAgICAgICAgIGZwX3JhbmdlQXR0bm87ICAv KiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAqLworICAgIGludCAgICAgICAgIGZwX3Jh bmdlQXR0bm87ICAvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAob3IgMCBmb3IgYSBQ RVJJT0QpICovCisgICAgaW50ICAgICAgICAgZnBfcGVyaW9kU3RhcnRBdHRubzsgICAgLyogdGhl IGF0dG5vIG9mIHRoZSBQRVJJT0Qgc3RhcnQgY29sdW1uIChvciAwIGZvciBhIHJhbmdlKSAqLwor ICAgIGludCAgICAgICAgIGZwX3BlcmlvZEVuZEF0dG5vOyAgICAgIC8qIHRoZSBhdHRubyBvZiB0 aGUgUEVSSU9EIGVuZCBjb2x1bW4gKG9yIDAgZm9yIGEgcmFuZ2UpICovCiAgICAgRGF0dW0gICAg ICAgZnBfdGFyZ2V0UmFuZ2U7IC8qIHRoZSByYW5nZS9tdWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJ T04gT0YgKi8KICAgICBUeXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92ZXJzdHlwY2FjaGU7ICAgLyog dHlwZSBjYWNoZSBlbnRyeSBvZiB0aGUgcmFuZ2UgKi8KIH0gRm9yUG9ydGlvbk9mU3RhdGU7CiA8 L3Byb2dyYW1saXN0aW5nPgogCi0gICAgICAgd2hlcmUgPHN0cnVjdGZpZWxkPmZwX3JhbmdlTmFt ZTwvc3RydWN0ZmllbGQ+IGlzIHRoZSByYW5nZQorICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5m cF9yYW5nZU5hbWU8L3N0cnVjdGZpZWxkPiBpcyB0aGUgcGVyaW9kIG9yIHJhbmdlCiAgICAgICAg Y29sdW1uIG5hbWVkIGluIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xh dXNlLAogICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZVR5cGU8L3N0cnVjdGZpZWxkPiBpcyBp dHMgcmFuZ2UgdHlwZSwKICAgICAgICA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VBdHRubzwvc3RydWN0 ZmllbGQ+IGlzIGl0cyBhdHRyaWJ1dGUgbnVtYmVyLAorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9w ZXJpb2RTdGFydEF0dG5vPC9zdHJ1Y3RmaWVsZD4gYW5kCisgICAgICAgPHN0cnVjdGZpZWxkPmZw X3BlcmlvZEVuZEF0dG5vPC9zdHJ1Y3RmaWVsZD4gYXJlIHRoZSBhdHRub3Mgb2YgdGhlIHBlcmlv ZCdzCisgICAgICAgc3RhcnQgYW5kIGVuZCBjb2x1bW5zIChvciA8c3ltYm9sPjA8L3N5bWJvbD4g aWYgYSByYW5nZSBjb2x1bW4gd2FzIHVzZWQpLAogICAgICAgIGFuZCA8c3RydWN0ZmllbGQ+ZnBf dGFyZ2V0UmFuZ2U8L3N0cnVjdGZpZWxkPiBpcyBhIHJhbmdldHlwZSB2YWx1ZSBjcmVhdGVkCiAg ICAgICAgYnkgZXZhbHVhdGluZyB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+ IGJvdW5kcy4KICAgICAgICA8L3BhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZQppbmRleCA4ZTQwZTFiODE4 OS4uMDkyYWEwOTE3NzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZQpAQCAtMzksNiArMzksNyBAQCBPQkpT ID0gXAogCXBnX25hbWVzcGFjZS5vIFwKIAlwZ19vcGVyYXRvci5vIFwKIAlwZ19wYXJhbWV0ZXJf YWNsLm8gXAorCXBnX3BlcmlvZC5vIFwKIAlwZ19wcm9jLm8gXAogCXBnX3B1YmxpY2F0aW9uLm8g XAogCXBnX3JhbmdlLm8gXApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsu YyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMKaW5kZXggY2I0OTZlMDE4YzUuLjU4YmEx MGE5ODIwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMKQEAgLTI3NzQsNiArMjc3NCw3IEBAIGFjbGNoZWNr X2Vycm9yKEFjbFJlc3VsdCBhY2xlcnIsIE9iamVjdFR5cGUgb2JqdHlwZSwKIAkJCQkJY2FzZSBP QkpFQ1RfREVGQVVMVDoKIAkJCQkJY2FzZSBPQkpFQ1RfREVGQUNMOgogCQkJCQljYXNlIE9CSkVD VF9ET01DT05TVFJBSU5UOgorCQkJCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCQkJCWNhc2UgT0JK RUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJCQkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05f UkVMOgogCQkJCQljYXNlIE9CSkVDVF9ST0xFOgpAQCAtMjkxNSw2ICsyOTE2LDcgQEAgYWNsY2hl Y2tfZXJyb3IoQWNsUmVzdWx0IGFjbGVyciwgT2JqZWN0VHlwZSBvYmp0eXBlLAogCQkJCQljYXNl IE9CSkVDVF9ERUZBQ0w6CiAJCQkJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCQkJCWNh c2UgT0JKRUNUX1BBUkFNRVRFUl9BQ0w6CisJCQkJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJCQkJ Y2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFNRVNQQUNFOgogCQkJCQljYXNlIE9CSkVDVF9QVUJM SUNBVElPTl9SRUw6CiAJCQkJCWNhc2UgT0JKRUNUX1JPTEU6CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jYXRhbG9nL2RlcGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5j eS5jCmluZGV4IDhlNzBhODVhM2Y3Li5jMGZjOTViMGQ2OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRl bmN5LmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf cGFyYW1ldGVyX2FjbC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19wb2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgiCkBAIC02MjMsNiArNjI0LDE0IEBAIGZp bmREZXBlbmRlbnRPYmplY3RzKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwKIAkJCQkJCXJl dHVybjsKIAkJCQkJfQogCisJCQkJCS8qCisJCQkJCSAqIElmIGEgdGFibGUgYXR0cmlidXRlIGlz IGFuIGludGVybmFsIHBhcnQgb2Ygc29tZXRoaW5nCisJCQkJCSAqIGVsc2UgKGUuZy4gdGhlIEdF TkVSQVRFRCBjb2x1bW4gdXNlZCBieSBhIFBFUklPRCksIGFuZAorCQkJCQkgKiB3ZSBhcmUgZGVs ZXRpbmcgdGhlIHdob2xlIHRhYmxlLCB0aGVuIGl0J3Mgb2theS4KKwkJCQkJICovCisJCQkJCWlm IChmb3VuZERlcC0+b2Jqc3ViaWQgJiYgIW9iamVjdC0+b2JqZWN0U3ViSWQpCisJCQkJCQlicmVh azsKKwogCQkJCQkvKgogCQkJCQkgKiBXZSBwb3N0cG9uZSBhY3R1YWxseSBpc3N1aW5nIHRoZSBl cnJvciBtZXNzYWdlIHVudGlsCiAJCQkJCSAqIGFmdGVyIHRoaXMgbG9vcCwgc28gdGhhdCB3ZSBj YW4gbWFrZSB0aGUgYmVoYXZpb3IKQEAgLTE0MDEsNiArMTQxMCwxMCBAQCBkb0RlbGV0aW9uKGNv bnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgaW50IGZsYWdzKQogCQkJUmVtb3ZlQXR0ckRlZmF1 bHRCeUlkKG9iamVjdC0+b2JqZWN0SWQpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBQZXJpb2RSZWxh dGlvbklkOgorCQkJUmVtb3ZlUGVyaW9kQnlJZChvYmplY3QtPm9iamVjdElkKTsKKwkJCWJyZWFr OworCiAJCWNhc2UgTGFyZ2VPYmplY3RSZWxhdGlvbklkOgogCQkJTGFyZ2VPYmplY3REcm9wKG9i amVjdC0+b2JqZWN0SWQpOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCmluZGV4IGZkNjUzNzU2N2Vh Li45OWNkYTgwOWQwMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKKysr IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRl ICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcGFydGl0aW9uZWRfdGFibGUuaCIKKyNpbmNsdWRlICJj YXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljLmgiCiAj aW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ190YWJsZXNwYWNlLmgiCkBAIC0yMTM1LDYgKzIxMzYsODAgQEAgU2V0QXR0ck1pc3Npbmco T2lkIHJlbGlkLCBjaGFyICphdHRuYW1lLCBjaGFyICp2YWx1ZSkKIAl0YWJsZV9jbG9zZSh0YWJs ZXJlbCwgQWNjZXNzRXhjbHVzaXZlTG9jayk7CiB9CiAKKy8qCisgKiBTdG9yZSBhIHBlcmlvZCBv ZiByZWxhdGlvbiByZWwuCisgKgorICogUmV0dXJucyB0aGUgT0lEIG9mIHRoZSBuZXcgcGdfcGVy aW9kIHR1cGxlLgorICovCitPaWQKK1N0b3JlUGVyaW9kKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hh ciAqcGVyaW9kbmFtZSwgQXR0ck51bWJlciBzdGFydG51bSwKKwkJCUF0dHJOdW1iZXIgZW5kbnVt LCBBdHRyTnVtYmVyIHJhbmdlbnVtLCBPaWQgY29ub2lkKQoreworCURhdHVtCQl2YWx1ZXNbTmF0 dHNfcGdfcGVyaW9kXTsKKwlib29sCQludWxsc1tOYXR0c19wZ19wZXJpb2RdOworCVJlbGF0aW9u CXBnX3BlcmlvZDsKKwlIZWFwVHVwbGUJdHVwbGU7CisJT2lkCQkJb2lkOworCU5hbWVEYXRhCXBl cm5hbWU7CisJT2JqZWN0QWRkcmVzcyBteXNlbGYsCisJCQkJcmVmZXJlbmNlZDsKKworCUFzc2Vy dChyYW5nZW51bSAhPSBJbnZhbGlkQXR0ck51bWJlcik7CisKKwluYW1lc3RyY3B5KCZwZXJuYW1l LCBwZXJpb2RuYW1lKTsKKworCU1lbVNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1ZXMpKTsKKwlN ZW1TZXQobnVsbHMsIGZhbHNlLCBzaXplb2YobnVsbHMpKTsKKworCXBnX3BlcmlvZCA9IHRhYmxl X29wZW4oUGVyaW9kUmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlvaWQgPSBHZXRO ZXdPaWRXaXRoSW5kZXgocGdfcGVyaW9kLCBBdHRyRGVmYXVsdE9pZEluZGV4SWQsIEFudW1fcGdf cGVyaW9kX29pZCk7CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX29pZCAtIDFdID0gT2JqZWN0SWRH ZXREYXR1bShvaWQpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJuYW1lIC0gMV0gPSBOYW1l R2V0RGF0dW0oJnBlcm5hbWUpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCAtIDFd ID0gUmVsYXRpb25HZXRSZWxpZChyZWwpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJzdGFy dCAtIDFdID0gc3RhcnRudW07CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX3BlcmVuZCAtIDFdID0g ZW5kbnVtOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJyYW5nZSAtIDFdID0gcmFuZ2VudW07 CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX3BlcmNvbnN0cmFpbnQgLSAxXSA9IGNvbm9pZDsKKwor CXR1cGxlID0gaGVhcF9mb3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVzY3IocGdfcGVyaW9kKSwgdmFs dWVzLCBudWxscyk7CisJQ2F0YWxvZ1R1cGxlSW5zZXJ0KHBnX3BlcmlvZCwgdHVwbGUpOworCisJ T2JqZWN0QWRkcmVzc1NldChteXNlbGYsIFBlcmlvZFJlbGF0aW9uSWQsIG9pZCk7CisKKwkvKiBE cm9wIHRoZSBwZXJpb2Qgd2hlbiB0aGUgdGFibGUgaXMgZHJvcHBlZC4gKi8KKwlPYmplY3RBZGRy ZXNzU2V0KHJlZmVyZW5jZWQsIFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25HZXRSZWxpZChy ZWwpKTsKKwlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVO Q1lfQVVUTyk7CisKKwkvKiBGb3JiaWQgZHJvcHBpbmcgdGhlIGNvbHVtbnMgb2YgdGhlIHBlcmlv ZC4gKi8KKwlPYmplY3RBZGRyZXNzU3ViU2V0KHJlZmVyZW5jZWQsIFJlbGF0aW9uUmVsYXRpb25J ZCwgUmVsYXRpb25HZXRSZWxpZChyZWwpLCBzdGFydG51bSk7CisJcmVjb3JkRGVwZW5kZW5jeU9u KCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CisJT2JqZWN0QWRkcmVz c1N1YlNldChyZWZlcmVuY2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQo cmVsKSwgZW5kbnVtKTsKKwlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQs IERFUEVOREVOQ1lfTk9STUFMKTsKKworCS8qCisJICogVGhlIHJhbmdlIGNvbHVtbiBpcyBhbiBp bXBsZW1lbnRhdGlvbiBkZXRhaWwsIGJ1dCB3ZSBjYW4ndCB1c2UKKwkgKiBERVBFTkRFTkNZX0lO VEVSTkFMIGJlY2F1c2UgZHJvcHBpbmcgdGhlIHRhYmxlIHdpbGwgY2hlY2sgZm9yCisJICogZGVw ZW5kZW5jaWVzIG9uIGFsbCBzdWJvYmplY3RzIHRvbyAoaW4gZmluZERlcGVuZGVudE9iamVjdHMp LiBCdXQgaWYgd2UKKwkgKiBtYWtlIGFuIEFVVE8gZGVwZW5kZW5jeSBvbmUgd2F5IHdlIHdpbGwg YXV0by1kcm9wIHRoZSBjb2x1bW4gd2hlbiB3ZQorCSAqIGRyb3AgdGhlIFBFUklPRCwgYW5kIGEg Tk9STUFMIGRlcGVuZGVuY3kgdGhlIG90aGVyIHdheSB3ZSB3aWxsIGZvcmJpZAorCSAqIGRyb3Bw aW5nIHRoZSBjb2x1bW4gZGlyZWN0bHkuCisJICovCisJT2JqZWN0QWRkcmVzc1N1YlNldChyZWZl cmVuY2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcmFuZ2Vu dW0pOworCXJlY29yZERlcGVuZGVuY3lPbigmcmVmZXJlbmNlZCwgJm15c2VsZiwgREVQRU5ERU5D WV9JTlRFUk5BTCk7CisKKwkvKgorCSAqIFRoZSBjb25zdHJhaW50IGlzIGFuIGltcGxlbWVudGF0 aW9uIGRldGFpbCwgc28gd2UgbWFyayBpdCBhcyBzdWNoLgorCSAqIChOb3RlIHRoYXQgbXlzZWxm IGFuZCByZWZlcmVuY2VkIGFyZSByZXZlcnNlZCBmb3IgdGhpcyBvbmUuKQorCSAqLworCU9iamVj dEFkZHJlc3NTZXQocmVmZXJlbmNlZCwgQ29uc3RyYWludFJlbGF0aW9uSWQsIGNvbm9pZCk7CisJ cmVjb3JkRGVwZW5kZW5jeU9uKCZyZWZlcmVuY2VkLCAmbXlzZWxmLCBERVBFTkRFTkNZX0lOVEVS TkFMKTsKKworCXRhYmxlX2Nsb3NlKHBnX3BlcmlvZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwly ZXR1cm4gb2lkOworfQorCiAvKgogICogU3RvcmUgYSBjaGVjay1jb25zdHJhaW50IGV4cHJlc3Np b24gZm9yIHRoZSBnaXZlbiByZWxhdGlvbi4KICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j YXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9y bWF0aW9uX3NjaGVtYS5zcWwKaW5kZXggYTdiZmZjYTkzZDEuLjI4MmVhZDZlZDRjIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwKKysrIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsCkBAIC0xMjA3LDcgKzEyMDcs MjggQEAgR1JBTlQgU0VMRUNUIE9OIHBhcmFtZXRlcnMgVE8gUFVCTElDOwogICogUEVSSU9EUyB2 aWV3CiAgKi8KIAotLS0gZmVhdHVyZSBub3Qgc3VwcG9ydGVkCitDUkVBVEUgVklFVyBwZXJpb2Rz IEFTCisgICAgU0VMRUNUIGN1cnJlbnRfZGF0YWJhc2UoKTo6aW5mb3JtYXRpb25fc2NoZW1hLnNx bF9pZGVudGlmaWVyIEFTIHRhYmxlX2NhdGFsb2csCisgICAgICAgICAgIG5jLm5zcG5hbWU6Omlu Zm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRlbnRpZmllciBBUyB0YWJsZV9zY2hlbWEsCisgICAgICAg ICAgIGMucmVsbmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFTIHRhYmxl X25hbWUsCisgICAgICAgICAgIHAucGVybmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVu dGlmaWVyIEFTIHBlcmlvZF9uYW1lLAorICAgICAgICAgICBDQVNFIFdIRU4gcGdfaGFzX3JvbGUo Yy5yZWxvd25lciwgJ1VTQUdFJykKKyAgICAgICAgICAgICAgICAgIE9SIGhhc19jb2x1bW5fcHJp dmlsZWdlKHNhLmF0dHJlbGlkLCBzYS5hdHRudW0sICdTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBS RUZFUkVOQ0VTJykKKyAgICAgICAgICAgICAgICBUSEVOIHNhLmF0dG5hbWU6OmluZm9ybWF0aW9u X3NjaGVtYS5zcWxfaWRlbnRpZmllcgorICAgICAgICAgICBFTkQgQVMgc3RhcnRfY29sdW1uX25h bWUsCisgICAgICAgICAgIENBU0UgV0hFTiBwZ19oYXNfcm9sZShjLnJlbG93bmVyLCAnVVNBR0Un KQorICAgICAgICAgICAgICAgICAgT1IgaGFzX2NvbHVtbl9wcml2aWxlZ2UoZWEuYXR0cmVsaWQs IGVhLmF0dG51bSwgJ1NFTEVDVCwgSU5TRVJULCBVUERBVEUsIFJFRkVSRU5DRVMnKQorICAgICAg ICAgICAgICAgIFRIRU4gZWEuYXR0bmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlm aWVyCisgICAgICAgICAgIEVORCBBUyBlbmRfY29sdW1uX25hbWUKKyAgICBGUk9NIHBnX3Blcmlv ZCBBUyBwCisgICAgSk9JTiBwZ19jbGFzcyBBUyBjIE9OIGMub2lkID0gcC5wZXJyZWxpZAorICAg IEpPSU4gcGdfbmFtZXNwYWNlIEFTIG5jIE9OIG5jLm9pZCA9IGMucmVsbmFtZXNwYWNlCisgICAg Sk9JTiBwZ19hdHRyaWJ1dGUgQVMgc2EgT04gKHNhLmF0dHJlbGlkLCBzYS5hdHRudW0pID0gKHAu cGVycmVsaWQsIHAucGVyc3RhcnQpCisgICAgSk9JTiBwZ19hdHRyaWJ1dGUgQVMgZWEgT04gKGVh LmF0dHJlbGlkLCBlYS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAucGVyZW5kKQorICAgIFdIRVJF IE5PVCBwZ19pc19vdGhlcl90ZW1wX3NjaGVtYShuYy5vaWQpCisgICAgICBBTkQgYy5yZWxraW5k IElOICgncicsICd2Jyk7CisKK0dSQU5UIFNFTEVDVCBPTiBwZXJpb2RzIFRPIFBVQkxJQzsKIAog CiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWlsZCBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvbWVzb24uYnVpbGQKaW5kZXggNTg2NzRmZmVlZTYuLmQwOTUzMzM2Mzkw IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvbWVzb24uYnVpbGQKQEAgLTI2LDYgKzI2LDcgQEAgYmFja2VuZF9zb3Vy Y2VzICs9IGZpbGVzKAogICAncGdfbmFtZXNwYWNlLmMnLAogICAncGdfb3BlcmF0b3IuYycsCiAg ICdwZ19wYXJhbWV0ZXJfYWNsLmMnLAorICAncGdfcGVyaW9kLmMnLAogICAncGdfcHJvYy5jJywK ICAgJ3BnX3B1YmxpY2F0aW9uLmMnLAogICAncGdfcmFuZ2UuYycsCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2Jq ZWN0YWRkcmVzcy5jCmluZGV4IGM3NWI3MTMxZWQ3Li5lMmIwOTllMjM2MCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9vYmplY3RhZGRyZXNzLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1 ZGUgImNhdGFsb2cvcGdfcGFyYW1ldGVyX2FjbC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVy aW9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wb2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgiCkBAIC03MjYs NiArNzI3LDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfdHlwZV9tYXAKIAl7CiAJCSJk b21haW4gY29uc3RyYWludCIsIE9CSkVDVF9ET01DT05TVFJBSU5UCiAJfSwKKwl7CisJCSJwZXJp b2QiLCBPQkpFQ1RfUEVSSU9ECisJfSwKIAl7CiAJCSJjb252ZXJzaW9uIiwgT0JKRUNUX0NPTlZF UlNJT04KIAl9LApAQCAtOTcwLDYgKzk3NCw3IEBAIGdldF9vYmplY3RfYWRkcmVzcyhPYmplY3RU eXBlIG9ianR5cGUsIE5vZGUgKm9iamVjdCwKIAkJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCQlj YXNlIE9CSkVDVF9UQUJDT05TVFJBSU5UOgogCQkJY2FzZSBPQkpFQ1RfUE9MSUNZOgorCQkJY2Fz ZSBPQkpFQ1RfUEVSSU9EOgogCQkJCWFkZHJlc3MgPSBnZXRfb2JqZWN0X2FkZHJlc3NfcmVsb2Jq ZWN0KG9ianR5cGUsIGNhc3ROb2RlKExpc3QsIG9iamVjdCksCiAJCQkJCQkJCQkJCQkJICAgJnJl bGF0aW9uLCBtaXNzaW5nX29rKTsKIAkJCQlicmVhazsKQEAgLTE0NzIsNiArMTQ3NywxMyBAQCBn ZXRfb2JqZWN0X2FkZHJlc3NfcmVsb2JqZWN0KE9iamVjdFR5cGUgb2JqdHlwZSwgTGlzdCAqb2Jq ZWN0LAogCQkJCUludmFsaWRPaWQ7CiAJCQlhZGRyZXNzLm9iamVjdFN1YklkID0gMDsKIAkJCWJy ZWFrOworCQljYXNlIE9CSkVDVF9QRVJJT0Q6CisJCQlhZGRyZXNzLmNsYXNzSWQgPSBQZXJpb2RS ZWxhdGlvbklkOworCQkJYWRkcmVzcy5vYmplY3RJZCA9IHJlbGF0aW9uID8KKwkJCQlnZXRfcmVs YXRpb25fcGVyaW9kX29pZChyZWxvaWQsIGRlcG5hbWUsIG1pc3Npbmdfb2spIDoKKwkJCQlJbnZh bGlkT2lkOworCQkJYWRkcmVzcy5vYmplY3RTdWJJZCA9IDA7CisJCQlicmVhazsKIAkJZGVmYXVs dDoKIAkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgb2JqZWN0IHR5cGU6ICVkIiwgKGludCkg b2JqdHlwZSk7CiAJfQpAQCAtMjI5Myw2ICsyMzA1LDcgQEAgcGdfZ2V0X29iamVjdF9hZGRyZXNz KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCWNhc2UgT0JKRUNUX1JVTEU6CiAJCWNhc2UgT0JKRUNUX1RS SUdHRVI6CiAJCWNhc2UgT0JKRUNUX1RBQkNPTlNUUkFJTlQ6CisJCWNhc2UgT0JKRUNUX1BFUklP RDoKIAkJY2FzZSBPQkpFQ1RfT1BDTEFTUzoKIAkJY2FzZSBPQkpFQ1RfT1BGQU1JTFk6CiAJCQlv Ympub2RlID0gKE5vZGUgKikgbmFtZTsKQEAgLTI0MDMsNiArMjQxNiw3IEBAIGNoZWNrX29iamVj dF9vd25lcnNoaXAoT2lkIHJvbGVpZCwgT2JqZWN0VHlwZSBvYmp0eXBlLCBPYmplY3RBZGRyZXNz IGFkZHJlc3MsCiAJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToK IAkJY2FzZSBPQkpFQ1RfVEFCQ09OU1RSQUlOVDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgogCQkJ aWYgKCFvYmplY3Rfb3duZXJjaGVjayhSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVs aWQocmVsYXRpb24pLCByb2xlaWQpKQogCQkJCWFjbGNoZWNrX2Vycm9yKEFDTENIRUNLX05PVF9P V05FUiwgb2JqdHlwZSwKIAkJCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWxhdGlv bikpOwpAQCAtMzA3Niw2ICszMDkwLDM4IEBAIGdldE9iamVjdERlc2NyaXB0aW9uKGNvbnN0IE9i amVjdEFkZHJlc3MgKm9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJCWJyZWFrOwogCQkJfQog CisJCWNhc2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOwor CQkJCUZvcm1fcGdfcGVyaW9kIHBlcjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQ RVJJT0RPSUQsCisJCQkJCQkJCQkJIE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkp OworCQkJCWlmICghSGVhcFR1cGxlSXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAi Y2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVj dElkKTsKKwkJCQlwZXIgPSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJ CQkJaWYgKE9pZElzVmFsaWQocGVyLT5wZXJyZWxpZCkpCisJCQkJeworCQkJCQlTdHJpbmdJbmZv RGF0YSByZWw7CisKKwkJCQkJaW5pdFN0cmluZ0luZm8oJnJlbCk7CisJCQkJCWdldFJlbGF0aW9u RGVzY3JpcHRpb24oJnJlbCwgcGVyLT5wZXJyZWxpZCwgZmFsc2UpOworCQkJCQlhcHBlbmRTdHJp bmdJbmZvKCZidWZmZXIsIF8oInBlcmlvZCAlcyBvbiAlcyIpLAorCQkJCQkJCQkJIE5hbWVTdHIo cGVyLT5wZXJuYW1lKSwgcmVsLmRhdGEpOworCQkJCQlwZnJlZShyZWwuZGF0YSk7CisJCQkJfQor CQkJCWVsc2UKKwkJCQl7CisJCQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwgXygicGVyaW9k ICVzIiksCisJCQkJCQkJCQkgTmFtZVN0cihwZXItPnBlcm5hbWUpKTsKKwkJCQl9CisKKwkJCQlS ZWxlYXNlU3lzQ2FjaGUocGVyVHVwKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQljYXNlIENvbnZl cnNpb25SZWxhdGlvbklkOgogCQkJewogCQkJCUhlYXBUdXBsZQljb25UdXA7CkBAIC00NTI5LDYg KzQ1NzUsMTAgQEAgZ2V0T2JqZWN0VHlwZURlc2NyaXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3Mg Km9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJCQkJCQkJCSBtaXNzaW5nX29rKTsKIAkJCWJy ZWFrOwogCisJCWNhc2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJp bmcoJmJ1ZmZlciwgInBlcmlvZCIpOworCQkJYnJlYWs7CisKIAkJY2FzZSBDb252ZXJzaW9uUmVs YXRpb25JZDoKIAkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmJ1ZmZlciwgImNvbnZlcnNpb24i KTsKIAkJCWJyZWFrOwpAQCAtNTAzNCw2ICs1MDg0LDI4IEBAIGdldE9iamVjdElkZW50aXR5UGFy dHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCQkJCWJyZWFrOwogCQkJfQogCisJCWNh c2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOworCQkJCUZv cm1fcGdfcGVyaW9kIHBlcjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQRVJJT0RP SUQsCisJCQkJCQkJCQkJIE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJ CWlmICghSGVhcFR1cGxlSXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUg bG9va3VwIGZhaWxlZCBmb3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsK KwkJCQlwZXIgPSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJCQkJYXBw ZW5kU3RyaW5nSW5mbygmYnVmZmVyLCAiJXMgb24gIiwKKwkJCQkJCQkJIHF1b3RlX2lkZW50aWZp ZXIoTmFtZVN0cihwZXItPnBlcm5hbWUpKSk7CisJCQkJZ2V0UmVsYXRpb25JZGVudGl0eSgmYnVm ZmVyLCBwZXItPnBlcnJlbGlkLCBvYmpuYW1lLCBmYWxzZSk7CisJCQkJaWYgKG9iam5hbWUpCisJ CQkJCSpvYmpuYW1lID0gbGFwcGVuZCgqb2JqbmFtZSwgcHN0cmR1cChOYW1lU3RyKHBlci0+cGVy bmFtZSkpKTsKKworCQkJCVJlbGVhc2VTeXNDYWNoZShwZXJUdXApOworCQkJCWJyZWFrOworCQkJ fQorCiAJCWNhc2UgQ29udmVyc2lvblJlbGF0aW9uSWQ6CiAJCQl7CiAJCQkJSGVhcFR1cGxlCWNv blR1cDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMKaW5kZXggMDVjYWQ3ZmFkZGUuLjJk YzA5ZDc3YjhmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQu YworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwpAQCAtODEyLDkgKzgx MiwxNCBAQCBBZGp1c3ROb3ROdWxsSW5oZXJpdGFuY2UoT2lkIHJlbGlkLCBBdHRyTnVtYmVyIGF0 dG51bSwKICAqIFRoaXMgaXMgc2VsZG9tIG5lZWRlZCwgc28gd2UganVzdCBzY2FuIHBnX2NvbnN0 cmFpbnQgZWFjaCB0aW1lLgogICoKICAqICdpbmNsdWRlX25vaW5oJyBkZXRlcm1pbmVzIHdoZXRo ZXIgdG8gaW5jbHVkZSBOTyBJTkhFUklUIGNvbnN0cmFpbnRzIG9yIG5vdC4KKyAqCisgKiAnZXhj bHVkZXMnIGNvbnRhaW5zIGEgbGlzdCBvZiBhdHRub3Mgd2hvc2UgY29uc3RyYWludHMgd2Ugc2hv dWxkIGV4Y2x1ZGUsCisgKiBmb3IgZXhhbXBsZSBjb25zdHJhaW50cyBvbiBQRVJJT0RzJyBoaWRk ZW4gR0VORVJBVEVEIGNvbHVtbnMgKHNpbmNlIHRob3NlCisgKiBhcmVuJ3QgZXhwb3NlZCB0byB1 c2VycykuCiAgKi8KIExpc3QgKgotUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lkIHJl bGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oKQorUmVsYXRpb25HZXROb3ROdWxs Q29uc3RyYWludHMoT2lkIHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oLAor CQkJCQkJCSAgQml0bWFwc2V0ICpleGNsdWRlcykKIHsKIAlMaXN0CSAgICpub3RudWxscyA9IE5J TDsKIAlSZWxhdGlvbgljb25zdHJSZWw7CkBAIC04NDIsNiArODQ3LDkgQEAgUmVsYXRpb25HZXRO b3ROdWxsQ29uc3RyYWludHMoT2lkIHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25v aW5oKQogCiAJCWNvbG51bSA9IGV4dHJhY3ROb3ROdWxsQ29sdW1uKGh0dXApOwogCisJCWlmIChi bXNfaXNfbWVtYmVyKGNvbG51bSwgZXhjbHVkZXMpKQorCQkJY29udGludWU7CisKIAkJaWYgKGNv b2tlZCkKIAkJewogCQkJQ29va2VkQ29uc3RyYWludCAqY29va2VkOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcGVy aW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI0YjE5Mzg1MzJi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYwpAQCAt MCwwICsxLDEzMiBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogcGdfcGVyaW9kLmMKKyAq CSAgcm91dGluZXMgdG8gc3VwcG9ydCBtYW5pcHVsYXRpb24gb2YgdGhlIHBnX3BlcmlvZCByZWxh dGlvbgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIxLCBQb3N0Z3JlU1FM IEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJ ICBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3BlcmlvZC5jCisgKgorICotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgi CisjaW5jbHVkZSAiYWNjZXNzL2hlYXBhbS5oIgorI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFp bHMuaCIKKyNpbmNsdWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9w Z19wZXJpb2QuaCIKKyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgorI2luY2x1ZGUgInV0aWxz L2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL3N5 c2NhY2hlLmgiCisKKworLyoKKyAqIERlbGV0ZSBhIHNpbmdsZSBwZXJpb2QgcmVjb3JkLgorICov Cit2b2lkCitSZW1vdmVQZXJpb2RCeUlkKE9pZCBwZXJpb2RJZCkKK3sKKwlSZWxhdGlvbglwZ19w ZXJpb2Q7CisJSGVhcFR1cGxlCXR1cDsKKworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9k UmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwl0dXAgPSBTZWFyY2hTeXNDYWNoZTEo UEVSSU9ET0lELCBPYmplY3RJZEdldERhdHVtKHBlcmlvZElkKSk7CisJaWYgKCFIZWFwVHVwbGVJ c1ZhbGlkKHR1cCkpIC8qIHNob3VsZCBub3QgaGFwcGVuICovCisJCWVsb2coRVJST1IsICJjYWNo ZSBsb29rdXAgZmFpbGVkIGZvciBwZXJpb2QgJXUiLCBwZXJpb2RJZCk7CisKKwkvKiBGcnkgdGhl IHBlcmlvZCBpdHNlbGYgKi8KKwlDYXRhbG9nVHVwbGVEZWxldGUocGdfcGVyaW9kLCAmdHVwLT50 X3NlbGYpOworCisJLyogQ2xlYW4gdXAgKi8KKwlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKKwl0YWJs ZV9jbG9zZShwZ19wZXJpb2QsIFJvd0V4Y2x1c2l2ZUxvY2spOworfQorCisvKgorICogZ2V0X3Jl bGF0aW9uX3BlcmlvZF9vaWQKKyAqCQlGaW5kIGEgcGVyaW9kIG9uIHRoZSBzcGVjaWZpZWQgcmVs YXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuCisgKgkJUmV0dXJucyBwZXJpb2QncyBPSUQu CisgKi8KK09pZAorZ2V0X3JlbGF0aW9uX3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFy ICpwZXJuYW1lLCBib29sIG1pc3Npbmdfb2spCit7CisJUmVsYXRpb24JcGdfcGVyaW9kOworCUhl YXBUdXBsZQl0dXBsZTsKKwlTeXNTY2FuRGVzYyBzY2FuOworCVNjYW5LZXlEYXRhIHNrZXlbMl07 CisJT2lkCQkJcGVyT2lkID0gSW52YWxpZE9pZDsKKworCS8qIEZldGNoIHRoZSBwZXJpb2QgdHVw bGUgZnJvbSBwZ19wZXJpb2QuICovCisJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RSZWxh dGlvbklkLCBBY2Nlc3NTaGFyZUxvY2spOworCisJU2NhbktleUluaXQoJnNrZXlbMF0sCisJCQkJ QW51bV9wZ19wZXJpb2RfcGVycmVsaWQsCisJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09J REVRLAorCQkJCU9iamVjdElkR2V0RGF0dW0ocmVsaWQpKTsKKwlTY2FuS2V5SW5pdCgmc2tleVsx XSwKKwkJCQlBbnVtX3BnX3BlcmlvZF9wZXJuYW1lLAorCQkJCUJURXF1YWxTdHJhdGVneU51bWJl ciwgRl9OQU1FRVEsCisJCQkJQ1N0cmluZ0dldERhdHVtKHBlcm5hbWUpKTsKKworCXNjYW4gPSBz eXN0YWJsZV9iZWdpbnNjYW4ocGdfcGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVl LAorCQkJCQkJCSAgTlVMTCwgMiwgc2tleSk7CisKKwkvKiBUaGVyZSBjYW4gYmUgYXQgbW9zdCBv bmUgbWF0Y2hpbmcgcm93ICovCisJaWYgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJs ZV9nZXRuZXh0KHNjYW4pKSkKKwkJcGVyT2lkID0gKChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNU KHR1cGxlKSktPm9pZDsKKworCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisKKwkvKiBJZiBubyBz dWNoIHBlcmlvZCBleGlzdHMsIGNvbXBsYWluICovCisJaWYgKCFPaWRJc1ZhbGlkKHBlck9pZCkg JiYgIW1pc3Npbmdfb2spCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfT0JKRUNUKSwKKwkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIGZvciB0YWJsZSBc IiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJcGVybmFtZSwgZ2V0X3JlbF9uYW1lKHJlbGlk KSkpKTsKKworCXRhYmxlX2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJl dHVybiBwZXJPaWQ7Cit9CisKKy8qCisgKiBnZXRfcGVyaW9kX2F0dG5vcworICoJCUdldCB0aGUg YXR0bm8gb2YgdGhlIEdFTkVSQVRFRCByYW5nZXR5cGUgY29sdW1uCisgKgkJZm9yIGFsbCBQRVJJ T0RzIGluIHRoaXMgdGFibGUuCisgKi8KK2V4dGVybiBCaXRtYXBzZXQgKgorZ2V0X3BlcmlvZF9h dHRub3MoT2lkIHJlbGlkKQoreworCUJpdG1hcHNldCAgKmF0dG5vcyA9IE5VTEw7CisJUmVsYXRp b24JcGdfcGVyaW9kOworCUhlYXBUdXBsZQl0dXBsZTsKKwlTeXNTY2FuRGVzYyBzY2FuOworCVNj YW5LZXlEYXRhIHNrZXlbMV07CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0 aW9uSWQsIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlTY2FuS2V5SW5pdCgmc2tleVswXSwKKwkJCQlB bnVtX3BnX3BlcmlvZF9wZXJyZWxpZCwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfT0lE RVEsCisJCQkJT2JqZWN0SWRHZXREYXR1bShyZWxpZCkpOworCisJc2NhbiA9IHN5c3RhYmxlX2Jl Z2luc2NhbihwZ19wZXJpb2QsIFBlcmlvZFJlbGlkTmFtZUluZGV4SWQsIHRydWUsCisJCQkJCQkJ ICBOVUxMLCAxLCBza2V5KTsKKworCXdoaWxlIChIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lz dGFibGVfZ2V0bmV4dChzY2FuKSkpCisJeworCQlGb3JtX3BnX3BlcmlvZCBwZXJpb2QgPSAoRm9y bV9wZ19wZXJpb2QpIEdFVFNUUlVDVCh0dXBsZSk7CisKKwkJYXR0bm9zID0gYm1zX2FkZF9tZW1i ZXIoYXR0bm9zLCBwZXJpb2QtPnBlcnJhbmdlKTsKKwl9CisKKwlzeXN0YWJsZV9lbmRzY2FuKHNj YW4pOworCXRhYmxlX2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVy biBhdHRub3M7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJl cy50eHQgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKaW5kZXggM2E4YWQy MDE2MDcuLjAxNmI2N2JjZjFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9m ZWF0dXJlcy50eHQKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0CkBA IC00NDgsNyArNDQ4LDcgQEAgVDE3NglTZXF1ZW5jZSBnZW5lcmF0b3Igc3VwcG9ydAkJCU5PCXN1 cHBvcnRlZCBleGNlcHQgZm9yIE5FWFQgVkFMVUUgRk9SCiBUMTc3CVNlcXVlbmNlIGdlbmVyYXRv ciBzdXBwb3J0OiBzaW1wbGUgcmVzdGFydCBvcHRpb24JCQlZRVMJCiBUMTc4CUlkZW50aXR5IGNv bHVtbnM6IHNpbXBsZSByZXN0YXJ0IG9wdGlvbgkJCVlFUwkKIFQxODAJU3lzdGVtLXZlcnNpb25l ZCB0YWJsZXMJCQlOTwkKLVQxODEJQXBwbGljYXRpb24tdGltZSBwZXJpb2QgdGFibGVzCQkJTk8J CitUMTgxCUFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kIHRhYmxlcwkJCVlFUwkKIFQxOTEJUmVmZXJl bnRpYWwgYWN0aW9uIFJFU1RSSUNUCQkJWUVTCQogVDIwMAlUcmlnZ2VyIERETAkJCU5PCXNpbWls YXIgYnV0IG5vdCBmdWxseSBjb21wYXRpYmxlCiBUMjAxCUNvbXBhcmFibGUgZGF0YSB0eXBlcyBm b3IgcmVmZXJlbnRpYWwgY29uc3RyYWludHMJCQlZRVMJCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9jb21tZW50LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMKaW5k ZXggNWM3ODNjYzYxZjEuLjM2MzA2YzYxOGIyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy9jb21tZW50LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29tbWVudC5jCkBAIC0x MDIsNiArMTAyLDE2IEBAIENvbW1lbnRPYmplY3QoQ29tbWVudFN0bXQgKnN0bXQpCiAJCQkJCQkJ CVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbGF0aW9uKSksCiAJCQkJCQkgZXJyZGV0YWlsX3Jl bGtpbmRfbm90X3N1cHBvcnRlZChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kKSkpOwogCQkJYnJl YWs7CisKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgorCQkJLyogUGVyaW9kcyBjYW4gb25seSBnbyBv biB0YWJsZXMgKi8KKwkJCWlmIChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRf UkVMQVRJT04pCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfV1JP TkdfT0JKRUNUX1RZUEUpLAorCQkJCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRhYmxlIiwK KwkJCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsYXRpb24pKSkpOworCQkJYnJlYWs7 CisKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL2Ryb3BjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4 IGNlYjlhMjI5YjYzLi41MjZjM2ZmNTE0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvZHJvcGNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC01 MDQsNiArNTA0LDcgQEAgZG9lc19ub3RfZXhpc3Rfc2tpcHBpbmcoT2JqZWN0VHlwZSBvYmp0eXBl LCBOb2RlICpvYmplY3QpCiAJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCWNhc2UgT0JK RUNUX0xBUkdFT0JKRUNUOgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9C SkVDVF9QRVJJT0Q6CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJY2Fz ZSBPQkpFQ1RfUFVCTElDQVRJT05fUkVMOgogCQljYXNlIE9CSkVDVF9UQUJDT05TVFJBSU5UOgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jCmluZGV4IGYzNDg2OGRhNWFiLi41MTRkYTA0 YmU3NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIuYwpAQCAtMjMwMSw2ICsyMzAx LDcgQEAgc3RyaW5naWZ5X2dyYW50X29ianR5cGUoT2JqZWN0VHlwZSBvYmp0eXBlKQogCQljYXNl IE9CSkVDVF9PUENMQVNTOgogCQljYXNlIE9CSkVDVF9PUEVSQVRPUjoKIAkJY2FzZSBPQkpFQ1Rf T1BGQU1JTFk6CisJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJY2FzZSBPQkpFQ1RfUE9MSUNZOgog CQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTjoKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFN RVNQQUNFOgpAQCAtMjM4NSw2ICsyMzg2LDcgQEAgc3RyaW5naWZ5X2FkZWZwcml2c19vYmp0eXBl KE9iamVjdFR5cGUgb2JqdHlwZSkKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JK RUNUX09QRkFNSUxZOgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVD VF9QRVJJT0Q6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJ T046CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3NlY2xhYmVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNs YWJlbC5jCmluZGV4IGNlZTVkN2JiYjljLi5mODY1MGViNGZlNCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc2VjbGFiZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNs YWJlbC5jCkBAIC03OSw2ICs3OSw3IEBAIFNlY0xhYmVsU3VwcG9ydHNPYmplY3RUeXBlKE9iamVj dFR5cGUgb2JqdHlwZSkKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09Q RkFNSUxZOgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJ T0Q6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFN RVNQQUNFOgogCQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxl Y21kcy5jCmluZGV4IGZlNTFiNjAwMDdiLi4zOWI2NzNkMDU0ZSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2xhcmdlb2Jq ZWN0X21ldGFkYXRhLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNs dWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19w cm9jLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaCIKQEAgLTE1Niw2 ICsxNTcsMTMgQEAgdHlwZWRlZiBlbnVtIEFsdGVyVGFibGVQYXNzCiAJQVRfUEFTU19PTERfSU5E RVgsCQkJLyogcmUtYWRkIGV4aXN0aW5nIGluZGV4ZXMgKi8KIAlBVF9QQVNTX09MRF9DT05TVFIs CQkJLyogcmUtYWRkIGV4aXN0aW5nIGNvbnN0cmFpbnRzICovCiAJLyogV2UgY291bGQgc3VwcG9y dCBhIFJFTkFNRSBDT0xVTU4gcGFzcyBoZXJlLCBidXQgbm90IGN1cnJlbnRseSB1c2VkICovCisK KwkvKgorCSAqIFdlIG11c3QgYWRkIFBFUklPRHMgYWZ0ZXIgY29sdW1ucywgaW4gY2FzZSB0aGV5 IHJlZmVyZW5jZSBhIG5ld2x5LWFkZGVkCisJICogY29sdW1uLCBhbmQgYmVmb3JlIGNvbnN0cmFp bnRzLCBpbiBjYXNlIGEgbmV3bHktYWRkZWQgUEsvRksgcmVmZXJlbmNlcworCSAqIHRoZW0uCisJ ICovCisJQVRfUEFTU19BRERfUEVSSU9ELAkJCS8qIEFERCBQRVJJT0QgKi8KIAlBVF9QQVNTX0FE RF9DT05TVFIsCQkJLyogQUREIGNvbnN0cmFpbnRzIChpbml0aWFsIGV4YW1pbmF0aW9uKSAqLwog CUFUX1BBU1NfQ09MX0FUVFJTLAkJCS8qIHNldCBjb2x1bW4gYXR0cmlidXRlcywgZWcgTk9UIE5V TEwgKi8KIAlBVF9QQVNTX0FERF9JTkRFWENPTlNUUiwJLyogQUREIGluZGV4LWJhc2VkIGNvbnN0 cmFpbnRzICovCkBAIC0zNzUsNiArMzgzLDcgQEAgc3RhdGljIExpc3QgKk1lcmdlQXR0cmlidXRl cyhMaXN0ICpjb2x1bW5zLCBjb25zdCBMaXN0ICpzdXBlcnMsIGNoYXIgcmVscGVyc2lzdGUKIAkJ CQkJCQkgYm9vbCBpc19wYXJ0aXRpb24sIExpc3QgKipzdXBjb25zdHIsCiAJCQkJCQkJIExpc3Qg KipzdXBub3RudWxscyk7CiBzdGF0aWMgTGlzdCAqTWVyZ2VDaGVja0NvbnN0cmFpbnQoTGlzdCAq Y29uc3RyYWludHMsIGNvbnN0IGNoYXIgKm5hbWUsIE5vZGUgKmV4cHIsIGJvb2wgaXNfZW5mb3Jj ZWQpOworc3RhdGljIExpc3QgKk1lcmdlUGVyaW9kcyhjaGFyICpyZWxuYW1lLCBMaXN0ICpwZXJp b2RzLCBMaXN0ICp0YWJsZUVsdHMsIExpc3QgKnN1cGVycyk7CiBzdGF0aWMgdm9pZCBNZXJnZUNo aWxkQXR0cmlidXRlKExpc3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8sIGludCBuZXdj b2xfYXR0bm8sIGNvbnN0IENvbHVtbkRlZiAqbmV3ZGVmKTsKIHN0YXRpYyBDb2x1bW5EZWYgKk1l cmdlSW5oZXJpdGVkQXR0cmlidXRlKExpc3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8s IGNvbnN0IENvbHVtbkRlZiAqbmV3ZGVmKTsKIHN0YXRpYyB2b2lkIE1lcmdlQXR0cmlidXRlc0lu dG9FeGlzdGluZyhSZWxhdGlvbiBjaGlsZF9yZWwsIFJlbGF0aW9uIHBhcmVudF9yZWwsIGJvb2wg aXNwYXJ0aXRpb24pOwpAQCAtNDk3LDYgKzUwNiw4IEBAIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFU RXhlY0FkZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsCiAJCQkJ CQkJCQkgQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KTsKIHN0YXRpYyBib29sIGNo ZWNrX2Zvcl9jb2x1bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpj b2xuYW1lLAogCQkJCQkJCQkJCQlib29sIGlmX25vdF9leGlzdHMpOworc3RhdGljIGJvb2wgY2hl Y2tfZm9yX3BlcmlvZF9uYW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBl cm5hbWUsCisJCQkJCQkJCQkJCWJvb2wgY29sZXhpc3RzLCBib29sIGlmX25vdF9leGlzdHMpOwog c3RhdGljIHZvaWQgYWRkX2NvbHVtbl9kYXRhdHlwZV9kZXBlbmRlbmN5KE9pZCByZWxpZCwgaW50 MzIgYXR0bnVtLCBPaWQgdHlwaWQpOwogc3RhdGljIHZvaWQgYWRkX2NvbHVtbl9jb2xsYXRpb25f ZGVwZW5kZW5jeShPaWQgcmVsaWQsIGludDMyIGF0dG51bSwgT2lkIGNvbGxpZCk7CiBzdGF0aWMg T2JqZWN0QWRkcmVzcyBBVEV4ZWNEcm9wTm90TnVsbChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIg KmNvbE5hbWUsIGJvb2wgcmVjdXJzZSwKQEAgLTUxNCw2ICs1MjUsMTUgQEAgc3RhdGljIE9iamVj dEFkZHJlc3MgQVRFeGVjQ29sdW1uRGVmYXVsdChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNv bE5hbWUsCiAJCQkJCQkJCQkJIE5vZGUgKm5ld0RlZmF1bHQsIExPQ0tNT0RFIGxvY2ttb2RlKTsK IHN0YXRpYyBPYmplY3RBZGRyZXNzIEFURXhlY0Nvb2tlZENvbHVtbkRlZmF1bHQoUmVsYXRpb24g cmVsLCBBdHRyTnVtYmVyIGF0dG51bSwKIAkJCQkJCQkJCQkJICAgTm9kZSAqbmV3RGVmYXVsdCk7 CitzdGF0aWMgdm9pZCBBVFByZXBBZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gcmVs LCBBbHRlclRhYmxlQ21kICpjbWQsCisJCQkJCQkJTE9DS01PREUgbG9ja21vZGUsIEFsdGVyVGFi bGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CitzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNB ZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAorCQkJCQkJCQkJ IFJlbGF0aW9uIHJlbCwgUGVyaW9kRGVmICpwZXJpb2QsCisJCQkJCQkJCQkgTE9DS01PREUgbG9j a21vZGUsIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CitzdGF0aWMgdm9pZCBB VEV4ZWNEcm9wUGVyaW9kKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVyaW9kTmFtZSwKKwkJ CQkJCQkgRHJvcEJlaGF2aW9yIGJlaGF2aW9yLAorCQkJCQkJCSBib29sIHJlY3Vyc2UsIGJvb2wg cmVjdXJzaW5nLAorCQkJCQkJCSBib29sIG1pc3Npbmdfb2spOwogc3RhdGljIE9iamVjdEFkZHJl c3MgQVRFeGVjQWRkSWRlbnRpdHkoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xOYW1lLAog CQkJCQkJCQkJICAgTm9kZSAqZGVmLCBMT0NLTU9ERSBsb2NrbW9kZSwgYm9vbCByZWN1cnNlLCBi b29sIHJlY3Vyc2luZyk7CiBzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNTZXRJZGVudGl0eShS ZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5hbWUsCkBAIC03MzksNiArNzU5LDEwIEBAIHN0 YXRpYyBMaXN0ICpHZXRQYXJlbnRlZEZvcmVpZ25LZXlSZWZzKFJlbGF0aW9uIHBhcnRpdGlvbik7 CiBzdGF0aWMgdm9pZCBBVERldGFjaENoZWNrTm9Gb3JlaWduS2V5UmVmcyhSZWxhdGlvbiBwYXJ0 aXRpb24pOwogc3RhdGljIGNoYXIgR2V0QXR0cmlidXRlQ29tcHJlc3Npb24oT2lkIGF0dHR5cGlk LCBjb25zdCBjaGFyICpjb21wcmVzc2lvbik7CiBzdGF0aWMgY2hhciBHZXRBdHRyaWJ1dGVTdG9y YWdlKE9pZCBhdHR0eXBpZCwgY29uc3QgY2hhciAqc3RvcmFnZW1vZGUpOworc3RhdGljIHZvaWQg QWRkUmVsYXRpb25OZXdQZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJpb2REZWYgKnBlcmlvZCk7Citz dGF0aWMgdm9pZCBWYWxpZGF0ZVBlcmlvZChSZWxhdGlvbiByZWwsIFBlcmlvZERlZiAqcGVyaW9k KTsKK3N0YXRpYyBDb25zdHJhaW50ICptYWtlX2NvbnN0cmFpbnRfZm9yX3BlcmlvZChSZWxhdGlv biByZWwsIFBlcmlvZERlZiAqcGVyaW9kKTsKK3N0YXRpYyBDb2x1bW5EZWYgKm1ha2VfcmFuZ2Vf Y29sdW1uX2Zvcl9wZXJpb2QoUGVyaW9kRGVmICpwZXJpb2QpOwogCiAKIC8qIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAg LTk2OCw2ICs5OTIsOTcgQEAgRGVmaW5lUmVsYXRpb24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hhciBy ZWxraW5kLCBPaWQgb3duZXJJZCwKIAkJCQkJCXN0bXQtPnBhcnRib3VuZCAhPSBOVUxMLAogCQkJ CQkJJm9sZF9jb25zdHJhaW50cywgJm9sZF9ub3RudWxscyk7CiAKKwkvKgorCSAqIFVzaW5nIHRo ZSBjb2x1bW4gbGlzdCAoaW5jbHVkaW5nIGluaGVyaXRlZCBjb2x1bW5zKSwgZmluZCB0aGUgc3Rh cnQvZW5kCisJICogY29sdW1ucyBmb3IgZWFjaCBwZXJpb2QuIFBFUklPRHMgc2hvdWxkIGJlIGlu aGVyaXRlZCB0b28gKGJ1dCBhcmVuJ3QKKwkgKiB5ZXQpLgorCSAqLworCXN0bXQtPnBlcmlvZHMg PSBNZXJnZVBlcmlvZHMocmVsbmFtZSwgc3RtdC0+cGVyaW9kcywgc3RtdC0+dGFibGVFbHRzLCBp bmhlcml0T2lkcyk7CisKKwkvKgorCSAqIEZvciBlYWNoIFBFUklPRCB3ZSBuZWVkIGEgR0VORVJB VEVEIGNvbHVtbi4gVXN1YWxseSB3ZSBtdXN0IGNyZWF0ZQorCSAqIHRoaXMsIHNvIHdlIGFkZCBp dCB0byB0YWJsZUVsdHMuIElmIHRoZSB1c2VyIHNheXMgdGhlIGNvbHVtbiBhbHJlYWR5CisJICog ZXhpc3RzLCBtYWtlIHN1cmUgaXQgaXMgc2Vuc2libGUuIFRoZXNlIGNvbHVtbnMgYXJlIG5vdCBp bmhlcml0ZWQsIHNvCisJICogd2UgZG9uJ3Qgd29ycnkgYWJvdXQgY29uZmxpY3RzIGluIHRhYmxl RWx0cy4KKwkgKgorCSAqIFdlIGFsbG93IHRoaXMgY29sZXhpc3RzIG9wdGlvbiB0byBzdXBwb3J0 IHBnX3VwZ3JhZGUsIHNvIHdlIGhhdmUgbW9yZQorCSAqIGNvbnRyb2wgb3ZlciB0aGUgR0VORVJB VEVEIGNvbHVtbiAod2hvc2UgYXR0bnVtIG11c3QgbWF0Y2ggdGhlIG9sZAorCSAqIHZhbHVlKS4K KwkgKgorCSAqIFNpbmNlIHRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgTk9UIE5VTEwsIHdl IGFkZCBhIGNvbnN0cmFpbnQgdG8KKwkgKiBubmNvbnN0cmFpbnRzLgorCSAqLworCWZvcmVhY2go bGlzdHB0ciwgc3RtdC0+cGVyaW9kcykKKwl7CisJCVBlcmlvZERlZiAgKnBlcmlvZCA9IChQZXJp b2REZWYgKikgbGZpcnN0KGxpc3RwdHIpOworCisJCWlmIChwZXJpb2QtPmNvbGV4aXN0cykKKwkJ eworCQkJTGlzdENlbGwgICAqY2VsbDsKKwkJCWJvb2wJCWZvdW5kID0gZmFsc2U7CisKKwkJCS8q IEZpbmQgdGhlIGV4aXN0aW5nIGNvbHVtbiB0byB1c2UgKi8KKwkJCWZvcmVhY2goY2VsbCwgc3Rt dC0+dGFibGVFbHRzKQorCQkJeworCQkJCUNvbHVtbkRlZiAgKmNvbERlZiA9IGxmaXJzdChjZWxs KTsKKworCQkJCWlmIChzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBjb2xEZWYtPmNvbG5hbWUp ID09IDApCisJCQkJeworCQkJCQkvKgorCQkJCQkgKiBNYWtlIHN1cmUgdGhlIGV4aXN0aW5nIGNv bHVtbiBtYXRjaGVzIHdoYXQgd2Ugd291bGQKKwkJCQkJICogaGF2ZSBjcmVhdGVkLiBGaXJzdCBh bGwsIGl0IG11c3QgYmUgR0VORVJBVEVELgorCQkJCQkgKi8KKwkJCQkJaWYgKGNvbERlZi0+Z2Vu ZXJhdGVkID09ICdcMCcpCisJCQkJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMg dXNlcyBhIG5vbi1nZW5lcmF0ZWQgY29sdW1uIiwKKwkJCQkJCQkJCQkJICAgcGVyaW9kLT5wZXJp b2RuYW1lKSkpOworCisJCQkJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgU1RPUkVE LiAqLworCQkJCQlpZiAoY29sRGVmLT5nZW5lcmF0ZWQgIT0gQVRUUklCVVRFX0dFTkVSQVRFRF9T VE9SRUQpCisJCQkJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdl bmVyYXRlZCBjb2x1bW4gdGhhdCBpcyBub3QgU1RPUkVEIiwKKwkJCQkJCQkJCQkJICAgcGVyaW9k LT5wZXJpb2RuYW1lKSkpOworCisJCQkJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3Qgbm90 IGFsbG93IG51bGxzLiAqLworCQkJCQlpZiAoIWNvbERlZi0+aXNfbm90X251bGwgJiYgIUlzQmlu YXJ5VXBncmFkZSkKKwkJCQkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2Vz IGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGFsbG93cyBudWxscyIsCisJCQkJCQkJCQkJCSAgIHBl cmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJCQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0 IG1hdGNoIG91ciByYW5nZXR5cGUuICovCisJCQkJCWlmIChwZXJpb2QtPnJuZ3R5cGlkICE9IHR5 cGVuYW1lVHlwZUlkKE5VTEwsIGNvbERlZi0+dHlwZU5hbWUpKQorCQkJCQkJZXJlcG9ydChFUlJP UiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHdpdGggdGhlIHdy b25nIHR5cGUiLAorCQkJCQkJCQkJCQkgICBwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJCQkJ LyoKKwkJCQkJICogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBub3QgYmUgaW5oZXJpdGVkLiBY WFg6IElmIHRoZQorCQkJCQkgKiBQRVJJT0QgaXMgaW5oZXJpdGVkLCB0aGV5IG11c3QgY29tZSBm cm9tIHRoZSBzYW1lCisJCQkJCSAqIHBhcmVudC4KKwkJCQkJICovCisJCQkJCWlmICghY29sRGVm LT5pc19sb2NhbCkKKwkJCQkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2Vz IGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGlzIGluaGVyaXRlZCIsCisJCQkJCQkJCQkJCSAgIHBl cmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkJCQkvKgorCQkJCQkgKiBYWFg6IFdlIHNob3VsZCBj aGVjayB0aGUgR0VORVJBVEVEIGV4cHJlc3Npb24gYWxzbywgYnV0CisJCQkJCSAqIHRoYXQgaXMg aGFyZCB0byBkbyBiZWNhdXNlIG9uZSBpcyBjb29rZWQgYW5kIG9uZSBpcworCQkJCQkgKiByYXcu CisJCQkJCSAqLworCisJCQkJCWZvdW5kID0gdHJ1ZTsKKwkJCQl9CisJCQl9CisKKwkJCWlmICgh Zm91bmQpCisJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiTm8gY29sdW1uIGZvdW5kIHdpdGgg bmFtZSAlcyIsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCUNv bHVtbkRlZiAgKmNvbCA9IG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QocGVyaW9kKTsKKwkJ CUNvbnN0cmFpbnQgKmNvbnN0ciA9IG1ha2VOb3ROdWxsQ29uc3RyYWludChtYWtlU3RyaW5nKGNv bC0+Y29sbmFtZSkpOworCisJCQlzdG10LT50YWJsZUVsdHMgPSBsYXBwZW5kKHN0bXQtPnRhYmxl RWx0cywgY29sKTsKKwkJCXN0bXQtPm5uY29uc3RyYWludHMgPSBsYXBwZW5kKHN0bXQtPm5uY29u c3RyYWludHMsIGNvbnN0cik7CisJCX0KKwl9CisKIAkvKgogCSAqIENyZWF0ZSBhIHR1cGxlIGRl c2NyaXB0b3IgZnJvbSB0aGUgcmVsYXRpb24gc2NoZW1hLiAgTm90ZSB0aGF0IHRoaXMKIAkgKiBk ZWFscyB3aXRoIGNvbHVtbiBuYW1lcywgdHlwZXMsIGFuZCBpbi1kZXNjcmlwdG9yIE5PVCBOVUxM IGZsYWdzLCBidXQKQEAgLTEzMzYsNyArMTQ1MSw3IEBAIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0 bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQsCiAJCQkJCQkJCSAgdHJ1ZSwgdHJ1 ZSwgZmFsc2UsIHF1ZXJ5U3RyaW5nKTsKIAogCS8qCi0JICogRmluYWxseSwgbWVyZ2UgdGhlIG5v dC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlY2xhcmVkIGRpcmVjdGx5IHdpdGgKKwkgKiBO b3cgbWVyZ2UgdGhlIG5vdC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlY2xhcmVkIGRpcmVj dGx5IHdpdGgKIAkgKiB0aG9zZSB0aGF0IGNvbWUgZnJvbSBwYXJlbnQgcmVsYXRpb25zIChtYWtp bmcgc3VyZSB0byBjb3VudCBpbmhlcml0YW5jZQogCSAqIGFwcHJvcHJpYXRlbHkgZm9yIGVhY2gp LCBjcmVhdGUgdGhlbSwgYW5kIHNldCB0aGUgYXR0bm90bnVsbCBmbGFnIG9uCiAJICogY29sdW1u cyB0aGF0IGRvbid0IHlldCBoYXZlIGl0LgpAQCAtMTM0Niw2ICsxNDYxLDIxIEBAIERlZmluZVJl bGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQsCiAJZm9y ZWFjaF9pbnQoYXR0cm51bSwgbm5jb2xzKQogCQlzZXRfYXR0bm90bnVsbChOVUxMLCByZWwsIGF0 dHJudW0sIHRydWUsIGZhbHNlKTsKIAorCS8qCisJICogRmluYWxseSwgY3JlYXRlIHBlcmlvZHMg Zm9yIHRoZSB0YWJsZS4gVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgd2UgY3JlYXRlCisJICogY29sdW1u cyBhbmQgYmVmb3JlIHdlIGNyZWF0ZSBpbmRleCBjb25zdHJhaW50cy4gSXQgd2lsbCBhdXRvbWF0 aWNhbGx5CisJICogY3JlYXRlIGEgQ0hFQ0sgY29uc3RyYWludCBmb3IgdGhlIHBlcmlvZC4KKwkg Ki8KKwlmb3JlYWNoKGxpc3RwdHIsIHN0bXQtPnBlcmlvZHMpCisJeworCQlQZXJpb2REZWYgICpw ZXJpb2QgPSAoUGVyaW9kRGVmICopIGxmaXJzdChsaXN0cHRyKTsKKworCQkvKiBEb24ndCB1cGRh dGUgdGhlIGNvdW50IG9mIGNoZWNrIGNvbnN0cmFpbnRzIHR3aWNlICovCisJCUNvbW1hbmRDb3Vu dGVySW5jcmVtZW50KCk7CisKKwkJQWRkUmVsYXRpb25OZXdQZXJpb2QocmVsLCBwZXJpb2QpOwor CX0KKwogCU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgUmVsYXRpb25SZWxhdGlvbklkLCByZWxh dGlvbklkKTsKIAogCS8qCkBAIC0xNDQ1LDYgKzE1NzUsMzM2IEBAIEJ1aWxkRGVzY0ZvclJlbGF0 aW9uKGNvbnN0IExpc3QgKmNvbHVtbnMpCiAJcmV0dXJuIGRlc2M7CiB9CiAKKy8qCisgKiBtYWtl X2NvbnN0cmFpbnRfZm9yX3BlcmlvZAorICoKKyAqIEJ1aWxkcyBhIENIRUNLIENvbnN0cmFpbnQg dG8gZW5zdXJlIHN0YXJ0IDwgZW5kLgorICogUmV0dXJucyB0aGUgQ0hFQ0sgQ29uc3RyYWludC4K KyAqIEFsc28gZmlsbHMgaW4gcGVyaW9kLT5jb25zdHJhaW50bmFtZSBpZiBuZWVkZWQuCisgKgor ICogSWYgZWl0aGVyIGJvdW5kIGlzIE5VTEwsIHRoZSBjb25zdHJhaW50IHBhc3NlcworICogKHNp bmNlIHRoYXQgaW5kaWNhdGVzIGFuIHVuYm91bmRlZCByYW5nZSkuCisgKi8KK3N0YXRpYyBDb25z dHJhaW50ICoKK21ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9k RGVmICpwZXJpb2QpCit7CisJQ29sdW1uUmVmICAqc2NvbCwKKwkJCSAgICplY29sOworCUNvbnN0 cmFpbnQgKmNvbnN0cjsKKwlUeXBlQ2FjaGVFbnRyeSAqdHlwZTsKKworCWlmIChwZXJpb2QtPmNv bnN0cmFpbnRuYW1lID09IE5VTEwpCisJCXBlcmlvZC0+Y29uc3RyYWludG5hbWUgPSBDaG9vc2VD b25zdHJhaW50TmFtZShSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpLAorCQkJCQkJCQkJCQkJ CSAgcGVyaW9kLT5wZXJpb2RuYW1lLAorCQkJCQkJCQkJCQkJCSAgImNoZWNrIiwKKwkJCQkJCQkJ CQkJCQkgIFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCksCisJCQkJCQkJCQkJCQkJICBOSUwpOwor CXNjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCXNjb2wtPmZpZWxkcyA9IGxpc3RfbWFrZTEo bWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+c3RhcnRjb2xuYW1lKSkpOworCXNjb2wtPmxvY2F0 aW9uID0gMDsKKworCWVjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCWVjb2wtPmZpZWxkcyA9 IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+ZW5kY29sbmFtZSkpKTsKKwll Y29sLT5sb2NhdGlvbiA9IDA7CisKKwl0eXBlID0gbG9va3VwX3R5cGVfY2FjaGUocGVyaW9kLT5j b2x0eXBpZCwgVFlQRUNBQ0hFX0xUX09QUik7CisJaWYgKHR5cGUtPmx0X29wciA9PSBJbnZhbGlk T2lkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNhbm5vdCBiZSB1c2VkIGlu IGEgUEVSSU9EIGJlY2F1c2UgaXRzIHR5cGUgJXMgaGFzIG5vIGxlc3MgdGhhbiBvcGVyYXRvciIs CisJCQkJCQlwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgZm9ybWF0X3R5cGVfYmUocGVyaW9kLT5jb2x0 eXBpZCkpKSk7CisKKwljb25zdHIgPSBtYWtlTm9kZShDb25zdHJhaW50KTsKKwljb25zdHItPmNv bnR5cGUgPSBDT05TVFJfQ0hFQ0s7CisJY29uc3RyLT5jb25uYW1lID0gcGVyaW9kLT5jb25zdHJh aW50bmFtZTsKKwljb25zdHItPmRlZmVycmFibGUgPSBmYWxzZTsKKwljb25zdHItPmluaXRkZWZl cnJlZCA9IGZhbHNlOworCWNvbnN0ci0+bG9jYXRpb24gPSAtMTsKKwljb25zdHItPmlzX25vX2lu aGVyaXQgPSBmYWxzZTsKKwljb25zdHItPnJhd19leHByID0gKE5vZGUgKikgbWFrZVNpbXBsZUFf RXhwcihBRVhQUl9PUCwKKwkJCQkJCQkJCQkJCSBnZXRfb3BuYW1lKHR5cGUtPmx0X29wciksCisJ CQkJCQkJCQkJCQkgKE5vZGUgKikgc2NvbCwKKwkJCQkJCQkJCQkJCSAoTm9kZSAqKSBlY29sLAor CQkJCQkJCQkJCQkJIDApOworCWNvbnN0ci0+Y29va2VkX2V4cHIgPSBOVUxMOworCWNvbnN0ci0+ c2tpcF92YWxpZGF0aW9uID0gZmFsc2U7CisJY29uc3RyLT5pc19lbmZvcmNlZCA9IHRydWU7CisJ Y29uc3RyLT5pbml0aWFsbHlfdmFsaWQgPSB0cnVlOworCisJcmV0dXJuIGNvbnN0cjsKK30KKwor LyoKKyAqIG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QKKyAqCisgKiBCdWlsZHMgYSBHRU5F UkFURUQgQUxXQVlTIHJhbmdlIGNvbHVtbiBiYXNlZCBvbiB0aGUgUEVSSU9ECisgKiBzdGFydC9l bmQgY29sdW1ucy4gUmV0dXJucyB0aGUgQ29sdW1uRGVmLgorICovCitzdGF0aWMgQ29sdW1uRGVm ICoKK21ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QoUGVyaW9kRGVmICpwZXJpb2QpCit7CisJ Y2hhcgkgICAqcmFuZ2VfdHlwZV9uYW1lc3BhY2U7CisJY2hhcgkgICAqcmFuZ2VfdHlwZV9uYW1l OworCUNvbHVtbkRlZiAgKmNvbCA9IG1ha2VOb2RlKENvbHVtbkRlZik7CisJQ29sdW1uUmVmICAq c3RhcnR2YXIsCisJCQkgICAqZW5kdmFyOworCUV4cHIJICAgKnJhbmdlQ29uc3RydWN0b3I7CisK KwlpZiAoIWdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2UocGVyaW9kLT5ybmd0eXBpZCwgJnJhbmdl X3R5cGVfbmFtZSwKKwkJCQkJCQkJICAgJnJhbmdlX3R5cGVfbmFtZXNwYWNlKSkKKwkJZWxvZyhF UlJPUiwgIm1pc3NpbmcgcmFuZ2UgdHlwZSAlZCIsIHBlcmlvZC0+cm5ndHlwaWQpOworCisJc3Rh cnR2YXIgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCXN0YXJ0dmFyLT5maWVsZHMgPSBsaXN0X21h a2UxKG1ha2VTdHJpbmcocHN0cmR1cChwZXJpb2QtPnN0YXJ0Y29sbmFtZSkpKTsKKwllbmR2YXIg PSBtYWtlTm9kZShDb2x1bW5SZWYpOworCWVuZHZhci0+ZmllbGRzID0gbGlzdF9tYWtlMShtYWtl U3RyaW5nKHBzdHJkdXAocGVyaW9kLT5lbmRjb2xuYW1lKSkpOworCXJhbmdlQ29uc3RydWN0b3Ig PSAoRXhwciAqKSBtYWtlRnVuY0NhbGwoCisJCQkJCQkJCQkJCSBsaXN0X21ha2UyKG1ha2VTdHJp bmcocmFuZ2VfdHlwZV9uYW1lc3BhY2UpLCBtYWtlU3RyaW5nKHJhbmdlX3R5cGVfbmFtZSkpLAor CQkJCQkJCQkJCQkgbGlzdF9tYWtlMihzdGFydHZhciwgZW5kdmFyKSwKKwkJCQkJCQkJCQkJIENP RVJDRV9FWFBMSUNJVF9DQUxMLAorCQkJCQkJCQkJCQkgcGVyaW9kLT5sb2NhdGlvbik7CisKKwlj b2wtPmNvbG5hbWUgPSBwc3RyZHVwKHBlcmlvZC0+cGVyaW9kbmFtZSk7CisJY29sLT50eXBlTmFt ZSA9IG1ha2VUeXBlTmFtZUZyb21PaWQocGVyaW9kLT5ybmd0eXBpZCwgLTEpOworCWNvbC0+Y29t cHJlc3Npb24gPSBOVUxMOworCWNvbC0+aW5oY291bnQgPSAwOworCWNvbC0+aXNfbG9jYWwgPSB0 cnVlOworCWNvbC0+aXNfbm90X251bGwgPSB0cnVlOworCWNvbC0+aXNfZnJvbV90eXBlID0gZmFs c2U7CisJY29sLT5zdG9yYWdlID0gMDsKKwljb2wtPnN0b3JhZ2VfbmFtZSA9IE5VTEw7CisJY29s LT5yYXdfZGVmYXVsdCA9IChOb2RlICopIHJhbmdlQ29uc3RydWN0b3I7CisJY29sLT5jb29rZWRf ZGVmYXVsdCA9IE5VTEw7CisJY29sLT5pZGVudGl0eSA9IDA7CisJY29sLT5nZW5lcmF0ZWQgPSBB VFRSSUJVVEVfR0VORVJBVEVEX1NUT1JFRDsKKwljb2wtPmNvbGxDbGF1c2UgPSBOVUxMOworCWNv bC0+Y29sbE9pZCA9IEludmFsaWRPaWQ7CisJY29sLT5mZHdvcHRpb25zID0gTklMOworCWNvbC0+ bG9jYXRpb24gPSBwZXJpb2QtPmxvY2F0aW9uOworCisJcmV0dXJuIGNvbDsKK30KKworLyoKKyAq IFZhbGlkYXRlUGVyaW9kCisgKgorICogTG9vayB1cCB0aGUgYXR0cmlidXRlcyB1c2VkIGJ5IHRo ZSBQRVJJT0QsCisgKiBtYWtlIHN1cmUgdGhleSBleGlzdCwgYXJlIG5vdCBzeXN0ZW0gY29sdW1u cywKKyAqIGFuZCBoYXZlIHRoZSBzYW1lIHR5cGUgYW5kIGNvbGxhdGlvbi4KKyAqCisgKiBBZGQg b3VyIGZpbmRpbmdzIHRvIHRoZXNlIFBlcmlvZERlZiBmaWVsZHM6CisgKgorICogY29sdHlwaWQg LSB0aGUgdHlwZSBvZiBQRVJJT0QgY29sdW1ucy4KKyAqIHN0YXJ0YXR0bnVtIC0gdGhlIGF0dG51 bSBvZiB0aGUgc3RhcnQgY29sdW1uLgorICogZW5kYXR0bnVtIC0gdGhlIGF0dG51bSBvZiB0aGUg ZW5kIGNvbHVtbi4KKyAqIHJuZ3R5cGlkIC0gdGhlIHJhbmdlIHR5cGUgdG8gdXNlLgorICogcm5n YXR0bnVtIC0gdGhlIGF0dG51bSBvZiBhIHByZS1leGlzdGluZyByYW5nZSBjb2x1bW4sIG9yIElu dmFsaWQuCisgKi8KK3N0YXRpYyB2b2lkCitWYWxpZGF0ZVBlcmlvZChSZWxhdGlvbiByZWwsIFBl cmlvZERlZiAqcGVyaW9kKQoreworCUhlYXBUdXBsZQlzdGFydHR1cGxlOworCUhlYXBUdXBsZQll bmR0dXBsZTsKKwlGb3JtX3BnX2F0dHJpYnV0ZSBhdHR0dXBsZTsKKwlPaWQJCQlhdHRjb2xsYXRp b247CisJT2lkCQkJZW5kdHlwaWQ7CisJT2lkCQkJZW5kY29sbGF0aW9uOworCisJLyogRmluZCB0 aGUgc3RhcnQgY29sdW1uICovCisJc3RhcnR0dXBsZSA9IFNlYXJjaFN5c0NhY2hlQXR0TmFtZShS ZWxhdGlvbkdldFJlbGlkKHJlbCksIHBlcmlvZC0+c3RhcnRjb2xuYW1lKTsKKwlpZiAoIUhlYXBU dXBsZUlzVmFsaWQoc3RhcnR0dXBsZSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUo RVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9m IHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlwZXJpb2QtPnN0YXJ0Y29s bmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpKTsKKwlhdHR0dXBsZSA9IChGb3Jt X3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKHN0YXJ0dHVwbGUpOworCXBlcmlvZC0+Y29sdHlwaWQg PSBhdHR0dXBsZS0+YXR0dHlwaWQ7CisJYXR0Y29sbGF0aW9uID0gYXR0dHVwbGUtPmF0dGNvbGxh dGlvbjsKKwlwZXJpb2QtPnN0YXJ0YXR0bnVtID0gYXR0dHVwbGUtPmF0dG51bTsKKwlSZWxlYXNl U3lzQ2FjaGUoc3RhcnR0dXBsZSk7CisKKwkvKiBNYWtlIHN1cmUgaXQncyBub3QgYSBzeXN0ZW0g Y29sdW1uICovCisJaWYgKHBlcmlvZC0+c3RhcnRhdHRudW0gPD0gMCkKKwkJZXJlcG9ydChFUlJP UiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAorCQkJ CSBlcnJtc2coImNhbm5vdCB1c2Ugc3lzdGVtIGNvbHVtbiBcIiVzXCIgaW4gcGVyaW9kIiwKKwkJ CQkJCXBlcmlvZC0+c3RhcnRjb2xuYW1lKSkpOworCisJLyogRmluZCB0aGUgZW5kIGNvbHVtbiAq LworCWVuZHR1cGxlID0gU2VhcmNoU3lzQ2FjaGVBdHROYW1lKFJlbGF0aW9uR2V0UmVsaWQocmVs KSwgcGVyaW9kLT5lbmRjb2xuYW1lKTsKKwlpZiAoIUhlYXBUdXBsZUlzVmFsaWQoZW5kdHVwbGUp KQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX0NPTFVN TiksCisJCQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBu b3QgZXhpc3QiLAorCQkJCQkJcGVyaW9kLT5lbmRjb2xuYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9u TmFtZShyZWwpKSkpOworCWF0dHR1cGxlID0gKEZvcm1fcGdfYXR0cmlidXRlKSBHRVRTVFJVQ1Qo ZW5kdHVwbGUpOworCWVuZHR5cGlkID0gYXR0dHVwbGUtPmF0dHR5cGlkOworCWVuZGNvbGxhdGlv biA9IGF0dHR1cGxlLT5hdHRjb2xsYXRpb247CisJcGVyaW9kLT5lbmRhdHRudW0gPSBhdHR0dXBs ZS0+YXR0bnVtOworCVJlbGVhc2VTeXNDYWNoZShlbmR0dXBsZSk7CisKKwkvKiBNYWtlIHN1cmUg aXQncyBub3QgYSBzeXN0ZW0gY29sdW1uICovCisJaWYgKHBlcmlvZC0+ZW5kYXR0bnVtIDw9IDAp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9E RUZJTklUSU9OKSwKKwkJCQkgZXJybXNnKCJjYW5ub3QgdXNlIHN5c3RlbSBjb2x1bW4gXCIlc1wi IGluIHBlcmlvZCIsCisJCQkJCQlwZXJpb2QtPmVuZGNvbG5hbWUpKSk7CisKKwkvKiBCb3RoIGNv bHVtbnMgbXVzdCBiZSBvZiBzYW1lIHR5cGUgKi8KKwlpZiAocGVyaW9kLT5jb2x0eXBpZCAhPSBl bmR0eXBpZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBF X01JU01BVENIKSwKKwkJCQkgZXJybXNnKCJzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9k IG11c3QgYmUgb2Ygc2FtZSB0eXBlIikpKTsKKworCS8qIEJvdGggY29sdW1ucyBtdXN0IGhhdmUg dGhlIHNhbWUgY29sbGF0aW9uICovCisJaWYgKGF0dGNvbGxhdGlvbiAhPSBlbmRjb2xsYXRpb24p CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9DT0xMQVRJT05fTUlTTUFU Q0gpLAorCQkJCSBlcnJtc2coInN0YXJ0IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJpb2QgbXVzdCBo YXZlIHNhbWUgY29sbGF0aW9uIikpKTsKKworCS8qIEdldCB0aGUgcmFuZ2UgdHlwZSBiYXNlZCBv biB0aGUgc3RhcnQvZW5kIGNvbHMgb3IgdGhlIHVzZXIncyBjaG9pY2UgKi8KKwlwZXJpb2QtPnJu Z3R5cGlkID0gY2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kKHBlcmlvZCk7CisKKwkvKgorCSAq IElmIHRoZSBHRU5FUkFURUQgY29sdW1ucyBzaG91bGQgYWxyZWFkeSBleGlzdCwgbWFrZSBzdXJl IGl0IGlzCisJICogc2Vuc2libGUuCisJICovCisJaWYgKHBlcmlvZC0+Y29sZXhpc3RzKQorCXsK KwkJSGVhcFR1cGxlCXJuZ3R1cGxlID0gU2VhcmNoU3lzQ2FjaGVBdHROYW1lKFJlbGF0aW9uR2V0 UmVsaWQocmVsKSwKKwkJCQkJCQkJCQkJCQkgcGVyaW9kLT5wZXJpb2RuYW1lKTsKKworCQlpZiAo IUhlYXBUdXBsZUlzVmFsaWQocm5ndHVwbGUpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVy cmNvZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygiY29sdW1uIFwi JXNcIiBvZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJCXBlcmlvZC0+ cGVyaW9kbmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpKTsKKwkJYXR0dHVwbGUg PSAoRm9ybV9wZ19hdHRyaWJ1dGUpIEdFVFNUUlVDVChybmd0dXBsZSk7CisKKwkJLyoKKwkJICog TWFrZSBzdXJlIHRoZSBleGlzdGluZyBjb2x1bW4gbWF0Y2hlcyB3aGF0IHdlIHdvdWxkIGhhdmUg Y3JlYXRlZC4KKwkJICogRmlyc3Qgb2YgYWxsLCBpdCBtdXN0IGJlIEdFTkVSQVRFRC4KKwkJICov CisJCWlmIChhdHR0dXBsZS0+YXR0Z2VuZXJhdGVkID09ICdcMCcpCisJCQllcmVwb3J0KEVSUk9S LCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIG5vbi1nZW5lcmF0ZWQgY29sdW1uIiwKKwkJCQkJ CQkJICAgcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1u IG11c3QgYmUgU1RPUkVELiAqLworCQlpZiAoYXR0dHVwbGUtPmF0dGdlbmVyYXRlZCAhPSBBVFRS SUJVVEVfR0VORVJBVEVEX1NUT1JFRCkKKwkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlv ZCAlcyB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGlzIG5vdCBTVE9SRUQiLAorCQkJCQkJ CQkgICBwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJLyogVGhlIEdFTkVSQVRFRCBjb2x1bW4g bXVzdCBub3QgYWxsb3cgbnVsbHMuICovCisJCWlmICghYXR0dHVwbGUtPmF0dG5vdG51bGwgJiYg IUlzQmluYXJ5VXBncmFkZSkKKwkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1 c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGFsbG93cyBudWxscyIsCisJCQkJCQkJCSAgIHBl cmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IG1h dGNoIG91ciByYW5nZXR5cGUuICovCisJCWlmIChwZXJpb2QtPnJuZ3R5cGlkICE9IGF0dHR1cGxl LT5hdHR0eXBpZCkKKwkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEg Z2VuZXJhdGVkIGNvbHVtbiB3aXRoIHRoZSB3cm9uZyB0eXBlIiwKKwkJCQkJCQkJICAgcGVyaW9k LT5wZXJpb2RuYW1lKSkpOworCisJCS8qCisJCSAqIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3Qg bm90IGJlIGluaGVyaXRlZC4gWFhYOiBJZiB0aGUgUEVSSU9EIGlzCisJCSAqIGluaGVyaXRlZCwg dGhleSBtdXN0IGNvbWUgZnJvbSB0aGUgc2FtZSBwYXJlbnQuCisJCSAqLworCQlpZiAoIWF0dHR1 cGxlLT5hdHRpc2xvY2FsKQorCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVz ZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgaXMgaW5oZXJpdGVkIiwKKwkJCQkJCQkJICAgcGVy aW9kLT5wZXJpb2RuYW1lKSkpOworCisJCS8qCisJCSAqIFhYWDogV2Ugc2hvdWxkIGNoZWNrIHRo ZSBHRU5FUkFURUQgZXhwcmVzc2lvbiBhbHNvLCBidXQgdGhhdCBpcworCQkgKiBoYXJkIHRvIGRv IGJlY2F1c2Ugb25lIGlzIGNvb2tlZCBhbmQgb25lIGlzIHJhdy4KKwkJICovCisKKwkJcGVyaW9k LT5ybmdhdHRudW0gPSBhdHR0dXBsZS0+YXR0bnVtOworCisJCVJlbGVhc2VTeXNDYWNoZShybmd0 dXBsZSk7CisJfQorfQorCisvKgorICogY2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kCisgKgor ICogRmluZCBhIHN1aXRhYmxlIHJhbmdlIHR5cGUgZm9yIG9wZXJhdGlvbnMgaW52b2x2aW5nIHRo aXMgcGVyaW9kLgorICogVXNlIHRoZSByYW5nZXR5cGUgb3B0aW9uIGlmIHByb3ZpZGVkLCBvdGhl cndpc2UgdHJ5IHRvIGZpbmQgYQorICogbm9uLWFtYmlndW91cyBleGlzdGluZyB0eXBlLgorICov CitPaWQKK2Nob29zZV9yYW5nZXR5cGVfZm9yX3BlcmlvZChQZXJpb2REZWYgKnBlcmlvZCkKK3sK KwlPaWQJCQlybmd0eXBpZDsKKworCWlmIChwZXJpb2QtPnJhbmdldHlwZW5hbWUgIT0gTlVMTCkK Kwl7CisJCS8qIE1ha2Ugc3VyZSBpdCBleGlzdHMgKi8KKwkJcm5ndHlwaWQgPSBUeXBlbmFtZUdl dFR5cGlkRXh0ZW5kZWQocGVyaW9kLT5yYW5nZXR5cGVuYW1lLCBmYWxzZSk7CisJCWlmIChybmd0 eXBpZCA9PSBJbnZhbGlkT2lkKQorCQkJZXJlcG9ydChFUlJPUiwgKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfT0JKRUNUKSwKKwkJCQkJCQllcnJtc2coIlJhbmdlIHR5cGUgJXMgbm90IGZvdW5k IiwKKwkJCQkJCQkJICAgcGVyaW9kLT5yYW5nZXR5cGVuYW1lKSkpOworCisJCS8qIE1ha2Ugc3Vy ZSBpdCBpcyBhIHJhbmdlIHR5cGUgKi8KKwkJaWYgKCF0eXBlX2lzX3JhbmdlKHJuZ3R5cGlkKSkK KwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFU Q0gpLAorCQkJCQkgZXJybXNnKCJUeXBlICVzIGlzIG5vdCBhIHJhbmdlIHR5cGUiLAorCQkJCQkJ CXBlcmlvZC0+cmFuZ2V0eXBlbmFtZSkpKTsKKworCQkvKiBNYWtlIHN1cmUgaXQgbWF0Y2hlcyB0 aGUgY29sdW1uIHR5cGUgKi8KKwkJaWYgKGdldF9yYW5nZV9zdWJ0eXBlKHJuZ3R5cGlkKSAhPSBw ZXJpb2QtPmNvbHR5cGlkKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09E RV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJCSBlcnJtc2coIlJhbmdlIHR5cGUgJXMgZG9lcyBu b3QgbWF0Y2ggY29sdW1uIHR5cGUgJXMiLAorCQkJCQkJCXBlcmlvZC0+cmFuZ2V0eXBlbmFtZSwK KwkJCQkJCQlmb3JtYXRfdHlwZV9iZShwZXJpb2QtPmNvbHR5cGlkKSkpKTsKKwl9CisJZWxzZQor CXsKKwkJcm5ndHlwaWQgPSBnZXRfc3VidHlwZV9yYW5nZShwZXJpb2QtPmNvbHR5cGlkKTsKKwkJ aWYgKHJuZ3R5cGlkID09IEludmFsaWRPaWQpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJy Y29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJubyByYW5nZSB0 eXBlIGZvciAlcyBmb3VuZCBmb3IgcGVyaW9kICVzIiwKKwkJCQkJCQlmb3JtYXRfdHlwZV9iZShw ZXJpb2QtPmNvbHR5cGlkKSwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpLAorCQkJCQkgZXJy aGludCgiWW91IGNhbiBkZWZpbmUgYSBjdXN0b20gcmFuZ2UgdHlwZSB3aXRoIENSRUFURSBUWVBF IikpKTsKKworCX0KKworCXJldHVybiBybmd0eXBpZDsKK30KKworc3RhdGljIHZvaWQKK0FkZFJl bGF0aW9uTmV3UGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJUmVs YXRpb24JYXR0cmVsYXRpb247CisJT2lkCQkJY29ub2lkOworCUNvbnN0cmFpbnQgKmNvbnN0cjsK KwlMaXN0CSAgICpuZXdjb25zdHJzOworCisJYXR0cmVsYXRpb24gPSB0YWJsZV9vcGVuKEF0dHJp YnV0ZVJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJLyogRmluZCB0aGUgR0VORVJB VEVEIHJhbmdlIGNvbHVtbiAqLworCisJcGVyaW9kLT5ybmdhdHRudW0gPSBnZXRfYXR0bnVtKFJl bGF0aW9uR2V0UmVsaWQocmVsKSwgcGVyaW9kLT5wZXJpb2RuYW1lKTsKKwlpZiAocGVyaW9kLT5y bmdhdHRudW0gPT0gSW52YWxpZEF0dHJOdW1iZXIpCisJCWVsb2coRVJST1IsICJtaXNzaW5nIGF0 dHJpYnV0ZSAlcyIsIHBlcmlvZC0+cGVyaW9kbmFtZSk7CisKKwkvKiBUaGUgcGFyc2VyIGhhcyBh bHJlYWR5IGZvdW5kIHBlcmlvZC0+Y29sdHlwaWQgKi8KKworCWNvbnN0ciA9IG1ha2VfY29uc3Ry YWludF9mb3JfcGVyaW9kKHJlbCwgcGVyaW9kKTsKKwluZXdjb25zdHJzID0gQWRkUmVsYXRpb25O ZXdDb25zdHJhaW50cyhyZWwsIE5JTCwgbGlzdF9tYWtlMShjb25zdHIpLCBmYWxzZSwKKwkJCQkJ CQkJCQkgICB0cnVlLCB0cnVlLCBOVUxMKTsKKwljb25vaWQgPSAoKENvb2tlZENvbnN0cmFpbnQg KikgbGluaXRpYWwobmV3Y29uc3RycykpLT5jb25vaWQ7CisKKwkvKiBTYXZlIGl0ICovCisJU3Rv cmVQZXJpb2QocmVsLCBwZXJpb2QtPnBlcmlvZG5hbWUsIHBlcmlvZC0+c3RhcnRhdHRudW0sIHBl cmlvZC0+ZW5kYXR0bnVtLAorCQkJCXBlcmlvZC0+cm5nYXR0bnVtLCBjb25vaWQpOworCisJdGFi bGVfY2xvc2UoYXR0cmVsYXRpb24sIFJvd0V4Y2x1c2l2ZUxvY2spOworfQorCiAvKgogICogRW1p dCB0aGUgcmlnaHQgZXJyb3Igb3Igd2FybmluZyBtZXNzYWdlIGZvciBhICJEUk9QIiBjb21tYW5k IGlzc3VlZCBvbiBhCiAgKiBub24tZXhpc3RlbnQgcmVsYXRpb24KQEAgLTI3NDcsNyArMzIwNyw3 IEBAIE1lcmdlQXR0cmlidXRlcyhMaXN0ICpjb2x1bW5zLCBjb25zdCBMaXN0ICpzdXBlcnMsIGNo YXIgcmVscGVyc2lzdGVuY2UsCiAJCSAqIHRoYXQncyBub3QgbWFya2VkIE5PIElOSEVSSVQgKGV2 ZW4gaWYgbm90IHZhbGlkKS4KIAkJICovCiAJCW5uY29uc3RycyA9IFJlbGF0aW9uR2V0Tm90TnVs bENvbnN0cmFpbnRzKFJlbGF0aW9uR2V0UmVsaWQocmVsYXRpb24pLAotCQkJCQkJCQkJCQkJICB0 cnVlLCBmYWxzZSk7CisJCQkJCQkJCQkJCQkgIHRydWUsIGZhbHNlLCBOVUxMKTsKIAkJZm9yZWFj aF9wdHIoQ29va2VkQ29uc3RyYWludCwgY2MsIG5uY29uc3RycykKIAkJCW5uY29scyA9IGJtc19h ZGRfbWVtYmVyKG5uY29scywgY2MtPmF0dG51bSk7CiAKQEAgLTMxNDAsNiArMzYwMCwxNzIgQEAg TWVyZ2VBdHRyaWJ1dGVzKExpc3QgKmNvbHVtbnMsIGNvbnN0IExpc3QgKnN1cGVycywgY2hhciBy ZWxwZXJzaXN0ZW5jZSwKIH0KIAogCisvKi0tLS0tLS0tLS0KKyAqIE1lcmdlUGVyaW9kcworICoJ CVJldHVybnMgbmV3IHBlcmlvZCBsaXN0IGdpdmVuIGluaXRpYWwgcGVyaW9kcyBhbmQgc3VwZXJj bGFzc2VzLgorICoKKyAqIEZvciBub3cgd2UgZG9uJ3Qgc3VwcG9ydCBpbmhlcml0ZW5jZSB3aXRo IFBFUklPRHMsCisgKiBidXQgd2UgbWlnaHQgbWFrZSBpdCB3b3JrIGV2ZW50dWFsbHkuCisgKgor ICogV2UgY2FuIG9taXQgbG90cyBvZiBjaGVja3MgaGVyZSBhbmQgYXNzdW1lIE1lcmdlQXR0cmli dXRlcyBhbHJlYWR5IGRpZCB0aGVtLAorICogZm9yIGV4YW1wbGUgdGhhdCBjaGlsZCAmIHBhcmVu dHMgYXJlIG5vdCBhIG1peCBvZiBwZXJtYW5lbnQgYW5kIHRlbXAuCisgKi8KK3N0YXRpYyBMaXN0 ICoKK01lcmdlUGVyaW9kcyhjaGFyICpyZWxuYW1lLCBMaXN0ICpwZXJpb2RzLCBMaXN0ICp0YWJs ZUVsdHMsIExpc3QgKnN1cGVycykKK3sKKwlMaXN0Q2VsbCAgICplbnRyeTsKKworCS8qIElmIHdl IGhhdmUgYSBQRVJJT0QgdGhlbiBzdXBlcnMgbXVzdCBiZSBlbXB0eS4gKi8KKworCWlmIChsaXN0 X2xlbmd0aChwZXJpb2RzKSA+IDAgJiYgbGlzdF9sZW5ndGgoc3VwZXJzKSA+IDApCisJCWVyZXBv cnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAor CQkJCSBlcnJtc2coIkluaGVyaXRpbmcgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGEgdGFibGUgaGFz IGEgUEVSSU9EIikpKTsKKworCS8qIElmIGFueSBwYXJlbnQgdGFibGUgaGFzIGEgUEVSSU9ELCB0 aGVuIGZhaWwuICovCisKKwlmb3JlYWNoKGVudHJ5LCBzdXBlcnMpCisJeworCQlPaWQJCQlwYXJl bnQgPSBsZmlyc3Rfb2lkKGVudHJ5KTsKKwkJUmVsYXRpb24JcmVsYXRpb247CisJCVJlbGF0aW9u CXBnX3BlcmlvZDsKKwkJU3lzU2NhbkRlc2Mgc2NhbjsKKwkJU2NhbktleURhdGEgc2tleVsxXTsK KwkJSGVhcFR1cGxlCXR1cGxlOworCisJCS8qIGNhbGxlciBhbHJlYWR5IGdvdCBsb2NrICovCisJ CXJlbGF0aW9uID0gdGFibGVfb3BlbihwYXJlbnQsIE5vTG9jayk7CisJCXBnX3BlcmlvZCA9IHRh YmxlX29wZW4oUGVyaW9kUmVsYXRpb25JZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCQlTY2FuS2V5 SW5pdCgmc2tleVswXSwKKwkJCQkJQW51bV9wZ19wZXJpb2RfcGVycmVsaWQsCisJCQkJCUJURXF1 YWxTdHJhdGVneU51bWJlciwgRl9PSURFUSwKKwkJCQkJT2JqZWN0SWRHZXREYXR1bShwYXJlbnQp KTsKKworCQlzY2FuID0gc3lzdGFibGVfYmVnaW5zY2FuKHBnX3BlcmlvZCwgUGVyaW9kUmVsaWRO YW1lSW5kZXhJZCwgdHJ1ZSwKKwkJCQkJCQkJICBOVUxMLCAxLCBza2V5KTsKKworCQlpZiAoSGVh cFR1cGxlSXNWYWxpZCh0dXBsZSA9IHN5c3RhYmxlX2dldG5leHQoc2NhbikpKQorCQkJZXJlcG9y dChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAor CQkJCQkgZXJybXNnKCJJbmhlcml0aW5nIGZyb20gYSB0YWJsZSB3aXRoIGEgUEVSSU9EIGlzIG5v dCBzdXBwb3J0ZWQiKSkpOworCisJCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisJCXRhYmxlX2Ns b3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJdGFibGVfY2xvc2UocmVsYXRpb24s IE5vTG9jayk7CisJfQorCisJLyoKKwkgKiBGaW5kIHRoZSBzdGFydCAmIGVuZCBjb2x1bW5zIGFu ZCBnZXQgdGhlaXIgYXR0bm8gYW5kIHR5cGUuIEluIHRoZSBzYW1lCisJICogcGFzcywgbWFrZSBz dXJlIHRoZSBwZXJpb2QgZG9lc24ndCBjb25mbGljdCB3aXRoIGFueSBjb2x1bW4gbmFtZXMuIEFs c28KKwkgKiBtYWtlIHN1cmUgdGhlIHNhbWUgcGVyaW9kIG5hbWUgaXNuJ3QgdXNlZCBtb3JlIHRo YW4gb25jZS4KKwkgKi8KKwlmb3JlYWNoKGVudHJ5LCBwZXJpb2RzKQorCXsKKwkJUGVyaW9kRGVm ICAqcGVyaW9kID0gbGZpcnN0KGVudHJ5KTsKKwkJTGlzdENlbGwgICAqZW50cnkyOworCQlpbnQJ CQlpID0gMTsKKwkJT2lkCQkJc3RhcnRjb2x0eXBpZCA9IEludmFsaWRPaWQ7CisJCU9pZAkJCWVu ZGNvbHR5cGlkID0gSW52YWxpZE9pZDsKKwkJT2lkCQkJc3RhcnRjb2xjb2xsYXRpb24gPSBJbnZh bGlkT2lkOworCQlPaWQJCQllbmRjb2xjb2xsYXRpb24gPSBJbnZhbGlkT2lkOworCisJCXBlcmlv ZC0+c3RhcnRhdHRudW0gPSBJbnZhbGlkQXR0ck51bWJlcjsKKwkJcGVyaW9kLT5lbmRhdHRudW0g PSBJbnZhbGlkQXR0ck51bWJlcjsKKworCQlpZiAoU3lzdGVtQXR0cmlidXRlQnlOYW1lKHBlcmlv ZC0+cGVyaW9kbmFtZSkgIT0gTlVMTCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2Rl KEVSUkNPREVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJCSBlcnJtc2coInBlcmlvZCBuYW1lIFwi JXNcIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJcGVyaW9k LT5wZXJpb2RuYW1lKSkpOworCisJCWZvcmVhY2goZW50cnkyLCBwZXJpb2RzKQorCQl7CisJCQlQ ZXJpb2REZWYgICpwZXJpb2QyID0gbGZpcnN0KGVudHJ5Mik7CisKKwkJCWlmIChwZXJpb2QgIT0g cGVyaW9kMiAmJiBzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBwZXJpb2QyLT5wZXJpb2RuYW1l KSA9PSAwKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJ Q0FURV9PQkpFQ1QpLAorCQkJCQkJIGVycm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIHNwZWNpZmll ZCBtb3JlIHRoYW4gb25jZSIsCisJCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwkJfQor CisJCWZvcmVhY2goZW50cnkyLCB0YWJsZUVsdHMpCisJCXsKKwkJCUNvbHVtbkRlZiAgKmNvbCA9 IGxmaXJzdChlbnRyeTIpOworCQkJaW50MzIJCWF0dHR5cG1vZDsKKwkJCUFjbFJlc3VsdAlhY2xy ZXN1bHQ7CisKKwkJCWlmICghcGVyaW9kLT5jb2xleGlzdHMgJiYgc3RyY21wKHBlcmlvZC0+cGVy aW9kbmFtZSwgY29sLT5jb2xuYW1lKSA9PSAwKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQko ZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4pLAorCQkJCQkJIGVycm1zZygicGVyaW9k IG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3aXRoIGEgY29sdW1uIG5hbWUiLAorCQkJCQkJCQlwZXJp b2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJCWlmIChzdHJjbXAocGVyaW9kLT5zdGFydGNvbG5hbWUs IGNvbC0+Y29sbmFtZSkgPT0gMCkKKwkJCXsKKwkJCQlwZXJpb2QtPnN0YXJ0YXR0bnVtID0gaTsK KworCQkJCXR5cGVuYW1lVHlwZUlkQW5kTW9kKE5VTEwsIGNvbC0+dHlwZU5hbWUsICZzdGFydGNv bHR5cGlkLAorCQkJCQkJCQkJICZhdHR0eXBtb2QpOworCisJCQkJYWNscmVzdWx0ID0gb2JqZWN0 X2FjbGNoZWNrKFR5cGVSZWxhdGlvbklkLCBzdGFydGNvbHR5cGlkLAorCQkJCQkJCQkJCQlHZXRV c2VySWQoKSwgQUNMX1VTQUdFKTsKKwkJCQlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQor CQkJCQlhY2xjaGVja19lcnJvcl90eXBlKGFjbHJlc3VsdCwgc3RhcnRjb2x0eXBpZCk7CisKKwkJ CQlzdGFydGNvbGNvbGxhdGlvbiA9IEdldENvbHVtbkRlZkNvbGxhdGlvbihOVUxMLCBjb2wsIHN0 YXJ0Y29sdHlwaWQpOworCQkJfQorCisJCQlpZiAoc3RyY21wKHBlcmlvZC0+ZW5kY29sbmFtZSwg Y29sLT5jb2xuYW1lKSA9PSAwKQorCQkJeworCQkJCXBlcmlvZC0+ZW5kYXR0bnVtID0gaTsKKwor CQkJCXR5cGVuYW1lVHlwZUlkQW5kTW9kKE5VTEwsIGNvbC0+dHlwZU5hbWUsICZlbmRjb2x0eXBp ZCwKKwkJCQkJCQkJCSAmYXR0dHlwbW9kKTsKKworCQkJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xj aGVjayhUeXBlUmVsYXRpb25JZCwgZW5kY29sdHlwaWQsCisJCQkJCQkJCQkJCUdldFVzZXJJZCgp LCBBQ0xfVVNBR0UpOworCQkJCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQkJCWFj bGNoZWNrX2Vycm9yX3R5cGUoYWNscmVzdWx0LCBlbmRjb2x0eXBpZCk7CisKKwkJCQllbmRjb2xj b2xsYXRpb24gPSBHZXRDb2x1bW5EZWZDb2xsYXRpb24oTlVMTCwgY29sLCBlbmRjb2x0eXBpZCk7 CisJCQl9CisKKwkJCWkrKzsKKwkJfQorCisJCS8qIERpZCB3ZSBmaW5kIHRoZSBjb2x1bW5zPyAq LworCQlpZiAocGVyaW9kLT5zdGFydGF0dG51bSA9PSBJbnZhbGlkQXR0ck51bWJlcikKKwkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX0NPTFVNTiksCisJ CQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4 aXN0IiwKKwkJCQkJCQlwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcmVsbmFtZSkpKTsKKwkJaWYgKHBl cmlvZC0+ZW5kYXR0bnVtID09IEludmFsaWRBdHRyTnVtYmVyKQorCQkJZXJlcG9ydChFUlJPUiwK KwkJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygi Y29sdW1uIFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJ CXBlcmlvZC0+ZW5kY29sbmFtZSwgcmVsbmFtZSkpKTsKKworCQkvKiBCb3RoIGNvbHVtbnMgbXVz dCBiZSBvZiBzYW1lIHR5cGUgKi8KKwkJaWYgKHN0YXJ0Y29sdHlwaWQgIT0gZW5kY29sdHlwaWQp CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01B VENIKSwKKwkJCQkJIGVycm1zZygic3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0 IGJlIG9mIHNhbWUgdHlwZSIpKSk7CisKKwkJLyogQm90aCBjb2x1bW5zIG11c3QgaGF2ZSB0aGUg c2FtZSBjb2xsYXRpb24gKi8KKwkJaWYgKHN0YXJ0Y29sY29sbGF0aW9uICE9IGVuZGNvbGNvbGxh dGlvbikKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfQ09MTEFUSU9O X01JU01BVENIKSwKKwkJCQkJIGVycm1zZygic3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlv ZCBtdXN0IGhhdmUgc2FtZSBjb2xsYXRpb24iKSkpOworCisJCXBlcmlvZC0+Y29sdHlwaWQgPSBz dGFydGNvbHR5cGlkOworCQlwZXJpb2QtPnJuZ3R5cGlkID0gY2hvb3NlX3JhbmdldHlwZV9mb3Jf cGVyaW9kKHBlcmlvZCk7CisJfQorCisJcmV0dXJuIHBlcmlvZHM7Cit9CisKIC8qCiAgKiBNZXJn ZUNoZWNrQ29uc3RyYWludAogICoJCVRyeSB0byBtZXJnZSBhbiBpbmhlcml0ZWQgQ0hFQ0sgY29u c3RyYWludCB3aXRoIHByZXZpb3VzIG9uZXMKQEAgLTQ1NDcsMTIgKzUxNzMsMTIgQEAgQWx0ZXJU YWJsZShBbHRlclRhYmxlU3RtdCAqc3RtdCwgTE9DS01PREUgbG9ja21vZGUsCiAgKiBleGlzdGlu ZyBxdWVyeSBwbGFucy4gIE9uIHRoZSBhc3N1bXB0aW9uIGl0J3Mgbm90IHVzZWQgZm9yIHN1Y2gs IHdlCiAgKiBkb24ndCBoYXZlIHRvIHJlamVjdCBwZW5kaW5nIEFGVEVSIHRyaWdnZXJzLCBlaXRo ZXIuCiAgKgotICogQWxzbywgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbiBBbHRlclRhYmxlVXRpbGl0 eUNvbnRleHQsIHRoaXMgY2Fubm90IGJlCisgKiBBbHNvLCBpZiB5b3UgZG9uJ3QgcGFzcyBhbiBB bHRlclRhYmxlVXRpbGl0eUNvbnRleHQsIHRoaXMgY2Fubm90IGJlCiAgKiB1c2VkIGZvciBhbnkg c3ViY29tbWFuZCB0eXBlcyB0aGF0IHJlcXVpcmUgcGFyc2UgdHJhbnNmb3JtYXRpb24gb3IKICAq IGNvdWxkIGdlbmVyYXRlIHN1YmNvbW1hbmRzIHRoYXQgaGF2ZSB0byBiZSBwYXNzZWQgdG8gUHJv Y2Vzc1V0aWxpdHkuCiAgKi8KIHZvaWQKLUFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExp c3QgKmNtZHMsIGJvb2wgcmVjdXJzZSkKK0FsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExp c3QgKmNtZHMsIGJvb2wgcmVjdXJzZSwgQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0 KQogewogCVJlbGF0aW9uCXJlbDsKIAlMT0NLTU9ERQlsb2NrbW9kZSA9IEFsdGVyVGFibGVHZXRM b2NrTGV2ZWwoY21kcyk7CkBAIC00NTYxLDcgKzUxODcsNyBAQCBBbHRlclRhYmxlSW50ZXJuYWwo T2lkIHJlbGlkLCBMaXN0ICpjbWRzLCBib29sIHJlY3Vyc2UpCiAKIAlFdmVudFRyaWdnZXJBbHRl clRhYmxlUmVsaWQocmVsaWQpOwogCi0JQVRDb250cm9sbGVyKE5VTEwsIHJlbCwgY21kcywgcmVj dXJzZSwgbG9ja21vZGUsIE5VTEwpOworCUFUQ29udHJvbGxlcihOVUxMLCByZWwsIGNtZHMsIHJl Y3Vyc2UsIGxvY2ttb2RlLCBjb250ZXh0KTsKIH0KIAogLyoKQEAgLTQ2NTQsNiArNTI4MCw5IEBA IEFsdGVyVGFibGVHZXRMb2NrTGV2ZWwoTGlzdCAqY21kcykKIAkJCWNhc2UgQVRfRW5hYmxlUmVw bGljYVJ1bGU6CS8qIG1heSBjaGFuZ2UgU0VMRUNUIHJ1bGVzICovCiAJCQljYXNlIEFUX0VuYWJs ZVJ1bGU6IC8qIG1heSBjaGFuZ2UgU0VMRUNUIHJ1bGVzICovCiAJCQljYXNlIEFUX0Rpc2FibGVS dWxlOgkvKiBtYXkgY2hhbmdlIFNFTEVDVCBydWxlcyAqLworCQkJY2FzZSBBVF9BZGRQZXJpb2Q6 CS8qIHNoYXJlcyBuYW1lc3BhY2Ugd2l0aCBjb2x1bW5zLCBhZGRzCisJCQkJCQkJCSAqIGNvbnN0 cmFpbnQgKi8KKwkJCWNhc2UgQVRfRHJvcFBlcmlvZDoKIAkJCQljbWRfbG9ja21vZGUgPSBBY2Nl c3NFeGNsdXNpdmVMb2NrOwogCQkJCWJyZWFrOwogCkBAIC00OTczLDYgKzU2MDIsMTcgQEAgQVRQ cmVwQ21kKExpc3QgKip3cXVldWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNtZCAqY21kLAog CQkJLyogVGhpcyBjb21tYW5kIG5ldmVyIHJlY3Vyc2VzICovCiAJCQlwYXNzID0gQVRfUEFTU19B RERfT1RIRVJDT05TVFI7CiAJCQlicmVhazsKKwkJY2FzZSBBVF9BZGRQZXJpb2Q6CQkvKiBBTFRF UiBUQUJMRSAuLi4gQUREIFBFUklPRCBGT1IgbmFtZSAoc3RhcnQsCisJCQkJCQkJCSAqIGVuZCkg Ki8KKwkJCUFUU2ltcGxlUGVybWlzc2lvbnMoY21kLT5zdWJ0eXBlLCByZWwsIEFUVF9UQUJMRSk7 CisJCQlBVFByZXBBZGRQZXJpb2Qod3F1ZXVlLCByZWwsIGNtZCwgbG9ja21vZGUsIGNvbnRleHQp OworCQkJLyogTm8gcmVjdXJzaW9uOiBpbmhlcml0YW5jZSBub3Qgc3VwcG9ydGVkIHdpdGggUEVS SU9EcyAqLworCQkJcGFzcyA9IEFUX1BBU1NfQUREX1BFUklPRDsKKwkJCWJyZWFrOworCQljYXNl IEFUX0Ryb3BQZXJpb2Q6CQkvKiBBTFRFUiBUQUJMRSAuLi4gRFJPUCBQRVJJT0QgRk9SIG5hbWUg Ki8KKwkJCUFUU2ltcGxlUGVybWlzc2lvbnMoY21kLT5zdWJ0eXBlLCByZWwsIEFUVF9UQUJMRSk7 CisJCQlwYXNzID0gQVRfUEFTU19EUk9QOworCQkJYnJlYWs7CiAJCWNhc2UgQVRfQWRkSWRlbnRp dHk6CiAJCQlBVFNpbXBsZVBlcm1pc3Npb25zKGNtZC0+c3VidHlwZSwgcmVsLAogCQkJCQkJCQlB VFRfVEFCTEUgfCBBVFRfUEFSVElUSU9ORURfVEFCTEUgfCBBVFRfVklFVyB8CkBAIC01Mzg2LDYg KzYwMjYsMTQgQEAgQVRFeGVjQ21kKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRh YiwKIAkJY2FzZSBBVF9Db29rZWRDb2x1bW5EZWZhdWx0OgkvKiBhZGQgYSBwcmUtY29va2VkIGRl ZmF1bHQgKi8KIAkJCWFkZHJlc3MgPSBBVEV4ZWNDb29rZWRDb2x1bW5EZWZhdWx0KHJlbCwgY21k LT5udW0sIGNtZC0+ZGVmKTsKIAkJCWJyZWFrOworCQljYXNlIEFUX0FkZFBlcmlvZDoKKwkJCWFk ZHJlc3MgPSBBVEV4ZWNBZGRQZXJpb2Qod3F1ZXVlLCB0YWIsIHJlbCwgKFBlcmlvZERlZiAqKSBj bWQtPmRlZiwKKwkJCQkJCQkJCSAgbG9ja21vZGUsIGNvbnRleHQpOworCQkJYnJlYWs7CisJCWNh c2UgQVRfRHJvcFBlcmlvZDoKKwkJCUFURXhlY0Ryb3BQZXJpb2QocmVsLCBjbWQtPm5hbWUsIGNt ZC0+YmVoYXZpb3IsIGZhbHNlLCBmYWxzZSwKKwkJCQkJCQkgY21kLT5taXNzaW5nX29rKTsKKwkJ CWJyZWFrOwogCQljYXNlIEFUX0FkZElkZW50aXR5OgogCQkJY21kID0gQVRQYXJzZVRyYW5zZm9y bUNtZCh3cXVldWUsIHRhYiwgcmVsLCBjbWQsIGZhbHNlLCBsb2NrbW9kZSwKIAkJCQkJCQkJCSAg Y3VyX3Bhc3MsIGNvbnRleHQpOwpAQCAtNjU5Miw2ICs3MjQwLDggQEAgYWx0ZXJfdGFibGVfdHlw ZV90b19zdHJpbmcoQWx0ZXJUYWJsZVR5cGUgY21kdHlwZSkKIAkJY2FzZSBBVF9BZGRDb2x1bW46 CiAJCWNhc2UgQVRfQWRkQ29sdW1uVG9WaWV3OgogCQkJcmV0dXJuICJBREQgQ09MVU1OIjsKKwkJ Y2FzZSBBVF9BZGRQZXJpb2Q6CisJCQlyZXR1cm4gIkFERCBQRVJJT0QiOwogCQljYXNlIEFUX0Nv bHVtbkRlZmF1bHQ6CiAJCWNhc2UgQVRfQ29va2VkQ29sdW1uRGVmYXVsdDoKIAkJCXJldHVybiAi QUxURVIgQ09MVU1OIC4uLiBTRVQgREVGQVVMVCI7CkBAIC02NjE1LDYgKzcyNjUsOCBAQCBhbHRl cl90YWJsZV90eXBlX3RvX3N0cmluZyhBbHRlclRhYmxlVHlwZSBjbWR0eXBlKQogCQkJcmV0dXJu ICJBTFRFUiBDT0xVTU4gLi4uIFNFVCBDT01QUkVTU0lPTiI7CiAJCWNhc2UgQVRfRHJvcENvbHVt bjoKIAkJCXJldHVybiAiRFJPUCBDT0xVTU4iOworCQljYXNlIEFUX0Ryb3BQZXJpb2Q6CisJCQly ZXR1cm4gIkRST1AgUEVSSU9EIjsKIAkJY2FzZSBBVF9BZGRJbmRleDoKIAkJY2FzZSBBVF9SZUFk ZEluZGV4OgogCQkJcmV0dXJuIE5VTEw7CQkvKiBub3QgcmVhbCBncmFtbWFyICovCkBAIC03NjMz LDE0ICs4Mjg1LDMwIEBAIEFURXhlY0FkZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFi bGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIC8qCiAgKiBJZiBhIG5ldyBvciByZW5hbWVkIGNv bHVtbiB3aWxsIGNvbGxpZGUgd2l0aCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZwogICogY29sdW1u IGFuZCBpZl9ub3RfZXhpc3RzIGlzIGZhbHNlIHRoZW4gZXJyb3Igb3V0LCBlbHNlIGRvIG5vdGhp bmcuCisgKgorICogU2VlIGFsc28gY2hlY2tfZm9yX3BlcmlvZF9uYW1lX2NvbGxpc2lvbi4KICAq Lwogc3RhdGljIGJvb2wKIGNoZWNrX2Zvcl9jb2x1bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24g cmVsLCBjb25zdCBjaGFyICpjb2xuYW1lLAogCQkJCQkJCQlib29sIGlmX25vdF9leGlzdHMpCiB7 Ci0JSGVhcFR1cGxlCWF0dFR1cGxlOworCUhlYXBUdXBsZQlhdHRUdXBsZSwKKwkJCQlwZXJUdXBs ZTsKIAlpbnQJCQlhdHRudW07CiAKKwkvKiBJZiB0aGUgbmFtZSBleGlzdHMgYXMgYSBwZXJpb2Qs IHdlJ3JlIGRvbmUuICovCisJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwK KwkJCQkJCQkgICBPYmplY3RJZEdldERhdHVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSksCisJCQkJ CQkJICAgUG9pbnRlckdldERhdHVtKGNvbG5hbWUpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZChw ZXJUdXBsZSkpCisJeworCQlSZWxlYXNlU3lzQ2FjaGUocGVyVHVwbGUpOworCQllcmVwb3J0KEVS Uk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJIGVycm1z ZygiY29sdW1uIG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3aXRoIGEgcGVyaW9kIG5hbWUiLAorCQkJ CQkJY29sbmFtZSkpKTsKKwl9CisKIAkvKgogCSAqIHRoaXMgdGVzdCBpcyBkZWxpYmVyYXRlbHkg bm90IGF0dGlzZHJvcHBlZC1hd2FyZSwgc2luY2UgaWYgb25lIHRyaWVzIHRvCiAJICogYWRkIGEg Y29sdW1uIG1hdGNoaW5nIGEgZHJvcHBlZCBjb2x1bW4gbmFtZSwgaXQncyBnb25uYSBmYWlsIGFu eXdheS4KQEAgLTc2ODQsNiArODM1Miw3OCBAQCBjaGVja19mb3JfY29sdW1uX25hbWVfY29sbGlz aW9uKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqY29sbmFtZSwKIAlyZXR1cm4gdHJ1ZTsKIH0K IAorLyoKKyAqIElmIGEgbmV3IHBlcmlvZCBuYW1lIHdpbGwgY29sbGlkZSB3aXRoIHRoZSBuYW1l IG9mIGFuIGV4aXN0aW5nIGNvbHVtbiBvcgorICogcGVyaW9kIFthbmQgaWZfbm90X2V4aXN0cyBp cyBmYWxzZV0gdGhlbiBlcnJvciBvdXQsIGVsc2UgZG8gbm90aGluZy4KKyAqCisgKiBTZWUgYWxz byBjaGVja19mb3JfY29sdW1uX25hbWVfY29sbGlzaW9uLgorICovCitzdGF0aWMgYm9vbAorY2hl Y2tfZm9yX3BlcmlvZF9uYW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBl cm5hbWUsCisJCQkJCQkJCWJvb2wgY29sZXhpc3RzLCBib29sIGlmX25vdF9leGlzdHMpCit7CisJ SGVhcFR1cGxlCWF0dFR1cGxlLAorCQkJCXBlclR1cGxlOworCWludAkJCWF0dG51bTsKKworCS8q IFhYWDogaW1wbGVtZW50IElGIFtOT1RdIEVYSVNUUyBmb3IgcGVyaW9kcyAqLworCUFzc2VydCgh aWZfbm90X2V4aXN0cyk7CisKKwkvKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgcGVyaW9kIHdpdGgg dGhpcyBuYW1lLCB0aGVuIHdlJ3JlIGRvbmUuICovCisJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNo ZTIoUEVSSU9ETkFNRSwKKwkJCQkJCQkgICBPYmplY3RJZEdldERhdHVtKFJlbGF0aW9uR2V0UmVs aWQocmVsKSksCisJCQkJCQkJICAgUG9pbnRlckdldERhdHVtKHBlcm5hbWUpKTsKKwlpZiAoSGVh cFR1cGxlSXNWYWxpZChwZXJUdXBsZSkpCisJeworCQlpZiAoaWZfbm90X2V4aXN0cykKKwkJewor CQkJUmVsZWFzZVN5c0NhY2hlKHBlclR1cGxlKTsKKworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJ CShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJCSBlcnJtc2coInBlcmlv ZCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJ CQkJCQkJcGVybmFtZSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpKTsKKwkJCXJldHVy biBmYWxzZTsKKwkJfQorCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9E VVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9mIHJlbGF0aW9u IFwiJXNcIiBhbHJlYWR5IGV4aXN0cyIsCisJCQkJCQlwZXJuYW1lLCBSZWxhdGlvbkdldFJlbGF0 aW9uTmFtZShyZWwpKSkpOworCX0KKworCS8qCisJICogdGhpcyB0ZXN0IGlzIGRlbGliZXJhdGVs eSBub3QgYXR0aXNkcm9wcGVkLWF3YXJlLCBzaW5jZSBpZiBvbmUgdHJpZXMgdG8KKwkgKiBhZGQg YSBjb2x1bW4gbWF0Y2hpbmcgYSBkcm9wcGVkIGNvbHVtbiBuYW1lLCBpdCdzIGdvbm5hIGZhaWwg YW55d2F5LgorCSAqLworCWF0dFR1cGxlID0gU2VhcmNoU3lzQ2FjaGUyKEFUVE5BTUUsCisJCQkJ CQkJICAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlkKHJlbCkpLAorCQkJCQkJCSAg IFBvaW50ZXJHZXREYXR1bShwZXJuYW1lKSk7CisJaWYgKEhlYXBUdXBsZUlzVmFsaWQoYXR0VHVw bGUpKQorCXsKKwkJYXR0bnVtID0gKChGb3JtX3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKGF0dFR1 cGxlKSktPmF0dG51bTsKKwkJUmVsZWFzZVN5c0NhY2hlKGF0dFR1cGxlKTsKKworCQkvKgorCQkg KiBXZSB0aHJvdyBhIGRpZmZlcmVudCBlcnJvciBtZXNzYWdlIGZvciBjb25mbGljdHMgd2l0aCBz eXN0ZW0gY29sdW1uCisJCSAqIG5hbWVzLCBzaW5jZSB0aGV5IGFyZSBub3JtYWxseSBub3Qgc2hv d24gYW5kIHRoZSB1c2VyIG1pZ2h0CisJCSAqIG90aGVyd2lzZSBiZSBjb25mdXNlZCBhYm91dCB0 aGUgcmVhc29uIGZvciB0aGUgY29uZmxpY3QuCisJCSAqLworCQlpZiAoYXR0bnVtIDw9IDApCisJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4p LAorCQkJCQkgZXJybXNnKCJwZXJpb2QgbmFtZSBcIiVzXCIgY29uZmxpY3RzIHdpdGggYSBzeXN0 ZW0gY29sdW1uIG5hbWUiLAorCQkJCQkJCXBlcm5hbWUpKSk7CisJCWlmICghY29sZXhpc3RzKQor CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfQ09MVU1O KSwKKwkJCQkJIGVycm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3aXRoIGEgY29s dW1uIG5hbWUiLAorCQkJCQkJCXBlcm5hbWUpKSk7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisK IC8qCiAgKiBJbnN0YWxsIGEgY29sdW1uJ3MgZGVwZW5kZW5jeSBvbiBpdHMgZGF0YXR5cGUuCiAg Ki8KQEAgLTgyMjMsNiArODk2MywyMDkgQEAgQVRFeGVjQ29va2VkQ29sdW1uRGVmYXVsdChSZWxh dGlvbiByZWwsIEF0dHJOdW1iZXIgYXR0bnVtLAogCXJldHVybiBhZGRyZXNzOwogfQogCisvKgor ICogUHJlcGFyZSB0byBhZGQgYSBQRVJJT0QgdG8gYSB0YWJsZSwgYnkgYWRkaW5nIGFsbCBpdHMg Y29uc3RpdHVlbnQgb2JqZWN0cy4KKyAqCisgKiBXZSBuZWVkIGEgQ0hFQ0sgY29uc3RyYWludCBl bmZvcmNpbmcgd2Ugc3RhcnQgYmVmb3JlIHdlIGVuZC4KKyAqCisgKiBVc3VhbGx5IHdlIGFsc28g Y3JlYXRlIGEgR0VORVJBVEVEIGNvbHVtbiB3aXRoIGEgTk9UIE5VTEwgY29uc3RyYWludCwKKyAq IHVubGVzcyB0aGUgY29tbWFuZCBpbmRpY2F0ZXMgd2UgaGF2ZSBvbmUgYWxyZWFkeS4KKyAqCisg KiBQRVJJT0RzIGFyZSBub3Qgc3VwcG9ydGVkIGluIGluaGVyaXRhbmNlIGhpZXJhcmNoaWVzLCBz byB3ZSBkb24ndCBuZWVkCisgKiB0byB3b3JyeSBhYm91dCByZWN1cnNpb24uCisgKgorICogQVRF eGVjQWRkUGVyaW9kIHdpbGwgbmVlZCB0aGUgb2lkIG9mIHRoZSBDSEVDSyBjb25zdHJhaW50IGFu ZCB0aGUgYXR0bnVtCisgKiBvZiB0aGUgcmFuZ2UgY29sdW1uICh3aGV0aGVyIG5ldyBvciBub3Qp IHRvIHJlY29yZCB0aGUgZGVwZW5kZW5jeS4KKyAqLworc3RhdGljIHZvaWQKK0FUUHJlcEFkZFBl cmlvZChMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWwsIEFsdGVyVGFibGVDbWQgKmNtZCwKKwkJ CQlMT0NLTU9ERSBsb2NrbW9kZSwgQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQor eworCVBlcmlvZERlZiAgKnBlcmlvZCA9IChQZXJpb2REZWYgKikgY21kLT5kZWY7CisKKwkvKgor CSAqIFBFUklPRCBGT1IgU1lTVEVNX1RJTUUgaXMgbm90IHlldCBpbXBsZW1lbnRlZCwgYnV0IG1h a2Ugc3VyZSBubyBvbmUKKwkgKiB1c2VzIHRoZSBuYW1lLgorCSAqLworCWlmIChzdHJjbXAocGVy aW9kLT5wZXJpb2RuYW1lLCAic3lzdGVtX3RpbWUiKSA9PSAwKQorCQllcmVwb3J0KEVSUk9SLAor CQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNn KCJQRVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBzdXBwb3J0ZWQiKSkpOworCisJaWYgKHN0 cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcGVyaW9kLT5lbmRjb2xuYW1lKSA9PSAwKQorCQll cmVwb3J0KEVSUk9SLCAoZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNhbid0IGJlIHRoZSBzdGFydCBh bmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9kIFwiJXNcIiIsCisJCQkJCQkJICAgcGVyaW9kLT5zdGFy dGNvbG5hbWUsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCS8qIFBhcnNlIG9wdGlvbnMgKi8K Kwl0cmFuc2Zvcm1QZXJpb2RPcHRpb25zKHBlcmlvZCk7Cit9CisKKy8qCisgKiBBTFRFUiBUQUJM RSBBREQgUEVSSU9ECisgKgorICogUmV0dXJuIHRoZSBhZGRyZXNzIG9mIHRoZSBwZXJpb2QuCisg Ki8KK3N0YXRpYyBPYmplY3RBZGRyZXNzCitBVEV4ZWNBZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwg QWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCisJCQkJUGVyaW9kRGVmICpwZXJp b2QsIExPQ0tNT0RFIGxvY2ttb2RlLAorCQkJCUFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29u dGV4dCkKK3sKKwlSZWxhdGlvbglhdHRyZWxhdGlvbjsKKwlPYmplY3RBZGRyZXNzIGFkZHJlc3Mg PSBJbnZhbGlkT2JqZWN0QWRkcmVzczsKKwlDb25zdHJhaW50ICpjb25zdHI7CisJQ29sdW1uRGVm ICAqcmFuZ2Vjb2w7CisJT2lkCQkJY29ub2lkLAorCQkJCXBlcmlvZG9pZDsKKwlMaXN0CSAgICpj bWRzID0gTklMOworCUFsdGVyVGFibGVDbWQgKmNtZDsKKworCS8qCisJICogVGhlIHBlcmlvZCBu YW1lIG11c3Qgbm90IGFscmVhZHkgZXhpc3QuIFdlIGNhbid0IGNoZWNrIHRoaXMgaW4KKwkgKiBB VFByZXBBZGRQZXJpb2QgYmVjYXVzZSB0aGUgc2FtZSBBTFRFUiBUQUJMRSBjb21tYW5kIG1pZ2h0 IGRvIGEgRFJPUAorCSAqIFBFUklPRCBhcyB3ZWxsLgorCSAqLworCSh2b2lkKSBjaGVja19mb3Jf cGVyaW9kX25hbWVfY29sbGlzaW9uKHJlbCwgcGVyaW9kLT5wZXJpb2RuYW1lLAorCQkJCQkJCQkJ CSAgIHBlcmlvZC0+Y29sZXhpc3RzLCBmYWxzZSk7CisKKwlhdHRyZWxhdGlvbiA9IHRhYmxlX29w ZW4oQXR0cmlidXRlUmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisJVmFsaWRhdGVQZXJp b2QocmVsLCBwZXJpb2QpOworCisJLyogTWFrZSB0aGUgQ0hFQ0sgY29uc3RyYWludCAqLworCWNv bnN0ciA9IG1ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kKHJlbCwgcGVyaW9kKTsKKwljbWQgPSBt YWtlTm9kZShBbHRlclRhYmxlQ21kKTsKKwljbWQtPnN1YnR5cGUgPSBBVF9BZGRDb25zdHJhaW50 OworCWNtZC0+ZGVmID0gKE5vZGUgKikgY29uc3RyOworCWNtZHMgPSBsYXBwZW5kKGNtZHMsIGNt ZCk7CisJQWx0ZXJUYWJsZUludGVybmFsKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgY21kcywgdHJ1 ZSwgY29udGV4dCk7CisJY29ub2lkID0gZ2V0X3JlbGF0aW9uX2NvbnN0cmFpbnRfb2lkKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCQkJCQkgcGVyaW9kLT5jb25zdHJhaW50bmFtZSwgZmFs c2UpOworCisKKwlpZiAoIXBlcmlvZC0+Y29sZXhpc3RzKQorCXsKKwkJY21kcyA9IE5JTDsKKwor CQkvKgorCQkgKiBNYWtlIHRoZSByYW5nZSBjb2x1bW4uCisJCSAqCisJCSAqIFdlIGhhdmUgYWxy ZWFkeSBwYXNzZWQgdGhlIGFkZC1jb2x1bW4gcGFzcywgc28gd2UgaGF2ZSB0byBjcmVhdGUgaXQK KwkJICogb3Vyc2VsdmVzLgorCQkgKi8KKwkJcmFuZ2Vjb2wgPSBtYWtlX3JhbmdlX2NvbHVtbl9m b3JfcGVyaW9kKHBlcmlvZCk7CisJCWNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQlj bWQtPnN1YnR5cGUgPSBBVF9BZGRDb2x1bW47CisJCWNtZC0+ZGVmID0gKE5vZGUgKikgcmFuZ2Vj b2w7CisJCWNtZC0+bmFtZSA9IHBlcmlvZC0+cGVyaW9kbmFtZTsKKwkJY21kLT5yZWN1cnNlID0g ZmFsc2U7CS8qIE5vLCBsZXQgdGhlIFBFUklPRCByZWN1cnNlIGluc3RlYWQuICovCisJCUFURXhl Y0FkZENvbHVtbih3cXVldWUsIHRhYiwgcmVsLCAmY21kLCBmYWxzZSwgZmFsc2UsIGxvY2ttb2Rl LAorCQkJCQkJQVRfUEFTU19BRERfUEVSSU9ELCBjb250ZXh0KTsKKworCQkvKiBUaGUgcmFuZ2Ug Y29sdW1uIHNob3VsZCBiZSBOT1QgTlVMTC4gKi8KKwkJY21kID0gbWFrZU5vZGUoQWx0ZXJUYWJs ZUNtZCk7CisJCWNtZC0+c3VidHlwZSA9IEFUX0FkZENvbnN0cmFpbnQ7CisJCWNtZC0+ZGVmID0g KE5vZGUgKikgbWFrZU5vdE51bGxDb25zdHJhaW50KG1ha2VTdHJpbmcocGVyaW9kLT5wZXJpb2Ru YW1lKSk7CisJCWNtZC0+cmVjdXJzZSA9IGZhbHNlOwkvKiBObywgbGV0IHRoZSBQRVJJT0QgcmVj dXJzZSBpbnN0ZWFkLiAqLworCQlBVFByZXBDbWQod3F1ZXVlLCByZWwsIGNtZCwgZmFsc2UsIGZh bHNlLCBsb2NrbW9kZSwgY29udGV4dCk7CisKKwkJLyogTG9vayB1cCB0aGUgR0VORVJBVEVEIGF0 dG51bSAqLworCQlwZXJpb2QtPnJuZ2F0dG51bSA9IGdldF9hdHRudW0oUmVsYXRpb25HZXRSZWxp ZChyZWwpLCBwZXJpb2QtPnBlcmlvZG5hbWUpOworCQlpZiAocGVyaW9kLT5ybmdhdHRudW0gPT0g SW52YWxpZEF0dHJOdW1iZXIpCisJCQllbG9nKEVSUk9SLCAibWlzc2luZyBhdHRyaWJ1dGUgJXMi LCBwZXJpb2QtPnBlcmlvZG5hbWUpOworCX0KKworCS8qIFNhdmUgdGhlIFBlcmlvZCAqLworCXBl cmlvZG9pZCA9IFN0b3JlUGVyaW9kKHJlbCwgcGVyaW9kLT5wZXJpb2RuYW1lLCBwZXJpb2QtPnN0 YXJ0YXR0bnVtLAorCQkJCQkJCXBlcmlvZC0+ZW5kYXR0bnVtLCBwZXJpb2QtPnJuZ2F0dG51bSwg Y29ub2lkKTsKKworCU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgUGVyaW9kUmVsYXRpb25JZCwg cGVyaW9kb2lkKTsKKworCXRhYmxlX2Nsb3NlKGF0dHJlbGF0aW9uLCBSb3dFeGNsdXNpdmVMb2Nr KTsKKworCXJldHVybiBhZGRyZXNzOworfQorCisvKgorICogQUxURVIgVEFCTEUgRFJPUCBQRVJJ T0QKKyAqCisgKiBMaWtlIERST1AgQ09MVU1OLCB3ZSBjYW4ndCB1c2UgdGhlIG5vcm1hbCBBTFRF UiBUQUJMRSByZWN1cnNpb24gbWVjaGFuaXNtLgorICovCitzdGF0aWMgdm9pZAorQVRFeGVjRHJv cFBlcmlvZChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcmlvZE5hbWUsCisJCQkJIERyb3BC ZWhhdmlvciBiZWhhdmlvciwKKwkJCQkgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vyc2luZywKKwkJ CQkgYm9vbCBtaXNzaW5nX29rKQoreworCVJlbGF0aW9uCXBnX3BlcmlvZDsKKwlGb3JtX3BnX3Bl cmlvZCBwZXJpb2Q7CisJU3lzU2NhbkRlc2Mgc2NhbjsKKwlTY2FuS2V5RGF0YSBrZXk7CisJSGVh cFR1cGxlCXR1cGxlOworCWJvb2wJCWZvdW5kID0gZmFsc2U7CisKKwkvKiBBdCB0b3AgbGV2ZWws IHBlcm1pc3Npb24gY2hlY2sgd2FzIGRvbmUgaW4gQVRQcmVwQ21kLCBlbHNlIGRvIGl0ICovCisJ aWYgKHJlY3Vyc2luZykKKwkJQVRTaW1wbGVQZXJtaXNzaW9ucyhBVF9Ecm9wUGVyaW9kLCByZWws IEFUVF9UQUJMRSk7CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQs IFJvd0V4Y2x1c2l2ZUxvY2spOworCisJLyoKKwkgKiBGaW5kIGFuZCBkcm9wIHRoZSB0YXJnZXQg cGVyaW9kCisJICovCisJU2NhbktleUluaXQoJmtleSwKKwkJCQlBbnVtX3BnX3BlcmlvZF9wZXJy ZWxpZCwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfT0lERVEsCisJCQkJT2JqZWN0SWRH ZXREYXR1bShSZWxhdGlvbkdldFJlbGlkKHJlbCkpKTsKKwlzY2FuID0gc3lzdGFibGVfYmVnaW5z Y2FuKHBnX3BlcmlvZCwgUGVyaW9kUmVsaWROYW1lSW5kZXhJZCwKKwkJCQkJCQkgIHRydWUsIE5V TEwsIDEsICZrZXkpOworCisJd2hpbGUgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJs ZV9nZXRuZXh0KHNjYW4pKSkKKwl7CisJCU9iamVjdEFkZHJlc3MgcGVyb2JqOworCisJCXBlcmlv ZCA9IChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNUKHR1cGxlKTsKKworCQlpZiAoc3RyY21wKE5h bWVTdHIocGVyaW9kLT5wZXJuYW1lKSwgcGVyaW9kTmFtZSkgIT0gMCkKKwkJCWNvbnRpbnVlOwor CisJCS8qCisJCSAqIFBlcmZvcm0gdGhlIGFjdHVhbCBwZXJpb2QgZGVsZXRpb24KKwkJICovCisJ CXBlcm9iai5jbGFzc0lkID0gUGVyaW9kUmVsYXRpb25JZDsKKwkJcGVyb2JqLm9iamVjdElkID0g cGVyaW9kLT5vaWQ7CisJCXBlcm9iai5vYmplY3RTdWJJZCA9IDA7CisKKwkJcGVyZm9ybURlbGV0 aW9uKCZwZXJvYmosIGJlaGF2aW9yLCAwKTsKKworCQlmb3VuZCA9IHRydWU7CisKKwkJLyogcGVy aW9kIGZvdW5kIGFuZCBkcm9wcGVkIC0tIG5vIG5lZWQgdG8ga2VlcCBsb29waW5nICovCisJCWJy ZWFrOworCX0KKworCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisKKwlpZiAoIWZvdW5kKQorCXsK KwkJaWYgKCFtaXNzaW5nX29rKQorCQl7CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29k ZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wi IG9uIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJcGVyaW9kTmFtZSwg UmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCWVy ZXBvcnQoTk9USUNFLAorCQkJCQkoZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9uIHJlbGF0aW9uIFwi JXNcIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmciLAorCQkJCQkJCXBlcmlvZE5hbWUsIFJlbGF0 aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJCQl0YWJsZV9jbG9zZShwZ19wZXJpb2QsIFJv d0V4Y2x1c2l2ZUxvY2spOworCQkJcmV0dXJuOworCQl9CisJfQorCisJdGFibGVfY2xvc2UocGdf cGVyaW9kLCBSb3dFeGNsdXNpdmVMb2NrKTsKK30KKwogLyoKICAqIEFMVEVSIFRBQkxFIEFMVEVS IENPTFVNTiBBREQgSURFTlRJVFkKICAqCkBAIC0xMDIzNSw4ICsxMTE3OCw5IEBAIEFUQWRkRm9y ZWlnbktleUNvbnN0cmFpbnQoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBS ZWxhdGlvbiByZWwsCiAJZm9yIChpID0gMDsgaSA8IG51bWZrczsgaSsrKQogCXsKIAkJY2hhcgkJ YXR0Z2VuZXJhdGVkID0gVHVwbGVEZXNjQXR0cihSZWxhdGlvbkdldERlc2NyKHJlbCksIGZrYXR0 bnVtW2ldIC0gMSktPmF0dGdlbmVyYXRlZDsKKwkJQml0bWFwc2V0ICAqcGVyaW9kcyA9IGdldF9w ZXJpb2RfYXR0bm9zKFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKLQkJaWYgKGF0dGdlbmVyYXRl ZCkKKwkJaWYgKGF0dGdlbmVyYXRlZCAmJiAhYm1zX2lzX21lbWJlcihma2F0dG51bVtpXSwgcGVy aW9kcykpCiAJCXsKIAkJCS8qCiAJCQkgKiBDaGVjayByZXN0cmljdGlvbnMgb24gVVBEQVRFL0RF TEVURSBhY3Rpb25zLCBwZXIgU1FMIHN0YW5kYXJkCkBAIC0xNTEzMSw2ICsxNjA3NSwxNiBAQCBS ZW1lbWJlckFsbERlcGVuZGVudEZvclJlYnVpbGRpbmcoQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBB bHRlclRhYmxlVHlwZSBzdWJ0eXBlLAogCQkJCVJlbWVtYmVyQ29uc3RyYWludEZvclJlYnVpbGRp bmcoZm91bmRPYmplY3Qub2JqZWN0SWQsIHRhYik7CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgUGVy aW9kUmVsYXRpb25JZDoKKwkJCQlpZiAoc3VidHlwZSA9PSBBVF9BbHRlckNvbHVtblR5cGUpCisJ CQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9T VVBQT1JURUQpLAorCQkJCQkJCSBlcnJtc2coImNhbm5vdCBhbHRlciB0eXBlIG9mIGEgY29sdW1u IHVzZWQgYnkgYSBwZXJpb2QiKSwKKwkJCQkJCQkgZXJyZGV0YWlsKCIlcyBkZXBlbmRzIG9uIGNv bHVtbiBcIiVzXCIiLAorCQkJCQkJCQkJICAgZ2V0T2JqZWN0RGVzY3JpcHRpb24oJmZvdW5kT2Jq ZWN0LCBmYWxzZSksCisJCQkJCQkJCQkgICBjb2xOYW1lKSkpOworCQkJCWJyZWFrOworCiAJCQlj YXNlIFByb2NlZHVyZVJlbGF0aW9uSWQ6CiAKIAkJCQkvKgpAQCAtMTUyMjAsNiArMTYxNzQsMTYg QEAgUmVtZW1iZXJBbGxEZXBlbmRlbnRGb3JSZWJ1aWxkaW5nKEFsdGVyZWRUYWJsZUluZm8gKnRh YiwgQWx0ZXJUYWJsZVR5cGUgc3VidHlwZSwKIAkJCQkJfQogCQkJCQllbHNlCiAJCQkJCXsKKwkJ CQkJCS8qCisJCQkJCQkgKiBJZiB0aGlzIEdFTkVSQVRFRCBjb2x1bW4gaXMgaW1wbGVtZW50aW5n IGEgUEVSSU9ELAorCQkJCQkJICoga2VlcCBnb2luZyBhbmQgd2UnbGwgZmFpbCBmcm9tIHRoZSBQ RVJJT0QgaW5zdGVhZC4KKwkJCQkJCSAqIFRoaXMgZ2l2ZXMgYSBtb3JlIGNsZWFyIGVycm9yIG1l c3NhZ2UuCisJCQkJCQkgKi8KKwkJCQkJCUJpdG1hcHNldCAgKnBlcmlvZGF0dHMgPSBnZXRfcGVy aW9kX2F0dG5vcyhSZWxhdGlvbkdldFJlbGlkKHJlbCkpOworCisJCQkJCQlpZiAoYm1zX2lzX21l bWJlcihjb2wub2JqZWN0U3ViSWQsIHBlcmlvZGF0dHMpKQorCQkJCQkJCWJyZWFrOworCiAJCQkJ CQkvKgogCQkJCQkJICogVGhpcyBtdXN0IGJlIGEgcmVmZXJlbmNlIGZyb20gdGhlIGV4cHJlc3Np b24gb2YgYQogCQkJCQkJICogZ2VuZXJhdGVkIGNvbHVtbiBlbHNld2hlcmUgaW4gdGhlIHNhbWUg dGFibGUuCkBAIC0xNzE1Niw3ICsxODEyMCw3IEBAIEFsdGVyVGFibGVNb3ZlQWxsKEFsdGVyVGFi bGVNb3ZlQWxsU3RtdCAqc3RtdCkKIAogCQlFdmVudFRyaWdnZXJBbHRlclRhYmxlU3RhcnQoKE5v ZGUgKikgc3RtdCk7CiAJCS8qIE9JRCBpcyBzZXQgYnkgQWx0ZXJUYWJsZUludGVybmFsICovCi0J CUFsdGVyVGFibGVJbnRlcm5hbChsZmlyc3Rfb2lkKGwpLCBjbWRzLCBmYWxzZSk7CisJCUFsdGVy VGFibGVJbnRlcm5hbChsZmlyc3Rfb2lkKGwpLCBjbWRzLCBmYWxzZSwgTlVMTCk7CiAJCUV2ZW50 VHJpZ2dlckFsdGVyVGFibGVFbmQoKTsKIAl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYwppbmRleCA0 M2I5ZDgyZTYzYS4uOTY4YTkxZmQzNGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3RyaWdnZXIuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKQEAgLTYxNDMs NiArNjE0Myw4IEBAIENvcHlGb3JQb3J0aW9uT2ZTdGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3Jj KQogCQlkc3QtPmZwX3JhbmdlTmFtZSA9IHBzdHJkdXAoc3JjLT5mcF9yYW5nZU5hbWUpOwogCQlk c3QtPmZwX3JhbmdlVHlwZSA9IHNyYy0+ZnBfcmFuZ2VUeXBlOwogCQlkc3QtPmZwX3JhbmdlQXR0 bm8gPSBzcmMtPmZwX3JhbmdlQXR0bm87CisJCWRzdC0+ZnBfcGVyaW9kU3RhcnRBdHRubyA9IHNy Yy0+ZnBfcGVyaW9kU3RhcnRBdHRubzsKKwkJZHN0LT5mcF9wZXJpb2RFbmRBdHRubyA9IHNyYy0+ ZnBfcGVyaW9kRW5kQXR0bm87CiAKIAkJciA9IERhdHVtR2V0UmFuZ2VUeXBlUChzcmMtPmZwX3Rh cmdldFJhbmdlKTsKIAkJdHlwY2FjaGUgPSBsb29rdXBfdHlwZV9jYWNoZShSYW5nZVR5cGVHZXRP aWQociksIFRZUEVDQUNIRV9SQU5HRV9JTkZPKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZpZXcuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYwppbmRleCA0Y2MyYWY3 YjVlYy4uZTA0ZWYxY2Y3MzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92aWV3LmMKQEAgLTE2Miw3ICsxNjIsNyBAQCBE ZWZpbmVWaXJ0dWFsUmVsYXRpb24oUmFuZ2VWYXIgKnJlbGF0aW9uLCBMaXN0ICp0bGlzdCwgYm9v bCByZXBsYWNlLAogCQkJfQogCiAJCQkvKiBFdmVudFRyaWdnZXJBbHRlclRhYmxlU3RhcnQgY2Fs bGVkIGJ5IFByb2Nlc3NVdGlsaXR5U2xvdyAqLwotCQkJQWx0ZXJUYWJsZUludGVybmFsKHZpZXdP aWQsIGF0Y21kcywgdHJ1ZSk7CisJCQlBbHRlclRhYmxlSW50ZXJuYWwodmlld09pZCwgYXRjbWRz LCB0cnVlLCBOVUxMKTsKIAogCQkJLyogTWFrZSB0aGUgbmV3IHZpZXcgY29sdW1ucyB2aXNpYmxl ICovCiAJCQlDb21tYW5kQ291bnRlckluY3JlbWVudCgpOwpAQCAtMTk0LDcgKzE5NCw3IEBAIERl ZmluZVZpcnR1YWxSZWxhdGlvbihSYW5nZVZhciAqcmVsYXRpb24sIExpc3QgKnRsaXN0LCBib29s IHJlcGxhY2UsCiAJCWF0Y21kcyA9IGxpc3RfbWFrZTEoYXRjbWQpOwogCiAJCS8qIEV2ZW50VHJp Z2dlckFsdGVyVGFibGVTdGFydCBjYWxsZWQgYnkgUHJvY2Vzc1V0aWxpdHlTbG93ICovCi0JCUFs dGVyVGFibGVJbnRlcm5hbCh2aWV3T2lkLCBhdGNtZHMsIHRydWUpOworCQlBbHRlclRhYmxlSW50 ZXJuYWwodmlld09pZCwgYXRjbWRzLCB0cnVlLCBOVUxMKTsKIAogCQkvKgogCQkgKiBUaGVyZSBp cyB2ZXJ5IGxpdHRsZSB0byBkbyBoZXJlIHRvIHVwZGF0ZSB0aGUgdmlldydzIGRlcGVuZGVuY2ll cy4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jIGIv c3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKaW5kZXggOTNiNmM3NDkwODMu LmM2YzBlZGM2OGM1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5 VGFibGUuYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYwpAQCAt MTM5Miw2ICsxMzkyLDcgQEAgRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNv bnRleHQgKmNvbnRleHQsCiAJVHJhbnNpdGlvbkNhcHR1cmVTdGF0ZSAqb2xkVGNzOwogCUZtZ3JJ bmZvCWZsaW5mbzsKIAlSZXR1cm5TZXRJbmZvIHJzaTsKKwlib29sCQloYXNQZXJpb2QgPSBmYWxz ZTsKIAlib29sCQlkaWRJbml0ID0gZmFsc2U7CiAJYm9vbAkJc2hvdWxkRnJlZSA9IGZhbHNlOwog CkBAIC0xNTQ2LDYgKzE1NDcsOCBAQCBFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKE1vZGlmeVRh YmxlQ29udGV4dCAqY29udGV4dCwKIAkJCQlFeGVjRm9yY2VTdG9yZUhlYXBUdXBsZShvbGR0dXBs ZSwgbGVmdG92ZXJTbG90LCBmYWxzZSk7CiAJCQl9CiAKKwkJCWhhc1BlcmlvZCA9IGZvclBvcnRp b25PZi0+c3RhcnRWYXI7CisKIAkJCS8qCiAJCQkgKiBTYXZlIHNvbWUgbXRzdGF0ZSB0aGluZ3Mg c28gd2UgY2FuIHJlc3RvcmUgdGhlbSBiZWxvdy4gWFhYOgogCQkJICogU2hvdWxkIHdlIGNyZWF0 ZSBvdXIgb3duIE1vZGlmeVRhYmxlU3RhdGUgaW5zdGVhZD8KQEAgLTE1NTcsOCArMTU2MCw0MiBA QCBFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwK IAkJCWRpZEluaXQgPSB0cnVlOwogCQl9CiAKLQkJbGVmdG92ZXJTbG90LT50dHNfdmFsdWVzW2Zv clBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBsZWZ0b3ZlcjsKLQkJbGVmdG92 ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0g PSBmYWxzZTsKKwkJaWYgKGhhc1BlcmlvZCkKKwkJeworCQkJUmFuZ2VUeXBlICAqbGVmdG92ZXJS YW5nZTsKKwkJCVJhbmdlQm91bmQJbGVmdG92ZXJMb3dlcjsKKwkJCVJhbmdlQm91bmQJbGVmdG92 ZXJVcHBlcjsKKwkJCWJvb2wJCWxlZnRvdmVyRW1wdHk7CisJCQlBdHRyTnVtYmVyCXN0YXJ0QXR0 bm87CisJCQlBdHRyTnVtYmVyCWVuZEF0dG5vOworCisJCQlsZWZ0b3ZlclJhbmdlID0gRGF0dW1H ZXRSYW5nZVR5cGVQKGxlZnRvdmVyKTsKKwkJCXJhbmdlX2Rlc2VyaWFsaXplKHR5cGNhY2hlLCBs ZWZ0b3ZlclJhbmdlLCAmbGVmdG92ZXJMb3dlciwgJmxlZnRvdmVyVXBwZXIsICZsZWZ0b3ZlckVt cHR5KTsKKworCQkJc3RhcnRBdHRubyA9IGZvclBvcnRpb25PZi0+c3RhcnRWYXItPnZhcmF0dG5v OworCQkJZW5kQXR0bm8gPSBmb3JQb3J0aW9uT2YtPmVuZFZhci0+dmFyYXR0bm87CisKKwkJCWlm IChsZWZ0b3Zlckxvd2VyLmluZmluaXRlKQorCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtz dGFydEF0dG5vIC0gMV0gPSB0cnVlOworCQkJZWxzZQorCQkJeworCQkJCWxlZnRvdmVyU2xvdC0+ dHRzX2lzbnVsbFtzdGFydEF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0 c192YWx1ZXNbc3RhcnRBdHRubyAtIDFdID0gbGVmdG92ZXJMb3dlci52YWw7CisJCQl9CisKKwkJ CWlmIChsZWZ0b3ZlclVwcGVyLmluZmluaXRlKQorCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVs bFtlbmRBdHRubyAtIDFdID0gdHJ1ZTsKKwkJCWVsc2UKKwkJCXsKKwkJCQlsZWZ0b3ZlclNsb3Qt PnR0c19pc251bGxbZW5kQXR0bm8gLSAxXSA9IGZhbHNlOworCQkJCWxlZnRvdmVyU2xvdC0+dHRz X3ZhbHVlc1tlbmRBdHRubyAtIDFdID0gbGVmdG92ZXJVcHBlci52YWw7CisJCQl9CisJCX0KKwkJ ZWxzZQorCQl7CisJCQlsZWZ0b3ZlclNsb3QtPnR0c192YWx1ZXNbZm9yUG9ydGlvbk9mLT5yYW5n ZVZhci0+dmFyYXR0bm8gLSAxXSA9IGxlZnRvdmVyOworCQkJbGVmdG92ZXJTbG90LT50dHNfaXNu dWxsW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJfQog CQlFeGVjTWF0ZXJpYWxpemVTbG90KGxlZnRvdmVyU2xvdCk7CiAKIAkJLyoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1 bmNzLmMKaW5kZXggZDc3NDM1OGNmZmIuLjU2NTRmYjAxMDhjIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9ub2Rlcy9ub2RlRnVuY3MuYworKysgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3Mu YwpAQCAtMTcyOSw2ICsxNzI5LDkgQEAgZXhwckxvY2F0aW9uKGNvbnN0IE5vZGUgKmV4cHIpCiAJ CWNhc2UgVF9Db25zdHJhaW50OgogCQkJbG9jID0gKChjb25zdCBDb25zdHJhaW50ICopIGV4cHIp LT5sb2NhdGlvbjsKIAkJCWJyZWFrOworCQljYXNlIFRfUGVyaW9kRGVmOgorCQkJbG9jID0gKChj b25zdCBQZXJpb2REZWYgKikgZXhwciktPmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9G dW5jdGlvblBhcmFtZXRlcjoKIAkJCWxvYyA9ICgoY29uc3QgRnVuY3Rpb25QYXJhbWV0ZXIgKikg ZXhwciktPmxvY2F0aW9uOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJz ZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRleCA1NjhlOTcz YjhiOS4uYjhjYjk2NTJhZWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXpl LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMjQsMTEgKzI0LDEzIEBA CiAKICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCisjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWls cy5oIgogI2luY2x1ZGUgImFjY2Vzcy9zdHJhdG51bS5oIgogI2luY2x1ZGUgImFjY2Vzcy9zeXNh dHRyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5LmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19hbS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNsdWRlICJj YXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgogI2luY2x1 ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgpAQCAt NTEsNiArNTMsNyBAQAogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9yZWxhdGlvbi5oIgogI2luY2x1 ZGUgInBhcnNlci9wYXJzZV90YXJnZXQuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfdHlwZS5o IgorI2luY2x1ZGUgInBhcnNlci9wYXJzZXIuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2V0cmVl LmgiCiAjaW5jbHVkZSAidXRpbHMvYmFja2VuZF9zdGF0dXMuaCIKICNpbmNsdWRlICJ1dGlscy9i dWlsdGlucy5oIgpAQCAtMTMwNCw4ICsxMzA3LDEzIEBAIHRyYW5zZm9ybUZvclBvcnRpb25PZkNs YXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJYm9vbCBpc1VwZGF0ZSkKIHsKIAlSZWxh dGlvbgl0YXJnZXRyZWwgPSBwc3RhdGUtPnBfdGFyZ2V0X3JlbGF0aW9uOworCVJURVBlcm1pc3Np b25JbmZvICp0YXJnZXRfcGVybWluZm8gPSBwc3RhdGUtPnBfdGFyZ2V0X25zaXRlbS0+cF9wZXJt aW5mbzsKIAljaGFyCSAgICpyYW5nZV9uYW1lID0gZm9yUG9ydGlvbk9mLT5yYW5nZV9uYW1lOwog CWludAkJCXJhbmdlX2F0dG5vID0gSW52YWxpZEF0dHJOdW1iZXI7CisJQXR0ck51bWJlcglzdGFy dF9hdHRubyA9IEludmFsaWRBdHRyTnVtYmVyOworCUF0dHJOdW1iZXIJZW5kX2F0dG5vID0gSW52 YWxpZEF0dHJOdW1iZXI7CisJY2hhcgkgICAqc3RhcnRjb2xuYW1lID0gTlVMTDsKKwljaGFyCSAg ICplbmRjb2xuYW1lID0gTlVMTDsKIAlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyOwogCU9pZAkJCWF0 dGJhc2V0eXBlOwogCU9pZAkJCW9wY2xhc3M7CkBAIC0xMzQ5LDkgKzEzNTcsNiBAQCB0cmFuc2Zv cm1Gb3JQb3J0aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCXJhbmdlVmFyLT5sb2Nh dGlvbiA9IGZvclBvcnRpb25PZi0+bG9jYXRpb247CiAJcmVzdWx0LT5yYW5nZVZhciA9IHJhbmdl VmFyOwogCi0JLyogUmVxdWlyZSBTRUxFQ1QgcHJpdmlsZWdlIG9uIHRoZSBhcHBsaWNhdGlvbi10 aW1lIGNvbHVtbi4gKi8KLQltYXJrVmFyRm9yU2VsZWN0UHJpdihwc3RhdGUsIHJhbmdlVmFyKTsK LQogCS8qCiAJICogVXNlIHRoZSBiYXNldHlwZSBmb3IgdGhlIHRhcmdldCwgd2hpY2ggc2hvdWxk bid0IGJlIHJlcXVpcmVkIHRvIGZvbGxvdwogCSAqIGRvbWFpbiBydWxlcy4gVGhlIHRhYmxlJ3Mg Y29sdW1uIHR5cGUgaXMgaW4gdGhlIFZhciBpZiB3ZSBuZWVkIGl0LgpAQCAtMTM1OSw2ICsxMzY0 LDYxIEBAIHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJ cmVzdWx0LT5yYW5nZVR5cGUgPSBhdHRiYXNldHlwZTsKIAlyZXN1bHQtPmlzRG9tYWluID0gYXR0 YmFzZXR5cGUgIT0gYXR0ci0+YXR0dHlwaWQ7CiAKKwkvKgorCSAqIElmIHdlIGFyZSB1c2luZyBh IFBFUklPRCwgd2UgbmVlZCB0aGUgc3RhcnQgJiBlbmQgY29sdW1ucy4gSWYgdGhlCisJICogYXR0 cmlidXRlIGlzIG5vdCBhIEdFTkVSQVRFRCBjb2x1bW4sIHdlIG5lZWRuJ3QgcXVlcnkgcGdfcGVy aW9kLgorCSAqLworCWlmIChhdHRyLT5hdHRnZW5lcmF0ZWQgPT0gQVRUUklCVVRFX0dFTkVSQVRF RF9TVE9SRUQpCisJeworCQlIZWFwVHVwbGUJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVS SU9ETkFNRSwKKwkJCQkJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlk KHRhcmdldHJlbCkpLAorCQkJCQkJCQkJCQkgICBQb2ludGVyR2V0RGF0dW0ocmFuZ2VfbmFtZSkp OworCisJCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHBlclR1cGxlKSkKKwkJeworCQkJRm9ybV9wZ19w ZXJpb2QgcGVyID0gKEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1QocGVyVHVwbGUpOworCQkJRm9y bV9wZ19hdHRyaWJ1dGUgcGVyYXR0cjsKKworCQkJc3RhcnRfYXR0bm8gPSBwZXItPnBlcnN0YXJ0 OworCQkJZW5kX2F0dG5vID0gcGVyLT5wZXJlbmQ7CisKKwkJCXBlcmF0dHIgPSBUdXBsZURlc2NB dHRyKHRhcmdldHJlbC0+cmRfYXR0LCBzdGFydF9hdHRubyAtIDEpOworCQkJc3RhcnRjb2xuYW1l ID0gTmFtZVN0cihwZXJhdHRyLT5hdHRuYW1lKTsKKworCQkJcmVzdWx0LT5zdGFydFZhciA9IG1h a2VWYXIoCisJCQkJCQkJCQkgICBydGluZGV4LAorCQkJCQkJCQkJICAgc3RhcnRfYXR0bm8sCisJ CQkJCQkJCQkgICBwZXJhdHRyLT5hdHR0eXBpZCwKKwkJCQkJCQkJCSAgIHBlcmF0dHItPmF0dHR5 cG1vZCwKKwkJCQkJCQkJCSAgIHBlcmF0dHItPmF0dGNvbGxhdGlvbiwKKwkJCQkJCQkJCSAgIDAp OworCisJCQlwZXJhdHRyID0gVHVwbGVEZXNjQXR0cih0YXJnZXRyZWwtPnJkX2F0dCwgZW5kX2F0 dG5vIC0gMSk7CisJCQllbmRjb2xuYW1lID0gTmFtZVN0cihwZXJhdHRyLT5hdHRuYW1lKTsKKwkJ CXJlc3VsdC0+ZW5kVmFyID0gbWFrZVZhcigKKwkJCQkJCQkJCSBydGluZGV4LAorCQkJCQkJCQkJ IGVuZF9hdHRubywKKwkJCQkJCQkJCSBwZXJhdHRyLT5hdHR0eXBpZCwKKwkJCQkJCQkJCSBwZXJh dHRyLT5hdHR0eXBtb2QsCisJCQkJCQkJCQkgcGVyYXR0ci0+YXR0Y29sbGF0aW9uLAorCQkJCQkJ CQkJIDApOworCisJCQkvKgorCQkJICogUmVxdWlyZSBTRUxFQ1QgcHJpdmlsZWdlIG9uIHRoZSBz dGFydC9lbmQgY29sdW1ucy4gV2UgZG9uJ3QKKwkJCSAqIGNoZWNrIHBlcm1pc3Npb25zIG9uIEdF TkVSQVRFRCBjb2x1bW5zLgorCQkJICovCisJCQltYXJrVmFyRm9yU2VsZWN0UHJpdihwc3RhdGUs IHJlc3VsdC0+c3RhcnRWYXIpOworCQkJbWFya1ZhckZvclNlbGVjdFByaXYocHN0YXRlLCByZXN1 bHQtPmVuZFZhcik7CisKKwkJCVJlbGVhc2VTeXNDYWNoZShwZXJUdXBsZSk7CisJCX0KKwl9CisJ ZWxzZQorCXsKKwkJLyogUmVxdWlyZSBTRUxFQ1QgcHJpdmlsZWdlIG9uIHRoZSBhcHBsaWNhdGlv bi10aW1lIGNvbHVtbi4gKi8KKwkJbWFya1ZhckZvclNlbGVjdFByaXYocHN0YXRlLCByYW5nZVZh cik7CisJfQorCiAJaWYgKGZvclBvcnRpb25PZi0+dGFyZ2V0KQogCXsKIAkJT2lkCQkJZGVjbGFy ZWRfdGFyZ2V0X3R5cGUgPSBhdHRiYXNldHlwZTsKQEAgLTE1MjksNyArMTU4OSwxMCBAQCB0cmFu c2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkvKgogCQkgKiBO b3cgbWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUgc3RhcnQvZW5kIHRpbWUgb2YgdGhlIHJlY29yZC4g Rm9yIGEKIAkJICogcmFuZ2UgY29sIChyKSB0aGlzIGlzIGByID0gciAqIHRhcmdldFJhbmdlYCAo d2hlcmUgKiBpcyB0aGUKLQkJICogaW50ZXJzZWN0IG9wZXJhdG9yKS4KKwkJICogaW50ZXJzZWN0 IG9wZXJhdG9yKS4gRm9yIGEgUEVSSU9EIHdpdGggY29scyAocywgZSkgdGhpcyBpcyBgcyA9CisJ CSAqIGxvd2VyKHRzcmFuZ2UocywgZSkgKiB0YXJnZXRSYW5nZSlgIGFuZCBgZSA9IHVwcGVyKHRz cmFuZ2UocywgZSkgKgorCQkgKiB0YXJnZXRSYW5nZSlgIChvZiBjb3Vyc2Ugbm90IG5lY2Vzc2Fy aWx5IHdpdGggdHNyYW5nZSwgYnV0IHdpdGgKKwkJICogd2hhdGV2ZXIgcmFuZ2UgdHlwZSBpcyB1 c2VkIHRoZXJlKS4KIAkJICovCiAJCU9pZAkJCWludGVyc2VjdG9wZXJvaWQ7CiAJCUxpc3QJICAg KmZ1bmNBcmdzOwpAQCAtMTU3OCwxNSArMTY0MSw4MiBAQCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZD bGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkgICBDT0VSQ0VfSU1QTElDSVRfQ0FT VCwKIAkJCQkJCQkJICAgZXhwckxvY2F0aW9uKGZvclBvcnRpb25PZi0+dGFyZ2V0KSk7CiAKLQkJ LyogTWFrZSBhIFRMRSB0byBzZXQgdGhlIHJhbmdlIGNvbHVtbiAqLworCQkvKiBNYWtlIGEgVExF IHRvIHNldCB0aGUgcmFuZ2UgY29sdW1uIG9yIHN0YXJ0L2VuZCBjb2x1bW5zICovCiAJCXJlc3Vs dC0+cmFuZ2VUYXJnZXRMaXN0ID0gTklMOwotCQl0bGUgPSBtYWtlVGFyZ2V0RW50cnkoKEV4cHIg KikgcmFuZ2VUTEVFeHByLCByYW5nZV9hdHRubywgcmFuZ2VfbmFtZSwKLQkJCQkJCQkgIGZhbHNl KTsKLQkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJn ZXRMaXN0LCB0bGUpOworCisJCWlmIChyZXN1bHQtPnN0YXJ0VmFyKQorCQl7CisJCQlGdW5jRXhw ciAgICpib3VuZFRMRUV4cHI7CisJCQlPaWQJCQlhcmdfdHlwZXNbMV0gPSB7QU5ZUkFOR0VPSUR9 OworCQkJRnVuY0RldGFpbENvZGUgZmRyZXN1bHQ7CisJCQlpbnQJCQlmZ2NfZmxhZ3M7CisJCQlP aWQJCQlyZXR0eXBlOworCQkJYm9vbAkJcmV0c2V0OworCQkJaW50CQkJbnZhcmdzOworCQkJT2lk CQkJdmF0eXBlOworCQkJT2lkCQkgICAqZGVjbGFyZWRfYXJnX3R5cGVzOworCQkJT2lkCQkJZWxl bXR5cGlkID0gZ2V0X3JhbmdlX3N1YnR5cGUoYXR0ci0+YXR0dHlwaWQpOworCisJCQkvKiBzZXQg dGhlIHN0YXJ0IGNvbHVtbiAqLworCQkJZmRyZXN1bHQgPSBmdW5jX2dldF9kZXRhaWwoU3lzdGVt RnVuY05hbWUoImxvd2VyIiksIE5JTCwgTklMLCAxLAorCQkJCQkJCQkJICAgYXJnX3R5cGVzLAor CQkJCQkJCQkJICAgZmFsc2UsIGZhbHNlLCBmYWxzZSwgJmZnY19mbGFncywKKwkJCQkJCQkJCSAg ICZmdW5jaWQsICZyZXR0eXBlLCAmcmV0c2V0LAorCQkJCQkJCQkJICAgJm52YXJncywgJnZhdHlw ZSwKKwkJCQkJCQkJCSAgICZkZWNsYXJlZF9hcmdfdHlwZXMsIE5VTEwpOworCQkJaWYgKGZkcmVz dWx0ICE9IEZVTkNERVRBSUxfTk9STUFMKQorCQkJCWVsb2coRVJST1IsICJmYWlsZWQgdG8gZmlu ZCBsb3dlcihhbnlyYW5nZSkgZnVuY3Rpb24iKTsKKwkJCWJvdW5kVExFRXhwciA9IG1ha2VGdW5j RXhwcihmdW5jaWQsCisJCQkJCQkJCQkJZWxlbXR5cGlkLAorCQkJCQkJCQkJCWxpc3RfbWFrZTEo cmFuZ2VUTEVFeHByKSwKKwkJCQkJCQkJCQlJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLAorCQkJCQkJ CQkJCUNPRVJDRV9FWFBMSUNJVF9DQUxMKTsKKwkJCXRsZSA9IG1ha2VUYXJnZXRFbnRyeSgoRXhw ciAqKSBib3VuZFRMRUV4cHIsIHN0YXJ0X2F0dG5vLAorCQkJCQkJCQkgIHN0YXJ0Y29sbmFtZSwg ZmFsc2UpOworCQkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFu Z2VUYXJnZXRMaXN0LCB0bGUpOworCisJCQkvKiBzZXQgdGhlIGVuZCBjb2x1bW4gKi8KKwkJCWZk cmVzdWx0ID0gZnVuY19nZXRfZGV0YWlsKFN5c3RlbUZ1bmNOYW1lKCJ1cHBlciIpLCBOSUwsIE5J TCwgMSwKKwkJCQkJCQkJCSAgIGFyZ190eXBlcywKKwkJCQkJCQkJCSAgIGZhbHNlLCBmYWxzZSwg ZmFsc2UsICZmZ2NfZmxhZ3MsCisJCQkJCQkJCQkgICAmZnVuY2lkLCAmcmV0dHlwZSwgJnJldHNl dCwKKwkJCQkJCQkJCSAgICZudmFyZ3MsICZ2YXR5cGUsCisJCQkJCQkJCQkgICAmZGVjbGFyZWRf YXJnX3R5cGVzLCBOVUxMKTsKKwkJCWlmIChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCkK KwkJCQllbG9nKEVSUk9SLCAiZmFpbGVkIHRvIGZpbmQgdXBwZXIoYW55cmFuZ2UpIGZ1bmN0aW9u Iik7CisJCQlib3VuZFRMRUV4cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLAorCQkJCQkJCQkJCWVs ZW10eXBpZCwKKwkJCQkJCQkJCQlsaXN0X21ha2UxKHJhbmdlVExFRXhwciksCisJCQkJCQkJCQkJ SW52YWxpZE9pZCwgSW52YWxpZE9pZCwKKwkJCQkJCQkJCQlDT0VSQ0VfRVhQTElDSVRfQ0FMTCk7 CisJCQl0bGUgPSBtYWtlVGFyZ2V0RW50cnkoKEV4cHIgKikgYm91bmRUTEVFeHByLCBlbmRfYXR0 bm8sIGVuZGNvbG5hbWUsIGZhbHNlKTsKKwkJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFw cGVuZChyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCwgdGxlKTsKKworCQkJLyoKKwkJCSAqIE1hcmsg dGhlIHN0YXJ0L2VuZCBjb2x1bW5zIGFzIHJlcXVpcmluZyB1cGRhdGUgcGVybWlzc2lvbnMuIEFz CisJCQkgKiB1c3VhbCwgd2UgZG9uJ3QgY2hlY2sgcGVybWlzc2lvbnMgZm9yIHRoZSBHRU5FUkFU RUQgY29sdW1uLgorCQkJICogVE9ETzogUGV0ZXIgc2F5cyB3ZSBkb24ndCBuZWVkIHVwZGF0ZSBw ZXJtaXNzaW9uIGZvciB0aGUKKwkJCSAqIGFwcGxpY2F0aW9uLXRpbWUgY29sdW1uLCBzbyB3ZSBz aG91bGQgcmVtb3ZlIHRoZXNlIGxpbmVzLiBCdXQKKwkJCSAqIHRoZW4gRXhlY0luaXRHZW5lcmF0 ZWQgdGhpbmtzIGl0IGRvZXNuJ3QgbmVlZCB0byB1cGRhdGUgdGhlCisJCQkgKiBHRU5FUkFURUQg Y29sdW1uLCBiZWNhdXNlIEV4ZWNHZXRVcGRhdGVkQ29scyByZWxpZXMgb24KKwkJCSAqIHBlcm1p bmZvLT51cGRhdGVkQ29scyB0byBkZWNpZGUgd2hpY2ggY29sdW1ucyBhcmUgYmVpbmcKKwkJCSAq IHVwZGF0ZWQuCisJCQkgKi8KKwkJCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNf YWRkX21lbWJlcih0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJCQkJCQkg IHN0YXJ0X2F0dG5vIC0gRmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7CisJCQl0 YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzID0gYm1zX2FkZF9tZW1iZXIodGFyZ2V0X3Blcm1p bmZvLT51cGRhdGVkQ29scywKKwkJCQkJCQkJCQkJCQkJICBlbmRfYXR0bm8gLSBGaXJzdExvd0lu dmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXRsZSA9IG1h a2VUYXJnZXRFbnRyeSgoRXhwciAqKSByYW5nZVRMRUV4cHIsIHJhbmdlX2F0dG5vLAorCQkJCQkJ CQkgIHJhbmdlX25hbWUsIGZhbHNlKTsKKwkJCXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFw cGVuZChyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCwgdGxlKTsKKwkJfQogCiAJCS8qCi0JCSAqIFRo ZSByYW5nZSBjb2x1bW4gd2lsbCBjaGFuZ2UsIGJ1dCB5b3UgZG9uJ3QgbmVlZCBVUERBVEUgcGVy bWlzc2lvbgotCQkgKiBvbiBpdCwgc28gd2UgZG9uJ3QgYWRkIHRvIHVwZGF0ZWRDb2xzIGhlcmUu CisJCSAqIFRoZSByYW5nZS9zdGFydC9lbmQgY29sdW1uKHMpIHdpbGwgY2hhbmdlLCBidXQgeW91 IGRvbid0IG5lZWQKKwkJICogVVBEQVRFIHBlcm1pc3Npb24gb24gdGhlbSwgc28gd2UgZG9uJ3Qg YWRkIHRvIHVwZGF0ZWRDb2xzIGhlcmUuCiAJCSAqLwogCX0KIAllbHNlCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRl eCBkMGUzN2UwOTE3OS4uMDcxNTA2MjA2MDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNTk5LDcgKzU5OSw3 IEBAIHN0YXRpYyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBM aXN0ICphbGlhc2VzLCBOb2RlICpxdWVyeSk7CiAldHlwZSA8a2V5d29yZD4gY29sX25hbWVfa2V5 d29yZCByZXNlcnZlZF9rZXl3b3JkCiAldHlwZSA8a2V5d29yZD4gYmFyZV9sYWJlbF9rZXl3b3Jk CiAKLSV0eXBlIDxub2RlPglEb21haW5Db25zdHJhaW50IFRhYmxlQ29uc3RyYWludCBUYWJsZUxp a2VDbGF1c2UKKyV0eXBlIDxub2RlPglEb21haW5Db25zdHJhaW50IFRhYmxlQ29uc3RyYWludCBU YWJsZUxpa2VDbGF1c2UgVGFibGVQZXJpb2QKICV0eXBlIDxpdmFsPglUYWJsZUxpa2VPcHRpb25M aXN0IFRhYmxlTGlrZU9wdGlvbgogJXR5cGUgPHN0cj4JCWNvbHVtbl9jb21wcmVzc2lvbiBvcHRf Y29sdW1uX2NvbXByZXNzaW9uIGNvbHVtbl9zdG9yYWdlIG9wdF9jb2x1bW5fc3RvcmFnZQogJXR5 cGUgPGxpc3Q+CUNvbFF1YWxMaXN0CkBAIC0yNzEyLDYgKzI3MTIsMjQgQEAgYWx0ZXJfdGFibGVf Y21kOgogCQkJCQluLT5kZWYgPSAoTm9kZSAqKSAkNDsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwog CQkJCX0KKwkJCS8qIEFMVEVSIFRBQkxFIDxuYW1lPiBBREQgUEVSSU9EIEZPUiA8bmFtZT4gKDxu YW1lPiwgPG5hbWU+KSAqLworCQkJfCBBRERfUCBUYWJsZVBlcmlvZAorCQkJCXsKKwkJCQkJQWx0 ZXJUYWJsZUNtZCAqbiA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQkJCQluLT5zdWJ0eXBl ID0gQVRfQWRkUGVyaW9kOworCQkJCQluLT5kZWYgPSAkMjsKKwkJCQkJJCQgPSAoTm9kZSAqKW47 CisJCQkJfQorCQkJLyogQUxURVIgVEFCTEUgPG5hbWU+IERST1AgUEVSSU9EIEZPUiA8bmFtZT4g W1JFU1RSSUNUfENBU0NBREVdICovCisJCQl8IERST1AgUEVSSU9EIEZPUiBuYW1lIG9wdF9kcm9w X2JlaGF2aW9yCisJCQkJeworCQkJCQlBbHRlclRhYmxlQ21kICpuID0gbWFrZU5vZGUoQWx0ZXJU YWJsZUNtZCk7CisJCQkJCW4tPnN1YnR5cGUgPSBBVF9Ecm9wUGVyaW9kOworCQkJCQluLT5uYW1l ID0gJDQ7CisJCQkJCW4tPmJlaGF2aW9yID0gJDU7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSBmYWxz ZTsKKwkJCQkJJCQgPSAoTm9kZSAqKW47CisJCQkJfQogCQkJLyogQUxURVIgVEFCTEUgPG5hbWU+ IEFERCBDT05TVFJBSU5UIC4uLiAqLwogCQkJfCBBRERfUCBUYWJsZUNvbnN0cmFpbnQKIAkJCQl7 CkBAIC0zODc0LDggKzM4OTIsMTAgQEAgVGFibGVFbGVtZW50OgogCQkJY29sdW1uRGVmCQkJCQkJ CXsgJCQgPSAkMTsgfQogCQkJfCBUYWJsZUxpa2VDbGF1c2UJCQkJCXsgJCQgPSAkMTsgfQogCQkJ fCBUYWJsZUNvbnN0cmFpbnQJCQkJCXsgJCQgPSAkMTsgfQorCQkJfCBUYWJsZVBlcmlvZAkJCQkJ CXsgJCQgPSAkMTsgfQogCQk7CiAKKwogVHlwZWRUYWJsZUVsZW1lbnQ6CiAJCQljb2x1bW5PcHRp b25zCQkJCQkJeyAkJCA9ICQxOyB9CiAJCQl8IFRhYmxlQ29uc3RyYWludAkJCQkJeyAkJCA9ICQx OyB9CkBAIC00MjUzLDYgKzQyNzMsMTkgQEAgVGFibGVMaWtlT3B0aW9uOgogCQk7CiAKIAorVGFi bGVQZXJpb2Q6CisJCQlQRVJJT0QgRk9SIG5hbWUgJygnIG5hbWUgJywnIG5hbWUgJyknIG9wdF9k ZWZpbml0aW9uCisJCQkJeworCQkJCQlQZXJpb2REZWYgKm4gPSBtYWtlTm9kZShQZXJpb2REZWYp OworCQkJCQluLT5wZXJpb2RuYW1lID0gJDM7CisJCQkJCW4tPnN0YXJ0Y29sbmFtZSA9ICQ1Owor CQkJCQluLT5lbmRjb2xuYW1lID0gJDc7CisJCQkJCW4tPm9wdGlvbnMgPSAkOTsKKwkJCQkJbi0+ bG9jYXRpb24gPSBAMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCiAvKiBD b25zdHJhaW50RWxlbSBzcGVjaWZpZXMgY29uc3RyYWludCBzeW50YXggd2hpY2ggaXMgbm90IGVt YmVkZGVkIGludG8KICAqCWEgY29sdW1uIGRlZmluaXRpb24uIENvbENvbnN0cmFpbnRFbGVtIHNw ZWNpZmllcyB0aGUgZW1iZWRkZWQgZm9ybS4KICAqIC0gdGhvbWFzIDE5OTctMTItMDMKQEAgLTcz ODcsNiArNzQyMCwxNCBAQCBDb21tZW50U3RtdDoKIAkJCQkJbi0+Y29tbWVudCA9ICQ5OwogCQkJ CQkkJCA9IChOb2RlICopIG47CiAJCQkJfQorCQkJfCBDT01NRU5UIE9OIFBFUklPRCBhbnlfbmFt ZSBJUyBjb21tZW50X3RleHQKKwkJCQl7CisJCQkJCUNvbW1lbnRTdG10ICpuID0gbWFrZU5vZGUo Q29tbWVudFN0bXQpOworCQkJCQluLT5vYmp0eXBlID0gT0JKRUNUX1BFUklPRDsKKwkJCQkJbi0+ b2JqZWN0ID0gKE5vZGUgKikgJDQ7CisJCQkJCW4tPmNvbW1lbnQgPSAkNjsKKwkJCQkJJCQgPSAo Tm9kZSAqKSBuOworCQkJCX0KIAkJCXwgQ09NTUVOVCBPTiBMQVJHRV9QIE9CSkVDVF9QIE51bWVy aWNPbmx5IElTIGNvbW1lbnRfdGV4dAogCQkJCXsKIAkJCQkJQ29tbWVudFN0bXQgKm4gPSBtYWtl Tm9kZShDb21tZW50U3RtdCk7CkBAIC0xODEyNiw3ICsxODE2Nyw2IEBAIHVucmVzZXJ2ZWRfa2V5 d29yZDoKIAkJCXwgUEFTU0lORwogCQkJfCBQQVNTV09SRAogCQkJfCBQQVRICi0JCQl8IFBFUklP RAogCQkJfCBQTEFOCiAJCQl8IFBMQU5TCiAJCQl8IFBPTElDWQpAQCAtMTg0MzMsNiArMTg0NzMs NyBAQCByZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBPTkxZCiAJCQl8IE9SCiAJCQl8IE9SREVSCisJ CQl8IFBFUklPRAogCQkJfCBQTEFDSU5HCiAJCQl8IFBSSU1BUlkKIAkJCXwgUkVGRVJFTkNFUwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9uLmMgYi9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfcmVsYXRpb24uYwppbmRleCBkNTQ0YTY5ZmM4MC4uMDg4OTM0Y2Y5 MDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCisrKyBi L3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCkBAIC0yMSw2ICsyMSw4IEBACiAj aW5jbHVkZSAiYWNjZXNzL3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9oZWFwLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9uYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5o IgorI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNp bmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIK QEAgLTMyODksNiArMzI5MSw3IEBAIGV4cGFuZE5TSXRlbUF0dHJzKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgUGFyc2VOYW1lc3BhY2VJdGVtICpuc2l0ZW0sCiAJCQkJICBpbnQgc3VibGV2ZWxzX3VwLCBi b29sIHJlcXVpcmVfY29sX3ByaXZzLCBpbnQgbG9jYXRpb24pCiB7CiAJUmFuZ2VUYmxFbnRyeSAq cnRlID0gbnNpdGVtLT5wX3J0ZTsKKwlCaXRtYXBzZXQgICpwZXJpb2RhdHRzID0gTlVMTDsKIAlS VEVQZXJtaXNzaW9uSW5mbyAqcGVybWluZm8gPSBuc2l0ZW0tPnBfcGVybWluZm87CiAJTGlzdAkg ICAqbmFtZXMsCiAJCQkgICAqdmFyczsKQEAgLTMzMTIsMTIgKzMzMTUsMjAgQEAgZXhwYW5kTlNJ dGVtQXR0cnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQYXJzZU5hbWVzcGFjZUl0ZW0gKm5zaXRlbSwK IAkJcGVybWluZm8tPnJlcXVpcmVkUGVybXMgfD0gQUNMX1NFTEVDVDsKIAl9CiAKKwkvKiBHZXQg UEVSSU9EIGNvbHVtbnMgdG8gZXhjbHVkZSAqLworCWlmIChydGUtPnJ0ZWtpbmQgPT0gUlRFX1JF TEFUSU9OKQorCQlwZXJpb2RhdHRzID0gZ2V0X3BlcmlvZF9hdHRub3MocnRlLT5yZWxpZCk7CisK IAlmb3Jib3RoKG5hbWUsIG5hbWVzLCB2YXIsIHZhcnMpCiAJewogCQljaGFyCSAgICpsYWJlbCA9 IHN0clZhbChsZmlyc3QobmFtZSkpOwogCQlWYXIJCSAgICp2YXJub2RlID0gKFZhciAqKSBsZmly c3QodmFyKTsKIAkJVGFyZ2V0RW50cnkgKnRlOwogCisJCS8qIElmIHRoaXMgY29sdW1uIGlzIGZy b20gYSBQRVJJT0QsIHNraXAgaXQgKi8KKwkJaWYgKGJtc19pc19tZW1iZXIodmFybm9kZS0+dmFy YXR0bm8sIHBlcmlvZGF0dHMpKQorCQkJY29udGludWU7CisKIAkJdGUgPSBtYWtlVGFyZ2V0RW50 cnkoKEV4cHIgKikgdmFybm9kZSwKIAkJCQkJCQkgKEF0dHJOdW1iZXIpIHBzdGF0ZS0+cF9uZXh0 X3Jlc25vKyssCiAJCQkJCQkJIGxhYmVsLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5k ZXggZTk2YjM4YTU5ZDUuLjY3ZTM2YWMxMzgzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21k LmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29w ZXJhdG9yLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2QuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3N0YXRpc3RpY19leHQuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNp bmNsdWRlICJjb21tYW5kcy9jb21tZW50LmgiCkBAIC04MCw2ICs4MSw3IEBAIHR5cGVkZWYgc3Ry dWN0CiAJYm9vbAkJaXNmb3JlaWduOwkJLyogdHJ1ZSBpZiBDUkVBVEUvQUxURVIgRk9SRUlHTiBU QUJMRSAqLwogCWJvb2wJCWlzYWx0ZXI7CQkvKiB0cnVlIGlmIGFsdGVyaW5nIGV4aXN0aW5nIHRh YmxlICovCiAJTGlzdAkgICAqY29sdW1uczsJCS8qIENvbHVtbkRlZiBpdGVtcyAqLworCUxpc3QJ ICAgKnBlcmlvZHM7CQkvKiBQZXJpb2REZWYgaXRlbXMgKi8KIAlMaXN0CSAgICpja2NvbnN0cmFp bnRzOwkvKiBDSEVDSyBjb25zdHJhaW50cyAqLwogCUxpc3QJICAgKm5uY29uc3RyYWludHM7CS8q IE5PVCBOVUxMIGNvbnN0cmFpbnRzICovCiAJTGlzdAkgICAqZmtjb25zdHJhaW50czsJLyogRk9S RUlHTiBLRVkgY29uc3RyYWludHMgKi8KQEAgLTExMCw2ICsxMTIsOCBAQCB0eXBlZGVmIHN0cnVj dAogCiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250 ZXh0ICpjeHQsCiAJCQkJCQkJCQkgIENvbHVtbkRlZiAqY29sdW1uKTsKK3N0YXRpYyB2b2lkIHRy YW5zZm9ybVRhYmxlUGVyaW9kKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCisJCQkJCQkJCSBQZXJp b2REZWYgKnBlcmlvZCk7CiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1UYWJsZUNvbnN0cmFpbnQoQ3Jl YXRlU3RtdENvbnRleHQgKmN4dCwKIAkJCQkJCQkJCSBDb25zdHJhaW50ICpjb25zdHJhaW50KTsK IHN0YXRpYyB2b2lkIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShDcmVhdGVTdG10Q29udGV4dCAq Y3h0LApAQCAtMjQwLDYgKzI0NCw3IEBAIHRyYW5zZm9ybUNyZWF0ZVN0bXQoQ3JlYXRlU3RtdCAq c3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJY3h0LmluaFJlbGF0aW9ucyA9IHN0bXQt PmluaFJlbGF0aW9uczsKIAljeHQuaXNhbHRlciA9IGZhbHNlOwogCWN4dC5jb2x1bW5zID0gTklM OworCWN4dC5wZXJpb2RzID0gTklMOwogCWN4dC5ja2NvbnN0cmFpbnRzID0gTklMOwogCWN4dC5u bmNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5ma2NvbnN0cmFpbnRzID0gTklMOwpAQCAtMjc5LDYg KzI4NCwxMCBAQCB0cmFuc2Zvcm1DcmVhdGVTdG10KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNo YXIgKnF1ZXJ5U3RyaW5nKQogCQkJCXRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oJmN4dCwgKENv bHVtbkRlZiAqKSBlbGVtZW50KTsKIAkJCQlicmVhazsKIAorCQkJY2FzZSBUX1BlcmlvZERlZjoK KwkJCQl0cmFuc2Zvcm1UYWJsZVBlcmlvZCgmY3h0LCAoUGVyaW9kRGVmICopIGVsZW1lbnQpOwor CQkJCWJyZWFrOworCiAJCQljYXNlIFRfQ29uc3RyYWludDoKIAkJCQl0cmFuc2Zvcm1UYWJsZUNv bnN0cmFpbnQoJmN4dCwgKENvbnN0cmFpbnQgKikgZWxlbWVudCk7CiAJCQkJYnJlYWs7CkBAIC0z NjcsNiArMzc2LDcgQEAgdHJhbnNmb3JtQ3JlYXRlU3RtdChDcmVhdGVTdG10ICpzdG10LCBjb25z dCBjaGFyICpxdWVyeVN0cmluZykKIAkgKiBPdXRwdXQgcmVzdWx0cy4KIAkgKi8KIAlzdG10LT50 YWJsZUVsdHMgPSBjeHQuY29sdW1uczsKKwlzdG10LT5wZXJpb2RzID0gY3h0LnBlcmlvZHM7CiAJ c3RtdC0+Y29uc3RyYWludHMgPSBjeHQuY2tjb25zdHJhaW50czsKIAlzdG10LT5ubmNvbnN0cmFp bnRzID0gY3h0Lm5uY29uc3RyYWludHM7CiAKQEAgLTEwMjcsNiArMTAzNyw5MiBAQCB0cmFuc2Zv cm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29s dW1uKQogCX0KIH0KIAordm9pZAordHJhbnNmb3JtUGVyaW9kT3B0aW9ucyhQZXJpb2REZWYgKnBl cmlvZCkKK3sKKwlMaXN0Q2VsbCAgICpvcHRpb247CisJRGVmRWxlbSAgICAqZGNvbnN0cmFpbnRu YW1lID0gTlVMTDsKKwlEZWZFbGVtICAgICpkcmFuZ2V0eXBlbmFtZSA9IE5VTEw7CisJRGVmRWxl bSAgICAqZGNvbGV4aXN0cyA9IE5VTEw7CisKKwlmb3JlYWNoKG9wdGlvbiwgcGVyaW9kLT5vcHRp b25zKQorCXsKKwkJRGVmRWxlbSAgICAqZGVmZWwgPSAoRGVmRWxlbSAqKSBsZmlyc3Qob3B0aW9u KTsKKworCQlpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAiY2hlY2tfY29uc3RyYWludF9uYW1l IikgPT0gMCkKKwkJeworCQkJaWYgKGRjb25zdHJhaW50bmFtZSkKKwkJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJIGVycm1zZygi Y29uZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9wdGlvbnMiKSkpOworCQkJZGNvbnN0cmFpbnRuYW1l ID0gZGVmZWw7CisJCX0KKwkJZWxzZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAicmFuZ2V0 eXBlIikgPT0gMCkKKwkJeworCQkJaWYgKGRyYW5nZXR5cGVuYW1lKQorCQkJCWVyZXBvcnQoRVJS T1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkgZXJybXNn KCJjb25mbGljdGluZyBvciByZWR1bmRhbnQgb3B0aW9ucyIpKSk7CisJCQlkcmFuZ2V0eXBlbmFt ZSA9IGRlZmVsOworCQl9CisJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImNvbGV4 aXN0cyIpID09IDApCisJCXsKKwkJCWlmIChkY29sZXhpc3RzKQorCQkJCWVyZXBvcnQoRVJST1Is CisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkgZXJybXNnKCJj b25mbGljdGluZyBvciByZWR1bmRhbnQgb3B0aW9ucyIpKSk7CisJCQlkY29sZXhpc3RzID0gZGVm ZWw7CisJCX0KKwkJZWxzZQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09E RV9TWU5UQVhfRVJST1IpLAorCQkJCQkgZXJybXNnKCJvcHRpb24gXCIlc1wiIG5vdCByZWNvZ25p emVkIiwgZGVmZWwtPmRlZm5hbWUpKSk7CisJfQorCisJaWYgKGRjb25zdHJhaW50bmFtZSAhPSBO VUxMKQorCQlwZXJpb2QtPmNvbnN0cmFpbnRuYW1lID0gZGVmR2V0U3RyaW5nKGRjb25zdHJhaW50 bmFtZSk7CisJZWxzZQorCQlwZXJpb2QtPmNvbnN0cmFpbnRuYW1lID0gTlVMTDsKKworCWlmIChk cmFuZ2V0eXBlbmFtZSAhPSBOVUxMKQorCQlwZXJpb2QtPnJhbmdldHlwZW5hbWUgPSBkZWZHZXRT dHJpbmcoZHJhbmdldHlwZW5hbWUpOworCWVsc2UKKwkJcGVyaW9kLT5yYW5nZXR5cGVuYW1lID0g TlVMTDsKKworCWlmIChkY29sZXhpc3RzICE9IE5VTEwpCisJCXBlcmlvZC0+Y29sZXhpc3RzID0g ZGVmR2V0Qm9vbGVhbihkY29sZXhpc3RzKTsKKwllbHNlCisJCXBlcmlvZC0+Y29sZXhpc3RzID0g ZmFsc2U7Cit9CisKKy8qCisgKiB0cmFuc2Zvcm1UYWJsZVBlcmlvZAorICoJCXRyYW5zZm9ybSBh IFBlcmlvZERlZiBub2RlIHdpdGhpbiBDUkVBVEUgVEFCTEUKKyAqLworc3RhdGljIHZvaWQKK3Ry YW5zZm9ybVRhYmxlUGVyaW9kKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBlcmlvZERlZiAqcGVy aW9kKQoreworCWlmIChzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCAic3lzdGVtX3RpbWUiKSA9 PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJQRVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBz dXBwb3J0ZWQiKSwKKwkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLAorCQkJCQkJ CQkJcGVyaW9kLT5sb2NhdGlvbikpKTsKKworCWlmIChzdHJjbXAocGVyaW9kLT5zdGFydGNvbG5h bWUsIHBlcmlvZC0+ZW5kY29sbmFtZSkgPT0gMCkKKwkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygi Y29sdW1uIFwiJXNcIiBjYW4ndCBiZSB0aGUgc3RhcnQgYW5kIGVuZCBjb2x1bW4gZm9yIHBlcmlv ZCBcIiVzXCIiLAorCQkJCQkJCSAgIHBlcmlvZC0+c3RhcnRjb2xuYW1lLCBwZXJpb2QtPnBlcmlv ZG5hbWUpKSk7CisKKwkvKgorCSAqIERldGVybWluZSB0aGUgY29sdW1uIGluZm8gYW5kIHJhbmdl IHR5cGUgc28gdGhhdAorCSAqIHRyYW5zZm9ybUluZGV4Q29uc3RyYWludHMga25vd3MgaG93IHRv IGNyZWF0ZSBQUklNQVJZIEtFWS9VTklRVUUKKwkgKiBjb25zdHJhaW50cyB1c2luZyB0aGlzIFBF UklPRC4KKwkgKi8KKwl0cmFuc2Zvcm1QZXJpb2RPcHRpb25zKHBlcmlvZCk7CisKKwljeHQtPnBl cmlvZHMgPSBsYXBwZW5kKGN4dC0+cGVyaW9kcywgcGVyaW9kKTsKK30KKwogLyoKICAqIHRyYW5z Zm9ybVRhYmxlQ29uc3RyYWludAogICoJCXRyYW5zZm9ybSBhIENvbnN0cmFpbnQgbm9kZSB3aXRo aW4gQ1JFQVRFIFRBQkxFIG9yIEFMVEVSIFRBQkxFCkBAIC0xMTI4LDYgKzEyMjQsNyBAQCB0cmFu c2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgVGFibGVMaWtlQ2xh dXNlICp0YWJsZV9saWtlX2NsYQogCUF0dHJOdW1iZXIJcGFyZW50X2F0dG5vOwogCVJlbGF0aW9u CXJlbGF0aW9uOwogCVR1cGxlRGVzYwl0dXBsZURlc2M7CisJQml0bWFwc2V0ICAqcGVyaW9kYXR0 czsKIAlBY2xSZXN1bHQJYWNscmVzdWx0OwogCWNoYXIJICAgKmNvbW1lbnQ7CiAJUGFyc2VDYWxs YmFja1N0YXRlIHBjYnN0YXRlOwpAQCAtMTE3Myw2ICsxMjcwLDcgQEAgdHJhbnNmb3JtVGFibGVM aWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFibGVf bGlrZV9jbGEKIAl9CiAKIAl0dXBsZURlc2MgPSBSZWxhdGlvbkdldERlc2NyKHJlbGF0aW9uKTsK KwlwZXJpb2RhdHRzID0gZ2V0X3BlcmlvZF9hdHRub3MoUmVsYXRpb25HZXRSZWxpZChyZWxhdGlv bikpOwogCiAJLyoKIAkgKiBJbnNlcnQgdGhlIGNvcGllZCBhdHRyaWJ1dGVzIGludG8gdGhlIGN4 dCBmb3IgdGhlIG5ldyB0YWJsZSBkZWZpbml0aW9uLgpAQCAtMTE4MiwxMCArMTI4MCwxOCBAQCB0 cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgVGFibGVMaWtl Q2xhdXNlICp0YWJsZV9saWtlX2NsYQogCWZvciAocGFyZW50X2F0dG5vID0gMTsgcGFyZW50X2F0 dG5vIDw9IHR1cGxlRGVzYy0+bmF0dHM7CiAJCSBwYXJlbnRfYXR0bm8rKykKIAl7Ci0JCUZvcm1f cGdfYXR0cmlidXRlIGF0dHJpYnV0ZSA9IFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLAotCQkJCQkJ CQkJCQkJCXBhcmVudF9hdHRubyAtIDEpOworCQlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyaWJ1dGU7 CiAJCUNvbHVtbkRlZiAgKmRlZjsKIAorCQkvKgorCQkgKiBJZiB0aGlzIGNvbHVtbiBpcyBmcm9t IGEgUEVSSU9ELCBza2lwIGl0IChzaW5jZSBMSUtFIG5ldmVyIGNvcGllcworCQkgKiBQRVJJT0Rz KS4KKwkJICovCisJCWlmIChibXNfaXNfbWVtYmVyKHBhcmVudF9hdHRubywgcGVyaW9kYXR0cykp CisJCQljb250aW51ZTsKKworCQlhdHRyaWJ1dGUgPSBUdXBsZURlc2NBdHRyKHR1cGxlRGVzYywg cGFyZW50X2F0dG5vIC0gMSk7CisKIAkJLyoKIAkJICogSWdub3JlIGRyb3BwZWQgY29sdW1ucyBp biB0aGUgcGFyZW50LgogCQkgKi8KQEAgLTEyNzEsMTMgKzEzNzcsMTYgQEAgdHJhbnNmb3JtVGFi bGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxlTGlrZUNsYXVzZSAqdGFi bGVfbGlrZV9jbGEKIAkvKgogCSAqIFJlcHJvZHVjZSBub3QtbnVsbCBjb25zdHJhaW50cywgaWYg YW55LCBieSBjb3B5aW5nIHRoZW0uICBXZSBkbyB0aGlzCiAJICogcmVnYXJkbGVzcyBvZiBvcHRp b25zIGdpdmVuLgorCSAqCisJICogU2luY2Ugd2Ugc2tpcHBlZCBQRVJJT0RzJyBHRU5FUkFURUQg Y29sdW1ucyBhYm92ZSwgd2UgbXVzdCBza2lwIHRoZWlyCisJICogbm90LW51bGwgY29uc3RyYWlu dHMgaGVyZS4KIAkgKi8KIAlpZiAodHVwbGVEZXNjLT5jb25zdHIgJiYgdHVwbGVEZXNjLT5jb25z dHItPmhhc19ub3RfbnVsbCkKIAl7CiAJCUxpc3QJICAgKmxzdDsKIAogCQlsc3QgPSBSZWxhdGlv bkdldE5vdE51bGxDb25zdHJhaW50cyhSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9uKSwgZmFsc2Us Ci0JCQkJCQkJCQkJCXRydWUpOworCQkJCQkJCQkJCQl0cnVlLCBwZXJpb2RhdHRzKTsKIAkJY3h0 LT5ubmNvbnN0cmFpbnRzID0gbGlzdF9jb25jYXQoY3h0LT5ubmNvbnN0cmFpbnRzLCBsc3QpOwog CiAJCS8qIENvcHkgY29tbWVudHMgb24gbm90LW51bGwgY29uc3RyYWludHMgKi8KQEAgLTI2MDks NiArMjcxOCw3IEBAIHRyYW5zZm9ybUluZGV4Q29uc3RyYWludChDb25zdHJhaW50ICpjb25zdHJh aW50LCBDcmVhdGVTdG10Q29udGV4dCAqY3h0KQogCQl7CiAJCQljaGFyCSAgICprZXkgPSBzdHJW YWwobGZpcnN0KGxjKSk7CiAJCQlib29sCQlmb3VuZCA9IGZhbHNlOworCQkJYm9vbAkJaGFzcGVy aW9kID0gZmFsc2U7CiAJCQlDb2x1bW5EZWYgICpjb2x1bW4gPSBOVUxMOwogCQkJTGlzdENlbGwg ICAqY29sdW1uczsKIAkJCUluZGV4RWxlbSAgKmlwYXJhbTsKQEAgLTI2MjcsNiArMjczNywyNCBA QCB0cmFuc2Zvcm1JbmRleENvbnN0cmFpbnQoQ29uc3RyYWludCAqY29uc3RyYWludCwgQ3JlYXRl U3RtdENvbnRleHQgKmN4dCkKIAkJCWlmICghZm91bmQpCiAJCQkJY29sdW1uID0gTlVMTDsKIAor CQkJLyogSWYgdGhlIGtleSBpcyBXSVRIT1VUIE9WRVJMQVBTLCBhIFBFUklPRCB3aWxsIHdvcmsg dG9vLiAqLworCQkJaWYgKCFmb3VuZCAmJiBjb25zdHJhaW50LT53aXRob3V0X292ZXJsYXBzICYm CisJCQkJbGMgPT0gbGlzdF9sYXN0X2NlbGwoY29uc3RyYWludC0+a2V5cykpCisJCQl7CisJCQkJ UGVyaW9kRGVmICAqcGVyaW9kID0gTlVMTDsKKworCQkJCWZvcmVhY2goY29sdW1ucywgY3h0LT5w ZXJpb2RzKQorCQkJCXsKKwkJCQkJcGVyaW9kID0gbGZpcnN0X25vZGUoUGVyaW9kRGVmLCBjb2x1 bW5zKTsKKwkJCQkJaWYgKHN0cmNtcChwZXJpb2QtPnBlcmlvZG5hbWUsIGtleSkgPT0gMCkKKwkJ CQkJeworCQkJCQkJZm91bmQgPSB0cnVlOworCQkJCQkJaGFzcGVyaW9kID0gdHJ1ZTsKKwkJCQkJ CWJyZWFrOworCQkJCQl9CisJCQkJfQorCQkJfQorCiAJCQlpZiAoZm91bmQpCiAJCQl7CiAJCQkJ LyoKQEAgLTI2NDMsMjQgKzI3NzEsMzcgQEAgdHJhbnNmb3JtSW5kZXhDb25zdHJhaW50KENvbnN0 cmFpbnQgKmNvbnN0cmFpbnQsIENyZWF0ZVN0bXRDb250ZXh0ICpjeHQpCiAJCQkJaWYgKGNvbnN0 cmFpbnQtPmNvbnR5cGUgPT0gQ09OU1RSX1BSSU1BUlkgJiYKIAkJCQkJIWN4dC0+aXNhbHRlcikK IAkJCQl7Ci0JCQkJCWlmIChjb2x1bW4tPmlzX25vdF9udWxsKQorCQkJCQlpZiAoY29sdW1uKQog CQkJCQl7Ci0JCQkJCQlmb3JlYWNoX25vZGUoQ29uc3RyYWludCwgbm4sIGN4dC0+bm5jb25zdHJh aW50cykKKwkJCQkJCWlmIChjb2x1bW4tPmlzX25vdF9udWxsKQogCQkJCQkJewotCQkJCQkJCWlm IChzdHJjbXAoc3RyVmFsKGxpbml0aWFsKG5uLT5rZXlzKSksIGtleSkgPT0gMCkKKwkJCQkJCQlm b3JlYWNoX25vZGUoQ29uc3RyYWludCwgbm4sIGN4dC0+bm5jb25zdHJhaW50cykKIAkJCQkJCQl7 Ci0JCQkJCQkJCWlmIChubi0+aXNfbm9faW5oZXJpdCkKLQkJCQkJCQkJCWVyZXBvcnQoRVJST1Is Ci0JCQkJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAotCQkJCQkJCQkJCQll cnJtc2coImNvbmZsaWN0aW5nIE5PIElOSEVSSVQgZGVjbGFyYXRpb24gZm9yIG5vdC1udWxsIGNv bnN0cmFpbnQgb24gY29sdW1uIFwiJXNcIiIsCi0JCQkJCQkJCQkJCQkgICBrZXkpKTsKLQkJCQkJ CQkJYnJlYWs7CisJCQkJCQkJCWlmIChzdHJjbXAoc3RyVmFsKGxpbml0aWFsKG5uLT5rZXlzKSks IGtleSkgPT0gMCkKKwkJCQkJCQkJeworCQkJCQkJCQkJaWYgKG5uLT5pc19ub19pbmhlcml0KQor CQkJCQkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJCQkJCQllcnJjb2RlKEVSUkNPREVfU1lO VEFYX0VSUk9SKSwKKwkJCQkJCQkJCQkJCWVycm1zZygiY29uZmxpY3RpbmcgTk8gSU5IRVJJVCBk ZWNsYXJhdGlvbiBmb3Igbm90LW51bGwgY29uc3RyYWludCBvbiBjb2x1bW4gXCIlc1wiIiwKKwkJ CQkJCQkJCQkJCQkgICBrZXkpKTsKKwkJCQkJCQkJCWJyZWFrOworCQkJCQkJCQl9CiAJCQkJCQkJ fQogCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCWNvbHVtbi0+aXNfbm90X251 bGwgPSB0cnVlOworCQkJCQkJCWN4dC0+bm5jb25zdHJhaW50cyA9CisJCQkJCQkJCWxhcHBlbmQo Y3h0LT5ubmNvbnN0cmFpbnRzLAorCQkJCQkJCQkJCW1ha2VOb3ROdWxsQ29uc3RyYWludChtYWtl U3RyaW5nKGtleSkpKTsKKwkJCQkJCX0KIAkJCQkJfQotCQkJCQllbHNlCisJCQkJCWVsc2UgaWYg KGhhc3BlcmlvZCkKIAkJCQkJewotCQkJCQkJY29sdW1uLT5pc19ub3RfbnVsbCA9IHRydWU7CisJ CQkJCQkvKgorCQkJCQkJICogSWYgd2UncmUgdXNpbmcgYSBQRVJJT0QsIHdlIGJldHRlciBtYWtl IHN1cmUgaXQgaXMKKwkJCQkJCSAqIE5PVCBOVUxMCisJCQkJCQkgKi8KIAkJCQkJCWN4dC0+bm5j b25zdHJhaW50cyA9CiAJCQkJCQkJbGFwcGVuZChjeHQtPm5uY29uc3RyYWludHMsCiAJCQkJCQkJ CQltYWtlTm90TnVsbENvbnN0cmFpbnQobWFrZVN0cmluZyhrZXkpKSk7CkBAIC0yNzg3LDcgKzI5 MjgsMTMgQEAgdHJhbnNmb3JtSW5kZXhDb25zdHJhaW50KENvbnN0cmFpbnQgKmNvbnN0cmFpbnQs IENyZWF0ZVN0bXRDb250ZXh0ICpjeHQpCiAJCQkJCQl9CiAJCQkJCX0KIAkJCQl9Ci0JCQkJaWYg KGZvdW5kKQorCisJCQkJLyoKKwkJCQkgKiBJbiBDUkVBVEUgVEFCTEUgd2UgZG9uJ3Qga25vdyBQ RVJJT0RzJyByYW5nZXR5cGUgeWV0LCBidXQKKwkJCQkgKiB3ZSBrbm93IGl0IHdpbGwgYmUgYSBy YW5nZS9tdWx0aXJhbmdlLiBTbyBpZiB3ZSBoYXZlIGEKKwkJCQkgKiBQRVJJT0QgdGhlbiB3ZSdy ZSBzYWZlLgorCQkJCSAqLworCQkJCWlmIChmb3VuZCAmJiAhaGFzcGVyaW9kKQogCQkJCXsKIAkJ CQkJaWYgKCFPaWRJc1ZhbGlkKHR5cGlkKSAmJiBjb2x1bW4pCiAJCQkJCQl0eXBpZCA9IHR5cGVu YW1lVHlwZUlkKE5VTEwsIGNvbHVtbi0+dHlwZU5hbWUpOwpAQCAtMzExMyw2ICszMjYwLDEwIEBA IHRyYW5zZm9ybUluZGV4U3RtdChPaWQgcmVsaWQsIEluZGV4U3RtdCAqc3RtdCwgY29uc3QgY2hh ciAqcXVlcnlTdHJpbmcpCiAJCX0KIAl9CiAKKwkvKiB0YWtlIGNhcmUgb2YgdGhlIHBlcmlvZCAq LworCWlmIChzdG10LT5wZXJpb2QpCisJCXN0bXQtPnBlcmlvZC0+b2lkID0gZ2V0X3BlcmlvZF9v aWQocmVsaWQsIHN0bXQtPnBlcmlvZC0+cGVyaW9kbmFtZSwgZmFsc2UpOworCiAJLyoKIAkgKiBD aGVjayB0aGF0IG9ubHkgdGhlIGJhc2UgcmVsIGlzIG1lbnRpb25lZC4gIChUaGlzIHNob3VsZCBi ZSBkZWFkIGNvZGUKIAkgKiBub3cgdGhhdCBhZGRfbWlzc2luZ19mcm9tIGlzIGhpc3RvcnkuKQpA QCAtMzU3MCw2ICszNzIxLDcgQEAgdHJhbnNmb3JtQWx0ZXJUYWJsZVN0bXQoT2lkIHJlbGlkLCBB bHRlclRhYmxlU3RtdCAqc3RtdCwKIAljeHQuaW5oUmVsYXRpb25zID0gTklMOwogCWN4dC5pc2Fs dGVyID0gdHJ1ZTsKIAljeHQuY29sdW1ucyA9IE5JTDsKKwljeHQucGVyaW9kcyA9IE5JTDsKIAlj eHQuY2tjb25zdHJhaW50cyA9IE5JTDsKIAljeHQubm5jb25zdHJhaW50cyA9IE5JTDsKIAljeHQu Zmtjb25zdHJhaW50cyA9IE5JTDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9N YWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmlsZQppbmRleCBiYTQwYWRhMTFj YS4uYmY2YWJjNTQ2ZWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmls ZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvTWFrZWZpbGUKQEAgLTgwLDYgKzgwLDcgQEAg T0JKUyA9IFwKIAlvcmFjbGVfY29tcGF0Lm8gXAogCW9yZGVyZWRzZXRhZ2dzLm8gXAogCXBhcnRp dGlvbmZ1bmNzLm8gXAorCXBlcmlvZC5vIFwKIAlwZ19kZXBlbmRlbmNpZXMubyBcCiAJcGdfbG9j YWxlLm8gXAogCXBnX2xvY2FsZV9idWlsdGluLm8gXApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BlcmlvZC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BlcmlvZC5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42Zjg5OTA2OGQwMwotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZXJpb2QuYwpAQCAtMCwwICsxLDU4IEBA CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBwZXJpb2QuYworICoJICBGdW5jdGlvbnMgdG8g c3VwcG9ydCBwZXJpb2RzLgorICoKKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYt MjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENv cHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlh CisgKgorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9w ZXJpb2QuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5jbHVkZSAicG9zdGdyZXMu aCIKKworI2luY2x1ZGUgImV4ZWN1dG9yL3R1cHRhYmxlLmgiCisjaW5jbHVkZSAiZm1nci5oIgor I2luY2x1ZGUgIm5vZGVzL3ByaW1ub2Rlcy5oIgorI2luY2x1ZGUgInV0aWxzL2ZtZ3Jwcm90b3Mu aCIKKyNpbmNsdWRlICJ1dGlscy9wZXJpb2QuaCIKKyNpbmNsdWRlICJ1dGlscy9yYW5nZXR5cGVz LmgiCisKK0RhdHVtCitwZXJpb2RfdG9fcmFuZ2UoVHVwbGVUYWJsZVNsb3QgKnNsb3QsIGludCBz dGFydGF0dG5vLCBpbnQgZW5kYXR0bm8sIE9pZCByYW5nZXR5cGUpCit7CisJRGF0dW0JCXN0YXJ0 dmFsdWU7CisJRGF0dW0JCWVuZHZhbHVlOworCURhdHVtCQlyZXN1bHQ7CisJYm9vbAkJc3RhcnRp c251bGw7CisJYm9vbAkJZW5kaXNudWxsOworCisJTE9DQUxfRkNJTkZPKGZjaW5mbywgMik7CisJ Rm1nckluZm8JZmxpbmZvOworCUZ1bmNFeHByICAgKmY7CisKKwlJbml0RnVuY3Rpb25DYWxsSW5m b0RhdGEoKmZjaW5mbywgJmZsaW5mbywgMiwgSW52YWxpZE9pZCwgTlVMTCwgTlVMTCk7CisJZiA9 IG1ha2VOb2RlKEZ1bmNFeHByKTsKKwlmLT5mdW5jcmVzdWx0dHlwZSA9IHJhbmdldHlwZTsKKwlm bGluZm8uZm5fZXhwciA9IChOb2RlICopIGY7CisJZmxpbmZvLmZuX2V4dHJhID0gTlVMTDsKKwor CS8qIGNvbXB1dGUgb2xkdmFsdWUgKi8KKwlzdGFydHZhbHVlID0gc2xvdF9nZXRhdHRyKHNsb3Qs IHN0YXJ0YXR0bm8sICZzdGFydGlzbnVsbCk7CisJZW5kdmFsdWUgPSBzbG90X2dldGF0dHIoc2xv dCwgZW5kYXR0bm8sICZlbmRpc251bGwpOworCisJZmNpbmZvLT5hcmdzWzBdLnZhbHVlID0gc3Rh cnR2YWx1ZTsKKwlmY2luZm8tPmFyZ3NbMF0uaXNudWxsID0gc3RhcnRpc251bGw7CisJZmNpbmZv LT5hcmdzWzFdLnZhbHVlID0gZW5kdmFsdWU7CisJZmNpbmZvLT5hcmdzWzFdLmlzbnVsbCA9IGVu ZGlzbnVsbDsKKworCXJlc3VsdCA9IHJhbmdlX2NvbnN0cnVjdG9yMihmY2luZm8pOworCWlmIChm Y2luZm8tPmlzbnVsbCkKKwkJZWxvZyhFUlJPUiwgImZ1bmN0aW9uICV1IHJldHVybmVkIE5VTEwi LCBmbGluZm8uZm5fb2lkKTsKKworCXJldHVybiByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hl L2xzeXNjYWNoZS5jCmluZGV4IDEwMjY5Mjg4NGJiLi5lOGNmYWI2ODMzOSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvY2FjaGUvbHN5c2NhY2hlLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BnX29wY2xhc3MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZmFtaWx5LmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19vcGVyYXRvci5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJs aWNhdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcmFuZ2UuaCIKQEAgLTEwODgsNiArMTA4 OSw2OCBAQCBnZXRfYXR0b3B0aW9ucyhPaWQgcmVsaWQsIGludDE2IGF0dG51bSkKIAlyZXR1cm4g cmVzdWx0OwogfQogCisvKgkJCQktLS0tLS0tLS0tIFBHX1BFUklPRCBDQUNIRSAtLS0tLS0tLS0t CQkJCSAqLworCisvKgorICogZ2V0X3BlcmlvZG5hbWUgLSBnaXZlbiBpdHMgT0lELCBsb29rIHVw IGEgcGVyaW9kCisgKgorICogSWYgbWlzc2luZ19vayBpcyBmYWxzZSwgdGhyb3cgYW4gZXJyb3Ig aWYgdGhlIHBlcmlvZCBpcyBub3QgZm91bmQuCisgKiBJZiB0cnVlLCBqdXN0IHJldHVybiBJbnZh bGlkT2lkLgorICovCitjaGFyICoKK2dldF9wZXJpb2RuYW1lKE9pZCBwZXJpb2RpZCwgYm9vbCBt aXNzaW5nX29rKQoreworCUhlYXBUdXBsZQl0cDsKKworCXRwID0gU2VhcmNoU3lzQ2FjaGUxKFBF UklPRE9JRCwKKwkJCQkJCSBPYmplY3RJZEdldERhdHVtKHBlcmlvZGlkKSk7CisJaWYgKEhlYXBU dXBsZUlzVmFsaWQodHApKQorCXsKKwkJRm9ybV9wZ19wZXJpb2QgcGVyaW9kX3R1cCA9IChGb3Jt X3BnX3BlcmlvZCkgR0VUU1RSVUNUKHRwKTsKKwkJY2hhcgkgICAqcmVzdWx0OworCisJCXJlc3Vs dCA9IHBzdHJkdXAoTmFtZVN0cihwZXJpb2RfdHVwLT5wZXJuYW1lKSk7CisJCVJlbGVhc2VTeXND YWNoZSh0cCk7CisJCXJldHVybiByZXN1bHQ7CisJfQorCisJaWYgKCFtaXNzaW5nX29rKQorCQll bG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcGVyaW9kICVkIiwKKwkJCSBwZXJp b2RpZCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBnZXRfcGVyaW9kX29pZCAtIGdldHMg aXRzIHJlbGF0aW9uIGFuZCBuYW1lLCBsb29rIHVwIGEgcGVyaW9kCisgKgorICogSWYgbWlzc2lu Z19vayBpcyBmYWxzZSwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGNhc3QgaXMgbm90IGZvdW5kLiAg SWYKKyAqIHRydWUsIGp1c3QgcmV0dXJuIEludmFsaWRPaWQuCisgKi8KK09pZAorZ2V0X3Blcmlv ZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpwZXJpb2RuYW1lLCBib29sIG1pc3Npbmdfb2sp Cit7CisJSGVhcFR1cGxlCXRwOworCisJdHAgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwK KwkJCQkJCSBPYmplY3RJZEdldERhdHVtKHJlbGlkKSwKKwkJCQkJCSBQb2ludGVyR2V0RGF0dW0o cGVyaW9kbmFtZSkpOworCisJaWYgKEhlYXBUdXBsZUlzVmFsaWQodHApKQorCXsKKwkJRm9ybV9w Z19wZXJpb2QgcGVyaW9kX3R1cCA9IChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNUKHRwKTsKKwkJ T2lkCQkJcmVzdWx0OworCisJCXJlc3VsdCA9IHBlcmlvZF90dXAtPm9pZDsKKwkJUmVsZWFzZVN5 c0NhY2hlKHRwKTsKKwkJcmV0dXJuIHJlc3VsdDsKKwl9CisKKwlpZiAoIW1pc3Npbmdfb2spCisJ CWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBwZXJpb2QgJXMiLAorCQkJIHBl cmlvZG5hbWUpOworCXJldHVybiBJbnZhbGlkT2lkOworfQorCiAvKgkJCQktLS0tLS0tLS0tIFBH X0NBU1QgQ0FDSEUgLS0tLS0tLS0tLQkJCQkJICovCiAKIC8qCkBAIC0yMzU1LDYgKzI0MTgsMzUg QEAgZ2V0X3R5cGlzZGVmaW5lZChPaWQgdHlwaWQpCiAJCXJldHVybiBmYWxzZTsKIH0KIAorLyoK KyAqIGdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2UKKyAqCisgKgkJUmV0dXJucyB0aGUgbmFtZSBh bmQgbmFtZXNwYWNlIG9mIGEgZ2l2ZW4gdHlwZQorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBvbmUg Zm91bmQsIG9yIGZhbHNlIGlmIG5vdC4KKyAqCisgKiBUT0RPOiBHZXQgcmlkIG9mIHRoaXM7IHdl IHNob3VsZG4ndCBuZWVkIGl0LgorICovCitib29sCitnZXRfdHlwbmFtZV9hbmRfbmFtZXNwYWNl KE9pZCB0eXBpZCwgY2hhciAqKnR5cG5hbWUsIGNoYXIgKip0eXBuYW1lc3BhY2UpCit7CisJSGVh cFR1cGxlCXRwOworCisJdHAgPSBTZWFyY2hTeXNDYWNoZTEoVFlQRU9JRCwgT2JqZWN0SWRHZXRE YXR1bSh0eXBpZCkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHRwKSkKKwl7CisJCUZvcm1fcGdf dHlwZSB0eXB0dXAgPSAoRm9ybV9wZ190eXBlKSBHRVRTVFJVQ1QodHApOworCisJCSp0eXBuYW1l ID0gcHN0cmR1cChOYW1lU3RyKHR5cHR1cC0+dHlwbmFtZSkpOworCQkqdHlwbmFtZXNwYWNlID0g Z2V0X25hbWVzcGFjZV9uYW1lKHR5cHR1cC0+dHlwbmFtZXNwYWNlKTsKKwkJUmVsZWFzZVN5c0Nh Y2hlKHRwKTsKKwkJLyogKnR5cG5hbWVzcGFjZSBpcyBOVUxMIGlmIGl0IHdhc24ndCBmb3VuZDog Ki8KKwkJcmV0dXJuICp0eXBuYW1lc3BhY2U7CisJfQorCWVsc2UKKwkJcmV0dXJuIGZhbHNlOwor fQorCiAvKgogICogZ2V0X3R5cGxlbgogICoKQEAgLTM3MzMsNiArMzgyNSwzMSBAQCBnZXRfbXVs dGlyYW5nZV9yYW5nZShPaWQgbXVsdGlyYW5nZU9pZCkKIAkJcmV0dXJuIEludmFsaWRPaWQ7CiB9 CiAKK09pZAorZ2V0X3N1YnR5cGVfcmFuZ2UoT2lkIHN1YnR5cGVPaWQpCit7CisJQ2F0Q0xpc3Qg ICAqY2F0bGlzdDsKKwlPaWQJCQlyZXN1bHQgPSBJbnZhbGlkT2lkOworCisJY2F0bGlzdCA9IFNl YXJjaFN5c0NhY2hlTGlzdDEoUkFOR0VTVUJUWVBFLCBPYmplY3RJZEdldERhdHVtKHN1YnR5cGVP aWQpKTsKKworCWlmIChjYXRsaXN0LT5uX21lbWJlcnMgPT0gMSkKKwl7CisJCUhlYXBUdXBsZQl0 dXBsZSA9ICZjYXRsaXN0LT5tZW1iZXJzWzBdLT50dXBsZTsKKwkJRm9ybV9wZ19yYW5nZSBybmd0 dXAgPSAoRm9ybV9wZ19yYW5nZSkgR0VUU1RSVUNUKHR1cGxlKTsKKworCQlyZXN1bHQgPSBybmd0 dXAtPnJuZ3R5cGlkOworCQlSZWxlYXNlQ2F0Q2FjaGVMaXN0KGNhdGxpc3QpOworCX0KKwllbHNl IGlmIChjYXRsaXN0LT5uX21lbWJlcnMgPiAxKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJj b2RlKEVSUkNPREVfSU5ERVRFUk1JTkFURV9EQVRBVFlQRSksCisJCQkJIGVycm1zZygiYW1iaWd1 b3VzIHJhbmdlIGZvciB0eXBlICVzIiwKKwkJCQkJCWZvcm1hdF90eXBlX2JlKHN1YnR5cGVPaWQp KSkpOworCisJcmV0dXJuIHJlc3VsdDsKK30KKwogLyoJCQkJLS0tLS0tLS0tLSBQR19JTkRFWCBD QUNIRSAtLS0tLS0tLS0tCQkJCSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1w L3BnX2JhY2t1cF9hcmNoaXZlci5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZl ci5jCmluZGV4IGM4NGIwMTdmMjFiLi4yMmVhYjVhNjcwZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNr dXBfYXJjaGl2ZXIuYwpAQCAtMzg3Myw2ICszODczLDcgQEAgX2dldE9iamVjdERlc2NyaXB0aW9u KFBRRXhwQnVmZmVyIGJ1ZiwgY29uc3QgVG9jRW50cnkgKnRlKQogCQkJIHN0cmNtcCh0eXBlLCAi REFUQUJBU0UgUFJPUEVSVElFUyIpID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIkRFRkFVTFQi KSA9PSAwIHx8CiAJCQkgc3RyY21wKHR5cGUsICJGSyBDT05TVFJBSU5UIikgPT0gMCB8fAorCQkJ IHN0cmNtcCh0eXBlLCAiUEVSSU9EIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0eXBlLCAiSU5ERVgi KSA9PSAwIHx8CiAJCQkgc3RyY21wKHR5cGUsICJSVUxFIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0 eXBlLCAiVFJJR0dFUiIpID09IDAgfHwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19k dW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDI0NDUwODVkYmJkLi5hODVk ZjVmNjJhZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMv YmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC03MTg0LDYgKzcxODQsNyBAQCBnZXRUYWJsZXMoQXJj aGl2ZSAqZm91dCwgaW50ICpudW1UYWJsZXMpCiAJaW50CQkJaV9yZWx0eXBlOwogCWludAkJCWlf cmVsb3duZXI7CiAJaW50CQkJaV9yZWxjaGVja3M7CisJaW50CQkJaV9ucGVyaW9kOwogCWludAkJ CWlfcmVsaGFzaW5kZXg7CiAJaW50CQkJaV9yZWxoYXNydWxlczsKIAlpbnQJCQlpX3JlbHBhZ2Vz OwpAQCAtNzI3MSw2ICs3MjcyLDE0IEBAIGdldFRhYmxlcyhBcmNoaXZlICpmb3V0LCBpbnQgKm51 bVRhYmxlcykKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJjLnJlbGhh c29pZHMsICIpOwogCisJLyogSW4gUEcxOSB1cHdhcmRzIHdlIGhhdmUgUEVSSU9Ecy4gKi8KKwlp ZiAoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxOTAwMDApCisJCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LAorCQkJCQkJCSAiKFNFTEVDVCBjb3VudCgqKSBGUk9NIHBnX3BlcmlvZCBXSEVSRSBw ZXJyZWxpZCA9IGMub2lkKSBBUyBucGVyaW9kcywgIik7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkgIjAgQVMgbnBlcmlvZHMsICIpOworCiAJaWYgKGZvdXQt PnJlbW90ZVZlcnNpb24gPj0gOTAzMDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAog CQkJCQkJCSAiYy5yZWxpc3BvcHVsYXRlZCwgIik7CkBAIC03NDA4LDYgKzc0MTcsNyBAQCBnZXRU YWJsZXMoQXJjaGl2ZSAqZm91dCwgaW50ICpudW1UYWJsZXMpCiAJaV9yZWx0eXBlID0gUFFmbnVt YmVyKHJlcywgInJlbHR5cGUiKTsKIAlpX3JlbG93bmVyID0gUFFmbnVtYmVyKHJlcywgInJlbG93 bmVyIik7CiAJaV9yZWxjaGVja3MgPSBQUWZudW1iZXIocmVzLCAicmVsY2hlY2tzIik7CisJaV9u cGVyaW9kID0gUFFmbnVtYmVyKHJlcywgIm5wZXJpb2RzIik7CiAJaV9yZWxoYXNpbmRleCA9IFBR Zm51bWJlcihyZXMsICJyZWxoYXNpbmRleCIpOwogCWlfcmVsaGFzcnVsZXMgPSBQUWZudW1iZXIo cmVzLCAicmVsaGFzcnVsZXMiKTsKIAlpX3JlbHBhZ2VzID0gUFFmbnVtYmVyKHJlcywgInJlbHBh Z2VzIik7CkBAIC03NDk3LDYgKzc1MDcsNyBAQCBnZXRUYWJsZXMoQXJjaGl2ZSAqZm91dCwgaW50 ICpudW1UYWJsZXMpCiAJCX0KIAkJdGJsaW5mb1tpXS5yZWx0YWJsZXNwYWNlID0gcGdfc3RyZHVw KFBRZ2V0dmFsdWUocmVzLCBpLCBpX3JlbHRhYmxlc3BhY2UpKTsKIAkJdGJsaW5mb1tpXS5oYXNv aWRzID0gKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9yZWxoYXNvaWRzKSwgInQiKSA9PSAw KTsKKwkJdGJsaW5mb1tpXS5ucGVyaW9kID0gYXRvaShQUWdldHZhbHVlKHJlcywgaSwgaV9ucGVy aW9kKSk7CiAJCXRibGluZm9baV0uaGFzdHJpZ2dlcnMgPSAoc3RyY21wKFBRZ2V0dmFsdWUocmVz LCBpLCBpX3JlbGhhc3RyaWdnZXJzKSwgInQiKSA9PSAwKTsKIAkJdGJsaW5mb1tpXS5yZWxwZXJz aXN0ZW5jZSA9ICooUFFnZXR2YWx1ZShyZXMsIGksIGlfcmVscGVyc2lzdGVuY2UpKTsKIAkJdGJs aW5mb1tpXS5yZWxpc3BvcHVsYXRlZCA9IChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcmVs aXNwb3B1bGF0ZWQpLCAidCIpID09IDApOwpAQCAtNzk1NSw3ICs3OTY2LDcgQEAgZ2V0SW5kZXhl cyhBcmNoaXZlICpmb3V0LCBUYWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKQogCQlh cHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKIAkJCQkJCQkgImZhbHNlIEFTIGluZG51bGxzbm90 ZGlzdGluY3QsICIpOwogCi0JaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTgwMDAwKQorCWlm IChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE5MDAwMCkKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIo cXVlcnksCiAJCQkJCQkJICJjLmNvbnBlcmlvZCAiKTsKIAllbHNlCkBAIC05MjEyLDcgKzkyMjMs NyBAQCBnZXRUcmFuc2Zvcm1zKEFyY2hpdmUgKmZvdXQpCiAvKgogICogZ2V0VGFibGVBdHRycyAt CiAgKgkgIGZvciBlYWNoIGludGVyZXN0aW5nIHRhYmxlLCByZWFkIGluZm8gYWJvdXQgaXRzIGF0 dHJpYnV0ZXMKLSAqCSAgKG5hbWVzLCB0eXBlcywgZGVmYXVsdCB2YWx1ZXMsIENIRUNLIGNvbnN0 cmFpbnRzLCBldGMpCisgKgkgIChuYW1lcywgdHlwZXMsIGRlZmF1bHQgdmFsdWVzLCBDSEVDSyBj b25zdHJhaW50cywgUEVSSU9EcywgZXRjKQogICoKICAqCW1vZGlmaWVzIHRibGluZm8KICAqLwpA QCAtOTI2Nyw2ICs5Mjc4LDggQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJsZUlu Zm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1UYWJs ZXM7IGkrKykKIAl7CiAJCVRhYmxlSW5mbyAgKnRiaW5mbyA9ICZ0YmxpbmZvW2ldOworCQlpbnQJ CQluZHVtcGFibGVjaGVja3M7CS8qIG51bWJlciBvZiBDSEVDSyBjb25zdHJhaW50cyB0aGF0IGRv CisJCQkJCQkJCQkJICogbm90IGJlbG9uZyB0byBhIHBlcmlvZCAqLwogCiAJCS8qIERvbid0IGJv dGhlciB0byBjb2xsZWN0IGluZm8gZm9yIHNlcXVlbmNlcyAqLwogCQlpZiAodGJpbmZvLT5yZWxr aW5kID09IFJFTEtJTkRfU0VRVUVOQ0UpCkBAIC05MjkzLDcgKzkzMDYsOCBAQCBnZXRUYWJsZUF0 dHJzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAkJ CWFwcGVuZFBRRXhwQnVmZmVyQ2hhcih0YmxvaWRzLCAnLCcpOwogCQlhcHBlbmRQUUV4cEJ1ZmZl cih0YmxvaWRzLCAiJXUiLCB0YmluZm8tPmRvYmouY2F0SWQub2lkKTsKIAotCQlpZiAodGJpbmZv LT5uY2hlY2sgPiAwKQorCQluZHVtcGFibGVjaGVja3MgPSB0YmluZm8tPm5jaGVjayAtIHRiaW5m by0+bnBlcmlvZDsKKwkJaWYgKG5kdW1wYWJsZWNoZWNrcyA+IDApCiAJCXsKIAkJCS8qIEFsc28g bWFrZSBhIGxpc3Qgb2YgdGhlIG9uZXMgd2l0aCBjaGVjayBjb25zdHJhaW50cyAqLwogCQkJaWYg KGNoZWNrb2lkcy0+bGVuID4gMSkgLyogZG8gd2UgaGF2ZSBtb3JlIHRoYW4gdGhlICd7Jz8gKi8K QEAgLTk4MjgsMTUgKzk4NDIsMzYgQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJs ZUluZm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJCXBnX2xvZ19pbmZvKCJmaW5kaW5nIHRh YmxlIGNoZWNrIGNvbnN0cmFpbnRzIik7CiAKIAkJcmVzZXRQUUV4cEJ1ZmZlcihxKTsKLQkJYXBw ZW5kUFFFeHBCdWZmZXIocSwKLQkJCQkJCSAgIlNFTEVDVCBjLnRhYmxlb2lkLCBjLm9pZCwgY29u cmVsaWQsIGNvbm5hbWUsICIKLQkJCQkJCSAgInBnX2NhdGFsb2cucGdfZ2V0X2NvbnN0cmFpbnRk ZWYoYy5vaWQpIEFTIGNvbnNyYywgIgotCQkJCQkJICAiY29uaXNsb2NhbCwgY29udmFsaWRhdGVk ICIKLQkJCQkJCSAgIkZST00gdW5uZXN0KCclcyc6OnBnX2NhdGFsb2cub2lkW10pIEFTIHNyYyh0 YmxvaWQpXG4iCi0JCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBjIE9OIChz cmMudGJsb2lkID0gYy5jb25yZWxpZClcbiIKLQkJCQkJCSAgIldIRVJFIGNvbnR5cGUgPSAnYycg IgotCQkJCQkJICAiT1JERVIgQlkgYy5jb25yZWxpZCwgYy5jb25uYW1lIiwKLQkJCQkJCSAgY2hl Y2tvaWRzLT5kYXRhKTsKKwkJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTkwMDAwKQorCQl7 CisJCQkvKgorCQkJICogUEVSSU9EcyB3ZXJlIGFkZGVkIGluIHYxOSBhbmQgd2UgZG9uJ3QgZHVt cCBDSEVDSyBjb25zdHJhaW50cworCQkJICogZm9yIHRoZW0uCisJCQkgKi8KKwkJCWFwcGVuZFBR RXhwQnVmZmVyKHEsCisJCQkJCQkJICAiU0VMRUNUIGMudGFibGVvaWQsIGMub2lkLCBjb25yZWxp ZCwgY29ubmFtZSwgIgorCQkJCQkJCSAgInBnX2NhdGFsb2cucGdfZ2V0X2NvbnN0cmFpbnRkZWYo Yy5vaWQpIEFTIGNvbnNyYywgIgorCQkJCQkJCSAgImNvbmlzbG9jYWwsIGNvbnZhbGlkYXRlZCAi CisJCQkJCQkJICAiRlJPTSB1bm5lc3QoJyVzJzo6cGdfY2F0YWxvZy5vaWRbXSkgQVMgc3JjKHRi bG9pZClcbiIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBjIE9OIChz cmMudGJsb2lkID0gYy5jb25yZWxpZClcbiIKKwkJCQkJCQkgICJXSEVSRSBjb250eXBlID0gJ2Mn ICIKKwkJCQkJCQkgICIgICBBTkQgTk9UIEVYSVNUUyAoU0VMRUNUIEZST00gcGdfcGVyaW9kICIK KwkJCQkJCQkgICIgICAgICAgICAgICAgICAgICAgV0hFUkUgKHBlcnJlbGlkLCBwZXJjb25zdHJh aW50KSA9IChjb25yZWxpZCwgYy5vaWQpKSAiCisJCQkJCQkJICAiT1JERVIgQlkgYy5jb25yZWxp ZCwgYy5jb25uYW1lIiwKKwkJCQkJCQkgIGNoZWNrb2lkcy0+ZGF0YSk7CisJCX0KKwkJZWxzZQor CQl7CisJCQlhcHBlbmRQUUV4cEJ1ZmZlcihxLAorCQkJCQkJCSAgIlNFTEVDVCBjLnRhYmxlb2lk LCBjLm9pZCwgY29ucmVsaWQsIGNvbm5hbWUsICIKKwkJCQkJCQkgICJwZ19jYXRhbG9nLnBnX2dl dF9jb25zdHJhaW50ZGVmKGMub2lkKSBBUyBjb25zcmMsICIKKwkJCQkJCQkgICJjb25pc2xvY2Fs LCBjb252YWxpZGF0ZWQgIgorCQkJCQkJCSAgIkZST00gdW5uZXN0KCclcyc6OnBnX2NhdGFsb2cu b2lkW10pIEFTIHNyYyh0YmxvaWQpXG4iCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX2Nv bnN0cmFpbnQgYyBPTiAoc3JjLnRibG9pZCA9IGMuY29ucmVsaWQpXG4iCisJCQkJCQkJICAiV0hF UkUgY29udHlwZSA9ICdjJyAiCisJCQkJCQkJICAiT1JERVIgQlkgYy5jb25yZWxpZCwgYy5jb25u YW1lIiwKKwkJCQkJCQkgIGNoZWNrb2lkcy0+ZGF0YSk7CisJCX0KIAogCQlyZXMgPSBFeGVjdXRl U3FsUXVlcnkoZm91dCwgcS0+ZGF0YSwgUEdSRVNfVFVQTEVTX09LKTsKIApAQCAtOTg1OCw2ICs5 ODkzLDcgQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJsZUluZm8gKnRibGluZm8s IGludCBudW1UYWJsZXMpCiAJCQlPaWQJCQljb25yZWxpZCA9IGF0b29pZChQUWdldHZhbHVlKHJl cywgaiwgaV9jb25yZWxpZCkpOwogCQkJVGFibGVJbmZvICAqdGJpbmZvID0gTlVMTDsKIAkJCWlu dAkJCW51bWNvbnM7CisJCQlpbnQJCQluZHVtcGFibGVjaGVja3M7CiAKIAkJCS8qIENvdW50IHJv d3MgZm9yIHRoaXMgdGFibGUgKi8KIAkJCWZvciAobnVtY29ucyA9IDE7IG51bWNvbnMgPCBudW1D b25zdHJzIC0gajsgbnVtY29ucysrKQpAQCAtOTg3NywxMiArOTkxMywxMyBAQCBnZXRUYWJsZUF0 dHJzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAkJ CWlmIChjdXJ0YmxpbmR4ID49IG51bVRhYmxlcykKIAkJCQlwZ19mYXRhbCgidW5yZWNvZ25pemVk IHRhYmxlIE9JRCAldSIsIGNvbnJlbGlkKTsKIAotCQkJaWYgKG51bWNvbnMgIT0gdGJpbmZvLT5u Y2hlY2spCisJCQluZHVtcGFibGVjaGVja3MgPSB0YmluZm8tPm5jaGVjayAtIHRiaW5mby0+bnBl cmlvZDsKKwkJCWlmIChudW1jb25zICE9IG5kdW1wYWJsZWNoZWNrcykKIAkJCXsKIAkJCQlwZ19s b2dfZXJyb3IobmdldHRleHQoImV4cGVjdGVkICVkIGNoZWNrIGNvbnN0cmFpbnQgb24gdGFibGUg XCIlc1wiIGJ1dCBmb3VuZCAlZCIsCiAJCQkJCQkJCQkgICJleHBlY3RlZCAlZCBjaGVjayBjb25z dHJhaW50cyBvbiB0YWJsZSBcIiVzXCIgYnV0IGZvdW5kICVkIiwKLQkJCQkJCQkJCSAgdGJpbmZv LT5uY2hlY2spLAotCQkJCQkJCSB0YmluZm8tPm5jaGVjaywgdGJpbmZvLT5kb2JqLm5hbWUsIG51 bWNvbnMpOworCQkJCQkJCQkJICBuZHVtcGFibGVjaGVja3MpLAorCQkJCQkJCSBuZHVtcGFibGVj aGVja3MsIHRiaW5mby0+ZG9iai5uYW1lLCBudW1jb25zKTsKIAkJCQlwZ19sb2dfZXJyb3JfaGlu dCgiVGhlIHN5c3RlbSBjYXRhbG9ncyBtaWdodCBiZSBjb3JydXB0ZWQuIik7CiAJCQkJZXhpdF9u aWNlbHkoMSk7CiAJCQl9CkBAIC05OTQxLDYgKzk5NzgsODAgQEAgZ2V0VGFibGVBdHRycyhBcmNo aXZlICpmb3V0LCBUYWJsZUluZm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJCVBRY2xlYXIo cmVzKTsKIAl9CiAKKwlmb3IgKGludCBpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKQorCXsKKwkJ VGFibGVJbmZvICAqdGJpbmZvID0gJnRibGluZm9baV07CisKKwkJLyoKKwkJICogR2V0IGluZm8g YWJvdXQgUEVSSU9EIGRlZmluaXRpb25zCisJCSAqLworCQlpZiAodGJpbmZvLT5ucGVyaW9kID4g MCkKKwkJeworCQkJUGVyaW9kSW5mbyAqcGVyaW9kczsKKwkJCWludAkJCW51bVBlcmlvZHM7CisJ CQlpbnQJCQlqOworCisJCQkvKiBXZSBzaG91bGRuJ3QgaGF2ZSBhbnkgcGVyaW9kcyBiZWZvcmUg djE5ICovCisJCQlBc3NlcnQoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxOTAwMDApOworCisJCQlw Z19sb2dfaW5mbygiZmluZGluZyBwZXJpb2RzIGZvciB0YWJsZSBcIiVzLiVzXCIiLAorCQkJCQkJ dGJpbmZvLT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lLAorCQkJCQkJdGJpbmZvLT5kb2JqLm5h bWUpOworCisJCQlyZXNldFBRRXhwQnVmZmVyKHEpOworCQkJYXBwZW5kUFFFeHBCdWZmZXIocSwK KwkJCQkJCQkgICJTRUxFQ1QgcC50YWJsZW9pZCwgcC5vaWQsIHAucGVybmFtZSwgIgorCQkJCQkJ CSAgIiAgICAgICBzYS5hdHRuYW1lIEFTIHBlcnN0YXJ0LCBlYS5hdHRuYW1lIEFTIHBlcmVuZCwg IgorCQkJCQkJCSAgIiAgICAgICByLnR5cG5hbWUgQVMgcm5ndHlwZSwgIgorCQkJCQkJCSAgIiAg ICAgICBjLmNvbm5hbWUgQVMgY29ubmFtZSAiCisJCQkJCQkJICAiRlJPTSBwZ19jYXRhbG9nLnBn X3BlcmlvZCBBUyBwICIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfYXR0cmlidXRlIEFT IHNhIE9OIChzYS5hdHRyZWxpZCwgc2EuYXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcnN0YXJ0 KSAiCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX2F0dHJpYnV0ZSBBUyBlYSBPTiAoZWEu YXR0cmVsaWQsIGVhLmF0dG51bSkgPSAocC5wZXJyZWxpZCwgcC5wZXJlbmQpICIKKwkJCQkJCQkg ICJKT0lOIHBnX2NhdGFsb2cucGdfYXR0cmlidXRlIEFTIHJhIE9OIChyYS5hdHRyZWxpZCwgcmEu YXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcnJhbmdlKSAiCisJCQkJCQkJICAiSk9JTiBwZ19j YXRhbG9nLnBnX3R5cGUgQVMgciBPTiByLm9pZCA9IHJhLmF0dHR5cGlkICIKKwkJCQkJCQkgICJK T0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBBUyBjIE9OIGMub2lkID0gcC5wZXJjb25zdHJh aW50ICIKKwkJCQkJCQkgICJXSEVSRSBwLnBlcnJlbGlkID0gJyV1Jzo6cGdfY2F0YWxvZy5vaWQg IgorCQkJCQkJCSAgIk9SREVSIEJZIHAucGVybmFtZSIsCisJCQkJCQkJICB0YmluZm8tPmRvYmou Y2F0SWQub2lkKTsKKworCQkJcmVzID0gRXhlY3V0ZVNxbFF1ZXJ5KGZvdXQsIHEtPmRhdGEsIFBH UkVTX1RVUExFU19PSyk7CisKKwkJCS8qCisJCQkgKiBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBudW1i ZXIgb2Ygcm93cyB3ZSB0aG91Z2h0IHdlIHdlcmUgZ29pbmcKKwkJCSAqIHRvLCB0aGVuIHRob3Nl IEpPSU5zIGRpZG4ndCB3b3JrLgorCQkJICovCisJCQludW1QZXJpb2RzID0gUFFudHVwbGVzKHJl cyk7CisJCQlpZiAobnVtUGVyaW9kcyAhPSB0YmluZm8tPm5wZXJpb2QpCisJCQl7CisJCQkJcGdf bG9nX2luZm8obmdldHRleHQoImV4cGVjdGVkICVkIHBlcmlvZCBvbiB0YWJsZSBcIiVzXCIgYnV0 IGZvdW5kICVkIiwKKwkJCQkJCQkJCSAiZXhwZWN0ZWQgJWQgcGVyaW9kcyBvbiB0YWJsZSBcIiVz XCIgYnV0IGZvdW5kICVkIiwKKwkJCQkJCQkJCSB0YmluZm8tPm5wZXJpb2QpLAorCQkJCQkJCXRi aW5mby0+bnBlcmlvZCwgdGJpbmZvLT5kb2JqLm5hbWUsIG51bVBlcmlvZHMpOworCQkJCXBnX2xv Z19pbmZvKCIoVGhlIHN5c3RlbSBjYXRhbG9ncyBtaWdodCBiZSBjb3JydXB0ZWQuKSIpOworCQkJ CWV4aXRfbmljZWx5KDEpOworCQkJfQorCisJCQlwZXJpb2RzID0gKFBlcmlvZEluZm8gKikgcGdf bWFsbG9jKG51bVBlcmlvZHMgKiBzaXplb2YoUGVyaW9kSW5mbykpOworCQkJdGJpbmZvLT5wZXJp b2RzID0gcGVyaW9kczsKKworCQkJZm9yIChqID0gMDsgaiA8IG51bVBlcmlvZHM7IGorKykKKwkJ CXsKKwkJCQlwZXJpb2RzW2pdLmRvYmoub2JqVHlwZSA9IERPX1BFUklPRDsKKwkJCQlwZXJpb2Rz W2pdLmRvYmouY2F0SWQudGFibGVvaWQgPSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGosIDApKTsK KwkJCQlwZXJpb2RzW2pdLmRvYmouY2F0SWQub2lkID0gYXRvb2lkKFBRZ2V0dmFsdWUocmVzLCBq LCAxKSk7CisJCQkJQXNzaWduRHVtcElkKCZwZXJpb2RzW2pdLmRvYmopOworCQkJCXBlcmlvZHNb al0uZG9iai5uYW1lID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBqLCAyKSk7CisJCQkJcGVy aW9kc1tqXS5kb2JqLm5hbWVzcGFjZSA9IHRiaW5mby0+ZG9iai5uYW1lc3BhY2U7CisJCQkJcGVy aW9kc1tqXS5wZXJ0YWJsZSA9IHRiaW5mbzsKKwkJCQlwZXJpb2RzW2pdLnBlcnN0YXJ0ID0gcGdf c3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBqLCAzKSk7CisJCQkJcGVyaW9kc1tqXS5wZXJlbmQgPSBw Z19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGosIDQpKTsKKwkJCQlwZXJpb2RzW2pdLnJuZ3R5cGUg PSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGosIDUpKTsKKwkJCQlwZXJpb2RzW2pdLmNvbm5h bWUgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGosIDYpKTsKKwkJCX0KKwkJCVBRY2xlYXIo cmVzKTsKKwkJfQorCX0KKwogCWRlc3Ryb3lQUUV4cEJ1ZmZlcihxKTsKIAlkZXN0cm95UFFFeHBC dWZmZXIodGJsb2lkcyk7CiAJZGVzdHJveVBRRXhwQnVmZmVyKGNoZWNrb2lkcyk7CkBAIC0xMTcz MSw2ICsxMTg0Miw4IEBAIGR1bXBEdW1wYWJsZU9iamVjdChBcmNoaXZlICpmb3V0LCBEdW1wYWJs ZU9iamVjdCAqZG9iaikKIAkJY2FzZSBET19GS19DT05TVFJBSU5UOgogCQkJZHVtcENvbnN0cmFp bnQoZm91dCwgKGNvbnN0IENvbnN0cmFpbnRJbmZvICopIGRvYmopOwogCQkJYnJlYWs7CisJCWNh c2UgRE9fUEVSSU9EOgorCQkJYnJlYWs7CiAJCWNhc2UgRE9fUFJPQ0xBTkc6CiAJCQlkdW1wUHJv Y0xhbmcoZm91dCwgKGNvbnN0IFByb2NMYW5nSW5mbyAqKSBkb2JqKTsKIAkJCWJyZWFrOwpAQCAt MTczOTIsNiArMTc1MDUsMzYgQEAgZHVtcFRhYmxlU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0 IFRhYmxlSW5mbyAqdGJpbmZvKQogCQkJCX0KIAkJCX0KIAorCQkJLyoKKwkJCSAqIEFkZCBub24t aW5oZXJpdGVkIFBFUklPRCBkZWZpbml0aW9ucywgaWYgYW55LgorCQkJICovCisJCQlmb3IgKGog PSAwOyBqIDwgdGJpbmZvLT5ucGVyaW9kOyBqKyspCisJCQl7CisJCQkJUGVyaW9kSW5mbyAqcGVy aW9kID0gJih0YmluZm8tPnBlcmlvZHNbal0pOworCisJCQkJY2hhcgkgICAqbmFtZSA9IHBnX3N0 cmR1cChmbXRJZChwZXJpb2QtPmRvYmoubmFtZSkpOworCQkJCWNoYXIJICAgKnN0YXJ0ID0gcGdf c3RyZHVwKGZtdElkKHBlcmlvZC0+cGVyc3RhcnQpKTsKKwkJCQljaGFyCSAgICplbmQgPSBwZ19z dHJkdXAoZm10SWQocGVyaW9kLT5wZXJlbmQpKTsKKwkJCQljaGFyCSAgICpybmd0eXBlID0gcGdf c3RyZHVwKGZtdElkKHBlcmlvZC0+cm5ndHlwZSkpOworCQkJCWNoYXIJICAgKmNvbm5hbWUgPSBw Z19zdHJkdXAoZm10SWQocGVyaW9kLT5jb25uYW1lKSk7CisKKwkJCQlpZiAoYWN0dWFsX2F0dHMg PT0gMCkKKwkJCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocSwgIiAoXG4gICAgIik7CisJCQkJZWxz ZQorCQkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxLCAiLFxuICAgICIpOworCisJCQkJLyoKKwkJ CQkgKiBBbHdheXMgc2F5IGNvbGV4aXN0cyBzbyB3ZSBjYW4ganVzdCBwcmludCB0aGUgR0VORVJB VEVECisJCQkJICogY29sdW1uCisJCQkJICovCisJCQkJYXBwZW5kUFFFeHBCdWZmZXIocSwgIlBF UklPRCBGT1IgJXMgKCVzLCAlcykgIgorCQkJCQkJCQkgICJXSVRIIChyYW5nZXR5cGUgPSAlcywg Y2hlY2tfY29uc3RyYWludF9uYW1lID0gJXMsIGNvbGV4aXN0cyA9IHRydWUpIiwKKwkJCQkJCQkJ ICBuYW1lLCBzdGFydCwgZW5kLAorCQkJCQkJCQkgIHJuZ3R5cGUsIGNvbm5hbWUpOworCisJCQkJ YWN0dWFsX2F0dHMrKzsKKwkJCX0KKwogCQkJLyoKIAkJCSAqIEFkZCBub24taW5oZXJpdGVkIENI RUNLIGNvbnN0cmFpbnRzLCBpZiBhbnkuCiAJCQkgKgpAQCAtMTc0MDAsNyArMTc1NDMsNyBAQCBk dW1wVGFibGVTY2hlbWEoQXJjaGl2ZSAqZm91dCwgY29uc3QgVGFibGVJbmZvICp0YmluZm8pCiAJ CQkgKiBQQVJUSVRJT04gdGhhdCB3ZSdsbCBlbWl0IGxhdGVyIGV4cGVjdHMgdGhlIGNvbnN0cmFp bnQgdG8gYmUKIAkJCSAqIHRoZXJlLiAgKE5vIG5lZWQgdG8gZml4IGNvbmlzbG9jYWw6IEFUVEFD SCBQQVJUSVRJT04gZG9lcyB0aGF0KQogCQkJICovCi0JCQlmb3IgKGogPSAwOyBqIDwgdGJpbmZv LT5uY2hlY2s7IGorKykKKwkJCWZvciAoaiA9IDA7IGogPCB0YmluZm8tPm5jaGVjayAtIHRiaW5m by0+bnBlcmlvZDsgaisrKQogCQkJewogCQkJCUNvbnN0cmFpbnRJbmZvICpjb25zdHIgPSAmKHRi aW5mby0+Y2hlY2tleHByc1tqXSk7CiAKQEAgLTE3NzEyLDcgKzE3ODU1LDcgQEAgZHVtcFRhYmxl U2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAqdGJpbmZvKQogCQkJICovCiAJ CQlyZXNldFBRRXhwQnVmZmVyKGV4dHJhKTsKIAkJCWZpcnN0aXRlbSA9IHRydWU7Ci0JCQlmb3Ig KGsgPSAwOyBrIDwgdGJpbmZvLT5uY2hlY2s7IGsrKykKKwkJCWZvciAoayA9IDA7IGsgPCB0Ymlu Zm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsgaysrKQogCQkJewogCQkJCUNvbnN0cmFpbnRJ bmZvICpjb25zdHIgPSAmKHRiaW5mby0+Y2hlY2tleHByc1trXSk7CiAKQEAgLTE4MDU2LDcgKzE4 MTk5LDcgQEAgZHVtcFRhYmxlU2NoZW1hKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAq dGJpbmZvKQogCX0KIAogCS8qIER1bXAgY29tbWVudHMgb24gaW5saW5lZCB0YWJsZSBjb25zdHJh aW50cyAqLwotCWZvciAoaiA9IDA7IGogPCB0YmluZm8tPm5jaGVjazsgaisrKQorCWZvciAoaiA9 IDA7IGogPCB0YmluZm8tPm5jaGVjayAtIHRiaW5mby0+bnBlcmlvZDsgaisrKQogCXsKIAkJQ29u c3RyYWludEluZm8gKmNvbnN0ciA9ICYodGJpbmZvLT5jaGVja2V4cHJzW2pdKTsKIApAQCAtMjAx ODAsNiArMjAzMjMsNyBAQCBhZGRCb3VuZGFyeURlcGVuZGVuY2llcyhEdW1wYWJsZU9iamVjdCAq KmRvYmpzLCBpbnQgbnVtT2JqcywKIAkJCWNhc2UgRE9fVFJJR0dFUjoKIAkJCWNhc2UgRE9fRVZF TlRfVFJJR0dFUjoKIAkJCWNhc2UgRE9fREVGQVVMVF9BQ0w6CisJCQljYXNlIERPX1BFUklPRDoK IAkJCWNhc2UgRE9fUE9MSUNZOgogCQkJY2FzZSBET19QVUJMSUNBVElPTjoKIAkJCWNhc2UgRE9f UFVCTElDQVRJT05fUkVMOgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBi L3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggNzJhMDBlMWJjMjAuLmQzNzZjODdjZDA3 IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisrKyBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmgKQEAgLTYwLDYgKzYwLDcgQEAgdHlwZWRlZiBlbnVtCiAJRE9fVFJJR0dF UiwKIAlET19DT05TVFJBSU5ULAogCURPX0ZLX0NPTlNUUkFJTlQsCQkJLyogc2VlIG5vdGUgZm9y IENvbnN0cmFpbnRJbmZvICovCisJRE9fUEVSSU9ELAogCURPX1BST0NMQU5HLAogCURPX0NBU1Qs CiAJRE9fVEFCTEVfREFUQSwKQEAgLTMyMiwxMiArMzIzLDE0IEBAIHR5cGVkZWYgc3RydWN0IF90 YWJsZUluZm8KIAlib29sCQlyb3dzZWM7CQkJLyogaXMgcm93IHNlY3VyaXR5IGVuYWJsZWQ/ICov CiAJYm9vbAkJZm9yY2Vyb3dzZWM7CS8qIGlzIHJvdyBzZWN1cml0eSBmb3JjZWQ/ICovCiAJYm9v bAkJaGFzb2lkczsJCS8qIGRvZXMgaXQgaGF2ZSBPSURzPyAqLworCWJvb2wJCWhhc3BlcmlvZHM7 CQkvKiBkb2VzIGl0IGhhdmUgYW55IHBlcmlvZHM/ICovCiAJdWludDMyCQlmcm96ZW54aWQ7CQkv KiB0YWJsZSdzIHJlbGZyb3plbnhpZCAqLwogCXVpbnQzMgkJbWlubXhpZDsJCS8qIHRhYmxlJ3Mg cmVsbWlubXhpZCAqLwogCU9pZAkJCXRvYXN0X29pZDsJCS8qIHRvYXN0IHRhYmxlJ3MgT0lELCBv ciAwIGlmIG5vbmUgKi8KIAl1aW50MzIJCXRvYXN0X2Zyb3plbnhpZDsJLyogdG9hc3QgdGFibGUn cyByZWxmcm96ZW54aWQsIGlmIGFueSAqLwogCXVpbnQzMgkJdG9hc3RfbWlubXhpZDsJLyogdG9h c3QgdGFibGUncyByZWxtaW5teGlkICovCiAJaW50CQkJbmNoZWNrOwkJCS8qICMgb2YgQ0hFQ0sg ZXhwcmVzc2lvbnMgKi8KKwlpbnQJCQlucGVyaW9kOwkJLyogIyBvZiBQRVJJT0QgZGVmaW5pdGlv bnMgKi8KIAlPaWQJCQlyZWx0eXBlOwkJLyogT0lEIG9mIHRhYmxlJ3MgY29tcG9zaXRlIHR5cGUs IGlmIGFueSAqLwogCU9pZAkJCXJlbG9mdHlwZTsJCS8qIHVuZGVybHlpbmcgdHlwZSBmb3IgdHlw ZWQgdGFibGUgKi8KIAlPaWQJCQlmb3JlaWduX3NlcnZlcjsgLyogZm9yZWlnbiBzZXJ2ZXIgb2lk LCBpZiBhcHBsaWNhYmxlICovCkBAIC0zNTgsNiArMzYxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX3Rh YmxlSW5mbwogCWNoYXIJICAgKmF0dHN0b3JhZ2U7CQkvKiBhdHRyaWJ1dGUgc3RvcmFnZSBzY2hl bWUgKi8KIAljaGFyCSAgICp0eXBzdG9yYWdlOwkJLyogdHlwZSBzdG9yYWdlIHNjaGVtZSAqLwog CWJvb2wJICAgKmF0dGlzZHJvcHBlZDsJLyogdHJ1ZSBpZiBhdHRyIGlzIGRyb3BwZWQ7IGRvbid0 IGR1bXAgaXQgKi8KKwlib29sCSAgICphdHRpc3BlcmlvZDsJLyogdHJ1ZSBpZiBhdHRyIGlzIGEg UEVSSU9EOyBkb24ndCBkdW1wIGl0ICovCiAJY2hhcgkgICAqYXR0aWRlbnRpdHk7CiAJY2hhcgkg ICAqYXR0Z2VuZXJhdGVkOwogCWludAkJICAgKmF0dGxlbjsJCQkvKiBhdHRyaWJ1dGUgbGVuZ3Ro LCB1c2VkIGJ5IGJpbmFyeV91cGdyYWRlICovCkBAIC0zNzksNiArMzgzLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgX3RhYmxlSW5mbwogCXN0cnVjdCBfYXR0ckRlZkluZm8gKiphdHRyZGVmczsgLyogREVG QVVMVCBleHByZXNzaW9ucyAqLwogCXN0cnVjdCBfY29uc3RyYWludEluZm8gKmNoZWNrZXhwcnM7 IC8qIENIRUNLIGNvbnN0cmFpbnRzICovCiAJc3RydWN0IF9yZWxTdGF0c0luZm8gKnN0YXRzOwkv KiBvbmx5IHNldCBmb3IgbWF0dmlld3MgKi8KKwlzdHJ1Y3QgX3BlcmlvZEluZm8gKnBlcmlvZHM7 CS8qIFBFUklPRCBkZWZpbml0aW9ucyAqLwogCWJvb2wJCW5lZWRzX292ZXJyaWRlOyAvKiBoYXMg R0VORVJBVEVEIEFMV0FZUyBBUyBJREVOVElUWSAqLwogCWNoYXIJICAgKmFtbmFtZTsJCQkvKiBy ZWxhdGlvbiBhY2Nlc3MgbWV0aG9kICovCiAKQEAgLTUyOCw2ICs1MzMsMTYgQEAgdHlwZWRlZiBz dHJ1Y3QgX2NvbnN0cmFpbnRJbmZvCiAJYm9vbAkJc2VwYXJhdGU7CQkvKiB0cnVlIGlmIG11c3Qg ZHVtcCBhcyBzZXBhcmF0ZSBpdGVtICovCiB9IENvbnN0cmFpbnRJbmZvOwogCit0eXBlZGVmIHN0 cnVjdCBfcGVyaW9kSW5mbworeworCUR1bXBhYmxlT2JqZWN0IGRvYmo7CisJVGFibGVJbmZvICAq cGVydGFibGU7CisJY2hhcgkgICAqcGVyc3RhcnQ7CQkvKiB0aGUgbmFtZSBvZiB0aGUgc3RhcnQg Y29sdW1uICovCisJY2hhcgkgICAqcGVyZW5kOwkJCS8qIHRoZSBuYW1lIG9mIHRoZSBlbmQgY29s dW1uICovCisJY2hhcgkgICAqcm5ndHlwZTsJCS8qIHRoZSBuYW1lIG9mIHRoZSByYW5nZSB0eXBl ICovCisJY2hhcgkgICAqY29ubmFtZTsJCS8qIHRoZSBuYW1lIG9mIHRoZSBDSEVDSyBjb25zdHJh aW50ICovCit9IFBlcmlvZEluZm87CisKIHR5cGVkZWYgc3RydWN0IF9wcm9jTGFuZ0luZm8KIHsK IAlEdW1wYWJsZU9iamVjdCBkb2JqOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXBfc29ydC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jCmluZGV4IDE2NGM3NmUw ODY0Li5lYmMyMGEyMjZjNyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29y dC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYwpAQCAtODYsNiArODYsNyBA QCBlbnVtIGRiT2JqZWN0VHlwZVByaW9yaXRpZXMKIAlQUklPX0NPTlNUUkFJTlQsCiAJUFJJT19J TkRFWCwKIAlQUklPX0lOREVYX0FUVEFDSCwKKwlQUklPX1BFUklPRCwKIAlQUklPX1NUQVRTRVhU LAogCVBSSU9fUlVMRSwKIAlQUklPX1RSSUdHRVIsCkBAIC0xMjEsNiArMTIyLDcgQEAgc3RhdGlj IGNvbnN0IGludCBkYk9iamVjdFR5cGVQcmlvcml0eVtdID0KIAlbRE9fQVRUUkRFRl0gPSBQUklP X0FUVFJERUYsCiAJW0RPX0lOREVYXSA9IFBSSU9fSU5ERVgsCiAJW0RPX0lOREVYX0FUVEFDSF0g PSBQUklPX0lOREVYX0FUVEFDSCwKKwlbRE9fUEVSSU9EXSA9IFBSSU9fUEVSSU9ELAogCVtET19T VEFUU0VYVF0gPSBQUklPX1NUQVRTRVhULAogCVtET19SVUxFXSA9IFBSSU9fUlVMRSwKIAlbRE9f VFJJR0dFUl0gPSBQUklPX1RSSUdHRVIsCkBAIC00NTQsNiArNDU2LDIzIEBAIERPVHlwZU5hbWVD b21wYXJlKGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikKIAkJaWYgKGNtcHZhbCAhPSAw KQogCQkJcmV0dXJuIGNtcHZhbDsKIAl9CisJZWxzZSBpZiAob2JqMS0+b2JqVHlwZSA9PSBET19Q RVJJT0QpCisJeworCQlQZXJpb2RJbmZvICpwb2JqMSA9ICooUGVyaW9kSW5mbyAqY29uc3QgKikg cDE7CisJCVBlcmlvZEluZm8gKnBvYmoyID0gKihQZXJpb2RJbmZvICpjb25zdCAqKSBwMjsKKwor CQkvKiBTb3J0IGJ5IHRhYmxlIG5hbWVzcGFjZSAuIC4gLiAqLworCQljbXB2YWwgPSBzdHJjbXAo cG9iajEtPnBlcnRhYmxlLT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lLAorCQkJCQkJcG9iajIt PnBlcnRhYmxlLT5kb2JqLm5hbWVzcGFjZS0+ZG9iai5uYW1lKTsKKwkJaWYgKGNtcHZhbCAhPSAw KQorCQkJcmV0dXJuIGNtcHZhbDsKKworCQkvKiAuIC4gLiBhbmQgdGFibGUgbmFtZSAqLworCQlj bXB2YWwgPSBzdHJjbXAocG9iajEtPnBlcnRhYmxlLT5kb2JqLm5hbWUsCisJCQkJCQlwb2JqMi0+ cGVydGFibGUtPmRvYmoubmFtZSk7CisJCWlmIChjbXB2YWwgIT0gMCkKKwkJCXJldHVybiBjbXB2 YWw7CisJfQogCiAJLyoKIAkgKiBTaG91bGRuJ3QgZ2V0IGhlcmUgZXhjZXB0IGFmdGVyIGNhdGFs b2cgY29ycnVwdGlvbiwgYnV0IGlmIHdlIGRvLCBzb3J0CkBAIC0xNjI2LDYgKzE2NDUsMTEgQEAg ZGVzY3JpYmVEdW1wYWJsZU9iamVjdChEdW1wYWJsZU9iamVjdCAqb2JqLCBjaGFyICpidWYsIGlu dCBidWZzaXplKQogCQkJCQkgIkZLIENPTlNUUkFJTlQgJXMgIChJRCAlZCBPSUQgJXUpIiwKIAkJ CQkJIG9iai0+bmFtZSwgb2JqLT5kdW1wSWQsIG9iai0+Y2F0SWQub2lkKTsKIAkJCXJldHVybjsK KwkJY2FzZSBET19QRVJJT0Q6CisJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUsCisJCQkJCSAiUEVS SU9EICVzICAoSUQgJWQgT0lEICV1KSIsCisJCQkJCSBvYmotPm5hbWUsIG9iai0+ZHVtcElkLCBv YmotPmNhdElkLm9pZCk7CisJCQlyZXR1cm47CiAJCWNhc2UgRE9fUFJPQ0xBTkc6CiAJCQlzbnBy aW50ZihidWYsIGJ1ZnNpemUsCiAJCQkJCSAiUFJPQ0VEVVJBTCBMQU5HVUFHRSAlcyAgKElEICVk IE9JRCAldSkiLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmlu L3BzcWwvZGVzY3JpYmUuYwppbmRleCAzNmYyNDUwMjg0Mi4uZjM1YjBhOWUzNjcgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5j CkBAIC0yMDI0LDYgKzIwMjQsOCBAQCBkZXNjcmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFy ICpzY2hlbWFuYW1lLAogCiAJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxuRlJPTSBwZ19j YXRhbG9nLnBnX2F0dHJpYnV0ZSBhIik7CiAJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwgIlxuV0hF UkUgYS5hdHRyZWxpZCA9ICclcycgQU5EIGEuYXR0bnVtID4gMCBBTkQgTk9UIGEuYXR0aXNkcm9w cGVkIiwgb2lkKTsKKwlpZiAocHNldC5zdmVyc2lvbiA+PSAxODAwMDApCisJCWFwcGVuZFBRRXhw QnVmZmVyKCZidWYsICJcbkFORCBOT1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBnX2NhdGFsb2cu cGdfcGVyaW9kIHAgV0hFUkUgcC5wZXJyZWxpZCA9IGEuYXR0cmVsaWQgQU5EIHAucGVycmFuZ2Ug PSBhLmF0dG51bSkiKTsKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAiXG5PUkRFUiBCWSBh LmF0dG51bTsiKTsKIAogCXJlcyA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKQEAgLTI0NTIsNiArMjQ1 NCw0MCBAQCBkZXNjcmliZU9uZVRhYmxlRGV0YWlscyhjb25zdCBjaGFyICpzY2hlbWFuYW1lLAog CQlQR3Jlc3VsdCAgICpyZXN1bHQgPSBOVUxMOwogCQlpbnQJCQl0dXBsZXMgPSAwOwogCisJCS8q IHByaW50IHBlcmlvZHMgKi8KKwkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTgwMDAwKQorCQl7CisJ CQlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJCSAgIlNFTEVDVCBxdW90ZV9pZGVudChw LnBlcm5hbWUpLCBxdW90ZV9pZGVudChzLmF0dG5hbWUpIEFTIHN0YXJ0YXR0LCBxdW90ZV9pZGVu dChlLmF0dG5hbWUpIEFTIGVuZGF0dFxuIgorCQkJCQkJCSAgIkZST00gcGdfcGVyaW9kIEFTIHBc biIKKwkJCQkJCQkgICJKT0lOIHBnX2F0dHJpYnV0ZSBBUyBzIE9OIChzLmF0dHJlbGlkLCBzLmF0 dG51bSkgPSAocC5wZXJyZWxpZCwgcC5wZXJzdGFydClcbiIKKwkJCQkJCQkgICJKT0lOIHBnX2F0 dHJpYnV0ZSBBUyBlIE9OIChlLmF0dHJlbGlkLCBlLmF0dG51bSkgPSAocC5wZXJyZWxpZCwgcC5w ZXJlbmQpXG4iCisJCQkJCQkJICAiV0hFUkUgcC5wZXJyZWxpZCA9ICclcydcbiIKKwkJCQkJCQkg ICJPUkRFUiBCWSAxOyIsCisJCQkJCQkJICBvaWQpOworCQkJcmVzdWx0ID0gUFNRTGV4ZWMoYnVm LmRhdGEpOworCQkJaWYgKCFyZXN1bHQpCisJCQkJZ290byBlcnJvcl9yZXR1cm47CisJCQllbHNl CisJCQkJdHVwbGVzID0gUFFudHVwbGVzKHJlc3VsdCk7CisKKwkJCWlmICh0dXBsZXMgPiAwKQor CQkJeworCQkJCXByaW50VGFibGVBZGRGb290ZXIoJmNvbnQsIF8oIlBlcmlvZHM6IikpOworCQkJ CWZvciAoaSA9IDA7IGkgPCB0dXBsZXM7IGkrKykKKwkJCQl7CisJCQkJCS8qIHVudHJhbnNsYXRl ZCBjb25zdHJhaW50IG5hbWUgYW5kIGRlZiAqLworCQkJCQlwcmludGZQUUV4cEJ1ZmZlcigmYnVm LCAiICAgICVzICglcywgJXMpIiwKKwkJCQkJCQkJCSAgUFFnZXR2YWx1ZShyZXN1bHQsIGksIDAp LAorCQkJCQkJCQkJICBQUWdldHZhbHVlKHJlc3VsdCwgaSwgMSksCisJCQkJCQkJCQkgIFBRZ2V0 dmFsdWUocmVzdWx0LCBpLCAyKSk7CisKKwkJCQkJcHJpbnRUYWJsZUFkZEZvb3RlcigmY29udCwg YnVmLmRhdGEpOworCQkJCX0KKwkJCX0KKwkJCVBRY2xlYXIocmVzdWx0KTsKKwkJfQorCiAJCS8q IHByaW50IGluZGV4ZXMgKi8KIAkJaWYgKHRhYmxlaW5mby5oYXNpbmRleCkKIAkJewpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmlsZSBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv TWFrZWZpbGUKaW5kZXggMmJiYzc4MDVmZTMuLmI5YWVlMmNhNDllIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZp bGUKQEAgLTY1LDYgKzY1LDcgQEAgQ0FUQUxPR19IRUFERVJTIDo9IFwKIAlwZ19mb3JlaWduX3Nl cnZlci5oIFwKIAlwZ191c2VyX21hcHBpbmcuaCBcCiAJcGdfZm9yZWlnbl90YWJsZS5oIFwKKwlw Z19wZXJpb2QuaCBcCiAJcGdfcG9saWN5LmggXAogCXBnX3JlcGxpY2F0aW9uX29yaWdpbi5oIFwK IAlwZ19kZWZhdWx0X2FjbC5oIFwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvaGVh cC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9oZWFwLmgKaW5kZXggZGJkMzM5ZTlkZjQuLjNlYzVh NTgzZDc4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2hlYXAuaAorKysgYi9zcmMv aW5jbHVkZS9jYXRhbG9nL2hlYXAuaApAQCAtMTI1LDYgKzEyNSwxMCBAQCBleHRlcm4gdm9pZCBT dG9yZUF0dHJNaXNzaW5nVmFsKFJlbGF0aW9uIHJlbCwgQXR0ck51bWJlciBhdHRudW0sCiAJCQkJ CQkJCURhdHVtIG1pc3Npbmd2YWwpOwogZXh0ZXJuIHZvaWQgU2V0QXR0ck1pc3NpbmcoT2lkIHJl bGlkLCBjaGFyICphdHRuYW1lLCBjaGFyICp2YWx1ZSk7CiAKK2V4dGVybiBPaWQJU3RvcmVQZXJp b2QoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpwZXJpb2QsCisJCQkJCQlBdHRyTnVtYmVyIHN0 YXJ0bnVtLCBBdHRyTnVtYmVyIGVuZG51bSwKKwkJCQkJCUF0dHJOdW1iZXIgcmFuZ2VudW0sIE9p ZCBjb25vaWQpOworCiBleHRlcm4gTm9kZSAqY29va0RlZmF1bHQoUGFyc2VTdGF0ZSAqcHN0YXRl LAogCQkJCQkJIE5vZGUgKnJhd19kZWZhdWx0LAogCQkJCQkJIE9pZCBhdHR0eXBpZCwKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL21lc29uLmJ1aWxkCmluZGV4IGVjMWNmNDY3ZjZmLi44N2NiNGNlMzMwMCAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZAorKysgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL21lc29uLmJ1aWxkCkBAIC02MSw2ICs2MSw3IEBAIGNhdGFsb2dfaGVhZGVycyA9IFsKICAg J3BnX2NvbGxhdGlvbi5oJywKICAgJ3BnX3BhcmFtZXRlcl9hY2wuaCcsCiAgICdwZ19wYXJ0aXRp b25lZF90YWJsZS5oJywKKyAgJ3BnX3BlcmlvZC5oJywKICAgJ3BnX3JhbmdlLmgnLAogICAncGdf dHJhbnNmb3JtLmgnLAogICAncGdfc2VxdWVuY2UuaCcsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3Ry YWludC5oCmluZGV4IDliNThmNjE4ZjllLi4zMmMwOTgyNDZmMCAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50LmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19jb25zdHJhaW50LmgKQEAgLTI2Niw3ICsyNjYsOCBAQCBleHRlcm4gQXR0ck51bWJlciBleHRy YWN0Tm90TnVsbENvbHVtbihIZWFwVHVwbGUgY29uc3RyVHVwKTsKIGV4dGVybiBib29sIEFkanVz dE5vdE51bGxJbmhlcml0YW5jZShPaWQgcmVsaWQsIEF0dHJOdW1iZXIgYXR0bnVtLAogCQkJCQkJ CQkJIGJvb2wgaXNfbG9jYWwsIGJvb2wgaXNfbm9faW5oZXJpdCwgYm9vbCBpc19ub3R2YWxpZCk7 CiBleHRlcm4gTGlzdCAqUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lkIHJlbGlkLCBi b29sIGNvb2tlZCwKLQkJCQkJCQkJCQkgICBib29sIGluY2x1ZGVfbm9pbmgpOworCQkJCQkJCQkJ CSAgIGJvb2wgaW5jbHVkZV9ub2luaCwKKwkJCQkJCQkJCQkgICBCaXRtYXBzZXQgKmV4Y2x1ZGVz KTsKIAogZXh0ZXJuIHZvaWQgUmVtb3ZlQ29uc3RyYWludEJ5SWQoT2lkIGNvbklkKTsKIGV4dGVy biB2b2lkIFJlbmFtZUNvbnN0cmFpbnRCeUlkKE9pZCBjb25JZCwgY29uc3QgY2hhciAqbmV3bmFt ZSk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX2luZGV4LmgKaW5kZXggNzMxZDM5MzgxNjkuLjg5MGZmNTUxMTc2IDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19pbmRleC5oCkBAIC00OCw3ICs0OCw2IEBAIENBVEFMT0cocGdfaW5kZXgs MjYxMCxJbmRleFJlbGF0aW9uSWQpIEJLSV9TQ0hFTUFfTUFDUk8KIAkvKiB2YXJpYWJsZS1sZW5n dGggZmllbGRzIHN0YXJ0IGhlcmUsIGJ1dCB3ZSBhbGxvdyBkaXJlY3QgYWNjZXNzIHRvIGluZGtl eSAqLwogCWludDJ2ZWN0b3IJaW5ka2V5IEJLSV9GT1JDRV9OT1RfTlVMTDsJLyogY29sdW1uIG51 bWJlcnMgb2YgaW5kZXhlZCBjb2xzLAogCQkJCQkJCQkJCQkgKiBvciAwICovCi0KICNpZmRlZiBD QVRBTE9HX1ZBUkxFTgogCW9pZHZlY3RvcglpbmRjb2xsYXRpb24gQktJX0xPT0tVUF9PUFQocGdf Y29sbGF0aW9uKSBCS0lfRk9SQ0VfTk9UX05VTEw7CS8qIGNvbGxhdGlvbiBpZGVudGlmaWVycyAq LwogCW9pZHZlY3RvcglpbmRjbGFzcyBCS0lfTE9PS1VQKHBnX29wY2xhc3MpIEJLSV9GT1JDRV9O T1RfTlVMTDsgLyogb3BjbGFzcyBpZGVudGlmaWVycyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wZXJpb2QuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1YTc0ZGZhMThiCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wZXJpb2QuaApAQCAtMCwwICsx LDU4IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBwZ19wZXJpb2QuaAorICoJICBkZWZp bml0aW9uIG9mIHRoZSAicGVyaW9kIiBzeXN0ZW0gY2F0YWxvZyAocGdfcGVyaW9kKQorICoKKyAq CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMSwgUG9zdGdyZVNRTCBHbG9iYWwg RGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BlcmlvZC5o CisgKgorICogTk9URVMKKyAqCSAgVGhlIENhdGFsb2cucG0gbW9kdWxlIHJlYWRzIHRoaXMgZmls ZSBhbmQgZGVyaXZlcyBzY2hlbWEKKyAqCSAgaW5mb3JtYXRpb24uCisgKgorICotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKi8KKyNpZm5kZWYgUEdfUEVSSU9EX0gKKyNkZWZpbmUgUEdfUEVSSU9EX0gKKwor I2luY2x1ZGUgImNhdGFsb2cvZ2VuYmtpLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2Rf ZC5oIgorI2luY2x1ZGUgIm5vZGVzL2JpdG1hcHNldC5oIgorCisvKiAtLS0tLS0tLS0tLS0tLS0t CisgKgkJcGdfcGVyaW9kIGRlZmluaXRpb24uICBjcHAgdHVybnMgdGhpcyBpbnRvCisgKgkJdHlw ZWRlZiBzdHJ1Y3QgRm9ybURhdGFfcGdfcGVyaW9kCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKi8K K0NBVEFMT0cocGdfcGVyaW9kLDgwMDAsUGVyaW9kUmVsYXRpb25JZCkKK3sKKwlPaWQJCQlvaWQ7 CQkJLyogT0lEIG9mIHRoZSBwZXJpb2QgKi8KKwlOYW1lRGF0YQlwZXJuYW1lOwkJLyogbmFtZSBv ZiBwZXJpb2QgKi8KKwlPaWQJCQlwZXJyZWxpZDsJCS8qIE9JRCBvZiByZWxhdGlvbiBjb250YWlu aW5nIHRoaXMgcGVyaW9kICovCisJaW50MTYJCXBlcnN0YXJ0OwkJLyogY29sdW1uIGZvciBzdGFy dCB2YWx1ZSAqLworCWludDE2CQlwZXJlbmQ7CQkJLyogY29sdW1uIGZvciBlbmQgdmFsdWUgKi8K KwlpbnQxNgkJcGVycmFuZ2U7CQkvKiBjb2x1bW4gZm9yIHJhbmdlIHZhbHVlICovCisJT2lkCQkJ cGVyY29uc3RyYWludDsJLyogT0lEIG9mIChzdGFydCA8IGVuZCkgY29uc3RyYWludCAqLworfSBG b3JtRGF0YV9wZ19wZXJpb2Q7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0KKyAqCQlGb3JtX3BnX3Bl cmlvZCBjb3JyZXNwb25kcyB0byBhIHBvaW50ZXIgdG8gYSB0dXBsZSB3aXRoCisgKgkJdGhlIGZv cm1hdCBvZiBwZ19wZXJpb2QgcmVsYXRpb24uCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5 cGVkZWYgRm9ybURhdGFfcGdfcGVyaW9kICpGb3JtX3BnX3BlcmlvZDsKKworREVDTEFSRV9VTklR VUVfSU5ERVhfUEtFWShwZ19wZXJpb2Rfb2lkX2luZGV4LCA4MDAxLCBQZXJpb2RPYmplY3RJbmRl eElkLCBwZ19wZXJpb2QsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRF WChwZ19wZXJpb2RfcGVycmVsaWRfcGVybmFtZV9pbmRleCwgODAwMiwgUGVyaW9kUmVsaWROYW1l SW5kZXhJZCwgcGdfcGVyaW9kLCBidHJlZShwZXJyZWxpZCBvaWRfb3BzLCBwZXJuYW1lIG5hbWVf b3BzKSk7CisKK01BS0VfU1lTQ0FDSEUoUEVSSU9ET0lELCBwZ19wZXJpb2Rfb2lkX2luZGV4LCAz Mik7CitNQUtFX1NZU0NBQ0hFKFBFUklPRE5BTUUsIHBnX3BlcmlvZF9wZXJyZWxpZF9wZXJuYW1l X2luZGV4LCAzMik7CisKK2V4dGVybiB2b2lkIFJlbW92ZVBlcmlvZEJ5SWQoT2lkIHBlcmlvZElk KTsKKworZXh0ZXJuIE9pZAlnZXRfcmVsYXRpb25fcGVyaW9kX29pZChPaWQgcmVsaWQsIGNvbnN0 IGNoYXIgKnBlcm5hbWUsIGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gQml0bWFwc2V0ICpnZXRf cGVyaW9kX2F0dG5vcyhPaWQgcmVsaWQpOworCisjZW5kaWYJCQkJCQkJLyogUEdfUEVSSU9EX0gg Ki8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaCBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcmFuZ2UuaAppbmRleCAzYmJhNjE2Mjc4Mi4uODllNjBkNmNiZjEgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3JhbmdlLmgKQEAgLTU5LDggKzU5LDEwIEBAIHR5cGVkZWYgRm9ybURhdGFf cGdfcmFuZ2UgKkZvcm1fcGdfcmFuZ2U7CiAKIERFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdf cmFuZ2Vfcm5ndHlwaWRfaW5kZXgsIDM1NDIsIFJhbmdlVHlwaWRJbmRleElkLCBwZ19yYW5nZSwg YnRyZWUocm5ndHlwaWQgb2lkX29wcykpOwogREVDTEFSRV9VTklRVUVfSU5ERVgocGdfcmFuZ2Vf cm5nbXVsdGl0eXBpZF9pbmRleCwgMjIyOCwgUmFuZ2VNdWx0aXJhbmdlVHlwaWRJbmRleElkLCBw Z19yYW5nZSwgYnRyZWUocm5nbXVsdGl0eXBpZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9J TkRFWChwZ19yYW5nZV9ybmdzdWJ0eXBlX3JuZ3R5cGlkX2luZGV4LCA4MDAzLCBSYW5nZVN1YlR5 cGlkVHlwaWRJbmRleElkLCBwZ19yYW5nZSwgYnRyZWUocm5nc3VidHlwZSBvaWRfb3BzLCBybmd0 eXBpZCBvaWRfb3BzKSk7CiAKIE1BS0VfU1lTQ0FDSEUoUkFOR0VUWVBFLCBwZ19yYW5nZV9ybmd0 eXBpZF9pbmRleCwgNCk7CitNQUtFX1NZU0NBQ0hFKFJBTkdFU1VCVFlQRSwgcGdfcmFuZ2Vfcm5n c3VidHlwZV9ybmd0eXBpZF9pbmRleCwgNCk7CiBNQUtFX1NZU0NBQ0hFKFJBTkdFTVVMVElSQU5H RSwgcGdfcmFuZ2Vfcm5nbXVsdGl0eXBpZF9pbmRleCwgNCk7CiAKIC8qCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Rh YmxlY21kcy5oCmluZGV4IGU5YjBmYWIwNzY3Li5iZjhkNmUzMzE4MyAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dGFibGVjbWRzLmgKQEAgLTQxLDcgKzQxLDggQEAgZXh0ZXJuIExPQ0tNT0RFIEFsdGVyVGFibGVH ZXRMb2NrTGV2ZWwoTGlzdCAqY21kcyk7CiAKIGV4dGVybiB2b2lkIEFURXhlY0NoYW5nZU93bmVy KE9pZCByZWxhdGlvbk9pZCwgT2lkIG5ld093bmVySWQsIGJvb2wgcmVjdXJzaW5nLCBMT0NLTU9E RSBsb2NrbW9kZSk7CiAKLWV4dGVybiB2b2lkIEFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQs IExpc3QgKmNtZHMsIGJvb2wgcmVjdXJzZSk7CitleHRlcm4gdm9pZCBBbHRlclRhYmxlSW50ZXJu YWwoT2lkIHJlbGlkLCBMaXN0ICpjbWRzLCBib29sIHJlY3Vyc2UsCisJCQkJCQkJICAgc3RydWN0 IEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CiAKIGV4dGVybiBPaWQJQWx0ZXJU YWJsZU1vdmVBbGwoQWx0ZXJUYWJsZU1vdmVBbGxTdG10ICpzdG10KTsKIApAQCAtMTA3LDUgKzEw OCw2IEBAIGV4dGVybiB2b2lkIFJhbmdlVmFyQ2FsbGJhY2tPd25zUmVsYXRpb24oY29uc3QgUmFu Z2VWYXIgKnJlbGF0aW9uLAogCQkJCQkJCQkJCSBPaWQgcmVsSWQsIE9pZCBvbGRSZWxJZCwgdm9p ZCAqYXJnKTsKIGV4dGVybiBib29sIFBhcnRDb25zdHJhaW50SW1wbGllZEJ5UmVsQ29uc3RyYWlu dChSZWxhdGlvbiBzY2FucmVsLAogCQkJCQkJCQkJCQkJIExpc3QgKnBhcnRDb25zdHJhaW50KTsK K2V4dGVybiBPaWQJY2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kKFBlcmlvZERlZiAqcGVyaW9k KTsKIAogI2VuZGlmCQkJCQkJCS8qIFRBQkxFQ01EU19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9ub2Rlcy9leGVjbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmlu ZGV4IDVkMWJjYTE3YjBkLi41NWQ3YzI0MjEzMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9k ZXMvZXhlY25vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTQ2 NSw2ICs0NjUsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgRm9yUG9ydGlvbk9mU3RhdGUKIAljaGFyCSAg ICpmcF9yYW5nZU5hbWU7CS8qIHRoZSBjb2x1bW4gbmFtZWQgaW4gRk9SIFBPUlRJT04gT0YgKi8K IAlPaWQJCQlmcF9yYW5nZVR5cGU7CS8qIHRoZSB0eXBlIG9mIHRoZSBGT1IgUE9SVElPTiBPRiBl eHByZXNzaW9uICovCiAJaW50CQkJZnBfcmFuZ2VBdHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSBy YW5nZSBjb2x1bW4gKi8KKwlpbnQJCQlmcF9wZXJpb2RTdGFydEF0dG5vOwkvKiB0aGUgYXR0bm8g b2YgdGhlIFBFUklPRCBzdGFydAorCQkJCQkJCQkJCSAqIGNvbHVtbiAob3IgMCBmb3IgYSByYW5n ZSkgKi8KKwlpbnQJCQlmcF9wZXJpb2RFbmRBdHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSBQRVJJ T0QgZW5kIGNvbHVtbiAob3IKKwkJCQkJCQkJCSAqIDAgZm9yIGEgcmFuZ2UpICovCiAJRGF0dW0J CWZwX3RhcmdldFJhbmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5nZSBmcm9tIEZPUiBQT1JUSU9O IE9GICovCiAJVHlwZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVyc3R5cGNhY2hlOwkvKiB0eXBlIGNh Y2hlIGVudHJ5IG9mIHRoZSByYW5nZSAqLwogCVR1cGxlVGFibGVTbG90ICpmcF9FeGlzdGluZzsJ Lyogc2xvdCB0byBzdG9yZSBvbGQgdHVwbGUgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA4 OTZhMGI0ZWJhYi4uMWE0MTg4NWRjOGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3Bh cnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTIzNzAs NiArMjM3MCw3IEBAIHR5cGVkZWYgZW51bSBPYmplY3RUeXBlCiAJT0JKRUNUX09QRVJBVE9SLAog CU9CSkVDVF9PUEZBTUlMWSwKIAlPQkpFQ1RfUEFSQU1FVEVSX0FDTCwKKwlPQkpFQ1RfUEVSSU9E LAogCU9CSkVDVF9QT0xJQ1ksCiAJT0JKRUNUX1BST0NFRFVSRSwKIAlPQkpFQ1RfUFVCTElDQVRJ T04sCkBAIC0yNDU3LDYgKzI0NTgsOCBAQCB0eXBlZGVmIGVudW0gQWx0ZXJUYWJsZVR5cGUKIAlB VF9WYWxpZGF0ZUNvbnN0cmFpbnQsCQkvKiB2YWxpZGF0ZSBjb25zdHJhaW50ICovCiAJQVRfQWRk SW5kZXhDb25zdHJhaW50LAkJLyogYWRkIGNvbnN0cmFpbnQgdXNpbmcgZXhpc3RpbmcgaW5kZXgg Ki8KIAlBVF9Ecm9wQ29uc3RyYWludCwJCQkvKiBkcm9wIGNvbnN0cmFpbnQgKi8KKwlBVF9BZGRQ ZXJpb2QsCQkJCS8qIEFERCBQRVJJT0QgKi8KKwlBVF9Ecm9wUGVyaW9kLAkJCQkvKiBEUk9QIFBF UklPRCAqLwogCUFUX1JlQWRkQ29tbWVudCwJCQkvKiBpbnRlcm5hbCB0byBjb21tYW5kcy90YWJs ZWNtZHMuYyAqLwogCUFUX0FsdGVyQ29sdW1uVHlwZSwJCQkvKiBhbHRlciBjb2x1bW4gdHlwZSAq LwogCUFUX0FsdGVyQ29sdW1uR2VuZXJpY09wdGlvbnMsCS8qIGFsdGVyIGNvbHVtbiBPUFRJT05T ICguLi4pICovCkBAIC0yNzU2LDExICsyNzU5LDEyIEBAIHR5cGVkZWYgc3RydWN0IFZhcmlhYmxl U2hvd1N0bXQKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlDcmVhdGUgVGFibGUgU3Rh dGVtZW50CiAgKgotICogTk9URTogaW4gdGhlIHJhdyBncmFtLnkgb3V0cHV0LCBDb2x1bW5EZWYg YW5kIENvbnN0cmFpbnQgbm9kZXMgYXJlCi0gKiBpbnRlcm1peGVkIGluIHRhYmxlRWx0cywgYW5k IGNvbnN0cmFpbnRzIGFuZCBubmNvbnN0cmFpbnRzIGFyZSBOSUwuICBBZnRlcgorICogTk9URTog aW4gdGhlIHJhdyBncmFtLnkgb3V0cHV0LCBDb2x1bW5EZWYsIFBlcmlvZERlZiwgYW5kIENvbnN0 cmFpbnQgbm9kZXMgYXJlCisgKiBpbnRlcm1peGVkIGluIHRhYmxlRWx0czsgY29uc3RyYWludHMs IG5uY29uc3RyYWludHMsIGFuZCBwZXJpb2RzIGFyZSBOSUwuICBBZnRlcgogICogcGFyc2UgYW5h bHlzaXMsIHRhYmxlRWx0cyBjb250YWlucyBqdXN0IENvbHVtbkRlZnMsIG5uY29uc3RyYWludHMg Y29udGFpbnMKLSAqIENvbnN0cmFpbnQgbm9kZXMgb2YgQ09OU1RSX05PVE5VTEwgdHlwZSBmcm9t IHZhcmlvdXMgc291cmNlcywgYW5kCi0gKiBjb25zdHJhaW50cyBjb250YWlucyBqdXN0IENPTlNU Ul9DSEVDSyBDb25zdHJhaW50IG5vZGVzLgorICogQ29uc3RyYWludCBub2RlcyBvZiBDT05TVFJf Tk9UTlVMTCB0eXBlIGZyb20gdmFyaW91cyBzb3VyY2VzLCBjb25zdHJhaW50cworICogY29udGFp bnMganVzdCBDT05TVFJfQ0hFQ0sgQ29uc3RyYWludCBub2RlcywgYW5kIHBlcmlvZHMgY29udGFp bnMganVzdAorICogUGVyaW9kRGVmcy4KICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwog CkBAIC0yNzY5LDYgKzI3NzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBDcmVhdGVTdG10CiAJTm9kZVRh ZwkJdHlwZTsKIAlSYW5nZVZhciAgICpyZWxhdGlvbjsJCS8qIHJlbGF0aW9uIHRvIGNyZWF0ZSAq LwogCUxpc3QJICAgKnRhYmxlRWx0czsJCS8qIGNvbHVtbiBkZWZpbml0aW9ucyAobGlzdCBvZiBD b2x1bW5EZWYpICovCisJTGlzdAkgICAqcGVyaW9kczsJCS8qIHBlcmlvZHMgKGxpc3Qgb2YgUGVy aW9kRGVmIG5vZGVzKSAqLwogCUxpc3QJICAgKmluaFJlbGF0aW9uczsJLyogcmVsYXRpb25zIHRv IGluaGVyaXQgZnJvbSAobGlzdCBvZgogCQkJCQkJCQkgKiBSYW5nZVZhcikgKi8KIAlQYXJ0aXRp b25Cb3VuZFNwZWMgKnBhcnRib3VuZDsJLyogRk9SIFZBTFVFUyBjbGF1c2UgKi8KQEAgLTI3ODMs NiArMjc4OCwzMSBAQCB0eXBlZGVmIHN0cnVjdCBDcmVhdGVTdG10CiAJYm9vbAkJaWZfbm90X2V4 aXN0czsJLyoganVzdCBkbyBub3RoaW5nIGlmIGl0IGFscmVhZHkgZXhpc3RzPyAqLwogfSBDcmVh dGVTdG10OwogCisKKy8qIC0tLS0tLS0tLS0KKyAqIERlZmluaXRpb25zIGZvciBwZXJpb2RzIGlu IENyZWF0ZVN0bXQKKyAqIC0tLS0tLS0tLS0KKyAqLworCit0eXBlZGVmIHN0cnVjdCBQZXJpb2RE ZWYKK3sKKwlOb2RlVGFnCQl0eXBlOworCU9pZAkJCW9pZDsJCQkvKiBwZXJpb2Qgb2lkLCBvbmNl IGl0J3MgdHJhbnNmb3JtZWQgKi8KKwljaGFyCSAgICpwZXJpb2RuYW1lOwkJLyogcGVyaW9kIG5h bWUgKi8KKwljaGFyCSAgICpzdGFydGNvbG5hbWU7CS8qIG5hbWUgb2Ygc3RhcnQgY29sdW1uICov CisJY2hhcgkgICAqZW5kY29sbmFtZTsJCS8qIG5hbWUgb2YgZW5kIGNvbHVtbiAqLworCUF0dHJO dW1iZXIJc3RhcnRhdHRudW07CS8qIGF0dG51bSBvZiB0aGUgc3RhcnQgY29sdW1uICovCisJQXR0 ck51bWJlcgllbmRhdHRudW07CQkvKiBhdHRudW0gb2YgdGhlIGVuZCBjb2x1bW4gKi8KKwlBdHRy TnVtYmVyCXJuZ2F0dG51bTsJCS8qIGF0dG51bSBvZiB0aGUgR0VORVJBVEVEIHJhbmdlIGNvbHVt biAqLworCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBvcHRpb25zIGZyb20gV0lUSCBjbGF1c2UgKi8K KwljaGFyCSAgICpjb25zdHJhaW50bmFtZTsgLyogbmFtZSBvZiB0aGUgQ0hFQ0sgY29uc3RyYWlu dCAqLworCWNoYXIJICAgKnJhbmdldHlwZW5hbWU7CS8qIG5hbWUgb2YgdGhlIHJhbmdlIHR5cGUg Ki8KKwlPaWQJCQljb2x0eXBpZDsJCS8qIHRoZSBzdGFydC9lbmQgY29sIHR5cGUgKi8KKwlPaWQJ CQlybmd0eXBpZDsJCS8qIHRoZSByYW5nZSB0eXBlIHRvIHVzZSAqLworCWJvb2wJCWNvbGV4aXN0 czsJCS8qIHVzZSBhbiBleGlzdGluZyBHRU5FUkFURUQgY29sdW1uICovCisJaW50CQkJbG9jYXRp b247CQkvKiB0b2tlbiBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBQZXJpb2REZWY7 CisKIC8qIC0tLS0tLS0tLS0KICAqIERlZmluaXRpb25zIGZvciBjb25zdHJhaW50cyBpbiBDcmVh dGVTdG10CiAgKgpAQCAtMzUwOSw2ICszNTM5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSW5kZXhTdG10 CiAJTGlzdAkgICAqaW5kZXhQYXJhbXM7CS8qIGNvbHVtbnMgdG8gaW5kZXg6IGEgbGlzdCBvZiBJ bmRleEVsZW0gKi8KIAlMaXN0CSAgICppbmRleEluY2x1ZGluZ1BhcmFtczsJLyogYWRkaXRpb25h bCBjb2x1bW5zIHRvIGluZGV4OiBhIGxpc3QKIAkJCQkJCQkJCQkgKiBvZiBJbmRleEVsZW0gKi8K KwlQZXJpb2REZWYgICpwZXJpb2Q7CQkJLyogVGhlIHBlcmlvZCBpbmNsdWRlZCBpbiB0aGUgaW5k ZXggKi8KIAlMaXN0CSAgICpvcHRpb25zOwkJLyogV0lUSCBjbGF1c2Ugb3B0aW9uczogYSBsaXN0 IG9mIERlZkVsZW0gKi8KIAlOb2RlCSAgICp3aGVyZUNsYXVzZTsJLyogcXVhbGlmaWNhdGlvbiAo cGFydGlhbC1pbmRleCBwcmVkaWNhdGUpICovCiAJTGlzdAkgICAqZXhjbHVkZU9wTmFtZXM7IC8q IGV4Y2x1c2lvbiBvcGVyYXRvciBuYW1lcywgb3IgTklMIGlmIG5vbmUgKi8KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5v ZGVzLmgKaW5kZXggNzcyYzAwYjQwYzUuLmFlZDM3MGE3YjQ3IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMu aApAQCAtMjQwNiw2ICsyNDA2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgRm9yUG9ydGlvbk9mRXhwcgog ewogCU5vZGVUYWcJCXR5cGU7CiAJVmFyCQkgICAqcmFuZ2VWYXI7CQkvKiBSYW5nZSBjb2x1bW4g Ki8KKwlWYXIJCSAgICpzdGFydFZhcjsJCS8qIFN0YXJ0IGNvbHVtbiBpZiBQRVJJT0QgKi8KKwlW YXIJCSAgICplbmRWYXI7CQkJLyogRW5kIGNvbHVtbiBpZiBQRVJJT0QgKi8KIAljaGFyCSAgICpy YW5nZV9uYW1lOwkJLyogUmFuZ2UgbmFtZSAqLwogCU5vZGUJICAgKnRhcmdldEZyb207CQkvKiBG T1IgUE9SVElPTiBPRiBGUk9NIGJvdW5kLCBpZiBnaXZlbiAqLwogCU5vZGUJICAgKnRhcmdldFRv OwkJLyogRk9SIFBPUlRJT04gT0YgVE8gYm91bmQsIGlmIGdpdmVuICovCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgK aW5kZXggYjlmMDMzNjU3NTMuLmUzZWExMDExZTI0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9w YXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0zNDIs NyArMzQyLDcgQEAgUEdfS0VZV09SRCgicGFydGl0aW9uIiwgUEFSVElUSU9OLCBVTlJFU0VSVkVE X0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwYXNzaW5nIiwgUEFTU0lORywgVU5S RVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGFzc3dvcmQiLCBQQVNT V09SRCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGF0aCIs IFBBVEgsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKLVBHX0tFWVdPUkQoInBlcmlv ZCIsIFBFUklPRCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdfS0VZV09SRCgi cGVyaW9kIiwgUEVSSU9ELCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09S RCgicGxhY2luZyIsIFBMQUNJTkcsIFJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19L RVlXT1JEKCJwbGFuIiwgUExBTiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgicGxhbnMiLCBQTEFOUywgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaCBiL3NyYy9pbmNs dWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKaW5kZXggNDk2NWZhYzQ0OTUuLmQwZDIzYWYzZDQx IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfdXRpbGNtZC5oCisrKyBiL3Ny Yy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKQEAgLTQwLDUgKzQwLDYgQEAgZXh0ZXJu IEluZGV4U3RtdCAqZ2VuZXJhdGVDbG9uZWRJbmRleFN0bXQoUmFuZ2VWYXIgKmhlYXBSZWwsCiAJ CQkJCQkJCQkJICBSZWxhdGlvbiBzb3VyY2VfaWR4LAogCQkJCQkJCQkJCSAgY29uc3QgQXR0ck1h cCAqYXR0bWFwLAogCQkJCQkJCQkJCSAgT2lkICpjb25zdHJhaW50T2lkKTsKK2V4dGVybiB2b2lk IHRyYW5zZm9ybVBlcmlvZE9wdGlvbnMoUGVyaW9kRGVmICpwZXJpb2QpOwogCiAjZW5kaWYJCQkJ CQkJLyogUEFSU0VfVVRJTENNRF9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9s c3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oCmluZGV4IGFkM2Q1ZjMz YjVlLi42MGMyYTRjYTU5NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hl LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKQEAgLTk4LDYgKzk4LDggQEAg ZXh0ZXJuIE9pZAlnZXRfYXR0dHlwZShPaWQgcmVsaWQsIEF0dHJOdW1iZXIgYXR0bnVtKTsKIGV4 dGVybiB2b2lkIGdldF9hdHR0eXBldHlwbW9kY29sbChPaWQgcmVsaWQsIEF0dHJOdW1iZXIgYXR0 bnVtLAogCQkJCQkJCQkgIE9pZCAqdHlwaWQsIGludDMyICp0eXBtb2QsIE9pZCAqY29sbGlkKTsK IGV4dGVybiBEYXR1bSBnZXRfYXR0b3B0aW9ucyhPaWQgcmVsaWQsIGludDE2IGF0dG51bSk7Citl eHRlcm4gY2hhciAqZ2V0X3BlcmlvZG5hbWUoT2lkIHBlcmlvZGlkLCBib29sIG1pc3Npbmdfb2sp OworZXh0ZXJuIE9pZAlnZXRfcGVyaW9kX29pZChPaWQgcmVsaWQsIGNvbnN0IGNoYXIgKnBlcmlv ZG5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gT2lkCWdldF9jYXN0X29pZChPaWQgc291 cmNldHlwZWlkLCBPaWQgdGFyZ2V0dHlwZWlkLCBib29sIG1pc3Npbmdfb2spOwogZXh0ZXJuIGNo YXIgKmdldF9jb2xsYXRpb25fbmFtZShPaWQgY29sbG9pZCk7CiBleHRlcm4gYm9vbCBnZXRfY29s bGF0aW9uX2lzZGV0ZXJtaW5pc3RpYyhPaWQgY29sbG9pZCk7CkBAIC0xNTAsNiArMTUyLDcgQEAg ZXh0ZXJuIE9pZAlnZXRfcmVsX3JlbGFtKE9pZCByZWxpZCk7CiBleHRlcm4gT2lkCWdldF90cmFu c2Zvcm1fZnJvbXNxbChPaWQgdHlwaWQsIE9pZCBsYW5naWQsIExpc3QgKnRyZnR5cGVzKTsKIGV4 dGVybiBPaWQJZ2V0X3RyYW5zZm9ybV90b3NxbChPaWQgdHlwaWQsIE9pZCBsYW5naWQsIExpc3Qg KnRyZnR5cGVzKTsKIGV4dGVybiBib29sIGdldF90eXBpc2RlZmluZWQoT2lkIHR5cGlkKTsKK2V4 dGVybiBib29sIGdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2UoT2lkIHR5cGlkLCBjaGFyICoqdHlw bmFtZSwgY2hhciAqKnR5cG5hbWVzcGFjZSk7CiBleHRlcm4gaW50MTYgZ2V0X3R5cGxlbihPaWQg dHlwaWQpOwogZXh0ZXJuIGJvb2wgZ2V0X3R5cGJ5dmFsKE9pZCB0eXBpZCk7CiBleHRlcm4gdm9p ZCBnZXRfdHlwbGVuYnl2YWwoT2lkIHR5cGlkLCBpbnQxNiAqdHlwbGVuLCBib29sICp0eXBieXZh bCk7CkBAIC0yMDMsNiArMjA2LDcgQEAgZXh0ZXJuIE9pZAlnZXRfcmFuZ2VfY29sbGF0aW9uKE9p ZCByYW5nZU9pZCk7CiBleHRlcm4gT2lkCWdldF9yYW5nZV9jb25zdHJ1Y3RvcjIoT2lkIHJhbmdl T2lkKTsKIGV4dGVybiBPaWQJZ2V0X3JhbmdlX211bHRpcmFuZ2UoT2lkIHJhbmdlT2lkKTsKIGV4 dGVybiBPaWQJZ2V0X211bHRpcmFuZ2VfcmFuZ2UoT2lkIG11bHRpcmFuZ2VPaWQpOworZXh0ZXJu IE9pZAlnZXRfc3VidHlwZV9yYW5nZShPaWQgc3VidHlwZU9pZCk7CiBleHRlcm4gT2lkCWdldF9p bmRleF9jb2x1bW5fb3BjbGFzcyhPaWQgaW5kZXhfb2lkLCBpbnQgYXR0bm8pOwogZXh0ZXJuIGJv b2wgZ2V0X2luZGV4X2lzcmVwbGlkZW50KE9pZCBpbmRleF9vaWQpOwogZXh0ZXJuIGJvb2wgZ2V0 X2luZGV4X2lzdmFsaWQoT2lkIGluZGV4X29pZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91 dGlscy9wZXJpb2QuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5oCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kMDJjMTcwMzZmZAotLS0gL2Rldi9udWxsCisrKyBi L3NyYy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICoKKyAqIHBlcmlvZC5oCisgKgkgIHN1cHBvcnQgZm9yIFBvc3RncmVzIHBlcmlv ZHMuCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIyLCBQb3N0Z3Jl U1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAx OTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBzcmMv aW5jbHVkZS91dGlscy9wZXJpb2QuaAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaWZu ZGVmIFBFUklPRF9ICisjZGVmaW5lIFBFUklPRF9ICisKKyNpbmNsdWRlICJleGVjdXRvci90dXB0 YWJsZS5oIgorCitleHRlcm4gRGF0dW0gcGVyaW9kX3RvX3JhbmdlKFR1cGxlVGFibGVTbG90ICpz bG90LCBpbnQgc3RhcnRhdHRubywgaW50IGVuZGF0dG5vLCBPaWQgcmFuZ2V0eXBlKTsKKworI2Vu ZGlmCQkJCQkJCS8qIFBFUklPRF9IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfZGRsX2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5jIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2RkbF9kZXBhcnNlL3Rlc3RfZGRsX2RlcGFyc2UuYwppbmRleCAxOTM2NjlmMmJjMS4uOWVkNDI5 ZmRhZGQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS90ZXN0 X2RkbF9kZXBhcnNlLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3Rl c3RfZGRsX2RlcGFyc2UuYwpAQCAtMTc5LDYgKzE3OSwxMiBAQCBnZXRfYWx0ZXJ0YWJsZV9zdWJj bWRpbmZvKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQljYXNlIEFUX0Ryb3BDb25zdHJhaW50OgogCQkJ CXN0cnR5cGUgPSAiRFJPUCBDT05TVFJBSU5UIjsKIAkJCQlicmVhazsKKwkJCWNhc2UgQVRfQWRk UGVyaW9kOgorCQkJCXN0cnR5cGUgPSAiQUREIFBFUklPRCI7CisJCQkJYnJlYWs7CisJCQljYXNl IEFUX0Ryb3BQZXJpb2Q6CisJCQkJc3RydHlwZSA9ICJEUk9QIFBFUklPRCI7CisJCQkJYnJlYWs7 CiAJCQljYXNlIEFUX1JlQWRkQ29tbWVudDoKIAkJCQlzdHJ0eXBlID0gIihyZSkgQUREIENPTU1F TlQiOwogCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9m b3JfcG9ydGlvbl9vZi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9u X29mLm91dAppbmRleCBlNzc0ZjM4ZDQ3OC4uN2U0ZDIxZmRkNDYgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CkBAIC0xOTE5LDYgKzE5MTksNjQgQEAg U0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CiAgWzMsNCkgfCB7WzIwMTgtMDEtMDEsKX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhyZWUKICg3IHJvd3MpCiAKK0RST1AgVEFC TEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7CistLSBUZXN0IHdpdGggUEVSSU9EcworQ1JFQVRFIFRB QkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQgTk9UIE5VTEws CisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNU UkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitW QUxVRVMKKygnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJywgJ29uZScpLAorKCdb MSwyKScsICcyMDE4LTAyLTA0JywgJzIwMTgtMDMtMDMnLCAnb25lJyksCisoJ1sxLDIpJywgJzIw MTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcsICdvbmUnKSwKKygnWzIsMyknLCAnMjAxOC0wMS0wMScs ICcyMDE4LTA1LTAxJywgJ3R3bycpLAorKCdbMyw0KScsICcyMDE4LTAxLTAxJywgbnVsbCwgJ3Ro cmVlJyk7Cis7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIG5hbWUgPSAnb25l XjEnCitXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTgtMDIt MTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBTZXR0aW5nIHRoZSBzdGFydCBjb2x1bW4gZmFp bHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX2Zyb20gPSAnMjAx OC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgbXVsdGlwbGUgYXNzaWdubWVu dHMgdG8gc2FtZSBjb2x1bW4gInZhbGlkX2Zyb20iCistLSBTZXR0aW5nIHRoZSBlbmQgY29sdW1u IGZhaWxzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCB2YWxpZF90aWwgPSAn MjAxOC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgbXVsdGlwbGUgYXNzaWdu bWVudHMgdG8gc2FtZSBjb2x1bW4gInZhbGlkX3RpbCIKKy0tIFNldHRpbmcgdGhlIGdlbmVyYXRl ZCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlk X2F0ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDItMDMpJworV0hFUkUgaWQgPSAnWzEsMiknOworRVJS T1I6ICBjYW5ub3QgdXBkYXRlIGNvbHVtbiAidmFsaWRfYXQiIGJlY2F1c2UgaXQgaXMgdXNlZCBp biBGT1IgUE9SVElPTiBPRgorTElORSAzOiBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDItMDEsMjAx OC0wMi0wMyknCisgICAgICAgICAgICBeCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLQor IFsxLDIpIHwgMjAxOC0wMS0wMiB8IDIwMTgtMDEtMTAgfCBvbmUKKyBbMSwyKSB8IDIwMTgtMDEt MTAgfCAyMDE4LTAyLTAzIHwgb25lXjEKKyBbMSwyKSB8IDIwMTgtMDItMDQgfCAyMDE4LTAyLTEw IHwgb25lXjEKKyBbMSwyKSB8IDIwMTgtMDItMTAgfCAyMDE4LTAzLTAzIHwgb25lCisgWzEsMikg fCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNCB8IG9uZQorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIw MTgtMDEtMTUgfCB0d28KKyBbMiwzKSB8IDIwMTgtMDItMTUgfCAyMDE4LTA1LTAxIHwgdHdvCisg WzMsNCkgfCAyMDE4LTAxLTAxIHwgICAgICAgICAgICB8IHRocmVlCisoOCByb3dzKQorCiBEUk9Q IFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOwogLS0gVGVzdCB3aXRoIGEgY3VzdG9tIHJhbmdl IHR5cGUKIENSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BlcmlvZHMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9wZXJpb2RzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uZDQyOTA5NzYwMGEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3BlcmlvZHMub3V0CkBAIC0wLDAgKzEsMzE4IEBACisvKiBTeXN0ZW0g cGVyaW9kcyBhcmUgbm90IGltcGxlbWVudGVkICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3Igc3lzdGVtX3RpbWUgKGRzLCBkZSkpOwor RVJST1I6ICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBzdXBwb3J0ZWQKK0xJTkUgMjog Y3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9y IHN5Li4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgorLyogUGVyaW9kcyBtdXN0IHNwZWNpZnkgYWN0dWFsIGNvbHVtbnMgKi8KK2NyZWF0 ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChi b2d1cywgZGUpKTsKK0VSUk9SOiAgY29sdW1uICJib2d1cyIgb2YgcmVsYXRpb24gInB0IiBkb2Vz IG5vdCBleGlzdAorY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHAgKGRzLCBib2d1cykpOworRVJST1I6ICBjb2x1bW4gImJvZ3VzIiBvZiBy ZWxhdGlvbiAicHQiIGRvZXMgbm90IGV4aXN0CisvKiBEYXRhIHR5cGVzIG11c3QgbWF0Y2ggZXhh Y3RseSAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSB0aW1lc3Rh bXAsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIHN0YXJ0IGFuZCBlbmQgY29sdW1u cyBvZiBwZXJpb2QgbXVzdCBiZSBvZiBzYW1lIHR5cGUKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50 ZWdlciwgZHMgdGV4dCBjb2xsYXRlICJDIiwgZGUgdGV4dCBjb2xsYXRlICJQT1NJWCIsIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIHN0YXJ0IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJp b2QgbXVzdCBoYXZlIHNhbWUgY29sbGF0aW9uCisvKiBQZXJpb2RzIG11c3QgaGF2ZSBhIGRlZmF1 bHQgQlRyZWUgb3BlcmF0b3IgY2xhc3MgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwg ZHMgeG1sLCBkZSB4bWwsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIG5vIHJhbmdl IHR5cGUgZm9yIHhtbCBmb3VuZCBmb3IgcGVyaW9kIHAKK0hJTlQ6ICBZb3UgY2FuIGRlZmluZSBh IGN1c3RvbSByYW5nZSB0eXBlIHdpdGggQ1JFQVRFIFRZUEUKKy8qIFBlcmlvZCBhbmQgY29sdW1u IG5hbWVzIGFyZSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBjdGlkIChkcywgZGUpKTsKK0VS Uk9SOiAgcGVyaW9kIG5hbWUgImN0aWQiIGNvbmZsaWN0cyB3aXRoIGEgc3lzdGVtIGNvbHVtbiBu YW1lCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlv ZCBmb3IgaWQgKGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiaWQiIGNvbmZsaWN0cyB3 aXRoIGEgY29sdW1uIG5hbWUKKy8qIFBlcmlvZCBuYW1lIGNhbid0IGJlIGdpdmVuIG1vcmUgdGhh biBvbmNlICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUs IHBlcmlvZCBmb3IgcCAoZHMsIGRlKSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK0VSUk9SOiAg cGVyaW9kIG5hbWUgInAiIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZQorLyogUGVyaW9kIGNhbid0 IHVzZSB0aGUgc2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5kIGVuZCovCitjcmVhdGUgdGFibGUgcHQg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRzKSk7CitF UlJPUjogIGNvbHVtbiAiZHMiIGNhbid0IGJlIHRoZSBzdGFydCBhbmQgZW5kIGNvbHVtbiBmb3Ig cGVyaW9kICJwIgorLyogTm93IG1ha2Ugb25lIHRoYXQgd29ya3MgKi8KK2NyZWF0ZSB0YWJsZSBw dCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsK Ky8qIEl0cyBnZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdvb2QgKi8KK3NlbGVjdCBhdHRuYW1lLCBh dHR0eXBpZDo6cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0Z2VuZXJhdGVkIGZyb20gcGdfYXR0cmli dXRlIHdoZXJlIGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIGF0dG5hbWUgPSAncCc7Cisg YXR0bmFtZSB8IGF0dHR5cGlkICB8IGF0dG5vdG51bGwgfCBhdHRnZW5lcmF0ZWQgCistLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCisgcCAgICAgICB8IGRh dGVyYW5nZSB8IHQgICAgICAgICAgfCBzCisoMSByb3cpCisKK3NlbGVjdCBjb25uYW1lLCBjb250 eXBlIGZyb20gcGdfY29uc3RyYWludCB3aGVyZSBjb25yZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIG9y ZGVyIGJ5IGNvbm5hbWU7CisgICAgY29ubmFtZSAgICB8IGNvbnR5cGUgCistLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tCisgcHRfcF9jaGVjayAgICB8IGMKKyBwdF9wX25vdF9udWxsIHwgbgorKDIg cm93cykKKworLyogSXQgYXBwZWFycyBpbiB0aGUgaW5mb3JtYXRpb25fc2NoZW1hICovCitzZWxl Y3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5wZXJpb2RzOworIHRhYmxlX2NhdGFsb2cgfCB0 YWJsZV9zY2hlbWEgfCB0YWJsZV9uYW1lIHwgcGVyaW9kX25hbWUgfCBzdGFydF9jb2x1bW5fbmFt ZSB8IGVuZF9jb2x1bW5fbmFtZSAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tCisgcmVncmVzc2lvbiAgICB8IHB1YmxpYyAgICAgICB8IHB0ICAgICAgICAgfCBwICAgICAg ICAgICB8IGRzICAgICAgICAgICAgICAgIHwgZGUKKygxIHJvdykKKworLyogU0VMRUNUICogZXhj bHVkZXMgdGhlIFBFUklPRCAqLworaW5zZXJ0IGludG8gcHQgdmFsdWVzICgxLCAnMjAwMC0wMS0w MScsICcyMDAxLTAxLTAxJyk7CitzZWxlY3QgKiBmcm9tIHB0OworIGlkIHwgICAgIGRzICAgICB8 ICAgICBkZSAgICAgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyAgMSB8IDAxLTAx LTIwMDAgfCAwMS0wMS0yMDAxCisoMSByb3cpCisKKy8qIFlvdSBjYW4gZ2V0IGl0IGlmIHlvdSB3 YW50ICovCitzZWxlY3QgKiwgcCBmcm9tIHB0OworIGlkIHwgICAgIGRzICAgICB8ICAgICBkZSAg ICAgfCAgICAgICAgICAgIHAgICAgICAgICAgICAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIDEgfCAwMS0wMS0yMDAwIHwgMDEtMDEt MjAwMSB8IFswMS0wMS0yMDAwLDAxLTAxLTIwMDEpCisoMSByb3cpCisKKy8qIFlvdSBjYW4gY29t bWVudCBvbiBpdCAqLworY29tbWVudCBvbiBwZXJpb2QgcHQucCBpcyAndGVzdCBjb21tZW50JzsK K3NlbGVjdCBvYmpfZGVzY3JpcHRpb24oKHNlbGVjdCBvaWQgZnJvbSBwZ19wZXJpb2Qgd2hlcmUg cGVycmVsaWQgPSAncHQnOjpyZWdjbGFzcyBhbmQgcGVybmFtZSA9ICdwJyksICdwZ19wZXJpb2Qn KTsKKyBvYmpfZGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLQorIHRlc3QgY29tbWVudAor KDEgcm93KQorCisvKiBUd28gYXJlIG9rYXkgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcDEgKGRzLCBkZSksIHBlcmlvZCBmb3Ig cDIgKGRzLCBkZSkpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRF RCBjb2x1bW46IHdvcmtzICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRl cmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhp c3RzID0gdHJ1ZSkpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy5wdDIi CisgQ29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAg ICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRhdGUgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAgICAgICAg fCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICBwIChkcywgZGUpCitDaGVjayBjb25zdHJhaW50 czoKKyAgICAicHQyX3BfY2hlY2siIENIRUNLIChkcyA8IGRlKQorCitkcm9wIHRhYmxlIHB0MjsK Ky8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29s IGlzbid0IHRoZXJlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBk ZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOwor RVJST1I6ICBObyBjb2x1bW4gZm91bmQgd2l0aCBuYW1lIHAKKy8qIFNraXAgY3JlYXRpbmcgR0VO RVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgb3B0aW9uIGhhcyBhbiBpbnZhbGlkIHZh bHVlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBw ZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gJ3doYXRldmVyJykpOworRVJS T1I6ICBjb2xleGlzdHMgcmVxdWlyZXMgYSBCb29sZWFuIHZhbHVlCisvKiBTa2lwIGNyZWF0aW5n IEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgTk9UIE5V TEwgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAg ZGF0ZXJhbmdlIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQs IHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CitFUlJPUjog IFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgYWxsb3dzIG51bGxzCisvKiBT a2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBp cyBub3QgR0VORVJBVEVEICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdp dGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIG5vbi1nZW5l cmF0ZWQgY29sdW1uCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJl Y2F1c2UgdGhlIGNvbHVtbiBpcyBHRU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Np b24gKi8KKy0tIFRPRE86CistLSBjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRl cmFuZ2UoZGUsIGRzKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhp c3RzID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBi ZWNhdXNlIHRoZSBjb2x1bW4gaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgdHNyYW5nZSBub3QgbnVsbCBnZW5lcmF0 ZWQgYWx3YXlzIGFzICh0c3JhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywg ZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdl bmVyYXRlZCBjb2x1bW4gd2l0aCB0aGUgd3JvbmcgdHlwZQorLyogU2tpcCBjcmVhdGluZyBHRU5F UkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgaW5oZXJpdGVkICovCitj cmVhdGUgdGFibGUgcHQycGFyZW50IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRh dGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkg c3RvcmVkKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChj b2xleGlzdHMgPSB0cnVlKSkgaW5oZXJpdHMgKHB0MnBhcmVudCk7CitFUlJPUjogIEluaGVyaXRp bmcgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGEgdGFibGUgaGFzIGEgUEVSSU9ECitkcm9wIHRhYmxl IHB0MnBhcmVudDsKKy8qCisgKiBBTFRFUiBUQUJMRSB0ZXN0cworICovCithbHRlciB0YWJsZSBw dCBkcm9wIHBlcmlvZCBmb3IgcDsKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHN5c3Rl bV90aW1lIChkcywgZGUpOworRVJST1I6ICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIGlzIG5vdCBz dXBwb3J0ZWQKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7CisvKiBJ dHMgZ2VuZXJhdGVkIGNvbHVtbiBsb29rcyBnb29kICovCitzZWxlY3QgYXR0bmFtZSwgYXR0dHlw aWQ6OnJlZ3R5cGUsIGF0dG5vdG51bGwsIGF0dGdlbmVyYXRlZCBmcm9tIHBnX2F0dHJpYnV0ZSB3 aGVyZSBhdHRyZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIGFuZCBhdHRuYW1lID0gJ3AnOworIGF0dG5h bWUgfCBhdHR0eXBpZCAgfCBhdHRub3RudWxsIHwgYXR0Z2VuZXJhdGVkIAorLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHAgICAgICAgfCBkYXRlcmFu Z2UgfCB0ICAgICAgICAgIHwgcworKDEgcm93KQorCitzZWxlY3QgY29ubmFtZSwgY29udHlwZSBm cm9tIHBnX2NvbnN0cmFpbnQgd2hlcmUgY29ucmVsaWQgPSAncHQnOjpyZWdjbGFzcyBvcmRlciBi eSBjb25uYW1lOworICAgIGNvbm5hbWUgICAgfCBjb250eXBlIAorLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLQorIHB0X3BfY2hlY2sgICAgfCBjCisgcHRfcF9ub3RfbnVsbCB8IG4KKygyIHJvd3Mp CisKKy8qIEFkZGluZyBhIHNlY29uZCBvbmUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcDEgKGRzLCBkZSkpOworYWx0ZXIgdGFi bGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAyIChkcywgZGUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBD YW4ndCBkcm9wIGl0cyBjb2x1bW5zICovCithbHRlciB0YWJsZSBwdCBkcm9wIGNvbHVtbiBkczsK K0VSUk9SOiAgY2Fubm90IGRyb3AgY29sdW1uIGRzIG9mIHRhYmxlIHB0IGJlY2F1c2Ugb3RoZXIg b2JqZWN0cyBkZXBlbmQgb24gaXQKK0RFVEFJTDogIHBlcmlvZCBwIG9uIHRhYmxlIHB0IGRlcGVu ZHMgb24gY29sdW1uIGRzIG9mIHRhYmxlIHB0CitISU5UOiAgVXNlIERST1AgLi4uIENBU0NBREUg dG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9vLgorYWx0ZXIgdGFibGUgcHQgZHJvcCBj b2x1bW4gZGU7CitFUlJPUjogIGNhbm5vdCBkcm9wIGNvbHVtbiBkZSBvZiB0YWJsZSBwdCBiZWNh dXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJs ZSBwdCBkZXBlbmRzIG9uIGNvbHVtbiBkZSBvZiB0YWJsZSBwdAorSElOVDogIFVzZSBEUk9QIC4u LiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KKy8qIENhbid0IGNo YW5nZSB0aGUgZGF0YSB0eXBlcyAqLworYWx0ZXIgdGFibGUgcHQgYWx0ZXIgY29sdW1uIGRzIHR5 cGUgdGltZXN0YW1wOworRVJST1I6ICBjYW5ub3QgYWx0ZXIgdHlwZSBvZiBhIGNvbHVtbiB1c2Vk IGJ5IGEgcGVyaW9kCitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJsZSBwdCBkZXBlbmRzIG9uIGNv bHVtbiAiZHMiCithbHRlciB0YWJsZSBwdCBhbHRlciBjb2x1bW4gZHMgdHlwZSB0aW1lc3RhbXA7 CitFUlJPUjogIGNhbm5vdCBhbHRlciB0eXBlIG9mIGEgY29sdW1uIHVzZWQgYnkgYSBwZXJpb2QK K0RFVEFJTDogIHBlcmlvZCBwIG9uIHRhYmxlIHB0IGRlcGVuZHMgb24gY29sdW1uICJkcyIKKy8q IGNvbHVtbi9wZXJpb2QgbmFtZXNwYWNlIGNvbmZsaWN0cyAqLworYWx0ZXIgdGFibGUgcHQgYWRk IGNvbHVtbiBwIGludGVnZXI7CitFUlJPUjogIGNvbHVtbiBuYW1lICJwIiBjb25mbGljdHMgd2l0 aCBhIHBlcmlvZCBuYW1lCithbHRlciB0YWJsZSBwdCByZW5hbWUgY29sdW1uIGlkIHRvIHA7CitF UlJPUjogIGNvbHVtbiBuYW1lICJwIiBjb25mbGljdHMgd2l0aCBhIHBlcmlvZCBuYW1lCithbHRl ciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciB0YWJsZW9pZCAoZHMsIGRlKTsKK0VSUk9SOiAgcGVy aW9kIG5hbWUgInRhYmxlb2lkIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZQor YWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBmb3IgIi4uLi4uLi4ucGcuZHJvcHBlZC40Li4uLi4u Li4iIChkcywgZGUpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiLi4uLi4uLi5wZy5kcm9wcGVkLjQu Li4uLi4uLiIgY29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZQorLyogYWRkaW5nIGNvbHVtbnMg YW5kIHRoZSBwZXJpb2QgYXQgdGhlIHNhbWUgdGltZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQg aW50ZWdlcik7CithbHRlciB0YWJsZSBwdDIgYWRkIGNvbHVtbiBkcyBkYXRlLCBhZGQgY29sdW1u IGRlIGRhdGUsIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8q IEFtYmlndW91cyByYW5nZSB0eXBlcyByYWlzZSBhbiBlcnJvciAqLworY3JlYXRlIHR5cGUgbXlk YXRlcmFuZ2UgYXMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGlu dCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK0VSUk9SOiAgYW1i aWd1b3VzIHJhbmdlIGZvciB0eXBlIGRhdGUKKy8qIFlvdSBjYW4gZ2l2ZSBhbiBleHBsaWNpdCBy YW5nZSB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUs IHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5nZXR5cGUgPSAnbXlkYXRlcmFuZ2UnKSk7 Citkcm9wIHR5cGUgbXlkYXRlcmFuZ2U7CitFUlJPUjogIGNhbm5vdCBkcm9wIHR5cGUgbXlkYXRl cmFuZ2UgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgcGVyaW9k IHAgb24gdGFibGUgcHQyIGRlcGVuZHMgb24gdHlwZSBteWRhdGVyYW5nZQorSElOVDogIFVzZSBE Uk9QIC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KK2Ryb3Ag dHlwZSBteWRhdGVyYW5nZSBjYXNjYWRlOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBwZXJp b2QgcCBvbiB0YWJsZSBwdDIKK2Ryb3AgdGFibGUgcHQyOworY3JlYXRlIHRhYmxlIHB0MiAoaWQg aW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0 eXBlID0gJ2RhdGVyYW5nZScpKTsKKy8qIFJhbmdlIHR5cGUgaXMgbm90IGZvdW5kICovCitjcmVh dGUgdGFibGUgcHQzIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMs IGRlKSB3aXRoIChyYW5nZXR5cGUgPSAnbm90YXJhbmdlJykpOworRVJST1I6ICBSYW5nZSB0eXBl IG5vdGFyYW5nZSBub3QgZm91bmQKKy8qIFJhbmdlIHR5cGUgaXMgdGhlIHdyb25nIHR5cGUgKi8K K2NyZWF0ZSB0YWJsZSBwdDMgKGlkIGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBw IChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICd0c3R6cmFuZ2UnKSk7CitFUlJPUjogIFJhbmdl IHR5cGUgdHN0enJhbmdlIGRvZXMgbm90IG1hdGNoIGNvbHVtbiB0eXBlIGRhdGUKK2Ryb3AgdGFi bGUgcHQyOworLyogUGVyaW9kIGNhbid0IHVzZSB0aGUgc2FtZSBjb2x1bSBmb3Igc3RhcnQgYW5k IGVuZCovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsK K2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZHMpOworRVJST1I6ICBjb2x1 bW4gImRzIiBjYW4ndCBiZSB0aGUgc3RhcnQgYW5kIGVuZCBjb2x1bW4gZm9yIHBlcmlvZCAicCIK K2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3Jr cyAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBk YXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkp IHN0b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRo IChjb2xleGlzdHMgPSB0cnVlKTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJs aWMucHQyIgorIENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0K KyBpZCAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBk YXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgcCAoZHMsIGRlKQorQ2hlY2sgY29u c3RyYWludHM6CisgICAgInB0Ml9wX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0YWJs ZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2Ug dGhlIGNvbCBpc24ndCB0aGVyZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMg ZGF0ZSwgZGUgZGF0ZSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK0VSUk9SOiAgY29sdW1uICJwIiBvZiByZWxhdGlv biAicHQyIiBkb2VzIG5vdCBleGlzdAorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5n IEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIG9wdGlvbiBoYXMgYW4gaW52YWxp ZCB2YWx1ZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRz LCBkZSkpIHN0b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSAnd2hhdGV2ZXInKTsKK0VSUk9SOiAgY29sZXhpc3RzIHJlcXVp cmVzIGEgQm9vbGVhbiB2YWx1ZQorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdF TkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgTk9UIE5VTEwg Ki8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0 ZXJhbmdlIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOwor YWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3Rz ID0gdHJ1ZSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQg YWxsb3dzIG51bGxzCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVE IGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBHRU5FUkFURUQgKi8KK2Ny ZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdl IG5vdCBudWxsKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdp dGggKGNvbGV4aXN0cyA9IHRydWUpOworRVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgbm9uLWdlbmVy YXRlZCBjb2x1bW4KK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQg Y29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgR0VORVJBVEVEIGJ1dCB3aXRoIHRo ZSB3cm9uZyBleHByZXNzaW9uICovCistLSBUT0RPOgorLS0gY3JlYXRlIHRhYmxlIHB0MiAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVk IGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRlLCBkcykpIHN0b3JlZCk7CistLSBhbHRlciB0YWJsZSBw dDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKKy8q IFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1u IGlzIHRoZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBk YXRlLCBkZSBkYXRlLCBwIHRzcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAodHNy YW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAg KGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMg YSBnZW5lcmF0ZWQgY29sdW1uIHdpdGggdGhlIHdyb25nIHR5cGUKK2Ryb3AgdGFibGUgcHQyOwor LyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1 bW4gaXMgaW5oZXJpdGVkICovCitjcmVhdGUgdGFibGUgcHQycGFyZW50IChpZCBpbnRlZ2VyLCBk cyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFz IChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKCkgaW5oZXJp dHMgKHB0MnBhcmVudCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdlbmVy YXRlZCBjb2x1bW4gdGhhdCBpcyBpbmhlcml0ZWQKK2Ryb3AgdGFibGUgcHQyOworZHJvcCB0YWJs ZSBwdDJwYXJlbnQ7CisvKiBDUkVBVEUgVEFCTEUgKExJS0UgLi4uKSAqLworLyogUGVyaW9kcyBh cmUgbm90IGNvcGllZCBieSBMSUtFLCBzbyB0aGVpciBjb2x1bW5zIGFyZW4ndCBlaXRoZXIgKi8K K2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFi bGUgInB1YmxpYy5wdDIiCisgQ29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLQorIGlkICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRz ICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorCitkcm9wIHRhYmxlIHB0MjsKKy8qIENhbiBh ZGQgYSBwZXJpb2QgcmVmZXJyaW5nIHRvIExJS0UnZCBjb2x1bW5zICovCitjcmVhdGUgdGFibGUg bm90X3AgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUpOworY3JlYXRlIHRhYmxlIHB0MiAo bGlrZSBub3RfcCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK1xkIHB0MgorICAgICAgICAgICAg ICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENvbHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBO dWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBpbnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAg fCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkZSAgICAg fCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgcCAoZHMs IGRlKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInB0Ml9wX2NoZWNrIiBDSEVDSyAoZHMgPCBk ZSkKKworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4gYWRkIGEgcGVyaW9kIHdpdGggdGhlIHNhbWUg bmFtZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBwIChkcywgZGUp KTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENvbHVtbiB8 ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBpbnRlZ2Vy IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAg fCAKK1BlcmlvZHM6CisgICAgcCAoZHMsIGRlKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInB0 Ml9wX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4gYWRk IGEgcGVyaW9kIHdpdGggYSBkaWZmZXJlbnQgbmFtZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlr ZSBwdCwgcGVyaW9kIGZvciBwMiAoZHMsIGRlKSk7CitcZCBwdDIKKyAgICAgICAgICAgICAgICBU YWJsZSAicHVibGljLnB0MiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFi bGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tCisgaWQgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisg ZHMgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZGUgICAgIHwgZGF0 ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHAyIChkcywgZGUp CitDaGVjayBjb25zdHJhaW50czoKKyAgICAicHQyX3AyX2NoZWNrIiBDSEVDSyAoZHMgPCBkZSkK KworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4ndCBhZGQgYSBwZXJpb2Qgd2hvc2UgbmFtZSBjb25m bGljdHMgd2l0aCBhIExJS0UnZCBjb2x1bW4gKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQs IHBlcmlvZCBmb3IgaWQgKGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiaWQiIGNvbmZs aWN0cyB3aXRoIGEgY29sdW1uIG5hbWUKKy8qIENSRUFURSBUQUxCRSBJTkhFUklUUyAqLworLyog Q2FuJ3QgaW5oZXJpdCBmcm9tIGEgdGFibGUgd2l0aCBhIHBlcmlvZCAqLworY3JlYXRlIHRhYmxl IHB0MiAobmFtZSB0ZXh0KSBpbmhlcml0cyAocHQpOworRVJST1I6ICBJbmhlcml0aW5nIGZyb20g YSB0YWJsZSB3aXRoIGEgUEVSSU9EIGlzIG5vdCBzdXBwb3J0ZWQKKy8qIENhbid0IGluaGVyaXQg d2l0aCBhIHBlcmlvZCAqLworY3JlYXRlIHRhYmxlIHB0MiAoZDJzIGRhdGUsIGQyZSBkYXRlLCBw ZXJpb2QgZm9yIHAgKGQycywgZDJlKSkgaW5oZXJpdHMgKG5vdF9wKTsKK0VSUk9SOiAgSW5oZXJp dGluZyBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYSB0YWJsZSBoYXMgYSBQRVJJT0QKK2Ryb3AgdGFi bGUgbm90X3A7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVn ZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dAppbmRleCBj NzE5NDM5NTBhOS4uZTY2ZTAxNTg5OWUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcHJpdmlsZWdlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2 aWxlZ2VzLm91dApAQCAtMTE0Nyw2ICsxMTQ3LDM1IEBAIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJ T04gcmVncmVzc19wcml2X3VzZXIzOwogREVMRVRFIEZST00gdDEgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnOwogU0VUIFNFU1NJT04gQVVU SE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBEUk9QIFRBQkxFIHQxOworLS0gdGVzdCBj b2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgUEVSSU9EIHVzZWQgaW4gRk9SIFBPUlRJT04g T0YKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworQ1JFQVRF IFRBQkxFIHQxICgKKyAgYzEgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIHRpbWVzdGFtcCwKKyAg dmFsaWRfdGlsIHRpbWVzdGFtcCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFSWSBLRVkgKGMxLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNzX3ByaXZf dXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIzOworR1JBTlQg U0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK0dSQU5UIFNFTEVDVCBPTiB0MSBU TyByZWdyZXNzX3ByaXZfdXNlcjU7CitHUkFOVCBVUERBVEUgKGMxKSBPTiB0MSBUTyByZWdyZXNz X3ByaXZfdXNlcjI7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9hdCkgT04gdDEgVE8gcmVncmVz c19wcml2X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBP TiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjQ7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHZhbGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjU7CitTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1VQREFURSB0MSBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VU IGMxID0gJ1syLDMpJzsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlIHQxCitT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0MSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScg U0VUIGMxID0gJ1syLDMpJzsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlIHQx CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK1VQREFURSB0 MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0w MScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19w cml2X3VzZXI1OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAt MDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVU SE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CitEUk9QIFRBQkxFIHQxOwogLS0gdGVzdCBj b2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyB3aGVuIGludm9sdmVkIHdpdGggREVMRVRFCiBTRVQgU0VT U0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0ZXN0 NiBBREQgQ09MVU1OIHRocmVlIGludGVnZXI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC93aXRob3V0X292ZXJsYXBzLm91dAppbmRleCA0ZDlmMjVhYzQwNS4uZTU0NWQwZTMzZDQgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dApAQCAt MTUzLDYgKzE1Myw3NiBAQCBTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVl KSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZQogIENSRUFURSBVTklRVUUg SU5ERVggdGVtcG9yYWxfcm5nMl9wayBPTiB0ZW1wb3JhbF9ybmcyIFVTSU5HIGdpc3QgKGlkMSwg aWQyLCB2YWxpZF9hdCkKICgxIHJvdykKIAorLS0gUEsgd2l0aCBvbmUgY29sdW1uIHBsdXMgYSBQ RVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVtcG9y YWxfcGVyCisgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX3BlciIKKyAgIENv bHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisg aWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRf ZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8 IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9wZXJf cGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNv bnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxp ZF9mcm9tIDwgdmFsaWRfdGlsKQorCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBG Uk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXJfcGsnOworICAg ICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisoMSByb3cpCisKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYo Y29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3Rl bXBvcmFsX3Blcl9wayc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9p bmRleGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgQ1JFQVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9wZXJfcGsgT04gdGVtcG9yYWxf cGVyIFVTSU5HIGdpc3QgKGlkLCB2YWxpZF9hdCkKKygxIHJvdykKKworLS0gUEsgd2l0aCB0d28g Y29sdW1ucyBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBp ZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQy LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjIKKyAgICAg ICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIyIgorICAgQ29sdW1uICAgfCAgIFR5 cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZDEgICAgICAgIHwg aW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBpZDIgICAgICAgIHwgaW50NHJh bmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjJfcGsiIFBSSU1BUlkgS0VZIChp ZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgor ICAgICJ0ZW1wb3JhbF9wZXIyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZh bGlkX3RpbCkKKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25z dHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyMl9wayc7CisgICAgICAgICAgICAg ICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFBSSU1BUlkgS0VZIChpZDEsIGlk MiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKygxIHJvdykKKworU0VMRUNUIHBnX2dldF9p bmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5h bWUgPSAndGVtcG9yYWxfcGVyMl9wayc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwZ19nZXRfaW5kZXhkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENSRUFURSBVTklRVUUgSU5ERVggdGVt cG9yYWxfcGVyMl9wayBPTiB0ZW1wb3JhbF9wZXIyIFVTSU5HIGdpc3QgKGlkMSwgaWQyLCB2YWxp ZF9hdCkKKygxIHJvdykKKwogLS0gUEsgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlOgogQ1JFQVRF IFRZUEUgdGV4dHJhbmdlMiBBUyByYW5nZSAoc3VidHlwZT10ZXh0LCBjb2xsYXRpb249IkMiKTsK IENSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKQEAgLTMwMCw2ICszNzAsNzggQEAgU0VMRUNU IHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdI RVJFIGNvbm5hbWUgPSAndGUKICgxIHJvdykKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOwor LS0gVU5JUVVFIHdpdGggb25lIGNvbHVtbiBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFs aWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMKKyAgICAgICAgICAgICAgVGFi bGUgInB1YmxpYy50ZW1wb3JhbF9wZXIzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjNfdXEiIFVOSVFVRSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfcGVy M192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK1NFTEVD VCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25u YW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgIHBnX2dldF9jb25zdHJhaW50ZGVm ICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFVO SVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisoMSByb3cpCisKK1NFTEVDVCBw Z19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGdfZ2V0X2luZGV4ZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDUkVBVEUgVU5JUVVFIElOREVYIHRlbXBvcmFs X3BlcjNfdXEgT04gdGVtcG9yYWxfcGVyMyBVU0lORyBnaXN0IChpZCwgdmFsaWRfYXQpCisoMSBy b3cpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKy0tIFVOSVFVRSB3aXRoIHR3byBjb2x1 bW5zIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlkMSBp bnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRf dGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkMSwgaWQyLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMKKyAgICAgICAgICAgICAg VGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBD b2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZDEgICAgICAgIHwgaW50NHJhbmdl IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBpZDIgICAgICAgIHwgaW50NHJhbmdlIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkK K0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3BlcjNfdXEiIFVOSVFVRSAoaWQxLCBpZDIsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxf cGVyM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK1NF TEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBj b25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAgICAgICAgICAgIHBnX2dldF9jb25zdHJh aW50ZGVmICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIFVOSVFVRSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CisoMSByb3cpCisKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZS T00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdfZ2V0X2luZGV4ZGVmICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBDUkVBVEUgVU5JUVVFIElOREVYIHRlbXBvcmFsX3BlcjNfdXEgT04gdGVtcG9yYWxfcGVy MyBVU0lORyBnaXN0IChpZDEsIGlkMiwgdmFsaWRfYXQpCisoMSByb3cpCisKK0RST1AgVEFCTEUg dGVtcG9yYWxfcGVyMzsKIC0tIFVOSVFVRSB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBDUkVB VEUgVFlQRSB0ZXh0cmFuZ2UyIEFTIHJhbmdlIChzdWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0iQyIp OwogQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKApAQCAtMzc3LDYgKzUxOSwxMDYgQEAgQUxU RVIgVEFCTEUgdGVtcG9yYWwzCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsM191cQogICBVTklR VUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKIERST1AgVEFCTEUgdGVtcG9yYWwz OworLS0gUFJJTUFSWSBLRVkgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNf cGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRl bXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAgQ29s dW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBp ZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9m cm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwg ZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsM19wayIg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3Ry YWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20g PCB2YWxpZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gUFJJTUFSWSBLRVkgd2l0 aCBQRVJJT0QgdG9vCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVt cG9yYWwzCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRh YmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRp b24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAg ICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkK K0luZGV4ZXM6CisgICAgInRlbXBvcmFsM19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxp ZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK0RST1AgVEFCTEUg dGVtcG9yYWwzOworLS0gVU5JUVVFIHdpdGggUEVSSU9EIGFscmVhZHkgdGhlcmUKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWwzX3VxCisgIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworXGQgdGVt cG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBDb2x1 bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlk ICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX2Zy b20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWwzX3VxIiBV TklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6 CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxp ZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gVU5JUVVFIHdpdGggUEVSSU9EIHRv bworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBB REQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWwzX3VxCisgIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1w b3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwg RGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor IHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9k czoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAi dGVtcG9yYWwzX3VxIiBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hl Y2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZh bGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOwogLS0KIC0tIHJh bmdlIFBLOiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93cwogLS0KQEAgLTg3NCw2ICsxMTE2LDI4NCBA QCBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX21sdHJuZzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owog CiBEUk9QIFRBQkxFIHRlbXBvcmFsX21sdHJuZzM7CiAtLQorLS0gUEVSSU9EIFBLOiB0ZXN0IHdp dGggZXhpc3Rpbmcgcm93cworLS0KK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfcGVyX3BrOworLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0w MicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0w NCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMs NCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXJfcGs7CistLSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyk7CitFUlJPUjogIGNvdWxkIG5vdCBjcmVhdGUgZXhjbHVzaW9uIGNv bnN0cmFpbnQgInRlbXBvcmFsX3Blcl9wayIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0o WzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpKSBjb25mbGljdHMgd2l0aCBrZXkgKGlkLCB2 YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkuCitST0xMQkFDSzsKKy0t IHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1Ag UEVSSU9EIEZPUiB2YWxpZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworRVJST1I6ICBjaGVjayBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siIG9mIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIiIGlz IHZpb2xhdGVkIGJ5IHNvbWUgcm93CitST0xMQkFDSzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3Bl ciBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjsKKy0tCistLSBQ RVJJT0QgUEs6IHRlc3QgaW5zZXJ0cworLS0KKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgt MDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgt MDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwy KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0VSUk9SOiAgY29uZmxpY3Rpbmcga2V5 IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXJfcGsiCitE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1 KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIw MTgtMDEtMDIsMjAxOC0wMi0wMykpLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEt MDUnKTsKK0VSUk9SOiAgbnVsbCB2YWx1ZSBpbiBjb2x1bW4gImlkIiBvZiByZWxhdGlvbiAidGVt cG9yYWxfcGVyIiB2aW9sYXRlcyBub3QtbnVsbCBjb25zdHJhaW50CitERVRBSUw6ICBGYWlsaW5n IHJvdyBjb250YWlucyAobnVsbCwgMjAxOC0wMS0wMSwgMjAxOC0wMS0wNSwgWzIwMTgtMDEtMDEs MjAxOC0wMS0wNSkpLgorLS0gcmVqZWN0cyBlbXB0eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0w MScsICcyMDIwLTAxLTAxJyk7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1wb3Jh bF9wZXIiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl92YWxpZF9hdF9j aGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChbMyw0KSwgMjAyMC0wMS0wMSwg MjAyMC0wMS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDEtMDIgfCAyMDE4LTAy LTAzCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpIHwgMjAxOC0wMS0w MSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyg0IHJvd3MpCisKKy0tCist LSBQRVJJT0QgUEs6IHRlc3QgdXBkYXRlcworLS0KKy0tIHVwZGF0ZSB0aGUgc2NhbGFyIHBhcnQK K1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxMSwxMiknCitXSEVSRSAgIGlk ID0gJ1sxLDIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSB1 cGRhdGUgdGhlIFBFUklPRCBib3VuZHMKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIHZh bGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAxLTAx JworV0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0x NSc6OmRhdGU7CistLSB1cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3Blcgor U0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAy JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDItMDMnCitXSEVSRSAgIGlkID0gJ1sxMSwx MiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDIwLTAxLTE1Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgIGlkICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxLDIpICAgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpICAgfCAyMDE4LTAxLTAx IHwgMjAxOC0wMS0wNQorIFszLDQpICAgfCAyMDE4LTAxLTAxIHwgCisgWzIxLDIyKSB8IDIwMTgt MDEtMDIgfCAyMDE4LTAyLTAzCisoNCByb3dzKQorCistLSBzaG91bGQgZmFpbDoKK1VQREFURSAg dGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9 ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAg IGlkID0gJ1syMSwyMiknOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMg ZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl9wayIKK0RFVEFJTDogIEtleSAoaWQs IHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAzLTA1LDIwMTgtMDUtMDUpKSBjb25mbGljdHMgd2l0 aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0wMywyMDE4LTA0 LTA0KSkuCistLSBzZXQgdGhlIHNjYWxhciBwYXJ0IHRvIE5VTEwKK1VQREFURSAgdGVtcG9yYWxf cGVyCitTRVQgICAgIGlkID0gTlVMTCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTA1 JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1syMSwy MiknOworRVJST1I6ICBudWxsIHZhbHVlIGluIGNvbHVtbiAiaWQiIG9mIHJlbGF0aW9uICJ0ZW1w b3JhbF9wZXIiIHZpb2xhdGVzIG5vdC1udWxsIGNvbnN0cmFpbnQKK0RFVEFJTDogIEZhaWxpbmcg cm93IGNvbnRhaW5zIChudWxsLCAyMDE4LTAzLTA1LCAyMDE4LTA1LTA1LCBbMjAxOC0wMy0wNSwy MDE4LTA1LTA1KSkuCistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8gTlVMTCAob2theSkKK1VQREFU RSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRfZnJv bSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFsaWRfdGlsID0gTlVMTAorV0hFUkUgICBpZCA9 ICdbMjEsMjIpJzsKKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VU ICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywK KyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIpJzsK K0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgY2hl Y2sgY29uc3RyYWludCAidGVtcG9yYWxfcGVyX3ZhbGlkX2F0X2NoZWNrIgorREVUQUlMOiAgRmFp bGluZyByb3cgY29udGFpbnMgKFsyMSwyMiksIDIwMjAtMDEtMDEsIDIwMjAtMDEtMDEsIGVtcHR5 KS4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg aWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsxLDIpIHwgMjAx OC0wNC0wNCB8IAorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIw MTgtMDEtMDEgfCAKKyg0IHJvd3MpCisKKy0tCistLSBQRVJJT0QgVVE6IHRlc3Qgd2l0aCBleGlz dGluZyByb3dzCistLQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CistLSBva2F5OgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAz LTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0w MS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTIChOVUxMLCAn MjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXIzX3VxOworLS0gc2hvdWxkIGZhaWw6CitCRUdJTjsKKyAgSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMikn LCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3Bl cjMgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKTsKK0VSUk9SOiAgY291bGQgbm90IGNyZWF0ZSBleGNsdXNpb24gY29u c3RyYWludCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0o WzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpKSBjb25mbGljdHMgd2l0aCBrZXkgKGlkLCB2 YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkuCitST0xMQkFDSzsKKy0t IHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBEUk9Q IFBFUklPRCBGT1IgdmFsaWRfYXQ7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworRVJST1I6ICBjaGVjayBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2NoZWNrIiBvZiByZWxhdGlvbiAidGVtcG9yYWxfcGVy MyIgaXMgdmlvbGF0ZWQgYnkgc29tZSByb3cKK1JPTExCQUNLOworQUxURVIgVEFCTEUgdGVtcG9y YWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMzsKKy0tCist LSBQRVJJT0QgVVE6IHRlc3QgaW5zZXJ0cworLS0KKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDE4LTAxLTAyJywgJzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAn MjAxOC0wNC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAx LTAxJywgJzIwMTgtMDEtMDUnKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2 aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWludCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpKSBjb25m bGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0w MiwyMDE4LTAyLTAzKSkuCistLSByZWplY3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0w MS0wMScsICcyMDIwLTAxLTAxJyk7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1w b3JhbF9wZXIzIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3ZhbGlk X2F0X2NoZWNrIgorREVUQUlMOiAgRmFpbGluZyByb3cgY29udGFpbnMgKFszLDQpLCAyMDIwLTAx LTAxLCAyMDIwLTAxLTAxLCBlbXB0eSkuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCist LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDEtMDIgfCAy MDE4LTAyLTAzCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsyLDMpIHwgMjAx OC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyAgICAgICB8IDIw MTgtMDEtMDEgfCAyMDE4LTAxLTA1CisoNSByb3dzKQorCistLQorLS0gUEVSSU9EIFVROiB0ZXN0 IHVwZGF0ZXMKKy0tCistLSB1cGRhdGUgdGhlIHNjYWxhciBwYXJ0CitVUERBVEUgIHRlbXBvcmFs X3BlcjMKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAnWzEsMiknCitBTkQg ICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSB0aGUgUEVSSU9E IGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20gPSAnMjAy MC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAxLTAxJworV0hFUkUgICBpZCA9 ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSB1 cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSAn WzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsCisgICAgICAgIHZh bGlkX3RpbCA9ICcyMDE4LTAyLTAzJworV0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5EICAgICB2 YWxpZF9hdCBAPiAnMjAyMC0wMS0xNSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bl cjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgaWQgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgICB8IDIw MTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzIsMykgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1 CisgWzMsNCkgICB8IDIwMTgtMDEtMDEgfCAKKyBbMjEsMjIpIHwgMjAxOC0wMS0wMiB8IDIwMTgt MDItMDMKKyAgICAgICAgIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyg1IHJvd3MpCisKKy0t IHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1sxLDIp JywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTA1JywKKyAgICAgICAgdmFsaWRfdGls ID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworRVJST1I6ICBjb25mbGlj dGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Bl cjNfdXEiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0wNSwy MDE4LTA1LTA1KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQpPShb MSwyKSwgWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkpLgorLS0gc2V0IHRoZSBzY2FsYXIgcGFydCB0 byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gTlVMTCwK KyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0g JzIwMjEtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0gc2V0IGEgUEVSSU9EIGJv dW5kIHRvIE5VTEwgKG9rYXkpCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSAn WzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDQtMDQnLAorICAgICAgICB2YWxp ZF90aWwgPSBOVUxMCitXSEVSRSAgIGlkIElTIE5VTEwgQU5EIHZhbGlkX2F0IEA+ICcyMDIwLTA2 LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBb MSwyKSB8IDIwMTgtMDQtMDQgfCAKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1Cisg WzMsNCkgfCAyMDE4LTAxLTAxIHwgCisgICAgICAgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQor KDUgcm93cykKKworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAg ICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgt MDUtMDUnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5VTEw7CitFUlJP UjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWludCAi dGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsy MDE4LTAzLTAxLDIwMTgtMDUtMDUpKSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2 YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0wMywyMDE4LTA0LTA0KSkuCistLSByZWplY3RzIGVt cHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0w MS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlv biAidGVtcG9yYWxfcGVyMyIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxfcGVy M192YWxpZF9hdF9jaGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChbMSwyKSwg MjAyMC0wMS0wMSwgMjAyMC0wMS0wMSwgZW1wdHkpLgorLS0gc3RpbGwgcmVqZWN0cyBlbXB0eSB3 aGVuIHNjYWxhciBwYXJ0IGlzIE5VTEw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAg aWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2 YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFORCB2YWxpZF90 aWwgSVMgTlVMTDsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3BlcjMi IHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNfdmFsaWRfYXRfY2hlY2si CitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAobnVsbCwgMjAyMC0wMS0wMSwgMjAyMC0w MS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAor IFsxLDIpIHwgMjAxOC0wNC0wNCB8IAorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUK KyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAKKyAgICAgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1 CisoNSByb3dzKQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CistLQogLS0gdGVzdCBhIHJh bmdlIHdpdGggYm90aCBhIFBLIGFuZCBhIFVOSVFVRSBjb25zdHJhaW50CiAtLQogQ1JFQVRFIFRB QkxFIHRlbXBvcmFsMyAoCkBAIC05MzMsNiArMTQ1Myw5MSBAQCBFUlJPUjogIGNvbHVtbiAidmFs aWRfYXQiIGlzIGluIGEgcHJpbWFyeSBrZXkKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBD T0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZhbGlk X2F0KSwgdXBwZXIodmFsaWRfYXQpKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBSRU5BTUUgQ09M VU1OIHZhbGlkX2F0IFRPIHZhbGlkX3RocnU7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBD T0xVTU4gdmFsaWRfdGhydTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICBUYWJsZSAicHVi bGljLnRlbXBvcmFsMyIKKyBDb2x1bW4gfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJs ZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLQorIGlkICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwg CisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlk IGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVS SU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKK1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwz IgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAK KyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxp ZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6Cisg ICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBv cmFsM19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hl Y2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZh bGlkX2Zyb20gPCB2YWxpZF90aWwpCisKK1NFTEVDVCBhdHRub3RudWxsIEZST00gcGdfYXR0cmli dXRlIFdIRVJFIGF0dHJlbGlkID0gJ3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFORCBhdHRuYW1lID0g J3ZhbGlkX2F0JzsKKyBhdHRub3RudWxsIAorLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitB TFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IERST1AgTk9UIE5VTEw7 CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIGlzIGluIGEgcHJpbWFyeSBrZXkKK0FMVEVSIFRB QkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcg dHN0enJhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBwZXIodmFsaWRfYXQpKTsKK0VSUk9SOiAgY2Fu bm90IHNwZWNpZnkgVVNJTkcgd2hlbiBhbHRlcmluZyB0eXBlIG9mIGdlbmVyYXRlZCBjb2x1bW4K K0xJTkUgMTogQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBUWVBF IHRzdHpyYW5nZSBVLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgorREVUQUlMOiAgQ29sdW1uICJ2YWxpZF9hdCIgaXMgYSBnZW5lcmF0ZWQgY29sdW1uLgor QUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlkX2F0OworRVJST1I6ICBjYW5u b3QgZHJvcCBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9yYWwzIGJlY2F1c2UgcGVyaW9k IHZhbGlkX2F0IG9uIHRhYmxlIHRlbXBvcmFsMyByZXF1aXJlcyBpdAorSElOVDogIFlvdSBjYW4g ZHJvcCBwZXJpb2QgdmFsaWRfYXQgb24gdGFibGUgdGVtcG9yYWwzIGluc3RlYWQuCitBTFRFUiBU QUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworXGQgdGVtcG9yYWwzCisg ICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8ICAg VHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAg fCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRl ICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8IAorCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIFNh bWUgcmVzdWx0cyBpZiB3ZSBhZGQgdGhlIFBFUklPRCBhbmQgUEsgZnJvbSBBTFRFUiBUQUJMRToK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g ZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQURE IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1w b3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwg RGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVs bCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor IHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9k czoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAi dGVtcG9yYWwzX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBDSEVD SyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworU0VMRUNUIGF0dG5vdG51bGwgRlJPTSBwZ19h dHRyaWJ1dGUgV0hFUkUgYXR0cmVsaWQgPSAndGVtcG9yYWwzJzo6cmVnY2xhc3MgQU5EIGF0dG5h bWUgPSAndmFsaWRfYXQnOworIGF0dG5vdG51bGwgCistLS0tLS0tLS0tLS0KKyB0CisoMSByb3cp CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgRFJPUCBOT1Qg TlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgaXMgaW4gYSBwcmltYXJ5IGtleQogRFJP UCBUQUJMRSB0ZW1wb3JhbDM7CiAtLQogLS0gdGVzdCBQQVJUSVRJT04gQlkgZm9yIHJhbmdlcwpA QCAtMTQxNCwzMiArMjAxOSwyMzYgQEAgU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9tbHRybmczIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9tbHRybmczOwogLS0K LS0tIHRlc3QgRksgZGVwZW5kZW5jaWVzCi0tLQotLS0gY2FuJ3QgZHJvcCBhIHJhbmdlIHJlZmVy ZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUKLUNSRUFURSBUQUJMRSB0ZW1wb3Jh bDMgKAotICBpZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRhdGVyYW5nZSwKLSAgQ09OU1RSQUlO VCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KQotKTsKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nICgKLSAgaWQgaW50NHJhbmdl LAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0gIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVt cG9yYWwzIChpZCwgUEVSSU9EIHZhbGlkX2F0KQotKTsKLUFMVEVSIFRBQkxFIHRlbXBvcmFsMyBE Uk9QIENPTFVNTiB2YWxpZF9hdDsKLUVSUk9SOiAgY2Fubm90IGRyb3AgY29sdW1uIHZhbGlkX2F0 IG9mIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0Ci1E RVRBSUw6ICBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgb24gdGFibGUgdGVtcG9y YWxfZmtfcm5nMnJuZyBkZXBlbmRzIG9uIGNvbHVtbiB2YWxpZF9hdCBvZiB0YWJsZSB0ZW1wb3Jh bDMKLUhJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQgb2Jq ZWN0cyB0b28uCi1BTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQgQ0FT Q0FERTsKLU5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9ma19y bmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3JuZzJybmcKLURST1AgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnJuZzsKLURST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gT04gQ09ORkxJQ1Q6IFBF UklPRHMKIC0tCi0tLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIHJhbmdlCitU UlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0w MS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAn MjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBu byBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBD T05GTElDVCBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RI SU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0w MQorIFsxLDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIwMDUtMDEtMDEg fCAyMDA2LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwg dmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNs dXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgor LS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScs ICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsKK0VS Uk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5n IHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNv bmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZM SUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1 ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lm aWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0w MS0wMQorKDEgcm93KQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQg dGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBP TiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVz IGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEn KSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5HOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorIFsx LDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIwMDUtMDEtMDEgfCAyMDA2 LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRf YXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CitFUlJPUjogIHRo ZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04g Q09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2 YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1szLDQpJzsKK0VSUk9S OiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRo ZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNU IChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7 CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRj aGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorKDEgcm93KQorCitUUlVOQ0FURSB0ZW1w b3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0g d2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScp IE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQREFURSBTRVQg aWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFU RSBub3Qgc3VwcG9ydGVkIHdpdGggZXhjbHVzaW9uIGNvbnN0cmFpbnRzCistLSBpZCBtYXRjaGVz IGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEn KSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VU IGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBVUERB VEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworLS0gZGF0ZSBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUg U0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBV UERBVEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAg aWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorKDEgcm93KQorCist LSB3aXRoIGEgVU5JUVVFIGNvbnN0cmFpbnQ6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCispOworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEt MDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworLS0gaWQg bWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAy MC0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5v IGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBD T05GTElDVCBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZ IGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0w MS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwyKSB8IDIwMTAtMDEtMDEgfCAyMDIwLTAxLTAxCisgWzIs MykgfCAyMDA1LTAxLTAxIHwgMjAwNi0wMS0wMQorKDMgcm93cykKKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0g d2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEn KSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBp cyBubyB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZM SUNUIHNwZWNpZmljYXRpb24KKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlk X2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVzaW9u IGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24KKy0tIGRh dGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAn MjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJP UjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0 aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIz IE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIp IHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworVFJVTkNBVEUgdGVtcG9yYWxf cGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0 aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBP TiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gTk9USElORzsKKy0t IGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywg JzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEg RE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMp JywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQg dGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIz IE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIp IHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwyKSB8IDIwMTAtMDEtMDEgfCAyMDIwLTAx LTAxCisgWzIsMykgfCAyMDA1LTAxLTAxIHwgMjAwNi0wMS0wMQorKDMgcm93cykKKworVFJVTkNB VEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0w MScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIw MDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VUIGlkID0g RVhDTFVERUQuaWQgKyAnWzIsMyknOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhj bHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24K Ky0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIz IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAx JywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VU IGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUg b3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmlj YXRpb24KKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIw MDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQ REFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7CitFUlJPUjogIHRoZXJlIGlzIG5v IHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qg c3BlY2lmaWNhdGlvbgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAK Ky0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8 IDIwMTAtMDEtMDEKKygxIHJvdykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlk ICsgJ1syLDMpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBwb3J0ZWQg d2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBP TiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVE LmlkICsgJ1szLDQpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBwb3J0 ZWQgd2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29u ZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZM SUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBVUERBVEUgU0VUIGlkID0gRVhD TFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBVUERBVEUgbm90IHN1 cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworRFJPUCBUQUJMRSB0 ZW1wb3JhbF9wZXIzOworLS0KKy0tIHRlc3QgRksgZGVwZW5kZW5jaWVzCistLQorLS0gY2FuJ3Qg ZHJvcCBhIHJhbmdlIHJlZmVyZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVy YW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5n ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBp bnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWwzIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdDsKK0VSUk9SOiAgY2Fubm90IGRy b3AgY29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNlIG90aGVyIG9iamVj dHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3JuZzJybmdf Zmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcm5nMnJuZyBkZXBlbmRzIG9uIGNvbHVtbiB2YWxpZF9h dCBvZiB0YWJsZSB0ZW1wb3JhbDMKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9w IHRoZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28uCitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBD T0xVTU4gdmFsaWRfYXQgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29uc3Ry YWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3JuZzJybmcK K0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWwzOwor LS0gY2FuJ3QgZHJvcCBhIFBFUklPRCByZWZlcmVuY2VkIGJ5IGFuIEZLLCB1bmxlc3Mgd2l0aCBD QVNDQURFCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsM19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWwzIChpZCwgUEVS SU9EIHZhbGlkX2F0KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBGT1Ig dmFsaWRfYXQ7CitFUlJPUjogIGNhbm5vdCBkcm9wIHBlcmlvZCB2YWxpZF9hdCBvbiB0YWJsZSB0 ZW1wb3JhbDMgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgY29u c3RyYWludCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgZGVwZW5kcyBvbiBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9yYWwzCitISU5UOiAg VXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9vLgor QUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdCBDQVNDQURFOwor Tk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3BlcjJwZXJf Zmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcGVyMnBlcgorRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycGVyOworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLQorLS0gdGVzdCBGT1JFSUdOIEtFWSwg cmFuZ2UgcmVmZXJlbmNlcyByYW5nZQogLS0KIC0tIHRlc3QgdGFibGUgc2V0dXAKIERST1AgVEFC TEUgdGVtcG9yYWxfcm5nOwpAQCAtMTQ2Nyw2ICsyMjc2LDE4IEBAIENSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycm5nICgKICAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKICk7CitcZCB0ZW1wb3JhbF9ma19ybmcy cm5nCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmtfcm5nMnJuZyIKKyAgQ29s dW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlk ICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfYXQg IHwgZGF0ZXJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJlbnRfaWQgfCBpbnQ0 cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAidGVtcG9yYWxf Zmtfcm5nMnJuZ19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3JuZzJybmdfZmsi IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcoaWQsIFBFUklPRCB2YWxpZF9hdCkKKwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycm5nOwogLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgogLS0gKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCkBAIC0zNTg1LDgz ICs0NDA2LDM1NjYgQEAgU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWwKICBbMjAwLDIwMSkgfCB7WzIw MjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4LDkpCiAoMiByb3dzKQogCi0t LSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKLUNSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFT IHJhbmdlKHN1YnR5cGU9ZGF0ZSk7Ci1DUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMyAoCistLQor LS0gdGVzdCBGT1JFSUdOIEtFWSwgUEVSSU9EIHJlZmVyZW5jZXMgUEVSSU9ECistLQorLS0gdGVz dCB0YWJsZSBzZXR1cAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXI7CitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfcGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBteWRhdGVyYW5nZSwKLSAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUykKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQogKTsKLUNSRUFURSBU QUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyk7CistLSBDYW4ndCBjcmVhdGUgYSBGSyB3aXRoIGEgbWlzbWF0 Y2hlZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCiAgIGlk IGludDRyYW5nZSwKLSAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCisgIHZhbGlkX2Zyb20gaW50LAor ICB2YWxpZF90aWwgaW50LAogICBwYXJlbnRfaWQgaW50NHJhbmdlLAotICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrM19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cm5nMyAoaWQsIFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCiApOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzgsOSknKTsKLURFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzMgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJF IGlkID0gJ1s4LDkpJzsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmszX3JuZzJybmcgV0hFUkUg aWQgPSAnWzUsNiknOwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRf aWQgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KLSBbNSw2 KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzgsOSkKLSBbNSw2KSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkKLSgyIHJvd3MpCitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVU QUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5k ICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0 eXBlczogaW50NHJhbmdlIGFuZCBkYXRlcmFuZ2UuCistLSB3b3JrczogUEVSSU9EIGZvciBib3Ro IHJlZmVyZW5jZWQgYW5kIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRf YXQpCispOworXGQgdGVtcG9yYWxfZmtfcGVyMnBlcgorICAgICAgICAgICBUYWJsZSAicHVibGlj LnRlbXBvcmFsX2ZrX3BlcjJwZXIiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlv biB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAg ICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAg fCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8IAorIHBhcmVudF9pZCAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhl czoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2Zr X3BlcjJwZXJfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQor Rm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkKIAotRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5n MnJuZzsKLURST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKLURST1AgVFlQRSBteWRhdGVyYW5nZTsK LS0tCi0tLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCi0tLQotQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCitEUk9QIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJwZXI7CistLSB3aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CistLSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJFRkVS RU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0gIG5h bWUgdGV4dCwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCi0pIFBBUlRJVElPTiBCWSBMSVNU IChpZCk7Ci1DUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywg J1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sx OSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7Ci1DUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElP TiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1sy LDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdb MTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0 LDI1KScpOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRf YXQsIG5hbWUpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIw MDAtMDItMDEnKSwgJ29uZScpLAotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywg JzIwMDAtMDMtMDEnKSwgJ29uZScpLAotICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAx JywgJzIwMTAtMDEtMDEnKSwgJ3R3bycpOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcgKAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsKK0VSUk9S OiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGJ1dCBu b3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVO Q0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCiAgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAot ICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQotKSBQQVJUSVRJT04gQlkgTElT VCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScs ICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNiknLCAnWzE3 LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOwotQ1JFQVRFIFRBQkxFIHRm a3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxV RVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAs MTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIwLDIx KScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKLS0tCi0tLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVu Y2luZyBpbnNlcnRzCi0tLQotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0ZXJh bmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sxLDIpJyksCi0gICgnWzEsMiknLCBk YXRlcmFuZ2UoJzIwMDEtMDEtMDEnLCAnMjAwMi0wMS0wMScpLCAnWzIsMyknKSwKLSAgKCdbMiwz KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTE1JyksICdbMSwyKScpOwotLS0g c2hvdWxkIGZhaWw6Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCi0gICgnWzMsNCknLCBkYXRlcmFuZ2Uo JzIwMTAtMDEtMDEnLCAnMjAxMC0wMi0xNScpLCAnWzEsMiknKTsKLUVSUk9SOiAgaW5zZXJ0IG9y IHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCi1ERVRBSUw6ICBLZXkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTAtMDEtMDEsMjAxMC0wMi0xNSkpIGlzIG5vdCBw cmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgotSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUwotICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUn KSwgJ1szLDQpJyk7Ci1FUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nX2ZrIgotREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzMsNCksIFsy MDAwLTAxLTAxLDIwMDAtMDItMTUpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIi4KKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBr ZXkgbXVzdCB1c2UgUEVSSU9EIHdoZW4gcmVmZXJlbmNpbmcgYSBwcmltYXJ5IGtleSB1c2luZyBX SVRIT1VUIE9WRVJMQVBTCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQs IFBFUklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVS SU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRy YW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m ayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVz ZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5n IHRhYmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCist LSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitFUlJPUjog IGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3Qg dGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJF RkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVu dF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVz ZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2Vk IHRhYmxlCistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2Us CisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBF UklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRo ZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSB3aXRo IGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RST1Ag VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2lt cGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBp bnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl cgorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQg dGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHNob3VsZCBmYWlsIGJlY2F1 c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJ T0QgaWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBt dXN0IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBU QUJMRSB0ZW1wb3JhbF9wZXIyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBpZDEg aW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJf cGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdl LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisp OworXGQgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1w b3JhbF9mazJfcGVyMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwg TnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAg ICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAg IHwgCisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisg cGFyZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2Rz OgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0 ZW1wb3JhbF9mazJfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycGVy X3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24t a2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl9mayIgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVt cG9yYWxfZmsyX3BlcjJwZXI7CiAtLQotLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNpbmcgdXBk YXRlcworLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAogLS0KLVVQREFURSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDAwLTAyLTEzJykgV0hFUkUgaWQgPSAnWzIsMyknOwotLS0gbW92ZSBhIHJv dyBmcm9tIHRoZSBmaXJzdCBwYXJ0aXRpb24gdG8gdGhlIHNlY29uZAotVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgU0VUIGlkID0gJ1s0LDUpJyBXSEVSRSBpZCA9ICdbMSwy KSc7Ci0tLSBtb3ZlIGEgcm93IGZyb20gdGhlIHNlY29uZCBwYXJ0aXRpb24gdG8gdGhlIGZpcnN0 Ci1VUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBTRVQgaWQgPSAnWzEsMikn IFdIRVJFIGlkID0gJ1s0LDUpJzsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m aworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KTsKKy0tIFR3byBzY2FsYXIgY29s dW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlciAoCisgIGlkIGludDRyYW5n ZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBp bnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQ RVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgICAgICAgICAgVGFi bGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAg IHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRy YW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAg ICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJ bmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBv cmFsX2ZrMl9wZXIycGVyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlk X3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBl cl9mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9h dCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisK Ky0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFuZCB3cm9uZyBj b2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIERST1AgUEVSSU9EIEZPUiB2YWxpZF9h dCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1lc3RhbXAsCisgIEFMVEVSIENP TFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl cgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7 CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsi IGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0IiBv ZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQg dGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczogdHNyYW5nZSBhbmQgZGF0ZXJhbmdlLgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIFBFUklPRCBGT1IgdmFsaWRf YXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0ZSwKKyAgQUxURVIgQ09MVU1O IHZhbGlkX3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpOworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0 YWJsZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0gc2hvdWxkIGZhaWwgYmVj YXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrMgor ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHJlZmVy ZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4gZHVwbGljYXRlcworLS0KKy0tIHRl c3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVy OworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAy JywgJzIwMTgtMDItMDMnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQn KSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdbMyw0KScs ICcyMDE4LTAxLTAxJywgTlVMTCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEsMiknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIp Jyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworRVJS T1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgorREVU QUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgt MDQtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG9rYXkg YWdhaW46CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2Zr CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXI7CistLQorLS0gdGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0KK1NF TEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBj b25uYW1lID0gJ3RlbXBvcmFsX2ZrX3BlcjJwZXJfZmsnOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyKGlkLCBQ RVJJT0QgdmFsaWRfYXQpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGlu c2VydHMKKy0tCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAn MjAxOC0wMi0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworRVJS T1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgorREVU QUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgt MDQtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG5vdyBp dCBzaG91bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMi0wMycsICcyMDE4LTAzLTAzJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0w MScsICdbMSwyKScpOworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKy0t IHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0 ZW1wb3JhbF9ma19wZXIycGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90 aWwgPSAnMjAxOC0wMi0yMCcgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitV UERBVEUgdGVtcG9yYWxfZmtfcGVyMnBlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywg dmFsaWRfdGlsID0gJzIwMTgtMDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5z ZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIKK0RFVEFJTDogIEtl eSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA1LTAxKSkg aXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCitVUERBVEUgdGVtcG9yYWxf ZmtfcGVyMnBlciBTRVQgcGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitF UlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiCitE RVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbOCw5KSwgWzIwMTgtMDEtMDIsMjAx OC0wMi0yMCkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0gQUxU RVIgRksgREVGRVJSQUJMRQorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICAgKCdbNSw2KScsICcyMDE4LTAxLTAx JywgJzIwMTgtMDItMDEnKSwKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0w MScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnMjAxOC0wMS0wNScs ICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBERUZF UlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdI RVJFIGlkID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91 bGQgZmFpbCBoZXJlLgorRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0 ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mawor ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBOTyBBQ1RJT047CistLSBhIFBLIHVwZGF0ZSB0aGF0 IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitVUERBVEUgdGVtcG9yYWxfcGVy IFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScg V0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBldmVuIHRo b3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0 OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgn WzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0w Mi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywg JzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFsX3Bl ciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAyLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDMtMDEn CitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZh bGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVkZ2Ug YmV0d2VlbiB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNiw3KScsICcyMDE4LTAxLTAx JywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNiw3KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSknLCAnMjAxOC0wMS0xNScsICcyMDE4 LTAyLTE1JywgJ1s2LDcpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyCitTRVQgdmFsaWRfZnJvbSA9 IENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEtMDEnCisg ICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIFRIRU4g JzIwMTgtMDEtMDUnIEVORDo6ZGF0ZSwKKyAgICB2YWxpZF90aWwgPSAgQ0FTRSBXSEVOIHZhbGlk X2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wNScKKyAgICAgICAgICAgICAgICAg ICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMy0wMScgRU5E OjpkYXRlCitXSEVSRSBpZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhl IHJlZmVyZW5jZWQgcmFuZ2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byByZWZl cmVuY2VzOiBvbmUgZnVsZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3RoZXIg ZnVsZmlsbGVkIGJ5IGJvdGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAzLTAxJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMScsICcyMDE4 LTA2LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMTUn LCAnMjAxOC0wMi0wMScsICdbMSwyKScpLAorICAoJ1syLDMpJywgJzIwMTgtMDEtMTUnLCAnMjAx OC0wNS0wMScsICdbMSwyKScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIGdy b3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmluZToKK1VQREFURSB0ZW1wb3JhbF9wZXIg U0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJwor V0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0yNSc6OmRhdGU7Cist LSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYW5kIGNoYW5naW5n IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxfcGVy IFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9 ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0w MS0xNSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFs X3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBl cl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2 YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwgcmVmZXJl bmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4KKy0tIGEgUEsgdXBkYXRlIGNo YW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0 ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24g dGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVt cG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitERVRB SUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkg aXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4KKy0t IGEgUEsgdXBkYXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxs IHZhbGlkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAx JywgJ1syLDMpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgt MDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMpJzsKKy0t IGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGls ID0gJzIwMTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAx OC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9y IGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25z dHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVy MnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIw MTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3Bl cjJwZXIiLgorLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVy ZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m aworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworICBVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0w MScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUg b24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAx KSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4K Ky0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIg U0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIw MTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0ZSBv ciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3Bl cjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwy MDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycGVyIi4KKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERB VEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAy JyBUTyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsK Ky0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitT RVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBk ZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJw ZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMywyMDE4 LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIy cGVyIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAn WzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFs1LDYpIHwgMjAx Ni0wMi0wMSB8IDIwMTYtMDMtMDEKKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTAyCisg WzUsNikgfCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorIFs3LDgpIHwgMjAxOC0wMS0wMiB8IDIw MTgtMDEtMDMKKyg0IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBX SEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IDIwMTgtMDEtMDUgfCAyMDE4LTAxLTEw IHwgWzUsNikKKygxIHJvdykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNv cmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg dmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCitXSEVS RSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3Rp bCA9ICcyMDE4LTAyLTAxJzsKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNU UklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERB VEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZv cmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgTk8gQUNUSU9OCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3Jh bF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBhIFBLIGRl bGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNl ZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBz dWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2Ug dGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDIt MDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMSc7CistLSBh IFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAn MjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRl IG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBj b25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtf cGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAx LDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2Zr X3BlcjJwZXIiLgorLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJl ZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBk ZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJw ZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4 LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIy cGVyIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEt MDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gZGVsZXRpbmcganVz dCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworV0hFUkUgaWQgPSAn WzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIi IHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsi IG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRf YXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQg ZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTAyCisgWzUsNikg fCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorKDIgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAxOC0w MS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUg b2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVM RVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIw MTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRl bXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOworRVJST1I6ICB1bnN1cHBvcnRlZCBP TiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAor LS0KKy0tIHBlcjJwZXIgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6 CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENB U0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUg KHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1 YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERF RkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2 LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBV UERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBv cmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNyw4 KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAwLDEw MSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdI RVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzksMTApCisg WzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMiByb3dzKQor CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsIHwgcGFyZW50X2lkIAorLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdb MjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNykn KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRF IFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf cGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwg MjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAy MS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0 ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAKKyBbMTAwLDEwMSkg fCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAy MDIxLTAxLTAxIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIw MTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEt MDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIy cGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb Niw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVy MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4 LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIw MjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcp CisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl ciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0w MSB8IDIwMTktMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8 IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgCisoMyByb3dzKQorCist LSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMjAwLDIwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9p ZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVG QVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg U0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTkt MDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsyMDAs MjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KK1RSVU5DQVRFIHRl bXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51 bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb Niw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVy MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4 LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIw MjAtMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8 IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAx OC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwg MjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVy MnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAw LDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAt MDEtMDEgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4 LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENBU0NB REUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEn IFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAx OC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAy MDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQor CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcs OCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs3LDgpICAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNyw4 KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBb OSwxMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8 IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYs NyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAx IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEt MDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4 LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBO VUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCist LSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCkn IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVy IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQg aWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzIw MCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdv IHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9w ZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBb MTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIy IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVy IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIy IFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIw MTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8IDIwMjAt MDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywg U0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2Zr Ml9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0g ZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFC TEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxp ZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZl cmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBO VUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEp IHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3Mp CisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3 KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8IFs2 LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIw MSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsyMDAs MjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiBy b3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJf cGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0w MSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAx LTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIw LTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0g bm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJywg aWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBw YXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEg fCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEt MDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEt MDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5 KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzks MTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAs MjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkg fCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIw MSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3Bl cjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZh bGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEp IHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkgICAg IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0n LCAnWzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJw ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAn WzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVt bjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZB VUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworRVJST1I6ICBjb2x1bW4gInZh bGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJ T0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09M VU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUg U0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisg WzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3 KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDAp ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEs MCkgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBudWxsLCBudWxsKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIwMCwy MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJv d3MpCisKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIFBFUklPRAor LS0KKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyIENBU0NBREU7 CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQgdGVtcG9yYWxfZmtfcGVyMnBl cl9mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19wZXIycGVyCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf cGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCispOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9w aworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworLS0gQ2Fu J3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGludDRy YW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrIiBjYW5ub3QgYmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1 bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9m IHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IGludDRyYW5n ZSBhbmQgZGF0ZXJhbmdlLgorLS0gd29ya3M6IFBFUklPRCBmb3IgcmVmZXJlbmNlZCwgcmFuZ2Ug Zm9yIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlk IGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3Jh bF9ma19ybmcycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmtfcm5nMnBl ciIKKyAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLQorIGlkICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisg dmFsaWRfYXQgIHwgZGF0ZXJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJlbnRf aWQgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAi dGVtcG9yYWxfZmtfcm5nMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyOworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgorLS0g KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCist LSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0 KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jaW5n IHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZhbGlk X2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBF UklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IG11c3QgdXNlIFBFUklP RCB3aGVuIHJlZmVyZW5jaW5nIGEgcHJpbWFyeSBrZXkgdXNpbmcgV0lUSE9VVCBPVkVSTEFQUwor LS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQp CistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVy YW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVu Y2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCB2 YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3Vs ZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5n ZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcgorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhl IHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQpCispOworRVJS T1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYnV0 IG5vdCB0aGUgcmVmZXJlbmNlZCB0YWJsZQorLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQs IFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAg aWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRh YmxlCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOwor RFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNF UyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVy X2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIK Kyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRh YmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSBzaG91bGQgZmFpbCBiZWNhdXNl IG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBw YXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBw YXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgaWQpCisp OworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBtdXN0IG5vdCBj b250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBUQUJMRSB0ZW1w b3JhbF9wZXIyIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQg dGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsgb24gdGFibGUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQyIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBh cmVudF9pZDIgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVu dF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAg ICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcm5nMnBlciIKKyAgIENvbHVtbiAg IHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAg ICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfYXQgICB8 IGRhdGVyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgcGFyZW50X2lkMSB8IGludDRy YW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcm5n MnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorRm9y ZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrIiBGT1JF SUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcjIoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKKy0tCistLSB0ZXN0IEFMVEVSIFRBQkxFIEFERCBDT05T VFJBSU5UCistLQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVy CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAo aWQsIFBFUklPRCB2YWxpZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRh dGVyYW5nZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdl LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJf cm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICBGT1JF SUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVt cG9yYWxfZmsyX3JuZzJwZXIKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJf cm5nMnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUg fCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBu dWxsIHwgCisgdmFsaWRfYXQgICB8IGRhdGVyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwg CisgcGFyZW50X2lkMSB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFy ZW50X2lkMiB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitJbmRleGVzOgor ICAgICJ0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFs X2ZrMl9ybmcycGVyX2ZrIiBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIoaWQxLCBpZDIsIFBFUklPRCB2 YWxpZF9hdCkKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwg YW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUxURVIgQ09MVU1O IHZhbGlkX2F0IFRZUEUgdHNyYW5nZSBVU0lORyB0c3JhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBw ZXIodmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworRVJST1I6ICBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBjYW5ub3QgYmUg aW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVy ZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBv ZiBpbmNvbXBhdGlibGUgdHlwZXM6IHRzcmFuZ2UgYW5kIGRhdGVyYW5nZS4KK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgZGF0ZXJh bmdlIFVTSU5HIGRhdGVyYW5nZShsb3dlcih2YWxpZF9hdCk6OmRhdGUsIHVwcGVyKHZhbGlkX2F0 KTo6ZGF0ZSk7CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9m IGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsyCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyIChpZCwgUEVSSU9EIGlkKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNlZC1j b2x1bW5zIGxpc3QgbXVzdCBub3QgY29udGFpbiBkdXBsaWNhdGVzCistLQorLS0gdGVzdCB3aXRo IHJvd3MgYWxyZWFkeQorLS0KK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAx OC0wMi0wMycpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpLAorICAo J1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpLAorICAoJ1szLDQpJywgJzIwMTgt MDEtMDEnLCBOVUxMKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnWzIw MTgtMDEtMDIsMjAxOC0wMi0wMSknLCAnWzEsMiknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICdbMjAxOC0wMS0w MiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJf ZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcjsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVt cG9yYWxfZmtfcm5nMnBlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfZmtfcm5nMnBlcl9mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFsx LDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRl bXBvcmFsX3BlciIuCistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0KKy0tIHRlc3QgcGdfZ2V0 X2NvbnN0cmFpbnRkZWYKKy0tCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9N IHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ma19ybmcycGVyX2ZrJzsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9jb25zdHJhaW50ZGVmICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcihpZCwgUEVSSU9EIHZhbGlkX2F0KQorKDEgcm93KQorCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJ1syMDE4 LTAxLTAyLDIwMTgtMDItMDEpJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMiwzKScsICdbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworRVJST1I6ICBp bnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIiB2aW9sYXRlcyBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIgorREVUQUlMOiAg S2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDQtMDEp KSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIG5vdyBpdCBzaG91 bGQgd29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMi0wMycsICcyMDE4LTAzLTAzJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIsMyknLCAnWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSknLCAnWzEsMiknKTsKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCistLSBzbGlkZSB0aGUgZWRnZSBhY3Jv c3MgYSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxfZmtfcm5nMnBlciBT RVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCknIFdIRVJFIGlkID0gJ1sxLDIp JzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHZhbGlk X2F0ID0gJ1syMDE4LTAxLTAyLDIwMTgtMDUtMDEpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJP UjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiIHZpb2xh dGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiCitERVRB SUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0w NS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorVVBEQVRFIHRl bXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEs MiknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcy cGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVy X2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzgsOSksIFsyMDE4LTAx LTAyLDIwMTgtMDItMjApKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4K Ky0tIEFMVEVSIEZLIERFRkVSUkFCTEUKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIw MTgtMDMtMDEnKTsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAgICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0w MS0xMCknLCAnWzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICAg IEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFCTEUg SU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQg PSAnWzUsNiknOyAtLXNob3VsZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBmYWls IGhlcmUuCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIg dmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIg b24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9h dCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBm cm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5j ZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFs X2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyAgT04gVVBEQVRFIE5PIEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2Vl ZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZh bGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJyBXSEVSRSBp ZCA9ICdbNSw2KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRo ZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywg JzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4LTAx LTEwKScsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcy MDE2LTAyLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDMtMDEnCitXSEVSRSBpZCA9ICdbNSw2KScg QU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAx JzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVkZ2UgYmV0d2VlbiB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMKKyAgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAg KCdbNiw3KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbNCw1 KScsICdbMjAxOC0wMS0xNSwyMDE4LTAyLTE1KScsICdbNiw3KScpOworVVBEQVRFIHRlbXBvcmFs X3BlcgorU0VUIHZhbGlkX2Zyb20gPSBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAx JyBUSEVOICcyMDE4LTAxLTAxJworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRfZnJv bSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAxLTA1JyBFTkQ6OmRhdGUsCisgICAgdmFsaWRf dGlsID0gIENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEt MDUnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEn IFRIRU4gJzIwMTgtMDMtMDEnIEVORDo6ZGF0ZQorV0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQ SyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoK Ky0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczogb25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3Qg cGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxlZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQu CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpLAorICAoJ1sxLDIp JywgJzIwMTgtMDMtMDEnLCAnMjAxOC0wNi0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1sy MDE4LTAxLTE1LDIwMTgtMDItMDEpJywgJ1sxLDIpJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEt MTUsMjAxOC0wNS0wMSknLCAnWzEsMiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlk X2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVw ZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6CitVUERBVEUgdGVtcG9y YWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxOC0w My0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUnOjpk YXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFuZCBj aGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBv cmFsX3BlciBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxp ZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0 ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2Zr X3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5 IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0aWxs IHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCistLSBhIFBLIHVw ZGF0ZSBjaGFuZ2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitV UERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVs ZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFp bnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVy IgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0w My0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBl ciIuCistLSBhIFBLIHVwZGF0ZSB0aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBp cyBzdGlsbCB2YWxpZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0wMSknLCAnWzIs MyknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScs IHZhbGlkX3RpbCA9ICcyMDE4LTAyLTE1JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1 cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVt cG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAx Ni0wMi0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAx JyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRl IG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgor REVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0w MSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIu CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwg YnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAg REVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIFVQREFURSB0ZW1wb3JhbF9wZXIgU0VU IHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworICBX SEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBz dGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0gY2hh bmdpbmcgdGhlIHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQg PSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0w MScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0 ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIK K0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDIt MDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIi LgorLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0ZW1w b3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcy MDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gY2hh bmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBpZCA9 ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBv biB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RF VEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEp KSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScp IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzUsNikgfCAyMDE2LTAyLTAx IHwgMjAxNi0wMy0wMQorIFs1LDYpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDIKKyBbNSw2KSB8 IDIwMTgtMDEtMDMgfCAyMDE4LTAyLTAxCisgWzcsOCkgfCAyMDE4LTAxLTAyIHwgMjAxOC0wMS0w MworKDQgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlk IGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBbNSw2 KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQg dGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9m cm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorVFJVTkNBVEUgdGVtcG9y YWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNUUklDVDsKK0VSUk9SOiAgdW5z dXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2lu ZyBQRVJJT0QKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVz ZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBu dW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAo J1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYpJywgJzIwMTgt MDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJ1syMDE4LTAxLTA1LDIw MTgtMDEtMTApJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQg PSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwgPSAn MjAxOC0wMy0wMSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUg cmVmZXJlbmNlZDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScg QU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAx JzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0 YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0o WzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20g dGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBi ZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsK KyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVE OworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CitF UlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMg Zm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgb24gdGFibGUg InRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYp LCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxl ICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0 IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNikn OworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAx LTEwJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRh YmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBv cmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlM OiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlz IHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCist LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAy MDE4LTAxLTAyCisgWzUsNikgfCAyMDE4LTAxLTAzIHwgMjAxOC0wMi0wMQorKDIgcm93cykKKwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFszLDQpIHwgWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkgfCBbNSw2KQorKDEgcm93KQorCist LSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVs ZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFO RCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7 CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gREVMRVRFIFJFU1RSSUNUOworRVJS T1I6ICB1bnN1cHBvcnRlZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJh aW50IHVzaW5nIFBFUklPRAorLS0KKy0tIHJuZzJwZXIgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9w dGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNl ZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRl cyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5V TEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdv IHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFy IGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVM VCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0 d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCB1cGRhdGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2Zr X3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIENBU0NBREUg T04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0 ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAw LDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwg WzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpCisgWzEw MCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNyw4KQorKDMgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgs OSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRf aWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBbOSwxMCkKKyBbMjAwLDIwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Bl ciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEp JywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl ciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkp CisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYs NyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywg J1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy CisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEp IHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4 LTAxLTAxLDIwMTktMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IAorKDMgcm93cykK KworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn LCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMjAwLDIwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf Zmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEt MDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIw MTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dz KQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyBy b3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0g J1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIw MTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAx LTAxKSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgs OSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVG QVVMVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRP ICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAx LTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAw LDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRf YXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28g c2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3Ju ZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0w MSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQg aWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBw YXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkg fCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5 KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknIFdI RVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMp CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBk ZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisoMCBy b3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgs OSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUg dGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScs ICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdb Niw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVM RVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAs MTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyBy b3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEg PSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAg ICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAg ICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAgICAg ICAgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9 ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAx KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dz KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2Fs YXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBl cjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIw MjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5 LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAx LTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24t RlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IFsyMDIw LTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0 IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAg ICB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8 IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRl bXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJw ZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQg TlVMTCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxp ZF9hdCIgcmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9E CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92 ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQor IFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcp CisoMyByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAgICAgICAg ICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAg ICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAx LDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwyMDEp IHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3Mp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcy cGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRF UiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywgaWQy ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBb Niw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitV UERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkgICAg IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAy MS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBp ZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEs MCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBb OCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBv cmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdb LTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVy IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAw XScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEs MCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBb Niw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFst MSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAw LDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBb MjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU ICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1w b3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAn WzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWls cyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQpIE9O IFVQREFURSBTRVQgREVGQVVMVDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgcmVmZXJlbmNl ZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBvazoKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNF VCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChwYXJl bnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAw LDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcpCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBb LTEsMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRk9SRUlHTiBLRVks IFBFUklPRCByZWZlcmVuY2VzIHJhbmdlCistLQorLS0gdGVzdCB0YWJsZSBzZXR1cAorRFJPUCBU QUJMRSB0ZW1wb3JhbF9ybmcgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29u c3RyYWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3JuZzJy bmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IGRhdGVyYW5nZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3JuZworICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ybmdfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKTsKKy0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJhbmdl IHR5cGUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGludCwKKyAgdmFsaWRfdGlsIGludCwKKyAgcGFyZW50X2lkIGludDRy YW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19m ayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBjYW5ub3QgYmUgaW1wbGVt ZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jaW5n IHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBpbmNv bXBhdGlibGUgdHlwZXM6IGludDRyYW5nZSBhbmQgZGF0ZXJhbmdlLgorLS0gd29ya3M6IHJhbmdl IGZvciByZWZlcmVuY2VkLCBQRVJJT0QgZm9yIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQ RVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgICAgICAgICBU YWJsZSAicHVibGljLnRlbXBvcmFsX2ZrX3BlcjJybmciCisgICBDb2x1bW4gICB8ICAgVHlwZSAg ICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0 cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZCAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAg fCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnJuZ19wayIgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAg InRlbXBvcmFsX2ZrX3BlcjJybmdfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwg dmFsaWRfdGlsKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcoaWQsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nOworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgorLS0g KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCist LSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZl cmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2VkIHRhYmxlCistLSAocGFyZW50X2lk LCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQgc3Bl Y2lmeSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkg bXVzdCB1c2UgUEVSSU9EIHdoZW4gcmVmZXJlbmNpbmcgYSBwcmltYXJ5IGtleSB1c2luZyBXSVRI T1VUIE9WRVJMQVBTCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIFBF UklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9E CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5n ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRh YmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCistLSBG T1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyk7CitFUlJPUjogIGZv cmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhl IHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVS RU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9p ZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2VkIHRh YmxlCistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklP RCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSBy ZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSB3aXRoIGlu ZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorLS0gKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJy bmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworKTsKK0RST1AgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZzsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2ltcGxp Y2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZwor KTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFi bGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ug b2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJy bmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0Qg aWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBtdXN0 IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tIFR3byBzY2FsYXIgY29sdW1ucworRFJPUCBUQUJM RSB0ZW1wb3JhbF9ybmcyIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0 cmFpbnQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmsgb24gdGFibGUgdGVtcG9yYWxfZmsyX3JuZzJy bmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcyICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQy IGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X3JuZzJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoCisgIGlkIGludDRyYW5n ZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBp bnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEs IHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Ju ZzIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmsyX3BlcjJy bmcKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnJuZyIKKyAgIENv bHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisg aWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRf ZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8 IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGludDRy YW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19wayIg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3Ry YWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAo dmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0 ZW1wb3JhbF9mazJfcGVyMnJuZ19mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyKGlkMSwgaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmc7CistLQor LS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAorLS0KK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KTsK Ky0tIFR3byBzY2FsYXIgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJu ZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3BlcjJy bmcKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9mazJfcGVyMnJuZyIKKyAgIENv bHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisg aWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRf ZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8 IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMSB8IGludDRy YW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50X2lkMiB8IGludDRyYW5nZSB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ19wayIg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3Ry YWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAo dmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0 ZW1wb3JhbF9mazJfcGVyMnJuZ19mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyKGlkMSwgaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQg dGFibGUsIGFuZCB3cm9uZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIERST1Ag UEVSSU9EIEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1l c3RhbXAsCisgIEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmc7CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBv cmFsX2ZrX3BlcjJybmdfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAgS2V5IGNv bHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxpZF9hdCIg b2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczogdHNyYW5n ZSBhbmQgZGF0ZXJhbmdlLgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9Q IFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0 ZSwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworLS0gd2l0aCBpbmZlcnJlZCBQSyBv biB0aGUgcmVmZXJlbmNlZCB0YWJsZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOwor LS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrMgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50 X2lkKQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCBpZCk7CitFUlJPUjog IGZvcmVpZ24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4gZHVw bGljYXRlcworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ma19wZXIycm5nOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4 LTAxLTAyLDIwMTgtMDItMDMpJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0w NCknKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KScpLAorICAoJ1szLDQp JywgJ1syMDE4LTAxLTAxLCknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScpOworQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkK KyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMikn KTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitFUlJP UjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZpb2xh dGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitERVRB SUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0w NC0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gb2theSBh Z2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsK KyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZzsKKy0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJhaW50ZGVmCistLQorU0VM RUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNv bm5hbWUgPSAndGVtcG9yYWxfZmtfcGVyMnJuZ19mayc7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcoaWQsIFBF UklPRCB2YWxpZF9hdCkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgaW5z ZXJ0cworLS0KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcy MDE4LTAyLTAxJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CitFUlJP UjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZpb2xh dGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitERVRB SUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0w NC0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gbm93IGl0 IHNob3VsZCB3b3JrOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKy0tIHNsaWRlIHRoZSBlZGdl IGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIy cm5nIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0y MCcgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9yYWxf ZmtfcGVyMnJuZyBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIw MTgtMDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBv biB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2 YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA1LTAxKSkgaXMgbm90IHByZXNlbnQg aW4gdGFibGUgInRlbXBvcmFsX3JuZyIuCitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnJuZyBTRVQg cGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGluc2VydCBv ciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciIHZpb2xhdGVzIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBh cmVudF9pZCwgdmFsaWRfYXQpPShbOCw5KSwgWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCkpIGlzIG5v dCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9ybmciLgorLS0gQUxURVIgRksgREVGRVJSQUJM RQorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMKKyAgICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICAgKCdbNSw2 KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUwor ICAgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CisgIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAg REVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90 IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFpbCBoZXJlLgorRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNv bnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEs MjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtf cGVyMnJuZyIuCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCist LQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBOTyBB Q1RJT047CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMg aWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpOworVVBEQVRF IHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknIFdI RVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91 Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgt MDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgKCdbNSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAx KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIw MTgtMDEtMTAnLCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0g J1syMDE2LTAyLTAxLDIwMTYtMDMtMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRo ZSBlZGdlIGJldHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDE4 LTAyLTAxKScpLAorICAoJ1s2LDcpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQpIFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0xNScs ICdbNiw3KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZworU0VUIHZhbGlkX2F0ID0gQ0FTRSBXSEVO IGxvd2VyKHZhbGlkX2F0KSA9ICcyMDE4LTAxLTAxJyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDE4LTAxLTA1JykKKyAgICAgICAgICAgICAgICAgICAgV0hFTiBsb3dlcih2YWxpZF9h dCkgPSAnMjAxOC0wMi0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMy0w MScpIEVORAorV0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRo ZSByZWZlcmVuY2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVm ZXJlbmNlczogb25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVy IGZ1bGZpbGxlZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAx OC0wMy0wMSknKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMSwyMDE4LTA2LTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEn LCAnWzEsMiknKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEnLCAnWzEs MiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIw MTgtMDMtMDEpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0x NSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlz IGZpbmU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwy MDE4LTAzLTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEt MjUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdl IGFuZCBjaGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRF IHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwy MDE4LTAzLTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEt MTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9y bmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFs aWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0aWxsIHJlZmVyZW5j ZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCistLSBhIFBLIHVwZGF0ZSBjaGFu Z2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVt cG9yYWxfcm5nIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRh YmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBv cmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVUQUlM OiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlz IHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCistLSBh IFBLIHVwZGF0ZSB0aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2 YWxpZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAg KCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzIsMyknKTsKK1VQ REFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDItMTUp JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNl IGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9 ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRf YXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRl IG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgor REVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0w MSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIu CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwg YnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAg REVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIFVQREFURSB0ZW1wb3JhbF9ybmcgU0VU IHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJworICBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsK K0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5n IiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2Zr IiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlk X2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2Vk IGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gY2hhbmdpbmcgdGhlIHNjYWxh ciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknCitXSEVS RSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsK K0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJs ZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUs NiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFi bGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBh cnQgaXMgb2theToKK1VQREFURSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hF UkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUg dGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBU TyAnMjAxOC0wMS0xMCcKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VS Uk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJsZSAi dGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiks IFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUg InRlbXBvcmFsX2ZrX3BlcjJybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgWzUsNikgfCBbMjAxNi0wMi0wMSwyMDE2LTAzLTAxKQorIFs1LDYpIHwgWzIwMTgtMDEt MDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpCisgWzcsOCkg fCBbMjAxOC0wMS0wMiwyMDE4LTAxLTAzKQorKDQgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAxOC0w MS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUg b2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVM RVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUg dGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKK1dI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkn OworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBSRVNUUklDVDsKK0VS Uk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3Ry YWludCB1c2luZyBQRVJJT0QKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBB Q1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2Vl ZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s1LDYpJywgJ1syMDE4LTAxLTAx LDIwMTgtMDItMDEpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUs NiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJp YyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4LTAx LTAxLDIwMTgtMDItMDEpJyksCisgICgnWzUsNiknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAx LTEwJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBhIFBLIGRl bGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAx LTAxLDIwMTgtMDItMDEpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVt cG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAo aWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCBy ZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gYSBQSyBkZWxl dGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBj b21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgIEFM VEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUgSU5J VElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAn WzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAx Jyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFs X3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJu Z19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2 YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJl bmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGRlbGV0aW5nIGFuIHVu cmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hF UkUgaWQgPSAnWzUsNiknOworLS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEt MDUnIFRPICcyMDE4LTAxLTEwJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNv bnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMs MjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtf cGVyMnJuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYp JywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2KSB8 IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCisgWzUsNikgfCBbMjAxOC0wMS0wMywyMDE4LTAyLTAx KQorKDIgcm93cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk IGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFszLDQpIHwgMjAxOC0wMS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2 KQorKDEgcm93KQorCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQg dGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVy MnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7Cist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkK KyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgT04gREVMRVRFIFJFU1RSSUNUOworRVJST1I6 ICB1bnN1cHBvcnRlZCBPTiBERUxFVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50 IHVzaW5nIFBFUklPRAorLS0KKy0tIHBlcjJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlv bnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERF RkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1 cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBD QVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNj YWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNv bHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2Fs YXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Bl cjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIENBU0NBREUgT04g VVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEw MSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgMjAyMC0w MS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzcs OCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNyw4KQorKDMgcm93cykKKworLS0gRksg YWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScs ICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAw LDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgt MDEtMDEgfCAyMDIwLTAxLTAxIHwgWzksMTApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Bl cjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAx OS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBb Niw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVy ZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIw MjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCiso MSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0K K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0wMS0w MSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisg ICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIw MTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwg CisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4 KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEt MDEgfCAyMDE5LTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEg fCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IAorKDMgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERB VEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19w ZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0t IGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIw MTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwg CisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEw MSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IAorKDMgcm93cykKKworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEg fCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dz KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICcoLCknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maywKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZwor ICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4 KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEt MDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0w MS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYs NykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBT RVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMTkt MDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAn WzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8 IFstMSwwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygsKScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEt MDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDAp CisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEs MCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKQorKDMgcm93 cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAy MC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0w MS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAy MS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Ju ZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQx LCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwy MDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBDQVNDQURF IE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUg dGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3Rp bCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgt MDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAx OS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgp JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNyw4KSAgICAg IHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpICAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzcsOCkg ICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEw KScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwg MjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbOSwxMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkg fCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIg Y29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAx IHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEt MDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24t RlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZh bGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMSByb3cpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBj b2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIy cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0g J1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3 KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAg ICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcp ICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0w MSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8 IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQg aWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzIw MCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdv IHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9w ZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIw MTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg MjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEp IHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQorCistLSBG SyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsy MDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCiso MiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3 byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Ju ZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQx LCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwy MDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0t IGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFs aWRfYXQpIE9OIFVQREFURSBTRVQgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgcmVm ZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBvazoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQg TlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg MjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dz KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcp CisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCBb Niw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg J1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScs ICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8 IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0w MSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAx LTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFd JywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdb LTEsLTFdJywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIgU0VUIERFRkFVTFQgJ1stMSwtMV0n LAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlk MSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEg fCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0w MSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0w MS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5v bi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScsIGlk MiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwg Wy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAx LTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VU IGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFst MSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8 IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsICco LCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4 LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQor CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQor IFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSww KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAgICB8IFst MSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg J1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScs ICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8 IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0w MSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0w MS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxU IHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWy0xLC0xXScsICdbNiw3KScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFs aWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIg cmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBv azoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZB VUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBb Niw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAgICB8 IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsICcoLCknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIw MCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKKy0tIEZLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQorQ1JFQVRFIFRZUEUgbXlk YXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9y bmczICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmszX3JuZzJybmcgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQsIFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENB U0NBREUKKyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmczIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyks ICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzgsOSkn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7 CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYpIHwgWzIwMTgtMDEt MDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbOCw5KQorKDIgcm93cykKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZzsKK0RS T1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsKKy0tCistLSBG SyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCistLQorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0 ZXJhbmdlLAorICBuYW1lIHRleHQsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9y bmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKSBQQVJU SVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQQVJUSVRJT04gT0YgdGVtcG9y YWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2 KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNiknLCAn WzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOworQ1JFQVRFIFRBQkxF IHRwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4g KCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywg J1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIwLDIxKScsICdb MjIsMjMpJywgJ1syNCwyNSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKKyAgKCdbMSwyKScsIGRhdGVyYW5nZSgn MjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKKyAgKCdbMiwzKScsIGRhdGVyYW5n ZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0d28nKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor KSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBP RiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScs ICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQp JywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScp OworQ1JFQVRFIFRBQkxFIHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3 KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywg J1sxOCwxOSknLCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKKy0tCistLSBwYXJ0 aXRpb25lZCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUwor ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sxLDIp JyksCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDEtMDEtMDEnLCAnMjAwMi0wMS0wMScpLCAn WzIsMyknKSwKKyAgKCdbMiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTE1 JyksICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgn WzMsNCknLCBkYXRlcmFuZ2UoJzIwMTAtMDEtMDEnLCAnMjAxMC0wMi0xNScpLCAnWzEsMiknKTsK K0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCitE RVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTAtMDEtMDEsMjAx MC0wMi0xNSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmciLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAx LTAxJywgJzIwMDAtMDItMTUnKSwgJ1szLDQpJyk7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUg b24gdGFibGUgInRma3AxIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZh bGlkX2F0KT0oWzMsNCksIFsyMDAwLTAxLTAxLDIwMDAtMDItMTUpKSBpcyBub3QgcHJlc2VudCBp biB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KKy0tCistLSBwYXJ0aXRpb25lZCBG SyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgU0VUIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDIt MTMnKSBXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBtb3ZlIGEgcm93IGZyb20gdGhlIGZpcnN0IHBh cnRpdGlvbiB0byB0aGUgc2Vjb25kCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZyBTRVQgaWQgPSAnWzQsNSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIG1vdmUgYSByb3cg ZnJvbSB0aGUgc2Vjb25kIHBhcnRpdGlvbiB0byB0aGUgZmlyc3QKK1VQREFURSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCBpZCA9ICdbMSwyKScgV0hFUkUgaWQgPSAnWzQsNSkn OwogLS0gc2hvdWxkIGZhaWw6CiBVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wNC0wMScpIFdI RVJFIGlkID0gJ1sxLDIpJzsKIEVSUk9SOiAgY29uZmxpY3Rpbmcga2V5IHZhbHVlIHZpb2xhdGVz IGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZmtwMV9wa2V5IgpAQCAtNDIyMCw0ICs4NTI0LDE4IEBA IFNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTUsMTYpJzsKIAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmc7Cist LQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IFBFUklPRHMKKy0tCitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQQVJU SVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScs ICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQp JywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScp OworRVJST1I6ICBJbmhlcml0aW5nIGZyb20gYSB0YWJsZSB3aXRoIGEgUEVSSU9EIGlzIG5vdCBz dXBwb3J0ZWQKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyOwogUkVTRVQgZGF0 ZXN0eWxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBi L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggM2Q0ODA1ZTQzMDEuLmVm OWE3MjMzYjg0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTQzLDcgKzQzLDcg QEAgdGVzdDogY29weSBjb3B5c2VsZWN0IGNvcHlkbWwgY29weWVuY29kaW5nIGluc2VydCBpbnNl cnRfY29uZmxpY3QKICMgTm90ZTogbWFueSBvZiB0aGUgdGVzdHMgaW4gbGF0ZXIgZ3JvdXBzIGRl cGVuZCBvbiBjcmVhdGVfaW5kZXgKICMgLS0tLS0tLS0tLQogdGVzdDogY3JlYXRlX2Z1bmN0aW9u X2MgY3JlYXRlX21pc2MgY3JlYXRlX29wZXJhdG9yIGNyZWF0ZV9wcm9jZWR1cmUgY3JlYXRlX3Rh YmxlIGNyZWF0ZV90eXBlIGNyZWF0ZV9zY2hlbWEKLXRlc3Q6IGNyZWF0ZV9pbmRleCBjcmVhdGVf aW5kZXhfc3BnaXN0IGNyZWF0ZV92aWV3IGluZGV4X2luY2x1ZGluZyBpbmRleF9pbmNsdWRpbmdf Z2lzdAordGVzdDogY3JlYXRlX2luZGV4IGNyZWF0ZV9pbmRleF9zcGdpc3QgY3JlYXRlX3ZpZXcg aW5kZXhfaW5jbHVkaW5nIGluZGV4X2luY2x1ZGluZ19naXN0IHBlcmlvZHMKIAogIyAtLS0tLS0t LS0tCiAjIEFub3RoZXIgZ3JvdXAgb2YgcGFyYWxsZWwgdGVzdHMKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2Zvcl9wb3J0aW9uX29mLnNxbAppbmRleCBkYmRmYTNlOThlMy4uMGM4Y2I1ZTBhYWQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKQEAgLTEyNTIsNiArMTI1Miw1NiBA QCBTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKIAogRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKIAorLS0gVGVzdCB3aXRoIFBF UklPRHMKKworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJh bmdlIE5PVCBOVUxMLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBu YW1lIHRleHQgTk9UIE5VTEwsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9w b3J0aW9uX29mX3Rlc3QyCitWQUxVRVMKKygnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAy LTAzJywgJ29uZScpLAorKCdbMSwyKScsICcyMDE4LTAyLTA0JywgJzIwMTgtMDMtMDMnLCAnb25l JyksCisoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcsICdvbmUnKSwKKygnWzIs MyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTA1LTAxJywgJ3R3bycpLAorKCdbMyw0KScsICcyMDE4 LTAxLTAxJywgbnVsbCwgJ3RocmVlJyk7Cis7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0 MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDIt MTAnCitTRVQgbmFtZSA9ICdvbmVeMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTgtMDEtMTUnIFRPICcyMDE4LTAyLTE1JworV0hFUkUgaWQgPSAnWzIsMyknOworCistLSBTZXR0 aW5nIHRoZSBzdGFydCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIK K0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEw JworU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKwor LS0gU2V0dGluZyB0aGUgZW5kIGNvbHVtbiBmYWlsczoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgt MDItMTAnCitTRVQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnCitXSEVSRSBpZCA9ICdbMSwyKSc7 CisKKy0tIFNldHRpbmcgdGhlIGdlbmVyYXRlZCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAn IFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDItMDMp JworV0hFUkUgaWQgPSAnWzEsMiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0MjsKKwogLS0gVGVzdCB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKIAogQ1JFQVRFIFRZUEUg bXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3BlcmlvZHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVyaW9kcy5z cWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjA0YTMwMTEwZGVjCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVyaW9kcy5zcWwKQEAgLTAs MCArMSwxOTggQEAKKy8qIFN5c3RlbSBwZXJpb2RzIGFyZSBub3QgaW1wbGVtZW50ZWQgKi8KK2Ny ZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBz eXN0ZW1fdGltZSAoZHMsIGRlKSk7CisKKy8qIFBlcmlvZHMgbXVzdCBzcGVjaWZ5IGFjdHVhbCBj b2x1bW5zICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUs IHBlcmlvZCBmb3IgcCAoYm9ndXMsIGRlKSk7CitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIs IGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGJvZ3VzKSk7CisKKy8qIERhdGEg dHlwZXMgbXVzdCBtYXRjaCBleGFjdGx5ICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIs IGRzIGRhdGUsIGRlIHRpbWVzdGFtcCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK2NyZWF0ZSB0 YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgdGV4dCBjb2xsYXRlICJDIiwgZGUgdGV4dCBjb2xsYXRl ICJQT1NJWCIsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CisKKy8qIFBlcmlvZHMgbXVzdCBoYXZl IGEgZGVmYXVsdCBCVHJlZSBvcGVyYXRvciBjbGFzcyAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBp bnRlZ2VyLCBkcyB4bWwsIGRlIHhtbCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKworLyogUGVy aW9kIGFuZCBjb2x1bW4gbmFtZXMgYXJlIGluIHRoZSBzYW1lIG5hbWVzcGFjZSAqLworY3JlYXRl IHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIGN0aWQg KGRzLCBkZSkpOworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIGlkIChkcywgZGUpKTsKKworLyogUGVyaW9kIG5hbWUgY2FuJ3QgYmUgZ2l2 ZW4gbW9yZSB0aGFuIG9uY2UgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0 ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkp OworCisvKiBQZXJpb2QgY2FuJ3QgdXNlIHRoZSBzYW1lIGNvbHVtIGZvciBzdGFydCBhbmQgZW5k Ki8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBwIChkcywgZHMpKTsKKworLyogTm93IG1ha2Ugb25lIHRoYXQgd29ya3MgKi8KK2NyZWF0 ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChk cywgZGUpKTsKKy8qIEl0cyBnZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdvb2QgKi8KK3NlbGVjdCBh dHRuYW1lLCBhdHR0eXBpZDo6cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0Z2VuZXJhdGVkIGZyb20g cGdfYXR0cmlidXRlIHdoZXJlIGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIGF0dG5hbWUg PSAncCc7CitzZWxlY3QgY29ubmFtZSwgY29udHlwZSBmcm9tIHBnX2NvbnN0cmFpbnQgd2hlcmUg Y29ucmVsaWQgPSAncHQnOjpyZWdjbGFzcyBvcmRlciBieSBjb25uYW1lOworLyogSXQgYXBwZWFy cyBpbiB0aGUgaW5mb3JtYXRpb25fc2NoZW1hICovCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9u X3NjaGVtYS5wZXJpb2RzOworCisvKiBTRUxFQ1QgKiBleGNsdWRlcyB0aGUgUEVSSU9EICovCitp bnNlcnQgaW50byBwdCB2YWx1ZXMgKDEsICcyMDAwLTAxLTAxJywgJzIwMDEtMDEtMDEnKTsKK3Nl bGVjdCAqIGZyb20gcHQ7CisKKy8qIFlvdSBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50ICovCitzZWxl Y3QgKiwgcCBmcm9tIHB0OworCisvKiBZb3UgY2FuIGNvbW1lbnQgb24gaXQgKi8KK2NvbW1lbnQg b24gcGVyaW9kIHB0LnAgaXMgJ3Rlc3QgY29tbWVudCc7CitzZWxlY3Qgb2JqX2Rlc2NyaXB0aW9u KChzZWxlY3Qgb2lkIGZyb20gcGdfcGVyaW9kIHdoZXJlIHBlcnJlbGlkID0gJ3B0Jzo6cmVnY2xh c3MgYW5kIHBlcm5hbWUgPSAncCcpLCAncGdfcGVyaW9kJyk7CisKKy8qIFR3byBhcmUgb2theSAq LworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBwMSAoZHMsIGRlKSwgcGVyaW9kIGZvciBwMiAoZHMsIGRlKSk7Citkcm9wIHRhYmxlIHB0 MjsKKworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3JrcyAqLworY3JlYXRl IHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90 IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVy aW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK1xkIHB0MgorZHJv cCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJl Y2F1c2UgdGhlIGNvbCBpc24ndCB0aGVyZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdl ciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0 cyA9IHRydWUpKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVj YXVzZSB0aGUgb3B0aW9uIGhhcyBhbiBpbnZhbGlkIHZhbHVlICovCitjcmVhdGUgdGFibGUgcHQy IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0 aCAoY29sZXhpc3RzID0gJ3doYXRldmVyJykpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQg Y29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IE5PVCBOVUxMICovCitjcmVh dGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBn ZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9y IHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBH RU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IEdFTkVSQVRF RCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBk YXRlcmFuZ2Ugbm90IG51bGwsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMg PSB0cnVlKSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1 c2UgdGhlIGNvbHVtbiBpcyBHRU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Npb24g Ki8KKy0tIFRPRE86CistLSBjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBk ZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFu Z2UoZGUsIGRzKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3Rz ID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNh dXNlIHRoZSBjb2x1bW4gaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgdHNyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQg YWx3YXlzIGFzICh0c3JhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNv bHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIGluaGVyaXRlZCAqLworY3JlYXRlIHRh YmxlIHB0MnBhcmVudCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ug bm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7 CitjcmVhdGUgdGFibGUgcHQyIChwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3Rz ID0gdHJ1ZSkpIGluaGVyaXRzIChwdDJwYXJlbnQpOworZHJvcCB0YWJsZSBwdDJwYXJlbnQ7CisK KworLyoKKyAqIEFMVEVSIFRBQkxFIHRlc3RzCisgKi8KK2FsdGVyIHRhYmxlIHB0IGRyb3AgcGVy aW9kIGZvciBwOworYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBmb3Igc3lzdGVtX3RpbWUgKGRz LCBkZSk7CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpOworLyogSXRz IGdlbmVyYXRlZCBjb2x1bW4gbG9va3MgZ29vZCAqLworc2VsZWN0IGF0dG5hbWUsIGF0dHR5cGlk OjpyZWd0eXBlLCBhdHRub3RudWxsLCBhdHRnZW5lcmF0ZWQgZnJvbSBwZ19hdHRyaWJ1dGUgd2hl cmUgYXR0cmVsaWQgPSAncHQnOjpyZWdjbGFzcyBhbmQgYXR0bmFtZSA9ICdwJzsKK3NlbGVjdCBj b25uYW1lLCBjb250eXBlIGZyb20gcGdfY29uc3RyYWludCB3aGVyZSBjb25yZWxpZCA9ICdwdCc6 OnJlZ2NsYXNzIG9yZGVyIGJ5IGNvbm5hbWU7CisKKy8qIEFkZGluZyBhIHNlY29uZCBvbmUgKi8K K2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBm b3IgcDEgKGRzLCBkZSkpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAyIChkcywg ZGUpOworZHJvcCB0YWJsZSBwdDI7CisKKy8qIENhbid0IGRyb3AgaXRzIGNvbHVtbnMgKi8KK2Fs dGVyIHRhYmxlIHB0IGRyb3AgY29sdW1uIGRzOworYWx0ZXIgdGFibGUgcHQgZHJvcCBjb2x1bW4g ZGU7CisKKy8qIENhbid0IGNoYW5nZSB0aGUgZGF0YSB0eXBlcyAqLworYWx0ZXIgdGFibGUgcHQg YWx0ZXIgY29sdW1uIGRzIHR5cGUgdGltZXN0YW1wOworYWx0ZXIgdGFibGUgcHQgYWx0ZXIgY29s dW1uIGRzIHR5cGUgdGltZXN0YW1wOworCisvKiBjb2x1bW4vcGVyaW9kIG5hbWVzcGFjZSBjb25m bGljdHMgKi8KK2FsdGVyIHRhYmxlIHB0IGFkZCBjb2x1bW4gcCBpbnRlZ2VyOworYWx0ZXIgdGFi bGUgcHQgcmVuYW1lIGNvbHVtbiBpZCB0byBwOworYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBm b3IgdGFibGVvaWQgKGRzLCBkZSk7CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciAiLi4u Li4uLi5wZy5kcm9wcGVkLjQuLi4uLi4uLiIgKGRzLCBkZSk7CisKKy8qIGFkZGluZyBjb2x1bW5z IGFuZCB0aGUgcGVyaW9kIGF0IHRoZSBzYW1lIHRpbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludGVnZXIpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBjb2x1bW4gZHMgZGF0ZSwgYWRkIGNvbHVt biBkZSBkYXRlLCBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpOworZHJvcCB0YWJsZSBwdDI7CisK Ky8qIEFtYmlndW91cyByYW5nZSB0eXBlcyByYWlzZSBhbiBlcnJvciAqLworY3JlYXRlIHR5cGUg bXlkYXRlcmFuZ2UgYXMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKworLyogWW91 IGNhbiBnaXZlIGFuIGV4cGxpY2l0IHJhbmdlIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdl dHlwZSA9ICdteWRhdGVyYW5nZScpKTsKK2Ryb3AgdHlwZSBteWRhdGVyYW5nZTsKK2Ryb3AgdHlw ZSBteWRhdGVyYW5nZSBjYXNjYWRlOworZHJvcCB0YWJsZSBwdDI7CitjcmVhdGUgdGFibGUgcHQy IChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChy YW5nZXR5cGUgPSAnZGF0ZXJhbmdlJykpOworCisvKiBSYW5nZSB0eXBlIGlzIG5vdCBmb3VuZCAq LworY3JlYXRlIHRhYmxlIHB0MyAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9y IHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0gJ25vdGFyYW5nZScpKTsKKworLyogUmFuZ2Ug dHlwZSBpcyB0aGUgd3JvbmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MyAoaWQgaW50LCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0gJ3Rz dHpyYW5nZScpKTsKK2Ryb3AgdGFibGUgcHQyOworCisvKiBQZXJpb2QgY2FuJ3QgdXNlIHRoZSBz YW1lIGNvbHVtIGZvciBzdGFydCBhbmQgZW5kKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAg KGRzLCBkcyk7Citkcm9wIHRhYmxlIHB0MjsKKworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQg Y29sdW1uOiB3b3JrcyAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJh bmdlKGRzLCBkZSkpIHN0b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAo ZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7 CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNv bCBpc24ndCB0aGVyZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgZGF0ZSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRo IChjb2xleGlzdHMgPSB0cnVlKTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBH RU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBvcHRpb24gaGFzIGFuIGludmFsaWQg dmFsdWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUs IHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywg ZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkg d2l0aCAoY29sZXhpc3RzID0gJ3doYXRldmVyJyk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAg Y3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5v dCBOT1QgTlVMTCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUg ZGF0ZSwgcCBkYXRlcmFuZ2UgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkp IHN0b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRo IChjb2xleGlzdHMgPSB0cnVlKTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBH RU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IEdFTkVSQVRF RCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBk YXRlcmFuZ2Ugbm90IG51bGwpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRz LCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAg Y3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIEdF TkVSQVRFRCBidXQgd2l0aCB0aGUgd3JvbmcgZXhwcmVzc2lvbiAqLworLS0gVE9ETzoKKy0tIGNy ZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdl IG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkZSwgZHMpKSBzdG9yZWQp OworLS0gYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29s ZXhpc3RzID0gdHJ1ZSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxz IGJlY2F1c2UgdGhlIGNvbHVtbiBpcyB0aGUgd3JvbmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0 MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCB0c3JhbmdlIG5vdCBudWxsIGdlbmVy YXRlZCBhbHdheXMgYXMgKHRzcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0 MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworZHJv cCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJl Y2F1c2UgdGhlIGNvbHVtbiBpcyBpbmhlcml0ZWQgKi8KK2NyZWF0ZSB0YWJsZSBwdDJwYXJlbnQg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVy YXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworY3JlYXRlIHRhYmxl IHB0MiAoKSBpbmhlcml0cyAocHQycGFyZW50KTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9k IGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7 Citkcm9wIHRhYmxlIHB0MnBhcmVudDsKKworLyogQ1JFQVRFIFRBQkxFIChMSUtFIC4uLikgKi8K KworLyogUGVyaW9kcyBhcmUgbm90IGNvcGllZCBieSBMSUtFLCBzbyB0aGVpciBjb2x1bW5zIGFy ZW4ndCBlaXRoZXIgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQpOworXGQgcHQyCitkcm9w IHRhYmxlIHB0MjsKKworLyogQ2FuIGFkZCBhIHBlcmlvZCByZWZlcnJpbmcgdG8gTElLRSdkIGNv bHVtbnMgKi8KK2NyZWF0ZSB0YWJsZSBub3RfcCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSk7CitjcmVhdGUgdGFibGUgcHQyIChsaWtlIG5vdF9wLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkp OworXGQgcHQyCitkcm9wIHRhYmxlIHB0MjsKKworLyogQ2FuIGFkZCBhIHBlcmlvZCB3aXRoIHRo ZSBzYW1lIG5hbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgcCAo ZHMsIGRlKSk7CitcZCBwdDIKK2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4gYWRkIGEgcGVyaW9k IHdpdGggYSBkaWZmZXJlbnQgbmFtZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVy aW9kIGZvciBwMiAoZHMsIGRlKSk7CitcZCBwdDIKK2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4n dCBhZGQgYSBwZXJpb2Qgd2hvc2UgbmFtZSBjb25mbGljdHMgd2l0aCBhIExJS0UnZCBjb2x1bW4g Ki8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgaWQgKGRzLCBkZSkpOwor CisvKiBDUkVBVEUgVEFMQkUgSU5IRVJJVFMgKi8KKworLyogQ2FuJ3QgaW5oZXJpdCBmcm9tIGEg dGFibGUgd2l0aCBhIHBlcmlvZCAqLworY3JlYXRlIHRhYmxlIHB0MiAobmFtZSB0ZXh0KSBpbmhl cml0cyAocHQpOworCisvKiBDYW4ndCBpbmhlcml0IHdpdGggYSBwZXJpb2QgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGQycyBkYXRlLCBkMmUgZGF0ZSwgcGVyaW9kIGZvciBwIChkMnMsIGQyZSkpIGlu aGVyaXRzIChub3RfcCk7CisKK2Ryb3AgdGFibGUgbm90X3A7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZp bGVnZXMuc3FsCmluZGV4IDM0MDUwODcyMWVjLi45Y2E4NzdlOTk4YSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvcHJpdmlsZWdlcy5zcWwKQEAgLTc5Miw2ICs3OTIsMzQgQEAgREVMRVRFIEZST00gdDEgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnOwog U0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBEUk9QIFRBQkxF IHQxOwogCistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2aWxlZ2VzIG9uIHRoZSBQRVJJT0QgdXNl ZCBpbiBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3By aXZfdXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBjMSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gdGltZXN0YW1wLAorICB2YWxpZF90aWwgdGltZXN0YW1wLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorCUNPTlNUUkFJTlQgdDFwayBQUklNQVJZIEtF WSAoYzEsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworR1JBTlQgU0VMRUNUIE9OIHQx IFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNzX3By aXZfdXNlcjM7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXI0OworR1JB TlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNTsKK0dSQU5UIFVQREFURSAoYzEp IE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFVQREFURSAoYzEsIHZhbGlkX2F0 KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK0dSQU5UIFVQREFU RSAoYzEsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3Nf cHJpdl91c2VyNTsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIy OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRP ICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElP TiByZWdyZXNzX3ByaXZfdXNlcjM7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK1VQREFURSB0MSBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VU IGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3Vz ZXI1OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEn IFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CitEUk9QIFRBQkxFIHQxOworCiAtLSB0ZXN0IGNvbHVt bi1sZXZlbCBwcml2aWxlZ2VzIHdoZW4gaW52b2x2ZWQgd2l0aCBERUxFVEUKIFNFVCBTRVNTSU9O IEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogQUxURVIgVEFCTEUgYXRlc3Q2IEFE RCBDT0xVTU4gdGhyZWUgaW50ZWdlcjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3dpdGhvdXRfb3ZlcmxhcHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVy bGFwcy5zcWwKaW5kZXggMjI0ZGRlZjg0MzAuLjE4ODA0MWUxZDA3IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbApAQCAtOTEsNiArOTEsMzEgQEAgQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX3JuZzIgKAogU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJP TSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcm5nMl9wayc7CiBTRUxF Q1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQg V0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybmcyX3BrJzsKIAorLS0gUEsgd2l0aCBvbmUgY29s dW1uIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisp OworXGQgdGVtcG9yYWxfcGVyCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9N IHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXJfcGsnOworU0VMRUNU IHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdI RVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyX3BrJzsKKworLS0gUEsgd2l0aCB0d28gY29sdW1u cyBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBpZDEgaW50 NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjIKK1NFTEVDVCBwZ19n ZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0g J3RlbXBvcmFsX3BlcjJfcGsnOworU0VMRUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwg dHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyMl9w ayc7CisKIC0tIFBLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZToKIENSRUFURSBUWVBFIHRleHRy YW5nZTIgQVMgcmFuZ2UgKHN1YnR5cGU9dGV4dCwgY29sbGF0aW9uPSJDIik7CiBDUkVBVEUgVEFC TEUgdGVtcG9yYWxfcm5nMyAoCkBAIC0xNjksNiArMTk0LDMzIEBAIFNFTEVDVCBwZ19nZXRfY29u c3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBv cmFsX3JuCiBTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBn X2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybmczX3VxJzsKIERST1AgVEFC TEUgdGVtcG9yYWxfcm5nMzsKIAorLS0gVU5JUVVFIHdpdGggb25lIGNvbHVtbiBwbHVzIGEgUEVS SU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBV TklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3Bl cjMKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworU0VMRUNUIHBnX2dldF9pbmRleGRl Zihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAn dGVtcG9yYWxfcGVyM191cSc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKKy0tIFVOSVFV RSB3aXRoIHR3byBjb2x1bW5zIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf cGVyMyAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g ZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlk MSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMK K1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworU0VMRUNUIHBnX2dldF9pbmRleGRlZihj b25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVt cG9yYWxfcGVyM191cSc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKIC0tIFVOSVFVRSB3 aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBDUkVBVEUgVFlQRSB0ZXh0cmFuZ2UyIEFTIHJhbmdl IChzdWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0iQyIpOwogQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3Ju ZzMgKApAQCAtMjQ1LDYgKzI5Nyw1OCBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKICAgVU5JUVVF IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CiBEUk9QIFRBQkxFIHRlbXBvcmFsMzsK IAorLS0gUFJJTUFSWSBLRVkgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNf cGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRl bXBvcmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKKy0tIFBSSU1BUlkgS0VZIHdpdGggUEVS SU9EIHRvbworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs MworICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOwor CistLSBVTklRVUUgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfdXEKKyAg VU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKK0RS T1AgVEFCTEUgdGVtcG9yYWwzOworCistLSBVTklRVUUgd2l0aCBQRVJJT0QgdG9vCitDUkVBVEUg VEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbDNfdXEKKyAgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7Citc ZCB0ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCiAtLQogLS0gcmFuZ2UgUEs6IHRl c3Qgd2l0aCBleGlzdGluZyByb3dzCiAtLQpAQCAtNjE1LDYgKzcxOSwyMTIgQEAgV0hFUkUgICBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IElTIE5VTEw7CiBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X21sdHJuZzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9tbHRy bmczOwogCistLQorLS0gUEVSSU9EIFBLOiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93cworLS0KKwor QUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGs7 CisKKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAn MjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBO VUxMKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX3BlciBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrOworCist LSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAx OC0wMS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7 CitST0xMQkFDSzsKKy0tIHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVt cG9yYWxfcGVyIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIw LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworUk9MTEJBQ0s7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXI7CisKKy0tCistLSBQRVJJT0QgUEs6IHRlc3QgaW5zZXJ0cworLS0KKworLS0g b2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOwor CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1 Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoTlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworLS0gcmVqZWN0cyBl bXB0eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSBQRVJJ T0QgUEs6IHRlc3QgdXBkYXRlcworLS0KKworLS0gdXBkYXRlIHRoZSBzY2FsYXIgcGFydAorVVBE QVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAn WzEsMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0 ZSB0aGUgUEVSSU9EIGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgdmFsaWRf ZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjEtMDEtMDEnCitX SEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6 ZGF0ZTsKKy0tIHVwZGF0ZSBib3RoIGF0IG9uY2UKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQg ICAgIGlkID0gJ1syMSwyMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLAor ICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMycKK1dIRVJFICAgaWQgPSAnWzExLDEyKScK K0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMjAtMDEtMTUnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gc2hvdWxkIGZhaWw6CitVUERB VEUgIHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAgIHZhbGlkX2Zy b20gPSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1JworV0hF UkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCB0aGUgc2NhbGFyIHBhcnQgdG8gTlVMTAorVVBE QVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9t ID0gJzIwMTgtMDMtMDUnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJF ICAgaWQgPSAnWzIxLDIyKSc7CistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8gTlVMTCAob2theSkK K1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFs aWRfZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFsaWRfdGlsID0gTlVMTAorV0hFUkUg ICBpZCA9ICdbMjEsMjIpJzsKKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRlbXBvcmFsX3Bl cgorU0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAx LTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sx LDIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIFBFUklPRCBVUTogdGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKKy0tCisKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRh dGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpCispOworCistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMics ICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMs NCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAxLTA1Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9wZXIzIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxOwor CistLSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywg JzIwMTgtMDEtMDUnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp OworUk9MTEJBQ0s7CistLSByZWplY3RzIGVtcHR5OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRl bXBvcmFsX3BlcjMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworICBJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcy MDIwLTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBB REQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK1JPTExCQUNL OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIz X3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMzsKKworLS0KKy0tIFBFUklPRCBVUTogdGVzdCBpbnNlcnRzCistLQorCist LSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIw MTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5V TEwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CisKKy0tIHNob3Vs ZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CistLSBy ZWplY3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LQorLS0gUEVSSU9EIFVROiB0ZXN0IHVwZGF0ZXMKKy0tCisKKy0tIHVwZGF0ZSB0aGUgc2NhbGFy IHBhcnQKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMTEsMTIpJworV0hF UkUgICBpZCA9ICdbMSwyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRl OworLS0gdXBkYXRlIHRoZSBQRVJJT0QgYm91bmRzCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NF VCAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIw MjEtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcy MDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSBib3RoIGF0IG9uY2UKK1VQREFURSAgdGVtcG9y YWxfcGVyMworU0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcy MDE4LTAxLTAyJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDItMDMnCitXSEVSRSAgIGlk ID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDIwLTAxLTE1Jzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBzaG91 bGQgZmFpbDoKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMSwyKScsCisg ICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcy MDE4LTA1LTA1JworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCB0aGUgc2NhbGFyIHBh cnQgdG8gTlVMTCAob2theSkKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9IE5V TEwsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3Rp bCA9ICcyMDIxLTAxLTAxJworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCBhIFBFUklP RCBib3VuZCB0byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlk ID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAg dmFsaWRfdGlsID0gTlVMTAorV0hFUkUgICBpZCBJUyBOVUxMIEFORCB2YWxpZF9hdCBAPiAnMjAy MC0wNi0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAg ICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAzLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgt MDUtMDUnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5VTEw7CistLSBy ZWplY3RzIGVtcHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20g PSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUg ICBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworLS0gc3RpbGwgcmVqZWN0cyBl bXB0eSB3aGVuIHNjYWxhciBwYXJ0IGlzIE5VTEw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NF VCAgICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAg ICAgICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF90aWwgSVMgTlVMTDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKIC0tCiAtLSB0ZXN0IGEg cmFuZ2Ugd2l0aCBib3RoIGEgUEsgYW5kIGEgVU5JUVVFIGNvbnN0cmFpbnQKIC0tCkBAIC02NjIs NiArOTcyLDM3IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQg RFJPUCBOT1QgTlVMTDsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRf YXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBwZXIo dmFsaWRfYXQpKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBSRU5BTUUgQ09MVU1OIHZhbGlkX2F0 IFRPIHZhbGlkX3RocnU7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRf dGhydTsKK1xkIHRlbXBvcmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFs aWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbDMKK1NFTEVDVCBhdHRub3RudWxsIEZS T00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dHJlbGlkID0gJ3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFO RCBhdHRuYW1lID0gJ3ZhbGlkX2F0JzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xV TU4gdmFsaWRfYXQgRFJPUCBOT1QgTlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBD T0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZhbGlk X2F0KSwgdXBwZXIodmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVN TiB2YWxpZF9hdDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBGT1IgdmFsaWRf YXQ7CitcZCB0ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCistLSBTYW1lIHJlc3Vs dHMgaWYgd2UgYWRkIHRoZSBQRVJJT0QgYW5kIFBLIGZyb20gQUxURVIgVEFCTEU6CitDUkVBVEUg VEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsK K1xkIHRlbXBvcmFsMworU0VMRUNUIGF0dG5vdG51bGwgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUg YXR0cmVsaWQgPSAndGVtcG9yYWwzJzo6cmVnY2xhc3MgQU5EIGF0dG5hbWUgPSAndmFsaWRfYXQn OworQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBEUk9QIE5PVCBO VUxMOwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAKIC0tCkBAIC05NjMsNiArMTMwNCwxMjEgQEAg U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9tbHRybmczIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAog RFJPUCBUQUJMRSB0ZW1wb3JhbF9tbHRybmczOwogCistLQorLS0gT04gQ09ORkxJQ1Q6IFBFUklP RHMKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0w MScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAw NS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKKy0tIGlkIG1h dGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0w MS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNv bmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZM SUNUIERPIE5PVEhJTkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwg dmFsaWRfYXQpIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZh bGlkX2F0KSBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZh bGlkX2F0KSBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkg aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBP TiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBi dXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykg T04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gTk9USElORzsKKy0t IGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScs ICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsg RE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMikn LCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxp ZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKKy0tIGlkIG1h dGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0w MS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENM VURFRC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFs aWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOwor CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAx MC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEn LCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3Br IERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBpZCBtYXRjaGVz IGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEn KSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VU IGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25m bGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElD VCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVE RUQuaWQgKyAnWzQsNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKworLS0gd2l0aCBhIFVOSVFVRSBjb25zdHJhaW50Ogor CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFV RSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworVFJVTkNBVEUgdGVtcG9yYWxf cGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0 aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBP TiBDT05GTElDVCBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5P VEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7 CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywg JzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0w MS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElO RzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAx LTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5H OworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0w MS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElO RzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAw MC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQg dGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxp Y3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNU IE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAx LTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJ Tkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwy KScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0 KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworLS0gaWQgbWF0Y2hl cyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0w MScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURF RC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlk X2F0KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIw MTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0w MScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIz X3VxIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBpZCBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAx LTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFU RSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5v IGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBD T05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9 IEVYQ0xVREVELmlkICsgJ1s0LDUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRF UiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitEUk9QIFRBQkxFIHRlbXBvcmFsX3Bl cjM7CisKIC0tCiAtLSB0ZXN0IEZLIGRlcGVuZGVuY2llcwogLS0KQEAgLTk4Niw2ICsxNDQyLDI5 IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdCBDQVNDQURFOwog RFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAK Ky0tIGNhbid0IGRyb3AgYSBQRVJJT0QgcmVmZXJlbmNlZCBieSBhbiBGSywgdW5sZXNzIHdpdGgg Q0FTQ0FERQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsMyAoaWQsIFBF UklPRCB2YWxpZF9hdCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9S IHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9h dCBDQVNDQURFOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyOworRFJPUCBUQUJMRSB0 ZW1wb3JhbDM7CisKIC0tCiAtLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIHJh bmdlCiAtLQpAQCAtMTAxNiw2ICsxNDk1LDcgQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n IChpZCwgUEVSSU9EIHZhbGlkX2F0KQogKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJybmcKIERST1Ag VEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIAogLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBj b2x1bW5zOgpAQCAtMjU2Nyw0NyArMzA0NywyNTU1IEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CiAKLS0tIEZLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQorLS0KKy0tIHRlc3QgRk9SRUlH TiBLRVksIFBFUklPRCByZWZlcmVuY2VzIFBFUklPRAorLS0KIAotQ1JFQVRFIFRZUEUgbXlkYXRl cmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1Ag VEFCTEUgdGVtcG9yYWxfcGVyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX3BlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsKKyAgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKIAotQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX3JuZzMgKAorLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFuZ2Ug dHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2Us Ci0gIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorICB2YWxpZF9mcm9t IGludCwKKyAgdmFsaWRfdGlsIGludCwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIg KGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcy cm5nICgKKworLS0gd29ya3M6IFBFUklPRCBmb3IgYm90aCByZWZlcmVuY2VkIGFuZCByZWZlcmVu Y2luZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2Us Ci0gIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAogICBwYXJlbnRfaWQgaW50NHJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr M19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks Ci0gIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQs IFBFUklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyAgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0Qg dmFsaWRfYXQpCiApOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7 Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpLCAnWzgsOSknKTsKLURFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzMgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4 LDkpJzsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmszX3JuZzJybmcgV0hFUkUgaWQgPSAnWzUs NiknOworXGQgdGVtcG9yYWxfZmtfcGVyMnBlcgogCi1EUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19y bmcycm5nOwotRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOwotRFJPUCBUWVBFIG15ZGF0ZXJhbmdl OworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyOwogCi0tLQotLS0gRksgYmV0d2VlbiBw YXJ0aXRpb25lZCB0YWJsZXM6IHJhbmdlcwotLS0KKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0Qg Y29sdW1uczoKIAotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCistLSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0t IFJFRkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2Us Ci0gIG5hbWUgdGV4dCwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCi0pIFBBUlRJVElPTiBC WSBMSVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3 LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgp JywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7Ci1DUkVBVEUgVEFCTEUgdHAyIFBB UlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEp JywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEz KScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMykn LCAnWzI0LDI1KScpOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwg dmFsaWRfYXQsIG5hbWUpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAx JywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAy LTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0 KQorKTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQp CistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfYXQpCispOwor LS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQp CistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2lt cGxpY2l0XQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9m cm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisp OworLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9m cm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlciAoaWQpCispOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxp ZF9hdCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50 NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIg KGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVm ZXJlbmNlZCB0YWJsZToKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNF UyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXI7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CisKKy0tIHNob3VsZCBmYWls IGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlk LCBQRVJJT0QgaWQpCispOworCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVt cG9yYWxfcGVyMjsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5n ZSwKKyAgaWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKKyk7CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBl ciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQg dGVtcG9yYWxfZmsyX3BlcjJwZXIKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CisK Ky0tCistLSB0ZXN0IEFMVEVSIFRBQkxFIEFERCBDT05TVFJBSU5UCistLQorCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBk YXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxp ZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsy X3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRf dGlsIGRhdGUsCisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5n ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2Zr Ml9wZXIycGVyCisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUs IGFuZCB3cm9uZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIERST1AgUEVSSU9E IEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1lc3RhbXAs CisgIEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgUEVS SU9EIEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSBkYXRlLAor ICBBTFRFUiBDT0xVTU4gdmFsaWRfdGlsIFRZUEUgZGF0ZSwKKyAgQUREIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24g dGhlIHJlZmVyZW5jZWQgdGFibGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKwor LS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX2ZrMgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50 X2lkKQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCk7CisKKy0tCist LSB0ZXN0IHdpdGggcm93cyBhbHJlYWR5CistLQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19w ZXIycGVyOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4 LTAxLTAyJywgJzIwMTgtMDItMDMnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgt MDQtMDQnKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdb Myw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwy KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEn LCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXI7CistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworCistLQorLS0gdGVzdCBwZ19nZXRfY29uc3Ry YWludGRlZgorLS0KKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19j b25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtfcGVyMnBlcl9mayc7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0tCisKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CistLSBz aG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMics ICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLSBub3cgaXQgc2hvdWxkIHdvcms6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sx LDIpJywgJzIwMTgtMDItMDMnLCAnMjAxOC0wMy0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKworLS0gc2xpZGUgdGhlIGVkZ2UgYWNy b3NzIGEgcmVmZXJlbmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJwZXIg U0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTIwJyBX SEVSRSBpZCA9ICdbMSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSB0ZW1wb3JhbF9ma19w ZXIycGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0w NS0wMScgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgU0VU IHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBBTFRFUiBGSyBE RUZFUlJBQkxFCisKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcy MDE4LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsK KyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAx OC0wMS0xMCcsICdbNSw2KScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg ICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJSQUJM RSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJF IGlkID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQg ZmFpbCBoZXJlLgorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9O CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gVVBEQVRF IE5PIEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVt ZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIw MTgtMDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0w MS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBh IFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJl ZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIw MTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEw JywgJ1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYt MDItMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMy0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQg dmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnOwor LS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3ZWVuIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUworICAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s2 LDcpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMK KyAgKCdbNCw1KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnLCAnWzYsNyknKTsKK1VQREFU RSB0ZW1wb3JhbF9wZXIKK1NFVCB2YWxpZF9mcm9tID0gQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAn MjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wMScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVO IHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMS0wNScgRU5EOjpkYXRlLAor ICAgIHZhbGlkX3RpbCA9ICBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBUSEVO ICcyMDE4LTAxLTA1JworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRfZnJvbSA9ICcy MDE4LTAyLTAxJyBUSEVOICcyMDE4LTAzLTAxJyBFTkQ6OmRhdGUKK1dIRVJFIGlkID0gJ1s2LDcp JzsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBidXQgc3Rp bGwgdmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6IG9uZSBmdWxmaWxsZWQgYnkg dGhlIGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxsZWQgYnkgYm90aCBwayByb3dz IGNvbWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKSwK KyAgKCdbMSwyKScsICcyMDE4LTAzLTAxJywgJzIwMTgtMDYtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyks CisgICgnWzIsMyknLCAnMjAxOC0wMS0xNScsICcyMDE4LTA1LTAxJywgJ1sxLDIpJyk7CitVUERB VEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwg PSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgt MDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJlbmNlZCByYW5n ZSBpcyBmaW5lOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAxJywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0 aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3 aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJywgdmFsaWRf ZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9 ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBk YXRlIGNoYW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQ REFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGxv c2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2YWxpZDoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzIs MyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUwor ICAoJ1s1LDYpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwzKScpOworVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0g JzIwMTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZh aWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VU IHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hF UkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90 aWwgPSAnMjAxOC0wMi0wMSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90 aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGls ID0gJzIwMTYtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gY2hhbmdpbmcg dGhlIHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcs OCknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5E IHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBw YXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dI RVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRF IHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScg VE8gJzIwMTgtMDEtMTAnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVy IFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRl bGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2Nl ZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxp ZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFs X3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgUkVTVFJJQ1Q7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFs X3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy OworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlz bid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScp OworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsg ZGVsZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJl bmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0w MScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0w MS0xMCcsICdbNSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgt MDMtMDEnOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVy ZW5jZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7Cist LSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0 IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVG RVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVy IFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBh cnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2 KSc7CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgt MDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29y ZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxf ZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxp ZF90aWwgPSAnMjAxOC0wMi0wMSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBSRVNUUklDVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIy cGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisg IE9OIERFTEVURSBSRVNUUklDVDsKKworLS0KKy0tIHBlcjJwZXIgdGVzdCBPTiBVUERBVEUvREVM RVRFIG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg TlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVm ZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQg ZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVM TCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28g c2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg REVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQg KHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0 ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy CisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisKK1RSVU5D QVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hF UkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3 KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERB VEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3Jh bF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBp ZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzks MTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2Zr X3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVy IFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRl bXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51 bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb Niw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4g cGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRF IFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5 LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3Jh bF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVy MnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3Zl cnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg JzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVy IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVy MiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywg J1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBE RUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitV UERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUg dGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIg Y29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg dXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3 KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2 LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBEUk9Q IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVu dF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAg ICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sy MDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3 byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2Zr Ml9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVs ZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJz ZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1 c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrMl9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQ REFURSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQx LCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5V TEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYs NyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJw ZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9O IERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywg aWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdb Nyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VU IGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2Fs YXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIy cGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWy0xLC0xXScsICdbNiw3KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQ RVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRf aWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9mawor ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxU IChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn Wy0xLC0xXScsICdbOCw5KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRk9SRUlHTiBLRVksIHJhbmdlIHJlZmVyZW5jZXMgUEVS SU9ECistLQorCistLSB0ZXN0IHRhYmxlIHNldHVwCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlciBD QVNDQURFOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3Blcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKworLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1p c21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGludDRyYW5nZSwKKyAgcGFyZW50X2lkIGludDRy YW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworCistLSB3 b3JrczogUEVSSU9EIGZvciByZWZlcmVuY2VkLCByYW5nZSBmb3IgcmVmZXJlbmNpbmcKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChp ZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJwZXIKK0RST1AgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcjsKKworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1 bW5zOgorCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2 YWxpZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9h dCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlk LCB2YWxpZF9hdCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVy YW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQor KTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlk X2F0KQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0Qg dmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxp Y2l0XQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CistLSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5n ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkKQorKTsKKy0t IChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0 ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisp OworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0 ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RS T1AgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMg W2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9m ayBGT1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisp OworCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVt bnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIgKGlkLCBQRVJJT0QgaWQpCispOworCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RS T1AgVEFCTEUgdGVtcG9yYWxfcGVyMiBDQVNDQURFOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3Bl cjIgKAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRh dGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkg KGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKKworQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX2ZrMl9ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRl cmFuZ2UsCisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlk X2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9ybmcycGVyCitEUk9QIFRBQkxFIHRlbXBvcmFsX2Zr Ml9ybmcycGVyOworCistLQorLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAorLS0K KworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklP RCB2YWxpZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwK KyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsy X3JuZzJwZXIKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwg YW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUxURVIgQ09MVU1O IHZhbGlkX2F0IFRZUEUgdHNyYW5nZSBVU0lORyB0c3JhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBw ZXIodmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSBkYXRl cmFuZ2UgVVNJTkcgZGF0ZXJhbmdlKGxvd2VyKHZhbGlkX2F0KTo6ZGF0ZSwgdXBwZXIodmFsaWRf YXQpOjpkYXRlKTsKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJs ZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworCistLSBzaG91bGQgZmFpbCBiZWNh dXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsyCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKTsKKworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFs cmVhZHkKKy0tCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0w MycpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpLAorICAoJ1syLDMp JywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpLAorICAoJ1szLDQpJywgJzIwMTgtMDEtMDEn LCBOVUxMKTsKKworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0w MS0wMiwyMDE4LTAyLTAxKScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIw MTgtMDQtMDEpJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mawor ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyOworLS0gb2theSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKworLS0KKy0tIHRlc3QgcGdf Z2V0X2NvbnN0cmFpbnRkZWYKKy0tCisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQp IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3JuZzJwZXJf ZmsnOworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorCitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMSknLCAnWzEsMiknKTsKKy0tIHNob3Vs ZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQtMDEpJywgJ1sx LDIpJyk7CistLSBub3cgaXQgc2hvdWxkIHdvcms6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDItMDMn LCAnMjAxOC0wMy0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQt MDEpJywgJ1sxLDIpJyk7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0t CisKKy0tIHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQ REFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMiwyMDE4 LTAyLTIwKScgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVt cG9yYWxfZmtfcm5nMnBlciBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDIsMjAxOC0wNS0wMSkn IFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCBwYXJl bnRfaWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gQUxURVIgRksgREVGRVJS QUJMRQorCitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0w Mi0wMScpLAorICAgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CisgIElO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBW QUxVRVMKKyAgICAoJ1szLDQpJywgJ1syMDE4LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7 CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJF RDsKKworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOyAtLXNo b3VsZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBmYWlsIGhlcmUuCisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRl bXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgTk8gQUNUSU9OOworLS0gYSBQ SyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVy ZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0g JzIwMTYtMDItMDEnIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3Vj Y2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRo ZSByYW5nZSBpc24ndDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2 KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1 LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywg J1syMDE4LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVy IFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDItMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMy0wMScK K1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFs aWRfdGlsID0gJzIwMTgtMDMtMDEnOworLS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBi ZXR3ZWVuIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s2LDcpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpLAorICAoJ1s2LDcpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUworICAoJ1s0LDUpJywgJ1syMDE4LTAxLTE1LDIwMTgtMDItMTUpJywgJ1s2LDcp Jyk7CitVUERBVEUgdGVtcG9yYWxfcGVyCitTRVQgdmFsaWRfZnJvbSA9IENBU0UgV0hFTiB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEtMDEnCisgICAgICAgICAgICAgICAg ICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIFRIRU4gJzIwMTgtMDEtMDUnIEVO RDo6ZGF0ZSwKKyAgICB2YWxpZF90aWwgPSAgQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0w MS0wMScgVEhFTiAnMjAxOC0wMS0wNScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIHZhbGlk X2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMy0wMScgRU5EOjpkYXRlCitXSEVSRSBp ZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFu Z2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byByZWZlcmVuY2VzOiBvbmUgZnVs ZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3RoZXIgZnVsZmlsbGVkIGJ5IGJv dGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAzLTAxJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMScsICcyMDE4LTA2LTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0wMSknLCAnWzEsMiknKSwKKyAg KCdbMiwzKScsICdbMjAxOC0wMS0xNSwyMDE4LTA1LTAxKScsICdbMSwyKScpOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIw MTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1 Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMg ZmluZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScs IHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9h dCBAPiAnMjAxOC0wMS0yNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJl ZmVyZW5jZWQgcmFuZ2UgYW5kIGNoYW5naW5nIHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUg cmFuZ2U6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2Zyb20g PSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEs MiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBj aGFuZ2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgdGhhdCBsb3NlcyB0 aW1lIGZyb20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwgdmFsaWQ6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1syLDMpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4 LTAxLTE1LDIwMTgtMDItMDEpJywgJ1syLDMpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2 YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJF IGlkID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFy ZSByZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2 LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5E IHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsK Ky0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBi dXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBE RUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKworICBVUERBVEUgdGVtcG9yYWxfcGVyIFNF VCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKKyAg V0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBjaGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFp bHM6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgt MDItMDEnOworLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFU RSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDIn IFRPICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOwor LS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NF VCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0 KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3Rpbmcg RksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAx JworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNU UklDVDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1 c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0w MS0wMScsICcyMDE4LTAyLTAxJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQg PSAnWzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUg bnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAg KCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4 LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwy MDE4LTAxLTEwKScsICdbNSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0g JzIwMTgtMDMtMDEnOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJl IHJlZmVyZW5jZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNikn IEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0w MSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNl ZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisg ICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVu Y2VkIHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8g JzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkIGluICgnWzMsNCkn KSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZL IHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVt cG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFO RCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBSRVNUUklDVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9m a19ybmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyCisgIE9OIERFTEVURSBSRVNUUklDVDsKKworLS0KKy0tIHJuZzJwZXIgdGVzdCBPTiBVUERB VEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FT Q0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2Vk IHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAor LS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxM ICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxf cGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9O IERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcy cGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4 LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBp ZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24t RlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtf cm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr CisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQg TlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg U0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAx JywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4 LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywg bnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBE RUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAn WzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn Wy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn LCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcy MDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdb Niw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3 KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRF IENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRF IHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAy MS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBp ZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScs ICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcy MDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5D QVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYs NyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNykn LCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9O IERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9w ZXIyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBA PiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVy IFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn LCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQx LCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5n MnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAw LDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBl ciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNF VCBOVUxMIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2Zr Ml9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2Ug eW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr Ml9ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQREFU RSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVy IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAx LDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg dXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywg J1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZB VUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2Zr LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBT RVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFs X3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBv cmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBv cmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwg bnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0w MSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScs ICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2 LDcpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMg YmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBV UERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcy cGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERF RkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIw MjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIG51bGwsIG51bGwp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdI RVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCBQRVJJT0Qg cmVmZXJlbmNlcyByYW5nZQorLS0KKworLS0gdGVzdCB0YWJsZSBzZXR1cAorRFJPUCBUQUJMRSB0 ZW1wb3JhbF9ybmcgQ0FTQ0FERTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X3JuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmdfcGsKKyAgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKworLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0 aCBhIG1pc21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gaW50LAorICB2YWxpZF90aWwgaW50 LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkK Kyk7CisKKy0tIHdvcmtzOiByYW5nZSBmb3IgcmVmZXJlbmNlZCwgUEVSSU9EIGZvciByZWZlcmVu Y2luZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2Zr X3BlcjJybmcKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZzsKKworLS0gd2l0aCBtaXNt YXRjaGVkIFBFUklPRCBjb2x1bW5zOgorCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp IFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFydCBzaG91bGQgc3Bl Y2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKKy0tIChwYXJlbnRfaWQs IHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVj aWZ5IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRf YXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0 IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUs CisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworLS0g KHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorLS0gRk9SRUlHTiBL RVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworLS0gKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQpCispOworLS0gKHBh cmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQp CispOworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVS SU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmcKKyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmc7CistLSAocGFyZW50X2lkKSBS RUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKKyk7CisKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRl IHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRf aWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgaWQpCispOworCist LSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMiBDQVNDQURFOwor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzIgKAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50 NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcm5n Ml9wayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisp OworCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZDEgaW50 NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJu Z19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycm5n CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworCistLQorLS0gdGVzdCBBTFRFUiBU QUJMRSBBREQgQ09OU1RSQUlOVAorLS0KKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRh dGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlk X2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpOworLS0gVHdvIHNjYWxh ciBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRf aWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRf aWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnJuZworCistLSB3aXRo IGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBhbmQgd3JvbmcgY29sdW1uIHR5 cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAorICBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFM VEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgdGltZXN0YW1wLAorICBBTFRFUiBDT0xVTU4gdmFs aWRfdGlsIFRZUEUgdGltZXN0YW1wLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisg IEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0ZSwKKyAgQUxURVIgQ09MVU1OIHZhbGlk X3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpOworCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxl OgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CisKKy0tIHNob3VsZCBmYWlsIGJlY2F1 c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazIKKyAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgaWQpOworCistLQorLS0gdGVzdCB3aXRoIHJvd3MgYWxy ZWFkeQorLS0KKworREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScpLAorICAoJ1sxLDIp JywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEs MjAxOC0wMS0wNSknKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJyk7CisKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAn MjAxOC0wMi0wMScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZwor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAx LTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmc7CistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9y YWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworCistLQorLS0g dGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0KKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50 ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtf cGVyMnJuZ19mayc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0tCisK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAx JywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Bl cjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIs MyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLSBub3cgaXQgc2hv dWxkIHdvcms6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCisKKy0tIHNsaWRlIHRoZSBlZGdl IGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIy cm5nIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0y MCcgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9yYWxf ZmtfcGVyMnJuZyBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIw MTgtMDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycm5n IFNFVCBwYXJlbnRfaWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gQUxURVIg RksgREVGRVJSQUJMRQorCitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUworICAgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkn KSwKKyAgICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CisgIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTCisgICAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAn WzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgIEFMVEVSIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZ IERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2 KSc7IC0tc2hvdWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4K KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19m azsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBOTyBBQ1RJT047 CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNu J3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpOworVVBEQVRFIHRlbXBv cmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknIFdIRVJFIGlk ID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhl IG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEs MjAxOC0wMi0wMSknKSwKKyAgKCdbNSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEt MTAnLCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2 LTAyLTAxLDIwMTYtMDMtMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdb MjAxOC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRoZSBlZGdl IGJldHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAx KScpLAorICAoJ1s2LDcpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0xNScsICdbNiw3 KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZworU0VUIHZhbGlkX2F0ID0gQ0FTRSBXSEVOIGxvd2Vy KHZhbGlkX2F0KSA9ICcyMDE4LTAxLTAxJyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDE4LTAxLTA1JykKKyAgICAgICAgICAgICAgICAgICAgV0hFTiBsb3dlcih2YWxpZF9hdCkgPSAn MjAxOC0wMi0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMy0wMScpIEVO RAorV0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZl cmVuY2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNl czogb25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZp bGxlZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMy0w MSknKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMSwyMDE4LTA2LTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzEs MiknKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEnLCAnWzEsMiknKTsK K1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDMt MDEpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRh dGU7CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6 CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAz LTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUnOjpk YXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFuZCBj aGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBv cmFsX3JuZyBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4LTAz LTAxKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpk YXRlOworLS0gYSBQSyB1cGRhdGUgY2hhbmdpbmcgb25seSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhl IHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzIsMyknCitXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEg UEsgdXBkYXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxsIHZh bGlkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAo J1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UworICAoJ1s1LDYpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwzKScpOworVVBE QVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMi0xNSkn CitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2Ug Ym90aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0g J1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxz IGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lO OworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJS RUQ7CisKKyAgVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEs MjAxNi0wMi0wMSknCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gY2hhbmdpbmcgdGhl IHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCkn CitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDIt MDEpJzsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUg dGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBU TyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0t IGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZworRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitTRVQg aWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkIGluICgnWzMsNCkn KSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZL IHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVt cG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcm5n IFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKK1dIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBVUERBVEUgUkVTVFJJQ1Q7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cm5nOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlk IGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0 IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVz ZSB0aGUgcmFuZ2UgaXNuJ3Q6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgKCdb NSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4 LTAyLTAxLDIwMTgtMDMtMDEpJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBi b3RoIGFyZSByZWZlcmVuY2VkOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworLS0gYSBQ SyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3Qg J3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZwor ICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFC TEUgSU5JVElBTExZIERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVS RSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MTgtMDItMDEnKTsKK0NPTU1JVDsKKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlz IG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOwor LS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcK K0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEw JworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5k IHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJF IGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOwor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5D QVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBERUxFVEUgUkVTVFJJQ1Q7CisK Ky0tCistLSBwZXIycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCistLQorLS0gVE9D OgorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBD QVNDQURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURF ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNj YWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNv bHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBz dWJzZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBE RUZBVUxUIHN1YnNldCkKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NB REUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FT Q0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg U0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg J1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtf cGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2Zr CisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQg TlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg U0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg J1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAx LTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBERUZBVUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFs X2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWy0xLC0xXScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFMVEVSIENP TFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBV UERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0 ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5n IFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAy MC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0t CisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygsKScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIy cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcm5nMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAt MDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3Ju ZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAn WzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAt MDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRl bXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVU RSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBE QVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEw KScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5V TEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4 LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3 KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9p ZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEs MjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0x LC0xXScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEs LTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJl bnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVM VDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNF VCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxf cm5nMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzks MTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0x XScsICdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkp JywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScsICcoLCkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4n dCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJu ZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFy ZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgor ICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVM VDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUxURVIgQ09M VU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUg U0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAn WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsICcoLCknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIEZLIHdpdGggYSBjdXN0b20gcmFu Z2UgdHlwZQorCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUp OworCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfYXQgbXlkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcm5nM19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrM19ybmcycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBteWRhdGVy YW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazNf cm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzMgKGlkLCBQ RVJJT0QgdmFsaWRfYXQpIE9OIERFTEVURSBDQVNDQURFCispOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3JuZzMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsz X3JuZzJybmcgV0hFUkUgaWQgPSAnWzUsNiknOworCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19y bmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdl OworCistLQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IHJhbmdlcworLS0KKwor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQsCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQQVJU SVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScs ICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQp JywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScp OworQ1JFQVRFIFRBQkxFIHRwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5 KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSkn LCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScs IGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKKyAgKCdbMSwy KScsIGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdb MiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0d28nKTsKIAog Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKApAQCAtMzAwNyw0 ICs1OTk1LDE5IEBAIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5n Mm1sdHJuZyBXSEVSRSBpZCA9ICdbMTUsMTYpJzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nOwogCistLQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IFBFUklPRHMK Ky0tCisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIG5hbWUgdGV4 dCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUg VEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXIgRk9SIFZBTFVF UyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEs MTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIy KScsICdbMjMsMjQpJyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlcjsKKwog UkVTRVQgZGF0ZXN0eWxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCBkZDdhODkyMmYy Mi4uNmY2MTY5Y2NkY2MgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC04OTEsNiArODkx LDcgQEAgRm9ybURhdGFfcGdfb3BjbGFzcwogRm9ybURhdGFfcGdfb3BlcmF0b3IKIEZvcm1EYXRh X3BnX29wZmFtaWx5CiBGb3JtRGF0YV9wZ19wYXJ0aXRpb25lZF90YWJsZQorRm9ybURhdGFfcGdf cGVyaW9kCiBGb3JtRGF0YV9wZ19wb2xpY3kKIEZvcm1EYXRhX3BnX3Byb2MKIEZvcm1EYXRhX3Bn X3B1YmxpY2F0aW9uCkBAIC0yMTcxLDYgKzIxNzIsOCBAQCBQZW5kaW5nVW5saW5rRW50cnkKIFBl bmRpbmdXcml0ZQogUGVuZGluZ1dyaXRlYmFjawogUGVyTG9ja1RhZ0VudHJ5CitQZXJpb2REZWYK K1BlcmlvZEluZm8KIFBlcmxJbnRlcnByZXRlcgogUGVybF9wcGFkZHJfdAogUGVybXV0YXRpb24K LS0gCjIuNDcuMwoK --00000000000086536706453dd523--