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 1rkm3z-00FEwu-NI for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 14:28:08 +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 1rkm3x-000YaJ-Vu for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Mar 2024 14:28:06 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rkm3x-000Ya8-5n for pgsql-hackers@lists.postgresql.org; Thu, 14 Mar 2024 14:28:06 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rkm3t-004Tj6-Hh for pgsql-hackers@lists.postgresql.org; Thu, 14 Mar 2024 14:28:04 +0000 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-2d204e102a9so12115121fa.0 for ; Thu, 14 Mar 2024 07:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710426480; x=1711031280; 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=7ClyBewMQigUS7PWphRvU1Wfv99ISVyAzKtpzuY319U=; b=b3RIamlkHie8gaWm0+lGQu7a3ODxoI9bv789gF5ViRvCM9yGE92qngDe6E78BsaQGN eDbClDtY2KJEQ4IwjPSNSI0WlP5kyx5V7TgyUSq/O0nQ+aHTvPODExkevjuz4yVi097j AA/iMWjKx9pTbeIkK03M7Y4lIuUoCcpICqeILkOcD+J+Nd17CLksnVdvIyCzhxfLRNZ5 8PfTSFZJnVEMkCGp05IiS3ZkgMNhu2SL3GxAMTW34/tthPeOnU+GhU7XZ6Pw8aErZE4+ WBsez0UILBc3xWDLaS8QMd2nbPyFwkjqEHF9OJw6TdyYMBR5Ymulf4y/8qvQm8+OcHoD R3JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710426480; x=1711031280; 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=7ClyBewMQigUS7PWphRvU1Wfv99ISVyAzKtpzuY319U=; b=BZNa06KkFWhiv1OSmpB/rgragqKQfJIzB3IBJmv+kMyw3iqQrG7CsHKMddaiOXFocN RJAeYXL0Q6yNuGP3bVd4M28Op/vlkVjVQ9X6uhDMqYxSghXrHeQg1kMjYXhAT2prd8bM 3Zw3fN8XZtvCuwcEJUrVyEiohz+w7TPYoHzwYy94+gYEvihUaSteJPQ6gS18RKe0JOI5 RWD7t+eK7D3z/jj7gg4viWkgQRktqU1EFgOF3zljWI6mhdOw+L8q5rqSrrpN8ltFQT5C 7fM2UFMEUGrM6pi724hnZ0STerxXKcb04f+6xKassD8TMu+ZKtuBfo0BtJ2OcKOT+0JW OSyQ== X-Forwarded-Encrypted: i=1; AJvYcCWnt5XuwyWDxyaWflThjgK57fguDZn99rZEuhlzSq20r5rkAmUOY5ZS9ca+YRMsgGE7sWvbDV0QtOC61mTSUSkFGvntyqUo8FxBpDvFbHGuOQJm X-Gm-Message-State: AOJu0Yz+/HG3CVjnULEXepGx4VeQlwdAMuKHSzGgAkxxwcbdw21/POW9 BRxBjeXW85pO5mpgcwJ9TU8ZXc6vp9JesgLBJ3QOSkP6kGe3oodteNDDuykWYehWETiLvlnyxXd 7U3KEU5fwryA5zGnYASr9LHRtGX0= X-Google-Smtp-Source: AGHT+IEQw1JNXdk0+m3y0veXJge5mX5HqXXefXZCRIeqeBLbZj9tJgfTAhiZNo495Gw+iau2M/WoPMqP3NnOATiUZDo= X-Received: by 2002:a2e:9147:0:b0:2d4:4b6b:3cf3 with SMTP id q7-20020a2e9147000000b002d44b6b3cf3mr1127140ljg.3.1710426479805; Thu, 14 Mar 2024 07:27:59 -0700 (PDT) MIME-Version: 1.0 References: <20240301221108.GB3024365@nathanxps13> <20240303214434.GA3036597@nathanxps13> In-Reply-To: From: Bharath Rupireddy Date: Thu, 14 Mar 2024 19:57:46 +0530 Message-ID: Subject: Re: Introduce XID age and inactive timeout based replication slot invalidation To: Amit Kapila Cc: Nathan Bossart , Bertrand Drouvot , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000be6e0d06139fb27c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000be6e0d06139fb27c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 14, 2024 at 12:24=E2=80=AFPM Amit Kapila wrote: > > On Wed, Mar 13, 2024 at 9:24=E2=80=AFPM Bharath Rupireddy > > > > Yes, there will be some sort of duplicity if we emit conflict_reason > > as a text field. However, I still think the better way is to turn > > conflict_reason text to conflict boolean and set it to true only on > > rows_removed and wal_level_insufficient invalidations. When conflict > > boolean is true, one (including all the tests that we've added > > recently) can look for invalidation_reason text field for the reason. > > This sounds reasonable to me as opposed to we just mentioning in the > > docs that "if invalidation_reason is rows_removed or > > wal_level_insufficient it's the reason for conflict with recovery". > > > Fair point. I think we can go either way. Bertrand, Nathan, and > others, do you have an opinion on this matter? While we wait to hear from others on this, I'm attaching the v9 patch set implementing the above idea (check 0001 patch). Please have a look. I'll come back to the other review comments soon. -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --000000000000be6e0d06139fb27c Content-Type: application/x-patch; name="v9-0001-Track-invalidation_reason-in-pg_replication_slots.patch" Content-Disposition: attachment; filename="v9-0001-Track-invalidation_reason-in-pg_replication_slots.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltrb8xv20 RnJvbSAxODg1NWMwOGNkOGJjYmFmNDFhYmExMDA0OGYwZWEyM2EyNDZlNTQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTQgTWFyIDIwMjQgMTI6NDg6NTIgKzAw MDAKU3ViamVjdDogW1BBVENIIHY5IDEvNF0gVHJhY2sgaW52YWxpZGF0aW9uX3JlYXNvbiBpbiBw Z19yZXBsaWNhdGlvbl9zbG90cwoKVXAgdW50aWwgbm93LCByZWFzb24gZm9yIHJlcGxpY2F0aW9u IHNsb3QgaW52YWxpZGF0aW9uIGlzIG5vdAp0cmFja2VkIGluIHBnX3JlcGxpY2F0aW9uX3Nsb3Rz LiBBIHJlY2VudCBjb21taXQgMDA3NjkzZjJhIGFkZGVkCmNvbmZsaWN0X3JlYXNvbiB0byBzaG93 IHRoZSByZWFzb25zIGZvciBzbG90IGludmFsaWRhdGlvbiwgYnV0Cm9ubHkgZm9yIGxvZ2ljYWwg c2xvdHMuCgpUaGlzIGNvbW1pdCBhZGRzIGEgbmV3IGNvbHVtbiB0byBzaG93IGludmFsaWRhdGlv biByZWFzb25zIGZvcgpib3RoIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNsb3RzLiBBbmQsIHRoaXMg Y29tbWl0IGFsc28gdHVybnMKY29uZmxpY3RfcmVhc29uIHRleHQgY29sdW1uIHRvIGNvbmZsaWN0 aW5nIGJvb2xlYW4gY29sdW1uCihlZmZlY3RpdmVseSByZXZlcnRpbmcgY29tbWl0IDAwNzY5M2Yy YSkuIE9uZSBub3cgY2FuIGxvb2sgYXQgdGhlCm5ldyBpbnZhbGlkYXRpb25fcmVhc29uIGNvbHVt biBmb3IgbG9naWNhbCBzbG90cyBjb25mbGljdCB3aXRoCnJlY292ZXJ5LgotLS0KIGRvYy9zcmMv c2dtbC9yZWYvcGd1cGdyYWRlLnNnbWwgICAgICAgICAgICAgICB8ICA0ICstCiBkb2Mvc3JjL3Nn bWwvc3lzdGVtLXZpZXdzLnNnbWwgICAgICAgICAgICAgICAgfCA2MyArKysrKysrKysrKy0tLS0t LS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgNSAr LQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jICAgIHwgIDIgKy0K IHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAgICAgICAgICAgICB8ICA4ICstLQog c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdGZ1bmNzLmMgICAgICAgICAgIHwgMjUgKysrKyst LS0KIHNyYy9iaW4vcGdfdXBncmFkZS9pbmZvLmMgICAgICAgICAgICAgICAgICAgICB8ICA0ICst CiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgNiArLQog c3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oICAgICAgICAgICAgICAgIHwgIDIgKy0KIC4u Li90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwgICAgICAgICB8IDM1ICsrKysrKy0t LS0tCiAuLi4vdC8wNDBfc3RhbmRieV9mYWlsb3Zlcl9zbG90c19zeW5jLnBsICAgICAgfCAgNCAr LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDcgKyst CiAxMiBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BndXBncmFkZS5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9wZ3VwZ3JhZGUuc2dtbAppbmRleCA1OGM2YzJkZjhiLi44ZGU1MmJmNzUyIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BndXBncmFkZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvcGd1cGdyYWRlLnNnbWwKQEAgLTQ1Myw4ICs0NTMsOCBAQCBtYWtlIHByZWZpeD0vdXNyL2xv Y2FsL3Bnc3FsLm5ldyBpbnN0YWxsCiAgICAgICA8cGFyYT4KICAgICAgICBBbGwgc2xvdHMgb24g dGhlIG9sZCBjbHVzdGVyIG11c3QgYmUgdXNhYmxlLCBpLmUuLCB0aGVyZSBhcmUgbm8gc2xvdHMK ICAgICAgICB3aG9zZQotICAgICAgIDxsaW5rIGxpbmtlbmQ9InZpZXctcGctcmVwbGljYXRpb24t c2xvdHMiPnBnX3JlcGxpY2F0aW9uX3Nsb3RzPC9saW5rPi48c3RydWN0ZmllbGQ+Y29uZmxpY3Rf cmVhc29uPC9zdHJ1Y3RmaWVsZD4KLSAgICAgICBpcyBub3QgPGxpdGVyYWw+TlVMTDwvbGl0ZXJh bD4uCisgICAgICAgPGxpbmsgbGlua2VuZD0idmlldy1wZy1yZXBsaWNhdGlvbi1zbG90cyI+cGdf cmVwbGljYXRpb25fc2xvdHM8L2xpbms+LjxzdHJ1Y3RmaWVsZD5jb25mbGljdGluZzwvc3RydWN0 ZmllbGQ+CisgICAgICAgaXMgbm90IDxsaXRlcmFsPnRydWU8L2xpdGVyYWw+LgogICAgICAgPC9w YXJhPgogICAgICA8L2xpc3RpdGVtPgogICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mv c3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNn bWwKaW5kZXggYmU5MGVkZDBlMi4uZjNmYjViYTFiMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L3N5c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbApA QCAtMjUyNSwzNCArMjUyNSwxMyBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQgSk9J TiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKIAogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KLSAg ICAgICA8c3RydWN0ZmllbGQ+Y29uZmxpY3RfcmVhc29uPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4 dDwvdHlwZT4KKyAgICAgICA8c3RydWN0ZmllbGQ+Y29uZmxpY3Rpbmc8L3N0cnVjdGZpZWxkPiA8 dHlwZT5ib29sPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+Ci0gICAgICAgVGhl IHJlYXNvbiBmb3IgdGhlIGxvZ2ljYWwgc2xvdCdzIGNvbmZsaWN0IHdpdGggcmVjb3ZlcnkuIEl0 IGlzIGFsd2F5cwotICAgICAgIE5VTEwgZm9yIHBoeXNpY2FsIHNsb3RzLCBhcyB3ZWxsIGFzIGZv ciBsb2dpY2FsIHNsb3RzIHdoaWNoIGFyZSBub3QKLSAgICAgICBpbnZhbGlkYXRlZC4gVGhlIG5v bi1OVUxMIHZhbHVlcyBpbmRpY2F0ZSB0aGF0IHRoZSBzbG90IGlzIG1hcmtlZAotICAgICAgIGFz IGludmFsaWRhdGVkLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgotICAgICAgIDxpdGVtaXplZGxpc3Qg c3BhY2luZz0iY29tcGFjdCI+Ci0gICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgIDxwYXJhPgot ICAgICAgICAgIDxsaXRlcmFsPndhbF9yZW1vdmVkPC9saXRlcmFsPiBtZWFucyB0aGF0IHRoZSBy ZXF1aXJlZCBXQUwgaGFzIGJlZW4KLSAgICAgICAgICByZW1vdmVkLgotICAgICAgICAgPC9wYXJh PgotICAgICAgICA8L2xpc3RpdGVtPgotICAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgICA8cGFy YT4KLSAgICAgICAgICA8bGl0ZXJhbD5yb3dzX3JlbW92ZWQ8L2xpdGVyYWw+IG1lYW5zIHRoYXQg dGhlIHJlcXVpcmVkIHJvd3MgaGF2ZQotICAgICAgICAgIGJlZW4gcmVtb3ZlZC4KLSAgICAgICAg IDwvcGFyYT4KLSAgICAgICAgPC9saXN0aXRlbT4KLSAgICAgICAgPGxpc3RpdGVtPgotICAgICAg ICAgPHBhcmE+Ci0gICAgICAgICAgPGxpdGVyYWw+d2FsX2xldmVsX2luc3VmZmljaWVudDwvbGl0 ZXJhbD4gbWVhbnMgdGhhdCB0aGUKLSAgICAgICAgICBwcmltYXJ5IGRvZXNuJ3QgaGF2ZSBhIDx4 cmVmIGxpbmtlbmQ9Imd1Yy13YWwtbGV2ZWwiLz4gc3VmZmljaWVudCB0bwotICAgICAgICAgIHBl cmZvcm0gbG9naWNhbCBkZWNvZGluZy4KLSAgICAgICAgIDwvcGFyYT4KLSAgICAgICAgPC9saXN0 aXRlbT4KLSAgICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICAgICBUcnVlIGlmIHRoaXMgbG9naWNh bCBzbG90IGNvbmZsaWN0ZWQgd2l0aCByZWNvdmVyeSAoYW5kIHNvIGlzIG5vdworICAgICAgIGlu dmFsaWRhdGVkKS4gV2hlbiB0aGlzIGNvbHVtbiBpcyB0cnVlLCBjaGVjaworICAgICAgIDxzdHJ1 Y3RmaWVsZD5pbnZhbGlkYXRpb25fcmVhc29uPC9zdHJ1Y3RmaWVsZD4gY29sdW1uIGZvciB0aGUg Y29uZmxpY3QKKyAgICAgICByZWFzb24uCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9y b3c+CiAKQEAgLTI1ODEsNiArMjU2MCwzOCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExF RlQgSk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAg ICA8L3Jvdz4KIAorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+aW52YWxpZGF0aW9uX3JlYXNvbjwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgcmVhc29uIGZvciB0aGUgc2xv dCdzIGludmFsaWRhdGlvbi4gPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gaWYgdGhlCisgICAgICAg c2xvdCBpcyBjdXJyZW50bHkgYWN0aXZlbHkgYmVpbmcgdXNlZC4gVGhlIG5vbi1OVUxMIHZhbHVl cyBpbmRpY2F0ZSB0aGF0CisgICAgICAgdGhlIHNsb3QgaXMgbWFya2VkIGFzIGludmFsaWRhdGVk LiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgorICAgICAgIDxpdGVtaXplZGxpc3Qgc3BhY2luZz0iY29t cGFjdCI+CisgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIDxs aXRlcmFsPndhbF9yZW1vdmVkPC9saXRlcmFsPiBtZWFucyB0aGF0IHRoZSByZXF1aXJlZCBXQUwg aGFzIGJlZW4KKyAgICAgICAgICByZW1vdmVkLgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8 L2xpc3RpdGVtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAgICAg ICA8bGl0ZXJhbD5yb3dzX3JlbW92ZWQ8L2xpdGVyYWw+IG1lYW5zIHRoYXQgdGhlIHJlcXVpcmVk IHJvd3MgaGF2ZQorICAgICAgICAgIGJlZW4gcmVtb3ZlZC4KKyAgICAgICAgIDwvcGFyYT4KKyAg ICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+Cisg ICAgICAgICAgPGxpdGVyYWw+d2FsX2xldmVsX2luc3VmZmljaWVudDwvbGl0ZXJhbD4gbWVhbnMg dGhhdCB0aGUKKyAgICAgICAgICBwcmltYXJ5IGRvZXNuJ3QgaGF2ZSBhIDx4cmVmIGxpbmtlbmQ9 Imd1Yy13YWwtbGV2ZWwiLz4gc3VmZmljaWVudCB0bworICAgICAgICAgIHBlcmZvcm0gbG9naWNh bCBkZWNvZGluZy4KKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAg ICA8L2l0ZW1pemVkbGlzdD4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwog ICAgIDwvdGJvZHk+CiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbAppbmRleCAwNDIyN2E3MmQxLi5jZDIyZGFkOTU5IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMDIzLDkgKzEwMjMsMTAgQEAgQ1JFQVRFIFZJRVcg cGdfcmVwbGljYXRpb25fc2xvdHMgQVMKICAgICAgICAgICAgIEwud2FsX3N0YXR1cywKICAgICAg ICAgICAgIEwuc2FmZV93YWxfc2l6ZSwKICAgICAgICAgICAgIEwudHdvX3BoYXNlLAotICAgICAg ICAgICAgTC5jb25mbGljdF9yZWFzb24sCisgICAgICAgICAgICBMLmNvbmZsaWN0aW5nLAogICAg ICAgICAgICAgTC5mYWlsb3ZlciwKLSAgICAgICAgICAgIEwuc3luY2VkCisgICAgICAgICAgICBM LnN5bmNlZCwKKyAgICAgICAgICAgIEwuaW52YWxpZGF0aW9uX3JlYXNvbgogICAgIEZST00gcGdf Z2V0X3JlcGxpY2F0aW9uX3Nsb3RzKCkgQVMgTAogICAgICAgICAgICAgTEVGVCBKT0lOIHBnX2Rh dGFiYXNlIEQgT04gKEwuZGF0b2lkID0gRC5vaWQpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3Nsb3RzeW5jLmMKaW5kZXggNTA3NGM4NDA5Zi4uMjYwNjMyY2ZkZCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYwpAQCAtNjY4LDcgKzY2OCw3 IEBAIHN5bmNocm9uaXplX3Nsb3RzKFdhbFJlY2VpdmVyQ29ubiAqd3Jjb25uKQogCWJvb2wJCXN0 YXJ0ZWRfdHggPSBmYWxzZTsKIAljb25zdCBjaGFyICpxdWVyeSA9ICJTRUxFQ1Qgc2xvdF9uYW1l LCBwbHVnaW4sIGNvbmZpcm1lZF9mbHVzaF9sc24sIgogCQkiIHJlc3RhcnRfbHNuLCBjYXRhbG9n X3htaW4sIHR3b19waGFzZSwgZmFpbG92ZXIsIgotCQkiIGRhdGFiYXNlLCBjb25mbGljdF9yZWFz b24iCisJCSIgZGF0YWJhc2UsIGludmFsaWRhdGlvbl9yZWFzb24iCiAJCSIgRlJPTSBwZ19jYXRh bG9nLnBnX3JlcGxpY2F0aW9uX3Nsb3RzIgogCQkiIFdIRVJFIGZhaWxvdmVyIGFuZCBOT1QgdGVt cG9yYXJ5IjsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCmluZGV4IDkxY2EzOTc4NTcuLjRmMWExN2Y2 Y2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYworKysgYi9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKQEAgLTIzNTYsMjEgKzIzNTYsMjEgQEAgUmVzdG9y ZVNsb3RGcm9tRGlzayhjb25zdCBjaGFyICpuYW1lKQogfQogCiAvKgotICogTWFwcyBhIGNvbmZs aWN0IHJlYXNvbiBmb3IgYSByZXBsaWNhdGlvbiBzbG90IHRvCisgKiBNYXBzIGEgaW52YWxpZGF0 aW9uIHJlYXNvbiBmb3IgYSByZXBsaWNhdGlvbiBzbG90IHRvCiAgKiBSZXBsaWNhdGlvblNsb3RJ bnZhbGlkYXRpb25DYXVzZS4KICAqLwogUmVwbGljYXRpb25TbG90SW52YWxpZGF0aW9uQ2F1c2UK LUdldFNsb3RJbnZhbGlkYXRpb25DYXVzZShjb25zdCBjaGFyICpjb25mbGljdF9yZWFzb24pCitH ZXRTbG90SW52YWxpZGF0aW9uQ2F1c2UoY29uc3QgY2hhciAqaW52YWxpZGF0aW9uX3JlYXNvbikK IHsKIAlSZXBsaWNhdGlvblNsb3RJbnZhbGlkYXRpb25DYXVzZSBjYXVzZTsKIAlSZXBsaWNhdGlv blNsb3RJbnZhbGlkYXRpb25DYXVzZSByZXN1bHQgPSBSU19JTlZBTF9OT05FOwogCWJvb2wJCWZv dW5kIFBHX1VTRURfRk9SX0FTU0VSVFNfT05MWSA9IGZhbHNlOwogCi0JQXNzZXJ0KGNvbmZsaWN0 X3JlYXNvbik7CisJQXNzZXJ0KGludmFsaWRhdGlvbl9yZWFzb24pOwogCiAJZm9yIChjYXVzZSA9 IFJTX0lOVkFMX05PTkU7IGNhdXNlIDw9IFJTX0lOVkFMX01BWF9DQVVTRVM7IGNhdXNlKyspCiAJ ewotCQlpZiAoc3RyY21wKFNsb3RJbnZhbGlkYXRpb25DYXVzZXNbY2F1c2VdLCBjb25mbGljdF9y ZWFzb24pID09IDApCisJCWlmIChzdHJjbXAoU2xvdEludmFsaWRhdGlvbkNhdXNlc1tjYXVzZV0s IGludmFsaWRhdGlvbl9yZWFzb24pID09IDApCiAJCXsKIAkJCWZvdW5kID0gdHJ1ZTsKIAkJCXJl c3VsdCA9IGNhdXNlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdGZ1 bmNzLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwppbmRleCBhZDc5ZTFm Y2NkLi5iNWE2MzhlZGVhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90 ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwpAQCAtMjM5 LDcgKzIzOSw3IEBAIHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdChQR19GVU5DVElPTl9BUkdTKQog RGF0dW0KIHBnX2dldF9yZXBsaWNhdGlvbl9zbG90cyhQR19GVU5DVElPTl9BUkdTKQogewotI2Rl ZmluZSBQR19HRVRfUkVQTElDQVRJT05fU0xPVFNfQ09MUyAxNworI2RlZmluZSBQR19HRVRfUkVQ TElDQVRJT05fU0xPVFNfQ09MUyAxOAogCVJldHVyblNldEluZm8gKnJzaW5mbyA9IChSZXR1cm5T ZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsKIAlYTG9nUmVjUHRyCWN1cnJsc247CiAJaW50 CQkJc2xvdG5vOwpAQCAtMjYzLDYgKzI2Myw3IEBAIHBnX2dldF9yZXBsaWNhdGlvbl9zbG90cyhQ R19GVU5DVElPTl9BUkdTKQogCQlib29sCQludWxsc1tQR19HRVRfUkVQTElDQVRJT05fU0xPVFNf Q09MU107CiAJCVdBTEF2YWlsYWJpbGl0eSB3YWxzdGF0ZTsKIAkJaW50CQkJaTsKKwkJUmVwbGlj YXRpb25TbG90SW52YWxpZGF0aW9uQ2F1c2UgY2F1c2U7CiAKIAkJaWYgKCFzbG90LT5pbl91c2Up CiAJCQljb250aW51ZTsKQEAgLTQwOSwyMiArNDEwLDMyIEBAIHBnX2dldF9yZXBsaWNhdGlvbl9z bG90cyhQR19GVU5DVElPTl9BUkdTKQogCiAJCXZhbHVlc1tpKytdID0gQm9vbEdldERhdHVtKHNs b3RfY29udGVudHMuZGF0YS50d29fcGhhc2UpOwogCi0JCWlmIChzbG90X2NvbnRlbnRzLmRhdGEu ZGF0YWJhc2UgPT0gSW52YWxpZE9pZCkKKwkJY2F1c2UgPSBzbG90X2NvbnRlbnRzLmRhdGEuaW52 YWxpZGF0ZWQ7CisKKwkJaWYgKFNsb3RJc1BoeXNpY2FsKCZzbG90X2NvbnRlbnRzKSkKIAkJCW51 bGxzW2krK10gPSB0cnVlOwogCQllbHNlCiAJCXsKLQkJCVJlcGxpY2F0aW9uU2xvdEludmFsaWRh dGlvbkNhdXNlIGNhdXNlID0gc2xvdF9jb250ZW50cy5kYXRhLmludmFsaWRhdGVkOwotCi0JCQlp ZiAoY2F1c2UgPT0gUlNfSU5WQUxfTk9ORSkKLQkJCQludWxsc1tpKytdID0gdHJ1ZTsKKwkJCS8q CisJCQkgKiByb3dzX3JlbW92ZWQgYW5kIHdhbF9sZXZlbF9pbnN1ZmZpY2llbnQgYXJlIG9ubHkg dHdvIHJlYXNvbnMKKwkJCSAqIGZvciB0aGUgbG9naWNhbCBzbG90J3MgY29uZmxpY3Qgd2l0aCBy ZWNvdmVyeS4KKwkJCSAqLworCQkJaWYgKGNhdXNlID09IFJTX0lOVkFMX0hPUklaT04gfHwKKwkJ CQljYXVzZSA9PSBSU19JTlZBTF9XQUxfTEVWRUwpCisJCQkJdmFsdWVzW2krK10gPSBCb29sR2V0 RGF0dW0odHJ1ZSk7CiAJCQllbHNlCi0JCQkJdmFsdWVzW2krK10gPSBDU3RyaW5nR2V0VGV4dERh dHVtKFNsb3RJbnZhbGlkYXRpb25DYXVzZXNbY2F1c2VdKTsKKwkJCQl2YWx1ZXNbaSsrXSA9IEJv b2xHZXREYXR1bShmYWxzZSk7CiAJCX0KIAogCQl2YWx1ZXNbaSsrXSA9IEJvb2xHZXREYXR1bShz bG90X2NvbnRlbnRzLmRhdGEuZmFpbG92ZXIpOwogCiAJCXZhbHVlc1tpKytdID0gQm9vbEdldERh dHVtKHNsb3RfY29udGVudHMuZGF0YS5zeW5jZWQpOwogCisJCWlmIChjYXVzZSA9PSBSU19JTlZB TF9OT05FKQorCQkJbnVsbHNbaSsrXSA9IHRydWU7CisJCWVsc2UKKwkJCXZhbHVlc1tpKytdID0g Q1N0cmluZ0dldFRleHREYXR1bShTbG90SW52YWxpZGF0aW9uQ2F1c2VzW2NhdXNlXSk7CisKIAkJ QXNzZXJ0KGkgPT0gUEdfR0VUX1JFUExJQ0FUSU9OX1NMT1RTX0NPTFMpOwogCiAJCXR1cGxlc3Rv cmVfcHV0dmFsdWVzKHJzaW5mby0+c2V0UmVzdWx0LCByc2luZm8tPnNldERlc2MsCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUvaW5mby5jIGIvc3JjL2Jpbi9wZ191cGdyYWRlL2luZm8u YwppbmRleCBiNWI4ZDExNjAyLi4zNGExNTdmNzkyIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3Vw Z3JhZGUvaW5mby5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9pbmZvLmMKQEAgLTY3NiwxMyAr Njc2LDEzIEBAIGdldF9vbGRfY2x1c3Rlcl9sb2dpY2FsX3Nsb3RfaW5mb3MoRGJJbmZvICpkYmlu Zm8sIGJvb2wgbGl2ZV9jaGVjaykKIAkgKiByZW1vdmVkLgogCSAqLwogCXJlcyA9IGV4ZWN1dGVR dWVyeU9yRGllKGNvbm4sICJTRUxFQ1Qgc2xvdF9uYW1lLCBwbHVnaW4sIHR3b19waGFzZSwgZmFp bG92ZXIsICIKLQkJCQkJCQkiJXMgYXMgY2F1Z2h0X3VwLCBjb25mbGljdF9yZWFzb24gSVMgTk9U IE5VTEwgYXMgaW52YWxpZCAiCisJCQkJCQkJIiVzIGFzIGNhdWdodF91cCwgaW52YWxpZGF0aW9u X3JlYXNvbiBJUyBOT1QgTlVMTCBhcyBpbnZhbGlkICIKIAkJCQkJCQkiRlJPTSBwZ19jYXRhbG9n LnBnX3JlcGxpY2F0aW9uX3Nsb3RzICIKIAkJCQkJCQkiV0hFUkUgc2xvdF90eXBlID0gJ2xvZ2lj YWwnIEFORCAiCiAJCQkJCQkJImRhdGFiYXNlID0gY3VycmVudF9kYXRhYmFzZSgpIEFORCAiCiAJ CQkJCQkJInRlbXBvcmFyeSBJUyBGQUxTRTsiLAogCQkJCQkJCWxpdmVfY2hlY2sgPyAiRkFMU0Ui IDoKLQkJCQkJCQkiKENBU0UgV0hFTiBjb25mbGljdF9yZWFzb24gSVMgTk9UIE5VTEwgVEhFTiBG QUxTRSAiCisJCQkJCQkJIihDQVNFIFdIRU4gY29uZmxpY3RpbmcgVEhFTiBGQUxTRSAiCiAJCQkJ CQkJIkVMU0UgKFNFTEVDVCBwZ19jYXRhbG9nLmJpbmFyeV91cGdyYWRlX2xvZ2ljYWxfc2xvdF9o YXNfY2F1Z2h0X3VwKHNsb3RfbmFtZSkpICIKIAkJCQkJCQkiRU5EKSIpOwogCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdAppbmRleCA0YWY1YzJlODQ3Li5lNWRjMWNiZGIzIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKQEAgLTExMTIwLDkgKzExMTIwLDkgQEAKICAgcHJvbmFtZSA9PiAncGdfZ2V0X3Jl cGxpY2F0aW9uX3Nsb3RzJywgcHJvcm93cyA9PiAnMTAnLCBwcm9pc3N0cmljdCA9PiAnZicsCiAg IHByb3JldHNldCA9PiAndCcsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVj b3JkJywKICAgcHJvYXJndHlwZXMgPT4gJycsCi0gIHByb2FsbGFyZ3R5cGVzID0+ICd7bmFtZSxu YW1lLHRleHQsb2lkLGJvb2wsYm9vbCxpbnQ0LHhpZCx4aWQscGdfbHNuLHBnX2xzbix0ZXh0LGlu dDgsYm9vbCx0ZXh0LGJvb2wsYm9vbH0nLAotICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAne3Nsb3RfbmFtZSxw bHVnaW4sc2xvdF90eXBlLGRhdG9pZCx0ZW1wb3JhcnksYWN0aXZlLGFjdGl2ZV9waWQseG1pbixj YXRhbG9nX3htaW4scmVzdGFydF9sc24sY29uZmlybWVkX2ZsdXNoX2xzbix3YWxfc3RhdHVzLHNh ZmVfd2FsX3NpemUsdHdvX3BoYXNlLGNvbmZsaWN0X3JlYXNvbixmYWlsb3ZlcixzeW5jZWR9JywK KyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tuYW1lLG5hbWUsdGV4dCxvaWQsYm9vbCxib29sLGludDQs eGlkLHhpZCxwZ19sc24scGdfbHNuLHRleHQsaW50OCxib29sLGJvb2wsYm9vbCxib29sLHRleHR9 JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s b30nLAorICBwcm9hcmduYW1lcyA9PiAne3Nsb3RfbmFtZSxwbHVnaW4sc2xvdF90eXBlLGRhdG9p ZCx0ZW1wb3JhcnksYWN0aXZlLGFjdGl2ZV9waWQseG1pbixjYXRhbG9nX3htaW4scmVzdGFydF9s c24sY29uZmlybWVkX2ZsdXNoX2xzbix3YWxfc3RhdHVzLHNhZmVfd2FsX3NpemUsdHdvX3BoYXNl LGNvbmZsaWN0aW5nLGZhaWxvdmVyLHN5bmNlZCxpbnZhbGlkYXRpb25fcmVhc29ufScsCiAgIHBy b3NyYyA9PiAncGdfZ2V0X3JlcGxpY2F0aW9uX3Nsb3RzJyB9LAogeyBvaWQgPT4gJzM3ODYnLCBk ZXNjciA9PiAnc2V0IHVwIGEgbG9naWNhbCByZXBsaWNhdGlvbiBzbG90JywKICAgcHJvbmFtZSA9 PiAncGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCcsIHByb3ZvbGF0aWxlID0+ICd2 JywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaCBiL3NyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL3Nsb3QuaAppbmRleCA0MjVlZmZhZDIxLi43ZjI1YTA4M2VlIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmgKKysrIGIvc3JjL2luY2x1ZGUv cmVwbGljYXRpb24vc2xvdC5oCkBAIC0yNzMsNyArMjczLDcgQEAgZXh0ZXJuIHZvaWQgQ2hlY2tQ b2ludFJlcGxpY2F0aW9uU2xvdHMoYm9vbCBpc19zaHV0ZG93bik7CiBleHRlcm4gdm9pZCBDaGVj a1Nsb3RSZXF1aXJlbWVudHModm9pZCk7CiBleHRlcm4gdm9pZCBDaGVja1Nsb3RQZXJtaXNzaW9u cyh2b2lkKTsKIGV4dGVybiBSZXBsaWNhdGlvblNsb3RJbnZhbGlkYXRpb25DYXVzZQotCQkJR2V0 U2xvdEludmFsaWRhdGlvbkNhdXNlKGNvbnN0IGNoYXIgKmNvbmZsaWN0X3JlYXNvbik7CisJCQlH ZXRTbG90SW52YWxpZGF0aW9uQ2F1c2UoY29uc3QgY2hhciAqaW52YWxpZGF0aW9uX3JlYXNvbik7 CiAKIGV4dGVybiBib29sIFNsb3RFeGlzdHNJblN0YW5kYnlTbG90TmFtZXMoY29uc3QgY2hhciAq c2xvdF9uYW1lKTsKIGV4dGVybiBib29sIFN0YW5kYnlTbG90c0hhdmVDYXVnaHR1cChYTG9nUmVj UHRyIHdhaXRfZm9yX2xzbiwgaW50IGVsZXZlbCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNv dmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwgYi9zcmMvdGVzdC9yZWNvdmVy eS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwKaW5kZXggODhiMDMwNDhjNC4uYWRk ZmY2YTFhNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRieV9sb2dp Y2FsX2RlY29kaW5nLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9n aWNhbF9kZWNvZGluZy5wbApAQCAtMTY4LDcgKzE2OCw3IEBAIHN1YiBjaGFuZ2VfaG90X3N0YW5k YnlfZmVlZGJhY2tfYW5kX3dhaXRfZm9yX3htaW5zCiAJfQogfQogCi0jIENoZWNrIGNvbmZsaWN0 X3JlYXNvbiBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cy4KKyMgQ2hlY2sgcmVhc29uIGZvciBjb25m bGljdCBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cy4KIHN1YiBjaGVja19zbG90c19jb25mbGljdF9y ZWFzb24KIHsKIAlteSAoJHNsb3RfcHJlZml4LCAkcmVhc29uKSA9IEBfOwpAQCAtMTc4LDE1ICsx NzgsMTUgQEAgc3ViIGNoZWNrX3Nsb3RzX2NvbmZsaWN0X3JlYXNvbgogCiAJJHJlcyA9ICRub2Rl X3N0YW5kYnktPnNhZmVfcHNxbCgKIAkJJ3Bvc3RncmVzJywgcXEoCi0JCQkgc2VsZWN0IGNvbmZs aWN0X3JlYXNvbiBmcm9tIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIHdoZXJlIHNsb3RfbmFtZSA9ICck YWN0aXZlX3Nsb3QnOykpOworCQkJIHNlbGVjdCBpbnZhbGlkYXRpb25fcmVhc29uIGZyb20gcGdf cmVwbGljYXRpb25fc2xvdHMgd2hlcmUgc2xvdF9uYW1lID0gJyRhY3RpdmVfc2xvdCcgYW5kIGNv bmZsaWN0aW5nOykpOwogCi0JaXMoJHJlcywgIiRyZWFzb24iLCAiJGFjdGl2ZV9zbG90IGNvbmZs aWN0X3JlYXNvbiBpcyAkcmVhc29uIik7CisJaXMoJHJlcywgIiRyZWFzb24iLCAiJGFjdGl2ZV9z bG90IHJlYXNvbiBmb3IgY29uZmxpY3QgaXMgJHJlYXNvbiIpOwogCiAJJHJlcyA9ICRub2RlX3N0 YW5kYnktPnNhZmVfcHNxbCgKIAkJJ3Bvc3RncmVzJywgcXEoCi0JCQkgc2VsZWN0IGNvbmZsaWN0 X3JlYXNvbiBmcm9tIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIHdoZXJlIHNsb3RfbmFtZSA9ICckaW5h Y3RpdmVfc2xvdCc7KSk7CisJCQkgc2VsZWN0IGludmFsaWRhdGlvbl9yZWFzb24gZnJvbSBwZ19y ZXBsaWNhdGlvbl9zbG90cyB3aGVyZSBzbG90X25hbWUgPSAnJGluYWN0aXZlX3Nsb3QnIGFuZCBj b25mbGljdGluZzspKTsKIAotCWlzKCRyZXMsICIkcmVhc29uIiwgIiRpbmFjdGl2ZV9zbG90IGNv bmZsaWN0X3JlYXNvbiBpcyAkcmVhc29uIik7CisJaXMoJHJlcywgIiRyZWFzb24iLCAiJGluYWN0 aXZlX3Nsb3QgcmVhc29uIGZvciBjb25mbGljdCBpcyAkcmVhc29uIik7CiB9CiAKICMgRHJvcCB0 aGUgc2xvdHMsIHJlLWNyZWF0ZSB0aGVtLCBjaGFuZ2UgaG90X3N0YW5kYnlfZmVlZGJhY2ssCkBA IC0yOTMsMTMgKzI5MywxMyBAQCAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Rlc3RkYicsCiAJ cXFbU0VMRUNUICogRlJPTSBwZ19jcmVhdGVfcGh5c2ljYWxfcmVwbGljYXRpb25fc2xvdCgnJHBy aW1hcnlfc2xvdG5hbWUnKTtdCiApOwogCi0jIENoZWNrIGNvbmZsaWN0X3JlYXNvbiBpcyBOVUxM IGZvciBwaHlzaWNhbCBzbG90CisjIENoZWNrIGNvbmZsaWN0aW5nIGlzIE5VTEwgZm9yIHBoeXNp Y2FsIHNsb3QKICRyZXMgPSAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywg cXFbCi0JCSBTRUxFQ1QgY29uZmxpY3RfcmVhc29uIGlzIG51bGwgRlJPTSBwZ19yZXBsaWNhdGlv bl9zbG90cyB3aGVyZSBzbG90X25hbWUgPSAnJHByaW1hcnlfc2xvdG5hbWUnO10KKwkJIFNFTEVD VCBjb25mbGljdGluZyBpcyBudWxsIEZST00gcGdfcmVwbGljYXRpb25fc2xvdHMgd2hlcmUgc2xv dF9uYW1lID0gJyRwcmltYXJ5X3Nsb3RuYW1lJztdCiApOwogCi1pcygkcmVzLCAndCcsICJQaHlz aWNhbCBzbG90IHJlcG9ydHMgY29uZmxpY3RfcmVhc29uIGFzIE5VTEwiKTsKK2lzKCRyZXMsICd0 JywgIlBoeXNpY2FsIHNsb3QgcmVwb3J0cyBjb25mbGljdGluZyBhcyBOVUxMIik7CiAKIG15ICRi YWNrdXBfbmFtZSA9ICdiMSc7CiAkbm9kZV9wcmltYXJ5LT5iYWNrdXAoJGJhY2t1cF9uYW1lKTsK QEAgLTUyNCw3ICs1MjQsNyBAQCAkbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1 cCgkbm9kZV9zdGFuZGJ5KTsKICMgQ2hlY2sgaW52YWxpZGF0aW9uIGluIHRoZSBsb2dmaWxlIGFu ZCBpbiBwZ19zdGF0X2RhdGFiYXNlX2NvbmZsaWN0cwogY2hlY2tfZm9yX2ludmFsaWRhdGlvbign dmFjdXVtX2Z1bGxfJywgMSwgJ3dpdGggdmFjdXVtIEZVTEwgb24gcGdfY2xhc3MnKTsKIAotIyBW ZXJpZnkgY29uZmxpY3RfcmVhc29uIGlzICdyb3dzX3JlbW92ZWQnIGluIHBnX3JlcGxpY2F0aW9u X3Nsb3RzCisjIFZlcmlmeSByZWFzb24gZm9yIGNvbmZsaWN0IGlzICdyb3dzX3JlbW92ZWQnIGlu IHBnX3JlcGxpY2F0aW9uX3Nsb3RzCiBjaGVja19zbG90c19jb25mbGljdF9yZWFzb24oJ3ZhY3V1 bV9mdWxsXycsICdyb3dzX3JlbW92ZWQnKTsKIAogIyBFbnN1cmUgdGhhdCByZXBsaWNhdGlvbiBz bG90IHN0YXRzIGFyZSBub3QgcmVtb3ZlZCBhZnRlciBpbnZhbGlkYXRpb24uCkBAIC01NTEsNyAr NTUxLDcgQEAgY2hhbmdlX2hvdF9zdGFuZGJ5X2ZlZWRiYWNrX2FuZF93YWl0X2Zvcl94bWlucygx LCAxKTsKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiAkbm9kZV9zdGFuZGJ5LT5yZXN0YXJ0OwogCi0jIFZlcmlmeSBjb25mbGljdF9yZWFzb24gaXMg cmV0YWluZWQgYWNyb3NzIGEgcmVzdGFydC4KKyMgVmVyaWZ5IHJlYXNvbiBmb3IgY29uZmxpY3Qg aXMgcmV0YWluZWQgYWNyb3NzIGEgcmVzdGFydC4KIGNoZWNrX3Nsb3RzX2NvbmZsaWN0X3JlYXNv bigndmFjdXVtX2Z1bGxfJywgJ3Jvd3NfcmVtb3ZlZCcpOwogCiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNTYwLDcgKzU2MCw4IEBAIGNoZWNr X3Nsb3RzX2NvbmZsaWN0X3JlYXNvbigndmFjdXVtX2Z1bGxfJywgJ3Jvd3NfcmVtb3ZlZCcpOwog CiAjIEdldCB0aGUgcmVzdGFydF9sc24gZnJvbSBhbiBpbnZhbGlkYXRlZCBzbG90CiBteSAkcmVz dGFydF9sc24gPSAkbm9kZV9zdGFuZGJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiU0VMRUNU IHJlc3RhcnRfbHNuIGZyb20gcGdfcmVwbGljYXRpb25fc2xvdHMgV0hFUkUgc2xvdF9uYW1lID0g J3ZhY3V1bV9mdWxsX2FjdGl2ZXNsb3QnIGFuZCBjb25mbGljdF9yZWFzb24gaXMgbm90IG51bGw7 IgorCSJTRUxFQ1QgcmVzdGFydF9sc24gRlJPTSBwZ19yZXBsaWNhdGlvbl9zbG90cworCQlXSEVS RSBzbG90X25hbWUgPSAndmFjdXVtX2Z1bGxfYWN0aXZlc2xvdCcgQU5EIGNvbmZsaWN0aW5nOyIK ICk7CiAKIGNob21wKCRyZXN0YXJ0X2xzbik7CkBAIC02MTEsNyArNjEyLDcgQEAgJG5vZGVfcHJp bWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieSk7CiAjIENoZWNrIGlu dmFsaWRhdGlvbiBpbiB0aGUgbG9nZmlsZSBhbmQgaW4gcGdfc3RhdF9kYXRhYmFzZV9jb25mbGlj dHMKIGNoZWNrX2Zvcl9pbnZhbGlkYXRpb24oJ3Jvd19yZW1vdmFsXycsICRsb2dzdGFydCwgJ3dp dGggdmFjdXVtIG9uIHBnX2NsYXNzJyk7CiAKLSMgVmVyaWZ5IGNvbmZsaWN0X3JlYXNvbiBpcyAn cm93c19yZW1vdmVkJyBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cworIyBWZXJpZnkgcmVhc29uIGZv ciBjb25mbGljdCBpcyAncm93c19yZW1vdmVkJyBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cwogY2hl Y2tfc2xvdHNfY29uZmxpY3RfcmVhc29uKCdyb3dfcmVtb3ZhbF8nLCAncm93c19yZW1vdmVkJyk7 CiAKICRoYW5kbGUgPQpAQCAtNjQ3LDcgKzY0OCw3IEBAICRub2RlX3ByaW1hcnktPndhaXRfZm9y X3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnkpOwogY2hlY2tfZm9yX2ludmFsaWRhdGlvbign c2hhcmVkX3Jvd19yZW1vdmFsXycsICRsb2dzdGFydCwKIAknd2l0aCB2YWN1dW0gb24gcGdfYXV0 aGlkJyk7CiAKLSMgVmVyaWZ5IGNvbmZsaWN0X3JlYXNvbiBpcyAncm93c19yZW1vdmVkJyBpbiBw Z19yZXBsaWNhdGlvbl9zbG90cworIyBWZXJpZnkgcmVhc29uIGZvciBjb25mbGljdCBpcyAncm93 c19yZW1vdmVkJyBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cwogY2hlY2tfc2xvdHNfY29uZmxpY3Rf cmVhc29uKCdzaGFyZWRfcm93X3JlbW92YWxfJywgJ3Jvd3NfcmVtb3ZlZCcpOwogCiAkaGFuZGxl ID0gbWFrZV9zbG90X2FjdGl2ZSgkbm9kZV9zdGFuZGJ5LCAnc2hhcmVkX3Jvd19yZW1vdmFsXycs IDAsIFwkc3Rkb3V0LApAQCAtNzAwLDggKzcwMSw4IEBAIG9rKCAkbm9kZV9zdGFuZGJ5LT5wb2xs X3F1ZXJ5X3VudGlsKAogaXMoICRub2RlX3N0YW5kYnktPnNhZmVfcHNxbCgKIAkJJ3Bvc3RncmVz JywKIAkJcVtzZWxlY3QgYm9vbF9vcihjb25mbGljdGluZykgZnJvbQotCQkgIChzZWxlY3QgY29u ZmxpY3RfcmVhc29uIGlzIG5vdCBOVUxMIGFzIGNvbmZsaWN0aW5nCi0JCSAgIGZyb20gcGdfcmVw bGljYXRpb25fc2xvdHMgV0hFUkUgc2xvdF90eXBlID0gJ2xvZ2ljYWwnKV0pLAorCQkgIChzZWxl Y3QgY29uZmxpY3RpbmcgZnJvbSBwZ19yZXBsaWNhdGlvbl9zbG90cworCQkgIAl3aGVyZSBzbG90 X3R5cGUgPSAnbG9naWNhbCcpXSksCiAJJ2YnLAogCSdMb2dpY2FsIHNsb3RzIGFyZSByZXBvcnRl ZCBhcyBub24gY29uZmxpY3RpbmcnKTsKIApAQCAtNzM5LDcgKzc0MCw3IEBAICRub2RlX3ByaW1h cnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnkpOwogIyBDaGVjayBpbnZh bGlkYXRpb24gaW4gdGhlIGxvZ2ZpbGUgYW5kIGluIHBnX3N0YXRfZGF0YWJhc2VfY29uZmxpY3Rz CiBjaGVja19mb3JfaW52YWxpZGF0aW9uKCdwcnVuaW5nXycsICRsb2dzdGFydCwgJ3dpdGggb24t YWNjZXNzIHBydW5pbmcnKTsKIAotIyBWZXJpZnkgY29uZmxpY3RfcmVhc29uIGlzICdyb3dzX3Jl bW92ZWQnIGluIHBnX3JlcGxpY2F0aW9uX3Nsb3RzCisjIFZlcmlmeSByZWFzb24gZm9yIGNvbmZs aWN0IGlzICdyb3dzX3JlbW92ZWQnIGluIHBnX3JlcGxpY2F0aW9uX3Nsb3RzCiBjaGVja19zbG90 c19jb25mbGljdF9yZWFzb24oJ3BydW5pbmdfJywgJ3Jvd3NfcmVtb3ZlZCcpOwogCiAkaGFuZGxl ID0gbWFrZV9zbG90X2FjdGl2ZSgkbm9kZV9zdGFuZGJ5LCAncHJ1bmluZ18nLCAwLCBcJHN0ZG91 dCwgXCRzdGRlcnIpOwpAQCAtNzgzLDcgKzc4NCw3IEBAICRub2RlX3ByaW1hcnktPndhaXRfZm9y X3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnkpOwogIyBDaGVjayBpbnZhbGlkYXRpb24gaW4g dGhlIGxvZ2ZpbGUgYW5kIGluIHBnX3N0YXRfZGF0YWJhc2VfY29uZmxpY3RzCiBjaGVja19mb3Jf aW52YWxpZGF0aW9uKCd3YWxfbGV2ZWxfJywgJGxvZ3N0YXJ0LCAnZHVlIHRvIHdhbF9sZXZlbCcp OwogCi0jIFZlcmlmeSBjb25mbGljdF9yZWFzb24gaXMgJ3dhbF9sZXZlbF9pbnN1ZmZpY2llbnQn IGluIHBnX3JlcGxpY2F0aW9uX3Nsb3RzCisjIFZlcmlmeSByZWFzb24gZm9yIGNvbmZsaWN0IGlz ICd3YWxfbGV2ZWxfaW5zdWZmaWNpZW50JyBpbiBwZ19yZXBsaWNhdGlvbl9zbG90cwogY2hlY2tf c2xvdHNfY29uZmxpY3RfcmVhc29uKCd3YWxfbGV2ZWxfJywgJ3dhbF9sZXZlbF9pbnN1ZmZpY2ll bnQnKTsKIAogJGhhbmRsZSA9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzA0MF9z dGFuZGJ5X2ZhaWxvdmVyX3Nsb3RzX3N5bmMucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzA0MF9z dGFuZGJ5X2ZhaWxvdmVyX3Nsb3RzX3N5bmMucGwKaW5kZXggMGVhMWYzZDMyMy4uZjQ3YmZkNzhl YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNDBfc3RhbmRieV9mYWlsb3Zlcl9z bG90c19zeW5jLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDQwX3N0YW5kYnlfZmFpbG92 ZXJfc2xvdHNfc3luYy5wbApAQCAtMjI4LDcgKzIyOCw3IEBAICRzdGFuZGJ5MS0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJDSEVDS1BPSU5UIik7CiAjIENoZWNrIGlmIHRoZSBzeW5jZWQgc2xvdCBp cyBpbnZhbGlkYXRlZAogaXMoICRzdGFuZGJ5MS0+c2FmZV9wc3FsKAogCQkncG9zdGdyZXMnLAot CQlxe1NFTEVDVCBjb25mbGljdF9yZWFzb24gPSAnd2FsX3JlbW92ZWQnIEZST00gcGdfcmVwbGlj YXRpb25fc2xvdHMgV0hFUkUgc2xvdF9uYW1lID0gJ2xzdWIxX3Nsb3QnO30KKwkJcXtTRUxFQ1Qg aW52YWxpZGF0aW9uX3JlYXNvbiA9ICd3YWxfcmVtb3ZlZCcgRlJPTSBwZ19yZXBsaWNhdGlvbl9z bG90cyBXSEVSRSBzbG90X25hbWUgPSAnbHN1YjFfc2xvdCc7fQogCSksCiAJInQiLAogCSdzeW5j aHJvbml6ZWQgc2xvdCBoYXMgYmVlbiBpbnZhbGlkYXRlZCcpOwpAQCAtMjc0LDcgKzI3NCw3IEBA ICRzdGFuZGJ5MS0+d2FpdF9mb3JfbG9nKHFyL2Ryb3BwZWQgcmVwbGljYXRpb24gc2xvdCAibHN1 YjFfc2xvdCIgb2YgZGJpZCBbMC05XSsvCiAjIGZsYWdnZWQgYXMgJ3N5bmNlZCcKIGlzKCAkc3Rh bmRieTEtPnNhZmVfcHNxbCgKIAkJJ3Bvc3RncmVzJywKLQkJcXtTRUxFQ1QgY29uZmxpY3RfcmVh c29uIElTIE5VTEwgQU5EIHN5bmNlZCBBTkQgTk9UIHRlbXBvcmFyeSBGUk9NIHBnX3JlcGxpY2F0 aW9uX3Nsb3RzIFdIRVJFIHNsb3RfbmFtZSA9ICdsc3ViMV9zbG90Jzt9CisJCXF7U0VMRUNUIGlu dmFsaWRhdGlvbl9yZWFzb24gSVMgTlVMTCBBTkQgc3luY2VkIEFORCBOT1QgdGVtcG9yYXJ5IEZS T00gcGdfcmVwbGljYXRpb25fc2xvdHMgV0hFUkUgc2xvdF9uYW1lID0gJ2xzdWIxX3Nsb3QnO30K IAkpLAogCSJ0IiwKIAknbG9naWNhbCBzbG90IGlzIHJlLXN5bmNlZCcpOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dAppbmRleCAwY2QyYzY0ZmNhLi4wNTViZWMwNjhkIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTQ3MywxMCArMTQ3MywxMSBAQCBwZ19yZXBsaWNh dGlvbl9zbG90c3wgU0VMRUNUIGwuc2xvdF9uYW1lLAogICAgIGwud2FsX3N0YXR1cywKICAgICBs LnNhZmVfd2FsX3NpemUsCiAgICAgbC50d29fcGhhc2UsCi0gICAgbC5jb25mbGljdF9yZWFzb24s CisgICAgbC5jb25mbGljdGluZywKICAgICBsLmZhaWxvdmVyLAotICAgIGwuc3luY2VkCi0gICBG Uk9NIChwZ19nZXRfcmVwbGljYXRpb25fc2xvdHMoKSBsKHNsb3RfbmFtZSwgcGx1Z2luLCBzbG90 X3R5cGUsIGRhdG9pZCwgdGVtcG9yYXJ5LCBhY3RpdmUsIGFjdGl2ZV9waWQsIHhtaW4sIGNhdGFs b2dfeG1pbiwgcmVzdGFydF9sc24sIGNvbmZpcm1lZF9mbHVzaF9sc24sIHdhbF9zdGF0dXMsIHNh ZmVfd2FsX3NpemUsIHR3b19waGFzZSwgY29uZmxpY3RfcmVhc29uLCBmYWlsb3Zlciwgc3luY2Vk KQorICAgIGwuc3luY2VkLAorICAgIGwuaW52YWxpZGF0aW9uX3JlYXNvbgorICAgRlJPTSAocGdf Z2V0X3JlcGxpY2F0aW9uX3Nsb3RzKCkgbChzbG90X25hbWUsIHBsdWdpbiwgc2xvdF90eXBlLCBk YXRvaWQsIHRlbXBvcmFyeSwgYWN0aXZlLCBhY3RpdmVfcGlkLCB4bWluLCBjYXRhbG9nX3htaW4s IHJlc3RhcnRfbHNuLCBjb25maXJtZWRfZmx1c2hfbHNuLCB3YWxfc3RhdHVzLCBzYWZlX3dhbF9z aXplLCB0d29fcGhhc2UsIGNvbmZsaWN0aW5nLCBmYWlsb3Zlciwgc3luY2VkLCBpbnZhbGlkYXRp b25fcmVhc29uKQogICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgZCBPTiAoKGwuZGF0b2lkID0g ZC5vaWQpKSk7CiBwZ19yb2xlc3wgU0VMRUNUIHBnX2F1dGhpZC5yb2xuYW1lLAogICAgIHBnX2F1 dGhpZC5yb2xzdXBlciwKLS0gCjIuMzQuMQoK --000000000000be6e0d06139fb27c Content-Type: application/x-patch; name="v9-0002-Add-XID-age-based-replication-slot-invalidation.patch" Content-Disposition: attachment; filename="v9-0002-Add-XID-age-based-replication-slot-invalidation.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltrb901d1 RnJvbSA0ZDQyNDgwMDBhZGZkOTA5NmM2NTJiZGYwYTY1NGFjMjIwM2Q1N2EwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTQgTWFyIDIwMjQgMTI6NTE6NDggKzAw MDAKU3ViamVjdDogW1BBVENIIHY5IDIvNF0gQWRkIFhJRCBhZ2UgYmFzZWQgcmVwbGljYXRpb24g c2xvdCBpbnZhbGlkYXRpb24KCkN1cnJlbnRseSBwb3N0Z3JlcyBoYXMgdGhlIGFiaWxpdHkgdG8g aW52YWxpZGF0ZSBpbmFjdGl2ZQpyZXBsaWNhdGlvbiBzbG90cyBiYXNlZCBvbiB0aGUgYW1vdW50 IG9mIFdBTCAoc2V0IHZpYQptYXhfc2xvdF93YWxfa2VlcF9zaXplIEdVQykgdGhhdCB3aWxsIGJl IG5lZWRlZCBmb3IgdGhlIHNsb3RzIGluCmNhc2UgdGhleSBiZWNvbWUgYWN0aXZlLiBIb3dldmVy LCBjaG9vc2luZyBhIGRlZmF1bHQgdmFsdWUgZm9yCm1heF9zbG90X3dhbF9rZWVwX3NpemUgaXMg dHJpY2t5LiBCZWNhdXNlIHRoZSBhbW91bnQgb2YgV0FMIGEKY3VzdG9tZXIgZ2VuZXJhdGVzLCBh bmQgdGhlaXIgYWxsb2NhdGVkIHN0b3JhZ2Ugd2lsbCB2YXJ5IGdyZWF0bHkKaW4gcHJvZHVjdGlv biwgbWFraW5nIGl0IGRpZmZpY3VsdCB0byBwaW4gZG93biBhIG9uZS1zaXplLWZpdHMtYWxsCnZh bHVlLiBJdCBpcyBvZnRlbiBlYXN5IGZvciBkZXZlbG9wZXJzIHRvIHNldCBhbiBYSUQgYWdlIChh Z2Ugb2YKc2xvdCdzIHhtaW4gb3IgY2F0YWxvZ194bWluKSBvZiBzYXkgMSBvciAxLjUgYmlsbGlv biwgYWZ0ZXIgd2hpY2gKdGhlIHNsb3RzIGdldCBpbnZhbGlkYXRlZC4KClRvIGFjaGlldmUgdGhl IGFib3ZlLCBwb3N0Z3JlcyB1c2VzIHJlcGxpY2F0aW9uIHNsb3QgeG1pbiAodGhlCm9sZGVzdCB0 cmFuc2FjdGlvbiB0aGF0IHRoaXMgc2xvdCBuZWVkcyB0aGUgZGF0YWJhc2UgdG8gcmV0YWluKSBv cgpjYXRhbG9nX3htaW4gKHRoZSBvbGRlc3QgdHJhbnNhY3Rpb24gYWZmZWN0aW5nIHRoZSBzeXN0 ZW0gY2F0YWxvZ3MKdGhhdCB0aGlzIHNsb3QgbmVlZHMgdGhlIGRhdGFiYXNlIHRvIHJldGFpbiks IGFuZCBhIG5ldyBHVUMKbWF4X3Nsb3RfeGlkX2FnZS4gVGhlIGNoZWNrcG9pbnRlciB0aGVuIGxv b2tzIGF0IGFsbCByZXBsaWNhdGlvbgpzbG90cyBpbnZhbGlkYXRpbmcgdGhlIHNsb3RzIGJhc2Vk IG9uIHRoZSBhZ2Ugc2V0LgotLS0KIGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAgICAgICAg ICAgICAgICAgICB8ICAyMSArKysrCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMg ICAgICAgICAgICAgfCAgMTAgKysKIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAg ICAgICAgICAgICB8ICA0NCArKysrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJs ZXMuYyAgICAgICAgICAgfCAgMTAgKysKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNx bC5jb25mLnNhbXBsZSB8ICAgMSArCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmggICAg ICAgICAgICAgICAgfCAgIDMgKwogc3JjL3Rlc3QvcmVjb3ZlcnkvbWVzb24uYnVpbGQgICAgICAg ICAgICAgICAgIHwgICAxICsKIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDUwX2ludmFsaWRhdGVfc2xv dHMucGwgICB8IDEwOCArKysrKysrKysrKysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgMTk3IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9y ZWNvdmVyeS90LzA1MF9pbnZhbGlkYXRlX3Nsb3RzLnBsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL2NvbmZpZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDY1YTZlNmM0 MDguLjZkZDU0ZmZjYjcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKQEAgLTQ1NDQsNiArNDU0NCwyNyBAQCByZXN0b3Jl X2NvbW1hbmQgPSAnY29weSAiQzpcXHNlcnZlclxcYXJjaGl2ZWRpclxcJWYiICIlcCInICAjIFdp bmRvd3MKICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2 YXJsaXN0ZW50cnkgaWQ9Imd1Yy1tYXgtc2xvdC14aWQtYWdlIiB4cmVmbGFiZWw9Im1heF9zbG90 X3hpZF9hZ2UiPgorICAgICAgPHRlcm0+PHZhcm5hbWU+bWF4X3Nsb3RfeGlkX2FnZTwvdmFybmFt ZT4gKDx0eXBlPmludGVnZXI8L3R5cGU+KQorICAgICAgPGluZGV4dGVybT4KKyAgICAgICA8cHJp bWFyeT48dmFybmFtZT5tYXhfc2xvdF94aWRfYWdlPC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBh cmFtZXRlcjwvcHJpbWFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgPC90ZXJtPgorICAg ICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBJbnZhbGlkYXRlIHJlcGxpY2F0 aW9uIHNsb3RzIHdob3NlIDxsaXRlcmFsPnhtaW48L2xpdGVyYWw+ICh0aGUgb2xkZXN0CisgICAg ICAgIHRyYW5zYWN0aW9uIHRoYXQgdGhpcyBzbG90IG5lZWRzIHRoZSBkYXRhYmFzZSB0byByZXRh aW4pIG9yCisgICAgICAgIDxsaXRlcmFsPmNhdGFsb2dfeG1pbjwvbGl0ZXJhbD4gKHRoZSBvbGRl c3QgdHJhbnNhY3Rpb24gYWZmZWN0aW5nIHRoZQorICAgICAgICBzeXN0ZW0gY2F0YWxvZ3MgdGhh dCB0aGlzIHNsb3QgbmVlZHMgdGhlIGRhdGFiYXNlIHRvIHJldGFpbikgaGFzIHJlYWNoZWQKKyAg ICAgICAgdGhlIGFnZSBzcGVjaWZpZWQgYnkgdGhpcyBzZXR0aW5nLiBBIHZhbHVlIG9mIHplcm8g KHdoaWNoIGlzIGRlZmF1bHQpCisgICAgICAgIGRpc2FibGVzIHRoaXMgZmVhdHVyZS4gVXNlcnMg Y2FuIHNldCB0aGlzIHZhbHVlIGFueXdoZXJlIGZyb20gemVybyB0bworICAgICAgICB0d28gYmls bGlvbi4gVGhpcyBwYXJhbWV0ZXIgY2FuIG9ubHkgYmUgc2V0IGluIHRoZQorICAgICAgICA8Zmls ZW5hbWU+cG9zdGdyZXNxbC5jb25mPC9maWxlbmFtZT4gZmlsZSBvciBvbiB0aGUgc2VydmVyIGNv bW1hbmQKKyAgICAgICAgbGluZS4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgor ICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5IGlkPSJndWMtdHJhY2st Y29tbWl0LXRpbWVzdGFtcCIgeHJlZmxhYmVsPSJ0cmFja19jb21taXRfdGltZXN0YW1wIj4KICAg ICAgIDx0ZXJtPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zhcm5hbWU+ICg8dHlw ZT5ib29sZWFuPC90eXBlPikKICAgICAgIDxpbmRleHRlcm0+CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94 bG9nLmMKaW5kZXggMjBhNWY4NjIwOS4uMzZhZTJhYzZhNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2cuYwpAQCAtNzE0Nyw2ICs3MTQ3LDExIEBAIENyZWF0ZUNoZWNrUG9pbnQoaW50IGZsYWdz KQogCWlmIChQcmlvclJlZG9QdHIgIT0gSW52YWxpZFhMb2dSZWNQdHIpCiAJCVVwZGF0ZUNoZWNr UG9pbnREaXN0YW5jZUVzdGltYXRlKFJlZG9SZWNQdHIgLSBQcmlvclJlZG9QdHIpOwogCisJLyog SW52YWxpZGF0ZSByZXBsaWNhdGlvbiBzbG90cyBiYXNlZCBvbiB4bWluIG9yIGNhdGFsb2dfeG1p biBhZ2UgKi8KKwlpZiAobWF4X3Nsb3RfeGlkX2FnZSA+IDApCisJCUludmFsaWRhdGVPYnNvbGV0 ZVJlcGxpY2F0aW9uU2xvdHMoUlNfSU5WQUxfWElEX0FHRSwgMCwKKwkJCQkJCQkJCQkgICBJbnZh bGlkT2lkLCBJbnZhbGlkVHJhbnNhY3Rpb25JZCk7CisKIAkvKgogCSAqIERlbGV0ZSBvbGQgbG9n IGZpbGVzLCB0aG9zZSBubyBsb25nZXIgbmVlZGVkIGZvciBsYXN0IGNoZWNrcG9pbnQgdG8KIAkg KiBwcmV2ZW50IHRoZSBkaXNrIGhvbGRpbmcgdGhlIHhsb2cgZnJvbSBncm93aW5nIGZ1bGwuCkBA IC03NTk3LDYgKzc2MDIsMTEgQEAgQ3JlYXRlUmVzdGFydFBvaW50KGludCBmbGFncykKIAkgKi8K IAlYTEJ5dGVUb1NlZyhSZWRvUmVjUHRyLCBfbG9nU2VnTm8sIHdhbF9zZWdtZW50X3NpemUpOwog CisJLyogSW52YWxpZGF0ZSByZXBsaWNhdGlvbiBzbG90cyBiYXNlZCBvbiB4bWluIG9yIGNhdGFs b2dfeG1pbiBhZ2UgKi8KKwlpZiAobWF4X3Nsb3RfeGlkX2FnZSA+IDApCisJCUludmFsaWRhdGVP YnNvbGV0ZVJlcGxpY2F0aW9uU2xvdHMoUlNfSU5WQUxfWElEX0FHRSwgMCwKKwkJCQkJCQkJCQkg ICBJbnZhbGlkT2lkLCBJbnZhbGlkVHJhbnNhY3Rpb25JZCk7CisKIAkvKgogCSAqIFJldHJlYXQg X2xvZ1NlZ05vIHVzaW5nIHRoZSBjdXJyZW50IGVuZCBvZiB4bG9nIHJlcGxheWVkIG9yIHJlY2Vp dmVkLAogCSAqIHdoaWNoZXZlciBpcyBsYXRlci4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Nsb3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwppbmRleCA0 ZjFhMTdmNmNlLi4yYTE4ODVkYTI0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9zbG90LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCkBAIC0xMDcsMTAg KzEwNywxMSBAQCBjb25zdCBjaGFyICpjb25zdCBTbG90SW52YWxpZGF0aW9uQ2F1c2VzW10gPSB7 CiAJW1JTX0lOVkFMX1dBTF9SRU1PVkVEXSA9ICJ3YWxfcmVtb3ZlZCIsCiAJW1JTX0lOVkFMX0hP UklaT05dID0gInJvd3NfcmVtb3ZlZCIsCiAJW1JTX0lOVkFMX1dBTF9MRVZFTF0gPSAid2FsX2xl dmVsX2luc3VmZmljaWVudCIsCisJW1JTX0lOVkFMX1hJRF9BR0VdID0gInhpZF9hZ2VkIiwKIH07 CiAKIC8qIE1heGltdW0gbnVtYmVyIG9mIGludmFsaWRhdGlvbiBjYXVzZXMgKi8KLSNkZWZpbmUJ UlNfSU5WQUxfTUFYX0NBVVNFUyBSU19JTlZBTF9XQUxfTEVWRUwKKyNkZWZpbmUJUlNfSU5WQUxf TUFYX0NBVVNFUyBSU19JTlZBTF9YSURfQUdFCiAKIFN0YXRpY0Fzc2VydERlY2wobGVuZ3Rob2Yo U2xvdEludmFsaWRhdGlvbkNhdXNlcykgPT0gKFJTX0lOVkFMX01BWF9DQVVTRVMgKyAxKSwKIAkJ CQkgImFycmF5IGxlbmd0aCBtaXNtYXRjaCIpOwpAQCAtMTQwLDYgKzE0MSw3IEBAIFJlcGxpY2F0 aW9uU2xvdCAqTXlSZXBsaWNhdGlvblNsb3QgPSBOVUxMOwogLyogR1VDIHZhcmlhYmxlcyAqLwog aW50CQkJbWF4X3JlcGxpY2F0aW9uX3Nsb3RzID0gMTA7IC8qIHRoZSBtYXhpbXVtIG51bWJlciBv ZiByZXBsaWNhdGlvbgogCQkJCQkJCQkJCSAqIHNsb3RzICovCitpbnQJCQltYXhfc2xvdF94aWRf YWdlID0gMDsKIAogLyoKICAqIFRoaXMgR1VDIGxpc3RzIHN0cmVhbWluZyByZXBsaWNhdGlvbiBz dGFuZGJ5IHNlcnZlciBzbG90IG5hbWVzIHRoYXQKQEAgLTE0ODMsNiArMTQ4NSw5IEBAIFJlcG9y dFNsb3RJbnZhbGlkYXRpb24oUmVwbGljYXRpb25TbG90SW52YWxpZGF0aW9uQ2F1c2UgY2F1c2Us CiAJCWNhc2UgUlNfSU5WQUxfV0FMX0xFVkVMOgogCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygm ZXJyX2RldGFpbCwgXygiTG9naWNhbCBkZWNvZGluZyBvbiBzdGFuZGJ5IHJlcXVpcmVzIHdhbF9s ZXZlbCA+PSBsb2dpY2FsIG9uIHRoZSBwcmltYXJ5IHNlcnZlci4iKSk7CiAJCQlicmVhazsKKwkJ Y2FzZSBSU19JTlZBTF9YSURfQUdFOgorCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmZXJyX2Rl dGFpbCwgXygiVGhlIHJlcGxpY2F0aW9uIHNsb3QncyB4bWluIG9yIGNhdGFsb2dfeG1pbiByZWFj aGVkIHRoZSBhZ2Ugc3BlY2lmaWVkIGJ5IG1heF9zbG90X3hpZF9hZ2UuIikpOworCQkJYnJlYWs7 CiAJCWNhc2UgUlNfSU5WQUxfTk9ORToKIAkJCXBnX3VucmVhY2hhYmxlKCk7CiAJfQpAQCAtMTU5 OSw2ICsxNjA0LDQyIEBAIEludmFsaWRhdGVQb3NzaWJseU9ic29sZXRlU2xvdChSZXBsaWNhdGlv blNsb3RJbnZhbGlkYXRpb25DYXVzZSBjYXVzZSwKIAkJCQkJaWYgKFNsb3RJc0xvZ2ljYWwocykp CiAJCQkJCQljb25mbGljdCA9IGNhdXNlOwogCQkJCQlicmVhazsKKwkJCQljYXNlIFJTX0lOVkFM X1hJRF9BR0U6CisJCQkJCXsKKwkJCQkJCVRyYW5zYWN0aW9uSWQgeGlkX2N1ciA9IFJlYWROZXh0 VHJhbnNhY3Rpb25JZCgpOworCQkJCQkJVHJhbnNhY3Rpb25JZCB4aWRfbGltaXQ7CisJCQkJCQlU cmFuc2FjdGlvbklkIHhpZF9zbG90OworCisJCQkJCQlpZiAoVHJhbnNhY3Rpb25JZElzTm9ybWFs KHMtPmRhdGEueG1pbikpCisJCQkJCQl7CisJCQkJCQkJeGlkX3Nsb3QgPSBzLT5kYXRhLnhtaW47 CisKKwkJCQkJCQl4aWRfbGltaXQgPSB4aWRfc2xvdCArIG1heF9zbG90X3hpZF9hZ2U7CisJCQkJ CQkJaWYgKHhpZF9saW1pdCA8IEZpcnN0Tm9ybWFsVHJhbnNhY3Rpb25JZCkKKwkJCQkJCQkJeGlk X2xpbWl0ICs9IEZpcnN0Tm9ybWFsVHJhbnNhY3Rpb25JZDsKKworCQkJCQkJCWlmIChUcmFuc2Fj dGlvbklkRm9sbG93c09yRXF1YWxzKHhpZF9jdXIsIHhpZF9saW1pdCkpCisJCQkJCQkJeworCQkJ CQkJCQljb25mbGljdCA9IGNhdXNlOworCQkJCQkJCQlicmVhazsKKwkJCQkJCQl9CisJCQkJCQl9 CisJCQkJCQlpZiAoVHJhbnNhY3Rpb25JZElzTm9ybWFsKHMtPmRhdGEuY2F0YWxvZ194bWluKSkK KwkJCQkJCXsKKwkJCQkJCQl4aWRfc2xvdCA9IHMtPmRhdGEuY2F0YWxvZ194bWluOworCisJCQkJ CQkJeGlkX2xpbWl0ID0geGlkX3Nsb3QgKyBtYXhfc2xvdF94aWRfYWdlOworCQkJCQkJCWlmICh4 aWRfbGltaXQgPCBGaXJzdE5vcm1hbFRyYW5zYWN0aW9uSWQpCisJCQkJCQkJCXhpZF9saW1pdCAr PSBGaXJzdE5vcm1hbFRyYW5zYWN0aW9uSWQ7CisKKwkJCQkJCQlpZiAoVHJhbnNhY3Rpb25JZEZv bGxvd3NPckVxdWFscyh4aWRfY3VyLCB4aWRfbGltaXQpKQorCQkJCQkJCXsKKwkJCQkJCQkJY29u ZmxpY3QgPSBjYXVzZTsKKwkJCQkJCQkJYnJlYWs7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9 CisJCQkJCWJyZWFrOwogCQkJCWNhc2UgUlNfSU5WQUxfTk9ORToKIAkJCQkJcGdfdW5yZWFjaGFi bGUoKTsKIAkJCX0KQEAgLTE3NTIsNiArMTc5Myw3IEBAIEludmFsaWRhdGVQb3NzaWJseU9ic29s ZXRlU2xvdChSZXBsaWNhdGlvblNsb3RJbnZhbGlkYXRpb25DYXVzZSBjYXVzZSwKICAqIC0gUlNf SU5WQUxfSE9SSVpPTjogcmVxdWlyZXMgYSBzbmFwc2hvdCA8PSB0aGUgZ2l2ZW4gaG9yaXpvbiBp biB0aGUgZ2l2ZW4KICAqICAgZGI7IGRib2lkIG1heSBiZSBJbnZhbGlkT2lkIGZvciBzaGFyZWQg cmVsYXRpb25zCiAgKiAtIFJTX0lOVkFMX1dBTF9MRVZFTDogaXMgbG9naWNhbAorICogLSBSU19J TlZBTF9YSURfQUdFOiBzbG90J3MgeG1pbiBvciBjYXRhbG9nX3htaW4gaGFzIHJlYWNoZWQgdGhl IGFnZQogICoKICAqIE5CIC0gdGhpcyBydW5zIGFzIHBhcnQgb2YgY2hlY2twb2ludCwgc28gYXZv aWQgcmFpc2luZyBlcnJvcnMgaWYgcG9zc2libGUuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNf dGFibGVzLmMKaW5kZXggNTdkOWRlNGRkOS4uNmI1Mzc1OTA5ZCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfdGFibGVzLmMKQEAgLTI5NTQsNiArMjk1NCwxNiBAQCBzdHJ1Y3QgY29uZmlnX2ludCBD b25maWd1cmVOYW1lc0ludFtdID0KIAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCiAKKwl7CisJCXsi bWF4X3Nsb3RfeGlkX2FnZSIsIFBHQ19TSUdIVVAsIFJFUExJQ0FUSU9OX1NFTkRJTkcsCisJCQln ZXR0ZXh0X25vb3AoIkFnZSBvZiB0aGUgdHJhbnNhY3Rpb24gSUQgYXQgd2hpY2ggYSByZXBsaWNh dGlvbiBzbG90IGdldHMgaW52YWxpZGF0ZWQuIiksCisJCQlnZXR0ZXh0X25vb3AoIlRoZSB0cmFu c2FjdGlvbiBpcyB0aGUgb2xkZXN0IHRyYW5zYWN0aW9uIChpbmNsdWRpbmcgdGhlIG9uZSBhZmZl Y3RpbmcgdGhlIHN5c3RlbSBjYXRhbG9ncykgdGhhdCBhIHJlcGxpY2F0aW9uIHNsb3QgbmVlZHMg dGhlIGRhdGFiYXNlIHRvIHJldGFpbi4iKQorCQl9LAorCQkmbWF4X3Nsb3RfeGlkX2FnZSwKKwkJ MCwgMCwgMjAwMDAwMDAwMCwKKwkJTlVMTCwgTlVMTCwgTlVMTAorCX0sCisKIAl7CiAJCXsiY29t bWl0X2RlbGF5IiwgUEdDX1NVU0VULCBXQUxfU0VUVElOR1MsCiAJCQlnZXR0ZXh0X25vb3AoIlNl dHMgdGhlIGRlbGF5IGluIG1pY3Jvc2Vjb25kcyBiZXR3ZWVuIHRyYW5zYWN0aW9uIGNvbW1pdCBh bmQgIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYu c2FtcGxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmlu ZGV4IDIyNDRlZTUyZjcuLmI0YzkyOGI4MjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKQEAgLTMzNCw2ICszMzQsNyBAQAogI3dhbF9zZW5kZXJf dGltZW91dCA9IDYwcwkjIGluIG1pbGxpc2Vjb25kczsgMCBkaXNhYmxlcwogI3RyYWNrX2NvbW1p dF90aW1lc3RhbXAgPSBvZmYJIyBjb2xsZWN0IHRpbWVzdGFtcCBvZiB0cmFuc2FjdGlvbiBjb21t aXQKIAkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKKyNtYXhfc2xvdF94aWRfYWdlID0g MAogCiAjIC0gUHJpbWFyeSBTZXJ2ZXIgLQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi9zbG90LmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmgKaW5kZXggN2Yy NWEwODNlZS4uNjE0YmEwZTMwYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v c2xvdC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaApAQCAtNTMsNiArNTMs OCBAQCB0eXBlZGVmIGVudW0gUmVwbGljYXRpb25TbG90SW52YWxpZGF0aW9uQ2F1c2UKIAlSU19J TlZBTF9IT1JJWk9OLAogCS8qIHdhbF9sZXZlbCBpbnN1ZmZpY2llbnQgZm9yIHNsb3QgKi8KIAlS U19JTlZBTF9XQUxfTEVWRUwsCisJLyogc2xvdCdzIHhtaW4gb3IgY2F0YWxvZ194bWluIGhhcyBy ZWFjaGVkIHRoZSBhZ2UgKi8KKwlSU19JTlZBTF9YSURfQUdFLAogfSBSZXBsaWNhdGlvblNsb3RJ bnZhbGlkYXRpb25DYXVzZTsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0 IFNsb3RJbnZhbGlkYXRpb25DYXVzZXNbXTsKQEAgLTIyNyw2ICsyMjksNyBAQCBleHRlcm4gUEdE TExJTVBPUlQgUmVwbGljYXRpb25TbG90ICpNeVJlcGxpY2F0aW9uU2xvdDsKIC8qIEdVQ3MgKi8K IGV4dGVybiBQR0RMTElNUE9SVCBpbnQgbWF4X3JlcGxpY2F0aW9uX3Nsb3RzOwogZXh0ZXJuIFBH RExMSU1QT1JUIGNoYXIgKnN0YW5kYnlfc2xvdF9uYW1lczsKK2V4dGVybiBQR0RMTElNUE9SVCBp bnQgbWF4X3Nsb3RfeGlkX2FnZTsKIAogLyogc2htZW0gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25z ICovCiBleHRlcm4gU2l6ZSBSZXBsaWNhdGlvblNsb3RzU2htZW1TaXplKHZvaWQpOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvbWVzb24uYnVpbGQgYi9zcmMvdGVzdC9yZWNvdmVyeS9t ZXNvbi5idWlsZAppbmRleCBjNjcyNDk1MDBlLi5kNjk4YzNlYzczIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWNvdmVyeS9tZXNvbi5idWlsZAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS9tZXNvbi5i dWlsZApAQCAtNTAsNiArNTAsNyBAQCB0ZXN0cyArPSB7CiAgICAgICAndC8wMzlfZW5kX29mX3dh bC5wbCcsCiAgICAgICAndC8wNDBfc3RhbmRieV9mYWlsb3Zlcl9zbG90c19zeW5jLnBsJywKICAg ICAgICd0LzA0MV9jaGVja3BvaW50X2F0X3Byb21vdGUucGwnLAorICAgICAgJ3QvMDUwX2ludmFs aWRhdGVfc2xvdHMucGwnLAogICAgIF0sCiAgIH0sCiB9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWNvdmVyeS90LzA1MF9pbnZhbGlkYXRlX3Nsb3RzLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8w NTBfaW52YWxpZGF0ZV9zbG90cy5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4yZjQ4MmI1NmU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8w NTBfaW52YWxpZGF0ZV9zbG90cy5wbApAQCAtMCwwICsxLDEwOCBAQAorIyBDb3B5cmlnaHQgKGMp IDIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisKKyMgVGVzdCBmb3Ig cmVwbGljYXRpb24gc2xvdHMgaW52YWxpZGF0aW9uCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdz IEZBVEFMID0+ICdhbGwnOworCit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgUG9z dGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBUZXN0OjpNb3JlOwordXNlIFRpbWU6OkhpUmVz IHF3KHVzbGVlcCk7CisKKyMgSW5pdGlhbGl6ZSBwcmltYXJ5IG5vZGUsIHNldHRpbmcgd2FsLXNl Z3NpemUgdG8gMU1CCitteSAkcHJpbWFyeSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5l dygncHJpbWFyeScpOworJHByaW1hcnktPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9PiAxLCBleHRy YSA9PiBbJy0td2FsLXNlZ3NpemU9MSddKTsKKyRwcmltYXJ5LT5hcHBlbmRfY29uZigKKwkncG9z dGdyZXNxbC5jb25mJywgcXsKK2NoZWNrcG9pbnRfdGltZW91dCA9IDFoCit9KTsKKyRwcmltYXJ5 LT5zdGFydDsKKyRwcmltYXJ5LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCisgICAgU0VM RUNUIHBnX2NyZWF0ZV9waHlzaWNhbF9yZXBsaWNhdGlvbl9zbG90KCdzYjFfc2xvdCcpOworXSk7 CisKKyMgVGFrZSBiYWNrdXAKK215ICRiYWNrdXBfbmFtZSA9ICdteV9iYWNrdXAnOworJHByaW1h cnktPmJhY2t1cCgkYmFja3VwX25hbWUpOworCisjIENyZWF0ZSBhIHN0YW5kYnkgbGlua2luZyB0 byB0aGUgcHJpbWFyeSB1c2luZyB0aGUgcmVwbGljYXRpb24gc2xvdAorbXkgJHN0YW5kYnkxID0g UG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdzdGFuZGJ5MScpOworJHN0YW5kYnkxLT5p bml0X2Zyb21fYmFja3VwKCRwcmltYXJ5LCAkYmFja3VwX25hbWUsIGhhc19zdHJlYW1pbmcgPT4g MSk7CisKKyMgRW5hYmxlIGhzX2ZlZWRiYWNrLiBUaGUgc2xvdCBzaG91bGQgZ2FpbiBhbiB4bWlu LiBXZSBzZXQgdGhlIHN0YXR1cyBpbnRlcnZhbAorIyBzbyB3ZSdsbCBzZWUgdGhlIHJlc3VsdHMg cHJvbXB0bHkuCiskc3RhbmRieTEtPmFwcGVuZF9jb25mKAorCSdwb3N0Z3Jlc3FsLmNvbmYnLCBx eworcHJpbWFyeV9zbG90X25hbWUgPSAnc2IxX3Nsb3QnCitob3Rfc3RhbmRieV9mZWVkYmFjayA9 IG9uCit3YWxfcmVjZWl2ZXJfc3RhdHVzX2ludGVydmFsID0gMQorfSk7Ciskc3RhbmRieTEtPnN0 YXJ0OworCisjIENyZWF0ZSBzb21lIGNvbnRlbnQgb24gcHJpbWFyeSB0byBtb3ZlIHhtaW4KKyRw cmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9pbnQgQVMg U0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDEwKSBBUyBhIik7CisKKyMgV2FpdCB1bnRpbCBzdGFu ZGJ5IGhhcyByZXBsYXllZCBlbm91Z2ggZGF0YQorJHByaW1hcnktPndhaXRfZm9yX2NhdGNodXAo JHN0YW5kYnkxKTsKKworJHByaW1hcnktPnBvbGxfcXVlcnlfdW50aWwoCisJJ3Bvc3RncmVzJywg cXFbCisJU0VMRUNUIHhtaW4gSVMgTk9UIE5VTEwKKwkJRlJPTSBwZ19jYXRhbG9nLnBnX3JlcGxp Y2F0aW9uX3Nsb3RzCisJCVdIRVJFIHNsb3RfbmFtZSA9ICdzYjFfc2xvdCc7CitdKSBvciBkaWUg IlRpbWVkIG91dCB3YWl0aW5nIGZvciBzbG90IHhtaW4gdG8gYWR2YW5jZSI7CisKKyRwcmltYXJ5 LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCisJQUxURVIgU1lTVEVNIFNFVCBtYXhfc2xv dF94aWRfYWdlID0gNTAwOworXSk7CiskcHJpbWFyeS0+cmVsb2FkOworCisjIFN0b3Agc3RhbmRi eSB0byBtYWtlIHRoZSByZXBsaWNhdGlvbiBzbG90J3MgeG1pbiBvbiBwcmltYXJ5IHRvIGFnZQor JHN0YW5kYnkxLT5zdG9wOworCitteSAkbG9nc3RhcnQgPSAtcyAkcHJpbWFyeS0+bG9nZmlsZTsK KworIyBEbyBzb21lIHdvcmsgdG8gYWR2YW5jZSB4bWluCiskcHJpbWFyeS0+c2FmZV9wc3FsKAor CSdwb3N0Z3JlcycsIHF7CitkbyAkJAorYmVnaW4KKyAgZm9yIGkgaW4gMTAwMDAuLjExMDAwIGxv b3AKKyAgICAtLSB1c2UgYW4gZXhjZXB0aW9uIGJsb2NrIHNvIHRoYXQgZWFjaCBpdGVyYXRpb24g ZWF0cyBhbiBYSUQKKyAgICBiZWdpbgorICAgICAgaW5zZXJ0IGludG8gdGFiX2ludCB2YWx1ZXMg KGkpOworICAgIGV4Y2VwdGlvbgorICAgICAgd2hlbiBkaXZpc2lvbl9ieV96ZXJvIHRoZW4gbnVs bDsKKyAgICBlbmQ7CisgIGVuZCBsb29wOworZW5kJCQ7Cit9KTsKKworbXkgJGludmFsaWRhdGVk ID0gMDsKK2ZvciAobXkgJGkgPSAwOyAkaSA8IDEwICogJFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxz Ojp0aW1lb3V0X2RlZmF1bHQ7ICRpKyspCit7CisJJHByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiQ0hFQ0tQT0lOVCIpOworCWlmICgkcHJpbWFyeS0+bG9nX2NvbnRhaW5zKAorCQkJJ2lu dmFsaWRhdGluZyBvYnNvbGV0ZSByZXBsaWNhdGlvbiBzbG90ICJzYjFfc2xvdCInLCAkbG9nc3Rh cnQpKQorCXsKKwkJJGludmFsaWRhdGVkID0gMTsKKwkJbGFzdDsKKwl9CisJdXNsZWVwKDEwMF8w MDApOworfQorb2soJGludmFsaWRhdGVkLCAnY2hlY2sgdGhhdCBzbG90IHNiMV9zbG90IGludmFs aWRhdGlvbiBoYXMgYmVlbiBsb2dnZWQnKTsKKworIyBXYWl0IGZvciB0aGUgaW5hY3RpdmUgcmVw bGljYXRpb24gc2xvdHMgdG8gYmUgaW52YWxpZGF0ZWQuCiskcHJpbWFyeS0+cG9sbF9xdWVyeV91 bnRpbCgKKwkncG9zdGdyZXMnLCBxcVsKKwlTRUxFQ1QgQ09VTlQoc2xvdF9uYW1lKSA9IDEgRlJP TSBwZ19yZXBsaWNhdGlvbl9zbG90cworCQlXSEVSRSBzbG90X25hbWUgPSAnc2IxX3Nsb3QnIEFO RAorCQlpbnZhbGlkYXRpb25fcmVhc29uID0gJ3hpZF9hZ2VkJzsKK10pCisgIG9yIGRpZQorICAi VGltZWQgb3V0IHdoaWxlIHdhaXRpbmcgZm9yIHJlcGxpY2F0aW9uIHNsb3Qgc2IxX3Nsb3QgdG8g YmUgaW52YWxpZGF0ZWQiOworCitkb25lX3Rlc3RpbmcoKTsKLS0gCjIuMzQuMQoK --000000000000be6e0d06139fb27c Content-Type: application/x-patch; name="v9-0003-Track-inactive-replication-slot-information.patch" Content-Disposition: attachment; filename="v9-0003-Track-inactive-replication-slot-information.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltrb92ig2 RnJvbSA4MzQ5MjAwYjBiYWQxYzhjZGEzZTNmOTYwMzRlN2I2M2UzMDU0ZDk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTQgTWFyIDIwMjQgMTQ6MDQ6MDAgKzAw MDAKU3ViamVjdDogW1BBVENIIHY5IDMvNF0gVHJhY2sgaW5hY3RpdmUgcmVwbGljYXRpb24gc2xv dCBpbmZvcm1hdGlvbgoKQ3VycmVudGx5IHBvc3RncmVzIGRvZXNuJ3QgdHJhY2sgbWV0cmljcyBs aWtlIHRoZSB0aW1lIGF0IHdoaWNoCnRoZSBzbG90IGJlY2FtZSBpbmFjdGl2ZSwgYW5kIHRoZSB0 b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIHNsb3QKYmVjYW1lIGluYWN0aXZlIGluIGl0cyBsaWZl dGltZS4gVGhpcyBjb21taXQgYWRkcyB0d28gbmV3IG1ldHJpY3MKbGFzdF9pbmFjdGl2ZV9hdCBv ZiB0eXBlIHRpbWVzdGFtcHR6IGFuZCBpbmFjdGl2ZV9jb3VudCBvZiB0eXBlIG51bWVyaWMKdG8g UmVwbGljYXRpb25TbG90UGVyc2lzdGVudERhdGEuIFdoZW5ldmVyIGEgc2xvdCBiZWNvbWVzCmlu YWN0aXZlLCB0aGUgY3VycmVudCB0aW1lc3RhbXAgYW5kIGluYWN0aXZlIGNvdW50IGFyZSBwZXJz aXN0ZWQKdG8gZGlzay4KClRoZXNlIG1ldHJpY3MgYXJlIHVzZWZ1bCBpbiB0aGUgZm9sbG93aW5n IHdheXM6Ci0gVG8gaW1wcm92ZSByZXBsaWNhdGlvbiBzbG90IG1vbml0b3JpbmcgdG9vbHMuIEZv ciBpbnN0YW5jZSwgb25lCmNhbiBidWlsZCBhIG1vbml0b3JpbmcgdG9vbCB0aGF0IHNpZ25hbHMg YSkgd2hlbiByZXBsaWNhdGlvbiBzbG90cwppcyBseWluZyBpbmFjdGl2ZSBmb3IgYSBkYXkgb3Ig c28gdXNpbmcgbGFzdF9pbmFjdGl2ZV9hdCBtZXRyaWMsCmIpIHdoZW4gYSByZXBsaWNhdGlvbiBz bG90IGlzIGJlY29taW5nIGluYWN0aXZlIHRvbyBmcmVxdWVudGx5CnVzaW5nIGxhc3RfaW5hY3Rp dmVfYXQgbWV0cmljLgoKLSBUbyBpbXBsZW1lbnQgdGltZW91dC1iYXNlZCBpbmFjdGl2ZSByZXBs aWNhdGlvbiBzbG90IG1hbmFnZW1lbnQKY2FwYWJpbGl0eSBpbiBwb3N0Z3Jlcy4KCkluY3JlYXNl cyBTTE9UX1ZFUlNJT04gZHVlIHRvIHRoZSBhZGRlZCB0d28gbmV3IG1ldHJpY3MuCi0tLQogZG9j L3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgIHwgMjAgKysrKysrKysrKysrKwogc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIHwgIDQgKystCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9zbG90LmMgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0t CiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYyAgfCAxNSArKysrKysrKystCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgfCAgNiArKy0tCiBzcmMvaW5jbHVk ZS9yZXBsaWNhdGlvbi9zbG90LmggICAgICAgfCAgNiArKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dCAgfCAgNiArKy0tCiA3IGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlv bnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0t dmlld3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCBmM2ZiNWJh MWIwLi41OWNkMWI1MjExIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCkBAIC0yNzUwLDYgKzI3NTAs MjYgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRfeGFj dHMgcHB4CiAgICAgICAgSUQgb2Ygcm9sZQogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5s YXN0X2luYWN0aXZlX2F0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGltZXN0YW1wdHo8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIHRpbWUgYXQgd2hpY2ggdGhl IHNsb3QgYmVjYW1lIGluYWN0aXZlLgorICAgICAgICA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBp ZiB0aGUgc2xvdCBpcyBjdXJyZW50bHkgYWN0aXZlbHkgYmVpbmcKKyAgICAgICAgdXNlZC4KKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5hY3RpdmVfY291bnQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRoZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIHNsb3QgYmVjYW1lIGluYWN0aXZlIGluIGl0 cyBsaWZldGltZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICA8L3Ri b2R5PgogICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwKaW5kZXggY2QyMmRhZDk1OS4uZGU5ZjFkNTUwNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbApAQCAtMTAyNiw3ICsxMDI2LDkgQEAgQ1JFQVRFIFZJRVcgcGdfcmVwbGlj YXRpb25fc2xvdHMgQVMKICAgICAgICAgICAgIEwuY29uZmxpY3RpbmcsCiAgICAgICAgICAgICBM LmZhaWxvdmVyLAogICAgICAgICAgICAgTC5zeW5jZWQsCi0gICAgICAgICAgICBMLmludmFsaWRh dGlvbl9yZWFzb24KKyAgICAgICAgICAgIEwuaW52YWxpZGF0aW9uX3JlYXNvbiwKKyAgICAgICAg ICAgIEwubGFzdF9pbmFjdGl2ZV9hdCwKKyAgICAgICAgICAgIEwuaW5hY3RpdmVfY291bnQKICAg ICBGUk9NIHBnX2dldF9yZXBsaWNhdGlvbl9zbG90cygpIEFTIEwKICAgICAgICAgICAgIExFRlQg Sk9JTiBwZ19kYXRhYmFzZSBEIE9OIChMLmRhdG9pZCA9IEQub2lkKTsKIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v c2xvdC5jCmluZGV4IDJhMTg4NWRhMjQuLmU2MDYyMTg2NzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90 LmMKQEAgLTEzMCw3ICsxMzAsNyBAQCBTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKFNsb3RJbnZh bGlkYXRpb25DYXVzZXMpID09IChSU19JTlZBTF9NQVhfQ0FVU0VTICsgMSksCiAJc2l6ZW9mKFJl cGxpY2F0aW9uU2xvdE9uRGlzaykgLSBSZXBsaWNhdGlvblNsb3RPbkRpc2tDb25zdGFudFNpemUK IAogI2RlZmluZSBTTE9UX01BR0lDCQkweDEwNTFDQTEJLyogZm9ybWF0IGlkZW50aWZpZXIgKi8K LSNkZWZpbmUgU0xPVF9WRVJTSU9OCTUJCS8qIHZlcnNpb24gZm9yIG5ldyBmaWxlcyAqLworI2Rl ZmluZSBTTE9UX1ZFUlNJT04JNgkJLyogdmVyc2lvbiBmb3IgbmV3IGZpbGVzICovCiAKIC8qIENv bnRyb2wgYXJyYXkgZm9yIHJlcGxpY2F0aW9uIHNsb3QgbWFuYWdlbWVudCAqLwogUmVwbGljYXRp b25TbG90Q3RsRGF0YSAqUmVwbGljYXRpb25TbG90Q3RsID0gTlVMTDsKQEAgLTQwMCw2ICs0MDAs OCBAQCBSZXBsaWNhdGlvblNsb3RDcmVhdGUoY29uc3QgY2hhciAqbmFtZSwgYm9vbCBkYl9zcGVj aWZpYywKIAlzbG90LT5kYXRhLnR3b19waGFzZV9hdCA9IEludmFsaWRYTG9nUmVjUHRyOwogCXNs b3QtPmRhdGEuZmFpbG92ZXIgPSBmYWlsb3ZlcjsKIAlzbG90LT5kYXRhLnN5bmNlZCA9IHN5bmNl ZDsKKwlzbG90LT5kYXRhLmxhc3RfaW5hY3RpdmVfYXQgPSAwOworCXNsb3QtPmRhdGEuaW5hY3Rp dmVfY291bnQgPSAwOwogCiAJLyogYW5kIHRoZW4gZGF0YSBvbmx5IHByZXNlbnQgaW4gc2hhcmVk IG1lbW9yeSAqLwogCXNsb3QtPmp1c3RfZGlydGllZCA9IGZhbHNlOwpAQCAtNjI2LDYgKzYyOCwx NyBAQCByZXRyeToKIAogCWlmIChhbV93YWxzZW5kZXIpCiAJeworCQlpZiAocy0+ZGF0YS5wZXJz aXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKQorCQl7CisJCQlTcGluTG9ja0FjcXVpcmUoJnMtPm11 dGV4KTsKKwkJCXMtPmRhdGEubGFzdF9pbmFjdGl2ZV9hdCA9IDA7CisJCQlTcGluTG9ja1JlbGVh c2UoJnMtPm11dGV4KTsKKworCQkJLyogV3JpdGUgdGhpcyBzbG90IHRvIGRpc2sgKi8KKwkJCVJl cGxpY2F0aW9uU2xvdE1hcmtEaXJ0eSgpOworCQkJUmVwbGljYXRpb25TbG90U2F2ZSgpOworCQl9 CisKIAkJZXJlcG9ydChsb2dfcmVwbGljYXRpb25fY29tbWFuZHMgPyBMT0cgOiBERUJVRzEsCiAJ CQkJU2xvdElzTG9naWNhbChzKQogCQkJCT8gZXJybXNnKCJhY3F1aXJlZCBsb2dpY2FsIHJlcGxp Y2F0aW9uIHNsb3QgXCIlc1wiIiwKQEAgLTY5MywxNiArNzA2LDIwIEBAIFJlcGxpY2F0aW9uU2xv dFJlbGVhc2Uodm9pZCkKIAkJQ29uZGl0aW9uVmFyaWFibGVCcm9hZGNhc3QoJnNsb3QtPmFjdGl2 ZV9jdik7CiAJfQogCi0JTXlSZXBsaWNhdGlvblNsb3QgPSBOVUxMOwotCi0JLyogbWlnaHQgbm90 IGhhdmUgYmVlbiBzZXQgd2hlbiB3ZSd2ZSBiZWVuIGEgcGxhaW4gc2xvdCAqLwotCUxXTG9ja0Fj cXVpcmUoUHJvY0FycmF5TG9jaywgTFdfRVhDTFVTSVZFKTsKLQlNeVByb2MtPnN0YXR1c0ZsYWdz ICY9IH5QUk9DX0lOX0xPR0lDQUxfREVDT0RJTkc7Ci0JUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3Nb TXlQcm9jLT5wZ3hhY3RvZmZdID0gTXlQcm9jLT5zdGF0dXNGbGFnczsKLQlMV0xvY2tSZWxlYXNl KFByb2NBcnJheUxvY2spOwotCiAJaWYgKGFtX3dhbHNlbmRlcikKIAl7CisJCWlmIChzbG90LT5k YXRhLnBlcnNpc3RlbmN5ID09IFJTX1BFUlNJU1RFTlQpCisJCXsKKwkJCVNwaW5Mb2NrQWNxdWly ZSgmc2xvdC0+bXV0ZXgpOworCQkJc2xvdC0+ZGF0YS5sYXN0X2luYWN0aXZlX2F0ID0gR2V0Q3Vy cmVudFRpbWVzdGFtcCgpOworCQkJc2xvdC0+ZGF0YS5pbmFjdGl2ZV9jb3VudCsrOworCQkJU3Bp bkxvY2tSZWxlYXNlKCZzbG90LT5tdXRleCk7CisKKwkJCS8qIFdyaXRlIHRoaXMgc2xvdCB0byBk aXNrICovCisJCQlSZXBsaWNhdGlvblNsb3RNYXJrRGlydHkoKTsKKwkJCVJlcGxpY2F0aW9uU2xv dFNhdmUoKTsKKwkJfQorCiAJCWVyZXBvcnQobG9nX3JlcGxpY2F0aW9uX2NvbW1hbmRzID8gTE9H IDogREVCVUcxLAogCQkJCWlzX2xvZ2ljYWwKIAkJCQk/IGVycm1zZygicmVsZWFzZWQgbG9naWNh bCByZXBsaWNhdGlvbiBzbG90IFwiJXNcIiIsCkBAIC03MTIsNiArNzI5LDE0IEBAIFJlcGxpY2F0 aW9uU2xvdFJlbGVhc2Uodm9pZCkKIAogCQlwZnJlZShzbG90bmFtZSk7CiAJfQorCisJTXlSZXBs aWNhdGlvblNsb3QgPSBOVUxMOworCisJLyogbWlnaHQgbm90IGhhdmUgYmVlbiBzZXQgd2hlbiB3 ZSd2ZSBiZWVuIGEgcGxhaW4gc2xvdCAqLworCUxXTG9ja0FjcXVpcmUoUHJvY0FycmF5TG9jaywg TFdfRVhDTFVTSVZFKTsKKwlNeVByb2MtPnN0YXR1c0ZsYWdzICY9IH5QUk9DX0lOX0xPR0lDQUxf REVDT0RJTkc7CisJUHJvY0dsb2JhbC0+c3RhdHVzRmxhZ3NbTXlQcm9jLT5wZ3hhY3RvZmZdID0g TXlQcm9jLT5zdGF0dXNGbGFnczsKKwlMV0xvY2tSZWxlYXNlKFByb2NBcnJheUxvY2spOwogfQog CiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdGZ1bmNzLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwppbmRleCBiNWE2MzhlZGVhLi40Yzdh MTIwZGYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwor KysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90ZnVuY3MuYwpAQCAtMjM5LDcgKzIzOSw3 IEBAIHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdChQR19GVU5DVElPTl9BUkdTKQogRGF0dW0KIHBn X2dldF9yZXBsaWNhdGlvbl9zbG90cyhQR19GVU5DVElPTl9BUkdTKQogewotI2RlZmluZSBQR19H RVRfUkVQTElDQVRJT05fU0xPVFNfQ09MUyAxOAorI2RlZmluZSBQR19HRVRfUkVQTElDQVRJT05f U0xPVFNfQ09MUyAyMAogCVJldHVyblNldEluZm8gKnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICop IGZjaW5mby0+cmVzdWx0aW5mbzsKIAlYTG9nUmVjUHRyCWN1cnJsc247CiAJaW50CQkJc2xvdG5v OwpAQCAtMjY0LDYgKzI2NCw3IEBAIHBnX2dldF9yZXBsaWNhdGlvbl9zbG90cyhQR19GVU5DVElP Tl9BUkdTKQogCQlXQUxBdmFpbGFiaWxpdHkgd2Fsc3RhdGU7CiAJCWludAkJCWk7CiAJCVJlcGxp Y2F0aW9uU2xvdEludmFsaWRhdGlvbkNhdXNlIGNhdXNlOworCQljaGFyCQlidWZbMjU2XTsKIAog CQlpZiAoIXNsb3QtPmluX3VzZSkKIAkJCWNvbnRpbnVlOwpAQCAtNDM2LDYgKzQzNywxOCBAQCBw Z19nZXRfcmVwbGljYXRpb25fc2xvdHMoUEdfRlVOQ1RJT05fQVJHUykKIAkJZWxzZQogCQkJdmFs dWVzW2krK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKFNsb3RJbnZhbGlkYXRpb25DYXVzZXNbY2F1 c2VdKTsKIAorCQlpZiAoc2xvdF9jb250ZW50cy5kYXRhLmxhc3RfaW5hY3RpdmVfYXQgPiAwKQor CQkJdmFsdWVzW2krK10gPSBUaW1lc3RhbXBUekdldERhdHVtKHNsb3RfY29udGVudHMuZGF0YS5s YXN0X2luYWN0aXZlX2F0KTsKKwkJZWxzZQorCQkJbnVsbHNbaSsrXSA9IHRydWU7CisKKwkJLyog Q29udmVydCB0byBudW1lcmljLiAqLworCQlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2 NF9GT1JNQVQsIHNsb3RfY29udGVudHMuZGF0YS5pbmFjdGl2ZV9jb3VudCk7CisJCXZhbHVlc1tp KytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJCSAgQ1N0cmlu Z0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJ CQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOworCiAJCUFzc2VydChpID09IFBHX0dFVF9SRVBMSUNB VElPTl9TTE9UU19DT0xTKTsKIAogCQl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNldFJl c3VsdCwgcnNpbmZvLT5zZXREZXNjLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggZTVkYzFj YmRiMy4uYjI2YjUzYjcxNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMTEyMCw5ICsx MTEyMCw5IEBACiAgIHByb25hbWUgPT4gJ3BnX2dldF9yZXBsaWNhdGlvbl9zbG90cycsIHByb3Jv d3MgPT4gJzEwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsCiAgIHByb2FyZ3R5cGVzID0+ ICcnLAotICBwcm9hbGxhcmd0eXBlcyA9PiAne25hbWUsbmFtZSx0ZXh0LG9pZCxib29sLGJvb2ws aW50NCx4aWQseGlkLHBnX2xzbixwZ19sc24sdGV4dCxpbnQ4LGJvb2wsYm9vbCxib29sLGJvb2ws dGV4dH0nLAotICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvfScsCi0gIHByb2FyZ25hbWVzID0+ICd7c2xvdF9uYW1lLHBsdWdpbixzbG90X3R5cGUs ZGF0b2lkLHRlbXBvcmFyeSxhY3RpdmUsYWN0aXZlX3BpZCx4bWluLGNhdGFsb2dfeG1pbixyZXN0 YXJ0X2xzbixjb25maXJtZWRfZmx1c2hfbHNuLHdhbF9zdGF0dXMsc2FmZV93YWxfc2l6ZSx0d29f cGhhc2UsY29uZmxpY3RpbmcsZmFpbG92ZXIsc3luY2VkLGludmFsaWRhdGlvbl9yZWFzb259JywK KyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tuYW1lLG5hbWUsdGV4dCxvaWQsYm9vbCxib29sLGludDQs eGlkLHhpZCxwZ19sc24scGdfbHNuLHRleHQsaW50OCxib29sLGJvb2wsYm9vbCxib29sLHRleHQs dGltZXN0YW1wdHosbnVtZXJpY30nLAorICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3Nsb3RfbmFt ZSxwbHVnaW4sc2xvdF90eXBlLGRhdG9pZCx0ZW1wb3JhcnksYWN0aXZlLGFjdGl2ZV9waWQseG1p bixjYXRhbG9nX3htaW4scmVzdGFydF9sc24sY29uZmlybWVkX2ZsdXNoX2xzbix3YWxfc3RhdHVz LHNhZmVfd2FsX3NpemUsdHdvX3BoYXNlLGNvbmZsaWN0aW5nLGZhaWxvdmVyLHN5bmNlZCxpbnZh bGlkYXRpb25fcmVhc29uLGxhc3RfaW5hY3RpdmVfYXQsaW5hY3RpdmVfY291bnR9JywKICAgcHJv c3JjID0+ICdwZ19nZXRfcmVwbGljYXRpb25fc2xvdHMnIH0sCiB7IG9pZCA9PiAnMzc4NicsIGRl c2NyID0+ICdzZXQgdXAgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHNsb3QnLAogICBwcm9uYW1lID0+ ICdwZ19jcmVhdGVfbG9naWNhbF9yZXBsaWNhdGlvbl9zbG90JywgcHJvdm9sYXRpbGUgPT4gJ3Yn LApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oIGIvc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vc2xvdC5oCmluZGV4IDYxNGJhMGUzMGIuLjc4MDc2N2E4MTkgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaAorKysgYi9zcmMvaW5jbHVkZS9y ZXBsaWNhdGlvbi9zbG90LmgKQEAgLTEyOSw2ICsxMjksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgUmVw bGljYXRpb25TbG90UGVyc2lzdGVudERhdGEKIAkgKiBmb3IgbG9naWNhbCBzbG90cyBvbiB0aGUg cHJpbWFyeSBzZXJ2ZXIuCiAJICovCiAJYm9vbAkJZmFpbG92ZXI7CisKKwkvKiBXaGVuIGRpZCB0 aGlzIHNsb3QgYmVjb21lIGluYWN0aXZlIGxhc3QgdGltZT8gKi8KKwlUaW1lc3RhbXBUeiBsYXN0 X2luYWN0aXZlX2F0OworCisJLyogSG93IG1hbnkgdGltZXMgdGhlIHNsb3QgaGFzIGJlZW4gaW5h Y3RpdmU/ICovCisJdWludDY0CQlpbmFjdGl2ZV9jb3VudDsKIH0gUmVwbGljYXRpb25TbG90UGVy c2lzdGVudERhdGE7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDA1 NWJlYzA2OGQuLmMwYmRmZTc2ZDggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBA IC0xNDc2LDggKzE0NzYsMTAgQEAgcGdfcmVwbGljYXRpb25fc2xvdHN8IFNFTEVDVCBsLnNsb3Rf bmFtZSwKICAgICBsLmNvbmZsaWN0aW5nLAogICAgIGwuZmFpbG92ZXIsCiAgICAgbC5zeW5jZWQs Ci0gICAgbC5pbnZhbGlkYXRpb25fcmVhc29uCi0gICBGUk9NIChwZ19nZXRfcmVwbGljYXRpb25f c2xvdHMoKSBsKHNsb3RfbmFtZSwgcGx1Z2luLCBzbG90X3R5cGUsIGRhdG9pZCwgdGVtcG9yYXJ5 LCBhY3RpdmUsIGFjdGl2ZV9waWQsIHhtaW4sIGNhdGFsb2dfeG1pbiwgcmVzdGFydF9sc24sIGNv bmZpcm1lZF9mbHVzaF9sc24sIHdhbF9zdGF0dXMsIHNhZmVfd2FsX3NpemUsIHR3b19waGFzZSwg Y29uZmxpY3RpbmcsIGZhaWxvdmVyLCBzeW5jZWQsIGludmFsaWRhdGlvbl9yZWFzb24pCisgICAg bC5pbnZhbGlkYXRpb25fcmVhc29uLAorICAgIGwubGFzdF9pbmFjdGl2ZV9hdCwKKyAgICBsLmlu YWN0aXZlX2NvdW50CisgICBGUk9NIChwZ19nZXRfcmVwbGljYXRpb25fc2xvdHMoKSBsKHNsb3Rf bmFtZSwgcGx1Z2luLCBzbG90X3R5cGUsIGRhdG9pZCwgdGVtcG9yYXJ5LCBhY3RpdmUsIGFjdGl2 ZV9waWQsIHhtaW4sIGNhdGFsb2dfeG1pbiwgcmVzdGFydF9sc24sIGNvbmZpcm1lZF9mbHVzaF9s c24sIHdhbF9zdGF0dXMsIHNhZmVfd2FsX3NpemUsIHR3b19waGFzZSwgY29uZmxpY3RpbmcsIGZh aWxvdmVyLCBzeW5jZWQsIGludmFsaWRhdGlvbl9yZWFzb24sIGxhc3RfaW5hY3RpdmVfYXQsIGlu YWN0aXZlX2NvdW50KQogICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgZCBPTiAoKGwuZGF0b2lk ID0gZC5vaWQpKSk7CiBwZ19yb2xlc3wgU0VMRUNUIHBnX2F1dGhpZC5yb2xuYW1lLAogICAgIHBn X2F1dGhpZC5yb2xzdXBlciwKLS0gCjIuMzQuMQoK --000000000000be6e0d06139fb27c Content-Type: application/x-patch; name="v9-0004-Add-inactive_timeout-based-replication-slot-inval.patch" Content-Disposition: attachment; filename="v9-0004-Add-inactive_timeout-based-replication-slot-inval.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltrb94yb3 RnJvbSBmZjUwMDdlMjYxMDM5YmY5NTFhOTNiYWJkZjQwN2ZhZWVlZDJiZGViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTQgTWFyIDIwMjQgMTQ6MDY6NDEgKzAw MDAKU3ViamVjdDogW1BBVENIIHY5IDQvNF0gQWRkIGluYWN0aXZlX3RpbWVvdXQgYmFzZWQgcmVw bGljYXRpb24gc2xvdAogaW52YWxpZGF0aW9uCgpDdXJyZW50bHkgcG9zdGdyZXMgaGFzIHRoZSBh YmlsaXR5IHRvIGludmFsaWRhdGUgaW5hY3RpdmUKcmVwbGljYXRpb24gc2xvdHMgYmFzZWQgb24g dGhlIGFtb3VudCBvZiBXQUwgKHNldCB2aWEKbWF4X3Nsb3Rfd2FsX2tlZXBfc2l6ZSBHVUMpIHRo YXQgd2lsbCBiZSBuZWVkZWQgZm9yIHRoZSBzbG90cyBpbgpjYXNlIHRoZXkgYmVjb21lIGFjdGl2 ZS4gSG93ZXZlciwgY2hvb3NpbmcgYSBkZWZhdWx0IHZhbHVlIGZvcgptYXhfc2xvdF93YWxfa2Vl cF9zaXplIGlzIHRyaWNreS4gQmVjYXVzZSB0aGUgYW1vdW50IG9mIFdBTCBhCmN1c3RvbWVyIGdl bmVyYXRlcywgYW5kIHRoZWlyIGFsbG9jYXRlZCBzdG9yYWdlIHdpbGwgdmFyeSBncmVhdGx5Cmlu IHByb2R1Y3Rpb24sIG1ha2luZyBpdCBkaWZmaWN1bHQgdG8gcGluIGRvd24gYSBvbmUtc2l6ZS1m aXRzLWFsbAp2YWx1ZS4gSXQgaXMgb2Z0ZW4gZWFzeSBmb3IgZGV2ZWxvcGVycyB0byBzZXQgYSB0 aW1lb3V0IG9mIHNheSAxCm9yIDIgb3IgMyBkYXlzLCBhZnRlciB3aGljaCB0aGUgaW5hY3RpdmUg c2xvdHMgZ2V0IGRyb3BwZWQuCgpUbyBhY2hpZXZlIHRoZSBhYm92ZSwgcG9zdGdyZXMgdXNlcyBy ZXBsaWNhdGlvbiBzbG90IG1ldHJpYwppbmFjdGl2ZV9hdCAodGhlIHRpbWUgYXQgd2hpY2ggdGhl IHNsb3QgYmVjYW1lIGluYWN0aXZlKSwgYW5kIGEKbmV3IEdVQyBpbmFjdGl2ZV9yZXBsaWNhdGlv bl9zbG90X3RpbWVvdXQuIFRoZSBjaGVja3BvaW50ZXIgdGhlbgpsb29rcyBhdCBhbGwgcmVwbGlj YXRpb24gc2xvdHMgaW52YWxpZGF0aW5nIHRoZSBpbmFjdGl2ZSBzbG90cwpiYXNlZCBvbiB0aGUg dGltZW91dCBzZXQuCi0tLQogZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sICAgICAgICAgICAgICAg ICAgICAgIHwgMTggKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYyAgICAg ICAgICAgICB8IDEwICsrKwogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jICAgICAgICAg ICAgICAgIHwgMjIgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAg ICAgICAgICAgfCAxMiArKysKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25m LnNhbXBsZSB8ICAxICsKIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaCAgICAgICAgICAg ICAgICB8ICAzICsKIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDUwX2ludmFsaWRhdGVfc2xvdHMucGwg ICB8IDc5ICsrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNn bWwgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKaW5kZXggNmRkNTRmZmNiNy4uNGIwYjYwYTFh YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC9jb25maWcuc2dtbApAQCAtNDU2NSw2ICs0NTY1LDI0IEBAIHJlc3RvcmVfY29tbWFuZCA9ICdj b3B5ICJDOlxcc2VydmVyXFxhcmNoaXZlZGlyXFwlZiIgIiVwIicgICMgV2luZG93cwogICAgICAg PC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeSBp ZD0iZ3VjLWluYWN0aXZlLXJlcGxpY2F0aW9uLXNsb3QtdGltZW91dCIgeHJlZmxhYmVsPSJpbmFj dGl2ZV9yZXBsaWNhdGlvbl9zbG90X3RpbWVvdXQiPgorICAgICAgPHRlcm0+PHZhcm5hbWU+aW5h Y3RpdmVfcmVwbGljYXRpb25fc2xvdF90aW1lb3V0PC92YXJuYW1lPiAoPHR5cGU+aW50ZWdlcjwv dHlwZT4pCisgICAgICA8aW5kZXh0ZXJtPgorICAgICAgIDxwcmltYXJ5Pjx2YXJuYW1lPmluYWN0 aXZlX3JlcGxpY2F0aW9uX3Nsb3RfdGltZW91dDwvdmFybmFtZT4gY29uZmlndXJhdGlvbiBwYXJh bWV0ZXI8L3ByaW1hcnk+CisgICAgICA8L2luZGV4dGVybT4KKyAgICAgIDwvdGVybT4KKyAgICAg IDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgSW52YWxpZGF0ZSByZXBsaWNhdGlv biBzbG90cyB0aGF0IGFyZSBpbmFjdGl2ZSBmb3IgbG9uZ2VyIHRoYW4gdGhpcworICAgICAgICBh bW91bnQgb2YgdGltZSBhdCB0aGUgbmV4dCBjaGVja3BvaW50LiBJZiB0aGlzIHZhbHVlIGlzIHNw ZWNpZmllZAorICAgICAgICB3aXRob3V0IHVuaXRzLCBpdCBpcyB0YWtlbiBhcyBzZWNvbmRzLiBB IHZhbHVlIG9mIHplcm8gKHdoaWNoIGlzCisgICAgICAgIGRlZmF1bHQpIGRpc2FibGVzIHRoZSB0 aW1lb3V0IG1lY2hhbmlzbS4gVGhpcyBwYXJhbWV0ZXIgY2FuIG9ubHkgYmUKKyAgICAgICAgc2V0 IGluIHRoZSA8ZmlsZW5hbWU+cG9zdGdyZXNxbC5jb25mPC9maWxlbmFtZT4gZmlsZSBvciBvbiB0 aGUgc2VydmVyCisgICAgICAgIGNvbW1hbmQgbGluZS4KKyAgICAgICA8L3BhcmE+CisgICAgICA8 L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5IGlk PSJndWMtdHJhY2stY29tbWl0LXRpbWVzdGFtcCIgeHJlZmxhYmVsPSJ0cmFja19jb21taXRfdGlt ZXN0YW1wIj4KICAgICAgIDx0ZXJtPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zh cm5hbWU+ICg8dHlwZT5ib29sZWFuPC90eXBlPikKICAgICAgIDxpbmRleHRlcm0+CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94bG9nLmMKaW5kZXggMzZhZTJhYzZhNC4uMTY2YzNlZDc5NCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtNzE1Miw2ICs3MTUyLDExIEBAIENyZWF0ZUNoZWNrUG9p bnQoaW50IGZsYWdzKQogCQlJbnZhbGlkYXRlT2Jzb2xldGVSZXBsaWNhdGlvblNsb3RzKFJTX0lO VkFMX1hJRF9BR0UsIDAsCiAJCQkJCQkJCQkJICAgSW52YWxpZE9pZCwgSW52YWxpZFRyYW5zYWN0 aW9uSWQpOwogCisJLyogSW52YWxpZGF0ZSBpbmFjdGl2ZSByZXBsaWNhdGlvbiBzbG90cyBiYXNl ZCBvbiB0aW1lb3V0ICovCisJaWYgKGluYWN0aXZlX3JlcGxpY2F0aW9uX3Nsb3RfdGltZW91dCA+ IDApCisJCUludmFsaWRhdGVPYnNvbGV0ZVJlcGxpY2F0aW9uU2xvdHMoUlNfSU5WQUxfSU5BQ1RJ VkVfVElNRU9VVCwgMCwKKwkJCQkJCQkJCQkgICBJbnZhbGlkT2lkLCBJbnZhbGlkVHJhbnNhY3Rp b25JZCk7CisKIAkvKgogCSAqIERlbGV0ZSBvbGQgbG9nIGZpbGVzLCB0aG9zZSBubyBsb25nZXIg bmVlZGVkIGZvciBsYXN0IGNoZWNrcG9pbnQgdG8KIAkgKiBwcmV2ZW50IHRoZSBkaXNrIGhvbGRp bmcgdGhlIHhsb2cgZnJvbSBncm93aW5nIGZ1bGwuCkBAIC03NjA3LDYgKzc2MTIsMTEgQEAgQ3Jl YXRlUmVzdGFydFBvaW50KGludCBmbGFncykKIAkJSW52YWxpZGF0ZU9ic29sZXRlUmVwbGljYXRp b25TbG90cyhSU19JTlZBTF9YSURfQUdFLCAwLAogCQkJCQkJCQkJCSAgIEludmFsaWRPaWQsIElu dmFsaWRUcmFuc2FjdGlvbklkKTsKIAorCS8qIEludmFsaWRhdGUgaW5hY3RpdmUgcmVwbGljYXRp b24gc2xvdHMgYmFzZWQgb24gdGltZW91dCAqLworCWlmIChpbmFjdGl2ZV9yZXBsaWNhdGlvbl9z bG90X3RpbWVvdXQgPiAwKQorCQlJbnZhbGlkYXRlT2Jzb2xldGVSZXBsaWNhdGlvblNsb3RzKFJT X0lOVkFMX0lOQUNUSVZFX1RJTUVPVVQsIDAsCisJCQkJCQkJCQkJICAgSW52YWxpZE9pZCwgSW52 YWxpZFRyYW5zYWN0aW9uSWQpOworCiAJLyoKIAkgKiBSZXRyZWF0IF9sb2dTZWdObyB1c2luZyB0 aGUgY3VycmVudCBlbmQgb2YgeGxvZyByZXBsYXllZCBvciByZWNlaXZlZCwKIAkgKiB3aGljaGV2 ZXIgaXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKaW5kZXggZTYwNjIxODY3My4uMzc0OThk M2Q5OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCisrKyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwpAQCAtMTA4LDEwICsxMDgsMTEgQEAgY29uc3Qg Y2hhciAqY29uc3QgU2xvdEludmFsaWRhdGlvbkNhdXNlc1tdID0gewogCVtSU19JTlZBTF9IT1JJ Wk9OXSA9ICJyb3dzX3JlbW92ZWQiLAogCVtSU19JTlZBTF9XQUxfTEVWRUxdID0gIndhbF9sZXZl bF9pbnN1ZmZpY2llbnQiLAogCVtSU19JTlZBTF9YSURfQUdFXSA9ICJ4aWRfYWdlZCIsCisJW1JT X0lOVkFMX0lOQUNUSVZFX1RJTUVPVVRdID0gImluYWN0aXZlX3RpbWVvdXQiLAogfTsKIAogLyog TWF4aW11bSBudW1iZXIgb2YgaW52YWxpZGF0aW9uIGNhdXNlcyAqLwotI2RlZmluZQlSU19JTlZB TF9NQVhfQ0FVU0VTIFJTX0lOVkFMX1hJRF9BR0UKKyNkZWZpbmUJUlNfSU5WQUxfTUFYX0NBVVNF UyBSU19JTlZBTF9JTkFDVElWRV9USU1FT1VUCiAKIFN0YXRpY0Fzc2VydERlY2wobGVuZ3Rob2Yo U2xvdEludmFsaWRhdGlvbkNhdXNlcykgPT0gKFJTX0lOVkFMX01BWF9DQVVTRVMgKyAxKSwKIAkJ CQkgImFycmF5IGxlbmd0aCBtaXNtYXRjaCIpOwpAQCAtMTQyLDYgKzE0Myw3IEBAIFJlcGxpY2F0 aW9uU2xvdCAqTXlSZXBsaWNhdGlvblNsb3QgPSBOVUxMOwogaW50CQkJbWF4X3JlcGxpY2F0aW9u X3Nsb3RzID0gMTA7IC8qIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXBsaWNhdGlvbgogCQkJCQkJ CQkJCSAqIHNsb3RzICovCiBpbnQJCQltYXhfc2xvdF94aWRfYWdlID0gMDsKK2ludAkJCWluYWN0 aXZlX3JlcGxpY2F0aW9uX3Nsb3RfdGltZW91dCA9IDA7CiAKIC8qCiAgKiBUaGlzIEdVQyBsaXN0 cyBzdHJlYW1pbmcgcmVwbGljYXRpb24gc3RhbmRieSBzZXJ2ZXIgc2xvdCBuYW1lcyB0aGF0CkBA IC0xNTEzLDYgKzE1MTUsOSBAQCBSZXBvcnRTbG90SW52YWxpZGF0aW9uKFJlcGxpY2F0aW9uU2xv dEludmFsaWRhdGlvbkNhdXNlIGNhdXNlLAogCQljYXNlIFJTX0lOVkFMX1hJRF9BR0U6CiAJCQlh cHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZlcnJfZGV0YWlsLCBfKCJUaGUgcmVwbGljYXRpb24gc2xv dCdzIHhtaW4gb3IgY2F0YWxvZ194bWluIHJlYWNoZWQgdGhlIGFnZSBzcGVjaWZpZWQgYnkgbWF4 X3Nsb3RfeGlkX2FnZS4iKSk7CiAJCQlicmVhazsKKwkJY2FzZSBSU19JTlZBTF9JTkFDVElWRV9U SU1FT1VUOgorCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmZXJyX2RldGFpbCwgXygiVGhlIHNs b3QgaGFzIGJlZW4gaW5hY3RpdmUgZm9yIG1vcmUgdGhhbiB0aGUgdGltZSBzcGVjaWZpZWQgYnkg aW5hY3RpdmVfcmVwbGljYXRpb25fc2xvdF90aW1lb3V0LiIpKTsKKwkJCWJyZWFrOwogCQljYXNl IFJTX0lOVkFMX05PTkU6CiAJCQlwZ191bnJlYWNoYWJsZSgpOwogCX0KQEAgLTE2NjUsNiArMTY3 MCwyMCBAQCBJbnZhbGlkYXRlUG9zc2libHlPYnNvbGV0ZVNsb3QoUmVwbGljYXRpb25TbG90SW52 YWxpZGF0aW9uQ2F1c2UgY2F1c2UsCiAJCQkJCQl9CiAJCQkJCX0KIAkJCQkJYnJlYWs7CisJCQkJ Y2FzZSBSU19JTlZBTF9JTkFDVElWRV9USU1FT1VUOgorCQkJCQlpZiAocy0+ZGF0YS5sYXN0X2lu YWN0aXZlX2F0ID4gMCkKKwkJCQkJeworCQkJCQkJVGltZXN0YW1wVHogbm93OworCisJCQkJCQlB c3NlcnQocy0+ZGF0YS5wZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKTsKKwkJCQkJCUFzc2Vy dChzLT5hY3RpdmVfcGlkID09IDApOworCisJCQkJCQlub3cgPSBHZXRDdXJyZW50VGltZXN0YW1w KCk7CisJCQkJCQlpZiAoVGltZXN0YW1wRGlmZmVyZW5jZUV4Y2VlZHMocy0+ZGF0YS5sYXN0X2lu YWN0aXZlX2F0LCBub3csCisJCQkJCQkJCQkJCQkJICAgaW5hY3RpdmVfcmVwbGljYXRpb25fc2xv dF90aW1lb3V0ICogMTAwMCkpCisJCQkJCQkJY29uZmxpY3QgPSBjYXVzZTsKKwkJCQkJfQorCQkJ CQlicmVhazsKIAkJCQljYXNlIFJTX0lOVkFMX05PTkU6CiAJCQkJCXBnX3VucmVhY2hhYmxlKCk7 CiAJCQl9CkBAIC0xODE5LDYgKzE4MzgsNyBAQCBJbnZhbGlkYXRlUG9zc2libHlPYnNvbGV0ZVNs b3QoUmVwbGljYXRpb25TbG90SW52YWxpZGF0aW9uQ2F1c2UgY2F1c2UsCiAgKiAgIGRiOyBkYm9p ZCBtYXkgYmUgSW52YWxpZE9pZCBmb3Igc2hhcmVkIHJlbGF0aW9ucwogICogLSBSU19JTlZBTF9X QUxfTEVWRUw6IGlzIGxvZ2ljYWwKICAqIC0gUlNfSU5WQUxfWElEX0FHRTogc2xvdCdzIHhtaW4g b3IgY2F0YWxvZ194bWluIGhhcyByZWFjaGVkIHRoZSBhZ2UKKyAqIC0gUlNfSU5WQUxfSU5BQ1RJ VkVfVElNRU9VVDogaW5hY3RpdmUgc2xvdCB0aW1lb3V0IG9jY3VycwogICoKICAqIE5CIC0gdGhp cyBydW5zIGFzIHBhcnQgb2YgY2hlY2twb2ludCwgc28gYXZvaWQgcmFpc2luZyBlcnJvcnMgaWYg cG9zc2libGUuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Rh Ymxlcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKaW5kZXggNmI1Mzc1 OTA5ZC4uNmNhZjQwZDUxZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNf dGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKQEAgLTI5 NjQsNiArMjk2NCwxOCBAQCBzdHJ1Y3QgY29uZmlnX2ludCBDb25maWd1cmVOYW1lc0ludFtdID0K IAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCiAKKwl7CisJCXsiaW5hY3RpdmVfcmVwbGljYXRpb25f c2xvdF90aW1lb3V0IiwgUEdDX1NJR0hVUCwgUkVQTElDQVRJT05fU0VORElORywKKwkJCWdldHRl eHRfbm9vcCgiU2V0cyB0aGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBiZWZvcmUgaW52YWxpZGF0 aW5nIGFuICIKKwkJCQkJCSAiaW5hY3RpdmUgcmVwbGljYXRpb24gc2xvdC4iKSwKKwkJCU5VTEws CisJCQlHVUNfVU5JVF9TCisJCX0sCisJCSZpbmFjdGl2ZV9yZXBsaWNhdGlvbl9zbG90X3RpbWVv dXQsCisJCTAsIDAsIElOVF9NQVgsCisJCU5VTEwsIE5VTEwsIE5VTEwKKwl9LAorCiAJewogCQl7 ImNvbW1pdF9kZWxheSIsIFBHQ19TVVNFVCwgV0FMX1NFVFRJTkdTLAogCQkJZ2V0dGV4dF9ub29w KCJTZXRzIHRoZSBkZWxheSBpbiBtaWNyb3NlY29uZHMgYmV0d2VlbiB0cmFuc2FjdGlvbiBjb21t aXQgYW5kICIKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5j b25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBs ZQppbmRleCBiNGM5MjhiODI2Li43ZjJhM2U0MWYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC0yNjEsNiArMjYxLDcgQEAKICNyZWNvdmVy eV9wcmVmZXRjaCA9IHRyeQkjIHByZWZldGNoIHBhZ2VzIHJlZmVyZW5jZWQgaW4gdGhlIFdBTD8K ICN3YWxfZGVjb2RlX2J1ZmZlcl9zaXplID0gNTEya0IJIyBsb29rYWhlYWQgd2luZG93IHVzZWQg Zm9yIHByZWZldGNoaW5nCiAJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCisjaW5hY3Rp dmVfcmVwbGljYXRpb25fc2xvdF90aW1lb3V0ID0gMAkjIGluIHNlY29uZHM7IDAgZGlzYWJsZXMK IAogIyAtIEFyY2hpdmluZyAtCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L3Nsb3QuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaAppbmRleCA3ODA3NjdhODE5 Li44Mzc4ZDdjOTEzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmgK KysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oCkBAIC01NSw2ICs1NSw4IEBAIHR5 cGVkZWYgZW51bSBSZXBsaWNhdGlvblNsb3RJbnZhbGlkYXRpb25DYXVzZQogCVJTX0lOVkFMX1dB TF9MRVZFTCwKIAkvKiBzbG90J3MgeG1pbiBvciBjYXRhbG9nX3htaW4gaGFzIHJlYWNoZWQgdGhl IGFnZSAqLwogCVJTX0lOVkFMX1hJRF9BR0UsCisJLyogaW5hY3RpdmUgc2xvdCB0aW1lb3V0IGhh cyBvY2N1cnJlZCAqLworCVJTX0lOVkFMX0lOQUNUSVZFX1RJTUVPVVQsCiB9IFJlcGxpY2F0aW9u U2xvdEludmFsaWRhdGlvbkNhdXNlOwogCiBleHRlcm4gUEdETExJTVBPUlQgY29uc3QgY2hhciAq Y29uc3QgU2xvdEludmFsaWRhdGlvbkNhdXNlc1tdOwpAQCAtMjM2LDYgKzIzOCw3IEBAIGV4dGVy biBQR0RMTElNUE9SVCBSZXBsaWNhdGlvblNsb3QgKk15UmVwbGljYXRpb25TbG90OwogZXh0ZXJu IFBHRExMSU1QT1JUIGludCBtYXhfcmVwbGljYXRpb25fc2xvdHM7CiBleHRlcm4gUEdETExJTVBP UlQgY2hhciAqc3RhbmRieV9zbG90X25hbWVzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBtYXhf c2xvdF94aWRfYWdlOworZXh0ZXJuIFBHRExMSU1QT1JUIGludCBpbmFjdGl2ZV9yZXBsaWNhdGlv bl9zbG90X3RpbWVvdXQ7CiAKIC8qIHNobWVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAqLwog ZXh0ZXJuIFNpemUgUmVwbGljYXRpb25TbG90c1NobWVtU2l6ZSh2b2lkKTsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlY292ZXJ5L3QvMDUwX2ludmFsaWRhdGVfc2xvdHMucGwgYi9zcmMvdGVzdC9y ZWNvdmVyeS90LzA1MF9pbnZhbGlkYXRlX3Nsb3RzLnBsCmluZGV4IDJmNDgyYjU2ZTguLjRjNjZk ZDRhNGUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDUwX2ludmFsaWRhdGVfc2xv dHMucGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTBfaW52YWxpZGF0ZV9zbG90cy5wbApA QCAtMTA1LDQgKzEwNSw4MyBAQCAkcHJpbWFyeS0+cG9sbF9xdWVyeV91bnRpbCgKICAgb3IgZGll CiAgICJUaW1lZCBvdXQgd2hpbGUgd2FpdGluZyBmb3IgcmVwbGljYXRpb24gc2xvdCBzYjFfc2xv dCB0byBiZSBpbnZhbGlkYXRlZCI7CiAKKyRwcmltYXJ5LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVz JywgcXFbCisgICAgU0VMRUNUIHBnX2NyZWF0ZV9waHlzaWNhbF9yZXBsaWNhdGlvbl9zbG90KCdz YjJfc2xvdCcpOworXSk7CisKKyRwcmltYXJ5LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFb CisgICAgQUxURVIgU1lTVEVNIFNFVCBtYXhfc2xvdF94aWRfYWdlID0gMDsKK10pOworJHByaW1h cnktPnJlbG9hZDsKKworIyBDcmVhdGUgYSBzdGFuZGJ5IGxpbmtpbmcgdG8gdGhlIHByaW1hcnkg dXNpbmcgdGhlIHJlcGxpY2F0aW9uIHNsb3QKK215ICRzdGFuZGJ5MiA9IFBvc3RncmVTUUw6OlRl c3Q6OkNsdXN0ZXItPm5ldygnc3RhbmRieTInKTsKKyRzdGFuZGJ5Mi0+aW5pdF9mcm9tX2JhY2t1 cCgkcHJpbWFyeSwgJGJhY2t1cF9uYW1lLCBoYXNfc3RyZWFtaW5nID0+IDEpOworJHN0YW5kYnky LT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25mJywgcXsKK3ByaW1hcnlfc2xvdF9uYW1l ID0gJ3NiMl9zbG90JworfSk7Ciskc3RhbmRieTItPnN0YXJ0OworCisjIFdhaXQgdW50aWwgc3Rh bmRieSBoYXMgcmVwbGF5ZWQgZW5vdWdoIGRhdGEKKyRwcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVw KCRzdGFuZGJ5Mik7CisKKyMgVGhlIGluYWN0aXZlIHJlcGxpY2F0aW9uIHNsb3QgaW5mbyBzaG91 bGQgYmUgbnVsbCB3aGVuIHRoZSBzbG90IGlzIGFjdGl2ZQorbXkgJHJlc3VsdCA9ICRwcmltYXJ5 LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCisJU0VMRUNUIGxhc3RfaW5hY3RpdmVfYXQg SVMgTlVMTCwgaW5hY3RpdmVfY291bnQgPSAwIEFTIE9LCisJCUZST00gcGdfcmVwbGljYXRpb25f c2xvdHMgV0hFUkUgc2xvdF9uYW1lID0gJ3NiMl9zbG90JzsKK10pOworaXMoJHJlc3VsdCwgInR8 dCIsCisJJ2NoZWNrIHRoZSBpbmFjdGl2ZSByZXBsaWNhdGlvbiBzbG90IGluZm8gZm9yIGFuIGFj dGl2ZSBzbG90Jyk7CisKKyMgU2V0IHRpbWVvdXQgc28gdGhhdCB0aGUgbmV4dCBjaGVja3BvaW50 IHdpbGwgaW52YWxpZGF0ZSB0aGUgaW5hY3RpdmUKKyMgcmVwbGljYXRpb24gc2xvdC4KKyRwcmlt YXJ5LT5zYWZlX3BzcWwoCisJJ3Bvc3RncmVzJywgcXFbCisgICAgQUxURVIgU1lTVEVNIFNFVCBp bmFjdGl2ZV9yZXBsaWNhdGlvbl9zbG90X3RpbWVvdXQgVE8gJzFzJzsKK10pOworJHByaW1hcnkt PnJlbG9hZDsKKworJGxvZ3N0YXJ0ID0gLXMgJHByaW1hcnktPmxvZ2ZpbGU7CisKKyMgU3RvcCBz dGFuZGJ5IHRvIG1ha2UgdGhlIHJlcGxpY2F0aW9uIHNsb3Qgb24gcHJpbWFyeSBpbmFjdGl2ZQor JHN0YW5kYnkyLT5zdG9wOworCisjIFdhaXQgZm9yIHRoZSBpbmFjdGl2ZSByZXBsaWNhdGlvbiBz bG90IGluZm8gdG8gYmUgdXBkYXRlZAorJHByaW1hcnktPnBvbGxfcXVlcnlfdW50aWwoCisJJ3Bv c3RncmVzJywgcXFbCisJU0VMRUNUIENPVU5UKHNsb3RfbmFtZSkgPSAxIEZST00gcGdfcmVwbGlj YXRpb25fc2xvdHMKKwkJV0hFUkUgbGFzdF9pbmFjdGl2ZV9hdCBJUyBOT1QgTlVMTCBBTkQKKwkJ aW5hY3RpdmVfY291bnQgPSAxIEFORCBzbG90X25hbWUgPSAnc2IyX3Nsb3QnOworXSkKKyAgb3Ig ZGllCisgICJUaW1lZCBvdXQgd2hpbGUgd2FpdGluZyBmb3IgaW5hY3RpdmUgcmVwbGljYXRpb24g c2xvdCBpbmZvIHRvIGJlIHVwZGF0ZWQiOworCiskaW52YWxpZGF0ZWQgPSAwOworZm9yIChteSAk aSA9IDA7ICRpIDwgMTAgKiAkUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRpbWVvdXRfZGVmYXVs dDsgJGkrKykKK3sKKwkkcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDSEVDS1BPSU5U Iik7CisJaWYgKCRwcmltYXJ5LT5sb2dfY29udGFpbnMoCisJCQknaW52YWxpZGF0aW5nIG9ic29s ZXRlIHJlcGxpY2F0aW9uIHNsb3QgInNiMl9zbG90IicsICRsb2dzdGFydCkpCisJeworCQkkaW52 YWxpZGF0ZWQgPSAxOworCQlsYXN0OworCX0KKwl1c2xlZXAoMTAwXzAwMCk7Cit9CitvaygkaW52 YWxpZGF0ZWQsICdjaGVjayB0aGF0IHNsb3Qgc2IyX3Nsb3QgaW52YWxpZGF0aW9uIGhhcyBiZWVu IGxvZ2dlZCcpOworCisjIFdhaXQgZm9yIHRoZSBpbmFjdGl2ZSByZXBsaWNhdGlvbiBzbG90cyB0 byBiZSBpbnZhbGlkYXRlZC4KKyRwcmltYXJ5LT5wb2xsX3F1ZXJ5X3VudGlsKAorCSdwb3N0Z3Jl cycsIHFxWworCVNFTEVDVCBDT1VOVChzbG90X25hbWUpID0gMSBGUk9NIHBnX3JlcGxpY2F0aW9u X3Nsb3RzCisJCVdIRVJFIHNsb3RfbmFtZSA9ICdzYjJfc2xvdCcgQU5ECisJCWludmFsaWRhdGlv bl9yZWFzb24gPSAnaW5hY3RpdmVfdGltZW91dCc7CitdKQorICBvciBkaWUKKyAgIlRpbWVkIG91 dCB3aGlsZSB3YWl0aW5nIGZvciBpbmFjdGl2ZSByZXBsaWNhdGlvbiBzbG90IHNiMl9zbG90IHRv IGJlIGludmFsaWRhdGVkIjsKKwogZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjM0LjEKCg== --000000000000be6e0d06139fb27c--