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 1s0EF3-0029WF-1a for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Apr 2024 05:35:25 +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 1s0EEz-006k9h-DH for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Apr 2024 05:35:22 +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 1s0EEy-006k9Z-RG for pgsql-hackers@lists.postgresql.org; Fri, 26 Apr 2024 05:35:21 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s0EEx-0005yB-5d for pgsql-hackers@postgresql.org; Fri, 26 Apr 2024 05:35:20 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-57232e47a81so2978927a12.0 for ; Thu, 25 Apr 2024 22:35:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714109717; x=1714714517; darn=postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=AVIYYxGSVXlHDYSBlpRQxEtpY1f/h0h/tTbuaQA34vM=; b=Nh5wxHadpzuMFY+hcUc3X2mSdueEo86UDfvo9VE5Ss+uTMKN3oannAhMM8sANM9k/b i7RVvyqsi1anO9Dio//Oj4L5KQ0aUy9/EmgT3FrOSLJIbkXKd5TNqAOzSJz4oGlfyyYl E22PZwalxeQbSwlXcSVijWkoP+eQolP0g7umEZZEnnwplADVZ1qs31vCMqbwGRjF5BB0 nVAccLBg/3VjGJI2cnyOVgsjEWMLzq9xEVXdaKOzVugWMRtRdSaZjNstsKdiCGi1oCPI rzC4DEe7I97xlnE2IfrZFXtRwPZxGfD6peZkqyLZpBCkS2ZxIQmEsWNI/0ExlV5NMwY7 8qHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714109717; x=1714714517; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=AVIYYxGSVXlHDYSBlpRQxEtpY1f/h0h/tTbuaQA34vM=; b=vuuGglsbvxHpFObyFTFLiMyR2oN0E5eTVxdDFtRg8//DDD0KIEHrldxr3tm7W4e3l2 KuzL1UWJoqYfpdz6yAtLpGempittHzmEoxggZhpXOXXRckzk2B9GfAHPTero61+IGKca O9u0d/3itTa9Glb15qrOJXcv1DQZT8Riml2nPnONHAsYYTtPuFxZrSq3vAUnpspN4UAS pVT6imKNCoqlpZCLh1Nri+s1MUU4HMlNFxy/yD86K9ZZFK9h/MAJU+OFjKaAIe2ijr0j 2wreSToGajNsjujGZv8Sm8pg2WVMKkihu13SKAhwS+cJ5hK7zC+u15LOELWnv1xDVRY/ V9QQ== X-Gm-Message-State: AOJu0YwzQJVlOtn3niWuWk0YN0Me0PPNx1A/LUZ12PZqDilf0F2o+FdO MY6+yfKCrU+1axuTbkFsLyHBe4x0SDupD+4nzgOfW8Gb7z91jILTTY+NeY8IxRJcWYnTS0Brigm W/YVhs3Lf+NDF4R7Kzz7wViYdMcmcYwgM X-Google-Smtp-Source: AGHT+IHB/Y8I30UYU9rojHk+CLi8e19hRAq07l2twh8ZI1k0aMIfduTQ47bFWQr5DcI19aIVAxkiGBuaq8yTLszwKKc= X-Received: by 2002:a50:ccca:0:b0:56e:1dda:5c2a with SMTP id b10-20020a50ccca000000b0056e1dda5c2amr1229571edj.16.1714109716523; Thu, 25 Apr 2024 22:35:16 -0700 (PDT) MIME-Version: 1.0 From: Ayush Vatsa Date: Fri, 26 Apr 2024 11:05:04 +0530 Message-ID: Subject: Proposal to have INCLUDE/EXCLUDE options for altering option values To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000c28e750616f94418" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c28e750616f94418 Content-Type: multipart/alternative; boundary="000000000000c28e710616f94416" --000000000000c28e710616f94416 Content-Type: text/plain; charset="UTF-8" Hi PostgreSQL Community, Recently I have been working on foreign servers regarding my project and wanted to add some extensions in server options to support query pushdown. For this, suppose I had 20 extensions in the beginning I used ALTER SERVER srv OPTIONS (ADD EXTENSIONS 'all 20 extensions'), then again, I had to add a few or drop some, I had to write names of all the 20 extensions including/excluding some. I wonder why we can't have some sort of INCLUDE / EXCLUDE option for this use case that can be useful for other options as well which have comma-separated values. I believe this is a useful feature to have for the users. Since I needed that support, I took the initiative to contribute to the community. In addition, I have improved the documentation too as currently while reading the documentation it looks like ADD can be used multiple times even to include some values on top of existing values. Attached is the patch for the same. Looking forward to your feedback. Regards Ayush Vatsa Amazon Web Services (AWS) --000000000000c28e710616f94416 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi PostgreSQL Community,
Recently I have been working o= n foreign servers regarding my project and wanted to add some extensions in= server options to support query pushdown. For this, suppose I had 20 exten= sions in the beginning I used ALTER SERVER srv OPTIONS (ADD EXTENSIONS '= ;all 20 extensions'), then again, I had to add a few or drop some, I ha= d to write names of all the 20 extensions including/excluding some.
I wo= nder why we can't have some sort of INCLUDE / EXCLUDE option for this u= se case that can be useful for other options as well which have comma-separ= ated values. I believe this is a useful feature to have for the users.
S= ince I needed that support, I took the initiative to contribute to the comm= unity. In addition, I have improved the documentation too as currently whil= e reading the documentation it looks like ADD can be used multiple times ev= en to include some values on top of existing values.
Attached is the pat= ch for the same. Looking forward to your feedback.

Regards
Ayush = Vatsa
Amazon Web Services (AWS)
--000000000000c28e710616f94416-- --000000000000c28e750616f94418 Content-Type: application/x-patch; name="v1-0001-Enhance-CREATE-ALTER-statement-with-extended-supp.patch" Content-Disposition: attachment; filename="v1-0001-Enhance-CREATE-ALTER-statement-with-extended-supp.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lvfnynjh0 RnJvbSAzMjJlOTMyZDIxMzQ1YTE3OGNjYzI1NGU5NDBhYWFhNGRlYTgxNmU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBeXVzaCBWYXRzYSA8YXl1dmF0c2FAYW1hem9uLmNvbT4KRGF0 ZTogRnJpLCAyNiBBcHIgMjAyNCAwMDozMDowMCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjFdIEVu aGFuY2UgQ1JFQVRFL0FMVEVSIHN0YXRlbWVudCB3aXRoIGV4dGVuZGVkIHN1cHBvcnQgZm9yCiBJ TkNMVURFIGFuZCBFWENMVURFIGFjdGlvbnMgdG8gbW9kaWZ5IGV4aXN0aW5nIG9wdGlvbnMKCi0t LQogLi4uL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgMTAgKysr CiBjb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCAgICAgfCAgMyArCiAu Li4vc2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl9kYXRhX3dyYXBwZXIuc2dtbCAgfCA1MSArKysrKysr KysrLS0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl90YWJsZS5zZ21sICAgICB8IDQz ICsrKysrKysrLS0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc2VydmVyLnNnbWwgICAgICAgICAg ICB8IDU5ICsrKysrKysrKysrKy0tCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3VzZXJfbWFwcGlu Zy5zZ21sICAgICAgfCA0MiArKysrKysrKy0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9mb3JlaWdu Y21kcy5jICAgICAgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKystCiBzcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysKIHNyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAyICsKIDkgZmlsZXMgY2hhbmdlZCwg MjY5IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQgYi9jb250cmliL3Bvc3RncmVz X2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CmluZGV4IDA3OGI4YTk2NmYuLjZjZDAxNTQ0 YzYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zk dy5vdXQKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91 dApAQCAtMTc4LDEwICsxNzgsMjAgQEAgQUxURVIgU0VSVkVSIHRlc3RzZXJ2ZXIxIE9QVElPTlMg KAogLS0gRXJyb3IsIGludmFsaWQgbGlzdCBzeW50YXgKIEFMVEVSIFNFUlZFUiB0ZXN0c2VydmVy MSBPUFRJT05TIChBREQgZXh0ZW5zaW9ucyAnZm9vOyBiYXInKTsKIEVSUk9SOiAgcGFyYW1ldGVy ICJleHRlbnNpb25zIiBtdXN0IGJlIGEgbGlzdCBvZiBleHRlbnNpb24gbmFtZXMKK0FMVEVSIFNF UlZFUiB0ZXN0c2VydmVyMSBPUFRJT05TIChJTkNMVURFIGV4dGVuc2lvbnMgJ2ZvbzsgYmFyJyk7 CitFUlJPUjogIHBhcmFtZXRlciAiZXh0ZW5zaW9ucyIgbXVzdCBiZSBhIGxpc3Qgb2YgZXh0ZW5z aW9uIG5hbWVzCiAtLSBPSyBidXQgZ2V0cyBhIHdhcm5pbmcKIEFMVEVSIFNFUlZFUiB0ZXN0c2Vy dmVyMSBPUFRJT05TIChBREQgZXh0ZW5zaW9ucyAnZm9vLCBiYXInKTsKIFdBUk5JTkc6ICBleHRl bnNpb24gImZvbyIgaXMgbm90IGluc3RhbGxlZAogV0FSTklORzogIGV4dGVuc2lvbiAiYmFyIiBp cyBub3QgaW5zdGFsbGVkCitBTFRFUiBTRVJWRVIgdGVzdHNlcnZlcjEgT1BUSU9OUyAoSU5DTFVE RSBleHRlbnNpb25zICdleHQxLCBleHQyJyk7CitXQVJOSU5HOiAgZXh0ZW5zaW9uICJmb28iIGlz IG5vdCBpbnN0YWxsZWQKK1dBUk5JTkc6ICBleHRlbnNpb24gImJhciIgaXMgbm90IGluc3RhbGxl ZAorV0FSTklORzogIGV4dGVuc2lvbiAiZXh0MSIgaXMgbm90IGluc3RhbGxlZAorV0FSTklORzog IGV4dGVuc2lvbiAiZXh0MiIgaXMgbm90IGluc3RhbGxlZAorQUxURVIgU0VSVkVSIHRlc3RzZXJ2 ZXIxIE9QVElPTlMgKEVYQ0xVREUgZXh0ZW5zaW9ucyAnZm9vLCBleHQyLCBleHQzJyk7CitXQVJO SU5HOiAgZXh0ZW5zaW9uICJiYXIiIGlzIG5vdCBpbnN0YWxsZWQKK1dBUk5JTkc6ICBleHRlbnNp b24gImV4dDEiIGlzIG5vdCBpbnN0YWxsZWQKIEFMVEVSIFNFUlZFUiB0ZXN0c2VydmVyMSBPUFRJ T05TIChEUk9QIGV4dGVuc2lvbnMpOwogQUxURVIgVVNFUiBNQVBQSU5HIEZPUiBwdWJsaWMgU0VS VkVSIHRlc3RzZXJ2ZXIxCiAJT1BUSU9OUyAoRFJPUCB1c2VyLCBEUk9QIHBhc3N3b3JkKTsKZGlm ZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsIGIvY29u dHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKaW5kZXggMDliYTIzNGU0My4u YTdjNGE1MGE1ZCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVz X2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwK QEAgLTE5Miw5ICsxOTIsMTIgQEAgQUxURVIgU0VSVkVSIHRlc3RzZXJ2ZXIxIE9QVElPTlMgKAog CiAtLSBFcnJvciwgaW52YWxpZCBsaXN0IHN5bnRheAogQUxURVIgU0VSVkVSIHRlc3RzZXJ2ZXIx IE9QVElPTlMgKEFERCBleHRlbnNpb25zICdmb287IGJhcicpOworQUxURVIgU0VSVkVSIHRlc3Rz ZXJ2ZXIxIE9QVElPTlMgKElOQ0xVREUgZXh0ZW5zaW9ucyAnZm9vOyBiYXInKTsKIAogLS0gT0sg YnV0IGdldHMgYSB3YXJuaW5nCiBBTFRFUiBTRVJWRVIgdGVzdHNlcnZlcjEgT1BUSU9OUyAoQURE IGV4dGVuc2lvbnMgJ2ZvbywgYmFyJyk7CitBTFRFUiBTRVJWRVIgdGVzdHNlcnZlcjEgT1BUSU9O UyAoSU5DTFVERSBleHRlbnNpb25zICdleHQxLCBleHQyJyk7CitBTFRFUiBTRVJWRVIgdGVzdHNl cnZlcjEgT1BUSU9OUyAoRVhDTFVERSBleHRlbnNpb25zICdmb28sIGV4dDIsIGV4dDMnKTsKIEFM VEVSIFNFUlZFUiB0ZXN0c2VydmVyMSBPUFRJT05TIChEUk9QIGV4dGVuc2lvbnMpOwogCiBBTFRF UiBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIgdGVzdHNlcnZlcjEKZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl9kYXRhX3dyYXBwZXIuc2dtbCBiL2RvYy9z cmMvc2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl9kYXRhX3dyYXBwZXIuc2dtbAppbmRleCBkYzA5NTdk OTY1Li5lMTM1M2VjMjc1IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX2ZvcmVp Z25fZGF0YV93cmFwcGVyLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9mb3JlaWdu X2RhdGFfd3JhcHBlci5zZ21sCkBAIC0yNCw3ICsyNCw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRh dGlvbgogQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgIFsgSEFORExFUiA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+aGFuZGxlcl9mdW5jdGlvbjwvcmVwbGFjZWFibGU+IHwgTk8gSEFORExF UiBdCiAgICAgWyBWQUxJREFUT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbGlk YXRvcl9mdW5jdGlvbjwvcmVwbGFjZWFibGU+IHwgTk8gVkFMSURBVE9SIF0KLSAgICBbIE9QVElP TlMgKCBbIEFERCB8IFNFVCB8IERST1AgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ b3B0aW9uPC9yZXBsYWNlYWJsZT4gWyc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFs dWU8L3JlcGxhY2VhYmxlPiddIFssIC4uLiBdKSBdCisgICAgWyBPUFRJT05TICggWyBBREQgfCBT RVQgfCBEUk9QIHwgSU5DTFVERSB8IEVYQ0xVREUgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4gWyc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+dmFsdWU8L3JlcGxhY2VhYmxlPiddIFssIC4uLiBdKSBdCiBBTFRFUiBGT1JFSUdOIERBVEEg V1JBUFBFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ IE9XTkVSIFRPIHsgPHJlcGxhY2VhYmxlPm5ld19vd25lcjwvcmVwbGFjZWFibGU+IHwgQ1VSUkVO VF9ST0xFIHwgQ1VSUkVOVF9VU0VSIHwgU0VTU0lPTl9VU0VSIH0KIEFMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT4gUkVOQU1FIFRPIDxyZXBsYWNlYWJsZT5uZXdfbmFtZTwvcmVwbGFjZWFibGU+CiA8L3N5bm9w c2lzPgpAQCAtMTEzLDE1ICsxMTMsNDMgQEAgQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU4KICAgIDwv dmFybGlzdGVudHJ5PgogCiAgICA8dmFybGlzdGVudHJ5PgotICAgIDx0ZXJtPjxsaXRlcmFsPk9Q VElPTlMgKCBbIEFERCB8IFNFVCB8IERST1AgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4gWyc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ dmFsdWU8L3JlcGxhY2VhYmxlPiddIFssIC4uLiBdICk8L2xpdGVyYWw+PC90ZXJtPgorICAgIDx0 ZXJtPjxsaXRlcmFsPk9QVElPTlMgKCBbIEFERCB8IFNFVCB8IERST1AgfCBJTkNMVURFIHwgRVhD TFVERSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxl PiBbJzxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10g WywgLi4uIF0gKTwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4K ICAgICAgIENoYW5nZSBvcHRpb25zIGZvciB0aGUgZm9yZWlnbi1kYXRhCi0gICAgICB3cmFwcGVy LiAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiwgPGxpdGVyYWw+U0VUPC9saXRlcmFsPiwgYW5kIDxs aXRlcmFsPkRST1A8L2xpdGVyYWw+Ci0gICAgICBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgcGVy Zm9ybWVkLiAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiBpcyBhc3N1bWVkCi0gICAgICBpZiBubyBv cGVyYXRpb24gaXMgZXhwbGljaXRseSBzcGVjaWZpZWQuICBPcHRpb24gbmFtZXMgbXVzdCBiZQot ICAgICAgdW5pcXVlOyBuYW1lcyBhbmQgdmFsdWVzIGFyZSBhbHNvIHZhbGlkYXRlZCB1c2luZyB0 aGUgZm9yZWlnbgotICAgICAgZGF0YSB3cmFwcGVyJ3MgdmFsaWRhdG9yIGZ1bmN0aW9uLCBpZiBh bnkuCisgICAgICB3cmFwcGVyLiAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiwgPGxpdGVyYWw+U0VU PC9saXRlcmFsPiwgPGxpdGVyYWw+RFJPUDwvbGl0ZXJhbD4sCisgICAgICA8bGl0ZXJhbD5JTkNM VURFPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+RVhDTFVERTwvbGl0ZXJhbD4gc3BlY2lmeSB0aGUg YWN0aW9uIHRvIGJlCisgICAgICBwZXJmb3JtZWQuICA8bGl0ZXJhbD5BREQ8L2xpdGVyYWw+IGlz IGFzc3VtZWQgaWYgbm8gb3BlcmF0aW9uIGlzIGV4cGxpY2l0bHkKKyAgICAgIHNwZWNpZmllZC4g IE9wdGlvbiBuYW1lcyBtdXN0IGJlIHVuaXF1ZTsgbmFtZXMgYW5kIHZhbHVlcyBhcmUgYWxzbyB2 YWxpZGF0ZWQKKyAgICAgIHVzaW5nIHRoZSBmb3JlaWduIGRhdGEgd3JhcHBlcidzIHZhbGlkYXRv ciBmdW5jdGlvbiwgaWYgYW55LgorICAgICA8L3BhcmE+CisKKyAgICAgPHBhcmE+CisgICAgICA8 bGl0ZXJhbD5BREQ8L2xpdGVyYWw+IGNhbiBvbmx5IGJlIHVzZWQgZm9yIG9wdGlvbiBuYW1lcyB0 aGF0IGRvbid0IGFscmVhZHkgZXhpc3QuCisgICAgICBJdCBzZXRzIHRoZSBzcGVjaWZpZWQgbmFt ZSdzIHZhbHVlIGFzIHByb3ZpZGVkLgorICAgICA8L3BhcmE+CisKKyAgICAgPHBhcmE+CisgICAg ICA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+IGNhbiBvbmx5IGJlIHVzZWQgZm9yIG9wdGlvbiBuYW1l cyB0aGF0IGFscmVhZHkgZXhpc3QuCisgICAgICBJdCBvdmVyd3JpdGVzIHRoZSBlbnRpcmUgZXhp c3RpbmcgdmFsdWUgZm9yIHRoZSBzcGVjaWZpZWQgb3B0aW9uLgorICAgICA8L3BhcmE+CisKKyAg ICAgPHBhcmE+CisgICAgICA8bGl0ZXJhbD5EUk9QPC9saXRlcmFsPiBjYW4gb25seSBiZSB1c2Vk IGZvciBvcHRpb24gbmFtZXMgdGhhdCBhbHJlYWR5IGV4aXN0LgorICAgICAgSXQgcmVtb3ZlcyB0 aGUgc3BlY2lmaWVkIG5hbWUgZnJvbSB0aGUgbGlzdCBvZiBPUFRJT05TLgorICAgICA8L3BhcmE+ CisKKyAgICAgPHBhcmE+CisgICAgICA8bGl0ZXJhbD5JTkNMVURFPC9saXRlcmFsPiBjYW4gYmUg dXNlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIG9wdGlvbiBuYW1lIGV4aXN0cyBvciBub3Qu CisgICAgICBJZiB0aGUgb3B0aW9uIG5hbWUgZG9lc24ndCBleGlzdCwgaXQgYWN0cyBsaWtlIDxs aXRlcmFsPkFERDwvbGl0ZXJhbD4uCisgICAgICBJZiBpdCBkb2VzIGV4aXN0LCBpdCBhZGRzIHRo ZSBwcm92aWRlZCB2YWx1ZXMgdG8gdGhlIGV4aXN0aW5nIG9uZXMuCisgICAgIDwvcGFyYT4KKwor ICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPkVYQ0xVREU8L2xpdGVyYWw+IGNhbiBvbmx5IGJl IHVzZWQgZm9yIG9wdGlvbiBuYW1lcyB0aGF0IGFscmVhZHkgZXhpc3QuCisgICAgICBJdCByZW1v dmVzIHRoZSBwcm92aWRlZCB2YWx1ZXMgZnJvbSB0aGUgdmFsdWVzIG9mIHRoZSBzcGVjaWZpZWQg b3B0aW9uIG5hbWUuCisgICAgICBJZiBzb21lIHByb3ZpZGVkIHZhbHVlcyBkb24ndCBleGlzdCBp biB0aGUgb3B0aW9uIHZhbHVlcywgdGhleSB3b24ndCBoYXZlIGFueSBlZmZlY3QuCisgICAgICBP bmx5IHRoZSB2YWx1ZXMgdGhhdCBleGlzdCBpbiB0aGUgb3B0aW9ucyB3aWxsIGJlIHJlbW92ZWQu CiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CkBAIC0x NTcsNiArMTg1LDE1IEBAIEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGRiaSBPUFRJT05TIChB REQgZm9vICcxJywgRFJPUCBiYXIpOwogPC9wcm9ncmFtbGlzdGluZz4KICAgPC9wYXJhPgogCisg IDxwYXJhPgorICAgQ2hhbmdlIGEgZm9yZWlnbi1kYXRhIHdyYXBwZXIgPGxpdGVyYWw+ZGJpPC9s aXRlcmFsPiwgaW5jbHVkZQorICAgdmFsdWVzIGluIG9wdGlvbiA8bGl0ZXJhbD5mb288L2xpdGVy YWw+LCBhbmQgZXhjbHVkZSB2YWx1ZXMgZnJvbQorICAgb3B0aW9uIDxsaXRlcmFsPmJhcjwvbGl0 ZXJhbD46Cis8cHJvZ3JhbWxpc3Rpbmc+CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBkYmkg T1BUSU9OUyAoSU5DTFVERSBmb28gJzEsIDIsIDMnLCBFWENMVURFIGJhciAnMSwgMicpOworPC9w cm9ncmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCiAgIDxwYXJhPgogICAgQ2hhbmdlIHRoZSBmb3Jl aWduLWRhdGEgd3JhcHBlciA8bGl0ZXJhbD5kYmk8L2xpdGVyYWw+IHZhbGlkYXRvcgogICAgdG8g PGxpdGVyYWw+Ym9iLm15dmFsaWRhdG9yPC9saXRlcmFsPjoKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl90YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRl cl9mb3JlaWduX3RhYmxlLnNnbWwKaW5kZXggM2NiNmYwOGZjZi4uMTA0ZDJkYzVlZCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9mb3JlaWduX3RhYmxlLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL3JlZi9hbHRlcl9mb3JlaWduX3RhYmxlLnNnbWwKQEAgLTQyLDcgKzQyLDcgQEAg QUxURVIgRk9SRUlHTiBUQUJMRSBbIElGIEVYSVNUUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5uYW1lPC9yZXBsYWNlYWIKICAgICBBTFRFUiBbIENPTFVNTiBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFNFVCAoIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hdHRyaWJ1dGVfb3B0aW9uPC9yZXBsYWNlYWJsZT4g PSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBbLCAu Li4gXSApCiAgICAgQUxURVIgWyBDT0xVTU4gXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBSRVNFVCAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5hdHRyaWJ1dGVfb3B0aW9uPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKQogICAg IEFMVEVSIFsgQ09MVU1OIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9u YW1lPC9yZXBsYWNlYWJsZT4gU0VUIFNUT1JBR0UgeyBQTEFJTiB8IEVYVEVSTkFMIHwgRVhURU5E RUQgfCBNQUlOIHwgREVGQVVMVCB9Ci0gICAgQUxURVIgWyBDT0xVTU4gXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBPUFRJT05TICggWyBB REQgfCBTRVQgfCBEUk9QIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9wdGlvbjwv cmVwbGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBs YWNlYWJsZT4nXSBbLCAuLi4gXSkKKyAgICBBTFRFUiBbIENPTFVNTiBdIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IE9QVElPTlMgKCBbIEFE RCB8IFNFVCB8IERST1AgfCBJTkNMVURFIHwgRVhDTFVERSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBbJzxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywgLi4uIF0pCiAgICAgQUREIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyBO T1QgVkFMSUQgXQogICAgIFZBTElEQVRFIENPTlNUUkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVwbGFjZWFibGU+CiAgICAgRFJPUCBDT05TVFJB SU5UIFsgSUYgRVhJU1RTIF0gIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJh aW50X25hbWU8L3JlcGxhY2VhYmxlPiBbIFJFU1RSSUNUIHwgQ0FTQ0FERSBdCkBAIC01NCw3ICs1 NCw3IEBAIEFMVEVSIEZPUkVJR04gVEFCTEUgWyBJRiBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFiCiAgICAgSU5IRVJJVCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cGFyZW50X3RhYmxlPC9yZXBsYWNlYWJsZT4KICAgICBOTyBJTkhF UklUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXJlbnRfdGFibGU8L3JlcGxhY2Vh YmxlPgogICAgIE9XTkVSIFRPIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5ld19v d25lcjwvcmVwbGFjZWFibGU+IHwgQ1VSUkVOVF9ST0xFIHwgQ1VSUkVOVF9VU0VSIHwgU0VTU0lP Tl9VU0VSIH0KLSAgICBPUFRJT05TICggWyBBREQgfCBTRVQgfCBEUk9QIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm9wdGlvbjwvcmVwbGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4nXSBbLCAuLi4gXSkKKyAgICBPUFRJ T05TICggWyBBREQgfCBTRVQgfCBEUk9QIHwgSU5DTFVERSB8IEVYQ0xVREUgXSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4gWyc8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiddIFssIC4uLiBdKQogPC9zeW5v cHNpcz4KICA8L3JlZnN5bm9wc2lzZGl2PgogCkBAIC0yNjYsMTcgKzI2Niw0NiBAQCBBTFRFUiBG T1JFSUdOIFRBQkxFIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5hbWU8L3JlcGxhY2VhYgogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnk+ Ci0gICAgPHRlcm0+PGxpdGVyYWw+T1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJPUCBdIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBbJzxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywgLi4uIF0gKTwv bGl0ZXJhbD48L3Rlcm0+CisgICAgPHRlcm0+PGxpdGVyYWw+T1BUSU9OUyAoIFsgQUREIHwgU0VU IHwgRFJPUCB8IElOQ0xVREUgfCBFWENMVURFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPm9wdGlvbjwvcmVwbGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnZhbHVlPC9yZXBsYWNlYWJsZT4nXSBbLCAuLi4gXSApPC9saXRlcmFsPjwvdGVybT4KICAgICA8 bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgogICAgICAgQ2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBmb3Jl aWduIHRhYmxlIG9yIG9uZSBvZiBpdHMgY29sdW1ucy4KLSAgICAgIDxsaXRlcmFsPkFERDwvbGl0 ZXJhbD4sIDxsaXRlcmFsPlNFVDwvbGl0ZXJhbD4sIGFuZCA8bGl0ZXJhbD5EUk9QPC9saXRlcmFs PgotICAgICAgc3BlY2lmeSB0aGUgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZC4gIDxsaXRlcmFsPkFE RDwvbGl0ZXJhbD4gaXMgYXNzdW1lZAotICAgICAgaWYgbm8gb3BlcmF0aW9uIGlzIGV4cGxpY2l0 bHkgc3BlY2lmaWVkLiAgRHVwbGljYXRlIG9wdGlvbiBuYW1lcyBhcmUgbm90CisgICAgICA8bGl0 ZXJhbD5BREQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5EUk9Q PC9saXRlcmFsPiwKKyAgICAgIDxsaXRlcmFsPklOQ0xVREU8L2xpdGVyYWw+IGFuZCA8bGl0ZXJh bD5FWENMVURFPC9saXRlcmFsPiBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUKKyAgICAgIHBlcmZv cm1lZC4gIDxsaXRlcmFsPkFERDwvbGl0ZXJhbD4gaXMgYXNzdW1lZCBpZiBubyBvcGVyYXRpb24g aXMgZXhwbGljaXRseQorICAgICAgc3BlY2lmaWVkLiAgRHVwbGljYXRlIG9wdGlvbiBuYW1lcyBh cmUgbm90CiAgICAgICBhbGxvd2VkIChhbHRob3VnaCBpdCdzIE9LIGZvciBhIHRhYmxlIG9wdGlv biBhbmQgYSBjb2x1bW4gb3B0aW9uIHRvIGhhdmUKICAgICAgIHRoZSBzYW1lIG5hbWUpLiAgT3B0 aW9uIG5hbWVzIGFuZCB2YWx1ZXMgYXJlIGFsc28gdmFsaWRhdGVkIHVzaW5nIHRoZQogICAgICAg Zm9yZWlnbiBkYXRhIHdyYXBwZXIgbGlicmFyeS4KICAgICAgPC9wYXJhPgorCisgICAgIDxwYXJh PgorICAgICAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiBjYW4gb25seSBiZSB1c2VkIGZvciBvcHRp b24gbmFtZXMgdGhhdCBkb24ndCBhbHJlYWR5IGV4aXN0LgorICAgICAgSXQgc2V0cyB0aGUgc3Bl Y2lmaWVkIG5hbWUncyB2YWx1ZSBhcyBwcm92aWRlZC4KKyAgICAgPC9wYXJhPgorCisgICAgIDxw YXJhPgorICAgICAgPGxpdGVyYWw+U0VUPC9saXRlcmFsPiBjYW4gb25seSBiZSB1c2VkIGZvciBv cHRpb24gbmFtZXMgdGhhdCBhbHJlYWR5IGV4aXN0LgorICAgICAgSXQgb3ZlcndyaXRlcyB0aGUg ZW50aXJlIGV4aXN0aW5nIHZhbHVlIGZvciB0aGUgc3BlY2lmaWVkIG9wdGlvbi4KKyAgICAgPC9w YXJhPgorCisgICAgIDxwYXJhPgorICAgICAgPGxpdGVyYWw+RFJPUDwvbGl0ZXJhbD4gY2FuIG9u bHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgYWxyZWFkeSBleGlzdC4KKyAgICAgIEl0 IHJlbW92ZXMgdGhlIHNwZWNpZmllZCBuYW1lIGZyb20gdGhlIGxpc3Qgb2YgT1BUSU9OUy4KKyAg ICAgPC9wYXJhPgorCisgICAgIDxwYXJhPgorICAgICAgPGxpdGVyYWw+SU5DTFVERTwvbGl0ZXJh bD4gY2FuIGJlIHVzZWQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBvcHRpb24gbmFtZSBleGlz dHMgb3Igbm90LgorICAgICAgSWYgdGhlIG9wdGlvbiBuYW1lIGRvZXNuJ3QgZXhpc3QsIGl0IGFj dHMgbGlrZSA8bGl0ZXJhbD5BREQ8L2xpdGVyYWw+LgorICAgICAgSWYgaXQgZG9lcyBleGlzdCwg aXQgYWRkcyB0aGUgcHJvdmlkZWQgdmFsdWVzIHRvIHRoZSBleGlzdGluZyBvbmVzLgorICAgICA8 L3BhcmE+CisKKyAgICAgPHBhcmE+CisgICAgICA8bGl0ZXJhbD5FWENMVURFPC9saXRlcmFsPiBj YW4gb25seSBiZSB1c2VkIGZvciBvcHRpb24gbmFtZXMgdGhhdCBhbHJlYWR5IGV4aXN0LgorICAg ICAgSXQgcmVtb3ZlcyB0aGUgcHJvdmlkZWQgdmFsdWVzIGZyb20gdGhlIHZhbHVlcyBvZiB0aGUg c3BlY2lmaWVkIG9wdGlvbiBuYW1lLgorICAgICAgSWYgc29tZSBwcm92aWRlZCB2YWx1ZXMgZG9u J3QgZXhpc3QgaW4gdGhlIG9wdGlvbiB2YWx1ZXMsIHRoZXkgd29uJ3QgaGF2ZSBhbnkgZWZmZWN0 LgorICAgICAgT25seSB0aGUgdmFsdWVzIHRoYXQgZXhpc3QgaW4gdGhlIG9wdGlvbnMgd2lsbCBi ZSByZW1vdmVkLgorICAgICA8L3BhcmE+CiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVu dHJ5PgogCkBAIC01MjEsNyArNTUwLDcgQEAgQUxURVIgRk9SRUlHTiBUQUJMRSBkaXN0cmlidXRv cnMgQUxURVIgQ09MVU1OIHN0cmVldCBTRVQgTk9UIE5VTEw7CiAgIDxwYXJhPgogICAgVG8gY2hh bmdlIG9wdGlvbnMgb2YgYSBmb3JlaWduIHRhYmxlOgogPHByb2dyYW1saXN0aW5nPgotQUxURVIg Rk9SRUlHTiBUQUJMRSBteXNjaGVtYS5kaXN0cmlidXRvcnMgT1BUSU9OUyAoQUREIG9wdDEgJ3Zh bHVlJywgU0VUIG9wdDIgJ3ZhbHVlMicsIERST1Agb3B0Myk7CitBTFRFUiBGT1JFSUdOIFRBQkxF IG15c2NoZW1hLmRpc3RyaWJ1dG9ycyBPUFRJT05TIChBREQgb3B0MSAndmFsdWUnLCBTRVQgb3B0 MiAndmFsdWUyJywgRFJPUCBvcHQzLCBJTkNMVURFIG9wdDQgJ3ZhbHVlMywgdmFsdWU0JywgRVhD TFVERSBvcHQ1ICd2YWx1ZTUsIHZhbHVlNicpOwogPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CiAK ICA8L3JlZnNlY3QxPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zZXJ2ZXIu c2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc2VydmVyLnNnbWwKaW5kZXggNDY3YmY4NTU4 OS4uNjYwMTQwYWUwYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zZXJ2ZXIu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3NlcnZlci5zZ21sCkBAIC0yMiw3ICsy Miw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5v cHNpcz4KIEFMVEVSIFNFUlZFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwv cmVwbGFjZWFibGU+IFsgVkVSU0lPTiAnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5l d192ZXJzaW9uPC9yZXBsYWNlYWJsZT4nIF0KLSAgICBbIE9QVElPTlMgKCBbIEFERCB8IFNFVCB8 IERST1AgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3B0aW9uPC9yZXBsYWNlYWJs ZT4gWyc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPidd IFssIC4uLiBdICkgXQorICAgIFsgT1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJPUCB8IElOQ0xV REUgfCBFWENMVURFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9wdGlvbjwvcmVw bGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNl YWJsZT4nXSBbLCAuLi4gXSApIF0KIEFMVEVSIFNFUlZFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IE9XTkVSIFRPIHsgPHJlcGxhY2VhYmxlPm5ld19v d25lcjwvcmVwbGFjZWFibGU+IHwgQ1VSUkVOVF9ST0xFIHwgQ1VSUkVOVF9VU0VSIHwgU0VTU0lP Tl9VU0VSIH0KIEFMVEVSIFNFUlZFUiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFt ZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBUTyA8cmVwbGFjZWFibGU+bmV3X25hbWU8L3JlcGxhY2Vh YmxlPgogPC9zeW5vcHNpcz4KQEAgLTcxLDE1ICs3MSw0MyBAQCBBTFRFUiBTRVJWRVIgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPHJl cGxhYwogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRlcm0+ PGxpdGVyYWw+T1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJPUCBdIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBbJzxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywgLi4uIF0gKTwvbGl0ZXJhbD48L3Rl cm0+CisgICAgPHRlcm0+PGxpdGVyYWw+T1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJPUCB8IElO Q0xVREUgfCBFWENMVURFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9wdGlvbjwv cmVwbGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBs YWNlYWJsZT4nXSBbLCAuLi4gXSApPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAg ICAgIDxwYXJhPgogICAgICAgQ2hhbmdlIG9wdGlvbnMgZm9yIHRoZQotICAgICAgc2VydmVyLiAg PGxpdGVyYWw+QUREPC9saXRlcmFsPiwgPGxpdGVyYWw+U0VUPC9saXRlcmFsPiwgYW5kIDxsaXRl cmFsPkRST1A8L2xpdGVyYWw+Ci0gICAgICBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgcGVyZm9y bWVkLiAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiBpcyBhc3N1bWVkCi0gICAgICBpZiBubyBvcGVy YXRpb24gaXMgZXhwbGljaXRseSBzcGVjaWZpZWQuICBPcHRpb24gbmFtZXMgbXVzdCBiZQotICAg ICAgdW5pcXVlOyBuYW1lcyBhbmQgdmFsdWVzIGFyZSBhbHNvIHZhbGlkYXRlZCB1c2luZyB0aGUg c2VydmVyJ3MKLSAgICAgIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGxpYnJhcnkuCisgICAgICBzZXJ2 ZXIuICA8bGl0ZXJhbD5BREQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+LCA8bGl0 ZXJhbD5EUk9QPC9saXRlcmFsPiwKKyAgICAgIDxsaXRlcmFsPklOQ0xVREU8L2xpdGVyYWw+IGFu ZCA8bGl0ZXJhbD5FWENMVURFPC9saXRlcmFsPiBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUKKyAg ICAgIHBlcmZvcm1lZC4gIDxsaXRlcmFsPkFERDwvbGl0ZXJhbD4gaXMgYXNzdW1lZCBpZiBubyBv cGVyYXRpb24gaXMgZXhwbGljaXRseQorICAgICAgc3BlY2lmaWVkLiAgT3B0aW9uIG5hbWVzIG11 c3QgYmUgdW5pcXVlOyBuYW1lcyBhbmQgdmFsdWVzIGFyZSBhbHNvIHZhbGlkYXRlZAorICAgICAg dXNpbmcgdGhlIHNlcnZlcidzIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGxpYnJhcnkuCisgICAgIDwv cGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPkFERDwvbGl0ZXJhbD4gY2FuIG9u bHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgZG9uJ3QgYWxyZWFkeSBleGlzdC4KKyAg ICAgIEl0IHNldHMgdGhlIHNwZWNpZmllZCBuYW1lJ3MgdmFsdWUgYXMgcHJvdmlkZWQuCisgICAg IDwvcGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPlNFVDwvbGl0ZXJhbD4gY2Fu IG9ubHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgYWxyZWFkeSBleGlzdC4KKyAgICAg IEl0IG92ZXJ3cml0ZXMgdGhlIGVudGlyZSBleGlzdGluZyB2YWx1ZSBmb3IgdGhlIHNwZWNpZmll ZCBvcHRpb24uCisgICAgIDwvcGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPkRS T1A8L2xpdGVyYWw+IGNhbiBvbmx5IGJlIHVzZWQgZm9yIG9wdGlvbiBuYW1lcyB0aGF0IGFscmVh ZHkgZXhpc3QuCisgICAgICBJdCByZW1vdmVzIHRoZSBzcGVjaWZpZWQgbmFtZSBmcm9tIHRoZSBs aXN0IG9mIE9QVElPTlMuCisgICAgIDwvcGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRl cmFsPklOQ0xVREU8L2xpdGVyYWw+IGNhbiBiZSB1c2VkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0 aGUgb3B0aW9uIG5hbWUgZXhpc3RzIG9yIG5vdC4KKyAgICAgIElmIHRoZSBvcHRpb24gbmFtZSBk b2Vzbid0IGV4aXN0LCBpdCBhY3RzIGxpa2UgPGxpdGVyYWw+QUREPC9saXRlcmFsPi4KKyAgICAg IElmIGl0IGRvZXMgZXhpc3QsIGl0IGFkZHMgdGhlIHByb3ZpZGVkIHZhbHVlcyB0byB0aGUgZXhp c3Rpbmcgb25lcy4KKyAgICAgPC9wYXJhPgorCisgICAgIDxwYXJhPgorICAgICAgPGxpdGVyYWw+ RVhDTFVERTwvbGl0ZXJhbD4gY2FuIG9ubHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQg YWxyZWFkeSBleGlzdC4KKyAgICAgIEl0IHJlbW92ZXMgdGhlIHByb3ZpZGVkIHZhbHVlcyBmcm9t IHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBvcHRpb24gbmFtZS4KKyAgICAgIElmIHNvbWUg cHJvdmlkZWQgdmFsdWVzIGRvbid0IGV4aXN0IGluIHRoZSBvcHRpb24gdmFsdWVzLCB0aGV5IHdv bid0IGhhdmUgYW55IGVmZmVjdC4KKyAgICAgIE9ubHkgdGhlIHZhbHVlcyB0aGF0IGV4aXN0IGlu IHRoZSBvcHRpb25zIHdpbGwgYmUgcmVtb3ZlZC4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0 ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTExNCw2ICsxNDIsMjMgQEAgQUxURVIgU0VSVkVS IGZvbyBPUFRJT05TIChob3N0ICdmb28nLCBkYm5hbWUgJ2Zvb2RiJyk7CiA8L3Byb2dyYW1saXN0 aW5nPgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBTdXBwb3NlIGEgc2VydmVyIGFscmVhZHkg Y29udGFpbnMgZmV3IGV4dGVuc2lvbnMgdGhlbiB0byBhZGQgCisgICBtb3JlIGV4dGVuc2lvbnMg aW50byBleGlzdGluZyB2YWx1ZXMgdXNlCisgICBBbHRlciBzZXJ2ZXIgPGxpdGVyYWw+Zm9vPC9s aXRlcmFsPiwgaW5jbHVkZSBleHRlbnNpb25zOgorPHByb2dyYW1saXN0aW5nPgorQUxURVIgU0VS VkVSIGZvbyBPUFRJT05TIChJTkNMVURFIGV4dGVuc2lvbnMgJ2V4dDEsIGV4dDIsIGV4dDMnKTsK KzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRvIHJlbW92ZSBz b21lIHNlbGVjdGVkIHZhbHVlcyBmcm9tIGV4dGVuc2lvbnMgdXNlCisgICBBbHRlciBzZXJ2ZXIg PGxpdGVyYWw+Zm9vPC9saXRlcmFsPiwgZXhjbHVkZSBleHRlbnNpb25zOgorPHByb2dyYW1saXN0 aW5nPgorQUxURVIgU0VSVkVSIGZvbyBPUFRJT05TIChFWENMVURFIGV4dGVuc2lvbnMgJ2V4dDEs IGV4dDMnKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIEFs dGVyIHNlcnZlciA8bGl0ZXJhbD5mb288L2xpdGVyYWw+LCBjaGFuZ2UgdmVyc2lvbiwKICAgIGNo YW5nZSA8bGl0ZXJhbD5ob3N0PC9saXRlcmFsPiBvcHRpb246CmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcmVmL2FsdGVyX3VzZXJfbWFwcGluZy5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRl cl91c2VyX21hcHBpbmcuc2dtbAppbmRleCBlZTVhZWU5YmM5Li40ZjIyNjBiNmUyIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3VzZXJfbWFwcGluZy5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvYWx0ZXJfdXNlcl9tYXBwaW5nLnNnbWwKQEAgLTIzLDcgKzIzLDcgQEAgUG9z dGdyZVNRTCBkb2N1bWVudGF0aW9uCiA8c3lub3BzaXM+CiBBTFRFUiBVU0VSIE1BUFBJTkcgRk9S IHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnVzZXJfbmFtZTwvcmVwbGFjZWFibGU+ IHwgVVNFUiB8IENVUlJFTlRfUk9MRSB8IENVUlJFTlRfVVNFUiB8IFNFU1NJT05fVVNFUiB8IFBV QkxJQyB9CiAgICAgU0VSVkVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXJ2ZXJf bmFtZTwvcmVwbGFjZWFibGU+Ci0gICAgT1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJPUCBdIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBbJzxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywgLi4uIF0g KQorICAgIE9QVElPTlMgKCBbIEFERCB8IFNFVCB8IERST1AgfCBJTkNMVURFIHwgRVhDTFVERSBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBbJzxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywgLi4u IF0gKQogPC9zeW5vcHNpcz4KICA8L3JlZnN5bm9wc2lzZGl2PgogCkBAIC02OSwxNiArNjksNDQg QEAgQUxURVIgVVNFUiBNQVBQSU5HIEZPUiB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij51c2VyX25hbWU8L3JlcGxhY2VhYmxlPgogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJs aXN0ZW50cnk+Ci0gICAgPHRlcm0+PGxpdGVyYWw+T1BUSU9OUyAoIFsgQUREIHwgU0VUIHwgRFJP UCBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vcHRpb248L3JlcGxhY2VhYmxlPiBb JzxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+J10gWywg Li4uIF0gKTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPHRlcm0+PGxpdGVyYWw+T1BUSU9OUyAoIFsg QUREIHwgU0VUIHwgRFJPUCB8IElOQ0xVREUgfCBFWENMVURFIF0gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm9wdGlvbjwvcmVwbGFjZWFibGU+IFsnPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4nXSBbLCAuLi4gXSApPC9saXRlcmFsPjwvdGVy bT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgogICAgICAgQ2hhbmdlIG9wdGlvbnMgZm9y IHRoZSB1c2VyIG1hcHBpbmcuIFRoZSBuZXcgb3B0aW9ucyBvdmVycmlkZQogICAgICAgYW55IHBy ZXZpb3VzbHkgc3BlY2lmaWVkCi0gICAgICBvcHRpb25zLiAgPGxpdGVyYWw+QUREPC9saXRlcmFs PiwgPGxpdGVyYWw+U0VUPC9saXRlcmFsPiwgYW5kIDxsaXRlcmFsPkRST1A8L2xpdGVyYWw+Ci0g ICAgICBzcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkLiAgPGxpdGVyYWw+QUREPC9s aXRlcmFsPiBpcyBhc3N1bWVkCi0gICAgICBpZiBubyBvcGVyYXRpb24gaXMgZXhwbGljaXRseSBz cGVjaWZpZWQuICBPcHRpb24gbmFtZXMgbXVzdCBiZQotICAgICAgdW5pcXVlOyBvcHRpb25zIGFy ZSBhbHNvIHZhbGlkYXRlZCBieSB0aGUgc2VydmVyJ3MgZm9yZWlnbi1kYXRhCi0gICAgICB3cmFw cGVyLgorICAgICAgb3B0aW9ucy4gIDxsaXRlcmFsPkFERDwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNF VDwvbGl0ZXJhbD4sIDxsaXRlcmFsPkRST1A8L2xpdGVyYWw+LAorICAgICAgPGxpdGVyYWw+SU5D TFVERTwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPkVYQ0xVREU8L2xpdGVyYWw+IHNwZWNpZnkgdGhl IGFjdGlvbiB0byBiZQorICAgICAgcGVyZm9ybWVkLiAgPGxpdGVyYWw+QUREPC9saXRlcmFsPiBp cyBhc3N1bWVkIGlmIG5vIG9wZXJhdGlvbiBpcyBleHBsaWNpdGx5CisgICAgICBzcGVjaWZpZWQu ICBPcHRpb24gbmFtZXMgbXVzdCBiZSB1bmlxdWU7IG9wdGlvbnMgYXJlIGFsc28gdmFsaWRhdGVk CisgICAgICBieSB0aGUgc2VydmVyJ3MgZm9yZWlnbi1kYXRhIHdyYXBwZXIuCisgICAgIDwvcGFy YT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPkFERDwvbGl0ZXJhbD4gY2FuIG9ubHkg YmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgZG9uJ3QgYWxyZWFkeSBleGlzdC4KKyAgICAg IEl0IHNldHMgdGhlIHNwZWNpZmllZCBuYW1lJ3MgdmFsdWUgYXMgcHJvdmlkZWQuCisgICAgIDwv cGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPlNFVDwvbGl0ZXJhbD4gY2FuIG9u bHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgYWxyZWFkeSBleGlzdC4KKyAgICAgIEl0 IG92ZXJ3cml0ZXMgdGhlIGVudGlyZSBleGlzdGluZyB2YWx1ZSBmb3IgdGhlIHNwZWNpZmllZCBv cHRpb24uCisgICAgIDwvcGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFsPkRST1A8 L2xpdGVyYWw+IGNhbiBvbmx5IGJlIHVzZWQgZm9yIG9wdGlvbiBuYW1lcyB0aGF0IGFscmVhZHkg ZXhpc3QuCisgICAgICBJdCByZW1vdmVzIHRoZSBzcGVjaWZpZWQgbmFtZSBmcm9tIHRoZSBsaXN0 IG9mIE9QVElPTlMuCisgICAgIDwvcGFyYT4KKworICAgICA8cGFyYT4KKyAgICAgIDxsaXRlcmFs PklOQ0xVREU8L2xpdGVyYWw+IGNhbiBiZSB1c2VkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUg b3B0aW9uIG5hbWUgZXhpc3RzIG9yIG5vdC4KKyAgICAgIElmIHRoZSBvcHRpb24gbmFtZSBkb2Vz bid0IGV4aXN0LCBpdCBhY3RzIGxpa2UgPGxpdGVyYWw+QUREPC9saXRlcmFsPi4KKyAgICAgIElm IGl0IGRvZXMgZXhpc3QsIGl0IGFkZHMgdGhlIHByb3ZpZGVkIHZhbHVlcyB0byB0aGUgZXhpc3Rp bmcgb25lcy4KKyAgICAgPC9wYXJhPgorCisgICAgIDxwYXJhPgorICAgICAgPGxpdGVyYWw+RVhD TFVERTwvbGl0ZXJhbD4gY2FuIG9ubHkgYmUgdXNlZCBmb3Igb3B0aW9uIG5hbWVzIHRoYXQgYWxy ZWFkeSBleGlzdC4KKyAgICAgIEl0IHJlbW92ZXMgdGhlIHByb3ZpZGVkIHZhbHVlcyBmcm9tIHRo ZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBvcHRpb24gbmFtZS4KKyAgICAgIElmIHNvbWUgcHJv dmlkZWQgdmFsdWVzIGRvbid0IGV4aXN0IGluIHRoZSBvcHRpb24gdmFsdWVzLCB0aGV5IHdvbid0 IGhhdmUgYW55IGVmZmVjdC4KKyAgICAgIE9ubHkgdGhlIHZhbHVlcyB0aGF0IGV4aXN0IGluIHRo ZSBvcHRpb25zIHdpbGwgYmUgcmVtb3ZlZC4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+ CiAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Zv cmVpZ25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9mb3JlaWduY21kcy5jCmluZGV4IGNm NjFiYmFjMWYuLmM2M2E4MTRiZGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Zv cmVpZ25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZm9yZWlnbmNtZHMuYwpAQCAt MzgsNiArMzgsNyBAQAogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0 aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisjaW5jbHVkZSAidXRpbHMv dmFybGVuYS5oIgogCiAKIHR5cGVkZWYgc3RydWN0CkBAIC05NSwxMCArOTYsMTAgQEAgb3B0aW9u TGlzdFRvQXJyYXkoTGlzdCAqb3B0aW9ucykKIAogLyoKICAqIFRyYW5zZm9ybSBhIGxpc3Qgb2Yg RGVmRWxlbSBpbnRvIHRleHQgYXJyYXkgZm9ybWF0LiAgVGhpcyBpcyBzdWJzdGFudGlhbGx5Ci0g KiB0aGUgc2FtZSB0aGluZyBhcyBvcHRpb25MaXN0VG9BcnJheSgpLCBleGNlcHQgd2UgcmVjb2du aXplIFNFVC9BREQvRFJPUAotICogYWN0aW9ucyBmb3IgbW9kaWZ5aW5nIGFuIGV4aXN0aW5nIGxp c3Qgb2Ygb3B0aW9ucywgd2hpY2ggaXMgcGFzc2VkIGluCi0gKiBEYXR1bSBmb3JtIGFzIG9sZE9w dGlvbnMuICBBbHNvLCBpZiBmZHd2YWxpZGF0b3IgaXNuJ3QgSW52YWxpZE9pZAotICogaXQgc3Bl Y2lmaWVzIGEgdmFsaWRhdG9yIGZ1bmN0aW9uIHRvIGNhbGwgb24gdGhlIHJlc3VsdC4KKyAqIHRo ZSBzYW1lIHRoaW5nIGFzIG9wdGlvbkxpc3RUb0FycmF5KCksIGV4Y2VwdCB3ZSByZWNvZ25pemUK KyAqIFNFVC9BREQvRFJPUC9JTkNMVURFL0VYQ0xVREUgYWN0aW9ucyBmb3IgbW9kaWZ5aW5nIGFu IGV4aXN0aW5nIGxpc3Qgb2YKKyAqIG9wdGlvbnMsIHdoaWNoIGlzIHBhc3NlZCBpbiBEYXR1bSBm b3JtIGFzIG9sZE9wdGlvbnMuICBBbHNvLCBpZiBmZHd2YWxpZGF0b3IKKyAqIGlzbid0IEludmFs aWRPaWQgaXQgc3BlY2lmaWVzIGEgdmFsaWRhdG9yIGZ1bmN0aW9uIHRvIGNhbGwgb24gdGhlIHJl c3VsdC4KICAqCiAgKiBSZXR1cm5zIHRoZSBhcnJheSBpbiB0aGUgZm9ybSBvZiBhIERhdHVtLCBv ciBQb2ludGVyR2V0RGF0dW0oTlVMTCkKICAqIGlmIHRoZSBsaXN0IGlzIGVtcHR5LgpAQCAtMTU5 LDYgKzE2MCw3OCBAQCB0cmFuc2Zvcm1HZW5lcmljT3B0aW9ucyhPaWQgY2F0YWxvZ0lkLAogCQkJ CWxmaXJzdChjZWxsKSA9IG9kOwogCQkJCWJyZWFrOwogCisJCQljYXNlIERFRkVMRU1fSU5DTFVE RToKKwkJCQlpZiAoIWNlbGwpCisJCQkJCXJlc3VsdE9wdGlvbnMgPSBsYXBwZW5kKHJlc3VsdE9w dGlvbnMsIG9kKTsKKwkJCQllbHNlCisJCQkJeworCQkJCQlTdHJpbmdJbmZvCXM7CisKKwkJCQkJ cyA9IG1ha2VTdHJpbmdJbmZvKCk7CisKKwkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhzLCBk ZWZHZXRTdHJpbmcobGZpcnN0KGNlbGwpKSk7CisKKwkJCQkJaWYgKHN0cmxlbihzLT5kYXRhKSAm JiBzdHJsZW4oZGVmR2V0U3RyaW5nKG9kKSkpCisJCQkJCQlhcHBlbmRTdHJpbmdJbmZvQ2hhcihz LCAnLCcpOworCisJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcocywgZGVmR2V0U3RyaW5nKG9k KSk7CisKKwkJCQkJKChTdHJpbmcgKikgb2QtPmFyZyktPnN2YWwgPSBzLT5kYXRhOworCQkJCQls Zmlyc3QoY2VsbCkgPSBvZDsKKwkJCQl9CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgREVGRUxFTV9F WENMVURFOgorCQkJCWlmICghY2VsbCkKKwkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkoZXJy Y29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCQkJCSBlcnJtc2coIm9wdGlvbiBc IiVzXCIgbm90IGZvdW5kIiwKKwkJCQkJCQkJCW9kLT5kZWZuYW1lKSkpOworCQkJCWVsc2UKKwkJ CQl7CisJCQkJCVN0cmluZ0luZm8JczsKKwkJCQkJTGlzdAkgICAqY3VycmVudFZhbHVlczsKKwkJ CQkJTGlzdAkgICAqZGlzY2FyZFZhbHVlczsKKwkJCQkJTGlzdENlbGwgICAqZXY7CisJCQkJCUxp c3RDZWxsICAgKmR2OworCisJCQkJCVNwbGl0SWRlbnRpZmllclN0cmluZyhkZWZHZXRTdHJpbmco bGZpcnN0KGNlbGwpKSwgJywnLCAmY3VycmVudFZhbHVlcyk7CisJCQkJCVNwbGl0SWRlbnRpZmll clN0cmluZyhkZWZHZXRTdHJpbmcob2QpLCAnLCcsICZkaXNjYXJkVmFsdWVzKTsKKworCQkJCQlm b3JlYWNoKGV2LCBjdXJyZW50VmFsdWVzKQorCQkJCQl7CisJCQkJCQlmb3JlYWNoKGR2LCBkaXNj YXJkVmFsdWVzKQorCQkJCQkJeworCQkJCQkJCWlmIChzdHJjbXAoKGNoYXIgKikgbGZpcnN0KGV2 KSwgKGNoYXIgKikgbGZpcnN0KGR2KSkgPT0gMCkKKwkJCQkJCQl7CisJCQkJCQkJCWN1cnJlbnRW YWx1ZXMgPSBmb3JlYWNoX2RlbGV0ZV9jdXJyZW50KGN1cnJlbnRWYWx1ZXMsIGV2KTsKKwkJCQkJ CQkJYnJlYWs7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisKKwkJCQkJcyA9IG1ha2VTdHJp bmdJbmZvKCk7CisKKwkJCQkJZm9yZWFjaChldiwgY3VycmVudFZhbHVlcykKKwkJCQkJeworCQkJ CQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhzLCAoY2hhciAqKSBsZmlyc3QoZXYpKTsKKwkJCQkJ CWFwcGVuZFN0cmluZ0luZm9DaGFyKHMsICcsJyk7CisJCQkJCX0KKworCQkJCQlpZiAocy0+bGVu ID4gMCkKKwkJCQkJeworCQkJCQkJcy0+ZGF0YVtzLT5sZW4gLSAxXSA9ICdcMCc7CisJCQkJCQlz LT5sZW4gPSBzLT5sZW4gLSAxOworCQkJCQl9CisKKwkJCQkJbGlzdF9mcmVlKGN1cnJlbnRWYWx1 ZXMpOworCQkJCQlsaXN0X2ZyZWUoZGlzY2FyZFZhbHVlcyk7CisKKwkJCQkJKChTdHJpbmcgKikg b2QtPmFyZyktPnN2YWwgPSBzLT5kYXRhOworCQkJCQlsZmlyc3QoY2VsbCkgPSBvZDsKKwkJCQl9 CisJCQkJYnJlYWs7CisKIAkJCWNhc2UgREVGRUxFTV9BREQ6CiAJCQljYXNlIERFRkVMRU1fVU5T UEVDOgogCQkJCWlmIChjZWxsKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggZThiNjE5OTI2ZS4uYjM4ZGZlYmY0 MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvZ3JhbS55CkBAIC01NTMxLDYgKzU1MzEsMTYgQEAgYWx0ZXJfZ2VuZXJpY19vcHRp b25fZWxlbToKIAkJCQl7CiAJCQkJCSQkID0gbWFrZURlZkVsZW1FeHRlbmRlZChOVUxMLCAkMiwg TlVMTCwgREVGRUxFTV9EUk9QLCBAMik7CiAJCQkJfQorCQkJfCBJTkNMVURFIGdlbmVyaWNfb3B0 aW9uX2VsZW0KKwkJCQl7CisJCQkJCSQkID0gJDI7CisJCQkJCSQkLT5kZWZhY3Rpb24gPSBERUZF TEVNX0lOQ0xVREU7CisJCQkJfQorCQkJfCBFWENMVURFIGdlbmVyaWNfb3B0aW9uX2VsZW0KKwkJ CQl7CisJCQkJCSQkID0gJDI7CisJCQkJCSQkLT5kZWZhY3Rpb24gPSBERUZFTEVNX0VYQ0xVREU7 CisJCQkJfQogCQk7CiAKIGdlbmVyaWNfb3B0aW9uX2VsZW06CmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgK aW5kZXggYWY4MGE1ZDM4ZS4uN2E4YWM2M2M2ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAt ODA2LDYgKzgwNiw4IEBAIHR5cGVkZWYgZW51bSBEZWZFbGVtQWN0aW9uCiAJREVGRUxFTV9TRVQs CiAJREVGRUxFTV9BREQsCiAJREVGRUxFTV9EUk9QLAorCURFRkVMRU1fSU5DTFVERSwKKwlERUZF TEVNX0VYQ0xVREUKIH0gRGVmRWxlbUFjdGlvbjsKIAogdHlwZWRlZiBzdHJ1Y3QgRGVmRWxlbQot LSAKMi40MS4wCgo= --000000000000c28e750616f94418--