Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQPVh-0001mQ-2d for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Oct 2020 06:34:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kQPVg-0001bB-05 for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Oct 2020 06:34:40 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQPVf-0001b3-E2 for pgsql-hackers@lists.postgresql.org; Thu, 08 Oct 2020 06:34:39 +0000 Received: from mail-gv0che01on2103.outbound.protection.outlook.com ([40.107.23.103] helo=CHE01-GV0-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQPVb-0002v5-6V for pgsql-hackers@lists.postgresql.org; Thu, 08 Oct 2020 06:34:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iUuCGhZ/HxcLq0Doq50BeWEHdCk3MdQQPY+kKh2xFEZRsGZf0Mu5TePgehkkLEjguYLAFhZV04kva84FqpcNLDbnhLUeo2SGh0vjtLm/ePti6CIutVfzVEyZf0CPdtaBxhd9FsdbFMPZU/YPOkf4tyN+1VbMpzfskBKjtw1C7d19FqmTmQrYWFxlTn44146LMW8Ti/Sf0TQWS+j5nGVc+aGrFJoZ8l3P3bWW0+EmQdGp526VenMHweEYU/NfpY8Z/bRWALG8tkdYQce85NKuHrj9KpRNXCZUSXNqlxQAM309FTHSQKm+nuV/ErMw6JR/STOFiU8vPmTjJN/9SYDi1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ROMV81Sai2SV9ORd5DftS/Ub7sp+sdKiGsD7hD1y2Zs=; b=CgBONFLo7Drm0A7opNmAkLnKThudTeeoCEXKxTV+xHcicaKIshfdyuVxB/LBaBx/uAgmfsXQVRBDLU9lzMBuMTLIwmoDgqJAtjJJmkwazjiXwj/6Z7b8vI9ajYinaHcGq17/HdHNzmBG8U+15h9TTj5sUUM/qtgQOlwOD0upKIANZnWufUsKtdAQvGiieg8L7ropc03ZVi7kPHuABLz9poz2/t5H2znP07fInMIok0H/4Q5A31ipStXo4mT12tFx3zwWdhx61ljDF5qNazRqeXeAAmRFpU3baI+IsEGYs0kB7ZJ8ICysD8sYjF6uHnZlH68/xWFBJoWl/vrJ7+6OvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dbi-services.com; dmarc=pass action=none header.from=dbi-services.com; dkim=pass header.d=dbi-services.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dbi-services.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ROMV81Sai2SV9ORd5DftS/Ub7sp+sdKiGsD7hD1y2Zs=; b=yRHGJerE0vNyO1ceNVQXfnpr4cNH5hWXaGfkIg7Qyadn5gAWJ0YbD500qS4hVW3FFvtj56f4oaUfIRan9o25PXISjuUNt9Bzsflfu3GMVyg53dwg8u37FxfXS1M3oTm1ovMaMdj1Iz2v5r7wqll1ymOsYpHzVaaP7urH1iVqrjA= Received: from GVAP278MB0102.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:23::15) by GV0P278MB0098.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:1d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.32; Thu, 8 Oct 2020 06:34:32 +0000 Received: from GVAP278MB0102.CHEP278.PROD.OUTLOOK.COM ([fe80::a8dc:cda4:c121:cbd8]) by GVAP278MB0102.CHEP278.PROD.OUTLOOK.COM ([fe80::a8dc:cda4:c121:cbd8%8]) with mapi id 15.20.3455.023; Thu, 8 Oct 2020 06:34:32 +0000 From: "Daniel Westermann (DWE)" To: PostgreSQL Hackers Subject: Wrong example in the bloom documentation Thread-Topic: Wrong example in the bloom documentation Thread-Index: AQHWlMRYK9iztnw7OkKvSv5AhnzKKKmNT8sq Date: Thu, 8 Oct 2020 06:34:32 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: lists.postgresql.org; dkim=none (message not signed) header.d=none;lists.postgresql.org; dmarc=none action=none header.from=dbi-services.com; x-originating-ip: [37.49.40.101] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c4b48dee-2b8a-455c-436d-08d86b54379b x-ms-traffictypediagnostic: GV0P278MB0098: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JvW1XZeLkCd93lA2MGDt5390psV4Fock8F1ZuCNnlsceWWwbb3eZ28ZGA/S24rXLg6OnfzP5lLO0vBCO+VSjg18WMTlE0scqRS6XuTXL7M7pmvPe7vv0SX+oD/XiI0ZDD2AnH7StAkeYl46HXYKlDKgzOqcJrloCBxev3xI10M1c/AAzaInGCZGUIvG3HykQoHkfZUtYEO0So3t0R34xGREc1mZhVbnjl/pO+XYx637Os3JbHmtG/owo6gW0IZ+qbqrKVyTYIU27r9E1ApI7XVlIt9a+sOZ7pNo2Y8MLqz7yKVZP0775hVrstF8jhS6Aey3s2cCMBT+N2O2rrsZAnOv/yE+9zDy2CI2fpkJOzsnqTDD97/k8/terKfOybAflAwZLfhEonyXWJgjelG0QLQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GVAP278MB0102.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(376002)(346002)(366004)(39830400003)(136003)(76116006)(26005)(186003)(83080400001)(966005)(8936002)(86362001)(478600001)(8676002)(83380400001)(66616009)(66946007)(7696005)(66556008)(33656002)(53546011)(66446008)(66476007)(64756008)(99936003)(52536014)(9686003)(2906002)(6506007)(6916009)(316002)(55016002)(71200400001)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: DogKT/NoBOOs6pODo8rBz9778OnCtWvZvO8ru2MvU3qZvHyqs86Dj/VQfJ7cySyewpEgDPq8W/OxxG5zXJIZ3HHzwbvdaYtL+ccciGTin06ihcgiJ5Ut3DJHvUyLykKsLHWUJfBaAZHHJf8FgIvOIu18INtGOOQE4LD1pObXz01UefIK3w7tq0WFo92XGdoRuLmhcHoz9XNRU4uN++Evmr9hz57eipmwa9FpQKjh68gDp7nLHOdChsFqpVS5HeeF1Q/XweDrc/C0QOLkgRqztXT3cQqHiG7CR7kBY+R2aNitL875THcc9KnvFSUbegEKQ4HEqL+hIfQHIUl3VQBb4TkVqe3N4XLdQfCOe+wnpB3j+f/K5FChmA1jaJdLoH+pAEI14Ce8NtAX5EDnl6pTHlve8j7GDoUQ74N16wt9mwZLzA1qO/Sju2PArI8lxjs1nWjEA/WPX9Vgtqk8yQQoxh+CEesB3HWJdc6ht2z4KC5015Zk0om9sFhSm7N4G/GYA/7OKtaQDurExERj34me1eF51GCVeVEtlfF6CYEwlGJP3pmhzBlg5voKNqJfM9QgiTI2KJ2Z7bWEL4trEZLZZTIn1d8iikp6nkHgAiiLpoTrtn9SXit0vLR1K9CVuJTbUiXaDtPcjxC3JdAGmRaBXg== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_GVAP278MB01028F3C84C0A724412854EDD20B0GVAP278MB0102CHEP_" MIME-Version: 1.0 X-OriginatorOrg: dbi-services.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GVAP278MB0102.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: c4b48dee-2b8a-455c-436d-08d86b54379b X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2020 06:34:32.6027 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b9c70613-b1ea-47b7-9fdd-e6f3a67ce75c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rP1DCIXEbLMmHbeeyBMR/+1/AfmF9YkCnWRMsw9Wj5OshUlGoyHBg4s1n25H6hACy4kBueYv/+su5S2Rt/9ToMkz3Vud+Her9c/1wc+IELfM2vmaQ5QypZ/DUxWVZv9z X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV0P278MB0098 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_002_GVAP278MB01028F3C84C0A724412854EDD20B0GVAP278MB0102CHEP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=0A= =0A= as this does not get any attention on the docs-list, once again here.=0A= Any thoughts on this?=0A= =0A= Regards=0A= Daniel=0A= =0A= =0A= =0A= =0A= =0A= From: Daniel Westermann (DWE)=0A= Sent: Sunday, September 27, 2020 17:58=0A= To: Pg Docs =0A= Subject: Wrong example in the bloom documentation =0A= =A0=0A= Hi,=0A= =0A= I've briefly discussed this with Bruce some time ago in [1].=0A= Replaying the example referenced in the documentation does not give a Bitma= p Heap Scan on tbloom but a parallel seq scan with the default configuratio= n:=0A= =0A= -- tested on head=0A= postgres=3D# CREATE TABLE tbloom AS=0A= postgres-#=A0=A0=A0 SELECT=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i1,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i2,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i3,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i4,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i5,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i6=0A= postgres-#=A0=A0=A0 FROM=0A= postgres-#=A0=A0 generate_series(1,10000000);=0A= SELECT 10000000=0A= postgres=3D# CREATE INDEX bloomidx ON tbloom USING bloom (i1, i2, i3, i4, i= 5, i6);=0A= CREATE INDEX=0A= postgres=3D# CREATE index btreeidx ON tbloom (i1, i2, i3, i4, i5, i6);=0A= CREATE INDEX=0A= postgres=3D# EXPLAIN ANALYZE SELECT * FROM tbloom WHERE i2 =3D 898732 AND i= 5 =3D 123451;=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 QUERY PLAN=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =0A= ---------------------------------------------------------------------------= --------------------------------------------------=0A= =A0Gather=A0 (cost=3D1000.00..127220.00 rows=3D250 width=3D24) (actual time= =3D2134.851..2221.836 rows=3D0 loops=3D1)=0A= =A0=A0 Workers Planned: 2=0A= =A0=A0 Workers Launched: 2=0A= =A0=A0 ->=A0 Parallel Seq Scan on tbloom=A0 (cost=3D0.00..126195.00 rows=3D= 104 width=3D24) (actual time=3D1770.691..1770.692 rows=3D0 loops=3D3)=0A= =A0=A0=A0=A0=A0=A0=A0=A0 Filter: ((i2 =3D 898732) AND (i5 =3D 123451))=0A= =A0=A0=A0=A0=A0=A0=A0=A0 Rows Removed by Filter: 3333333=0A= =A0Planning Time: 0.895 ms=0A= =A0JIT:=0A= =A0=A0 Functions: 6=0A= =A0=A0 Options: Inlining false, Optimization false, Expressions true, Defor= ming true=0A= =A0=A0 Timing: Generation 65.512 ms, Inlining 0.000 ms, Optimization 46.328= ms, Emission 40.658 ms, Total 152.499 ms=0A= =A0Execution Time: 2288.056 ms=0A= (12 rows)=0A= =0A= =0A= As bloom was introduced in 9.6 I quickly tried with 9.6.17 and indeed for t= his version the example is correct:=0A= postgres=3D# select version();=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 versi= on=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =0A= ---------------------------------------------------------------------------= -------------------------------=0A= =A0PostgreSQL 9.6.17 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.3.1 20= 190507 (Red Hat 8.3.1-4), 64-bit=0A= (1 row)=0A= postgres=3D# CREATE TABLE tbloom AS=0A= postgres-#=A0=A0=A0 SELECT=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i1,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i2,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i3,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i4,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i5,=0A= postgres-#=A0=A0=A0=A0=A0 (random() * 1000000)::int as i6=0A= postgres-#=A0=A0=A0 FROM=0A= postgres-#=A0=A0 generate_series(1,10000000);=0A= SELECT 10000000=0A= postgres=3D# CREATE INDEX bloomidx ON tbloom USING bloom (i1, i2, i3, i4, i= 5, i6);=0A= CREATE INDEX=0A= postgres=3D# CREATE index btreeidx ON tbloom (i1, i2, i3, i4, i5, i6);=0A= CREATE INDEX=0A= postgres=3D# EXPLAIN ANALYZE SELECT * FROM tbloom WHERE i2 =3D 898732 AND i= 5 =3D 123451;=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 QUERY PLAN=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =0A= ---------------------------------------------------------------------------= ----------------------------------------------------=0A= =A0Bitmap Heap Scan on tbloom=A0 (cost=3D178436.06..179392.83 rows=3D250 wi= dth=3D24) (actual time=3D2279.363..2279.363 rows=3D0 loops=3D1)=0A= =A0=A0 Recheck Cond: ((i2 =3D 898732) AND (i5 =3D 123451))=0A= =A0=A0 Rows Removed by Index Recheck: 2329=0A= =A0=A0 Heap Blocks: exact=3D2288=0A= =A0=A0 ->=A0 Bitmap Index Scan on bloomidx=A0 (cost=3D0.00..178436.00 rows= =3D250 width=3D0) (actual time=3D994.406..994.406 rows=3D2329 loops=3D1)=0A= =A0=A0=A0=A0=A0=A0=A0=A0 Index Cond: ((i2 =3D 898732) AND (i5 =3D 123451))= =0A= =A0Planning time: 282.059 ms=0A= =A0Execution time: 2286.138 ms=0A= (8 rows)=0A= =0A= The reason is that parallel execution is disabled by default in 9.6, and if= that is turned on the plan changes there as well:=0A= =0A= postgres=3D# set max_parallel_workers_per_gather =3D 2;=0A= SET=0A= postgres=3D# EXPLAIN ANALYZE SELECT * FROM tbloom WHERE i2 =3D 898732 AND i= 5 =3D 123451;=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 QUERY PLAN=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =0A= ---------------------------------------------------------------------------= ------------------------------------------------=0A= =A0Gather=A0 (cost=3D1000.00..127194.29 rows=3D1 width=3D24) (actual time= =3D1148.047..1148.206 rows=3D0 loops=3D1)=0A= =A0=A0 Workers Planned: 2=0A= =A0=A0 Workers Launched: 2=0A= =A0=A0 ->=A0 Parallel Seq Scan on tbloom=A0 (cost=3D0.00..126194.19 rows=3D= 1 width=3D24) (actual time=3D1039.501..1039.501 rows=3D0 loops=3D3)=0A= =A0=A0=A0=A0=A0=A0=A0=A0 Filter: ((i2 =3D 898732) AND (i5 =3D 123451))=0A= =A0=A0=A0=A0=A0=A0=A0=A0 Rows Removed by Filter: 3333333=0A= =A0Planning time: 0.580 ms=0A= =A0Execution time: 1148.247 ms=0A= (8 rows)=0A= =0A= Starting with PostgreSQL 10 the example in the documentation is therefore w= rong. Attached a proposal to fix this. The new example starts with 100x red= uced rows (as suggested by Bruce in [1] and adds a note that the behavior c= hanges as soon as parallel execution is cheaper than the index access.=0A= =0A= Thoughts?=0A= =0A= Regards=0A= Daniel=0A= =0A= [1] https://www.postgresql.org/message-id/flat/20191105231854.GA26542%40mom= jian.us#7859b106ce614dd9530941196dad5bbc= --_002_GVAP278MB01028F3C84C0A724412854EDD20B0GVAP278MB0102CHEP_ Content-Type: text/x-patch; name="bloom-doc-fix-v01.patch" Content-Description: bloom-doc-fix-v01.patch Content-Disposition: attachment; filename="bloom-doc-fix-v01.patch"; size=9056; creation-date="Sun, 27 Sep 2020 15:57:47 GMT"; modification-date="Thu, 08 Oct 2020 06:31:33 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9ibG9vbS5zZ21sIGIvZG9jL3NyYy9zZ21sL2Jsb29t LnNnbWwKaW5kZXggMjg1YjY3YjNmMS4uMWFmOWI4ZmJhYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL2Jsb29tLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Jsb29tLnNnbWwKQEAgLTEwOCw3NyAr MTA4LDgxIEBAIENSRUFURSBJTkRFWCBibG9vbWlkeCBPTiB0Ymxvb20gVVNJTkcgYmxvb20gKGkx LGkyLGkzKQogICAgICAocmFuZG9tKCkgKiAxMDAwMDAwKTo6aW50IGFzIGk1LAogICAgICAocmFu ZG9tKCkgKiAxMDAwMDAwKTo6aW50IGFzIGk2CiAgICBGUk9NCi0gIGdlbmVyYXRlX3Nlcmllcygx LDEwMDAwMDAwKTsKLVNFTEVDVCAxMDAwMDAwMAorICBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAwMCk7 CitTRUxFQ1QgMTAwMDAKID0jIENSRUFURSBJTkRFWCBibG9vbWlkeCBPTiB0Ymxvb20gVVNJTkcg Ymxvb20gKGkxLCBpMiwgaTMsIGk0LCBpNSwgaTYpOwogQ1JFQVRFIElOREVYCiA9IyBTRUxFQ1Qg cGdfc2l6ZV9wcmV0dHkocGdfcmVsYXRpb25fc2l6ZSgnYmxvb21pZHgnKSk7Ci0gcGdfc2l6ZV9w cmV0dHkKKyBwZ19zaXplX3ByZXR0eSAKIC0tLS0tLS0tLS0tLS0tLS0KLSAxNTMgTUIKKyAxNjgg a0IKICgxIHJvdykKID0jIENSRUFURSBpbmRleCBidHJlZWlkeCBPTiB0Ymxvb20gKGkxLCBpMiwg aTMsIGk0LCBpNSwgaTYpOwogQ1JFQVRFIElOREVYCiA9IyBTRUxFQ1QgcGdfc2l6ZV9wcmV0dHko cGdfcmVsYXRpb25fc2l6ZSgnYnRyZWVpZHgnKSk7Ci0gcGdfc2l6ZV9wcmV0dHkKKyBwZ19zaXpl X3ByZXR0eSAKIC0tLS0tLS0tLS0tLS0tLS0KLSAzODcgTUIKKyA0MTYga0IKICgxIHJvdykKIDwv cHJvZ3JhbWxpc3Rpbmc+CiAKICAgPHBhcmE+Ci0gICBBIHNlcXVlbnRpYWwgc2NhbiBvdmVyIHRo aXMgbGFyZ2UgdGFibGUgdGFrZXMgYSBsb25nIHRpbWU6CisgICBXaWh0b3V0IHRoZSB0d28gaW5k ZXhlcyBiZWluZyBjcmVhdGVkLCBhIHBhcmFsbGVsIHNlcXVlbnRpYWwgc2NhbiB3aWxsIGhhcHBl biBmb3IgdGhlIHF1ZXJ5IGJlbG93OiAKIDxwcm9ncmFtbGlzdGluZz4KID0jIEVYUExBSU4gQU5B TFlaRSBTRUxFQ1QgKiBGUk9NIHRibG9vbSBXSEVSRSBpMiA9IDg5ODczMiBBTkQgaTUgPSAxMjM0 NTE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVF UlkgUExBTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSZ6d3NwOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0gU2VxIFNjYW4gb24gdGJsb29tICAoY29zdD0wLjAwLi4yMTM2OTQuMDggcm93 cz0xIHdpZHRoPTI0KSAoYWN0dWFsIHRpbWU9MTQ0NS40MzguLjE0NDUuNDM4IHJvd3M9MCBsb29w cz0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBTZXEgU2NhbiBvbiB0Ymxvb20g IChjb3N0PTAuMDAuLjIxNC4wMCByb3dzPTEgd2lkdGg9MjQpIChhY3R1YWwgdGltZT0yLjcyOS4u Mi43MzEgcm93cz0wIGxvb3BzPTEpCiAgICBGaWx0ZXI6ICgoaTIgPSA4OTg3MzIpIEFORCAoaTUg PSAxMjM0NTEpKQotICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogMTAwMDAwMDAKLSBQbGFubmlu ZyB0aW1lOiAwLjE3NyBtcwotIEV4ZWN1dGlvbiB0aW1lOiAxNDQ1LjQ3MyBtcworICAgUm93cyBS ZW1vdmVkIGJ5IEZpbHRlcjogMTAwMDAKKyBQbGFubmluZyBUaW1lOiAwLjI1NyBtcworIEV4ZWN1 dGlvbiBUaW1lOiAyLjc2NCBtcwogKDUgcm93cykKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgIDwvcGFy YT4KIAogICA8cGFyYT4KICAgIFNvIHRoZSBwbGFubmVyIHdpbGwgdXN1YWxseSBzZWxlY3QgYW4g aW5kZXggc2NhbiBpZiBwb3NzaWJsZS4KLSAgIFdpdGggYSBidHJlZSBpbmRleCwgd2UgZ2V0IHJl c3VsdHMgbGlrZSB0aGlzOgorICAgQnV0IGV2ZW4gd2l0aCB0aGUgYnRyZWUgaW5kZXggZGVmaW5l ZCB0aGUgcmVzdWx0IHdpbGwgc3RpbGwgYmUgYSBzZXF1ZW50aWFsIHNjYW46CiA8cHJvZ3JhbWxp c3Rpbmc+CiA9IyBFWFBMQUlOIEFOQUxZWkUgU0VMRUNUICogRlJPTSB0Ymxvb20gV0hFUkUgaTIg PSA4OTg3MzIgQU5EIGk1ID0gMTIzNDUxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJnp3c3A7 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotIEluZGV4IE9ubHkgU2NhbiB1c2luZyBidHJlZWlkeCBvbiB0Ymxvb20gIChjb3N0PTAu NTYuLjI5ODMxMS45NiByb3dzPTEgd2lkdGg9MjQpIChhY3R1YWwgdGltZT00NDUuNzA5Li40NDUu NzA5IHJvd3M9MCBsb29wcz0xKQotICAgSW5kZXggQ29uZDogKChpMiA9IDg5ODczMikgQU5EIChp NSA9IDEyMzQ1MSkpCi0gICBIZWFwIEZldGNoZXM6IDAKLSBQbGFubmluZyB0aW1lOiAwLjE5MyBt cwotIEV4ZWN1dGlvbiB0aW1lOiA0NDUuNzcwIG1zCi0oNSByb3dzKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgR2F0aGVyICAoY29zdD0xMDAwLjAwLi4xMjcyMjAuMDAgcm93cz0yNTAgd2lk dGg9MjQpIChhY3R1YWwgdGltZT0yMTkxLjkwNy4uMjI3MS4xNTQgcm93cz0wIGxvb3BzPTEpCisg ICBXb3JrZXJzIFBsYW5uZWQ6IDIKKyAgIFdvcmtlcnMgTGF1bmNoZWQ6IDIKKyAgIC0+ICBQYXJh bGxlbCBTZXEgU2NhbiBvbiB0Ymxvb20gIChjb3N0PTAuMDAuLjEyNjE5NS4wMCByb3dzPTEwNCB3 aWR0aD0yNCkgKGFjdHVhbCB0aW1lPTE1OTEuNTQ2Li4xNTkxLjU0NyByb3dzPTAgbG9vcHM9MykK KyAgICAgICAgIEZpbHRlcjogKChpMiA9IDg5ODczMikgQU5EIChpNSA9IDEyMzQ1MSkpCisgICAg ICAgICBSb3dzIFJlbW92ZWQgYnkgRmlsdGVyOiAzMzMzMzMzCisgUGxhbm5pbmcgVGltZTogMzEu OTg1IG1zCisgSklUOgorICAgRnVuY3Rpb25zOiA2CisgICBPcHRpb25zOiBJbmxpbmluZyBmYWxz ZSwgT3B0aW1pemF0aW9uIGZhbHNlLCBFeHByZXNzaW9ucyB0cnVlLCBEZWZvcm1pbmcgdHJ1ZQor ICAgVGltaW5nOiBHZW5lcmF0aW9uIDQ2OC44MTQgbXMsIElubGluaW5nIDAuMDAwIG1zLCBPcHRp bWl6YXRpb24gNjcuNjIyIG1zLCBFbWlzc2lvbiA5Ny40MDYgbXMsIFRvdGFsIDYzMy44NDIgbXMK KyBFeGVjdXRpb24gVGltZTogMjc0NS43NDUgbXMKKygxMiByb3dzKQogPC9wcm9ncmFtbGlzdGlu Zz4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgotICAgQmxvb20gaXMgYmV0dGVyIHRoYW4gYnRyZWUg aW4gaGFuZGxpbmcgdGhpcyB0eXBlIG9mIHNlYXJjaDoKKyAgIEhhdmluZyB0aGUgYmxvb20gaW5k ZXggZGVmaW5lZCBvbiB0aGUgdGFibGUgaXMgYmV0dGVyIHRoYW4gYnRyZWUgaW4gaGFuZGxpbmcg dGhpcyB0eXBlIG9mIHNlYXJjaDoKIDxwcm9ncmFtbGlzdGluZz4KID0jIEVYUExBSU4gQU5BTFla RSBTRUxFQ1QgKiBGUk9NIHRibG9vbSBXSEVSRSBpMiA9IDg5ODczMiBBTkQgaTUgPSAxMjM0NTE7 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFFVRVJZIFBMQU4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0mendzcDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIEJpdG1hcCBIZWFwIFNjYW4gb24gdGJsb29t ICAoY29zdD0xNzg0MzUuMzkuLjE3ODQzOS40MSByb3dzPTEgd2lkdGg9MjQpIChhY3R1YWwgdGlt ZT03Ni42OTguLjc2LjY5OCByb3dzPTAgbG9vcHM9MSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBCaXRtYXAgSGVhcCBTY2Fu IG9uIHRibG9vbSAgKGNvc3Q9MTg0LjAwLi4xODguMDIgcm93cz0xIHdpZHRoPTI0KSAoYWN0dWFs IHRpbWU9MC4yMTIuLjAuMjE1IHJvd3M9MCBsb29wcz0xKQogICAgUmVjaGVjayBDb25kOiAoKGky ID0gODk4NzMyKSBBTkQgKGk1ID0gMTIzNDUxKSkKLSAgIFJvd3MgUmVtb3ZlZCBieSBJbmRleCBS ZWNoZWNrOiAyNDM5Ci0gICBIZWFwIEJsb2NrczogZXhhY3Q9MjQwOAotICAgLSZndDsgIEJpdG1h cCBJbmRleCBTY2FuIG9uIGJsb29taWR4ICAoY29zdD0wLjAwLi4xNzg0MzUuMzkgcm93cz0xIHdp ZHRoPTApIChhY3R1YWwgdGltZT03Mi40NTUuLjcyLjQ1NSByb3dzPTI0MzkgbG9vcHM9MSkKKyAg IFJvd3MgUmVtb3ZlZCBieSBJbmRleCBSZWNoZWNrOiAzCisgICBIZWFwIEJsb2NrczogZXhhY3Q9 MworICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIGJsb29taWR4ICAoY29zdD0wLjAwLi4xODQu MDAgcm93cz0xIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjEzNS4uMC4xMzYgcm93cz0zIGxvb3Bz PTEpCiAgICAgICAgICBJbmRleCBDb25kOiAoKGkyID0gODk4NzMyKSBBTkQgKGk1ID0gMTIzNDUx KSkKLSBQbGFubmluZyB0aW1lOiAwLjQ3NSBtcwotIEV4ZWN1dGlvbiB0aW1lOiA3Ni43NzggbXMK KyBQbGFubmluZyBUaW1lOiAwLjQ2NiBtcworIEV4ZWN1dGlvbiBUaW1lOiAwLjI3MiBtcwogKDgg cm93cykKIDwvcHJvZ3JhbWxpc3Rpbmc+Ci0gICBOb3RlIHRoZSByZWxhdGl2ZWx5IGxhcmdlIG51 bWJlciBvZiBmYWxzZSBwb3NpdGl2ZXM6IDI0Mzkgcm93cyB3ZXJlCisgICBOb3RlIHRoZSBudW1i ZXIgb2YgZmFsc2UgcG9zaXRpdmVzOiAzIHJvd3Mgd2VyZQogICAgc2VsZWN0ZWQgdG8gYmUgdmlz aXRlZCBpbiB0aGUgaGVhcCwgYnV0IG5vbmUgYWN0dWFsbHkgbWF0Y2hlZCB0aGUKICAgIHF1ZXJ5 LiAgV2UgY291bGQgcmVkdWNlIHRoYXQgYnkgc3BlY2lmeWluZyBhIGxhcmdlciBzaWduYXR1cmUg bGVuZ3RoLgotICAgSW4gdGhpcyBleGFtcGxlLCBjcmVhdGluZyB0aGUgaW5kZXggd2l0aCA8bGl0 ZXJhbD5sZW5ndGg9MjAwPC9saXRlcmFsPgotICAgcmVkdWNlZCB0aGUgbnVtYmVyIG9mIGZhbHNl IHBvc2l0aXZlcyB0byA1NTsgYnV0IGl0IGRvdWJsZWQgdGhlIGluZGV4IHNpemUKLSAgICh0byAz MDYgTUIpIGFuZCBlbmRlZCB1cCBiZWluZyBzbG93ZXIgZm9yIHRoaXMgcXVlcnkgKDEyNSBtcyBv dmVyYWxsKS4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgpAQCAtMTg4LDI0ICsxOTIsNDQgQEAgQ1JF QVRFIElOREVYCiAgICBUaGVuIHRoZSBwbGFubmVyIHdpbGwgY2hvb3NlIHNvbWV0aGluZyBsaWtl IHRoaXM6CiA8cHJvZ3JhbWxpc3Rpbmc+CiA9IyBFWFBMQUlOIEFOQUxZWkUgU0VMRUNUICogRlJP TSB0Ymxvb20gV0hFUkUgaTIgPSA4OTg3MzIgQU5EIGk1ID0gMTIzNDUxOwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0mendzcDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotIEJpdG1hcCBIZWFwIFNjYW4gb24gdGJsb29tICAoY29zdD05 LjI5Li4xMy4zMCByb3dzPTEgd2lkdGg9MjQpIChhY3R1YWwgdGltZT0wLjE0OC4uMC4xNDggcm93 cz0wIGxvb3BzPTEpCi0gICBSZWNoZWNrIENvbmQ6ICgoaTUgPSAxMjM0NTEpIEFORCAoaTIgPSA4 OTg3MzIpKQotICAgLSZndDsgIEJpdG1hcEFuZCAgKGNvc3Q9OS4yOS4uOS4yOSByb3dzPTEgd2lk dGg9MCkgKGFjdHVhbCB0aW1lPTAuMTQ1Li4wLjE0NSByb3dzPTAgbG9vcHM9MSkKLSAgICAgICAg IC0mZ3Q7ICBCaXRtYXAgSW5kZXggU2NhbiBvbiB0Ymxvb21faTVfaWR4ICAoY29zdD0wLjAwLi40 LjUyIHJvd3M9MTEgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTAuMDg5Li4wLjA4OSByb3dzPTEwIGxv b3BzPTEpCi0gICAgICAgICAgICAgICBJbmRleCBDb25kOiAoaTUgPSAxMjM0NTEpCi0gICAgICAg ICAtJmd0OyAgQml0bWFwIEluZGV4IFNjYW4gb24gdGJsb29tX2kyX2lkeCAgKGNvc3Q9MC4wMC4u NC41MiByb3dzPTExIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjA0OC4uMC4wNDggcm93cz04IGxv b3BzPTEpCi0gICAgICAgICAgICAgICBJbmRleCBDb25kOiAoaTIgPSA4OTg3MzIpCi0gUGxhbm5p bmcgdGltZTogMi4wNDkgbXMKLSBFeGVjdXRpb24gdGltZTogMC4yODAgbXMKLSg5IHJvd3MpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVS WSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBJbmRleCBTY2FuIHVzaW5nIHRibG9vbV9pMl9pZHggb24gdGJsb29tICAo Y29zdD0wLjI5Li44LjMwIHJvd3M9MSB3aWR0aD0yNCkgKGFjdHVhbCB0aW1lPTAuMDUxLi4wLjA1 MiByb3dzPTAgbG9vcHM9MSkKKyAgIEluZGV4IENvbmQ6IChpMiA9IDg5ODczMikKKyAgIEZpbHRl cjogKGk1ID0gMTIzNDUxKQorIFBsYW5uaW5nIFRpbWU6IDAuNzQ5IG1zCisgRXhlY3V0aW9uIFRp bWU6IDAuMTUyIG1zCisoNSByb3dzKQogPC9wcm9ncmFtbGlzdGluZz4KICAgIEFsdGhvdWdoIHRo aXMgcXVlcnkgcnVucyBtdWNoIGZhc3RlciB0aGFuIHdpdGggZWl0aGVyIG9mIHRoZSBzaW5nbGUK ICAgIGluZGV4ZXMsIHdlIHBheSBhIGxhcmdlIHBlbmFsdHkgaW4gaW5kZXggc2l6ZS4gIEVhY2gg b2YgdGhlIHNpbmdsZS1jb2x1bW4KLSAgIGJ0cmVlIGluZGV4ZXMgb2NjdXBpZXMgMjE0IE1CLCBz byB0aGUgdG90YWwgc3BhY2UgbmVlZGVkIGlzIG92ZXIgMS4yR0IsCisgICBidHJlZSBpbmRleGVz IG9jY3VwaWVzIDI0MCBrQiwgc28gdGhlIHRvdGFsIHNwYWNlIG5lZWRlZCBpcyBvdmVyIDEuMk1C LAogICAgbW9yZSB0aGFuIDggdGltZXMgdGhlIHNwYWNlIHVzZWQgYnkgdGhlIGJsb29tIGluZGV4 LgogICA8L3BhcmE+CisgIDxwYXJhPgorICAgVGhlIG1vcmUgcm93cyB0aGUgYmFzZSB0YWJsZXMg Y29udGFpbnMsIHRoZSBtb3JlIGxpa2VseSBpdCBpcyB0aGF0IHBhcmFsbGVsCisgICBleGVjdXRp b24gd2lsbCBraWNrIGluLiBSZXBsYXlpbmcgdGhlIGV4YW1wbGUgd2l0aCAxMDAwMDAwMCBpbnN0 ZWFkCisgICBvZiAxMDAwMDAgcm93cyB3aWxsIHNob3cgdGhlIGVmZmVjdDoKKzxwcm9ncmFtbGlz dGluZz4KKyMgRVhQTEFJTiBBTkFMWVpFIFNFTEVDVCAqIEZST00gdGJsb29tIFdIRVJFIGkyID0g ODk4NzMyIEFORCBpNSA9IDEyMzQ1MTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdhdGhl ciAgKGNvc3Q9MTAwMC4wMC4uMTI3MjIwLjAwIHJvd3M9MjUwIHdpZHRoPTI0KSAoYWN0dWFsIHRp bWU9MjM5Ni4zODQuLjI0OTQuNjIzIHJvd3M9MCBsb29wcz0xKQorICAgV29ya2VycyBQbGFubmVk OiAyCisgICBXb3JrZXJzIExhdW5jaGVkOiAyCisgICAtPiAgUGFyYWxsZWwgU2VxIFNjYW4gb24g dGJsb29tICAoY29zdD0wLjAwLi4xMjYxOTUuMDAgcm93cz0xMDQgd2lkdGg9MjQpIChhY3R1YWwg dGltZT0yMTE2LjI5Ni4uMjExNi4yOTcgcm93cz0wIGxvb3BzPTMpCisgICAgICAgICBGaWx0ZXI6 ICgoaTIgPSA4OTg3MzIpIEFORCAoaTUgPSAxMjM0NTEpKQorICAgICAgICAgUm93cyBSZW1vdmVk IGJ5IEZpbHRlcjogMzMzMzMzMworIFBsYW5uaW5nIFRpbWU6IDAuODUyIG1zCisgSklUOgorICAg RnVuY3Rpb25zOiA2CisgICBPcHRpb25zOiBJbmxpbmluZyBmYWxzZSwgT3B0aW1pemF0aW9uIGZh bHNlLCBFeHByZXNzaW9ucyB0cnVlLCBEZWZvcm1pbmcgdHJ1ZQorICAgVGltaW5nOiBHZW5lcmF0 aW9uIDYyLjExMCBtcywgSW5saW5pbmcgMC4wMDAgbXMsIE9wdGltaXphdGlvbiAxMTYuMTkxIG1z LCBFbWlzc2lvbiAxMDQuNzUwIG1zLCBUb3RhbCAyODMuMDUxIG1zCisgRXhlY3V0aW9uIFRpbWU6 IDI1NTguOTQ1IG1zCisoMTIgcm93cykKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIEluIHRoaXMgY2Fz ZSB0aGUgYmxvb20gaW5kZXggYXMgd2VsbCBhcyB0aGUgYnRyZWUgaW5kZXggZG8gbm90IGhlbHAg Zm9yIHRoaXMgcXVlcnkuCisgIDwvcGFyYT4KICA8L3NlY3QyPgogCiAgPHNlY3QyPgo= --_002_GVAP278MB01028F3C84C0A724412854EDD20B0GVAP278MB0102CHEP_--