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 1udk4t-00CTBW-6t for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Jul 2025 06:32:47 +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 1udk4r-00EK1F-QM for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Jul 2025 06:32:45 +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 1udk4r-00EJzE-89 for pgsql-hackers@lists.postgresql.org; Mon, 21 Jul 2025 06:32:45 +0000 Received: from mail-ua1-x931.google.com ([2607:f8b0:4864:20::931]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1udk4o-008ODk-39 for pgsql-hackers@postgresql.org; Mon, 21 Jul 2025 06:32:44 +0000 Received: by mail-ua1-x931.google.com with SMTP id a1e0cc1a2514c-88150e9fba7so5973999241.1 for ; Sun, 20 Jul 2025 23:32:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753079562; x=1753684362; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=b9Dx8Y3xIQYSMz6EXBLsRqb+TQLx3u3jUFM2c2mQpug=; b=Ix9HYIJREOR3RkgxE3eSJY3tk2Eft/fleJS4JsDkXDHyKcpRLgAGL2XPLtSYHTY2Pn fB8cHCfiJBHN3uVvJejMhgI8O9nFNaw9lrpftMVvB1ZKSQyeQRT/9ja1PTyis/ZoGwmK 42eIe0JO3MY2cpu/GDaAm3k5S2xw73A3z54I/EONzWygk27X/y2HUDBp5TuUz2y5OEbK +yEquZzJbq2x6hLjmRS2CZl0jET2OazdxePSs8i05jUP9FaSZZ9XYqp50UzHtXDhLXJ7 ypLd2u0i8bp4IBE6vFgOJ9EGoKIgCOESVxpqONOTtrNOxFzyukYQMByyoMEIOPdHDAjN Qejg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753079562; x=1753684362; 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=b9Dx8Y3xIQYSMz6EXBLsRqb+TQLx3u3jUFM2c2mQpug=; b=kr3COEOxbopgAkg+dJk/uRk/lHph0ajAS+s1Nks2078sB5LYKC48GPjteBBiCuhg+e FN52qf8WU6DaATx7YXAT0zG9X2sppGYKHgAEmeO5QXymjUPkTUZH5mTmxzhYPsah4H4P FHQu3GsdmjEUfXNXhPXHz35sr3mPTUVdbZN44OcNTR4Sc4/HW5Cy4a5mpW/QSh840zmC ufFx5Pmsi/HrxfNS3qD2at3CezkQZIQSFE70QALcLnPnNTmIC4qsBVqATsi0MQKlsYGE Z0ZvQDSSd9m1MVS7PS6PWEa1DZGB/+ll81RwPTnRT7eCv2fDJk54QM3KsN9Kbx1NbpRL z2CA== X-Forwarded-Encrypted: i=1; AJvYcCUHj05G5o3zAya05ko9xy2gG06rgQYoZC2JqahRg9o9eFcHFVuOLe5kvDYqLtzEyNidsFSkAGKMf7cvGpFm@postgresql.org X-Gm-Message-State: AOJu0YwmkXPNUSKT8VDJYHQGRQiQ8qEtX8fbeaSiJd8tM5kcus8RA5C0 1lWQO5Up2DkMOGhnuScp8KQWKcXiqj/JKPcvhqfYnpV8/hfZexVkePK8/Mr0+viyaxl1TW7dtT6 uye2EWykzJdVykxFzPimwA42BV0YLdIcii/RsfWMBVA== X-Gm-Gg: ASbGnctcA5xwU5BQHXufRuwCCijCsK13zujGmcfZCf+Z8dgDqhL4CAw7M7elBveGGHq Qpt95osJ+AqVBFuAj2DUJGJmKf0XS17A9SPMmXq/QRhDeKvZPgbv0O1CThR/QyoZ9n1oQqo4RKT iPq+S9nfIB0WNB33AflOmD2htR4RiMZO4iNvrBP+Epb12v1tIZuS5qVaxfLMe7h8rmMh8dYm5m/ l48TBzcDC8iTuOO2u2V0JLMeqm+v6DoY98lJdM= X-Google-Smtp-Source: AGHT+IFFAgF4H4w/gy4/DkXdQ3aCgEgWZRpvZpHaXcGzVdsR2IU7BYVSZntV3UjeYjLjfNXPPUIZTOFi3DipYa+uIH8= X-Received: by 2002:a05:6102:38c6:b0:4e7:b77d:7fe1 with SMTP id ada2fe7eead31-4f996bee9e5mr8189278137.0.1753079561917; Sun, 20 Jul 2025 23:32:41 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Mon, 21 Jul 2025 14:31:45 +0800 X-Gm-Features: Ac12FXwbXWDIMzEaVZDkWfiG83bqlTWcF60Zcvb-q5cysAf6xgadZM7IuKMeFic Message-ID: Subject: Re: add function argument name to substring and substr To: "David G. Johnston" Cc: Marcos Pegoraro , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000008d3253063a6aa41a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008d3253063a6aa41a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Apr 1, 2025 at 10:41=E2=80=AFPM David G. Johnston wrote: > > On Tue, Apr 1, 2025 at 6:15=E2=80=AFAM Marcos Pegoraro wrote: >> >> Em ter., 1 de abr. de 2025 =C3=A0s 02:00, David G. Johnston escreveu: >> >> Wouldn't it be good to add the use of parentheses using posix ? It's use= ful and rarely documented >> substring('Thomas', '...$') >> + substring('Email: johnjohn@mymail.com, Name: John' fro= m '@(.*), Name') >> > > Agreed. A second example using () would be good here. > actually, section (9.7.3.) https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-P= OSIX-REGEXP already have example, like: substring('foobar' from 'o(.)b') new patch attached, split substr, substring to make review more easier. v6-0001: add function argument name to function substr v6-0002: add function argument name to function substring v6-0002 incorporated some of the changes in v5-0002-v3-delta.patch. some of the changes in v5-0002-v3-delta.patch are not related to this threa= d, so I didn't incorporate them, right now. --0000000000008d3253063a6aa41a Content-Type: text/x-patch; charset="US-ASCII"; name="v6-0001-add-function-argument-name-to-substr.patch" Content-Disposition: attachment; filename="v6-0001-add-function-argument-name-to-substr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mdcq97p91 RnJvbSA3MzZmZjAwMDUwMGQ4ZDg3NDk5ZWFlZjBmYjczMzE5NjAxNzNjNGU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjEgSnVsIDIwMjUgMTE6NTg6MzcgKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDEvMl0gYWRkIGZ1bmN0aW9uIGFyZ3VtZW50IG5hbWUgdG8gc3Vic3RyLgoKSEVBRApcZGYgc3Vi c3RyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZ1bmN0aW9ucwogICBTY2hl bWEgICB8ICBOYW1lICB8IFJlc3VsdCBkYXRhIHR5cGUgfCAgIEFyZ3VtZW50IGRhdGEgdHlwZXMg ICB8IFR5cGUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQogcGdfY2F0YWxvZyB8IHN1YnN0ciB8IGJ5dGVhICAg ICAgICAgICAgfCBieXRlYSwgaW50ZWdlciAgICAgICAgICB8IGZ1bmMKIHBnX2NhdGFsb2cgfCBz dWJzdHIgfCBieXRlYSAgICAgICAgICAgIHwgYnl0ZWEsIGludGVnZXIsIGludGVnZXIgfCBmdW5j CiBwZ19jYXRhbG9nIHwgc3Vic3RyIHwgdGV4dCAgICAgICAgICAgICB8IHRleHQsIGludGVnZXIg ICAgICAgICAgIHwgZnVuYwogcGdfY2F0YWxvZyB8IHN1YnN0ciB8IHRleHQgICAgICAgICAgICAg fCB0ZXh0LCBpbnRlZ2VyLCBpbnRlZ2VyICB8IGZ1bmMKCndpdGggcGF0Y2gKIFxkZiBzdWJzdHIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZnVuY3Rpb25zCiAg IFNjaGVtYSAgIHwgIE5hbWUgIHwgUmVzdWx0IGRhdGEgdHlwZSB8ICAgICAgICAgICAgQXJndW1l bnQgZGF0YSB0eXBlcyAgICAgICAgICAgIHwgVHlwZQotLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tCiBwZ19jYXRhbG9nIHwgc3Vic3RyIHwgYnl0ZWEgICAgICAgICAgICB8IGJ5dGVz IGJ5dGVhLCBzdGFydCBpbnRlZ2VyICAgICAgICAgICAgICAgIHwgZnVuYwogcGdfY2F0YWxvZyB8 IHN1YnN0ciB8IGJ5dGVhICAgICAgICAgICAgfCBieXRlcyBieXRlYSwgc3RhcnQgaW50ZWdlciwg Y291bnQgaW50ZWdlciB8IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHIgfCB0ZXh0ICAgICAgICAg ICAgIHwgc3RyaW5nIHRleHQsIHN0YXJ0IGludGVnZXIgICAgICAgICAgICAgICAgfCBmdW5jCiBw Z19jYXRhbG9nIHwgc3Vic3RyIHwgdGV4dCAgICAgICAgICAgICB8IHN0cmluZyB0ZXh0LCBzdGFy dCBpbnRlZ2VyLCBjb3VudCBpbnRlZ2VyIHwgZnVuYwoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0 Z3IuZXMvbS9DQUNKdWZ4SFRCa3ltaDA2RDRtR0tOZTFZZlJORk4rZ0ZCeWJteWdXaz1QdE1xdTAw TFFAbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IHwg NCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKaW5kZXggMWZjMTkxNDZmNDYuLjJmMjlmMzc1N2E1IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKQEAgLTM3MDYsNiArMzcwNiw3IEBACiAgIHByb3NyYyA9PiAncnRyaW0nIH0sCiB7IG9p ZCA9PiAnODc3JywgZGVzY3IgPT4gJ2V4dHJhY3QgcG9ydGlvbiBvZiBzdHJpbmcnLAogICBwcm9u YW1lID0+ICdzdWJzdHInLCBwcm9yZXR0eXBlID0+ICd0ZXh0JywgcHJvYXJndHlwZXMgPT4gJ3Rl eHQgaW50NCBpbnQ0JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdHJpbmcsIHN0YXJ0LCBjb3VudH0n LAogICBwcm9zcmMgPT4gJ3RleHRfc3Vic3RyJyB9LAogeyBvaWQgPT4gJzg3OCcsIGRlc2NyID0+ ICdtYXAgYSBzZXQgb2YgY2hhcmFjdGVycyBhcHBlYXJpbmcgaW4gc3RyaW5nJywKICAgcHJvbmFt ZSA9PiAndHJhbnNsYXRlJywgcHJvcmV0dHlwZSA9PiAndGV4dCcsIHByb2FyZ3R5cGVzID0+ICd0 ZXh0IHRleHQgdGV4dCcsCkBAIC0zNzI0LDYgKzM3MjUsNyBAQAogICBwcm9zcmMgPT4gJ3J0cmlt MScgfSwKIHsgb2lkID0+ICc4ODMnLCBkZXNjciA9PiAnZXh0cmFjdCBwb3J0aW9uIG9mIHN0cmlu ZycsCiAgIHByb25hbWUgPT4gJ3N1YnN0cicsIHByb3JldHR5cGUgPT4gJ3RleHQnLCBwcm9hcmd0 eXBlcyA9PiAndGV4dCBpbnQ0JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdHJpbmcsIHN0YXJ0fScs CiAgIHByb3NyYyA9PiAndGV4dF9zdWJzdHJfbm9fbGVuJyB9LAogeyBvaWQgPT4gJzg4NCcsIGRl c2NyID0+ICd0cmltIHNlbGVjdGVkIGNoYXJhY3RlcnMgZnJvbSBib3RoIGVuZHMgb2Ygc3RyaW5n JywKICAgcHJvbmFtZSA9PiAnYnRyaW0nLCBwcm9yZXR0eXBlID0+ICd0ZXh0JywgcHJvYXJndHlw ZXMgPT4gJ3RleHQgdGV4dCcsCkBAIC02Mjg2LDkgKzYyODgsMTEgQEAKICAgcHJvc3JjID0+ICdi eXRlYV9zdWJzdHJfbm9fbGVuJyB9LAogeyBvaWQgPT4gJzIwODUnLCBkZXNjciA9PiAnZXh0cmFj dCBwb3J0aW9uIG9mIHN0cmluZycsCiAgIHByb25hbWUgPT4gJ3N1YnN0cicsIHByb3JldHR5cGUg PT4gJ2J5dGVhJywgcHJvYXJndHlwZXMgPT4gJ2J5dGVhIGludDQgaW50NCcsCisgIHByb2FyZ25h bWVzID0+ICd7Ynl0ZXMsIHN0YXJ0LCBjb3VudH0nLAogICBwcm9zcmMgPT4gJ2J5dGVhX3N1YnN0 cicgfSwKIHsgb2lkID0+ICcyMDg2JywgZGVzY3IgPT4gJ2V4dHJhY3QgcG9ydGlvbiBvZiBzdHJp bmcnLAogICBwcm9uYW1lID0+ICdzdWJzdHInLCBwcm9yZXR0eXBlID0+ICdieXRlYScsIHByb2Fy Z3R5cGVzID0+ICdieXRlYSBpbnQ0JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tieXRlcywgc3RhcnR9 JywKICAgcHJvc3JjID0+ICdieXRlYV9zdWJzdHJfbm9fbGVuJyB9LAogeyBvaWQgPT4gJzIwMTQn LCBkZXNjciA9PiAncG9zaXRpb24gb2Ygc3Vic3RyaW5nJywKICAgcHJvbmFtZSA9PiAncG9zaXRp b24nLCBwcm9yZXR0eXBlID0+ICdpbnQ0JywgcHJvYXJndHlwZXMgPT4gJ2J5dGVhIGJ5dGVhJywK LS0gCjIuMzQuMQoK --0000000000008d3253063a6aa41a Content-Type: text/x-patch; charset="US-ASCII"; name="v6-0002-add-function-argument-name-to-function-substring.patch" Content-Disposition: attachment; filename="v6-0002-add-function-argument-name-to-function-substring.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mdcq97nz0 RnJvbSA4ZjM2ODMxYmVkNWU2MTgyZjQwMzRmYTRhZTRiZDE2ZmU1MjcyNDYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjEgSnVsIDIwMjUgMTQ6MjA6MzQgKzA4MDAKU3ViamVjdDogW1BBVENIIHY2 IDIvMl0gYWRkIGZ1bmN0aW9uIGFyZ3VtZW50IG5hbWUgdG8gZnVuY3Rpb24gc3Vic3RyaW5nCgpI RUFEClxkZiBzdWJzdHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZ1bmN0 aW9ucwogICBTY2hlbWEgICB8ICAgTmFtZSAgICB8IFJlc3VsdCBkYXRhIHR5cGUgfCAgIEFyZ3Vt ZW50IGRhdGEgdHlwZXMgICB8IFR5cGUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQogcGdfY2F0YWxvZyB8 IHN1YnN0cmluZyB8IGJpdCAgICAgICAgICAgICAgfCBiaXQsIGludGVnZXIgICAgICAgICAgICB8 IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHJpbmcgfCBiaXQgICAgICAgICAgICAgIHwgYml0LCBp bnRlZ2VyLCBpbnRlZ2VyICAgfCBmdW5jCiBwZ19jYXRhbG9nIHwgc3Vic3RyaW5nIHwgYnl0ZWEg ICAgICAgICAgICB8IGJ5dGVhLCBpbnRlZ2VyICAgICAgICAgIHwgZnVuYwogcGdfY2F0YWxvZyB8 IHN1YnN0cmluZyB8IGJ5dGVhICAgICAgICAgICAgfCBieXRlYSwgaW50ZWdlciwgaW50ZWdlciB8 IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHJpbmcgfCB0ZXh0ICAgICAgICAgICAgIHwgdGV4dCwg aW50ZWdlciAgICAgICAgICAgfCBmdW5jCiBwZ19jYXRhbG9nIHwgc3Vic3RyaW5nIHwgdGV4dCAg ICAgICAgICAgICB8IHRleHQsIGludGVnZXIsIGludGVnZXIgIHwgZnVuYwogcGdfY2F0YWxvZyB8 IHN1YnN0cmluZyB8IHRleHQgICAgICAgICAgICAgfCB0ZXh0LCB0ZXh0ICAgICAgICAgICAgICB8 IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHJpbmcgfCB0ZXh0ICAgICAgICAgICAgIHwgdGV4dCwg dGV4dCwgdGV4dCAgICAgICAgfCBmdW5jCgp3aXRoIHBhdGNoClxkZiBzdWJzdHJpbmcKICBTY2hl bWEgICB8ICAgTmFtZSAgICB8IFJlc3VsdCBkYXRhIHR5cGUgfCAgICAgICAgICAgICAgIEFyZ3Vt ZW50IGRhdGEgdHlwZXMgICAgICAgICAgICAgICAgfCBUeXBlCi0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCiBwZ19jYXRhbG9nIHwgc3Vic3RyaW5nIHwgYml0ICAg ICAgICAgICAgICB8IGJpdHMgYml0LCBzdGFydCBpbnRlZ2VyLCBjb3VudCBpbnRlZ2VyICAgICAg ICAgICB8IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHJpbmcgfCBieXRlYSAgICAgICAgICAgIHwg Ynl0ZXMgYnl0ZWEsIHN0YXJ0IGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgIHwgZnVuYwog cGdfY2F0YWxvZyB8IHN1YnN0cmluZyB8IGJ5dGVhICAgICAgICAgICAgfCBieXRlcyBieXRlYSwg c3RhcnQgaW50ZWdlciwgY291bnQgaW50ZWdlciAgICAgICAgfCBmdW5jCiBwZ19jYXRhbG9nIHwg c3Vic3RyaW5nIHwgYml0ICAgICAgICAgICAgICB8IHN0cmluZyBiaXQsIHN0YXJ0IGludGVnZXIg ICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmMKIHBnX2NhdGFsb2cgfCBzdWJzdHJpbmcgfCB0 ZXh0ICAgICAgICAgICAgIHwgc3RyaW5nIHRleHQsIHBhdHRlcm4gdGV4dCAgICAgICAgICAgICAg ICAgICAgICAgIHwgZnVuYwogcGdfY2F0YWxvZyB8IHN1YnN0cmluZyB8IHRleHQgICAgICAgICAg ICAgfCBzdHJpbmcgdGV4dCwgcGF0dGVybiB0ZXh0LCBlc2NhcGVfY2hhcmFjdGVyIHRleHQgfCBm dW5jCiBwZ19jYXRhbG9nIHwgc3Vic3RyaW5nIHwgdGV4dCAgICAgICAgICAgICB8IHN0cmluZyB0 ZXh0LCBzdGFydCBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmMKIHBnX2NhdGFs b2cgfCBzdWJzdHJpbmcgfCB0ZXh0ICAgICAgICAgICAgIHwgc3RyaW5nIHRleHQsIHN0YXJ0IGlu dGVnZXIsIGNvdW50IGludGVnZXIgICAgICAgIHwgZnVuYwooOCByb3dzKQoKZGlzY3Vzc2lvbjog aHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUNKdWZ4SFRCa3ltaDA2RDRtR0tOZTFZZlJORk4rZ0ZCeWJt eWdXaz1QdE1xdTAwTFFAbWFpbC5nbWFpbC5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvZnVuYy5zZ21s ICAgICAgICAgICAgICAgICAgIHwgMTEwICsrKysrKysrKysrKysrKysrKysrKy0tCiBzcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsIHwgICAyICstCiBzcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgIHwgICA4ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDEx MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9mdW5jLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCmluZGV4IGY1YTBlMDk1NGExLi5h MjZkYmY2ZmUwYSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0zODA2LDYgKzM4MDYsNTYgQEAgU0VMRUNUIE5PVChST1co dGFibGUuKikgSVMgTk9UIE5VTEwpIEZST00gVEFCTEU7IC0tIGRldGVjdCBhdCBsZWFzdCBvbmUg bnVsbCBpbgogICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICAgPC9yb3c+CiAKKyAgICAgIDxy b3c+CisgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImZ1 bmNfc2lnbmF0dXJlIj4KKyAgICAgICAgPGZ1bmN0aW9uPnN1YnN0cmluZzwvZnVuY3Rpb24+ICgg PHBhcmFtZXRlcj5zdHJpbmc8L3BhcmFtZXRlcj4gPHR5cGU+dGV4dDwvdHlwZT4sIDxwYXJhbWV0 ZXI+cGF0dGVybjwvcGFyYW1ldGVyPiA8dHlwZT50ZXh0PC90eXBlPiApCisgICAgICAgIDxyZXR1 cm52YWx1ZT50ZXh0PC9yZXR1cm52YWx1ZT4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+ CisgICAgICAgIEV4dHJhY3RzIHRoZSBmaXJzdCBzdWJzdHJpbmcgbWF0Y2hpbmcgUE9TSVggcmVn dWxhciBleHByZXNzaW9uOyBzZWUKKyAgICAgICAgPHhyZWYgbGlua2VuZD0iZnVuY3Rpb25zLXBv c2l4LXJlZ2V4cCIvPi4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIDxs aXRlcmFsPnN1YnN0cmluZygnVGhvbWFzJywgJy4uLiQnKTwvbGl0ZXJhbD4KKyAgICAgICAgPHJl dHVybnZhbHVlPm1hczwvcmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg ICA8L3Jvdz4KKworICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAgICA8ZnVuY3Rpb24+c3Vi c3RyaW5nPC9mdW5jdGlvbj4gKCA8cGFyYW1ldGVyPnN0cmluZzwvcGFyYW1ldGVyPiA8dHlwZT50 ZXh0PC90eXBlPiwgPHBhcmFtZXRlcj5wYXR0ZXJuPC9wYXJhbWV0ZXI+IDx0eXBlPnRleHQ8L3R5 cGU+LCA8cGFyYW1ldGVyPmVzY2FwZTwvcGFyYW1ldGVyPiA8dHlwZT50ZXh0PC90eXBlPikKKyAg ICAgICAgPHJldHVybnZhbHVlPnRleHQ8L3JldHVybnZhbHVlPgorICAgICAgIDwvcGFyYT4KKyAg ICAgICA8cGFyYT4KKyAgICAgICAgRXh0cmFjdHMgdGhlIGZpcnN0IHN1YnN0cmluZyBtYXRjaGlu ZyA8YWNyb255bT5TUUw8L2Fjcm9ueW0+IHJlZ3VsYXIgZXhwcmVzc2lvbjsKKyAgICAgICAgc2Vl IDx4cmVmIGxpbmtlbmQ9ImZ1bmN0aW9ucy1zaW1pbGFydG8tcmVnZXhwIi8+LgorICAgICAgIDwv cGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgPGxpdGVyYWw+c3Vic3RyaW5nKCdUaG9tYXMn LCAnJSMib19hIyJfJywgJyMnKTwvbGl0ZXJhbD4KKyAgICAgICAgPHJldHVybnZhbHVlPm9tYTwv cmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKworICAg ICAgPHJvdz4KKyAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAgICA8aW5kZXh0ZXJtPgorICAgICAgICAgPHByaW1h cnk+c3Vic3RyaW5nPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAgICAgPGZ1 bmN0aW9uPnN1YnN0cmluZzwvZnVuY3Rpb24+ICggPHBhcmFtZXRlcj5zdHJpbmc8L3BhcmFtZXRl cj4gPHR5cGU+dGV4dDwvdHlwZT4sIDxwYXJhbWV0ZXI+c3RhcnQ8L3BhcmFtZXRlcj4gPHR5cGU+ aW50ZWdlcjwvdHlwZT4gPG9wdGlvbmFsPiwgPHBhcmFtZXRlcj5jb3VudDwvcGFyYW1ldGVyPiA8 dHlwZT5pbnRlZ2VyPC90eXBlPiA8L29wdGlvbmFsPiApCisgICAgICAgIDxyZXR1cm52YWx1ZT50 ZXh0PC9yZXR1cm52YWx1ZT4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAg IEV4dHJhY3RzIHRoZSBzdWJzdHJpbmcgb2YgPHBhcmFtZXRlcj5zdHJpbmc8L3BhcmFtZXRlcj4g c3RhcnRpbmcgYXQKKyAgICAgICAgdGhlIDxwYXJhbWV0ZXI+c3RhcnQ8L3BhcmFtZXRlcj4ndGgg Y2hhcmFjdGVyLAorICAgICAgICBhbmQgc3RvcHBpbmcgYWZ0ZXIgPHBhcmFtZXRlcj5jb3VudDwv cGFyYW1ldGVyPiBjaGFyYWN0ZXJzIGlmIHRoYXQgaXMKKyAgICAgICAgc3BlY2lmaWVkLgorICAg ICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgPGxpdGVyYWw+c3Vic3RyaW5nKCdU aG9tYXMnLCAyLCAzKTwvbGl0ZXJhbD4KKyAgICAgICAgPHJldHVybnZhbHVlPmhvbTwvcmV0dXJu dmFsdWU+CisgICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKwogICAgICAgPHJv dz4KICAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVu Y19zaWduYXR1cmUiPgogICAgICAgICA8aW5kZXh0ZXJtPgpAQCAtNDg1OSw2ICs0OTA5LDI3IEBA IFNFTEVDVCBmb3JtYXQoJ1Rlc3RpbmcgJTMkcywgJTIkcywgJXMnLCAnb25lJywgJ3R3bycsICd0 aHJlZScpOwogICAgICAgICA8cmV0dXJudmFsdWU+XHg1Njc4PC9yZXR1cm52YWx1ZT4KICAgICAg ICA8L3BhcmE+PC9lbnRyeT4KICAgICAgIDwvcm93PgorCisgICAgICA8cm93PgorICAgICAgIDxl bnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+ CisgICAgICAgIDxpbmRleHRlcm0+CisgICAgICAgICA8cHJpbWFyeT5zdWJzdHJpbmc8L3ByaW1h cnk+CisgICAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgICA8ZnVuY3Rpb24+c3Vic3RyaW5nPC9m dW5jdGlvbj4gKCA8cGFyYW1ldGVyPmJ5dGVzPC9wYXJhbWV0ZXI+IDx0eXBlPmJ5dGVhPC90eXBl PiwgPHBhcmFtZXRlcj5zdGFydDwvcGFyYW1ldGVyPiA8dHlwZT5pbnRlZ2VyPC90eXBlPiA8b3B0 aW9uYWw+LCA8cGFyYW1ldGVyPmNvdW50PC9wYXJhbWV0ZXI+IDx0eXBlPmludGVnZXI8L3R5cGU+ IDwvb3B0aW9uYWw+ICkKKyAgICAgICAgPHJldHVybnZhbHVlPmJ5dGVhPC9yZXR1cm52YWx1ZT4K KyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIEV4dHJhY3RzIHRoZSBzdWJz dHJpbmcgb2YgPHBhcmFtZXRlcj5ieXRlczwvcGFyYW1ldGVyPiBzdGFydGluZyBhdAorICAgICAg ICB0aGUgPHBhcmFtZXRlcj5zdGFydDwvcGFyYW1ldGVyPid0aCBieXRlLAorICAgICAgICBhbmQg c3RvcHBpbmcgYWZ0ZXIgPHBhcmFtZXRlcj5jb3VudDwvcGFyYW1ldGVyPiBieXRlcyBpZiB0aGF0 IGlzCisgICAgICAgIHNwZWNpZmllZC4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+Cisg ICAgICAgIDxsaXRlcmFsPnN1YnN0cmluZygnXHgxMjM0NTY3ODkwJzo6Ynl0ZWEsIDMsIDIpPC9s aXRlcmFsPgorICAgICAgICA8cmV0dXJudmFsdWU+XHg1Njc4PC9yZXR1cm52YWx1ZT4KKyAgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgorCiAgICAgPC90Ym9keT4KICAgIDwvdGdy b3VwPgogICA8L3RhYmxlPgpAQCAtNTQwMSw2ICs1NDcyLDI2IEBAIGNhc3QoLTEyMzQgYXMgYnl0 ZWEpICAgICAgICAgICA8bGluZWFubm90YXRpb24+XHhmZmZmZmIyZTwvbGluZWFubm90YXRpb24+ CiAgICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgICA8L3Jvdz4KIAorICAgICAgPHJvdz4KKyAg ICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWdu YXR1cmUiPgorICAgICAgICA8aW5kZXh0ZXJtPgorICAgICAgICAgPHByaW1hcnk+c3Vic3RyaW5n PC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAgICAgPGZ1bmN0aW9uPnN1YnN0 cmluZzwvZnVuY3Rpb24+ICggPHBhcmFtZXRlcj5iaXRzPC9wYXJhbWV0ZXI+IDx0eXBlPmJpdDwv dHlwZT4sIDxwYXJhbWV0ZXI+c3RhcnQ8L3BhcmFtZXRlcj4gPHR5cGU+aW50ZWdlcjwvdHlwZT4g PG9wdGlvbmFsPiwgPHBhcmFtZXRlcj5jb3VudDwvcGFyYW1ldGVyPiA8dHlwZT5pbnRlZ2VyPC90 eXBlPiA8L29wdGlvbmFsPiApCisgICAgICAgIDxyZXR1cm52YWx1ZT5iaXQ8L3JldHVybnZhbHVl PgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgRXh0cmFjdHMgdGhlIHN1 YnN0cmluZyBvZiA8cGFyYW1ldGVyPmJpdHM8L3BhcmFtZXRlcj4gc3RhcnRpbmcgYXQKKyAgICAg ICAgdGhlIDxwYXJhbWV0ZXI+c3RhcnQ8L3BhcmFtZXRlcj4ndGggYml0LAorICAgICAgICBhbmQg c3RvcHBpbmcgYWZ0ZXIgPHBhcmFtZXRlcj5jb3VudDwvcGFyYW1ldGVyPiBiaXRzIGlmIHRoYXQg aXMKKyAgICAgICAgc3BlY2lmaWVkLgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAg ICAgICAgPGxpdGVyYWw+c3Vic3RyaW5nKEInMTEwMDEwMTExMTExJywgMywgMik8L2xpdGVyYWw+ CisgICAgICAgIDxyZXR1cm52YWx1ZT4wMDwvcmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgICA8L3Jvdz4KKwogICAgICAgPHJvdz4KICAgICAgICA8ZW50cnkgcm9sZT0i ZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgogICAgICAgICA8 aW5kZXh0ZXJtPgpAQCAtNTQxMyw2ICs1NTA0LDcgQEAgY2FzdCgtMTIzNCBhcyBieXRlYSkgICAg ICAgICAgIDxsaW5lYW5ub3RhdGlvbj5ceGZmZmZmYjJlPC9saW5lYW5ub3RhdGlvbj4KICAgICAg ICAgRXh0cmFjdHMgdGhlIHN1YnN0cmluZyBvZiA8cGFyYW1ldGVyPmJpdHM8L3BhcmFtZXRlcj4g c3RhcnRpbmcgYXQKICAgICAgICAgdGhlIDxwYXJhbWV0ZXI+c3RhcnQ8L3BhcmFtZXRlcj4ndGgg Yml0IGlmIHRoYXQgaXMgc3BlY2lmaWVkLAogICAgICAgICBhbmQgc3RvcHBpbmcgYWZ0ZXIgPHBh cmFtZXRlcj5jb3VudDwvcGFyYW1ldGVyPiBiaXRzIGlmIHRoYXQgaXMKKyAgICAgICAgYW5kIHN0 b3BwaW5nIGFmdGVyIDxwYXJhbWV0ZXI+Y291bnQ8L3BhcmFtZXRlcj4gYml0cyBpZiB0aGF0IGlz CiAgICAgICAgIHNwZWNpZmllZC4gIFByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mIDxwYXJhbWV0ZXI+ c3RhcnQ8L3BhcmFtZXRlcj4KICAgICAgICAgYW5kIDxwYXJhbWV0ZXI+Y291bnQ8L3BhcmFtZXRl cj4uCiAgICAgICAgPC9wYXJhPgpAQCAtNTg2NCw3ICs1OTU2LDcgQEAgc3Vic3RyaW5nKDxyZXBs YWNlYWJsZT5zdHJpbmc8L3JlcGxhY2VhYmxlPiBmcm9tIDxyZXBsYWNlYWJsZT5wYXR0ZXJuPC9y ZXBsYWNlYWIKIDwvc3lub3BzaXM+CiAgICAgb3IgYXMgYSBwbGFpbiB0aHJlZS1hcmd1bWVudCBm dW5jdGlvbjoKIDxzeW5vcHNpcz4KLXN1YnN0cmluZyg8cmVwbGFjZWFibGU+c3RyaW5nPC9yZXBs YWNlYWJsZT4sIDxyZXBsYWNlYWJsZT5wYXR0ZXJuPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJs ZT5lc2NhcGUtY2hhcmFjdGVyPC9yZXBsYWNlYWJsZT4pCitzdWJzdHJpbmcoPHJlcGxhY2VhYmxl PnN0cmluZzwvcmVwbGFjZWFibGU+LCA8cmVwbGFjZWFibGU+cGF0dGVybjwvcmVwbGFjZWFibGU+ LCA8cmVwbGFjZWFibGU+ZXNjYXBlPC9yZXBsYWNlYWJsZT4pCiA8L3N5bm9wc2lzPgogICAgIEFz IHdpdGggPGxpdGVyYWw+U0lNSUxBUiBUTzwvbGl0ZXJhbD4sIHRoZQogICAgIHNwZWNpZmllZCBw YXR0ZXJuIG11c3QgbWF0Y2ggdGhlIGVudGlyZSBkYXRhIHN0cmluZywgb3IgZWxzZSB0aGUKQEAg LTYwNjgsMTEgKzYxNjAsMTcgQEAgc3Vic3RyaW5nKCdmb29iYXInIHNpbWlsYXIgJyMib19iIyIl JyBlc2NhcGUgJyMnKSAgICA8bGluZWFubm90YXRpb24+TlVMTDwvbGluZWEKICAgICA8L3BhcmE+ CiAKICAgICA8cGFyYT4KLSAgICAgVGhlIDxmdW5jdGlvbj5zdWJzdHJpbmc8L2Z1bmN0aW9uPiBm dW5jdGlvbiB3aXRoIHR3byBwYXJhbWV0ZXJzLAotICAgICA8ZnVuY3Rpb24+c3Vic3RyaW5nKDxy ZXBsYWNlYWJsZT5zdHJpbmc8L3JlcGxhY2VhYmxlPiBmcm9tCi0gICAgIDxyZXBsYWNlYWJsZT5w YXR0ZXJuPC9yZXBsYWNlYWJsZT4pPC9mdW5jdGlvbj4sIHByb3ZpZGVzIGV4dHJhY3Rpb24gb2Yg YQotICAgICBzdWJzdHJpbmcKLSAgICAgdGhhdCBtYXRjaGVzIGEgUE9TSVggcmVndWxhciBleHBy ZXNzaW9uIHBhdHRlcm4uICBJdCByZXR1cm5zIG51bGwgaWYKKyAgICAgVGhlIDxmdW5jdGlvbj5z dWJzdHJpbmc8L2Z1bmN0aW9uPiBmdW5jdGlvbiB3aXRoIHR3byBwYXJhbWV0ZXJzIHByb3ZpZGVz IGV4dHJhY3Rpb24gb2YgYQorICAgICBzdWJzdHJpbmcgdGhhdCBtYXRjaGVzIGEgPGFjcm9ueW0+ UE9TSVg8L2Fjcm9ueW0+IHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuLgorICAgICBUaGUgZnVu Y3Rpb24gY2FuIGJlIHdyaXR0ZW4gYWNjb3JkaW5nIHRvIHN0YW5kYXJkIDxhY3JvbnltPlNRTDwv YWNyb255bT4gc3ludGF4OgorPHN5bm9wc2lzPgorc3Vic3RyaW5nKDxyZXBsYWNlYWJsZT5zdHJp bmc8L3JlcGxhY2VhYmxlPiBGUk9NIDxyZXBsYWNlYWJsZT5wYXR0ZXJuPC9yZXBsYWNlYWJsZT4p Cis8L3N5bm9wc2lzPgorICAgICBJdCBjYW4gYWxzbyB3cml0dGVuIGFzIGEgcGxhaW4gdHdvLWFy Z3VtZW50IGZ1bmN0aW9uOgorPHN5bm9wc2lzPgorc3Vic3RyaW5nKDxyZXBsYWNlYWJsZT5zdHJp bmc8L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlPnBhdHRlcm48L3JlcGxhY2VhYmxlPikKKzwv c3lub3BzaXM+CisgICAgIEl0IHJldHVybnMgbnVsbCBpZgogICAgICB0aGVyZSBpcyBubyBtYXRj aCwgb3RoZXJ3aXNlIHRoZSBmaXJzdCBwb3J0aW9uIG9mIHRoZSB0ZXh0IHRoYXQgbWF0Y2hlZCB0 aGUKICAgICAgcGF0dGVybi4gIEJ1dCBpZiB0aGUgcGF0dGVybiBjb250YWlucyBhbnkgcGFyZW50 aGVzZXMsIHRoZSBwb3J0aW9uCiAgICAgIG9mIHRoZSB0ZXh0IHRoYXQgbWF0Y2hlZCB0aGUgZmly c3QgcGFyZW50aGVzaXplZCBzdWJleHByZXNzaW9uICh0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV9mdW5jdGlvbnMuc3FsCmluZGV4IDU2NmYzMDhlNDQzLi41NDRiNTQ5YWU3NCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbAorKysgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsCkBAIC00Miw3ICs0Miw3IEBAIENS RUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHJwYWQodGV4dCwgaW50ZWdlcikKICBJTU1VVEFCTEUg UEFSQUxMRUwgU0FGRSBTVFJJQ1QgQ09TVCAxCiBSRVRVUk4gcnBhZCgkMSwgJDIsICcgJyk7CiAK LUNSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OICJzdWJzdHJpbmciKHRleHQsIHRleHQsIHRleHQp CitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiAic3Vic3RyaW5nIihzdHJpbmcgdGV4dCwgcGF0 dGVybiB0ZXh0LCBlc2NhcGUgdGV4dCkKICBSRVRVUk5TIHRleHQKICBMQU5HVUFHRSBzcWwKICBJ TU1VVEFCTEUgUEFSQUxMRUwgU0FGRSBTVFJJQ1QgQ09TVCAxCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCAyZjI5ZjM3NTdhNS4uNmI4YTkxOGNkZDYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dApAQCAtMzczNiw5ICszNzM2LDExIEBACiAKIHsgb2lkID0+ICc5MzYnLCBkZXNjciA9PiAnZXh0 cmFjdCBwb3J0aW9uIG9mIHN0cmluZycsCiAgIHByb25hbWUgPT4gJ3N1YnN0cmluZycsIHByb3Jl dHR5cGUgPT4gJ3RleHQnLCBwcm9hcmd0eXBlcyA9PiAndGV4dCBpbnQ0IGludDQnLAorICBwcm9h cmduYW1lcyA9PiAne3N0cmluZywgc3RhcnQsIGNvdW50fScsCiAgIHByb3NyYyA9PiAndGV4dF9z dWJzdHInIH0sCiB7IG9pZCA9PiAnOTM3JywgZGVzY3IgPT4gJ2V4dHJhY3QgcG9ydGlvbiBvZiBz dHJpbmcnLAogICBwcm9uYW1lID0+ICdzdWJzdHJpbmcnLCBwcm9yZXR0eXBlID0+ICd0ZXh0Jywg cHJvYXJndHlwZXMgPT4gJ3RleHQgaW50NCcsCisgIHByb2FyZ25hbWVzID0+ICd7c3RyaW5nLCBz dGFydH0nLAogICBwcm9zcmMgPT4gJ3RleHRfc3Vic3RyX25vX2xlbicgfSwKIHsgb2lkID0+ICcy MDg3JywKICAgZGVzY3IgPT4gJ3JlcGxhY2UgYWxsIG9jY3VycmVuY2VzIGluIHN0cmluZyBvZiBv bGRfc3Vic3RyIHdpdGggbmV3X3N1YnN0cicsCkBAIC00MTU2LDYgKzQxNTgsNyBAQAogICBwcm9z cmMgPT4gJ2JpdGNhdCcgfSwKIHsgb2lkID0+ICcxNjgwJywgZGVzY3IgPT4gJ2V4dHJhY3QgcG9y dGlvbiBvZiBiaXRzdHJpbmcnLAogICBwcm9uYW1lID0+ICdzdWJzdHJpbmcnLCBwcm9yZXR0eXBl ID0+ICdiaXQnLCBwcm9hcmd0eXBlcyA9PiAnYml0IGludDQgaW50NCcsCisgIHByb2FyZ25hbWVz ID0+ICd7Yml0cywgc3RhcnQsIGNvdW50fScsCiAgIHByb3NyYyA9PiAnYml0c3Vic3RyJyB9LAog eyBvaWQgPT4gJzE2ODEnLCBkZXNjciA9PiAnYml0c3RyaW5nIGxlbmd0aCcsCiAgIHByb25hbWUg PT4gJ2xlbmd0aCcsIHByb3JldHR5cGUgPT4gJ2ludDQnLCBwcm9hcmd0eXBlcyA9PiAnYml0JywK QEAgLTQxODUsNiArNDE4OCw3IEBACiAgIHByb3NyYyA9PiAnYml0cG9zaXRpb24nIH0sCiB7IG9p ZCA9PiAnMTY5OScsIGRlc2NyID0+ICdleHRyYWN0IHBvcnRpb24gb2YgYml0c3RyaW5nJywKICAg cHJvbmFtZSA9PiAnc3Vic3RyaW5nJywgcHJvcmV0dHlwZSA9PiAnYml0JywgcHJvYXJndHlwZXMg PT4gJ2JpdCBpbnQ0JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdHJpbmcsIHN0YXJ0fScsCiAgIHBy b3NyYyA9PiAnYml0c3Vic3RyX25vX2xlbicgfSwKIAogeyBvaWQgPT4gJzMwMzAnLCBkZXNjciA9 PiAnc3Vic3RpdHV0ZSBwb3J0aW9uIG9mIGJpdHN0cmluZycsCkBAIC02MjgyLDkgKzYyODYsMTEg QEAKICAgcHJvc3JjID0+ICdieXRlYWNhdCcgfSwKIHsgb2lkID0+ICcyMDEyJywgZGVzY3IgPT4g J2V4dHJhY3QgcG9ydGlvbiBvZiBzdHJpbmcnLAogICBwcm9uYW1lID0+ICdzdWJzdHJpbmcnLCBw cm9yZXR0eXBlID0+ICdieXRlYScsCisgIHByb2FyZ25hbWVzID0+ICd7Ynl0ZXMsIHN0YXJ0LCBj b3VudH0nLAogICBwcm9hcmd0eXBlcyA9PiAnYnl0ZWEgaW50NCBpbnQ0JywgcHJvc3JjID0+ICdi eXRlYV9zdWJzdHInIH0sCiB7IG9pZCA9PiAnMjAxMycsIGRlc2NyID0+ICdleHRyYWN0IHBvcnRp b24gb2Ygc3RyaW5nJywKICAgcHJvbmFtZSA9PiAnc3Vic3RyaW5nJywgcHJvcmV0dHlwZSA9PiAn Ynl0ZWEnLCBwcm9hcmd0eXBlcyA9PiAnYnl0ZWEgaW50NCcsCisgIHByb2FyZ25hbWVzID0+ICd7 Ynl0ZXMsIHN0YXJ0fScsCiAgIHByb3NyYyA9PiAnYnl0ZWFfc3Vic3RyX25vX2xlbicgfSwKIHsg b2lkID0+ICcyMDg1JywgZGVzY3IgPT4gJ2V4dHJhY3QgcG9ydGlvbiBvZiBzdHJpbmcnLAogICBw cm9uYW1lID0+ICdzdWJzdHInLCBwcm9yZXR0eXBlID0+ICdieXRlYScsIHByb2FyZ3R5cGVzID0+ ICdieXRlYSBpbnQ0IGludDQnLApAQCAtNjQ4NCw5ICs2NDkwLDExIEBACiAKIHsgb2lkID0+ICcy MDczJywgZGVzY3IgPT4gJ2V4dHJhY3QgdGV4dCBtYXRjaGluZyByZWd1bGFyIGV4cHJlc3Npb24n LAogICBwcm9uYW1lID0+ICdzdWJzdHJpbmcnLCBwcm9yZXR0eXBlID0+ICd0ZXh0JywgcHJvYXJn dHlwZXMgPT4gJ3RleHQgdGV4dCcsCisgIHByb2FyZ25hbWVzID0+ICd7c3RyaW5nLCBwYXR0ZXJu fScsCiAgIHByb3NyYyA9PiAndGV4dHJlZ2V4c3Vic3RyJyB9LAogeyBvaWQgPT4gJzIwNzQnLCBk ZXNjciA9PiAnZXh0cmFjdCB0ZXh0IG1hdGNoaW5nIFNRTCByZWd1bGFyIGV4cHJlc3Npb24nLAog ICBwcm9uYW1lID0+ICdzdWJzdHJpbmcnLCBwcm9sYW5nID0+ICdzcWwnLCBwcm9yZXR0eXBlID0+ ICd0ZXh0JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tzdHJpbmcsIHBhdHRlcm4sIGVzY2FwZX0nLAog ICBwcm9hcmd0eXBlcyA9PiAndGV4dCB0ZXh0IHRleHQnLCBwcm9zcmMgPT4gJ3NlZSBzeXN0ZW1f ZnVuY3Rpb25zLnNxbCcgfSwKIAogeyBvaWQgPT4gJzIwNzUnLCBkZXNjciA9PiAnY29udmVydCBp bnQ4IHRvIGJpdHN0cmluZycsCi0tIAoyLjM0LjEKCg== --0000000000008d3253063a6aa41a--