Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sgxrn-00B0RT-Ho for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Aug 2024 02:48:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sgxrl-00GQzQ-JE for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Aug 2024 02:48:02 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sgxrl-00GQzI-6m for pgsql-hackers@lists.postgresql.org; Thu, 22 Aug 2024 02:48:01 +0000 Received: from mail-vk1-xa2f.google.com ([2607:f8b0:4864:20::a2f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sgxrh-000scB-QG for pgsql-hackers@postgresql.org; Thu, 22 Aug 2024 02:48:01 +0000 Received: by mail-vk1-xa2f.google.com with SMTP id 71dfb90a1353d-4fce9f16f83so137836e0c.1 for ; Wed, 21 Aug 2024 19:47:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724294877; x=1724899677; darn=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=/aHHiFaO1MgLHOMXxB17s8bavUk+npp0mh6kVmxbcmo=; b=Gz3a3jQ621YVLeSQ5O6pqYmqrArRV3KdD7Nw2Z8axR3UrFbGAbG9E6tubSebarMS+b NlD8zC96Gjl+3GyiIuBYMYIkb4v7PWscXsLA6IpN5LK2eSEs7PDn/VV+9gHZKACKCWQo sPTyly7i6J/BvcmMx5/X4fNMLP0KDV0qFFr8AjXwGVDQnZ/sTqGlSyJC6ik0i2k6h3x5 r1DSV4/AlrpRyT3Auo48d+FXxiAe3ja7qPVt6Te9LHRVxHtEf6chDKck5zyjTYlljsAs Qme61pG8Eenkfme2o2/8OWElzb29drEzmleWUSEk44PP9DhS73+m+mZeMxs8sPs/iM0a KRtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724294877; x=1724899677; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/aHHiFaO1MgLHOMXxB17s8bavUk+npp0mh6kVmxbcmo=; b=sfm3uiy/t/6BP69MrUC6SAnY8673sNpKCh8z1eyZ2tiqxPrq34Ijx9votV+V/EcqNM 6/HVx4ElEnWh97xLV/o0MfSccfNF9MEe6DAUCaLndwQ1i5NtT38s5KhiAs0N+F/J/tD1 +vskAfnH9curlkqLTi24XOywENANH7ClkwrqavctDZUv3zi7/EJ5Inl6r/tJQ+nD04bC CzzH+Ck7OWyfYuBcE8nQ7XagpQJj2fzKsjTNVdmjiuhk1w2Xsq/xoAQNMn93lOr5z20i 7s1KMDVRnJ/7DTODL0+q391Ih3+si+Teq82+YgvLIa8SnKISmS5BLR7n3461lCPd64Bm rVBQ== X-Forwarded-Encrypted: i=1; AJvYcCUFH68EudWsQKK8CatGoHUFRJ0qx2vc0xSF+YlvUZ1mGIYcu+fL0ReTzGNu2QQCGf2135RDPrh+o5AVLWZp@postgresql.org X-Gm-Message-State: AOJu0YygLUUM4eFGbNqQ5pbqPArMLHUBRrjwZG3TC4e2ySuqg7esR7+b QJua0wC8g+OTk6qrKl4ZDOyD7NiX3RYikxz2ljMfGtmP6/gd1sqIiNqejYJcKjRVVpMJVjaokDC sgN0r2D/5j39g9fcYbVdkOrvs7lgjTEkCoEkSTQ== X-Google-Smtp-Source: AGHT+IHW8x3L2f+MTq+1rc3lIfK0mHnuwupibCiDv1fXo0Wqpa/LKt8vxUz4HCtnaWGfV0t9QAboZdDYXGK5MIYut+s= X-Received: by 2002:a05:6122:3191:b0:4f2:d451:97da with SMTP id 71dfb90a1353d-4fcf1d58e1emr5031031e0c.12.1724294876770; Wed, 21 Aug 2024 19:47:56 -0700 (PDT) MIME-Version: 1.0 References: <53c47c2d-72a5-44f2-900c-9973b2af1808@tantorlabs.com> <4a902cea-54fb-41b5-b208-b84731a5f577@postgrespro.ru> <78394e29-a900-4af4-b5ce-d6eb2d263fad@postgrespro.ru> In-Reply-To: <78394e29-a900-4af4-b5ce-d6eb2d263fad@postgrespro.ru> From: jian he Date: Thu, 22 Aug 2024 10:47:00 +0800 Message-ID: Subject: Re: Vacuum statistics To: Alena Rybakina Cc: Ilia Evdokimov , Andrei Zubkov , Alena Rybakina , pgsql-hackers , a.lepikhov@postgrespro.ru Content-Type: multipart/mixed; boundary="0000000000009ed57606203caf93" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009ed57606203caf93 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Aug 21, 2024 at 6:37=E2=80=AFAM Alena Rybakina wrote: > > We check it there: "tabentry->vacuum_ext.type !=3D type". Or were you tal= king about something else? > > On 19.08.2024 12:32, jian he wrote: > > in pg_stats_vacuum > if (type =3D=3D PGSTAT_EXTVAC_INDEX || type =3D=3D PGSTAT_EXTVAC_HEAP= ) > { > Oid relid =3D PG_GETARG_OID(1); > > /* Load table statistics for specified database. */ > if (OidIsValid(relid)) > { > tabentry =3D fetch_dbstat_tabentry(dbid, relid); > if (tabentry =3D=3D NULL || tabentry->vacuum_ext.type !=3D ty= pe) > /* Table don't exists or isn't an heap relation. */ > PG_RETURN_NULL(); > > tuplestore_put_for_relation(relid, rsinfo, tabentry); > } > else > { > } > > > So for functions pg_stat_vacuum_indexes and pg_stat_vacuum_tables, > it seems you didn't check "relid" 's relkind, > you may need to use get_rel_relkind. > > -- hi. I mentioned some points at [1], Please check the attached patchset to address these issues. there are four occurrences of "CurrentDatabaseId", i am still confused with usage of CurrentDatabaseId. also please don't top-post, otherwise the archive, like [2] is not easier to read for future readers. generally you quote first, then reply. [1] https://postgr.es/m/CACJufxHb_YGCp=3DpVH6DZcpk9yML+SueffPeaRbX2LzXZVahd= _w@mail.gmail.com [2] https://postgr.es/m/78394e29-a900-4af4-b5ce-d6eb2d263fad@postgrespro.ru --0000000000009ed57606203caf93 Content-Type: application/octet-stream; name="v6-0002-minor-doc-change-to-make-build-successfuly.no-cfbot" Content-Disposition: attachment; filename="v6-0002-minor-doc-change-to-make-build-successfuly.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m04o55j12 RnJvbSAwYjNjZDQ2ODM3MDViNjliMjM3MTI0MzUwOTZlNTBiZDRiNGExNzY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjIgQXVnIDIwMjQgMDk6MTk6MjggKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDIvNF0gbWlub3IgZG9jIGNoYW5nZSB0byBtYWtlIGJ1aWxkIHN1Y2Nlc3NmdWx5LgoKdGhlIGRv YyBtYXkgc3RpbGwgaGF2ZSBvdGhlciBwcm9ibGVtcywgYnV0IG5vdyBsZXQncyBtYWtlIGl0IGJ1 aWxkLgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdz LnNnbWwKaW5kZXggNDJkM2FkMjE0OC4uOGNiY2NkYzRhNCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3N5c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dt bApAQCAtNTM2MCw3ICs1MzYwLDcgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpP SU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mg b2YgdGhpcyBpbmRleCB3ZXJlIGFscmVhZHkgZm91bmQKICAgICAgICAgaW4gdGhlIGJ1ZmZlciBj YWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3Nh cnkKICAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQotICAgICAgICAmcHJv amVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9wZXJhdGluZyBzeXN0ZW0ncyBmaWxlIHN5c3Rl bSBjYWNoZSkKKyAgICAgICAgcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9wZXJhdGlu ZyBzeXN0ZW0ncyBmaWxlIHN5c3RlbSBjYWNoZSkKICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAg ICA8L3Jvdz4KIApAQCAtNTYwMSw3ICs1NjAxLDcgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBw bCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFjdHMgcHB4CiAgICAgICAgIE51bWJlciBvZiB0aW1l cyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91bmQKICAgICAgICAgaW4gdGhl IGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5v dCBuZWNlc3NhcnkKICAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQotICAg ICAgICAmcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9wZXJhdGluZyBzeXN0ZW0ncyBm aWxlIHN5c3RlbSBjYWNoZSkKKyAgICAgICAgcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhl IG9wZXJhdGluZyBzeXN0ZW0ncyBmaWxlIHN5c3RlbSBjYWNoZSkKICAgICAgIDwvcGFyYT48L2Vu dHJ5PgogICAgICA8L3Jvdz4KIAotLSAKMi4zNC4xCgo= --0000000000009ed57606203caf93 Content-Type: application/octet-stream; name="v6-0001-minor-refactor-pg_stats_vacuum-and-sub-routine.no-cfbot" Content-Disposition: attachment; filename="v6-0001-minor-refactor-pg_stats_vacuum-and-sub-routine.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m04o55j23 RnJvbSA5Y2ZkODNiMGJhNDMzMTBiYzJiMzVjNTcwZjU1OTAyNzUwMDE2YTBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjIgQXVnIDIwMjQgMDk6MTc6MjIgKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDEvNF0gbWlub3IgcmVmYWN0b3IgcGdfc3RhdHNfdmFjdXVtIGFuZCBzdWItcm91dGluZXMKCi0t LQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgfCA0NSArKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDMyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5j cy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggMGM0OTBiYTVm MS4uNDU4MDk2OTUwZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1 bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIwNzgs OCArMjA3OCw4IEBAIGZldGNoX2Ric3RhdF90YWJlbnRyeShPaWQgZGJpZCwgT2lkIHJlbGlkKQog fQogCiBzdGF0aWMgdm9pZAotdHVwbGVzdG9yZV9wdXRfZm9yX2RhdGFiYXNlKE9pZCBkYmlkLCBU dXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3JlLAotCQkJICAgVHVwbGVEZXNjIHR1cGRlc2MsIFBnU3Rh dFNoYXJlZF9EYXRhYmFzZSAqZGJlbnRyeSwgaW50IG5jb2x1bW5zKQordHVwbGVzdG9yZV9wdXRf Zm9yX2RhdGFiYXNlKE9pZCBkYmlkLCBSZXR1cm5TZXRJbmZvICpyc2luZm8sCisJCQkJCQkJUGdT dGF0U2hhcmVkX0RhdGFiYXNlICpkYmVudHJ5KQogewogCURhdHVtCQl2YWx1ZXNbRVhUVkFDREJT VEFUX0NPTFVNTlNdOwogCWJvb2wJCW51bGxzW0VYVFZBQ0RCU1RBVF9DT0xVTU5TXTsKQEAgLTIx MTMsMTUgKzIxMTMsMTQgQEAgdHVwbGVzdG9yZV9wdXRfZm9yX2RhdGFiYXNlKE9pZCBkYmlkLCBU dXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3JlLAogCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC50b3RhbF90aW1lKTsKIAl2YWx1ZXNbaSsrXSA9IElu dDMyR2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC5pbnRlcnJ1cHRzKTsKIAorCUFz c2VydChpID09IHJzaW5mby0+c2V0RGVzYy0+bmF0dHMpOwogCi0JQXNzZXJ0KGkgPT0gbmNvbHVt bnMpOwotCi0JdHVwbGVzdG9yZV9wdXR2YWx1ZXModHVwc3RvcmUsIHR1cGRlc2MsIHZhbHVlcywg bnVsbHMpOworCXR1cGxlc3RvcmVfcHV0dmFsdWVzKHJzaW5mby0+c2V0UmVzdWx0LCByc2luZm8t PnNldERlc2MsIHZhbHVlcywgbnVsbHMpOwogfQogCiBzdGF0aWMgdm9pZAotdHVwbGVzdG9yZV9w dXRfZm9yX3JlbGF0aW9uKE9pZCByZWxpZCwgVHVwbGVzdG9yZXN0YXRlICp0dXBzdG9yZSwKLQkJ CSAgIFR1cGxlRGVzYyB0dXBkZXNjLCBQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeSwgaW50 IG5jb2x1bW5zKQordHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKE9pZCByZWxpZCwgUmV0dXJu U2V0SW5mbyAqcnNpbmZvLAorCQkJCQkJCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5KQog ewogCURhdHVtCQl2YWx1ZXNbRVhUVkFDU1RBVF9DT0xVTU5TXTsKIAlib29sCQludWxsc1tFWFRW QUNTVEFUX0NPTFVNTlNdOwpAQCAtMjE3OSw5ICsyMTc4LDggQEAgdHVwbGVzdG9yZV9wdXRfZm9y X3JlbGF0aW9uKE9pZCByZWxpZCwgVHVwbGVzdG9yZXN0YXRlICp0dXBzdG9yZSwKIAl2YWx1ZXNb aSsrXSA9IEZsb2F0OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX3RpbWUpOwog CXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1 cHRzKTsKIAotCUFzc2VydChpID09IG5jb2x1bW5zKTsKLQotCXR1cGxlc3RvcmVfcHV0dmFsdWVz KHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKTsKKwlBc3NlcnQoaSA9PSByc2luZm8t PnNldERlc2MtPm5hdHRzKTsKKwl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNldFJlc3Vs dCwgcnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsKIH0KIAogLyoKQEAgLTIxOTEsMTAg KzIxODksNiBAQCBzdGF0aWMgRGF0dW0KIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZv IGZjaW5mbywgRXh0VmFjUmVwb3J0VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMpCiB7CiAJUmV0dXJu U2V0SW5mbwkJICAgKnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5m bzsKLQlNZW1vcnlDb250ZXh0CQkJcGVyX3F1ZXJ5X2N0eDsKLQlNZW1vcnlDb250ZXh0CQkJb2xk Y29udGV4dDsKLQlUdXBsZXN0b3Jlc3RhdGUJCSAgICp0dXBzdG9yZTsKLQlUdXBsZURlc2MJCQkJ dHVwZGVzYzsKIAlPaWQJCQkJCQlkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlQZ1N0YXRfU3Rh dFRhYkVudHJ5ICAgICp0YWJlbnRyeTsKIApAQCAtMjIwNSwyMiArMjE5OSw5IEBAIHBnX3N0YXRz X3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgRXh0VmFjUmVwb3J0VHlwZSB0eXBlLCBp bnQgbmNvbHVtbnMpCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFU VVJFX05PVF9TVVBQT1JURUQpLAogCQkJCSBlcnJtc2coInNldC12YWx1ZWQgZnVuY3Rpb24gY2Fs bGVkIGluIGNvbnRleHQgdGhhdCBjYW5ub3QgYWNjZXB0IGEgc2V0IikpKTsKLQkvKiBTd2l0Y2gg dG8gbG9uZy1saXZlZCBjb250ZXh0IHRvIGNyZWF0ZSB0aGUgcmV0dXJuZWQgZGF0YSBzdHJ1Y3R1 cmVzICovCi0JcGVyX3F1ZXJ5X2N0eCA9IHJzaW5mby0+ZWNvbnRleHQtPmVjeHRfcGVyX3F1ZXJ5 X21lbW9yeTsKLQlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKHBlcl9xdWVyeV9j dHgpOwogCi0JLyogQnVpbGQgYSB0dXBsZSBkZXNjcmlwdG9yIGZvciBvdXIgcmVzdWx0IHR5cGUg Ki8KLQlpZiAoZ2V0X2NhbGxfcmVzdWx0X3R5cGUoZmNpbmZvLCBOVUxMLCAmdHVwZGVzYykgIT0g VFlQRUZVTkNfQ09NUE9TSVRFKQotCQllbG9nKEVSUk9SLCAicmV0dXJuIHR5cGUgbXVzdCBiZSBh IHJvdyB0eXBlIik7Ci0KLQlBc3NlcnQodHVwZGVzYy0+bmF0dHMgPT0gbmNvbHVtbnMpOwotCi0J dHVwc3RvcmUgPSB0dXBsZXN0b3JlX2JlZ2luX2hlYXAodHJ1ZSwgZmFsc2UsIHdvcmtfbWVtKTsK LQlBc3NlcnQgKHR1cHN0b3JlICE9IE5VTEwpOwotCXJzaW5mby0+c2V0UmVzdWx0ID0gdHVwc3Rv cmU7Ci0JcnNpbmZvLT5zZXREZXNjID0gdHVwZGVzYzsKLQotCU1lbW9yeUNvbnRleHRTd2l0Y2hU byhvbGRjb250ZXh0KTsKKwlBc3NlcnQocnNpbmZvLT5zZXREZXNjLT5uYXR0cyA9PSBuY29sdW1u cyk7CisJQXNzZXJ0KHJzaW5mby0+c2V0UmVzdWx0ICE9IE5VTEwpOwogCiAJaWYgKHR5cGUgPT0g UEdTVEFUX0VYVFZBQ19JTkRFWCB8fCB0eXBlID09IFBHU1RBVF9FWFRWQUNfSEVBUCkKIAl7CkBA IC0yMjM0LDcgKzIyMTUsNyBAQCBwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBmY2lu Zm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1bW5zKQogCQkJCS8qIFRhYmxlIGRv bid0IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJlbGF0aW9uLiAqLwogCQkJCVBHX1JFVFVSTl9O VUxMKCk7CiAKLQkJCXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgdHVwc3RvcmUs IHR1cGRlc2MsIHRhYmVudHJ5LCBuY29sdW1ucyk7CisJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVs YXRpb24ocmVsaWQsIHJzaW5mbywgdGFiZW50cnkpOwogCQl9CiAJCWVsc2UKIAkJewpAQCAtMjI1 OSw3ICsyMjQwLDcgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBF eHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIAkJCQlyZWxvaWQgPSBlbnRyeS0+ a2V5Lm9iam9pZDsKIAogCQkJCWlmICh0YWJlbnRyeSAhPSBOVUxMICYmIHRhYmVudHJ5LT52YWN1 dW1fZXh0LnR5cGUgPT0gdHlwZSkKLQkJCQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJl bG9pZCwgdHVwc3RvcmUsIHR1cGRlc2MsIHRhYmVudHJ5LCBuY29sdW1ucyk7CisJCQkJCXR1cGxl c3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxvaWQsIHJzaW5mbywgdGFiZW50cnkpOwogCQkJfQog CQl9CiAJfQpAQCAtMjI4Miw3ICsyMjYzLDcgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2Fs bEluZm8gZmNpbmZvLCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIAkJCQkv KiBUYWJsZSBkb2Vzbid0IGV4aXN0IG9yIGlzbid0IGEgaGVhcCByZWxhdGlvbiAqLwogCQkJCVBH X1JFVFVSTl9OVUxMKCk7CiAKLQkJCXR1cGxlc3RvcmVfcHV0X2Zvcl9kYXRhYmFzZShkYmlkLCB0 dXBzdG9yZSwgdHVwZGVzYywgZGJlbnRyeSwgbmNvbHVtbnMpOworCQkJdHVwbGVzdG9yZV9wdXRf Zm9yX2RhdGFiYXNlKGRiaWQsIHJzaW5mbywgZGJlbnRyeSk7CiAJCQlwZ3N0YXRfdW5sb2NrX2Vu dHJ5KGVudHJ5X3JlZik7CiAJCX0KIAkJZWxzZQotLSAKMi4zNC4xCgo= --0000000000009ed57606203caf93 Content-Type: application/octet-stream; name="v6-0004-ensure-pg_stats_vacuum-object-is-either-relati.no-cfbot" Content-Disposition: attachment; filename="v6-0004-ensure-pg_stats_vacuum-object-is-either-relati.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m04o55is0 RnJvbSBkNTU1NDM5MTFkYzMxYjgzYjRlMjEwZjkwMTU2MjRlNzFkYzJhY2E4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjIgQXVnIDIwMjQgMDk6Mzk6MDIgKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDQvNF0gZW5zdXJlIHBnX3N0YXRzX3ZhY3V1bSBvYmplY3QgaXMgZWl0aGVyIHJlbGF0aW9uIG9y CiBpbmRleAoKLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyB8IDE1ICsr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDQ1ODA5Njk1MGUuLjE5MDhlYWYzYWYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi c3RvcmFnZS9wcm9jYXJyYXkuaCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1 dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUg InV0aWxzL3RpbWVzdGFtcC5oIgogI2luY2x1ZGUgInV0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIgog CkBAIC0yMTkxLDYgKzIxOTIsNyBAQCBwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBm Y2luZm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1bW5zKQogCVJldHVyblNldElu Zm8JCSAgICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8tPnJlc3VsdGluZm87CiAJ T2lkCQkJCQkJZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAg ICAqdGFiZW50cnk7CisJY2hhcgkJCQkJcmVsa2luZDsKIAogCUluaXRNYXRlcmlhbGl6ZWRTUkYo ZmNpbmZvLCAwKTsKIApAQCAtMjIxMCw2ICsyMjEyLDEyIEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5j dGlvbkNhbGxJbmZvIGZjaW5mbywgRXh0VmFjUmVwb3J0VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMp CiAJCS8qIExvYWQgdGFibGUgc3RhdGlzdGljcyBmb3Igc3BlY2lmaWVkIGRhdGFiYXNlLiAqLwog CQlpZiAoT2lkSXNWYWxpZChyZWxpZCkpCiAJCXsKKwkJCXJlbGtpbmQgPSAgZ2V0X3JlbF9yZWxr aW5kKHJlbGlkKTsKKwkJCWlmIChyZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04gJiYgcmVsa2lu ZCAhPSBSRUxLSU5EX0lOREVYKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShF UlJDT0RFX1dST05HX09CSkVDVF9UWVBFKSwKKwkJCQkJCSBlcnJtc2coIm9iamVjdCBcIiVkXCIg aXMgbm90IGEgdGFibGUgb3IgaW5kZXgiLCByZWxpZCkpKTsKKwogCQkJdGFiZW50cnkgPSBmZXRj aF9kYnN0YXRfdGFiZW50cnkoZGJpZCwgcmVsaWQpOwogCQkJaWYgKHRhYmVudHJ5ID09IE5VTEwg fHwgdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSAhPSB0eXBlKQogCQkJCS8qIFRhYmxlIGRvbid0 IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJlbGF0aW9uLiAqLwpAQCAtMjIzNCw2ICsyMjQyLDEz IEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgRXh0VmFjUmVwb3J0 VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMpCiAJCQl7CiAJCQkJT2lkCXJlbG9pZDsKIAorCQkJCS8v VE9ETyBkbyB3ZSBuZWVkIGRvIHRoaXM/CisJCQkJcmVsa2luZCA9ICBnZXRfcmVsX3JlbGtpbmQo cmVsaWQpOworCQkJCWlmIChyZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04gJiYgcmVsa2luZCAh PSBSRUxLSU5EX0lOREVYKQorCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2RlKEVS UkNPREVfV1JPTkdfT0JKRUNUX1RZUEUpLAorCQkJCQkJCSBlcnJtc2coIm9iamVjdCBcIiVkXCIg aXMgbm90IGEgdGFibGUgb3IgaW5kZXgiLCByZWxpZCkpKTsKKwogCQkJCUNIRUNLX0ZPUl9JTlRF UlJVUFRTKCk7CiAKIAkJCQl0YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRhYkVudHJ5ICopIGVudHJ5 LT5kYXRhOwotLSAKMi4zNC4xCgo= --0000000000009ed57606203caf93 Content-Type: application/octet-stream; name="v6-0003-refactor-regression-test.no-cfbot" Content-Disposition: attachment; filename="v6-0003-refactor-regression-test.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m04o55iz1 RnJvbSBlNjZjNjgxMzllMTIzMmIyOTM3OGJjNzE1Y2U2MzNhY2Y5MmFkYmUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjIgQXVnIDIwMjQgMDk6MjI6MjcgKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDMvNF0gcmVmYWN0b3IgcmVncmVzc2lvbiB0ZXN0CgotLS0KIC4uLi92YWN1dW1fdGFibGVzX2Fu ZF9kYl9zdGF0aXN0aWNzLm91dCAgICAgICB8IDMwICsrKysrKysrKy0tLS0tLS0tLS0KIC4uLi9z cWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwgICB8IDE4ICsrKysrLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJf c3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNf YW5kX2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IGYwNTM3YWFjNDMuLjA4NWFhYjAxMjggMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3Rh dGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVz X2FuZF9kYl9zdGF0aXN0aWNzLm91dApAQCAtNiw5ICs2LDkgQEAKIC0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgogLS0gU3RhdGlzdGljIHdh bF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3Ig aXMgdW5zdGFibGUuCiAtLQotQ1JFQVRFIERBVEFCQVNFIHN0YXRpc3RpY192YWN1dW1fZGF0YWJh c2U7Ci1DUkVBVEUgREFUQUJBU0Ugc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFzZTE7Ci1cYyBzdGF0 aXN0aWNfdmFjdXVtX2RhdGFiYXNlOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwogLS0gY29uZGl0aW8g c2luZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KICB0cmFja19j b3VudHMgCkBAIC0yMTIsOSArMjEyLDkgQEAgU0VMRUNUIGRibmFtZSwKIEZST00KIHBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlCiBXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7Ci0gICAg ICAgICAgZGJuYW1lICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVk IHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVz IHwgdXNlcl90aW1lIHwgdG90YWxfdGltZSAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQotIHN0YXRpc3RpY192YWN1dW1fZGF0YWJhc2UgfCB0ICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQg ICAgICAgICB8IHQgICAgICAgICB8IHQKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAg fCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8 IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHVzZXJfdGltZSB8IHRvdGFsX3Rp bWUgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdCAg ICAgICAgIHwgdAogKDEgcm93KQogCiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpAQCAtMjMw LDcgKzIzMCw3IEBAIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nl cmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKIEFOQUxZWkUgdmVzdGF0OwogVVBEQVRFIHZlc3Rh dCBTRVQgeCA9IDEwMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQg MTI4KSB2ZXN0YXQ7Ci1cYyBzdGF0aXN0aWNfdmFjdXVtX2RhdGFiYXNlMTsKK1xjIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CiAtLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3Mg Zm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQogU0VMRUNUIGRibmFt ZSwKICAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCkBAIC0yNDMsMTcgKzI0 MywxNyBAQCBTRUxFQ1QgZGJuYW1lLAogICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3Rp bWUKIEZST00KIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCi1XSEVSRSBkYm5hbWUgPSAnc3RhdGlz dGljX3ZhY3V1bV9kYXRhYmFzZSc7Ci0gICAgICAgICAgZGJuYW1lICAgICAgICAgICB8IGRiX2Js a3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3Jl Y29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdXNlcl90aW1lIHwgdG90YWxfdGltZSAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQotIHN0YXRpc3RpY192YWN1dW1fZGF0YWJhc2Ug fCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgICB8IHQKK1dIRVJF IGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOworICAgICAgICAgICAg IGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwg dG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwg dXNlcl90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAgICAgICAgfCB0ICAg ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgfCB0CiAoMSByb3cpCiAKLVxjIHN0YXRpc3RpY192 YWN1dW1fZGF0YWJhc2UKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgogUkVTRVQg dmFjdXVtX2ZyZWV6ZV9taW5fYWdlOwogUkVTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2U7CiBE Uk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwotXGMgc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFzZTE7 CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwogU0VMRUNUIGNvdW50KCopCiBG Uk9NIHBnX2RhdGFiYXNlIGQKIENST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fdGFibGVzKGQub2lk LCAwKQpAQCAtMjczLDUgKzI3Myw1IEBAIFdIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAogKDEg cm93KQogCiBcYyBwb3N0Z3JlcwotRFJPUCBEQVRBQkFTRSBzdGF0aXN0aWNfdmFjdXVtX2RhdGFi YXNlMTsKLURST1AgREFUQUJBU0Ugc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFzZTsKK0RST1AgREFU QUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRleCA0M2NjODA2 OGIwLi41YWJiMWFhNzMxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1f dGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92 YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApAQCAtNyw5ICs3LDkgQEAKIC0tIFN0 YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRz IGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAotQ1JFQVRFIERBVEFCQVNFIHN0YXRpc3RpY192 YWN1dW1fZGF0YWJhc2U7Ci1DUkVBVEUgREFUQUJBU0Ugc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFz ZTE7Ci1cYyBzdGF0aXN0aWNfdmFjdXVtX2RhdGFiYXNlOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwog CiAtLSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBi ZSBvbgpAQCAtMTg0LDcgKzE4NCw3IEBAIEFOQUxZWkUgdmVzdGF0OwogVVBEQVRFIHZlc3RhdCBT RVQgeCA9IDEwMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 KSB2ZXN0YXQ7CiAKLVxjIHN0YXRpc3RpY192YWN1dW1fZGF0YWJhc2UxOworXGMgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKIAogLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNz IGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKIFNFTEVDVCBkYm5h bWUsCkBAIC0xOTgsMTUgKzE5OCwxNSBAQCBTRUxFQ1QgZGJuYW1lLAogICAgICAgIHRvdGFsX3Rp bWUgPiAwIEFTIHRvdGFsX3RpbWUKIEZST00KIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCi1XSEVS RSBkYm5hbWUgPSAnc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFzZSc7CitXSEVSRSBkYm5hbWUgPSAn cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiJzsKIAotXGMgc3RhdGlzdGljX3ZhY3V1bV9k YXRhYmFzZQorXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCiAKIFJFU0VUIHZhY3V1 bV9mcmVlemVfbWluX2FnZTsKIFJFU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlOwogRFJPUCBU QUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIAotXGMgc3RhdGlzdGljX3ZhY3V1bV9kYXRhYmFzZTE7Citc YyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwogU0VMRUNUIGNvdW50KCopCiBGUk9N IHBnX2RhdGFiYXNlIGQKIENST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fdGFibGVzKGQub2lkLCAw KQpAQCAtMjE4LDUgKzIxOCw1IEBAIENST1NTIEpPSU4gcGdfc3RhdF92YWN1dW1fZGF0YWJhc2Uo MCkKIFdIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAogCiBcYyBwb3N0Z3JlcwotRFJPUCBEQVRB QkFTRSBzdGF0aXN0aWNfdmFjdXVtX2RhdGFiYXNlMTsKLURST1AgREFUQUJBU0Ugc3RhdGlzdGlj X3ZhY3V1bV9kYXRhYmFzZTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFj dXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwot LSAKMi4zNC4xCgo= --0000000000009ed57606203caf93--