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 1w7DrF-0055Ro-03 for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 14:44:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7DrD-003tTi-1c for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 14:44:47 +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 1w7DrD-003tTY-0K for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 14:44:47 +0000 Received: from mail-qk1-x72d.google.com ([2607:f8b0:4864:20::72d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7DrA-000000020cd-1rXd for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 14:44:47 +0000 Received: by mail-qk1-x72d.google.com with SMTP id af79cd13be357-8cfc3ca1922so522388685a.1 for ; Mon, 30 Mar 2026 07:44:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774881883; cv=none; d=google.com; s=arc-20240605; b=lNDd6k6HeUCY14WlgxQuEvdm9XA7NbFuPArOLn1/ReQdvtv6BGS9Rjs5d/+KYz94V2 wdTXkRB9npnDOD2LZqNXYowsqpXg/Tcc6a0h51MQU66SwtwsYwZwdortJXgEhuvDbTk/ Pn3YmOxeVrW/M2DOWU5OqOyX/odwwzc6XkHKGBbSKlUQ18TZ1v+4QMibtL2i9aEJP7n3 jAeus4PdRthJ4C4cGW03irU7MYCa9PF5rKnsLrXxVlQv6QG0wZ08amIXsIF2DZc3n62g KmaVqXyJD9IsrnFNI+ll95p2I/y6e3ec6b+xoMh5+UriSw/fOsBEweM0ClCkKI+rT8kD HVFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=56YoS4OtaS1302Zow8xbfovYRGqTMTtqvAzKOjGP6MI=; fh=rBmdbzYlyTYQQfTrx6oqyNy8pjjzq2pgUaQ7RZ7Frt8=; b=JmpEqvQbMZKww2ra/+m975M6RYEPtyYx6HvbOrXs15YnzMXbU4VG6AEmiEUm9OAGdW izlQXXI6XP330LUioGXInTuejO/VsLu7mXlH8MmKiWXzsogiAQ0XROMPzIud+v2CPA5h uTgMw4o1nPelJMuXyhTT7kBELTFNRfkVbJEs+98faKjWZ25LVeZY4i6i2Mo7wdrev9Av SUzijoVopluJDv+fP1Zqm8kJvWVl7sQuWgkx8Ox+i6ewiV0SG6YpFVuMF/kGfB3Vw8co DVbv1i7gktJ8+T0NZV3uYqK0ZxI9zaYMwsbMfOJBw6WIG4FhVlionjHR6VEvJfQ0l3vw edxA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774881883; x=1775486683; 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=56YoS4OtaS1302Zow8xbfovYRGqTMTtqvAzKOjGP6MI=; b=pAHv61gKoRshA88fo2Oyi7Rst0PNqWN2YcZ0xnS/fle6bbC3eM1y+oMmtPfIAVuvKi 0DG1E/lfEkP+Yuygdawc2j9Mqopc2Cv9RqY2VPUaNCnrU6debXK3mE8rJhBJohxrCEtE Ke2HemH6F3xd5JAgfzpryhCzEXfZ8YsRuh3jwhbst/FEbD9WUAA50etb5Mv+cDDk+Paj ODHEspd9LmR7j9a0GewRahWhRTCGfEDf874T0sgbd02mbuYn/CMfvQwtyylEFkWUpgF8 vDRa3RG04AdAYVYiftwZ6tbPZuBhhTN3iM1DbbCdf2Za+DO8HgwIQ9xaxprQ9Y3liD4Z 8dEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774881883; x=1775486683; 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=56YoS4OtaS1302Zow8xbfovYRGqTMTtqvAzKOjGP6MI=; b=cud1dgTQ/9gp51vAALw4vgzbGOYlUmD9Jcp95g6OEVI0rJa12yaiya2ACrMDuOjBgn qdlla5TuvILnD6XTPkTcLmxvZpZY1+sCPlr1HRw7nDh0kcjuhwuhYyF96Z/U0rront4e UJo0BvDaPml/WFOkfDayenw72lMUwfe2v+SsrHTracfYrBOOEB5QK9LePuexckXL3QO1 L5LGHieTFVoVST1S6XWuMYqBaHjQ7LKlS0/0HfBf2bDV0CQV4lcg5d6pAlBRB87DegiZ WZqxSVBiVKE+UqJ2LfP6rDozh/3QKBvODPxyX2zfYwgNZqcgIAsvnpo0PDs9d6fQ6G6g 1CNw== X-Forwarded-Encrypted: i=1; AJvYcCUiWIhjrSVcRJRaqd7/xRvZSGSb+tnqVasDuFEdKT4wKKzxGH94EriyUgzYbMi28zYzE2YQmmw5ieKVKCHt@lists.postgresql.org X-Gm-Message-State: AOJu0YzjDqrGZeR1oJO6EwYbTsatDlUX1uLqD9rmbUwv4vWFwKzKZ7Xa zHgeuE3Fh+5HbgsALgewxjFVSstjLi6a3uJcn82tl08hT9DwigQY6Im5MlAK8HIb56/98zmuRZO 5mVAs+c0dvVzvB6kcZPrmzqrWXbXWiH0= X-Gm-Gg: ATEYQzxrSwXRBvuTJjOhobEeHmj2ThPc3voe8WSu2yM08OHD0wBIYPtCZEisFxHCsdq COC+y/R6aPaKru0UcFd7fC+DYeUkRoCfjVdXzgJhqxkhaTrUWXv47RqqkkW78MnHaOg6aODsceB wjGUGtB4UN8nOfx3gg8TcnstWj9/NykpumZLcREhHLzMfBNz6906sTJquZjggR80pr2OC8/ed+e rYCVNYjWpTUffAoEwPZbPBEKSBAFakN2l3Rzoejx7k+5JZRNhVAcsLxxmKWFJYLXqfrzHMXYR/a dsSQnEWpMk6bqHt4D3p9B1aoxf54dlLQ1NRbzYTTDQ== X-Received: by 2002:a05:690c:6989:b0:79b:e051:96e8 with SMTP id 00721157ae682-79be0519b45mr98519877b3.19.1774881882456; Mon, 30 Mar 2026 07:44:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Mon, 30 Mar 2026 20:14:30 +0530 X-Gm-Features: AQROBzD_C1TPPZiiQeSl--4KrQDBtpLSb3LvqZNnn0VIjMas3PEVXF5dsFCOpgQ Message-ID: Subject: Re: Skipping schema changes in publication To: Peter Smith Cc: Shlok Kyal , Amit Kapila , Dilip Kumar , shveta malik , Masahiko Sawada , "Hayato Kuroda (Fujitsu)" , Nisha Moond , Ashutosh Sharma , "David G. Johnston" , "Zhijie Hou (Fujitsu)" , YeXiu <1518981153@qq.com>, Ian Lawrence Barwick , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000001f9e6c064e3ee448" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001f9e6c064e3ee448 Content-Type: text/plain; charset="UTF-8" On Mon, 30 Mar 2026 at 08:02, Peter Smith wrote: > > Hi Shlok. > > Here are some review comments for the patch v3-0001. > > (not yet reviewed the test code) > > > ====== > doc/src/sgml/ref/alter_publication.sgml > > synopsis: > > 1. > - [ ONLY ] table_name [ * ] > + TABLE [ ONLY ] class="parameter">table_name [ * ] > > This is still not correct because it is missing the ellipsis that is > needed within 'except_table_object'. e.g, the currently documented > synopsis would not permit FOR ALL TABLE EXCEPT (TABLE t1,t2,t3); > > You might describe that using one of these ways: > > i) > TABLE { [ ONLY ] table_name [ * ] } [, ...] > > ii) > TABLE [ ONLY ] table_name [ * ] [, ...] > > iii) > TABLE table [,...] > and table is: > [ ONLY ] table_name [ * ] Modified > ====== > doc/src/sgml/ref/create_publication.sgml > > synopsis: > > 2. > Same synopsis problem as described in the above review comment. It is > missing the ellipsis that is needed within 'except_table_object'. The previous comment fixes this issue > ~~~ > > EXCEPT: > > 3. > > - EXCEPT TABLE > + EXCEPT > > > The 'EXCEPT' clause is not really at the same level as all the other > ones, because it can only be applied to the FOR ALL TABLES. So, I felt > maybe 'EXCEPT' might make more sense as a sublist entry under the FOR > ALL TABLES clause. > > Moving this would also eliminate some of the current repetition: > e.g. "Tables listed in EXCEPT clause are excluded from the publication." > e.g. "This clause specifies a list of tables to be excluded from the > publication." Amit has replied to this at [1]. > ====== > src/backend/catalog/pg_publication.c > > GetAllPublicationRelations: > > 4. > - * in EXCEPT TABLE clause. > + * in EXCEPT clause. > > /in EXCEPT clause/in the EXCEPT clause/ modified > ====== > src/backend/parser/gram.y > > 5. > static void preprocess_pubobj_list(List *pubobjspec_list, > core_yyscan_t yyscanner); > +static void preprocess_except_pubobj_list(List *pubexceptobjspec_list, > + core_yyscan_t yyscanner); > > The new function and the parameter names do not match as they do in > the existing function. e.g. Should this new function instead be called > 'preprocess_pubexceptobj_list'? The function has been removed now because of Hou-san's improvement suggestion at [2]. > ~~~ > > preprocess_except_pubobj_list: > > 6. > + ListCell *cell; > + PublicationObjSpec *pubobj; > > Why is this function referring to PublicationObjSpec instead of > PublicationExceptObjSpec. Is it correct? The function has been removed now because of Hou-san's improvement suggestion at [2]. > ~~~ > > 7. > + if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION) > + ereport(ERROR, > + errcode(ERRCODE_SYNTAX_ERROR), > + errmsg("invalid publication object list"), > + errdetail("TABLE must be specified before a standalone table."), > + parser_errposition(pubobj->location)); > > If this was intended to mimic code from the existing function, then I > felt it should say "standalone table name." instead of "standalone > table.". The function has been removed now because of Hou-san's improvement suggestion at [2]. > ====== > src/bin/pg_dump/pg_dump.c > > 8. > if (++n_except == 1) > - appendPQExpBufferStr(query, " EXCEPT TABLE ("); > + appendPQExpBufferStr(query, " EXCEPT (TABLE "); > else > - appendPQExpBufferStr(query, ", "); > + appendPQExpBufferStr(query, ", TABLE "); > > You don't need the TABLE keyword in 2 places like that. > > SUGGESTION > if (++n_except == 1) > appendPQExpBufferStr(query, " EXCEPT ("); > else > appendPQExpBufferStr(query, ", "); > appendPQExpBuffer(query, "TABLE ONLY %s", fmtQualifiedDumpable(tbinfo)); Modified > ====== > src/bin/pg_dump/t/002_pg_dump.pl > > 9. > 'CREATE PUBLICATION pub10' => { > create_order => 92, > create_sql => > - 'CREATE PUBLICATION pub10 FOR ALL TABLES EXCEPT TABLE > (dump_test.test_inheritance_parent);', > + 'CREATE PUBLICATION pub10 FOR ALL TABLES EXCEPT (TABLE > dump_test.test_inheritance_parent);', > regexp => qr/^ > - \QCREATE PUBLICATION pub10 FOR ALL TABLES EXCEPT TABLE (ONLY > dump_test.test_inheritance_parent, ONLY > dump_test.test_inheritance_child) WITH (publish = 'insert, update, > delete, truncate');\E > + \QCREATE PUBLICATION pub10 FOR ALL TABLES EXCEPT (TABLE ONLY > dump_test.test_inheritance_parent, TABLE ONLY > dump_test.test_inheritance_child) WITH (publish = 'insert, update, > delete, truncate');\E > /xm, > like => { %full_runs, section_post_data => 1, }, > > (Maybe this question is unrelated to the current patch.) > > Why is the expected result explicitly including ONLY children like > that instead of saying "EXCEPT (TABLE > dump_test.test_inheritance_parent *)"? This behavior is kept similar to how it is handled for table publication ex: CREATE TABLE test_inheritance_parent (col1 int NOT NULL, col2 int CHECK (col2 >= 42)); CREATE TABLE test_inheritance_child (col1 int NOT NULL, CONSTRAINT test_inheritance_child CHECK (col2 >= 142857) ) INHERITS (test_inheritance_parent); CREATE PUBLICATION pub10 FOR TABLE test_inheritance_parent; Dump outputs the following: -- -- Name: pub10 test_inheritance_child; Type: PUBLICATION TABLE; Schema: public; Owner: vignesh -- ALTER PUBLICATION pub10 ADD TABLE ONLY public.test_inheritance_child; -- -- Name: pub10 test_inheritance_parent; Type: PUBLICATION TABLE; Schema: public; Owner: vignesh -- ALTER PUBLICATION pub10 ADD TABLE ONLY public.test_inheritance_parent; > ====== > src/bin/psql/tab-complete.in.c > > 10. > - else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", > "TABLES", "EXCEPT", "TABLE", "(", MatchAnyN) && ends_with(prev_wd, > ',')) > + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", > "TABLES", "EXCEPT", "(", "TABLE", MatchAnyN) && ends_with(prev_wd, > ',')) > COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables); > - else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", > "TABLES", "EXCEPT", "TABLE", "(", MatchAnyN) && !ends_with(prev_wd, > ',')) > + else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", > "TABLES", "EXCEPT", "(", "TABLE", MatchAnyN) && !ends_with(prev_wd, > ',')) > COMPLETE_WITH(")"); > > The CREATE PUBLICATION seems to have tab-completion logic for the ',' > separator and closing ')'. But I did not see any similar > tab-completion logic for the EXCEPT clause in ALTER PUBLICATION. Is > this maybe another issue independent of this patch? Modified > ====== > src/test/regress/expected/publication.out > src/test/regress/sql/publication.sql > src/test/subscription/t/037_except.pl > > (I will review these later) > > ====== > GENERAL > > 11. > The file src/backend/commands/publicationcmds.c still refers to > "(EXCEPT TABLES)". Modified The v4 version patch has the changes for the same. The v4 version also addresses the comments provided by Peter at [3] and Amit at [4]. [1] - https://www.postgresql.org/message-id/CAA4eK1Kb5Mg_MPDAZGb4PofRryXLjEFRd2k3aV%3DKCW-kmmkwvw%40mail.gmail.com [2] - https://www.postgresql.org/message-id/TY4PR01MB169072D244423BED52C8D5B249452A%40TY4PR01MB16907.jpnprd01.prod.outlook.com [3] - https://www.postgresql.org/message-id/CAHut%2BPvV_Yvm3VYWrbP%3DTL5_yvKUbQJbv%3DP3yt09odEV%2B1igYg%40mail.gmail.com [4] - https://www.postgresql.org/message-id/CAA4eK1K0uHt-o%3DOAqh2qT7gDyef-BrHb%3DZ-94kCB8dH8r3SDeA%40mail.gmail.com Regards, Vignesh --0000000000001f9e6c064e3ee448 Content-Type: application/octet-stream; name="v4-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Disposition: attachment; filename="v4-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndasatu0 RnJvbSBmMTFkZjcwZDM4YWU1ZWI0MjBkMWRlM2I0NTk4NDZhMmQzNzY2MzRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjYgTWFyIDIwMjYgMjA6MzA6MTQgKzA1MzAKU3ViamVjdDogW1BBVENIIHY0XSBDaGFu Z2Ugc3ludGF4IG9mIEVYQ0VQVCBUQUJMRSBjbGF1c2UgaW4gcHVibGljYXRpb24KIGNvbW1hbmRz LgoKQWRqdXN0IHRoZSBzeW50YXggb2YgdGhlIEVYQ0VQVCBjbGF1c2UgaW4gQ1JFQVRFL0FMVEVS IFBVQkxJQ0FUSU9OCmFkZGVkIGluIGNvbW1pdHMgZmQzNjYwNjVlMCBhbmQgNDkzZjhjNjQzOSB0 byBtb3ZlIHRoZSBUQUJMRSBrZXl3b3JkCmluc2lkZSB0aGUgcmVsYXRpb24gbGlzdC4KCk9sZCBz eW50YXg6CkNSRUFURSBQVUJMSUNBVElPTiAuLi4gRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxF ICh0MSwgLi4uKTsKQUxURVIgUFVCTElDQVRJT04gIC4uLiBTRVQgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUgKHQxLCAuLi4pOwoKTmV3IHN5bnRheDoKQ1JFQVRFIFBVQkxJQ0FUSU9OIC4uLiBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHQxLCAuLi4pOwpBTFRFUiBQVUJMSUNBVElPTiAgLi4u IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdDEsIC4uLik7CgpUaGlzIGlzIHRvIGVuc3Vy ZSB0aGF0IGluY2x1c2lvbiBhbmQgZXhjbHVzaW9uIGxpc3QgY2FuIGJlIHNwZWNpZmllZCBpbgph IHNhbWUgd2F5LiBQcmV2aW91c2x5LCB0aGUgZXhjbHVzaW9uIHRhYmxlIGxpc3QgY2FuIGJlIHNw ZWNpZmllZCBhcwpUQUJMRSAodDEsIHQyLCB0MykgYW5kIGluY2x1c2lvbiBsaXN0IGNhbiBiZSBz cGVjaWZpZWQgYXMgVEFCTEUgdDEsIHQyLAp0Mywgb3IgVEFCTEUgdDEsIFRBQkxFIHQyLCBUQUJM RSB0My4KClRoaXMgY2hhbmdlIGlzIHB1cmVseSBzeW50YWN0aWMgYW5kIGRvZXMgbm90IGFsdGVy IGJlaGF2aW9yLgoKUmVwb3J0ZWQtYnk6IE1hc2FoaWtvIFNhd2FkYSA8c2F3YWRhLm1zaGtAZ21h aWwuY29tPgpBdXRob3I6IHZpZ25lc2ggQyA8dmlnbmVzaDIxQGdtYWlsLmNvbT4KQXV0aG9yOiBT aGxvayBLeWFsIDxzaGxvay5reWFsLm9zc0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBzaHZldGEg bWFsaWsgPHNodmV0YS5tYWxpa0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBQZXRlciBTbWl0aCA8 c21pdGhwYjIyNTBAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogWmhpamllIEhvdSA8aG91emouZm5z dEBmdWppdHN1LmNvbT4KUmV2aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFp bC5jb20+ClJldmlld2VkLWJ5OiBTQVRZQU5BUkFZQU5BIE5BUkxBUFVSQU0gPHNhdHlhbmFybGFw dXJhbUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBBbWl0IEthcGlsYSA8YW1pdC5rYXBpbGExNkBn bWFpbC5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAgICAgICAgICAg fCAgMiArLQogZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCAgICAgfCAgMiAr LQogZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgfCAyOCArKysrKy0t LS0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgIHwgMjAgKysrKy0t LQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgfCAgNiArLQogc3Jj L2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMgICAgfCAgMiArLQogc3JjL2JhY2tl bmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgfCAxMCArKy0tCiBzcmMvYmluL3BnX2R1 bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICB8IDE2ICsrLS0tCiBzcmMvYmluL3BnX2R1bXAv dC8wMDJfcGdfZHVtcC5wbCAgICAgICAgICB8IDEyICsrLS0KIHNyYy9iaW4vcHNxbC9kZXNjcmli ZS5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUu aW4uYyAgICAgICAgICAgIHwgMjggKysrKystLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3B1YmxpY2F0aW9uLm91dCB8IDcxICsrKysrKysrKysrKysrKy0tLS0tLS0tCiBzcmMvdGVzdC9y ZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwgICAgICB8IDU5ICsrKysrKysrKysrLS0tLS0tLS0K IHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzN19leGNlcHQucGwgICAgIHwgNTIgKysrKysrKyst LS0tLS0tLS0KIDE0IGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25zKCspLCAxMzQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvY2F0YWxvZ3Muc2dtbAppbmRleCA2MWZmZTgwNGVlOC4uOTJkMTc5YjVlZTAgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jYXRh bG9ncy5zZ21sCkBAIC03MDk2LDcgKzcwOTYsNyBAQCBTQ1JBTS1TSEEtMjU2JDxyZXBsYWNlYWJs ZT4mbHQ7aXRlcmF0aW9uIGNvdW50Jmd0OzwvcmVwbGFjZWFibGU+OjxyZXBsYWNlYWJsZT4mbAog ICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CiAgICAgICAgVHJ1ZSBpZiB0aGUgdGFibGUgaXMg ZXhjbHVkZWQgZnJvbSB0aGUgcHVibGljYXRpb24uIFNlZQotICAgICAgIDxsaW5rIGxpbmtlbmQ9 InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMtZm9yLWV4Y2VwdC10YWJsZSI+PGxpdGVyYWw+ RVhDRVBUIFRBQkxFPC9saXRlcmFsPjwvbGluaz4uCisgICAgICAgPGxpbmsgbGlua2VuZD0ic3Fs LWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1mb3ItZXhjZXB0LXRhYmxlIj48bGl0ZXJhbD5FWENF UFQ8L2xpdGVyYWw+PC9saW5rPi4KICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4K IApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCBiL2Rv Yy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKaW5kZXggNzJjOGQzZDU5YmQuLjIz YjI2ODI3M2I5IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKQEAgLTExOSw3 ICsxMTksNyBAQAogICAgPHhyZWYgbGlua2VuZD0ibG9naWNhbC1yZXBsaWNhdGlvbi1zZXF1ZW5j ZXMiLz4uIFdoZW4gYSBwdWJsaWNhdGlvbiBpcwogICAgY3JlYXRlZCB3aXRoIDxsaXRlcmFsPkZP UiBBTEwgVEFCTEVTPC9saXRlcmFsPiwgYSB0YWJsZSBvciBzZXQgb2YgdGFibGVzIGNhbgogICAg YmUgZXhwbGljaXRseSBleGNsdWRlZCBmcm9tIHB1YmxpY2F0aW9uIHVzaW5nIHRoZQotICAgPGxp bmsgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1mb3ItZXhjZXB0LXRhYmxl Ij48bGl0ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+PC9saW5rPgorICAgPGxpbmsgbGlua2Vu ZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1mb3ItZXhjZXB0LXRhYmxlIj48bGl0ZXJh bD5FWENFUFQ8L2xpdGVyYWw+PC9saW5rPgogICAgY2xhdXNlLgogICA8L3BhcmE+CiAKZGlmZiAt LWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dtbAppbmRleCA3ZjBlNDYzODBjYy4uNTliMzRk ZDBhMzggMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfcHVibGljYXRpb24uc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKQEAgLTM1LDcg KzM1LDcgQEAgQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPHIKIAogPHBocmFzZT5hbmQgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9uX2FsbF9vYmplY3Q8L3JlcGxhY2VhYmxl PiBpcyBvbmUgb2Y6PC9waHJhc2U+CiAKLSAgICBBTEwgVEFCTEVTIFsgRVhDRVBUIFRBQkxFICgg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxh Y2VhYmxlPiBbLCAuLi4gXSApIF0KKyAgICBBTEwgVEFCTEVTIFsgRVhDRVBUICggPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBb LCAuLi4gXSApIF0KICAgICBBTEwgU0VRVUVOQ0VTCiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9kcm9wX29iamVjdDwvcmVwbGFjZWFibGU+ IGlzIG9uZSBvZjo8L3BocmFzZT4KQEAgLTQ5LDcgKzQ5LDExIEBAIEFMVEVSIFBVQkxJQ0FUSU9O IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1F IFRPIDxyCiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNl cHRfdGFibGVfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CiAKLSAgICBbIE9OTFkg XSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+ IFsgKiBdCisgICAgVEFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX29i amVjdDwvcmVwbGFjZWFibGU+IFssIC4uLiBdCisKKzxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj50YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4K KworICAgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8 L3JlcGxhY2VhYmxlPiBbICogXQogPC9zeW5vcHNpcz4KICA8L3JlZnN5bm9wc2lzZGl2PgogCkBA IC03MSw3ICs3NSw3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyCiAgICBUaGUgdGhpcmQgdmFy aWFudCBlaXRoZXIgbW9kaWZpZXMgdGhlIGluY2x1ZGVkIHRhYmxlcy9zY2hlbWFzCiAgICBvciBt YXJrcyB0aGUgcHVibGljYXRpb24gYXMgPGxpdGVyYWw+Rk9SIEFMTCBTRVFVRU5DRVM8L2xpdGVy YWw+IG9yCiAgICA8bGl0ZXJhbD5GT1IgQUxMIFRBQkxFUzwvbGl0ZXJhbD4sIG9wdGlvbmFsbHkg dXNpbmcKLSAgIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4gdG8gZXhjbHVkZSBzcGVj aWZpYyB0YWJsZXMuIFRoZQorICAgPGxpdGVyYWw+RVhDRVBUPC9saXRlcmFsPiB0byBleGNsdWRl IHNwZWNpZmljIHRhYmxlcy4gVGhlCiAgICA8bGl0ZXJhbD5TRVQgQUxMIFRBQkxFUzwvbGl0ZXJh bD4gY2xhdXNlIGNhbiB0cmFuc2Zvcm0gYW4gZW1wdHkgcHVibGljYXRpb24sCiAgICBvciBvbmUg ZGVmaW5lZCBmb3IgPGxpdGVyYWw+QUxMIFNFUVVFTkNFUzwvbGl0ZXJhbD4gKG9yIGJvdGgKICAg IDxsaXRlcmFsPkFMTCBUQUJMRVM8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5BTEwgU0VRVUVOQ0VT PC9saXRlcmFsPiksIGludG8KQEAgLTgwLDEzICs4NCwxMyBAQCBBTFRFUiBQVUJMSUNBVElPTiA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBU TyA8cgogICAgb25lIGRlZmluZWQgZm9yIDxsaXRlcmFsPkFMTCBUQUJMRVM8L2xpdGVyYWw+IChv ciBib3RoCiAgICA8bGl0ZXJhbD5BTEwgVEFCTEVTPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+QUxM IFNFUVVFTkNFUzwvbGl0ZXJhbD4pLCBpbnRvIGEKICAgIHB1YmxpY2F0aW9uIGRlZmluZWQgZm9y IDxsaXRlcmFsPkFMTCBTRVFVRU5DRVM8L2xpdGVyYWw+LiBJbiBhZGRpdGlvbiwKLSAgIDxsaXRl cmFsPlNFVCBBTEwgVEFCTEVTPC9saXRlcmFsPiBjYW4gYmUgdXNlZCB0byB1cGRhdGUgdGhlCi0g ICA8bGl0ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+IGxpc3Qgb2YgYSA8bGl0ZXJhbD5GT1Ig QUxMIFRBQkxFUzwvbGl0ZXJhbD4KLSAgIHB1YmxpY2F0aW9uLiBJZiA8bGl0ZXJhbD5FWENFUFQg VEFCTEU8L2xpdGVyYWw+IGlzIHNwZWNpZmllZCB3aXRoIGEgbGlzdCBvZgotICAgdGFibGVzLCB0 aGUgZXhpc3RpbmcgZXhjbHVzaW9uIGxpc3QgaXMgcmVwbGFjZWQgd2l0aCB0aGUgc3BlY2lmaWVk IHRhYmxlcy4KLSAgIElmIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4gaXMgb21pdHRl ZCwgdGhlIGV4aXN0aW5nIGV4Y2x1c2lvbiBsaXN0Ci0gICBpcyBjbGVhcmVkLiBUaGUgPGxpdGVy YWw+U0VUPC9saXRlcmFsPiBjbGF1c2UsIHdoZW4gdXNlZCB3aXRoIGEgcHVibGljYXRpb24KLSAg IGRlZmluZWQgd2l0aCA8bGl0ZXJhbD5GT1IgVEFCTEU8L2xpdGVyYWw+IG9yCisgICA8bGl0ZXJh bD5TRVQgQUxMIFRBQkxFUzwvbGl0ZXJhbD4gY2FuIGJlIHVzZWQgdG8gdXBkYXRlIHRoZSB0YWJs ZXMgc3BlY2lmaWVkCisgICBpbiB0aGUgPGxpdGVyYWw+RVhDRVBUPC9saXRlcmFsPiBjbGF1c2Ug b2YgYQorICAgPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+IHB1YmxpY2F0aW9uLiBJ ZiA8bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+CisgICBpcyBzcGVjaWZpZWQgd2l0aCBhIGxpc3Qg b2YgdGFibGVzLCB0aGUgZXhpc3RpbmcgZXhjbHVzaW9uIGxpc3QgaXMgcmVwbGFjZWQKKyAgIHdp dGggdGhlIHNwZWNpZmllZCB0YWJsZXMuIElmIDxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD4gaXMg b21pdHRlZCwgdGhlCisgICBleGlzdGluZyBleGNsdXNpb24gbGlzdCBpcyBjbGVhcmVkLiBUaGUg PGxpdGVyYWw+U0VUPC9saXRlcmFsPiBjbGF1c2UsIHdoZW4KKyAgIHVzZWQgd2l0aCBhIHB1Ymxp Y2F0aW9uIGRlZmluZWQgd2l0aCA8bGl0ZXJhbD5GT1IgVEFCTEU8L2xpdGVyYWw+IG9yCiAgICA8 bGl0ZXJhbD5GT1IgVEFCTEVTIElOIFNDSEVNQTwvbGl0ZXJhbD4sIHJlcGxhY2VzIHRoZSBsaXN0 IG9mIHRhYmxlcy9zY2hlbWFzCiAgICBpbiB0aGUgcHVibGljYXRpb24gd2l0aCB0aGUgc3BlY2lm aWVkIGxpc3Q7IHRoZSBleGlzdGluZyB0YWJsZXMgb3Igc2NoZW1hcwogICAgdGhhdCB3ZXJlIHBy ZXNlbnQgaW4gdGhlIHB1YmxpY2F0aW9uIHdpbGwgYmUgcmVtb3ZlZC4KQEAgLTI2Myw5ICsyNjcs OSBAQCBBTFRFUiBQVUJMSUNBVElPTiBteXB1YmxpY2F0aW9uIFNFVCBUQUJMRSB1c2VycyAodXNl cl9pZCwgZmlyc3RuYW1lLCBsYXN0bmFtZSksCiA8L3Byb2dyYW1saXN0aW5nPjwvcGFyYT4KIAog ICA8cGFyYT4KLSAgIFJlcGxhY2UgdGhlIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIFRBQkxFIGxpc3Q6 CisgICBSZXBsYWNlIHRoZSB0YWJsZSBsaXN0IGluIHRoZSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBj bGF1c2U6CiA8cHJvZ3JhbWxpc3Rpbmc+Ci1BTFRFUiBQVUJMSUNBVElPTiBteXB1YmxpY2F0aW9u IFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodXNlcnMsIGRlcGFydG1lbnRzKTsKK0FMVEVS IFBVQkxJQ0FUSU9OIG15cHVibGljYXRpb24gU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB1 c2VycywgZGVwYXJ0bWVudHMpOwogPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CiAKICAgPHBhcmE+ CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAppbmRleCA3NzA2NmVmNjgw Yi4uOTliMDhhZWZlYTUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1Ymxp Y2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dt bApAQCAtMzIsNyArMzIsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fYWxsX29iamVjdDwvcmVwbGFjZWFibGU+ IGlzIG9uZSBvZjo8L3BocmFzZT4KIAotICAgIEFMTCBUQUJMRVMgWyBFWENFUFQgVEFCTEUgKCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFj ZWFibGU+IFssIC4uLiBdICkgXQorICAgIEFMTCBUQUJMRVMgWyBFWENFUFQgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFibGU+IFss IC4uLiBdICkgXQogICAgIEFMTCBTRVFVRU5DRVMKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX2FuZF9jb2x1bW5zPC9yZXBsYWNlYWJsZT4gaXM6PC9w aHJhc2U+CkBAIC00MSw3ICs0MSwxMSBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogCiA8cGhyYXNlPmFuZCA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFi bGU+IGlzOjwvcGhyYXNlPgogCi0gICAgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQorICAgIFRBQkxFIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XQorCis8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfb2Jq ZWN0PC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CisKKyAgIFsgT05MWSBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KIDwvc3lu b3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtMTY5LDcgKzE3Myw3IEBAIENSRUFURSBQ VUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+CiAgICAgIDxwYXJhPgogICAgICAgTWFya3MgdGhlIHB1YmxpY2F0aW9uIGFzIG9uZSB0aGF0 IHJlcGxpY2F0ZXMgY2hhbmdlcyBmb3IgYWxsIHRhYmxlcyBpbgogICAgICAgdGhlIGRhdGFiYXNl LCBpbmNsdWRpbmcgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGZ1dHVyZS4gVGFibGVzIGxpc3RlZCBp bgotICAgICAgRVhDRVBUIFRBQkxFIGFyZSBleGNsdWRlZCBmcm9tIHRoZSBwdWJsaWNhdGlvbi4K KyAgICAgIDxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD4gY2xhdXNlIGFyZSBleGNsdWRlZCBmcm9t IHRoZSBwdWJsaWNhdGlvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zh cmxpc3RlbnRyeT4KQEAgLTE5MCw3ICsxOTQsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgPC92YXJsaXN0 ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJh bXMtZm9yLWV4Y2VwdC10YWJsZSI+Ci0gICAgPHRlcm0+PGxpdGVyYWw+RVhDRVBUIFRBQkxFPC9s aXRlcmFsPjwvdGVybT4KKyAgICA8dGVybT48bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+PC90ZXJt PgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+CiAgICAgICBUaGlzIGNsYXVzZSBzcGVjaWZp ZXMgYSBsaXN0IG9mIHRhYmxlcyB0byBiZSBleGNsdWRlZCBmcm9tIHRoZQpAQCAtMjA2LDcgKzIx MCw3IEBAIENSRUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ bmFtZTwvcmVwbGFjZWFibGU+CiAgICAgIDwvcGFyYT4KICAgICAgPHBhcmE+CiAgICAgICBGb3Ig cGFydGl0aW9uZWQgdGFibGVzLCBvbmx5IHRoZSByb290IHBhcnRpdGlvbmVkIHRhYmxlIG1heSBi ZSBzcGVjaWZpZWQKLSAgICAgIGluIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4uIERv aW5nIHNvIGV4Y2x1ZGVzIHRoZSByb290IHRhYmxlIGFuZAorICAgICAgaW4gPGxpdGVyYWw+RVhD RVBUPC9saXRlcmFsPi4gRG9pbmcgc28gZXhjbHVkZXMgdGhlIHJvb3QgdGFibGUgYW5kCiAgICAg ICBhbGwgb2YgaXRzIHBhcnRpdGlvbnMgZnJvbSByZXBsaWNhdGlvbi4gVGhlIG9wdGlvbmFsCiAg ICAgICA8bGl0ZXJhbD5PTkxZPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+KjwvbGl0ZXJhbD4gaGFz IG5vIGVmZmVjdCBmb3IKICAgICAgIHBhcnRpdGlvbmVkIHRhYmxlcy4KQEAgLTIxNCw3ICsyMTgs NyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5h bWU8L3JlcGxhY2VhYmxlPgogICAgICA8cGFyYT4KICAgICAgIFRoZXJlIGNhbiBiZSBhIGNhc2Ug d2hlcmUgYSBzdWJzY3JpcHRpb24gaW5jbHVkZXMgbXVsdGlwbGUgcHVibGljYXRpb25zLgogICAg ICAgSW4gc3VjaCBhIGNhc2UsIGEgdGFibGUgb3IgcGFydGl0aW9uIHRoYXQgaXMgaW5jbHVkZWQg aW4gb25lIHB1YmxpY2F0aW9uCi0gICAgICBhbmQgbGlzdGVkIGluIHRoZSA8bGl0ZXJhbD5FWENF UFQgVEFCTEU8L2xpdGVyYWw+IGNsYXVzZSBvZiBhbm90aGVyIGlzCisgICAgICBhbmQgbGlzdGVk IGluIHRoZSA8bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IGNsYXVzZSBvZiBhbm90aGVyIGlzCiAg ICAgICBjb25zaWRlcmVkIGluY2x1ZGVkIGZvciByZXBsaWNhdGlvbi4KICAgICAgPC9wYXJhPgog ICAgIDwvbGlzdGl0ZW0+CkBAIC01MzIsNyArNTM2LDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIGFs bF90YWJsZXNfc2VxdWVuY2VzIEZPUiBBTEwgVEFCTEVTLCBBTEwgU0VRVUVOQ0VTOwogICAgQ3Jl YXRlIGEgcHVibGljYXRpb24gdGhhdCBwdWJsaXNoZXMgYWxsIGNoYW5nZXMgaW4gYWxsIHRhYmxl cyBleGNlcHQKICAgIDxzdHJ1Y3RuYW1lPnVzZXJzPC9zdHJ1Y3RuYW1lPiBhbmQgPHN0cnVjdG5h bWU+ZGVwYXJ0bWVudHM8L3N0cnVjdG5hbWU+OgogPHByb2dyYW1saXN0aW5nPgotQ1JFQVRFIFBV QkxJQ0FUSU9OIGFsbF90YWJsZXNfZXhjZXB0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAo dXNlcnMsIGRlcGFydG1lbnRzKTsKK0NSRUFURSBQVUJMSUNBVElPTiBhbGxfdGFibGVzX2V4Y2Vw dCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHVzZXJzLCBkZXBhcnRtZW50cyk7CiA8L3By b2dyYW1saXN0aW5nPgogICA8L3BhcmE+CiAKQEAgLTU0MSw3ICs1NDUsNyBAQCBDUkVBVEUgUFVC TElDQVRJT04gYWxsX3RhYmxlc19leGNlcHQgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1 c2VycywgZGVwYXJ0bQogICAgYWxsIGNoYW5nZXMgaW4gYWxsIHRhYmxlcyBleGNlcHQgPHN0cnVj dG5hbWU+dXNlcnM8L3N0cnVjdG5hbWU+IGFuZAogICAgPHN0cnVjdG5hbWU+ZGVwYXJ0bWVudHM8 L3N0cnVjdG5hbWU+OgogPHByb2dyYW1saXN0aW5nPgotQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF9z ZXF1ZW5jZXNfdGFibGVzX2V4Y2VwdCBGT1IgQUxMIFNFUVVFTkNFUywgQUxMIFRBQkxFUyBFWENF UFQgVEFCTEUgKHVzZXJzLCBkZXBhcnRtZW50cyk7CitDUkVBVEUgUFVCTElDQVRJT04gYWxsX3Nl cXVlbmNlc190YWJsZXNfZXhjZXB0IEZPUiBBTEwgU0VRVUVOQ0VTLCBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdXNlcnMsIGRlcGFydG1lbnRzKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgIDwvcGFy YT4KICA8L3JlZnNlY3QxPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJs aWNhdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCmluZGV4IGM5 MmZmM2Y1MWMzLi5hMzE5MmYxOWQzNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24u YwpAQCAtODMxLDcgKzgzMSw3IEBAIHB1YmxpY2F0aW9uX2FkZF9zY2hlbWEoT2lkIHB1YmlkLCBP aWQgc2NoZW1haWQsIGJvb2wgaWZfbm90X2V4aXN0cykKICAqIEludGVybmFsIGZ1bmN0aW9uIHRv IGdldCB0aGUgbGlzdCBvZiBwdWJsaWNhdGlvbiBvaWRzIGZvciBhIHJlbGF0aW9uLgogICoKICAq IElmIGV4Y2VwdF9mbGFnIGlzIHRydWUsIHJldHVybnMgdGhlIGxpc3Qgb2YgcHVibGljYXRpb24g dGhhdCBzcGVjaWZpZWQgdGhlCi0gKiByZWxhdGlvbiBpbiBFWENFUFQgY2xhdXNlOyBvdGhlcndp c2UsIHJldHVybnMgdGhlIGxpc3Qgb2YgcHVibGljYXRpb25zCisgKiByZWxhdGlvbiBpbiB0aGUg RVhDRVBUIGNsYXVzZTsgb3RoZXJ3aXNlLCByZXR1cm5zIHRoZSBsaXN0IG9mIHB1YmxpY2F0aW9u cwogICogaW4gd2hpY2ggcmVsYXRpb24gaXMgaW5jbHVkZWQuCiAgKi8KIHN0YXRpYyBMaXN0ICoK QEAgLTg2OCw3ICs4NjgsNyBAQCBHZXRSZWxhdGlvbkluY2x1ZGVkUHVibGljYXRpb25zKE9pZCBy ZWxpZCkKIH0KIAogLyoKLSAqIEdldHMgbGlzdCBvZiBwdWJsaWNhdGlvbiBvaWRzIHdoaWNoIGhh cyByZWxhdGlvbiBpbiBFWENFUFQgY2xhdXNlLgorICogR2V0cyBsaXN0IG9mIHB1YmxpY2F0aW9u IG9pZHMgd2hpY2ggaGFzIHJlbGF0aW9uIGluIHRoZSBFWENFUFQgY2xhdXNlLgogICovCiBMaXN0 ICoKIEdldFJlbGF0aW9uRXhjbHVkZWRQdWJsaWNhdGlvbnMoT2lkIHJlbGlkKQpAQCAtMTAwMSw3 ICsxMDAxLDcgQEAgR2V0QWxsVGFibGVzUHVibGljYXRpb25zKHZvaWQpCiAgKiBwdWJsaWNhdGlv bi4KICAqCiAgKiBGb3IgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiwgdGhlIHJldHVybmVk IGxpc3QgZXhjbHVkZXMgdGFibGVzIG1lbnRpb25lZAotICogaW4gRVhDRVBUIFRBQkxFIGNsYXVz ZS4KKyAqIGluIHRoZSBFWENFUFQgY2xhdXNlLgogICovCiBMaXN0ICoKIEdldEFsbFB1YmxpY2F0 aW9uUmVsYXRpb25zKE9pZCBwdWJpZCwgY2hhciByZWxraW5kLCBib29sIHB1YnZpYXJvb3QpCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3B1YmxpY2F0aW9uY21kcy5jCmluZGV4IDlmYjgwZmRmZjA4Li40NDBh ZGIzNTZhZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRz LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMKQEAgLTEyODAs NyArMTI4MCw3IEBAIEFsdGVyUHVibGljYXRpb25UYWJsZXMoQWx0ZXJQdWJsaWNhdGlvblN0bXQg KnN0bXQsIEhlYXBUdXBsZSB0dXAsCiAJCXsKIAkJCS8qCiAJCQkgKiBJbiBGT1IgQUxMIFRBQkxF UyBtb2RlLCByZWxhdGlvbnMgYXJlIHRyYWNrZWQgYXMgZXhjbHVzaW9ucwotCQkJICogKEVYQ0VQ VCBUQUJMRVMpLiBGZXRjaCB0aGUgY3VycmVudCBleGNsdWRlZCByZWxhdGlvbnMgc28gdGhleQor CQkJICogKEVYQ0VQVCBjbGF1c2UpLiBGZXRjaCB0aGUgY3VycmVudCBleGNsdWRlZCByZWxhdGlv bnMgc28gdGhleQogCQkJICogY2FuIGJlIHJlY29uY2lsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIEVY Q0VQVCBsaXN0LgogCQkJICoKIAkJCSAqIFRoaXMgYXBwbGllcyBvbmx5IGlmIHRoZSBleGlzdGlu ZyBwdWJsaWNhdGlvbiBpcyBhbHJlYWR5CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCAwZmVhNzI2Y2RkNS4uOWU4 NjU5NmRjMDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTEyNTYsNyArMTEyNTYsNyBAQCBBbHRlck93bmVy U3RtdDogQUxURVIgQUdHUkVHQVRFIGFnZ3JlZ2F0ZV93aXRoX2FyZ3R5cGVzIE9XTkVSIFRPIFJv bGVTcGVjCiAgKgogICogcHViX2FsbF9vYmpfdHlwZSBpcyBvbmUgb2Y6CiAgKgotICoJCVRBQkxF UyBbRVhDRVBUIFRBQkxFICggdGFibGUgWywgLi4uXSApXQorICoJCVRBQkxFUyBbRVhDRVBUIChU QUJMRSB0YWJsZSBbLCAuLi5dICldCiAgKgkJU0VRVUVOQ0VTCiAgKgogICogQ1JFQVRFIFBVQkxJ Q0FUSU9OIEZPUiBwdWJfb2JqIFssIC4uLl0gW1dJVEggb3B0aW9uc10KQEAgLTExMzk5LDcgKzEx Mzk5LDcgQEAgcHViX29ial9saXN0OglQdWJsaWNhdGlvbk9ialNwZWMKIAk7CiAKIG9wdF9wdWJf ZXhjZXB0X2NsYXVzZToKLQkJCUVYQ0VQVCBUQUJMRSAnKCcgcHViX2V4Y2VwdF9vYmpfbGlzdCAn KScJeyAkJCA9ICQ0OyB9CisJCQlFWENFUFQgJygnIFRBQkxFIHB1Yl9leGNlcHRfb2JqX2xpc3Qg JyknCXsgJCQgPSAkNDsgfQogCQkJfCAvKkVNUFRZKi8JCQkJCQkJCQl7ICQkID0gTklMOyB9CiAJ CTsKIApAQCAtMTE0MzksOCArMTE0MzksOCBAQCBQdWJsaWNhdGlvbkV4Y2VwdE9ialNwZWM6CiAK IHB1Yl9leGNlcHRfb2JqX2xpc3Q6IFB1YmxpY2F0aW9uRXhjZXB0T2JqU3BlYwogCQkJCQl7ICQk ID0gbGlzdF9tYWtlMSgkMSk7IH0KLQkJCXwgcHViX2V4Y2VwdF9vYmpfbGlzdCAnLCcgUHVibGlj YXRpb25FeGNlcHRPYmpTcGVjCi0JCQkJCXsgJCQgPSBsYXBwZW5kKCQxLCAkMyk7IH0KKwkJCXwg cHViX2V4Y2VwdF9vYmpfbGlzdCAnLCcgb3B0X3RhYmxlIFB1YmxpY2F0aW9uRXhjZXB0T2JqU3Bl YworCQkJCQl7ICQkID0gbGFwcGVuZCgkMSwgJDQpOyB9CiAJOwogCiAvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKQEAgLTExNDYyLDcgKzExNDYyLDcgQEAgcHViX2V4Y2VwdF9vYmpfbGlzdDogUHVibGlj YXRpb25FeGNlcHRPYmpTcGVjCiAgKgogICogcHViX2FsbF9vYmpfdHlwZSBpcyBvbmUgb2Y6CiAg KgotICoJCUFMTCBUQUJMRVMgWyBFWENFUFQgVEFCTEUgKCB0YWJsZV9uYW1lIFssIC4uLl0gKSBd CisgKgkJQUxMIFRBQkxFUyBbIEVYQ0VQVCAoIFRBQkxFIHRhYmxlX25hbWUgWywgLi4uXSApIF0K ICAqCQlBTEwgU0VRVUVOQ0VTCiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMK aW5kZXggNWQxZjc2ODJmMTEuLmQzNDI0MDA3M2JiIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQ2MjUsMTQg KzQ2MjUsMTQgQEAgZ2V0UHVibGljYXRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCSAqIEdldCB0aGUg bGlzdCBvZiB0YWJsZXMgZm9yIHB1YmxpY2F0aW9ucyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQVAog CQkgKiBUQUJMRSBjbGF1c2UuCiAJCSAqCi0JCSAqIEFsdGhvdWdoIGluZGl2aWR1YWwgRVhDRVBU IFRBQkxFIGVudHJpZXMgY291bGQgYmUgc3RvcmVkIGluCisJCSAqIEFsdGhvdWdoIGluZGl2aWR1 YWwgdGFibGUgZW50cmllcyBpbiBFWENFUFQgbGlzdCBjb3VsZCBiZSBzdG9yZWQgaW4KIAkJICog UHVibGljYXRpb25SZWxJbmZvLCBkdW1wUHVibGljYXRpb25UYWJsZSBjYW5ub3QgYmUgdXNlZCB0 byBlbWl0CiAJCSAqIHRoZW0sIGJlY2F1c2UgdGhlcmUgaXMgbm8gQUxURVIgUFVCTElDQVRJT04g Li4uIEFERCBjb21tYW5kIHRvIGFkZAotCQkgKiBpbmRpdmlkdWFsIHRhYmxlIGVudHJpZXMgdG8g dGhlIEVYQ0VQVCBUQUJMRSBsaXN0LgorCQkgKiBpbmRpdmlkdWFsIHRhYmxlIGVudHJpZXMgdG8g dGhlIEVYQ0VQVCBsaXN0LgogCQkgKgotCQkgKiBUaGVyZWZvcmUsIHRoZSBhcHByb2FjaCBpcyB0 byBkdW1wIHRoZSBjb21wbGV0ZSBFWENFUFQgVEFCTEUgbGlzdAotCQkgKiBpbiBhIHNpbmdsZSBD UkVBVEUgUFVCTElDQVRJT04gc3RhdGVtZW50LiBQdWJsaWNhdGlvbkluZm8gaXMgdXNlZAotCQkg KiB0byBjb2xsZWN0IHRoaXMgaW5mb3JtYXRpb24sIHdoaWNoIGlzIHRoZW4gZW1pdHRlZCBieQor CQkgKiBUaGVyZWZvcmUsIHRoZSBhcHByb2FjaCBpcyB0byBkdW1wIHRoZSBjb21wbGV0ZSBFWENF UFQgbGlzdCBpbiBhCisJCSAqIHNpbmdsZSBDUkVBVEUgUFVCTElDQVRJT04gc3RhdGVtZW50LiBQ dWJsaWNhdGlvbkluZm8gaXMgdXNlZCB0bworCQkgKiBjb2xsZWN0IHRoaXMgaW5mb3JtYXRpb24s IHdoaWNoIGlzIHRoZW4gZW1pdHRlZCBieQogCQkgKiBkdW1wUHVibGljYXRpb24oKS4KIAkJICov CiAJCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE5MDAwMCkKQEAgLTQ3MDgsMTYgKzQ3MDgs MTYgQEAgZHVtcFB1YmxpY2F0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFB1YmxpY2F0aW9uSW5m byAqcHViaW5mbykKIAogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBGT1IgQUxMIFRB QkxFUyIpOwogCi0JCS8qIEluY2x1ZGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBpZiB0aGVyZSBhcmUg ZXhjZXB0X3RhYmxlcy4gKi8KKwkJLyogSW5jbHVkZSBFWENFUFQgKFRBQkxFKSBjbGF1c2UgaWYg dGhlcmUgYXJlIGV4Y2VwdF90YWJsZXMuICovCiAJCWZvciAoU2ltcGxlUHRyTGlzdENlbGwgKmNl bGwgPSBwdWJpbmZvLT5leGNlcHRfdGFibGVzLmhlYWQ7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0 KQogCQl7CiAJCQlUYWJsZUluZm8gICp0YmluZm8gPSAoVGFibGVJbmZvICopIGNlbGwtPnB0cjsK IAogCQkJaWYgKCsrbl9leGNlcHQgPT0gMSkKLQkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVy eSwgIiBFWENFUFQgVEFCTEUgKCIpOworCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAi IEVYQ0VQVCAoIik7CiAJCQllbHNlCiAJCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIs ICIpOwotCQkJYXBwZW5kUFFFeHBCdWZmZXIocXVlcnksICJPTkxZICVzIiwgZm10UXVhbGlmaWVk RHVtcGFibGUodGJpbmZvKSk7CisJCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIlRBQkxFIE9O TFkgJXMiLCBmbXRRdWFsaWZpZWREdW1wYWJsZSh0YmluZm8pKTsKIAkJfQogCQlpZiAobl9leGNl cHQgPiAwKQogCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIpIik7CmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAw Ml9wZ19kdW1wLnBsCmluZGV4IDA1MWEzZDhlYTNkLi4zYmM4ZTUxNTYxZCAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3Qv MDAyX3BnX2R1bXAucGwKQEAgLTMyMTUsOSArMzIxNSw5IEBAIG15ICV0ZXN0cyA9ICgKIAknQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjgnID0+IHsKIAkJY3JlYXRlX29yZGVyID0+IDUwLAogCQljcmVh dGVfc3FsID0+Ci0JCSAgJ0NSRUFURSBQVUJMSUNBVElPTiBwdWI4IEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCBUQUJMRSAoZHVtcF90ZXN0LnRlc3RfdGFibGUpOycsCisJCSAgJ0NSRUFURSBQVUJMSUNB VElPTiBwdWI4IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgZHVtcF90ZXN0LnRlc3RfdGFi bGUpOycsCiAJCXJlZ2V4cCA9PiBxci9eCi0JCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI4IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoT05MWSBkdW1wX3Rlc3QudGVzdF90YWJsZSkgV0lU SCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScpO1xFCisJCQlc UUNSRUFURSBQVUJMSUNBVElPTiBwdWI4IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05M WSBkdW1wX3Rlc3QudGVzdF90YWJsZSkgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwg ZGVsZXRlLCB0cnVuY2F0ZScpO1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBz ZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCX0sCkBAIC0zMjI1LDkgKzMyMjUsOSBAQCBteSAl dGVzdHMgPSAoCiAJJ0NSRUFURSBQVUJMSUNBVElPTiBwdWI5JyA9PiB7CiAJCWNyZWF0ZV9vcmRl ciA9PiA1MCwKIAkJY3JlYXRlX3NxbCA9PgotCQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHViOSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKGR1bXBfdGVzdC50ZXN0X3RhYmxlLCBkdW1wX3Rl c3QudGVzdF9zZWNvbmRfdGFibGUpOycsCisJCSAgJ0NSRUFURSBQVUJMSUNBVElPTiBwdWI5IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgZHVtcF90ZXN0LnRlc3RfdGFibGUsIGR1bXBfdGVz dC50ZXN0X3NlY29uZF90YWJsZSk7JywKIAkJcmVnZXhwID0+IHFyL14KLQkJCVxRQ1JFQVRFIFBV QkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChPTkxZIGR1bXBfdGVz dC50ZXN0X3RhYmxlLCBPTkxZIGR1bXBfdGVzdC50ZXN0X3NlY29uZF90YWJsZSkgV0lUSCAocHVi bGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScpO1xFCisJCQlcUUNSRUFU RSBQVUJMSUNBVElPTiBwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05MWSBkdW1w X3Rlc3QudGVzdF90YWJsZSwgVEFCTEUgT05MWSBkdW1wX3Rlc3QudGVzdF9zZWNvbmRfdGFibGUp IFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQog CQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwg fSwKIAl9LApAQCAtMzIzNSw5ICszMjM1LDkgQEAgbXkgJXRlc3RzID0gKAogCSdDUkVBVEUgUFVC TElDQVRJT04gcHViMTAnID0+IHsKIAkJY3JlYXRlX29yZGVyID0+IDkyLAogCQljcmVhdGVfc3Fs ID0+Ci0JCSAgJ0NSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRBQkxFUyBFWENFUFQg VEFCTEUgKGR1bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX3BhcmVudCk7JywKKwkJICAnQ1JFQVRF IFBVQkxJQ0FUSU9OIHB1YjEwIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgZHVtcF90ZXN0 LnRlc3RfaW5oZXJpdGFuY2VfcGFyZW50KTsnLAogCQlyZWdleHAgPT4gcXIvXgotCQkJXFFDUkVB VEUgUFVCTElDQVRJT04gcHViMTAgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChPTkxZIGR1 bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX3BhcmVudCwgT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhl cml0YW5jZV9jaGlsZCkgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0 cnVuY2F0ZScpO1xFCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRBQkxF UyBFWENFUFQgKFRBQkxFIE9OTFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfcGFyZW50LCBU QUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX2NoaWxkKSBXSVRIIChwdWJsaXNo ID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKIAkJCS94bSwKIAkJbGlr ZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEsIH0sCiAJfSwKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMK aW5kZXggZDc1NWQyNWRjZjAuLjRlOGZmMDAzOTRhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwv ZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMzIwNiw3ICszMjA2 LDcgQEAgZGVzY3JpYmVPbmVUYWJsZURldGFpbHMoY29uc3QgY2hhciAqc2NoZW1hbmFtZSwKIAkJ CQl7CiAJCQkJCS8qCiAJCQkJCSAqIFNraXAgZW50cmllcyB3aGVyZSB0aGlzIHJlbGF0aW9uIGFw cGVhcnMgaW4gdGhlCi0JCQkJCSAqIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIFRBQkxFIGxpc3QuCisJ CQkJCSAqIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIGxpc3QuCiAJCQkJCSAqLwogCQkJCQlhcHBlbmRQ UUV4cEJ1ZmZlcigmYnVmLAogCQkJCQkJCQkJICAiIEFORCBOT1QgcHIucHJleGNlcHRcbiIKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuaW4uYwppbmRleCA1MjNkM2YzOWZjNS4uNDBkOTQ1ZDI3MjYgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFi LWNvbXBsZXRlLmluLmMKQEAgLTIzMzMsMTQgKzIzMzMsMTggQEAgbWF0Y2hfcHJldmlvdXNfd29y ZHMoaW50IHBhdHRlcm5faWQsCiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJ T04iLCBNYXRjaEFueSwgIlNFVCIsICJBTEwiKSkKIAkJQ09NUExFVEVfV0lUSCgiU0VRVUVOQ0VT IiwgIlRBQkxFUyIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwg TWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIpKQotCQlDT01QTEVURV9XSVRIKCJFWENF UFQgVEFCTEUgKCIpOworCQlDT01QTEVURV9XSVRIKCJFWENFUFQgKCBUQUJMRSIpOwogCWVsc2Ug aWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxM IiwgIlRBQkxFUyIsICJFWENFUFQiKSkKLQkJQ09NUExFVEVfV0lUSCgiVEFCTEUgKCIpOwotCWVs c2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAi QUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUiKSkKLQkJQ09NUExFVEVfV0lUSCgiKCIp OworCQlDT01QTEVURV9XSVRIKCIoIFRBQkxFIik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIi LCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIlNFVCIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQ VCIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIlRBQkxFIik7CiAJLyogQ29tcGxldGUgIkFMVEVS IFBVQkxJQ0FUSU9OIDxuYW1lPiBGT1IgVEFCTEUiIHdpdGggIjx0YWJsZT4sIC4uLiIgKi8KLQll bHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwg IkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIiwgIigiKSkKKwllbHNlIGlmIChNYXRj aGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJM RVMiLCAiRVhDRVBUIiwgIigiLCAiVEFCTEUiKSkKKwkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVF UlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVzKTsKKwllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIs ICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBU IiwgIigiLCAiVEFCTEUiLCBNYXRjaEFueU4pICYmIGVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQog CQlDT01QTEVURV9XSVRIX1NDSEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwor CWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQi LCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIsIE1hdGNoQW55TikgJiYg IWVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQorCQlDT01QTEVURV9XSVRIKCIpIik7CiAJZWxzZSBp ZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkFERHxEUk9QfFNF VCIsICJUQUJMRVMiLCAiSU4iLCAiU0NIRU1BIikpCiAJCUNPTVBMRVRFX1dJVEhfUVVFUllfUExV UyhRdWVyeV9mb3JfbGlzdF9vZl9zY2hlbWFzCiAJCQkJCQkJCSAiIEFORCBuc3BuYW1lIE5PVCBM SUtFIEUncGdcXFxcXyUlJyIsCkBAIC0zNzM4LDE2ICszNzQyLDE2IEBAIG1hdGNoX3ByZXZpb3Vz X3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJM SUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIpKQogCQlDT01QTEVURV9XSVRIKCJUQUJM RVMiLCAiU0VRVUVOQ0VTIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FU SU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIpKQotCQlDT01QTEVURV9XSVRI KCJFWENFUFQgVEFCTEUgKCIsICJXSVRIICgiKTsKKwkJQ09NUExFVEVfV0lUSCgiRVhDRVBUICgg VEFCTEUiLCAiV0lUSCAoIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FU SU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiKSkKLQkJQ09N UExFVEVfV0lUSCgiVEFCTEUgKCIpOwotCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJM SUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRB QkxFIikpCi0JCUNPTVBMRVRFX1dJVEgoIigiKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUi LCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQ VCIsICJUQUJMRSIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIiggVEFCTEUiKTsKKwllbHNlIGlm IChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwi LCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIlRBQkxFIik7CisJ ZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1Ii LCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIpKQogCQlDT01QTEVURV9X SVRIX1NDSEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwotCWVsc2UgaWYgKE1h dGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJU QUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIiwgIigiLCBNYXRjaEFueU4pICYmIGVuZHNfd2l0aChw cmV2X3dkLCAnLCcpKQorCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIs IE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIigiLCAiVEFCTEUi LCBNYXRjaEFueU4pICYmIGVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQogCQlDT01QTEVURV9XSVRI X1NDSEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwotCWVsc2UgaWYgKE1hdGNo ZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJM RVMiLCAiRVhDRVBUIiwgIlRBQkxFIiwgIigiLCBNYXRjaEFueU4pICYmICFlbmRzX3dpdGgocHJl dl93ZCwgJywnKSkKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBN YXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIiwg TWF0Y2hBbnlOKSAmJiAhZW5kc193aXRoKHByZXZfd2QsICcsJykpCiAJCUNPTVBMRVRFX1dJVEgo IikiKTsKIAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFu eSwgIkZPUiIsICJUQUJMRVMiKSkKIAkJQ09NUExFVEVfV0lUSCgiSU4gU0NIRU1BIik7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CmluZGV4IGEyMjBmNDhiMjg1Li45 MTMzMmU3NWVlYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNh dGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQK QEAgLTIxNCwxMSArMjE0LDEyIEBAIE5vdC1udWxsIGNvbnN0cmFpbnRzOgogKDEgcm93KQogCiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tIEVYQ0VQVCBU QUJMRSB0ZXN0cyBmb3Igbm9ybWFsIHRhYmxlcworLS0gRVhDRVBUIGNsYXVzZSB0ZXN0cyBmb3Ig bm9ybWFsIHRhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7Ci0tLSBTcGVjaWZ5IHRhYmxl IGxpc3QgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJs aWNhdGlvbgotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRh YmxlIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxLCB0ZXN0cHViX3Ri bDIpOworQ1JFQVRFIFRBQkxFIHRlc3RwdWJfdGJsMyAoaWQgc2VyaWFsIHByaW1hcnkga2V5LCBk YXRhIHRleHQpOworLS0gU3BlY2lmeSB0YWJsZSBsaXN0IGluIHRoZSBFWENFUFQgY2xhdXNlIG9m IGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRl c3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyLCBUQUJMRSB0ZXN0cHViX3RibDMpOwogXGRScCsgdGVz dHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19l eGNlcHR0YWJsZQogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBBbGwg c2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgR2Vu ZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMjI3LDkgKzIyOCwx MCBAQCBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUg Rk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFCiBFeGNlcHQgdGFibGVzOgogICAgICJwdWJsaWMu dGVzdHB1Yl90YmwxIgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwyIgorICAgICJwdWJsaWMudGVz dHB1Yl90YmwzIgogCi0tLSBTcGVjaWZ5IHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNl IG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0 cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxF ICh0ZXN0cHViX3RibDEpOworLS0gU3BlY2lmeSB0YWJsZSBpbiB0aGUgRVhDRVBUIGNsYXVzZSBv ZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUg dGVzdHB1Yl90YmwxKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRp b24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxCiAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVz Y3JpcHRpb24gCkBAIC0yMzksNyArMjQxLDcgQEAgRXhjZXB0IHRhYmxlczoKICAgICAicHVibGlj LnRlc3RwdWJfdGJsMSIKIAogLS0gQ2hlY2sgdGhhdCB0aGUgdGFibGUgZGVzY3JpcHRpb24gc2hv d3MgdGhlIHB1YmxpY2F0aW9ucyB3aGVyZSBpdCBpcyBsaXN0ZWQKLS0tIGluIHRoZSBFWENFUFQg VEFCTEUgY2xhdXNlCistLSBpbiB0aGUgRVhDRVBUIGNsYXVzZQogXGQgdGVzdHB1Yl90YmwxCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZXN0cHViX3RibDEiCiAg Q29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgICAgICAgICAgICAgICAg IERlZmF1bHQgICAgICAgICAgICAgICAgICAKQEAgLTI1NCwyMSArMjU2LDQwIEBAIEV4Y2VwdCBQ dWJsaWNhdGlvbnM6CiAgICAgInRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIgogICAg ICJ0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEiCiAKKy0tIGZhaWwgLSBmaXJzdCB0 YWJsZSBpbiB0aGUgRVhDRVBUIGxpc3Qgc2hvdWxkIHVzZSBUQUJMRSBrZXl3b3JkCitDUkVBVEUg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUyIEZPUiBBTEwgVEFC TEVTIEVYQ0VQVCAodGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIpOworRVJST1I6ICBzeW50YXgg ZXJyb3IgYXQgb3IgbmVhciAidGVzdHB1Yl90YmwxIgorTElORSAxOiAuLi5fZm9yYWxsdGFibGVz X2V4Y2VwdHRhYmxlMiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKHRlc3RwdWJfdGIuLi4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tIFNFVCBB TEwgVEFCTEVTL1NFUVVFTkNFUwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0tLSBSZXBsYWNlIHRoZSBleGlzdGluZyBFWENFUFQgVEFCTEUgbGlzdCAodGVz dHB1Yl90YmwxKSB3aXRoIGEgbmV3Ci0tLSBFWENFUFQgVEFCTEUgbGlzdCBjb250YWluaW5nIG9u bHkgKHRlc3RwdWJfdGJsMikuCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxl c19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMik7 CistLSBSZXBsYWNlIHRoZSBleGlzdGluZyB0YWJsZSBsaXN0IGluIHRoZSBFWENFUFQgY2xhdXNl ICh0ZXN0cHViX3RibDEsCistLSB0ZXN0cHViX3RibDIsIHRlc3RwdWJfdGJsMykgd2l0aCB0YWJs ZSAodGVzdHB1Yl90YmwyKS4KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVz X2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwyKTsK K1xkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3Jh bGx0YWJsZXNfZXhjZXB0dGFibGUKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFi bGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5j YXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAg ICAgICAgIHwgZiAgICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQg ICAgICAgICB8IG5vbmUgICAgICAgICAgICAgIHwgZiAgICAgICAgfCAKK0V4Y2VwdCB0YWJsZXM6 CisgICAgInB1YmxpYy50ZXN0cHViX3RibDIiCisKKy0tIFJlcGxhY2UgdGhlIGV4aXN0aW5nIHRh YmxlIGxpc3QgaW4gdGhlIEVYQ0VQVCBjbGF1c2UgKHRlc3RwdWJfdGJsMikgd2l0aCBhCistLSB0 YWJsZSBsaXN0IGNvbnRhaW5pbmcgKHRlc3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyLCB0ZXN0cHVi X3RibDMpLgorQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFi bGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJs MiwgVEFCTEUgdGVzdHB1Yl90YmwzKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2Vw dHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UHVibGljYXRpb24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJv b3QgfCBEZXNjcmlwdGlvbiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KICByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IG5vbmUgICAgICAgICAgICAgIHwgZiAg ICAgICAgfCAKIEV4Y2VwdCB0YWJsZXM6CisgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCiAgICAg InB1YmxpYy50ZXN0cHViX3RibDIiCisgICAgInB1YmxpYy50ZXN0cHViX3RibDMiCiAKLS0tIENs ZWFyIHRoZSBFWENFUFQgVEFCTEUgbGlzdCwgbWFraW5nIHRoZSBwdWJsaWNhdGlvbiBpbmNsdWRl IGFsbCB0YWJsZXMuCistLSBDbGVhciB0aGUgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIGNsYXVz ZSwgbWFraW5nIHRoZSBwdWJsaWNhdGlvbiBpbmNsdWRlIGFsbAorLS0gdGFibGVzLgogQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJM RVM7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJf Zm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCkBAIC0zMDksNyArMzMwLDcgQEAgQUxURVIgUFVCTElD QVRJT04gdGVzdHB1Yl9mb3JhbGxfdGJsc19zZXFzIFNFVCBBTEwgU0VRVUVOQ0VTOwogKDEgcm93 KQogCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2VkIGZv ciBhICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0FMVEVS IFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJM RSB0ZXN0cHViX3RibDEpOwogRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9mb3J0YWJsZSIg ZG9lcyBub3Qgc3VwcG9ydCBBTEwgVEFCTEVTIG9wZXJhdGlvbnMKIERFVEFJTDogIFRoaXMgb3Bl cmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBiZSBkZWZpbmVkIGFzIEZPUiBBTEwg VEFCTEVTL1NFUVVFTkNFUyBvciB0byBiZSBlbXB0eS4KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CkBAIC0zMTksNyArMzQwLDcgQEAgQUxURVIgUFVC TElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFNFUVVFTkNFUzsKIEVSUk9SOiAgcHVi bGljYXRpb24gInRlc3RwdWJfZm9ydGFibGUiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFNFUVVFTkNF UyBvcGVyYXRpb25zCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVibGlj YXRpb24gdG8gYmUgZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb3IgdG8gYmUg ZW1wdHkuCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2Vk IGZvciBhIHNjaGVtYSBwdWJsaWNhdGlvbgotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3Jz Y2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChwdWJfdGVzdC50ZXN0cHViX25vcGsp OworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhD RVBUIChUQUJMRSBwdWJfdGVzdC50ZXN0cHViX25vcGspOwogRVJST1I6ICBwdWJsaWNhdGlvbiAi dGVzdHB1Yl9mb3JzY2hlbWEiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFRBQkxFUyBvcGVyYXRpb25z CiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVibGljYXRpb24gdG8gYmUg ZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb3IgdG8gYmUgZW1wdHkuCiBBTFRF UiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUzsKQEAgLTMyOSwx MiArMzUwLDEyIEBAIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwg U0VRVUVOQ0VTOwogRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9mb3JzY2hlbWEiIGRvZXMg bm90IHN1cHBvcnQgQUxMIFNFUVVFTkNFUyBvcGVyYXRpb25zCiBERVRBSUw6ICBUaGlzIG9wZXJh dGlvbiByZXF1aXJlcyB0aGUgcHVibGljYXRpb24gdG8gYmUgZGVmaW5lZCBhcyBGT1IgQUxMIFRB QkxFUy9TRVFVRU5DRVMgb3IgdG8gYmUgZW1wdHkuCiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2Vz OwotRFJPUCBUQUJMRSB0ZXN0cHViX3RibDI7CitEUk9QIFRBQkxFIHRlc3RwdWJfdGJsMiwgdGVz dHB1Yl90YmwzOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlcywgdGVzdHB1 Yl9mb3J0YWJsZSwgdGVzdHB1Yl9mb3JzY2hlbWEsIHRlc3RwdWJfZm9yX3RibF9zY2hlbWE7CiBE Uk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsX3RibHNfc2VxcywgdGVzdHB1Yl9mb3JhbGx0 YWJsZXNfZXhjZXB0dGFibGUsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMTsKIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLS0gVGVzdHMgZm9y IGluaGVyaXRlZCB0YWJsZXMsIGFuZAotLS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZvciBpbmhlcml0 ZWQgdGFibGVzCistLSBFWENFUFQgY2xhdXNlIHRlc3RzIGZvciBpbmhlcml0ZWQgdGFibGVzCiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBjbGllbnRf bWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQg KGEgaW50KTsKQEAgLTM1OCw4ICszNzksOCBAQCBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjQg Rk9SIFRBQkxFIE9OTFkgdGVzdHB1Yl90YmxfcGFyZW50OwogVGFibGVzOgogICAgICJwdWJsaWMu dGVzdHB1Yl90YmxfcGFyZW50IgogCi0tLSBMaXN0IHRoZSBwYXJlbnQgdGFibGUgaW4gdGhlIEVY Q0VQVCBUQUJMRSBjbGF1c2UgKHdpdGhvdXQgT05MWSBvciAnKicpCi1DUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1YjUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibF9wYXJl bnQpOworLS0gTGlzdCB0aGUgcGFyZW50IHRhYmxlIGluIHRoZSBFWENFUFQgY2xhdXNlICh3aXRo b3V0IE9OTFkgb3IgJyonKQorQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFC TEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50KTsKIFxkUnArIHRlc3RwdWI1CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUHVibGljYXRpb24gdGVzdHB1YjUKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwg dGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRy dW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAg LTM2OSw4ICszOTAsOCBAQCBFeGNlcHQgdGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90Ymxf Y2hpbGQiCiAgICAgInB1YmxpYy50ZXN0cHViX3RibF9wYXJlbnQiCiAKLS0tIEVYQ0VQVCB3aXRo ICcqJzogbGlzdCB0aGUgdGFibGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgaW4gdGhlIEVYQ0VQ VCBUQUJMRSBjbGF1c2UKLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNiBGT1IgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsX3BhcmVudCAqKTsKKy0tIEVYQ0VQVCB3aXRoICcq JzogbGlzdCB0aGUgdGFibGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgaW4gdGhlIEVYQ0VQVCBj bGF1c2UKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNiBGT1IgQUxMIFRBQkxFUyBFWENFUFQg KFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCAqKTsKIFxkUnArIHRlc3RwdWI2CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1YjYKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwg QWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTM4MCw4ICs0 MDEsOCBAQCBFeGNlcHQgdGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmxfY2hpbGQiCiAg ICAgInB1YmxpYy50ZXN0cHViX3RibF9wYXJlbnQiCiAKLS0tIEVYQ0VQVCB3aXRoIE9OTFk6IGxp c3QgdGhlIHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLCBidXQgbm90IGl0cyBkZXNj ZW5kYW50cwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCBUQUJMRSAoT05MWSB0ZXN0cHViX3RibF9wYXJlbnQpOworLS0gRVhDRVBUIHdpdGggT05MWTog bGlzdCB0aGUgdGFibGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2UsIGJ1dCBub3QgaXRzIGRlc2NlbmRh bnRzCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjcgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSBPTkxZIHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0ZXN0cHViNwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1Ymxp Y2F0aW9uIHRlc3RwdWI3CiAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMg fCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBAIC0zOTQsMTIg KzQxNSwxMiBAQCBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwogRFJPUCBUQUJMRSB0ZXN0cHVi X3RibF9wYXJlbnQsIHRlc3RwdWJfdGJsX2NoaWxkOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHVi MywgdGVzdHB1YjQsIHRlc3RwdWI1LCB0ZXN0cHViNiwgdGVzdHB1Yjc7CiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tIEVYQ0VQVCBUQUJMRSB0ZXN0cyBm b3IgcGFydGl0aW9uZWQgdGFibGVzCistLSBFWENFUFQgY2xhdXNlIHRlc3RzIGZvciBwYXJ0aXRp b25lZCB0YWJsZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFRBQkxFIHRlc3Rw dWJfcm9vdChhIGludCkgUEFSVElUSU9OIEJZIFJBTkdFKGEpOwogQ1JFQVRFIFRBQkxFIHRlc3Rw dWJfcGFydDEgUEFSVElUSU9OIE9GIHRlc3RwdWJfcm9vdCBGT1IgVkFMVUVTIEZST00gKDApIFRP ICgxMDApOwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI4IEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCBUQUJMRSAodGVzdHB1Yl9yb290KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOCBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfcm9vdCk7CiBcZFJwKyB0ZXN0cHViODsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViOAogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFs bCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwg VHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApA QCAtNDI3LDEyICs0NDgsMTIgQEAgRXhjZXB0IFB1YmxpY2F0aW9uczoKICAgICAidGVzdHB1Yjgi CiBOdW1iZXIgb2YgcGFydGl0aW9uczogMSAoVXNlIFxkKyB0byBsaXN0IHRoZW0uKQogCi1DUkVB VEUgUFVCTElDQVRJT04gdGVzdHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0 cHViX3BhcnQxKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOSBGT1IgQUxMIFRBQkxFUyBF WENFUFQgKFRBQkxFIHRlc3RwdWJfcGFydDEpOwogRVJST1I6ICBjYW5ub3QgdXNlIHB1YmxpY2F0 aW9uIEVYQ0VQVCBjbGF1c2UgZm9yIHJlbGF0aW9uICJ0ZXN0cHViX3BhcnQxIgogREVUQUlMOiAg VGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgaW5kaXZpZHVhbCBwYXJ0aXRpb25z LgogQ1JFQVRFIFRBQkxFIHRhYl9tYWluIChhIGludCkgUEFSVElUSU9OIEJZIFJBTkdFKGEpOwog LS0gQXR0YWNoaW5nIGEgcGFydGl0aW9uIGlzIG5vdCBhbGxvd2VkIGlmIHRoZSBwYXJ0aXRpb25l ZCB0YWJsZSBhcHBlYXJzIGluIGEKLS0tIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIFRBQkxFIGNsYXVz ZS4KKy0tIHB1YmxpY2F0aW9uJ3MgRVhDRVBUIGNsYXVzZS4KIEFMVEVSIFRBQkxFIHRhYl9tYWlu IEFUVEFDSCBQQVJUSVRJT04gdGVzdHB1Yl9yb290IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDIw MCk7CiBFUlJPUjogIGNhbm5vdCBhdHRhY2ggdGFibGUgInRlc3RwdWJfcm9vdCIgYXMgcGFydGl0 aW9uIGJlY2F1c2UgaXQgaXMgcmVmZXJlbmNlZCBpbiBwdWJsaWNhdGlvbiAidGVzdHB1YjgiIEVY Q0VQVCBjbGF1c2UKIERFVEFJTDogIFRoZSBwdWJsaWNhdGlvbiBFWENFUFQgY2xhdXNlIGNhbm5v dCBjb250YWluIHRhYmxlcyB0aGF0IGFyZSBwYXJ0aXRpb25zLgpAQCAtMTYyMyw3ICsxNjQ0LDcg QEAgUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1 IE9XTkVSIFRPIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjM7CiBTRVQgUk9MRSByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIzOwogLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNFUyBvbiBh IHB1YmxpY2F0aW9uIHJlcXVpcmVzIHN1cGVydXNlciBwcml2aWxlZ2VzCi1BTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7 IC0tIGZhaWwKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsgLS0gZmFpbAogRVJST1I6ICBtdXN0IGJlIHN1cGVydXNl ciB0byBzZXQgQUxMIFRBQkxFUwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBU QUJMRVM7IC0tIGZhaWwKIEVSUk9SOiAgbXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IEFMTCBUQUJM RVMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbCBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbAppbmRleCAyMmUwYTMwYjVjNy4uNmJh ZmFkMjc1NzEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNx bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKQEAgLTEwNiwyOCAr MTA2LDM3IEBAIFNFTEVDVCBwdWJuYW1lLCBwdWJhbGx0YWJsZXMgRlJPTSBwZ19wdWJsaWNhdGlv biBXSEVSRSBwdWJuYW1lID0gJ3Rlc3RwdWJfZm9yYWxsCiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRh YmxlcwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0t IEVYQ0VQVCBUQUJMRSB0ZXN0cyBmb3Igbm9ybWFsIHRhYmxlcworLS0gRVhDRVBUIGNsYXVzZSB0 ZXN0cyBmb3Igbm9ybWFsIHRhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7Ci0tLSBTcGVj aWZ5IHRhYmxlIGxpc3QgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRB QkxFUyBwdWJsaWNhdGlvbgotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVz X2V4Y2VwdHRhYmxlIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxLCB0 ZXN0cHViX3RibDIpOworQ1JFQVRFIFRBQkxFIHRlc3RwdWJfdGJsMyAoaWQgc2VyaWFsIHByaW1h cnkga2V5LCBkYXRhIHRleHQpOworLS0gU3BlY2lmeSB0YWJsZSBsaXN0IGluIHRoZSBFWENFUFQg Y2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KK0NSRUFURSBQVUJMSUNBVElP TiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1IgQUxMIFRBQkxFUyBFWENFUFQg KFRBQkxFIHRlc3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyLCBUQUJMRSB0ZXN0cHViX3RibDMpOwog XGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKLS0tIFNwZWNpZnkgdGFibGUg aW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlv bgotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7CistLSBTcGVjaWZ5IHRh YmxlIGluIHRoZSBFWENFUFQgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24K K0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9S IEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEpOwogXGRScCsgdGVzdHB1Yl9m b3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxCiAtLSBDaGVjayB0aGF0IHRoZSB0YWJsZSBkZXNjcmlw dGlvbiBzaG93cyB0aGUgcHVibGljYXRpb25zIHdoZXJlIGl0IGlzIGxpc3RlZAotLS0gaW4gdGhl IEVYQ0VQVCBUQUJMRSBjbGF1c2UKKy0tIGluIHRoZSBFWENFUFQgY2xhdXNlCiBcZCB0ZXN0cHVi X3RibDEKKy0tIGZhaWwgLSBmaXJzdCB0YWJsZSBpbiB0aGUgRVhDRVBUIGxpc3Qgc2hvdWxkIHVz ZSBUQUJMRSBrZXl3b3JkCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNf ZXhjZXB0dGFibGUyIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAodGVzdHB1Yl90YmwxLCB0ZXN0cHVi X3RibDIpOwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IC0tIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNFUwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0tLSBSZXBsYWNlIHRoZSBleGlzdGluZyBFWENFUFQgVEFCTEUg bGlzdCAodGVzdHB1Yl90YmwxKSB3aXRoIGEgbmV3Ci0tLSBFWENFUFQgVEFCTEUgbGlzdCBjb250 YWluaW5nIG9ubHkgKHRlc3RwdWJfdGJsMikuCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3Rw dWJfdGJsMik7CistLSBSZXBsYWNlIHRoZSBleGlzdGluZyB0YWJsZSBsaXN0IGluIHRoZSBFWENF UFQgY2xhdXNlICh0ZXN0cHViX3RibDEsCistLSB0ZXN0cHViX3RibDIsIHRlc3RwdWJfdGJsMykg d2l0aCB0YWJsZSAodGVzdHB1Yl90YmwyKS4KK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9y YWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1 Yl90YmwyKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCiAKLS0tIENs ZWFyIHRoZSBFWENFUFQgVEFCTEUgbGlzdCwgbWFraW5nIHRoZSBwdWJsaWNhdGlvbiBpbmNsdWRl IGFsbCB0YWJsZXMuCistLSBSZXBsYWNlIHRoZSBleGlzdGluZyB0YWJsZSBsaXN0IGluIHRoZSBF WENFUFQgY2xhdXNlICh0ZXN0cHViX3RibDIpIHdpdGggYQorLS0gdGFibGUgbGlzdCBjb250YWlu aW5nICh0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMiwgdGVzdHB1Yl90YmwzKS4KK0FMVEVSIFBV QkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVT IEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIsIFRBQkxFIHRlc3RwdWJf dGJsMyk7CitcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQorCistLSBDbGVh ciB0aGUgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIGNsYXVzZSwgbWFraW5nIHRoZSBwdWJsaWNh dGlvbiBpbmNsdWRlIGFsbAorLS0gdGFibGVzLgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJMRVM7CiBcZFJwKyB0ZXN0cHViX2Zv cmFsbHRhYmxlc19leGNlcHR0YWJsZQogCkBAIC0xNDksMjMgKzE1OCwyMyBAQCBBTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMgU0VUIEFMTCBTRVFVRU5DRVM7CiBcZFJw KyB0ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMKIAogLS0gZmFpbCAtIFNFVCBBTEwgVEFCTEVTL1NF UVVFTkNFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSAnRk9SIFRBQkxFJyBwdWJsaWNhdGlvbgotQUxU RVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFC TEUgKHRlc3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNF VCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIEFMVEVSIFBVQkxJQ0FU SU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CiBBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgU0VRVUVOQ0VTOwogCiAtLSBmYWlsIC0gU0VUIEFMTCBU QUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2VkIGZvciBhIHNjaGVtYSBwdWJsaWNhdGlvbgot QUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFIChwdWJfdGVzdC50ZXN0cHViX25vcGspOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBwdWJfdGVzdC50ZXN0cHVi X25vcGspOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJM RVM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFNFUVVFTkNF UzsKIAogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKLURST1AgVEFCTEUgdGVzdHB1Yl90Ymwy OworRFJPUCBUQUJMRSB0ZXN0cHViX3RibDIsIHRlc3RwdWJfdGJsMzsKIERST1AgUFVCTElDQVRJ T04gdGVzdHB1Yl9mb3JhbGx0YWJsZXMsIHRlc3RwdWJfZm9ydGFibGUsIHRlc3RwdWJfZm9yc2No ZW1hLCB0ZXN0cHViX2Zvcl90Ymxfc2NoZW1hOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cmFsbF90YmxzX3NlcXMsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlLCB0ZXN0cHVi X2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTE7CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogLS0gVGVzdHMgZm9yIGluaGVyaXRlZCB0YWJsZXMsIGFuZAot LS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZvciBpbmhlcml0ZWQgdGFibGVzCistLSBFWENFUFQgY2xh dXNlIHRlc3RzIGZvciBpbmhlcml0ZWQgdGFibGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsK IENSRUFURSBUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQgKGEgaW50KTsKQEAgLTE3NCwxNCArMTgz LDE0IEBAIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViMyBGT1IgVEFCTEUgdGVzdHB1Yl90Ymxf cGFyZW50OwogXGRScCsgdGVzdHB1YjMKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNCBGT1Ig VEFCTEUgT05MWSB0ZXN0cHViX3RibF9wYXJlbnQ7CiBcZFJwKyB0ZXN0cHViNAotLS0gTGlzdCB0 aGUgcGFyZW50IHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlICh3aXRob3V0IE9OTFkg b3IgJyonKQotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCBUQUJMRSAodGVzdHB1Yl90YmxfcGFyZW50KTsKKy0tIExpc3QgdGhlIHBhcmVudCB0YWJsZSBp biB0aGUgRVhDRVBUIGNsYXVzZSAod2l0aG91dCBPTkxZIG9yICcqJykKK0NSRUFURSBQVUJMSUNB VElPTiB0ZXN0cHViNSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsX3Bh cmVudCk7CiBcZFJwKyB0ZXN0cHViNQotLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJs ZSBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQotQ1JF QVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVz dHB1Yl90YmxfcGFyZW50ICopOworLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJsZSBh bmQgYWxsIGl0cyBkZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIGNsYXVzZQorQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90Ymxf cGFyZW50ICopOwogXGRScCsgdGVzdHB1YjYKLS0tIEVYQ0VQVCB3aXRoIE9OTFk6IGxpc3QgdGhl IHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLCBidXQgbm90IGl0cyBkZXNjZW5kYW50 cwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJM RSAoT05MWSB0ZXN0cHViX3RibF9wYXJlbnQpOworLS0gRVhDRVBUIHdpdGggT05MWTogbGlzdCB0 aGUgdGFibGUgaW4gdGhlIEVYQ0VQVCBjbGF1c2UsIGJ1dCBub3QgaXRzIGRlc2NlbmRhbnRzCitD UkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjcgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBP TkxZIHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0ZXN0cHViNwogCiBSRVNFVCBjbGllbnRf bWluX21lc3NhZ2VzOwpAQCAtMTg5LDIwICsxOTgsMjAgQEAgRFJPUCBUQUJMRSB0ZXN0cHViX3Ri bF9wYXJlbnQsIHRlc3RwdWJfdGJsX2NoaWxkOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViMywg dGVzdHB1YjQsIHRlc3RwdWI1LCB0ZXN0cHViNiwgdGVzdHB1Yjc7CiAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZv ciBwYXJ0aXRpb25lZCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIHBhcnRpdGlv bmVkIHRhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgVEFCTEUgdGVzdHB1 Yl9yb290KGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiBDUkVBVEUgVEFCTEUgdGVzdHB1 Yl9wYXJ0MSBQQVJUSVRJT04gT0YgdGVzdHB1Yl9yb290IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8g KDEwMCk7Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBU IFRBQkxFICh0ZXN0cHViX3Jvb3QpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI4IEZPUiBB TEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl9yb290KTsKIFxkUnArIHRlc3RwdWI4Owog XGQgdGVzdHB1Yl9wYXJ0MQogXGQgdGVzdHB1Yl9yb290Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVz dHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3BhcnQxKTsKK0NSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3Rw dWJfcGFydDEpOwogCiBDUkVBVEUgVEFCTEUgdGFiX21haW4gKGEgaW50KSBQQVJUSVRJT04gQlkg UkFOR0UoYSk7CiAtLSBBdHRhY2hpbmcgYSBwYXJ0aXRpb24gaXMgbm90IGFsbG93ZWQgaWYgdGhl IHBhcnRpdGlvbmVkIHRhYmxlIGFwcGVhcnMgaW4gYQotLS0gcHVibGljYXRpb24ncyBFWENFUFQg VEFCTEUgY2xhdXNlLgorLS0gcHVibGljYXRpb24ncyBFWENFUFQgY2xhdXNlLgogQUxURVIgVEFC TEUgdGFiX21haW4gQVRUQUNIIFBBUlRJVElPTiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMjAwKTsKIAogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKQEAgLTEwMzcsNyAr MTA0Niw3IEBAIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViNSBPV05FUiBUTyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIzOwogU0VUIFJPTEUgcmVn cmVzc19wdWJsaWNhdGlvbl91c2VyMzsKIC0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5D RVMgb24gYSBwdWJsaWNhdGlvbiByZXF1aXJlcyBzdXBlcnVzZXIgcHJpdmlsZWdlcwotQUxURVIg UFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHVi X3RibDEpOyAtLSBmYWlsCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxF UyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7IC0tIGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWlsCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0 cHViNSBTRVQgQUxMIFNFUVVFTkNFUzsgLS0gZmFpbAogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzdfZXhjZXB0LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3 X2V4Y2VwdC5wbAppbmRleCAxM2I5OWVkYTI1OC4uYzg0MWY3ZDI1NjAgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzN19leGNlcHQucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDM3X2V4Y2VwdC5wbApAQCAtMSw3ICsxLDcgQEAKIAogIyBDb3B5cmlnaHQgKGMp IDIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAKLSMgTG9naWNhbCBy ZXBsaWNhdGlvbiB0ZXN0cyBmb3IgRVhDRVBUIFRBQkxFIHB1YmxpY2F0aW9ucworIyBMb2dpY2Fs IHJlcGxpY2F0aW9uIHRlc3RzIGZvciBwdWJsaWNhdGlvbnMgd2l0aCBFWENFUFQgY2xhdXNlCiB1 c2Ugc3RyaWN0OwogdXNlIHdhcm5pbmdzOwogdXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7 CkBAIC0yNiwxMiArMjYsMTIgQEAgc3ViIHRlc3RfZXhjZXB0X3Jvb3RfcGFydGl0aW9uCiB7CiAJ bXkgKCRwdWJ2aWFyb290KSA9IEBfOwogCi0JIyBJZiB0aGUgcm9vdCBwYXJ0aXRpb25lZCB0YWJs ZSBpcyBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSwgYWxsIGl0cworCSMgSWYgdGhlIHJvb3Qg cGFydGl0aW9uZWQgdGFibGUgaXMgaW4gdGhlIEVYQ0VQVCBjbGF1c2UsIGFsbCBpdHMKIAkjIHBh cnRpdGlvbnMgYXJlIGV4Y2x1ZGVkIGZyb20gcHVibGljYXRpb24sIHJlZ2FyZGxlc3Mgb2YgdGhl CiAJIyBwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCBzZXR0aW5nLgogCSRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKAogCQkncG9zdGdyZXMnLCBxcSgKLQkJQ1JFQVRFIFBVQkxJQ0FUSU9OIHRh cF9wdWJfcGFydCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHJvb3QxKSBXSVRIIChwdWJs aXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9ICRwdWJ2aWFyb290KTsKKwkJQ1JFQVRFIFBVQkxJQ0FU SU9OIHRhcF9wdWJfcGFydCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHJvb3QxKSBXSVRI IChwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9ICRwdWJ2aWFyb290KTsKIAkJSU5TRVJUIElO VE8gcm9vdDEgVkFMVUVTICgxKSwgKDEwMSk7CiAJKSk7CiAJJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCkBAIC00OCw3ICs0OCw3IEBAIHN1YiB0ZXN0X2V4Y2VwdF9yb290 X3BhcnRpdGlvbgogCQkiSU5TRVJUIElOVE8gcm9vdDEgVkFMVUVTICgyKSwgKDEwMikiKTsKIAog CSMgVmVyaWZ5IHRoYXQgZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBp cyBub3QgcHVibGlzaGVkIHdoZW4KLQkjIGl0IGlzIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNl LgorCSMgaXQgaXMgaW4gdGhlIEVYQ0VQVCBjbGF1c2UuCiAJJHJlc3VsdCA9ICRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJCSJTRUxFQ1QgY291bnQoKikgPSAwIEZST00g cGdfbG9naWNhbF9zbG90X2dldF9iaW5hcnlfY2hhbmdlcygndGVzdF9zbG90JywgTlVMTCwgTlVM TCwgJ3Byb3RvX3ZlcnNpb24nLCAnMScsICdwdWJsaWNhdGlvbl9uYW1lcycsICd0YXBfcHViX3Bh cnQnKSIKIAkpOwpAQCAtNjcsNyArNjcsNyBAQCBzdWIgdGVzdF9leGNlcHRfcm9vdF9wYXJ0aXRp b24KIH0KIAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot IyBFWENFUFQgVEFCTEUgdGVzdCBjYXNlcyBmb3Igbm9uLXBhcnRpdGlvbmVkIHRhYmxlcyBhbmQg aW5oZXJpdGVkIHRhYmxlcy4KKyMgRVhDRVBUIGNsYXVzZSB0ZXN0IGNhc2VzIGZvciBub24tcGFy dGl0aW9uZWQgdGFibGVzIGFuZCBpbmhlcml0ZWQgdGFibGVzLgogIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAjIENyZWF0ZSBzY2hlbWFzIGFuZCB0YWJs ZXMgb24gcHVibGlzaGVyCkBAIC05Miw5ICs5Miw5IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgKIAogIyBFeGNsdWRlIHRhYjEgKG5vbi1pbmhlcml0YW5jZSBjYXNlKSwgYW5kIGFsc28g ZXhjbHVkZSBwYXJlbnQgYW5kIE9OTFkgcGFyZW50MQogIyB0byB2ZXJpZnkgZXhjbHVzaW9uIGJl aGF2aW9yIGZvciBpbmhlcml0ZWQgdGFibGVzLCBpbmNsdWRpbmcgdGhlIGVmZmVjdCBvZgotIyBP TkxZIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLgorIyBPTkxZIGluIHRoZSBFWENFUFQgY2xh dXNlLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBV QkxJQ0FUSU9OIHRhYl9wdWIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0YWIxLCBwYXJl bnQsIG9ubHkgcGFyZW50MSkiCisJIkNSRUFURSBQVUJMSUNBVElPTiB0YWJfcHViIEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGFiMSwgcGFyZW50LCBvbmx5IHBhcmVudDEpIgogKTsKIAog IyBDcmVhdGUgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHNsb3QgdG8gaGVscCB3aXRoIGxhdGVyIHRl c3RzLgpAQCAtMTA4LDM4ICsxMDgsMzggQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCiAjIFdhaXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0byBmaW5pc2gKICRub2Rl X3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3B1Ymxpc2hlciwg J3RhYl9zdWInKTsKIAotIyBDaGVjayB0aGUgdGFibGUgZGF0YSBkb2VzIG5vdCBzeW5jIGZvciB0 aGUgdGFibGVzIHNwZWNpZmllZCBpbiBFWENFUFQgVEFCTEUKKyMgQ2hlY2sgdGhlIHRhYmxlIGRh dGEgZG9lcyBub3Qgc3luYyBmb3IgdGhlIHRhYmxlcyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQVAog IyBjbGF1c2UuCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWIxIik7CiBpcygkcmVzdWx0LCBxcSgwKSwK LQknY2hlY2sgdGhlcmUgaXMgbm8gaW5pdGlhbCBkYXRhIGNvcGllZCBmb3IgdGhlIHRhYmxlcyBz cGVjaWZpZWQgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UnCisJJ2NoZWNrIHRoZXJlIGlzIG5v IGluaXRpYWwgZGF0YSBjb3BpZWQgZm9yIHRoZSB0YWJsZXMgc3BlY2lmaWVkIGluIHRoZSBFWENF UFQgY2xhdXNlJwogKTsKIAotIyBJbnNlcnQgc29tZSBkYXRhIGludG8gdGhlIHRhYmxlIGxpc3Rl ZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQorIyBJbnNlcnQgc29tZSBkYXRhIGludG8gdGhl IHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIGNsYXVzZQogJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCiAJSU5TRVJUIElOVE8gdGFiMSBWQUxVRVMoZ2VuZXJh dGVfc2VyaWVzKDExLDIwKSk7CiAJSU5TRVJUIElOVE8gY2hpbGQgVkFMVUVTKGdlbmVyYXRlX3Nl cmllcygxMSwyMCksIGdlbmVyYXRlX3NlcmllcygxMSwyMCkpOwogKSk7CiAKLSMgVmVyaWZ5IHRo YXQgZGF0YSBpbnNlcnRlZCBpbnRvIGEgdGFibGUgbGlzdGVkIGluIHRoZSBFWENFUFQgVEFCTEUg Y2xhdXNlIGlzCisjIFZlcmlmeSB0aGF0IGRhdGEgaW5zZXJ0ZWQgaW50byBhIHRhYmxlIGxpc3Rl ZCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBpcwogIyBub3QgcHVibGlzaGVkLgogJHJlc3VsdCA9ICRu b2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCBjb3VudCgqKSA9 IDAgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2JpbmFyeV9jaGFuZ2VzKCd0ZXN0X3Nsb3QnLCBO VUxMLCBOVUxMLCAncHJvdG9fdmVyc2lvbicsICcxJywgJ3B1YmxpY2F0aW9uX25hbWVzJywgJ3Rh Yl9wdWInKSIKICk7CiBpcygkcmVzdWx0LCBxcSh0KSwKLQkndmVyaWZ5IG5vIGNoYW5nZXMgZm9y IHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBhcmUgcHJlc2VudCBpbiB0 aGUgcmVwbGljYXRpb24gc2xvdCcKKwkndmVyaWZ5IG5vIGNoYW5nZXMgZm9yIHRhYmxlIGxpc3Rl ZCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBhcmUgcHJlc2VudCBpbiB0aGUgcmVwbGljYXRpb24gc2xv dCcKICk7CiAKICMgVGhpcyBzaG91bGQgYmUgcHVibGlzaGVkIGJlY2F1c2UgT05MWSBwYXJlbnQx IHdhcyBzcGVjaWZpZWQgaW4gdGhlCi0jIEVYQ0VQVCBUQUJMRSBjbGF1c2UsIHNvIHRoZSBleGNs dXNpb24gYXBwbGllcyBvbmx5IHRvIHRoZSBwYXJlbnQgdGFibGUgYW5kIG5vdAorIyBFWENFUFQg Y2xhdXNlLCBzbyB0aGUgZXhjbHVzaW9uIGFwcGxpZXMgb25seSB0byB0aGUgcGFyZW50IHRhYmxl IGFuZCBub3QKICMgdG8gaXRzIGNoaWxkLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKIAkiSU5TRVJUIElOVE8gY2hpbGQxIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMoMTEs MjApLCBnZW5lcmF0ZV9zZXJpZXMoMTEsMjApKSIKICk7CiAKLSMgVmVyaWZ5IHRoYXQgZGF0YSBp bnNlcnRlZCBpbnRvIGEgdGFibGUgbGlzdGVkIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlIGlz CisjIFZlcmlmeSB0aGF0IGRhdGEgaW5zZXJ0ZWQgaW50byBhIHRhYmxlIGxpc3RlZCBpbiB0aGUg RVhDRVBUIGNsYXVzZSBpcwogIyBub3QgcmVwbGljYXRlZC4KICRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgndGFiX3N1YicpOwogJHJlc3VsdCA9CkBAIC0xNTYsOSArMTU2LDkgQEAg JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFRBQkxFIHRh YjIgQVMgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDEwKSBBUyBhIik7CiAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0YWIyIChhIGludCkiKTsK IAotIyBSZXBsYWNlIHRoZSBFWENFUFQgVEFCTEUgbGlzdCBzbyB0aGF0IG9ubHkgdGFiMiBpcyBl eGNsdWRlZC4KKyMgUmVwbGFjZSB0aGUgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBz byB0aGF0IG9ubHkgdGFiMiBpcyBleGNsdWRlZC4KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCi0JIkFMVEVSIFBVQkxJQ0FUSU9OIHRhYl9wdWIgU0VUIEFMTCBUQUJMRVMg RVhDRVBUIFRBQkxFICh0YWIyKSIpOworCSJBTFRFUiBQVUJMSUNBVElPTiB0YWJfcHViIFNFVCBB TEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGFiMikiKTsKIAogIyBSZWZyZXNoIHRoZSBzdWJzY3Jp cHRpb24gc28gdGhlIHN1YnNjcmliZXIgcGlja3MgdXAgdGhlIHVwZGF0ZWQKICMgcHVibGljYXRp b24gZGVmaW5pdGlvbiBhbmQgaW5pdGlhdGVzIHRhYmxlIHN5bmNocm9uaXphdGlvbi4KQEAgLTE2 OSwxOSArMTY5LDE5IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAog JG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlz aGVyLCAndGFiX3N1YicpOwogCiAjIFZlcmlmeSB0aGF0IGluaXRpYWwgdGFibGUgc3luY2hyb25p emF0aW9uIGRvZXMgbm90IG9jY3VyIGZvciB0YWJsZXMKLSMgbGlzdGVkIGluIHRoZSBFWENFUFQg VEFCTEUgY2xhdXNlLgorIyBsaXN0ZWQgaW4gdGhlIEVYQ0VQVCBjbGF1c2UuCiAkcmVzdWx0ID0K ICAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQo KikgRlJPTSB0YWIyIik7CiBpcygkcmVzdWx0LCBxcSgwKSwKLQknY2hlY2sgdGhlcmUgaXMgbm8g aW5pdGlhbCBkYXRhIGNvcGllZCBmb3IgdGhlIHRhYmxlcyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQ VCBUQUJMRSBjbGF1c2UnCisJJ2NoZWNrIHRoZXJlIGlzIG5vIGluaXRpYWwgZGF0YSBjb3BpZWQg Zm9yIHRoZSB0YWJsZXMgc3BlY2lmaWVkIGluIHRoZSBFWENFUFQgY2xhdXNlJwogKTsKIAogIyBW ZXJpZnkgdGhhdCB0YWJsZSBzeW5jaHJvbml6YXRpb24gbm93IGhhcHBlbnMgZm9yIHRhYjEuIFRh YmxlIHRhYjEgaXMKLSMgaW5jbHVkZWQgbm93IHNpbmNlIHRoZSBFWENFUFQgVEFCTEUgbGlzdCBp cyBvbmx5ICh0YWIyKS4KKyMgaW5jbHVkZWQgbm93IHNpbmNlIHRoZSB0YWJsZSBsaXN0IG9mIEVY Q0VQVCBjbGF1c2UgaXMgb25seSAodGFiMikuCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWIxIik7CiBp cygkcmVzdWx0LCBxcSgyMCksCi0JJ2NoZWNrIHRoYXQgdGhlIGRhdGEgaXMgY29waWVkIGFzIHRo ZSB0YWIxIGlzIHJlbW92ZWQgZnJvbSBFWENFUFQgVEFCTEUgY2xhdXNlJworCSdjaGVjayB0aGF0 IHRoZSBkYXRhIGlzIGNvcGllZCBhcyB0aGUgdGFiMSBpcyByZW1vdmVkIGZyb20gRVhDRVBUIGNs YXVzZScKICk7CiAKICMgY2xlYW51cApAQCAtMTk5LDcgKzE5OSw3IEBAICRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKAogKSk7CiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLSMgRVhDRVBUIFRBQkxFIHRlc3QgY2FzZXMgZm9yIHBhcnRpdGlvbmVkIHRh YmxlcworIyBFWENFUFQgY2xhdXNlIHRlc3QgY2FzZXMgZm9yIHBhcnRpdGlvbmVkIHRhYmxlcwog IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIyBTZXR1cCBw YXJ0aXRpb25lZCB0YWJsZSBhbmQgcGFydGl0aW9ucyBvbiB0aGUgcHVibGlzaGVyIHRoYXQgbWFw IHRvIG5vcm1hbAogIyB0YWJsZXMgb24gdGhlIHN1YnNjcmliZXIuCkBAIC0yMjcsMTEgKzIyNywx MSBAQCB0ZXN0X2V4Y2VwdF9yb290X3BhcnRpdGlvbigndHJ1ZScpOwogIyBUZXN0IHdoZW4gYSBz dWJzY3JpcHRpb24gaXMgc3Vic2NyaWJpbmcgdG8gbXVsdGlwbGUgcHVibGljYXRpb25zCiAjID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSMgT0sgd2hlbiBh IHRhYmxlIGlzIGV4Y2x1ZGVkIGJ5IHB1YjEgRVhDRVBUIFRBQkxFLCBidXQgaXQgaXMgaW5jbHVk ZWQgYnkgcHViMgorIyBPSyB3aGVuIGEgdGFibGUgaXMgZXhjbHVkZWQgYnkgcHViMSBFWENFUFQg Y2xhdXNlLCBidXQgaXQgaXMgaW5jbHVkZWQgYnkgcHViMgogIyBGT1IgVEFCTEUuCiAkbm9kZV9w dWJsaXNoZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKLQlDUkVBVEUgUFVCTElDQVRJ T04gdGFwX3B1YjEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0YWIxKTsKKwlDUkVBVEUg UFVCTElDQVRJT04gdGFwX3B1YjEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0YWIxKTsK IAlDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YjIgRk9SIFRBQkxFIHRhYjE7CiAJSU5TRVJUIElO VE8gdGFiMSBWQUxVRVMoMSk7CiApKTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCAkcmVzdWx0ID0KICAg JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGFi MSBPUkRFUiBCWSBhIik7CiBpcyggJHJlc3VsdCwgcXEoMQogMiksCi0JImNoZWNrIHJlcGxpY2F0 aW9uIG9mIGEgdGFibGUgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2Ygb25lIHB1YmxpY2F0 aW9uIGJ1dCBpbmNsdWRlZCBieSBhbm90aGVyIgorCSJjaGVjayByZXBsaWNhdGlvbiBvZiBhIHRh YmxlIGluIHRoZSBFWENFUFQgY2xhdXNlIG9mIG9uZSBwdWJsaWNhdGlvbiBidXQgaW5jbHVkZWQg YnkgYW5vdGhlciIKICk7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMn LCBxcSgKQEAgLTI1Niw3ICsyNTYsNyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKICkp OwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKFRSVU5DQVRFIHRh YjEpKTsKIAotIyBPSyB3aGVuIGEgdGFibGUgaXMgZXhjbHVkZWQgYnkgcHViMSBFWENFUFQgVEFC TEUsIGJ1dCBpdCBpcyBpbmNsdWRlZCBieSBwdWIyCisjIE9LIHdoZW4gYSB0YWJsZSBpcyBleGNs dWRlZCBieSBwdWIxIEVYQ0VQVCBjbGF1c2UsIGJ1dCBpdCBpcyBpbmNsdWRlZCBieSBwdWIyCiAj IEZPUiBBTEwgVEFCTEVTLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVz JywgcXEoCkBAIC0yNzUsNyArMjc1LDcgQEAgJHJlc3VsdCA9CiAgICRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgKiBGUk9NIHRhYjEgT1JERVIgQlkgYSIpOwog aXMoICRyZXN1bHQsIHFxKDEKIDIpLAotCSJjaGVjayByZXBsaWNhdGlvbiBvZiBhIHRhYmxlIGlu IHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlIG9mIG9uZSBwdWJsaWNhdGlvbiBidXQgaW5jbHVkZWQg YnkgYW5vdGhlciIKKwkiY2hlY2sgcmVwbGljYXRpb24gb2YgYSB0YWJsZSBpbiB0aGUgRVhDRVBU IGNsYXVzZSBvZiBvbmUgcHVibGljYXRpb24gYnV0IGluY2x1ZGVkIGJ5IGFub3RoZXIiCiApOwog CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ0RST1AgU1VCU0NSSVBU SU9OIHRhcF9zdWInKTsKLS0gCjIuNDMuMAoK --0000000000001f9e6c064e3ee448--